If I'm honest, UML was never something I was interested in at University. Even back then, I understood the importance of UML when designing applications, but I think as a developer, I was more interested in building stuff. But in real life, we will soon run into problems if we do not have design diagrams when working in a multi-team environment. At best, we might miss some functionality. At worst, we will build the wrong thing. Design diagrams are also helpful in communicating with stakeholders who are not savvy with programming. They might not understand the terminologies used by the developers, but diagrams will help you describe the system to them.
These days I am using PlantUML to create diagrams when I am building services. I like how easy it is to create a diagram with PlantUML. Because diagrams created using PlantUML are text documents(PlantUML generates the diagram based on the text document) with the
.plantuml file extension, I can also version control the changes over time. I think this is the most significant benefit of using PlantUML.
Here is an example of a sequence diagram created using PlantUML
@startuml title Get all Pets "UI Client" -> "Pet API": GET /pet "Pet API" --> "UI Client": /pet Response @enduml
VS Code has an extension(PlantUML extension) you can use to create the diagrams. If you don't use VS Code or if you don't want to install the extension, you can use the PlantUML online server(PlantUML Online Server) to create the diagrams.
PlantText is an online tool that quickly generates images from text. Primarily, it is used to create UML (Unified Modeling Language) diagrams. Unlike most tools, PlantText can build diagrams without the use of a mouse because it relies on a text-based language called PlantUML.
This post is a very basic and very high-level introduction to the PlantUML. If you are interested in PlantUML, please visit the PlantUML website for more information on creating and customising other types of diagrams.
Did you find this article valuable?
Support Dilan Livera by becoming a sponsor. Any amount is appreciated!