What makes a good UML diagram tool?
There are a wide range of UML diagramming tools available, as standalone applications, as online-only cloud software, and embedded in various content platforms. Some take text input to generate diagrams, and others are specialised to draw just one type of UML diagram.
Keep in mind the following when evaluating diagramming tools.
- how you prefer to draw UML diagrams - text input or drawing
- who you need to collaborate with
- where you want to store your diagrams and related documentation
- confidentiality and data security
- output and publication formats
- other types of diagrams you need to draw
Note: Whichever application you choose, it should be able to save your diagrams in a format that can be opened by other applications. SVG is the most widely supported diagramming format.
Useful diagramming features for UML
A good UML diagramming tool should also have the following features to enable you to draw the full range of UML diagrams quickly and easily.
Up-to-date UML shape libraries
To be able to draw all the different types of UML diagrams, you’ll need a wide variety of shapes that are kept up-to-date with the UML specification.
Click More Shapes at the bottom of the shape panel and enable both the UML 2.5 and UML shape libraries in Software section.
draw.io includes 220 UML shapes for all types of UML diagrams, and many thousands of IT, general and cloud platform shapes for all types of technical diagrams. All these shape libraries are regularly updated and expanded.
To diagram faster - search for a shape’s name to find it quickly. Add commonly used shapes and groups of shapes to the scratchpad.
UML line styles - ends and labels
UML class diagrams in particular need a large variety of arrow ‘shapes’ (connector end styles) to indicate the associations between components of your system: inheritance (generalisation), aggregation, composition, and multiplicity.
Use the connector end drop down lists in the Style tab of the format panel to show the association type.
Again, UML class diagrams can require a lot of information to be attached to the connectors. Labels can go in the centre (usage), or at either end (aggregation/composition).
Double click in the middle and at either end of a connector in your draw.io diagram to add three labels - these will move with the connector as you reposition their attached class shapes.
Multi-page UML diagrams
When you need to draw an overview and separate diagrams for sub-processes or sub-systems, store them all in one diagram file. Add links on shapes in the higher-level diagram to navigate to the more detailed sub-systems on other diagram pages in draw.io.
For example, the following collection of UML state machine diagrams for a smart lock system are kept together in one four-page diagram.
Open this example in our diagram viewer
UML templates
While UML diagram templates are good examples of how the many different UML diagram types should look, they aren’t as useful as you might think. Your software, systems and processes are specific to your company and situation - you’ll have to completely modify them or draw a diagram from scratch.
Click Arrange > Insert > Template and look in the Software and UML categories for UML diagram templates.
See the draw.io diagram repository on GitHub for more examples. Alternatively, try the smart templates in draw.io to generate sequence, class and state diagrams.
PlantUML and Mermaid text input
PlantUML and Mermaid are the two most popular text-based UML diagramming tools and supported by draw.io. Many developers find describing sequence diagrams in particular easier using text.
Click Arrange > Insert > Advanced or then select PlantUML or Mermaid.
For example, the following Mermaid text generates a sequence diagram.
sequenceDiagram
autonumber
Student->>Admin: Can I enrol this semester?
loop enrolmentCheck
Admin->>Admin: Check previous results
end
Note right of Admin: Exam results may <br> be delayed
Admin-->>Student: Enrolment success
Admin->>Professor: Assign student to tutor
Professor-->>Admin: Student is assigned
Mermaid diagrams will use the built-in shapes by default so you can style and add to them using draw.io’s tools afterwards.
Related
Learn more about the many different types of UML diagrams and see a wide range of examples.
Diagram confidentiality is a common requirement for IT development teams. Use the fully offline draw.io desktop app.
Alternatively, the data governance and lockdown options in draw.io can be configured to limit communication to between your browser and the platform you are storing your diagram files, whether that be Confluence or Jira Cloud, Google Drive, GitHub, or another integration.