Trace Id is missing
Two people working together on a laptop.

Bring your best ideas to life

Create professional UML diagrams and transform the way you visualize data with Microsoft Visio.

What is Unified Modeling Language (UML)?

Unified Modeling Language (UML) is a standardized way to visualize complex systems—such as software architecture or databases—and make relationships, characteristics, and behaviors of components easy to understand.

  • Software development

    To streamline the development process, software developers use UML diagrams to visually represent the architecture, design, and implementation of complex software systems before they start coding. This helps eliminate unnecessary rework and ensures technical and non-technical team members are on the same page from day one.

  • Database modeling

    UML has become a popular way to model databases. Not only are these diagrams a helpful visual tool for brainstorming and collaboration, but they can also help depict hierarchies, network structures, and other attributes. With UML diagrams, free-form diagramming becomes simple, and illustrations can easily evolve as plans change.

  • Business processes

    The capacity of UML to illustrate abstract concepts, such as the way an object will change over time, makes it helpful in numerous business contexts. Associations, dependencies, communications, sequences, and lifespans can all be depicted in one diagram and easily adjusted as plans change.

  • Project management

    Project managers use UML diagrams to understand and communicate business requirements at the outset of a new project and plan for potential scenarios. This enables the project manager to carefully manage scope, get early buy-in, and reduce the risk of future surprises.

Visualize your data and ideas

Create professional UML diagrams and start problem solving with our most powerful diagramming suite yet.

A desktop monitor displaying diagrams in Visio.

Why use UML diagrams?

A person sitting at a table using a laptop to create an intricate diagram in Visio.

Easily model complex systems and processes

UML makes vast, complex systems easier to understand by breaking them down into bite-sized components and illustrating the way they are connected. With all the necessary information displayed in one place, teams can problem-solve more effectively and identify gaps that may not have been visible before.

A person sitting on a couch using a laptop to create an intricate diagram in Visio.

Customize diagrams as things evolve

UML diagrams are a very flexible form of documentation. As plans change or requirements shift, UML easily accommodates new information, making it easy to iterate without fear of upsetting what’s already been built.

Two people looking at a desktop monitor displaying a diagram in Visio.

Get your ideas in front of you

UML makes abstract concepts more concrete and makes space for teams to visualize problems, brainstorm ideas, and map out solutions. Create a UML activity diagram to illustrate your technical support process or a UML communication diagram for bug tracking. With UML, the options are endless.

A person standing in front of a conference room presenting a diagram in Visio being displayed on a Surface Hub

Make perfectly polished diagrams with ease

While UML was originally created to help software developers visualize complex systems, it also has many day-to-day uses. With access to various UML shapes and functionalities, you can model business processes and workflows in minutes, then share your work for open collaboration—it’s that simple.

Back to Tabs

Types of UML diagrams

There are two major types of UML diagrams: structural diagrams and behavioral diagrams. Structural diagrams show the static structure of a system, including its attributes and levels of implementation. Behavioral diagrams show the dynamic behavior of a system—for example, the way it might change over time.

Between these two UML categories, analysts, designers, coders, and other diagram creators have 14 options for how they may visually depict their system. From there, the variations are unlimited.

Behavioral diagrams

UML activity diagrams

UML activity diagrams depict step-by-step processes with a clear beginning and end. Activity diagrams are relevant in many business contexts and can be an excellent tool for helping teams reach a specific goal.

Communication diagrams

UML communication diagrams demonstrate which elements interact with other elements by visualizing them as sequenced messages. These models are particularly helpful for diagramming systems with multiple complex iterations and branching.

Sequence diagrams

UML sequence diagrams show the way various actors and objects interact and the events they generate, arranged in a time sequence. Popular beyond the design community, these diagrams are good at demonstrating all types of business processes and can even capture multitasking.

State machine diagrams

UML state machine diagrams help describe the way an object changes in response to internal and external stimulus over the course of its lifecycle. These diagrams are perfect for illustrating complex, detailed processes.

Use case diagrams

UML use case diagrams describe what a system does, not how it does it. In the early stages of a development project, use-case diagrams can illustrate how an actor might use the system to accomplish real-world goals and even explain user interface and design details.

Interaction overview diagrams

UML interaction overview diagrams are activity diagrams made up of numerous smaller models (typically, time diagrams, sequence diagrams, and communication diagrams). While complex, these overview diagrams are perfect for illustrating the way numerous aspects of a system interact all at once.

Timing diagrams

UML timing diagrams are used to represent how objects relate when the primary focus is time. Timing diagrams visualize objects and actors along a linear time axis and capture the duration of events, as well as the changes that occur because of specific time constraints.

Structural diagrams

UML class diagrams

UML class diagrams model the structure of applications by specifying the system’s hierarchies, attributes, and relationships. These diagrams depict both the logical and physical design of a system and are very common in software development.

Component diagrams

UML component diagrams group components into logical clusters and visualize the relationships between them. These diagrams are great for breaking complex systems into their smallest components, making them easier to comprehend.

Composite structure diagrams

UML compose structure diagrams are one of the more infrequently used diagram styles—but they have their purpose. Where many UML diagrams visualize systems in great detail, composite structure diagrams illustrate systems as simply as possible. The focus is placed on top-level components and how they communicate with one another, instead of on specifics.

Database notation diagrams

UML database notation diagrams are used to model the structure of a database. These diagrams may be hierarchical, relational, and graphed as networks—or even trees—and are a great visual tool for brainstorming and free-form collaboration.

Deployment diagrams

UML deployment diagrams communicate how the hardware and software elements that make up an application will be configured and deployed. They can also show the structure of the run-time system.

Object diagrams

UML object diagrams represent specific instances of more abstract class styles. Software developers use object diagrams to verify whether their initial system structure holds up after adding additional specificity.

Package diagrams

UML package diagrams organize model diagrams into groups (or packages) of related objects. This enables programmers to show how large groups of components relate to one another.

Profile diagrams

UML profile diagrams are not a traditional diagram type, but a mechanism used to create new semantics for UML diagrams. Creators can use this capability to tag values and keywords, add conditions and constraints, or design brand new UML elements, beyond what is generally available in UML diagramming tools.

How to make a UML diagram

To get the most out of UML, select a tool that makes creating, sharing, and editing professional-looking UML diagrams as simple as possible.

Two people at a desk looking at a laptop.

Start with the right tool

Collaborate more effectively with a diagramming tool that allows you to create professional UML diagrams with ease. With dozens of premade templates, starter diagrams, and stencils to choose from, Visio makes it easy to create visuals anyone can understand.

A meeting in a conference room with laptops displaying data and a person in the front of the room presenting.

Collaborate in real time

Co-create diagrams with your teammates, make changes in real time, and share your work across the business for more effective decision making. With a flexible platform and a wide variety of integrations, Visio makes creating, viewing, editing, and sharing professional UML diagrams truly simple.

Two people smiling and looking at a desktop monitor.

Bring your vision to life

Creating a well-designed UML diagram is the first step toward making your idea reality. Simplify your design process, visualize problems and solutions, then start building. And if you need to change course, Visio will be ready to help you brainstorm something even better.

More on UML and Visio

How to install Visio

Visio is a standalone app, purchased separately from Microsoft Office.

A beginner’s guide to Visio

Learn how to use templates as well as arrange, connect, and modify shapes.

Create a basic flowchart

Learn how to use a flowchart to visualize both simple and complex business processes.

Visio training

Learn the basics or get deeper guidance with these training courses.

Expand your diagramming options

View all Visio plan options and explore what’s possible.

Visio accessibility features

Explore accessibility features like Narrator, Accessibility Checker, and high-contrast support.

Try Visio for free

Ready to get started with UML? Try Visio Plan 2 free for 30 days.

UML best practices

Read the latest Visio news and UML best practices on the Microsoft 365 Tech Community Blog.

Frequently asked questions

  • Unified Modeling Language (UML) is a standardized way to visualize complex systems—such as software architecture or databases—and make relationships, characteristics, and behaviors of components easy to understand.

    UML was created in the 1990s by three software engineers—Grady Booch, Ivar Jacobson, and James Rumbaugh—because they wanted to develop a less chaotic way to diagram increasingly complex software and separate methodology from process.

    Today, UML is still the go-to diagramming tool for developers, as well as project managers, tech entrepreneurs, and business professionals across industries.

    Learn more about the types of UML diagrams and how they are used in this guide to UML diagramming and database modeling.

  • Unified Modeling Language (UML) is a standardized, general-purpose modeling language used by programmers to specify, visualize, construct, and document software systems.

    UML is not a programming language itself, but it can be used to generate code in common programming languages using UML diagrams. More commonly, it is used as a conceptual and object-oriented modeling tool.

  • There are two categories of UML diagrams—structural diagrams and behavioral diagrams. There are 14 diagram subtypes within these two categories.

    Structural diagrams capture the static aspects of a system, including any attributes and hierarchies. Behavioral diagrams show the dynamic behavior of a system—for example, processes, impacts, and any changes that might over time.

Follow Microsoft 365