What is UML?

To understand UML, we need to first reference the organization that is responsible for bringing this language together and agreeing on a standard for laying out a way to visualize complex systems and their requirements. The Object Management Group (OMG) is the group of professionals that does this.

Use your UML knowledge to make beautiful UML diagrams in Lucidchart's intuitive editor. Customizable templates make it easy!

Try it now
Sign up free

Purpose of UML

The OMG defines the purpose of the UML as follows:

The objective of UML is to provide system architects, software engineers, and software developers with tools for analysis, design, and implementation of software-based systems as well as for modeling business and similar processes.

One of the primary goals of UML is to advance the state of the industry by enabling object visual modeling tool interoperability. However, to enable meaningful exchange of model information between tools, agreement on semantics and notation is required. UML meets the following requirements:

  • A formal definition of a common MOF-based metamodel that specifies the abstract syntax of the UML. The abstract syntax defines the set of UML modeling concepts, their attributes and their relationships, as well as the rules for combining these concepts to construct partial or complete UML models.
  • A detailed explanation of the semantics of each UML modeling concept. The semantics define, in a technology-in-dependent manner, how the UML concepts are to be realized by computers.
  • A specification of the human-readable notation elements for representing the individual UML modeling concepts as well as rules for combining them into a variety of different diagram types corresponding to different aspects of modeled systems.
  • A detailed definition of ways in which UML tools can be made compliant with this specification. This is supported (in a separate specification) with an XML-based specification of corresponding model interchange formats (XMI) that must be realized by compliant tools.

History of UML

Pre-UML

Before UML there were a couple of competing approaches to organize and structure the software development process. The two most popular modeling approaches both came from Rational Software Corporation: Object-modeling technique (OMT) and the Booch Method. OMT was better at describing the computer software able to satisfy customer requirements and forming a conceptual model. OMT does a better job of understanding the problem.The Booch Method did a better job of actually designing how the code would look when the rubber hit the road and coming up with a workable solution.

UML 1

In terms of pre-UML influences, OMT shines through more as to which diagraming notation was adopted. UML was a grand compromise of the previous two standards and other pieces from popular notation practices like Tony Wasserman and Peter Pircher. With all the big names behind UML, it became the international standard for organizing, planning, and designing software systems. UML 1 has its origin in UML Partners, founded in 1996 as a response to OMG's RFP and submitted a proposal in 1997.

UML 2

Adopted in 2005 UML 2 represents the first major revision to UML and addressed problems (e.g. semantic integration) with UML 1.

OMG: It Doesn't Mean What You Think it Means

Long before Myspace and cell phones, OMG stood for Object Management Group. The OMG is an international body that sets the standard for the computer industry. Different "OMG Task Forces" work to create corporate-level integration standards for many different technologies.

Other Helpful Resources:

Start your Lucidchart trial here. No download or plugins required.