0% found this document useful (0 votes)
353 views40 pages

Project Report (ATM SIMULATOR) PDF

The document is a project report submitted by Khushi for the degree of Bachelor of Technology in Computer Science and Engineering. It discusses the development of an Automated Teller Machine (ATM) simulator using Java. The report includes sections on the institute profile, introduction to Java and ATM simulators, hardware and software requirements, database tables, screenshots of the simulator, and conclusions. It was submitted to Punjabi University, Patiala in partial fulfillment of the degree requirements.
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)
353 views40 pages

Project Report (ATM SIMULATOR) PDF

The document is a project report submitted by Khushi for the degree of Bachelor of Technology in Computer Science and Engineering. It discusses the development of an Automated Teller Machine (ATM) simulator using Java. The report includes sections on the institute profile, introduction to Java and ATM simulators, hardware and software requirements, database tables, screenshots of the simulator, and conclusions. It was submitted to Punjabi University, Patiala in partial fulfillment of the degree requirements.
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/ 40

A Project Report

on

“Automated Teller Machine (ATM) Simulator in Java”

Submitted in partial fulfillment of the requirements for the award of the degree of

BACHELOR OF TECHNOLOY

(COMPUTER SCIENCE AND ENGINEERING)

Undertaken at:

CENTRE FOR DEVELOPMENT OF ADVANCED COMPUTING (CDAC),


MOHALI

Submitted by:

NAME : Khushi

ROLL NO. : 11901006

CLASS : B.Tech.CSE(3CE1)

SEMESTER : 5th Semester

Department of Computer Science and Engineering

Punjabi University, Patiala

2021

1
CERTIFICATE

2
DECLARATION

I, Khushi, hereby affirm that the project report titled ―ATM Simulator, submitted to Punjabi
University, Patiala in partial fulfillment of the requirements for the award of the degree of
B.Tech.(Computer Science and Engineering) is an authentic record of my own work and that to
the best of my knowledge and belief, it contains no written material which has been accepted for
the qualification of any other degree or diploma of a university or other institution of higher
learning except where due acknowledge is made.

Signature of student:

Name of student: Khushi

Roll number: 11901006

Group: 3Ce1

3
ACKNOWLEDGEMENT

It is great pleasure to present this report on the project named as ―ATM SIMULATOR‖
undertaken by me as a part of my B.Tech.CSE curriculum. I am heartily thankful to my
Department of Computer Science and Engineering, Punjabi University, Patiala for offering
me such a wonderful challenging opportunity to express my deepest thanks to all the
coordinators and my mates for providing me all the possible help and assistance .It is our earnest
duty to express our thanks to all those who contributed directly or indirectly to our project .First
and foremost, I would like to thank Center for Development of Advanced Computing, Mohali
for giving me an opportunity .I would like to thank Ms. Nandita Singla, who initiated me to
complete this project and for placing complete faith and confidence in my ability to carry out this
project and guided me timely.

There might be some problems and extra requirements with this system. In future these problems
will be corrected accordingly. For this your valuable suggestions are most welcomed.

4
TABLE OF CONTENTS

Sr.No. Description Page No.

1. Training Certificate 2

2. Declaration 3

3. Acknowledgement 4

4. Institute Profile 6-9

5. Introduction to java 10-21

6. Introduction to ATM Simulator 22-24

7. Hardware and Software Requirements 25

8. Database tables 25-28

9. Snapshots 29-38

10. Conclusion` 39

11. References 40

5
INSTITUTE PROFILE

About the Institute:

Centre for Development of Advanced Computing (C-DAC) is the premier R&D organization of
the Ministry of Electronics and Information Technology (MeitY) for carrying out R&D in IT,
Electronics and associated areas. Different areas of C-DAC, had originated at different times,
many of which came out as a result of identification of opportunities.

 The setting up of C-DAC in 1988 itself was to built Supercomputers in context of denial
of import of Supercomputers by USA. Since then C-DAC has been undertaking building
of multiple generations of Supercomputer starting from PARAM with 1 GF in 1988.

 Almost at the same time, C-DAC started building Indian Language Computing Solutions
with setting up of GIST group (Graphics and Intelligence based Script Technology);
National Centre for Software Technology (NCST) set up in 1985 had also initiated work
in Indian Language Computing around the same period.

 Electronic Research and Development Centre of India (ER&DCI) with various


constituents starting as adjunct entities of various State Electronic Corporations, had been
brought under the hold of Department of Electronics and Telecommunications (now
MeitY) in around 1988. They were focusing on various aspects of applied electronics,
technology and applications.

 With the passage of time as a result of creative ecosystem that got set up in C-DAC, more
areas such as Health Informatics, etc., got created; while right from the beginning the
focus of NCST was on Software Technologies; similarly C-DAC started its education &

6
training activities in 1994 as a spin-off with the passage of time, it grew to a large efforts
to meet the growing needs of Indian Industry for finishing schools.

C-DAC has today emerged as a premier R&D organization in IT&E (Information Technologies
and Electronics) in the country working on strengthening national technological capabilities in
the context of global developments in the field and responding to change in the market need in
selected foundation areas. In that process, C-DAC represents a unique facet working in close
junction with MeitY to realize nation‘s policy and pragmatic interventions and initiatives in
Information Technology. As an institution for high-end Research and Development (R&D), C-
DAC has been at the forefront of the Information Technology (IT) revolution, constantly
building capacities in emerging/enabling technologies and innovating and leveraging its
expertise, caliber, skill sets to develop and deploy IT products and solutions for different sectors
of the economy, as per the mandate of its parent, the Ministry of Electronics and Information
Technology, Ministry of Communications and Information Technology, Government of India
and other stakeholders including funding agencies, collaborators, users and the market-place.

Institute’s vision:

To emerge as the premier R&D institution for the design, development and deployment of world
class electronic and IT solutions for economic and human advancement.

Institute’s Mission:

 Expand the frontiers of Electronics and Information Technology.

 Evolve technology solutions - architectures, systems and standards for nationally


important problems.

 Achieve rapid and effective spread of knowledge by overcoming language barriers


through application of technologies.

 Share experience and know-how to help build advanced competence in the areas of
Electronics and Information Technology.

7
 Bring benefits of Electronics and Information Technology to society.

 Utilize the Intellectual Property generated by converting it to business opportunity.

CORE VALUES

The essence of C-DAC's philosophy and the bed rock of our Corporate Culture...

 Innovation and pursuit of excellence in 'Applications', 'Research' and 'Technology'


(ART).

 Integrity, transparency and openness in all our actions.

 Working with and through the 'Teams' is our way of life.

 Distributed Leadership across the organization at various levels.

 Strive to continuously improve our processes and quality.

 Address the needs of the society through user centric initiatives.

Research and Development:

The primary activity in all centres of C-DAC is research and development in specific areas of
information and communication technology and electronics (ICTE). Across all these centres, we
span a wide range of topics in ICTE. Broadly, we can divide the R&D activities into two broad
classes: the enabling technologies and application verticals. The research activities are usually
driven by specific application areas, and hence mostly applied in nature.

Based on the vision charted by the parent ministry (MCIT), international trends, Indian
requirements, etc CDAC identifies significant thrust areas for focus across the various centres.
The thrust areas, at present, are:

 High Performance Computing including the series of supercomputers, Garuda national


grid initiative, development of scientific computing applications on these platforms, and

8
cloud computing.

 Multi-lingual Computing spanning the entire range from fonts and encoding to speech
and language translation, which includes fonts for Indian languages, encoding standards,
information extraction and retrieval, machine aided translation, speech recognition and
synthesis, etc.

 Professional Electronics covering electronic devices and embedded systems. This area
covers work such as underwater electronics, software radio, ubiquitous computing.

 Information and Cyber Security including intrusion detection and prevention, malware
analysis, cyber forensics, network security, etc.

 Health Informatics including hospital information systems, electronic medical records,


telemedicine, and cancer networks.

 Software Technologies including e-governance solutions, e-learning technologies,


geomatics, open source software, accessibility, etc.

Institute’s Details:

 Address: A-34, Phase-VIII, Industrial Area, Mohali -160071,(Near Chandigarh)Punjab


 Contact : +91-172-2237052-55, 6619000
 Website : www.cdac.in

9
INTRODUCTION TO JAVA

Java programming language was originally developed by Sun Microsystems which was initiated
by James Gosling and released in 1995 as core component of Sun Microsystems' Java platform .

James Gosling initiated Java language project in June 1991 for use in one of his many set-top
box projects. The language, initially called ‗Oak‘ after an oak tree that stood outside Gosling's
office, also went by the name ‗Green‘ and ended up later being renamed as Java, from a list of
random words.

Sun released the first public implementation as Java 1.0 in 1995. It promised Write Once, Run
Anywhere (WORA), providing no-cost run-times on popular platforms.

The latest release of the Java Standard Edition is Java SE 8. With the advancement of Java and
its widespread popularity, multiple configurations were built to suit various types of platforms.
For example: J2EE for Enterprise Applications, J2ME for Mobile Applications.

Why Java's a Better Programming Language

If that were all Java was, it would still be more interesting than a <marquee> or <frame> tag in
some new browser beta, but there's a lot more. Java isn't just for web sites. Java is a
programming language that can do almost anything a traditional programming language like
FORTRAN, Basic or C++ can do. However Java has learned from the mistakes of its
predecessors. It is considerably easier to program and to learn than those languages without
giving up any of their power.

The Java language shares many superficial similarities with C, C++, and Objective C. For
instance, loops have identical syntax in all four languages, However, Java is not based on any of
these languages, nor have efforts been made to make it compatible with them.

10
Java is sometimes referred to as C++++--. James Gosling invented Java because C++ proved
inadequate for certain tasks. Since Java's designers were not burdened with compatibility with
existing languages, they were able to learn from the experience and mistakes of previous object-
oriented languages. They added a few things C++ doesn't have like garbage collection and
multithreading (the ++) and they threw away C++ features that had proven to be better in theory
than in practice like multiple inheritance and operator overloading (the --). A few advanced
features like closures and parameterized types that the Java team liked were nonetheless left out
of the language due to time constraints. There's still argument over whether the right choices
were made. Parameterized types (templates to C++ programmers) may be added in a later
revision of Java.

Java has learned a lot from previous languages. Let's look at some of the advantages Java offers
programmers.

Java is Simple

Java was designed to make it much easier to write bug free code. According to Sun's Bill Joy,
shipping C code has, on average, one bug per 55 lines of code. The most important part of
helping programmers write bug-free code is keeping the language simple.

Java has the bare bones functionality needed to implement its rich feature set. It does not add lots
of syntactic sugar or unnecessary features. The language specification for Java is only about
eighty pages long compared to a couple of hundred pages for C and even more for C++. Despite
its simplicity Java has considerably more functionality than C.

Because Java is simple, it is easy to read and write. Obfuscated Java isn't nearly as common as
obfuscated C. There aren't a lot of special cases or tricks that will confuse beginners.

About half of the bugs in C and C++ programs are related to memory allocation and
deallocation. Therefore the second important addition Java makes to providing bug-free code is
automatic memory allocation and deallocation. The C library memory allocation functions
malloc() and free() are gone as are C++'s destructors.

11
Java is an excellent teaching language, and an excellent choice with which to learn
programming. The language is small so it's easy to become fluent in it. The language is
interpreted so the compile-link-run cycle is much shorter. (In fact, the link phase is eliminated
entirely.) The runtime environment provides automatic memory allocation and garbage
collection so there's less for the programmer to think about. Java is object-oriented (unlike Basic)
so the beginning programmer doesn't have to unlearn bad programming habits when moving into
real world projects. Finally, it's very difficult (if not quite impossible) to write a Java program
that will crash your system, something that you can't say about any other language.

Java is Object-Oriented

Object oriented programming was the catch phrase of computer programming in the 1990's.
Although object oriented programming has been around in one form or another since the Simula
language was invented in the 1960's, it really took hold in modern GUI environments like
Windows, Motif and the Mac. In object-oriented programs data is represented by objects.
Objects have two sections, fields (instance variables) and methods. Fields tell you what an object
is. Methods tell you what an object does. These fields and methods are closely tied to the object's
real world characteristics and behavior. When a program runs messages are passed back and
forth between objects. When an object receives a message, it responds accordingly as defined by
its methods.

Object oriented programming is alleged to have a number of advantages including:

 Simpler, easier to read programs

 More efficient reuse of code

 Faster time to market

 More robust, error-free code

In practice object-oriented programs have been just as slow, expensive and buggy as traditional
non-object-oriented programs. In large part this is because the most popular object-oriented

12
language is C++. C++ is a complex, difficult language that shares all the obfuscation of C while
sharing none of C's efficiencies. It is possible in practice to write clean, easy-to-read Java code.
In C++ this is almost unheard of outside of programming textbooks.

Java is Platform Independent

Java was designed to not only be cross-platform in source form like C, but also in compiled
binary form. Since this is frankly impossible across processor architectures, Java is compiled to
an intermediate form called byte-code.

A Java program never really executes natively on the host machine. Rather a special native
program called the Java interpreter reads the byte code and executes the corresponding native
machine instructions. Thus to port Java programs to a new platform, all you need to do is run it
with an interpreter written for the new platform. You don't even need to recompile. Even the
compiler is written in Java. The byte codes are precisely defined, and remain the same on all
platforms.

The second important part of Java's cross-platform savvy is the elimination of undefined and
architecture dependent constructs. Integers are always four bytes long, and floating point
variables follow the IEEE 754 standard for computer arithmetic exactly. You don't have to worry
that the meaning of an integer is going to change if you move from a Pentium to a PowerPC. In
Java everything is guaranteed.

However the virtual machine itself and some parts of the class library must be written in native
code. These are not always as easy or as quick to port as pure Java programs. This is why for
example, there's not yet a version of Java 1.2 for the Mac.

Java is Safe

Java was designed from the ground up to allow for secure execution of code across a network,
even when the source of that code was untrusted and possibly malicious.

13
This required the elimination of many features of C and C++. Most notably there are no pointers
in Java. Java programs cannot access arbitrary addresses in memory. All memory access is
handled behind the scenes by the (presumably) trusted runtime environment. Furthermore Java
has strong typing. Variables must be declared, and variables do not change types when you aren't
looking. Casts are strictly limited to casts between types that make sense. Thus you can cast an
int to a long or a byte to a short but not a long to a Boolean or an int to a String.

Java implements a robust exception handling mechanism to deal with both expected and
unexpected errors. The worst that a Java program can do to a host system is bringing down the
runtime environment. It cannot bring down the entire system.

Most importantly Java applets can be executed in an environment that prohibits them from
introducing viruses, deleting or modifying files, or otherwise destroying data and crashing the
host computer. A Java enabled web browser checks the byte codes of an applet to verify that it
doesn't do anything nasty before it will run the applet.

However the biggest security problem is not hackers. It's not viruses. It's not Visual Basic worms
transmitted by Outlook Express. It's not even insiders erasing their hard drives and quitting your
company to go to work for your competitors. No, the biggest security issue in computing today is
bugs. Regular, ordinary, non-malicious, unintended bugs are responsible for more data loss and
lost productivity than all other factors combined. Java, by making it easier to write bug-free
code, substantially improves the security of all kinds of programs.

Java is High Performance

Java byte codes can be compiled on the fly to code that rivals C++ in speed using a "just-in-time
compiler." Several companies are also working on native-machine-architecture compilers for
Java. These will produce executable code that does not require a separate interpreter, and that is
indistinguishable in speed from C++. While you'll never get that last ounce of speed out of a Java
program that you might be able to wring from C or FORTRAN, the results will be suitable for all
but the most demanding applications.

14
As of May, 1999, the fastest VM, IBM's Java 1.1 VM for Windows, is very close to C++ on
CPU-intensive operations that don't involve a lot of disk I/O or GUI work; C++ is itself only a
few percent slower than C or FORTRAN on CPU intensive operations.

It is certainly possible to write large programs in Java. The Hot Java web browser, the JBuilder
integrated development environment and the javac compiler are large programs that are written
entirely in Java.

Java is Multi-Threaded

Java is inherently multi-threaded. A single Java program can have many different processes
executing independently and continuously. Three Java applets on the same page can run
simultaneously with each getting equal time from the CPU with very little extra effort on the part
of the programmer. This makes Java incredibly responsive to user input. It also helps to
contribute to Java's robustness and provides a mechanism whereby the Java environment can
ensure that a malicious applet doesn't steal all of the host's CPU cycles.

Unfortunately multithreading is so tightly integrated with Java, that it makes Java rather difficult
to port to architectures like Windows 3.1 or the PowerMac that don't natively support preemptive
multi-threading.

There is another cost associated with multi-threading. Multi-threading is to Java what pointer
arithmetic is to C; that is, a source of devilishly hard to find bugs. Nonetheless, in simple
programs it's possible to leave multi-threading alone and normally be OK.

Java is Dynamic(ly linked)

Java does not have an explicit link phase. Java source code is divided into .java files, roughly
one per each class in your program. The compiler compiles these into .class files containing byte

15
code. Each .java file generally produces exactly one .class file. (There are a few exceptions we'll
discuss later, non-public classes and inner classes).

The compiler searches the current directory and a few other well specified places to find other
classes explicitly referenced by name in each source code file. If the file you're compiling
depends on other, non-compiled files, then the compiler will try to find them and compile them
as well. The Java compiler is quite smart, and can handle circular dependencies as well as
methods that are used before they're declared. It also can determine whether a source code file
has changed since the last time it was compiled.

More importantly, classes that were unknown to a program when it was compiled can still be
loaded into it at runtime. For example, a web browser can load applets of differing classes that
it's never seen before without recompilation.

Furthermore, Java .class files tend to be quite small, a few kilobytes at most. It is not necessary
to link in large runtime libraries to produce an executable. Instead the necessary classes are
loaded from the user's local system.

COMPONENTS:

JVM (Java Virtual Machine)

It is an abstract machine. It is a specification that provides a run-time environment in


which the bytecode can be executed. It follows three notations:

 Specification: It is a document that describes the implementation of the JVM. It is


provided by Sun and other companies.

 Implementation: It is a program that meets the requirements of JVM specification.

16
 Runtime Instance: An instance of JVM is created whenever you write a command on
the command prompt and run the class.

JRE (Java Runtime Environment)

JRE refers to a runtime environment in which bytecode can be executed. It implements the JVM
and provides all the class libraries and other support files that JVM uses at runtime. So JRE is a
software package that contains what is required to run a program. Basically, it‘s an
implementation of the JVM which physically exists.

JDK(Java Development Kit)

It is the tool necessary to:-

 Compile

 Document

 Package Java programs.

The JDK completely includes JRE which contains tools for programmers. The Development Kit
is provided free of charge. Along with JRE, it includes an interpreter/loader, a compiler (javac),
an archiver (jar), a documentation generator and other tools needed in Java development. In
short, it contains JRE + development tools.

 AWT

The Abstract Window Toolkit (AWT) package enables you to create GUIs in your applets and
applications. Different Windows API from different platforms were looked at and components
were identified that were common to all of them. The AWT API communicates with the
platform's native API's as to give your application the native look and feel. Because they
associate with their own native screen resources, AWT components are called heavyweight
components. Swing components do not associate with native resources and are called lightweight

17
components. The AWT consists of components, both container and non-container ones (eg.
Button, Checkbox, Choice, ...) Container components (eg. Frame, Dialog, Window, Panel)
control the layout of other components. As containers are themselves components, they can be
placed inside other containers. Check out these links and subcategories on how to create and
work with these containers and components.

Subcategories

 Button  Insets

 Canvas  Input Method Framework

 Checkbox and RadioButton  Label

 Choice  Layout Managers

 Color  List

 Data Transfer (java.awt.datatransfer.*)  Menu, MenuItem

 Dialog  Robot

 Drag and Drop (java.awt.dnd.*)  Scrollbar

 Event  ScrollPane

 Font  Textfield, TextArea

 Frame  Toolkit

 Graphics

18
 Swing

Swing is not an acronym. It packages a set of GUI components. Unlike AWT components, that
are associated to native screen resources (heavyweight), Swing components draw themselves on
the screen (lightweight). This results in slower execution but a Swing application will look the
same on all platforms. Because Swing supports pluggable look-and-feel, you could have a
Windows look in your Unix environment (if you would ever want that). Check out the numerous
subcategories for code examples for each component!

Subcategories

 javax.swing.border.*  Atomic Controls (JButton,


JCheckBox, JRadioButton,
 javax.swing.text.*
JComboBox, JList, JMenu,
 javax.swing.undo.*
JSlider, JTextField)
 JComponent
 Uneditable Atomic Controls
 Top-Level Containers (JApplet, (JLabel, JProgressBar,
JDialog, JOptionPane, JFrame) JToolTip)
 General-Purpose Containers  Editable Atomic Controls
(JPanel, JScrollPane, JSplitPane, (JColorChooser, JFileChooser,
JTabbedPane, JToolBar) JTable, JTextArea,

 Special-Purpose Containers JEditorPane, JTree)

(JDesktop, JInternalFrame,  HTMLEditorKit


JLayeredPane, JRootPane)
 RTFEditorKit

 Swing Events

19
 MSSQL

MSSQL is the world‘s most popular database .MSSQL uses Structured Query Language (SQL),
the most popular language for adding, accessing, and processing data in a database. MSSQL is
also noted for its speed, reliability, and flexibility. However, the use of MSSQL is not essential
for this system and any other SQL compliant database could be used in its place.

 JDBC

The Java DataBase Connectivity (JDBC) API allows java programs to connect to a wide range of
SQL databases. It is a simple SQL-level API that capitalizes on the experience of existing
database APIs like ODBC (Open DataBase Connectivity). JDBC allows us to construct SQL
statements and embed them in Java. It provides a smooth transition between the Java application
and the database. The results from the database are returned as Java variables. A JDBC driver is
required to implement the JDBC protocol for a particular database engine. This project uses a
free-ware third- party driver for MySQL.

Why is Java such a popular choice among modern-day software developers?

The answer lies primarily with the exhaustive testing, updating and consistency of delivery that
Java has historically provided. Java has been tested, refined, extended, and proven by a dedicated
community of Java developers, architects and enthusiasts. Despite origins dating back almost
two decades, Java has consistently evolved over the years.
Java is designed to enable development of portable, high-performance applications for the widest
range of computing platforms possible, hence enabling the fundamental tenets of overarching
accessibility as well as cross-platform interaction. By making applications available across
heterogeneous environments, businesses can provide more services and boost end-user
productivity, communication, and collaboration—and dramatically reduce the cost of ownership
of both enterprise and consumer applications.

20
Java has become invaluable to developers by enabling them to:

 Write software on one platform and run it on virtually any other platform.

 Create programs that can run within a web browser and access available web services.

 Develop server-side applications for online forums, stores, polls, HTML forms processing, and
more.

 Combine applications or services using the Java language to create highly customized
applications or services.

 Write powerful and efficient applications for mobile phones, remote processors,
microcontrollers, wireless modules, sensors, gateways, consumer products, and practically any
other electronic device.

The underlying principle that has enabled Java‘s success is the ability of the developers and
coders consistently upgrading the model to be competitive to modern technological standards.

Application

According to Sun, 3 billion devices run Java. There are many devices where Java is currently
used. Some of them are as follows:

1. Desktop Applications such as acrobat reader, media player, antivirus, etc.

2. Web Applications such as irctc.co.in, javatpoint.com, etc.

3. Enterprise Applications such as banking applications.

4. Mobile

5. Embedded System

6. Smart Card

7. Robotics

8. Games, etc.

21
Introduction to ATM Simulator:-

I am very glad to introduce my project ―AUTOMATED TELLER MACHINE‖


which is build using “Java Programming Language”. Now a day each company or
organization prefers the computerized paper-work. Definitely the computer system is more
reliable than the manual works. The common human errors can be eliminated with the help of
system.

An Automated Teller Machine (ATM) is a computerized telecommunications device


that provides the customers of a financial institution with access to financial transaction in a
public space without the need for a human clerk or bank teller. On most modern ATMs, the
customer is identified by inserting a plastic ATM card with a magnetic stripe or a plastic
smartcard with a chip that contains a unique card number and some security information.

The main goal of this application is to provide very reliable & efficient service to bank account
holder at any time & any location.

This system will cover the following modules,

1. Login
2. Signup
3. Cash Withdrawal.
4. Balance Enquiry.
5. Mini Statement.
6. PIN Change.
7. Cash Deposit.
8. Fast Cash.

22
Detail information about system modules,

1. Login:-

Any authorized ATM card holder first have to login to the ATM system which
requests for its Card no. and PIN no to continue its services.

2. Signup :-

If you want to create new account you can easily create by filling some personal
information and some other information, then this ATM Simulator will display your
Cardno and PIN no to you, with that you can easily enjoy all the services.

3. Cash Withdrawal :-
It mainly used for withdrawal of cash as per customer demand. By writing PIN no
customer can withdraw amount.

4. Balance Enquiry :-
It refers to enquiry of bank balance of an authorized ATM card holder account
to check for the resulting balance after certain transactions.

5. Mini Statement:-
It refers to enquiry of last transactions of an authorized ATM card holder. It
includes deposit & withdrawal amount of transaction & also contains respective
transaction date and current available balance.

23
6. PIN Change:-
It refers to the Change of PIN no of an authorized ATM card holder. I require
giving system old PIN no of the ATM card & then giving new PIN no & confirm the new
PIN no.

7. Cash Deposit:-
It mainly used for deposit cash amount to their bank account as per customer
demand. It is easy process of deposit amount to their bank accounts without filling
deposit form.

8. Fast Cash:-
It mainly used for withdrawing small amount of cash ie Rs 100, Rs 500, Rs1000,
Rs 2000, Rs 5000, Rs 10000 .

24
Hardware Requirements:-

 Processor: Pentium 4 or onwards.


 Hard Disc: 80GB.
 RAM: 128MB.
 Monitor: 15‖ Color Monitor.
 Mouse.
 Keyboard.

Software Requirements:-

Operating System: - Windows XP or onwards or Linux.

 Java Run Time Environment (JRE) – jdk1.5 (As Front End Tool).
 Mysql-connector-java-5.1.22-bin.

 MYSQL server (As Back End Tool).

Database Table Design:-

The general theme behind a database is to handle information as an integrated


whole. A database is a collection of interrelated data stored with minimum redundancy to serve
many users quickly and effectively. After designing the input and output, the analyst must
concentrate on database design or how data should be organized around user requirements. The
general objective is to make information access, easy quick, inexpensive and flexible for other
users.

25
1) Table Name: - signup It stores the information about new account holder personal
information.

Table 1 signup

Field name Data type Size Description

name varchar 10 Name of new account creator.

fname varchar 15 Father‘s name of new card holder

date varchar 5 Date of birth of that person

month varchar 10 Month of birth of that person

year varchar 5 Year of birth of that person

gender varchar 10 Gender of ATM card holder.

email varchar 20 Email of ATM card holder.

marital varchar 15 Marital status of ATM card holder.

address varchar 20 Address of ATM card holder.

city varchar 20 City of ATM card holder.

pincode varchar 10 Pincode of ATM card holder.

state varchar 15 State of ATM card holder.

Form no for going to next page to fill


formno varchar 50
information.

26
2) Table Name: - signup2 It stores the information about new account holder personal
account information.

Table 2 signup2

Field name Data type Size Description

It stores which type of account


account varchar 50
person want to open

cardno varchar 100 ATM card no.

pin varchar 25 PIN no of ATM card holder.

It stores what kind of services


Sevices_required varchar 100
does person needs

formno varchar 50 It stores formno

3) Table Name: - login It stores the login information of ATM card holders.

Table 3 login

Field name Data type Size Description

pin varchar 50 PIN no of account

cardno varchar 45 ATM card no.

27
4) Table Name: - bank It stores the information about each transaction created by ATM
card holder.

Table 4 bank

Field name Data type Size Description

pin varchar 45 PIN no of account

cardno varchar 45 ATM card no.

deposit varchar 45 Deposit amount of ATM card holder.

Withdrawal amount of ATM card


withdrawal varchar 45
holder.

Available balance of ATM card


balance varchar 45
holder.

Transaction date at which transaction


date date
occurred by ATM card holder.

28
1) Welcome screen:

29
2) New Account Application Form: if want to create new account ,Press SIGN UP

30
3) New Account Application Form – Page 2

31
4) If want to login to old account, press SIGN IN, if enter wrong ATM no or PIN no.

32
5) Transaction screen: on success, the transaction menu screen will open.

33
6) Cash withdrawal screen: if cash withdrawal is success then appear below screen

34
7) If want to check balance

35
8) Cash deposit screen: if cash deposit is success then appear below screen.

36
9) PIN change screen: if we enter old pin no correct and new & confirm pin no same then
appear below screen.

37
10) PIN change screen: if we enter old pin no wrong and new & confirm pin no same then
appear below screen.

38
Conclusion:-

Great skills have been achieved during the development of this project, time management being
one of them, research in various areas of web and database and at the end of the day it can be
said that the task has been a great success incorporated with extraordinary challenges. All in all
the sleepless nights, stressful days and hard work have paid off and besides some good moments
were also experienced. These experiences will be used for ever.

ATM Simulator is a Java based project in which user can create an account by providing his or
her personal details like name, address, gender etc and after creating new account the user can do
transactions according to their choice like depositing money, withdrawing money, balance
enquiry or change pin number.

I have explored practicality of doing parallel computing in Java and I have successfully
implemented our ATM Simulator .I have efficiently programmed and executed in java.

39
References:-

The following are the website links which I have referred to create this project report:

 https://www.researchgate.net/publication/282218734_ATM_MACHINE_PROGRAMM
ING_WITH_JAVA
 https://www.tutorialspoint.com/java/java_overview.htm
 https://cdac.in/index.aspx?id=mohali
 https://cdac.in/

40

You might also like