0% found this document useful (0 votes)
63 views7 pages

Object Oriented UML Modeling For ATM Systems: January 2010

This document discusses object-oriented UML modeling for ATM systems. It describes modeling the key features and functions of an ATM, including allowing customers to withdraw cash, check balances, deposit funds, and transfer money between accounts. The document outlines the static and dynamic UML models used, including use case diagrams, class diagrams, and activity diagrams to model the ATM system from the customer and bank perspectives. The models aim to provide a flexible environment for customers to perform online banking transactions at an ATM.
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
63 views7 pages

Object Oriented UML Modeling For ATM Systems: January 2010

This document discusses object-oriented UML modeling for ATM systems. It describes modeling the key features and functions of an ATM, including allowing customers to withdraw cash, check balances, deposit funds, and transfer money between accounts. The document outlines the static and dynamic UML models used, including use case diagrams, class diagrams, and activity diagrams to model the ATM system from the customer and bank perspectives. The models aim to provide a flexible environment for customers to perform online banking transactions at an ATM.
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 7

See discussions, stats, and author profiles for this publication at: https://www.researchgate.

net/publication/316474623

Object Oriented UML Modeling for ATM Systems

Conference Paper · January 2010

CITATIONS READS
2 16,811

3 authors, including:

Pramila M. Chawan Satish Salunkhe


Veermata Jijabai Technological Institute Shri Guru Gobind Singhji Institute of Engineering and Technology
151 PUBLICATIONS   350 CITATIONS    15 PUBLICATIONS   26 CITATIONS   

SEE PROFILE SEE PROFILE

Some of the authors of this publication are also working on these related projects:

Cloud based Automated Attendance Monitoring System using RFID and IOT View project

Decision Tree View project

All content following this page was uploaded by Pramila M. Chawan on 26 April 2017.

The user has requested enhancement of the downloaded file.


Object Oriented UML Modeling for
ATM Systems

Rajni Pamnani, Pramila Chawan, Satish Salunkhe


Department of computer technology,
VJTI University, Mumbai
rajni_as@yahoo.com, pmchawan@vjti.org.in, satsoftindia@rediffmail.com

Abstract understand software model for the people. The


The Object-Oriented Modeling assists the UML modeling consists of nine diagrams to
programmer to address the complexity of a model a software system & these diagrams are
problem domain by considering the problem not Use case Diagram, Class Diagram, Object
as a set of functions that can be performed but Diagram, State Diagram, Activity Diagram,
primarily as a set of related, interacting Objects. Sequence Diagram, Collaboration Diagram,
This article is based on the approach of Object Component Diagram & Deployment diagram.
Oriented modeling through Unified Modeling Nowadays knowledge based system is most
Language (UML) for an ATM system in Banking popular and needed in every sector like medical
sector. The main aim of this article is to provide sector, banking sector, engineering sector and
a flexible and faithful environment for a traveling sector etc. In the Banking sector,
customer, who wants to do online banking knowledge means simply having the knowledge
transactions. After successful authentication, the from expert. Knowledge
customer can withdraw the desire amount modeling is the major activity used to understand
(within the prescribed limit) from the ATM the problem and sending the solution rapidly.
machine or can transfer amount to other
account. User can also change the pin code. The 2. Features of ATM Systems
ATM has solved many problems and now
customer can have money transaction 24/7. In The ATM will service one customer at a time. A
this article UML Class, Interaction diagram, customer will be required to insert an ATM card
Activity diagram & Use Case diagram are also and enter a personal identification number (PIN)
designed for the ATM System. - both of which will be sent to the bank for
validation as part of each transaction. The
Key Words: UML dynamic modeling, UML customer will then be able to perform one or
static modeling, Use case modelling more transactions. The card will be retained in
the machine until the customer indicates that
he/she desires no further transactions, at which
1. Introduction point it will be returned - except as noted below.
The ATM must be able to provide the following
The Unified Modeling Language (UML) is a services to the customer:
very dominant modeling graphical language for 1. A customer must be able to make a cash
specifying, constructing and documenting the withdrawal from any suitable account linked to
artifacts of software system. UML is simply the card, in multiples of Rupees 100. Approval
another graphical representation of a common must be obtained from the bank before cash is
semantic model. UML provides a comprehensive dispensed.
notation for the full lifecycle of object-oriented 2. A customer must be able to make a deposit to
development UML is a collection of best any account linked to the card, consisting of
engineering practices that have successful in the cash and/or checks in an envelope. The
modeling for a design customer will enter the amount of the deposit
of a huge and complex systems. Modeling is into the ATM, subject to manual verification
very important for readability and reuse of the when the envelope is removed from the
systems. UML offers a set of notations and rules machine by an operator. Approval must be
for using the same. The main task of the UML is obtained from the bank before physically
to create a simple, well documented and easy to accepting the envelope.
3. A customer must be able to make a transfer
of money between any two accounts linked to Withdrawal Transaction Use Case
the card. A withdrawal transaction asks the customer to
4. A customer must be able to make a balance choose a type of account to withdraw from. The
inquiry of any account linked to the card. system verifies that it has sufficient money on
hand to satisfy the request before sending the
transaction to the bank.
3. Object-Oriented Analysis
Pre-conditions: The customer must have a valid
Object-oriented analysis looks at the problem ATM card and PIN.
domain, with the aim of producing a conceptual Post-conditions: The customer receives the cash
model of the information that exists in the area amount that he wanted to withdraw, with a
being analyzed. Analysis models do not consider receipt, if indicated. The customer‟s account
any implementation constraints or how the balance is updated in the system.
system is to be built. The identified objects Specifications:
reflect entities and operations that are associated Primary Actor: Customer
with the problem to be solved. Stakeholders:
- Customer: Wants quick, accurate withdrawal
of cash
3.1.UML static modeling for ATM
- Bank: Wants to give fast, accurate and reliable
systems service to the customer
- Bank that owns ATM: (If not the same as the
This part describes the way that system should customer‟s bank): Wants to charge the
look. It analyses the structure and substructure of customer the correct amount of surcharge on
the modeled system based on objects, attributes, the withdrawal.
operations and relationships. - ATM Administrator: Wants to ensure that the
ATM always has sufficient cash for a
3.1.1. Use case modeling for ATM systems predicted number of withdrawals per day.
In an automated teller machine shown in Figure
1, the Bank Customer can withdraw cash from
an account, transfer funds between accounts, or Normal flow of events:
deposit funds to an account. These correspond to 1. The customer inserts ATM card into the ATM
specific goals that the actor has in using system. machine and enters PIN.
2. The system validates the ATM card and PIN .
3. The customer selects the „Cash Withdrawal‟
System Startup
option from the Options Menu.
Operator 4. The system prompts the customer to enter the
amount of cash that he or she wants to
System ShutDown
withdraw.
<<includes>>
5. The customer enters a cash amount and selects
Customer
Session PIN Verification the „Submit‟ option on the Cash Withdrawal
Screen.
6. The system validates the amount entered;
checks account balance and that the machine
Bank has enough cash for the transaction, and asks
Transaction
the customer if he or she wants a receipt for
the transaction.
7. The customer selects „Yes‟ on the Receipts
Deposit Withdrawal BalanceEnquiry Screen.
8. The system ejects the ATM card, provides the
<<Extends>> cash, prints the receipt and updates the account
balance of the customer in the system.
MaxWithdrawal
Alternate flow of events:
1. The customer has entered invalid PIN-
Figure 1 : Use Case Diagram for ATM System The system prompts the customer to
enter a valid PIN. Stakeholders:
2. If ATM card is not compatible-The system - Customer: Wants quick, accurate
rejects the ATM card and displays an error withdrawal of cash
message. - Bank: Wants to give fast, accurate and
3. The customer has entered an amount that reliable service to the customer
exceeds the withdrawal limit. - ATM Administrator: Wants to ensure
4. The system rejects the transaction & that the ATM always has sufficient cash
displays an error message. for a predicted number of withdrawals
per day.
Deposit Transaction Use Case
A deposit transaction asks the customer to 3.1.2. Class Diagram
choose a type of account to deposit to. If the
transaction is approved, the machine accepts an Shown below is the class diagram for the ATM
envelope from the customer containing cash system. The basic structure of the class diagram
and/or checks before it issues a receipt. arises from the responsibilities and relationships
discovered when doing the CRC cards and
Pre-conditions: The customer must have a valid Interaction Diagrams. (If a class uses another
ATM card and PIN. class as a collaborator, or sends a message to an
Post-conditions: The customer receives the object of that class during an Interaction, then
receipt of cash amount/cheque that he has there must either be an association linking
deposited. The customer‟s account balance is objects of those classes, or linking the "sending"
updated in the system. class to an object which provides access to an
Specifications: object of the "receiving" class.)
Primary Actor: Customer

Figure 2 : Class Diagram for ATM System

Attributes and Methods used in each class are described below:


Class Name Attributes Methods
ATM atmid:integer, bankname:string, performStartup(),performShutdown()
state:string,,location:string createSession(),getLogDetails()
CustomerConsole atm:ATM displayMenu(), displayMessage()
readPIN()
CardReader atm:ATM readCard(), ejectCard()
CashDispenser Initialcash:integer, setInitialCash(), checkMaxCash()
totalcash:integer dispenseCash()
Operator atm:ATM switchOn(), switchOff(),
checkATMStatus()
Session atm:ATM,pin:integer,state:string createSession(),verifyPIN()
Transaction atm:ATM, session: Session, createTransaction()
pin:integer, balance:integer
Deposit amount:integer, bankname:string, getDetails(),performDeposit()
pin:integer
Withdrawal amount:integer, bankname:string, getDetails(),,performWithdrawal()
pin:integer, balance:integer
BalanceEnquiry pin:integer, bankname:string getDetails(),performEnquiry()

3.2. Dynamic Modeling for ATM System 3.2.1 State Diagrams

This section describes the way that the system The transition between difference states is
should work. It analyses the system behavior, represented as an arrow between states, and a
including sequence and collaboration diagrams, condition of that transition occurring may be
activity diagram, and state diagram. added between square braced. This condition is
called a guard.

switch on/ ready to serve


PowerOff Idle
Do:sleep Do: wait for service
switch off/ sleep

card ejected / stop activity


card inserted/ perform activity

Active
transaction continued

Menu Display menu selected Transaction


Do:select menu Do: perform transaction

transaction successful/ print


Print
Do:print the receipt
transaction over

Figure 3 : State Diagram for ATM System

Wait deposit selected / deposit Deposit


Do:wait for transaction Do: debit money

deposit selected / deposit

balance enquiry selected / enquiry

withdrawal selected / withdraw


deposit successful

Enquiry withdrawal selected/ withdraw Wthdrawal


Do:enquire balance Do:withdraw cash

withdrawal done

enquiry successful

Figure 4 : State Diagram for Transaction


3.2.2. Interaction Diagrams indicated by the number at the head of the
message.
UML defines two types of Interaction Diagram: Sequence diagram shows the relationship
the Sequence Diagram and the Collaboration between classes arranged in a time sequence.
Diagram. Interactions between objects are Within a sequence diagram an object is shown in
represented by interaction diagrams – both a box at the top. The sequence diagram of the
sequence and collaboration diagrams. An above UML class model is designed and used for
example of a collaboration diagram is shown online money transactions. The communication
below. Objects are drawn as rectangles and the between two objects represented by an arrow &
lines between them indicate links – a link is an the message on that arrow, the vertical lines
instance of an association. The order of the show the life of the objects.
messages along the links between the objects is

: CardReader : ATM : Session : Customer : Transaction


: Customer
Console

Insert Card
card Verification

cardInserted() <<create>>
verifyPIN()

PINVeified()

<<create>>

performTransactions()

continueTransactions()

ejectCard()

cardEjectionMessage()

Figure 5 : Sequence Diagram for ATM Session

: ATM : CardReader : Customer


: Customer
Console

insertCard()
verifyCard()

cardVerification()

enterPIN()

PINDetails()
verifyPIN()

PINValidation()
ValidationOfPIN()

Figure 6 : Sequence Diagram for PIN verification


4. Object Oriented design developers, to help customers in observing a
software system from various perspectives, and
Object-oriented design is the process of planning to improve their understanding of cohesion and
a system of interacting objects for the purpose of abstraction in designing a system or software.
solving a software problem. It is one approach to The requirements produced are sufficiently
software design. detailed to form the basis for the development of
an information system using both the practical
4.1. Component Diagram analysis of use cases and the conceptual model
for UML. The analysis of business and user
A component diagram in the Unified Modeling needs, system requirements, and use cases are
Language, depicts how components are wired essential steps for building a system based on
together to form larger components and or Unified Modeling Language.
software systems. Components diagrams can be From the above work it is concluded that the
used to illustrate the structure of arbitrarily UML modeling is a powerful language used to
complex systems. design for the software research problems. In this
article complete modeling is done for ATM
Bank.java
system which is efficient & useful for the
software developer to convert the above model
through Object Oriented language. UML could
be adopted for knowledge modeling as well.
While UML in its current state has its
ATMUser communicates with ATMControl
Interface.java .java limitations, it is an extensible language and thus
can be used to support the knowledge modeling
activity through the profiles mechanism.
Figure 7 : Component Diagram for ATM
System
6. References
4.2. Deployment Diagram [1] G., Booch, J.Rumbaugh, and I
Jacobson,.,“The Unified Modelling Language
A deployment diagram in the Unified Modeling User Guide”, Addison Wesley, Reading,
Language serves to model the physical MA,(1999).
deployment of artifacts on deployment targets. [2] Booch, G., "Object-Oriented Analysis and
Deployment diagrams show the allocation of Design with Applications", second Edition.
Artifacts to Nodes according to the Deployments Addison-Wesley (1994).
defined between them. Deployment of an artifact [3] M.Blaha, and, J., Rumbaugh “Object-
to a node is indicated by placing the artifact Oriented Modeling and Design with UML”,
inside the node. Second Edition, Upper Saddle River, New
Jersey, Prentice Hall,(2005).
[4] http://jdjua.com/uml.htm
[5] Lan Anh Tran , “A UML Model of the Client
:ATMCli
ent
<<TCP/IP>> :ATMSe
rver
Tracking System”, 18th Australasian Conference
on Information systems
[6]“ATM System”, Wikipedia,
www.wikipedia.org/wiki/Automated_teller_mac
hine
:Databa
se serve

Figure 8 : Deployment Diagram for ATM

5. Conclusions
This article has investigated system
requirements, use case diagrams and the UML
model for the ATM System. Such diagrams were
designed to support the system designers and

View publication stats

You might also like

pFad - Phonifier reborn

Pfad - The Proxy pFad of © 2024 Garber Painting. All rights reserved.

Note: This service is not intended for secure transactions such as banking, social media, email, or purchasing. Use at your own risk. We assume no liability whatsoever for broken pages.


Alternative Proxies:

Alternative Proxy

pFad Proxy

pFad v3 Proxy

pFad v4 Proxy