04/11/2010 ABC Supermarket Workshop - SA-De… ABC Supermarket Case Studies – Use Case Modeling & Analysis Workshop Problem Statement ABC requires a new point of sale and stock control system for their many stores throughout the UK to replace their ageing mini based systems. A sales assistant will be able to process an order by entering product numbers and required quantities into the system. The system will display a description, price and available stock. In-stock products will normally be collected immediately by the customer from the store but may be selected for delivery to the customer's home address for which there will be a charge. If stock is not available the sales assistant will be able to create a backorder for the product from a regional warehouse. The products will then either be delivered direct from the regional warehouse to the customer's home address or to the store for collection by the customer. The system will allow products to be paid for by cash or credit card. Credit card transactions will be validated via an online card transaction system. The system will produce a receipt. Order details for in-stock products will be printed in the warehouse including the bin reference, quantity, product number and description. These will be collected by the sales assistant and given to the customer. The sales assistant will be able to make refunds, provided a valid receipt is produced. The sales assistant will also be able to check stock and pricing without creating an order and progress orders that have been created for delivery. The store manager will be able at any time to print a summary report of sales in the store for a given period, including assignment of sales to sales assistants in order to calculate weekly sales bonuses. The stock manager will be able to monitor stock levels and weekly run-rates in order to set minimum stock levels and requisition products which fall below the minimum stock levels or for which demand is anticipated. When the stock arrives it will be booked in by the warehouse person. Stock that has been backordered for collection from the store is held in a separate area and the store manager advised of its arrival. The catalogue of available products will be maintained remotely by marketing from head office. Marketing will also be able to access sales information from each store system. Use Case Analysis In the problem statement below you will find a description of activity at the store. You should assume that the new computer system will cover all the data-driven activity described at the store. Read through the problem statement and print it out if you like. Tool Selection You can use a case tool – Visual Paradigm for UML for the case study or alternatively you can draw the diagrams on a piece of paper. Tasks I: Identify Actors & Their Roles Identify Use Cases Develop Use Case Diagram Using the ABC Supermarket Problem Statement, create a use case diagram of the requirements for the supermarket system. You do not have absolutely all the information you need to do this so you will have to guess. In the real world you would ask the users or business representatives. When you have something you think is close, have a look at the solution. Don't expect it to be identical. Come back and update your solution later when you have more use case detail. Deliverable: …sa-depot.com/…/ABC_Supermarket_… 1/6 04/11/2010 ABC Supermarket Workshop - SA-De… Use Case Diagram Hints: As you develop the model remember the following: Don't expect to get it all right in the first cut. The process is iterative. Actors are ALWAYS outside the system being modeled. Don't use it as a data flow diagram, it isn't. Think carefully about the text in the problem statement. Not every verb/noun combination is the name of a use case. Many are only steps in a use case and don't appear on the use case diagram at all. Task II: Use the Use Case Document template to develop the use case description of the basic flow of the use case “Process Order”. Deliverable: Use Case Description – Basic Flow of Events (Normal Scenario) for the “Process Order” Use Case. Tips & Guidelines: Write short simple numbered sentences. Try to stick to interactions across the system boundary. As you think of possible alternate flows, add them an alternate flow names, but do not elaborate them. Finish the basic flow first. Use the Problem Statement as your information source remembering that it is not complete and that you will have to be creative in places. Try to visualize the Process Order Screen that the sales assistant will be using. If this is difficult then draw a visual prototype using drawing tools or just pencil and paper. The solution has 23 numbered sentences of which 21 are actual interactions across the system boundary. Don't expect to get all of them but if you have less than 12 then you are probably writing at too high a level. Remember that there are two interactions needed with the card transaction system, one to validate the card and the second to execute the transaction. If you are having troubles getting started then try using the Step-by-Step outline below. Task III: In line 4 of the Basic Flow the system displays the available stock. At this point the sales assistant may choose to place a backorder for all or part of the requirement. The system has access to the stock available in the regional warehouses that supply the stores. The sales assistant could order from any regional warehouse that has stock. Write an alternate flow that allows the sales assistant to view the stock in the regional warehouses and choose one, preferably the nearest and create the requisition on the regional warehouse. Allow the backorder to be delivered direct to the customer or to the local store for collection. Deliverable: The extension use case “Make Backorder” for “Process Order” use case Tips & Guidelines Remember to include the 4 essential elements of an alternate flow: Where it inserts itself; Under what conditions it runs; What is done written as you would for any other flow; Whether it returns, and to where, or terminates. Solution: Step-by-Step Helps: …sa-depot.com/…/ABC_Supermarket_… 2/6 04/11/2010 Step ABC Supermarket Workshop - SA-De… Instruction 1 Find Product 2 Specify required quantity 3 Specify fulfillment 4 Iterate 5 Record customer details 6 Take payment 7 Confirm order 8 Print invoice and picking note Task I: ABC Supermarket - Use Case Diagram Using Visual Paradigm for UM L to Identify Actors Using Visual Paradigm for UM L to Identify Use Cases …sa-depot.com/…/ABC_Supermarket_… 3/6 04/11/2010 ABC Supermarket Workshop - SA-De… Using Visual Paradigm for UM L to draw Use Case Diagram of ABC Supermarket System Task II Use Case Description Basic Flow of Events Pre - Conditions: The user is logged on Basic Flow of Events 1. The sales assistant tells the system to process an order 2. The system displays the order screen to the sales assistant 3. The sales assistant enters the product number into the system 4. The system displays the description, unit price and available stock to the sales assistant 5. The sales assistant enters the required quantity into the system 6. The system displays the total price for the order line to the sales assistant 7. The system displays the total order price to the sales assistant 8. The sales assistant selects delivery or collection to the system 9. The system displays the selection to the sales assistant 10. Steps 3) to 9) may be repeated for further order lines 11. The sales assistant enters the customer's name and address into the system. 12. The system displays the customer's name and address to the sales assistant. 13. The sales assistant enters the credit card details into the system 14. The system verify the credit card details and total order value 15. The system prints a credit card slip to the sales assistant 16. The sales assistant confirms that the customer has signed the slip to the …sa-depot.com/…/ABC_Supermarket_… 4/6 04/11/2010 ABC Supermarket Workshop - SA-De… system 17. The system confirms the transaction 18. The system records the order together with the payment details 19. The system decrements the stock 20. The system prints an invoice to the sales assistant 21. The system prints the picking note to the warehouse person including the bin reference, product number, quantity and description Alternate Flows Accept Cash Handle Credit Card Failure Make Backorder Handle Invalid Product Number Cancel Using Visual Paradigm for UM L to write Use Case Description Task III: Alternate Flow of Events - Make Backorder 1. If, at line 5) of the Basic Flow, the sales assistant chooses to backorder the selected product, then: 2. The system displays the backorder screen to the sales assistant 3. The system displays the available warehouses to the sales assistant 4. The sales assistant selects a warehouse on the system 5. The system displays the available stock for the product at that warehouse to the sales assistant 6. The sales assistant enters the required quantity for the backorder into the system 7. The system displays the required quantity to the sales assistant 8. The sales assistant selects delivery or collection on the system …sa-depot.com/…/ABC_Supermarket_… 5/6 04/11/2010 ABC Supermarket Workshop - SA-De… 9. The system displays the backorder information as an order line on the order screen to the sales assistant 10. The use case restarts at line 10) in the basic flow Step 1 Step 3 Step 2 Step 4 Creating Extend Use Case in Visual Paradigm for UM L Using Visual Paradigm for UM L to write the Alternate Flow of Events …sa-depot.com/…/ABC_Supermarket_… 6/6