Requirements - stephanesome/auction-system-tutorials GitHub Wiki

Overview

The objective of the project is to develop an Online Auction application. An online auction is a subcategory of e-commerce systems; systems that enable buyers and suppliers of products and services to conduct business-to-business transactions in a virtual marketplace. It allows sellers to offer items for sale and buyers to bid to purchase the items offered. The highest bidder at the end of an auction period is chosen as the auction winner and performs an exchange with the seller.

Stakeholders

The key Stakeholders for the system are as follow.

  • Auction Site Owner - individual or organization who owns the auction site. Defines the rules of using the site including fees, rules of conduct, types of traded items, ... Receives statistics of site usage including performance.
  • Auction Site Provider - individual or organization who provides the Online Auction application. Understands the requirements of the system and satisfy the needs of the Auction Site Owner in a timely and cost-effective manner.
  • Seller - individual or an organization who puts an item up for auction. Provides a proof of credit, describes the auction item the starting price and bid increment. Monitors bids and reject unwanted bids. Delivers the auction item to the buyer and pays the transaction fee to the auction site owner.
  • Buyer - individual or an organization who places a bid on an auction item. Places a bid on an auction item. May remove (cancel) one of his or her own bids (before the auction closes). Pays for the auction item if his bid is accepted.
  • Visitor - person who visits the auction site just to browse the catalog. May register to become a Buyer or a Seller. Browses the auction catalog without any commitment to placing a bid (the "just looking" attitude).
  • Administrator - individual who administers the auction site. Maintains the classification of auctions as well as Seller and Buyer registrations. Monitors auction site and collect statistics.

Glossary Terms

  • Auction: offering of an item for sale and the corresponding transaction between buyers sellers. Sellers and buyers are often anonymous and there is often a single supplier for a product and potentially many customers.
  • Auction Information: captures information about an auction, which includes the start time and duration of the auction, product information (title, description, image), starting price (minimum initial bid price), minimum bid increment, and auction category (the category in which the auction is listed)
  • Bid: expresses readiness of a buyer to purchase an item. A bid includes an amount that the buyer offers for the item. There are usually multiple bids for the same item, and later bids are higher than earlier bids. When the auction closes, at a predefined time, the highest bid wins and becomes the purchase price.
  • Credit Card Information: Information about a credit card, which includes the credit card number, billing Information address, and the card's expiration date.
  • Exchange: activity at the end of an auction. Occurs when the seller accepts a bid, delivers the item to the buyer, and receives the payment.
  • Pending Payment Notice: Information about a payment that the user still owes to the system.
  • User Information: Information about a user, which includes the user's name, password, and e-mail address.

Use Cases

Use Case Model

AuctionUseCaseModel_Main

Use Case Summary

Use Case Priority Summary
Sign In 6 The Sign In use case allows a User to identify themselves to the system. If the User already has an account in the system, the User supplies a username and password for authentication purposes. All sign in attempts, whether successful or not, are logged. If the User has pending payment notices, once the sign in has completed, the system informs the User that payment for the notices must be made before the User can participate in any auction (as either the Buyer or the Seller).
Sign Out 9 The Sign Out use case allows a User to indicate that they no longer wants to use the system. The User's account remains unchanged (that is, it is not removed). Sign out events are not logged. The User must be signed in to sign out (see the Sign In use case).
Browse Auction Catalog 4 The Browse Auction Catalog use case allows a User to browse items currently available for auction. The User may look at all of the items currently available for auction or search based on category. The User has the option to place a bid on an item available for auction (see the Place Bid use case). The User does not have to be signed in to browse the auction catalog.
Place Bid 2 The Place Bid use case allows a Buyer to place a bid on an item when browsing the auction catalog (see the Browse Auction Catalog use case). To place a bid on an item, the Buyer must be signed in (see the Sign In use case) and must not have any pending payments (see the Close Auction use case).
Create Auction 1 The Create Auction use case allows a Seller to create an online auction by specifying auction information (including the start and end times) and, if it was not provided when the Seller created their user account, credit card information (see the Create Account use case). Once the auction has been created, Buyers can then place bids on the item (see the Place Bid use case). To create an auction, the Seller must be signed in (see the Sign In use case) and must not have any pending payments (see the Close Auction use case).
Close Auction 3 The Close Auction use case describes what occurs when an auction is closed. This use case is executed when an auction's end time is reached. When an auction is closed, the current highest bid becomes the purchase price for the item. The Buyer and Seller are notified by email that the auction has closed, what the final purchase price is, and information on how to contact each other in order to complete the transaction. The transaction fee is charged to the Seller's credit card. If the Seller's credit card cannot be charged, a pending payment is recorded for the Seller and the Seller will not be able to participate in any auctions until the pending payment is made.
Create Account 5 The Create Account use case allows a User to create and activate a user account, using entered user information, which optionally includes credit card information. Once the account has been created and activated, the User is considered to be signed in.
Update Account 7 The Update Account use case allows a User to update the information maintained in their account. If new credit card information is entered, the system attempts to pay any pending payment notices via the Credit Processing Service Bureau using the entered information.
Deactivate Account 8 The Deactivate Account use case allows a User to deactivate their account. If there are any auctions in progress for the account, or the User has any pending payments, the account cannot be deactivated. A notification email is sent as confirmation of account deactivation. A deactivated account is not deleted from the system (it may be needed later for auditing purposes), but the User cannot access it.