




FUNCTIONAL REQ.
Function Being TestedInitial System State
Input
Expected Output
System Startup
System is started when the switch is turned "on"
System is off
Activate the "on" switch
System requests initial cash amount
System Startup
System accepts initial cash amount
System is requesting cash amount
Enter a legitimate amount
System is on
System Startup
Connection to the bank is established
System has just been turned on
Perform a legitimate inquiry transaction
System output should demonstrate that a connection has been established to the Bank
System Shutdown
System is shut down when the switch is turned "off"
System is on and not servicing a customer
Activate the "off" switch
System is off
System Shutdown
Connection to the Bank is terminated when the system is shut down
System has just been shut down
Verify from the bank side that a connection to the ATM no longer exists
Session
System reads a customer's ATM card
System is on and not servicing a customer
Insert a readable card
Card is accepted;System asks for entry of PIN
Session
System rejects an unreadable card
System is on and not servicing a customer
Insert an unreadable card
Card is ejected;System displays an error screen;System is ready to start a new session
Session
System accepts customer's PIN
System is asking for entry of PIN
Enter a PIN
System displays a menu of transaction types
Session
System allows customer to perform a transaction
System is displaying menu of transaction types
Perform a transaction
System asks whether customer wants another transaction
Session
System allows multiple transactions in one session
System is asking whether customer wants another transaction
Answer yes
System displays a menu of transaction types
Session
Session ends when customer chooses not to do another transaction
System is asking whether customer wants another transaction
Answer no
System ejects card and is ready to start a new session
Transaction
Individual types of transaction will be tested below
Transaction
System handles an invalid PIN properly
A readable card has been entered
Enter an incorrect PIN and then attempt a transaction
The Invalid PIN Extension is performed
Withdrawal
System asks customer to choose an account to withdraw from
Menu of transaction types is being displayed
Choose Withdrawal transaction
System displays a menu of account types
Withdrawal
System asks customer to choose a dollar amount to withdraw
Menu of account types is being displayed
Choose checking account
System displays a menu of possible withdrawal amounts
Withdrawal
System performs a legitimate withdrawal transaction properly
System is displaying the menu of withdrawal amounts
Choose an amount that the system currently has and which is not greater than the account balance
System dispenses this amount of cash;System prints a correct receipt showing amount and correct updated balance;System records transaction correctly in the log (showing both message to the bank and approval back)
Withdrawal
System verifies that it has sufficient cash on hand to fulfill the request
System has been started up with less than the maximum withdrawal amount in cash on hand;System is requesting a withdrawal amount
Choose an amount greater than what the system currently has
System displays an appropriate message and asks customer to choose a different amount
Withdrawal
System verifies that customer's balance is sufficient to fulfill the request
System is requesting a withdrawal ammount
Choose an amount that the system currently has but which is greater than the account balance
System displays an appropriate message and offers customer the option of choosing to do another transaction or not.
Withdrawal
A withdrawal transaction can be cancelled by the customer any time prior to choosing the dollar amount
System is displaying menu of account types
Press "Cancel" key
System displays an appropriate message and offers customer the option of choosing to do another transaction or not.
Withdrawal
A withdrawal transaction can be cancelled by the customer any time prior to choosing the dollar amount
System is displaying menu of dollar amounts
Press "Cancel" key
System displays an appropriate message and offers customer the option of choosing to do another transaction or not.
Deposit
System asks customer to choose an account to deposit to
Menu of transaction types is being displayed
Choose Deposit transaction
System displays a menu of account types
Deposit
System asks customer to enter a dollar amount to deposit
Menu of account types is being displayed
Choose checking account
System displays a request for the customer to type a dollar amount
Deposit
System asks customer to insert an envelope
System is displaying a request for the customer to type a dollar amount
Enter a legitimate dollar amount
System requests that customer insert an envelope
Deposit
System performs a legitimate deposit transaction properly
System is requesting that customer insert an envelope
Insert an envelope
System accepts envelope;System prints a correct receipt showing amount and correct updated balance;System records transaction correctly in the log (showing message to the bank, approval back, and acceptance of the envelope)
Deposit
A deposit transaction can be cancelled by the customer any time prior to inserting an envelope
System is displaying menu of account types
Press "Cancel" key
System displays an appropriate message and offers customer the option of choosing to do another transaction or not.
Deposit
A deposit transaction can be cancelled by the customer any time prior to inserting an envelope
System is requesting customer to enter a dollar amount
Press "Cancel" key
System displays an appropriate message and offers customer the option of choosing to do another transaction or not.
Deposit
A deposit transaction can be cancelled by the customer any time prior to inserting an envelope
System is requesting customer to insert an envelope
Press "Cancel" key
System displays an appropriate message and offers customer the option of choosing to do another transaction or not.
Deposit
A deposit transaction is cancelled automatically if an envelope is not inserted within a reasonable time
System is requesting customer to insert an envelope
Wait for the request to time out
System displays an appropriate message and offers customer the option of choosing to do another transaction or not.
Transfer
System asks customer to choose an account to transfer from
Menu of transaction types is being displayed
Choose Transfer transaction
System displays a menu of account types specifying transfer from
Transfer
System asks customer to choose an account to transfer to
Menu of account types to transfer from is being displayed
Choose checking account
System displays a menu of account types specifying transfer to
Transfer
System asks customer to enter a dollar amount to transfer
Menu of account types to transfer to is being displayed
Choose savings account
System displays a request for the customer to type a dollar amount
Transfer
System performs a legitimate transfer transaction properly
System is displaying a request for the customer to type a dollar amount
Enter a legitimate dollar amount
System prints a correct receipt showing amount and correct updated balance;System records transaction correctly in the log (showing both message to the bank and approval back)
Transfer
A transfer transaction can be cancelled by the customer any time prior to entering dollar amount
System is displaying menu of account types specifying transfer from
Press "Cancel" key
System displays an appropriate message and offers customer the option of choosing to do another transaction or not.
Transfer
A transfer transaction can be cancelled by the customer any time prior to entering dollar amount
System is displaying menu of account types specifying transfer to
Press "Cancel" key
System displays an appropriate message and offers customer the option of choosing to do another transaction or not.
Transfer
A transfer transaction can be cancelled by the customer any time prior to entering dollar amount
System is requesting customer to enter a dollar amount
Press "Cancel" key
System displays an appropriate message and offers customer the option of choosing to do another transaction or not.
Inquiry
System asks customer to choose an account to inquire about
Menu of transaction types is being displayed
Choose Inquiry transaction
System displays a menu of account types
Inquiry
System performs a legitimate inquiry transaction properly
System is displaying menu of account types
Choose checking account
System prints a correct receipt showing correct balance;System records transaction correctly in the log (showing both message to the bank and approval back)
Inquiry
An inquiry transaction can be cancelled by the customer any time prior to choosing an account
System is displaying menu of account types
Press "Cancel" key
System displays an appropriate message and offers customer the option of choosing to do another transaction or not.
Invalid PIN Extension
Customer is asked to reenter PIN
Enter an incorrect PIN;Attempt an inquiry transaction on the customer's checking account
Customer is asked to re-enter PIN
Invalid PIN Extension
Correct re-entry of PIN is accepted
Request to re-enter PIN is being displayed
Enter correct PIN
Original transaction completes successfully
Invalid PIN Extension
A correctly re-entered PIN is used for subsequent transactions
An incorrect PIN has been re-entered and transaction completed normally
Perform another transaction
This transaction completes successfully as well
Invalid PIN Extension
Incorrect re-entry of PIN is not accepted
Request to re-enter PIN is being displayed
Enter incorrect PIN
An appropriate message is displayed and re-entry of the PIN is again requested
Invalid PIN Extension
Correct re-entry of PIN on the second try is accepted
Request to re-enter PIN is being displayed
Enter incorrect PIN the first time, then correct PIN the second time
Original transaction completes successfully
Invalid PIN Extension
Correct re-entry of PIN on the third try is accepted
Request to re-enter PIN is being displayed
Enter incorrect PIN the first time and second times, then correct PIN the third time
Original transaction completes successfully
Invalid PIN Extension
Three incorrect re-entries of PIN result in retaining card and aborting transaction
Request to re-enter PIN is being displayed
Enter incorrect PIN three times
An appropriate message is displayed;Card is retained by machine;Session is terminated
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 100RUPEES), 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:
A customer must be able to make a cash withdrawal from any suitable account linked to the card, in multiples of 100RUPEES. Approval must be obtained from the bank before cash is dispensed.
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.
A customer must be able to make a transfer of money between any two accounts linked to the card.
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.