Unified Modeling Language (UML) is a standard set of diagrams for describing software. There are diagrams for:

  • static structure
  • dynamic behavior
  • deployment
  • use cases

In UML 2.2 there are 14 types of diagrams.

You should know how to read and draw the 3 most common diagrams:

  • Class Diagram
  • Sequence Diagram
  • State Machine Diagram

The ‘Activity Diagram’ is equally popular as Sequence Diagram, but the Sequence Diagram has clearer notation and is easier to read, so we will use that.

The ‘Use Case Diagram’ is also widely used, but, the Use Case Text is more important than the diagram.

Visual Overview of All UML Diagrams with examples.

Class Diagram

Slides: UML Class Diagram and Relationships

Sequence Diagram

Slides: Sequence Diagram Tutorial

System Sequence Diagram

System Sequence Diagram (SSD) is a simplified sequence diagram showing interaction between the user and system. Details of what the system does are now shown. It may also show interaction between the “system” and external services or “actors”.

It’s useful for design of a particular usage scenario to discover all the interactions.

State Machine Diagram

to be added

UML Drawing Software

Visual Paradigm online diagram editor with UML. Save work to Google Drive.
GitMind - online or run on desktop. UML and many other kinds of diagrams, such as mind maps.
Violet UML Editor desktop UML editor, written in Java. I use version 2.0.1 of Violet. Sequence and State diagrams have limited formatting.
UMLet desktop UML app. I sometimes use this. Requires some learning, but can draw exactly what you want.
SequenceDiagram.org for sequence diagrams.

Not free:

Moqups create mock-ups of software, has UML class and sequence diagrams. Must upgrade to paid plan in order to export or print.

Examples