Chapter 2: The Unified Modelling Language
In this chapter we introduce the UML as a means of precisely expressing requirements, analysis models and designs, in a platform-independent manner.
2.1 Introduction
The UML [51] is the result of a successful unification of the many object-oriented analysis and design notations which arose during the 1980s and 1990s. In 1994 work began on unifying the widely-used OMT [42] and Booch [6] methods into what became UML, with OOSE [22] also integrated in 1995. From version 1.1 UML was endorsed by the Object Management Group (OMG), representing many companies and organisations, as a standard for object-oriented analysis and design, and it has now become the primary notation in this field. A major revision of UML, to version 2.0, was published in 2004. UML consists of a large number of different modelling notations:
-
Use case diagrams;
-
Class diagrams;
-
Object diagrams;
-
Statecharts;
-
Collaboration diagrams;
-
Sequence diagrams;
-
Activity diagrams;
-
Deployment diagrams.
In addition, there is the Object Constraint Language (OCL) which enables precise assertions to be made about elements of particular UML models.
All these notations form different views of a software system, which are intended to be complementary and consistent with each other. Some notations are much more complex than others, for example the use case notation is used at the requirements definition stage of development and so does not express much detail in terms of the internal functioning of the system. In contrast, class diagrams and statecharts may be used at any development stage and are very expressive languages which can...