drawing system sequence diagrams chapter 10 applying uml and patterns craig larman
TRANSCRIPT
![Page 1: Drawing System Sequence Diagrams Chapter 10 Applying UML and Patterns Craig Larman](https://reader035.vdocuments.net/reader035/viewer/2022070401/56649f1e5503460f94c3670c/html5/thumbnails/1.jpg)
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](https://reader035.vdocuments.net/reader035/viewer/2022070401/56649f1e5503460f94c3670c/html5/thumbnails/2.jpg)
UP Artifacts
![Page 3: Drawing System Sequence Diagrams Chapter 10 Applying UML and Patterns Craig Larman](https://reader035.vdocuments.net/reader035/viewer/2022070401/56649f1e5503460f94c3670c/html5/thumbnails/3.jpg)
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](https://reader035.vdocuments.net/reader035/viewer/2022070401/56649f1e5503460f94c3670c/html5/thumbnails/4.jpg)
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](https://reader035.vdocuments.net/reader035/viewer/2022070401/56649f1e5503460f94c3670c/html5/thumbnails/5.jpg)
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](https://reader035.vdocuments.net/reader035/viewer/2022070401/56649f1e5503460f94c3670c/html5/thumbnails/6.jpg)
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](https://reader035.vdocuments.net/reader035/viewer/2022070401/56649f1e5503460f94c3670c/html5/thumbnails/7.jpg)
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](https://reader035.vdocuments.net/reader035/viewer/2022070401/56649f1e5503460f94c3670c/html5/thumbnails/8.jpg)
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](https://reader035.vdocuments.net/reader035/viewer/2022070401/56649f1e5503460f94c3670c/html5/thumbnails/9.jpg)
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](https://reader035.vdocuments.net/reader035/viewer/2022070401/56649f1e5503460f94c3670c/html5/thumbnails/10.jpg)
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](https://reader035.vdocuments.net/reader035/viewer/2022070401/56649f1e5503460f94c3670c/html5/thumbnails/11.jpg)
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](https://reader035.vdocuments.net/reader035/viewer/2022070401/56649f1e5503460f94c3670c/html5/thumbnails/12.jpg)
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](https://reader035.vdocuments.net/reader035/viewer/2022070401/56649f1e5503460f94c3670c/html5/thumbnails/13.jpg)
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](https://reader035.vdocuments.net/reader035/viewer/2022070401/56649f1e5503460f94c3670c/html5/thumbnails/14.jpg)
14
SSD for Process Sale scenario
![Page 15: Drawing System Sequence Diagrams Chapter 10 Applying UML and Patterns Craig Larman](https://reader035.vdocuments.net/reader035/viewer/2022070401/56649f1e5503460f94c3670c/html5/thumbnails/15.jpg)
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](https://reader035.vdocuments.net/reader035/viewer/2022070401/56649f1e5503460f94c3670c/html5/thumbnails/16.jpg)
16
SSDs are derived from use cases.
![Page 17: Drawing System Sequence Diagrams Chapter 10 Applying UML and Patterns Craig Larman](https://reader035.vdocuments.net/reader035/viewer/2022070401/56649f1e5503460f94c3670c/html5/thumbnails/17.jpg)
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](https://reader035.vdocuments.net/reader035/viewer/2022070401/56649f1e5503460f94c3670c/html5/thumbnails/18.jpg)
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](https://reader035.vdocuments.net/reader035/viewer/2022070401/56649f1e5503460f94c3670c/html5/thumbnails/19.jpg)
19
Defining system boundary.
![Page 20: Drawing System Sequence Diagrams Chapter 10 Applying UML and Patterns Craig Larman](https://reader035.vdocuments.net/reader035/viewer/2022070401/56649f1e5503460f94c3670c/html5/thumbnails/20.jpg)
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](https://reader035.vdocuments.net/reader035/viewer/2022070401/56649f1e5503460f94c3670c/html5/thumbnails/21.jpg)
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](https://reader035.vdocuments.net/reader035/viewer/2022070401/56649f1e5503460f94c3670c/html5/thumbnails/22.jpg)
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.