A sequence diagram is a visual representation of a sequence of interactions between objects. A sequence diagram generally does not show all of the possible interactions in your system; instead, it illustrates the interactions associated with the implementation of a particular use case or scenario. A sequence diagram can help you validate your design by confirming that it accommodates your use cases. It can also be a useful for documenting a system in which messages must be sent in a particular order to work correctly.
The objects depicted in a sequence diagram are instances rather than classes. Each object figure in a sequence diagram must be attached to an Instance model element.
Note: | Instance elements can reside in a different model from their class designs. When you create a new instance element from a diagrammer, the new instance is located in the same model as the diagram, which might not be the same model as the class design being instantiated. |
Each instance on a sequence diagram is represented by an instance figure at the top of the diagram with a dotted lifeline extending downward. Message sends are indicated as horizontal lines between object lifelines. Each message send can have conditions and has a corresponding return value.
An object is considered active from the time it receives a message to the time it returns control to the sender. This is indicated on the diagram by an activation, a vertical bar along the active object's lifeline between the message send and return lines. Only an active object can send messages.
When you first open the Sequence Diagrammer, the drawing surface is empty except for the system activation along the left edge. The system activation represents the actor or object that initiates the sequence of messages shown in the sequence diagram.
The following tools are available in the Sequence Diagrammer:
![]() | Selection : Allows selection and manipulation of existing figures. |
![]() | Pan/zoom: Controls the size and position of the viewing area. |
![]() | Object : Creates a figure representing an object instance. |
![]() | Method call: Creates a figure representing a message send from one object to another. |
![]() | Annotation: Creates a figure representing a note, comment, or constraint. |
![]() | Constraint annotation: Creates a link between a constraint annotation and a design element. |
![]() | Sticky : Allows creation of multiple figures without reselecting on the tool bar. |