drawing system sequence diagrams chapter 10 applying uml and patterns craig larman

22
Drawing System Sequence Diagrams Chapter 10 Applying UML and Patterns Craig Larman

Upload: homer-barnett

Post on 04-Jan-2016

216 views

Category:

Documents


1 download

TRANSCRIPT

Page 1: Drawing System Sequence Diagrams Chapter 10 Applying UML and Patterns Craig Larman

Drawing System Sequence Diagrams

Chapter 10

Applying UML and Patterns

Craig Larman

Page 2: Drawing System Sequence Diagrams Chapter 10 Applying UML and Patterns Craig Larman

UP Artifacts

Page 3: Drawing System Sequence Diagrams Chapter 10 Applying UML and Patterns Craig Larman

3

Sequence Diagrams

Shows objects and classes involved in a use case scenario

Shows the messages exchanged between objects in time order sequence

Used in design to assign object responsibilities

Can be used test user interface requirements

Page 4: Drawing System Sequence Diagrams Chapter 10 Applying UML and Patterns Craig Larman

4

System Sequence Diagrams (SSDs)

SSD is an artifact of analysis that illustrates input and output events related to the system.

SSD is associated with use-case realization in the logical view of system development.

Page 5: Drawing System Sequence Diagrams Chapter 10 Applying UML and Patterns Craig Larman

5

SSDs and System Behavior System behaves as “Black Box”. Interior objects are not shown, as they would

be on a Sequence Diagram.

:System

Page 6: Drawing System Sequence Diagrams Chapter 10 Applying UML and Patterns Craig Larman

6

Use Cases are Source for SSD  Use cases describe

How actors interact with system. Typical course of events that external actors

generate and The order of the events.

Page 7: Drawing System Sequence Diagrams Chapter 10 Applying UML and Patterns Craig Larman

7

SSD Components

For a particular scenario of use-case an SSD shows-

The external actors that interact directly with the system.

The System (as a black box). The system events that the actors generate.

Page 8: Drawing System Sequence Diagrams Chapter 10 Applying UML and Patterns Craig Larman

8

What SSDs Show

Match operations of the system in response to the events generated

Depict the temporal order of the events. Should be done for the main success

scenario of the use-case Also for frequent and alternative scenarios

Page 9: Drawing System Sequence Diagrams Chapter 10 Applying UML and Patterns Craig Larman

9

Objects on SSDs Objects are instances of classes. Represented as a rectangle which contains

the name of the object underlined Because the system is instantiated, it is

shown as an object.

:Object1

Page 10: Drawing System Sequence Diagrams Chapter 10 Applying UML and Patterns Craig Larman

10

Actors on SSDs Actor: An Actor is modeled using the

ubiquitous symbol, the stick figure.

actor1

Page 11: Drawing System Sequence Diagrams Chapter 10 Applying UML and Patterns Craig Larman

11

Lifelines on SSDs LifeLine identifies the existence of the object over

time. The notation for a Lifeline is a vertical dotted line extending from an object.

Page 12: Drawing System Sequence Diagrams Chapter 10 Applying UML and Patterns Craig Larman

12

Messages on SSDs Messages, modeled as horizontal arrows

between Activations, indicate the communications between objects.

messageName(argument)

Page 13: Drawing System Sequence Diagrams Chapter 10 Applying UML and Patterns Craig Larman

13

Example of an SSD Following example shows the success

scenario of the Process Sale use case. Events generated by cashier (actor)-

   makeNewSale

    enterItem

     endSale

     makePayment.

Page 14: Drawing System Sequence Diagrams Chapter 10 Applying UML and Patterns Craig Larman

14

SSD for Process Sale scenario

Page 15: Drawing System Sequence Diagrams Chapter 10 Applying UML and Patterns Craig Larman

15

Create SSDs for each Use Case

1. Draw a lifeline representing the system as a black box.

2. Identify each actor that directly operates on the system. Draw a lifeline for each actor

3. From the use case happy path text, identify system (external) events that actors generate (look at right side of the flow of events). Add them as messages to diagram.

4. Add the main outputs from the use case as messages back to actor – see use case table

5. Optionally, include the use case text to the left of the diagram.

Page 16: Drawing System Sequence Diagrams Chapter 10 Applying UML and Patterns Craig Larman

16

SSDs are derived from use cases.

Page 17: Drawing System Sequence Diagrams Chapter 10 Applying UML and Patterns Craig Larman

17

System Events and System Boundary To identify the system events, knowing the

system boundary is critical. For the purpose of software development, the

system boundary is chosen to be the software system itself.

Page 18: Drawing System Sequence Diagrams Chapter 10 Applying UML and Patterns Craig Larman

18

Determining SSD System Boundary Identifying the System events-

1. Determine the actors that directly interact with the system.

2. In the process Sale example, the customer does not directly interact with the POS system. Cashier interacts with the system directly. Therefore cashier is the generator of the system events.

Page 19: Drawing System Sequence Diagrams Chapter 10 Applying UML and Patterns Craig Larman

19

Defining system boundary.

Page 20: Drawing System Sequence Diagrams Chapter 10 Applying UML and Patterns Craig Larman

20

Naming System Events and Operations System event External input event generated by an actor. Initiates a responding operation by system. In order to improve the clarity, it is appropriate to

start the name of the system event with a verb

System operation Operation invoked in response to system event.

Page 21: Drawing System Sequence Diagrams Chapter 10 Applying UML and Patterns Craig Larman

21

Choosing SSD event / operation names

“enterItem” is better than “scan” as it captures the intent of operation rather than what interface is used to capture the system event (design choice).

Page 22: Drawing System Sequence Diagrams Chapter 10 Applying UML and Patterns Craig Larman

22

SSDs in AnalysisSSDs are a visualization of the interactions

implied in the use cases.

It is useful to create SSDs during analysis to: Identify the system events and major

operations Write system operation contracts (Contracts

describe detailed system behavior) Provide a way for us to visually step through

invocation of the operations in Use-Cases.