Browse our guides or talk to our team.
Looking for a quick rundown of UML diagram types? Welcome to Gliffy. We're here to help. We've got examples of UML diagrams of each type, and templates diagrams to get you started.
But, if you're new to UML, we recommend reviewing our UML Basics resource before you start diagramming. You can also visit our guide to what a flowchart is used for to learn how UML diagrams are an important tool for developers.
There are, as of UML 2.5, fourteen officially recognized types of UML diagrams. These types get sorted into three buckets:
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.
You can access all these templates, plus more, by creating a Confluence diagram with Gliffy and selecting "Software Design & UML" from the "Templates" list. But before that, you'll need to make sure you've started your free trial!
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. Want to learn how to make your own? Check out our video, How to Make a Class Diagram in UML >>
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.
There are two types of composite structure diagrams:
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 (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. Want to make your own? Check out our video, How to Make a Use Case Diagram >>
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.
Get started with a template or check out our video tutorial, How to Make an Activity Diagram in UML >>
State machine diagrams or state 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. To learn to make your own, watch our video tutorial: How to Make a State Diagram in UML >>
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. You can learn to make your own with our video, How to Make a Sequence Diagram in UML, and get started with our free template.
Communication diagrams (aka collaboration diagrams) are interaction diagrams that center on architecture and how internal structure corresponds to the passing of messages.
Timing diagramsare 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 types of UML diagrams! Collect the whole set and you’ll be the envy of your peers, assuming your peers are software developers.
If you want a quick lesson on how to create UML diagrams using Gliffy, we’ve got you covered with How to Create a UML Diagram.
Ready to jump in and get drawing? Use templates or start from scratch in Gliffy — we're loaded with tools and features specifically for making application architecture diagrams and other software engineering diagrams that help teams collaborate and document their work in just a few clicks.
Try in ConfluenceGLIFFY ONLINE