Sequence diagrams Chapter 5 Sommerville Sequence diagrams • Sequence diagrams are part of the UML and are used to model the interactions between the actors and the objects within a system. • A sequence diagram shows the sequence of interactions that take place during a particular use case or use case instance. • The objects and actors involved are listed along the top of the diagram, with a dotted line drawn vertically from these. • Interactions between objects are indicated by annotated arrows. Chapter 5 System modeling 2 Sequence diagram for View patient information Chapter 5 System modeling 3 Sequence diagram for Transfer Data Chapter 5 System modeling 4 Sequence Diagrams • Detail how operations are carried out • Dynamic Diagrams • Organized according to time – The time progresses as you go down the page – The objects involved in the operation are listed from left to right according to when they take part in the message sequence. • Create a sequence diagram for each scenario Sequence Diagrams : Customer 1. CreateOrder 2. request : Order : item 3. addToOrder(:item) 4. Checkout 4.1. CreatePayment 4.1.1. GetPaymentInfo 4.1.1.1. PaymentInfo 4.1.1.1.1. Success 4.2. Save or decline 4.3. Order Result : payment Sequence Diagrams • Sequence diagrams show how instance exchange messages. • An instance can be: – An object, not a class – An actor • Object-Types in sequence Diagram – 1- interface object – 2-entity object – 3-control object • Sequence diagrams contain the same Sequence Diagrams • Messages can be Simple like – One object sends a message to a passive object – The sender does not care what happens to the message – Useful when the recipient can not be controlled • Messages can be Return messages – Results of procedure calls د .محمود القوتلي تحليل النظم Sequence Diagrams • Messages can be Constructors, the message creates the recipient • Messages can be Destructors, the message destroys the recipient. : Customer : Customer 1. Create 1. Create : Order 2. Destroy : Order Sequence Diagrams • Messages have sequence numbers – The numbers represent the order of interaction : Customer 1. Create 2. Destroy : Order Sequence Diagrams • Messages have sequence numbers – Sequence number can be hierarchical : Customer : store 1. Create : Item 1.1. CheckStock 1.1.1. Yes Sequence Diagrams • Messages have a specific format [Condition] Sequence Number. Return value := MessageName(Arguments) [Condition] Sequence Number. *[iteration] Return value := MessageName(Arguments) Effective Sequence Diagrams • Use only instances and actors • Concentrate on actions, not on instance static details • Imaging as much real time scenarios as you can, and model them • Keep in mind that a programmer will read your design, so make it as clear as possible. • Sequence diagrams contain the same information as Collaboration diagrams, but emphasize the sequence of the messages instead of the relationships between the objects. Behavioral models • Behavioral models are models of the dynamic behavior of a system as it is executing. They show what happens or what is supposed to happen when a system responds to a stimulus from its environment. • You can think of these stimuli as being of two types: – Data Some data arrives that has to be processed by the system. – Events Some event happens that triggers system processing. Events may have associated data, although this is not always the case. Chapter 5 System modeling 15 Data-driven modeling • Many business systems are data-processing systems that are primarily driven by data. They are controlled by the data input to the system, with relatively little external event processing. • Data-driven models show the sequence of actions involved in processing input data and generating an associated output. • They are particularly useful during the analysis of requirements as they can be used to show endto-end processing in a system. Chapter 5 System modeling 16 An activity model of the insulin pump’s operation Chapter 5 System modeling 17