Use Cases For ATM System

Download as doc, pdf, or txt
Download as doc, pdf, or txt
You are on page 1of 10

Use Cases for ATM System

Use case ATM-W-01


name
Goal ATM Money Withdraw
Flow of events 1. ATM asks the user to enter ID
2.ATM asks the user to enter the amount to be withdrawn.
3. User enters the amount needed from the account.
4 ATM authorizes the amount entered by verifying the
balance.
5. ATM delivers the amount through the machine slot.
6. ATM delivers the transaction receipt.
7. ATM ejects the card from the slot
Post condition System in baseline state to receive and initiate another
transaction
Alternative Insufficient balance
scenarios At Step3, a) ATM declares insufficient balance in the
account.
b) ATM suspends the transaction

ATM
System
startup
Operator System
shutdown

Session
Invalid PIN
Customer
Include exend
Transaction

Bank
Withdrawa Deposit inquiry
l
The software to be designed will control a simulated automated
teller machine (ATM) having a magnetic stripe reader for reading an
ATM card, a customer console (keyboard and display) for interaction
with the customer, a slot for depositing envelopes, a dispenser for cash
(in multiples of 10 eg), a printer for printing customer receipts, and a
key-operated switch to allow an operator to start or stop the machine.
The ATM will communicate with the bank's computer over an
appropriate communication link. (The software on the latter is not part
of the requirements for this problem.)

The ATM will service one customer at a time. A customer will be


required to insert an ATM card and enter a personal identification
number (PIN) - both of which will be sent to the bank for validation as
part of each transaction. The customer will then be able to perform one
or more transactions. The card will be retained in the machine until the
customer indicates that he/she desires no further transactions, at which
point it will be returned - except as noted below.

The ATM must be able to provide the following services to the


customer:

1. A customer must be able to make a cash withdrawal from any


suitable account linked to the card, in multiples of 10 eg. Approval
must be obtained from the bank before cash is dispensed.
2. A customer must be able to make a deposit to any account linked
to the card, consisting of cash and/or checks in an envelope. The
customer will enter the amount of the deposit into the ATM,
subject to manual verification when the envelope is removed from
the machine by an operator. Approval must be obtained from the
bank before physically accepting the envelope.
3. A customer must be able to make a balance inquiry of any account
linked to the card.
A customer must be able to abort a transaction in progress by pressing
the Cancel key instead of responding to a request from the machine.

The ATM will communicate each transaction to the bank and obtain
verification that it was allowed by the bank. Ordinarily, a transaction
will be considered complete by the bank once it has been approved. In
the case of a deposit, a second message will be sent to the bank
indicating that the customer has deposited the envelope. (If the customer
fails to deposit the envelope within the timeout period, or presses cancel
instead, no second message will be sent to the bank and the deposit will
not be credited to the customer.)

If the bank determines that the customer's PIN is invalid, the customer
will be required to re-enter the PIN before a transaction can proceed. If
the customer is unable to successfully enter the PIN after three tries, the
card will be permanently retained by the machine, and the customer will
have to contact the bank to get it back.

If a transaction fails for any reason other than an invalid PIN, the ATM
will display an explanation of the problem, and will then ask the
customer whether he/she wants to do another transaction.

The ATM will provide the customer with a printed receipt for each
successful transaction, showing the date, time, machine location, type of
transaction, account(s), amount, and ending and available balance(s) of
the affected account ("to" account for transfers).

The ATM will have a key-operated switch that will allow an operator to
start and stop the servicing of customers. After turning the switch to the
"on" position, the operator will be required to verify and enter the total
cash on hand. The machine can only be turned off when it is not
servicing a customer. When the switch is moved to the "off" position, the
machine will shut down, so that the operator may remove deposit
envelopes and reload the machine with cash, blank receipts, etc.
The ATM will also maintain an internal log of transactions to facilitate
resolving ambiguities arising from a hardware failure in the middle of a
transaction. Entries will be made in the log when the ATM is started up
and shut down, for each message sent to the Bank (along with the
response back, if one is expected), for the dispensing of cash, and for the
receiving of an envelope. Log entries may contain card numbers and
dollar amounts, but for security will never contain a PIN.

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,
etc.

Session Use Case

A session is started when a customer inserts an ATM card into the card
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 of transaction 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 may abort 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 types of
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, along with 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 is invalid, 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 invalid PIN, 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.

Withdrawal Transaction 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 to enter a different amount.) If the transaction is approved by the
bank, the appropriate amount of cash is dispensed by the machine before
it issues a receipt. (The dispensing of cash is also recorded in the ATM's
log.)

A withdrawal transaction can be cancelled by the customer pressing the


Cancel key any time prior to choosing the dollar amount.
Deposit Transaction Use Case

A deposit transaction asks the customer to choose a type of account to


deposit to (e.g. checking) from a menu of possible accounts, and to type
in a dollar amount on the keyboard. The transaction is initially sent to
the bank to verify that the ATM can accept a deposit from this customer
to this account. If the transaction is approved, the machine accepts an
envelope from the customer containing cash and/or checks before it
issues a receipt. Once the envelope has been received, a second message
is sent to the bank, to confirm that the bank can credit the customer's
account - contingent on manual verification of the deposit envelope
contents by an operator later. (The receipt of an envelope is also
recorded in the ATM's log.)

A deposit transaction can be cancelled by the customer pressing the


Cancel key any time prior to inserting the envelope containing the
deposit. The transaction is automatically cancelled if the customer fails
to insert the envelope containing the deposit within a reasonable period
of time after being asked to do so.

Inquiry Transaction Use Case

An inquiry transaction asks the customer to choose a type of account to


inquire about from a menu of possible accounts. No further action is
required once the transaction is approved by the bank before printing the
receipt.

An inquiry transaction can be cancelled by the customer pressing the


Cancel key any time prior to choosing the account to inquire about.

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 use case
is continued; otherwise the process of re-entering the PIN is repeated.
Once the PIN is successfully re-entered, it is used for both the current
transaction and all subsequent transactions in the session. If the customer
fails three times to enter the correct PIN, the card is permanently
retained, a screen is displayed informing the customer of this and
suggesting he/she contact the bank, and the entire customer session is
aborted.

If the customer presses Cancel instead of re-entering a PIN, the original


transaction is cancelled.
Class Diagram:

You might also like