The Unified Modeling Language system (UML) is the industry standard for simplifying software architecture. It involves a set of specific graphic notation techniques to represent visual models of complex software ecosystems. Developers use various types of diagrams to illustrate various aspects of software systems, and each of these is often constructed with different types of UML diagrams.
Depending on the type of UML diagram, it may or may not include both software and hardware components, and in this article, we will discuss the 14 different types of UML diagrams.
Two Broad Categories
UML 2.2 is the latest accepted norm across the industry spectrum. It comprises 14 types of UML, each serving specific purposes. These 14 categories come within two main groups, static UML and dynamic.
The static type is also known as structural diagrams. The other name for the dynamic UML diagram is behavioral UML.
Static Diagrams Sub-types
The static UML represents various interpretations of the software architecture when it is not active. The static view defines the components and classes as discrete but interconnected units. Depending on the type of representation, the structural diagrams can be of seven sub-types.
- Class diagram
- Object diagram
- Deployment diagram
- Composite structure diagram
- Package diagram
- Profile diagram
- Component diagram
Class diagrams are the most common UML diagrams. They categorize components into various key classes, methods, and attributes. The relationship between these elements is key and is partially what makes the class diagram unique.
The object UML diagram exhibits the state of the static software architecture at any given point of a function. These diagrams also display the fixed relationship between the various classes and connect elements similar to the class diagram. Tallying the object diagram with the class view helps verify the software solution’s accuracy.
The deployment diagram deals with the entire deployment of the software architecture, including both software and hardware components. It is particularly useful when deploying software systems across computing networks with varied configurations.
Composite Structure Diagram
The composite structure diagram exhibits the internal structure of various classes. The detailed chart displays a complete picture of the classifiers, including the parts, ports, and connectors. These are similar to class diagrams, but the approach is more granular. Here, the main emphasis is on showing the individual components of classes rather than the extensive connections between elements.
In UML, a package refers to a group of relevant elements. These include documents, classes, and other packages. Every single element has a specific position inside the package hierarchy. These packages are shown as a file folder in UML and are the emphasis of the package diagram.
The profile diagram is a relatively new sub-type introduced in UML 2. It indicates a generic mechanism for extending UML models to particular domains. For example, there can be separate profile diagrams for aerospace and healthcare software systems representing the attributes unique to these domains.
The component diagram exhibits the structural connections between the various components of the software system. It also shows the interfaces and connectors of the software architecture.
Behavioral UML Diagrams Sub-types
The behavioral UML diagram exhibits software architecture’s state when used. It has four key subtypes.
- State machine diagram
- Activity diagram
- Use case diagram
The last type is the interaction diagram. The interaction UML diagram consists of four sub-types of its own.
- Sequence diagram
- Communication diagram
- Interaction overview diagram
- Timing diagram
State Machine Diagram
This mode represents the objects at different states at a given point of operation. It is critical to display finite state transitions.
This UML model exhibits the workflow within the software system. The control flow from one point to another in the software system is critical in understanding its operation.
Use Case Diagram
These diagrams represent the complete picture of system activity involving use cases and actors (users). It shows the different functions achieved under the influence of actors.
This UML diagram displays the interactions between different objects in the software hierarchy. Arrows are used to represent interactions between different processes.
This type of interaction diagram focuses on the messages passed between the objects in the software system.
Interaction Overview Diagram
These are similar to activity diagrams, but they represent a larger scale. They represent a sequence of interaction diagrams of the dynamic system. It also shows the series of actions by simplifying complex interactions to simple graphical representations.
This sub-type of interaction diagrams depicts the object behavior charted in a specific time bracket. It is critical to interpret the state transitions and object behavior within duration constraints.
If you have a particular use case that needs to be visually modeled, one of the different types of UML diagrams will likely fit your unique needs. If you liked this article, make sure you check out our other posts about the advantages of using UML.