---
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

![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.

[![Structural Things in UML]()](https://www.guru99.com/images/1/041519_1219_UMLNotation1.png)

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

[![Structural Things in UML]()](https://www.guru99.com/images/1/041519_1219_UMLNotation2.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.

[![Structural Things in UML]()](https://www.guru99.com/images/1/042319_0457_WhatisUMLOb3.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.

[![Structural Things in UML]()](https://www.guru99.com/images/1/041519_1219_UMLNotation3.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.

[![Behavioral things in UML]()](https://www.guru99.com/images/1/041519_1219_UMLNotation12.png)

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

### Grouping things

[![Grouping things in UML]()](https://www.guru99.com/images/1/041519_1219_UMLNotation13.png)

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

### Annotational things

[![Annotational things in UML]()](https://www.guru99.com/images/1/041519_1219_UMLNotation14.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

[![Relationships Type in UML]()](https://www.guru99.com/images/1/062819_0548_UMLRelation1.png)

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

[![Relationships Type in UML]()](https://www.guru99.com/images/1/041519_1219_UMLNotation15.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.

[![Relationships Type in UML]()](https://www.guru99.com/images/1/062819_0756_UMLAssociat1.png)

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

[![Relationships Type in UML]()](https://www.guru99.com/images/1/062819_0756_UMLAssociat2.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.

[![Relationships Type in UML]()](https://www.guru99.com/images/1/041519_1219_UMLNotation16.png)

[![Relationships Type in UML]()](https://www.guru99.com/images/1/051818_1150_UMLClassDia4.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.

[![Relationships Type in UML]()](https://www.guru99.com/images/1/041519_1219_UMLNotation17.png)

[![Relationships Type in UML]()](https://www.guru99.com/images/1/051818_1150_UMLClassDia5.png)

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

[![Relationships Type in UML]()](https://www.guru99.com/images/1/041519_1219_UMLNotation18.png)

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

[![Relationships Type in UML]()](https://www.guru99.com/images/1/062819_0548_UMLRelation2.png)

Realization can be represented in two ways:

- Using a canonical form
- Using an elided form

[![Relationships Type in UML]()](https://www.guru99.com/images/1/051818_1150_UMLClassDia9.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.

[![Relationships Type in UML]()](https://www.guru99.com/images/1/051818_1150_UMLClassDia8.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

[![Abstract Classes in UML]()](https://www.guru99.com/images/1/042319_0640_WhatisClass10.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.

[![UML Class Diagram]()](https://www.guru99.com/images/1/051818_1150_UMLClassDia10.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.

[![Use Case Diagram in UML]()](https://www.guru99.com/images/1/052919_0831_UMLUseCaseD1.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.

[![Use Case Diagram in UML]()](https://www.guru99.com/images/1/052919_0831_UMLUseCaseD2.png)

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

**Don't Miss:**

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

### 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.

[![Use Case Diagram in UML]()](https://www.guru99.com/images/1/052919_0831_UMLUseCaseD3.png)

## UML State Machine Diagram

[![State Machine Diagram in UML]()](https://www.guru99.com/images/1/052919_0832_StateMachin1.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.

[![State Machine Diagram in UML]()](https://www.guru99.com/images/1/052919_0832_StateMachin2.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

[![Activity Diagram in UML]()](https://www.guru99.com/images/1/052919_1151_UMLActivity1.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.

[![Activity Diagram in UML]()](https://www.guru99.com/images/1/052919_1151_UMLActivity2.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.

[![Sequence Diagram in UML]()](https://www.guru99.com/images/1/062819_0838_Interaction2.png)

## Collaboration diagram

[![Collaboration Diagram in UML]()](https://www.guru99.com/images/1/041519_1219_UMLNotation4.png)

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

**Example of Collaboration diagram :-**

[![Collaboration Diagram in UML]()](https://www.guru99.com/images/1/062819_0838_Interaction5.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 :-**

[![Timing Diagram in UML]()](https://www.guru99.com/images/1/062819_0838_Interaction6.jpg)

## UML Component Diagram

[![Component Diagram in UML]()](https://www.guru99.com/images/1/052919_0717_ComponentDi1.png)

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

[![Component Diagram in UML]()](https://www.guru99.com/images/1/052919_0717_ComponentDi2.png)

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

[![Component Diagram in UML]()](https://www.guru99.com/images/1/052919_0717_ComponentDi3.png)

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

[![Component Diagram in UML]()](https://www.guru99.com/images/1/052919_0717_ComponentDi4.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 :-**

[![Component Diagram in UML]()](https://www.guru99.com/images/1/052919_0717_ComponentDi5.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

[![Deployment Diagram in UML]()](https://www.guru99.com/images/1/052919_0743_DeploymentD1.png)

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

[![Deployment Diagram in UML]()](https://www.guru99.com/images/1/052919_0743_DeploymentD6.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:

ChatGPTPerplexityGrokGoogle 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)

×

Search for:

```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-10-08T17:55:21+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/editorial","name":"Editorial Team","url":"https://www.guru99.com/author/editorial","image":{"@type":"ImageObject","@id":"https://www.guru99.com/images/favicon-new-logo.png","url":"https://www.guru99.com/images/favicon-new-logo.png","caption":"Editorial Team","inLanguage":"en-US"},"sameAs":["https://www.guru99.com/editorial-team"],"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/editorial","name":"Editorial Team"},"dateModified":"2026-10-08T17:55:21+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"}}]}
```
