0% found this document useful (0 votes)
24 views21 pages

Report

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)
24 views21 pages

Report

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/ 21

||Jai Sri Gurudev||

ADICHUNCHANAGIRI UNIVERSITY
BGS INSTITUTE OF TECHNOLOGY, B G NAGAR -571448

A Mini Project Report


On

“ATM SIMULATION SYSTEM”


Submitted in partial fulfillment for the Academic Year 2023-24

Bachelor Of Engineering
In
Computer Science & Engineering
Submitted By
MADHU K H[22CSE086]
MADHUSHREE B M[22CSE087]

Under the guidance of


Mrs. NANDINI S R
Assistant Professor
Dept. of CSE, BGSIT

DEPARTMENT OF COMPUTER SCIENCE AND ENGINEERING,


BGS INSTITUTE OF TECHNOLOGY, B G NAGAR
MANDYA -571448
2023-24
BGS INSTITUTE OF TECHNOLOGY
DEPARTMENT OF COMPUTER SCIENCE AND ENGINEERING
B G NAGARA, NAGAMANGALA TALUK, MANDYA-571448

CERTIFICATE
This is to certify that the Mini Project report entitled “ATM SIMULATION SYTEM” has
been successfully carried out by Mr., MADHU K H, bearing USN: 22CSE086, And
Mrs., MADHUSHREE B M , bearing USN:22CSE087, a bonafide student of B.G.S

INSTITUTE OF TECHNOLOGY, B.G Nagar in partial fulfillment of


requirements of degree of Bachelor of Engineering in Computer Science &
Engineering of Adichunchanagiri University, B.G Nagar during the year of 2023-24. It is
certified that all corrections/suggestions indicated for the internal assessment have been
incorporated in the report deposited in the department library. The Mini Project report has been
approved as it satisfies the academic requirements in respect of Project work prescribed for
the Bachelor of Engineering .

Signature of guide Signature of HOD

…………………………..
…………………………..
Mrs. NANDINI S R Dr. SHASHIKALA S V
Assistant Professor, Professor & HOD,
Dept. of CSE,BGSIT Dept.of CSE,BGSIT

External Viva
Name of Examiners Signature of Examiners

1 ………………………. 1………………………………

2 ………………………. 2………………………………
ACKNOWLEDGEMENT

I would like to take this opportunity to thank a lot of eminent personalities, without whose
constant encouragement, this endeavor of mine would not have become a reality. At first, I
would like to thank the ADHICHUNCHANAGIRI UNIVERSITY, for having this Project as
a part of its curriculum, which gave me a wonderful opportunity to work on my research and
presentation abilities and BGSITfor providing me with such excellent facilities, without which,
this project could nothave acquired the shape it has now done.

My heartfelt gratitude to our honorable principal Dr. B N SHOBHA, B.G.S Institute of


Technology, for his constant support and encouragement.

Our sincere thanks to Dr. Shashikala S V, Professor and Head, Department of CS&E,
BGSIT, B G Nagar, Nagamangala Taluk, Mandya District, for giving usa chance to carry
out and present our Mini project work with all support and facilities.

I am greatly indebted to our Guide Mrs. NANDINI S R , Assistant Professor,

Department of Computer Science and Engineering, for providing me with all thefacilities
necessary for making this project a great success.
I am grateful to my parents, friends and well-wishers for their contribution on a personal level.

Last but not the least my profound thanks to the Teaching staff and Non-Teaching staff of the
Department of Computer Science and Engineering for their help an patience.

MADHU K H [22CSE086]
MADHUSHREE B M [22CSE087]

i
ABSTRACT
This report presents the design and implementation of an Automated Teller Machine (ATM)
simulation system using Java. The primary objective of this simulation is to emulate the core
functionalities of a real-world ATM, including user authentication, balance inquiries, cash
withdrawals, deposits, and transaction history. The system is designed with a focus on object-
oriented principles, ensuring modularity, scalability, and maintainability. The ATM
simulation is developed using Java Standard Edition (SE), leveraging its robust API and
comprehensive libraries. Key components of the system include the user interface, account
management, transaction processing, and data persistence. The user interface, implemented
using Java Swing, provides an intuitive and interactive experience for users. The account
management module handles user authentication and manages account details securely.
Transaction processing ensures the integrity and consistency of operations, while data
persistence is achieved using file handling mechanisms to simulate a simple database.

KEYWORDS: Object Oriented design, User authentication, Transaction processing,


Account Management, Graphical User Interphase, Banking Operation

ii
CONTENTS
Title Page No.

ACKNOWLEDGMENT i
ABSTRACT ii
CONTENTS iii

CHAPTER 1 INTRODUCTION 1
CHAPTER 2 LITERATURE SURVEY 2
2.1 Related work 2
CHAPTER 3 PROBLEM STATEMENT 3-5
3.1 Functional Requirements 3
3.2 Non- Functional Requirements 4
3.3 System Architecture 4
3.4 Assumptions 4
3.5 Limitations 4
3.6 Benefits 5
CHAPTER 4 REQUIREMENTS SPECIFICATION 6-7
4.1 Hardware Requirements 6
4.2 Software Requirements 6
4.3 Requirements 7
4.3.1 Introduction to Java 7
4.3.2 Case Tool 7
CHAPTER 5 IMPLEMENTATION 8-9
5.1 Modules 8
5.2 Code for visit site 9
CHAPTER 6 SNAPSHOTS 12-14
CONCLUSION AND FUTURE ENHANCEMENT 15-16
REFERENSES 17

iii
FIGURE NO. FIGURE NAME PAGE NO.

6.1

iv
ssschaalsscs

ATM SIMULATION SYSTEM 2023-24

CHAPTER 1
INTRODUCTION
In today's fast-paced world, automated teller machines (ATMs) play a pivotal role in providing
convenient access to banking services. These ubiquitous devices enable customers to perform a
wide range of transactions, from withdrawing cash to transferring funds and checking account
balances, without the need for human intervention. As technology continues to evolve, the
demand for efficient and reliable ATM systems remains ever present. The ATM simulation
system presented here encapsulates the core functionalities of a real-world ATM within a Java-
based software application. Leveraging object-oriented programming principles and modular
design, this system aims to emulate the user experience of interacting with an actual ATM while
providing a flexible framework for further enhancements and customization.
System Overview: At its core, the ATM simulation system consists of multiple
interconnected modules that collectively facilitate the execution of various banking transactions.
These modules encompass user authentication, transaction processing, account management, and
user interface components, each serving a distinct yet interrelated purpose. User Authentication:
Ensuring secure access to banking services is paramount in any ATM system. To this end, robust
user authentication mechanisms are employed to verify the identity of individuals seeking to
perform transactions. In the context of the simulation system, authentication is typically achieved
through the use of personal identification numbers (PINs) or biometric authentication methods,
such as fingerprint recognition. Transaction Processing: Once a user has been successfully
authenticated, they gain access to a suite of transactional capabilities. These include cash
withdrawals, fund transfers between accounts, balance inquiries, and deposit functionalities.
In conclusion, the ATM simulation system in Java represents a comprehensive solution for
emulating the functionalities of a real-world ATM within a software-based environment. By
encapsulating user authentication, transaction processing, account management, and user
interface components, the system provides a robust platform for conducting banking transactions
securely and efficiently. Moving forward, continued refinement and enhancement of the system
will further cement its position as a reliable tool for simulating ATM operations and fostering
innovation in the field of financial technology.

Dept. of CSE, BGSIT Page | 1


ATM SIMULATION SYSTEM 2023 -24

CHAPTER 2

LITERATURE SURVEY

A literature survey for an ATM simulation system in Java encompasses a broad spectrum of
research, ranging from studies on ATM technology and banking systems to software engineering
principles and Java programming methodologies. Here's an overview of key topics and research
findings relevant to such a survey:
Automated Teller Machine (ATM) Technology: Several academic and industry publications
delve into the technical aspects of ATM hardware and software architecture. Research in this
domain covers topics such as ATM components (e.g., card reader, keypad, cash dispenser),
communication protocols, security mechanisms , and transaction processing algorithms.
Understanding the underlying technology is crucial for designing an accurate simulation system
that mirrors the behavior of real-world ATMs. Banking Systems and Transaction Processing:
The banking sector is a rich source of literature on transaction processing systems, including
ATM networks. Studies explore various aspects of transactional workflows, data integrity,
concurrency control, and fault tolerance in distributed banking environments. Research findings
in this area inform the design and implementation of transaction processing modules within the
ATM simulation system, ensuring reliability and consistency in handling user transactions. Java
Programming and Frameworks: As the chosen programming language for implementing the
ATM simulation system, Java-specific literature is particularly relevant. Research in Java
programming covers a wide range of topics, including language features, libraries, frameworks,
tools, and best practices. Studies on Java development frameworks such as Spring, Hibernate,
and JavaFX offer valuable insights into building enterprise-grade applications with robust
architecture, data persistence, and graphical user interfaces
In conclusion, the literature survey for an ATM simulation system in Java encompasses a
multidisciplinary approach, drawing insights from diverse fields such as ATM technology,
banking systems, user experience design, software engineering, Java programming, and
simulation techniques. By synthesizing research findings from these domains, developers can
gain a comprehensive understanding of the requirements, challenges, and best practices involved
in designing and implementing an effective ATM simulation system. Moving forward, continued
exploration and integration of emerging research trends will further advance the capabilities and
applicability of such systems in the realm of financial technology.

Dept. of CSE, BGSIT Page | 2


ATM SIMULATION SYSTEM 2023 -24

CHAPTER 3
PROBLEM STATEMENT

The ATM (Automated Teller Machine) simulation system is designed to emulate the core
functionalities of a real-world ATM. The objective of this project is to provide a simulated
environment where users can perform various banking transactions such as balance inquiries, cash
withdrawals, deposits, and account management.

The primary objectives of the ATM simulation system are:

➢ To simulate basic ATM functionalities.

➢ To ensure secure user authentication.

➢ To maintain accurate account information.

➢ To provide a user-friendly interface for interaction

3.1 Functional Requirements

3.1.1 User Authentication


➢ Login: Users must log in using a valid card number and PIN.

➢ Logout: Users must be able to log out securely.

3.1.2 Account Management


➢ Balance Inquiry: Users can check the balance of their account.

➢ Cash Withdrawal: Users can withdraw cash from their account.

The system should check if the account has sufficient funds.

The system should limit the maximum withdrawal amount per transaction per day.

➢ Cash Deposit: Users can deposit cash into their account.

The system should update the account balance accordingly.

➢ Mini Statement: Users can view a mini statement of recent transactions.

3.1.3 Additional Functionalities


➢ PIN Change: Users can change their PIN.

➢ Fund Transfer: Users can transfer funds between their own accounts or to other users'
accounts within the same bank.

Dept. of CSE, BGSIT Page | 3


ATM SIMULATION SYSTEM 2023 -24

3.2 Non-Functional Requirements


➢ Security: The system must ensure the security and confidentiality of user data.

All transactions and sensitive data should be encrypted.

➢ Reliability: The system should be highly reliable with minimal downtime.

➢ Usability: The interface should be intuitive and easy to navigate for users of all ages.

➢ Performance: The system should handle concurrent users efficiently without


significant delay in processing transactions.

3.3 System Architecture

3.3.1 User Interface


➢ A console-based or graphical user interface for user interaction.

➢ Clear prompts and error messages to guide users through transactions.

3.3.2 Backend
➢ A simulated database to store user account information, transaction history, and
authentication data.

➢ Modules for handling different transactions such as login, balance inquiry, withdrawals,
deposits, and fund transfers

3.3.3 Security Measures


➢ Encryption for sensitive data such as PINs and account details.

➢ Secure handling of session data to prevent unauthorized access.

3.4 Assumptions
➢ The ATM will only support a single bank.

➢ The system does not handle physical cash but simulates transactions.

➢ Users are assumed to have basic familiarity with ATM operations.

3.5 Limitations
➢ The system will not interface with real banking networks or handle real currency.

➢ The simulation will not cover advanced features such as multi-currency support or
integration with external financial services.

Dept. of CSE, BGSIT Page | 4


ATM SIMULATION SYSTEM 2023 -24

3.6 BENEFITS

3.6.1 Educational Tool

Learning Java: Developing an ATM simulation system is an excellent way for students and
beginners to learn and practice Java programming concepts, including object-oriented
programming, data structures, and error handling.

Understanding Banking Systems: The simulation provides insights into how real-world
banking systems operate, including transaction processing, account management, and security
measures.

3.6.2 Software Development Skills

Project Management: Working on an ATM simulation project helps improve project


management skills, including planning, requirement gathering, designing, coding, testing,
and maintenance.

Debugging and Testing: The project enhances debugging and testing skills by identifying
and fixing errors, ensuring the system works as intended.

3.6.3 Security Awareness

Implementing Security Measures: The project emphasizes the importance of implementing


security measures such as encryption, secure authentication, and data integrity, which are
crucial for real-world applications.

Understanding Threats: Developers gain awareness of potential security threats and learn
how to mitigate them, which is essential for building secure applications.

3.6.4 Database Management

Simulated Database Interaction: The project involves creating and managing a simulated
database to store user account information and transaction history, providing hands-on
experience with database management and JDBC.

Data Integrity: Developers learn how to ensure data integrity and consistency, which are
critical aspects of database management.

Dept. of CSE, BGSIT Page | 5


ATM SIMULATION SYSTEM 2023 -24

CHAPTER 4
REQUIREMENTS SPECIFICATION

4.1 Hardware Requirements

Processor: Intel core i5

RAM: 8 GB
Hard Disk: 500
Key board Mouse
Display:1024*768 resolution

4.2 Software Requirements

Operating System: Windows–XP.


Application tool : Java Development Kit
Web Browser : Google Chrome

Dept. of CSE, BGSIT Page | 6


ATM SIMULATION SYSTEM 2023 -24

4.3 REQUIREMENTS:

4.3.1 Introduction to JAVA: Java is a high-level, object-oriented programming language.


It is designed to have as few implementation dependencies as possible, making it a popular choice
for cross-platform applications.

Platform Independence: Java programs are compiled into bytecode, which can run on any
device equipped with the Java Virtual Machine (JVM). This makes Java applications highly
portable across different operating systems and hardware.

Object-Oriented: Java is inherently object-oriented, which means it is based on the concept of


objects and classes. This paradigm promotes code reusability and modularity

4.3.2 Case tool:


There are several popular CASE (Computer-Aided Software Engineering) tools that support Java
development, each offering a variety of features for software design, modeling, and code
generation. Enterprise Architect by Spark Systems: A comprehensive UML modeling tool that
supports full software development life cycle. Features include UML diagrams, code generation,
reverse engineering, and database modeling. Integrates well with Java IDEs like Eclipse and
IntelliJ IDEA. Visual Paradigm: A powerful modeling tool supporting UML, BPMN, ERD, and
more. Offers code engineering for Java, including code generation and reverse engineering.
Provides Agile development tools, including user story mapping and Kanban. Astah: A user-
friendly modeling tool supporting UML, ERD, DFD, and Mind Mapping. Includes code
generation and reverse engineering for Java. Suitable for both individual developers and teams.

Dept. of CSE, BGSIT Page | 7


ATM SIMULATION SYSTEM 2023 -24

CHAPTER 5
IMPLEMENTATION
5.1 MODULES
➢ User Interface Module
➢ Transaction Processing Module
➢ Utility Module
➢ Banking Operation Module
➢ Authentication Module

5.2 Code for Visit Site


import java.util.Scanner;
public class ATM {
public static void main(String args[]) {
// declare and initialize balance, withdraw, and deposit
int balance = 5000, withdraw, deposit;
// create scanner class object to get choice of user
Scanner sc = new Scanner(System.in);
while (true) {
System.out.println("*Automated Teller Machine*");
System.out.println("1. Withdraw");
System.out.println("2. Deposit");
System.out.println("3. Check Balance");
System.out.println("4. EXIT");
System.out.print("Choose the operation you want to perform:");

// get choice from user


int choice = sc.nextInt();
switch (choice) {
case 1:
System.out.print("Enter money to be withdrawn:");
// get the withdrawl money from user
withdraw = sc.nextInt();
if (balance >= withdraw) {

Dept. of CSE, BGSIT Page | 8


ATM SIMULATION SYSTEM 2023 -24

// remove the withdrawl amount from the total balance


balance = balance - withdraw;
System.out.println("Please collect your money");
} else {
// show custom error message
System.out.println("Insufficient Balance");
}
System.out.println("");
break;

case 2:
System.out.print("Enter money to be deposited:");
deposit = sc.nextInt();
// add the deposit amount to the total balance
balance = balance + deposit;
System.out.println("Your Money has been successfully deposited");
System.out.println("");
break;

case 3:
// displaying the total balance of the user
System.out.println("Balance : " + balance);
System.out.println("");
break;

case 4:
System.exit(0);
default:
//default statement
System.out.println("Invalid Choice");
}
}
}

Dept. of CSE, BGSIT Page | 9


ATM SIMULATION SYSTEM 2023 -24

CHAPTER 6

SNAPSHOTS

Dept. of CSE, BGSIT Page | 10


ATM SIMULATION SYSTEM 2023 -24

Dept. of CSE, BGSIT Page | 11


ATM SIMULATION SYSTEM 2023 -24

CONCLUSION AND FUTURE ENHANCEMENT


CONCLUSION
➢ Effective Use of OOP Principles: Demonstrates robust object-oriented design with clear
class structures for ATM, Account, and Transaction, ensuring modularity and code
reusability.

➢ User-Friendly Interface: Provides an intuitive interface, enabling users to perform standard


banking operations effortlessly.

➢ Secure Data Handling: Ensures confidentiality and integrity of user data through secure
data management practices.

➢ Comprehensive Error Handling: Implements thorough error handling to manage invalid


inputs and exceptional scenarios, enhancing system reliability.

➢ Rigorous Testing: Undergoes extensive testing to validate functionality, ensuring the


system meets requirements and operates correctly.

➢ Scalability and Extensibility: Designed for future enhancements, allowing for the easy
addition of new features and improvements.

➢ Practical Application of Java Skills: Reinforces essential Java programming skills,


preparing developers for real-world applications in banking and finance.

➢ Data Management and Security: Implementing secure data handling mechanisms ensures
the confidentiality and integrity of user information. This involves techniques like
encryption for sensitive data and secure authentication processes.

➢ Testing and Validation: Rigorous testing was conducted to validate the functionality of the
system. Unit tests, integration tests, and user acceptance testing ensured that the system
met the specified requirements and operated correctly under various conditions.

Dept. of CSE, BGSIT Page | 12


ATM SIMULATION SYSTEM 2023 -24

FUTURE ENHANCEMENT
Although ATMs were originally developed as just cash dispensers, they have evolved to
include many other bank-related functions. In some countries, especially those which benefit
from a fully integrated cross-bank ATM network (e.g.: Multibanco in Portugal), ATMs include
many functions which are not directly related to the management of one's own bank account,
such as:
➢ Deposit currency recognition, acceptance, and recycling
➢ Paying routine bills, fees, and taxes (utilities, phone bills, social security, legal fees, taxes,
etc.)
➢ Printing bank statements
➢ Updating passbook
➢ Loading monetary value into stored value cards
Purchasing
➢ Postage stamps
➢ Lottery tickets
➢ Train tickets
➢ Concert tickets
➢ Movie tickets
➢ Shopping mall gift certificates

Dept. of CSE, BGSIT Page | 13


ATM SIMULATION SYSTEM 2023 -24

REFERENCES

1) Java Complete Reference - Herbert Shildt

2) Java Network Programming – Oreilley Publications

3) Computer Network – Tanenbaum

4) Software Engineering – Roger S. Pressman

Dept. of CSE, BGSIT Page | 14


ATM SIMULATION SYSTEM 2023 -24

Dept. of CSE, BGSIT Page | 15

You might also like