SE 430 -- Object-oriented Modeling Responsibilities, Contracts, Interaction Diagrams Application of Robustness Diagram for Perform Order Entry Use Case The system displays an Order Entry window. The Assistant Trader (AT) first selects the investment involved in the order from a list of available investments. The AT then enters the ticket number that appears on the paper ticket for the order and also specifies whether the trade is a buy or a sell. The system verifies that the ticket number is not a duplicate, if the number is unique, the system creates a new order. When the AT chooses to proceed, the system brings up the appropriate trade entry window, which the AT uses to enter the primary data for the trade. Alternate courses: If the ticket number already exists in the Trade List, the system prompts the AT to enter a new ticket number. If the investment associated with the order does not appear in the Investment List, the system invokes the Define Investment use case. Robustness Diagram for Perform Order Entry Use Case 1 SE 430 -- Object-oriented Modeling Responsibilities, Contracts, Interaction Diagrams Application of Robustness Diagram for Enter Buy Trade Use Case The system creates a new trade with the ticket number attached to the order. It also brings up a Bond Trade Entry window. The AT uses this window to enter the appropriate values for the trade. When the AT chooses to submit the trade, the system validates both general trade values and bond-specific values (for instance, it makes sure the coupon rate is "reasonable") before processing the trade. If the grade passes all validation tests, the system submits it to the Trade Queue, from which the trade is later sent to the Back Office system to be cleared and processed further. Alternate Course If the validation fails, notify the user, highlight the erroneous values, and get new values from the user. Robustness Diagram for Entry Buy Trade Use Case 2 SE 430 -- Object-oriented Modeling Responsibilities, Contracts, Interaction Diagrams Larman’s Conceptual model for the Point of Sale System Precondition: What relevant objects and associations must exist prior to a Sale? Postcondition: When a Sale is successful, what objects are created or deleted? what links are made or broken? what attributes are modified? 3 SE 430 -- Object-oriented Modeling Responsibilities, Contracts, Interaction Diagrams Name: Responsibilities: enterItem (upc:number,quantity:integer) 1. 2. Pre-conditions Record sale of an item and add it to the sale. Display the item description and price. UPC is known to the system Post Conditions: Exceptions: If UPC is not valid, indicate an error Obj. Created / Deleted Link Formed / Broken Attribute Modified Details: Instance Creation If a new sale, a Sale was created Link formed If a new sale, the new Sale was associated with the POST Instance Creation A SalesLineItem was created Link formed A SalesLineItem was associated with the Sale Attribute modified SalesLineItem.quantity was set to quantity Link formed SalesLineItem associated with a ProductSpecification based on UPC match. 4 SE 430 -- Object-oriented Modeling Responsibilities, Contracts, Interaction Diagrams Name: endSale( ) Responsibilities: Record that it is the end of entry of sale items and display sale total Obj. Created / Deleted Link Formed / Broken Attribute Modified Attribute Modified Name: Details: Sale.isComplete was set to true makePayment(amount:Number) Responsibilities: Record the payment, calculate balance and print receipt Obj. Created / Deleted Link Formed / Broken Attribute Modified Details: Instance Creation Payment was created Attribute Modified Payment.amountTendered was set to amount Link formed Payment linked with Sale Link formed Sale linked with Store, to add it to historical log of completed sales 5 SE 430 -- Object-oriented Modeling Responsibilities, Contracts, Interaction Diagrams Use Case: Start Up Actors: Manager Type: Primary Description: A Manager powers on a POST in order to prepare it for use by Cashiers. The Manager validates that the date and time are correct, after which the system is ready for Cashier use. Name: startUp ( ) Responsibilities: Initialize the system Obj. Created / Deleted Link Formed / Broken Attribute Modified Details: Instance Creation Store, POST, Product Catalog and Product Specifications Link formed Product Catalog with Product Specifications Link formed Store with Product Catalog Link formed Store was linked with POST Link formed Post with Product Catalog 6 SE 430 -- Object-oriented Modeling Responsibilities, Contracts, Interaction Diagrams Self-delegation / recursion -- shown by an object sending a message to itself and a rectangle overlapping its current activity 7