Index Prev Next

UML Diagram Types

There are nine standard UML diagrams, roughly ordered here by their by their utility during the analysis and design timeline.

Diagram Impression Significance
Use Case Diagram
  • A set of use cases and actors and their relationships.
  • Important for organizing and modeling system behaviors.
  • Cruicial for requirements management and communication with end users using their own domain terminology.
  • Uses very few symbols, all software independent.
Object Diagram
  • A set of objects (instances of classes) and their relationships.
  • A static snapshot of a dynamic view of the system.
  • Reperesent real or prototypical cases.
Class Diagram
  • A set of classes, interfaces, collaborations, and relationships
  • Reflects the static design of a system.
  • Can be confusing if used to explain system dynamics; use less abstract Object Diagrams instead.
Sequence Diagram and
Collaboration Diagram
(Interaction Diagrams)
  • Composed of objects and messages dispatched between them.
  • Shows a dynamic view of the system.
  • Sequence Diagram exposes time ordering of messages.
  • Collaboration Diagram exposes exposes structural organization of messages.
  • In some tools (i.e. Rational Rose), these diagrams can be interchanged from the same underlying information.
Statechart Diagram
  • Represents a state machine, composed of states and transitions.
  • Addresses the dynamic view of the system.
  • Useful for reactive behaviors.
  • Important for modeling interfaces, classes, or collaborations.
Activity Diagram
  • Addresses a dynamic view of the system.
  • Important for modeling system functions.
  • Emphasizes the flow of objects and synchronization of the flow in support of parallel processing.
  • An extension of the old "flow chart" diagram combined with Petri nets.
Package Diagram
  • Addresses larger system engineering issues, and package dependence.
Component Diagram
  • Shows organization and dependencies among a set of components.
  • Components are composed of one or more classes or interfaces.
  • A static view of the system implementation.
Deployment Diagram
  • Shows the configuration of run-time processing nodes in the system.
  • Nodes contain one or more components.
  • Address a static deployment view of the system.

$Author: rlv $ - $Date: 2004-03-24 13:58:12 $
$Name: not supported by cvs2svn $ - $Revision: 1.11 $
$Source: /h/cm/uml/diags.html,v $
Ralph L. Vinciguerra