Skip to main content
What is a UML diagram

What is a UML diagram?

uml diagram cover photouml diagram cover photo

You've got a great idea for a new app or software feature—but first, you need to show your boss or investors what you have in mind. With a unified modeling language (UML) diagram, you can map out complex systems in a visual shorthand that’s easy to follow. UML diagrams give you a framework to document technical details, from object-oriented software to process workflows—and make them easy to understand, even for non-technical audiences.

Read on to learn more about:

  • What a UML diagram is and why you should use one
  • Different types of UML diagrams and how to read them
  • How FigJam can help you simplify UML diagramming

What is a UML diagram?

A UML diagram serves as a blueprint for a software system and shows how it behaves. To standardize software modeling, UML diagrams use unified modeling language1. This helps developers and other key players describe, design, and document technical details with ease.

Why use a UML diagram?

UML diagrams can capture a wide variety of systems, from inventory systems to banking applications. UML diagrams are key communication tools to help you:

  • Simplify large or complex systems. Technical and non-technical stakeholders can quickly grasp a product concept or app in development.
  • Improve collaboration. UML gives developers with different language skills and processes a common language, so they can work better together.
  • Drive alignment. Multiple teams can sync up with easy-to-understand diagrams.
  • Show the complete picture. UML diagrams capture a system’s overall concept, key components, and functionality.
  • Minimize errors. Teams can spot and resolve potential bugs quickly.

Create your UML diagram in FigJam

Build your blueprint and collaborate with your team for free in FigJam.

Get this template

Types of UML diagrams—and how to read them

UML diagrams come in 14 flavors that fall within two basic categories: structural and behavioral. Once you understand how these diagrams work, you'll be able to read and build any UML diagram.

Structural UML diagrams

Structural diagrams represent technical frameworks, detailing static components in a structure or system.

UML class diagrams

These diagrams capture classes (or objects), showing their attributes, methods, and relationships. For example, in a login system, user information, role, permission, and password could each represent a class, with arrows showing relationships among them. User information attributes might include username, email, and password. Methods or functions could include add username, edit username, and delete username.

UML component diagrams

Organize components and subcomponents in an object-oriented system, and record how these components interface with each other. In an email app, components might include email management, inbox, and outbox. Subcomponents of email management could include system administration and front-end HTML.

UML composite structure diagrams

Use these diagrams to show how the parts of a system connect to make a system run. For a bank ATM system, those parts might include a central processor, card reader, memory, and modem.

UML deployment diagrams

This is how you demonstrate software deployment across hardware components. Your deployment diagram could show hardware such as a client server, database server, and an individual PC, with collaboration software layered on top of it.

UML object diagrams

These models capture object-oriented systems, just like class diagrams do. However, object diagrams depict a system at a specific time—useful for testing different class diagram instances.

UML package diagrams

Group high-level system elements into (yep) packages, or folders, to show their hierarchy, relationships, and dependencies. Use these diagrams for medium- to large-scale layered apps, such as an omnichannel shopping platform.

UML profile diagrams

Extend your UML models by adding tags, stereotypes, and constraints. This lets you customize diagrams for a specific industry (say, telecom or retail) or platform (such as J2EE, Java, or .NET).

Behavior UML diagrams

Behavioral diagrams model interactions in a system’s dynamic sequence or flow.

UML activity diagrams

Similar to flow charts, these diagrams plot out a system’s business or process flows—for example, payment, registration, and travel booking flows.

UML communication diagrams

Use these diagrams to illustrate how objects send and receive messages. For example, a travel reservation system might show a flight booking message passed from object to object. Those objects could include the front end, flight carrier, reservation, and confirmation.

UML interaction overview diagrams

Highlight the activity and sequence between interactions. For example, an online shopping system could include searching, browsing, shopping, and checking out. An interaction overview diagram can account for the path customers take through all these processes.

UML sequence diagrams

This is how you show the sequence of interactions between objects. These diagrams depict how an actor or user interacts with a system, and how the system responds.

UML state machine diagrams

Capture a system’s components in various states, as they respond to external and internal influences. For example, a debit card inserted into an ATM might result in a ready state or a failure state. Your state machine diagram might show both states, along with other possible states.

UML timing diagrams

Focus on the timing of events that affect system interactions. For example, your timing diagram for web browsing might display various states—waiting, processing, idling—and how long each state takes when a user browses a website.

UML use case diagrams

Identify the actors that use a system, and show how they interact with it. For example, an online ordering system might engage new and existing customers, a procurement manager, customer service agent, and AI chatbot. Use case diagrams also look at internal and external factors that influence functionality.

Understanding UML Relationships

On UML diagrams, you'll notice that UML relationships fall into four basic categories2:

Association: Usually this is a unidirectional or bidirectional link between objects—for example, an employer-employee relationship. Associations can also capture one-to-one, one-to-many, many-to-one, or many-to-many relationships.

Dependency: When one component depends on another, that's a dependency. For example, a change in supply could affect the client in a supplier-client relationship.

Generalization: Generalizations help define the connection between a general and specific object—for example, the relationship between a bank account and a checking account.

Realization: Realizations occur when one component (e.g., the client) realizes or implements the behavior defined by another component (e.g., the supplier).

Simplify UML diagramming with FigJam

Now that you’ve learned how to read UML diagrams, you can build your own. Capturing systems doesn't have to be difficult. Use FigJam’s UML diagram tool to:

  • Plot out your UML diagram with FigJam’s ready-made shapes, tabbed folders, lines, and text tool.
  • Lead an open session to collaborate and gather team feedback.
  • Create presentation-ready models using components and styles from your Figma design library.

For design inspiration, check out UML diagrams shared by the Figma community—including Saki Takamachi’s popular UML class diagram.

Ready to capture technical concepts and win approval for your innovation?

Go to next section

Sources

[1] https://www.omg.org/spec/UML/2.5.1/PDF

[2] https://www.tutorialspoint.com/uml/uml_building_blocks.htm