UML stands for Unified Modeling Language which is used in object oriented software engineering. Although typically used in software engineering it is a rich language that can be used to model an application structures, behavior and even business processes. There are 14 UML diagram types to help you model these behavior.
They can be divided into two main categories; structure diagrams and behavioral diagrams. All 14 UML diagram types are listed below with examples and a brief introduction to them explaining how they are used when modeling applications.
You can draw UML diagrams online using our software, or check out some UML diagram examples at our diagramming community.
List of UML Diagram Types
Types of UML diagrams with structure diagrams coming first and behavioral diagrams starting from position 8. Click on any diagram type to visit that specific diagram type’s description.
- Class Diagram
- Component Diagram
- Deployment Diagram
- Object Diagram
- Package Diagram
- Profile Diagram
- Composite Structure Diagram
- Use Case Diagram
- Activity Diagram
- State Machine Diagram
- Sequence Diagram
- Communication Diagram
- Interaction Overview Diagram
- Timing Diagram
Structure diagrams show the things in a system being modeled. In a more technical term, they show different objects in a system. Behavioral diagrams shows what should happen in a system. They describe how the objects interact with each other to create a functioning system.
A component diagram displays the structural relationship of components of a software system. These are mostly used when working with complex systems that have many components. Components communicate with each other using interfaces. The interfaces are linked using connectors. The images below shows a component diagram.
A deployment diagram shows the hardware of your system and the software in those hardware. Deployment diagrams are useful when your software solution is deployed across multiple machines with each having a unique configuration. Below is an example deployment diagram.
Object Diagrams, sometimes referred to as Instance diagrams are very similar to class diagrams. Like class diagrams, they also show the relationship between objects but they use real world examples. They are used to show how a system will look like at a given time. Because there is data available in the objects, they are often used to explain complex relationships between objects.
As the name suggests, a package diagram shows the dependencies between different packages in a system. Check out this wiki article to learn more about the dependencies and elements found in package diagrams.
Profile diagram is a new diagram type introduced in UML 2. This is a diagram type that is very rarely used in any specification. For more detailed technical information about this diagram type check this link.
Composite structure diagrams are used to show the internal structure of a class. For a detailed explanation of composite structure diagrams click here.
As the most known diagram type of the behavioral UML diagrams, Use case diagrams give a graphic overview of the actors involved in a system, different functions needed by those actors and how these different functions are interacted.
It’s a great starting point for any project discussion, because you can easily identify the main actors involved and the main processes of the system. Click through to read more about use case diagram elements and/or get started instantly using our use case templates.
Activity diagrams represent workflows in a graphical way. They can be used to describe business workflow or the operational workflow of any component in a system. Sometimes activity diagrams are used as an alternative to State machine diagrams. Check out this wiki article to learn about symbols and usage of activity diagrams.
State machine diagrams are similar to activity diagrams, although notations and usage change a bit. They are sometime known as state diagrams or state chart diagrams as well. These are very useful to describe the behavior of objects that act differently according to the state they are in at the moment. The State machine diagram below shows the basic states and actions.
Sequence diagrams in UML show how objects interact with each other and the order those interactions occur. It’s important to note that they show the interactions for a particular scenario. The processes are represented vertically and interactions are show as arrows. This article explains the purpose and the basics of Sequence diagrams.
You can also instantly start drawing using our sequence diagram templates.
Communication diagram was called collaboration diagram in UML 1. It is similar to sequence diagrams, but the focus is on messages passed between objects. The same information can be represented using a sequence diagram and different objects. Click here to understand the differences using an example.
Interaction overview diagrams are very similar to activity diagrams. While activity diagrams show a sequence of processes, Interaction overview diagrams show a sequence of interaction diagrams. In simple terms, they can be called a collection of interaction diagrams and the order they happen. As mentioned before, there are seven types of interaction diagrams, so any one of them can be a node in an interaction overview diagram. ( img – http://www.sa-depot.com/?page_id=645 )
Timing diagrams are very similar to sequence diagrams. They represent the behavior of objects in a given time frame. If it’s only one object, the diagram is straight forward, but if there are more than one object involved, they can be used to show interactions of objects during that time frame as well. ( img – http://blog.tangcs.com/2008/01/10/uml-2-diagrams/ )
Mentioned above are all the UML diagram types. The links given in each section explain the diagrams in more detail and cover the usage, symbols etc. UML offers many diagram types, and sometimes two diagrams can explain the same thing using different notations.
Check this blog post to learn which UML diagram best suits you. If you have any questions or suggestions, feel free to leave a comment.