Unified Modeling Language (UML) is a standard notation for modeling real-world objects as a first step in designing an object-oriented system. Its notation is derived from and unifies the notations of three object-oriented design and analysis methodologies:
In 1994, Booch, Rumbaugh and Jacobson joined forces under the sponsorship of Rational Software, where they launched the original UML project. Soon, they were joined by others, and together, they integrated the three core methodologies, while also incorporating ideas from other sources.
In 1997, Object Management Group (OMG) adopted the UML standard and published version 1.1 in December of that year. OMG is also home to other notable standards, including Business Process Management Plus, Common Object Request Broker Architecture, MetaObject Facility and Information Exchange Framework.
In 2005, UML was accepted by the International Organization for Standardization as an official ISO standard, and it is now widely embraced by the technology community. The most recent release of the UML standard is version 2.5.1, which OMG published in December 2017.
The UML standard provides a methodology for creating diagrams that communicate the various aspects of a system's design. Project teams can use UML to share and discuss concepts, collaborate on the modeling process and design the final software.
The UML standard defines 14 types of diagrams, categorized as either structural or behavioral. The behavioral diagrams include a subset of diagrams referred to as the interaction diagrams. Figure 1 shows how the UML specification categorizes these diagrams into their respective groups.
Structural diagrams represent the static structure of a system's entities. The diagrams are not concerned with time or dynamic behavior, but rather with the underlying entity structure and the relationships between those entities. The UML standard defines the following seven types of structural diagrams:
Behavioral diagrams are more concerned with the system's dynamic behavior. They take into account how entities change over time and interact with each other when carrying out an action. The UML standard defines three core behavioral diagrams:
The UML standard also defines a group of interaction diagrams that are a subset of the behavioral diagrams. The interaction subset includes the following four diagrams:
The UML standard does not specify how these diagrams should be created. It is concerned only with providing a universal syntax and structure for modeling system and business processes. As a result, there is no one acceptable approach to creating the diagrams, and a variety of approaches are being used. Team members might sketch them out on paper, draw them on whiteboards, create them in a draw program such as Microsoft Visio or use an online diagramming tool such as Gliffy.
Check out this intro to the five SOLID principles of object-oriented design, and read this overview of top software architecture visualization tools.
22 Aug 2023