Slide 1What will we learn?What are System Sequence Diagrams?Creating SSDsSlide 5SSDs – Why?Creating SSDs … Key IdeasSlide 8Slide 9Slide 10Takeaways from Chapter 10Next …Object-Oriented Analysis and DesignCHAPTER 10: SYSTEM SEQUENCE DIAGRAMS1What will we learn?System Sequence Diagrams – What are they, how to create them2What are System Sequence Diagrams? Part of the UP Use-Case Model artifact, although usually created during Elaboration They are UML Interaction Diagrams They capture the system events, input and output, and interaction with other systems They are eventually used to define operations contracts, which are part of the actual object design As such, they may influence other artifacts, namely the Glossary and Design Model artifacts3Creating SSDs Identify a particular course of events to demonstrateThis is usually found in a use case – each SSD demonstrates a particular use case main success scenario The SSD will show the external actors that interact with the system, the system itself (as a black box), and the system events that the actors generate Note this is a simple UML Interaction Diagram – at this level (Use-Case Model), we do not have much information on the design of the system we are creatingWe are simply trying to identify the system events; we will later define object operations from here Next slide shows an SSD for the cash-only Process Sale scenario in the NextGen POS project. Note the use of the UML interaction diagram notation we discussed last time45enterItem(itemID, quantity):System: CashierendSalemakePayment(amount)a UML loop interaction frame, with a boolean guard expressionexternal actor to systemProcess Sale Scenariosystem as black boxthe name could be "NextGenPOS" but "System" keeps it simplethe ":" and underline imply an instance, and are explained in a later chapter on sequence diagram notation in the UMLa message with parametersit is an abstraction representing the system event of entering the payment data by some mechanismdescription, totalreturn value(s) associated with the previous messagean abstraction that ignores presentation and medium the return line is optional if nothing is returnedtotal with taxeschange due, receiptmakeNewSale[ more items ]loopSSDs – Why?The SSDs are useful for capturing overall system behaviorWhat events the system is expected to handle, what response (if any) is given to the user (primary actor)Note that this is still very much an analysis tool - it is explaining what they system is expected to do, not how it is to be doneThis is why the system is modeled as a black boxLater, in the Design Model, we will explore how the system will handle the events it is presented withThis will include more detailed inter-action diagrams (like we saw last lecture) showing how the software classes interact to handle the system eventsAlso useful for capturing interactions with other (external) systems, i.e. “supporting actors”6Creating SSDs … Key Ideas Create an SSD for one scenario of a use case Try to name the system events at the abstract level of intention, rather than in terms of a system deviceSo “enterItem” is better than “scan”, as the latter implies some type of scanner Usually best to start the event names with a verb if possible – implies action SSDs sometimes will include interactions with external systems – we will see more later Often, terms and expressions included in the SSD are added to the Glossary while the SSDs are being built These are iterative, just like the Use-Case Model artifact that they belong toAdd more scenarios as new SSDS as the project progressesMay add details to an existing SSD, or use an existing SSD as a part of a new SSD78: Cashier:SystemSimple cash-only Process Sale scenario:1. Customer arrives at a POS checkout with goods and/or services to purchase.2. Cashier starts a new sale.3. Cashier enters item identifier.4. System records sale line item and presents item description, price, and running total. Cashier repeats steps 3-4 until indicates done.5. System presents total with taxes calculated.6. Cashier tells Customer the total, and asks for payment.7. Customer pays and System handles payment....enterItem(itemID, quantity)endSalemakePayment(amount)description, totaltotal with taxeschange due, receiptmakeNewSale[ more items ]loopProcess Sale Scenario910Takeaways from Chapter 10Understand how to create a system sequence diagram from a use case, and know how to read SSDs to understand a system. 11Next …Operation Contracts and more on SSDs – Chapter 11,
View Full Document