UML 2.0 has 13 types of diagrams that can be categorized hierarchically as shown in the following Class diagram:

Structure diagrams emphasize what things must be in the system being modeled:

Structure diagrams emphasize what things must be in the system being modeled:
Behavior diagrams emphasize what must happen in the system being modeled:
Interaction diagrams, a subset of behavior diagrams, emphasize the flow of control and data among the things in the system being modeled:
-
- Communication diagram
- Interaction overview diagram (added in UML 2.x)
- Sequence diagram
- Timing diagram (added in UML 2.x)
The Protocol State Machine is a sub-variant of the State Machine. It may be used to model network communication protocols.
UML does not restrict UML element types to a certain diagram type. In general, every UML element may appear on almost all types of diagrams. This flexibility has been partially restricted in UML 2.0.
In keeping with the tradition of engineering drawings, a comment or note explaining usage, constraint, or intent is always allowed in a UML diagram.