Bank Management System Report PDF
Bank Management System Report PDF
ON
SUBMITTED TO
OF
IN
COMPUTER APPLICATION
SESSION 2016-19
Submitted to Submitted by
2
PREFACE
With the rapid globalization of the Indian economy, enterprises are facing with
ever changing competitive environment. Enterprises are adopting strategies aimed
at developing competitive advantage based on enhanced customer value in terms of
product differentiation, quality, speed, service and costs. In the post liberalization
era, with the deregulation of Indian economy, the financial service sector
witnessing a complete metamorphosis and technology is playing a very significant
role in this record. Over the last decade India has been one of the fastest adopters
of information technology, particularly because of its capability to provide
software solution to organizations around the world. This capability has provided a
tremendous impetuous to the domestic banking industry in India to deploy the
latest in technology, particularly in the Internet banking and e-commerce arenas.
Banks are growing in size by mergers and acquisitions, which have been driven by
communication and technology. Technology is playing a major role in increasing
the efficiency, courtesy and speed of customer service. It is said to be the age of E-
banking.
Sign in
Sign up
Forgot Password
Change Password
Cash Withdraw
Cash Deposit
Balance Enquiry
Logout
Transaction Report
All Accounts Report
Update Account
Delete Account
3
From a banks perspective, using the Internet is more efficient than using other
distribution mediums because banks are looking for an increased customer base.
4
ACKNOWLEDGEMENT
It is with great satisfaction and achievement that we have completed our MAJOR-
PROJECT of BANK MANAGEMENT SYSTEM. We take this opportunity to
acknowledge each and every one who contributed towards our work.
I express my sincere gratitude towards Prof DR. Rajeev kumar, Head of the
Department, of DIMS, for his guidance and support.
I take this opportunity to thank our Project-coordinator and Project Guide Mr.
Munish Sharma Professor of Dept DIMS for her suggestions, valuable support,
encouragement and guidance throughout the project.
I also convey my gratitude to all other members in the Project panel and those who
have contributed to this project directly or indirectly
Vivek Kashyap
Roll no.-169869662
BCA-6th sem
5
Title of The project
6
Contents
S. no. Topics Page no.
1. Overview Of The Project 8-16
Abstract 9
Introduction 10-15
Objective 15-16
Functionalities 16
5. System Design 36 – 70
Database Design 38 – 41
Data Flow Diagrams 42 – 60
E-R Diagrams 61 – 62
Database Tables 63 – 64
Modules Description 68 – 70
7
CHAPTER 1
OVERVIEW
OF THE
PROJECT
8
ABSTRACT
This project is aimed at developing Bank Management System for customer. The
system is a windows application that can be accessed throughout the organization
and outside as well with proper login provided.
The entire project has been developed keeping in view of the distributed
client server computing technology, in mind. The specification has been
normalized up to 3NF to eliminate all the anomalies that may arise due to the
database transaction that are executed by the general users and the organizational
administration. The user interfaces are browser specific to give distributed
accessibility for the overall system. The internal database has been selected as
MySQL. The basic constructs of table spaces, clusters and indexes have been
exploited to provide higher consistency and reliability for the data storage. The
MySQL was a choice as it provides the constructs of high-level reliability and
security. The total front end was dominated using the JAVA JDK 1.7. At all proper
levels high care was taken to check that the system manages the data consistency
9
with proper business rules or validations. The database connectivity was planned
using the latest “Database connection” technology provided by MySQL. The
authentication and authorization was crosschecked at all the relevant stages. The
user level accessibility has been restricted into two zones namely.
Introduction
It's fast, easy and puts you in complete control – you decide who to transfer
funds, checking of the account details. Receive and pay all your paper bills at one
site – at your bank, credit union.
Plus, you can enhance the convenience of transferring funds by receiving your
bills electronically, checking statuses of accounts and viewing the statements can
possible with this system. You can do this from one secure online location, in just a
few minutes.
Banking system provides the greater opportunity to interact with Account holder.
But in regular system there are no more interactions with an account holder or
trustee. Authorities of Bank Management System can Provides the greater
knowledge on Bank Management System and they can effectively.
10
1.1 PURPOSE OF THE SYSTEM
1. SECURITY: There is a lot of security of data on this content management
system. One cannot open our system without knowing the password. Immediately
after opening login screen will appear on screen. Only after entering the correct
username and password user can operate our system.
3. EASY RETRIEVAL OF DATA: Data is retrieved easily and quick using sql
commands. Online commands are used to retrieve huge amount of data.
2. Sign in Module:-
Description- Existing customer must have user-id and password to login into the
system. Customer should enter user-id and password and click on sign in button for
login into the system.
11
3. Change Password Module:-
Description- Existing customer can change their existing password with new
password through the application by login into the system. Customer should enter
user-Id and password into the login page and then click on sign in button. Now,
various services appear on screen from which user must click on “Change
Password” button. Now, enter the new password and then click on “Set Password”
button for reset the password.
12
appear on screen from which user must click on “Balance Enquiry” button and
then existing account balance will appear on screen.
8. Logout Module:-
Description- Existing customers can logout from the system by simply clicking on
logout button which was already login into the system.
13
from which admin must click on “Delete Account” button and then, delete account
page will appear on screen.
2. USER CONFIRMATION: Whenever the user tries to delete or edit the data, the
system asks for the confirmation. This is used to avoid the accidental changes to
the database. A confirmation is also provided for the exit of the application.
5. SECURITY AND ACCESS:A password form has been provided at the beginning
of the package. Entering the correct password will take user to the main user page.
1. PAPER WORK: All the activities that are performed by Management involve a
lot of paper work involving register consultations and entries. A separate file has to
be maintained for each kind of activity and for different periods of time.
14
2. TIME CONSUMPTION:A lot of time is consumed in referencing the registers
involved for particular activities and a lot of computation as well as report
verification activity is also paper based and time consuming.
a) Inconsistencies
b) Update anomalies
c) Decentralization problems
5. HUMAN ERRORS: Human kind of errors may be generated in typing errors and
slow arithmetic calculations, fatigue and boredom.
6. ILLEGAL ACCESS: The security of a lot of documents, which are paper, based
if difficult may be in terms of illegal access or manipulation by malicious personals
either intentionally or by accident.
15
The software will be user friendly so that even a beg inner can
operate the package and thus maintain the status of A/C, do the
transaction and maintain balance status easily.
The Project Banking system has been made to automate the
Banking system being followed by a banking company that deals in
current account with or without check facility.
Bank Management System also manage the balance detail for transaction
16
CHAPTER- 2
System Analysis
17
SYSTEM ANALYSIS
18
Existing system of Bank Management System
Existing system is the traditional banking, where customers have to
go through the long queue, time wasted and still wouldn’t have access to
efficient and effective banking system
The data entry process requires the data on the paper, which is then feed into the
application by the operator while doing so; the data entry operator has to look into
the paper again &again and thus the chances of in accuracies in the typed contents
increases. Also the process includes higher transportation cost, increased handling
cost, more time delays, low accuracy, more usage of resources like registers,
books, papers, etc.
The basis for the project is to develop a fully automated banking system that
includes depositing of amount, withdrawal of amount and exporting the outcome
back to the client while considering all the tools and facilities than a client may
need for efficient and effective output.
19
Security of data.
Ensure data accuracy`s.
Proper control of the higher officials.
Minimize manual data entry.
Minimum time needed for the various processing.
Greater efficiency.
Better service.
User friendliness and interactive.
In manual system, much storage space for data files is required so to overcome this
problem, on automated well managed database is developed for saving storage
space. This s/w saves space and stores information efficiently. It ends the burden of
having large manual filing storage system.
20
Analysis is also detailed study of the various
o p e r a t i o n s performed by the system and their relationship within and
outside the system
Data flow and data stores: temporary location of data and permanent location of
data.
21
self-defining word should not be decomposed .it means that the reduction of
any information in to sub part should be done only if it is really required that
is it is not understand directly.
FEASIBILITY ANALYSIS
2. A n a l y s i s o f a l t e r n a t i v e c a n d i d a t e s y s t e m s a f t e r s t u d y i n g t h e
v a r i o u s s y s t e m s w e d e r i v e d v a r i o u s alternatives through which
22
we develop our project and evaluated the alternative. The most
appropriate is selected.
ECONOMICAL FEASIBILITY:
The economical analysis checks for the high investment incurred on the system. It
evaluates development & implementing charges for the proposed “Banking
Project”. The S/W used for the development is easily available at minimal cost &
the database applied is freely available hence it results in low cost implementation.
The only tangible benefit provided by the proposed system is that the paper work
is reduced to the minimum and hence the reduction in cost incurred on
Stationary and its storage. The system provides many benefits that can’t be
measured in terms of Money for e.g. user’s friendliness, more user response being
more efficient.
TECHNICAL FEASIBILITY:
This aspect concentrates on the concept of using Computer Meaning,
“Mechanization” of human works. Thus the automated solution leads to the need
for a technical feasibility study.
The focus on the platform used database management &users for that S/W.
23
Operational feasibility
Now almost all Banks branches are connected through the Bank Management
System facilities. The transactions of a particular bank are transmitted through the
Micro-Bank software from INFLEX Solutions to the Head Office, where every
data is stored in the database .Real-time On-line any branch banking for the clients
is used to facilitate the clients to deposit /draw or remit funds to and from their
accounts, from one bank to another. Meanwhile, for the Smooth operation and efficient
functioning of the system they have completed the proper training to the related
personnel
24
CHAPTER- 3
Software Requirement
& Specification
25
Software requirement specification
The software requirements specification is a produced at the culmination of the
a task. The function and performance allocated to software as a part of system
engineering are refined by establishing a complete information description , a
detailed functional and behavioral ,an indication of performance requirements and
design constraints, appropriate validation criteria and other data pertinent to
requirements.
The reason behind it is that there is lot of information to be maintained and have
to be kept in mind while running the business .for this reason we have provided
features present stem is partially automated(computerized) , actually existing
system is quite; abprious as one has to enter same information at three different
places.
Documents and reports that must be provided by the new system, there
can also be few report , which can help management in decision making
and cost controlling, but since these report do not get required attention,
26
such kind of reports and information were also identified and given
required attention.
Details of the information needed for each document and report.
The required frequency and distribution for each document and report.
With the implementation of computerized system, the task of keeping
records in an organized manner will be solved. The greatest of all is the
retrieval of information which will be at the click of the mouse.
Software Required:
The project is implemented in Core Java as it provides the implementation of awt
package that are used to connect distinct applications, hence the software’s
required in the creation and execution of the project are JAVA JDK 1.7 .As we
know JAVA is a platform independent language so this software runs with JRE
environment on any desired platform i.e. Linux ,windows 9x, XP, or 2000 or any
operating system.
Hardware Required:
As the project involve database, its hardware requirements are minimal. Any
System with Pentium P2 or above processor, 32MB RAM, 1GB Hard Disk, a LAN
Card, and a CDROM is sufficient. Its network based software so computers
connected with any kind of mode (wireless, LAN connected etc) will suit its
requirements. . . . It can also be run on a single machine for its demo use.
Best suited in laboratory where we can run its server on any machine and many
clients can use it simultaneously.
27
Technologies and Requirements
Non-functional Requirements
Secure access of require data.
24X7 availability
user friendly
Intelligent user interfaces
28
Chapter - 4
Introduction
to
Tool/Language
29
About java: Features JDK 1.7
Platform independent: The concept of Write-once-run-anywhere (known as
the Platform independent) is one of the important key feature of java language that
makes java as the most powerful language. Not even a single language is idle to
this feature but java is closer to this feature. The programs written on one platform
can run on any platform provided the platform must have the JVM.
Simple: There are various features that make the java as a simple language.
Programs are easy to write and debug because java does not use the pointers
explicitly. It is much harder to write the java programs that can crash the system
but we cannot say about the other programming languages. Java provides the bug
free system due to the strong memory management. It also has the automatic
memory allocation and de-allocation system.
Inheritance: It is the process of creating the new classes and using the
behavior of the existing classes by extending them just to reuse the existing
code and adding the additional features as needed.
Encapsulation: It is the mechanism of combining the information and
providing the abstraction.
Polymorphism: As the name suggest one name multiple form,
Polymorphism is the way of providing the different functionality by
the functions having the same name based on the signatures of the methods.
Dynamic binding: Sometimes we don't have the knowledge of objects
about their specific types while writing our code. It is the way of providing
the maximum functionality to a program about the specific type at
runtime.
As the languages like Objective C, C++ fulfills the above four characteristics yet
they are not fully object oriented languages because they are structured as well as
object oriented languages. But in case of java, it is a fully Object Oriented
language because object is at the outer most level of data structure in java. No
stand alone methods, constants, and variables are there in java. Everything in java
is object even the primitive data types can also be converted into object by using
the wrapper class.
30
Robust: Java has the strong memory allocation and automatic garbage collection
mechanism. It provides the powerful exception handling and type checking
mechanism as compare to other programming languages. Compiler checks the
program whether there any error and interpreter checks any run time error and
makes the system secure from crash. All of the above features makes the java
language robust.
Distributed: The widely used protocols like HTTP and FTP are developed in
java. Internet programmers can call functions on these protocols and can get access
the files from any remote machine on the internet rather than writing codes on their
local system.
Dynamic: While executing the java program the user can get the required files
dynamically from a local drive or from a computer thousands of miles away from
the user just by connecting with the Internet.
Secure: Java does not use memory pointers explicitly. All the programs in java
are run under an area known as the sand box. Security manager determines the
accessibility options of a class like reading and writing a file to the local disk. Java
uses the public key encryption system to allow the java applications to transmit
over the internet in the secure encrypted form. The byte code Verifier checks the
classes after loading.
31
are obtained from the pool of available ready to run threads and they run on the
system CPUs. This is how Multithreading works in Java which you will soon come
to know in details in later chapters.
32
ABOUT : JDK:
The Java Development Kit (JDK) is a Sun Microsystems product aimed at Java
developers. Since the introduction of Java, it has been by far the most widely used
Java SDK. On 17 November 2006, Sun announced that it would be released under
the GNU General Public License (GPL), thus making it free software. This
happened in large part on 8 May 2007[1] and the source code was contributed to the
Open JDK.
Java – The loader for Java applications. This tool is an interpreter and can
interpret the class files generated by the javac compiler. Now a single
launcher is used for both development and deployment. The old deployment
launcher, jre, is no longer provided with Sun JDK.
javac – The compiler, which converts source code into Java bytecode
Jar – The archiver, which packages related class libraries into a single JAR
file. This tool also helps manage JAR files.
javadoc – The documentation generator, which automatically generates
documentation from source code comments
jdb – The debugger
javap – The class file disassembler
Appletviewer – This tool can be used to run and debug Java applets without
a web browser.
javah – The C header and stub generator, used to write native methods
Extcheck – This utility can detect JAR-file conflicts.
apt – The annotation processing tool
jhat – (Experimental) Java heap analysis tool
Jstack – (Experimental) This utility prints Java stack traces of Java threads.
jstat – (Experimental) Java Virtual Machine statistics monitoring tool
jstatd – (Experimental) jstat daemon
Jinfo – (Experimental) This utility gets configuration information from a
running Java process or crash dump.
jmap – (Experimental) This utility outputs the memory map for Java and can
print shared object memory maps or heap memory details of a given process
or core dump.
idlj – The IDL-to-Java compiler. This utility generates Java bindings from a
given IDL file.
33
policy tool – The policy creation and management tool, which can determine
policy for a Java runtime, specifying which permissions are available for
code from various sources
VisualVM – visual tool integrating several command line JDK tools and
lightweight performance and memory profiling capabilities
The JDK also comes with a complete Java Runtime Environment, usually called a
private runtime. It consists of a Java Virtual Machine and all of the class libraries
that will be present in the production environment, as well as additional libraries
only useful to developers, such as the internationalization libraries and the IDL
libraries.
34
SQL is an ANSI (American National Standards Institute) standard for
accessing and manipulating database systems. SQL statements are used
to retrieve and update data in a database. SQL works with database
programs like MS Access, DB2, Informix, MS SQL Server, Oracle,
Sybase, etc.
35
CHAPTER- 5
System Design
36
5.1 INTRODUCTION:
Software design sits at the technical kernel of the software engineering process and
is applied regardless of the development paradigm and area of application. Design
is the first step in the development phase for any engineered product or system.
The designer’s goal is to produce a model or representation of an entity that will
later be built. Beginning, once system requirement have been specified and
analyzed, system design is the first of the three technical activities -design, code
and test that is required to build and verify software.
The importance can be stated with a single word “Quality”. Design is the place
where quality is fostered in software development. Design provides us with
representations of software that can assess for quality. Design is the only way that
we can accurately translate a customer’s view into a finished software product or
system. Software design serves as a foundation for all the software engineering
steps that follow. Without a strong design we risk building an unstable system –
one that will be difficult to test, one whose quality cannot be assessed until the last
stage.
37
Data base design
Database Design is a collection of processes that facilitate the designing,
development, implementation and maintenance of enterprise data management
systems. It helps produce database systems.
The main objectives of database designing are to produce logical and physical
designs models of the proposed database system.
The logical model concentrates on the data requirements and the data to be stored
independent of physical considerations. It does not concern itself with how the data
will be stored or where it will be stored physically.
The physical data design model involves translating the logical design of the
database onto physical media using hardware resources and software systems such
as database management systems (DBMS).
For developing an efficient data base, we will have to full fill certain condition
such as:
Control Redundancy
Ease of use
Accuracy and integrity
Avoiding inordinate delays
Recovery from failure
Privacy and security
Performance
There are 6 major steps in design process. The first 5 steps are usually done on
paper and finally the design is implemented.
38
Verify the design
Implement the design
NORMALIZATION
Normalization is a technique that is more applicable to record based data models.
Each of the process can be carried out independently to arrive at normalized tables.
Normalization refines the data structure and data are group in simple way as
possible.
So later changes can be bring about the least impact on database structure and
eliminates data redundancy.
DATA INTEGRITY
Data integrity refers to the procedure that ensures correctness of the data entered in
the database. Functions have been provided in the software, which check data
while being entered. Integrity problems are occurred due to hardware or software
malfunctions such as power failure and disk crashes.
Side effect from the program development may also be the reason.
DATA CONSISTENCY
Problem with data consistency occur when adding records without first checking
for records with same key or deleting records without deleting other related
records. Likewise the software is coded such that primary keys can’t be duplicated.
For developing an efficient database, we have to fulfill certain conditions such as :
Control redundancy
Ease of use
Data independence
Privacy and security
Performance for achieving the above criteria’s we have to make use of various
features that are available with DBMS such as:
39
Enforcing integrity constraints to ensure data integrity and to reduce data
inconsistency.
Recovery from failures using backup facility.
5.2 NORMALIZATION:
It is a process of converting a relation to a standard form. The process is used to
handle the problems that can arise due to data redundancy i.e. repetition of data
in the database, maintain data integrity as well as handling problems that can
arise due to insertion, updation, deletion anomalies.
Insertion anomaly: Inability to add data to the database due to absence of other
data.
Update anomaly: Data inconsistency resulting from data redundancy and partial
update
Normal Forms: These are the rules for structuring relations that eliminate
anomalies.
A relation is said to be in first normal form if the values in the relation are atomic
for every attribute in the relation. By this we mean simply that no attribute value
can be a set of values or, as it is sometimes expressed, a repeating group.
40
SECOND NORMAL FORM:
Transitive Dependency: If two non key attributes depend on each other as well
as on the primary key then they are said to be transitively dependent.
41
5.3 DATA FLOW DIAGRAMS:
A data flow diagram is graphical tool used to describe and analyze movement of
data through a system. These are the central tool and the basis from which the
other components are developed. The transformation of data from input to output,
through processed, may be described logically and independently of physical
components associated with the system. These are known as the logical data flow
diagrams. The physical data flow diagrams show the actual implements and
movement of data between people, departments and workstations. A full
description of a system actually consists of a set of data flow diagrams. Using two
familiar notations Yourdon, Gane and Sarson notation develops the data flow
diagrams. Each component in a DFD is labeled with a descriptive name. Process is
further identified with a number that will be used for identification purpose. The
development of DFD’S is done in several levels. Each process in lower level
diagrams can be broken down into a more detailed DFD in the next level. The lop-
level diagram is often called context diagram. It consists a single process bit, which
plays vital role in studying the current system. The process in the context level
diagram is exploded into other process at the first level DFD.
The idea behind the explosion of a process into more process is that understanding
at one level of detail is exploded into greater detail at the next level. This is done
until further explosion is necessary and an adequate amount of detail is described
for analyst to understand the process.
42
A DFD is also known as a “bubble Chart” has the purpose of clarifying system
requirements and identifying major transformations that will become programs in
system design. So it is the starting point of the design to the lowest level of detail.
A DFD consists of a series of bubbles joined by data flows in the system.
DFD SYMBOLS:
Data flow
Data Store
43
CONSTRUCTING A DFD:
Several rules of thumb are used in drawing DFD’S:
1. Process should be named and numbered for an easy reference. Each name
should be representative of the process.
2. The direction of flow is from top to bottom and from left to right. Data
traditionally flow from source to the destination although they may flow back to
the source. One way to indicate this is to draw long flow line back to a source.
An alternative way is to repeat the source symbol as a destination. Since it is
used more than once in the DFD it is marked with a short diagonal.
3. When a process is exploded into lower level details, they are numbered.
4. The names of data stores and destinations are written in capital letters. Process
and dataflow names have the first letter of each work capitalized
A DFD typically shows the minimum contents of data store. Each data store
should contain all the data elements that flow in and out.
Questionnaires should contain all the data elements that flow in and out. Missing
interfaces redundancies and like is then accounted for often through interviews.
44
TYPES OF DATA FLOW DIAGRAMS
1. Current Physical
2. Current Logical
3. New Logical
4. New Physical
CURRENT PHYSICAL:
In Current Physical DFD 45recess label include the name of people or their
positions or the names of computer systems that might provide some of the overall
system-processing label includes an identification of the technology used to
process the data. Similarly data flows and data stores are often labels with the
names of the actual physical media on which data are stored such as file folders,
computer files, business forms or computer tapes.
CURRENT LOGICAL:
The physical aspects at the system are removed as mush as possible so that the
current system is reduced to its essence to the data and the processors that
transform them regardless of actual physical form.
This is exactly like a current logical model if the user were completely happy with
he user were completely happy with the functionality of the current system but had
problems with how it was implemented typically through the new logical model
will differ from current logical model while having additional functions, absolute
function removal and inefficient flows recognized.
NEW PHYSICAL:
The new physical represents only the physical implementation of the new system.
45
RULES GOVERNING THE DFD’S PROCESS
1) No process can have only outputs.
2) No process can have only inputs. If an object has only inputs than it must be a
sink.
3) A process has a verb phrase label.
46
0-Level DFD-:
Customer Administrator
Bank
Management
System
47
Storing data
Request sign up
Getting Sign Up
Customer/Admin Customer-Info
Service 1
Response
Display message
Enter user Id and
Password
pa Logout
Sign in Response 3
2
Update password
Update Balance
Withdraw Customer-
6 Info
Services Response
checking
Forgot
Passwor Customer-
d 7 Info
response
response
response
Access 8 Access data
data Delete Balance
All A/c Account Update Enquiry customer-
Report 10 Account info
11 9 response
11
Customer-info
48
11
1-Sign up Module:
Sign up Verification
Valid User
Transaction
Update
1.3
processing
signup
sign - up
49
2-Sign in Module
Invalid
2.2 Response
Valid
Services
2.3
50
3-Logout Module:
Invalid
Response
Valid
Logout Logout
processing
3.1
3.2
51
4-Change Password Module:
Check data
Authenticat
ion Login Info
Response
Valid
Display message
Change
Password
4.1
Enter new
Set Password
Password
4.2
4.3
Response
52
5-Deposit Module:
Check data
Authenticat
ion signup
Response
Valid
Display message
Deposit
5.1
Update
Balance Enter Amount
5.3
5.2
Response
53
6-Withdraw Module:
Sign in
Customer Enter user-id & password
Invalid
Access
Authenticati
signup
on
Retrieve Data
Valid
Display message
Withdraw
6.1
Enter amount
6.2
signup
54
7-Forgot Password Module:
Forgot
Customer Password
Click button 7.1
Enter your
email-id
Valid
Password
Show
access
Password
processing
7.3
7.2
signup
55
8-Balance Enquiry Module:
Enter user-id & password
Customer Sign in
Retrieve data
Balance
Enquiry
8.1
56
9-Update Account Module:
Sign in
Admin
Enter admin-id & password
Access data
Authenticati
signup
on
Retrieve Data
Valid
Display Message
Update
Account
9.1
Enter new
Account details of
Updated existing A/C
9.3 9.2
signup
57
10-Delete Account Module:
Sign in
Admin
Enter admin-id & password
Access data
Authenticati
signup
on
Retrieve Data
Valid
Display Message
Delete
Account
10.1
Enter Account
Account number
deleted 10.2
10.3
signup
58
11-All Accounts Report Module:
Sign in
Admin
Enter admin-id & password
Access data
Authenticati
signup
on
Retrieve Data
Valid
Display Report
Report
11.1
signup
59
12-Transaction Report Module:
Sign in
Admin
Enter admin-id & password
Access data
Authenticati
signup
on
Retrieve Data
Valid
Display Report
Transaction
Report
11.1
transaction
60
E – R DIAGRAMS:
The relation upon the system is structure through a conceptual ER-Diagram,
which not only specifics the existential entities but also the standard relations
through which the system exists and the cardinalities that are necessary for the
system state to continue.
The entity Relationship Diagram (ERD) depicts the relationship between the
data objects. The ERD is the notation that is used to conduct the date modeling
activity the attributes of each data object noted is the ERD can be described
resign a data object descriptions.
The set of primary components that are identified by the ERD are
Data object
Relationships
Attributes
The primary purpose of the ERD is to represent data objects and their
relationships.
61
Account Name email user-
A/c- Pass Name
number id
no. word
Addres
s
Customer/Admin Sign-up
has
Accoun Bala
Name Email-
t-no id. nce
Has
Password
User-id
Accou passw Amount
nt-no ord
Sign in
Access Withdraw
Access
Deposit
Access
New Old
Balance Accou Amount Transacti
Password Password
nt-no on -type
62
5.5 Database
A collection of programs that enables you to store, modify, and extract
information from a database. Information of the users gets stored in a
relational database. The application works well with MS- Access as database,
it also works well with My SQL, SQL Server and Oracle.
63
Database table
Signup:-
Field name Null? Data Type
custid Not null int(11)
pin Not null varchar(4)
name Not null varchar(20)
fathers_name Not null varchar(20)
date Not null varchar(15)
gender Not null varchar(20)
email Not null varchar(20)
marital_status Not null varchar(20)
address Not null varchar(40)
pincode Not null varchar(20)
balance Not null int(11)
role Not null varchar(10)
Transaction:-
64
User case diagram
A use case diagram is a dynamic or behavior diagram in UML. Use case diagrams
model the functionality of a system using actors and use cases. Use cases are a set
of actions, services, and functions that the system needs to perform. In this context,
a "system" is something being developed or operated, such as a web site. The
"actors" are people or entities operating under defined roles within the system.
Use case diagrams are valuable for visualizing the functional requirements of a
system that will translate into design choices and development priorities.
They also help identify any internal or external factors that may influence the
system and should be taken into consideration.
They provide a good high level analysis from outside the system. Use case
diagrams specify how the system interacts with actors without worrying about the
details of how that functionality is implemented.
65
Use case
Draw use cases using ovals. Label the ovals with verbs that represent the system's
functions.
Actors
Actors are the users of a system. When one system is the actor of another system,
label the actor system with the actor stereotype.
Relationships
Illustrate relationships between an actor and a use case with a simple line. For
relationships among use cases, use arrows labeled either "uses" or "extends." A
"uses" relationship indicates that one use case is needed by another in order to
perform a task. An "extends" relationship indicates alternative options under a
certain use case.
66
Use Case Diagram
Bank Management System
Sign-up
All Accounts
Report
Sign -in
Transactions
Change
Passwor Reports
d
Forgot
Services
Customer Passwor Update
d Account
Logout
Deposit
Admin
Delete
Account
Withdraw
Balance
Enquiry
67
Modules Description
Modules For Customer:-
1. Sign up Module:
Description- New customer can sign up in to the system. New customer should
enter personal details and password in the registration form and then click on
“submit” button. A new account will make in the system.
2. Sign in Module:-
Description- Existing customer must have user-id and password to login into the
system. Customer should enter user-id and password and click on sign in button for
login into the system.
68
5. Cash Withdraw Module:-
Description- Existing customer can withdraw money from their account through
the application by login into the system. Customer should enter user-Id and
password into the login page and then click on sign in button. Now, various
services will appear on screen from which user must click on “Cash Withdraw”
button and then, new window will appear on screen to fill the required details for
withdrawing money.
8. Logout Module:-
Description- Existing customers can logout from the system by simply clicking on
logout button which was already login into the system.
69
screen from which admin must click on “ Transactions Report” button and then,
transactions history will appear on screen.
70
CHAPTER- 6
IMPLEMENTATION
71
Coding
Signin Module:-
import java.awt.*;
import java.awt.event.*;
import javax.swing.*;
import java.sql.*;
setLayout(null);
ImageIcon icon=new ImageIcon("index2.jpg");
back=new JLabel(icon);
setSize(1500,1500);
back.setBounds(0,0,2000,2000);
add(back);
l3 = new JLabel("PIN:");
l3.setFont(new Font("Raleway", Font.BOLD, 28));
72
b1 = new JButton("SIGN IN");
b1.setBackground(Color.BLACK);
b1.setForeground(Color.WHITE);
b3 = new JButton("FORGET");
b3.setBackground(Color.BLACK);
b3.setForeground(Color.WHITE);
setLayout(null);
l1.setBounds(175,50,450,200);
back.add(l1);
l2.setBounds(125,150,375,200);
back.add(l2);
l3.setBounds(125,225,375,200);
back.add(l3);
b1.addActionListener(this);
b2.addActionListener(this);
b3.addActionListener(this);
73
getContentPane().setBackground(Color.WHITE);
setSize(750,750);
setLocation(500,200);
setVisible(true);
}
public void actionPerformed(ActionEvent ae){
Connection can=null;
try
Class.forName("com.mysql.jdbc.Driver");
}
catch(Exception e1)
{
System.out.println("error :"+e1);
}
try
{
can=DriverManager.getConnection("jdbc:mysql://localhost:3306/bankdetail","root","");
}
catch(Exception e2)
{
System.out.println("error :"+e2);
}
if(ae.getSource()==b1)
try
String un=tf1.getText();
String pw=pf2.getText();
74
PreparedStatement pstml=can.prepareStatement("select * from signup where custid=? and
pin=?");
pstml.setString(1,un);
pstml.setString(2,pw);
ResultSet rs=pstml.executeQuery();
if(rs.next())
{
String srole=rs.getString("role");
JOptionPane.showMessageDialog(null,"Welcome "+un);
if(srole.equals("user"))
o=new Transcations(un);
else
o1=new TranscationsAdmin();
else
catch(Exception ax)
System.out.print("error"+ae);
else if (ae.getSource()==b2)
75
setVisible(false);
else if(ae.getSource()==b3)
setVisible(false);
new Login();
76
Sign-up Module:-
import java.awt.*;
import java.awt.event.*;
import javax.swing.*;
import java.sql.*;
import java.util.*;
class Signup extends JFrame implements ActionListener
{
JLabel l1,l2,l3,l4,l5,l6,l7,l8,l9,l10,l11,l12,back;
JTextField t1,t2,t3,t4,t5,t6,t7,t8;
JRadioButton r1,r2,r3,r4;
JButton b1,b2,b3;
ButtonGroup bg1,bg2;
Signup()
{
setLayout(null);
ImageIcon icon=new ImageIcon("index2.jpg");
back=new JLabel(icon);
setSize(1500,1500);
back.setBounds(0,0,2000,2000);
add(back);
l4 = new JLabel("Pin:");
l4.setFont(new Font("Raleway", Font.BOLD, 20));
77
l5 = new JLabel("name:");
l5.setFont(new Font("Raleway", Font.BOLD, 20));
l6 = new JLabel("Father_name:");
l6.setFont(new Font("Raleway", Font.BOLD, 20));
l7 = new JLabel("date:");
l7.setFont(new Font("Raleway", Font.BOLD, 20));
l8 = new JLabel("gender:");
l8.setFont(new Font("Raleway", Font.BOLD, 20));
l9 = new JLabel("email:");
l9.setFont(new Font("Raleway", Font.BOLD, 20));
t1 = new JTextField();
t1.setFont(new Font("Raleway", Font.BOLD, 14));
t2 = new JTextField();
t2.setFont(new Font("Raleway", Font.BOLD, 14));
t3 = new JTextField();
t3.setFont(new Font("Raleway", Font.BOLD, 14));
t4 = new JTextField();
t4.setFont(new Font("Raleway", Font.BOLD, 14));
t5 = new JTextField();
t5.setFont(new Font("Raleway", Font.BOLD, 14));
t6 = new JTextField();
t6.setFont(new Font("Raleway", Font.BOLD, 14));
t7 = new JTextField();
t7.setFont(new Font("Raleway", Font.BOLD, 14));
t8 = new JTextField();
78
t8.setFont(new Font("Raleway", Font.BOLD, 14));
r1 = new JRadioButton("Male");
r1.setFont(new Font("Raleway", Font.BOLD, 14));
r1.setBackground(Color.WHITE);
r2 = new JRadioButton("Female");
r2.setFont(new Font("Raleway", Font.BOLD, 14));
r2.setBackground(Color.WHITE);
r3 = new JRadioButton("Married");
r3.setFont(new Font("Raleway", Font.BOLD, 14));
r3.setBackground(Color.WHITE);
r4 = new JRadioButton("Unmarried");
r4.setFont(new Font("Raleway", Font.BOLD, 14));
r4.setBackground(Color.WHITE);
bg1=new ButtonGroup();
bg1.add(r1);
bg1.add(r2);
bg2=new ButtonGroup();
bg2.add(r3);
bg2.add(r4);
setLayout(null);
l1.setBounds(140,20,600,40);
back.add(l1);
l2.setBounds(290,70,600,30);
79
back.add(l2);
l3.setBounds(100,140,100,30);
back.add(l3);
t1.setBounds(300,140,400,30);
back.add(t1);
l4.setBounds(100,190,200,30);
back.add(l4);
t2.setBounds(300,190,400,30);
back.add(t2);
l5.setBounds(100,240,200,30);
back.add(l5);
t3.setBounds(300,240,400,30);
back.add(t3);
l6.setBounds(100,290,200,30);
back. add(l6);
t4.setBounds(300,290,400,30);
back.add(t4);
l7.setBounds(100,340,200,30);
back.add(l7);
t5.setBounds(300,340,400,30);
back.add(t5);
l8.setBounds(100,390,200,30);
back.add(l8);
r1.setBounds(300,390,60,30);
back.add(r1);
r2.setBounds(450,390,90,30);
back.add(r2);
l9.setBounds(100,440,200,30);
back.add(l9);
80
t6.setBounds(300,440,400,30);
back.add(t6);
l10.setBounds(100,490,200,30);
back.add(l10);
r3.setBounds(300,490,100,30);
back.add(r3);
r4.setBounds(450,490,100,30);
back.add(r4);
l11.setBounds(100,540,200,30);
back.add(l11);
t7.setBounds(300,590,400,30);
back.add(t7);
l12.setBounds(100,590,200,30);
back.add(l12);
t8.setBounds(300,540,400,30);
back.add(t8);
b1.addActionListener(this);
b2.addActionListener(this);
b3.addActionListener(this);
b1.setBounds(300,660,150,30);
back.add(b1);
b2.setBounds(600,660,80,30);
back.add(b2);
b3.setBounds(730,140,100,30);
back.add(b3);
getContentPane().setBackground(Color.WHITE);
setSize(850,850);
setLocation(500,90);
81
setVisible(true);
}
con=DriverManager.getConnection("jdbc:mysql://localhost/bankdetail","root","");
}
catch(Exception ex)
{
System.out.println("Error in connection:"+ex);
}
System.out.println("22222");
String un=t1.getText();
System.out.println("user name "+un);
if(ae.getSource()==b1)
try
String pw="";
pstml=con.prepareStatement("insert into
signup(custid,pin,name,fathers_name,date,gender,email,marital_status,address,pincode,balance)
values(?,?,?,?,?,?,?,?,?,?,?)");
String cs=t1.getText();
String pin=t2.getText();
String cn=t3.getText();
String fn=t4.getText();
82
String dt=t5.getText();
String em=t6.getText();
String add=t7.getText();
String pd=t8.getText();
String gender;
if(r1.isSelected())
gender="M";
else
gender="F";
String marstat;
if(r3.isSelected())
marstat="M";
else
marstat="B";
pstml.setString(1,cs);
pstml.setString(2,pin);
pstml.setString(3,cn);
pstml.setString(4,fn);
pstml.setString(5,dt);
pstml.setString(6,gender);
pstml.setString(7,em);
pstml.setString(8,marstat);
pstml.setString(9,add);
pstml.setString(10,pd);
pstml.setInt(11,1000);
int r=pstml.executeUpdate();
System.out.println("record:"+r);
if(r>0)
{
else
83
}
catch(Exception ax)
System.out.print("error"+ae);
}
}
else if(ae.getSource()==b2)
else if(ae.getSource()==b3)
{
System.out.println("custid :"+un);
try
{
pstml.setString(1,un);
rs=pstml.executeQuery();
if(rs.next())
{
}
catch(Exception ex)
{
System.out.println(" Error in creating account");
}
84
}
}
import java.sql.*;
import java.awt.*;
class ForgotPass extends JFrame implements ActionListener
JLabel l1,l2,l3;
JTextField tf;
JPasswordField pf;
JButton b1,b2,b3;
ForgotPass()
setLayout(null);
85
l3=new JLabel("E-mail id");
l3.setFont(new Font("Osward", Font.BOLD, 24));
tf=new JTextField(20);
pf=new JPasswordField(20);
b1=new JButton("submit");
b1.setBackground(Color.BLACK);
b1.setForeground(Color.WHITE);
b2=new JButton("Cancel");
b2.setBackground(Color.BLACK);
b2.setForeground(Color.WHITE);
b3=new JButton("Back");
b3.setBackground(Color.BLACK);
b3.setForeground(Color.WHITE);
b1.addActionListener(this);
b2.addActionListener(this);
b3.addActionListener(this);
l1.setBounds(80,10,300,50);
l2.setBounds(80,150,150,20);
tf.setBounds(250,150,150,20);
l3.setBounds(80,200,210,20);
pf.setBounds(250,200,150,20);
b1.setBounds(50,250,100,20);
b2.setBounds(180,250,100,20);
b3.setBounds(310,250,200,20);
86
add(l1);
add(l2);
add(l3);
add(b1);
add(b2);
add(b3);
add(tf);
add(pf);
setVisible(true);
setSize(600,600);
if(ae.getSource()==b1)
try
String un=tf.getText();
String pw=pf.getText();
Class.forName("com.mysql.jdbc.Driver");
Connection
can=DriverManager.getConnection("jdbc:mysql://localhost/bankdetail","root","");
pstml.setString(1,un);
87
pstml.setString(2,pw);
ResultSet rs=pstml.executeQuery();
if(rs.next())
{
+rpw);
else
catch(Exception ax)
System.out.print("error"+ax);
else if (ae.getSource()==b2)
tf.setText("");
pf.setText("");
else if(ae.getSource()==b3)
88
{
setVisible(false);
new ForgotPass();
}
Transaction Module:-
import java.awt.*;
import java.awt.event.*;
import javax.swing.*;
import java.sql.*;
String un;
JLabel l1;
JButton b1,b2,b4,b5,b6,b7;
Deposit dep;
Withdrawl with;
Fastcash fast;
Pin pin;
BalEnq be;
Balance ba;
public void actionPerformed(ActionEvent ae)
{
if(ae.getSource()== b1)
dep=new Deposit(un);
else if(ae.getSource()==b2)
with=new Withdrawl(un);
89
else if(ae.getSource()==b5)
pin=new Pin(un);
else if(ae.getSource()==b4)
ba=new Balance(un);
else if(ae.getSource()==b6)
be=new BalEnq(un);
else if(ae.getSource()==b7)
setVisible(false);
}
Transcations()
{}
Transcations(String tempun)
{
un=tempun;
setFont(new Font("System", Font.BOLD, 22));
Font f = getFont();
setTitle("TRANSACTION");
b1 = new JButton("DEPOSIT");
b1.setFont(new Font("System", Font.BOLD, 18));
b1.setBackground(Color.BLACK);
b1.setForeground(Color.WHITE);
90
b4 = new JButton("BALANCE ENQUIRY");
b4.setFont(new Font("System", Font.BOLD, 18));
b4.setBackground(Color.BLACK);
b4.setForeground(Color.WHITE);
b7 = new JButton("EXIT");
b7.setFont(new Font("System", Font.BOLD, 18));
b7.setBackground(Color.BLACK);
b7.setForeground(Color.WHITE);
setLayout(null);
l1.setBounds(100,100,700,40);
add(l1);
b1.setBounds(40,250,300,60);
add(b1);
b2.setBounds(440,250,300,60);
add(b2);
b4.setBounds(440,360,300,60);
add(b4);
b5.setBounds(280,470,300,60);
add(b5);
b6.setBounds(40,360,300,60);
add(b6);
b7.setBounds(280,600,300,60);
add(b7);
b1.addActionListener(this);
91
b2.addActionListener(this);
b4.addActionListener(this);
b5.addActionListener(this);
b6.addActionListener(this);
b7.addActionListener(this);
getContentPane().setBackground(Color.WHITE);
setSize(800,800);
setLocation(500,90);
setVisible(true);
JPasswordField t1,t2,t3;
JButton b1,b2;
JLabel l1,l2,l3,l4;
String un;
Pin()
{
}
Pin(String tempun)
{
un=tempun;
92
setFont(new Font("System", Font.BOLD, 22));
Font f = getFont();
setTitle("PIN CHANGE");
t1 = new JPasswordField();
t1.setFont(new Font("Raleway", Font.BOLD, 22));
t2 = new JPasswordField();
t2.setFont(new Font("Raleway", Font.BOLD, 22));
t3 = new JPasswordField();
t3.setFont(new Font("Raleway", Font.BOLD, 22));
b1 = new JButton("SAVE");
b1.setFont(new Font("System", Font.BOLD, 18));
b1.setBackground(Color.BLACK);
b1.setForeground(Color.WHITE);
b2 = new JButton("BACK");
b2.setFont(new Font("System", Font.BOLD, 18));
b2.setBackground(Color.BLACK);
b2.setForeground(Color.WHITE);
b1.addActionListener(this);
b2.addActionListener(this);
setLayout(null);
l1.setBounds(220,130,800,60);
add(l1);
l2.setBounds(100,240,150,40);
93
add(l2);
l3.setBounds(100,300,150,40);
add(l3);
l4.setBounds(100,360,200,40);
add(l4);
t1.setBounds(310,240,360,40);
add(t1);
t2.setBounds(310,300,360,40);
add(t2);
t3.setBounds(310,360,360,40);
add(t3);
b1.setBounds(220,460,160,50);
add(b1);
b2.setBounds(400,460,160,50);
add(b2);
getContentPane().setBackground(Color.WHITE);
setSize(800,800);
setLocation(500,90);
setVisible(true);
Connection con=null;
PreparedStatement pstml=null;
ResultSet rs=null;
try
{
Class.forName("com.mysql.jdbc.Driver");
con=DriverManager.getConnection("jdbc:mysql://localhost/bankdetail","root","");
}
catch(Exception ex)
94
{
System.out.println("Error in connection:"+ex);
}
if(ae.getSource()==b2){
new Transcations().setVisible(true);
setVisible(false);
}
else if(ae.getSource()==b1)
{
try
{
pstml=con.prepareStatement("update signup set pin=? where custid=? and
pin=?");
String cpin=t1.getText();
String npin=t2.getText();
String rnpin=t3.getText();
if(!npin.equals(rnpin))
{
JOptionPane.showMessageDialog(null,"pin dosnt match");
return;
}
pstml.setString(1,npin);
pstml.setString(2,un);
pstml.setString(3,cpin);
int r=pstml.executeUpdate();
if(r>0)
JOptionPane.showMessageDialog(null,"pin changed
successfully");
}
catch(Exception err)
{
System.out.println("Error :"+err);
}
}
95
}
JTextField t1,t2,t3;
JButton b1,b2;
JLabel l1,l2,l3;
String un;
Withdrawl()
{
}
Withdrawl(String tempun){
un=tempun;
setFont(new Font("System", Font.BOLD, 22));
Font f = getFont();
setTitle("Withdrawl");
l3 = new JLabel("date");
l3.setFont(new Font("System", Font.BOLD, 35));
t1 = new JTextField();
t1.setFont(new Font("Raleway", Font.BOLD, 22));
t2 = new JTextField();
t2.setFont(new Font("Raleway", Font.BOLD, 22));
t3 = new JTextField();
t3.setFont(new Font("Raleway", Font.BOLD, 22));
b1 = new JButton("Submit");
96
b1.setFont(new Font("System", Font.BOLD, 18));
b1.setBackground(Color.BLACK);
b1.setForeground(Color.WHITE);
b2 = new JButton("Back");
b2.setFont(new Font("System", Font.BOLD, 18));
b2.setBackground(Color.BLACK);
b2.setForeground(Color.WHITE);
setLayout(null);
l1.setBounds(100,100,300,30);
add(l1);
t1.setBounds(400,100,250,30);
add(t1);
l2.setBounds(100,180,800,30);
add(l2);
t2.setBounds(400,180,250,30);
add(t2);
l3.setBounds(100,260,250,30);
add(l3);
t3.setBounds(400,260,250,30);
add(t3);
b1.setBounds(260,380,125,50);
add(b1);
b2.setBounds(415,380,125,50);
add(b2);
b1.addActionListener(this);
b2.addActionListener(this);
getContentPane().setBackground(Color.WHITE);
t1.setText(un);
setSize(800,800);
setLocation(500,90);
97
setVisible(true);
}
Connection can=null;
try
Class.forName("com.mysql.jdbc.Driver");
}
catch(Exception e1)
{
System.out.println("error :"+e1);
}
try
{
can=DriverManager.getConnection("jdbc:mysql://localhost:3306/bankdetail","root","");
}
catch(Exception e2)
{
System.out.println("error :"+e2);
}
if(ae.getSource()==b1)
try
String s1=t1.getText();
String s2=t2.getText();
String s3=t3.getText();
pstml.setString(1,s1);
pstml.setString(2,s3);
98
pstml.setString(3,s2);
pstml.setString(4,"W");
int ra=pstml.executeUpdate();
if(ra>0)
JOptionPane.showMessageDialog(null,"Transaction
Successfull");
else
catch(Exception e)
System.out.print("error"+e);
try
String s11=t1.getText();
String s22=t2.getText();
String s33=t3.getText();
int amt=Integer.parseInt(s22);
PreparedStatement pstml=can.prepareStatement("update signup set
balance=balance-"+amt+" where custid=? ");
pstml.setString(1,s11);
int ra=pstml.executeUpdate();
99
if(ra>0)
JOptionPane.showMessageDialog(null,"Transaction
Successfull");
else
catch(Exception e)
System.out.print("error"+e);
}
else if(ae.getSource()==b2){
new Transcations().setVisible(true);
setVisible(false);
}
100
Cash Deposit Module:-
import java.awt.*;
import java.awt.event.*;
import javax.swing.*;
import java.sql.*;
import java.util.*;
JTextField t1,t2,t3;
JButton b1,b2;
JLabel l1,l2,l3;
String un;
Deposit()
{
}
Deposit(String tempun)
{
un=tempun;
setFont(new Font("System", Font.BOLD, 22));
Font f = getFont();
setTitle("DEPOSIT");
l3 = new JLabel("date");
l3.setFont(new Font("System", Font.BOLD, 35));
t1 = new JTextField();
t1.setFont(new Font("Raleway", Font.BOLD, 22));
t2 = new JTextField();
t2.setFont(new Font("Raleway", Font.BOLD, 22));
t3 = new JTextField();
t3.setFont(new Font("Raleway", Font.BOLD, 22));
101
b1 = new JButton("Submit");
b1.setFont(new Font("System", Font.BOLD, 18));
b1.setBackground(Color.BLACK);
b1.setForeground(Color.WHITE);
b2 = new JButton("Back");
b2.setFont(new Font("System", Font.BOLD, 18));
b2.setBackground(Color.BLACK);
b2.setForeground(Color.WHITE);
setLayout(null);
l1.setBounds(100,100,300,30);
add(l1);
t1.setBounds(400,100,250,30);
add(t1);
l2.setBounds(100,180,800,30);
add(l2);
t2.setBounds(400,180,250,30);
add(t2);
l3.setBounds(100,260,250,30);
add(l3);
t3.setBounds(400,260,250,30);
add(t3);
b1.setBounds(260,380,125,50);
add(b1);
b2.setBounds(415,380,125,50);
add(b2);
b1.addActionListener(this);
b2.addActionListener(this);
getContentPane().setBackground(Color.WHITE);
t1.setText(un);
setSize(800,800);
setLocation(500,90);
102
setVisible(true);
}
Connection can=null;
try
Class.forName("com.mysql.jdbc.Driver");
}
catch(Exception e1)
{
System.out.println("error :"+e1);
}
try
{
can=DriverManager.getConnection("jdbc:mysql://localhost:3306/bankdetail","root","");
}
catch(Exception e2)
{
System.out.println("error :"+e2);
}
if(ae.getSource()==b1)
try
String s1=t1.getText();
String s2=t2.getText();
String s3=t3.getText();
pstml.setString(1,s1);
pstml.setString(2,s3);
103
pstml.setString(3,s2);
pstml.setString(4,"D");
int ra=pstml.executeUpdate();
if(ra>0)
JOptionPane.showMessageDialog(null,"Transaction
Successfull");
else
catch(Exception e)
System.out.print("error"+e);
try
String s11=t1.getText();
String s22=t2.getText();
String s33=t3.getText();
int amt=Integer.parseInt(s22);
PreparedStatement pstml=can.prepareStatement("update signup set
balance=balance+"+amt+" where custid=? ");
104
pstml.setString(1,s11);
int ra=pstml.executeUpdate();
if(ra>0)
JOptionPane.showMessageDialog(null,"Transaction
Successfull");
else
catch(Exception e)
System.out.print("error"+e);
}
else if(ae.getSource()==b2){
new Transcations().setVisible(true);
setVisible(false);
}
105
Balance Enquiry Module:-
import java.awt.*;
import javax.swing.*;
import java.sql.*;
int y=100;
try
{
Class.forName("com.mysql.jdbc.Driver");
con=DriverManager.getConnection("jdbc:mysql://localhost:3306/bankdetail","root","");
//here sonoo is database name, root is username and password
stmt=con.createStatement();
}
catch(Exception e1){ System.out.println(e1);}
try
{
106
rs=stmt.executeQuery("select * from signup where custid='"+un+"'");
if(rs.next())
{
String s1,s2,s3,s4;
s1=rs.getString("balance");
g.drawString("Total Balance:",100, y);
g.drawString(s1,400, y);
}
}
catch(Exception e3){ System.out.println(e3);}
try
{
con.close();
}
catch(Exception e4){ System.out.println(e4);} }
}
Admin Module:-
import java.awt.*;
import java.awt.event.*;
import javax.swing.*;
import java.sql.*;
JLabel l1;
JButton b1,b2,b7,b4;
TranscationsAdmin()
{
107
b1.setFont(new Font("System", Font.BOLD, 18));
b1.setBackground(Color.BLACK);
b1.setForeground(Color.WHITE);
b7 = new JButton("EXIT");
b7.setFont(new Font("System", Font.BOLD, 18));
b7.setBackground(Color.BLACK);
b7.setForeground(Color.WHITE);
setLayout(null);
l1.setBounds(100,100,700,40);
add(l1);
b1.setBounds(40,250,300,60);
add(b1);
b2.setBounds(40,360,300,60);
add(b2);
b4.setBounds(40,470,300,60);
add(b4);
b7.setBounds(40,580,300,60);
add(b7);
b1.addActionListener(this);
b2.addActionListener(this);
b4.addActionListener(this);
b7.addActionListener(this);
108
getContentPane().setBackground(Color.WHITE);
setSize(800,800);
setLocation(500,90);
setVisible(true);
else if(ae.getSource()==b4)
{
AccDetAll o=new AccDetAll();
else if(ae.getSource()==b7)
setVisible(false);
109
Account Manage Module:-
import java.awt.*;
import java.awt.event.*;
import javax.swing.*;
import java.sql.*;
import java.util.*;
class AccountManage extends JFrame implements ActionListener
{
JLabel l1,l2,l3,l4,l5,l6,l7,l8,l9,l10,l11,l12;
JTextField t1,t2,t3,t4,t5,t6,t7,t8;
JRadioButton r1,r2,r3,r4;
JButton b1,b2,b3,b4,b5;
ButtonGroup bg1,bg2;
AccountManage()
{
l4 = new JLabel("Pin:");
l4.setFont(new Font("Raleway", Font.BOLD, 20));
l5 = new JLabel("name:");
l5.setFont(new Font("Raleway", Font.BOLD, 20));
110
l6 = new JLabel("Father_name:");
l6.setFont(new Font("Raleway", Font.BOLD, 20));
l7 = new JLabel("date:");
l7.setFont(new Font("Raleway", Font.BOLD, 20));
l8 = new JLabel("gender:");
l8.setFont(new Font("Raleway", Font.BOLD, 20));
l9 = new JLabel("email:");
l9.setFont(new Font("Raleway", Font.BOLD, 20));
t1 = new JTextField();
t1.setFont(new Font("Raleway", Font.BOLD, 14));
t2 = new JTextField();
t2.setFont(new Font("Raleway", Font.BOLD, 14));
t3 = new JTextField();
t3.setFont(new Font("Raleway", Font.BOLD, 14));
t4 = new JTextField();
t4.setFont(new Font("Raleway", Font.BOLD, 14));
t5 = new JTextField();
t5.setFont(new Font("Raleway", Font.BOLD, 14));
t6 = new JTextField();
t6.setFont(new Font("Raleway", Font.BOLD, 14));
t7 = new JTextField();
t7.setFont(new Font("Raleway", Font.BOLD, 14));
t8 = new JTextField();
t8.setFont(new Font("Raleway", Font.BOLD, 14));
111
b1= new JButton("SUBMIT");
b2= new JButton("BACK");
b1.setFont(new Font("Raleway", Font.BOLD, 14));
b1.setBackground(Color.BLACK);
b1.setForeground(Color.WHITE);
b2.setFont(new Font("Raleway", Font.BOLD, 14));
b2.setBackground(Color.BLACK);
b2.setForeground(Color.WHITE);
r1 = new JRadioButton("Male");
r1.setFont(new Font("Raleway", Font.BOLD, 14));
r1.setBackground(Color.WHITE);
r2 = new JRadioButton("Female");
r2.setFont(new Font("Raleway", Font.BOLD, 14));
r2.setBackground(Color.WHITE);
r3 = new JRadioButton("Married");
r3.setFont(new Font("Raleway", Font.BOLD, 14));
r3.setBackground(Color.WHITE);
r4 = new JRadioButton("Unmarried");
r4.setFont(new Font("Raleway", Font.BOLD, 14));
r4.setBackground(Color.WHITE);
bg1=new ButtonGroup();
bg1.add(r1);
bg1.add(r2);
bg2=new ButtonGroup();
bg2.add(r3);
bg2.add(r4);
112
setLayout(null);
l1.setBounds(140,20,600,40);
add(l1);
l2.setBounds(290,70,600,30);
add(l2);
l3.setBounds(100,140,100,30);
add(l3);
t1.setBounds(300,140,400,30);
add(t1);
l4.setBounds(100,190,200,30);
add(l4);
t2.setBounds(300,190,400,30);
add(t2);
l5.setBounds(100,240,200,30);
add(l5);
t3.setBounds(300,240,400,30);
add(t3);
l6.setBounds(100,290,200,30);
add(l6);
t4.setBounds(300,290,400,30);
add(t4);
l7.setBounds(100,340,200,30);
add(l7);
t5.setBounds(300,340,400,30);
add(t5);
l8.setBounds(100,390,200,30);
add(l8);
r1.setBounds(300,390,60,30);
add(r1);
r2.setBounds(450,390,90,30);
add(r2);
113
l9.setBounds(100,440,200,30);
add(l9);
t6.setBounds(300,440,400,30);
add(t6);
l10.setBounds(100,490,200,30);
add(l10);
r3.setBounds(300,490,100,30);
add(r3);
r4.setBounds(450,490,100,30);
add(r4);
l11.setBounds(100,540,200,30);
add(l11);
t7.setBounds(300,590,400,30);
add(t7);
l12.setBounds(100,590,200,30);
add(l12);
t8.setBounds(300,540,400,30);
add(t8);
b1.addActionListener(this);
b2.addActionListener(this);
b3.addActionListener(this);
b4.addActionListener(this);
b5.addActionListener(this);
b1.setBounds(300,660,150,30);
add(b1);
b2.setBounds(600,660,80,30);
add(b2);
b3.setBounds(730,140,100,30);
add(b3);
114
b4.setBounds(730,190,100,30);
add(b4);
b5.setBounds(730,240,100,30);
add(b5);
getContentPane().setBackground(Color.WHITE);
setSize(850,850);
setLocation(500,90);
setVisible(true);
}
System.out.println("111111111");
Connection con=null;
PreparedStatement pstml=null;
ResultSet rs=null;
try
{
Class.forName("com.mysql.jdbc.Driver");
con=DriverManager.getConnection("jdbc:mysql://localhost/bankdetail","root","");
}
catch(Exception ex)
{
System.out.println("Error in connection:"+ex);
}
System.out.println("22222");
String un=t1.getText();
System.out.println("user name "+un);
if(ae.getSource()==b1)
115
try
String pw="";
pstml=con.prepareStatement("insert into
signup(custid,pin,name,fathers_name,date,gender,email,marital_status,address,pincode,balance)
values(?,?,?,?,?,?,?,?,?,?,?)");
String cs=t1.getText();
String pin=t2.getText();
String cn=t3.getText();
String fn=t4.getText();
String dt=t5.getText();
String em=t6.getText();
String add=t7.getText();
String pd=t8.getText();
String gender;
if(r1.isSelected())
gender="M";
else
gender="F";
String marstat;
if(r3.isSelected())
marstat="M";
else
marstat="B";
pstml.setString(1,cs);
pstml.setString(2,pin);
pstml.setString(3,cn);
pstml.setString(4,fn);
pstml.setString(5,dt);
pstml.setString(6,gender);
pstml.setString(7,em);
pstml.setString(8,marstat);
pstml.setString(9,add);
pstml.setString(10,pd);
pstml.setInt(11,1000);
int r=pstml.executeUpdate();
System.out.println("record:"+r);
116
if(r>0)
{
else
catch(Exception ax)
System.out.print("error"+ae);
}
}
else if(ae.getSource()==b2)
else if(ae.getSource()==b3)
{
System.out.println("custid :"+un);
try
{
117
pstml.setString(1,un);
rs=pstml.executeQuery();
if(rs.next())
{
String pin=rs.getString(2);
String cn=rs.getString(3);
String fn=rs.getString(4);
String dt=rs.getString(5);
String em=rs.getString(7);
String add=rs.getString(9);
String pd=rs.getString(10);
String gender=rs.getString(6);
if(gender.equals("M"))
r1.setSelected(true);
else
r2.setSelected(true);
String marstat=rs.getString(8);
if(marstat.equals("B"))
r4.setSelected(true);
else
r3.setSelected(true);
t2.setText(pin);
t3.setText(cn);
t4.setText(fn);
t5.setText(dt);
t6.setText(em);
t7.setText(add);
t8.setText(pd);
//JOptionPane.showMessageDialog(null,"Account detail already exists accept another");
else
JOptionPane.showMessageDialog(null,"Account detail Not found");
}
catch(Exception ex)
{
System.out.println(" Error in creating account");
}
}
118
else if(ae.getSource()==b4)
{
try
String cs=t1.getText();
String pin=t2.getText();
String cn=t3.getText();
String fn=t4.getText();
String dt=t5.getText();
String em=t6.getText();
String add=t7.getText();
String pd=t8.getText();
String gender;
if(r1.isSelected())
gender="M";
else
gender="F";
String marstat;
if(r3.isSelected())
marstat="M";
else
marstat="B";
pstml.setString(1,cn);
pstml.setString(2,fn);
pstml.setString(3,dt);
pstml.setString(4,gender);
pstml.setString(5,em);
pstml.setString(6,marstat);
pstml.setString(7,add);
pstml.setString(8,pd);
pstml.setString(9,cs);
pstml.setString(10,pin);
int r=pstml.executeUpdate();
119
System.out.println("record:"+r);
if(r>0)
{
else
catch(Exception ax)
System.out.print("error"+ae);
}
else if(ae.getSource()==b5)
{
try
String cs=t1.getText();
String pin=t2.getText();
pstml.setString(1,cs);
pstml.setString(2,pin);
120
int r=pstml.executeUpdate();
System.out.println("record:"+r);
if(r>0)
{
else
catch(Exception ax)
System.out.print("error"+ae);
}
}
121
All Accounts Report Module:-
import java.awt.*;
import javax.swing.*;
import java.sql.*;
int y=100;
try
{
Class.forName("com.mysql.jdbc.Driver");
con=DriverManager.getConnection("jdbc:mysql://localhost:3306/bankdetail","root","");
//here sonoo is database name, root is username and password
stmt=con.createStatement();
}
catch(Exception e1){ System.out.println(e1);}
try
{
rs=stmt.executeQuery("select * from signup ");
g.setFont(new Font("Times New Roman",Font.BOLD,20));
g.drawString("Customer ID",100, 50);
g.drawString("Balance",400, 50);
122
g.drawString("email",500, 50);
g.drawString("fathers_name",600, 50);
g.setFont(new Font("Times New Roman",Font.PLAIN,15));
while(rs.next())
{
String s1,s2,s3,s4;
s1=rs.getString("custid");
s2=rs.getString("balance");
s3=rs.getString("email");
s4=rs.getString("fathers_name");
g.drawString(s1,100, y);
g.drawString(s2,300, y);
g.drawString(s3,500, y);
g.drawString(s4,700, y);
y+=40;
}
}
catch(Exception e2){ System.out.println(e2);}
try
{
con.close();
}
catch(Exception e4){ System.out.println(e4);} }
}
123
}
BalEnq()
{}
int y=100;
try
{
Class.forName("com.mysql.jdbc.Driver");
con=DriverManager.getConnection("jdbc:mysql://localhost:3306/bankdetail","root","");
//here sonoo is database name, root is username and password
stmt=con.createStatement();
}
catch(Exception e1){ System.out.println(e1);}
try
{
rs=stmt.executeQuery("select * from transaction where custid='"+un+"'");
g.drawString("Customer ID",100, 50);
g.drawString("Date",200, 50);
g.drawString("Amount",300, 50);
g.drawString("Type",400, 50);
while(rs.next())
{
String s1,s2,s3,s4;
s1=rs.getString("custid");
s2=rs.getString("date");
s3=rs.getString("amount");
s4=rs.getString("transtype");
g.drawString(s1,100, y);
g.drawString(s2,200, y);
g.drawString(s3,300, y);
g.drawString(s4,400, y);
y+=40;
}
}
catch(Exception e2){ System.out.println(e2);}
try
124
{
rs=stmt.executeQuery("select * from signup where custid='"+un+"'");
y+=40;
if(rs.next())
{
String s1,s2,s3,s4;
s1=rs.getString("balance");
g.drawString("Total Balance:",100, y);
g.drawString(s1,400, y);
}
}
catch(Exception e3){ System.out.println(e3);}
try
{
con.close();
}
catch(Exception e4){ System.out.println(e4);} }
}
125
CHAPTER- 7
Testing
126
Testing
Software testing is a critical element of software quality assurance and represents
the ultimate review of specification, design and coding. In fact, testing is the one
step in the software engineering process that could be viewed as destructive
rather than constructive.
A strategy for software testing integrates software test case design methods into a
well-planned series of steps that result in the successful construction of software.
Testing is the set of activities that can be planned in advance and conducted
systematically. The underlying motivation of program testing is to affirm software
quality with methods that can economically and effectively apply to both strategic
to both large and small-scale systems.
127
•Check if the errors and exceptions have been handled properly.
•See if the validations of input data are all taken care off. Test cases were
designed to check the results retrieved from the database and the validation
of all user inputs. All the modules were tested thoroughly. The module
interface was also tested to ensure that information flows into and out of the
program units.
8.3.INTEGRATION TESTING
This testing is performed after all individual modules are developed
and ready for the integration. The objective of this testing is to build a
program structure as dictated in the design by taking unit tested modules.
REQUIREMENT TO BE TESTED
2. Verify if invalid users are blocked from logging into the application.
This service validates fetches the account details given an account Id down
integration is an incremental approach to the construction of program
structure. Modules are integrated by moving downward through the control
hierarchy, beginning with the main module. Modules subordinate to the main
module are incorporated into the structure in depth first manner. In this
way, interfacing between the various modules was also thoroughly tested.
In this System, the integration testing is done by checking all possible
workflows of the analysis and cleaning process.
128
8.5. PERFORMANCE TESTING
Performance testing is done to test run-time performance of the software
within context of an integrated system. For real time systems, adherence to
performance requirements is a must. It determines the amount of execution
time spent in various units, program throughput and response time. This
system being highly user-interactive and capable of executing large volume
of data was expected to have a small response time.
Alpha Testing:
Acceptance testing is also sometimes called alpha testing. Be spoke systems are
developed for a single customer. The alpha testing proceeds until the system
developer and the customer agree that the provided system is an acceptable
implementation of the system requirements.
129
Beta Testing:
On the other hand, when a system is to be marked as a software product. Another
process called beta testing is often conducted. During beta testing, a system is
delivered among a number of potential users who agree to use it. The customers
then report to the developers. This provides the product for real use and detects
errors which may not been anticipated by the system developers.
Validation testing:
Validation testing was performed to ensure that all the functional and performance
requirements are met.
Technical design
This activity builds upon specifications produced during new system design,
adding detailed technical specification and documentation.
130
Test specification and planning
This activity prepares detailed test specification for individual modules and
programs, job streams, subsystems, and for the system as a whole.
User training
This activity encompasses writing user procedure manuals, preparation of user
training material, conducting training programs, and testing procedures.
Acceptance test
A final procedural review to demonstrate a system and secure user approval before
a system becomes operational .
Installation phase
In this phase the new computerized system is installed, the conversion to new
procedures is fully implemented, and the potential of the new system is explored.
System installation
This process of starting the actual use of a system and training user personnel in its
operation.
Review phase
This phase evaluates the successes and failure during a systems development
project, and to measure the result of a new computerized Tran system in terms of
benefits and savings projected at the start of the project.
Development recap
A review a project immediately after completion to find successes and potential
problems in future work.
131
Post-implementation review
A review, conducted after a new system has been in operation for some time, to
evaluate actual system performance against original expectations and projection for
cost benefits improvement. Also identifies, maintenance projects to enhance or
improve the system.
The unit testing done included the testing of the following items:
1. Functionality of the entire module/forms.
2. Validation for user input.
3. Checking of the coding standards to be maintained during coding.
4. Testing the module with all the possible test data.
5. Testing of the functionality involving all the type of calculations etc.
6. Commenting standard in the sources files.
After completing the unit testing of all the modules, the whole system is integrated
with all its dependencies in that module. While system integration, we integrated
the module one by one and tested the system at each step. This helped in reduction
of errors at the time of the system testing.
132
The steps involved during system testing are follows:
The system testing done included the testing of the following items:
1. Functionality of the entire system as a whole.
2. User interface of the system.
3. Testing the dependent modules together with all the possible test data
scripts.
4. Verification and Validation testing.
5. Testing the reports with all its functionality.
After the completion of system testing, the next following phase was the
Acceptance testing. Client at their end did this and accepted the system with
appreciation. Thus, we reached the final phase of the project delivery.
There are other six tests, which fall under special category. They are
described below:-
Peak Load Test: It determines when the system will handle the volume of
activities that occur when the system is at the peak of its processing demand. For
example, test the system by activating at the same time.
Storage Testing: It determines the capacity of the system to store transaction data
on a disk or in other files.
133
Performance Time Testing: It determines the length of the time system used by
the system to process transaction the data. This test is conducted prior to
implementation to determine how long it takes to get a response to an inquiry,
make a backup copy of a file, or send a transmission and get a response.
Recovery Testing: This testing determine the ability of user to recover data or re-
start system after failure, For example, load backup copy of data and resume
processing without data or integrity loss.
Human Factor Testing: It determines how users will use the system when
processing data or preparing reports.
134
Chapter-8
Maintenance
135
Maintenance
Software maintenance is widely accepted part of SDLC. It stands for all the
modifications and updation done after the delivery of software product. There are
number of reasons, why modifications are required, some of them are briefly
mentioned below:
Market Conditions - Policies, which changes over the time, such as taxation and
newly introduced constraints like, how to maintain bookkeeping, may trigger need
for modification.
Client Requirements - Over the time, customer may ask for new features or
functions in the software.
Organization Changes - If there is any business level change at client end, such as
reduction of organization strength, acquiring another company, organization
venturing into new business, need to modify in the original software may arise.
Types of Maintenance
In a software lifetime, type of maintenance may vary based on its nature. It may be
just a routine maintenance tasks as some bug discovered by some user or it may be
a large event in itself based on maintenance size or nature. Following are some
types of maintenance based on their characteristics:
136
Perfective Maintenance - This includes modifications and updates done in order
to keep the software usable over long period of time. It includes new features, new
user requirements for refining the software and improve its reliability and
performance.
Maintenance Activities
IEEE provides a framework for sequential maintenance process activities. It can be
used in iterative manner and can be extended so that customized items and
processes can be included.
137
These activities go hand-in-hand with each of the following phase:
Analysis - The modification is analyzed for its impact on the system including
safety and security implications. If probable impact is severe, alternative solution is
looked for. A set of required modifications is then materialized into requirement
specifications. The cost of modification/maintenance is analyzed and estimation is
concluded.
Implementation - The new modules are coded with the help of structured design
created in the design step. Every programmer is expected to do unit testing in
parallel.
Acceptance Testing - After testing the system internally, it is tested for acceptance
with the help of users. If at this state, user complaints some issues they are
addressed or noted to address in next iteration.
Delivery - After acceptance test, the system is deployed all over the organization
either by small update package or fresh installation of the system. The final testing
takes place at client end after the software is delivered.
138
CHAPTER-9
CONCLUSION &
SCOPE FOR
FUTRURE
DEVLOPMENT
139
Limitation of Project on Bank Management System:
Although I have put my best efforts to make the software flexible easy to operate
but limitation cannot be ruled out even by me .Though the software present a broad
range of operations to its users intricate option could not covered into it; party
because of logistic and party due to lack of sophistication .Paucity of time was also
major constraint, thus it was not possible to make the software foolproof and
dynamic lack of time also compelled me to ignore some part such as storing old
result of the candidate etc.
Considerable efforts have made the software easy to operate even for the people
not related to the field of component but it is acknowledgement that a layman may
find it a bit problematic at the first instance. The user is provided help at each step
for his.
10.1 Conclusion
This project was successfully completed within the time span allotted. The project
Bank Management System has been developed in core java. All the modules are
tested separately and put together to form the main system. Finally the system is
tested with real data and everything worked successfully. Thus the system has
fulfilled the entire objective identified. The system had been developed in an
attractive dialogs fashion.
So user with minimum knowledge about computers can also operate the system
easily. It will make easy interactions between users and store. The speed and
accuracy are maintained in proper way.
140
10.2 SCOPE FOR FUTURE DEVELOPMENT
141
BIBLIOGRAPHY
Reference websites
www.javatpoint.com
www.w3schools.com
http://www.tutorialspoint.com/java/index.htm
Reference Books
Thinking in java
OCJP Certified Programmer for Java
Learn Java in Easy Steps
Complete reference Java
142