The document outlines requirements for an automated teller machine (ATM) and its interactions with a bank computer system. It defines key terms and provides 16 functional requirements for the ATM, including initializing parameters, handling authorization by verifying cards and passwords, offering withdrawal transactions, dispensing cash for successful transactions, and displaying error messages. It also lists 6 functional requirements for the bank computer for authorizing cards and processing transactions requested by the ATM.
3. Requirements document for an automated
teller machine
Denitions
 Account
A single account in a bank against which transactions can be applied. Accounts maybe of
various types with at least checking and savings. A customer can hold more than one
account.
 ATM
A station that allows customers to enter their own transactions using cash cards as
identication. The ATM interacts with the customer to gather transaction information, sends
the transaction information to the central computer for validation and processing, and
dispenses cash to the customer. We assume that an ATM need not operate independently
of the network.
 Bank
A financial institution that holds accounts for customers and that issues cash cards
authorizing access to accounts over the ATM network.
 Bank computer
The computer owned by a bank that interfaces with the ATM network and the bank's own
cashier stations. A bank may actually have its own internal network of computers to
process accounts, but we are only concerned with the one that interacts with the network.
4.  Cash Card
A card assigned to a bank customer that authorizes access to accounts using an ATM
machine. Each card contains a bank code and a card number, coded in accordance with
national standards on credit cards and cash cards. The bank code uniquely identities the
bank within the consortium. The card number determines the accounts that the card can
access. A card does not necessarily access all of a customer's accounts. Each cash card
is owned by a single customer, but multiple copies of it may exist, so the possibility of
simultaneous use of the same card from different machines must be considered.
 Customer
The holder of one or more accounts in a bank. A customer can consist of one or more
persons or corporations; the correspondence is not relevant to this problem. The same
person holding an account at a different bank is considered a different customer.
 Transaction
A single integral request for operations on the accounts of a single customer. We only
specified that ATMs must dispense cash, but we should not preclude the possibility of
printing checks or accepting cash or checks. We may also want to provide the fiexibility to
operate on accounts of different customers, although it is not required yet. The different
operations must balance properly.
5. Specific Requirements
 Functional Requirements
The functional requirements are organized in two sections:
First requirements of the ATM and second requirements of
the bank.
 Requirements of the automated teller machine
The requirements for the automated teller machine are
organized in the following way: General requirements,
requirements for authorization, requirements for a transaction.
6. General
Functional requirement 1
 Description
Initialize parameters t,k,m,n
 Input
ATM is initialized with t dollars. k,m,n are entered
 Processing
Storing the parameters
 Output
Parameters are set.
Functional requirement 2
 Description
If no cash card is in the ATM, the system should display initial display.
7. Functional requirement 3
 Description
If the ATM is running out of money, no card should be accepted. An error message is
displayed.
 Input
A card is entered.
 Processing
The amount of cash is less than t.
 Output
Display an error message. Return cash card.
 Authorization
The authorization starts after a customer has entered his card in the ATM
8. Functional requirement 4
 Description
The ATM has to check if the entered card is a valid cash-card.
 Input
Customer enters the cash card.
 Processing
Check if it is a valid cash card. It will be valid if:
1. the information on the card can be read.
2. it is not expired.
 Output
Display error message and return cash card if it is invalid.
9. Functional requirement 5
 Description
If the cash card is valid, the ATM should read the serial number and bank code.
 Input
Valid cash card.
 Processing
Read the serial number.
 Output
Initiate authorization dialog
Functional requirement 6
 Description
The serial number should be logged.
 Input
Serial number from cash card
 Processing
Log the number.
 Output
Update to log file.
10. Functional requirement 7
 Description
Authorization dialog: The user is requested to enter his password. The ATM verifies the bank
code and password with the bank computer
 Input
Password from user, bank code from cash card.
 Processing
Send serial number and password to bank computer, receive response from bank.
 Output
Accept or reject authorization from bank.
Functional requirement 8
 Description
Diferent negative answers from bank computer for authorization dialog.
 Input
Response from bank or authorization dialog:
{ bad password" if the password was wrong.
{ bad bank code" if the cash card of the bank is not supported by the ATM.
{ bad account" if there are problems with the account.
 Processing
If the ATM gets any of these messages from the bank computer, the card will be ejected
and the user will get the relevant error message.
 Output
Card is ejected and error message is displayed.
11. Functional requirement 9
 Description
If password and serial number are ok, the authorization process is finished.
 Input
The ATM gets accept from the bank computer from authorization process.
 Processing
Finishing authorization
 Output
Start transaction dialog
Functional requirement 10
 Description
If a card was entered more than three times in a row at any ATM and the password
was wrong each time, the card is kept by the ATM. A message will be displayed that
the customer should call the bank.
 Input
Entering a wrong password for the fourth time in succession
 Processing
Initiate authorization process. Response from bank computer is to keep the card.
 Output
Display error message that the customer should call the bank
 Functions
These are the requirements for the different functions the ATM should provide after
authorization.
12. Functional requirement 11
 Description
The kind of transactions the ATM offers is: withdrawal
 Input
Authorization successfully completed. Enter the amount to withdraw.
 Processing
Amount entered is compared with m.
 Output
Amount of money to be dispensed is displayed. Begin initial withdrawal sequence.
Functional requirement 12
 Description
Initial withdrawal sequence: If it is too much withdrawal redo the transaction.
 Input
Customer has entered the amount of money.
 Processing
Error if the amount is greater than m.
 Output
Start transaction or re-initiate transaction dialog if the amount is not within the predefined
transaction policy.
13. Functional requirement 13
 Description
Perform transaction.
 Input
Initial withdrawal sequence successful
 Processing
Send request to the bank computer.
 Output
Wait for response from the bank computer.
 Functional requirement 14
 Description
If the transaction is successful, the money is dispensed.
 Input
ATM gets message transaction succeeded" from the bank computer.
 Processing
ATM prints receipt, updates t and ejects the card. Dialog: Customer should take the card.
 Output
After the Customer has taken the card the money is dispensed.
14. Functional requirement 15
 Description
If the money is dispensed, the amount is logged
 Input
The number of $20 bills requested is dispensed to the customer.
 Processing
Log the amount of money against the serial number of the card.
 Output
Amount logged together with the serial number. Response sent to bank for money
dispensed.
Functional requirement 16
 Description
If the transaction is not successful, an error message should be displayed. The card
should be ejected.
 Input
ATM gets message transaction not successful" from the bank computer.
 Processing
ATM displays error message. Dialog: Customer should take the card.
 Output
Eject card.
15. Requirements of the bank computer
for the ATM
 Authorization
The bank computer gets a request from the ATM to verify an
account.
16. Functional requirement 1
 Description
The bank computer checks if the the bank code is valid. A bank code is valid if the cash card
was issued by the bank.
 Input
Request from the ATM to verify card (Serial number and password)
 Processing
Check if the cash card was issued by the bank.
 Output
Valid or invalid bank code.
Functional requirement 2
 Description
If it is not a valid bank code, the bank computer will send a message to the ATM.
 Input
Invalid bank code
 Processing
Process message
 Output
The bank computer sends the message bad bank code" to the ATM
17. Functional requirement 3
 Description
The bank computer checks if the the password is valid for a valid cash card.
 Input
Request from the ATM to verify password.
 Processing
Check password of the customer.
 Output
Valid or invalid password.
Functional requirement 4
 Description
If it is not a valid password, the bank computer will send a message to the ATM.
 Input
Invalid password
 Processing
Process message. Update count for invalid password for the account.
 Output
The bank computer sends the message bad password" to the ATM.
18. Functional requirement 5
 Description
If it is a valid cash card and a valid password but there are problems with the account,
the bank will send a message to the ATM that there are problems.
 Input
Valid cash card and password
 Processing
Process message
 Output
The bank sends bad account" to the ATM.
Functional requirement 6
 Description
If it is a valid cash card, a valid password and there are no problems with the account
the bank computer will send a message to the ATM that everything is ok
 Input
Valid cash card, password and account
 Processing
Process message.
 Output
Send account ok" to the ATM.
 Transaction
The bank computer gets a request to process a transaction from the ATM
19. Functional requirement 7
 Description
After a request the bank computer processes the transaction.
 Input
Request to process a transaction on an account and amount m to withdraw.
 Processing
Process transaction (together with the software of the bank). Update k for amount
 Output
If transaction succeeded, the bank computer sends the message transaction succeeded“ to
the ATM. If not, it will send transaction failed".
Functional requirement 8
 Description
Update account after money is dispensed Input Response from ATM about money dispensed.
 Processing
Updates account
 Output
New account record
20. Functional requirement 9
 Description
Each bank has a limit k for each account about the amount of money that is available via cash
card each day/monthly.
 Input
Request to process transaction.
 Processing
Check if the amount of money doesn't exceed
 Output
If the amount exceeds the limit, the transaction will fail.
Functional requirement 10
 Description
The bank only provides security for their own computer and their own software.