PlantUML - a DSL for creating UML Diagram quick & easy
In my daily work often i need, for helping to make understand, formalization of UML Diagrams (in particular i use Sequence Diagram).
There are lot of tools that allow to write UML Diagrams, not all free and unfortunately, very few of them have been integrated in Development Environments. Moreover the look & feel between them, usually, is very different and the drawing requires some expertise
My dream was to have a tool that would allow me to draw UML Diagrams without need to move out from my development environment, minimizing effort needed to draw the diagrams themselves
Then by chance i found out PlantUML that has seemed to solve all my problems.
What is
PlantUML provides a text based Domain Specific Language (DSL) that focus on "what i need to do" and not on "how i have to draw what i need to do".This means that with few of "text's statements" we can obtain a complete UML Diagram. Take a look to the example below , if we write the text on the left we obtain diagram on the right without dealing with lines, arrows, boxes etc etc ..
Example
@startuml Alice->Bob : hello note left: this is a first note Bob->Alice : ok note right: this is another note Bob->Bob : I am thinking note left a note can also be defined on several lines end note @enduml |
Diagrams
PlantUML provides a complete set of Diagrams:
Integrations
PlantUML provides a wide range of integration in several tools like:
- Confluence
- Eclipse
- Netbeans
- MS Word (macro)
It also provides a standalone application and a on line demo server (that today we could call as CLOUD Solution).
Conclusion
PlantUML is actively maintained (last update 2 Jan, 2014) and continuously improved. I suggest you to take a look at project's site because there are a lot of features that could help your work.
I hope this helps as much as it helped me... Enjoy PlantUML
Next .....
In the next post i'll give you an example on how integrate PlantUML, Maven & Confluence to enrich your project documentation
very interesting.....this open also different other scenario of "reuse" UML diagrams simply using sentences according to text pattern
ReplyDeleteUsing a DSL both "reuse" and in particular "sharing" is extremly simplified
ReplyDeleteThe Sequence Diagram is a good diagram to use to document a system's requirements and to flush out a system's design. The reason the sequence diagram is so useful is because it shows the interaction logic between the objects in the system in the time order that the interactions take place. Want to learn how to draw? Find these sequence diagram examples and templates in the diagram community of Creately.
ReplyDelete