180 likes | 345 Views
Summary 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. Fig 10.1 Summary from previous lectures. System Sequence Diagrams.
E N D
Summary from previous lectures ♦ Use Case -What are the domain processes ? • UseCase Diagram ♦ Conceptual Model -What are the domain concepts, terms ? • Class Diagram (conceptual) • classes, associations, attributes
System Sequence Diagrams Chapter 10 Applying UML and Patterns -Craig Larman
Introduction • 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 Today´s lecture
System 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 operationsof 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
Identifying 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
Relationship 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.
Naming 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?
Fig 10.4 : Naming System events & operations Capture the intent of the operation while remaining abstract
SSDs 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
Why 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.
Assignement for Friday • Read Chapter 11