Aviva Directory » Computers & Internet » Programming » UML

Unified Modeling Language (UML) is the standard modeling language for software and systems development. It is a programming language. It is not a way of designing a system, but a way to model the system.

Grady Booch and James Rumbaugh developed the Booch Method and the Object Modeling Technique, respectively, while employed by Rational Software in 1994. The following year, Dr. Ivar Jacobson joined the team, offering his method, known as Object-Oriented Software Engineering. Of the three, Rumbaugh's OMT was the most prevalent contributor to what was to become UML.

The three men worked to create a unified modeling language, merging the three individual methods into one set of notation, allowing them to bring standardization to object modeling. The first version was UML 0.8.

Under the leadership of Booch, Rumbaugh, and Jacobson, the UML Partners were formed to complete the specifications for the Unified Modeling Language. The group included representatives from other interested companies, such as Hewlett-Packard, IBM, and Microsoft. The combined effort resulted in the release of UML 1.0. At that point, several other companies became involved in the design of UML notation. Besides Rational Software, HP, IBM, and Microsoft, these included Computer Associates, Concept 5 Technologies, Data Access Corporation, Enea Data, I-Logix, ICON Computing, IntelliCorp, Kabira Technologies, Klasse Objecten, MCI Systemhouse, OAO Technology Solutions, ObjecTime Limited, Oracle Corporation, PLATINUM Technology, SAP, SOFTEAM, Sterling Software, Telelogic, Taskon, and Unisys Corporation.

UML 1.1 was submitted to the Object Management Group in 1995, and was adopted as a standard in 1997.

UML is not a development method by itself, but was designed to be compatible with the leading object-oriented software development methods of its time, such as Rumbaugh's OMT, the Booch Method, Objectory, and RUP.

In order to use UML, a method has to be applied to it. The most common method is the Rational Unified Process (RUP), also known as the Unified Process, which offers ease of development, shorter development cycles, better user documentation, and fewer bugs. Companies that use UML strictly are likely to enforce RUP strictly.

A modeling language can be made up of pseudo-code, actual code, pictures, diagrams, long passages of description, or anything that helps to describe the system. Elements that make up a modeling language are known as its notation, while the description of what a notation means is known as the semantics of the language, and are captured in the language's meta-model. A modeling language can be anything that contains a notation and a description of what the notation means.

A diagram is a partial graphic representation of a system's model. It is not necessary for the set of diagrams to completely cover the model, and the deletion of a diagram does not change the model. The model may also contain documentation that drives the model's elements and diagrams. UML can be broken into two main pieces: structural diagrams and behavioral diagrams. Structure diagrams are static, emphasizing the static structure of the system through the use of objects, attributes, operations, and relationships, and includes class diagrams and composite structure diagrams. Behavioral diagrams are dynamic, emphasizing the dynamic behavior of the system through collaborations among objects and changes to the internal states of objects, including sequence diagrams, activity diagrams, and state machine diagrams.UML can be broken into two main pieces: structural diagrams and behavioral diagrams.

UML models can be exchanged among UML tool by using the XML Metadata Interchange (XMI) format.

The advantages of UML are that it is a formal language with a strongly defined meaning. It is concise, in that the entire language is made up of straightforward notation. It is comprehensive, describing all of the important aspects of a system, and it is also scalable, being formal enough to handle massive system modeling projects but can be scaled down for small projects. UML is built on the culmination of best practices in the object-oriented community over a period of years, and enjoys the stability of being a standard, controlled by the Object Management Group, an open standards group of vendors and academics.

UML is considered a large language, and not among the easiest to learn. Some professionals, including Jacobson, worry that its size hinders learning and, therefore, the use of the language.

Topics related to the Unified Modeling Language (UML) are the focus of resources listed in this category, which may also include any editors or tools designed for programming in UML, as well as UML user groups, forums, tutorials, or guides.



Recommended Resources

Search for UML on Google, Bing, or Yahoo!