For the purpose of the assignment on Software Engineering we have chosen an Automated Teller Machine System. Firstly, we would like to explain how the Automated Teller Machine works.
The ATM have 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, a printer for printing customer receipts, and a key-operated switch to allow an operator to start or stop the machine. The ATM communicates with the bank's computer over an appropriate communication link.
The ATM services 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:
1. A customer must be able to make a cash withdrawal from any suitable account linked to the card, in multiples of Rs50.00. Approval must be obtained from the bank before cash is dispensed.
2. 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.
3. A customer must be able to make a transfer of money between any two accounts linked to the card.
4. A customer must be able to make a balance inquiry of any account linked to the card.
5. 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 send 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 amounts, bu for security will never contain a PIN.
Emergent properties of the ATM listed below:
Safety, “Shall-not”
· If an intruder tries to enter invalid pin, system should block the card and alarmed the concerned authority.
· If card is expired, system should act accordingly, and stop transaction.
· The system must output the exact amount amount of money withdrawn by user not more or even less.
· If the receipt printer is down or there is any other problem with it, the system must inform user by means of the monitor.
Security
· Authentication of user by the card and pin number, log of every transaction taking place.
Security sensors (Magnetic, Thermal, Seismic).
Locks: (to ensure controlled access to the contents of the vault).
Performance
· Available 24Hrs a day, user can access account anytime.
Functional requirements of ATM
The functional requirements of the Automated Teller Machine are organized in the following way:
1. ATM is initialized with T rupees. K, M, N are entered. Parameters are set.
2. If no cash card is in ATM, system should display initial display.
3. If ATM is running out of money, no card should be accepted. An error message is displayed.
4. ATM has to check if the entered card is a valid one. Display error message and return cash card if it is invalid.
5. Serial number should be logged and updated in log file. User requested to enter password. ATM verified bank code and password with bank computer. Bank accepts or rejects authorization from bank.
6. Card is ejected and error message displayed if “bad password”, “bad bank code”, and “bad account”.
7. If card was entered more than thrice in a row at any ATM, password was wrong, card is kept by ATM. A message will be displayed that customer should call at the bank.
8. Amount of withdrawal is entered. Amount of money to be dispensed is dispensed. Begin initial withdrawal sequence.
9. If transaction is successful, money is dispensed. ATM prints receipt and ejects card.
10. If money is dispensed, amount is logged. Response sent to bank for money dispensed.
Sensor
· The card reader consists of sensor recognising presence and correct orientation of the card, it waits for transaction to be completed and once terminated it verifies that card has correctly been removed from the card slot by the cardholder.
· Mispicked notes in an automated teller machine (ATM) are detected by multiple note detectors and diverted to reject bin via diverter.
Actuators
· Key pressed on the Operator panel.
· Card inserted in the Card reader.
Communication
· Monitor consisting of a display.
· Receipt of transaction, example cash withdrawal or balance statement.
Coordination
Interface
· The interface is the monitor
Computation
Non-functional Requirements of the ATM
Accuracy:
1 Customer inserting an ATM card
A session is started when a customer inserts an ATM card into the card reader slot of the machine. The ATM pulls the card into the machine and reads it. The customer is asked to enter his PIN, only then he is allowed to perform transactions but if PIN is invalid, the session is aborted, with the card being retained in the machine. The system should be very accurate to track hackers.
2. Withdrawal or depositing cash
The system must be again very accurate about precise amount being deposited or withdrawn by customer.
Timing Constraint:
· Every transaction must have a timing session.
· System should immediately update the client account depending on the transaction.
Reliability:
· A customer must get an immediate balance statement by the receipt printer if prompted to.
· If ever there is a problem like printer is out of paper or Cash Dispenser is out of money, message should be displayed on the screen.
Usability:
· ATM must be able to allow transaction in different language selected by cardholder.
Supportability:
· The ATM must be able to maintain an internal log of transactions to facilitate resolving ambiguities arising from a hardware failure in the middle of a transaction.
References
http://www.ibm.com/developerworks/rational/library/4860.html
· http://www.eece.unm.edu/faculty/rjordan/oldwebsite/595-025/sudheer/atm3.htm
· http://www.math-cs.gordon.edu/local/courses/cs211/ATMExample/http://www.patentstorm.us/patents/6540136.html