You are on page 1of 4

COMP5028 Object Oriented Analysis and Design

Semester 2, 2004

Assignment Two -- Online Shopping System -Due on: Wednesday October 20, 2004

School of Information Technologies The University of Sydney

Objective
In this assignment you will do an initial design and implementation of an online-shopping system for Nemean Electronics based on initial use case analysis done by a system analyst.

Basic functional requirements


The system should allow customers to display catalogue based on brand name or price. It will create a shopping cart for each customer and can manage multiple shopping carts identified by cartID at the same time. Customers can select items from the catalogue and add it to a shopping cart. They can also delete items from the cart. Each time a customer adds or delete an item in the shopping cart, the system will display the updated cart content to the customer with the current total price. After customers finish shopping, they can check out the content of the shopping cart. An order will be created and presented to the customer. Customer might simply discard a shopping cart by never checking it out. The Company needs to run a daily statistic report to show all completed orders and discarded carts.

Use cases that client wants to be realized in the initial design


1. 2. 3. 4. 5. 6. 7. 8. 9. Create a new shopping cart Add an item in shopping cart Delete an item in shopping cart Check out shopping cart content Add a customer Update inventory level Check inventory level of an item Display catalog to the customer Run daily statistic report

Elaborated use cases (actors are not shown as they are irrelevant in this initial design)
Use case 1 Name: Create a new shopping cart Basic flow of events: 1. System creates an empty shopping cart by assigning a cartID to it. 2. System places it in a shopping cart bay. Alternative flow of events 1a. cartID in use: prompt an error message 1

COMP5028 Object Oriented Analysis and Design

Semester 2, 2004

Use case 2 Name: Add an item in shopping cart Basic flow of events: 1. Customer add an item with cartID, itemID and quantity 2. System check if the inventory is enough 3. System update the inventory level 4. Updated shopping cart contents and total price are displayed Alternative flow of events 1a. itemID invalid: display error message, abort transaction 2a. Inventory is not enough: display error message, abort transaction Use case 3 Name: Delete an item in shopping cart Basic flow of events: 1. Customer remove an item with cartID, itemID and quantity 2. System update the inventory level 3. Updated shopping cart contents and total price are displayed. Alternative flow of events 1a. itemID invalid: display error message, abort transaction Use case 4 Name: Check out shopping cart content Basic flow of events: 1. Customer check out with customer ID and cartID 2. System update inventory level 3. Order is presented to customer with customers name, address, credit card number, ordered items and total price. Alternative flow of events 1a. customerID or cartID invalid: display error message, abort transaction Use case 5 Name: Add a customer Basic flow of events: 1. Customers name, address and credit card no. are recorded, a customer ID is assigned as well Alternative flow of events 1a. Customer data invalid: display error message, abort transaction

COMP5028 Object Oriented Analysis and Design

Semester 2, 2004

Use case 6 Name: Update inventory level Basic flow of events: 1. When customer adds an item with itemID and quantity (q) in the shopping cart, q pieces of that item are put as in cart. 2. When customer deletes an item with item ID and quantity (q) in the shopping cart, q pieces of the item are put back as available 3. When customer check out an item with quantity (q), the availability inventory will be decreased by q 4. Salesperson can also update inventory by replenishing items with quantity (q). In that case, the availability inventory will be increased by q Alternative flow of events *a itemID invalid: display error message, abort transaction 1a. inventory is not enough: display error message, abort transaction Use case 7 Name: Check inventory level of an item Basic flow of events: 1. Customer query inventory with itemID 2. System display inventory information including item name, price, quantity in cart and quantity available. Alternative flow of events 1a. itemID invalid: display error message, abort transaction Use case 8 Name: Display catalog to customer Basic flow of events: 1. Customer choose to display options: based on brand name, or price 2. All items in inventory are displayed according to customers selected option. Displayed information include ItemID, itemName, brandName and price Alternative flow of events None Use case 9 Name: Run statistic report daily Basic flow of events: 1. Salesperson starts the transaction 2. System displays all orders completed today 3. System checks the shopping cart bay and display all discarded shopping cart. Alternative flow of events None

COMP5028 Object Oriented Analysis and Design

Semester 2, 2004

Your Tasks
A. Do an initial analysis and produce an initial object model (A class diagram with short descriptions of each classes or interfaces). The object model should contain major entity objects in the shopping system. You do not need to produce detailed attribute and operations in the object model. B. Realize all nine use cases described above. You should follow the test-driven development approach. You need to produce a static and dynamic design model for each use case. You are also required to write test methods for all nine use cases and to implement them as well. C. Document the object model and use case static and dynamic design models in a design document. Point out any design patterns or design principles you employed while doing your design ( There is no specific format for this documentation). D. Compile all source codes to build an executable system. You dont have to supply a main program; the test application will serve the purpose.

Deliverable
1. Lab demonstration (5 marks) Run the test application to demonstrate that all nine use cases are successfully implemented in week 12 lab. 2. Design documentation and source code (15 marks) Submit the printed design documentation on week 12 to your tutor during the regular lab time. Wrap up all your source file ( not .class file ) in a .jar file and submit this to the electronic submission page (see the link on the course web)

You might also like