---
description: In this UML Notation Cheat Sheet, you will learn: Things in UML Relationships type in UML UML Use Case Diagram UML State Machine Diagram UML Activity Diagram Sequence Diagram Collaboration diagram Tim
title: UML Diagram Cheat Sheet and Reference Guide
image: https://www.guru99.com/images/uml-diagram-cheat-sheet.png
---

 

[Skip to content](#main) 

**⚡ Smart Summary**

UML Diagram Cheat Sheet compiles the core notations of the Unified Modeling Language in one reference: structural and behavioral things, relationship types, and the main diagrams—class, use case, state machine, activity, sequence, component, and deployment.

* 🧱 **Things in UML:** Structural, behavioral, grouping, and annotational things are the building blocks of every model.
* 🔗 **Relationships:** Association, dependency, generalization, realization, composition, and aggregation connect model elements.
* 🎭 **Behavioral Diagrams:** Use case, state machine, activity, sequence, collaboration, and timing diagrams capture dynamic behavior.
* 🏗️ **Structural Diagrams:** Class, component, and deployment diagrams describe the static and physical structure of a system.
* 🎯 **Quick Reference:** Each notation is shown with its symbol and a one-line definition for fast lookup.

[ Read More ](javascript:void%280%29;) 

![UML Diagram Cheat Sheet and Reference Guide](https://www.guru99.com/images/uml-diagram-cheat-sheet.png)

## Things in UML

A thing can be described as any real-world entity or an object. Things are divided into various categories in UML as follows:

* Structural things
* Behavioral things
* Grouping things
* Annotational things

### Structural things

Structural things are all about the physical part of a system. It is the noun of a UML model, such as a class, object, interface, collaboration, use case, component, and a node.

[](https://www.guru99.com/images/1/041519%5F1219%5FUMLNotation1.png)

**Class :-** A class is used to represent various objects. It is used to define the properties and operations of an object.

[](https://www.guru99.com/images/1/041519%5F1219%5FUMLNotation2.png)

**Object :-** An object is an entity which is used to describe the behavior and functions of a system. The class and object have the same notations.

[](https://www.guru99.com/images/1/042319%5F0457%5FWhatisUMLOb3.png)

**Example of Object Diagram :-** The below [UML object diagram](https://www.guru99.com/uml-object-diagram.html) contains two objects named Ferrari and BMW which belong to a class named Car. The objects are nothing but real-world entities that are the instances of a class.

[](https://www.guru99.com/images/1/041519%5F1219%5FUMLNotation3.png)

**Interface :-** An interface is similar to a template without implementation details. A circle notation represents it. When a class implements an interface, its functionality is also implemented.

### Behavioral things

They are the verbs of a UML model, such as interactions, activities, and state machines. Behavioral things are used to represent the behavior of a system.

[](https://www.guru99.com/images/1/041519%5F1219%5FUMLNotation12.png)

**Interaction diagram :-** Interaction diagrams are used to visualize the message flow between various components of a system.

### Grouping things

[](https://www.guru99.com/images/1/041519%5F1219%5FUMLNotation13.png)

It is the package which is used to group semantically related modeling elements into a single cohesive unit.

### Annotational things

[](https://www.guru99.com/images/1/041519%5F1219%5FUMLNotation14.png)

It is like a note, which may be written to the model to capture some vital information. It is similar to the yellow sticky note.

## Relationships type in UML

[](https://www.guru99.com/images/1/062819%5F0548%5FUMLRelation1.png)

The relationship allows you to show on a model how two or more things relate to each other.

[](https://www.guru99.com/images/1/041519%5F1219%5FUMLNotation15.png)

**Association relationship :-** It is a set of links that connect elements of the UML model. It is denoted as a dotted line with arrowheads on both sides. Both sides contain an element which describes the relationship.

[](https://www.guru99.com/images/1/062819%5F0756%5FUMLAssociat1.png)

**Reflexive association :-** Reflexive association states that a link or a connection can be present within the objects of the same class.

[](https://www.guru99.com/images/1/062819%5F0756%5FUMLAssociat2.png)

**Directed association :-** In a directed association, the flow is directed. The association from one class to another class flows in a single direction only.

[](https://www.guru99.com/images/1/041519%5F1219%5FUMLNotation16.png)

[](https://www.guru99.com/images/1/051818%5F1150%5FUMLClassDia4.png)

**Dependency relationship :-** It is one of the most important notations of UML. It defines the direction of a dependency from one object to another.

[](https://www.guru99.com/images/1/041519%5F1219%5FUMLNotation17.png)

[](https://www.guru99.com/images/1/051818%5F1150%5FUMLClassDia5.png)

**Generalization relationship :-** It is also called a parent-child relationship. This type of relationship is used to represent the inheritance concept.

[](https://www.guru99.com/images/1/041519%5F1219%5FUMLNotation18.png)

**Realization relationship :-** Realization relationship is widely used while denoting interfaces.

[](https://www.guru99.com/images/1/062819%5F0548%5FUMLRelation2.png)

Realization can be represented in two ways:

* Using a canonical form
* Using an elided form

[](https://www.guru99.com/images/1/051818%5F1150%5FUMLClassDia9.png)

**Composition :-** Composite aggregation is described as a binary association decorated with a filled black diamond at the aggregate (whole) end. It is not a standard UML relationship, but it is still used in various applications.

[](https://www.guru99.com/images/1/051818%5F1150%5FUMLClassDia8.png)

**Aggregation :-** In an aggregation relationship, the dependent object remains in the scope of a relationship even when the source object is destroyed. An aggregation is a subtype of an association [relationship in UML](https://www.guru99.com/uml-relationships-with-example.html).

## Abstract Classes

[](https://www.guru99.com/images/1/042319%5F0640%5FWhatisClass10.png)

It is a class with an operation prototype, but not the implementation. In UML, the only difference between a class and an abstract class is that the class name is strictly written in an italic font.

### Let’s see a complete UML class diagram example :-

An ATM system is very simple, as customers need to press some buttons to receive cash. However, there are multiple security layers that any ATM system needs to pass. This helps to prevent fraud and provide cash or account details to banking customers.

[](https://www.guru99.com/images/1/051818%5F1150%5FUMLClassDia10.png)

## UML Use Case Diagram

A Use Case Diagram captures the system’s functionality and requirements by using actors and use cases. Use Cases model the services, tasks, and functions that a system needs to perform.

[](https://www.guru99.com/images/1/052919%5F0831%5FUMLUseCaseD1.png)

**Use-case :-** Use-cases are one of the core concepts of object-oriented modeling. They are used to represent high-level functionalities and how the user will handle the system.

[](https://www.guru99.com/images/1/052919%5F0831%5FUMLUseCaseD2.png)

**Actor :-** The actor is an entity that interacts with the system. A user is the best example of an actor.

### RELATED ARTICLES

* [UML Tutorial for Beginners ](https://www.guru99.com/uml-tutorial.html "UML Tutorial for Beginners")
* [What is UML Component Diagram? Notations, Example ](https://www.guru99.com/component-diagram-uml-example.html "What is UML Component Diagram? Notations, Example")
* [UML Tutorial PDF for Beginners ](https://www.guru99.com/uml-tutorial-pdf.html "UML Tutorial PDF for Beginners")
* [9 Best FREE Microsoft Visio Alternatives (2026) ](https://www.guru99.com/best-visio-alternative.html "9 Best FREE Microsoft Visio Alternatives (2026)")

### Example of Use Case diagram

In the below use case diagram, there are two actors named student and teacher. There are a total of five use cases that represent the specific functionality of a student management system. Each actor interacts with a particular use case.

[](https://www.guru99.com/images/1/052919%5F0831%5FUMLUseCaseD3.png)

## UML State Machine Diagram

[](https://www.guru99.com/images/1/052919%5F0832%5FStateMachin1.png)

**State machine :-** It is used to describe various states of a single component throughout the software development life cycle.

There are 4 types of state in a state machine:

1. **Initial state :-** The initial state symbol is used to indicate the beginning of a state machine diagram.
2. **Final state :-** This symbol is used to indicate the end of a state machine diagram.
3. **Decision box :-** It contains a condition. Depending upon the result of an evaluated guard condition, a new path is taken for program execution.
4. **Transition :-** A transition is a change from one state into another state which occurs because of some event.

[](https://www.guru99.com/images/1/052919%5F0832%5FStateMachin2.png)

**Example of State Machine Diagram :-** There are a total of two states, and the first state indicates that the OTP has to be entered first. After that, the OTP is checked in the decision box; if it is correct, then only the state transition will occur, and the user will be validated. If the OTP is incorrect, then the transition will not take place, and it will again go back to the beginning state until the user enters the correct OTP.

## UML Activity Diagram

[](https://www.guru99.com/images/1/052919%5F1151%5FUMLActivity1.png)

**Activity diagram :-** An activity diagram is used to represent various activities carried out by different components of a system.

* **Initial states:** The starting stage before an activity takes place is depicted as the initial state.
* **Final states:** The state which the system reaches when a specific process ends is known as a final state.
* **Decision box:** It is a diamond-shaped box which represents a decision with alternate paths. It represents the flow of control.

[](https://www.guru99.com/images/1/052919%5F1151%5FUMLActivity2.png)

**Example of Activity Diagram :-** The following diagram represents the activity for processing e-mails.

## Sequence Diagram

The purpose of a sequence diagram in UML is to visualize the sequence of a message flow in the system. A sequence diagram is used to capture the behavior of any scenario.

[](https://www.guru99.com/images/1/062819%5F0838%5FInteraction2.png)

## Collaboration diagram

[](https://www.guru99.com/images/1/041519%5F1219%5FUMLNotation4.png)

**Collaboration :-** It is represented by a dotted ellipse with a name written inside it.

**Example of Collaboration diagram :-**

[](https://www.guru99.com/images/1/062819%5F0838%5FInteraction5.png)

## Timing diagram

A timing diagram specifies how the object changes its state by using a waveform or a graph. It is used to denote the transformation of an object from one form into another form.

**Example of Timing diagram :-**

[](https://www.guru99.com/images/1/062819%5F0838%5FInteraction6.jpg)

## UML Component Diagram

[](https://www.guru99.com/images/1/052919%5F0717%5FComponentDi1.png)

**Component :-** A component notation is used to represent a part of the system.

[](https://www.guru99.com/images/1/052919%5F0717%5FComponentDi2.png)

**Node :-** A node can be used to represent a network, server, routers, etc. Its notation is given below.

[](https://www.guru99.com/images/1/052919%5F0717%5FComponentDi3.png)

**Structure of a component :-** A component is represented with a classifier rectangle stereotyped as << component >>.

[](https://www.guru99.com/images/1/052919%5F0717%5FComponentDi4.png)

**Port :-** A port is an interaction point between a classifier and an external environment. It groups a semantically cohesive set of provided and required interfaces.

**Example of Component diagram :-**

[](https://www.guru99.com/images/1/052919%5F0717%5FComponentDi5.png)

## Deployment Diagram

**Deployment diagram :-** A deployment diagram represents the physical view of a system.

A deployment diagram consists of the following notations:

1. A node
2. A component
3. An artifact
4. An interface

[](https://www.guru99.com/images/1/052919%5F0743%5FDeploymentD1.png)

**Example of a deployment diagram :-** The following deployment diagram represents the working of an HTML5 video player in the browser.

[](https://www.guru99.com/images/1/052919%5F0743%5FDeploymentD6.png)

## FAQs

🤖 Can AI create UML diagrams from a description?

Yes. AI assistants can turn a plain-text description of classes, actors, or workflows into UML diagram code (such as PlantUML or Mermaid) that renders as a diagram. Review the output, since AI may miss relationships or multiplicity.

🧠 Can AI convert source code into UML diagrams?

Yes. AI-assisted reverse-engineering tools can read classes and methods from code and generate class or sequence diagrams. This speeds up documentation, though developers should verify that the generated diagrams reflect the intended architecture.

❓ What are the two main categories of UML diagrams?

UML diagrams fall into two categories: structural diagrams (class, object, component, deployment) that show static structure, and behavioral diagrams (use case, activity, state machine, sequence) that show how the system behaves over time.

📌 What is the latest version of UML?

The latest released version is UML 2.5.1, published by the Object Management Group (OMG) in 2017\. It refined the UML 2.x specification, and most modern diagramming tools support its notation.

#### Summarize this post with:

ChatGPT Perplexity Grok Google AI 

**Stay Updated on AI** **Get Weekly AI Skills, Trends, Actionable Advice.** 

##### Sign up for the newsletter

Subscribe for Free 

You have successfully subscribed.  
Please check your inbox. 

![AI-Newsletter]() Chosen by over **350,000+** professionals 

[Scroll to top ](#wrapper)Scroll to top 

× 

Toggle Menu Close 

Search for: 

Search

```json
{"@context":"https://schema.org","@graph":[{"@type":"Organization","@id":"https://www.guru99.com/#organization","name":"Guru99","sameAs":["https://www.facebook.com/Guru99Official","https://twitter.com/guru99com"],"logo":{"@type":"ImageObject","@id":"https://www.guru99.com/#logo","url":"https://www.guru99.com/images/guru99-logo-v1-150x59.png","contentUrl":"https://www.guru99.com/images/guru99-logo-v1-150x59.png","caption":"Guru99","inLanguage":"en-US"}},{"@type":"WebSite","@id":"https://www.guru99.com/#website","url":"https://www.guru99.com","name":"Guru99","publisher":{"@id":"https://www.guru99.com/#organization"},"inLanguage":"en-US"},{"@type":"ImageObject","@id":"https://www.guru99.com/images/uml-diagram-cheat-sheet.png","url":"https://www.guru99.com/images/uml-diagram-cheat-sheet.png","width":"700","height":"250","caption":"UML Diagram Cheat Sheet","inLanguage":"en-US"},{"@type":"BreadcrumbList","@id":"https://www.guru99.com/uml-cheatsheet-reference-guide.html#breadcrumb","itemListElement":[{"@type":"ListItem","position":"1","item":{"@id":"https://www.guru99.com","name":"Home"}},{"@type":"ListItem","position":"2","item":{"@id":"https://www.guru99.com/uml","name":"UML"}},{"@type":"ListItem","position":"3","item":{"@id":"https://www.guru99.com/uml-cheatsheet-reference-guide.html","name":"UML Diagram Cheat Sheet and Reference Guide"}}]},{"@type":"WebPage","@id":"https://www.guru99.com/uml-cheatsheet-reference-guide.html#webpage","url":"https://www.guru99.com/uml-cheatsheet-reference-guide.html","name":"UML Diagram Cheat Sheet and Reference Guide","dateModified":"2026-07-02T19:18:07+05:30","isPartOf":{"@id":"https://www.guru99.com/#website"},"primaryImageOfPage":{"@id":"https://www.guru99.com/images/uml-diagram-cheat-sheet.png"},"inLanguage":"en-US","breadcrumb":{"@id":"https://www.guru99.com/uml-cheatsheet-reference-guide.html#breadcrumb"}},{"@type":"Person","@id":"https://www.guru99.com/author/amelia","name":"Amelia Parker","description":"I'm Amelia Parker, a UML Expert with deep expertise in crafting clear and actionable guides to help you excel in UML diagramming and modeling.","url":"https://www.guru99.com/author/amelia","image":{"@type":"ImageObject","@id":"https://www.guru99.com/images/amelia-parker-author.png","url":"https://www.guru99.com/images/amelia-parker-author.png","caption":"Amelia Parker","inLanguage":"en-US"},"worksFor":{"@id":"https://www.guru99.com/#organization"}},{"articleSection":"UML","headline":"UML Diagram Cheat Sheet and Reference Guide","description":"In this UML Notation Cheat Sheet, you will learn: Things in UML Relationships type in UML UML Use Case Diagram UML State Machine Diagram UML Activity Diagram Sequence Diagram Collaboration diagram Tim","keywords":"uml, programming","speakable":{"@type":"SpeakableSpecification","cssSelector":[".entry-title",".summary"]},"@type":"Article","author":{"@id":"https://www.guru99.com/author/amelia","name":"Amelia Parker"},"dateModified":"2026-07-02T19:18:07+05:30","image":{"@id":"https://www.guru99.com/images/uml-diagram-cheat-sheet.png"},"copyrightYear":"2026","name":"UML Diagram Cheat Sheet and Reference Guide","subjectOf":[{"@type":"FAQPage","mainEntity":[{"@type":"Question","name":"Can AI create UML diagrams from a description?","acceptedAnswer":{"@type":"Answer","text":"Yes. AI assistants can turn a plain-text description of classes, actors, or workflows into UML diagram code (such as PlantUML or Mermaid) that renders as a diagram. Review the output, since AI may miss relationships or multiplicity."}},{"@type":"Question","name":"Can AI convert source code into UML diagrams?","acceptedAnswer":{"@type":"Answer","text":"Yes. AI-assisted reverse-engineering tools can read classes and methods from code and generate class or sequence diagrams. This speeds up documentation, though developers should verify that the generated diagrams reflect the intended architecture."}},{"@type":"Question","name":"What are the two main categories of UML diagrams?","acceptedAnswer":{"@type":"Answer","text":"UML diagrams fall into two categories: structural diagrams (class, object, component, deployment) that show static structure, and behavioral diagrams (use case, activity, state machine, sequence) that show how the system behaves over time."}},{"@type":"Question","name":"What is the latest version of UML?","acceptedAnswer":{"@type":"Answer","text":"The latest released version is UML 2.5.1, published by the Object Management Group (OMG) in 2017. It refined the UML 2.x specification, and most modern diagramming tools support its notation."}}]}],"@id":"https://www.guru99.com/uml-cheatsheet-reference-guide.html#schema-1130145","isPartOf":{"@id":"https://www.guru99.com/uml-cheatsheet-reference-guide.html#webpage"},"publisher":{"@id":"https://www.guru99.com/#organization"},"inLanguage":"en-US","mainEntityOfPage":{"@id":"https://www.guru99.com/uml-cheatsheet-reference-guide.html#webpage"}}]}
```
