Stands for "Unified Modeling Language."

UML is an industry-standard modeling language designed to help visualize how a complex software system will work. System architects, software engineers and developers, and other stakeholders use UML to build diagrams using a standard visual language to lay out and document how different parts of a software system will interact. A set of UML diagrams is similar to a set of blueprints for a house. It shows how to build the house using common symbols that the architect, builder, electrician, plumber, and homeowner can all understand enough to fulfill their role.

The UML specification defines 13 types of diagrams in two categories—Structure diagrams, which show the static structure of a system, and Behavior diagrams which show the dynamic interactions between objects in a system. Each of these diagrams shares a set of design elements, with symbols representing certain types of objects, their roles, and how they interact with each other. Objects are linked together, similar to a flow chart, to show relationships and the flow of information.

While UML was designed primarily for object-oriented software design, it is also useful when modeling non-software systems. Certain types of UML diagrams can model manufacturing processes, hardware design, or other processes where objects interact. The Object Management Group (OMG) maintains the UML specification, updating it over time as new technology and procedures become common.

Updated October 11, 2022 by Brian P.

quizTest Your Knowledge

What is a function that encapsulates another function called?

Recursive function
Redundant function
Function compressor
Function wrapper
Correct! Incorrect!     View the Wrapper definition.
More Quizzes →

The Tech Terms Computer Dictionary

The definition of UML on this page is an original definition written by the team. If you would like to reference this page or cite this definition, please use the green citation links above.

The goal of is to explain computer terminology in a way that is easy to understand. We strive for simplicity and accuracy with every definition we publish. If you have feedback about this definition or would like to suggest a new technical term, please contact us.

Sign up for the free TechTerms Newsletter

How often would you like to receive an email?

You can unsubscribe or change your frequency setting at any time using the links available in each email.

Questions? Please contact us.