Download as pdf or txt
Download as pdf or txt
You are on page 1of 33

lOMoARcPSD|42272512

Banking Management System

masters in computer applications (Jagan Institute of Management Studies)

Scan to open on Studocu

Studocu is not sponsored or endorsed by any college or university


Downloaded by Madiha Kulsum (madihakulsum2005@gmail.com)
lOMoARcPSD|42272512

BANKING MANAGEMENT SYSTEM


A Project Report
Submitted in partial fulfilment
for the Degree of
Master of Computer Applications

Supervisor’s Name – Submitted By-


DR. MANJU ARORA MS. RIMJHIM MUKHERJEE
Enrolment No- 030221013
IInd Semester

JaganNath University
Bahadurgarh (NCR)
(2021-23)

Downloaded by Madiha Kulsum (madihakulsum2005@gmail.com)


lOMoARcPSD|42272512

PROJECT CERTIFICATE

This is to certify that the project report entitled BANKING MANAGEMENT SYSTEM
submitted to JaganNath University, Bahadurgarh in partial fulfilment of the requirement
for the award of the degree of MASTER OF COMPUTER APPLICATIONS (MCA), is
an original work carried out by Ms. Rimjhim Mukherjee Enrolment No.: 030221013 under
the guidance of Dr. Manju Arora. The matter embodied in this project is a genuine work
done by the student and has not been submitted whether to this University or to any other
University / Institute for the fulfilment of the requirement of any course of study.

Supervisor’s Signature:

Supervisor’s Name: Dr. Manju Arora

Name of the Student: Rimjhim Mukherjee

Signature of the Student:

Enrolment No.: 030221013

IInd Semester

Downloaded by Madiha Kulsum (madihakulsum2005@gmail.com)


lOMoARcPSD|42272512

ACKNOWLEDGEMENT

In completing this project report on project titled BANKING MANAGEMENT


SYSTEM, I had to take the help and guideline of a few respected people, who deserve
my greatest gratitude.
The completion of this project report gives me much Pleasure. I would like to show my
gratitude to respected Dr. Manju Arora for valuable guidance for the project. I would
also like to expand my deepest gratitude to all those who have directly and indirectly
guided us in writing this project report.
Many people, especially my classmates and friends themselves, have made valuable
comments and suggestions on this proposal which gave me inspiration to improve my
project. Here I thank all the people for their help directly and indirectly to complete this
project report.

RIMJHIM MUKHERJEE

Downloaded by Madiha Kulsum (madihakulsum2005@gmail.com)


lOMoARcPSD|42272512

INDEX

S.NO. TOPIC PAGE NO.

1. Introduction 01
2. Objective 02
3. Tools and Technology used 03
3.1 Hardware 03
3.2 Software 03
4. Software Requirement Specification 04
4.1 Feasibility Study 04
5. System Design 05
5.1 Entity Relationship Diagram 05
5.2 Data Flow Diagram 06
5.3 Data Dictionary 07
6. User Interface 08-15
7. Coding 16-23
8. Testing 24,25
9. Limitations 26
10. Future Application 27
11. Bibliography

Downloaded by Madiha Kulsum (madihakulsum2005@gmail.com)


lOMoARcPSD|42272512

1. INTRODUCTION

The banking management system undertaken as a project is based on relevant


technologies. The main aim of this project is to develop software for bank management
system. This project has been developed to carry out the processes easily and quickly,
which is not possible with the manuals systems, which is overcome by this software.
Banking management system is the complicated software system which is aimed at
the professional management of the client’s activities in the bank and high-quality and
quick access to the client’s account.
With the rapid development of the banking system, the necessity of the high-quality
bank management system has become extremely relevant. Today, there is hardly a
person in the world who is not involved into the banking services and naturally,
everyone has an account in a bank and saves money there. It is obvious that everyone
wants to have the constant access to his finance but it is impossible without the high-
quality management system which provides clients with such opportunities 24/7.
Naturally, the financial institutions work only in the definite hours of the day, but if the
client requires the access to his finance at night or does not have the opportunity to
come to the bank, his wish will be failed. In order to enable clients, operate their
accounts well, the bank management system was created. Today, due to the
development of the online banking the opportunities of both the financial institutions
and clients have become extremely wide. The project is developed using C language
and hence it provides the complete solution for the current management system.

Downloaded by Madiha Kulsum (madihakulsum2005@gmail.com)


lOMoARcPSD|42272512

2. OBJECTIVE

 To allow only authorized user to access various function and processed available
in the system.
 Locate any account wanted by the user.
 Reduce clerical work as most of the work done by the computer.
 Provide greater speed and reduced time consumption.

Downloaded by Madiha Kulsum (madihakulsum2005@gmail.com)


lOMoARcPSD|42272512

3. TOOLS AND TECHNOLOGIES USED

The software is designed to be light-weighted so that it doesn’t be a burden on the


machine running it. This system is being build keeping in mind the generally available
hardware and software compatibility. Here are the minimum hardware and software
requirement for virtual assistant.

3.1 HARDWARE:

Processor AMD Ryzen 5 5500U with Radeon


Graphics 2.10 GHz
Random Access Memory 8.00 GB
(RAM)
Hard disk 64-bit operating system, x64-based
processor

3.2 SOFTWARE:

Operating System Windows 11


Tool Microsoft Visual Studio
Language C

Downloaded by Madiha Kulsum (madihakulsum2005@gmail.com)


lOMoARcPSD|42272512

4. SOFTWARE REQUIREMENT SPECIFICATION

How the online banking will interact with the environment, what will be the functional
and non-functional requirement. These all the steps should be defined here for providing
a powerful base to the design phase. The design of the project will completely depend
on the functional and non-functional requirements. So, these should be defined clearly
and accurately for the effectiveness.

4.1 FEASIBLITY STUDY

Feasibility study can help us to determine whether or not we should proceed with our
project. It is essential to evaluate cost and benefit. It is essential to evaluate cost and
benefit of the proposed system. It further classified into 3 aspects: -
 Technical feasibility: Issues to be studied are, whether the work for the project
will be done with current equipment, existing software technology and available
personnel? If the new technology is required then what is the likelihood that it
can be developed?
 Operational feasibility: Issues to be studied are, is there sufficient support for
management and users? Is the current method acceptable to users? Will the
proposed system cause any harm?
 Economic feasibility: Issue to be studied are, whether the new system is cost
effective or not? The benefits in the form of reduced form?
This banking management system is economically feasible. As the hardware was
installed from quite beginning, the cost on project of hardware is low. Similarly,
the software loaded for this project was used even after this project was under
budget. Moreover, the technical requirements were already available so there
was no further expenditure for buying software packages.

This project is technically feasible with no external hardware requirements. Also, it is


simple in operation and does not cost training or repairs. Overall feasibility study of the
project reveals that the goals of the proposed system are achievable. Decision is taken to
proceed with the project.

Downloaded by Madiha Kulsum (madihakulsum2005@gmail.com)


lOMoARcPSD|42272512

5. SYSTEM ANALYSIS

The requirement specifications from the first phase are studied in this phase and system
design is prepared. System Design helps in specifying hardware and system 12
requirements and also helps in defining overall system architecture. The software code
to be written in the next stage is created now.

5.1 ENTITY RELATIONSHIP DAIGRAM (ERD)

BName
BID

1
Bank
has

M name
Branch
1 UID

dob
has
acType Account
Holder
Deposit
M
1 pnum
1 accNum
Balance
have
Amount

Withdraw
Transfer

Fig. 5.1

Downloaded by Madiha Kulsum (madihakulsum2005@gmail.com)


lOMoARcPSD|42272512

5.2 DATA FLOW DAIGRAM

5.2.1 DFD Level 0 (Context Level Diagram)

User Info

Verify User Banking


ADMIN Management
System

Fig. 5.2.1
5.2.2 DFD Level 1 (Context Level Diagram)

1.1
LOGIN

1.2
ADD

ADMIN RECORD.txt
1.3
VIEW

1.4
UPDATE

1.5
DELETE

Fig 5.2.2

5.3 DATA DICTIONARY


6

Downloaded by Madiha Kulsum (madihakulsum2005@gmail.com)


lOMoARcPSD|42272512

RECORD
Name Data Type Size Description

Name char 20 Name of the new user

Account number of 15 digit


AccNum char 50
given by the new user
Account type
AcType char 20 (saving/current/salary) of the
new user
Date of birth(dd-mm-yyyy)
Dob char 20
given by the new user
Mobile number of the new
Pnum char 14
user

Downloaded by Madiha Kulsum (madihakulsum2005@gmail.com)


lOMoARcPSD|42272512

6. USER INTERFACE DESIGN

 WELCOME PAGE

Fig. 6.1
 CREATE NEW ACCOUNT

Fig. 6.2

Downloaded by Madiha Kulsum (madihakulsum2005@gmail.com)


lOMoARcPSD|42272512

 LOGIN

Fig. 6.3

 MAIN MENU

Fig. 6.4

Downloaded by Madiha Kulsum (madihakulsum2005@gmail.com)


lOMoARcPSD|42272512

 BALANCE ENQUIRY (INITIAL STAGE)

Fig. 6.5

 DEPOSIT AMOUNT

Fig. 6.6

10

Downloaded by Madiha Kulsum (madihakulsum2005@gmail.com)


lOMoARcPSD|42272512

 BALANCE ENQUIRY (AFTER DEPOSIT)

Fig. 6.7
 WITHDRAW AMOUNT (BELOW Rs.500)

Fig. 6.8
11

Downloaded by Madiha Kulsum (madihakulsum2005@gmail.com)


lOMoARcPSD|42272512

 WITHDRAW AMOUNT (MORE THAN BALANCE)

Fig. 6.9
 WITHDRAW AMOUNT

Fig. 6.10

12

Downloaded by Madiha Kulsum (madihakulsum2005@gmail.com)


lOMoARcPSD|42272512

 BALANCE ENQUIRY (AFTER WITHDRAW)

Fig. 6.11
 TRANSFER (MORE THAN BALANCE)

13

Downloaded by Madiha Kulsum (madihakulsum2005@gmail.com)


lOMoARcPSD|42272512

Fig. 6.12
 TRANSFER (UNREGISTERED MOBILE NUMBER)

Fig. 6.13
 TRANSFER AMOUNT

14

Downloaded by Madiha Kulsum (madihakulsum2005@gmail.com)


lOMoARcPSD|42272512

Fig. 6.14

 CHANGE MOBILE NUMBER (WITH UNREGISTERED


NUMBER)

Fig. 6.15
 CHANGE MOBILE NUMBER

15

Downloaded by Madiha Kulsum (madihakulsum2005@gmail.com)


lOMoARcPSD|42272512

Fig. 6.16
7. CODING

//-------- BANKING MANAGEMENT SYSTEM BY RIMJHIM MUKHERJEE --------

// Header File
#include <stdio.h>
#include <conio.h>
#include <stdlib.h>
#include <time.h>
#include <string.h>
#include <windows.h>

// Structure for user


struct user
{
char name[20];
char accNum[50];
char acType[20];
char dob[20];
char pnum[14];
float balance;
};
// Function to print line at specific position in console using coordinate
void gotoxy(int x, int y)
{
COORD c;
c.X = x;
c.Y = y;
SetConsoleCursorPosition(GetStdHandle(STD_OUTPUT_HANDLE), c);
}

int main(){
// Taking variables to access structure
struct user user, usr;
char filename[50], name[20], accNum[16], name2[20], pnum[14], accNum2[16];
16

Downloaded by Madiha Kulsum (madihakulsum2005@gmail.com)


lOMoARcPSD|42272512

// File pointers taken to maintain record


FILE *fp, *fptr;
int ch, choice;
int amount;
char cont = 'y';
// Taking time_t type store calendar time
time_t tm;
time(&tm);
// Home screen of the BMS
gotoxy(40, 20);
printf("W E L C O M E T O B A N K I N G M A N A G E M E N T S Y S T E M");
gotoxy(35, 21);
printf("................................................................................");
gotoxy(50, 24);
printf("| 1. CREATE NEW ACCOUNT \t\t|");
gotoxy(50, 26);
printf("| 2. ALREADY HAVE AN ACCOUNT? LOGIN |");
gotoxy(50, 27);
printf(" _____________________________________");
printf("\n\n\n\nENTER YOUR CHOICE -> ");
scanf("%d", &ch);
system("cls");
if (ch == 1){
// Sign/Registration form
gotoxy(56, 11);
printf("C R E A T E Y O U R A C C O U N T");
gotoxy(48, 12);
printf(" ________________________________________________");
gotoxy(50, 15);
printf("CREATE 15 DIGIT ACCOUNT NUMBER -> ");
scanf("%s", user.accNum);
gotoxy(50, 17);
printf("NAME -> ");
scanf("%s", user.name);
gotoxy(50, 19);

17

Downloaded by Madiha Kulsum (madihakulsum2005@gmail.com)


lOMoARcPSD|42272512

printf("ACCOUNT TYPE -> ");


scanf("%s", user.acType);
gotoxy(50, 21);
printf("DOB(dd-mm-yyyy) -> ");
scanf("%s", user.dob);
gotoxy(50, 23);
printf("MOBILE NUMBER -> ");
scanf("%s", user.pnum);
user.balance = 0;
strcpy(filename, user.name);
fp = fopen(strcat(filename, ".txt"), "w");
fwrite(&user, sizeof(user), 1, fp);
if (fwrite != 0){
gotoxy(50, 26);
printf("| SUCCESSFULLY ACCOUNT CREATED |");
}
}
else if (ch == 2){
// Login form
gotoxy(56, 11);
printf("L O G I N");
gotoxy(52, 12);
printf(" ___________________");
gotoxy(54, 15);
printf("NAME -> ");
scanf("%s", name);
gotoxy(54, 17);
printf("ACCOUNT NUMBER -> ");
scanf("%s", accNum);
system("cls");
fp = fopen(strcat(name, ".txt"), "r");
gotoxy(50, 20);
// To check the account number is correct or not
if (fp == NULL)
printf("| INVALID ACCOUNT NUMBER |");

18

Downloaded by Madiha Kulsum (madihakulsum2005@gmail.com)


lOMoARcPSD|42272512

else{
fread(&user, sizeof(struct user), 1, fp);
fclose(fp);
if (!strcmp(accNum, user.accNum)){
while (cont == 'y'){
//After successfully login, user will be directed to the main menu
gotoxy(59, 10);
printf(" WELCOME %s", user.name);
gotoxy(58, 12);
printf("M A I N M E N U");
gotoxy(50, 13);
printf(" _____________________________");
gotoxy(50, 15);
printf("| 1. BALANCE INQUIRY\t\t|");
gotoxy(50, 17);
printf("| 2. DEPOSIT AMOUNT\t\t|");
gotoxy(50, 19);
printf("| 3. WITHDRAW AMOUNT\t\t|");
gotoxy(50, 21);
printf("| 4. TRANSFER TO YOUR ACCOUNT |");
gotoxy(50, 23);
printf("| 5. CHANGE MOBILE NUMBER\t|");
gotoxy(50, 25);
printf("| 6. EXIT\t\t\t|");
gotoxy(50, 26);
printf(" _____________________________");
printf("\n\n\n\nENTER YOUR CHOICE -> ");
scanf("%d", &choice);
switch (choice){
case 1:
printf("\n\n\n\t\t| Your current balance is Rs.%.2f |",
user.balance);
getch();
system("cls");
break;

19

Downloaded by Madiha Kulsum (madihakulsum2005@gmail.com)


lOMoARcPSD|42272512

case 2:
printf("\n\n\n\t\tENTER THE AMOUNT TO BE
DEPOSITED -> ");
scanf("%d", &amount);
user.balance += amount;
fp = fopen(name, "w");
fwrite(&user, sizeof(struct user), 1, fp);
// To check the amount deposited is greater than 0
if (fwrite != 0)
printf("\n\t\t| SUCCESSFULLY DEPOSITED Rs.
%d |", amount);
fprintf(fp, "Rs.%d has been deposited to your
account \n", amount);
fprintf(fp, "Day, Date and Time of transaction
%s\n\n", ctime(&tm)); fclose(fp);
getch();
system("cls");
break;

case 3:
printf("\n\n\n\t\tENTER WITHDRAWAL AMOUNT -> ");
scanf("%d", &amount);
// To check the amount withdrawn is more than 500
if (amount % 500 != 0)
printf("\n\t\t!! AMOUNT SHOULD BE ATLEAST
RS.500 !!");

// To check the amount withdrawn is less than the balance


else if (amount > user.balance)
printf("\n\t\t| SORRY! INSUFFICIENT BALANCE
|");
else{
user.balance -= amount;
fp = fopen(name, "w");
fwrite(&user, sizeof(struct user), 1, fp);

20

Downloaded by Madiha Kulsum (madihakulsum2005@gmail.com)


lOMoARcPSD|42272512

if (fwrite != 0)
printf("\n\t\t| SUCCESSFULLY WITHDRAWN Rs.
%d |", amount);
fprintf(fp, "Rs.%d has been withdraw to your
account \n", amount);
fprintf(fp, "Day, Date and Time of transaction
%s\n\n", ctime(&tm));
fclose(fp);
}
getch();
system("cls");
break;
case 4:
// To take the information of the person to whom the
amount will be transferred
printf("\n\n\n\t\tPERSON'S NAME -> ");
scanf("%s", &name2);
printf("\n\t\tACCOUNT NUMBER OF THE PERSON ->
");
scanf("%s", &accNum2);
printf("\n\t\tHOW MUCH AMOUNT TO BE
TRANSFERRED? -> ");
scanf("%d", &amount);
printf("\n\t\tENTER YOUR REGISTERED MOBILE
NUMBER -> ");
scanf("%s", &pnum);
// To check the amount withdrawn should be less than the
balance
if (amount > user.balance)
printf("\n\t\t| SORRY! INSUFFICIENT BALANCE
|");
else{
fptr = fopen(strcat(pnum, ".dat"), "r");
// The entered mobile number is not registered
if (fptr == NULL)

21

Downloaded by Madiha Kulsum (madihakulsum2005@gmail.com)


lOMoARcPSD|42272512

printf("\n\t\t!! INCORRECT MOBILE


NUMBER !!");
else{
fread(&usr, sizeof(struct user), 1, fptr);
fclose(fptr);
usr.balance += amount;
fptr = fopen(pnum, "w+");
fwrite(&usr, sizeof(struct user), 1, fptr);
// The tranferring amount should not be 0
if (fwrite != 0){
printf("\n\t\t| SUCCESSFULLY TRANSFERRED
Rs.%d |", amount);
fclose(fptr);
user.balance -= amount;
strcpy(filename, user.pnum);
fp = fopen(strcat(filename, ".txt"), "w+");
fwrite(&user, sizeof(struct user), 1, fp);
fclose(fp);
}
}
}
getch();
system("cls");
break;

case 5:
// To update the new number and remove the previous number
printf("\n\n\n\t\tOLD MOBILE NUMBER -> ");
scanf("%s", pnum);
if (!strcmp(pnum, user.pnum)){
printf("\n\t\tNEW MOBILE NUMBER -> ");
scanf("%s", pnum);
strcpy(user.pnum, pnum);
strcpy(filename, user.name);

22

Downloaded by Madiha Kulsum (madihakulsum2005@gmail.com)


lOMoARcPSD|42272512

fp = fopen(strcat(filename, ".txt"), "w+");


fwrite(&user, sizeof(struct user), 1, fp);
fclose(fp);
printf("\n\t\t| MOBILE NUMBER SUCCESSFULLY CHANGED
|");
}
else
printf("\n\t\t| SORRY! INCORRECT MOBILE NUMBER |");
getch();
system("cls");
break;

default:
break;
}
gotoxy(50, 20);
printf("Press Y to continue -> ");
scanf("%s", &cont);
system("cls");
}
}
else{
gotoxy(58, 12);
printf("| INCORRECT ACCOUNT NUMBER |");
}
}
system("cls");
gotoxy(50, 17);
printf("| T HA N K Y O U F O R U S I N G O U R B A N K I N G S E R V I C E S
|\n\n\n\n");
}
return 0;
}

23

Downloaded by Madiha Kulsum (madihakulsum2005@gmail.com)


lOMoARcPSD|42272512

8. TESTING AND VALIDATION

Testing is a process of executing the program with the intent of finding errors and it
establishes confidence that the program does what it is supposed to do.
Validation testing is confirmation that a product meets its intended use and the needs of
its users. Following are the pass result of successful and unsuccessful test cases for
validation testing in the actual (or simulated) use software.

LOGIN TEST CASE


TEST CASE DESCRIPTION EXPECTED RESULT
RESULT
Successful User will enter his/her name and Display welcome
login account number <name> and the main PASS
menu

Unsuccessful While fetching the input if the Display invalid


login user enters incorrect name or account number PASS
account number

MAIN MENU TEST CASE


TEST CASE DESCRIPTION EXPECTED RESULT RESULT

Successful User will press 1 to Display “| Your current balance


check check balance is Rs.<amount> |” PASS
balance

Successful User will press 2 and Display “| SUCCESSFULLY


deposit enters the amount to be DEPOSITED Rs.<amount> |” PASS
amount deposited

Successful User will press 3 and Display “| SUCCESFULLY


withdraw enters the minimum WITHDRAW Rs.<amount> |” PASS
amount ₹500/- or greater
amount to withdraw
User enters less than Display “!! AMOUNT
amount ₹500/- to SHOULD BE MULTIPLE OF PASS
Unsuccessful withdraw Rs.500 !!”
withdraw
User enters more Display “| SORRY!
amount
amount than the INSUFFICIENT BALANCE |” PASS
balance available

24

Downloaded by Madiha Kulsum (madihakulsum2005@gmail.com)


lOMoARcPSD|42272512

Successful User will press 4 and Display “| SUCCESSFULLY


transfer enters the name, TRANSFERRED PASS
amount account number and Rs.<amount> |”
amount to be
transferred and his/her
registered number
User enters transferred Display “| SORRY!
amount more than the INSUFFICIENT BALANCE |” PASS
Unsuccessful balance available
transfer
User enter unregistered Display “!! INCORRECT
amount
mobile number MOBILE NUMBER !!" PASS

Successful User will press 5 and Display “| MOBILE NUMBER


change the enters the previous SUCCESSFULLY CHANGED PASS
number registered number and |”
the new mobile number.

Unsuccessful User enters the Display “| SORRY!


change the incorrect registered INCORRECT MOBILE PASS
number mobile number NUMBER |”

25

Downloaded by Madiha Kulsum (madihakulsum2005@gmail.com)


lOMoARcPSD|42272512

9. LIMITATION

 Less security- In general, online banking sites and mobile apps are designed to be
secure and banks are continually putting updated security protocols in place. However,
no system is completely foolproof and accounts can be hacked, resulting in identity
theft via stolen login credentials.

 Lack of direct contact between customer and banking officer- Banking requires
effective customer service for handling issues faced by the user. But lack of customer
support creates disappointment among the customers. There are some online payments
which may not be reflected in the system due to technical issues. It also creates
insecurity among the customers. Thus, the lack of support from customer service
executive is a barrier in online banking.

 No Loan Facility- Banking Management System does not provide loan facility to the
customers.

26

Downloaded by Madiha Kulsum (madihakulsum2005@gmail.com)


lOMoARcPSD|42272512

10. FUTURE SCOPE / APPLICATION

Banking activities are considered to be the life blood of the national economy. Without
banking services, trading and business activities cannot be carried on smoothly. Banks
are the distributors and protectors of liquid capital which is of vital significance to a
developing country.
Efficient administration of the banking system helps in the economic Growth of the
nation. Banking is useful to trade and ecommerce.
Scope of this management system is very wide. Few of them are:
 There would be loan and other miscellaneous information’s
 E-money and PayPal
 Online Shopping
 Demand draft

This software can easily communicate with customer.


 Increased operational efficiency, profitability and productivity.
 Superior customer service.
 Improve management and accountability.
 Minimal transaction costs.
 Improved financial analysis capabilities.

27

Downloaded by Madiha Kulsum (madihakulsum2005@gmail.com)


lOMoARcPSD|42272512

BIBLIOGRAPHY

WEBSITE REFERRED
 www.stackoverflow.com
 www.freecodecamp.org
 www.codewithharry.com
 www.google.co.in

BOOKS REFERRED
 C Programming Language – Kernighan Brian W
 C: The Complete Reference – Herbert Schildt

Downloaded by Madiha Kulsum (madihakulsum2005@gmail.com)

You might also like