Use-Case Diagram “Make A Sale”
Requirements
This use case documents the requirements for how the system needs to make a sale. A sale consists of many sale details (line items). Each line item is scanned so that the price can be looked up. Once the items are added to the sale, it is totaled and the tax is added. At this point, it is time to take in the payment. This can be in the form of cash, credit, debit, etc. Upon a successful sale, the product inventory is updated based on the quantities sold for this sale.
Description:
Use Case scenario
Author:
Jon Kern
Priority:
high
Difficulty:
low
Number:
3.1
Note1:
Right-click, choose "Hyperlink To" menu, select the hyperlink and watch what happens.
All Outgoing Links
Note Link
to Note Note1 (in Package Diagram Requirements)
Diagram Node Summary
Actor: The Cashier is the actor responsible for interacting with the customer and the point of sale system, ringing up the sale.
Actor: This represents HAL, our inventory computer system.
System Boundary: This represents the system we are building, the Point of Sale System.
    Check
Use-Case
    Credit
Use-Case
    Debit
Use-Case
Use-Case: This emplys bar code reader type of technology to let the system know what product is being purchased.
Use-Case: Take in payment (in the form of cash, check, credit, debit, and work in kind).
Use-Case: Total the items of the sale, apply taxation as well.
System Boundary: The Product System boundary encompasses the entire inventory subsystem.
Use-Case: Implement a set of tax algorithms for each state.
Use-Case: Do a lookup of the current price for the item.
Use-Case: Once the sale is complete, the inventory must be updated to reflect the transaction.
Diagram Node Detail
Actor "Cashier"
The Cashier is the actor responsible for interacting with the customer and the point of sale system, ringing up the sale.
All Outgoing Links
Communicates
to Use-Case Scan Bar Code (in Use-Case Diagram Product Scanning Details)
Communicates
to Use-Case Scan Product
Communicates
to Use-Case Take in Payment
Communicates
to Use-Case Total Items
Associates
to Object frame (in Collaboration Diagram Collaboration)
directed
Robustness Association
to Class POSFrame (in Package Diagram user_interface)
Label:
makes a sale
directed
Note Link
to Note Note1
Hyperlink
to Class Cashier (in Package Diagram Requirements.analysis)
URL Links
http://www.cashiers.org

Actor "Inventory System"
This represents HAL, our inventory computer system. Though he usually prefers XML messages, he can also read LIPS.
All Outgoing Links
Communicates
to Use-Case Update Product Count

System Boundary "Point of Sale System"
This represents the system we are building, the Point of Sale System. Use Cases appearing in this system boundary are to be considered as requirements to be supplied to the POS terminals.
Nested Nodes
 Check,  Credit,  Debit,  Scan Product,  Take in Payment,  Total Items

Use-Case "Check"
Nested in node:
System Boundary Point of Sale System
All Outgoing Links
Generalization
to Use-Case Take in Payment

Use-Case "Credit"
Nested in node:
System Boundary Point of Sale System
All Outgoing Links
Generalization
to Use-Case Take in Payment

Use-Case "Debit"
Nested in node:
System Boundary Point of Sale System
All Outgoing Links
Generalization
to Use-Case Take in Payment

Use-Case "Scan Product"
Nested in node:
System Boundary Point of Sale System
This emplys bar code reader type of technology to let the system know what product is being purchased. It may be better to call this "Identify Product" as a scan is merely a common technique (but by no means comprehensive).
Explanation:
or "Identify" Product
Pre-conditions:
Product identifier must be obtained.
Post-conditions:
Product must be identified unambiguously.
Normal Flow:
  1. Manually select product
  2. Read identification label (generally UPC)
  3. wait for confirmation of proper scan
Alternate Flow:
If confirmation not received for successful scan.
  1. Try again.
  2. Still no good, then invoke manual entry of UPC.
All Outgoing Links
Note Link
to Note Note1
Hyperlink
to Use-Case Diagram Product Scanning Details

Use-Case "Take in Payment"
Nested in node:
System Boundary Point of Sale System
Take in payment (in the form of cash, check, credit, debit, and work in kind).

Use-Case "Total Items"
Nested in node:
System Boundary Point of Sale System
Total the items of the sale, apply taxation as well.
All Outgoing Links
Includes
to Use-Case Determine Tax
Includes
to Use-Case Price Lookup

System Boundary "Product System"
The Product System boundary encompasses the entire inventory subsystem. However, for the purposes of the POS system, we need only very little functionality.
Nested Nodes
 Determine Tax,  Price Lookup,  Update Product Count

Use-Case "Determine Tax"
Nested in node:
System Boundary Product System
Implement a set of tax algorithms for each state.

Use-Case "Price Lookup"
Nested in node:
System Boundary Product System
Do a lookup of the current price for the item. Need to take into account quantity discounts, date-based discounts, manufacturer specials, etc.

Use-Case "Update Product Count"
Nested in node:
System Boundary Product System
Once the sale is complete, the inventory must be updated to reflect the transaction.