January 20, 2020 UML Diagram Types and TemplatesDiagrams for Software EngineeringSoftware DevelopmentLooking for a quick rundown of UML diagram types? Welcome to Gliffy. We're here to help. We've even got templates for UML diagrams to get you started.But, if you're new to UML, we recommend reviewing our UML Basics resource before you start diagramming. Types of UML DiagramsThere are, as of UML 2.5, fourteen officially recognized types of UML diagrams. These types get sorted into three buckets:Structure diagrams,Behavioral diagrams, andInteraction diagrams (sometimes 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.UML Structure Diagram TypesStructure diagrams depict the static elements of your application (its parts and how they relate).Class DiagramsClass 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 DiagramsObject 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 DiagramsPackage 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 DiagramsThere are two types of composite structure diagrams:Internal structure diagrams, which break classifiers down into properties, parts, and relationships; andCollaboration use diagrams, which show how system objects cooperate to produce a combined behavior within the system. Component DiagramsComponent diagrams illustrate how the components in a system link up to form that system.Deployment DiagramsDeployment 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 DiagramsProfile 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. UML Behavioral Diagram TypesBehavioral (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 DiagramsUse 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 DiagramsActivity 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.Check out our video tutorial, How to Make an Activity Diagram in UML >>State Machine DiagramsState 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 >>UML Interaction Diagram TypesSequence DiagramsSequence 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 >>Communication DiagramsCommunication diagrams (aka collaboration diagrams) are interaction diagrams that center on architecture and how internal structure corresponds to the passing of messages. Timing DiagramsTiming 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 DiagramsInteraction 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.Make any Type of UML Diagram with GliffyIf 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 Online — we're loaded with tools and features specifically for making software engineering diagrams that help teams collaborate and document their work in just a few clicks.Try Online Try in Confluence