What makes a good UML diagram tool?

draw.io 18 Oct 2024

Share:

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.
The shapes in the UML and UML 2.5 shape library let you create all types of UML diagrams

To diagram faster - search for a shape’s name to find it quickly. Add commonly used shapes and groups of shapes to the scratchpad.
Search for shapes by their UML names to find them quickly

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.
Style your connector using the options in the Style tab in the format panel on the right in draw.io

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.
Symbols before the attribute and method names indicate visibility in UML class diagrams

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.

An example top-level UML state machine diagram of a smart lock
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.
Insert an UML activity diagram template in draw.io from the template library

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.
Generate a UML sequence diagram from a text description via the template library in draw.io

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

A simple sequence diagram inserted using the Mermaid syntax

Mermaid diagrams will use the built-in shapes by default so you can style and add to them using draw.io’s tools afterwards.

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.

Follow us on GitHub, Twitter, Facebook.

Share: