What is UML?
UML stands for Unified Modeling Language. It's a widely-used modeling language in the field of software engineering. Experts use UML to analyze, design, and implement software-based systems, along with other business processes.
To make your own UML diagram today, just click the buttons below. It's quick, easy, and completely free—plus, collaboration is included.Try it now Sign up free
What is UML (The Unified Modeling Language)?
The name says it all—Unified Modeling Language is a modeling language that combines various approaches in a single design language, which is used to plan and create computer applications.
UML is actually a combination of several notations: Object-Oriented Design, Object Modeling Technique, and Object-Oriented Software Engineering. The Unified Modeling Language uses the strengths of these approaches to present a more consistent methodology that's easier to use. UML represents best practices for building and documenting the facets of software and business system modeling.
How to Use UML
UML is most often used for determining system requirements and planning details of system implementation. It is also used to:
- Visually represent the semantics of a given system with specialized shapes and connectors
- Inform documentation like functional specifications and test plans
- Build and guide the creation of complex systems
It's important to remember that neither UML nor these use cases constitute an official process. Instead, UML supports a variety of processes, since it functions as a modeling toolkit with its own notation and syntax. According to the Object Management Group—the nonprofit consortium that determines UML's standards—the language can model:
- Structure diagrams, which emphasize the structural elements that must be present in the system being modeled. They are frequently used to document the architecture of software systems. Class diagrams, object diagrams, component diagrams, composite structure diagrams, package diagrams, and deployment diagrams all fall under the umbrella of structure diagrams.
- Behavior diagrams, which emphasize the necessary behavior in the system being modeled. They are often used to describe software systems' functionality. Use case diagrams, activity diagrams, and state machine diagrams are all subsets of behavior diagrams.
- Interaction diagrams, which are technically a specialized type of behavior diagram, emphasize the flow of control and data throughout the modeled system. Sequence diagrams, communication diagrams, timing diagrams, and interaction overview diagrams are kinds of interaction diagrams.
History of UML
In the late 1980's and early 1990's, a debate began to stir over object-oriented programming languages. Software engineers and other experts needed a simplified and consistent way to model systems, but new languages were cropping up at a rapid pace. UML itself was developed in late 1994, when the 2 creators of popular methodologies teamed up. Grady Booch and Jim Rumbaugh of Rational Software Corporation worked to unify the Booch and OMT (Object Modeling Technique) methods, and in 1995, Ivar Jacobson joined their endeavor. Their combined method was known as OOSE Method 1—Object-Oriented Software Engineering.
These men, sometimes known as The Three Amigos, came together for several reasons. As their original methods had evolved to include elements of other methodologies, members of the programming community had become confused. By unifying semantics and notation, these users could focus on their own work and worry less about the specifics of a given method. The collaboration between Grady, Booch, and Rumbaugh was also intended to strengthen all three methods and improve the final product.
The efforts of these thinkers resulted in the release of the UML 0.9 and 0.91 documents in 1996. It soon became clear that several organizations, including Microsoft, Oracle, and IBM, saw UML as critical to their own business development. They, along with many other individuals and companies, established resources that could develop a full-fledged modeling language. In January 1997, this group submitted another iteration of UML to the Object Management Group for approval.
Since that time, the Object Management Group, a nonprofit technology standards consortium, has overseen the definition and maintenance of UML specifications. This oversight allows engineers and programmers the ability to use one language for many purposes, during all phases of the software lifecycle, and for all system sizes.
For easy-to-make UML diagrams, including use case diagrams, class diagrams, and activity diagrams, Lucidchart is an ideal choice. Use our drag-and-drop interface to create your diagram, then export it to a variety of file formats.