A requirements document specifies the purpose of the ATM system and what it must do. Requirements Document A local bank intends to install a new automated teller machine (ATM) to allow users (i.e., bank customers) to perform basic transactions Each user can have only one account at the bank. ATM users view their account balance withdraw cash deposit funds
ATM user interface:
a screen that displays messages to the user a keypad that receives numeric input from the user a cash dispenser that dispenses cash to the user and a deposit slot that receives deposit envelopes from the user.
The cash dispenser begins each day loaded with 500 $20 bills.
Develop software to perform the financial transactions initiated by bank customers through the ATM. The bank will integrate the software with the ATM’s hardware at a later time.
Software should encapsulate the functionality of the hardware devices within software components, but it need not concern itself with how these devices perform their duties. Use the computer’s monitor to simulate the ATM’s screen, and the computer’s keyboard to simulate the ATM’s keypad.
An ATM session consists of
authenticating a user based on an account number and personal identification number (PIN) creating and executing financial transactions
To authenticate a user and perform transactions
interact with the bank’s account information database For each account, the database stores an account number, a PIN and a balance indicating the amount of money in the account.
the bank plans to build only one ATM, so we need not worry about multiple ATMs accessing this database at the same time the bank does not make any changes to the information in the database while a user is accessing the ATM. an ATM faces reasonably complicated security issues that are beyond our scope. the bank trusts the ATM to access and manipulate the information in the database without significant security measures.
Upon first approaching the ATM, the user should experience the following sequence of events: The screen displays Welcome! and prompts the user to enter an account number. The user enters a five-digit account number using the keypad. The screen prompts the user to enter the PIN (personal identification number) associated with the specified account number. The user enters a five-digit PIN using the keypad. If the user enters a valid account number and the correct PIN for that account, the screen displays the main menu. If the user enters an invalid account number or an incorrect PIN, the screen displays an appropriate message, then the ATM returns to Step 1 to restart the authentication process.
After the ATM authenticates the user, the main menu contains numbered options for the three types of transactions: balance inquiry (option 1), withdrawal (option 2) and deposit (option 3). It also should contain an option to allow the user to exit the system (option 4). The user then chooses either to perform a transaction (by entering 1, 2 or 3) or to exit the system (by entering 4). If the user enters 1 to make a balance inquiry, the screen displays the user’s account balance. To do so, the ATM must retrieve the balance from the bank’s database.
The following steps describe what occurs when the user enters 2 to make a withdrawal: The screen displays a menu of standard withdrawal amounts and an option to cancel the transaction. The user enters a menu selection using the keypad. If the withdrawal amount is greater than the user’s account balance, the screen displays a message stating this and telling the user to choose a smaller amount. The ATM then returns to Step 1. If the withdrawal amount chosen is less than or equal to the user’s account balance (i.e., an acceptable amount), the ATM proceeds to Step 4. If the user chooses to cancel, the ATM displays the main menu and waits for user input.
If the cash dispenser contains enough cash, the ATM...