A brief review of UML.
UML is a modelling system. Every model is a simplification of the real thing and is intended to highlight the focus of that model and to recede what is not important for that particular model. Reality cannot be modelled fully. We will always have to select the perspective, or ‘view’, that we want to focus on.
UML is designed around a set of views. Its notations allow you to create diagrams that model a particular view.
Static View. The static view models the structure of the application domain. You use the Class diagram to represent the static view.
Use Case View. Shows the functions of the system in its interaction with entities outside of it. These entities are the ‘actors’. The functionality is grouped together into use cases, where a use case is a specific transaction (or usage) of the system. The Use Case diagram is used to present the Use Case View.
Interaction View. UML being object-oriented oriented (sic), entities communicate with each other through messages. The Interaction View shows the message-passing interaction between the entities (strictly speaking, ‘between the roles’). UML has two diagrams that capture these interactions, the Sequence diagram, and the Collaboration diagram. The Sequence diagram shows the messages and their sent between the different roles as each role requests and responds to the messaged. The collaboration diagram focuses on the links between objects during an interaction. So while the Sequence Diagram highlights the messages and their sequences during a specific transaction, the Collaboration Diagram highlights which objects are involved in the same transaction. There is clearly some overlap between the two diagrams, and in practice, the Collaboration Diagram tends to be given up in favour of the Sequence Diagram.
State Machine View. Unlike the previous views, the State Machine view focuses on only one object or class. This view models all the possible states of an object, what states it can transition to from each of those states, and what would cause it to transition to each of those states. The statechart diagram is used to draw this view.
Activity View. This view maps the activities performed by whatever entity we want to model. We do not have to pick an entity, in fact, and just proceed to model activities related to a particular outcome. This view is similar to a project network diagram in that it simply maps dependencies and sequences of activities to produce a result. You use the activity diagram to create this view.
Physical View. The physical views leave the world of concepts to model the physical realities. There are two physical views in UML. The implementation view shows the various software components and the links between them. This is captured using a Component Diagram. The other view is the deployment view, which shows the software components in the physical computers and servers they will be deployed in.