Use Case Details - stephanesome/auction-system-tutorials GitHub Wiki
Create Account
Actor: User
Steps
- User selects to create an account
- System asks for the user's information (User Name, Password, Email, Credit Card Information (optional))
- User submits the information
- System presents the user's their account information
Postcondition: New activated User Account is added
Update Account
Actor: Registered User
Precondition: Registered User is signed in (see the Sign In use case)
Steps
- User selects to update the information maintained in their account
- System presents the existing information in an updatable form
- User performs the updates and submits the new account information
- System updates User's account
Alternatives
A1. Occurs at Step 3. If a new credit card information is entered and there is a pending payment notice
- System submits a payment request to the Credit Processor for the pending payment
- If payment request is successful, System removes the pending payment notice
- System updates User's account
Postcondition: New activated User Account is added
Deactivate Account
Actor: Registered User
Precondition: Registered User is signed in (see the Sign In use case)
Steps
- Registered user selects to deactivate their account
- System asks to confirm the deactivation
- User confirms the deactivation
- System sends an e-mail notifying the User of the account deactivation
Alternatives
A1. Occurs at Step 1. If there are any auctions in progress for the account, or the User has any pending payments
- System notifies the User that the account cannot be deactivated
Postcondition: User account was deactivated
Create Auction
Actor: Seller
Precondition: Seller is signed in and Seller doesn't have any pending payment
Steps
- Seller selects to create an auction
- System asks for auction information and optional credit card information
- Seller submits information
- System adds new auction to Seller's list of active auctions
Postcondition: A new auction is added to the Seller's auctions
Close Auction
Actor: Internally initiated
Precondition: Auction end time is reached
Steps
- System marks the auction as closed
- System submits a payment request to the Credit Processor to collects the transaction fee from the Seller's account
- System sends an e-mail notifying the Buyer that is the auction winner
- System sends an e-mail notifying the Seller that the auction has been closed
Alternatives
A1. Occurs at step 1. After marking the auction as closed, if no bids have been posted for this auction
- System sends an e-mail notifying the Seller that the auction has been closed, but that there were no bids posted for it
A2. Occurs at step 1. After the system marks the auction as closed, if the system is unable to collect the transaction fee from the Seller's credit card account (for example, the Credit Processor Service responds to the request with a message such as "insufficient credit")
- System adds a pending payment notice to the Seller's account
- The system sends an e-mail notifying the Seller that the transaction fee could not be collected
Place Bid
Actor: Buyer
Precondition: Buyer is signed in, has no pending payment and is browsing the auction catalog
Steps
- Buyer selects and auction item
- Buyer specifies bid information and places a bid on the selected auction
- System creates a bid for the auction and adds the bid to the buyer’s list of bids
Postcondition: New bid added to the selected auction and Buyer
Sign In
Actor: User
Precondition: Registered User is not signed in
Steps
- User supplies a username and password for signing-in
- System presents the user’s account information – including pending payment information, all the user’s currently open auctions (Seller) and provide access to account management functions
- System logs a successful login attempt
Alternatives
A1. Occurs at step 1. If the entered username/password doesn't match a registered user
- The System notifies the user of the wrong username/password entry.
- The System logs a failed login attempt
Postcondition: Registered User is signed in
Sign Out
Actor: Registered User
Precondition: Registered User is signed in
Steps
- User selects to sign-out
- System logs the user out
Browse Auction Catalog
Actor: User
Precondition: System Main page is shown
Steps
- User specifies a search category
- System displays all current auctions matching the search criteria
Alternatives
A1. Occurs at Step 1. If no search category is provided
- System displays all current auctions
Postcondition: Auctions are being displayed