PROJECT

Object Oriented Analysis and Design

May 1997

Automated Teller Machine Requirements Specification

Object-Oriented Analysis and Design

Project Specification

An automated teller achine (ATM) is a machine through which bank customer can perform a number of the most financial transactions. The machine consists of a display screen, a bank card reader, numeric and special key input keys, a money dispenser slot, a deposit slot and a receipt printer.

When the machine is idle, a greeting message is displayed. The keys and deposit slot will remain inactive until a bank card has been entered.

When a bank card is inserted, the card reader attempts to read it. If the card cannot be read, the user is informed that the card is unreadable, and the card is ejected.

If the card is readable, the user is asked to enter a personal identification number (PIN). The user is given feedback as to the number of digits entered at the numeric keypad, but not the specific digits entered. If the PIN is entered correctly, the user is shown the main menu (described below). Otherwise, the user is given up to two additional chances o enter the PIN correctly. Failure to do so on the third try causes the machine to keep the bank card. The user can retrive the card, only by dealing directly with an authorized bank employee.

The main menu contains a list of the transactions that can be performed. These transactions are:

  1. deposit funds to an account.
  2. withdraw funds from an account.
  3. transfer funds from one account to another.
  4. query the balance of any account.

The user can select a transaction and specify all relevant information. When a transaction has been completed, the sysetm returns to the main menu.

At any time after reaching the main menu and before finishing a transaction (including before selecting a transaction), the user may press the cancel key. The transaction being specified (if there is one) is canceled, the user's card is returned, the receipt of all transactions is printed, and the machine once again becomes idle.

If a deposit transaction is selected, the user is asked to specify the account to which the funds are to deposited and the amount of the deposit, and is asked to insert a deposit envelope.

If a withdrawal transaction is selected, the user is asked to specify the account from which funds are to be withdrawn and the amount of the withdrawal. If the account contains sufficient funds, the funds are given to the user through the cash dispenser.

If a transfer of funds is selected, the user is asked to specify the account from which the funds are to be withdrawn, the account to which the funds are to be deposited,a nd the amount of the transfer. If sufficient funds exist, the transfer is made.

If abalance inquiry is selected, the user is asked to specify the account whose balance is requested. The balance is not displayed, but printed on the receipt.

Project Requirements:

I require an object oriented software design for the above requirements specification. This should include the necessary use case scenarios and supporting documentation. Therefore, I will require to see:

  1. Class diagram (including supporting specification documents).
  2. Object diagrams.
  3. State transition diagrams.
  4. Message trance diagrams (Interaction diagrams).

[ ATM Requirement Specification | Finding classes | Finding responsibilities | Use cases | CRC Cards | Class Diagram | State Transition Diagram | Message Trace Diagram | Object Message Diagram ]