UML (Unified Modeling Language)

The Unified Modeling Language (UML) is a standard graphical notation for modeling software. The Object Management Group (OMG), which maintains the specification, describes UML as a language for visualizing, specifying, constructing, and documenting the artifacts of object systems. It is not a programming language; it is a way to draw and reason about a system’s structure and behavior before and during implementation.

UML defines several diagram types, each capturing a different view of a system. Class diagrams show the types in a system and how they relate; sequence diagrams show how objects interact over time; use-case diagrams describe what the system does for its users; and state diagrams show how an object changes state in response to events. Together these give designers a shared vocabulary independent of any single programming language.

UML grew out of the competing object-oriented methods of the early 1990s. Grady Booch, James Rumbaugh, and Ivar Jacobson, working together at Rational Software, merged their notations into a single language so that practitioners would no longer have to choose between rival diagram styles. The result was submitted to the OMG, which adopted it as a formal standard.

The OMG has published a sequence of formal versions, from UML 1.1 in December 1997 through UML 2.5.1 in December 2017, the current release. Standardization made UML the common modeling language taught in universities and supported by a wide range of design tools.

Sources

Last verified June 8, 2026