Post on 06-Apr-2018
8/3/2019 Atm Simulation
1/23
SIMULATION OF ATMPREPARED BY
SANGAMITHRAMOHANAPRIYASRINIVAS
8/3/2019 Atm Simulation
2/23
INTRODUCTION It is based on the concept of object-oriented analysis, design,
and programming.
Analysis is done by identifying the use cases and detailing aflow of events for each. there is one Interaction diagram for
each use case, linked to from the use case flow of events.
The detailed design document was developed directly from
the Interaction diagrams and Class Diagrams.
8/3/2019 Atm Simulation
3/23
REQUIREMENT STATEMENTS The software to be designed will control a simulated
automated teller machine (ATM) 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 will communicate with the bank's computer over an
appropriate communication link.
8/3/2019 Atm Simulation
4/23
CONTD..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. Approval must be obtained fromthe bank before cash is dispensed.
A customer must be able to make a deposit to any account linked tothe card, consisting of cash and/or checks in an envelope. Thecustomer will enter the amount of the deposit into the ATM, subjectto manual verification when the envelope is removed from the
machine by an operator. 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 abalance inquiry of any account linked to the card.
8/3/2019 Atm Simulation
5/23
USE CASES
8/3/2019 Atm Simulation
6/23
FLOWS OF EVENTS FOR INDIVIDUAL USE CASES System Start-up Use Case System Shutdown Use Case
Session Use Case
Transaction Use Case
Withdrawal Transaction Use Case
8/3/2019 Atm Simulation
7/23
CONTD.. Deposit Transaction Use Case
Transfer Transaction Use Case
Inquiry Transaction Use Case Invalid PIN Extension
8/3/2019 Atm Simulation
8/23
INITIAL FUNCTIONAL TEST The following initial test cases can be identified early in the
design process for checking that the implementation is
basically correct.
These cases represent an initial check that the functionality
specified by the use cases is present.
The system start up function and system shutdown function
is an example. Other functions also involves same process.
8/3/2019 Atm Simulation
9/23
ANALYSIS CLASSES A controller object representing the ATM itself . Boundary
objects representing the individual component parts of the
ATM.
Operator panel. Card reader.
Customer console, consisting of a display and keyboard.
Network connection to the bank.
Cash dispenser.
Envelope acceptor.
Receipt printer.
8/3/2019 Atm Simulation
10/23
CONTD..
Controller objects corresponding to use cases.
Session
Transaction (abstract generalization, responsible for common
features, with concrete specializations responsible for type-specific
portions).
An entity object representing the information encoded on the ATMcard inserted by customer.
An entity object representing the log of transactions maintained by the
machine.
8/3/2019 Atm Simulation
11/23
CRC CARDSCRC cards are used to assign responsibilities to
various classes for the tasks required by the various usecases.
Class CardReader
Class CashDispenser Class CustomerConsole
Class EnvelopeAcceptor
Class OperatorPanel Class ReceiptPrinter
8/3/2019 Atm Simulation
12/23
STATE CHARTS
8/3/2019 Atm Simulation
13/23
SESSION STATE CHART
8/3/2019 Atm Simulation
14/23
TRANSACTION STATE CHART
8/3/2019 Atm Simulation
15/23
DESIGNFunctions of ATM:
+ run()
+ switchOn()
+ switchOff
+ cardInserted()
+ getID(): int
+ getPlace(): String
+ getBankName(): String
8/3/2019 Atm Simulation
16/23
CONTD + getBankName(): String
+ getCardReader(): CardReader
+ getCashDispenser(): CashDispenser + getCustomerConsole(): CustomerConsole
+ getEnvelopeAcceptor(): EnvelopeAcceptor
+ getLog(): Log
8/3/2019 Atm Simulation
17/23
CONTD + getNetworkToBank(): NetworkToBank
+ getOperatorPanel(): OperatorPanel
+ getReceiptPrinter(): ReceiptPrinter - performStartup()
- performShutdown()
8/3/2019 Atm Simulation
18/23
TESTING To run the simulation, you need to do the following:
Click on the "ON" button (lower right-hand corner) to turn
the ATM on.
Enter the number of bills you want to have be in the cash
dispenser at the start of the simulation when you are
prompted to do so, and press RETURN
Perform any number of sessions, as follows.
8/3/2019 Atm Simulation
19/23
CONTD.. Click on the "Click to insert card" button to simulate inserting
a card.
Type in the card number when you are prompted to do so,
and press RETURN.
Enter the PIN associated with the card.
Perform any number of transactions, using your mouse toclick the keys on the simulated ATM keyboard.
8/3/2019 Atm Simulation
20/23
CONTD Turn off the ATM by clicking on the "OFF" button (same
position as the "ON" button". Note that you cannot turn the
ATM off while in the middle of a customer session).
The entire simulation may be repeated as many times as you
want, by turning the machine ON again.
8/3/2019 Atm Simulation
21/23
MAINTENANCE Corrective Maintenance
A real ATM typically has a timeout mechanism that beginsbeeping and ultimately ejects the card and ends the session if
the user fails to respond within a certain amount of time.While a customer who leaves before this happens mightinadvertently leave a card behind, at least the customer wouldnot be "logged in" with his/her PIN. (Thus, the security risk iscomparable to that resulting from a lost card, with thecustomer's account still PIN protected).
8/3/2019 Atm Simulation
22/23
CONTD
Adaptive MaintenanceATM's have cash dispensers that can handle two different
denominations of bills which allows a user to request cash inany amount.
8/3/2019 Atm Simulation
23/23
THANK YOU ALL!!!