RTRP Documentation
RTRP Documentation
ON
IMPLEMENTATION OF ATM MACHINE
Submitted to
Sri Indu College of Engineering and Technology, Hyderabad
in partial fulfillment of the requirements for the award of
degree of
BACHELOR OF TECHNOLOGY
In
INFORMATION TECHNOLOGY
Submitted
By
A.SHIVAGANESH (22D41A1207)
K.RISHI (22D41A1237)
M.NANDHINI (22D41A1240)
M.SRAVANTHI (22D41A1243 )
Under the esteemed guidance
Of
Mrs.J.HEMALATHA
CERTIFICATE
Certified that the Mini project entitled “IMPLEMENTATION OF ATM MACHINE" is a Bonafide
work carried out by A.SHIVAGANESH (22D41A1207), K.RISHI (22D41A1237),M.NANDHINI
(22D41A1240), M.SRAVANTHI (22D41A1243) in partial fulfillment for the award of Bachelor of
Technology in SICET, Hyderabad for the academic year 2023-2024.1he project has been approved
as it satisfies academic requirements in respect of the work prescribed for II YEAR, II-SEMESTER
of B. TECH course.
2
ACKNOWLEDGEMENT
With great pleasure we want to take this opportunity to express our heartfelt gratitude to all
people who helped in making this project work a success. We thank the almighty for giving us the
courage & preseverance in completing the project.
We are thankful to Principal Prof. Dr. G. Suresh, for giving us the permission to carry out
this project and for providing necessary infrastructure and labs.
We are grateful to our internal project guide, Mrs.J.Hemalatha, for her constant motivation
and guidance given by her during the execution of this project work.
We would like to thank the teaching & non- teaching staff of department of Information
Technology for sharing their knowledge with us.
Last but not the least we express our sincere thanks to everyone who helped directly or
indirectly for the completion of this project.
A.SHIVAGANESH (22D41A1207)
K.RISHI (22D41A1237)
M.NANDHINI (22D41A1240)
M.SRAVANTHI (22D41A1243)
3
ABSTRACT
This project aims to develop an ATM (Automated Teller Machine) Simulation system
using Java programming language. The implementation includes key functionalities
such as account balance inquiry, cash withdrawal, cash deposit, and PIN verification.
The system utilizes object-oriented programming principles to model various
components of the ATM system, including accounts, transactions, and user interfaces.
Additionally, the project focuses on ensuring security measures such as encryption for
sensitive data transmission and authentication mechanisms. Through this
implementation, users can interact with the simulated ATM system, mimicking real-
world banking operations, thereby providing a practical learning experience in Java
programming and software development.
4
CONTENTS
1. INTRODUCTION 6
2.1.EXISTING SYSTEM
3. SYSTEM REQUIREMENTS 8
5
5. SYSTEM STUDY 17
7.1 MODULES
6
8.SOFTWARE ENVIRONMENT 24-27
11. SCREENSHOT 31
12. CONCLUSION 32
7
1.INTRODUCTION
An automated teller machine (ATM) is an electronic telecommunications
device that enables customers of financial institutions to perform financial
transactions, such as cash withdrawals, deposits, funds transfers, balance
inquiries or account information inquiries, at any time and without the
need for direct interaction with bank staff.
8
2.SYSTEM ANALYSIS
2.1.EXISTING SYSTEM
The existing system for the ATM machine project operates in real-time, facilitating efficient
transactions for users. It encompasses various components, including hardware such as card
readers, pin pads, and cash dispensers, as well as software systems for account verification,
transaction processing, and network communication. Users interact with the system through
intuitive interfaces, enabling them to perform tasks such as withdrawing cash, checking balances,
and transferring funds seamlessly. The system incorporates robust security measures, including
encryption protocols and authentication mechanisms, to safeguard sensitive user information and
prevent unauthorized access. Regular maintenance and updates ensure the system's reliability and
compliance with evolving security standards, ensuring a smooth and secure banking
experience for customers.
❖ Security Unlike bank tellers, ATMs do not require the person performing the transaction to
present a picture identification. Rather, the person must only insert a bank card and enter a
personal identification number. ...
❖ Inability To Perform Complex Transactions ATMs can only perform relatively basic
transactions. ...
❖ Fees With the advent of ATMs came ATM fees. ...
❖ Privacy ...
❖ Difficulty of Use.
9
2.2.1. ADVANTAGES OF PROPOSED SYSTEM
3. SYSTEM REQUIREMENTS
3.1. HARDWARE REQUIREMENTS
✓ Card Reader.
✓ Keypad.
✓ Display Screen.
✓ Cash Dispenser
✓ Receipt Printer.
✓ Safe
10
4. SYSTEM DESIGN
Fig:4.1.System Model
❖ DFD (Data Flow Diagram) of an ATM System consist of two levels of DFD. These levels
are Level 0 DFD and Level 1 DFD. Both these levels are used for making the DFD of an
ATM system.
❖ Level 0 DFD : This level is also known as Context Level DFD. At this level, only the interacting
inputs and outputs with a system are described. The DFD of this level is shown below:
❖ Level 1 DFD : At this level, more detailed information is given about the processing of the ATM
system. The DFD of this level is shown below:
11
Fig: 4.2(a) user data flow diagram
12
4.3. UML DIAGRAMS
13
GOALS
14
4.4. USE CASE DIAGRAM
A use case diagram in the Unified Modelling Language (UML) is a type of behavioural
diagram defined by and created from a Use-case analysis. Its purpose is to present a graphical
overview of the functionality provided by a system in terms of actors, their goals (represented as use
cases), and any dependencies between those use cases. The main purpose of a use case diagram is to
show what system functions are performed for which actor. Roles of the actors in the system can be
depicted.
15
4.5. CLASS DIAGRAM
In software engineering, a class diagram in the Unified Modelling Language (UML) is a type
of static structure diagram that describes the structure of a system by showing the system's classes,
their attributes, operations (or methods), and the relationships among the classes. It explains which
class contains information.
16
4.6. SEQUENENCE DIAGRAM
A sequence diagram in Unified Modelling Language (UML) is a kind of interaction diagram
that shows how processes operate with one another and in what order. It is a construct of a Message
Sequence Chart
Sequence diagrams are sometimes called event diagrams, event scenarios, and timing diagrams.
17
4.7. ACTIVITY DIAGRAM
Activity diagrams are graphical representations of workflows of stepwise activities and actions with
support for choice, iteration and concurrency. In the Unified Modelling Language, activity diagrams can be
used to describe the busine ss and operational step-by-step workflows of components in a system. An activity
diagram shows the overall flow of control.
18
5. SYSTEM STUDY
The feasibility of the project is analyzed in this phase and business proposal is put forth with
a Very general plan for the project and some cost estimates. During system analysis the feasibility
study of the proposed system is to be carried out. This is to ensure that the proposed system is not a
burden to the company.
For feasibility analysis, some understanding of the major requirements for the system is essential.
Three key considerations involved in the feasibility analysis are
ECONOMICAL FEASIBILITY
TECHNICAL FEASIBILITY
SOCIAL FEASIBILITY
This study is carried out to check the economic impact that the system will have on the
organization.The amount of fund that the company can pour into the research and development of
the system is limited. The expenditures must be justified. Thus, the developed system as well within
the budget and this was achieved because most ofthe technologies used are freely available. Only
the customized products had to be purchased.
His level The aspect of study is to check the level of acceptance of the system by the user. This
includes the process of training the user to use the system efficiently. The user must not feel
threatened by the system, instead must accept it as a necessity The level of acceptance by the users
solely depends on the methods that are employed to educate the user about the system and to make
him familiar with it.
19
6. SYSTEM TESTING
The purpose of testing is to discover errors. Testing is the process of trying to discover every
conceivable fault or weakness in a work product. It provides a way to check the functionality of
components, sub-assemblies, assemblies and/or a finished product It is the process of exercising
software with the intent of ensuring that the
Software system meets its requirements and user expectations and does not fail in an
unacceptable manner. There are various types oftests. Each test type addresses a specific testing
requirement.
20
Valid Input . identified classes ofvalid input must be accepted.
Black Box Testing is testing the software without any knowledge of the inner workings,
structure or language of the module being tested. Black box tests, as most other kinds of tests, must
be written from a definitive source document, such as specification or requirements document, such
as specification or requirements document. It is a testing in which the software under test is treated,
as a black box. You cannot
"see" into it. The test provides inputs and responds to outputs without considering how the software
works.
21
Test objectives
All field entries must work properly.
Pages must be activated from the identified link
The entry screen, messages and responses must not be delayed
Features to be tested
Verify that the entries are of the correct format
No duplicate entries should be allowed
All links should take the user to the correct page
Integration Testing
Software integration testing is the incremental integration testing of two or more integrated
software components on a single platform to produce failures caused by interface defects.
The task ofthe integration test is to check that components or software applications, e.g.,
components in a software system or — one step up — software applications at the company level —
interact without error.
Test Results: All the test cases mentioned above passed successfully. No defects encountered.
Acceptance Testing
User Acceptance Testing is a critical phase of any project and requires significant participation
by the end user. It also ensures that the system meets the functional requirements.
Test Results: All the test cases mentioned above passed successfully No defects encountered.
22
7. SYSTEM IMPLEMENTATION
7.1. MODULES
7.2.SOURCE CODE
import java.util.Scanner;
while (true)
System.out.println("2. Withdraw");
System.out.println("3. Deposit");
System.out.println("4. Exit");
23
System.out.print("Enter your choice: ");
switch (choice)
case 1:
checkBalance();
break;
case 2:
withdraw();
break;
case 3:
deposit();
break;
case 4:
System.exit(0);
default:
24
}
System.out.println("Insufficient funds.");
else
balance -= amount
balance += amount;
25
8. SOFTWARE ENVIRONMENT
8.1. JAVA TECHNOLOGY
Java technology is both a programming language and a platform.
The Java programming language is a high-level language that can be characterized by all the
following
Simple
Architecture neutral
Object oriented
Portable
Distributed
High performance
Interpreted
Multithreaded
Robust
Dynamic
Secure
With most programming languages, you either compile or interpret a program so that you can
run it on your computer. The Java programming language is unusual in that a program is both
compiled and interpreted. With the compiler, first you translate a program into an intermediate
language called Java byte codes —the platform-independent codes interpreted by the interpreter on
the Java platform. The interpreter parses and runs each Java byte code instruction on the computer.
Compilation happens just once; interpretation occurs each time the program is executed. The
following figure illustrates how this works:
26
You can think of Java byte codes as the machine code instructions for the Java Virtual Machine
(Java VM)_ Every Java interpreter, whether it's a development tool or a Web browser that can run
applets, is an implementation ofthe Java VM_ Java byte codes help make "write once, run anywhere"
possible. You can compile your program into byte codes on any platform that has a Java compiler.
The byte codes can then be run on any implementation ofthe Java VM That means that if a computer
has a Java VM, the same program written in the Java programming language can run on Windows
2000, a Solaris workstation, or on an iMac
The Java API is a large collection of ready-made software components that provide many
useful capabilities, such as graphical user interface (GUI) widgets. The Java API is grouped into
libraries of related classes and interfaces; these libraries are known as packages.
27
Java Platform
However, the Java programming language is not just for writing cute, entertaining applets for
the Web. The general-purpose, high-level Java programming language is also a powerful software
platform. Using the generous API, you can \Wite many types of programs.
An application is a standalone program that runs directly on the Java platform. A special kind
of application known as a server serves and supports clients on a network. Examples of servers are
Web servers, proxy servers, mail servers, and print servers. Another specialized program is a servlet.
A servlet can almost be thought of as an applet that runs on the server side. Java Servlets are a popular
choice for building interactive web applications, replacing the use of CGI scripts. Servlets are similar
to applets in that they are runtime extensions of applications. Instead of working in browsers, though,
servlets run within Java Web servers, configuring or tailoring the server.
How does the API support all these kinds of programs? It does so with packages of software
components that provides a wide range of functionality. Every full implementation of the Java
platform gives you the following features:
The essentials: Objects, strings, threads, numbers, input and output, data structures, system
properties, date and time, and so on.
Applets. The set of conventions used by applets.
Networking: URLs, TCP (Transmission Control Protocol), UDP (User Data gram Protocol)
sockets, and
IP (Internet Protocol) addresses.
28
Internationalization. Help for writing programs that can be localized for users worldwide.
Programs can automatically adapt to specific locales and be displayed in the appropriate language.
Security. Both low level and high level, including electronic signatures, public and private key
management, access control, and certificates.
Software components: Known as JavaBeans, can plug into existing component architectures.
Object serialization. Allows lightweight persistence and communication via Remote Method
Invocation (RMI).
Java Database Connectivity (JDBC): Provides uniform access to a wide range of relational
databases. The Java platform also has APIs for 2D and 3D graphics, accessibility, servers,
collaboration, telephony, speech, animation, and more. The following figure depicts what is
included in the Java 2 SDK.
29
9.LITERATURE SURVEY
30
10. INPUT AND OUTPUT DESIGN
INPUT DESIGN
The input design is the link between the information system and the user. It comprises the
developing specification and procedures for data preparation and those steps are necessary to put
transaction data in to a usable form for processing can be achieved by inspecting the computer to
read data from a written or printed document or it can occur by having people keying the data directly
into the system. The design of input focuses on controlling the amount of input required, controlling
the errors, avoiding delay, avoiding extra steps and keeping the process simple. The input is designed
in such a way so that it provides security and ease of use with retaining the privacy. Input Design
considered the following things•
31
OBJECTIVES
Input Design is the process of converting a user-oriented description ofthe input into a computer-
based system. This design is important to avoid errors in the data input process and show the
correct direction to the management for getting correct information from the computerized
system.
It is achieved by creating user-friendly screens for the data entry to handle large volume ofdata_
The goal of designing input is to make data entry easier and to be free from errors. The data
entry screen is designed in such a way that all the data manipulates can be performed. It also
provides record viewing facilities.
When the data is entered it will check for its validity. Data can be entered with the help of screens.
Appropriate messages are provided as when needed so that the user will not be in maize of instant.
Thus, the objective of input design is to create an input layout that is easy to follow
OUTPUT DESIGN
A quality output is one, which meets the requirements of the end user and presents the
information clearly. In any system results of processing are communicated to the users and to other
system through outputs. In output design it is determined how the information is to be displaced for
immediate need and the hard copy output. It is the most important and direct source information to
the user. Effcient and intelligent output design improves the system 's relationship to help user
decision-making.
Designing computer output should proceed in an organized, well thought out manner; the right
output must be developed while ensuring that each output element is designed so that people will
find the system can use easily and effectively. When analysis design computer output, they should
Identify the specific output that is needed to meet the requirements.
Select methods for presenting information.
Create document, report, or other formats that contain information produced by the system.
The output form ofan information system should accomplish one or more ofthe following objectives.
32
11. SCREENSHOTS
11.1. PROJECT RUN
33
12. CONCLUSION
The successful implementation of an Automated Teller Machine (ATM) system hinges on the
seamless integration of various critical modules, each designed to handle specific functionalities
and ensure a robust, secure, and user-friendly experience. Our mission project has meticulously
crafted and integrated the following key modules: User Interface, Authentication, Transaction
Processing, Cash Dispenser, Security, Networking, Account Management, Administrative, Error
Handling, and Compliance.Through this comprehensive approach, the ATM system achieves
the following objectives:
In conclusion, our ATM mission project not only meets but exceeds industry standards, setting
a benchmark for future developments in automated banking solutions. We look forward to
leveraging this foundation to explore new innovations and enhancements, continually improving
the banking experience for all users.
34