Automated Teller Machine
Flows of Events for Individual Use Cases
System Startup Use Case
The system is started up when the operator turns the operator switch to the "on" position. The
operator will be asked to enter the amount of money currently in the cash dispenser, and a
connection to the bank will be established. Then the servicing of customers can begin.System Shutdown Use Case
The system is shut down when the operator makes sure that no customer is using the machine,
and then turns the operator switch to the "off" position. The connection to the bank will be
shut down. Then the operator is free to remove deposited envelopes, replenish cash and paper,
Session Use Case
A session is started when a customer inserts an ATM card into thecard reader slot of the
machine. The ATM pulls the card into the machine and reads it. (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 the session is aborted.) The customer is asked to enter his/her PIN, and is then
allowed to perform one or more transactions, choosing from a menu of possible types oftransaction in each case. 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. If a transaction is aborted due to too many
invalid PIN entries, the session is also aborted, with the card being retained in the machine.
The customer mayabort the session by pressing the Cancel key when entering a PIN or
choosing a transaction type
Transaction Use Case
Note: Transaction is an abstract generalization. Each specific concrete type of transaction
implements certain operations in the appropriate way. The flow of events given here describes
the behavior common to all types of transaction. The flows of events for the individual typesof transaction (withdrawal, deposit, transfer, inquiry) give the features that are specific to
that type of transaction.
A transaction use case is started within a session when the customer chooses a transaction
type from a menu of options. The customer will be asked to furnish appropriate details (e.g.
account(s) involved, amount). The transaction will then be sent to the bank, alongwith
information from the customer's card and the PIN the customer entered.
If the bank approves the transaction, any steps needed to complete the transaction (e.g.
dispensing cash or accepting an envelope) will be performed, and then a receipt will be
printed. Then the customer will be asked whether he/she wishes to do another transaction.
If the bank reports that the customer's PIN isinvalid, the Invalid PIN extension will be
performed and then an attempt will be made to continue the transaction. If the customer's card
is retained due to too many invalid PINs, the transaction will be aborted, and the customer
will not be offered the option of doing another.
If a transaction is cancelled by the customer, or fails for any reason other than repeated entries
of an invalidPIN, a screen will be displayed informing the customer of the reason for the
failure of the transaction, and then the customer will be offered the opportunity to do another.
The customer may cancel a transaction by pressing the Cancel key as described for each
individual type of transaction below.
All messages to the bank and responses back are recorded in the ATM's log.
WithdrawalTransaction Use Case
A withdrawal transaction asks the customer to choose a type of account to withdraw from
(e.g. checking) from a menu of possible accounts, and to choose a dollar amount from a menu
of possible amounts. The system verifies that it has sufficient money on hand to satisfy the
request before sending the transaction to the bank. (If not, the customer is informed and asked