This document describes the software requirements for an automated teller machine network (ATM). It is intended for the designer, developer and maintainer of the ATM. 1. 2 Scope The function of the ATM is to support a computerized banking network. 1. 3 Overview The remainder of this document is organized as follows: There will be some de nitions of important terms. Section 2 contains a general description of the ATM. Section 3 identi es the speci c functional requirements, the external interfaces and performance requirements of the ATM. 1. 4 De nitions Account a single account in a bank against which transactions can be applied.
Accounts may be 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 identi cation. 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 nancial institution that holds accounts for customers and that issues cash cards authorizing access to accounts over the ATM network. 2
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. 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 identi es 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 di erent 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 di erent bank is considered a di erent customer. Transaction a single integral request for operations on the accounts of a single customer.
We only speci ed 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 exibility to operate on accounts of di erent customers, although it is not required yet. The di erent operations must balance properly. 3 Chapter 2 General Description 2. 1 Product Perspective The ATM network doesn’t work independently. It has to work together with the computers/software owned by banks. There are clearly de ned interfaces for the di erent systems. 2. 2 Product Functions
The software should support a computerized banking network. Each bank provides its own computer to maintain its own accounts and process transactions against them. Automatic teller machines communicate with the banks’ computers. An automatic teller machine accepts a cash card, interacts with the user, communicates with the bank computer to carry out the transaction, dispenses cash and prints receipts. The system requires appropriate record keeping and security provisions. The system must handle concurrent access to the same account correctly. The banks will provide their own software for their own computers.
The cost of the shared system will be apportioned to the banks according to the number of customers with 4 Account ATM Account ATM Bank Computer Account ATM Account cash cards. Figure: ATM network 2. 3 User Characteristics There are several users of the ATM network: Customer The customer interacts with the ATM network via the ATM. It must be very easy for them to use the ATM. They should be supported by the system in every possible way. Maintainer It should be easy to maintain the whole system. The maintainer should be the only person that is allowed to connect a new ATM to the network. 2. 4 Abbreviations
Throughout this document the following abbreviations are used: k is the maximum withdrawal per day and account m is the maximum withdrawal per transaction n is the minimum cash in the ATM to permit a transaction t is the total fund in the ATM at start of day 5 Chapter 3 Speci c Requirements 3. 1 Functional Requirements The functional requirements are organized in two sections: First requirements of the ATM and second requirements of the bank. The requirements for the automated teller machine are organized in the following way: General requirements, requirements for authorization, requirements for a transaction. . 1. 1 Requirements of the automated teller machine General Functional requirement 1 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. Description Functional requirement 2 Description If no cash card is in the ATM, the system should display initial display. Functional requirement 3 Description If the ATM is running out of money, no card should be accepted. An error message is displayed. 6 Input A card is entered. The amount of cash is less than t. Display an error message. Return cash card.
Processing Output Authorization The authorization starts after a customer has entered his card in the ATM. Functional requirement 4 Description Input The ATM has to check if the entered card is a valid cash-card. 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. Functional requirement 5 Description Input If the cash card is valid, the ATM should read the serial number and bank code. Valid cash card.
Processing Output Read the serial number. Initiate authorization dialog Functional requirement 6 Description Input The serial number should be logged. Serial number from cash card 7 Processing Output Log the number. Update to log le. Functional requirement 7 Description Authorization dialog: The user is requested to enter his password. The ATM veri es the bank code and password with the bank computer Input Password from user, bank code from cash card. Processing Output Send serial number and password to bank computer, receive response from bank. Accept or reject authorization from bank.
Functional requirement 8 Description Di erent 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. Functional requirement 9 Description
If password and serial number are ok, the authorization process is nished. Input The ATM gets accept from the bank computer from authorization process. Processing Finishing authorization 8 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 Output Initiate authorization process. Response from bank computer is to keep the card.
Display error message that the customer should call the bank. Functions These are the requirements for the di erent functions the ATM should provide after authorization. Functional requirement 11 Description The kind of transactions the ATM o ers is: withdrawal Input Authorization successfully completed. Enter the amount to withdraw. Processing Output Amount entered is compared with m. 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 Output Error if the amount is greater than m. Start transaction or re-initiate transaction dialog if the amount is not within the prede ned transaction policy. 9 Functional requirement 13 Description Perform transaction. Input Initial withdrawal sequence successful Processing Output Send request to the bank computer. 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 Output ATM prints receipt, updates t and ejects the card. Dialog: Customer should take the card. After the Customer has taken the card the money is dispensed. Functional requirement 15 Description Input If the money is dispensed, the amount is logged The number of $20 bills requested is dispensed to the customer. Processing Output Log the amount of money against the serial number of the card. Amount logged together with the serial number. Response sent to bank for money dispensed. Functional requirement 16 If the transaction is not successful, an error message should be displayed.
The card should be ejected. Description Input ATM gets message transaction not successful” from the bank computer. 10 Processing Output ATM displays error message. Dialog: Customer should take the card. Eject card. 3. 1. 2 Requirements of the bank computer for the ATM Authorization The bank computer gets a request from the ATM to verify an account. Functional requirement 1 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. Description Input Request from the ATM to verify card (Serial number and password) Processing Output
Check if the cash card was issued by the bank. Valid or invalid bank code. Functional requirement 2 Description Input If it is not a valid bank code, the bank computer will send a message to the ATM. Invalid bank code Processing Output Process message The bank computer sends the message bad bank code” to the ATM. 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 Output Check password of the customer. Valid or invalid password. 11 Functional requirement 4
Description Input If it is not a valid password, the bank computer will send a message to the ATM. Invalid password Processing Output Process message. Update count for invalid password for the account. The bank computer sends the message bad password” to the ATM. Functional requirement 5 Description Input 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. Valid cash card and password Processing Output Process message The bank sends bad account” to the ATM. Functional requirement 6
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 Description Input Valid cash card, password and account Processing Output Process message. Send account ok” to the ATM. Transaction The bank computer gets a request to process a transaction from the ATM. 12 Functional requirement 7 Description Input After a request the bank computer processes the transaction. Request to process a transaction on an account and amount m to withdraw. Processing Output Process transaction (together with the software of the bank).
Update k for amount If transaction succeeded, the bank computer sends the message transaction succeeded” to the ATM. If not, it will send transaction failed”. Functional requirement 8 Update account after money is dispensed Input Response from ATM about money dispensed. Description Processing Output Updates account New account record Functional requirement 9 Each bank has a limit k for each account about the amount of money that is available via cash card each day/monthly. Description Input Request to process transaction. Processing Output Check if the amount of money doesn’t exceed k
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. 13 3. 2. 1 User Interfaces 3. 2 External Interface Requirements The interface of the ATM must ful ll ergonomic requirements. The following is just an example for a possible interface to the ATM Messages to the user 0 1 2 3 4 5 6 7 Enter 8 9 card slot receipts cash slot Figure: Format of the ATM interface The ATM network has to provide hardware interfaces to: various printers various ATM machines (There are several companies producing the ATM achines. ) several types of networks The exact speci cation of the hardware interfaces is not part of this document 14 3. 2. 2 Hardware Interfaces 3. 2. 3 Software Interfaces The ATM network has to provide software interfaces to: the software used by di erent banks di erent network software The exact, detailed speci cation of the software interfaces is not part of this document. There is no restriction of the ATM network to a speci c network protocol as long as the performance requirements are satis ed. 3. 2. 4 Communication Interfaces 3. 3 Performance Requirements Performance requirement 1
Description Error message should be displayed at least 30 sec. Performance Requirement 2 Description If there is no response from the bank computer after a request within 2 minutes the card is rejected with an error message. Performance Requirement 3 Description The ATM dispenses money if and only if the withdrawal from the account is processed and accepted by the bank. Performance Requirement 4 Description Each bank may be processing transactions from several ATMs at the same time. 3. 4 Attributes 3. 4. 1 Availability 3. 4. 2 Security The ATM network has to be available 24 hours a day.
The ATM network should provide maximal security. In order to make that much more transparent there are the following requirements: 1. It must be impossible to plug into the network. 15 Only maintainers are allowed to connect new ATM’s to the network. 3. 4. 3 Maintainability 3. 4. 4 Transferability/Conversions Not Applicable The ATM must be able to use several data formats according to the data formats that are provided by the data bases of di erent banks. A transaction should have all the properties of a data base transaction (Atomicity, Consistency, Isolation, Durability). 3. 5. 1 Data Base 3. 5 Other Requirements 16