TinyBank Corp. is a new bank focussed on the neighborhood community banking market. They currently have a single branch on Huntington Ave. in Boston. But they want so have the largest network of ATM's (Automatic Teller Machines) in the Back Bay, Fenway and MFA areas of town. They need a new ATM Software system from COM3205 Inc.
The bank offers a single type of bank account - the All or Nothing Account (TM). The ATM's need to support 3 basic customer functions to access this account. Customers need:
When withdrawing money, customers are to be offered the choice of fast cash - $25, $50 and $100 amounts or the choice of entering a specific dollar amount. Only after the ATM has confirmed that it has successfully dispensed the cash, will the amount be deducted from the customer's balance.
When a deposit is made, the customer is asked to enter a specific dollar amount describing the deposit. The bank records the amount, but it is not directly added to the balance until the deposit has been checked and verified by the branch teller that opens the deposit envelopes.
At any time, the customer can cancel the current transaction and then either start again from the first screen or exit altogether, retrieving their card.
Customers will be provided a bankcard and a PIN (personal identification number), which will work with the machines. A card reader in the ATM reads the card. The cards have a magnetic strip that details the customer's account number. When the card is read, the customer is challenged to enter their PIN. To support this action as well as the other functions, the ATMs also have a display, a keypad, a receipt printer, a cash dispenser and a device to accept deposits.
All a customer's bank balance data, personal data and PIN is stored in the bank's central database. The PC software in the Huntington Ave. bank branch that is used by the human tellers also accesses this database.
The ATMs are spread all over the neighborhood and are connected to the bank via a network maintained by the local Phone Company. Because of security reasons, the ATMs are not connected directly to the Banks Database. They are connected to a controller box that in turn connects (via a secure network) to a server that implements the business logic of the application.
The ATMs must delegate all the real work to the Business Logic server - this means that checking the PIN, and all the transactions (withdraw, query, deposit records) are done by the BL server.
In addition, the ATM stores a record of all transactions in a local machine database to support auditing and theft detection.
The bank is a very conservative company and demands extensive documentation during the development of the software. Each and every aspect of the system has to be reviewed by the bank's IT staff as well as technical experts employed by their insurance company.
The system development is not with out risks however, as COM3205 has very limited experience with the kind of networking complexity and distributed computing involved in this project.
Answer as many of the following questions you can, in any order. A score of 100 marks is a perfect score for this exam.