0% found this document useful (0 votes)
24 views

Java Project-Compressed

This document is a project report on an ATM Management System submitted for a degree in Java. It includes an acknowledgement thanking the project guide for her guidance. It then covers topics like the history of Java, its features and implementations, the history and advantages of ATMs, and describes the proposed ATM Management System project including requirements, diagrams, coding, and outputs.

Uploaded by

Kaviya
Copyright
© © All Rights Reserved
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
24 views

Java Project-Compressed

This document is a project report on an ATM Management System submitted for a degree in Java. It includes an acknowledgement thanking the project guide for her guidance. It then covers topics like the history of Java, its features and implementations, the history and advantages of ATMs, and describes the proposed ATM Management System project including requirements, diagrams, coding, and outputs.

Uploaded by

Kaviya
Copyright
© © All Rights Reserved
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 103

A PROJECT REPORT

ON

“ATM MANAGEMENT SYSTEM”


SUMITTED IN PARTIAL FULFILLMENT
FOR THE DEGREE
JAVA
BY
J.KAVIYA
UNDER THE GUIDANCE OF
Miss.Vigneswari A,B.TECH.,

1
BONAFIDE CERTIFICATE

This is to certify that the project work that is


begin submitted by J.Kaviya ”Atm Management
System” is record of bonafide work done under
my supervision. The contents of this project
work, in full or in parts, have neither been taken
from any other source nor have been submitted
for any other course.

Signature Signature

Mr.V.J.GNANESWARAN.,B.E., Miss.A.VIGNESWARI.,BTECH.,

CENTER DIRECTOR PROJECT GUIDE

2
ACKNOWLEDGEMENT

To matter what accomplishment, we achieve


somebody helps us. For every
accomplishment we need the cooperation and
help of others. As knowledge advantages by
steps not by leaps so, ability advances by
encouragement and guidance. Although you
have ability and knowledge but is worthless
unless and until you can develop it if
somebody encourages you. I express my deep
sense of gratitude and feeling of indebtedness
to Miss.Vigneswari project guide, for their
bold attention in this particular time of
project and guide us as per according to
progress of our project

3
Contents
What is java ....................................................................................... 5
Important Points Of Java .....................................................................17
Histroy ..............................................................................................19
Implementations ................................................................................34
Features of Java .................................................................................36
Advantages of Java: ...........................................................................43
Disadvantages of Java: .......................................................................44
Title..................................................................................................45
Abstract ............................................................................................46
Introduction.......................................................................................48
Methodology ......................................................................................50
Purpose.............................................................................................51
History of ATMs ..................................................................................53
Scope ...............................................................................................54
Advantages .......................................................................................56
Disadvantages ...................................................................................58
Existing System .................................................................................60
Proposed System................................................................................60
Project Description..............................................................................61
Requirements ....................................................................................63
Use Case Diagram ..............................................................................64
Activity Diagram .................................................................................65
State Chart Diagram ...........................................................................67
MySql SetUp ......................................................................................68
Coding ..............................................................................................69
Output ..............................................................................................92
Conclusion ....................................................................................... 102
Reference ........................................................................................ 103

4
What is java
Java is a class-based, object-oriented programming
language that is designed to have as few
implementation dependencies as possible. It is
intended to let application developers write once,
and run anywhere (WORA), meaning that compiled
Java code can run on all platforms that support
Java without the need for recompilation. Java was
first released in 1995 and is widely used for
developing applications for desktop, web, and
mobile devices. Java is known for its simplicity,
robustness, and security features, making it a
popular choice for enterprise-level applications.

JAVA was developed by James Gosling at Sun


Microsystems Inc in the year 1995 and later
acquired by Oracle Corporation. It is a simple
programming language. Java makes writing,
compiling, and debugging programming easy. It
helps to create reusable code and modular
programs. Java is a class-based, object-oriented
programming language and is designed to have as
few implementation dependencies as possible. A
general-purpose programming language made for
developers to write once run anywhere that is
compiled Java code can run on all platforms that
support Java. Java applications are compiled to

5
byte code that can run on any Java Virtual Machine.
The syntax of Java is similar to c/c++.

History: Java’s history is very interesting. It is a


programming language created in 1991. James
Gosling, Mike Sheridan, and Patrick Naughton, a
team of Sun engineers known as the Green team
initiated the Java language in 1991. Sun
Microsystems released its first public
implementation in 1996 as Java 1.0. It provides no-
cost -run-times on popular platforms. Java1.0
compiler was re-written in Java by Arthur Van Hoff
to strictly comply with its specifications. With the
arrival of Java 2, new versions had multiple
configurations built for different types of
platforms.

In 1997, Sun Microsystems approached the ISO


standards body and later formalized Java, but it
soon withdrew from the process. At one time, Sun
made most of its Java implementations available
without charge, despite their proprietary software
status. Sun generated revenue from Java through
the selling of licenses for specialized products such
as the Java Enterprise System.

On November 13, 2006, Sun released much of its


Java virtual machine as free, open-source software.

6
On May 8, 2007, Sun finished the process, making
all of its JVM’s core code available under open-
source distribution terms.

The principles for creating java were simple,


robust, secured, high-performance, portable, multi-
threaded, interpreted, dynamic, etc. In 1995 Java
was developed by James Gosling, who is known as
the Father of Java. Currently, Java is used in mobile
devices, internet programming, games, e-business,
etc.

Implementation of a Java application program


involves a following step. They include:
1. Creating the program
2. Compiling the program
3. Running the program

Remember that, before we begin creating the


program, the Java Development Kit (JDK) must be
properly installed on our system and also path will
be set.
• Creating Program
We can create a program using Text Editor
(Notepad) or IDE (NetBeans)

7
class Test
{
public static void main(String []args)
{
System.out.println(“My First
Java Program.”);
}
};

File -> Save -> d:\Test.java

• Compiling the program


To compile the program, we must run the Java
compiler (javac), with the name of the source file
on “command prompt” like as follows

If everything is OK, the “javac” compiler creates a


file called “Test.class” containing byte code of the
program.

• Running the program


We need to use the Java Interpreter to run a
program.

Java programming language is named JAVA. Why?


After the name OAK, the team decided to give it a
new name to it and the suggested words were Silk,

8
Jolt, revolutionary, DNA, dynamic, etc. These all
names were easy to spell and fun to say, but they
all wanted the name to reflect the essence of
technology. In accordance with James Gosling, Java
the among the top names along with Silk, and since
java was a unique name so most of them preferred
it.

Java is the name of an island in Indonesia where


the first coffee(named java coffee) was produced.
And this name was chosen by James Gosling while
having coffee near his office. Note that Java is just a
name, not an acronym.

Java Terminology
Before learning Java, one must be familiar with
these common terms of Java.

1. Java Virtual Machine(JVM): This is generally


referred to as JVM. There are three execution
phases of a program. They are written, compile
and run the program.

Writing a program is done by a java programmer


like you and me.
The compilation is done by the JAVAC compiler
which is a primary Java compiler included in the
Java development kit (JDK). It takes the Java

9
program as input and generates bytecode as
output.
In the Running phase of a program, JVM executes
the bytecode generated by the compiler.
Now, we understood that the function of Java
Virtual Machine is to execute the bytecode
produced by the compiler. Every Operating System
has a different JVM but the output they produce
after the execution of bytecode is the same across
all the operating systems. This is why Java is
known as a platform-independent language.

2. Bytecode in the Development Process: As


discussed, the Javac compiler of JDK compiles the
java source code into bytecode so that it can be
executed by JVM. It is saved as .class file by the
compiler. To view the bytecode, a disassembler
like javap can be used.

3. Java Development Kit(JDK): While we were


using the term JDK when we learn about bytecode
and JVM. So, as the name suggests, it is a complete
Java development kit that includes everything
including compiler, Java Runtime Environment
(JRE), java debuggers, java docs, etc. For the
program to execute in java, we need to install JDK
on our computer in order to create, compile and
run the java program.

10
4. Java Runtime Environment (JRE): JDK includes
JRE. JRE installation on our computers allows the
java program to run, however, we cannot compile
it. JRE includes a browser, JVM, applet support, and
plugins. For running the java program, a computer
needs JRE.

5. Garbage Collector: In Java, programmers can’t


delete the objects. To delete or recollect that
memory JVM has a program called Garbage
Collector. Garbage Collectors can recollect the
objects that are not referenced. So Java makes the
life of a programmer easy by handling memory
management. However, programmers should be
careful about their code whether they are using
objects that have been used for a long time.
Because Garbage cannot recover the memory of
objects being referenced.

6. ClassPath: The classpath is the file path where


the java runtime and Java compiler look for .class
files to load. By default, JDK provides many
libraries. If you want to include external libraries
they should be added to the classpath.

Primary/Main Features of Java


1. Platform Independent: Compiler converts source
code to bytecode and then the JVM executes the
bytecode generated by the compiler. This bytecode

11
can run on any platform be it Windows, Linux, or
macOS which means if we compile a program on
Windows, then we can run it on Linux and vice
versa. Each operating system has a different JVM,
but the output produced by all the OS is the same
after the execution of the bytecode. That is why we
call java a platform-independent language.

2. Object-Oriented Programming Language:


Organizing the program in the terms of a collection
of objects is a way of object-oriented
programming, each of which represents an
instance of the class.

The four main concepts of Object-Oriented


programming are:

Abstraction
Encapsulation
Inheritance
Polymorphism
3. Simple: Java is one of the simple languages as it
does not have complex features like pointers,
operator overloading, multiple inheritances, and
Explicit memory allocation.

4. Robust: Java language is robust which means


reliable. It is developed in such a way that it puts a
lot of effort into checking errors as early as

12
possible, that is why the java compiler is able to
detect even those errors that are not easy to detect
by another programming language. The main
features of java that make it robust are garbage
collection, Exception Handling, and memory
allocation.

5. Secure: In java, we don’t have pointers, so we


cannot access out-of-bound arrays i.e it shows
ArrayIndexOutOfBound Exception if we try to do
so. That’s why several security flaws like stack
corruption or buffer overflow are impossible to
exploit in Java. Also, java programs run in an
environment that is independent of the
os(operating system) environment which makes
java programs more secure.

6. Distributed: We can create distributed


applications using the java programming language.
Remote Method Invocation and Enterprise Java
Beans are used for creating distributed
applications in java. The java programs can be
easily distributed on one or more systems that are
connected to each other through an internet
connection.

7. Multithreading: Java supports multithreading. It


is a Java feature that allows concurrent execution

13
of two or more parts of a program for maximum
utilization of the CPU.

8. Portable: As we know, java code written on one


machine can be run on another machine. The
platform-independent feature of java in which its
platform-independent bytecode can be taken to
any platform for execution makes java portable.

9. High Performance: Java architecture is defined in


such a way that it reduces overhead during the
runtime and at some times java uses Just In Time
(JIT) compiler where the compiler compiles code
on-demand basics where it only compiles those
methods that are called making applications to
execute faster.

10. Dynamic flexibility: Java being completely


object-oriented gives us the flexibility to add
classes, new methods to existing classes, and even
create new classes through sub-classes. Java even
supports functions written in other languages such
as C, C++ which are referred to as native methods.

11. Sandbox Execution: Java programs run in a


separate space that allows user to execute their
applications without affecting the underlying
system with help of a bytecode verifier. Bytecode

14
verifier also provides additional security as its role
is to check the code for any violation of access.

12. Write Once Run Anywhere: As discussed above


java application generates a ‘.class’ file that
corresponds to our applications(program) but
contains code in binary format. It provides ease t
architecture-neutral ease as bytecode is not
dependent on any machine architecture. It is the
primary reason java is used in the enterprising IT
industry globally worldwide.

13. Power of compilation and interpretation: Most


languages are designed with the purpose of either
they are compiled language or they are interpreted
language. But java integrates arising enormous
power as Java compiler compiles the source code
to bytecode and JVM executes this bytecode to
machine OS-dependent executable code.
class : class keyword is used to declare classes in
Java
public : It is an access specifier. Public means this
function is visible to all.
static : static is again a keyword used to make a
function static. To execute a static function you do
not have to create an Object of the class. The
main() method here is called by JVM, without
creating any object for class.

15
void : It is the return type, meaning this function
will not return anything.
main : main() method is the most important
method in a Java program. This is the method
which is executed, hence all the logic must be
inside the main() method. If a java class is not
having a main() method, it causes compilation
error.
String[] args : This is used to signify that the user
may opt to enter parameters to the Java Program
at command line. We can use both String[] args or
String args[]. Java compiler would accept both
forms.
System.out.println : This is used to print anything
on the console like “printf” in C language.

16
Important Points Of Java

• Java is a high-level, object-oriented


programming language that was first released
in 1995.
• Java is platform-independent, which means
that code written in Java can run on any
platform that has a Java Virtual Machine (JVM)
installed.
• Java code is compiled into bytecode, which can
then be executed by the JVM.
• Java is known for its “write once, run
anywhere” philosophy, which makes it a
popular choice for cross-platform
development.
• Java provides automatic memory management
through garbage collection, which makes it
easier to write and maintain code.
• Java has a vast standard library that provides
a wide range of tools for common
programming tasks.
• Java is widely used in enterprise applications,
web development, and Android app
development.
• Java is a strongly typed language, which
means that every variable and expression has
a specific type that must be declared before
use.

17
• Java has a robust exception-handling
mechanism that makes it easier to handle
errors and unexpected behavior in code.
• Java supports multithreading, which makes it
possible to write programs that can perform
multiple tasks simultaneously.

18
Histroy

James Gosling, Mike Sheridan, and Patrick Naughton


initiated the Java language project in June 1991.[22] Java
was originally designed for interactive television, but it
was too advanced for the digital cable television industry
at the time.[23] The language was initially called Oak after
an oak tree that stood outside Gosling's office.

Later the project went by the name Green and was finally
renamed Java, from Java coffee, a type of coffee from
Indonesia.[24] Gosling designed Java with a C/C++-style
syntax that system and application programmers would
find familiar.[25]

Sun Microsystems released the first public


implementation as Java 1.0 in 1996.[26] It promised write
once, run anywhere (WORA) functionality, providing no-
cost run-times on popular platforms.

Fairly secure and featuring configurable security, it


allowed network- and file-access restrictions. Major web
browsers soon incorporated the ability to run Java applets
within web pages, and Java quickly became popular.

The Java 1.0 compiler was re-written in Java by Arthur van


Hoff to comply strictly with the Java 1.0 language

19
specification.[27] With the advent of Java 2 (released
initially as J2SE 1.2 in December 1998 – 1999), new
versions had multiple configurations built for different
types of platforms.

J2EE included technologies and APIs for enterprise


applications typically run in server environments, while
J2ME featured APIs optimized for mobile applications. The
desktop version was renamed J2SE.

In 2006, for marketing purposes, Sun renamed new J2


versions as Java EE, Java ME, and Java SE, respectively.

In 1997, Sun Microsystems approached the ISO/IEC JTC 1


standards body and later the Ecma International to
formalize Java, but it soon withdrew from the
process.[28][29][30] Java remains a de facto standard,
controlled through the Java Community Process.[31] At
one time, Sun made most of its Java implementations
available without charge, despite their proprietary
software status.

Sun generated revenue from Java through the selling of


licenses for specialized products such as the Java
Enterprise System.

20
On November 13, 2006, Sun released much of its Java
virtual machine (JVM) as free and open-source software
(FOSS), under the terms of the GPL-2.0-only license.

On May 8, 2007, Sun finished the process, making all of its


JVM's core code available under free software/open-
source distribution terms, aside from a small portion of
code to which Sun did not hold the copyright.[32]

Sun's vice-president Rich Green said that Sun's ideal role


with regard to Java was as an evangelist.[33] Following
Oracle Corporation's acquisition of Sun Microsystems in
2009–10, Oracle has described itself as the steward of Java
technology with a relentless commitment to fostering a
community of participation and transparency.

[34] This did not prevent Oracle from filing a lawsuit


against Google shortly after that for using Java inside the
Android SDK (see the Android section).

On April 2, 2010, James Gosling resigned from


Oracle.[35]In January 2016, Oracle announced that Java
run-time environments based on JDK 9 will discontinue
the browser plugin.[36]

Java software runs on everything from laptops to data


centers, game consoles to scientific supercomputers.[37]

21
Oracle (and others) highly recommend uninstalling
outdated and unsupported versions of Java, due to
unresolved security issues in older versions.[38]

Principles
There were five primary goals in the creation of the Java
language:[18]

It must be simple, object-oriented, and familiar.


It must be robust and secure.
It must be architecture-neutral and portable.
It must execute with high performance.
It must be interpreted, threaded, and dynamic.

Oracle released the last zero-cost public update for the


legacy version Java 8 LTS in January 2019 for commercial
use, although it will otherwise still support Java 8 with
public updates for personal use indefinitely. Other
vendors have begun to offer zero-cost builds of OpenJDK
18 and 8, 11 and 17 that are still receiving security and
other upgrades.

Major release versions of Java, along with their release


dates:

22
Sun has defined and supports four editions of Java
targeting different application environments and
segmented many of its APIs so that they belong to one of
the platforms. The platforms are:

Java Card for smart-cards.[43]


Java Platform, Micro Edition (Java ME) – targeting
environments with limited resources.[44]
Java Platform, Standard Edition (Java SE) – targeting
workstation environments.[45]
Java Platform, Enterprise Edition (Java EE) – targeting
large distributed enterprise or Internet environments.[46]
The classes in the Java APIs are organized into separate
groups called packages. Each package contains a set of
related interfaces, classes, subpackages and exceptions.

Sun also provided an edition called Personal Java that has


been superseded by later, standards-based Java ME
configuration-profile pairings.

Execution system
Java JVM and bytecode
Main articles: Java (software platform) and Java virtual
machine
One design goal of Java is portability, which means that
programs written for the Java platform must run similarly

23
on any combination of hardware and operating system
with adequate run time support. This is achieved by
compiling the Java language code to an intermediate
representation called Java bytecode, instead of directly to
architecture-specific machine code.

Java bytecode instructions are analogous to machine code,


but they are intended to be executed by a virtual machine
(VM) written specifically for the host hardware. End-users
commonly use a Java Runtime Environment (JRE) installed
on their device for standalone Java applications or a web
browser for Java applets.

Standard libraries provide a generic way to access host-


specific features such as graphics, threading, and
networking.

The use of universal bytecode makes porting simple.


However, the overhead of interpreting bytecode into
machine instructions made interpreted programs almost
always run more slowly than native executables.

Just-in-time (JIT) compilers that compile byte-codes to


machine code during runtime were introduced from an
early stage. Java's Hotspot compiler is actually two
compilers in one; and with GraalVM (included in e.g. Java
11, but removed as of Java 16) allowing tiered

24
compilation.[47] Java itself is platform-independent and is
adapted to the particular platform it is to run on by a Java
virtual machine (JVM), which translates the Java bytecode
into the platform's machine language.[48]

Performance
Main article: Java performance
Programs written in Java have a reputation for being
slower and requiring more memory than those written in
C++.[49][50] However, Java programs' execution speed
improved significantly with the introduction of just-in-
time compilation in 1997/1998 for Java 1.1,[51] the
addition of language features supporting better code
analysis (such as inner classes, the StringBuilder class,
optional assertions, etc.), and optimizations in the Java
virtual machine, such as HotSpot becoming Sun's default
JVM in 2000.

With Java 1.5, the performance was improved with the


addition of the java.util.concurrent package, including
lock-free implementations of the ConcurrentMaps and
other multi-core collections, and it was improved further
with Java 1.6.

25
Non-JVM
Some platforms offer direct hardware support for Java;
there are micro controllers that can run Java bytecode in
hardware instead of a software Java virtual machine,[52]
and some ARM-based processors could have hardware
support for executing Java bytecode through their Jazelle
option, though support has mostly been dropped in
current implementations of ARM.

Automatic memory management


Java uses an automatic garbage collector to manage
memory in the object lifecycle.
The programmer determines when objects are created,
and the Java runtime is responsible for recovering the
memory once objects are no longer in use.
Once no references to an object remain, the unreachable
memory becomes eligible to be freed automatically by the
garbage collector.
Something similar to a memory leak may still occur if a
programmer's code holds a reference to an object that is
no longer needed, typically when objects that are no
longer needed are stored in containers that are still in
use.[53] If methods for a non-existent object are called, a
null pointer exception is thrown.[54][55]

One of the ideas behind Java's automatic memory


management model is that programmers can be spared

26
the burden of having to perform manual memory
management.
In some languages, memory for the creation of objects is
implicitly allocated on the stack or explicitly allocated and
deallocated from the heap.
In the latter case, the responsibility of managing memory
resides with the programmer. If the program does not
deallocate an object, a memory leak occurs.[53] If the
program attempts to access or deallocate memory that has
already been deallocated, the result is undefined and
difficult to predict, and the program is likely to become
unstable or crash.
This can be partially remedied by the use of smart
pointers, but these add overhead and complexity. Note
that garbage collection does not prevent logical memory
leaks, i.e. those where the memory is still referenced but
never used.[53]

Garbage collection may happen at any time. Ideally, it will


occur when a program is idle. It is guaranteed to be
triggered if there is insufficient free memory on the heap
to allocate a new object; this can cause a program to stall
momentarily. Explicit memory management is not
possible in Java.

Java does not support C/C++ style pointer arithmetic,


where object addresses can be arithmetically manipulated
(e.g. by adding or subtracting an offset). This allows the

27
garbage collector to relocate referenced objects and
ensures type safety and security.

As in C++ and some other object-oriented languages,


variables of Java's primitive data types are either stored
directly in fields (for objects) or on the stack (for methods)
rather than on the heap, as is commonly true for non-
primitive data types (but see escape analysis). This was a
conscious decision by Java's designers for performance
reasons.

Java contains multiple types of garbage collectors. Since


Java 9, HotSpot uses the Garbage First Garbage Collector
(G1GC) as the default.[56] However, there are also several
other garbage collectors that can be used to manage the
heap. For most applications in Java, G1GC is sufficient.
Previously, the Parallel Garbage Collector was used in Java
8.

Having solved the memory management problem does not


relieve the programmer of the burden of handling
properly other kinds of resources, like network or
database connections, file handles, etc., especially in the
presence of exceptions.

Syntax
Main article: Java syntax

28
Dependency graph of the Java Core classes (created with
jdeps and Gephi)
The syntax of Java is largely influenced by C++ and C.
Unlike C++, which combines the syntax for structured,
generic, and object-oriented programming, Java was built
almost exclusively as an object-oriented language.[18] All
code is written inside classes, and every data item is an
object, with the exception of the primitive data types, (i.e.
integers, floating-point numbers, boolean values, and
characters), which are not objects for performance
reasons. Java reuses some popular aspects of C++ (such as
the printf method).

Unlike C++, Java does not support operator


overloading[57] or multiple inheritance for classes,
though multiple inheritance is supported for
interfaces.[58]

Java uses comments similar to those of C++. There are


three different styles of comments: a single line style
marked with two slashes (//), a multiple line style opened
with /* and closed with */, and the Javadoc commenting
style opened with /** and closed with */. The Javadoc style
of commenting allows the user to run the Javadoc
executable to create documentation for the program and
can be read by some integrated development

29
environments (IDEs) such as Eclipse to allow developers
to access documentation within the IDE.

Hello world example


The traditional Hello world program can be written in Java
as:[59]

public class HelloWorldApp {


public static void main(String[] args) {
System.out.println("Hello World!"); // Prints the
string to the console.
}
}
All source files must be named after the public class they
contain, appending the suffix .java, for example,
HelloWorldApp.java. It must first be compiled into
bytecode, using a Java compiler, producing a file with the
.class suffix (HelloWorldApp.class, in this case). Only then
can it be executed or launched. The Java source file may
only contain one public class, but it can contain multiple
classes with a non-public access modifier and any number
of public inner classes. When the source file contains
multiple classes, it is necessary to make one class
(introduced by the class keyword) public (preceded by the
public keyword) and name the source file with that public
class name.

30
A class that is not declared public may be stored in any
.java file. The compiler will generate a class file for each
class defined in the source file. The name of the class file is
the name of the class, with .class appended. For class file
generation, anonymous classes are treated as if their name
were the concatenation of the name of their enclosing
class, a $, and an integer.

The keyword public denotes that a method can be called


from code in other classes, or that a class may be used by
classes outside the class hierarchy.[60] The class
hierarchy is related to the name of the directory in which
the .java file is located. This is called an access level
modifier. Other access level modifiers include the
keywords private (a method that can only be accessed in
the same class) and protected (which allows code from the
same package to access).[60] If a piece of code attempts to
access private methods or protected methods, the JVM will
throw a SecurityException

The keyword static[19] in front of a method indicates a


static method, which is associated only with the class and
not with any specific instance of that class. Only static
methods can be invoked without a reference to an object.
Static methods cannot access any class members that are
not also static. Methods that are not designated static are

31
instance methods and require a specific instance of a class
to operate.

The keyword void indicates that the main method does


not return any value to the caller. If a Java program is to
exit with an error code, it must call System.exit() explicitly.

The method name main is not a keyword in the Java


language. It is simply the name of the method the Java
launcher calls to pass control to the program. Java classes
that run in managed environments such as applets and
Enterprise JavaBeans do not use or need a main() method.
A Java program may contain multiple classes that have
main methods, which means that the VM needs to be
explicitly told which class to launch from.

The main method must accept an array of String objects.


By convention, it is referenced as args although any other
legal identifier name can be used. Since Java 5, the main
method can also use variable arguments, in the form of
public static void main(String... args), allowing the main
method to be invoked with an arbitrary number of String
arguments. The effect of this alternate declaration is
semantically identical (to the args parameter which is still
an array of String objects), but it allows an alternative
syntax for creating and passing the array.

32
The Java launcher launches Java by loading a given class
(specified on the command line or as an attribute in a JAR)
and starting its public static void main(String[]) method.
Stand-alone programs must declare this method explicitly.
The String[] args parameter is an array of String objects
containing any arguments passed to the class. The
parameters to main are often passed by means of a
command line.

Printing is part of a Java standard library: The System


class defines a public static field called out. The out object
is an instance of the PrintStream class and provides many
methods for printing data to standard out, including
println(String) which also appends a new line to the
passed string.

33
Implementations

Oracle Corporation is the current owner of the official


implementation of the Java SE platform, following their
acquisition of Sun Microsystems on January 27, 2010. This
implementation is based on the original implementation of
Java by Sun. The Oracle implementation is available for
Microsoft Windows (still works for XP, while only later
versions are currently officially supported), macOS, Linux,
and Solaris. Because Java lacks any formal standardization
recognized by Ecma International, ISO/IEC, ANSI, or other
third-party standards organizations, the Oracle
implementation is the de facto standard.

The Oracle implementation is packaged into two different


distributions: The Java Runtime Environment (JRE) which
contains the parts of the Java SE platform required to run
Java programs and is intended for end users, and the Java
Development Kit (JDK), which is intended for software
developers and includes development tools such as the
Java compiler, Javadoc, Jar, and a debugger. Oracle has also
released GraalVM, a high performance Java dynamic
compiler and interpreter.

OpenJDK is another notable Java SE implementation that is


licensed under the GNU GPL. The implementation started
when Sun began releasing the Java source code under the

34
GPL. As of Java SE 7, OpenJDK is the official Java reference
implementation.

The goal of Java is to make all implementations of Java


compatible. Historically, Sun's trademark license for usage
of the Java brand insists that all implementations be
compatible. This resulted in a legal dispute with Microsoft
after Sun claimed that the Microsoft implementation did
not support Java remote method invocation (RMI) or Java
Native Interface (JNI) and had added platform-specific
features of their own. Sun sued in 1997, and, in 2001, won
a settlement of US$20 million, as well as a court order
enforcing the terms of the license from Sun.[79] As a
result, Microsoft no longer ships Java with Windows.

Platform-independent Java is essential to Java EE, and an


even more rigorous validation is required to certify an
implementation. This environment enables portable
server-side applications.

35
Features of Java

The prime reason behind creation of Java was to bring


portability and security feature into a computer language.
Beside these two major features, there were many other
features that played an important role in moulding out the
final form of this outstanding language. Those features
are:

1) Simple
Java is easy to learn and its syntax is quite simple, clean
and easy to understand.The confusing and ambiguous
concepts of C++ are either left out in Java or they have
been re-implemented in a cleaner way.

Eg : Pointers and Operator Overloading are not there in


java but were an important part of C++.

2) Object Oriented
In java, everything is an object which has some data and
behaviour. Java can be easily extended as it is based on
Object Model. Following are some basic concept of OOP's.

36
Object
Class
Inheritance
Polymorphism
Abstraction
Encapsulation

3) Robust
Java makes an effort to eliminate error prone codes by
emphasizing mainly on compile time error checking and
runtime checking. But the main areas which Java
improved were Memory Management and mishandled
Exceptions by introducing automatic Garbage Collector
and Exception Handling.

4) Platform Independent
Unlike other programming languages such as C, C++ etc
which are compiled into platform specific machines. Java
is guaranteed to be write-once, run-anywhere language.

On compilation Java program is compiled into bytecode.


This bytecode is platform independent and can be run on
any machine, plus this bytecode format also provide
security. Any machine with Java Runtime Environment can
run Java Programs.Java is platform Independent Language

37
5) Secure
When it comes to security, Java is always the first choice.
With java secure features it enable us to develop virus
free, temper free system. Java program always runs in Java
runtime environment with almost null interaction with
system OS, hence it is more secure.

6) Multi Threading
Java multithreading feature makes it possible to write
program that can do many tasks simultaneously. Benefit of
multithreading is that it utilizes same memory and other
resources to execute multiple threads at the same time,
like While typing, grammatical errors are checked along.

7) Architectural Neutral
Compiler generates bytecodes, which have nothing to do
with a particular computer architecture, hence a Java
program is easy to intrepret on any machine.

8) Portable
Java Byte code can be carried to any platform. No
implementation dependent features. Everything related to
storage is predefined, example: size of primitive data types

38
9) High Performance
Java is an interpreted language, so it will never be as fast
as a compiled language like C or C++. But, Java enables
high performance with the use of just-in-time compiler.

10) Distributed
Java is also a distributed language. Programs can be
designed to run on computer networks. Java has a special
class library for communicating using TCP/IP protocols.
Creating network connections is very much easy in Java as
compared to C/C++.

New Features of JAVA 8


Below mentioned are some of the core upgrades done as a
part of Java 8 release. Just go through them quickly, we
will explore them in details later.

Enhanced Productivity by providing Optional Classes


feature, Lamda Expressions, Streams etc.
Ease of Use
Improved Polyglot programming. A Polyglot is a program
or script, written in a form which is valid in multiple
programming languages and it performs the same
operations in multiple programming languages. So Java
now supports such type of programming technique.
Improved Security and performance.

39
New Features of JAVA 11
Java 11 is a recommended LTS version of Java that
includes various important features. These features
includes new and upgrades in existing topic. Just go
through them quickly, we will explore them in details
later.

includes support for Unicode 10.0.0


The HTTP Client has been standarized
Lazy Allocation of Compiler Threads
Updated Locale Data to Unicode CLDR v33
JEP 331 Low-Overhead Heap Profiling
JEP 181 Nest-Based Access Control
Added Brainpool EC Support (RFC 5639)
Enhanced KeyStore Mechanisms
JEP 332 Transport Layer Security (TLS) 1.3
JEP 330 Launch Single-File Source-Code Programs

Java Editions
Java Editions or we can say the platform is a collection of
programs which helps to develop and run the programs
that are written in Java Programming language. Java
Editions includes execution engine, compiler and set of
libraries. As Java is Platform independent language so it is
not specific to any processor or operating system.

40
1. Java Standard Edition
Java Standard edition is a computing platform which is
used for development and deployment of portable code
that is used in desktop and server environments. Java
Standard Edition is also known as Java 2 Platform,
Standard Edition (J2SE).

Java Standard Edition has a wide range of APIs such as


Java Class Library etc. the best implementation of Java SE
is Oracle Corporation’s Java Development Kit (JDK).

2. Java Micro Edition


Java Micro Edition is a computing platform which is used
for the development and deployment of portable codes for
the embedded and mobile devices. Java Micro Edition is
also known as Java 2 Platform Micro Edition (J2ME). The
Java Micro Edition was designed by Sun Microsystems and
then later on Oracle corporation acquired it in 2010.

Example: micro-controllers, sensors, gateways, mobile


phones, printers etc.

3. Java Enterprise Edition


Java Enterprise Edition is a set of specifications and
extending Java SE 8 with features such as distributed

41
computing and web services. The applications of Java
Enterprise Edition run on reference runtimes. This
reference runtime handle transactions, security,
scalability, concurrency and the management of
components to be deployed. Java Enterprise Edition is also
known as Java 2 Platform Enterprise Edition (J2EE), and
currently, it has been rebranded as Jakarta EE.

Example: e-commerce, accounting, banking information


systems.

4. JavaFX
JavaFX is used for creating desktop applications and also
rich internet applications(RIAs) which can be run on a
wide variety of devices. JavaFX has almost replaced Swing
as the standard GUI library for Java Standard Edition.
JavaFX support for desktop computers and web browsers.

42
Advantages of Java:

Platform independent: Java code can run on any


platform that has a Java Virtual Machine (JVM)
installed, which means that applications can be
written once and run on any device.

Object-Oriented: Java is an object-oriented


programming language, which means that it
follows the principles of encapsulation,
inheritance, and polymorphism.

Security: Java has built-in security features that


make it a secure platform for developing
applications, such as automatic memory
management and type checking.

Large community: Java has a large and active


community of developers, which means that there
is a lot of support available for learning and using
the language.

Enterprise-level applications: Java is widely used


for developing enterprise-level applications, such
as web applications, e-commerce systems, and
database systems.

43
Disadvantages of Java:

Performance: Java can be slower compared to


other programming languages, such as C++, due to
its use of a virtual machine and automatic memory
management.
Memory management: Java’s automatic memory
management can lead to slower performance and
increased memory usage, which can be a drawback
for some applications.

44
Title

Project Atm Management System


Name:

It’s a GUI-based project


used with the Swing
Abstract: module to manage ATM
transactions of a bank.

Language Java
used:

IDE: Eclipse IDE for Java


Developers

Java version: Java SE 18.0. 2.1

Database: MySql

Type: Desktop application

45
Abstract
The ATM System is the project which is used to
access their bank accounts in order to make cash
withdrawals. Whenever the user need to make
cash withdraws, they can enter their PIN number
(personal identification number) and it will display
the amount to be withdrawn in the form of 100’s
500’s and 1000’s. Once their withdrawn was
successful, the amount will be debited in their
account.

The ATM System is developed in VB.Net and back-


end database as Ms-Access. VB.Net is the one of the
powerful version of Framework and object
oriented programming. Hence we use this software
in our project.

The ATM will service one customer at a time. A


customer will be required to enter ATM Card
number, personal identification number (PIN) –
both of which will be sent to the database for
validation as part of each transaction. The
customer will then be able to perform one or more
transactions. Also customer must be able to make a
balance inquiry of any account linked to the card.

46
communicate each transaction to the database and
obtain verification that it was allowed by the
database. In the case of a cash withdrawal, a
second message will be sent after the transaction
has been physically completed (cash dispensed or
envelope accepted). If the database determines
that the customer’s PIN is invalid, the customer
will be required to re-enter the PIN before a
transaction can proceed.

If a transaction fails for any reason other than an


invalid PIN, the ATM will display an explanation of
the problem, and will then ask the customer
whether he/she wants to do another transaction.

47
Introduction

Automated Teller Machine enables the clients of a


bank to have access to their account without going
to the bank. This is achieved only by development
the application using online concepts.

When the product is implemented, the user who


uses this product will be able to see all the
information and services provided by the ATM,
when he enters the necessary option and
arguments. The product also provides services like
request for cheques, deposit cash and other
advanced requirement of the user. The data is
stored in the database and is retrieved whenever
necessary. The implementation needs ATM
machine hardware to operate or similar simulated
conditions can also be used to successfully use the
developed product.

To develop this ATM system the entire operation


has been divided into the following step:

1.verification process
2.language, service
3.account selection services
4.Transactions
5.Special services

48
The program is designed in such a way that the
user has to card and pin number. Once verified, he
is provided a menu and he/she had to enter the
option provided in the menu. For example, when
the user wants to view the list of payment history
than he/she had to enter the option for payment
history provided in the main menu. When the
option is entered alone with the respective
argument, then the payment history is displayed
on the screen.

The user also must be given option to browse


through the pages like previous page, next page,
etc. The user may experience a delay in retrieving
or viewing the data, when there are many users
logged on to the same bank branch system.

49
Methodology
This study adopts survey research. It probes
deeply in to the opinion of respondents regarding
their satisfaction with automated teller machine
services. The study carefully selects samples from
the population in order to have an intensive study
of the characteristics of the population. However,
the research focuses on users of United Bank for
Africa in Sokoto metropolis. The rationale for the
selection of the states is that they constitute a
relatively a new area where much empirical
research has not been conducted. Most of related
researches concentrated on other zones and
countries. The study has one Independent
Variable(satisfaction) four dependant variable
perceived ease of use, availability of money in the
booth, transaction cost and service security. Data
will be collected on user satisfaction through the
use of questionnaire

50
Purpose
An automated teller machine (ATM) is an
electronic banking outlet that allows customers to
complete basic transactions without the aid of a
branch representative or teller. Anyone with a
credit card or debit card can access cash at most
ATMs, either in the U.S. or other countries.

ATMs are convenient, allowing consumers to


perform quick self-service transactions such as
deposits, cash withdrawals, bill payments, and
transfers between accounts.

Fees are commonly charged for cash withdrawals


by the bank where the account is located, by the
operator of the ATM, or by both. Some or all of
these fees can be avoided by using an ATM
operated directly by the bank network that holds
the account. Using an ATM abroad can cost more
than using one in the U.S. due to exchange rates or
transaction fees.

KEY TAKEAWAYS:
ATMS, or automated teller machines, are banking
outlets where you can withdraw cash without
going into a branch of their bank.

51
Some ATMs only dispense cash, while others allow
transactions such as check deposits or balance
transfers.

The first ATMs appeared in 1960s and now


number more than 2 million worldwide.

Today’s ATMs are capable of accepting deposits as


well as administering several other banking
services.

To avoid ATM fees, try to use an ATM by your own


bank.

52
History of ATMs
• The first ATM appeared at a branch of Barclays Bank
in London in 1967, though there are reports of a cash
dispenser in use in Japan in the mid-1960s.

• The interbank communications networks that


allowed a consumer to use one bank’s card at
another bank’s ATM followed in the 1970s.

• Within a few years, ATMs had spread around the


globe, securing a presence in every major country.
They now can be found even in tiny island nations
such as Kiribati and the Federated States of
Micronesia.

53
Scope
As per RBI, for ATM industry, India is a huge
market. It is a place with 1.2 billion people, where
40% of them were unbanked.

ICICI Bank general manager OP Srivastava once


commented: "When we saw a man in a dhoti in a
remote town in South India withdraw money from
an ATM, tuck it in the folds and ride away on his
cycle, we were truly inspired by the ATM growth in
the country."

There is a huge opportunity for growth of ATM


market in India.

The future will see multi vendor ATM popularity,


which will provide personalized features and a
user friendly interface.

ATM will be a popular “Public Technology”.


Original equipment manufacturers and vendors
will get ample scope for handling ATM machines.

Modern ATMs are now capable of personalized


branding, CRM applications, integrated fraud alert,
customer notifications, and flexible services.

54
The ATM technology has developed to such an
extent that some ATMs can memorize consumer
preferences as per their past transactions,
behavior, and tailor services accordingly.

In many cases, ATMs have internet scope which


facilitates two way communications with live
agents, provide biometric options, and have the
ability to demonstrate personalized
advertisements.

Maintenance of web enabled ATMs are easy.


These ATMs can be quickly connected to central
monitoring system of vendors.

Though ATM industry is growing rapidly, there are


many challenges related to security issues of the
software, increase of rental costs by the day in
major cities, housekeeping, and replenishment of
cash.

Few banks have introduced biometric ATMs in


rural India, which are quite secure and easy to use
by a common man. Banks are trying to shift slowly
from multi vendor to multichannel integration, so
as to get a complete picture of the activities of
customers.

55
Advantages

1.Always Provide Services


The first pros in the list of advantages of an ATM is
that it is always available to use. We can use it
24/7 whenever we need the cash.

2.Reduce the workload


Second good point about the automated teller
machine reduces the workload from workers and
makes auto transactions.

3.Fast Transaction
Best thing about ATMs is the fastest way of
transaction between account holders and
machines. No need to wait outside the bank or
inside the bank.

4.Very Useful Machine to Traveler


You are the traveler and out of cash just bring out
your debit or credit card and swipe it. Money is in
your hand within a few seconds, it’s all just
because of advantages of credit cards.

5.New Currency Notes


Use an ATM and withdraw the fresh and new
currency notes. I think new notes are the best gift
for little kids.

56
6.Privacy in Transaction
This is the privacy of your account and privacy
from other peoples. Using an ATM only you know
the actual amount of your bank statement. Because
there is nobody inside with you in the cabin.

7.ATM is Convenience
In this age of modern technology, internet banking
ATMs are available in all the convenience places
such as, Air Ports, Railway Stations, Bus Stops and
many more places like that.

8.ATM is Time Saving Pros


One of the best benefits I found in this list of
advantages of automated teller machines is time
saving. It saves your time and other people’s time.

9.Low Transaction Cost Pros


The last advantage of ATMs I am going to share
with you is the low transaction cost. If you are
using the same machine of the bank where you
have your bank account then it will never deduct
any extra amount.

57
Disadvantages

1.Not available in Rural Areas


The first drawback I found about automated teller
machines is that they are not available in rural areas and
not available in the villages.

2.Charges Fee Cons


If you are using the machine of the other banks or in
another country so it will deduct a little bit of a high fee for
withdrawing money.

3.Capture ATM Card


This point is done with me in my real life, when I
withdraw money and the machine captured my debit card
and also deducted my money and never received money. It
is the long story of what happened to me after that.

4.Cash Withdrawal Limitation


I have now three cards and all the cards have different
limitations of withdrawing the money.

5.Frauds and Hacking Cons

58
Another cons of automated teller machines in the list of
disadvantages of ATM. is the frauds and hacking. You must
6.keep your card number and pin code secret and never
tell anybody. There are a lot of cases on the internet
hackers and frauds using your card data.

7.Offline / System Down


Disadvantages of ATM are not end there another point is
limitations of system buy or system down and sometimes
show the machine is not for use now.

8.Forgot the PIN


Forgot your PIN of your card, you can’t use an ATM. Must
reset your PIN and then you are able to use it.

9.Run out of Cash Cons


In the government vacations the bank staff is not on duty.
Using too much ATM by the people runs it out of cash.

10.Risk of Robbery
Using the automated teller machine at night time you must
be carefully. Because there is no police and other security
staff at that time to protect you. Thieves can rob you and
take your money.

59
Existing System

 The existing system is manual system.


 The manual system is prone to error.
 This system involves a lot of manual entries with
the application to perform a desired task.
 Usage of papers and records in the process leads
to less efficiently less productivity.
 Increase lots of mistakes while writing in paper.
 Time delay between the user and customer is
reduced.
 For this reason the new system in invented.

Proposed System

The system customer transactions, satisfies the


requirements of the existing system in full-fledged
manner. Through this system, customer can make fast
transactions and view the last transactions easily.

60
Project Description
Need for the software
Now a days every one very busy in their work. So they feel
that the job must be easier so the system is used to reduce
their work which is done in the ATM system. Instead of
keeping lots of paper into a record or file and it may be
missed somewhere so, this system help to keep the record
of the customer it also keeps the details of he customer. It
is also easy to access.

Problem Description
The system mainly used by the bank clients. When a client
comes to ATM centre to update and delete their account. It
reduces the time consumption and lot of paperwork.
For any single operation it involves numerous references
and updating also takes subsequent changes in other
places.
ATM is another type of banking where the most frequently
type of transaction made is withdrawal.
A user may withdraw as much as many amount as he
wants until his account holds a sum greater than his
withdrawal amount.
ATM is completely automated and there is no necessity of
the ATM centre being placed at the bank itself.
It can be placed in the shopping malls, airports, railway
stations etc.

61
This ATM system can use any kind of interface. But it
should be user friendly and not confusing.
Help manuals should be provided in case any customer
has problem working with the software.
The system will retain information on the entire customer
who has necessity rights to access the service.
It will contain the balance amount in the account, rate of
interest, any special allowance for that customer and most
of all pin number of the customer.
The ATM system should be compatible with any kind of
database such as MS-ACCESS, DB2, ORACLE, SQL, SERVER
etc. the emphasis here is on consistency.
Some customer could have availed some special offers on
his ATM cards.
So this must be taken care of and the appropriate data
should be dealt with.
The ATM should provide easy access to the data for the
customer.
It should also have a highly secure interface so that one
can take money one behalf of others.
So the security is one of the main aspects in ATM.

62
Requirements
• Software
1.Front End Tool: Java
2.Database:MySql

• HardWare

1. Operating System: Windows 11 32 or 64 bit


2.Processor type: Intel core
3.Recommended: Core 2 Duo or higher
4.RAM
5.Minimum: 512 MB
6.Processor speed: 2.30 GHZ or higher
7.Hard disk: 512 GB or more.

63
Use Case Diagram

64
Activity Diagram

65
Sequence Diagram

66
State Chart Diagram

67
MySql SetUp

1.Creating the database

2.Selecting the database

3.Create a users table

4.Create a transcation table

5.Create an admin user

68
Coding

1.Main Module

2.Login Module

69
Output:

70
3.Pin Checking Module

71
Output:

72
4.Admin Home Page

73
Output:

5.Module To Add Users

74
75
Output:

76
6.Database Management Module

77
78
7.Comman Frame And Logo

8.Success Page

79
output:

80
There is also
another method
executed in this
class if adding users
is done.

9.Failed Transaction page

81
output:

10.Home Page For Users

82
83
output:

11.Quick Cash Window

84
85
Output:

86
12.Other Operations

87
88
Output:

89
13.Bank Statements

90
Output:

91
Output
The User Module:

92
93
94
95
96
97
98
99
The Admin Module:

100
101
Conclusion

All good things must come to an end, so does our


ATM program. We are done with the basic
transaction processes for our ATM. Now we have
in hand, two unique features of our ATM which
help in reducing the complex nature of banking
process such as PIN CHANGE and FUND
TRANSFER. I am not sure about the fund transfer,
but now we can change the pin using ATM without
visiting the bank. This amendment is one of the
most advantageous feature of ATM today.

creating an ATM machine program using java, we


need to implement the four fundamental concepts
of each ATM system that exists, it includes cash
withdraw, cash deposit, account balance checks,
and functionality for another transaction or
termination.

So in this project, we have learned to design a


simple ATM Management System Project in Java
with a database using MySQL. We can deposit,
withdraw, change pin, and view statements and
balances in this system. Adding user access is given
to the admin.

102
Reference
• https://copyassignment.com/atm-
management-system-project-in-java/
• https://en.wikipedia.org/wiki/Java_%28prog
ramming_language%29
• https://www.javatpoint.com/advantages-
and-disadvantages-of-java
• https://www.aplustopper.com/advantages-
and-disadvantages-of-atm/
• https://www.researchgate.net/publication/2
64787167_Scope_of_ATM_Industry_in_IndiaTa
rget_Audience_ATM_UsersResearchers_in_Ban
king_Area_and_Suppliers_of_ATMs
• https://www.studocu.com/in/support

103

You might also like