Professional Documents
Culture Documents
Ds Project
Ds Project
On
BANK MANEGEMENT SYSTEM
Submitted by
22W91A0516 A NISHITHA
22W91A0533 B YAMINI
22W91A0546 B HARIKA
22W91A0516 B MANIKANTA PRASAD
1
Abstract
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
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++)
Documentation Tools:
Tools for creating and maintaining project documentation (e.g.,
Markdown, LaTeX)
Backup (Manual):
Manual backup mechanisms for project files and data
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);
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");
}
}
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
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
19