HOME

TheInfoList



OR:

In
software engineering Software engineering is a branch of both computer science and engineering focused on designing, developing, testing, and maintaining Application software, software applications. It involves applying engineering design process, engineering principl ...
, a sequence diagram shows process interactions arranged in time sequence. This diagram depicts the processes and objects involved and the sequence of messages exchanged as needed to carry out the functionality. Sequence diagrams are typically associated with use case realizations in the 4+1 architectural view model of the system under development. Sequence diagrams are sometimes called event diagrams or event scenarios. For a particular scenario of a
use case In both software and systems engineering, a use case is a structured description of a system’s behavior as it responds to requests from external actors, aiming to achieve a specific goal. It is used to define and validate functional requireme ...
, the diagrams show the events that external actors generate, their order, and possible inter-system events. The diagram emphasizes events that cross the system boundary from actors to systems. A system sequence diagram should be done for the main success scenario of the
use case In both software and systems engineering, a use case is a structured description of a system’s behavior as it responds to requests from external actors, aiming to achieve a specific goal. It is used to define and validate functional requireme ...
, and frequent or complex alternative scenarios. There are two kinds of sequence diagrams: * Sequence Diagram (SD): A regular version of sequence diagram describes how the system operates, and every object within a system is described specifically. * System Sequence Diagram (SSD): All
systems A system is a group of interacting or interrelated elements that act according to a set of rules to form a unified whole. A system, surrounded and influenced by its environment, is described by its boundaries, structure and purpose and is exp ...
are treated as a
black box In science, computing, and engineering, a black box is a system which can be viewed in terms of its inputs and outputs (or transfer characteristics), without any knowledge of its internal workings. Its implementation is "opaque" (black). The te ...
, where all classes owned by the system are not depicted. Instead, only an object named System is depicted.


Key elements of sequence diagrams

A sequence diagram shows, as parallel vertical lines (''lifelines''), different processes or objects that live simultaneously, and, as horizontal arrows, the messages exchanged between them in the order in which they occur. This allows for the graphical specification of simple runtime scenarios. A system sequence diagram should specify and show the following: * External actors * Messages (methods) invoked by these actors * Return values (if any) associated with previous messages * Indication of any loops or iteration area


Reading a system sequence diagram

Professionals, in developing a project, often use system sequence diagrams to illustrate how certain tasks are done between users and the system. These tasks may include repetitive, simple, or complex tasks. The purpose is to illustrate the
use case In both software and systems engineering, a use case is a structured description of a system’s behavior as it responds to requests from external actors, aiming to achieve a specific goal. It is used to define and validate functional requireme ...
in a visual format. Familiarity with
unified modeling language The Unified Modeling Language (UML) is a general-purpose visual modeling language that is intended to provide a standard way to visualize the design of a system. UML provides a standard notation for many types of diagrams which can be roughly ...
(UML) is needed to construct a system sequence diagram. These models show the logic behind the actors (people who affect the system) and the system in performing the task. Reading a sequence diagram begins at the top with the actor(s) or the system(s) (which is located at the top of the page). Under each actor or system there are long dotted lines, called "lifelines", which are attached to them. Actions are performed with lines that extend between these lifelines. The connection between an action line and a lifeline shows the interaction between the actor or system. Messages will often appear at the top or bottom of a system sequence diagram to illustrate the action in detail. For example, a request by an actor to log in would be represented by login (username, password). After each action is performed, the response or next action is located under the previous one. By reading down the lines, one can see in detail how certain actions are performed in the provided model, and in what order.


Diagram building blocks

If the lifeline is that of an object, it demonstrates a role. Leaving the instance name blank can represent anonymous and unnamed instances. → Messages, written with horizontal arrows with the message name written above them, display interaction. Solid arrow heads represent synchronous calls, open arrow heads represen
asynchronous messages
and dashed lines represent reply messages. If a caller sends a synchronous message, it must wait until the message is done, such as invoking a subroutine. If a caller sends an asynchronous message, it can continue processing and need not wait for a response. Asynchronous calls are present in multithreaded applications, event-driven applications, and in
message-oriented middleware Message-oriented middleware (MOM) is software or hardware infrastructure supporting sending and receiving messages between distributed systems. Message-oriented middleware is in contrast to streaming-oriented middleware where data is communicate ...
. Activation boxes, or
method Method (, methodos, from μετά/meta "in pursuit or quest of" + ὁδός/hodos "a method, system; a way or manner" of doing, saying, etc.), literally means a pursuit of knowledge, investigation, mode of prosecuting such inquiry, or system. In re ...
-call boxes, are opaque rectangles drawn on top of lifelines to represent that processes are being performed in response to the message (ExecutionSpecifications in UML). Objects calling methods on themselves use messages and add new activation boxes on top of any others to indicate a further level of processing. If an object is destroyed (removed from
memory Memory is the faculty of the mind by which data or information is encoded, stored, and retrieved when needed. It is the retention of information over time for the purpose of influencing future action. If past events could not be remembe ...
), an X is drawn below the lifeline, and the dashed line ceases to be drawn below it. It should be the result of a message, either from the object itself, or another. A message sent from outside the diagram can be represented by a message originating from a filled-in circle (''found message'' in UML) or from a border of the sequence diagram (''gate'' in UML). UML has introduced significant improvements to the capabilities of sequence diagrams. Most of these improvements are based on the idea of ''interaction fragments'' which represent smaller pieces of an enclosing interaction. Multiple interaction fragments are combined to create a variety of ''combined fragments'',OMG (2007)
OMG Unified Modeling Language (OMG UML), Superstructure, V2.1.2
p. 467.
which are then used to model interactions that include parallelism, conditional branches, and optional interactions.


See also

* Message sequence chart


References


External links

*
Introduction to UML 2 Sequence Diagrams
by Scott W. Ambler.
A Quick Introduction to UML Sequence Diagrams
by Yanic Inghelbrecht

{{DEFAULTSORT:Sequence Diagram Unified Modeling Language diagrams Systems engineering