|This article appears to be written like an advertisement. (February 2012)|
PlantUML is an open-source UML tool that allows to generate UML diagrams from a textual description. It is used to draw UML diagrams but is not a modeling tool itself. It does not prevent inconsistent diagrams from being created and requires the developer of the diagram content to understand UML and create proper UML content.
To create the UML diagrams, PlantUML has a meta-language defined that allows the diagram creator to describe the UML as a series of text statements which the graphics engine translates into standard UML notation. The graphics engine is written in Java and is distributed in both JAR and source code form. The 3rd-party package Graphviz is used for the graphics layout. Resulting diagrams can be output in PNG, SVG, EPS and ASCII Art.
There are some drawbacks of this approach:
- Diagram modifications can be difficult.
- People can tend to focus on the layout (so that the diagrams looks good).
- Updating documentation may be difficult. (Due to copy/paste images between tools).
Since diagrams are just plain text, it's very easy:
- To integrate them in Revision control,
- To edit them,
- To process them through scripting.
The disadvantage of this approach is the fact that every diagram is independent from others and that one needs to organize them in Documents to make up a whole Model.
PlantUML is mainly used as plugin in several other software applications, including:
- Microsoft Word
- Apache Maven
- Apache Ant
It also can be used in standalone mode by executing the JAR file directly.
The current version (version 6627 as of 6-May-2011), can generate the following 7 UML diagram types:
- class diagrams
- sequence diagrams
- use case diagrams
- activity diagrams
- state diagrams
- object diagrams
- component diagrams.
Each diagram type has specific notation used to capture the aspects of that diagram type. The proper notation is captured in a PDF-based Language Reference Guide which defines all of the syntax required per diagram type.
Why use PlantUML
In small to medium sized Software projects PlantUML can
- make UML design more efficient because of the easy-to-learn language and direct use in e.g. Word
- enable programmers to enrich their code documentation by writing PlantUML code in their code and including it in the source code documentation
Another use of the PlantUML Language is in describing UML diagrams for blind people. Using PlantUML the describers can check that their textual Descriptions of the UML diagram contains all relevant information.
Some sites have noted the software:
| This article uses material from the Wikipedia article PlantUML, that was deleted or is being discussed for deletion, which is released under the Creative Commons Attribution-ShareAlike 3.0 Unported License.