0% found this document useful (0 votes)
272 views8 pages

Case Study: Atm Management System

The document describes an ATM management system. It discusses the user interface of the ATM which includes a screen, keypad, cash dispenser, and deposit slot. It then describes the process for authenticating users and the main menu options for viewing balances, withdrawing cash, and depositing funds. Class diagrams are proposed to model the key components of the ATM system including the ATM, screen, keypad, cash dispenser, deposit slot, account, bank database, and transaction types. Composition relationships are used to represent the ATM having subordinate parts like the screen, keypad, etc.

Uploaded by

Wasim Jafar
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as DOCX, PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
272 views8 pages

Case Study: Atm Management System

The document describes an ATM management system. It discusses the user interface of the ATM which includes a screen, keypad, cash dispenser, and deposit slot. It then describes the process for authenticating users and the main menu options for viewing balances, withdrawing cash, and depositing funds. Class diagrams are proposed to model the key components of the ATM system including the ATM, screen, keypad, cash dispenser, deposit slot, account, bank database, and transaction types. Composition relationships are used to represent the ATM having subordinate parts like the screen, keypad, etc.

Uploaded by

Wasim Jafar
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as DOCX, PDF, TXT or read online on Scribd
You are on page 1/ 8

CASE STUDY

ATM MANAGEMENT
SYSTEM

Submitted by:
Submitted to:
Vaibhav Sharma 2K17/EC/180 Mr Carlos
Wasim Jafar 2K17/EC/195
An ATM allows users to perform basic financial transactions view their account
balance withdraw cash deposit funds each user can have only one account at the
bank

User Interface
A screen to displays messages a keypad for numeric input a cash dispenser a deposit
slot

ATM Session
The cash dispenser begins each day loaded with 500 $20 bills. Authenticating a user
based on account number and (PIN) bank's account information database stores an
account number, a PIN and a balance
Display a welcome message and prompt the user to enter an account number. The
user enters a five-digit account number, using the keypad. The screen prompts the
user to enter the PIN. The user enters a five-digit PIN, using the keypad. If the user
enters a valid account number and the correct PIN for that account, the screen
displays the main menu. If the user enters an invalid account number or an incorrect
PIN, the screen displays an appropriate message, then the ATM returns to Step 1 to
restart the authentication process.

ATM Main menu


When an invalid option is entered, display an error message, then redisplay the main
menu
1 –View My Balance
Displays the user's account balance. The ATM retrieves the balance from the bank's
database
Display withdrawal menu
Withdrawal amount greater than balance Display message, ask for smaller amount
Choose option to exit Display main menu
2 –Withdraw Cash
Valid withdrawal amount is valid Authenticate user –ask for pin If amount > than
ATM money in dispenser Display message to ask for smaller amount Display
Withdrawal menu Debit the withdraw amount for balance in database Dispense the
money Display a message reminding the user to take the money

3 –Deposit Funds
Prompts user to enter a deposit amount or 0 (zero) to cancel the transaction. User
enters a deposit amount or 0 the amount is entered as a number of cents (e.g., 125).
The ATM divides this number by 100 to obtain a dollar amount (e.g., 125 ÷100 =
1.25). Displays a message telling the user to insert a deposit envelope into the
deposit slot if the slot receives a deposit envelope within two minutes, the ATM
credits the amount to the balance in the bank's database. This money is not
immediately available for withdrawal. First the bank verifies the amount and then
updates the balance stored in the database. If the slot does not receive an envelope
within two minutes display a message that the transaction is cancelled due to
inactivity. The ATM then displays the main menu and waits for user input.

ATM Session
When a transaction is executed redisplay the main menu If the user chooses to exit
the system display a thank you message then display the welcome message for the
next user.

Design Stage I
Use case diagrams model the interactions between a system and its external entities
(actors) in terms of use cases system capabilities, such as "View Account Balance,"
"Withdraw Cash" and "Deposit Funds"
Use Case Diagrams
model the interactions between a system's clients (bank customers) and the system
produced during the analysis stage of the software life cycle=

Actor defines the roles that an external entity such as a person or another system
plays when interacting with the system

Design Stage II
Class diagrams model the classes, or "building blocks," used in a system. Each noun
or "thing" described in the requirements document is a candidate to be a class in the
system (e.g., "account," "keypad"). Class diagrams help specify the structural
relationships between parts of the system.
Identifying the Classes

find key nouns and noun phrases to help us identify classes that comprise the ATM
system.

Identifying the Classes


Create classes only for the nouns and noun phrases that have significance in the
ATM system We do not need to model "bank" as a class the bank is not a part of the
ATM system "Customer" and "user" also represent entities outside of the system
they are important because they interact with our ATM system, but we do not need
to model them as classes in the ATM software. We modelled an ATM user (i.e., a
bank customer) as the actor in the use case diagram.
We do not model "$20 bill" or "deposit envelope" as classes. These are physical
objects in the real world, but they are not part of what is being automated. We can
adequately represent the presence of bills in the system using an attribute of the
class that models the cash dispenser. For example, the cash dispenser maintains a
count of the number of bills it contains. The requirements document does not say
anything about what the system should do with deposit envelopes after it receives
them. We can assume that simply acknowledging the receipt of an envelope an
operation performed by the class that models the deposit slot is sufficient to
represent the presence of an envelope in the system.
“Money”, “balance” attributes of other classes seems most appropriate "account
number“, "PIN" important attributes of a bank account. They do not exhibit
behaviours. Model them as attributes of an account class. "Transaction" We do not
model the broad notion of a financial transaction at this time. Instead, we model the
three types of transactions as individual classes. "Balance inquiry," "withdrawal" and
"deposit" Later we "factor out" common features of all transactions into a general
"transaction" class using the object-oriented concepts of abstract classes and
inheritance
Candidate Classes
ATM screen keypad cash dispenser deposit slot account bank database balance
inquiry withdrawal deposit
ATM Screen Keypad CashDispenser DepositSlot Account BankDatabase,
BalanceInquiry Withdrawal Deposit

UML Class Diagram


Each class modelled as a rectangle with three compartments. The top compartment
contains the name of the class, centred horizontally and in boldface. The middle
compartment contains the class's attributes. The bottom compartment contains the
class's operations

The solid line that connects the two classes represents an association relationship
between classes. The numbers near each end of the line are multiplicity values, which
indicate how many objects of each class participate in the association. At any given
moment, one ATM object participates in an association with either zero or one
Withdrawal objects.
An association can be named. Association names are directional, as indicated by the
filled arrow-head "one object of class ATM executes zero or one objects of class
Withdrawal.
Role name –currentTransaction indicates that the Withdrawal object participating in the
Executes association with an object of class ATM represents the transaction currently
being processed by the ATM. In other contexts, a Withdrawal object may take on other
roles (e.g., the previous transaction). We do not specify a role name for the ATM end of
the Executes association. Role names in class diagrams are often omitted when the
meaning of an association is clear without them .

Multiplicity Types
Class diagram for the ATM system model

UML –composition relationship

Solid diamonds attached to the association lines of class ATM indicate that class ATM
has a composition relationship with classes Screen, Keypad, CashDispenserand
DepositSlot. Composition implies a whole/part relationship. The class that has the
composition symbol (the solid diamond) on its end of the association line is the
whole (in this case, ATM), the classes on the other end of the association lines are
the parts in this case, classes Screen, Keypad, CashDispenserand DepositSlot. An
object of class ATM is formed from one object of class Screen, one object of class
CashDispenser, one object of class Keypad and one object of class DepositSlot. The
ATM "has a" screen, a keypad, a cash dispenser and a deposit slot. The "has-a"
relationship defines composition.
UML –composition relationship properties
Only one class in the relationship can represent the whole (i.e., the diamond can be
placed on only one end of the association line). For example, either the screen is part
of the ATM or the ATM is part of the screen, but the screen and the ATM cannot
both represent the whole in the relationship. The parts in the composition
relationship exist only as long as the whole, and the whole is responsible for the
creation and destruction of its parts. For example, the act of constructing an ATM
includes manufacturing its parts. Furthermore, if the ATM is destroyed, its screen,
keypad, cash dispenser and deposit slot are also destroyed. A part may belong to
only one whole at a time, although the part may be removed and attached to
another whole, which then assumes responsibility for the part.
Hollow diamonds can be attached to the ends of association lines to indicate
Aggregation a weaker form of composition
For example, a personal computer and a computer monitor participate in an
aggregation relationship the computer "has a" monitor, but the two parts can exist
independently, and the same monitor can be attached to multiple computers at
once, thus violating the second and third properties of composition.

You might also like