1. What is UML

Unified Modelling Language (UML) is a language for specifying, constructing, visualizing, and documenting the artifacts of a software system. It consists of modeling elements, i.e. abstractions drawn from the system being modeled.

UML consists of 7 diagrams which we shall describe in the rest of this book, namely: use case diagrams, class and object diagrams, collaboration diagrams, sequence diagrams, state transition diagrams, activity diagrams and component and deployment diagrams. The diagrams are the actual graphs that show model element symbols arranged to illustrate a particular part or aspect of the system.

UML consists of the following four views of the system under development (see Fig. 3) [Eriksson & Penker, 1998; Kruchten, 2000]:

Figure 3 The 4+1 View Model of Architecture

Each system consists of the static and the dynamic model. The static model is depicted in the class and object diagrams. However, it reveals little concerning system behaviour. System behavior is captured graphically using scenarios (i.e. use case diagrams), collaboration diagrams, sequence diagrams, state transition and activity diagrams. These consist the dynamic model of the system. System behaviour is the total behaviour of all objects belonging to the system.

If we want to map the above five views to the iterative life cycle phases of fig. 3, we could say the following:

However, it should be mentioned that this mapping is not as strict as it appears above.