Professional Documents
Culture Documents
Banking Management System
Banking Management System
JaganNath University
Bahadurgarh (NCR)
(2021-23)
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:
IInd Semester
ACKNOWLEDGEMENT
RIMJHIM MUKHERJEE
INDEX
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
1. INTRODUCTION
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.
3.1 HARDWARE:
3.2 SOFTWARE:
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.
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.
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.
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
User Info
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
RECORD
Name Data Type Size Description
WELCOME PAGE
Fig. 6.1
CREATE NEW ACCOUNT
Fig. 6.2
LOGIN
Fig. 6.3
MAIN MENU
Fig. 6.4
Fig. 6.5
DEPOSIT AMOUNT
Fig. 6.6
10
Fig. 6.7
WITHDRAW AMOUNT (BELOW Rs.500)
Fig. 6.8
11
Fig. 6.9
WITHDRAW AMOUNT
Fig. 6.10
12
Fig. 6.11
TRANSFER (MORE THAN BALANCE)
13
Fig. 6.12
TRANSFER (UNREGISTERED MOBILE NUMBER)
Fig. 6.13
TRANSFER AMOUNT
14
Fig. 6.14
Fig. 6.15
CHANGE MOBILE NUMBER
15
Fig. 6.16
7. CODING
// Header File
#include <stdio.h>
#include <conio.h>
#include <stdlib.h>
#include <time.h>
#include <string.h>
#include <windows.h>
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
17
18
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
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 !!");
20
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
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
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
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.
24
25
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
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
27
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