Use Cases for Example ATM System

  1. System Startup Use Case
  2. Session Use Case
  3. Cash Withdrawl Transaction Use Case
  4. Deposit Transaction Use Case
  5. Transfer Transaction Use Case
  6. Balance Inquiry Transaction Use Case
  7. Invalid PIN Extension

[ Intro ] [ Requirements ] [ Domain Objects ] [ Use Cases ] [ CRC Cards ] [ Class Diagram ]
[ Class Description Forms ] [ Operation Description Forms ] [ Code ] [ Executable ]

Copyright © 1996 - Russell C. Bjork. Permission for non-commercial reproduction for educational use is hereby granted; all other rights are reserved.

 


System Startup Use Case

The system is started up when the operator turns the switch on the operator panel to the "on" position. The operator will be asked to enter the amount of money currently in the cash dispenser. Then servicing of customers can begin - ending later when the operator turns the switch back to the "off" position.


Session Use Case

A session is started when a customer inserts an ATM card into the card reader slot of the machine, which reads the card as it is inserted. (If the reader cannot read the card due to improper insertion or a damaged stripe, the card is ejected, an error screen is displayed, and no session is started.) The customer is asked to enter his/her PIN, and is allowed to perform one or more transactions, choosing the transaction type each time from a menu of options. The session will furnish the customer's card number and PIN to each transaction. After each transaction, the customer is asked whether he/she would like to perform another. When the customer is through performing transactions, the card is ejected from the machine and the session ends.


Cash Withdrawl Transaction Use Case

A cash withdrawl transaction is started from within a session when the customer chooses cash withdrawl from the menu of possible transaction types. The customer chooses a type of account to withdraw from (e.g. checking) from a menu of possible accounts, and then chooses a dollar amount from a menu of possible amounts. The system verifies that it has sufficient money on hand to satisfy the request. If not, it informs the customer and aborts the transaction. If so, it sends the customer's card number, PIN, chosen account and amount to the bank, which either approves or disapproves the transaction. If the transaction is approved, the machine dispenses the correct amount of cash and issues a receipt. If the transaction is disapproved due to an incorrect PIN, the Incorrect PIN extension is executed. All other disapprovals simply result in an error screen and the transaction is aborted. The bank is notified whether or not an approved transaction was completed in its entirety by the machine; if it is completed then the bank completes debiting the customer's account for the amount.


Deposit Transaction Use Case

A deposit transaction is started from within a session when the customer chooses deposit from the menu of possible transaction types. The customer chooses a type of account to deposit to (e.g. checking) from a menu of possible accounts, and then chooses a dollar amount by typing it on the keyboard. The system sends the customer's card number, PIN, chosen account and amount to the bank, which either approves or disapproves the transaction. If the transaction is approved, the machine accepts an envelope from the customer containing cash and/or checks and then issues a receipt. (If the customer does not insert the envelope within a specified period of time, this operation times out and the deposit transaction is aborted.) If the transaction is disapproved due to an incorrect PIN, the Incorrect PIN extension is executed. All other disapprovals simply result in an error screen and the transaction is aborted. The bank is notified whether or not an approved transaction was completed in its entirety by the machine; if it is completed then the bank completes crediting the customer's account for the amount - contingent on manual verification of the deposit envelope contents by an operator later.


Transfer Transaction Use Case

A transfer transaction is started from within a session when the customer chooses transfer from the menu of possible transaction types. The customer chooses a type of account to transfer from (e.g. checking) from a menu of possible accounts, chooses a different account to transfer to, and then chooses a dollar amount by typing it on the keyboard. The system sends the customer's card number, PIN, chosen account and amounts to the bank, which either approves or disapproves the transaction. If the transaction is approved, the machine issues a receipt. If the transaction is disapproved due to an incorrect PIN, the Incorrect PIN extension is executed. All other disapprovals simply result in an error screen and the transaction is aborted. The bank will consider the transaction complete once it has been approved.


Balance Inquiry Transaction Use Case

A balance inquiry transaction is started from within a session when the customer chooses balance inquiry from the menu of possible transaction types. The customer chooses a type of account to inquire about. The system sends the customer's card number, PIN and chosen account to the bank, which either approves or disapproves the transaction. If the transaction is approved the bank sends the balance to the machine with the approval, and the system prints it on a receipt. If the transaction is disapproved due to an incorrect PIN, the Incorrect PIN extension is executed. All other disapprovals simply result in an error screen and the transaction is aborted.


Invalid PIN Extension

An invalid PIN extension is started from within a transaction when the bank reports that the customer's transaction is disapproved due to an invalid PIN. The customer is required to re-enter the PIN and the original request is sent to the bank again. If the bank now approves the transaction, or disapproves it for some other reason, the original case is continued; otherwise the process of re-entering the PIN is repeated. If the PIN is successfully re-entered, it is used for both the current transaction and all subsequent transactions int the session. After three failures, the card is permanently retained and the entire customer session is aborted.