Académique Documents
Professionnel Documents
Culture Documents
1
1.2 Problem Definition:
Although the basic type of services offered by a bank depends upon the type
of bank and the country, services provided usually include:
• Taking deposits from their customers and issuing current or checking
accounts and savings accounts to individuals and business.
• Extending loans to individuals and business
• Cashing cheque
• Facilitating money transactions such as wire transfer and cashier’s
cheque
• Consumer & commercial financial advisory services
• Financial transactions can be performed through many different
channels:
o A branch, banking centre or financial center is a retail location
where a bank or financial institution offers a wide array of face
to face services to customers.
o ATM is computerized telecommunications device that provides
a financial institution’s customers a method of financial
transactions in a public space without the need for a human
clerk or bank teller
o Online banking is a term used for performing transactions ,
payments etc, over internet through a bank, credit union or
building society’s secure websites.
We are mainly concerned with developing a banking system where a
Customer can submit his/her deposit amount to bank if he/she has an
account or can create a new account in this bank. Customer can also
view the status of his/her bank account, can view account balance, can
modify and delete it.
One can easily maintain the above things if he/she has an account
by login through a username and password given to him.
2
1.3 Analysis of the Problem:
The project that we have undertaken aims to develop a banking system that is
clean, user-friendly and multi-functional. Development of this application includes
a number of fields such that user feels comfortable and the system appears as
dynamic to him. The project “Banking System” includes the following
functionalities:
4
SOFTWARE REQUIREMENT
SPECIFICATION
2.1 Overall Description:
TURBO C++
Processor:
Operating System:
WINDOWS XP SP3
RAM
512MB or above
Hard Drive:
5
2.2 Specific Requirements:
2.2.1 Front End:
• Turbo C ++ Compiler;
• Development environments;
6
• The compiler runs inside the most familiar Os , i.e.
Windows.
PROJECT PLAN
3.1 Life Cycle Model:
Here in the work, we use EVOLUTIONARY MODEL. This is also referred to as
successive version model of incremental model.
B
B
7
A A
A
The project is first broken into several modules, such as developing new accounts
(A), developing account modification process (B), and linking between these
different features (C) which can be incrementally constructed. The skeleton is
refined into increasing levels of capability by adding new functionalities in
succession.
We have chosen Evolutionary Model because: 1st implement the main feature as
account, then according to requirement step wise implementing is done.
Mr.
(PROJECT GUIDE)
(TEAM MEMBER)
(TEAM
(TEAM MEMBER)
LEADER) (TEAM MEMBER) (TEAM MEMBER)
3.3 Project Team:
NAME
DESIGNATION
Responsibilities in Project Implementation
9
1.Project Principal Investigator which assumes the Following
Responsibilities:
2. Overall supervision.
3. Work with development to identify the technical approach to be
used at the completion of the project.
4. Schedule and assign resources to ensure that applications satisfy
user’s needs and are completed within time.
5. Oversee Software Implementation.
6. Assist technical resource with database design.
7. Provide team required training.
NAME
DESIGNATION
Responsibilities in Project Implementation
10
1.Leader of the development team which assumes the following
responsibilities:
2. Correspondence with the entire team member.
3. Holding several meeting during project execution.
4. Reporting the progress and problem of the project to the guide of
the project.
5. Oversee software implementation.
6. Construct total design.
7. Publication of the project Documentation.
NAME
DESIGNATION
Responsibilities in Project Implementation
1.Development team member:
2. Discuss with the team leader about designing, coding and give
3.the productive idea.
4. Holding several meeting during project execution.
5. Reporting the progress and problem of the project to the guide of
the project.
6. Oversee software implementation.
7. Publication of the project Documentation.
NAME
DESIGNATION
Responsibilities in Project Implementation
11
1.Development team member:
2. Discuss with the team leader about designing, coding and give
3.the productive idea.
4. Holding several meeting during project execution.
5. Reporting the progress and problem of the project to the guide of
the project.
6. Oversee software implementation.
7. Publication of the project Documentation.
NAME
DESIGNATION
Responsibilities in Project Implementation
1.Development team member:
2.Discuss with the team leader about designing, coding and give
3.the productive idea.
4.Holding several meeting during project execution.
5.Reporting the progress and problem of the project to the guide of
the project.
6.Oversee software implementation.
7.Publication of the project Documentation.
8.Create all power point slides of the project the project
Documentation.
NAME
DESIGNATION
12
Responsibilities in Project Implementation
1.Development team member:
2.Discuss with the team leader about designing, coding and give
3.the productive idea.
4.Holding several meeting during project execution.
5.Reporting the progress and problem of the project to the guide of
the project.
6.Oversee software implementation.
7.Publication of the project Documentation.
DESIGN STRATEGY
4.1 Architecture Of The System:
13
FOR THE SOFTWARE USED:
Turbo C++
Operating System:
WINDOWS 2000 SP4
WINDOWS XP SP3
Elements of a DFD:
There are four key elements in a Data Flow Diagram; Processes, Data
Flows, Data Stores & External entities and each element is drawn differently.
Process entity:
The Process entity identifies a process taking place; it must have at least one
input and output. A process with no input is known as a “miracle process” and one
with no output is a “black hole process”. Each process has the following:
• A Number
• A Name
• A Description
14
• At least one output
• A Name (Noun)
• A description
• A Number
• A Name
• A Description
External entity:
The External entity identifies external entities which interacts with the
system, usually clients but can be within the same organization. Each external
entity has the following:
• A Name (Noun)
• A Description
15
The different notations to draw DFD are as follows:
Data Flow
Entity set
BANKING SYSTEM
0 Level DFD
Bankin
g
System
Manages accounts and software Gives confirmation and work
resources done
Admin Customer
16
Gives confirmation
report
Level 1 DFD
Verifies
Custome
Admin user_id
r
&
passwo
rd
admin
Proces
s Display
custom Bankin
er g
reques Service
t s
Admin
Customer
17
Level 2 DFD
Custom
er
Admin
Add Updata
record View Loan
record
record facilities
accountdets accountdets
account accountdets
Admin
customer
18
ER Diagram:
User_p
User_id ass
User
First_nam
e
IS
Last_na
A me
addre
ss
Add/
Admin Del city
Customer
state
Ap
po
-
Ha pin
int
s ve
mobile_
no
E
Bank di
t
acc_
Accounts no
Provi
de
servic Profile
es
Perfor
ms
User_i user_pa
IS d ss
A
Transactio
ns
acc_ amou
19 no nt
Debit Credit Loan
Interest
NEW USER AUTHENTICATION
20
LOGIN PAGE
21
LOGIN SUCCESSFUL & CHANGING DETAILS OPTION
22
MAIN WINDOW
23
CREATE ACCOUNT
24
VIEW RECORD
25
UPDATE/TRANSACTION
26
DEBIT/CREDIT
27
INTEREST CALCULATION
VIEW BALANCE
28
LOAN FACILITY
29
LOAN RULES
30
LOAN SANCTIONED
LOAN DENIED
31
SAVING MODIFICATION & EXIT
32
INCORRECT LOGIN
33
IMPLEMENTATION
DETAILS
5.1 Pseudo Code For Some Subroutines:
• IMPLEMENT AUTHENTICATION
void logdet(void)
char username[20];
char password[15];
clrscr();
cout<<"\n\n\t\t\t";
gets(username);
user.write((char*) &username,sizeof(username));
user.close();
cout<<"\n\n\t\t\tNEW PASSWORD::";
cout<<"\n\n\t\t\t ";
gets(password);
pass.write((char*) &password,sizeof(password));
34
pass.close();
void password(void)
int counter=0;
char username[20];
char password[15];
char str[20];
do
clrscr();
cout<<"\n\n\t\t ";
gets(username);
user.read((char*) &str,sizeof(str));
user.close();
if(strcmp(str,username)==0)
clrscr();
cout<<"\n\n\n\n\n\t\t\tPASSWORD ";
cout<<"\n\n\t\t ";
35
gets(password);
pass.read((char*) &str,sizeof(str));
pass.close();
if(strcmp(str,password)==0)
clrscr();
cout<<"\n\n\n\n\t\t\tACCESS ALLOWED....";
delay(1500);
return;
}else
cout<<"\n\n\t\t\tACCESS DENIED!!!!";
delay(2500);
continue;
}counter++;
}while(counter<3);
clrscr();
cout<<"\n\n\n\n\n\n\t\t\t";
for(int i=0;i<35;i++)
36
cout<<arr[i];
delay(50);
cout<<"....";
delay(2500);
exit(0);
delay(50);
}
cout<<"....";
delay(2500);
exit(0);
}
//PASSWORD CHECKING
• CREATING ACCOUNT
class account
{
char first_name[50],last_name[50],address[100],city[50],state[50];
char phone_number[25],pincode[25];
int accno, acctno;
float amount, deposit,rate;
public:
account()
{
amount=0.00;
deposit=0.00;
rate = 0.0;
ifstream fin;
fin.open("acctno.dat",ios::in);
fin>>acctno;
fin.close();
}
void addnewrecord();
37
void viewrecord();
void updaterecord();
void read();
int get_acctno();
void display();
};
/* THIS METHOD IS FOR CREATE NEW ACCOUNT RECORD*/
• ADDING RECORD
void account::addnewrecord()
{
ofstream outfile;
outfile.open("accountdets.dat",ios::out|ios::binary|ios::app);
account person;
cout<<endl<<"Enter first name : ";
gets(person.first_name);
cout<<endl<<"Enter last name : ";
gets(person.last_name);
cout<<endl<<"Enter address : ";
gets(person.address);
cout<<endl<<"Enter city : ";
gets(person.city);
cout<<endl<<"Enter state : ";
gets(person.state);
cout<<endl<<"Enter pin : ";
gets(person.pincode);
cout<<endl<<"Enter phone number : ";
gets(person.phone_number);
cout<<endl<<"Your PERMANENT ACCOUNT NO: is : "<<(acctno++);
cout<<endl<<"\nEnter deposit (min Rs.250) : ";
cin>>person.deposit;
ofstream fout;
fout.open("acctno.dat",ios::out);
fout<<acctno;
fout.close();
outfile.write((char*) &person, sizeof(person));
outfile.close();
}
38
• VIEWING ACCOUNT DETAILS
void account::viewrecord()
{
ifstream f2;
account t2,t02;
t02.read();
f2.open("accountdets.dat",ios::binary|ios::in);
f2.seekg(0,ios::beg);
int j=0;
while(!f2.eof())
{
f2.read((char*) &t2,sizeof(t2));
if(t2.acctno==t02.get_acctno())
{
j=1;
t2.display();
break;
}
}
if(j!=1)cout<<"\nRecord not found...";
f2.close();
cout<<"\n\n\t\t\t(Press any key to return to MAIN MENU..)";
getch();
}
39
• UPDATING RECORD
void account::updaterecord()
{
int ch2,debit,credit;
do
{
clrscr();
cout<<"\n\nPlease";
cout<<"\n\tEnter 1 to debit \n"<<"\tEnter 2 to credit \n"<<"\tEnter 3 to
view account balance \n"
<<"\tEnter 4 to calculate interest and view balance after the
calculations\n" <<"\tEnter 5 to close transactions\n";
cout<<"\nEnter choice : ";
cin>>ch2;
clrscr();
switch(ch2)
{
case 1:
{
fstream f3;
account t3,t03;
int j=0, count=0;
t03.read();
cout<<"\nPlease enter the amount to be debited : ";
cin>>debit;
f3.open("accountdets.dat",ios::binary|ios::in|ios::out);
f3.seekg(0,ios::beg);
while(!f3.eof())
{
f3.read((char*) &t3,sizeof(t3));
if(t3.acctno==t03.get_acctno())
40
{
j++;
break
}
count++;
}
if(j!=0)
{
if(debit<=t3.deposit)
{
t3.deposit-=debit;
f3.seekp(count*sizeof(t3),ios::beg);
f3.write((char*) &t3 ,sizeof(t3));
}
if(t3.deposit>=250)
cout<<"Your account balance is Rs"<<t3.deposit;
else
cout<<"Your Balance is not sufficient to debit this amount";
}
else
{
cout<<"\nRecord NOT found";
}
f3.close();
cout<<"\n\n\n\n\t\t(Press any key to return to previous menu..)";
getch();
break;
}
case 2:
{
fstream f4;
account t4,t04;
int j=0, count=0,credit;
t04.read();
cout<<"\nPleaseenter the amount to be credited ";
cin>>credit;
f4.open("accountdets.dat",ios::binary|ios::in|ios::out);
f4.seekg(0,ios::beg);
41
while(!f4.eof()) {
f4.read((char*) &t4,sizeof(t4));
if(t4.acctno==t04.get_acctno())
{
j++;
break;
}
count++;
}
if(j!=0)
{
t4.deposit+=credit;
f4.seekp(count*sizeof(t4),ios::beg);
f4.write((char*) &t4 ,sizeof(t4));
}
else
{
cout<<"\nRecord NOT found";
}
cout<<"Your account balance is Rs "<<t4.deposit;
f4.close();
cout<<"\n\n\n\n\t\t(Press any key to return to previous menu..)";
getch();
break;
}
case 3:
{
fstream f6;
account t6,t06;
int j=0;
t06.read();
f6.open("accountdets.dat",ios::binary|ios::in|ios::out);
f6.seekg(0,ios::beg);
while(!f6.eof())
{
f6.read((char*) &t6,sizeof(t6));
if(t6.acctno==t06.get_acctno())
{
j++;
break;
42
}
}
if(j!=0)
{
cout<<"\n\nTheACCOUNT BALANCE is Rs "<<t6.deposit;
}
else
{
cout<<"\nRecord NOT found";
}
f6.close();
cout<<"\n\n\n\n\t\t(Press any key to return to previous menu..)";
getch();
break;
}
case 4:
{
fstream f5;
account t5,t05;
int timeperiod, j=0;
float interest;
t05.read();
f5.open("accountdets.dat",ios::binary|ios::in|ios::out);
f5.seekg(0,ios::beg);
while(!f5.eof())
{
f5.read((char*) &t5,sizeof(t5));
if(t5.acctno==t05.get_acctno())
{
cout<<"\nPlease enter the time period : ";
cin>>timeperiod;
rate=1.5*timeperiod;
interest=t5.deposit*timeperiod*(rate/100.0);
cout<<"\nInterest is Rs "<<interest;
amount=t5.deposit + interest;
cout<<"\nAmount is Rs "<<amount;
if(amount==0)
cout<<"Sorry!The interest rate for the time period
you have entered is not specified";
43
j=1;
break;
}
}
if(j==0)
cout<<"\nRecord not found";
cout<<"\n\n\n\n\t\t(Press any key to return to previous menu..)";
getch();
break;
}
case 5:
cout<<"\n\n\n\n\n\t\tModifications are SAVED to your account..... ";
cout<<"\n\n\t\t\t(Press any key..)";
getch();
ch2=6;
break;
default:
cout<<"\n\n\t\t\tinvalid entry!!!!";
cout<<"\n\n\n\n\t\t(Press any key to return to previous
menu..)";
getch();
break;
}
}
while(ch2<6);
}
• LOAN ACCOUNT
void account::updateloan()
int ch7;
do
clrscr();
44
cout<<"\n\nPlease";
cin>>ch7;
clrscr();
switch(ch7){
case 1:
getch();
break;
case 2:
fstream f7;
account t7,t07;
45
float interest;
t07.read();
f7.open("accountdets.dat",ios::binary|ios::in|ios::out);
f7.seekg(0,ios::beg);
while(!f7.eof())
f7.read((char*) &t7,sizeof(t7));
if(t7.acctno==t07.get_acctno())
rate=11.5*timeperiod;
if(t7.deposit>=10000.0)
amount=t7.deposit*0.5;
cout<<"\nLoan Amount=Rs."<<amount;
interest=amount*timeperiod*(rate/100.0);
j=1;
else{
46
cout<<"\n\n\n\t\t Sorry!Loan criteria is not
fulfilled";
j=1;
break;
}}
if(j==0)
getch();
ch7=3;
break;
default:
getch();
break;
}}while(ch7<3);
47
RESULTS AND
DISCUSSION
6.1 Testing:
The aim of testing process is to identify all defects existing in our banking
software. However, for most practical system, even after satisfactorily
carrying out the testing phase, it is not possible to guarantee that the software
error free. This is because of the fact that the input data domain of this
software product is very large. It is not practical to test the software
exhaustively with respect to each value that the input data may assume. Even
with this practical limitation of testing process, we should not underestimate
the importance of testing. We must remember that testing does expose many
defects existing in the software product. Therefore, we can safely conclude
that testing provides a practical way of reducing defects in the system and
increasing the users’ confidence in the developed system.
Testing a program consists of subjecting the program to a set of test inputs (or
test cases) and observing if the program behaves as expected.
We have tested the project by giving the convenient test cases and it has given
the expected results. We have already given it in Design Strategy.
48
Now we are testing it by giving unfavorable test cases.
Let account number 3 have balance less than Rs 10000. If it apply for loan the
following result will be shown
49
2. If we enter an invalid account number than it will not be entertained.
Suppose account no 5 does not exist and we want to see the details of the
account .Then it will give the following result.
50
3. If we ask for loan without having an account then it will show “account not
available”.
51
4.If we want to debit an amount which is more than current balance then the
following result will be shown
52
53
USER MANUAL
7.1 Installation Guide:
This project is built in the Turbo C++ environment, so after
compilation of the code a exe file will be generated which can be run
then as a standalone application in command mode.
VIEW RECORD
CHOOSE 2 FROM MENU
54
PRESS ENTER
UPDATE RECORD
CHOOSE 3 FROM MENU
PRESS ENTER
CHOOSE OPTION FOR UPDATE RECORD
PRESS ENTER
EXIT
CHOOSE 4 FROM MENU
PRESS ENTER
55
SUMMERY AND
CONCLUSION
8.1 Scope Of The Project:
The title of the project is “Banking System” is an application which helps
the user to maintain all the work modules included transactions and managing of
accounts of the account holders which includes a few hitch due to the absence of
real time user and runtime application implementation. Since our first and foremost
aim is to satisfy the customer therefore we are going to continue the use, testing,
correction, and up gradation of this application as a simultaneous procedure.
Therefore it is necessary to mention the scope of our project at initial step and they
are as follows:
The all possible ways of overcoming these problems are like adding a
database and maintenance of the same for the customer to provide them with
membership facilities, including discounts and special offers on different terms and
schemes.
56
Further scope of edifice of the application is to make it fit to user screen using any
operating platform and connecting to a network.
In the absence of real time user in context of this project, it was up to us, the
developing team to analyze the requirements for the application and in process, the
following was detected:
• The user actions should follow a coordinate track, and must not be discrete.
8.2 Implementation:
The implementation stage is not so easy. We at first install it then check it
for result, so we know that client requirement can be fulfilled or not. Then we
implement every module that the overall project can be implemented rightly or
wrongly. We see that all the module, i.e. account, user details, transactions are
implemented rightly, so the whole project implementation stage we have done
rightly.
57
8.3 Evaluation:
Project Evaluation is a step-by-step process of collecting, recording and
organizing information about project results, including short-term outputs
(immediate results of activities, or project deliverables), and immediate and longer-
term project outcomes (changes in behavior, practice or policy resulting from the
project).
• Validation for project staff and partners that desired outcomes are being
achieved.
The project planning stage is the best time to identify desired outcomes and how
they will be measured. This will guide future planning, as well as ensure that the
data required to measure success is available when the time comes to evaluate the
project.
Evaluating project results is helpful in providing answer to key question like: What
progress has been made?
58
BIBLIOGRAPHY
REFERENCES-
www.statebankofindia.com
www.unitedbankofindia.com
www.unionbankofindia.co.in
BOOKS-
59