Professional Documents
Culture Documents
Banking Management System
Banking Management System
SYSTEM
Submitted By
Shubham Lal (1413101273)
Kishor Kumar (1413101139)
Certificate
I hereby certify that the work which is being presented in the Project Based Learning (PBL)
entitled, “Software Engineering”, in partial fulfillment of the requirements for the award of
degree of Bachelor in Technology in Computer Science and Engineering submitted in School of
Computing Science and Engineering of Galgotias University, Gr. Noida, is an authentic record of
my own work carried out under the supervision of Mr. Ashwini Kumar and refers other
researcher’s works which are duly listed in the reference section.
The matter presented in this project has not been submitted for the award of any other degree of
this or any other university.
Shubham Lal(1413101273)
Kishor Kumar(1413101139)
This is to certify that the above statement made by the candidate is correct and true to the best of
my knowledge.
Countersigned by
I would like to take this opportunity to express my profound sense of gratitude and respect to all
those who helped me throughout the duration of this project. GALGOTIAS UNIVERSITY in
particular has been the source of inspiration for me.
I feel privileged to offer my sincere thanks and deep sense of gratitude to supervision of Mr.
Ashwini Kumar as project guide, for expressing his confidence in me by letting me work on a
project of this magnitude and using the latest technologies and providing his support, help &
encouragement in implementing this Project. I would also like to thank Dr. Parma Nand,
Professor & Dean, School of Computing Science & Engineering for providing me opportunity to
work on this project.
CONTENT
S.No. Description Page
No.
i. Acknowledgement
i
ii. Certificate
ii
1.1. INTRODUCTION
1.2. Motivation
1.3. Problem definition
1.4. Objective of Project
1.5. Limitations of project
2. LITERATURE SURVEY
2.1. Introduction
2.2. Existing Banking System
2.3. Disadvantages of Existing System
2.4. Proposed System
2.5. Conclusion
3. ANALYSIS
3.1. Introduction
3.2. Software requirement Specification
3.2.1. Software requirement
3.2.2. Hardware requirement
3.3. Content diagram of Projet
3.4. Algorithms and Flowcharts
3.5. Conclusion
4. DESIGN
4.1. Introduction
4.2. ER diagram
4.3. Module Design and organization
4.4. Conclusion
5. IMPLEMENTATION & RESULTS
5.1. Introduction
5.2. Explanation of Key functions
5.2.1. Result Analysis
5.3. Conclusion
6. TESTING & VALIDATION
6.1. Introduction
6.2. Design of test cases and scenarios
6.3. Validation
6.4. Conclusion
INTRODUCTION
1.1 MOTIVATION
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 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. This system provides fast, efficient,reliable and User friendly
interfaces in banking and has no chance of losing data while processing of user data i.e.
customer account transactions. This software provides a good user interface such that a user of
basic computer knowledge can operate the application. It also reduces effort done by the
accountant and also reduces the load of real time computation. This software enables faster
transaction like new account creation, withdrawal of cash from the account, deposit of cash to
the account, checking account balance of the account holder even if there are large amount of
data in the system database.
Limited Accessibility
Accessibility at traditional banks is limited, as you can only conduct business at their brick-and-
mortar locations. If you’re traveling or unable to make it into the location during standard hours
of operation, you won’t be able to do business.
Less Efficient
Getting in the car, driving to a bank and waiting in line to be served takes up your valuable time.
It is more efficient to do your banking online, where you can open new accounts, set up auto bill
pay, check account balances and transfer funds all from your own computer.
LITERATURE SURVERY
2.1 Introduction
SYSTEM ANALYSIS
System analysis is a process of gathering and interpreting facts, diagnosing
problems and the information to recommend improvements on the system. It is a
problem solving activity that requires intensive communication between the
system users and system developers. System analysis or study is an important
phase of any system development process. The system is studied to the minutes
detail and analyzed. The system analystplays the role of the interrogator and
dwells deep into the working of the present system. The system is viewed as a
whole and the input to the system are identified. The outputs from the
organizations are traced to the various processes. System analysis is concerned
with becoming aware of the problem, identifying the relevant and decisional
variables, analyzing and synthesizing the various factors and determining an
optimal or at least a satisfactory solution or program of action.
A detailed study of the process must be made by various techniques like
interviews, questionnaires etc. The data collected by these sources must be
scrutinized to arrive to a conclusion. The conclusion is an understanding of how
the system functions. This system is called the existing system. Now the existing
system is subjected to close study and problem areas are identified. The
designer now functions as a problem solver and tries to sort out the difficulties
that the enterprise faces. The solutions are given as proposals. The proposal is
then weighed with the existing system analytically and the best one is selected.
The proposal is presented to the user for an endorsement by the user. The
proposal is reviewed on user request and suitable changes are made. This is
loop that ends as soon as the user is satisfied with proposal. Preliminary study is
the process of gathering and interpreting facts, using the information for further
studies on the system. Preliminary study is problem solving activity that requires
intensive communication between the system users and system developers. It
does various feasibility studies. In these studies a rough figure of the system
activities can be obtained, from which the decision about the strategies to be
followed for effective system study and analysis can be taken.
2.5 CONCLUSION
In many ways, consumer banking is like other types of consumer activity. But banking
customers expect more than an excellent mix of products: they are looking for superior
customer experiences that fulfill basic expectations while providing added value.
In our survey, customers selected “the way I am treated” as the second most important
reason for trusting their banking provider, trailing only the predictable “financial stability”
of their bank. Customer experience is also the most common reason for opening and
closing accounts, more so than fees, rates, locations and convenience.
This idea of trust is what transforms customers from static sources of revenue into
advocates for their banks. In an era where social and digital media enable consumers to
immediately share their experiences, customers who trust their bank will drive the most
referrals and be more willing to consolidate their banking needs with a single financial
services provider. This makes them the growth engines of any bank.
Creating customized banking
Each of the eight customer segments shares common behaviors and expectations
when it comes to their banking experience. By focusing on the type of customer rather
than the number of customers, banks can build a reputation for excellent customer
service.
Although crafting common strategies can be more efficient, banks that approach each
customer the same way risk offering individual customers the wrong products, services
and advice across less-effective channels. To optimize investments in customer
experience, banks should deploy segment-based strategies that take advantage of
these inherent similarities – but also their differences.
Competition from all sides
The good news is that consumer confidence in the banking industry is on the rise, with
93% of survey respondents reporting moderate or complete trust in their banks.
Likewise, 77% of customers are satisfied enough with their banking relationship to
recommend their primary provider. The global economic recovery appears to be taking
hold, and banks are among the beneficiaries.
The challenge, however, is that an increasing number of financial service providers are
competing for the same customers. Emerging technology and the increasing use of
mobile devices for both banking and payments are making it easier for new entrants to
exploit areas of dissatisfaction and underinvestment. Customers have more options
than ever and do not view banks as having significant advantage over newer types of
banks and technology companies – even when it comes to financial advice.
The opportunity cost of falling behind the competition is extreme. More than half of all
customers opened or closed an account in 2013, and 40% plan to do so in 2014. Each
of these customers represents a new business opportunity for a competing bank or
financial service provider
ANALYSIS
3.1 INTRODUCTION.
There are many different important factors of having a computer within the banking
sector. It makes life a lot quicker and easier and there will no longer have to
be manual inputs of data on paper and within records, it can all be taken care of by the
computer and be stored and sent on accordingly. Previous transactions of certain
customers can be found in seconds as opposed to waiting for a long period of time, and
therefore problems and issues can be dealt with a lot quicker as the information can be
found instantly.
You can also see the importance of the computer within the banking sector as you can
now make transactions from your home with the technology and keep an eye on what
you have within your account when you are waiting for a statement to come through or
want to buy something online.
Within the computer being used within the banking sector, the banking system will still
be as long and as manual as it was many years ago and you would not be able to
transfer money and stay ahead of statementssuccessfully.
Electronic banking is now more popular than ever and this is due to theintroduction of
computers within the banking sector. Being able to communicate with different banks
from all over the world is also possible due to the new injection of technology and there
are much less problems with data imports and exports now that everything can be done
by a few clicks of a button.
SYSTEM SPECIFICATION
HARDWARE REQUIREMENTS
Monitor : VGA/SVGA
SOFTWARE REQUIREMENTS
#include<fstream.h>
#include<ctype.h>
#include<iomanip.h>
#include<conio.h>
#include<stdio.h>
class account
{
int acno;
char name[50];
int deposit;
char type;
public:
void create_account();
void show_account();
void modify();
void dep(int);
void draw(int);
void report();
int retacno();
int retdeposit();
char rettype();
};
void account::create_account()
{
cout<<"\nEnter The account No.";
cin>>acno;
cout<<"\n\nEnter The Name of The account Holder : ";
gets(name);
cout<<"\nEnter Type of The account (C/S) : ";
cin>>type;
type=toupper(type);
cout<<"\nEnter The Initial amount(>=500 for Saving and >=1000000 for
current ) : ";
cin>>deposit;
cout<<"\n\n\nAccount Created..";
}
void account::show_account()
{
cout<<"\nAccount No. : "<<acno;
cout<<"\nAccount Holder Name : ";
cout<<name;
void account::modify()
{
cout<<"\nThe account No."<<acno;
cout<<"\n\nEnter The Name of The account Holder : ";
gets(name);
cout<<"\nEnter Type of The account (C/S) : ";
cin>>type;
type=toupper(type);
cout<<"\nEnter The amount : ";
cin>>deposit;
}
void account::dep(int x)
{
deposit+=x;
}
void account::draw(int x)
{
deposit-=x;
}
void account::report()
{
cout<<acno<<setw(10)<<" "<<name<<setw(10)<<"
"<<type<<setw(6)<<deposit<<endl;
}
int account::retacno()
{
return acno;
}
int account::retdeposit()
{
return deposit;
}
char account::rettype()
{
return type;
}
void write_account();
void display_sp(int);
void modify_account(int);
void delete_account(int);
void display_all();
void deposit_withdraw(int, int);
void intro();
int main()
{
char ch;
int num;
clrscr();
intro();
do
{
clrscr();
cout<<"\n\n\n\tMAIN MENU";
cout<<"\n\n\t01. NEW ACCOUNT";
cout<<"\n\n\t02. DEPOSIT AMOUNT";
cout<<"\n\n\t03. WITHDRAW AMOUNT";
cout<<"\n\n\t04. BALANCE ENQUIRY";
cout<<"\n\n\t05. ALL ACCOUNT HOLDER LIST";
cout<<"\n\n\t06. CLOSE AN ACCOUNT";
cout<<"\n\n\t07. MODIFY AN ACCOUNT";
cout<<"\n\n\t08. EXIT";
cout<<"\n\n\tSelect Your Option (1-8) ";
cin>>ch;
clrscr();
switch(ch)
{
case '1':
write_account();
break;
case '2':
cout<<"\n\n\tEnter The account No. : "; cin>>num;
deposit_withdraw(num, 1);
break;
case '3':
cout<<"\n\n\tEnter The account No. : "; cin>>num;
deposit_withdraw(num, 2);
break;
case '4':
cout<<"\n\n\tEnter The account No. : "; cin>>num;
display_sp(num);
break;
case '5':
display_all();
break;
case '6':
cout<<"\n\n\tEnter The account No. : "; cin>>num;
delete_account(num);
break;
case '7':
cout<<"\n\n\tEnter The account No. : "; cin>>num;
modify_account(num);
break;
case '8':
cout<<"\n\n\tThanks for using bank managemnt system";
break;
default :cout<<"\a";
}
getch();
}while(ch!='8');
return 0;
}
void write_account()
{
account ac;
ofstream outFile;
outFile.open("account.dat",ios::binary|ios::app);
ac.create_account();
outFile.write((char *) &ac, sizeof(account));
outFile.close();
}
void display_sp(int n)
{
account ac;
int flag=0;
ifstream inFile;
inFile.open("account.dat",ios::binary);
if(!inFile)
{
cout<<"File could not be open !! Press any Key...";
return;
}
cout<<"\nBALANCE DETAILS\n";
while(inFile.read((char *) &ac, sizeof(account)))
{
if(ac.retacno()==n)
{
ac.show_account();
flag=1;
}
}
inFile.close();
if(flag==0)
cout<<"\n\nAccount number does not exist";
}
void modify_account(int n)
{
int found=0;
account ac;
fstream File;
File.open("account.dat",ios::binary|ios::in|ios::out);
if(!File)
{
cout<<"File could not be open !! Press any Key...";
return;
}
while(File.read((char *) &ac, sizeof(account)) && found==0)
{
if(ac.retacno()==n)
{
ac.show_account();
cout<<"\n\nEnter The New Details of account"<<endl;
ac.modify();
int pos=(-1)*sizeof(account);
File.seekp(pos,ios::cur);
File.write((char *) &ac, sizeof(account));
cout<<"\n\n\t Record Updated";
found=1;
}
}
File.close();
if(found==0)
cout<<"\n\n Record Not Found ";
}
void delete_account(int n)
{
account ac;
ifstream inFile;
ofstream outFile;
inFile.open("account.dat",ios::binary);
if(!inFile)
{
cout<<"File could not be open !! Press any Key...";
return;
}
outFile.open("Temp.dat",ios::binary);
inFile.seekg(0,ios::beg);
while(inFile.read((char *) &ac, sizeof(account)))
{
if(ac.retacno()!=n)
{
outFile.write((char *) &ac, sizeof(account));
}
}
inFile.close();
outFile.close();
remove("account.dat");
rename("Temp.dat","account.dat");
cout<<"\n\n\tRecord Deleted ..";
}
void display_all()
{
account ac;
ifstream inFile;
inFile.open("account.dat",ios::binary);
if(!inFile)
{
cout<<"File could not be open !! Press any Key...";
return;
}
cout<<"\n\n\t\tACCOUNT HOLDER LIST\n\n";
cout<<"====================================================\n";
cout<<"A/c no. NAME Type Balance\n";
cout<<"====================================================\n";
while(inFile.read((char *) &ac, sizeof(account)))
{
ac.report();
}
inFile.close();
}
void deposit_withdraw(int n, int option)
{
int amt;
int found=0;
account ac;
fstream File;
File.open("account.dat", ios::binary|ios::in|ios::out);
if(!File)
{
cout<<"File could not be open !! Press any Key...";
return;
}
while(File.read((char *) &ac, sizeof(account)) && found==0)
{
if(ac.retacno()==n)
{
ac.show_account();
if(option==1)
{
cout<<"\n\n\tTO DEPOSITE AMOUNT ";
cout<<"\n\nEnter The amount to be deposited";
cin>>amt;
ac.dep(amt);
}
if(option==2)
{
cout<<"\n\n\tTO WITHDRAW AMOUNT ";
cout<<"\n\nEnter The amount to be withdraw";
cin>>amt;
int bal=ac.retdeposit()-amt;
if((bal<500 && ac.rettype()=='S') || (bal<1000 &&
ac.rettype()=='C'))
cout<<"Insufficience balance";
else
ac.draw(amt);
}
int pos=(-1)* sizeof(ac);
File.seekp(pos,ios::cur);
File.write((char *) &ac, sizeof(account));
cout<<"\n\n\t Record Updated";
found=1;
}
}
File.close();
if(found==0)
cout<<"\n\n Record Not Found ";
}
void intro()
{
cout<<"\n\n\n\t BANK";
cout<<"\n\n\tMANAGEMENT";
cout<<"\n\n\t SYSTEM";
cout<<"\n\n\n\nMADE BY : KISHOR & SUBHAMLAL";
cout<<"\n\nUNIVERSITY :GALGOTIAS UNIVERSITY";
getch();\
FLOW CHART
OUT
PUT
STEP-1
STEP-2 TO CREATE AN ACCOUNT
3.5 CONCLUSION
Banking systems have been with us for as long as people have been using money. Banks
and other financial institutions provide security for individuals, businesses and governments,
alike. Let's recap what has been learned with this tutorial:
In general, what banks do is pretty easy to figure out. For the average person banks accept
deposits, make loans, provide a safe place for money and valuables, and act as payment
agents between merchants and banks.
Banks are quite important to the economy and are involved in such economic activities as
issuing money, settling payments, credit intermediation, maturity transformation and money
creation in the form of fractional reserve banking.
To make money, banks use deposits and whole sale deposits, share equity and fees and
interest from debt, loans and consumer lending, such as credit cards and bank fees.
In addition to fees and loans, banks are also involved in various other types of lending and
operations including, buy/hold securities, non-interest income, insurance and leasing and
payment treasury services.
History has proven banks to be vulnerable to many risks, however, including credit, liquidity,
market, operating, interesting rate and legal risks. Many global crises have
SYSTEM DESIGN
4.1 INTRODUCTION
Design is the first step into the development phase for any engineered product or
system. Design is a creative process. A good design is the key to effective
system. The term “design” is defined as “the process of applying various
techniques and principles for the purpose of defining a process or a system in
sufficient detail to permit its physical realization”. It may be defined as a process
of applying various techniques and principles for the purpose of defining a
device, a process or a system in sufficient detail to permit its physical realization.
Software design sits at the technical kernel of the software engineering process
and is applied regardless of the development paradigm that is used.
The system design develops the architectural detail required to build a system or
product. As in the case of any systematic approach, this software too has
undergone the best possible design phase fine tuning all efficiency, performance
and accuracy levels. The design phase is a transition from a user oriented
document to a document to the programmers or database personnel. System
4.2 ER DIAGRAM
OBJECTIVES
Input Design is the process of converting a user-oriented description of the input
into a computer-based system. This design is important to avoid errors in the
data input process and show the correct direction to the management for getting
correct information from the computerized system.
It is achieved by creating user-friendly screens for the data entry to handle large
volume of data. The goal of designing input is to make data entry easier and to
be free from errors. The data entry screen is designed in such a way that all the
data manipulates can be performed. It also provides record viewing facilities.
When the data is entered it will check for its validity. Data can be entered with the
help ofscreens. Appropriate messages are provided as when needed so that the
user will not be ina maize of instant. Thus the objective of input design is to
create an input layout that is easy to follow
5.2.2 OUTPUT DESIGN
A quality output is one, which meets the requirements of the end user and
presents the information clearly. In output design it is determined how the
information is to be displaced for immediate need and also the hard copy output.
It is the most important and direct source information to the user. Efficient and
intelligent output design improves the system’s relationship to help user decision-
making. Designing computer output should proceed in an organized, well thought
out manner; the right output must be developed while ensuring that each output
element is designed so that people will find the system can use easily and
effectively. When analysis design computer output, they should :
Identify the specific output that is needed to meet the requirements.
Select methods for presenting information.
Create document, report, or other formats that contain information produced by
the system.
4.4 CONCLUSION
UML class diagrams are useful when modeling business data. By accurately
modeling attributes and associations of class entities, we can easily map these
class diagram specifications to entity beans with CMP. Class attributes map to
abstract access methods for persistent fields, and association roles map to
abstract access methods for relationship fields. Navigability determines whether
relationship access methods appear in both related entity beans or just one.
Furthermore, multiplicity notation determines the correct type for relationship
fields, life cycle issues, and cascading delete characteristics.
SYSTEM IMPLEMENTATION AND TESTING
Implementation is the stage of the project where the theoretical design is turned into a
working system. It can be considered to be the most crucial stage in achieving a
successful new system gaining the users confidence that the new system will work and
will be effective and accurate. It is primarily concerned with user training and
documentation. Conversion usually takes place about the same time the user is being
trained or later. Implementation simply means convening a new system design into
operation, which is the process of converting a new revised system design into an
operational one.
6.1 EXPLANATION OF KEY FUNCTION
The key functions used in this program are as follows:-
1) fstream.h- input/output stream class to operate on files.Objects of this class
maintain a filebuf object as their internal stream buffer, which performs
input/output operations on the file they are associated with (if any).File
streams are associated with files either on construction, or by calling
member open.
5)stdio.h- Most of the C file input/output functions are defined in stdio.h (or in the C++
header cstdio, which contains the standard C functionality but in the std
namespace).Byte.
SYSTEM TESTING
Software Testing is the process of executing software in a controlled manner, in order
to answer the question - Does the software behave as specified?. Software testing is
often
used in association with the terms verification and validation. Validation is the checking
or testing of items, includes software, for conformance and consistency with an
associated specification. Software testing is just one kind of verification, which also uses
techniques such as reviews, analysis, inspections, and walkthroughs. Validation is the
process of checking that what has been specified is what the user actually wanted.
Validation : Are we doing the right job?
Verification : Are we doing the job right?
Software testing should not be confused with debugging. Debugging is the process of
analyzing and localizing bugs when software does not behave as expected. Although
the identification of some bugs will be obvious from playing with the software, a
methodical approach to software testing is a much more thorough means for identifying
bugs.
Debugging is therefore an activity which supports testing, but cannot replace testing.
Other activities which are often associated with software testing are static analysis and
dynamic analysis. Static analysis investigates the source code of software, looking for
problems and gathering metrics without actually executing the code. Dynamic analysis
looks at the behavior of software while it is executing, to provide information such as
execution traces, timing profiles, and test coverage information.
Testing is a set of activity that can be planned in advanced and conducted
systematically. Testing begins at the module level and work towards the integration of
entire computers based system. Nothing is complete without testing, as it vital success
ofthe system testing objectives, there are several rules that can serve as testing
objectives. They are11 Testing is a process of executing a program with the intend of
finding an error. A good test case is one that has high possibility of finding an
undiscovered error .A successful test is one that uncovers an undiscovered error.
If a testing is conducted successfully according to the objectives as stated above, it
would uncovered errors in the software also testing demonstrate that the software
function appear to be working according to the specification, that performance
requirement appear to have been met. There are three ways to test program.
For correctness
For implementation efficiency
For computational complexity
Test for correctness are supposed to verify that a program does exactly what it was
designed to do. This is much more difficult than it may at first appear, especially for
large programs.
For Admin
Challenge Mitigation
Getting access to production data and Ensure that test data meets regulatory
replicating it as test data, for testing is compliances requirements and guidelines
challenging Maintain the data confidentiality by
following techniques like data masking,
synthetic test data, testing system
integration, etc.
There may be the cases where The test should participate in the
requirements are not documented well and project right from Requirement Analysis
may lead to functional gaps in test plan phases and should actively review the
Many non-functional requirements are Business Requirements
not fully documented, and testers do not
know whether to test it or not
Summary
Banking domain is the most vulnerable area for cyber-theft, and safeguarding the
software requires precise testing. This tutorial gives a clear idea of what it takes for
banking domain testing and how important it is. One must understand that -
CONCLUSION
“Banking System " keeps the day by day tally record as a complete banking. It can keep
the information of Account type, account opening form, Deposit, Withdrawal, and
Searching the transaction, Transaction report, Individual account opening form, Group
Account. The exciting part of this project is; it displays Transaction reports, Statistical
Summary of Account type and Interest Information.
BIBLIOGRAPHY
BOOKS:
1. Charles Hampfed (2000) ‘Visual Basic’ University of
Toronto
2. Herbert Schildt (2000) ‘Visual Basic 6.0’ Tata McGraw Hill
3. John Zukowski (2000) ‘Visual Basic 6.0’ ‘BPB Publications
4. Jamie Jaworsky ‘Visual Basic 6.0’Techmedia
5. Stefen Denninger ‘Visual Basic 6.0’Author’s Press
6. Ian Somerville ‘Software engineering’
7. Rajeev mall ‘Software engineering’
8. Elmasri Navathe ‘Fundamentals of database systems’
ONLINE REFERENCE:
www.w3schools.com
www.theserverside.com