Unified Modeling Language (UML)

Go up to Terms and Definitions

Discussion

The Unified Modeling Language (UML) is a general-purpose modelling language developed and maintained by the Object Management Group (OMG). UML provides formally defined constructs and graphical notations for representing the structure and behaviour of systems, particularly software-intensive systems.

UML supports the representation of concerns such as:

Classes and objectsComponentsInterfacesActivitiesInteractionsState machinesUse casesDeploymentsPackagesRelationships among model elementsUML defines a modelling language rather than a software development method, an implementation platform, a programming language, or a tool. Development methods and modelling practices may use UML while imposing additional conventions, processes, and constraints.

UML also provides a foundation for profiles that specialise the language for particular domains or purposes. SysML v1 was defined as a UML profile with additional systems-engineering constructs and restrictions. SysML v2 no longer depends on UML in the same manner.

Definition

General-purpose modelling language for representing the structure and behaviour of systems.

Source

Object Management Group, Unified Modeling Language version 2.5.1, https://www.omg.org/spec/UML/2.5.1/ISO/IEC 19505, Information technology — Object Management Group Unified Modeling Language

Note

A diagram that uses boxes, lines, and arrows does not necessarily constitute a UML model. A UML model uses constructs whose syntax and meaning conform to the UML specification.

UML does not prescribe a specific development process, programming language, runtime platform, or implementation architecture.

Example

A software architect may use a UML component diagram to represent software components and their provided and required interfaces, and use an activity diagram to represent the flow of behaviour among those components.

© 2026 Dido Solutions, Inc. and Jackrabbit Consulting, Inc.