Safari Books Online is a digital library providing on-demand subscription access to thousands of learning resources.
The Unified Modeling Language (UML) is a widely used, object-oriented design method, which provides a variety of diagrams for expressing different views or features of a software system [BRJ98] [Fow97].
UML object diagrams describe a software system in terms of a set of objects and their relationships or interactions. Normally, objects can be referred to within a UML object diagram in three ways:
The relations between objects in a UML object diagram are association (also known as use), aggregation and composition. Note that UML object diagrams are very similar to UML class diagrams, although object diagrams do not have the inheritance relation. [Fow97].
UML object diagrams are therefore made up from objects and their relationships, as the following example shows:
UML sequence diagrams describe the interactions among a group of software component with emphasis on the chronological ordering of messages.
In the version of UML sequence diagrams used in this book, simple message relations between objects (basic software components) are considered.
Objects or software components are presented as a square containing the object name and the class of which the object is an instance, much like objects or software components in a UML object diagram. Below each object, a vertical line represents the execution of the object through time. Boxes represent object activity, such as a method, function or procedure. Objects can send messages and receive return values or replies, denoted by arrows, which are labeled if the message allows a data exchange or function call.
UML sequence diagrams therefore are made up of objects and their message relationships through time, as shown in the following example:
UML collaboration diagrams describe software systems in terms of the interactions that occur among a set of objects, where the emphasis is on the objects, their associations and the messages they exchange via these associations. A UML collaboration diagram can be considered as a UML object diagram annotated with messages between objects, as the following example shows.
Sketch block diagrams are not part of UML. They are used here to describe how idioms work. They are mainly composed of blocks, to represent components, and arrows, to represent action flow, as the following example shows.