0% found this document useful (0 votes)
14 views80 pages

Bank Report (Dheeresh)

The project report outlines the development of a Bank Management System as part of the Bachelor of Computer Application degree at GNDU Regional Campus, Gurdaspur. It details the system's objectives, feasibility analysis, software requirements, and the software development life cycle, emphasizing user-friendliness and efficiency in managing customer accounts. The report includes acknowledgments, a certificate of approval, and a comprehensive table of contents covering various aspects of the project.

Uploaded by

Shubam
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as DOC, PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
14 views80 pages

Bank Report (Dheeresh)

The project report outlines the development of a Bank Management System as part of the Bachelor of Computer Application degree at GNDU Regional Campus, Gurdaspur. It details the system's objectives, feasibility analysis, software requirements, and the software development life cycle, emphasizing user-friendliness and efficiency in managing customer accounts. The report includes acknowledgments, a certificate of approval, and a comprehensive table of contents covering various aspects of the project.

Uploaded by

Shubam
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as DOC, PDF, TXT or read online on Scribd
You are on page 1/ 80

PROJECT REPORT

ON

BANK MANAGEMENT SYSTEM

Submitted in partial fulfillments of the requirement for the

award of degree of

BACHELOR OF COMPUTER APPLICATION

SUBMITTED BY:-
DHEERESH MAHAJAN ( UNIV. ROLL NO. (107222208427 )
DIVNESH (UNIV. ROLL NO. (10722208419 )

SUBMITTED TO:
DR.SATBIR SINGH
DR. HARJOT KAUR
ASSISTANT PROFESSOR

Department of Engineering & Technology

1
GNDU Regional Campus, Gurdaspur

May 2025

2
ACKNOWLEDGEMENT

With deep sense of gratitude we express our sincere thanks and obligation to our

esteemed guide DR. SATBIR SINGH & DR. HARJOT KAUR (Assistant

Professor).It is because of his able and mature guidance and co – operation without

which it would not have been possible for us to complete our project. I am very

thankful to GNDU REGIONAL CAMPUS GURDASPUR for providing an

environment where one can use her intellect and creativity to develop something

fruitful and also for allowing us the opportunity to experience dynamic professional

environment during our training.

This environment facilitated us in pursuing this project .it is our pleasant duty to thank

all the staff members of the computer department for their time to time suggestion.

Finally,we would like to thank the almighty and our parents for their moral support

and our friends with whom we shared our day-to-day experience and received lots of

suggestions that improved our quality of work.

Dheeresh Mahajan

(Roll no.) : 10722208427

Divnesh

(Roll no.) : 10722208419

3
CERTIFICATE OF APPROVAL

This is certify that the project report entitled BANK MANAGEMENT SYSTEM

submitted to GNDU REGIONAL CAMPUS GURDASPUR in partial fulfillment

of the requirement for the award of degree of Bachelor Of Computer Application ,

is an authentic and original work carried out by Dheeresh Mahajan

(10722208427) Divnesh (10722208419) under my guidance and supervisor . The

deptt. of Engineering and Technology has accepted the report as the fulfillment of

the requirements for the degree of BACHELOR of Computer application. No part

of this report has been submitted to any other College/University for the reward of

any Degree to the best of my knowledge.

Signature of Student:

Dheeresh Mahajan (10722208427) _____________

Divnesh (10722208419) _________________

This is to certify that the above statement made by the candidate is correct to the

best of my knowledge.

Signature of the project guide:

Dr. SATBIR SINGH __________________

Dr. HARJOT KAUR __________________

4
Declaration

We hereby declare that this project report on BANK MANAGEMENT SYSTEM

which is being submitted in partial fulfillments of the training programmer of

bachelor of computer application to GNDU REGIONAL CAMPUS GURDASPUR

is the result of the work carried out by us under the guidance of Dr. SATBIR

SINGH & Dr. HARJOT KAUR (assistant professor). GNDU REGIONAL

CAMPUS GURDASPUR.

Dheeresh Mahajan

(Roll no.) : 10722208427

Divnesh

(Roll no.) : 10722208419

5
TABLE OF CONTENT

CHAPTER TOPIC PAGE NO.


1 Introduction and 6-7
Objectives
2 Feasibility Study 8-9
3 SRS 10
4 SDLC 11
5 Introduction to Front end 12-14
Application
6 Introduction to Back end 15-17
Application
7 DFD 18-19
8 E-R DIGRAM 20-22
9 Data structures and 23-28
database specification
10 Design 29-31
11 Coding 32-66
12 Testing 67-69
13 Scope of the project 70
14 Bibliography and 71
Reference

6
CHAPTER-1

INTRODUCTION

During the past several decades personnel function has been transformed from a

relatively obscure record keeping staff to central and top level management function.

There are many factors that have influenced this transformation like technological

advances, professionalism, and general recognition of human beings as most

important resources.

A computer based management system is designed to handle all the primary

information required to calculate monthly statements of customer account which

include monthly statement of any month. Separate database is maintained to handle

all the details required for the correct statement calculation and generation.

This project intends to introduce more user friendliness in the various activities such

as record updation, maintenance, and searching. The searching of record has been

7
made quite simple as all the details of the customer can be obtained by simply keying

in the identification or account number of that customer. Similarly, record

maintenance and updation can also be accomplished by using the account number

with all the details being automatically generated. These details are also being

promptly automatically updated in the master file thus keeping the record absolutely

up-to-date.

The entire information has maintained in the database or Files and whoever wants to

retrieve can’t retrieve, only authorization user can retrieve the necessary information

which can be easily be accessible from the file.

8
OBJECTIVES OF THE PROJECT

A computer based management system is designed to handle all the primary information

required to calculate monthly statements of customer account which include monthly

statement of any month. Separate database is maintained to handle all the details required

for the correct statement calculation and generation.

This project intends to introduce more user friendliness in the various activities such as

record updation, maintenance, and searching. The searching of record has been made

quite simple as all the details of the customer can be obtained by simply keying in the

identification or account number of that customer. Similarly, record maintenance and

updation can also be accomplished by using the account number with all the details being

automatically generated. These details are also being promptly automatically updated in

the master file thus keeping the record absolutely up-to-date.

The main objective of our project is providing the different typed of customers facility,

the main objective of this system is to find out the actual customer service. Etc.

 It should fulfill almost all the process requirements of any Bank.

 It should increase the productivity of bank by utilizing the working hours more

and more, with minimum manpower.

This project includes the entire upgraded feature required for the computerization

banking system. This system is very easy to use, so that any user can use without getting

pre-knowledge about this. Its very much user friendly and meet almost all daily working

process requirements. This system is completely GUI based and can be use by mouse and

as well as keyboard. This system is melded in such a way that has got all features to

upgrade without making much change in existing components.

9
CHAPTER-2

FEASIBILITY ANALYSIS:-
Depending on the results of the initial investigation, the survey is expanded to a

more detailed feasibility study. A feasibility study is a test of a system proposal.

According to its workability, impact on the organization, ability to meet user’s

needs and effective use of the resources its main task done during the feasibility

study are:-

1. Evaluation of existing system and procedures. Our group went to various

Banking Professionals to gather 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. Analysis of alternative candidate systems after studying the various systems

we derived various alternatives through which we develop our project and

evaluated the alternative. The most appropriate is selected.

FEASIBILITY STUDY

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

The proposed system is technically feasible as it can be developed easily with the

help of available technology. The proposed system requires MS – VISUAL

Studio 2005 using VB.Net as a Interface for Programming & back-end as MS-

SQL Server 2000 for storing/maintaining database. The database can be easily

interconnected using MS-SQL Server 2000.

OPERATIONAL FEASIBILITY:-

Automation makes our life easy. The proposed system is highly user friendly and

is much easily able to interact with the system. Therefore the users will readily

accept the system as data entry and making queries can be easily done.

11
CHAPTER-3

SYSYTEM REQUIREMENTS

Hardware specifications
Hardware is a set of physical components, which performs the functions of applying
appropriate, predefined instructions. In other words, one can say that electronic and
mechanical parts of computer constitute hardware.
This package is designed on a powerful programming language Visual Basic. It is a
powerful Graphical User Interface. The backend is ACCESS, which is used to maintain

12
database. It can run on almost all the popular microcomputers. The following are the

minimum hardware specifications to run this package: -

Personal Computer: -

It minimum contains P-III

Processor with 128 MB RAM

Software Requirements:
The software is a set of procedures of coded information or a program which
when fed into the computer hardware, enables the computer to perform the
various tasks. Software is like a current inside the wire, which cannot be
seen but its effect can be felt.

1. Operating System:- Windows NT / 2000 / XP

2. Application Software:- Application software uses front end visual basic and database

access etc.

Editor:- Visual basic.

CHAPTER-4

SOFTWARE DEVELOPMENT LIFE CYCLE

13
A system development life cycle is a logical process by which system analysts, software

engineers, programmers, and end users build information systems and computer

applications to solve business problems and needs.

The major phases involved in the MIS development process are referred to as system

development life cycle. Each phase of the development process must have well defined

objectives ,and at the end of each phase ,progress towards meeting the objectives must be

evaluated.

The development process should not continue until the objectives of all prior phases have

been met.

System development life cycle is a phased approach to analysis and design to ensure that

systems are best developed.

The system development life cycle can be divided into seven phases as shown in fig

14
CHAPTER-5

INTRODUCTION TO FRONT END TOOL

 Visual programming aims at providing the user with an interface that is intuitive and
easy to use. In developing such an interface, the programmer employs user-friendly
features such as windows, menus, buttons and list boxes.

 Its Environment provides all features that are required to develop a graphical user
interface as ready -to- use components. The programmer does not have to write code
to create and display commonly required user-friendly features each time around.

 When the programmer needs a specific user interface feature such as button, he
selects the appropriate ready-to-use component provided by the visual programming
environment. These components can be moved, resized and renamed as required.

 For Example:-

If the programmer needs to have a button then the visual programming environment

provides him with one. All that, the programmer does this selec t the button and

place it on screen at the required position.

 Typically the mouse is used to select and place the necessary components. Thus, the

visual programming environment is also called a point and click environment.

15
 A visual programming environment automates the process of creating a user

interface. The interface provided by the visual programming environment to the

programmer designs the user interface visually instead of writing code.

 In addition it also provides a means of associating code with each component. In each

case of calculator, for each button, we can specific that the code is to execute when

we click on it.

NEED FOR VISUAL PROGRAMMING:-

 There are several programming tools that allow us to build such visually appealing

and intuitive interface. These tools allow us to design interface that employ user

friendly features such as menus, buttons, windows etc.

 However, the disadvantage of such tools is that the interface is designed using code.

The programmer has to code the user interface features specifying the size, position

etc. this makes designing the user interface a major task in itself.

ADVANTAGES OF VISUAL PROGRAMMING:-

 Visual development of graphical user interface which are easy to use and easy to

learn.

 A programmer need not write code to display the required component.

 For Example:-

The visual programming environment displays a list of available components. The

programmer picks up the required component from this list to display it.

16
 The component can be moved, resized and even deleted, if so required.

 There is no restriction on the number of controls that can be placed on a form.

 The interface components provided by the visual programming environment have

some code built into them.

For example:-

A button’ knows’ when it has been clicked upon. In the case of conventional

programming tools, the programmer has to write code to determine the component that

has been clicked and then execute the appropriate code.

 Visual Basic is one of the most popular programming tools available today. And it’s

also secret that there have been massive changes in it as it became Visual Basic.Net.

 The reason of that change is Visual Basic itself, which has now become Visual

Basic.Net. The difference between Visual Basic.Net and the previous version. Visual

Basic 6.0 is revolutionary and far reaching. Visual Basic.Net has been more than four

years in the marking and it represents entirely new directions for Visual Basic.

Besides the biggest change integrated support for web development the very syntax,

of techniques that you’ve probably learned carefully are now completely different

such as data handling and many controls; project types and other aspects of Visual

Basic 6.0 are no longer available at all.

 Visual Basic has a long and so far glorious history. When it first appeared, it created a

revolution in windows programming. Visual Basic introduced unheard of ease to

windows programming just builds the program you want right before your eyes, and

17
then run it. In so doing it changed programming form a chore to something very like

fun.

CHAPTER-6

INTRODUCTION TO BACK END TOOL

Introduction to SQL: -

SQL is a standard computer 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.

18
 SQL is an ANSI (American National Standards Institute) standard computer language
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.

 Unfortunately, there are many different versions of the SQL language, but to be in
compliance with the ANSI standard; they must support the same major keywords in a
similar manner (such as SELECT, UPDATE, DELETE, INSERT, WHERE, and
others).

 SQL Database Tables: -

A database most often contains one or more tables. Each table is identified by a name
(e.g. "Customers" or "Orders"). Tables contain records (rows) with data.

Below is an example of a table called "Persons": -

Last Name First Name Address City

Hansen Ola Timoteivn 10 Sandnes

Svendson Tove Borgvn 23 Sandnes

Pettersen Kari Storgt 20 Stavanger

19
 The table above contains three records (one for each person) and four columns (Last
Name, First Name, Address, and City).

 SQL Queries: -

With SQL, we can query a database and have a result set returned.

 A query like this: -


SELECT Last Name FROM Persons
 Gives a result set like this: -

Last Name

Hansen

Svendson

Petersen

SQL Data Manipulation Language (DML)

 SQL (Structured Query Language) is syntax for executing queries. But the SQL
language also includes syntax to update, insert, and delete records.
 These query and update commands together form the Data Manipulation Language
(DML) part of SQL: -

 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

20
SQL Data Definition Language (DDL)

 The Data Definition Language (DDL) part of SQL permits database tables to be
created or deleted. We can also define indexes (keys), specify links between tables,
and impose constraints between database tables.

 The most important DDL statements in SQL are: -

 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 MS SQL SERVER 2000

21
CHAPTER-7

DATA FLOW DIAGRAM

 DATA FLOW DIAGRAM: -The data flow diagram is also known as “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 specification down to the lowest level of detail. A DFDs consists of a

series if bubbles joined by lines. The bubbles represent data transformation and

the lines represent the data flow in the system.

 DFD SYMBOLS:

 A system defined a source or destination of data.


 An arrow identifies data flow, data in motion.
 A circle represents the process that transforms incoming data flow to outgoing
data flow.
 An open rectangular is data store-data at rest or a temporary repository of
data.

22
SYSTEM DATA FLOW DIAGRAM

TRANSACTIONS ACCOUNT
BANKING
HOLDERS

DATABASE

23
CHAPTER-8

E-R DIAGRAM

24
ER-modeling is a data modeling technique used in software engineering to produce a
conceptual data model of a information system. Diagrams created using this ER-
modeling technique are called Entity-Relationship Diagrams, or ER diagrams or ERDs.
So you can say that Entity Relationship Diagrams illustrate the logical structure of
databases.

25
Dr. Peter Chen is the originator of the Entity-Relationship Model. His original paper
about ER-modeling is one of the most cited papers in the computer software field.
Currently the ER model serves as the foundation of many system analysis and design
methodologies, computer-aided software engineering (CASE) tools, and repository
systems.

The original notation for ER-Diagrams uses rectangles to represent entities, and
diamonds to represent relationships.

There are three basic elements in ER-Diagrams:

 Entities are the "things" for which we want to store information. An entity is a
person, place, thing or event.
 Attributes are the data we want to collect for an entity.

 Relationships describe the relations between the entities.

ERDs show entities in a database and relationships between tables within that database. It
is essential to have ER-Diagrams if you want to create a good database design. The
diagrams help focus on how the database actually works.

Entity (Instance)
An instance of a physical object in the real world.
Entity Class
: Group of objects of the same type.

E.g. Entity Class “Student”, Entities “John”, “Trish” etc
Attributes

Properties of Entities that describe their characteristics.


Types:

26
Simple
: Attribute that is not divisible, e.g. age.
Composite
: Attribute composed of several simple attributes,
e.g. address (house number, street, district)

Multiple
: Attribute with a set of possible values for the same
entity, e.g. Phone (home, mobile etc.) or email
Key
: Uniquely Ids the Entity e.g. PPSN, Chassis No.
Each simple attribute associated with a VS that may be assigned to that attribute for each
individual entity,
e.g. age = integer

CHAPTER-9

27
DATA STRUCTURES AND DATABASE SPECIFICATIONS

“ACCOUNT_INFO” Table: -

Field Name Type Constraints

Account_No Int Primary Key

Branch_No Varchar(7) References Branch_Info(Branch_No)

Branch_Name VARCHAR(50) Not Null

Account_H_Type Varchar(15) Not Null

No_Account_H Varchar(5) Not Null

Saluation_F Varchar(5) Not Null

Name_P_O_F Varchar(50) Not Null

Fa_Name_F Varchar(50) Not Null

Gender_F Varchar(6) Not Null

DOB_F DateTime Not Null

Age_F Varchar(3) Check(Age_F>=0 and Age_F<100)

Occupation_F Varchar(15) Not Null

Photo_F Image Not Null

Sign_F Image Not Null

Address_F Varchar(100) Not Null

Ph_No_F Varchar(11) Not Null

Mob_No_F Varchar(14) Not Null

Saluation_S Varchar(5)

Name_P_O_S Varchar(50)

28
Fa_Name_S Varchar(50)

Gender_S Varchar(6)

DOB_S DateTime

Age_S Varchar(3) Check(Age_S>=0 and Age_S<100)

Occupation_S Varchar(15)

Photo_S Image

Sign_S Image

Address_S Varchar(100)

Ph_No_S Varchar(11)

Mob_No_S Varchar(14)

Saluation_T Varchar(5)

Name_P_O_T Varchar(50)

Fa_Name_T Varchar(50)

Gender_T Varchar(6)

DOB_T DateTime

Age_T Varchar(3) Check(Age_T>=0 and Age_T<100)

Occupation_T Varchar(15)

Photo_T Image

Sign_T Image

Address_T Varchar(100)

Ph_No_T Varchar(11)

Mob_No_T Varchar(14)

Account_Type Varchar(25) Not Null

Witness_Name Varchar(50) Not Null

Witness_Sign Image Not Null

29
Nominee_Rel Varchar(10) Not Null

Nominee_Name Varchar(50) Not Null

Nominee_Sign Image Not Null

Opening_Bal Varchar(10)

T_Date DateTime Not Null

“Branch_Info” Table: -

Field Name Type Constraints

Branch_No Varchar(7) Primary Key

Branch_Name Varchar(50)

“Deposit_Info” Table: -

Field Name Type Constraints

Account_No Int References

Account_Info(Account_No)

Branch_No Varchar(7)

Depositor_Name Varchar(150)

Account_H_Type Varchar(15)

Deposit_Amt Varchar(10)

Deposit_Date DateTime

30
“Fixed_Info” Table: -

Field Name Data type Constraints

Account_No Int References Account_Info(Account_No)

Branch_No Varchar(7)

Depositor_Name Varchar(50)

Account_H_Type Varchar(15)

Time_Span Varchar(5) References

Rate_Of_Interest_Info(Time_Span)

ROI Varchar(5)

Start_Date DateTime

Mature_Date Varchar(15)

Deposit_Amt Varchar(10)

Mature_Amt Varchar(10)

“Login_Info” Table: -

Field Name Data type Description

UserName Varchar(20) Primary Key

UserPassWord Varchar(15)

31
Field Name Data type Description

Time_Span Varchar(5) Primary Key

ROI Varchar(5)

“Withdrawl_Info” Table: -

Field Name Type Constraints

Account_No Int References

Account_Info(Account_No)

Branch_No Varchar(7)

Withdrawee_Name Varchar(150)

Account_H_Type Varchar(15)

Withdrawl_Amt Varchar(10)

Withdrawl_Date DateTime

“Loan_Info” Table: -

Field Name Type Constraints

Account_No Int References

Account_Info(Account_No)

Branch_No Varchar(7)

Acc_Holder_Name Varchar(50)

Account_Type Varchar(15)

32
Account_Sub_Type Varchar(15)

Time_Span Varchar(5) References

Rate_Of_Interest_Info(Time_Span)

ROI Varchar(5)

Issue_Date DateTime

Due_Date Varchar(15)

Loan_Sanctioned Varchar(10)

No_Installments Varchar(5)

EMI Varchar(10)

Total_Loan_Ret Varchar(10)

33
CHAPTER-10

DESIGN
HOMEPAGE

LOGIN-PAGE

34
ACCOUNT LIST PAGE

35
Withdraw / Deposit Page (Teller-Side)

User's Statement/Transaction List

FUND TRANSFER(User-side)

36
CHAPTER-11

37
CODING

 ACCONTS FORM

<?php
session_start();
if(!isset($_SESSION['userId'])){
header('location:login.php');}
?>
<!DOCTYPE html>
<html>
<head>
<title>Banking</title>
<?php require 'assets/autoloader.php'; ?>
<?php require 'assets/db.php'; ?>
<?php require 'assets/function.php'; ?>

</head>
<body style="background-size: 100%" class="bg-
gradient-seconday">
<nav class="navbar navbar-expand-lg navbar-dark
bg-dark fixed-top">
<a class="navbar-brand" href="#">
<img src="images/logo.png" style="object-
fit:cover;object-position:center center"
width="30" height="30" class="d-inline-block
align-top" alt="">
<!-- <i class="d-inline-block fa fa-
building fa-fw"></i> --><?php echo bankname; ?>

38
</a>
<button class="navbar-toggler" type="button"
data-toggle="collapse" data-
target="#navbarSupportedContent" aria-
controls="navbarSupportedContent" aria-
expanded="false" aria-label="Toggle
navigation">
<span class="navbar-toggler-icon"></span>
</button>

<div class="collapse navbar-collapse"


id="navbarSupportedContent">
<ul class="navbar-nav mr-auto">
<li class="nav-item ">
<a class="nav-link "
href="index.php">Home <span class="sr-
only">(current)</span></a>
</li>
<li class="nav-item active "> <a
class="nav-link"
href="accounts.php">Accounts</a></li>
<li class="nav-item "> <a class="nav-
link" href="statements.php">Account
Statements</a></li>
<li class="nav-item "> <a class="nav-
link" href="transfer.php">Funds
Transfer</a></li>
<!-- <li class="nav-item "> <a
class="nav-link"
href="profile.php">Profile</a></li> -->

39
</ul>
<?php include 'sideButton.php'; ?>

</div>
</nav><br><br><br>
<div class="container">
<div class="card w-75 mx-auto">
<div class="card-header text-center">
Your account Information
</div>
<div class="card-body">
<table class="table table-striped table-
dark w-75 mx-auto">
<thead>
<tr>
<td scope="col">Account No.</td>
<th scope="col"><?php echo
$userData['accountNo']; ?></th>
</tr>
</thead>
<tbody>
<tr>
<th scope="row">Branch</th>
<td><?php echo $userData['branchName']; ?
></td>
</tr>
<tr>
<th scope="row">Branch Code</th>
<td><?php echo $userData['branchNo']; ?
></td>
</tr>

40
<tr>
<th scope="row">Account Type</th>
<td><?php echo $userData['accountType'];
?></td>
</tr>
<tr>
<th scope="row">Account Created</th>
<td><?php echo $userData['date']; ?></td>
</tr>
</tbody>
</table>

</div>
<div class="card-footer text-muted">
<?php echo bankname ?>
</div>
</div>

</div>
</body>
</html>

 LOGIN FORM CODING

<!DOCTYPE html>
<html>
<head>
<title>Banking</title>
<?php require 'assets/autoloader.php'; ?>

41
<?php require 'assets/function.php'; ?>
<?php
$con = new
mysqli('localhost','root','','mybank');
define('bankname', 'XYZ Banko');
session_start();

$error = "";
if (isset($_POST['userLogin']))
{
$error = "";
$user = $_POST['email'];
$pass = $_POST['password'];

$result = $con->query("select *
from userAccounts where email='$user' AND
password='$pass'");
if($result->num_rows>0)
{
$data = $result->fetch_assoc();
$_SESSION['userId']=$data['id'];
$_SESSION['user'] = $data;
header('location:index.php');
}
else
{
$error = "<div class='alert
alert-warning text-center rounded-0'>Username
or password wrong try again!</div>";
}
}

42
if (isset($_POST['cashierLogin']))
{
$error = "";
$user = $_POST['email'];
$pass = $_POST['password'];

$result = $con->query("select *
from login where email='$user' AND
password='$pass'");
if($result->num_rows>0)
{
$data = $result->fetch_assoc();
$_SESSION['cashId']=$data['id'];
//$_SESSION['user'] = $data;
header('location:cindex.php');
}
else
{
$error = "<div class='alert
alert-warning text-center rounded-0'>Username
or password wrong try again!</div>";
}
}
if (isset($_POST['managerLogin']))
{
$error = "";
$user = $_POST['email'];
$pass = $_POST['password'];

43
$result = $con->query("select *
from login where email='$user' AND
password='$pass' AND type='manager'");
if($result->num_rows>0)
{
$data = $result->fetch_assoc();

$_SESSION['managerId']=$data['id'];
//$_SESSION['user'] = $data;
header('location:mindex.php');
}
else
{
$error = "<div class='alert
alert-warning text-center rounded-0'>Username
or password wrong try again!</div>";
}
}

?>
</head>
<body style="background:
url(images/banking_wp.jpg);background-size:
100%">
<h1 class="alert alert-dark bg-gradient-dark
rounded-0"><?php echo bankname; ?></h1>
<br>
<?php echo $error ?>
<br>

44
<div id="accordion" role="tablist" class="w-25
float-right shadowBlack" style="margin-right:
222px">
<br><h4 class="text-center">Select Your
Session</h4>
<div class="card rounded-0">
<div class="card-header" role="tab"
id="headingOne">
<h5 class="mb-0">
<a style="text-decoration: none;" data-
toggle="collapse" href="#collapseOne" aria-
expanded="true" aria-controls="collapseOne">
<button class="btn btn-outline-primary
btn-block">User Login</button>
</a>
</h5>
</div>

<div id="collapseOne" class="collapse"


role="tabpanel" aria-labelledby="headingOne"
data-parent="#accordion">
<div class="card-body">
<form method="POST">
<input type="email"
value="[email protected]" name="email"
class="form-control" required
placeholder="Enter Email">
<input type="password" name="password"
value="some" class="form-control" required
placeholder="Enter Password">

45
<button type="submit" class="btn btn-
primary btn-block btn-sm my-1"
name="userLogin">Enter </button>
</form>
</div>
</div>
</div>
<div class="card rounded-0">
<div class="card-header" role="tab"
id="headingTwo">
<h5 class="mb-0">
<a class="collapsed btn btn-outline-
primary btn-block" data-toggle="collapse"
href="#collapseTwo" aria-expanded="false" aria-
controls="collapseTwo">
Manager Login
</a>
</h5>
</div>
<div id="collapseTwo" class="collapse"
role="tabpanel" aria-labelledby="headingTwo"
data-parent="#accordion">
<div class="card-body">
<form method="POST">
<input type="email"
value="[email protected]" name="email"
class="form-control" required
placeholder="Enter Email">
<input type="password" name="password"
value="manager" class="form-control" required
placeholder="Enter Password">

46
<button type="submit" class="btn btn-
primary btn-block btn-sm my-1"
name="managerLogin">Enter </button>
</form>
</div>
</div>
</div>
<div class="card rounded-0">
<div class="card-header" role="tab"
id="headingThree">
<h5 class="mb-0">
<a class="collapsed btn btn-outline-
primary btn-block" data-toggle="collapse"
href="#collapseThree" aria-expanded="false"
aria-controls="collapseThree">
Cashier Login
</a>
</h5>
</div>
<div id="collapseThree" class="collapse"
role="tabpanel" aria-labelledby="headingThree"
data-parent="#accordion">
<div class="card-body">
<form method="POST">
<input type="email"
value="[email protected]" name="email"
class="form-control" required
placeholder="Enter Email">
<input type="password" name="password"
value="cashier" class="form-control" required
placeholder="Enter Password">

47
<button type="submit" class="btn btn-
primary btn-block btn-sm my-1"
name="cashierLogin">Enter </button>
</form>
</div>
</div>
</div>
</div>
</body>
</html>

 FEEDBACK FORM

<?php
session_start();
if(!isset($_SESSION['userId'])){
header('location:login.php');}
?>
<!DOCTYPE html>
<html>
<head>
<title>Banking</title>
<?php require 'assets/autoloader.php'; ?>
<?php require 'assets/db.php'; ?>
<?php require 'assets/function.php'; ?>
<?php
$error = "";
if (isset($_POST['userLogin']))
48
{
$error = "";
$user = $_POST['email'];
$pass = $_POST['password'];

$result = $con->query("select * from


userAccounts where email='$user' AND
password='$pass'");
if($result->num_rows>0)
{
session_start();
$data = $result->fetch_assoc();
$_SESSION['userId']=$data['id'];
$_SESSION['user'] = $data;
header('location:index.php');
}
else
{
$error = "<div class='alert alert-
warning text-center rounded-0'>Username or
password wrong try again!</div>";
}
}

?>
</head>
<body style="background-size: 100%" class="bg-
gradient-seconday">
<nav class="navbar navbar-expand-lg navbar-dark
bg-dark fixed-top">
<a class="navbar-brand" href="#">

49
<img src="images/logo.png" style="object-
fit:cover;object-position:center center"
width="30" height="30" class="d-inline-block
align-top" alt="">
<!-- <i class="d-inline-block fa fa-
building fa-fw"></i> --><?php echo bankname; ?>
</a>
<button class="navbar-toggler" type="button"
data-toggle="collapse" data-
target="#navbarSupportedContent" aria-
controls="navbarSupportedContent" aria-
expanded="false" aria-label="Toggle
navigation">
<span class="navbar-toggler-icon"></span>
</button>

<div class="collapse navbar-collapse"


id="navbarSupportedContent">
<ul class="navbar-nav mr-auto">
<li class="nav-item ">
<a class="nav-link "
href="index.php">Home <span class="sr-
only">(current)</span></a>
</li>
<li class="nav-item "> <a class="nav-
link" href="accounts.php">Accounts</a></li>
<li class="nav-item "> <a class="nav-
link" href="statements.php">Account
Statements</a></li>

50
<li class="nav-item "> <a class="nav-
link" href="transfer.php">Funds
Transfer</a></li>
<!-- <li class="nav-item "> <a
class="nav-link"
href="profile.php">Profile</a></li> -->

</ul>
<?php include 'sideButton.php'; ?>
</div>
</nav><br><br><br>
<div class="container">
<div class="card w-75 mx-auto">
<div class="card-header text-center">
Help Card
</div>
<div class="card-body">
<form method="POST">
<div class="alert alert-success w-50
mx-auto">
<h5>Enter your message</h5>
<textarea class="form-control"
name="msg" required placeholder="Write your
message"></textarea>
<button type="submit" name="send"
class="btn btn-primary btn-block btn-sm my-
1">Send</button>
</div>
</form>

<br>
51
<?php
if (isset($_POST['send']))
{
if ($con->query("insert into feedback
(message,userId) values
('$_POST[msg]','$_SESSION[userId]')")) {
echo "<div class='alert alert-
success'>Successfully send</div>";
}else
echo "<div class='alert alert-danger'>Not
sent Error is:".$con->error."</div>";
}

?>
</div>
<div class="card-footer text-muted">
<?php echo bankname ?>
</div>
</div>

</div>
</body>
</html>

 ACCOUNT OPENING FORM

<?php
session_start();

52
if(!isset($_SESSION['managerId'])){
header('location:login.php');}
?>
<!DOCTYPE html>
<html>
<head>
<title>Banking</title>
<?php require 'assets/autoloader.php'; ?>
<?php require 'assets/db.php'; ?>
<?php require 'assets/function.php'; ?>
<?php if (isset($_GET['delete']))
{
if ($con->query("delete from useraccounts
where id = '$_GET[id]'"))
{
header("location:mindex.php");
}
} ?>
</head>
<body style="background-size: 100%" class="bg-
gradient-seconday">
<nav class="navbar navbar-expand-lg navbar-dark
bg-dark fixed-top">
<a class="navbar-brand" href="#">
<img src="images/logo.png" style="object-
fit:cover;object-position:center center"
width="30" height="30" class="d-inline-block
align-top" alt="">
<!-- <i class="d-inline-block fa fa-
building fa-fw"></i> --><?php echo bankname; ?>
</a>

53
<button class="navbar-toggler" type="button"
data-toggle="collapse" data-
target="#navbarSupportedContent" aria-
controls="navbarSupportedContent" aria-
expanded="false" aria-label="Toggle
navigation">
<span class="navbar-toggler-icon"></span>
</button>

<div class="collapse navbar-collapse"


id="navbarSupportedContent">
<ul class="navbar-nav mr-auto">
<li class="nav-item ">
<a class="nav-link "
href="mindex.php">Home <span class="sr-
only">(current)</span></a>
</li>
<li class="nav-item active"> <a
class="nav-link"
href="maccounts.php">Accounts</a></li>
<li class="nav-item "> <a class="nav-
link" href="maddnew.php">Add New
Account</a></li>
<li class="nav-item "> <a class="nav-
link" href="mfeedback.php">Feedback</a></li>
<!-- <li class="nav-item "> <a
class="nav-link" href="transfer.php">Funds
Transfer</a></li> -->
<!-- <li class="nav-item "> <a
class="nav-link"
href="profile.php">Profile</a></li> -->

54
</ul>
<?php include 'msideButton.php'; ?>

</div>
</nav><br><br><br>
<?php
if (isset($_POST['saveAccount']))
{
if (!$con->query("insert into login
(email,password,type) values
('$_POST[email]','$_POST[password]','cashier')"
)) {
echo "<div claass='alert alert-
success'>Failed. Error is:".$con-
>error."</div>";
}
}
if (isset($_GET['del']) && !
empty($_GET['del']))
{
$con->query("delete from login where id
='$_GET[del]'");
}
$array = $con->query("select * from login
where type='cashier'");

?>
<div class="container">
<div class="card w-100 text-center shadowBlue">
<div class="card-header">
55
All Staff Accounts <button class="btn btn-
outline-info btn-sm float-right" data-
toggle="modal" data-target="#exampleModal">Add
New Account</button>
</div>
<div class="card-body">
<table class="table table-bordered">
<thead>
<tr>
<th>Email</th>
<th>Password</th>
<th>Account Type</th>
<th></th>
</tr>
</thead>
<tbody>
<?php
if ($array->num_rows > 0)
{
while ($row = $array-
>fetch_assoc())
{
echo "<tr>";
echo "<td>".
$row['email']."</td>";
echo "<td>".
$row['password']."</td>";
echo "<td>".$row['type']."</td>";
echo "<td><a href='maccounts.php?
del=$row[id]' class='btn btn-danger btn-
sm'>Delete</a></td>";

56
echo "</tr>";
}
}
?>
</tbody>
</table>
</div>
<div class="card-footer text-muted">
<?php echo bankname; ?>
</div>
</div>

<!-- Modal -->


<div class="modal fade" id="exampleModal"
tabindex="-1" role="dialog" aria-
labelledby="exampleModalLabel" aria-
hidden="true">
<div class="modal-dialog modal-dialog-
centered" role="document">
<div class="modal-content">
<div class="modal-header">
<h5 class="modal-title"
id="exampleModalLabel">New Cashier Account</h5>
<button type="button" class="close"
data-dismiss="modal" aria-label="Close">
<span aria-
hidden="true">&times;</span>
</button>
</div>
<div class="modal-body">
<form method="POST">
57
<div class="form-group">
<label for="email" class="control-
label">Email</label>
<input class="form-control"
type="email" name="email" id="email" required
placeholder="Email">
</div>
<div class="form-group">
<label for="password"
class="control-label">Password</label>
<input class="form-control"
type="password" name="password" id="password"
required placeholder="Password">
</div>
</div>
<div class="modal-footer">
<button type="button" class="btn btn-
secondary" data-dismiss="modal">Close</button>
<button type="submit"
name="saveAccount" class="btn btn-primary">Save
Account</button>
</form>
</div>
</div>
</div>
</div>
</body>
</html>

58
 TRANSFER FORM CODING

<?php
session_start();
if(!isset($_SESSION['userId'])){
header('location:login.php');}
?>
<!DOCTYPE html>
<html>
<head>
<title>Banking</title>
<?php require 'assets/autoloader.php'; ?>
<?php require 'assets/db.php'; ?>
<?php require 'assets/function.php'; ?>
<?php
$error = "";
if (isset($_POST['userLogin']))
{
$error = "";
$user = $_POST['email'];
$pass = $_POST['password'];

$result = $con->query("select * from


userAccounts where email='$user' AND
password='$pass'");
if($result->num_rows>0)
{
session_start();
$data = $result->fetch_assoc();
$_SESSION['userId']=$data['id'];
59
$_SESSION['user'] = $data;
header('location:index.php');
}
else
{
$error = "<div class='alert alert-
warning text-center rounded-0'>Username or
password wrong try again!</div>";
}
}

?>
</head>
<body style="background-size: 100%" class="bg-
gradient-seconday">
<nav class="navbar navbar-expand-lg navbar-dark
bg-dark fixed-top">
<a class="navbar-brand" href="#">
<img src="images/logo.png" style="object-
fit:cover;object-position:center center"
width="30" height="30" class="d-inline-block
align-top" alt="">
<!-- <i class="d-inline-block fa fa-
building fa-fw"></i> --><?php echo bankname; ?>
</a>
<button class="navbar-toggler" type="button"
data-toggle="collapse" data-
target="#navbarSupportedContent" aria-
controls="navbarSupportedContent" aria-
expanded="false" aria-label="Toggle
navigation">

60
<span class="navbar-toggler-icon"></span>
</button>

<div class="collapse navbar-collapse"


id="navbarSupportedContent">
<ul class="navbar-nav mr-auto">
<li class="nav-item ">
<a class="nav-link "
href="index.php">Home <span class="sr-
only">(current)</span></a>
</li>
<li class="nav-item "> <a class="nav-
link" href="accounts.php">Accounts</a></li>
<li class="nav-item "> <a class="nav-
link" href="statements.php">Account
Statements</a></li>
<li class="nav-item active"> <a
class="nav-link" href="transfer.php">Funds
Transfer</a></li>
<!-- <li class="nav-item "> <a
class="nav-link"
href="profile.php">Profile</a></li> -->

</ul>
<?php include 'sideButton.php'; ?>
</div>
</nav><br><br><br>
<div class="container">
<div class="card w-75 mx-auto">
<div class="card-header text-center">
Funds Transfer
61
</div>
<div class="card-body">
<form method="POST">
<div class="alert alert-success w-50
mx-auto">
<h5>New Transfer</h5>
<input type="text" name="otherNo"
class="form-control " placeholder="Enter
Receiver Account number" required>
<button type="submit" name="get"
class="btn btn-primary btn-bloc btn-sm my-
1">Get Account Info</button>
</div>
</form>
<?php if (isset($_POST['get']))
{
$array2 = $con->query("select * from
otheraccounts where accountNo =
'$_POST[otherNo]'");
$array3 = $con->query("select * from
userAccounts where accountNo =
'$_POST[otherNo]'");
{
if ($array2->num_rows > 0)
{ $row2 = $array2->fetch_assoc();
echo "<div class='alert alert-
success w-50 mx-auto'>
<form method='POST'>
Account No.

62
<input type='text'
value='$row2[accountNo]' name='otherNo'
class='form-control ' readonly required>
Account Holder Name.
<input type='text'
class='form-control' value='$row2[holderName]'
readonly required>
Account Holder Bank Name.
<input type='text'
class='form-control' value='$row2[bankName]'
readonly required>
Enter Amount for tranfer.
<input type='number'
name='amount' class='form-control' min='1'
max='$userData[balance]' required>
<button type='submit'
name='transfer' class='btn btn-primary btn-bloc
btn-sm my-1'>Tranfer</button>
</form>
</div>";
}elseif ($array3->num_rows > 0) {
$row2 = $array3->fetch_assoc();
echo "<div class='alert alert-
success w-50 mx-auto'>
<form method='POST'>
Account No.
<input type='text'
value='$row2[accountNo]' name='otherNo'
class='form-control ' readonly required>
Account Holder Name.

63
<input type='text'
class='form-control' value='$row2[name]'
readonly required>
Account Holder Bank Name.
<input type='text'
class='form-control' value='".bankname."'
readonly required>
Enter Amount for tranfer.
<input type='number'
name='amount' class='form-control' min='1'
max='$userData[balance]' required>
<button type='submit'
name='transferSelf' class='btn btn-primary btn-
bloc btn-sm my-1'>Tranfer</button>
</form>
</div>";
}
else
echo "<div class='alert alert-
success w-50 mx-auto'>Account No.
$_POST[otherNo] Does not exist</div>";
}
}
?>
<br>
<h5>Transfer History</h5>
<div id="list-group rounded-0">
<?php
if (isset($_POST['transferSelf']))
{
$amount = $_POST['amount'];

64
setBalance($amount,'debit',
$userData['accountNo']);
setBalance($amount,'credit',
$_POST['otherNo']);
makeTransaction('transfer',$amount,
$_POST['otherNo']);
echo "<script>alert('Transfer
Successfull');window.location.href='transfer.ph
p'</script>";
}
if (isset($_POST['transfer']))
{
$amount = $_POST['amount'];
setBalance($amount,'debit',
$userData['accountNo']);
makeTransaction('transfer',$amount,
$_POST['otherNo']);
echo "<script>alert('Transfer
Successfull');window.location.href='transfer.ph
p'</script>";
}
$array = $con->query("select * from
transaction where userId = '$userData[id]' AND
action = 'transfer' order by date desc");
if ($array ->num_rows > 0)
{
while ($row = $array->fetch_assoc())
{
if ($row['action'] == 'transfer')
{

65
echo "<div class='list-group-item
list-group-item-action bg-gradient-
info'>Transfer have been made for Rs.
$row[debit] from your account at $row[date] in
account no.$row[other]</div>";
}

}
}
else
echo "<div class='list-group-item list-
group-item-action text-muted'>You have made no
transfer yet.</div>";
?>
</div>
</div>
<div class="card-footer text-muted">
<?php echo bankname ?>
</div>
</div>

</div>
</body>
</html>

 STATEMENT FORM CODING

<?php
session_start();

66
if(!isset($_SESSION['userId'])){
header('location:login.php');}
?>
<!DOCTYPE html>
<html>
<head>
<title>Banking</title>
<?php require 'assets/autoloader.php'; ?>
<?php require 'assets/db.php'; ?>
<?php require 'assets/function.php'; ?>
<?php
$error = "";
if (isset($_POST['userLogin']))
{
$error = "";
$user = $_POST['email'];
$pass = $_POST['password'];

$result = $con->query("select * from


userAccounts where email='$user' AND
password='$pass'");
if($result->num_rows>0)
{
session_start();
$data = $result->fetch_assoc();
$_SESSION['userId']=$data['id'];
$_SESSION['user'] = $data;
header('location:index.php');
}
else
{

67
$error = "<div class='alert alert-
warning text-center rounded-0'>Username or
password wrong try again!</div>";
}
}

?>
</head>
<body style="background-size: 100%" class="bg-
gradient-seconday">
<nav class="navbar navbar-expand-lg navbar-dark
bg-dark fixed-top">
<a class="navbar-brand" href="#">
<img src="images/logo.png" style="object-
fit:cover;object-position:center center"
width="30" height="30" class="d-inline-block
align-top" alt="">
<!-- <i class="d-inline-block fa fa-
building fa-fw"></i> --><?php echo bankname; ?>
</a>
<button class="navbar-toggler" type="button"
data-toggle="collapse" data-
target="#navbarSupportedContent" aria-
controls="navbarSupportedContent" aria-
expanded="false" aria-label="Toggle
navigation">
<span class="navbar-toggler-icon"></span>
</button>

<div class="collapse navbar-collapse"


id="navbarSupportedContent">

68
<ul class="navbar-nav mr-auto">
<li class="nav-item ">
<a class="nav-link "
href="index.php">Home <span class="sr-
only">(current)</span></a>
</li>
<li class="nav-item "> <a class="nav-
link" href="accounts.php">Accounts</a></li>
<li class="nav-item "> <a class="nav-
link" href="statements.php">Account
Statements</a></li>
<li class="nav-item active"> <a
class="nav-link" href="transfer.php">Funds
Transfer</a></li>
<!-- <li class="nav-item "> <a
class="nav-link"
href="profile.php">Profile</a></li> -->

</ul>
<?php include 'sideButton.php'; ?>
</div>
</nav><br><br><br>
<div class="container">
<div class="card w-75 mx-auto">
<div class="card-header text-center">
Funds Transfer
</div>
<div class="card-body">
<form method="POST">
<div class="alert alert-success w-50
mx-auto">
69
<h5>New Transfer</h5>
<input type="text" name="otherNo"
class="form-control " placeholder="Enter
Receiver Account number" required>
<button type="submit" name="get"
class="btn btn-primary btn-bloc btn-sm my-
1">Get Account Info</button>
</div>
</form>
<?php if (isset($_POST['get']))
{
$array2 = $con->query("select * from
otheraccounts where accountNo =
'$_POST[otherNo]'");
$array3 = $con->query("select * from
userAccounts where accountNo =
'$_POST[otherNo]'");
{
if ($array2->num_rows > 0)
{ $row2 = $array2->fetch_assoc();
echo "<div class='alert alert-
success w-50 mx-auto'>
<form method='POST'>
Account No.
<input type='text'
value='$row2[accountNo]' name='otherNo'
class='form-control ' readonly required>
Account Holder Name.
<input type='text'
class='form-control' value='$row2[holderName]'
readonly required>

70
Account Holder Bank Name.
<input type='text'
class='form-control' value='$row2[bankName]'
readonly required>
Enter Amount for tranfer.
<input type='number'
name='amount' class='form-control' min='1'
max='$userData[balance]' required>
<button type='submit'
name='transfer' class='btn btn-primary btn-bloc
btn-sm my-1'>Tranfer</button>
</form>
</div>";
}elseif ($array3->num_rows > 0) {
$row2 = $array3->fetch_assoc();
echo "<div class='alert alert-
success w-50 mx-auto'>
<form method='POST'>
Account No.
<input type='text'
value='$row2[accountNo]' name='otherNo'
class='form-control ' readonly required>
Account Holder Name.
<input type='text'
class='form-control' value='$row2[name]'
readonly required>
Account Holder Bank Name.
<input type='text'
class='form-control' value='".bankname."'
readonly required>
Enter Amount for tranfer.

71
<input type='number'
name='amount' class='form-control' min='1'
max='$userData[balance]' required>
<button type='submit'
name='transferSelf' class='btn btn-primary btn-
bloc btn-sm my-1'>Tranfer</button>
</form>
</div>";
}
else
echo "<div class='alert alert-
success w-50 mx-auto'>Account No.
$_POST[otherNo] Does not exist</div>";
}
}
?>
<br>
<h5>Transfer History</h5>
<div id="list-group rounded-0">
<?php
if (isset($_POST['transferSelf']))
{
$amount = $_POST['amount'];
setBalance($amount,'debit',
$userData['accountNo']);
setBalance($amount,'credit',
$_POST['otherNo']);
makeTransaction('transfer',$amount,
$_POST['otherNo']);

72
echo "<script>alert('Transfer
Successfull');window.location.href='transfer.ph
p'</script>";
}
if (isset($_POST['transfer']))
{
$amount = $_POST['amount'];
setBalance($amount,'debit',
$userData['accountNo']);
makeTransaction('transfer',$amount,
$_POST['otherNo']);
echo "<script>alert('Transfer
Successfull');window.location.href='transfer.ph
p'</script>";
}
$array = $con->query("select * from
transaction where userId = '$userData[id]' AND
action = 'transfer' order by date desc");
if ($array ->num_rows > 0)
{
while ($row = $array->fetch_assoc())
{
if ($row['action'] == 'transfer')
{
echo "<div class='list-group-item
list-group-item-action bg-gradient-
info'>Transfer have been made for Rs.
$row[debit] from your account at $row[date] in
account no.$row[other]</div>";
}

73
}
}
else
echo "<div class='list-group-item list-
group-item-action text-muted'>You have made no
transfer yet.</div>";
?>
</div>
</div>
<div class="card-footer text-muted">
<?php echo bankname ?>
</div>
</div>

</div>
</body>
</html>

CHAPTER-12

TESTING AND DEBUGGING

INTRODUCTION:-

The implementation phase of software development is concerned with translating design

specification into source code. The preliminary goal of implementation is to write source

74
code and internal documentation so that conformance of the code to its specifications can

be easily verified, and so that debugging, testing and modifications are eased. This goal

can be achieved by making the source code as clear and straightforword as possible.

Simplicity, clarity and elegance are the hallmark of good programs, obscurity, cleverness,

and complexity are indications of inadequate design and misdirected thinking.

Source code clarity is enhanced by structured coding techniques, by good coding style,

by, appropriate supporting documents, by good internal comments, and by feature

provided in modern programming languages.

The implementation team should be provided with a well-defined set of software

requirement, an architectural design specification, and a detailed design description. Each

team member must understand the objectives of implementation.

TERMS IN TESTING FUNDAMENTAL

1. Error

The term error is used in two ways. It refers to the difference between the actual output of

software and the correct output, in this interpretation, error is essential a measure of the

difference between actual and ideal. Error is also to used to refer to human action that

result in software containing a defect or fault.

2. Fault

75
Fault is a condition that causes to fail in performing its required function. A fault is a

basic reason for software malfunction and is synonymous with the commonly used term

Bug.

3. Failure

Failure is the inability of a system or component to perform a required function according

to its specifications. A software failure occurs if the behavior of the software is the

different from the specified behavior. Failure may be caused due to functional or

performance reasons.

a. Unit Testing

The term unit testing comprises the sets of tests performed by an individual programmer

prior to integration of the unit into a larger system.

A program unit is usually small enough that the programmer who developed it can test it

in great detail, and certainly in greater detail than will be possible when the unit is

integrated into an evolving software product. In the unit testing the programs are tested

separately, independent of each other. Since the check is done at the program level, it is

also called program teasing.

b. Module Testing

A module and encapsulates related component. So can be tested without other system

module.

c. Subsystem Testing

76
Subsystem testing may be independently design and implemented common problems are

sub-system interface mistake in this checking we concentrate on it.

There are four categories of tests that a programmer will typically perform on a program

unit.

1) Functional test

2) Performance test

3) Stress test

4) Structure test

1) Functional Test

Functional test cases involve exercising the code with Nominal input values for which

expected results are known; as well as boundary values (minimum values, maximum

values and values on and just outside the functional boundaries) and special values.

2) Performance Test

Performance testing determines the amount of execution time spent in various parts of the

unit, program throughput, response time, and device utilization by the program unit. A

certain amount of avoid expending too much effort on fine-tuning of a program unit that

contributes little to the over all performance of the entire system. Performance testing is

most productive at the subsystem and system levels.

3) Stress Test

Stress test are those designed to intentionally break the unit. A great deal can be learned

about the strengths and limitations of a program by examining the manner in which a

program unit breaks.

4) Structure Test

77
Structure tests are concerned with exercising the internal logic of a program and

traversing particular execution paths. Some authors refer collectively to functional

performance and stress testing as “black box” testing. While structure testing is referred

to as “white box” or “glass box” testing. The major activities in structural testing are

deciding which path to exercise, deriving test date to exercise those paths, determining

the test coverage criterion to be used, executing the test, and measuring the test coverage

achieved when the test cases are exercised.

DEBUGGING
Defect testing is intended to find areas where the program does not confirm to its

specifications. Tests are designed to reveal the presence of defect in the system.When

defect have been found in the program. There must be discovered and removed. This is

called “Debugging”.

CHAPTER-13

FUTURE SCOPE OF THE PROJECT

This project can be handled in future by doing various modifications like: -

 We can go further for Online Banking.

 We can establish and start various Branches and available help centers for Account

Holder’s Queries.

78
 We can also deal through internet by creating web pages and a banking website for

internet dealing.

 To attract Account Holder’s we can offer various offers during festivals months.

 We can also deal in various types of Banking Transactions.

 To have more and more customer satisfaction we will emphasize more and more on

our dealings.

CHAPTER-14

WEBSITE REFERENCES:

1. https://www.tutorialspoints.com/index.htm
2. https://www.javatpoint.com
3. https://www.wbankmanagementsystem.com
4. https://archive.org/stream/
fundamentalsOfDatabaseSystemselmasrinavathe#
5. https://en.wikipedia.org/wiki/online_banking

79
6. http://www.slideshare.net

80

You might also like