0% found this document useful (0 votes)
124 views26 pages

CS Final

This document is a project report on a Bank Management System. It includes sections on system analysis, system design, outputs, hardware and software used, the management system code, GUI code, and bibliography. The project aims to develop a user friendly GUI for managing bank accounts and storing data on new accounts to help both users and bank managers.

Uploaded by

Bhavya Soni
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)
124 views26 pages

CS Final

This document is a project report on a Bank Management System. It includes sections on system analysis, system design, outputs, hardware and software used, the management system code, GUI code, and bibliography. The project aims to develop a user friendly GUI for managing bank accounts and storing data on new accounts to help both users and bank managers.

Uploaded by

Bhavya Soni
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/ 26

A Project Report on

''Bank Management System

"Bank Management System”


SUBMITTED TO SUBMITTED
By

Mr. Narayan Lal Mali Bhavya Soni

PGT(Computer Science) Class : XII – A


DEPATMENT OF COMPUTER SCIENCE

Kendriya Vidyalaya No.1

Pratap Nagar , Udaipur

DEPARTMENT OF COMPUTER
SCIENCE

Kendriya Vidyalaya No.1 , Udaipur


CERTIFICATE
This is to certify that DAKSHVEER SINGH CHAUHAN

Of Class XII – A has prepared the report on the Project


entitled

“MATRIX MASTER GUI”. The report is the result of his

Efforts and Endeavour. The report is found worthy of


acceptance

As final project report for the subject Computer Science of


Class

XII. He has prepared the report under my guidance.

(Mr. Narayan Lal


Mali)

PGT (Computer Science)


Department of Computer Science

Kendriya Vidyalaya No. 1,

Pratap Nagar, Udaipur


DEPARTMENT OF COMPUTER
SCIENCE

Kendriya Vidyalaya No.1 , Udaipur

CERTIFICATE

The Project report entitled


“MATRIX MASTER GUI”
Submitted by DAKSHVEER SINGH CHAUHAN of
Class XII A for the CBSE Senior Secondary
Examination class XII of Computer Science at Kendriya
Vidyalaya No. 1 , Paratp Nagar , Udaipur has been
examined.
(SIGNATURE OF EXAMINER)

DECLARATION

I hereby declare that the project work entitled


“Bank Management System”, submitted to Department
of Computer Science, Kendriya Vidyalaya No. 1 ,
Paratp Nagar , Udaipur is prepared by me. All the
coding are result of my personal efforts.
Bhavya Soni
(Class XII – A)

ACKNOWLEDGEMENT
I would like to express a deep sense of thank and
gratitude to my project guide Mr. Narayan Lal Mali Sir
for guiding me immensely through the course of the
project. He always evinced keen interest in my work.
His constructive advice and constant motivation have
been responsible for the successful completion of this
project.
My sincere thanks goes to Shri DilBahadur Singh,
Our Principal sir, for his co-ordination in extending
every possible support for the completion of this project.
I also thank to my parents for their motivation and
support. I must thank to my classmates for their timely
help and support for completion of this project.
Last but not least, I would like to thank all those
who had helped directly and indirectly towards this
project.

(Bhavya Soni)

CONTENTS

Sr. No. Title Page No


1 Introduction
2 System Analysis
3 System Design
4 Output
5 Hardware and
Software Used
6 Managemeent
System Code
7 GUI Code
8 Biblography

INTRODUCTION
I myself felt a need for an user friendly GUI using
which one can maanage bank accounts and can store
data of new accounts
I think that this software almost fulfill all
users demand would be helpful forboth user and
manager. The report management is hence based on
new bank policy of duty with entertainment.
SYSTEM ANALYSIS
To define object-oriented analysis we must first define
what we mean by an object. The definition of an object,
according to most dictionaries, is “a tangible, material thing.”
Drilling down a bit more to the realm of computer science,
an object can be most anything in a programmatic sense, from
a variable or data model to a function, class, or method.
Moving even deeper into the realm of object-oriented
programming, an object is an instance of a thing that typically
represents a real world object and has all the same types of
characteristics (properties), behaviors (methods), and states
(data).

In short, OOA is an iterative stage of analysis, which takes


place during the software development life cycle, that aims to
model the functional requirements of the software while
remaining completely independent of any
potential implementation requirements. To accomplish this
task via OOAD practices, an object-oriented analysis will focus
everything through the lens of objects. This forces OOA to
combine all behaviors, characteristics, and states together into
one analysis process, rather than splitting them up into
separate stages, as many other methodologies would do.
To accomplish this goal, a typical OOA phase consists of five
stages:

• Find and define the objects.


• Organize the objects.
• Describe how the objects interact with one another.
• Define the external behavior of the objects.
• Define the internal behavior of the objects.
For example, a typical implementation of OOA is to create
an object model for an application. The object model might
describe the names, relationships, behaviors,
and characteristics of each object in the system. With this
information established for each object, the design process that
follows is much simpler.

SYSTEM DESIGN

The success of developer and implemented system


is highly dependent on the outcome of this phase of the
system life cycle. This phase consist of the process of
examining the existing system along with the merits of
the proposed system, just like a detailed comparative
study of the system.

Analysis is a detailed study of the various


operations performed by a system their relationships
within and outside of the system. A key question is
“What must be done to solve the problem?” One aspect
of analysis is defining the boundaries of the system and
determining whether or not a candidate system should
consider other related systems. Therefore we can
conclude that system analysis is the process of
diagnosing the problem and in the process
recommending the right solution for improving the
current system.

This project covers all the user requirements,


which could be possible, thought by me. So I can say
quite confidently that this project has a proper
combination between the user needs and outcomes of
this project. The main objective of this project is solely
"User friendliness" and to make the end user totally
comfortable while using this project.

OUTPUT
SOFTWARE AND HARDWARE USED
SOFTWARE:

Operating System : Windows XP /7 /8/10

Programming Language : Python

IDLE : Spyder

Editing : Microsoft Word 2007

HARDWARE:

Processor : Pentium 4/Core 2 Duo

RAM : 4GB

Settings:

Display Resolution : 1366*768

Others

Printer : HP LASER JET H-163


Bank Management System

import tkinter as tk
from tkinter import messagebox
from time import gmtime, strftime

def is_number(s):
try:
float(s)
return 1
except ValueError:
return 0

def check_acc_nmb(num):
try:
fpin=open(num+".txt",'r')
except FileNotFoundError:
messagebox.showinfo("Error","Invalid Credentials!\nTry Again!")
return 0
fpin.close()
return

def home_return(master):
master.destroy()
Main_Menu()

def write(master,name,oc,pin):

if( (is_number(name)) or (is_number(oc)==0) or (is_number(pin)==0)or


name==""):
messagebox.showinfo("Error","Invalid Credentials\nPlease try
again.")
master.destroy()
return
f1=open("Accnt_Record.txt",'r')
accnt_no=int(f1.readline())
accnt_no+=1
f1.close()

f1=open("Accnt_Record.txt",'w')
f1.write(str(accnt_no))
f1.close()

fdet=open(str(accnt_no)+".txt","w")
fdet.write(pin+"\n")
fdet.write(oc+"\n")
fdet.write(str(accnt_no)+"\n")
fdet.write(name+"\n")
fdet.close()

frec=open(str(accnt_no)+"-rec.txt",'w')
frec.write("Date Credit Debit Balance\n")
frec.write(str(strftime("[%Y-%m-%d] [%H:%M:%S] ",gmtime()))+" "+oc+"
"+oc+"\n")
frec.close()

messagebox.showinfo("Details","Your Account Number is:"+str(accnt_no))


master.destroy()
return

def crdt_write(master,amt,accnt,name):

if(is_number(amt)==0):
messagebox.showinfo("Error","Invalid Credentials\nPlease try
again.")
master.destroy()
return

fdet=open(accnt+".txt",'r')
pin=fdet.readline()
camt=int(fdet.readline())
fdet.close()
amti=int(amt)
cb=amti+camt
fdet=open(accnt+".txt",'w')
fdet.write(pin)
fdet.write(str(cb)+"\n")
fdet.write(accnt+"\n")
fdet.write(name+"\n")
fdet.close()
frec=open(str(accnt)+"-rec.txt",'a+')
frec.write(str(strftime("[%Y-%m-%d] [%H:%M:%S] ",gmtime()))+"
"+str(amti)+" "+str(cb)+"\n")
frec.close()
messagebox.showinfo("Operation Successfull!!","Amount Credited
Successfully!!")
master.destroy()
return

def debit_write(master,amt,accnt,name):

if(is_number(amt)==0):
messagebox.showinfo("Error","Invalid Credentials\nPlease try
again.")
master.destroy()
return

fdet=open(accnt+".txt",'r')
pin=fdet.readline()
camt=int(fdet.readline())
fdet.close()
if(int(amt)>camt):
messagebox.showinfo("Error!!","You dont have that amount left in
your account\nPlease try again.")
else:
amti=int(amt)
cb=camt-amti
fdet=open(accnt+".txt",'w')
fdet.write(pin)
fdet.write(str(cb)+"\n")
fdet.write(accnt+"\n")
fdet.write(name+"\n")
fdet.close()
frec=open(str(accnt)+"-rec.txt",'a+')
frec.write(str(strftime("[%Y-%m-%d] [%H:%M:%S] ",gmtime()))+"
"+" "+str(amti)+" "+str(cb)+"\n")
frec.close()
messagebox.showinfo("Operation Successfull!!","Amount Debited
Successfully!!")
master.destroy()
return

def Cr_Amt(accnt,name):
creditwn=tk.Tk()
creditwn.geometry("600x300")
creditwn.title("Credit Amount")
creditwn.configure(bg="orange")
fr1=tk.Frame(creditwn,bg="blue")
l_title=tk.Message(creditwn,text="UNITED
BANK",relief="raised",width=2000,padx=600,pady=0,fg="white",bg="black",justify
="center",anchor="center")
l_title.config(font=("Courier","50","bold"))
l_title.pack(side="top")
l1=tk.Label(creditwn,relief="raised",text="Enter Amount to be credited: ")
e1=tk.Entry(creditwn,relief="raised")
l1.pack(side="top")
e1.pack(side="top")
b=tk.Button(creditwn,text="Credit",relief="raised",command=lambda:crdt_
write(creditwn,e1.get(),accnt,name))
b.pack(side="top")
creditwn.bind("<Return>",lambda
x:crdt_write(creditwn,e1.get(),accnt,name))
def De_Amt(accnt,name):
debitwn=tk.Tk()
debitwn.geometry("600x300")
debitwn.title("Debit Amount")
debitwn.configure(bg="orange")
fr1=tk.Frame(debitwn,bg="blue")
l_title=tk.Message(debitwn,text="UNITED
BANK",relief="raised",width=2000,padx=600,pady=0,fg="white",bg="black",justify
="center",anchor="center")
l_title.config(font=("Courier","50","bold"))
l_title.pack(side="top")
l1=tk.Label(debitwn,relief="raised",text="Enter Amount to be debited: ")
e1=tk.Entry(debitwn,relief="raised")
l1.pack(side="top")
e1.pack(side="top")
b=tk.Button(debitwn,text="Debit",relief="raised",command=lambda:debit_
write(debitwn,e1.get(),accnt,name))
b.pack(side="top")
debitwn.bind("<Return>",lambda
x:debit_write(debitwn,e1.get(),accnt,name))

def disp_bal(accnt):
fdet=open(accnt+".txt",'r')
fdet.readline()
bal=fdet.readline()
fdet.close()
messagebox.showinfo("Balance",bal)

def disp_tr_hist(accnt):
disp_wn=tk.Tk()
disp_wn.geometry("900x600")
disp_wn.title("Transaction History")
disp_wn.configure(bg="orange")
fr1=tk.Frame(disp_wn,bg="blue")
l_title=tk.Message(disp_wn,text="UNITED
BANK",relief="raised",width=2000,padx=600,pady=0,fg="white",bg="black",justify
="center",anchor="center")
l_title.config(font=("Courier","50","bold"))
l_title.pack(side="top")
fr1=tk.Frame(disp_wn)
fr1.pack(side="top")
l1=tk.Message(disp_wn,text="Your Transaction
History:",padx=100,pady=20,width=1000,bg="blue",fg="orange",relief="raised")
l1.pack(side="top")
fr2=tk.Frame(disp_wn)
fr2.pack(side="top")
frec=open(accnt+"-rec.txt",'r')
for line in frec:

l=tk.Message(disp_wn,anchor="w",text=line,relief="raised",width=2000)
l.pack(side="top")
b=tk.Button(disp_wn,text="Quit",relief="raised",command=disp_wn.destro
y)
b.pack(side="top")
frec.close()

def logged_in_menu(accnt,name):
rootwn=tk.Tk()
rootwn.geometry("1600x500")
rootwn.title("UNITED BANK-"+name)
rootwn.configure(background='orange')
fr1=tk.Frame(rootwn)
fr1.pack(side="top")
l_title=tk.Message(rootwn,text="SIMPLE BANKING\n
SYSTEM",relief="raised",width=2000,padx=600,pady=0,fg="white",bg="black",just
ify="center",anchor="center")
l_title.config(font=("Courier","50","bold"))
l_title.pack(side="top")
label=tk.Label(text="Logged in as:
"+name,relief="raised",bg="black",fg="white",anchor="center",justify="center")
label.pack(side="top")
img2=tk.PhotoImage(file="credit.gif")
myimg2=img2.subsample(2,2)
img3=tk.PhotoImage(file="debit.gif")
myimg3=img3.subsample(2,2)
img4=tk.PhotoImage(file="balance1.gif")
myimg4=img4.subsample(2,2)
img5=tk.PhotoImage(file="transaction.gif")
myimg5=img5.subsample(2,2)
b2=tk.Button(image=myimg2,command=lambda: Cr_Amt(accnt,name))
b2.image=myimg2
b3=tk.Button(image=myimg3,command=lambda: De_Amt(accnt,name))
b3.image=myimg3
b4=tk.Button(image=myimg4,command=lambda: disp_bal(accnt))
b4.image=myimg4
b5=tk.Button(image=myimg5,command=lambda: disp_tr_hist(accnt))
b5.image=myimg5

img6=tk.PhotoImage(file="logout.gif")
myimg6=img6.subsample(2,2)
b6=tk.Button(image=myimg6,relief="raised",command=lambda:
logout(rootwn))
b6.image=myimg6

b2.place(x=100,y=150)
b3.place(x=100,y=220)
b4.place(x=900,y=150)
b5.place(x=900,y=220)
b6.place(x=500,y=400)

def logout(master):
messagebox.showinfo("Logged Out","You Have Been Successfully Logged
Out!!")
master.destroy()
Main_Menu()

def check_log_in(master,name,acc_num,pin):
if(check_acc_nmb(acc_num)==0):
master.destroy()
Main_Menu()
return

if( (is_number(name)) or (is_number(pin)==0) ):


messagebox.showinfo("Error","Invalid Credentials\nPlease try
again.")
master.destroy()
Main_Menu()
else:
master.destroy()
logged_in_menu(acc_num,name)

def log_in(master):
master.destroy()
loginwn=tk.Tk()
loginwn.geometry("600x300")
loginwn.title("Log in")
loginwn.configure(bg="orange")
fr1=tk.Frame(loginwn,bg="blue")
l_title=tk.Message(loginwn,text="UNITED
BANK",relief="raised",width=2000,padx=600,pady=0,fg="white",bg="black",justify
="center",anchor="center")
l_title.config(font=("Courier","50","bold"))
l_title.pack(side="top")
l1=tk.Label(loginwn,text="Enter Name:",relief="raised")
l1.pack(side="top")
e1=tk.Entry(loginwn)
e1.pack(side="top")
l2=tk.Label(loginwn,text="Enter account number:",relief="raised")
l2.pack(side="top")
e2=tk.Entry(loginwn)
e2.pack(side="top")
l3=tk.Label(loginwn,text="Enter your PIN:",relief="raised")
l3.pack(side="top")
e3=tk.Entry(loginwn,show="*")
e3.pack(side="top")
b=tk.Button(loginwn,text="Submit",command=lambda:
check_log_in(loginwn,e1.get().strip(),e2.get().strip(),e3.get().strip()))
b.pack(side="top")
b1=tk.Button(text="HOME",relief="raised",bg="black",fg="white",comman
d=lambda: home_return(loginwn))
b1.pack(side="top")
loginwn.bind("<Return>",lambda
x:check_log_in(loginwn,e1.get().strip(),e2.get().strip(),e3.get().strip()))

def Create():

crwn=tk.Tk()
crwn.geometry("600x300")
crwn.title("Create Account")
crwn.configure(bg="orange")
fr1=tk.Frame(crwn,bg="blue")
l_title=tk.Message(crwn,text="UNITED
BANK",relief="raised",width=2000,padx=600,pady=0,fg="white",bg="black",justify
="center",anchor="center")
l_title.config(font=("Courier","50","bold"))
l_title.pack(side="top")
l1=tk.Label(crwn,text="Enter Name:",relief="raised")
l1.pack(side="top")
e1=tk.Entry(crwn)
e1.pack(side="top")
l2=tk.Label(crwn,text="Enter opening credit:",relief="raised")
l2.pack(side="top")
e2=tk.Entry(crwn)
e2.pack(side="top")
l3=tk.Label(crwn,text="Enter desired PIN:",relief="raised")
l3.pack(side="top")
e3=tk.Entry(crwn,show="*")
e3.pack(side="top")
b=tk.Button(crwn,text="Submit",command=lambda:
write(crwn,e1.get().strip(),e2.get().strip(),e3.get().strip()))
b.pack(side="top")
crwn.bind("<Return>",lambda
x:write(crwn,e1.get().strip(),e2.get().strip(),e3.get().strip()))
return

def Main_Menu():

#GUI code
rootwn=tk.Tk()
rootwn.geometry("1600x500")
rootwn.title("UNITED Bank")
rootwn.configure(background='orange')
fr1=tk.Frame(rootwn)
fr1.pack(side="top")
bg_image = tk.PhotoImage(file ="pile1.gif")
x = tk.Label (image = bg_image)
x.place(y=-400)
l_title=tk.Message(text="SIMPLE BANKING\n
SYSTEM",relief="raised",width=2000,padx=600,pady=0,fg="white",bg="black",just
ify="center",anchor="center")
l_title.config(font=("Courier","50","bold"))
l_title.pack(side="top")
imgc1=tk.PhotoImage(file="new.gif")
imglo=tk.PhotoImage(file="login.gif")
imgc=imgc1.subsample(2,2)
imglog=imglo.subsample(2,2)

b1=tk.Button(image=imgc,command=Create)
b1.image=imgc
b2=tk.Button(image=imglog,command=lambda: log_in(rootwn))
b2.image=imglog
img6=tk.PhotoImage(file="quit.gif")
myimg6=img6.subsample(2,2)

b6=tk.Button(image=myimg6,command=rootwn.destroy)
b6.image=myimg6
b1.place(x=800,y=300)
b2.place(x=800,y=200)
b6.place(x=920,y=400)

rootwn.mainloop()

Main_Menu()

BIBLOGRAPHY

• Computer Science with Python by


Sumita Arora
2. https://www.geeksforgeeks.org
3. https://stackoverflow.com
4. https://www.quora.com
5. https://www.tutorialspoint.com
6. Computer Science with Python by
Preeti Arora

You might also like