Title: ? Use Case -What are the domain processes ?
1Summary from previous lectures
- ? Use Case -What are the domain processes ?
- Use Case Diagram
- ? Conceptual Model -What are the domain concepts,
terms ? - Class Diagram (conceptual)
- classes, associations, attributes
2Fig 10.1 Summary from previous lectures
3 System Sequence Diagrams
- Chapter 10
- Applying UML and Patterns
- -Craig Larman
4Introduction
Todays lecture
- Class diagrams represent static relationships.
- What about modeling dynamic behavior?
- Interaction diagrams(Sequence and communication
diagrams) model how groups of object collaborate
to perform some behavior - Typically captures the behavior of a single use
case -
5System Sequence Diagram (SSD)
- For a use case scenario, an SSD shows
- The System (as a black box)
- The external actors that interact with System
- The System events that the actors generate
- SSD shows operations of the System in response to
events , in temporal order - Develop SSDs for the main success scenario of a
selected use case, then frequent and salient
alternative scenarios
System
6Identifying the right Actor
- In the Process Sale example, does the customer
interact directly with the POS system? - Who does?
- Cashier interacts with the system directly
- Cashier is the generator of the system events
7Fig 10.2 SSD for a Process Sale scenario
8Relationship between SSD and Use case
- System Sequence Diagrams
- ? Draw a line representing the system as a black
- box.
- ? Identify each actor that directly operates on
the - system. Draw a line for each such actor.
- ? From expanded use case identify system
- events that each actor generates.Illustrate
them. - ? Optionally include use case text on left.
9Fig 10.3 Relationship between SSD and Use case
10Naming System events operations
- System events and associated system operations
should be expressed at the level of intent. - Rather than physical input medium or UI widget
- Start operation names with verb (from use case)
- Which is better, scanBarCode or enterItem?
11Fig 10.4 Naming System events operations
Capture the intent of the operation while
remaining abstract
12Fig 10.5 SSD for play Monopoly Game scenario
13SSDs and the Glossary in parallel
- Why is updating the glossary important when
developing the SSD? - New terms used in SSDs may need explanation,
especially if they are not derived from use cases
- A glossary is less formal, easier to maintain and
more intuitive to discuss with external parties
such as customers
14Why Draw SSD?
- Important to know the system events.
- Sequence diagrams help the designer to determine
how the system will react to each event. - Need to design the software to handle these
events and execute a response.
15Example 1
16Questions ?