Banking Management System
Banking Management System
Banking Management System
COM
Banking Management
System
Software Engineering Project
BANKING MANAGEMENT
SYSTEM
omm
cco
Software Engineering Project Report
a.
iy
un
slsD
ACKNOWLEDGEMENT
omm
On the successful completion of our project BANKING MANAGEMENT
SYSTEM, we would like to express our sincere gratitude to everyone who
helped us in the completion of the project.
cco
We are sincerely thankful to our project guide TutorialsDuniya for her
interest, guidance and suggestions throughout the course of the project. We
a.
feel honoured and privileged to work under her. She shared his vast pool of
knowledge with us that helped us steer through all the difficulties with ease.
iy
This project would not have been possible without her guidance.
un
slsD
aial
orri
utot
TTu
3
CERTIFICATE
omm
This is to certify that the project entitled “Banking Management
cco
System” submitted by Rohit Rana has been carried out under our
supervision. The project has been submitted as per the requirements in
a.
the fourth semester of B.Sc. Computer Science.
iy
un
Teacher-in-charge
TutorialsDuniya.Com
slsD
aial
orri
utot
TTu
4
Table of Contents
1 Introduction ..................................................................................................................................... 8
omm
1.1 Purpose.................................................................................................................................... 8
1.2 Scope ....................................................................................................................................... 8
1.3 Definitions............................................................................................................................... 8
cco
1.4 Overview ................................................................................................................................. 9
1.5 Process Model.........................................................................................................................9
a.
2 Software Requirement Specification ............................................................................................ 10
2.1 Overall Description ............................................................................................................... 10
2.1.1
2.1.2 iy Product perspective ....................................................................................................... 10
Product functions .......................................................................................................... 11
un
2.1.3 User characteristics ....................................................................................................... 11
2.1.4 General Constraints ....................................................................................................... 12
2.1.5 Assumptions and Dependencies.................................................................................... 12
slsD
5 Testing........................................................................................................................................... 34
omm
6 References………………………...………………………………………………………………35
cco
a.
iy
un
slsD
aial
orri
utot
TTu
TutorialsDuniya.com
Problem Statement
A bank encompasses several branches and each branch further has many customers who hold
one or more accounts in that branch. Bank offers five types of deposit accounts namely
Savings, Current, fixed deposit, joint, minor. Any person who holds an account has either of
these accounts. Any person if wants to become a new customer to the bank also has to choose
omm
among these types. New customer to the bank can either open an individual account, a joint
account or a minor account (in case the applicant is under 18 years of age) as per his/her
wish.
cco
Every Savings Bank Account whether minor/joint or individual has very basic features of
cash deposit and cash withdrawal. There is no restriction on the number and the amount of
deposits, however a mandatory uniquely identified PAN number is required for doing cash
a.
transactions exceeding Rs.49,999. The bank pays an interest annually on the savings lying in
the savings bank account. It also provides the facility of fund transfer through which the
iy
money from one customer’s account is transferred to other account. The money transfer can
be done within the same bank or with the account holder of any different bank however,
transferring money to another bank’s account holder charges some minor penalty.
un
Current Bank Account is another type of bank account having its own distinct features that
are managed differently. It is mainly opened by businessmen to carry out their business deals
promptly and smoothly. No restrictions are made on the number and the amount of
slsD
withdrawals as long as the account holder has funds in his/her account. Bank pays no interest
on the funds kept in the current account.
In fixed deposit bank accounts, whole deposit is made at once and it lasts for 15 days to 10
years with high rates of interests. No withdrawals are allowed however, the bank allows the
aial
customer to close the account before maturity in the case of emergency but with a certain
deduction in rate of interest. The fixed deposit can be renewed after its maturity.
orri
All these bank details and records can’t be managed manually. Therefore, a need for software
is realized that can manage all the details at both customer and bank authorities’ side. The
utot
main aim of the software is to automate all the functioning of bank both at the customer's and
bank authorities’ side. Thus, Banking Management System is introduced to resolve this issue.
Two views will be managed having their own different functioning; one for the customer and
TTu
Among the bank authorities, different persons will manage data and records for different
bank related works with each person having a different view of the bank database. For each
work, the bank has different manager who has access only to the details that are related to his
section of work. The bank manager has all the details and has access to all the data and
records managed by different section managers.
7
For every cash deposit and cash withdrawal made by the customer holding savings bank
account, the bank authority respective to this section will update the bank database and the
customer’s account database by entering all the transaction details(customer name, account
number, phone number, deposited/withdrawal amount and PAN number in case of
transaction is of more than Rs. 49,999 ). All these type of bank transactions details are
updated in bank database both for the customer and bank authorities and can be found in the
“Account Details” section of the database for that particular account. All the details related to
the transaction are automatically updated to the bank’s database with the help of the account
omm
number.
For fixed deposit account, the bank offers a rate of interest on every fixed deposit made by
the customer and that rate of interest varies accordingly with the time period for which FD is
cco
made. If the fixed deposit account is opened from the main account balance, the amount is
deducted from the bank balance and new fixed deposit account is opened for every fixed
deposit made by the customer. The details of amount deduction is updated in “account
a.
details” section of database of particular account, and the FD details are updated in “FIXED
DEPOSIT” section of bank database by the bank authority seeking this section by giving all
iy
the details of customer and fixed deposit request made by that customer.
Also the software will enable the bank authorities to update/modify customer details or
un
information relates to customer account whenever any customer requests for the same. The
customer has to fill KYC form of the bank along with all the ID proofs and other related
documents to provide the bank with all his details if he wants to make modifications, bank
authorities will then verify the documents and update the desirable changes to the
slsD
1 Introduction
1.1 Purpose
The main purpose of this software is to simplify the tedious task of bankingby providing this
omm
service in a user friendly environment. It also aims at increasing the efficiency and reducing
the drawbacks of existing manual banking process, thus making it more convenient for the
customers to do banking as when they require.
cco
This project is supported by a well designed DBMS in which customers account information
is integrated together. A friendly UI is also provided so that the requests made by the user
give correct results by accessing the information stored in the database.
a.
1.2 Scope
iy
un
This software allows the users to apply for new account and to update the previous account. It
gives them the facility to deposit money in the account or withdrawl money from the
account.It also give the facility to apply for loan.
slsD
1.3 Definitions
aial
UI - User Interface
orri
1.4 Overview
The rest of the document deals with all the main features of this software. It not only
describes various functions but also gives details about how these functions are related to
each other. Apart from the data flow diagrams, the document also contains cost estimates for
developing this system. Various risks associated with the system have also been mentioned
omm
along with the ways to mitigate them.
The timeline chart describing how the entire project was scheduled has been attached
followed by the architectural design of the software. At the end a pseudo code for the
customer management module” has been provided. A flow graph has been generated
cco
corresponding to this module, cyclomatic complexity has been computed and test cases that
were used to test the system have also been mentioned.
a.
1.5 Process Model
iy
We choose Waterfall model because of the following reasons:
un
It is relatively simple and easier to understand approach as compared to other
models.
slsD
In this model we have to complete one stage before proceeding to next. So ,we
aial
customer during the process. So this model does not create problem.
utot
The requirements are fixed and work can proceed to completion in a linear
TTu
manner.
2.1.1Product perspective
omm
The manual banking system suffers from the following drawbacks:-
The existing system involves a lot of paper work and manual calculation. This has
lead to inconsistency and inaccuracy in the maintenance of data.
cco
The data, which is stored on the paper only, may be lost, stolen or destroyed due to
natural calamity like fire and water.
a.
The existing system is sluggish and time-consuming causing inconvenience to
customers and the banking staff.
iy
Since the number of customers have drastically increased therefore maintaining and
retrieving detailed record of customer is extremely difficult.
un
A bank has many branches in the country, an absence of a link between these
branches lead to lack of coordination and communication.
slsD
Hence the banking management system is proposed with the following Product perspective:
The computerization of the banking system will reduce a lot of paperwork and
aial
The machine performs all calculations. Hence chances of error are nil.
orri
The customer, balance details can easily be retrieved and any required addition,
deletion or updation can be performed.
utot
The “BMS” software is an independent web based application. There are various user
interfaces related with this software. These interfaces help the user to interact with the
software and provide the necessary information for online ticket reservation.
The entire functionality of this software can be subdivided into fields/modules. The names of
omm
the fields involved in the banking management system are
1. CUSTOMER MANAGEMENT
2. LOAN SYSTEM
cco
3. TRANSACTION SYSTEM
a.
•MODULE 1: CUSTOMER MANAGEMENT
iy
Using this module, the user first provide his details like his name, father name, address,
phone no., email etc. and can open a new account or can update an existing account.
un
•MODULE 2: LOAN SYSTEM
This module is for customer to apply for loan by providing required documents and details
like time period of loan, amount of loan and get the detailed description of EMIs.
slsD
This module allows the customers to deposit and withdrawl money from their account using
some private info like signature, OTP.
aial
orri
Various interfaces involved in BMS have been designed and implemented using C++. All the
information about customer is maintained in C++ files which act as databases for the
software.
utot
TTu
The user of the system should be comfortable working with English language.
The database of the software is not accessible to every user of the software. Making
changes in the database requires permissions that have been given to certain specific
individuals.
omm
2.1.5 Assumptions and Dependencies
The BMS is assumed to be compatible with the computer systems on which it has
cco
been loaded for customer use.
a.
iy
un
slsD
aial
orri
utot
TTu
13
omm
cco
a.
iy
un
slsD
aial
orri
utot
TTu
TTu
utot
2.2.2 DFD Level 1
orri
aial
slsD
un
iy
a.
cco
14
omm
15
omm
cco
a.
iy
un
slsD
aial
orri
utot
TTu
16
omm
cco
a.
iy
un
slsD
aial
orri
utot
TTu
17
omm
cco
a.
iy
un
slsD
aial
orri
utot
TTu
TutorialsDuniya.com
omm
and database management systems (DBMS). A document describing a database or
collection of databases; an integral component of a database management systems
(DBMS) that is required to determine its structure; and a piece of middleware that
cco
extends or supplants the native data dictionary of a database management
systems(DBMS).
a.
Our banking system dictionary can be of the following type.
iy
Data Description
un
Documents Account documents | Loan documents
3 Project Management
omm
S.NO QUESTIONS GRADE
VALUE
cco
2 Are specialized data communications required to transfer information 3
to or from the application?
a.
3 Are there distributed processing functions? 3
5 iy
Is performance critical?
5
un
environment?
7 Does the on-line data entry require the input transaction to be built over 5
slsD
14 Is the application design to facilitate change and for ease of use by the 5
user?
1. EXTERNAL 4 4 16
INPUT
omm
2. EXTERNAL 4 5 20
OUTPUT
cco
3. EXTERNAL 1 4 4
a.
INQUIRIES
4. NUMBER OF
LOGICAL
FILES iy 1 10 10
un
5. EXTERNAL 0 7 0
INTERFACE
FILES
slsD
TOTAL 50
aial
orri
= 56.50
21
3.1.2 Efforts
omm
Total efforts = FP (calculated) / average productivity
= 56.50 /6.5
cco
Total cost for the project = Total efforts * labour rate
= 8.69 * 8000
a.
= $ 69,520
iy
un
slsD
aial
orri
utot
TTu
22
omm
Quality not DE 60% 3 Take up steps to maintain
maintained quality at each stage of
development.
cco
Size estimates may be PS 50% 2 Past experiences must be
low considered and a similar task
a.
on a smaller scale may be
attempted
Requirements not
properly documented
iy CU 50% 1 Regular interaction with the
customer and getting the
un
and understood requirements verified before
finalising them
slsD
1-Catastrophic
2-Critical
3-Marginal
4-Negligible
omm
cco
PD-Process Definition
a.
DE-Development Environment
CU-Customer Characteristics
BU-Business Impact
iy
un
PS-Product Size
slsD
aial
orri
utot
TTu
24
3.3 Timeline
Wk1 Wk 2 Wk 3 Wk 4 Wk 5 Wk 6 Wk 7 Wk 8 Wk 9 Wk 10 Wk 11 Wk 12
omm
1. Identify Customer
Requirements
Meet with customers
Identify needs and
cco
constraints
Establish Problem
Statement
a.
MILESTONE: Problem
statement defined
2. Define function
behaviour
Identify modules
iy
un
Define DFDs
Develop ERDs
MILESTONE: System
Functions defined
slsD
3. Estimation
Function Point Estimation
Efforts Calculation
MILESTONE: Cost Estimated
aial
4. Design Development
Formulate System
Architecture
orri
Generate Code
MILESTONE: System Design
developed
utot
5. Testing
Develop test cases
TTu
Calculate cyclomatic
complexity
Develop flow graph
MILESTONE: Testing
Complete
25
4 Design Engineering
omm
cco
a.
iy
un
slsD
aial
orri
utot
TTu
26
omm
LAST NAME VARCHAR(15)
VILLAGE VARCHAR(15)
cco
STATE VARCHAR(15)
PIN VARCHAR(10)
a.
PHONE NUMBER VARCHAR(10)
INITIAL AMOUNT
iy INT
un
UPDATE ACCOUNT DETAILS
slsD
VILLAGE VARCHAR(15)
orri
STATE VARCHAR(15)
utot
PIN VARCHAR(10)
LOAN DETAILS
TYPE VARCHAR(30)
AMOUNT INT
DURATION INT
omm
DEPOSIT RECIEPT
cco
ACCOUNT NUMBER INT
AMOUNT INT
a.
DATE DATE
iy
un
slsD
aial
orri
utot
TTu
TutorialsDuniya.com
PSEUDOCODE
omm
class customer
{ public:
cco
intaccount_no;
charfirstname[15];
a.
charmiddlename[15];
charlastname[15];
charhouseno[4]; iy
un
char village[15]; 1
char state[15];
slsD
char pin[10];
char phone[10];
}
aial
char ch=’y’;
orri
customer customers[100];
utot
do2
{ clrscr( );
TTu
cout<<”\nEnter choice”;
cin>>choice;
29
switch(choice) 4
{ case 1 : start: 5
randomize( );
acc = random(1000000); 6
omm
for(int j=0; j<100; j++)
if(acc == customers[j].account_no) 8
goto start; 9
cco
customers[i].account_no = acc;
a.
cout<< ”\nEnter details: “;
iy
cin.getline(customers[i].firstname,15);
un
cout<<”\nMiddle Name(max 15 characters) : “;
cin.getline(customers[i].middlename,15);
cin.getline(customers[i].lastname,15);
cout<<”\nHouse Number : “;
aial
cin.getline(customers[i].houseno,4); 10
cout<<”\nVillage(max 15 characters) : “;
orri
cin.getline(customers[i].village,15);
cout<<”\nState(max 15 characters) : “;
utot
cin.getline(customers[i].state,15);
TTu
cout<<”\nPIN : “;
cin.getline(customers[i].pin,10);
cout<<”\nPhone number : “;
cin.getline(customers[i].phone,10);
k=i;
30
i++;
break;
cin>>acc; 11
omm
if(acc == customers[j].account_no) 13
break;
cco
cout<<”\nYour previous details are \n”;
Cout<<”\nAccountnumber : “<<customers[k].account_no;
a.
Cout<<”\nName : “<<customers[k].firstname<<” “<<customers[k].middlename<<”
“<<customers[k].lastname;
iy
Cout<<”\nAddress : “<<customers[k].houseno<<” , “<<customers[k].village<<” ,
“customers[k].state<<” –
un
“<<customers[k].pin;
Cout<<”\nPhonenumber : “<<customers[k].phone
slsD
cin.getline(customers[i].firstname,15);
orri
cin.getline(customers[i].middlename,15);
utot
cin.getline(customers[i].lastname,15);
TTu
cout<<”\nHouse Number : “;
cin.getline(customers[i].houseno,4); 14
cout<<”\nVillage(max 15 characters) : “;
cin.getline(customers[i].village,15);
cout<<”\nState(max 15 characters) : “;
31
cin.getline(customers[i].state,15);
cout<<”\nPIN : “;
cin.getline(customers[i].pin,10);
cout<<”\nPhone number : “;
cin.getline(customers[i].phone,10);
omm
k=j;
break;
cco
}
Clrscr( )
a.
Cout<<”\nYour present details in bank are\n”;
Cout<<”\nAccountnumber : “<<customers[k].account_no;
iy
Cout<<”\nName : “<<customers[k].firstname<<” “<<customers[k].middlename<<”
“<<customers[k].lastname;
un
Cout<<”\nAddress : “<<customers[k].houseno<<” , “<<customers[k].village<<” ,
“customers[k].state<<” – “<<customers[k].pin; 15
Cout<<”\nPhonenumber : “<<customers[k].phone;
slsD
Cin>>ch;
orri
}while(ch==’y’)
return; 16
utot
TTu
TTu
utot 4.4 FLOW GRAPH
orri
aial
slsD
un
iy
a.
cco
32
omm
33
P=7
E = 22
N = 16
R=8
omm
WHERE P = NO OF PREDICATE NODES
E = NO. OF EDGES
N = NO. OF NODES
cco
R = NO. OF REGIONS
a.
= 22-16+2
OR
=8
iy
un
CYCLOMATIC COMPLEXITY = P+1
= 7+1
slsD
=8
OR
CYCLOMATIC COMPLEXITY = R
aial
=8
INDEPENDENT PATHS
orri
Path 1 – 1,2,3,4,5,6,7,10,15,16
utot
Path 2 – 1,2,3,4,5,6,7,8,9,10,15,16
Path 3 – 1,2,3,4,5,6,7,8,7,10,15,16
TTu
Path 4 – 1,2,3,4,5,6,7,8,9,5,6,7,10,15,16
Path 5 – 1,2,3,4,11,12,14,15,16
Path 6 – 1,2,3,4,11,12,13,14,15,16
Path 7 – 1,2,3,4,11,12,13,12,14,15,16
Path 8 – 1,2,3,4,11,12,14,15,2,3,4,11,12,14,15,16
34
5 Testing
TEST CASES
S.NO Test Description INPUT Expected Remar
Case Error ks
Suit
omm
Name Address Phone Account
No.
1 Open Checks the Mayank 76 9575364500 …. …. PASS
details Mangkapuri ,
provided by Delhi-110058
cco
2 Open the customer 97 Karnal, 6698753612 …. Name Field FAIL
while opening Punjab-11542 can not be
a new account. empty.
3 Open Nitin 100 7619873361 …. PIN not FAIL
a.
Kapashera, provided in
Delhi address
field.
4 Open
account. exists.
8 Update Raman Rangpuri 3654895 Phone no. FAIL
Sharma Delhi 110041 field can not
be empty.
orri
6 References
https://www.tutorialsduniya.com
https://www.tutorialsduniya.com
Software Engineering: A Practitioner’s Approach by Roger
omm
S.Pressman
An Integrated Approach to Software Engineering by P.Jalote
en.wikipedia.org
cco
Introduction to Software Engineering by K.K Aggarwal and
Yogesh Singh.
a.
P.Jalote, an Integrated Approach to Software Engineering, 3rd
Edition.
iy
un
slsD
aial
orri
utot
TTu
TutorialsDuniya.com