0% found this document useful (0 votes)
33 views20 pages

Computer Science - Investigatory Project XII

Uploaded by

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

Computer Science - Investigatory Project XII

Uploaded by

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

PM SHRI KENDRIYA VIDYALAYA NO:1

A.F.S TAMBARAM
BANK MANAGEMENT SYSTEM 2024-2025

DONE BY:
RADHIKA

CLASS: XII – ‘C’

ROLL NO. :12328

SUBJECT: COMPUTER SCIENCE


KENDRIYA VIDYALAYA NO:1
A.F.S TAMBARAM

XII COMPUTER SCIENCE


BANK MANAGEMENT SYSTEM
2024-2025

DONE BY: RADHIKA


CLASS: XII- ‘C’
ROLL NO. :12328
PROJECT MENTOR: Mr. Jitendra Sharma

CERTIFICATE
This is to certify that this project report entitled
BANK MANAGMENT is a bonafide record of the
project work done by RADHIKA of class XII- C , Roll
No. 12328 in the academic year 2024 – 2025. The
project has been submitted in fulfillment of AISSCE
for practical held at PM SHRI KENDRIYA VIDYALAYA
No.1 A.F.S Tambaram

Date:……… Teacher in
Charge:
Jitendra Sharma

Internal Examiner External


Examiner

PRINCIPAL

ACKNOWLEDGEMENT
I take this opportunity to place
record on my profound respect to
our principal, Mr. S. Arumugam for
guiding light to my success.

I would like to thank my subject


teacher
Mr. Jitendra Sharma (P.G.T
Computer science) who guided,
encouraged and supported me to
do this project work successfully.

I am really fortunate to receive the


blessings from my parents whose
profound love was the source of
inspiration for my endeavors.

I thank my friends and classmates


who helped me throughout the
project work.
INDEX

Sn0 Title Page


: NO:
1 OBJECTIVE
2 INTRODUCTION
3 SYSTEM REQUIREMENTS
4 MODULE IDENTIFICATION
5 SOURCE CODE
6 OUTPUT
7 LIMITATIONS
8 CONCLUSION
9 BIBLIOGRAPHY
OBJECTIVE
The objective of the banking management system is to develop a software
solution that facilitates efficient and secure management of banking
operations. This project aims to streamline the banking process by
providing a user-friendly interface for performing various transactions. The
key objectives of this system are to ; Create New Account which will allow
bank staff to create new accounts for customers. This functionality will
capture essential customer information such as name, address, contact
details, and account type; Deposit Amount that will Enable customers to
deposit money into their accounts. This feature should update the account
balance and transaction history accordingly; Withdraw Amount which will
allow customers to withdraw money from their accounts, ensuring that
the withdrawal amount does not exceed the available balance. This
functionality should also update the account balance and transaction
history; Balance Enquiry that Provide customers with the ability to check
their account balance at any time. This feature should retrieve and display
the current balance for the requested account; and lastly Exit to provide a
seamless option for users to exit the application gracefully.

To achieve these objectives, the system will utilize Python for the
application logic and MySQL as the database management system. The
MySQL connector will facilitate communication between the Python
application and the database, ensuring efficient storage and retrieval of
banking data.

Overall, the banking management system aims to enhance the efficiency,


accuracy, and security of banking operations, thereby improving the
customer experience and satisfaction.
INTRODUCTION
The ‘Bank management system’ mainly aims to
develop software for the bank management
system. This project has been developed to
carry out the banking process easily and
quickly.

This software provides scope for the following


fields of banking system:

1. CREATE NEW ACCOUNT


2. DEPOSIT AMOUNT
3. WITHDRAW AMOUNT
4. BALANCE ENQUIRY
5. DELETE ACCOUNT
6. EXIT
SYSTEM REQUIREMENTS

 SOFTWARE
 Operating System –Windows 7 and above.
 Python IDLE

 HARDWARE:
 Processor
 Keyboard
 Minimum memory - 2GB
MODULE IDENTIFICATION

The modules required for the Bank Management System are listed below:

1. User Interface Module: This module handles user interactions and presents the
options available in the banking system, such as creating a new account, depositing
or withdrawing funds, checking the balance, and exiting the system. It may utilize
libraries like Tkinter or PyQt for creating graphical user interfaces (GUIs).

2. Database Module: This module interacts with the MySQL database to perform
operations such as creating new accounts, updating account balances, and retrieving
account information. It utilizes the MySQL connector to establish a connection with
the database and execute SQL queries.

3. Account Management Module: This module handles account-related


functionalities such as creating new accounts, updating account details, and
generating unique account numbers. It ensures the integrity and security of account
information.

4. Transaction Module: This module manages deposit and withdrawal transactions,


ensuring that funds are transferred accurately between accounts and that
transaction records are properly recorded in the database.

By organizing the Bank Management System into these modular components, the
codebase becomes more manageable, scalable, and maintainable. Each module
encapsulates specific functionalities, making it easier to debug, test, and enhance the
system as needed.
SOURCE CODE

print("****BANK TRANSACTION****")

#creating database
import mysql.connector
mydb=mysql.connector.connect
(host="localhost",user="radhika", passwd="1234")
mycursor=mydb.cursor()
mycursor.execute("create database if not exists bank")
mycursor.execute("use bank")
#creating required tables
mycursor.execute("create table if not exists
bank_master(acno char(11) primary key,name
varchar(35),city char(25),mobileno char(10),balance
int(6))")
mycursor.execute("create table if not exists
banktrans(acno char (11),amount int(10),dot date,ttype
char(1),foreign key (acno) references
bank_master(acno))")
mydb.commit()
while(True):
print("1=Create account")
print("2=Deposit money")
print("3=Withdraw money")
print("4=Display account")
print("5=Delete an account")
print("6=Exit")
ch=int(input("Enter your choice:"))

#PROCEDURE FOR CREATING A NEW ACCOUNT OF


THE APPLICANT
if(ch==1):
print("All information prompted are mandatory to
be filled")
acno=str(input("Enter account number:"))
name=input("Entername(limit 35 characters):")
city=str(input("Enter city name:"))
mn=str(input("Enter mobile no.:"))
balance=0
mycursor.execute("insert into bank_master
values('"+acno+"','"+name+"','"+city+"','"+mn+"','"+st
r(balance)+"')")
mydb.commit()
print(f"Account is successfully created!!!\n")

#PROCEDURE FOR UPDATING DETAILS AFTER THE


DEPOSITION OF MONEY BY THE APPLICANT
elif(ch==2):
acno=str(input("Enter account number:"))
dp=int(input("Enter amount to be deposited:"))
dot=str(input("Enter date of Transaction: YYYY-MM-
DD "))
ttype="d"
mycursor.execute("insert into banktrans
values('"+acno+"','"+str(dp)+"','"+dot+"','"+ttype+"')")
mycursor.execute("update bank_master set
balance=balance+'"+str(dp)+"'where
acno='"+acno+"'")
mydb.commit()
print(f"money has been deposited successully!!!\
n")
#PROCEDURE FOR UPDATING THE DETAILS OF
ACCOUNT AFTER THE WITHDRAWL OF MONEY BY THE
APPLICANT
elif(ch==3):
acno=str(input("Enter account number:"))
wd=int(input("Enter amount to be withdrawn:"))
dot=str(input("enter date of transaction: YYYY-MM-
DD "))
ttype="w"
mycursor.execute("insert into banktrans
values('"+acno+"','"+str(wd)+"','"+dot+"','"+ttype+"')")
mycursor.execute("update bank_master set
balance=balance-'"+str(wd)+"'where
acno='"+acno+"'")
mydb.commit()
print(f"money has been withdawn successully!!!\n")

#PROCEDURE FOR DISPLAYING THE ACCOUNT OF THE


ACCOUNT HOLDER AFTER HE/SHE ENTERS HIS/HER
ACCOUNT NUMBER
elif(ch==4):
acno=str(input("Enter account number:"))
mycursor.execute("select * from bank_master
where acno='"+acno+"'")
row = mycursor.fetchone()
if row is None:
print(f"No account with account number {acno}
exists.\n")
else:
# Process the row if it exists
print(f"Account details found for account number
{acno}: {row}\n")

#PROCEDURE FOR DELETING AN ACCOUNT


elif(ch==5):
acno=str(input("Enter account number:"))
mycursor.execute("delete from bank_master where
acno='"+acno+"'")
print(f"Account DELETED successfuly\n")

else:
break

OUTPUT
LIMITATIONS

 The user interface is command-line based and lacks


user-friendly features such as error messages, prompts,
or clear feedback on operations.

 There's no mechanism for ensuring data integrity, such


as enforcing constraints (e.g., uniqueness of account
numbers) or handling edge cases (e.g., negative
balances).
 There's limited or no input validation for user inputs
such as account numbers, names, city names, mobile
numbers, and transaction amounts.

 Date inputs are taken as strings (YYYY-MM-DD format)


but should ideally be validated and stored as DATE or
DATETIME data types in the database for proper date
manipulation and querying.

 Database credentials (host, user, passwd) are hard-


coded in the script, which is not secure.

 Error handling is minimal to handle potential


exceptions (e.g., database connection
errors, invalid queries).
CONCLUSION
Banking is a very important aspect of our everyday
lives. The ability to keep track of savings and
expenditure gives us peace of mind. Through this
program, my team and I try to explore a solution for
keeping track of the transactions in a bank. Organising
data through an RDBMS like MySQL gives us an easy
way to understand the working of data providing
services like search engines and online banking
platforms. The project also helps us conclude that
programming can be used to tackle almost any real-
world problem that deals with data easily and
effectively.
BIBLIOGRAPHY
 Computer Science with Python – By Sumita
Arora
 https://www.geeksforgeeks.org

You might also like