Download as docx, pdf, or txt
Download as docx, pdf, or txt
You are on page 1of 19

An industrial oriented micro project report

On
BANK MANEGEMENT SYSTEM
Submitted by
22W91A0516 A NISHITHA
22W91A0533 B YAMINI
22W91A0546 B HARIKA
22W91A0516 B MANIKANTA PRASAD

Under the Esteemed Guidance of


Mrs.S KAYALVIZHI
Assistant Professor
TO
Jawaharlal Nehru Technological University, Hyderabad
In partial fulfilment of the requirements for award of degree of
BACHELOR OF TECHNOLOGY
OF
COMPUTER SCIENCE AND ENGINEERING

DEPARTMENT OF COMPUTER AND SCIENCE


MALLA REDDY INSTITUTE OF ENGINEERING AND TECHNOLOGY
(UGC AUTONOMOUS)
(Sponsored by Malla Reddy Educational society)
(Affiliated to JNTU, Hyderabad)

Maisammaguda, Dhulapally post, Secunderabad-500014.


2023-2024

1
Abstract

The Bank Management System project aims to develop a robust and


user-friendly software solution for efficient management of banking
operations. In the contemporary financial landscape, where customer
expectations and transaction volumes are continually increasing, an
automated and integrated system becomes imperative for banks to
deliver seamless services.
The key features of the Bank Management System include the
creation and management of customer accounts, real-time display of
account information, secure financial transactions such as deposits
and withdrawals, and inter-account fund transfers. The system
ensures data integrity, confidentiality, and accuracy by implementing
robust security measures and error handling mechanisms.
With a user-friendly interface, the Bank Management System
provides an intuitive platform for both bank administrators and
customers, enhancing the overall banking experience. The system
facilitates improved customer service by automating routine tasks,
reducing manual errors, and accelerating transaction processing
times.
Furthermore, the Bank Management System is designed to be
scalable and adaptable to future technological advancements and
regulatory changes. It serves as a foundation for banks to streamline
their operations, improve efficiency, and stay competitive in an
evolving financial landscape.
In summary, the Bank Management System project addresses the
need for a comprehensive, secure, and efficient solution to manage
the intricacies of modern banking. It aligns with the industry's goal of
providing convenient and reliable financial services while ensuring
the integrity and confidentiality of sensitive customer information.

2
Introduction
In the fast-paced world of finance, where transactions occur
at the speed of digital communication, a robust and efficient
Bank Management System (BMS) serves as the cornerstone
for the seamless operation of financial institutions. This
sophisticated software solution is tailored to meet the diverse
needs of banks, providing a comprehensive platform that
automates, organizes, and optimizes various banking
processes.
Purpose of Bank Management System:
The Bank Management System is designed to streamline the
complex web of tasks that financial institutions handle on a
daily basis. From customer management to transaction
processing, the BMS aims to enhance operational efficiency,
ensure accuracy, and fortify security in an ever-evolving
financial landscape.

3
Dataset View:
Customers:
 Customer ID (unique identifier)
 Name
 Contact Information (phone number, email)
 Address
 Date of Birth
 Account Type (e.g., Savings, Checking)
 Account Status (e.g., Active, Inactive)
 Date of Account Creation
 Transaction History (linked to transactions dataset)
Accounts:
 Account Number (unique identifier)
 Customer ID (foreign key referencing Customers dataset)
 Balance
 Account Type
 Date of Account Creation
 Account Status
Transactions:
 Transaction ID (unique identifier)
 Account Number (foreign key referencing Accounts dataset)
 Transaction Type (e.g., Deposit, Withdrawal, Transfer)
 Amount
 Transaction Date and Time
 Transaction Status (e.g., Success, Pending, Failed)
 Description

Dataset Description:
Customers:
 Purpose: This dataset stores information about the bank's customers,
including personal details and account-related information.
 Usage: Used for customer management, authentication, and providing
personalized services.
 Updates: Customer information is updated when a new account is
created or when customer details change.

4
Accounts:
 Purpose: Contains details about individual bank accounts associated
with customers.
 Usage: Used for managing account balances, types, and status.
 Updates: Updated during account creation, transactions, and changes in
account status.
Transactions:
 Purpose: Records all financial transactions within the bank, such as
deposits, withdrawals, and transfers.
 Usage: Essential for tracking financial activities, generating statements,
and ensuring data integrity.
 Updates: Continuously updated as transactions occur.

Additional Considerations:
Security:
 Ensure that sensitive customer data, such as passwords and personal
identification details, is appropriately secured.
 Implement encryption for sensitive information.
Data Integrity:
 Use proper constraints and validation to maintain data integrity.
 Regularly perform data validation checks and audits.
Backup and Recovery:
 Establish regular backup procedures to prevent data loss.
 Have a recovery plan in place for system failures or data corruption.
Compliance:
 Ensure that the data collection and storage processes comply with
relevant regulations, such as data protection laws.
Scalability:
 Design the dataset with scalability in mind, considering potential
increases in the number of customers, accounts, and transactions.

5
Hardware Requirements:
Server:
 Processor: Quad-core processor or higher
 RAM: 8 GB or higher
 Storage: 100 GB or more (depending on the database size and
transaction volume)
 Network Interface Card (NIC): 1 Gbps or higher

Database Server:
 Separate server for hosting the database (if using a client-server
architecture)
 Consideration for backup and recovery solutions
 SSDs for faster database access (optional but recommended)

Client Machines:
 Processor: Dual-core processor or higher
 RAM: 4 GB or higher
 Storage: 50 GB or more (for local data storage)
 Network Interface Card (NIC): 100 Mbps or higher

Software Requirements:
Operating System:
 Server: Linux (e.g., Ubuntu, CentOS) or Windows
 Client Machines: Windows, Linux, or macOS

Database (if applicable):


 SQLite or a lightweight database system integrated with the C program

Programming Language:
 C language compiler (e.g., GCC for Linux, MinGW for Windows)

6
Development Environment:
 Code editor: Any text editor or IDE supporting C development (e.g.,
Code::Blocks, Dev-C++)

Version Control (Optional but recommended):


 Git for version control

Security Measures (Basic):


 Implement basic security measures in the C code to protect against
common vulnerabilities.

Documentation Tools:
 Tools for creating and maintaining project documentation (e.g.,
Markdown, LaTeX)

Communication Tools (Optional):


 Email or other communication tools for team collaboration

Backup (Manual):
 Manual backup mechanisms for project files and data

Project Management (Optional):


 Simple project management tools or techniques for planning and
tracking (e.g., task lists, spreadsheets)

7
Source Code for Bank Management System
project Using C Language
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
// Structure to store customer information
struct Customer {
int accountNumber;
char name[50];
float balance;
};

// Function prototypes
void createAccount(struct Customer *customers, int
*numCustomers);
void displayAccountInfo(struct Customer *customers, int
numCustomers);
void deposit(struct Customer *customers, int numCustomers);
void withdraw(struct Customer *customers, int numCustomers);
void transfer(struct Customer *customers, int numCustomers);
// Function to display menu options
void displayMenu() {
printf("\nBank Management System Menu\n");

8
printf("1. Create Account\n");
printf("2. Display Account Information\n");
printf("3. Deposit\n");
printf("4. Withdraw\n");
printf("5. Transfer\n");
printf("6. Exit\n");
printf("Enter your choice: ");
}
// Function to create a new account
void createAccount(struct Customer *customers, int
*numCustomers) {
printf("\nEnter customer name: ");
scanf("%s", customers[*numCustomers].name);
customers[*numCustomers].accountNumber = *numCustomers +
1;
printf("Enter initial balance: ");
scanf("%f", &customers[*numCustomers].balance);
(*numCustomers)++;
printf("Account created successfully. Account Number: %d\n",
*numCustomers);
}
// Function to display account information
void displayAccountInfo(struct Customer *customers, int
numCustomers) {

9
int accountNumber;
printf("\nEnter account number: ");
scanf("%d", &accountNumber);

if (accountNumber > 0 && accountNumber <= numCustomers) {


printf("\nAccount Information\n");
printf("Account Number: %d\n", customers[accountNumber -
1].accountNumber);
printf("Name: %s\n", customers[accountNumber - 1].name);
printf("Balance: $%.2f\n", customers[accountNumber -
1].balance);
} else {
printf("Invalid account number.\n");
}
}
// Function to deposit money
void deposit(struct Customer *customers, int numCustomers) {
int accountNumber;
float amount;
printf("\nEnter account number: ");
scanf("%d", &accountNumber);

if (accountNumber > 0 && accountNumber <= numCustomers) {

10
printf("Enter deposit amount: ");
scanf("%f", &amount);
customers[accountNumber - 1].balance += amount;
printf("Deposit successful. New balance: $%.2f\n",
customers[accountNumber - 1].balance);
} else {
printf("Invalid account number.\n");
}
}
// Function to withdraw money
void withdraw(struct Customer *customers, int numCustomers) {
int accountNumber;
float amount;
printf("\nEnter account number: ");
scanf("%d", &accountNumber);
if (accountNumber > 0 && accountNumber <= numCustomers) {
printf("Enter withdrawal amount: ");
scanf("%f", &amount);
if (amount <= customers[accountNumber - 1].balance) {
customers[accountNumber - 1].balance -= amount;
printf("Withdrawal successful. New balance: $%.2f\n",
customers[accountNumber - 1].balance);
}

11
else
{
printf("Insufficient funds.\n");
}
} else {
printf("Invalid account number.\n");
}
}

// Function to transfer money between accounts


void transfer(struct Customer *customers, int numCustomers) {
int sourceAccount, targetAccount;
float amount;
printf("\nEnter source account number: ");
scanf("%d", &sourceAccount);
printf("Enter target account number: ");
scanf("%d", &targetAccount);
if (sourceAccount > 0 && sourceAccount <= numCustomers &&
targetAccount > 0 && targetAccount <= numCustomers &&
sourceAccount != targetAccount) {
printf("Enter transfer amount: ");
scanf("%f", &amount);
if (amount <= customers[sourceAccount - 1].balance) {

12
customers[sourceAccount - 1].balance -= amount;
customers[targetAccount - 1].balance += amount;
printf("Transfer successful. New balance for source account
(%d): $%.2f\n", sourceAccount, customers[sourceAccount -
1].balance);
printf("New balance for target account (%d): $%.2f\n",
targetAccount, customers[targetAccount - 1].balance);
}
else
{
printf("Insufficient funds in the source account.\n");
}
}
else
{
printf("Invalid account numbers or source and target accounts
are the same.\n");
}
}
int main() {
struct Customer customers[100]; // Assuming a maximum of 100
customers
int numCustomers = 0;
int choice;

13
do {
displayMenu();
scanf("%d", &choice);
switch (choice) {
case 1:
createAccount(customers, &numCustomers);
break;
case 2:
displayAccountInfo(customers, numCustomers);
break;
case 3:
deposit(customers, numCustomers);
break;
case 4:
withdraw(customers, numCustomers);
break;
case 5:
transfer(customers, numCustomers);
break;
case 6:
printf("Exiting the program. Goodbye!\n");
break;

14
default:
printf("Invalid choice. Please enter a valid option.\n");
}
} while (choice != 6);
return 0;
}

15
OUTPUT:
1. Create Account
2. Display Account Information
3. Deposit
4. Withdraw
5. Transfer
6. Exit
Enter your choice: 1
Enter customer name: Harika
Enter initial balance: 10000
Account created successfully. Account Number: 1

Bank Management System Menu


1. Create Account
2. Display Account Information
3. Deposit
4. Withdraw
5. Transfer
6. Exit
Enter your choice: 1
Enter customer name: Yamini
Enter initial balance: 5000
Account created successfully. Account Number: 2

Bank Management System Menu


1. Create Account
2. Display Account Information
3. Deposit
4. Withdraw
5. Transfer
6. Exit
Enter your choice: 5
Enter source account number: 1
Enter target account number: 2
Enter transfer amount: 550
16
Transfer successful. New balance for source account (1): $9450.00
New balance for target account (2): $5550.00

Bank Management System Menu


1. Create Account
2. Display Account Information
3. Deposit
4. Withdraw
5. Transfer
6. Exit
Enter your choice: 2
Enter account number: 1
Account Information
Account Number: 1
Name: Harika
Balance: $9450.00

Bank Management System Menu


1. Create Account
2. Display Account Information
3. Deposit
4. Withdraw
5. Transfer
6. Exit
Enter your choice: 6
Exiting the program. Goodbye!

17
Conclusion
the Bank Management System (BMS) represents a cornerstone in the
modern financial ecosystem, serving as a robust and adaptive
solution for banks to navigate the complexities of the digital age. The
system's primary objective is to enhance operational efficiency, and it
accomplishes this by automating core processes such as customer
management, account handling, and transaction processing. This not
only streamlines daily operations but also contributes to minimizing
errors and ensuring the swift and accurate execution of financial
transactions, ultimately improving overall service delivery.
Security is a paramount concern in the financial sector, and the BMS
rises to the challenge by implementing advanced security measures.
Through robust user authentication, encryption protocols, and
adherence to regulatory standards, the system safeguards sensitive
financial data against potential cyber threats. This commitment to
security not only protects the integrity of the institution but also
builds trust among customers and regulatory bodies, fostering long-
term relationships.
The customer-centric approach of the BMS is evident in its emphasis
on user-friendly interfaces for online and mobile banking. By
providing customers with seamless access to services, the system not
only meets the evolving expectations of the digital consumer but also
contributes to increased customer satisfaction and loyalty. Moreover,
the BMS empowers decision-makers by providing comprehensive
reporting and analytics, facilitating informed decision-making,
strategic planning, and regulatory compliance.
As technological advancements continue to reshape the financial
landscape, the adaptability of the BMS ensures that financial
institutions can stay ahead of the curve. Its continuous innovation
positions banks to remain competitive, responsive to market
dynamics, and committed to delivering secure, efficient, and
customer-centric services in an ever-evolving financial environment.

18
References
Books:
 "Bank Management and Financial Services" by Peter S. Rose
and Sylvia C. Hudgins
 "Information Systems for Business: An Experiential Approach"
by France Belanger and Craig Van Slyke
Academic Journals:
 International Journal of Banking, Risk and Insurance
 Journal of Banking and Finance

Websites and Online Resources:


 Banking Technology
 IBM Banking Industry Insights:

19

You might also like