COP 4331 Class Exercise: Online Auction System Analysis
Problem Description
Design a simple online auction system (think Ebay) where:
- users list their items for auction, giving:
- starting price
- time limit (deadline)
- item title
- full description (may include html, images)
- application maintains a list of item auction listings open for bidding (active items)
- users can browse the list of active items
- system maintains bid history for each item
- users can select an item from the active itemlist and retrieve a full description, including bid history
- users can place a bid on any item on the active list. A valid bid must have a higher price than the most recent bid.
- an auction ends when the deadline is reached:
- buyer with the highest bid wins auction
- buyer is notified and pays for the item
- seller is notified
- item is removed from active item list and moved to a listing archive
Use Cases
A. List an Item
- The seller requests the auction application to list an item.
The listing request includes seller, item attributes, the starting price, and time limit.
- The application validates the auction listing.
- The new item auction listing is inserted in the active list.
B. Browse Items
- The user requests the list of items on the active list.
- The system returns the list of elements corresponding to the listings on the active list.
Each listing includes the item, seller, title, auction end time, current highest bid.
C. Expand an Item
- The user carries out Browse Items.
- The user selects an auction listing.
- The user requests the full description and bid history for the listing.
- The system returns the item description and the bid history.
D. Bid For an Item
- The buyer carries out Expand an Item.
- The buyer submits a bid for an item that includes buyer ID and bid price.
- The application validates the bid.
- The application updates the item bid history.
E. Complete an Auction
When the bidding end time for an item is reached:
- The application completes the bidding process for the item.
- The application removes the auction listing from the active item list.
- The application archives the listing, including bid history.
- The application determines the highest bid.
- The application signals the auction result (seller, item and price) to the highest bidder (buyer).
- The application signals the auction result (buyer, item and price) to the seller.
- The seller performs the sell transaction with the buyer.
Variation #1. Cancel Failed Auction
- Start at step E.3.
- The application determines there is no valid bid for the item.
- The application signals the seller that the auction failed (item and start price).
Last modified: Wed Sep 21 18:48:46 EDT 2005