Class And Sequence Diagram

The Sequence diagram of UML

A sequence diagram shows object interactions arranged in time sequence. It depicts the objects involved in the scenario and the sequence of messages exchanged between the objects needed to carry out the functionality of the scenario. Sequence diagrams are typically associated with use case realizations in the logical view of the system under development. Sequence diagrams are sometimes called event diagrams or event scenarios.

Class Diagram provides a static view of the application, and its mapping ability with object-oriented language makes it ready to be used in construction. Unlike the sequence diagram, activity diagram, etc., the class diagram is the most popular UML diagram. Below is the purpose of a Class diagram. Object Aid provides two plug-ins for Eclipse: a class diagramming tool and a sequence diagramming tool. Both can reverse engineer from your code. The class diagramming tool is free, the sequence diagramming tool is an inexpensive $19 at the time of this writing. This is the best bang for your UML buck I’ve found.

Describing designs with UML diagrams 7. Class diagram (today). Shows classes and relationships among them. A static view of the system, displaying what interacts but not what happens when they do interact. Sequence diagram (next lecture). A dynamic view of the system, describing how objects collaborate: what messages are sent. A sequence diagram is a type of interaction diagram because it describes how—and in what order—a group of objects works together. These diagrams are used by software developers and business professionals to understand requirements for a new system or to document an existing process.

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 the specification of simple runtime scenarios in a graphical manner.

Diagram building blocks[edit]

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 represent asynchronous messages, and dashed lines represent reply messages.[1]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 doesn’t have to wait for a response. Asynchronous calls are present in multithreaded applications, event-driven applications and in message-oriented middleware. Activation boxes, or method-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), an X is drawn on bottom of 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[2] which represent smaller pieces of an enclosing interaction. Multiple interaction fragments are combined to create a variety of combined fragments,[3] which are then used to model interactions that include parallelism, conditional branches, optional interactions.


  1. ^OMG (2011). OMG Unified Modeling Language (OMG UML), Superstructure, V2.4.1, p. 507.
  2. ^OMG (2008). OMG Unified Modeling Language (OMG UML), Superstructure, V2.1.2, p. 485.
  3. ^OMG (2007). OMG Unified Modeling Language (OMG UML), Superstructure, V2.1.2. p. 467.

External links[edit]

Wikimedia Commons has media related to Sequence diagrams.
  • UML Distilled by Martin Fowler
  • Current UML Specification by Object Management Group (OMG)
  • Introduction to UML 2 Sequence Diagrams by Scott W. Ambler.
  • A Quick Introduction to UML Sequence Diagrams by Yanic Inghelbrecht
Retrieved from 'https://en.wikipedia.org/w/index.php?title=Sequence_diagram&oldid=1019345802'

Class And Sequence Diagrams In Uml

A class diagram shows a set of classes, interfaces and their relationships and illustrates the static design view of a system, while a sequence diagram shows the sequence of actions that occurs in a system and illustrates the dynamic view of a system. With Visual Paradigm Desktop, you can easily share the models between class diagram and sequence diagram. The changes that made in the sequence diagram can be automatically added to the class diagram as well and vice versa.

Uml Class And Sequence Diagrams Examples

  1. Create a class diagram by one of these 3 methods listed below:
    Select System Design> UML > Class Diagram from the welcome page.
    Select Diagram > New > Class Diagram from the toolbar.
    Right click on the Class Diagram on the Diagram Navigator and select New Class Diagram from the pop-up menu.

  2. Draw two classes by selecting the Class icon on the diagram toolbar and clicking it on the diagram. Rename the classes as OrderController and Order respectively.

  3. Create operations in Order class by right-clicking the class and select Add > Operation.

  4. Operations starting with the + sign are public operations. It can be called by all classes. Whilst the ones starting with the – sign are private operations. It can be called by its belonging class only.

  5. Create an association link between the two classes by selecting the Association icon on the diagram toolbar and dragging it from OrderController class to the Order class.

  6. Create a sequence diagram by one of these 3 methods listed below:
    Select System Design> UML > Sequence Diagram from the welcome page.
    Select Diagram > New > Sequence Diagram from the toolbar.
    Right click on the Sequence Diagram on the Diagram Navigator and select New Sequence Diagram from the pop-up menu.

  7. Drag the OrderController class and Order class from the Diagram Navigator under the Class Diagram tree and drop them on the sequence diagram. Choose Lifeline from the pop-up menu. Then Ordercontroller lifeline and Order lifeline will be created subsequently.

  8. Add an actor to the sequence diagram by choosing the Actor icon on the diagram toolbar and then click on the diagram. Rename the actor as Clerk.

  9. Create a message from actor to the lifeline by choosing on the Message icon on the diagram toolbar and dragging it from Clerk actor to Order lifeline. Repeat the same action for creating a message between OrderController and Order.

  10. Operations of the receiver of the message are listed for choosing. Note that only public operations can be shown since the accessibility of private operations are limited to only its belonging class.

  11. Create a messages setOrderNumber between OrderController and Order.

  12. To set Call type for a message, move the mouse over the target message, click the Message Type resource icon and select Call > Call from the pop-up menu.

  13. To select an operation for the Call type message, right click on the message and select Select Operation > Create Operation “setOrderNumber”from the pop-up menu.

  14. The new operation, setOrderNumber() is automatically created and the change is reflected on the class diagram too.

  15. In case parameter is needed to be passed into the operation when it is called, make changes to its signature.

  16. The signature in the class diagram will also be changed as a result.