SYMBIOSIS INSTITUTE OF COMPUTER STUDIES AND RESEARCH
OBJECT ORIENTED ANALYSIS AND DESIGN
REPORT ON
ATM SYSTEM
DONE BY :
R PRIYADARSHINI
CHANDRALEKHA TANWAR
GARIMA TRIPATI
AVINASH SAMTANI
RATIONAL UNIFIED PROCESS
The concept of Rational Unified Process (RUP) came from the Rational Software
Corporation, a division of IBM (International Business Machines Corporation). It keeps a
check on effective project management and high-quality production of software. The basic
methodology followed in RUP is based on a comprehensive web-enabled program
development and object-oriented approach. The 'Rational Unified Process' adopts the
'Unified Modeling Language' and provides the best practiced guidelines, templates and
illustrations of all aspects for program development. Here is a simple breakdown of all the
aspects related to this concept, so as to give you a brief understanding as to what is rational
unified process (RUP)
There are primarily four phases or stages of development that is concluded with a release
in RUP. Here is a quick review of all the four stages or cycles.
Inception Phase
In the inception phase, the goal is to develop the parent idea into a product vision by
defining its scope and the business case. The business case includes business context,
factors influencing success, risk assessment and financial forecast. This is to get an
understanding of the business drivers and to justify the launch of the project. This phase is
to identify the work flows required by the project.
Elaboration Phase
Here the architectural foundation, project plan and high-risk factors of the project are
determined, after analyzing the problem domain. For establishing these objectives, an in-
and-out knowledge of the system is a must. In other words, the performance requirements,
scope and functionality of the system, influence the deciding factor in the architectural
concept of the project. Architectural and planning decisions are governed by the most
critical use-cases. So, a perfect understanding of the use-cases and an articulated vision is
what this phase of elaboration looks forward to achieve. This is an important phase. Since,
after this phase the project is carried on to a level where any changes might cause
disastrous outcome for the entire operation.
Construction Phase
As the name suggests, the phase involves construction of the software system or project.
Here, development of the remaining components and application features is performed.
Thereafter, they are integrated into the product which is moved from an architectural
baseline to a completed system. In short, the source code and the application design is
created for the software for its transition to the user community. The construction phase is
the first external release of the software, wherein, adequate quality with optimization of
resources is achieved rapidly.
Transition Phase
Transition phase marks the transition of the project from development to production. This
stage is to ensure that the user requirements have been satisfied and met by the product.
The initiative is done by testing the product before its release as a beta version. This beta
version is enhanced by bug fixing, site preparation, manual completion, defect
identification and improving performance and usability. Other objectives are also taken up.
They include
Training users and maintainers for successful operation of the system
Purchasing hardware
Converting data from old to new systems
Arranging for activities for successful launch of the product
Holding sessions of learning lessons for improving future process and tool
environment
UML defines nine different types of diagram:
1. Use case diagrams: represent the functions of a system from the user's point of
view.
2. Sequence diagrams: are a temporal representation of objects and their interactions.
3. Collaboration diagrams: spatial representation of objects, links, and interactions.
4. Object diagrams: represent objects and their relationships and correspond to
simplified collaboration diagrams that do not represent message broadcasts.
5. Class diagrams represent the static structure in terms of classes and relationships
6. State chart diagrams: represent the behavior of a class in terms of states at run time.
7. Activity diagrams: represent the behavior of an operation as a set of actions
8. Component diagrams: represent the physical components of an application
9. Deployment diagrams: represent the deployment of components on particular
pieces of hardware
Bank ATM Use Cases
Requirements
1. The ATM customer interface shall be equipped with a:
a. Magnetic strip card reader for swiping ATM cards.
b. Keypad for user data entry.
c. Display for user feedback.
d. Envelope dispensing slot
e. Printer for printing customer receipts
The ATM keypad shall support the following keys:
a. Numbers 0 to 9.
2. b. “Enter” key to accept the transactions.
c. “Cancel” key to cancel a transaction.
The ATM shall communicate to the Bank via the Internet.
3.
The ATM shall perform the following authentication steps at the start of a session:
a. The customer shall insert the ATM card.
4. b. The ATM shall check the card integrity.
c. The customer shall be prompted to enter the personal identification number (PIN).
d. The ATM card number and the PIN shall be authenticated with the bank.
e. The ATM shall abort the session if PIN authentication fails three times. (The PIN
entered should match the PIN specified by the user.)
The ATM shall perform the following end of session steps:
a. The ATM card shall not be released at session end if PIN authentication fails.
5. b. When a transaction ends in error, appropriate error message shall be displayed on
the screen and the machine shall transition to the initial menu.
c. The ATM shall issue a printed receipt to the customer at the end of a successful
session. The receipt shall contain:
• Date and time,
• Machine location,
• Account information,
• Amount of the transaction
• Available balance
The ATM shall support the following transactions:
a. Cash withdrawal from checking account.
b. Cash deposit into customer checking account.
6.
The ATM shall perform the following transaction verification steps:
a. Cash withdrawal shall be allowed only after the bank permits the transaction.
7. b. Presence of a cash/check envelope shall be checked before completing the bank
transaction.
c. Cash and check deposits shall be manually verified to ascertain that the amount
entered by the user matches the cash/check value in the deposit envelope.
d. The money transfer between checking and saving shall be verified by the bank.
The ATM shall support the following diagnostic features:
a. Logging of all customer interactions
8. b. Logging of all interactions with the bank
c. The PIN for an ATM card shall not be logged.
Features of ATM Systems
The ATM will service 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 Rupees 100. 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.
SCOPE
The software supports a computerized banking network. The network enables customers
to complete simple bank account services via automated teller machines (ATMs) that may
be located off premise and that need not be owned and operated by the customer’s bank.
The ATM identifies a customer by a cash card and password. It collects information about a
simple account transaction (e.g., deposit, withdrawal, transfer, bill payment),
communicates the transaction information to the customer’s bank, and dispenses cash to
the customer. The banks provide their own software for their own computers. The
software requires appropriate record keeping and security provisions. The software must
handle concurrent accesses to the same account correctly.
An automated teller machine (ATM) or the automatic banking machine (ABM) is banking
subsystem (subject) that provides bank customers with access to financial transactions in a
public space without the need for a cashier, clerk or bank teller.
Customer (actor) uses bank ATM to check balances of his/her bank accounts, deposit funds,
withdraw cash and/or transfer funds (use cases). ATM Technician provides maintenance
and repairs. All these use cases also involve Bank actor whether it is related to customer
transactions or to the ATM servicing.
An example of use case diagram for Bank ATM subsystem - top level use cases.
On most bank ATMs, the customer is authenticated by inserting a plastic ATM card and
entering a personal identification number (PIN). Customer Authentication use case is
required for every ATM transaction so we show it as include relationship. Including this
use case as well as transaction generalizations make the ATM Transaction an abstract use
case.
Bank ATM Transactions and Customer Authentication Use Cases Example.
If needed, customer may ask ATM for help. ATM Transaction use case is extended via Menu
extension point by the ATM Help use case whenever ATM Transaction is at the location
specified by the Menu and the bank customer requests help, e.g. by selecting Help menu
item.
Bank ATM Maintenance, Repair, Diagnostics Use Cases Example.
ATM Technician maintains or repairs Bank ATM. Maintenance use case includes
Replenishing ATM with cash, ink or printer paper, Upgrades of hardware, firmware or
software, and remote or on-site Diagnostics. Diagnostics is also included in (shared with)
Repair use case.
Sequence Diagram:
Withdrawal Transaction Use Case
A withdrawal transaction asks the customer to choose a type of account to withdraw from
(e.g. checking) from a menu of possible accounts, and to choose a dollar amount from a
menu of possible amounts. The system verifies that it has sufficient money on hand to
satisfy the request before sending the transaction to the bank. (If not, the customer is
informed and asked to enter a different amount.) If the transaction is approved by the
bank, the appropriate amount of cash is dispensed by the machine before it issues a receipt.
(The dispensing of cash is also recorded in the ATM's log.)
A withdrawal transaction can be cancelled by the customer pressing the Cancel key any
time prior to choosing the dollar amount.
SEQUENCE DIAGRAM
Collaboration diagram
CLASS DIAGRAM :