UML stands for Unified Modeling Language and is a modeling language for software engineering.  The purpose of UML diagrams is to visual the design of a system.  There are many ways to visualize a system depending on the intended audience.  Developers will want more technical details while managers will want more high-level details.  UML many types of diagrams can be broken up into two categories: Structural and Behavioral.

UML diagrams overview

Structural Diagrams

Structural diagrams emphasize the things that must be present in the system being modeled.

  • Class diagram
  • Component diagram
  • Composite structure diagram
  • Object diagram
  • Package diagram
  • Profile diagram


Behavioral Diagrams

Behavior diagrams emphasise what must happen in the system being modeled.  They typically describe system functionality.

  • Activity diagram
  • Interaction overview diagram
  • State diagram
  • Timing diagram
  • Use case diagram

Interaction diagrams

A subset of behavior diagrams, interaction diagrams emphasize the flow of control.

  • Sequence diagram
  • Communication diagram