Chapter 10: System Sequence Diagrams
• A system sequence diagram (SSD) is a fast and easily created
artifact that illustrates input and output events related to the
systems under discussion. They are input to operation contracts
and, most importantly, object design.
• We can relate SSDs to the other models we have seen so far :
see Figure 10.1
Figure 10.1 SSDs
within the UP
• An SSD shows, for a particular course of events within a use
case, the external actors that interact directly with the system,
the system (as a black box), and the system events that the actors
generate. Time proceeds downward, and the ordering of events
should follow their order in the scenario.
• See Figure 10.2 for the SSD of main success scenario for POS
• As analised in the use cases, actors generate system events
requesting some system operations to handle the events.
• We can draw an SSD for a main success scenario of each use
case, and frequent or complex alternative scenarios.
• SSDs help to validate, clarify and refine use cases.
Figure 10.2 POS success scenario 5
• Interaction frames are used to show loops (and other constructs)
in sequence diagrams; common interaction frames operators
– alt : Alternative multiple fragments; only the one whose condition is true
– opt : Optional; the fragment executes only if the supplied condition is
– loop : The fragment may execute multiple times, and the guard indicates
the basis of iteration.
See figure 10.3 for an example of these
Figure 10.3 : Illustrating Various Interaction Frames
10.3 Relationship Between SSDs and Use Cases
• Don't create SSDs for all scenarios, rather draw them only for
the scenarios chosen for the next iteration. And, they shouldn't
take long to sketch, perhaps a few minutes or a half hour.
• SSDs are also very useful when you want to understand the
interface and collaborations of existing systems, or to document
the overall architecture of the application.
• SSDs represent visually the essential aspects of a use case.
• For each event that the system receives from an actor, the
system is expected to implement an operation, of the same
name, to perform something of value to the actors.