Bank Management System
Bank Management System
PROBLEM STATEMENT:
A Banking concern by the name ABC Bank wants
to computerize its Banking Services. Bank Management is
generally a very complicated task. To reduce the complexity,
it wants to computerize its Banking services and for this
purpose it wants software, which will handle all its
transactions.
The software created must get the overall
information from the user. It should then give the user an
option as to whether the user wants to make a withdrawal or
a deposition.
As the bank for which the software is to be created
provides loan and locker facilities, the various activities of
handled by the bank is provision of loan, handling the locker
facility and handling the regular banking services. The
software created must allow the user to handle each of the
service provided by the bank.
The software should manage the banks account at
the end of the year and finally if should generate the yearly
financial report of the company.
INTRODUCTION:
This document is to provide the software
requirement specification of the computerized solutions for
certain banking services. It keeps track of the account
holders details. It calculates the interest rate for fixed
deposit account holders.
1.1. Purpose:
The main purpose of this software is to enable the
easy maintenance of account holders details, their
transaction etc.
1.2. Scope:
The software has the ability to keep a track on the
account holders details.
1.2.1.
Benefits:
Saves time.
Reduce errors.
Customer friendly.
1.2.2.
Objectives:
Provides fully automated banking services.
Efficient functioning of the bank.
1.3.
2. OVERALL DESCRIPTION:
2.1. PRODUCT PERSPECTIVE:
The Bank Management System is an
application that remains to be independent. The system
interfaces, user interfaces and the hardware interfaces
related with this software is defined below:
2.1.1.
System Interfaces:
The client system must be able to share the
data available in the database through the network.
2.1.2.
User Interfaces:
The screen formats and the menu structure
should be in such a way that the user should find it easy to
use the product. The product should be user-friendly. The
functionality provided by the system like displaying error
messages should adapt itself to the different users of the
product.
2.1.3.
Hardware Interfaces:
UPS (Uninterrupted Power Supply) for backup power
during power failure.
Client systems are connected to the LAN.
Since a LAN is to be used for the network wherein each
node is connected to every other node.
2.1.4.
Software Interfaces:
NAME
MS-ACCESS
OS-WINDOWS
VERSION
2000 or any other
higher version
2000 or any other
higher version
SOURCE
Microsoft
Corporation
Microsoft
Corporation
2.1.5.
Communication Interfaces:
There is a LAN user for communication
among the different client systems to be used.
2.1.6.
Memory Constraints:
The system should require a disk space of 20
GB and 256MB RAM of the service systems and 5 GB and
128 RAM for the client system.
2.1.7.
Operations:
The user can be a staff or an administrative
manager. The user has to use a login to enter the software
and then he/she can check the details of the account
holders. There must be a backup data, which will enable
easy recovery from failures, which may catastrophic at times
by clicking on the menu.
2.1.8.
3. SPECIFIC REQUIREMENTS:
3.1. EXTERNAL INTERFACE REQUIREMENTS:
3.1.1.
User Interfaces:
The interface used in GUI must be easy
to understand. This interface serves as a bridge between
the user and the software. It also makes the user
interaction with the system easy.
The user interface includes:
Screen formats / Organizations:
The introductory screen will be the first to be
displayed which allows the user to log in using their id and
password.
Windows formats / Organizations:
When the user chooses a particular topic
then the information pertaining to that topic will be
displayed in a new window, which will allow multiple
windows to be available on the screen, and the user can
switch between them.
Data Format:
The
alphanumeric.
data
entered
by
the
user
will
be
End Message:
When there are some exceptions, error
messages will be displayed promptly by the user to reenter the details when an event has taken place
successfully.
3.1.2.
Hardware interfaces:
The system must basically support certain
hardware and these must be an interface between them.
NAME OF THE
ITEM
Keyboard
Printer
3.1.3.
3.1.4.
SOURCE OF
DESCRIPTION OF
INPUT /
PURPOSE
DESCRIPTION OF
OUTPUT
To get the details Source of input
of from the user.
To print the details Destination
of
of
the
account output
holder.
Software interfaces:
Not applicable.
Communication interfaces:
Every client system connected through LAN
establishes a communication only with server and not with
any client system. A LAN of 10 Mbps is used.
Introduction:
The user must be provided with the text and
entry box within 10 seconds.
3.2.1.3.1.2.
Inputs:
The user has to enter the member id, name
of the account holder, address, phone number, nature of
account (whether savings or fixed), document produced for
address proof, registration number of the address proof. It
also asks if the user wants to add new members.
3.2.1.3.1.3.
Processing:
Recognizing the correct input as given by the
user.
3.2.1.3.1.4.
Outputs:
The page corresponding to the chosen
feature will be displayed.
3.2.2.FEATURE 2:CREDIT/DEBIT (Making transactions):
This feature is to keep a track on the
transaction made by the account holder.
3.2.2.1. Purpose:
The purpose of this feature is to keep on the
transactions made by the account holder. If the A/C holder
credits some amount, the amount gets added up to his
account. If he withdraws some amount from his account,
then that amount is subtracted from his account. Its
compulsory that the account holder must maintain a
minimum balance of Rs. 500 in his account.
3.2.2.2. Stimulus / Response Sequence:
Once the user chooses that option, the page
corresponding to that is to be displayed.
3.2.2.3. Associated Functionality Requirements:
3.2.2.3.1. Functionality Requirement: Transactions:
Once the user chooses the respective feature
in the page, they should be taken to the appropriate section
establishing them to view the corresponding page.
3.2.2.3.1.1. Introduction:
The user has to enter the date on which the
A/C holder is making the transaction.
3.2.2.3.1.2. Inputs:
The user has to enter member id of the A/c
holder and the date on which the transaction is made. The
3.2.3.3.1.3. Processing:
Recognizing the correct input as given by the
user and to calculate the interest payable by the bank to the
account holder.
3.2.3.3.1.4. Outputs:
The output is generated in such way that the
amount is added up to account of the respective A/c holder.
3.2.4. FEATURE 4:-DISPLAYING A/c HOLDERS DETAILS:
3.2.4.1. Purpose:
The purpose is to enable the user to view the details of
the respective account holders details as entered by the
user.
3.2.4.2. Stimulus / Response:
When the user requests to view the details of a
particular account holder, a screen prompts the user asking
whether he want s o view the member details or to view the
transaction details.
3.2.4.3. Associated Functional Requirement:
3.2.4.3.1. Functional Requirements:-Displaying A/c
holders details:
If invalid membership number has been entered, the
system must handle the error and ask the user to enter the
proper input.
3.2.4.3.1.1. Introduction:
The user must be provided with the requested
information within 10 seconds.
3.2.4.3.1.2. Inputs:
The user must enter the correct option whether
he wants to view the member details or the transaction
details.
3.2.4.3.1.3. Processing:
Recognizing the correct option chosen by the user.
3.2.4.3.1.4. Output:
Displays the output with corresponding to the
option chosen by the user.
3.3. PERFORMANCE REQUIREMENTS:
A large database should be present as large
data will be stored.
3.4. DESIGN CONSTRAINTS:
Requires 256 MB onboard memory.
Based
completely
on
windows
functionality
performance.
The software must be valid and accessible only by
authorized users.
3.5. SOFTWARE SYSTEM ATTRIBUTES:
3.5.1.
Reliability:
The factors needed to establish the software
expected reliability are:
The user inputs should be valid and within the given
range
Normal termination of the program
3.5.2.
Availability:
The factors that generate the software
availability include proper termination and correct input
details. Also the resource used for the project development
is Microsoft certified which speaks of the high quality
standards.
3.5.3.
Security:
It must ensure that the access is provided to authorized
users only through password.
The user of the service will provide network security.
3.5.4.
Maintainability:
Implementing the concept of modularity,
which in turn reduces the complexity involved in maintaining
it, will develop the software.
3.5.5.
Portability:
The application is very adaptable; it can be used in
different computer systems with different operating systems and folders.
3.6. LOGICAL DATA BASE REQUIREMENTS:
The system requires the use of text file to maintain
the account details about the customer which includes the
basic details of the customer and the account details.
4. INDEX:
NIL
5. APPENDICES:
NIL
Bank
management
system
Credit/debit
Interest
calculation
Display
LEVEL 1(a):
Bank
staff
Create
new
memb
er
Accept
details
Write in
the file
Member
database
LEVEL 1(b):
Membe
r
display
Bank staff
Member
database
Display
Transaction
display
Transaction
database
LEVEL 2(a):
checkid
Bank user
Credit/debit
Calculate
Transaction
database
Interest
calculation
Calculate
Transaction
database
LEVEL 2(c):
Read details from
the file
Membe
r
display
Bank user
Member
database
Display
the details
LEVEL 2(d):
Read details from
the file
Bank user
Transac
tion
display
Member
database
Display
the details
F2
F3
Performance
F4
Heavily used
Configuration
F5
Transaction rate
F6
F7
F8
On line update
F9
Complex processing
F10 Reusability
Value
3
0
4
0
3
2
Type of components
External inputs
External outputs
External inquiries
External logical files
External interface files
4*3
2*4
2*3
2*7
2*5
Total
Formula
FP = count total*[0.65+ (0.01*Fi)]
= 50*[0.65+ (0.01*27)]
= 46
Function point count for bank management = 46
Lines of code=46*29=1334=1.3KLOC
Code developed in C++
2
2
0
3
27
Value
12
8
6
14
10
50
PROGRAM
#include<iostream.h>
#include<process.h>
#include<string.h>
#include<conio.h>
#include<stdio.h>
#include<fstream.h>
fstream h("Z:\\tran.doc",ios::out,ios::in);
struct member
{
int
char
char
int
}a,temp;
struct tran
{
int
char
char
float
int
float
float
tran()
{
mid,idno;
name[15],address[50];
sf,id;
phone;
mid,date;
name[15];
cd;
bal;
nof,r;
balb;
amount;
balb=500;
}
}b,t;
void line()
{
cout<<endl;
for(int i=0;i<80;i++)
cout<<"-";
cout<<endl;
}
{
strcpy(b.name,a.name);
if(a.sf=='s')
return 1;
else
return 0;
}
}
}
g.close();
}
void credit()
{
int n=h.tellg();
h.seekg(n,ios::beg);
char ch;
do
{
line();
cout<<"\n\tEnter the following details:";
cout<<"\n\t\tMember id:";
cin>>b.mid;
if(check(b.mid)==0)
{
cout<<"\n\tError:It is a fixed deposit account";
return;
}
cout<<"\n\tDate:";
cin>>b.date;
cout<<"\n\tcredit(c)/Debit(d)";
cin>>b.cd;
cout<<"\n\tAmount:";
cin>>b.amount;
if(b.cd=='c')
b.bal=b.balb+b.amount;
else
b.bal=b.balb-b.amount;
h.write((char*)&b,sizeof(b));
cout<<"\n\tDo you want to add more transaction(y/n):";
cin>>ch;
b.balb=b.bal;
}while(ch=='y');
b.balb=500;
b.bal=0;
b.amount=0;
}
void interest()
{
int n=h.tellg();
h.seekg(n,ios::beg);
line();
cout<<"\n\tEnter the following details:";
cout<<"\n\t\tMember id:";
cin>>b.mid;
if(check(b.mid)==1)
{
cout<<"\n\tError:It is a savings deposit account";
return;
}
cout<<"\n\tDate:";
cin>>b.date;
cout<<"\n\tNumber of years:";
cin>>b.nof;
cout<<"\n\tRate of interest:";
cin>>b.r;
b.cd='c';
b.amount=(b.balb*b.r*b.nof)/100.00;
b.bal=b.balb+b.amount;
h.write((char*)&b,sizeof(b));
h.close();
}
void create()
{
char ch;
ofstream f("Z:\\bank.doc");
do
{
line();
cout<<"\nEnter the details:";
cout<<"\n\t\tMember id no:";
cin>>a.mid;
cout<<"\n\t\tName:";
gets(a.name);
cout<<"\n\t\tAddrees:";
gets(a.address);
cout<<"\n\t\tPhone number:";
cin>>a.phone;
cout<<"\n\t\tSavings(s)/Fixed(f):";
cin>>a.sf;
cout<<"\n\t------------\n";
cout<<"\tDocument produced";
cout<<"\n\tRation card(r)";
cout<<"\n\tElection card(e)";
cout<<"\n\tIdentity card from office/institution(i)";
cout<<"\n\t\tEnter appropriate character:";
cin>>a.id;
cout<<"\n\t\tEnter the no:";
cin>>a.idno;
cout<<"\n\t-------------\n";
cout<<"\n\tDo you want to enter more members(y/n):";
f.write((char*)&a,sizeof(a));
cin>>ch;
}while(ch=='y');
f.close();
}
void memdis()
{
ifstream g("Z:\\bank.doc");
g.read((char*)&a,sizeof(a));
while(!g.eof())
{
if(!g.eof())
{
line();
cout<<"\nThe details:";
cout<<"\n\t\tMember id no:"<<a.mid;
cout<<"\n\t\tName:";
puts(a.name);
cout<<"\n\t\tAddrees:";
puts(a.address);
cout<<"\n\t\tPhone number:"<<a.phone;
cout<<"\n\t\tSavings(s)/Fixed(f):"<<a.sf;
cout<<"\n\t------------\n";
cout<<"\tDocument produced";
cout<<"\n\tRation card(r)";
cout<<"\n\tElection card(e)";
cout<<"\n\tIdentity card from office/institution(i)";
cout<<"\n\t\tThe member had produced"<<a.id;
cout<<"\n\t\tNumber:"<<a.idno;
cout<<"\n\t-------------\n";
getchar();
g.read((char*)&a,sizeof(a));
}
}
g.close();
}
void trandis()
{
ifstream i("Z:\\tran.doc");
line();
cout<<"\n\t\t\tTRANSACION";
line();
cout<<"\n\tMid\tName\tDate\tCredit/Debit\tAmount\tBalance";
line();
i.read((char*)&b,sizeof(b));
while(!i.eof())
{
cout<<"\n\t"<<b.mid<<"\t"<<b.name<<"\t"<<b.date<<"\t"<<b.cd<<"\t"<<b.
amount<<"\t"<<b.bal;
i.read((char*)&b,sizeof(b));
}
line();
i.close();
}
void displaymenu()
{
line();
cout<<"\t\t\tDISPLAY";
line();
cout<<"\n\t1:Member Details";
cout<<"\n\t2:Transactions";
cout<<"\n\t3:Back";
line();
cout<<"\n\t\tEnter your option:";
}
void display()
{
int
opt;
do
{
displaymenu();
cin>>opt;
line();
switch(opt)
{
case 1:
memdis();
break;
case 2:
trandis();
break;
case 3: break;
default:cout<<"Error:Not a vaild option";
}
}while(opt>3);
}
void mainmenu()
{
line();
cout<<"\t\t\tBANK MANAGEMENT";
line();
cout<<"\n\t\t1:Create New Member";
cout<<"\n\t\t2:Credit/Debit";
cout<<"\n\t\t3:Interest Calculation";
cout<<"\n\t\t4:Display";
cout<<"\n\t\t5:Exit";
line();
cout<<"\n\tEnter your option:";
}
void main()
{
int
opt;
clrscr();
do
{
mainmenu();
cin>>opt;
switch(opt)
{
case 1: create();
break;
case 2:
credit();
break;
case 3:
interest();
break;
case 4:
display();
break;
case 5:
exit(0);
break;
default:cout<<"Error:Not a valid option";
line();
break;
}
getchar();
}while(1);
}
OUTPUT
-------------------------------------------------------------------------------BANK MANAGEMENT
-------------------------------------------------------------------------------1:Create New Member
2:Credit/Debit
3:Interest Calculation
4:Display
5:Exit
-------------------------------------------------------------------------------Enter your option:1
-------------------------------------------------------------------------------Enter the details:
Member id no:1
Name:subha
Address:mylapore
Phone number:100
Savings(s)/Fixed(f):s
-----------Document produced
Ration card(r)
Election card(e)
Identity card from office/institution(i)
Enter appropriate character:r
Enter the no:120
------------Do you want to enter more members(y/n):y
--------------------------------------------------------------------------------
-----------Document produced
Ration card(r)
Election card(e)
Identity card from office/institution(i)
Enter appropriate character:r
Enter the no:122
------------Do you want to enter more members(y/n):n
-------------------------------------------------------------------------------BANK MANAGEMENT
-------------------------------------------------------------------------------1:Create New Member
2:Credit/Debit
3:Interest Calculation
4:Display
5:Exit
-------------------------------------------------------------------------------Enter your option:2
-------------------------------------------------------------------------------Enter the following details:
Member id:1
Date:2108
credit(c)/Debit(d)c
Amount:5000
Do you want to add more transaction(y/n):n
-------------------------------------------------------------------------------BANK MANAGEMENT
-------------------------------------------------------------------------------1:Create New Member
2:Credit/Debit
3:Interest Calculation
4:Display
5:Exit
-------------------------------------------------------------------------------Enter your option:3
-------------------------------------------------------------------------------Enter the following details:
Member id:2
Date:2108
Number of years:2
Rate of interest:2
-------------------------------------------------------------------------------BANK MANAGEMENT
-------------------------------------------------------------------------------1:Create New Member
2:Credit/Debit
3:Interest Calculation
4:Display
5:Exit
-------------------------------------------------------------------------------Enter your option:4
-------------------------------------------------------------------------------DISPLAY
-------------------------------------------------------------------------------1:Member Details
2:Transactions
3:Back
-------------------------------------------------------------------------------Enter your option:1
--------------------------------------------------------------------------------------------------------------------------------------------------------------The details:
Member id no:1
Name:subha
Addrees:mylapore
Phone number:100
Savings(s)/Fixed(f):s
-----------Document produced
Ration card(r)
Election card(e)
Identity card from office/institution(i)
The member had producedr
Number:120
-------------------------------------------------------------------------------------------The details:
Member id no:2
Name:abinaya
Addrees:pallikaranai
Phone number:101
Savings(s)/Fixed(f):f
-----------Document produced
Ration card(r)
Election card(e)
Identity card from office/institution(i)
The member had producedr
Number:122
-------------------------------------------------------------------------------------------BANK MANAGEMENT
-------------------------------------------------------------------------------1:Create New Member
2:Credit/Debit
3:Interest Calculation
4:Display
5:Exit
-------------------------------------------------------------------------------Enter your option:4
-------------------------------------------------------------------------------DISPLAY
-------------------------------------------------------------------------------1:Member Details
2:Transactions
3:Back
TEST CASES
INPUT
PROCESSING
OUTPUT
Credit/debit
credit
{
..
..
..
..
}
Credit/debit
Interest calculation
Interest
{
.
.
.
.
.
}
Interest calculation:
This function calculates
the interest of the
member and stores the
transaction to the file.
ERROR TRACKING:
Errors per requirements specification page : denoted by Ereq-2
Errors per component design level : denoted by Edesign-2