0% found this document useful (0 votes)
31 views39 pages

Animesh Industrial Training Report

The document discusses developing a banking management system as an industrial training project. It includes an introduction describing the motivation and objectives of the project, which are to introduce more user-friendliness in banking activities and provide a computerized system. The document also covers literature review on existing systems, analysis, system design including ER diagrams, implementation, testing and conclusions.

Uploaded by

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

Animesh Industrial Training Report

The document discusses developing a banking management system as an industrial training project. It includes an introduction describing the motivation and objectives of the project, which are to introduce more user-friendliness in banking activities and provide a computerized system. The document also covers literature review on existing systems, analysis, system design including ER diagrams, implementation, testing and conclusions.

Uploaded by

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

INDUSTRIAL TRAINING REPORT

ON
“Bank Management System”

Submitted in partial fulfillment of the requirements for the award of the


degree of

Bachelor of Technology in
Computer Science and Engineering
(2020-2024)

Submitted To: Submitted By:


Dr. Veerendra Yadav Animesh
00296502720

HMR INSTITUTE OF TECHNOLOGY AND MANAGEMENT


HAMIDPUR, NEW DELHI – 110036
Affiliated To
GURU GOBIND SINGH INDRAPRASTHA UNIVERSITY

1
DECLARATION
I ANIMESH student of B.Tech. Computer Science and Engineering, declare that the project titled “BANK
MANAGEMENT SYSTEM” which is submitted by me to Department of computer science and engineering,
HMR INSTITUTE OF TECHNOLOGY AND MANAGEMENT, HAMIDPUR DELHI affiliated to Guru
Gobind Singh Indraprastha University.

Animesh Date: - 27/12/2022


CSE-5C
00296502720

2
ACKNOWLEDGEMENT

The internship opportunity that I had with Great learning, was a great chance for learning and professional
development. Therefore, I consider myself as a very lucky individual as I was provided with an opportunity
to be a part of it. I am also grateful for having a chance to meet intellectual leaders and professionals who led
me through this internship period. Also, using this opportunity to extend my heartfelt gratitude and special
thanks to the founder of Great learning.

I am also thankful to our Director, Mr. V.C Pandey and all the faculty members of HMRITM for providing
me with the required knowledge that helped me complete the course and training.

I perceive this opportunity as a big milestone in my career development. I will strive to use the gained skills
and knowledge in the best possible way, and I will continue to work on their improvement, in order to attain
the desired career objective. Hope to continue cooperation with all of you in the future.

3
CERTIFICATE

4
Table of Contents
i.DECLARATION...................................................................................................................................... 2

ii.ACKNOWLEDGEMENT........................................................................................................................ 3

iii.CERTIFICATE ........................................................................................................................................ 4

1. INTRODUCTION ................................................................................................................................ 6

1.1 MOTIVATION .................................................................................................................................. 6

1.2 OBJECTIVE OF THE PROJECT .................................................................................................. 6

2. LITERATURE SURVERY .................................................................................................................. 8

2.1 INTRODUCTION .............................................................................................................................. 8

2.2 EXISTING SYSTEM ..................................................................................................................... 9

3. ANALYSIS ........................................................................................................................................ 12

3.1 INTRODUCTION ............................................................................................................................ 12

3.2 CONTENT DIAGRAM OF PROJECT ....................................................................................... 13

PROJECT OUTPUT .............................................................................................................................. 14

4. SYSTEM DESIGN............................................................................................................................. 16

4.1 INTRODUCTION ........................................................................................................................... 16

4.2 ER DIAGRAM ............................................................................................................................. 16

5. SYSTEM IMPLEMENTATION AND TESTING ............................................................................ 19

5.1 INTRODUCTION ............................................................................................................................ 19

5.2 EXPLANATION OF KEY FUNCTION ..................................................................................... 19

6. SUMMARY ....................................................................................................................................... 24

7. CONCLUSION .................................................................................................................................. 26

8. BIBLIOGRAPHY .............................................................................................................................. 27

9. APPENDIX ........................................................................................................................................ 28

5
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.

1.2 OBJECTIVE 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

6
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. It’s 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.

1.3 LIMITATION OF PROJECT


Technology has changed the way many tech-savvy customers do their banking. The onset of online banks has
made it possible for customers to conduct all banking virtually, without ever having to visit a brick-and-mortar
location. Choosing between online banking and traditional banking is mainly a matter of preference, but the
latter does offer plenty of features many customers would consider a major disadvantage.

1.3.1 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.

1.3.2 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.

7
LITERATURE SURVERY
2.1 INTRODUCTION

Information and communication technology (ICT) has helped to drive increasingly intense global
Competition. In the world history the most of the countries are most developed because of they are financially
very clear for how to use the high amount of money in the developing processing own country. We also use
the SOA architecture for providing the scalable and reliable service therefor we studied related to the SOA
architecture to know how we use to implementation process in our project using Service Oriented
Architectures (SOA). we also refer the paper who give the case study information about Scandinavian bank
and a Swiss bank These two banks are working on the basis of service-oriented architecture for providing the
service for the customer. SOA provides potential for greater organizational agility (and thereby
competitiveness).
In our project we provide the security questions when customer login with account to prevent the fraud and
provide the best security in the bank management system

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 analyst plays 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

8
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 this study 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.2 EXISTING SYSTEM

In the existing system the transactions are done only manually but in proposed system we have to computerize
all the banking transaction using the software Banking system.

2. 3 DISADVANTAGES OF EXISTING SYSTEM

• Lack of security of data.


• More man power.
• Time consuming.
• Consumes large volume of pare work.
• Needs manual calculations.
• No direct role for the higher officials.
• Damage of machines due to lack of attention.
To avoid all these limitations and make the working more accurately the system needs to be computerized.

2.4 PROPOSED SYSTEM

The aim of proposed system is to develop a system of improved facilities. The proposed system can overcome
all the limitations of the existing system. The system provides proper security and reduces the manual work.

2. 4 .1 ADVANTAGES OF THE PROPOSED SYSTEM

9
The system is very simple in design and to implement. The system requires very low system resources and
the system will work in almost all configurations. It has got following features: -

• Security of data.
• Ensure data accuracy.
• Proper control of the higher officials.
• Reduce the damages of the machines.
• Minimize manual data entry.
• Minimum time needed for the various processing.
• Greater efficiency
• Better service.
• User friendliness and interactive.
• Minimum time required.

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 fulfil 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 behaviours 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

10
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

11
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 statements
successfully.

Electronic banking is now more popular than ever and this is due to the introduction 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.

12
3.2 CONTENT DIAGRAM OF PROJECT

Fig 1. E-R Diagram of Project

13
PROJECT OUTPUT
STEP-1

STEP-2 MAIN MENU

14
STEP-3 TO CREATE AN ACCOUNT

15
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

Fig 2. E-R Diagram for withdraw “Account”

16
4.3 MODULE DESIGN
The Administrator logs in using the admin login. In this module two operations are done, during login the
login and password is verified with that in the database.

INPUT DESIGN
The design of input focuses on controlling the amount of input required, controlling the errors, avoiding delay,
avoiding extra steps and keeping the process simple. The input is designed in such a way so that it provides
security and ease of use with retaining the privacy. Input Design considered the following things:

• What data should be given as input?


• How the data should be arranged or coded?
• The dialog to guide the operating personnel in providing input.
• Methods for preparing input validations and steps to follow when error occur.

Fig 3. UML DIAGRAM

17
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 of screens. Appropriate
messages are provided as when needed so that the user will not be in a maze of instant. Thus, the objective of
input design is to create an input layout that is easy to follow.

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 modelling business data. By accurately modelling 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.

18
SYSTEM IMPLEMENTATION AND TESTING

5.1 INTRODUCTION
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.

5.2 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.
2. ctype.h- The ctype.h header file of the C Standard Library declares several functions that are useful
for testing and mapping characters. All the functions accept int as a parameter, whose value must be
EOF or representable as an unsigned char. All the functions return non-zero (true) if the argument c
satisfies the condition described, and zero(false) if not.
3. iomanip.h- for declaring several iostreams manipulators that take an argument.
4. conio.h- is a C header file used mostly by MS-DOS compilers to provide console input/output. It is
not part of the C standard library or ISO C, nor is it defined by POSIX. This header declares several
useful library functions for performing "console input and output" from a program.
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.

19
5.3 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
term’s 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 behaviour 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 of the 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 have uncovered
errors in the software also testing demonstrate that the software function appears to be working according to

20
the specification, that performance requirement appears to have been met. There are three ways to test
program. For correctness
• For implementation efficiency
• For computational complexity
• Test for correctness is 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.

Sample test cases


For Admin
Verify Admin login with valid and Invalid data
verify admin login without data
verify all admin home links
verify admin change password with valid and invalid data
verify admin change password without data
Verify admin change password with existing data
verify admin logout
For new Branch
create a new branch with valid and invalid data
create a new branch without data
create a new branch with existing branch data
verify reset and cancel option
Update branch with valid and invalid data
update branch without data
update branch with existing branch data
Verify cancel option
verify branch deletion with and without dependencies
Verify branch search option
For New Role
create a new role with valid and invalid data
create a new role without data
verify new role with existing data
verify role description and role types

21
Verify cancel and reset option
Verify role deletion with and without dependency
verify links in role details page
For customer & Visitors
Verify all visitor or customer links
Verify customers login with valid and invalid data
Verify customers login without data
Verify banker’s login without data
Verify banker’s login with valid or invalid data
For New users
create a new user with valid and invalid data
create a new user without data
create a new user with existing branch data
verify cancel and reset option
Update user with valid and invalid data
update user with existing data
Verify cancel option
Verify deletion of the user

22
5.4 Challenges in testing Banking domain & their Mitigation
Challenges tester might face during testing banking domain are

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.

The biggest challenge in testing banking system Ensure Data Migration Testing is complete
is during the migration of the system from the Ensure Regression Test cases are executed on
old system to the new system like testing of all old and new systems, and the results match.
the routines, procedures and plans. Also, how
the data will be fetched, uploaded and
transferred to the new system after migration.

There may be the cases where requirements are The test should participate in the project right
not documented well and may lead to functional from Requirement Analysis phases and should
gaps in test plan. actively review the Business Requirements.

Many non-functional requirements are not fully


documented, and testers do not know whether to
test it or not.

The most important point is to check whether the Compliance or Regulatory Policies testing must
said system follows the desired policies and be done.
procedures.

The scope and the timelines increase as banking Ensure Time budget for Integration testing is
application are integrated with other application accounted if your banking application has many
like internet or mobile banking. external interfaces.

23
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 –

• Majority of banking software are developed on Mainframe and Unix.


• Testing helps to lessen possible glitches encounter during software development.
• Proper testing and compliance to industry standards, save companies from penalties.
• Good practices help develop good results, reputation and more business for companies.
• Both manual and automated testing have respective merits and usability.

OUTPUT TESTING OR USER ACCEPTANCE TESTING


The system considered is tested for user acceptance; here it should satisfy the firm’s need. The software
should keep in touch with perspective system; user at the time of 13 developing and making changes
whenever required. This done with respect to the following points –

• Input Screen Designs,


• Output Screen Designs,
• Online message to guide the user and the like.

The above testing is done taking various kinds of test data. Preparation of test data plays a vital role in the
system testing. After preparing the test data, the system under study is tested using that test data. While
testing the system by which test data errors are again uncovered and corrected by using above testing steps
and corrections are also noted for future use.

Test Phases in Testing Banking Applications


For testing banking applications, different stages of testing include
• Requirement Analysis: It is done by business analyst; requirements for a particular banking application
are gathered and documented.
• Requirement Review: Quality analysts, business analysts, and development leads are involved in this
task. The requirement gathering document is reviewed at this stage, and cross-checked to ensure that it
does not affect the workflow.

24
• Business Requirements Documentation: Business requirements documents are prepared by quality
analysts in which all reviewed business requirements are covered.
• Database Testing: It is the most important part of bank application testing. This testing is done to ensure
data integrity, data loading, data migration, stored procedures, and functions validation, rules testing, etc.
• Integration Testing: Under integration testing all components that are developed are integrated and
validated.
• Functional Testing: The usual software testing activities like test case preparation, test case review and
test case execution is done during this phase.
• Security Testing: It ensures that the software does not have any security flaws. During test preparation,
QA team needs to include both negative as well as positive test scenarios so as to break into the system
and report it before any unauthorized individual access it. While to prevent from hacking, the bank should
also implement a multi-layer of access validation like a one-time password. For security testing,
automation tools like IBM AppScan and HPWebInspect are used while for manual testing tools like Proxy
Sniffer, Paros proxy, HTTP watch, etc. are used.
• Usability Testing: It ensures that differently able people should be able to use the system as normal user.
For example, ATM with hearing and Braille facility for disabled.
• User Acceptance Testing: It is the final stage of testing done by the end users to ensure the compliance
of the application with the real-world scenario.

25
CONCLUSION

• “Banking System " keeps the day-by-day tally record as a complete banking.
• Bank management system is a virtualization of transactions in banking system.
• 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.
• The banking system are used manual working but when we used online banking system it is totally
virtualization process which avoid manual process and converts it in automatic process.
• If user can make a transaction in bank management system it is available in anywhere also user can link
Aadhar with account, change branch location easily.
• Bank management system is saving the time with accuracy than bank manual system.

26
BIBLIOGRAPHY

1. Charles Hampfed (2000) ‘Visual Basic’ University of Toronto


2. Herbert Scheldt (2000) ‘Visual Basic 6.0’ Tata McGraw Hill
3. www.w3schools.com
4. www.theserverside.com

27
APPENDIX
//***************************************************************
// HEADER FILE USED IN PROJECT
//****************************************************************

#include<iostream>
#include<fstream>
#include<cctype>
#include<iomanip>
using namespace std;

//***************************************************************
// CLASS USED IN PROJECT
//****************************************************************

class account
{
int acno;
char name[50];
int deposit;
char type;
public:
void create account(); //function to get data from user
void show account() const; //function to show data on screen
void modify(); //function to add new data
void dep(int); //function to accept amount and add to balance amount
void draw(int); //function to accept amount and subtract from balance amount
void report() const; //function to show data in tabular format
int retacno() const; //function to return account number
int retdeposit() const; //function to return balance amount
char retype() const; //function to return type of account
}; //class ends here

28
void account::create account()
{
cout<<"\nEnter The account No. :";
cin>>acno;
cout<<"\n\nEnter The Name of The account Holder : ";
cin.ignore();
cin.getline(name,50);
cout<<"\nEnter Type of The account (C/S) : ";
cin>>type;
type=toupper(type);
cout<<"\nEnter The Initial amount(>=500 for Saving and >=1000 for current ) : ";
cin>>deposit;
cout<<"\n\n\nAccount Created..";
}

void account::show account() const


{
cout<<"\nAccount No. : "<<acno;
cout<<"\nAccount Holder Name : ";
cout<<name;
cout<<"\nType of Account : "<<type;
cout<<"\nBalance amount : "<<deposit;
}

void account::modify()
{
cout<<"\nAccount No. : "<<acno;
cout<<"\nModify Account Holder Name : ";
cin.ignore();
cin.getline(name,50);
cout<<"\nModify Type of Account : ";
cin>>type;
type=toupper(type);

29
cout<<"\nModify Balance amount : ";
cin>>deposit;
}

void account::dep(int x)
{
deposit+=x;
}

void account::draw(int x)
{
deposit-=x;
}

void account::report() const


{
cout<<acno<<setw(10)<<" "<<name<<setw(10)<<" "<<type<<setw(6)<<deposit<<endl;
}

int account::retacno() const


{
return acno;
}

int account::retdeposit() const


{
return deposit;
}

char account::rettype() const


{
return type;

30
}

//***************************************************************
// function declaration
//****************************************************************
void write_account(); //function to write record in binary file
void display_sp(int); //function to display account details given by user
void modify_account(int); //function to modify record of file
void delete_account(int); //function to delete record of file
void display_all(); //function to display all account details
void deposit_withdraw(int, int); // function to desposit/withdraw amount for given account
void intro(); //introductory screen function

//***************************************************************
// THE MAIN FUNCTION OF PROGRAM
//****************************************************************

int main()
{
char ch;
int num;
intro();
do
{
system("cls");
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";

31
cout<<"\n\n\tSelect Your Option (1-8) ";
cin>>ch;
system("cls");
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;

32
default :cout<<"\a";
}
cin.ignore();
cin.get();
}while(ch!='8');
return 0;
}

//***************************************************************
// function to write in file
//****************************************************************

void write_account()
{
account ac;
ofstream outFile;
outFile.open("account.dat",ios::binary|ios::app);
ac.create_account();
outFile.write(reinterpret_cast<char *> (&ac), sizeof(account));
outFile.close();
}

//***************************************************************
// function to read specific record from file
//****************************************************************

void display_sp(int n)
{
account ac;
bool flag=false;
ifstream inFile;
inFile.open("account.dat",ios::binary);
if(!inFile)
{

33
cout<<"File could not be open !! Press any Key...";
return;
}
cout<<"\nBALANCE DETAILS\n";

while(inFile.read(reinterpret_cast<char *> (&ac), sizeof(account)))


{
if(ac.retacno()==n)
{
ac.show_account();
flag=true;
}
}
inFile.close();
if(flag==false)
cout<<"\n\nAccount number does not exist";
}

//***************************************************************
// function to modify record of file
//****************************************************************

void modify_account(int n)
{
bool found=false;
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.eof() && found==false)

34
{
File.read(reinterpret_cast<char *> (&ac), sizeof(account));
if(ac.retacno()==n)
{
ac.show_account();
cout<<"\n\nEnter The New Details of account"<<endl;
ac.modify();
int pos=(-1)*static_cast<int>(sizeof(account));
File.seekp(pos,ios::cur);
File.write(reinterpret_cast<char *> (&ac), sizeof(account));
cout<<"\n\n\t Record Updated";
found=true;
}
}
File.close();
if(found==false)
cout<<"\n\n Record Not Found ";
}

//***************************************************************
// function to delete record of file
//****************************************************************

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;
}

35
outFile.open("Temp.dat",ios::binary);
inFile.seekg(0,ios::beg);
while(inFile.read(reinterpret_cast<char *> (&ac), sizeof(account)))
{
if(ac.retacno()!=n)
{
outFile.write(reinterpret_cast<char *> (&ac), sizeof(account));
}
}
inFile.close();
outFile.close();
remove("account.dat");
rename("Temp.dat","account.dat");
cout<<"\n\n\tRecord Deleted ..";
}

//***************************************************************
// function to display all accounts deposit list
//****************************************************************

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";

36
while(inFile.read(reinterpret_cast<char *> (&ac), sizeof(account)))
{
ac.report();
}
inFile.close();
}

//***************************************************************
// function to deposit and withdraw amounts
//****************************************************************

void deposit_withdraw(int n, int option)


{
int amt;
bool found=false;
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.eof() && found==false)
{
File.read(reinterpret_cast<char *> (&ac), sizeof(account));
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;

37
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)*static_cast<int>(sizeof(ac));
File.seekp(pos,ios::cur);
File.write(reinterpret_cast<char *> (&ac), sizeof(account));
cout<<"\n\n\t Record Updated";
found=true;
}
}
File.close();
if(found==false)
cout<<"\n\n Record Not Found ";
}

//***************************************************************
// INTRODUCTION FUNCTION
//****************************************************************

void intro()
{
cout<<"\n\n\n\t BANK";
cout<<"\n\n\tMANAGEMENT";
cout<<"\n\n\t SYSTEM";

38
cout<<"\n\n\n\nMADE BY : Animesh Mudgal";
cout<<"\n\nINSTITUTE : H.M.R INSTITUTE OF TECHNOLOGY AND MANAGEMENT";
cin.get();
}

//***************************************************************
// END OF PROJECT
//***************************************************************

39

You might also like