Looking for a quick rundown of the different official UML diagram types along with templates for each? Welcome to Gliffy. We're here to help.
There are, as of UML 2.5, fourteen officially recognized types of UML diagrams. These types get sorted into three buckets:
- Structure diagrams,
- Behavioral diagrams, and
- Interaction diagrams (also considered a subset of behavior diagrams)
In this article, we’ll briefly explain the different UML diagram types and illustrate each with an example. Each example is also a dynamic template you can use to create your own UML diagrams.
To launch any one in Gliffy, just click on it. You can access all these templates, plus more, by opening Gliffy, selecting ‘New’ from the File menu, and expanding ‘Software Design & UML’ from the list.
Structure Diagram Types
Structure diagrams depict the static elements of your application (its parts and how they relate).
Class diagrams use classes and interfaces to depict a system’s structure. They provide an overview of the project as seen as a collection of static elements.
Object diagrams are akin to class diagrams, only drilled down to the instance-specific level. They’re like a snapshot of the system’s structure taken at a specific point of operation. In the example below the variables of the above class diagram are specified to match the object instance.
Package diagrams show system elements split into packages connected by inter-package relationships. They’re class diagrams with a level of compartmentalization added to help designers minimize dependencies.
Composite structure diagrams come in two flavors:
- Internal structure diagrams, which break classifiers down into properties, parts, and relationships; and
- Collaboration use diagrams, which show how system objects cooperate to produce a combined behavior within the system.
Component diagrams illustrate how the components in a system link up to form that system.
Deployment diagrams map out the physical deployment of artifacts (software components) on nodes (hardware components), so you can see which pieces of software live on which pieces of hardware and how those artifacts on nodes interrelate.
Profile diagrams extend UML by allowing you to define stereotypes, tagged values, and constraints as a means of adapting the UML metamodel for different domains and platforms. Profile diagrams are abstract by design; they help you abstract elements in UML for use in other areas.
Behavioral Diagram Types
Behavioral (or behavior) and interaction diagrams illustrate different aspects of your system’s dynamic functionality—how the objects in the system change over time.
Use case diagrams depict how users interact with a system through use cases that produce observable results. Use case diagrams are, in simple terms, about functionality; i.e. if one does this using the system, then this is the result.
Activity diagrams are UML’s version of the flowchart. They illustrate workflow as a sequence of activities and actions, revealing how control flows dynamically through a system in response to operations performed on classes in the system.
State machine diagrams model system behavior over a number of transitions so that the designer can see the singular ‘state’ of the system at any point given the indicated external stimuli.
Interaction Diagram Types
Sequence diagrams show how distinct processes operate in conjunction over time. They map out the exchange of messages between subsystems (such as a computer and server) as the diagrammed scenario unfolds.
Communication diagrams (aka collaboration diagrams) are interaction diagrams that center on architecture and how internal structure corresponds to the passing of messages.
Timing diagrams are sequence diagrams that focus on how objects behave over defined increments of time. In timing diagrams, time is plotted along the horizontal axis in specified units so you can see what is meant to occur in the 4th millisecond, minute, or month of operation.
Interaction overview diagrams combine the activity diagram type with that of an interaction diagram so that a sequence of activities gets broken into discrete activities. Each activity gets compartmentalized within a frame, which in turn contains an interaction diagram or diagrams. This form helps to distill complex scenarios so they can be depicted in a single, comprehensible diagram.
And those are the fourteen officially recognized UML diagram types! Collect the whole set and you’ll be the envy of your peers, assuming your peers are software developers...
If want a quick lesson on how to create UML diagrams using Gliffy, we’ve got you covered.
Ready to jump in and get drawing? You can click any of the images above to use them as templates or start from scratch by clicking this big, orange button.