Download as pdf or txt
Download as pdf or txt
You are on page 1of 142

A

MAJOR PROJECT REPORT

ON

“BANK MANAGEMENT SYSTEM”

SUBMITTED TO

CHAUDHARY CHARAN SINGH UNIVERSITY

IN PARTIAL FULFILLMENT FOR THE AWARD

OF

THE DEGREE OF BACHELOR

IN

COMPUTER APPLICATION

SESSION 2016-19

Submitted to Submitted by

Dr Rajeev Kumar Deepak Maheshwari-169869546

(H.O.D, DIMS) Vivek Kashyap-169869662

Mr. Munish Sharma Sheetal Shishodia-169869626

(Project Coordinator) Km. Urvashi-169869648


CERTIFICATE
This is to certify that Project Report on “BANK MANAGEMENT
SYSTEM” is a bonafide work carried out by “Vivek Kashyap” of our
Dewan Institute of Management for fulfilment of Bachelor in Computer
Application (BCA) degree of Chaudhary Charan Singh University,
Meerut. They have worked under our guidance and supervision. The
material referred from other sources has been duly acknowledged.

(Signature of Guide) (Signature of HOD)


Name:- Mr. Munish Sharma
Designation:- Professor
Date:-

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.

Bank user is expected to perform at least one of the following transactions:

 Sign in
 Sign up
 Forgot Password
 Change Password
 Cash Withdraw
 Cash Deposit
 Balance Enquiry
 Logout

Modules for Admin

 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.

Using multiple distribution channels increases effective market coverage by enabling


different products to be targeted at different demographic segments. Also Banks
cannot risk losing customers to competitors within the aggressive competition in
the banking industry around the world. Moreover bank delivery offers customized
service to suit the needs and the likes of each user. Mass customization happens
effectively through Banking Management System. It reduces cost and replaces
time spent on routine errands with spending time on business errands.

Bank Management System means less staff members, smaller infrastructure


demands, compared with other banking channels. From the customer’s perspective,
Bank Management System provides a convenient and effective way to manage
finances that is easily accessible 24 hours a day, seven days a week. In addition
information is up to date. Nevertheless Bank Management System has disadvantages for
banks like how to work the technology, set-up cost, legal issues, and lack of
personal contact with customers. And for customers there are security and privacy
issues.

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

2. System Analysis 17-24


 Feasibility analysis 22-24
3. Software Requirement and Specification 25-28
Software requirement, Hardware requirement 27
Functional requirements, Non-Functional requirements 28
4. Introduction to Tool/Language 29 – 35

5. System Design 36 – 70
 Database Design 38 – 41
 Data Flow Diagrams 42 – 60
 E-R Diagrams 61 – 62

 Database Tables 63 – 64

 User Case Diagram 65 – 67

 Modules Description 68 – 70

6. Implementation 71- 125


7. Testing 126 – 134
8. Maintenance 135 – 138
9. Limitation Of Project 140
10. Conclusion 140
11. Scope Of Future Development 141
12. Bibliography 142

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 project has been planned to be having the view of distributed


architecture, with centralized storage of the database. The application for the
storage of the data has been planned. Using the constructs of MySQL and all the
user interfaces have been designed using the JAVA. The database connectivity is
planned using the “Database” methodology. The standards of security and data
protective mechanism have been given a big choice for proper usage. The
application takes care of different modules and their associated reports, which are
produced as per the applicable strategies and standards that are put forwarded by
the administrative staff.

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

Bank Management System means banks provide comprehensive electronic fund


transfer and payment solutions that enable thousands of Citizens, Financial
Institutions and hundreds of businesses the convenience of receiving and
transferring their funds online.

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.

This Bank System is windows software designed in Java programming language


for the purpose of effective Bank Management System . It mainly aims at making
the banking system easily accessible from anywhere and improving and enhancing
the running banking process. With the use of this software, bank customers don’t
need to go to bank to make inquiry regarding their balance or to transfer their
balance to other account or for any other banking services.

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.

2. REFERENTIAL INTEGRITY: User cannot change the date in the transaction


files. Addition of data can be done only on the master files date in transaction files
cannot be entered until addition is done on the master files.

3. EASY RETRIEVAL OF DATA: Data is retrieved easily and quick using sql
commands. Online commands are used to retrieve huge amount of data.

4. GENERATION OF AUTOMATIC VALUES: In project in some screen some


fields generated automatically like Profile detail, Account number, etc.

1.2 SCOPE OF THE PROPOSED SYSTEM


Though there are many online systems available on internet but this can compete
with them with some advancement in its functionality and can be used by any bank
organization to maintain their customers account and online transaction process.
The basic functionalities of the system are:

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.

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.

4. Forgot Password Module:-


Description- If existing customer forgot his/her password then, customer can
retrieve their password by simply clicking on “Forgot Password” .Now, new page
will appear on screen where he/she can fill user-id and email-id which is linked to
the account. In this way, we can retrieve their password.

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.

6. Cash Deposit Module:-


Description- Existing customer can deposit money in 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 Deposit” button and then,
new page will appear on screen to fill the required details for depositing money.

7.Balance Enquiry Module:-


Description- Existing customer can see their account balance 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

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.

Modules For Administrator:-


9. Transactions Report Module:-
Description- Administrator can see transactions report through the application by
login into the system. Administrator should enter user-Id and password into the
login page and then click on login button. Now, various services will appear on
screen from which admin must click on “ Transactions Report” button and then,
transactions history will appear on screen.

10. All Accounts Report Module:-


Description- Administrator can see all accounts report through the application by
login into the system. Administrator 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 admin must click on “ All Accounts Report” button and then,
report will appear on screen.

11. Update Account Module:-


Description- Administrator can update accounts details through the application by
login into the system. Administrator 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 admin must click on “Update Account” button and then, update
account page will appear on screen.

12. Delete Account Module:-


Description- Administrator can delete any account through the application by login
into the system. Administrator should enter user-Id and password into the login
page and then click on login button. Now, various services will appear on screen

13
from which admin must click on “Delete Account” button and then, delete account
page will appear on screen.

1.3 OVERVIEW OF PROPOSED SYSTEM


MENU DRIVEN: The project uses menu throughout which we can choose
required options. Menus are self-explanatory, as they are very easy to use and user can
go to any other web page using the menu.

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.

3. GRAPHICAL USER INTERFACE: User is provided with a graphical interface


in which user can select from various options and can perform desired operations
with perfect understanding of the menu selected.

4. MULTIPLE DOCUMENT INTERFACE: The package provides a multiple


document interface to the user. The user can view more than one entry form or
pages at the same time.

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.4 BUSINESS CONTEXT


Existing banking system is a manual system, which leads to a number of problems
in maintaining proper records. These are:

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.

3. COMPLEXITY: Complexity of information handling and the gathering and


determination of information is usually the most difficult problem faced.

4. REDUNDANCY: Maintaining separate files for each department can lead to


duplication of data present in files. This can lead to:

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.

Objective of Bank Management


System
 To allow only authorized user (Bank Employee) to access various
functions available in the system.
 Open any account wanted by the user.
 Reduce clerical work as most of the work done by computer.
 Provide greater speed & reduced time consumption.
 To increase the number of account and customer.
 This will reduced the manual workload and give information
instantly. The software will maintain the list of A/C and customer
record and Transaction record.

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.

Functionalities provided by Bank


Management System are as follow :
 Provides the searching facilities based on various factor such as account

customer , user-id and email-id.

 Bank Management System also manage the balance detail for transaction

Details, banking detail, accounts.

 It tracks all the information of bank, balance, transaction etc


 Manager the information of bank.
 Show the information and description of the account customer.
 To increase efficiency of manage the accounts of bank.
 It deals with monitoring the information and transaction of transaction.
 Manage the information of transaction.

16
CHAPTER- 2

System Analysis

17
SYSTEM ANALYSIS

System analysis is a process of gathering and interpreting facts, diagnosing


problems and the information about the Bank Management System to recommend
improvements on the system. It is problem solving activity that requires intensive
communication between the system users and system developers. System analysis
or study is an important phase of any system developments process. The system is
studied to the minutest detail and analyzed. The system analyst plays the role of the
interrogator and dwells deep into the working of the present system. The system is
viewed as a whole and the input to the system are identified. The outputs from the
organizations are traced to the various processes, system analysis is b concerned
with becoming aware of the problems , identifying the relevant and decisional
variables , analyzing and synthesizing the various factors and determining an
optimal or at least a satisfactory solution or program of action. A detailed study of
the process must be made by various techniques like interview ,questionnaires
etc. the data collected by these sources must be scrutinized to arrive to a
conclusion. The conclusion is an understanding of how the system functions. This
system is called the existing system. Now the existing system is subjected to close
study and problems areas are identified. The designers now function as a problem
solver and try to sort out the difficulties that the enterprise faces. The solutions are
given as proposals. The proposal is than weighed with the existing system
analytically and the best one is selected. The proposal is presented to the user for
an endorsement by the user. The proposal is reviewed on user request and suitable
changes are made. This is loop that ends as soon as the user is satisfied with
proposal. Preliminary study is the process of gathering and interpreting facts, using
the information for further studies on the system. Preliminary study is problem
solving activity that requires intensive communication between the system users
and system developers. It does various feasibility studies. In these studies a rough
figure of the system activities can be obtained, from which the decision about the
strategies to be followed for effective system study and analysis can be taken.

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 developed system is an innovation in the area of private banking. In the


existing system the no. of staff required for completing the work is more, while the
new system requires lesser staffs generally.

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.

 Lack of security of data.


 More man power.
 Time consuming.
 Consumers large volume of pare work.
 Needs manual calculations.
 No direct role for the higher officials.

Proposed system of Bank Management System :


The aim of process system is to develop a system of improved facilities. The
proposed system can overcome all the limitations of the existing system. The
system provided security and reduces the manual world. Hence the requirement is
to develop a system that minimizes all these overheads included while giving the
maximum output for the organization.

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.

Benefits of the system


 quick, authenticated access to accounts via the desktop.
 Easily scalable to grow with changing system requirement.
 Enterprise wide access to information.
 Improved information security, restricting unauthorized access.
 Minimize Storage Space

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.

Banking System can be used extensively


 Withdrawal of amount by the client.
 Deposition of amount by the client.
 Faster balance enquiry

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

1. Data Dictionary: -A Data Dictionary is a structure r e p o s i t o r y o f


d a t a a b o u t d a t a . I t i s a s e t o f r i g o r o u s definitions of all the data flow
diagram, data elements and data structure.

There are three classes of items to be defined:

Data element: smallest unit of data.

Data structure: group of data element handled as a unit.

Data flow and data stores: temporary location of data and permanent location of
data.

2. Decision tree: -A decision tree is a diagram that presents c o n d i t i o n a n d


a c t i o n s s e q u e n t i a l l y . I t i s a m e t h o d o f showing relationship of each
condition and its permissibleactions.3. Decision table: -A d e c i s i o n
t a b l e i s a t a b l e o f contingencies for defining a
problem and actions to be taken single representation of the relationship
between conditions and actions

3. Decision table: -A decision table is a table of contingencies for


defining a problem and actions to be taken single representation of the
relationship between conditions and actions.

Following are some rules, which define the construction of data A


dictionary entries:
 Words should be define to understand for what they need and not the
variable need by which the may be described in the program.
 Each word must be unique .we cannot have two or more definition of the
same client.
 Aliases or synonyms are allowed when two or more enters show the same
meaning. For example a vendor number may also be called as customer
number.

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

Feasibility is the determination of whether or not a project is worth


doing. The processes is followed in making this determination is called a
feasibility study. Feasibility study is the test of system proposal according to its
workability, Impact on the organization ability to meet user’s needs, and effective
use of resources. The result of feasibility study is a formal proposal. This is simply
a report – a formal document detailing the nature and scope of the proposed
solution. The main objective of a feasibility study is to test the
technical, social and economic feasibility of developing a computer
system. This is done by investigation the existing system in the area
under investigation and generating ideas about a new system. On studying the
feasibility of the system, three major considerations are dealt with, to find whether
the automation of the system is feasible.

Main task done during the feasibility study are:-


1. Evaluation of existing system and procedures. Our g r o u p w e n t t o
v a r i o u s B a n k i n g P r o f e s s i o n a l s t o gether information about the
software system. They are using and evaluating those system and the procedures
invoked in it during the period of feasibility study.

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.

Three aspects in which the system has to be feasible are:-

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.

The proposed system doesn’t require an in depth technical knowledge as the


system development is simple and easy to understand. The result obtain should be
true in the real time conditions. Minimum requirement for execution of the
project is a java supporting operating system since the connection to the database
will be made using JSP and SERVLETS, minimum of 64 MB of RAM, a database
software, a server and a web browser with which we were previously equipped.

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 proposed system has the following requirements:

 System needs store information about new entry of accounts.


 System needs to help the internal staff to keep information of bank and find
them as per various queries.
 System need to maintain quantity record.
 System need to keep the record of customer.
 System need to update and delete the record.
 System also needs a search area.
 It also needs a security to prevent data.

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.

Following points should be well considered:

 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

● Front End: JAVA JDK 1.7

● Programming Language: JAVA

● Back End: MySQL

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.

Object Oriented: To be an Object Oriented language, any language must


follow at least the four characteristics.

 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.

Portable: The feature Write-once-run-anywhere makes the java language


portable provided that the system must have interpreter for the JVM. Java also
have the standard data size irrespective of operating system or the processor. These
features make the java as a portable language.

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.

Performance: Java uses native code usage, and lightweight process


called threads. In the beginning interpretation of byte code resulted the
performance slow but the advance version of JVM uses the adaptive and just in
time compilation technique that improves the performance.

Multithreaded: Java is also a multithreaded programming language.


Multithreading means a single program having different threads executing
independently at the same time. Multiple threads execute instructions according to
the program code in a process or a program. Multithreading works the similar way
as multiple processes run on one computer.
Multithreading programming is a very interesting concept in Java. In multithreaded
programs not even a single thread disturbs the execution of other thread. Threads

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.

Interpreted: We all know that Java is an interpreted language as well. With an


interpreted language such as Java, programs run directly from the source code.
The interpreter program reads the source code and translates it on the fly into
computations. Thus, Java as an interpreted language depends on an interpreter
program.
The versatility of being platform independent makes Java to outshine from other
languages. The source code to be written and distributed is platform independent.
Another advantage of Java as an interpreted language is its error debugging
quality. Due to this any error occurring in the program gets traced. This is how it is
different to work with Java.

Architecture Neutral: The term architectural neutral seems to be weird, but


yes Java is an architectural neutral language as well. The growing popularity of
networks makes developers think distributed. In the world of network it is essential
that the applications must be able to migrate easily to different computer systems.
Not only to computer systems but to a wide variety of hardware architecture and
operating system architectures as well. The Java compiler does this by generating
byte code instructions, to be easily interpreted on any machine and to be easily
translated into native machine code on the fly. The compiler generates an
architecture-neutral object file format to enable a Java application to execute
anywhere on the network and then the compiled code is executed on many
processors, given the presence of the Java runtime system. Hence Java was
designed to support applications on network. This feature of Java has thrived the
programming language.

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.

The primary components of the JDK are a selection of programming tools,


including:

 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.

Also included is a wide selection of example programs demonstrating the use of


almost all portions of the Java API.

INTRODUCTION TO BACK END TOOL


Introduction to SQL: -
• SQL is a standard language for accessing and manipulating databases.
• SQL stands for Structured Query language.
• SQL allows you to access a database.
• SQL is an ANSI standard computer language.
• SQL can execute queries against a database.
• SQL can retrieve data from a database.
• SQL can insert new records in a database.
• SQL can delete records from a database.
• SQL can update records in a database.
• SQL is easy to learn.

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.

During design, progressive refinement of data structure, program structure, and


procedural details are developed reviewed and documented. System design can be
viewed from either technical or project management perspective. From the
technical point of view, design is comprised of four activities – architectural
design, data structure design, interface design and procedural design.

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.

1. That meet the requirements of the users


2. Have high performance.

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.

 Identify the tables and relationship


 Identify the data that is needed for each table and relationship
 Resolve the relationship

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.

Decomposing is the process of splitting relations into multiple relations to


eliminate anomalies and maintain anomalies and maintain data integrity. To do
this we use normal forms or rules for structuring relation.

Insertion anomaly: Inability to add data to the database due to absence of other
data.

Deletion anomaly: Unintended loss of data due to deletion 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.

FIRST NORMAL FORM:

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:

A relation is said to be in second Normal form is it is in first normal form and it


should satisfy any one of the following rules.

1) Primary key is a not a composite primary key


2) No non key attributes are present
3) Every non key attribute is fully functionally dependent on full set of primary
key.
THIRD NORMAL FORM:

A relation is said to be in third normal form if their exits no transitive


dependencies.

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.

The above normalization principles were applied to decompose the data in


multiple tables thereby making the data to be maintained in a consistent state.

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.

Larry Constantine first developed the DFD as a way of expressing system


requirements in a graphical from, this lead to the modular design.

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:

In the DFD, there are four symbols

1. A square defines a source(originator) or destination of system data


2. An arrow identifies data flow. It is the pipeline through which the information
flows
3. A circle or a bubble represents a process that transforms incoming data flow
into outgoing data flows.
4. An open rectangle is a data store, data at rest or a temporary repository of data

Process that transforms data flow.

Source or Destination of data

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.

SAILENT FEATURES OF DFD’S


1. The DFD shows flow of data, not of control loops and decision are controlled
considerations do not appear on a DFD.
2. The DFD does not indicate the time factor involved in any process whether the
dataflow take place daily, weekly, monthly or yearly.
3. The sequence of events is not brought out on the DFD.

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

Check user Id Change


Invalid password Login-Info
and password
4
Response
Authentic
ation Update balance
Checking Deposit
customer-
5 Info
Valid
Response
Login- Info

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- Info 1.1 Verify data 1.2

Sign up Verification

Valid User

Transaction

Update
1.3

processing
signup
sign - up

49
2-Sign in Module

Customer Enter user-id & Sign in


Password 2.1

Check user-id & password

Invalid

Access check data


Authenticat
signup
Services ion 2.2

2.2 Response

Valid

Services

2.3

50
3-Logout Module:

Enter user id & password


Sign in
Customer

Invalid

Authenticat Check data


ion signup
Display Login page

Response

Valid

Logout Logout
processing
3.1
3.2

51
4-Change Password Module:

Enter user-id & password Sign in


Customer

Invalid check user-id password

Check data
Authenticat
ion Login Info

Response

Valid

Display message

Change
Password

4.1

Enter new
Set Password
Password
4.2
4.3
Response

signup Store new password

52
5-Deposit Module:

Enter user-id & password Sign in


Customer

Invalid check user-id & password

Check data
Authenticat
ion signup

Response

Valid

Display message

Deposit

5.1

Update
Balance Enter Amount
5.3
5.2
Response

signup Update balance

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

Response update balance


access
Checking
Withdraw
balance signup
money
6.3
6.4
response

54
7-Forgot Password Module:

Forgot
Customer Password
Click button 7.1

Enter your
email-id

Invalid check user-id & email-id

Display Message Access data


Authenti signup
cation
Retrieve Data
7.1

Valid

Password
Show
access
Password
processing
7.3
7.2

Response store data

signup

55
8-Balance Enquiry Module:
Enter user-id & password

Customer Sign in

Invalid Check user id & password

Authenticat Access data


ion signup

Retrieve data

Display message Valid

Balance
Enquiry

8.1

Access Access balance


Show
Balance Balance-
signup
8.3 processing
Retrieve
8.2

56
9-Update Account Module:

Sign in
Admin
Enter admin-id & password

Invalid check 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

Store data response

signup

57
10-Delete Account Module:

Sign in
Admin
Enter admin-id & password

Invalid check 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

delete data response

signup

58
11-All Accounts Report Module:

Sign in
Admin
Enter admin-id & password

Invalid check id & password

Access data
Authenticati
signup
on
Retrieve Data

Valid

Display Report

Report
11.1

Show Access all


Report accounts
11.3 11.2

Store data response

signup

59
12-Transaction Report Module:

Sign in
Admin
Enter admin-id & password

Invalid check id & password

Access data
Authenticati
signup
on
Retrieve Data

Valid

Display Report

Transaction
Report
11.1

Show Access all


Report Transaction
11.3 11.2

Store data response

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

 Various types of indicators.

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

has Accounts report

Password
User-id
Accou passw Amount
nt-no ord

Sign in
Access Withdraw

Account amou passw


No. nt ord

Access
Deposit
Access

New Old
Balance Accou Amount Transacti
Password Password
nt-no on -type

Balance Enquiry Change Password


Transactions report

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.

Data Manipulation Language (DML) is used to modify the data present in


database:

•SELECT - extracts data from a database table

•UPDATE - updates data in a database table

•DELETE - deletes data from a database table

•INSERT INTO - inserts new data into a database table The

Data Definition Language (DDL) is used to define the data:

•CREATE TABLE - creates a new database table

•ALTER TABLE - alters (changes) a database table

•DROP TABLE - deletes a database table

•CREATE INDEX - creates an index (search key)

•DROP INDEX - deletes an index

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:-

Field name Null? Data type


custid Not null int(11)
date Not null varchar(15)
amount Not null int(11)
transtype Not null varchar(2)

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.

Basic Use Case Diagram Symbols and


Notations
System
Draw your system's boundaries using a rectangle that contains use cases. Place
actors outside the system's boundaries.

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.

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.

4. Forgot Password Module:-


Description- If existing customer forgot his/her password then, customer can
retrieve their password by simply clicking on “Forgot Password” .Now, new page
will appear on screen where he/she can fill user-id and email-id which is linked to
the account. In this way, we can retrieve their password.

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.

6. Cash Deposit Module:-


Description- Existing customer can deposit money in 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 Deposit” button and then,
new page will appear on screen to fill the required details for depositing money.

7.Balance Enquiry Module:-


Description- Existing customer can see their account balance 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 “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.

Modules For Administrator:-


9. Transactions Report Module:-
Description- Administrator can see transactions report through the application by
login into the system. Administrator should enter user-Id and password into the
login page and then click on login button. Now, various services will appear on

69
screen from which admin must click on “ Transactions Report” button and then,
transactions history will appear on screen.

10. All Accounts Report Module:-


Description- Administrator can see all accounts report through the application by
login into the system. Administrator 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 admin must click on “ All Accounts Report” button and then,
report will appear on screen.

11. Update Account Module:-


Description- Administrator can update accounts details through the application by
login into the system. Administrator 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 admin must click on “Update Account” button and then, update
account page will appear on screen.

12. Delete Account Module:-


Description- Administrator can delete any account through the application by login
into the system. Administrator should enter user-Id and password into the login
page and then click on login button. Now, various services will appear on screen
from which admin must click on “Delete Account” button and then, delete account
page 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.*;

class Login extends JFrame implements ActionListener


{
JLabel l1,back,l2,l3;
JTextField tf1;
JPasswordField pf2;
JButton b1,b2,b3;
Transcations o=null;
TranscationsAdmin o1=null;
Login()
{

setFont(new Font("System", Font.BOLD, 22));


Font f = getFont();
setTitle("AUTOMATED TELLER MACHINE");

setLayout(null);
ImageIcon icon=new ImageIcon("index2.jpg");
back=new JLabel(icon);
setSize(1500,1500);
back.setBounds(0,0,2000,2000);
add(back);

l1 = new JLabel("WELCOME TO SBI");


l1.setFont(new Font("Osward", Font.BOLD, 38));

l2 = new JLabel("Card No:");


l2.setFont(new Font("Raleway", Font.BOLD, 28));

l3 = new JLabel("PIN:");
l3.setFont(new Font("Raleway", Font.BOLD, 28));

tf1 = new JTextField(15);


pf2 = new JPasswordField(15);

72
b1 = new JButton("SIGN IN");
b1.setBackground(Color.BLACK);
b1.setForeground(Color.WHITE);

b2 = new JButton("SIGN UP");


b2.setBackground(Color.BLACK);
b2.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);

tf1.setFont(new Font("Arial", Font.BOLD, 14));


tf1.setBounds(300,235,230,30);
back.add(tf1);

pf2.setFont(new Font("Arial", Font.BOLD, 14));


pf2.setBounds(300,310,230,30);
back.add(pf2);

b1.setFont(new Font("Arial", Font.BOLD, 14));


b1.setBounds(300,400,100,30);
back.add(b1);

b2.setFont(new Font("Arial", Font.BOLD, 14));


b2.setBounds(430,400,100,30);
back.add(b2);

b3.setFont(new Font("Arial", Font.BOLD, 14));


b3.setBounds(300,450,230,30);
back.add(b3);

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

JOptionPane.showMessageDialog(null,"invalid user name or password");

catch(Exception ax)

System.out.print("error"+ae);

else if (ae.getSource()==b2)

75
setVisible(false);

Signup o=new Signup();

else if(ae.getSource()==b3)

setVisible(false);

ForgotPass obj=new ForgotPass();

public static void main(String[] s)

JFrame frame=new JFrame();

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()
{

setFont(new Font("System", Font.BOLD, 22));


Font f = getFont();
FontMetrics fm = getFontMetrics(f);
setTitle("NEW ACCOUNT APPLICATION FORM");

setLayout(null);
ImageIcon icon=new ImageIcon("index2.jpg");
back=new JLabel(icon);
setSize(1500,1500);
back.setBounds(0,0,2000,2000);
add(back);

l1 = new JLabel("APPLICATION FORM NO. ");


l1.setFont(new Font("Raleway", Font.BOLD, 38));

l2 = new JLabel(" Personal Details");


l2.setFont(new Font("Raleway", Font.BOLD, 22));

l3 = new JLabel("customer id:");


l3.setFont(new Font("Raleway", Font.BOLD, 20));

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));

l10 = new JLabel("marital_status:");


l10.setFont(new Font("Raleway", Font.BOLD, 20));

l11 = new JLabel("pincode:");


l11.setFont(new Font("Raleway", Font.BOLD, 20));

l12 = new JLabel("Address:");


l12.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));

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);

b3= new JButton("Search");


b3.setFont(new Font("Raleway", Font.BOLD, 14));
b3.setBackground(Color.BLACK);
b3.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);

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);
}

public void actionPerformed(ActionEvent ae)


{
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)

System.out.println("user name testing");

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)
{

JOptionPane.showMessageDialog(null,"Account created successfully");

else

JOptionPane.showMessageDialog(null,"Problem in creating account");

83
}

catch(Exception ax)

System.out.print("error"+ae);

}
}
else if(ae.getSource()==b2)

Login o=new Login();

else if(ae.getSource()==b3)

{
System.out.println("custid :"+un);
try
{

pstml=con.prepareStatement("select * from signup where custid=?");

pstml.setString(1,un);

rs=pstml.executeQuery();

if(rs.next())
{

JOptionPane.showMessageDialog(null,"Account detail already


exists accept another");

}
catch(Exception ex)
{
System.out.println(" Error in creating account");
}

84
}
}

public static void main(String[] args)


{
Signup o=new Signup();
}

Forgot Password Module:-


import javax.swing.*;
import java.awt.event.*;

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()

setFont(new Font("System", Font.BOLD, 10));


Font f = getFont();
setTitle("ForgotPass");

setLayout(null);

l1=new JLabel("Forgot Password form");

l1.setFont(new Font("Osward", Font.BOLD, 24));

l2=new JLabel("Customer Id");


l2.setFont(new Font("Osward", Font.BOLD, 24));

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);

public void actionPerformed(ActionEvent ae)

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","");

PreparedStatement pstml=can.prepareStatement("select * from signup where custid=?


and email=?");

pstml.setString(1,un);

87
pstml.setString(2,pw);

ResultSet rs=pstml.executeQuery();

if(rs.next())
{
+rpw);

//mainp s=new mainp();

else

JOptionPane.showMessageDialog(null,"invalid user name or contact Number");

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);

Login o=new Login();

public static void main(String[] s)

new ForgotPass();
}

Transaction Module:-
import java.awt.*;
import java.awt.event.*;
import javax.swing.*;
import java.sql.*;

class Transcations extends JFrame implements ActionListener{

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);

Login o=new Login();

}
Transcations()
{}

Transcations(String tempun)
{
un=tempun;
setFont(new Font("System", Font.BOLD, 22));
Font f = getFont();
setTitle("TRANSACTION");

l1 = new JLabel("Please Select Your Transaction");


l1.setFont(new Font("System", Font.BOLD, 38));

b1 = new JButton("DEPOSIT");
b1.setFont(new Font("System", Font.BOLD, 18));
b1.setBackground(Color.BLACK);
b1.setForeground(Color.WHITE);

b2 = new JButton("CASH WITHDRAWL");


b2.setFont(new Font("System", Font.BOLD, 18));
b2.setBackground(Color.BLACK);
b2.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);

b5 = new JButton("PIN CHANGE");


b5.setFont(new Font("System", Font.BOLD, 18));
b5.setBackground(Color.BLACK);
b5.setForeground(Color.WHITE);

b6 = new JButton("MINI STATEMENT");


b6.setFont(new Font("System", Font.BOLD, 18));
b6.setBackground(Color.BLACK);
b6.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);

public static void main(String[] args)


{
Transcations o=new Transcations();
}
}

Change Password Module:-


import java.awt.*;
import java.awt.event.*;
import javax.swing.*;
import java.sql.*;

class Pin extends JFrame implements ActionListener{

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");

l1 = new JLabel("CHANGE YOUR PIN");


l1.setFont(new Font("System", Font.BOLD, 35));

l2 = new JLabel("Current PIN:");


l2.setFont(new Font("System", Font.BOLD, 22));

l3 = new JLabel("New PIN:");


l3.setFont(new Font("System", Font.BOLD, 22));

l4 = new JLabel("Re-Enter New PIN:");


l4.setFont(new Font("System", Font.BOLD, 22));

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);

public void actionPerformed(ActionEvent ae)


{

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);
}
}

public static void main(String[] args){


new Pin().setVisible(true);
}

95
}

Cash Withdraw Module:-


import java.awt.*;
import java.awt.event.*;
import javax.swing.*;
import java.sql.*;
import java.util.*;

class Withdrawl extends JFrame implements ActionListener{

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");

l1 = new JLabel("Account no");


l1.setFont(new Font("System", Font.BOLD, 35));

l2 = new JLabel(" cash");


l2.setFont(new Font("System", Font.BOLD, 35));

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);
}

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 s1=t1.getText();
String s2=t2.getText();
String s3=t3.getText();

PreparedStatement pstml=can.prepareStatement("insert into


transaction values(?,?,?,?)");

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

JOptionPane.showMessageDialog(null,"invalid user name or


password");

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

JOptionPane.showMessageDialog(null,"invalid user name or


password");

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.*;

class Deposit extends JFrame implements ActionListener{

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");

l1 = new JLabel("Account no");


l1.setFont(new Font("System", Font.BOLD, 35));

l2 = new JLabel(" cash");


l2.setFont(new Font("System", Font.BOLD, 35));

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);
}

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 s1=t1.getText();
String s2=t2.getText();
String s3=t3.getText();

PreparedStatement pstml=can.prepareStatement("insert into


transaction values(?,?,?,?)");

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

JOptionPane.showMessageDialog(null,"invalid user name or


password");

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

JOptionPane.showMessageDialog(null,"invalid user name or


password");

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.*;

class Balance extends Canvas


{
String un;
Balance(String custid)
{
un=custid;
JFrame frame = new JFrame("Balance Eqnuiry");
setSize(1200, 1200);
frame.add(this);
frame.pack();
frame.setVisible(true);
}
Balance()
{}

public static void main(String[] args) {


new Balance();
}

public void paint(Graphics g) {


Connection con=null;
Statement stmt=null;
ResultSet rs=null;

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.*;

class TranscationsAdmin extends JFrame implements ActionListener{

JLabel l1;
JButton b1,b2,b7,b4;

TranscationsAdmin()
{

setFont(new Font("System", Font.BOLD, 22));


Font f = getFont();
setTitle("TRANSACTION");

l1 = new JLabel("Admin page");


l1.setFont(new Font("System", Font.BOLD, 38));

b1 = new JButton("Account Manage");

107
b1.setFont(new Font("System", Font.BOLD, 18));
b1.setBackground(Color.BLACK);
b1.setForeground(Color.WHITE);

b2 = new JButton("Report A/C");


b2.setFont(new Font("System", Font.BOLD, 18));
b2.setBackground(Color.BLACK);
b2.setForeground(Color.WHITE);

b4 = new JButton("Report Balance");


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(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);

public void actionPerformed(ActionEvent ae)


{
if (ae.getSource()==b1)
{
AccountManage o=new AccountManage();
}
else if(ae.getSource()==b2)
{
BalEnqAll o=new BalEnqAll();

else if(ae.getSource()==b4)
{
AccDetAll o=new AccDetAll();

else if(ae.getSource()==b7)

setVisible(false);

Login o=new Login();

public static void main(String[] args)


{
TranscationsAdmin o=new TranscationsAdmin();
}
}

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()
{

setFont(new Font("System", Font.BOLD, 22));


Font f = getFont();
FontMetrics fm = getFontMetrics(f);
setTitle("Admin Modification page");

l1 = new JLabel("Admin Modification page ");


l1.setFont(new Font("Raleway", Font.BOLD, 38));

l2 = new JLabel(" Personal Details");


l2.setFont(new Font("Raleway", Font.BOLD, 22));

l3 = new JLabel("customer id:");


l3.setFont(new Font("Raleway", Font.BOLD, 20));

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));

l10 = new JLabel("marital_status:");


l10.setFont(new Font("Raleway", Font.BOLD, 20));

l11 = new JLabel("pincode:");


l11.setFont(new Font("Raleway", Font.BOLD, 20));

l12 = new JLabel("Address:");


l12.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);

b3= new JButton("Search");


b3.setFont(new Font("Raleway", Font.BOLD, 14));
b3.setBackground(Color.BLACK);
b3.setForeground(Color.WHITE);

b4= new JButton("update");


b4.setFont(new Font("Raleway", Font.BOLD, 14));
b4.setBackground(Color.BLACK);
b4.setForeground(Color.WHITE);

b5= new JButton("delete");


b5.setFont(new Font("Raleway", Font.BOLD, 14));
b5.setBackground(Color.BLACK);
b5.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);
}

public void actionPerformed(ActionEvent ae)


{

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)

System.out.println("user name testing");

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)
{

JOptionPane.showMessageDialog(null,"Accounbt created successfully");

else

JOptionPane.showMessageDialog(null,"Problem in creating account");

catch(Exception ax)

System.out.print("error"+ae);

}
}
else if(ae.getSource()==b2)

TranscationsAdmin o=new TranscationsAdmin();

else if(ae.getSource()==b3)

{
System.out.println("custid :"+un);
try
{

pstml=con.prepareStatement("select * from signup where custid=?");

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

pstml=con.prepareStatement("update signup set


name=?,fathers_name=?,date=?,gender=?,email=?,marital_status=?,address=?,pincode=? where
cuzstid=? and pin=? ");

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)
{

JOptionPane.showMessageDialog(null,"Accounbt updated successfully");

else

JOptionPane.showMessageDialog(null,"Problem in updating account");

catch(Exception ax)

System.out.print("error"+ae);

}
else if(ae.getSource()==b5)

{
try

pstml=con.prepareStatement("delete from signup where custid=? and pin=? ");

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)
{

JOptionPane.showMessageDialog(null,"Accounbt deleted successfully");

else

JOptionPane.showMessageDialog(null,"Problem in deleting account");

catch(Exception ax)

System.out.print("error"+ae);

}
}

public static void main(String[] args)


{
AccountManage o=new AccountManage();
}

121
All Accounts Report Module:-
import java.awt.*;
import javax.swing.*;
import java.sql.*;

class AccDetAll extends Canvas


{
String un;
AccDetAll()
{
JFrame frame = new JFrame("Balance Eqnuiry");
setSize(1200, 1200);
frame.add(this);
frame.pack();
frame.setVisible(true);
}

public static void main(String[] args) {


new AccDetAll();
}

public void paint(Graphics g) {


Connection con=null;
Statement stmt=null;
ResultSet rs=null;

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);} }
}

Transactions Reports Module:-


import java.awt.*;
import javax.swing.*;
import java.sql.*;

class BalEnq extends Canvas


{
String un;
BalEnq(String custid)
{
un=custid;
JFrame frame = new JFrame("Balance Eqnuiry");
setSize(1200, 1200);
frame.add(this);
frame.pack();
frame.setVisible(true);

123
}
BalEnq()
{}

public static void main(String[] args) {


new BalEnq();
}

public void paint(Graphics g) {


Connection con=null;
Statement stmt=null;
ResultSet rs=null;

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.

8.2. UNIT TESTING


Unit testing involves test planning, test case development and
measurement of test unit against the requirement specifications. P l a n n i n g
involves designing the schedule, determining the resources
r e q u i r e d a n d determining the features to be tested. Test case development
involves designing test cases that are to be tested; the test cases are prepared so as
to test the system exhaustively to find the bugs present in the system. Measurement
of test unit against specification involves testing the system by giving the test cases
as input and checking the systems adherence to its specification. The following
features were tested:

•Test to see if the requirements specified are taken care of.

•Test to see if all the inputs are handled effectively.

•Test the system by traversing all paths to discover any surprises.

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

The following requirements will be tested

1. Verify if valid users are identified.

2. Verify if invalid users are blocked from logging into the application.

GET REPORTGENERATION DETAILS

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.

8.4. SYSTEM TESTING


System Testing is a series of test, which have to be performed to fully
exercise the computer- based system. It ensures that all the system
elements are fully integrated and each element performs its allocated
function.

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.

White Box Testing


This is a unit testing method where a unit will be taken at a time and tested
thoroughly at a statement level to find the maximum possible errors. I
tested step wise every piece of code, taking care that every statement in the
code is executed at least once. The white box testing is also called Glass
Box Testing. I have generated a list of test cases, sample data.
Which is used to check all possible combinations of execution paths through
the code at every module level.

Black Box Testing


This testing method considers a module as a single unit and checks the unit at
interface and communication with other modules rather getting into details at
statement level. Here the module will be treated as a block box that will take some
input and generate output. Output for a given setoff input combinations are
forwarded to other modules.

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.

Implementation and software specification


testings:

Detailed design of implementation


This phase of the system development life cycle refines hardware and software
specifications, establishes programming plans, trains users and implements
extensive testing procedures, to evaluate design and operating specification and
provide the basis for further modification.

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.

Programming and testing


This activity encompasses actual development, writing and testing of programs
units or modules.

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 steps in the software testing


The steps involved during testing are as follows.

 Preparation of the test cases.


 Preparation of the possible test data with all the validation checks.
 Complete code review of the module.
 Actual testing done manually.
 Modification done for the errors found during testing.
 Prepared the test result scripts.

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:

 Integration of all the modules/forms in the system.


 Preparation of the test cases.
 Preparation of the possible test data with all the validation checks.
 Actual testing done manually.
 Recording of all the reproduced errors.
 Modification done for the found during testing.
 Prepared the test result scripts after rectification of the errors.

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.

Procedure Testing: It determines the clarity of documentation on operation and


uses of the system by having users do exactly what manuals request. For example,
powering down system at the end of week or responding to paper- out light on
printer

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.

Host Modifications - If any of the hardware and/or platform (such as operating


system) of the target host changes, software changes are needed to keep
adaptability.

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:

Corrective Maintenance - This includes modifications and updations done in


order to correct or fix problems, which are either discovered by user or concluded
by user error reports.

Adaptive Maintenance - This includes modifications and updations applied to


keep the software product up-to date and tuned to the ever changing world of
technology and business environment.

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.

Preventive Maintenance - This includes modifications and updations to prevent


future problems of the software. It aims to attend problems, which are not
significant at this moment but may cause serious issues in future.

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:

Identification & Tracing - It involves activities pertaining to identification of


requirement of modification or maintenance. It is generated by user or system may
itself report via logs or error messages. Here, the maintenance type is classified
also.

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.

Design - New modules, which need to be replaced or modified, are designed


against requirement specifications set in the previous stage. Test cases are created
for validation and verification.

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.

System Testing - Integration testing is done among newly created modules.


Integration testing is also carried out between new modules and the system. Finally
the system is tested as a whole, following regressive testing procedures.

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.

Training facility is provided if required, in addition to the hard copy of user


manual.

Maintenance management - Configuration management is an essential part of


system maintenance. It is aided with version control tools to control versions,
semi-version or patch management.

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

This project was developed to fulfill user requirement. However there


are lots of scope to improve the performance of the Banking System in
the area of user interface, database performance and query processing
time. So there are many things for future enhancement of this project.
The future enhancements that are possible in the project are as follows.

 Interest calculation system is not implemented yet. It can be


enhanced later. Linking and integration of any legacy system for
accounting.
 Integration with other bank and government agencies through
Web Services .
 Connection to third-party OLAP applications .
 Electronic Data Interchange (EDI) system for ATM machine .
 Web Interface for net banking.
 In the area of data security and system security.

141
BIBLIOGRAPHY

 For Java installation


https://www.java.com/en/download/

 For MySQL Database installation


http://www.mysql.com/index.html

 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

You might also like