ATM SYSTEM
AIM
To develop a project ATM System using the BOUML Software.
PROBLEM STATEMENT
The customer should be able to perform banking operations such as
withdrawing cash, checking balance, and depositing money using an ATM
machine. The ATM system should authenticate the user, process transactions,
and provide receipts.
Customer inserts ATM card into the machine
Customer enters PIN for authentication
System validates the user details
Customer selects required transaction (withdraw, deposit, balance
inquiry)
ATM processes the transaction
ATM dispenses cash or shows balance
ATM prints receipt
Software Requirement Specification (SRS) – ATM System
1. Introduction
(i) Purpose of this Document
The purpose of this document is to describe the requirements and functionalities
of the ATM System, which allows customers to perform banking transactions
such as cash withdrawal, deposit, and balance inquiry.
(ii) Scope of this Document
The ATM System is a machine-based application that enables customers to
access their bank accounts using an ATM card and PIN. It provides secure and
efficient transaction processing without requiring human assistance.
(iii) Overview
The ATM System is designed to automate banking services. It interacts with the
bank server to authenticate users and process transactions. The system ensures
secure access, fast processing, and accurate transaction handling.
2. Overall Description
The ATM System connects to a bank server to perform transactions like
withdrawal, deposit, and balance inquiry. Users authenticate using a PIN
through a simple interface. It requires network, power, and a valid card.
Security is maintained through PIN verification.
3. Specific Requirements
(i) Functional Requirements
Accept ATM card
Prompt and verify PIN
Authenticate user
Select transaction type
Process withdrawal, deposit, balance inquiry
Display results
Print receipt
Eject card
Handle invalid PIN
(ii) Non-Functional Requirements
Performance
Security
Reliability
Usability
Availability
(iii) Hardware Requirements
ATM Machine
Card Reader
Keypad
Display Screen
Cash Dispenser
Receipt Printer
(iv) Software Requirements
Operating System (Windows/Linux)
ATM Application Software
Database Management System
Network Communication Software
(v) Interface Requirements
1. User Interface
2. Hardware Interface
3. Communication Interface
4. System Features
(i) User Authentication
User inserts card and enters PIN
System validates credentials
(ii) Cash Withdrawal
User selects withdrawal option
Enters amount
System dispenses cash
(iii) Balance Inquiry
Displays available balance
(iv) Deposit
Accepts cash deposit and updates account
(v) Receipt Generation
Prints transaction details
5. External Interface Requirements
ATM interacts with bank database
Communication through secure network
Hardware interaction with ATM devices
Develop data flow diagram (dfd) model (level 0 & 1) of ATM system.
Details:
1) DFD Level 0:
DFD level 0 is the entire concept of the system is demonstrated in a
single [Link] level 0 is also called as context diagram.
1) DFD Level 1:
DFD Level 1 provides a more detailed breakout of pieces of the Context
Level Diagram. You will highlight the main functions carried out by the
system, as you break down the high-level process of the Context Diagram
into its subprocesses.
USERCASE DIAGRAM
a) Use case is a sequence of transaction in a system whose task is to yield result of
measurable value to individual author of the system
b) Use case is a set of scenarios together by a common user goal
c) A scenario is a sequence of step describing as interaction between a user and a
system
Documentation of Use Case Diagram
Actors:
Customer – Uses ATM to perform banking transactions
ATM Machine – Interface between customer and bank system
Bank Server – Validates and processes transactions
Use Cases:
Insert Card – Customer inserts ATM card
Enter PIN – Customer enters PIN for authentication
Authenticate User – Bank server validates credentials
Select Transaction – Choose withdrawal, deposit, or balance inquiry
Withdraw Cash – ATM dispenses cash
Deposit Cash – Customer deposits money
Check Balance – Displays account balance
Print Receipt – ATM prints transaction details
Eject Card – ATM returns card
CLASS DIAGRAM:
A class diagram describes the type of objectors in the system the various kinds of
static relationship that exist among them.
Documentation of Class Diagram
Classes Used:
Customer
o Attributes: name, accountNumber, PIN
o Operations: insertCard(), enterPIN(), selectTransaction()
ATM Machine
o Attributes: machineID, location
o Operations: authenticateUser(), processTransaction(),
dispenseCash(), printReceipt()
Bank Server
o Attributes: bankName, database
o Operations: validatePIN(), updateAccount(), checkBalance()
Account
o Attributes: accountNumber, balance
o Operations: debit(), credit(), getBalance()
SEQUENCE DIAGRAM
A sequence diagram is one that includes the object of the projects and tells the
lifetimes and also various action performed between objects.
Documentation of Sequence Diagram
Customer inserts the card into ATM. ATM requests PIN and sends it to the
bank server for validation. After successful validation, the customer selects a
transaction. The ATM communicates with the bank server to process it. Finally,
ATM displays results, prints receipt, and ejects the card.
COLLOBORATIION DIAGRAM
It is same as the sequence diagram that involved the project with the only difference
that we give the project with the only difference that we give sequence number to each
process.
Documentation of Collaboration Diagram
The collaboration diagram shows interaction between Customer, ATM
Machine, and Bank Server. The sequence includes inserting card,
authentication, selecting transaction, processing transaction, and displaying
results.
STATE DIAGRAM
It is a technique to describe the behavior of the system. It describes all the possible
states that a particular object gets into theobject oriented technique. State diagram are
drawn for a single class to show to the lifetime behaviour of a single objects
Documentation of Statechart Diagram
The ATM system moves through states such as:
Idle State
Card Inserted
PIN Entered
Authentication
Transaction Selection
Processing Transaction
Printing Receipt
Card Ejected
ACTIVIY DIAGRAM
It includes all the activities of particular project and various steps using join
and forks.
Documentation of Activity Diagram
The activity starts when the customer inserts the ATM card. The system asks
for a PIN and validates it. If authentication is successful, the customer selects
a transaction. Based on the selection, the system performs withdrawal,
deposit, or balance inquiry. Finally, the ATM prints the receipt and ejects the
card.
COMPONENT DIAGRAM
The component diagram is represented by figure dependency and it is a graph of
design of figure dependency. The component diagram's main purpose is to show the
structural relationships between the components of a systems. It is represented by
boxed figure. Dependencies are represented by communication association
Documentation of Component Diagram
The ATM system consists of components such as:
User Interface
Transaction Processing Module
Authentication Module
Database
All components interact to perform ATM operations.
DEPLOYMENT DIAGRAM
It is a graph of nodes connected by communication association. It is represented by a
three dimensional box. A deployment diagram in the unified modeling language
serves to model the physical deployment of artifacts on deployment targets.
Dependencies are represented by communication association. The basic element of a
deployment diagram is a node of two types
DEVICE NODE – A physical computing resource with processing and memory
service to execute software, such as a typical computer or a mobile phone.
EXECUTION ENVIRONMENT NODE-- This is a software computing resource
that runs within an outer node and which itself provides a service to host an execute
other executable software element.
CODE GENERATION – ATM SYSTEM
PROCEDURE:
1. Open the BOUML tool.
2. Create or open the project.
3. Set the programming language to Java
4. Go to Tools → Languages → Java
5. Select Java as the default language.
6. Open the Class Diagram that we created earlier.
7. Assign Java language to classes
8. Right click on each class.
9. Click Edit → Set Language = Java.
10. Check attributes and operations
11. Ensure each class contains attributes and methods with correct visibility
(+ public, – private).
12. Generate Java code from classes
13. Right click on the Class Diagram.
14. Select Generate Code.
15. Choose the folder to store code
16. Select the project folder location.
17. Click OK.
18. BOUML automatically generates .java files for all classes.
19. Open the generated files in any IDE (Eclipse / IntelliJ / VS Code).
20. Compile and run the Main class to test the program.
RESULT
Thus the project to develop an ATM System using BOUML Software is
completed successfully.