COP 4331 Class Exercise: Online Auction System Analysis
Problem Description
Design a simple online auction system (think Ebay) where:
- users can list their items for auction, giving:
- starting price
- time limit
- item title
- full description (may include html, images)
- system 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 system to list an item.
The listing request includes seller, item attributes, the starting price, and time limit.
- The system validates the auction listing.
- The system adds the item auction listing to the active list.
B. Browse Items
- The user asks the system to return a list of items on the active list.
- The system returns the list of elements corresponding to the items on the active list.
Each element 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 item.
- The user asks the system to provide a full description and bid history for the item.
- The system returns the item description and the bid history.
D. Bid For an Item
- The buyer carries out Expand an Item.
- The buyer sends the system a bid for an item that includes buyer ID and bid price.
- The system validates the bid.
- The system updates the item's bid history.
E. Complete an Auction
When the bidding end time for an item is reached:
- The system completes the bidding process for the item.
- The system removes the auction listing from the active item list.
- The system archives the listing, including bid history.
- The system determines the highest bid.
- The system notifies the auction result (seller, item and price) to the highest bidder (buyer).
- The system notifies 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 system determines there is no valid bid for the item.
- The system signals the seller that the auction failed (item and start price).
Last modified: Wed Sep 14 15:59:51 EDT 2005