Presentation is loading. Please wait.

Presentation is loading. Please wait.

Object Collaboration. Sales ClerkSystem 1. Fill in retailer’s number2. Show retailer’s details. ** Set up a new order. 3. Inputs design number4. Retrieve.

Similar presentations


Presentation on theme: "Object Collaboration. Sales ClerkSystem 1. Fill in retailer’s number2. Show retailer’s details. ** Set up a new order. 3. Inputs design number4. Retrieve."— Presentation transcript:

1 Object Collaboration

2 Sales ClerkSystem 1. Fill in retailer’s number2. Show retailer’s details. ** Set up a new order. 3. Inputs design number4. Retrieve and display garment price, size range and description 5. Input design no, quantity and size6. Write order line with order no, design no, quantity and size. Write ‘quantity’ new instances of garment with status ‘not started’. Display accumulated price. Display new set of orderliness. 7. Indicate finished8. Enable ‘confirm order’ button. 9. Order confirmed10. Order saved. Happy path ** New retailer is now an alternate path!

3 Elaborate Steps 1 & 2 1.Control class RegisterNewOrder displays OrderUI. –Sales clerk responds Uses OrderUI to enter the retailer’s number 2.System responds: –RecordOrder requests retailer info from Retailer. –If successful, requests constructor on order, giving retailer number and waiting for order number in response.

4 3.Signals to OrderUI to display order number and value. 4.Sales clerk responds Clicks AddLine on OrderUI 5.RecordOrder displays DesignUI 6.Sales Clerk responds –Enters Design number RecordOrder requests design info from Design. –If successful, Sends info to DesignUI DesignUI –displays info –Waits for size and quantity –enables buttons. –Awaits confirmation…

5 Continue building… Invent your classes as you go.

6 Messages… NoMessageFrom classTo class 1Enter CustomerIdSales clerkOrderUI 2GetRetailerOrderUIRegisterNewOrder 3Get CustomerRegisterNewOrderRetailer 4DisplayCustomerRegisterNewOrderOrderUI 5AddOrderRetailerRetailer Order 6AddGarmentSales ClerkOrderUI 7DisplayOrderUIDesignUI

7 …Messages… NoMessageFrom classTo class 8Enter DesignSales ClerkDesignUI 9PickDesignDesignUIRegisterNewOrder 10Get DesignRegisterNewOrderDesign 11Show DesignRegisterNewOrderDesignUI 12EnterSize and Quantity Sales ClerkDesignUI 13EnableOrderDesignUI 14ConfirmLineSales ClerkDesignUI

8 …Messages NoMessageFrom classTo class 15OrderDesignSizeDesignUIRegisterNewOrder 16AddaLineRegisterNewOrderRetailerOrderLine 17DisplayLine+TotalsRegisterNewOrderOrderUI 18ConfirmOrderSales ClerkOrderUI 19ConfirmOrderOrderUIRegisterNewOrder 20ConfirmOrderRegisterNewOrderRetailer Order

9 Collaboration Diagram Is another illustration of the interaction between objects during a Use Case. Classes are shown as icons on the diagram. Classes that collaborate are linked. The links are populated with messages, showing the operation that the sender invokes on the recipient.

10 Making a Collaboration diagram Identify the objects involved –Sales Clerk, OrderUI, RegisterNewOrder, Retailer, Retailer Order, Retailer Order Line, DesignUI, Design. Arrange them in layers. Link all objects that communicate with each other. Add the messages.

11 The objects added to the diagram

12 The objects as icons, in layers

13 The objects communicating

14 Collaboration Diagram

15 Adding the garment class

16 Messages… NoMessageFrom classTo class 1Enter CustomerIdSales clerkOrderUI 2GetRetailerOrderUIRegisterNewOrder 3Get CustomerRegisterNewOrderRetailer 4DisplayCustomerRegisterNewOrderOrderUI 5AddOrderRetailerRetailer Order 6AddGarmentSales ClerkOrderUI 7DisplayOrderUIDesignUI

17 …Messages… NoMessageFrom classTo class 8Enter DesignSales ClerkDesignUI 9PickDesignDesignUIRegisterNewOrder 10Get DesignRegisterNewOrderDesign 11Show DesignRegisterNewOrderDesignUI 12EnterSize and Quantity Sales ClerkDesignUI 13EnableOrderDesignUI 14ConfirmLineSales ClerkDesignUI

18 …Messages NoMessageFrom classTo class 15OrderDesignSizeDesignUIRegisterNewOrder 16AddaLine*RegisterNewOrderRetailerOrderLine 17DisplayLine+TotalsRegisterNewOrderOrderUI 18ConfirmOrderSales ClerkOrderUI 19ConfirmOrderOrderUIRegisterNewOrder 20ConfirmOrderRegisterNewOrderRetailer Order * This version omits the creation of garment instances – see later

19 …Messages NoMessageFrom classTo class 15OrderDesignSizeDesignUIRegisterNewOrder 16AddaLine*RegisterNewOrderRetailerOrderLine 16aAddAGarmentRetailerOrderLineGarment 17DisplayLine+TotalsRegisterNewOrderOrderUI 18ConfirmOrderSales ClerkOrderUI 19ConfirmOrderOrderUIRegisterNewOrder 20ConfirmOrderRegisterNewOrderRetailer Order

20 Refining the OCD 2. Separate out reusable functionality into another control class. There are a group of messages that only use the DesignUI boundary class and the Design entity. –Introduce a new control class called OrderDesign. –The main control class invokes OrderDesign. –OrderDesign acts as ‘go-between’ between the DesignUI and the Design entity. –When all functionality relating to picking a quantity of a particular design has been completed, OrderDesign hands control back to RegisterNewOrder.

21 Contained functionality Msge no MessageFrom classTo class 11Show DesignOrderDesignDesignUI 12EnterSize and Quantity Sales ClerkDesignUI 13EnableOrderDesignUI 14ConfirmLineSales ClerkDesignUI 15OrderDesignSizeDesignUIOrderDesign

22 Make all the messages in a happy path step be increments of the step. –To do this, you need to Check the model properties to ensure that hierarchical numbering is enabled on diagrams. Create the Sequence diagram from the OCD. Move the messages so that they originate in the lifeline that has been created by the previous message in the group.

23 Messages… NoMessageFrom classTo class 1Enter CustomerIdSales clerkOrderUI 1.1GetRetailerOrderUIRegisterNewOrder 1.1.1Get CustomerRegisterNewOrderRetailer 1.1.2DisplayCustomerRegisterNewOrderOrderUI 1.1.1.1AddOrderRetailerRetailer Order 2AddGarmentSales ClerkOrderUI 2.1PickDesignOrderUIRegisterNewOrder 2.1.1AddOrderLineRegisterNewOrderOrderDesign 2.1.1.1DisplayOrderDesignDesignUI

24 …Messages… NoMessageFrom classTo class 3Enter DesignSales ClerkDesignUI 3.1GetDesignDesignUIOrderDesign 3.1.1Get DesignOrderDesignDesign 3.1.2DisplayOrderDesignDesignUI 4.EnterSize and Quantity Sales ClerkDesignUI 4.1EnableOrderDesignUI 4.2ShowsubtotalDesignUI

25 …Messages NoMessageFrom classTo class 5.ConfirmLineSales ClerkDesignUI 5.1AddOrderLineDesignUIOrderDesign 5.1.1OrderDesignSize RegisterNewOrder 5.1.1.1AddALineRegisterNewOrderRetailerOrderLine 5.1.1.1.1AmendOrderRetailerOrderLineRetailerOrder * This version omits the creation of garment instances – see later

26 …Messages… NoMessageFrom classTo class 5.1.1. 1.2 Create garmentRetailerOrderLineGarment 5.1.1. 2 DisplayLine and total RegisterNewOrderOrderUI 6.ConfirmOrderSales ClerkOrderUI 6.1ConfirmOrderOrderUIRegisterNewOrder 6.1.1ConfirmOrderRegisterNewOrderRetailer Order

27


Download ppt "Object Collaboration. Sales ClerkSystem 1. Fill in retailer’s number2. Show retailer’s details. ** Set up a new order. 3. Inputs design number4. Retrieve."

Similar presentations


Ads by Google