0% found this document useful (0 votes)
18 views

Bank Management System Report - Final

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

Bank Management System Report - Final

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

Pm shri Kendriya Vidyalaya 39 GTC

VARANASI CANTT.

ACADEMIC YEAR : 2024-25

PROJECT REPORT ON

BANK MANAGEMENT SYSTEM

ROLL NO : 7

NAME : SURYAANSH

CLASS : XII

SUBJECT : COMPUTER SCIENCE

SUB CODE : 083

PROJECT GUIDE: Mr. A.N. CHOUBEY

PGT (CS)

PM SHRI KENDRIYA VIDYALAYA 39 GTC

VARANASI CANTT.

1
INDEX
SNO TOPIC PAGE NO
1 Certificate 3

2 Acknowledgement 4

3 Introduction 5

4 Objectives Of The Project 5

5 Proposed System 6

6 Flow Chart 7

7 Python Code 8-13

8 Output Screenshots 14-19

9 Testing 20-22

10 Hardware and Software Requirements 23

11 Installation Process 24

12 Bibliography 25

2
PM SHRI KENDRIYA VIDYALAYA 39 GTC VARANASI CANTT.

CERTIFICATE

This is to certify that Cadet SURYAANSH Roll No: 07 has successfully

completed the project Work entitled BANK MANAGEMENT SYSTEM in the subject

Computer Science (083) laid down in the regulations of CBSE for the purpose of

Practical Examination in Class XII to be held in PM SHRI KENDRIYA

VIDYALAYA 39 GTC VARANASI CANTT. on______________.

Mr A.N. Choubey
PGT (CS)
Master IC

Examiner:

Name: _______________

Signature:

3
ACKNOWLEDGEMENT

Apart from the efforts of me, the success of any project depends largely on
the encouragement and guidelines of many others. I take this opportunity to express
my gratitude to the people who have been instrumental in the successful completion
of this project.

I express deep sense of gratitude to almighty God for giving me strength for
the successful completion of the project.

I express my heartfelt gratitude to my parents for constant encouragement


while carrying out this project.

I gratefully acknowledge the contribution of the individuals who contributed in


bringing this project up to this level, who continues to look after me despite my flaws.

I express my deep sense of gratitude to the luminary The Principal, PM SHRI


Kendriya Vidyalaya 39 GTC Varanasi Cantt. who has been continuously motivating
and extending their helping hand to us.

My sincere thanks to Mr A.N. Choubey, Master In-charge, A guide, Mentor


all the above a friend, who critically reviewed my project and helped in solving each
and every problem, occurred during implementation of the project

The guidance and support received from all the members who contributed
and who are contributing to this project, was vital for the success of the project. I am
grateful for their constant support and help.

Suryaansh
XII

4
INTRODUCTION

"BANK MANAGEMENT SYSTEM" This project is useful for the bank

employees as well as customers to keep a track of account details. The emerging of

digital system made information available on finger tips. By automating the

transactions one can view the details as and when required in no time. This project

emphases on creation of new customer accounts, managing the existing account

holders in the bank, by making digital system one can generate daily reports,

monthly reports and annual reports which can enhance the system.

OBJECTIVES OF THE PROJECT

The objective of this project is to let the students apply the programming
knowledge into a real- world situation/problem and exposed the students how
programming skills helps in developing a good software.

1. Write programs utilizing modern software tools.


2. Apply object oriented programming principles effectively when developing
small to medium sized projects.
3. Write effective procedural code to solve small to medium sized problems.
4. Students will demonstrate a breadth of knowledge in computer science, as
exemplified in the areas of systems, theory and software development.
5. Students will demonstrate ability to conduct a research or applied Computer
Science project, requiring writing and presentation skills which exemplify
scholarly style in computer science.

5
PROPOSED SYSTEM

Today one cannot afford to rely on the fallible human beings of be really

wants to stand against today’s merciless competition where not to wise saying “to

err is human” no longer valid, it’s outdated to rationalize your mistake. So, to keep

pace with time, to bring about the best result without malfunctioning and greater

efficiency so to replace the unending heaps of flies with a much sophisticated hard

disk of the computer.

One has to use the data management software. Software has been an ascent

in atomization various organisations. Many software products working are now in

markets, which have helped in making the organizations work easier and efficiently.

Data management initially had to maintain a lot of ledgers and a lot of paperwork has

to be done but now software production this organization has made their work faster

and easier. Now only this software has to be loaded on the computer and work can

be done.

This prevents a lot of time and money. The work becomes fully automated

and any information regarding the organization can be obtained by clicking the

button. Moreover, now it’s an age of computers of and automating such an

organization gives the better look.

6
FLOW CHART

1.REGISTER

2.LOGIN

IF N=1 IF N =2

PROGRAM PROGRAM
INSERTS DATA IN FETCHES DATA
THE DATABASE FROM DATABASE

MENU IS DISPLAYED

1.CREATE BANK ACCOUNT

2.TRANSACTION

3.CUSTOMER DETAILS

4.TRANSACTION DETAILS

5.DELETE ACCOUNT

6.QUIT

IF N= 3/4 IF N= 1/2/5/6

DATA IS FETCHED FROM THE DATA IS INSERTED IN THE


DATABASE DATABASE

7
Source code

TABLE.PY

import mysql.connector as sql


conn=sql.connect(host='localhost',user='root',passwd=
'manager’
database='bank')
ifconn.is_connected():
print('connected succesfully')
cur = conn.cursor()
cur.execute('create table customer_details(acct_noint
primary key,acct_namevarchar(25) ,phone_nobigint(25)
check(phone_no>11),address varchar(25),cr_amt float
)')

MENU.PY

import mysql.connector as sql


conn=sql.connect(host='localhost',user='root',passwd=
'manager',
database='bank')
cur = conn.cursor()

conn.autocommit = True

print('1.CREATE BANK ACCOUNT')


print('2.TRANSACTION')

8
print('3.CUSTOMER DETAILS')
print(‘4.TRANSACTION DETAILS’)
print('5.DELETE DETAILS')
print('6.QUIT')

n=int(input('Enter your CHOICE='))


if n == 1:
acc_no=int(input('Enter your ACCOUNT NUMBER='))
acc_name=input('Enter your ACCOUNT NAME=')
ph_no=int(input('Enter your PHONE NUMBER='))
add=(input('Enter your place='))
cr_amt=int(input('Enter your credit amount='))
V_SQLInsert="INSERT INTO customer_details values ("
+ str (acc_no) + ",' " + acc_name + " ',"+str(ph_no)
+ ",' " +add + " ',"+ str (cr_amt) + " ) "
cur.execute(V_SQLInsert)
print('Account Created Succesfully!!!!!')
conn.commit()

if n == 2:
acct_no=int(input('Enter Your Account Number='))
cur.execute('select * from customer_details where
acct_no='+str (acct_no) )
data=cur.fetchall()
count=cur.rowcount
conn.commit()
if count == 0:
print('Account Number Invalid Sorry Try Again
Later’)

9
else:
print('1.WITHDRAW AMOUNT')
print('2.ADD AMOUNT')
x=int(input('Enter your CHOICE='))
if x == 1:
amt=int(input('Enter withdrawl amount='))
cur.execute('update customer_details set
cr_amt=cr_amt-'+str(amt) + ' where acct_no='
+str(acct_no) )
conn.commit()
print('Account Updated Succesfully!!!!!')
if x== 2:
amt=int(input('Enter amount to be added='))
cur.execute('update customer_details set
cr_amt=cr_amt+'+str(amt) + ' where acct_no='
+str(acct_no) )
conn.commit()
print('Account Updated Succesfully!!!!!')

if n == 3:
acct_no=int(input('Enter your account number=')
cur.execute('select * from customer_details where
acct_no='+str(acct_no) )
ifcur.fetchone() is None:
print('Invalid Account number')
else:
cur.execute('select * from customer_details where
acct_no='+str(acct_no) )
data=cur.fetchall()

10
for row in data:
print('ACCOUNT NO=',acct_no)
print('ACCOUNT NAME=',row[1])
print(' PHONE NUMBER=',row[2])
print('ADDRESS=',row[3])
print('cr_amt=',row[4])
if n== 4:
acct_no=int(input('Enter your account number='))
print()
cur.execute('select * from customer_details
where acct_no='+str(acct_no) )
ifcur.fetchone() is None:
print()
print('Invalid Account number')
else:
cur.execute('select * from transactions where
acct_no='+str(acct_no) )
data=cur.fetchall()
for row in data:
print('ACCOUNT NO=',acct_no)
print()
print('DATE=',row[1])
print()
print(' WITHDRAWAL AMOUNT=',row[2])
print()
print('AMOUNT ADDED=',row[3])
print()

if n == 5:

11
print('DELETE YOUR ACCOUNT')
acct_no=int(input('Enter your account number='))

cur.execute('delete from customer_details where


acct_no='+str(acct_no) )
print('ACCOUNT DELETED SUCCESFULLY')

if n == 6:
quit()
MAIN.PY

import mysql.connector as sql


conn=sql.connect(host='localhost',user='root',passwd=
'manager'
database='bank')
cur = conn.cursor()
#cur.execute('create table user_table(username
varchar(25) primarykey,passwrdvarchar(25) not null
)')
print('1.REGISTER')
print('2.LOGIN')
n=int(input('enter your choice='))

if n== 1:
name=input('Enter a Username=')
passwd=int(input('Enter a 4 DIGIT Password='))
V_SQLInsert="INSERT INTOuser_table
(passwrd,username) values (" + str (passwd) +
",' " + name + " ') "
cur.execute(V_SQLInsert)

12
conn.commit()
print('USER created succesfully')
if n==2 :
name=input('Enter your Username=')
passwd=int(input('Enter your 4 DIGIT Password='))
V_Sql_Sel="select * from user_table where
passwrd='"+str (passwd)+"' and username= ' " +name+
" ' "
cur.execute(V_Sql_Sel)
ifcur.fetchone() is None:
print('Invalid username or password')
else:
import main

13
OUTPUT

MAIN PAGE

14
MENU PAGE

15
CREATE BANK ACCOUNT

16
CUSTOMER DETAILS

17
TRANSCATION

18
TRANSACTION DETAILS

19
TESTING

Software Testing is an empirical investigation conducted to provide


stakeholders with information about the quality of the product or service under test[1]
, with respect to the context in which it is intended to operate. Software Testing also
provides an objective, independent view of the software to allow the business to
appreciate and understand the risks at implementation of the software. Test
techniques include, but are not limited to, the process of executing a program or
application with the intent of finding software bugs.
It can also be stated as the process of validating and verifying that a software
program/application/product meets the business and technical requirements that
guided its design and development, so that it works as expected and can be
implemented with the same characteristics. Software Testing, depending on the
testing method employed, can be implemented at any time in the development
process, however the most test effort is employed after the requirements have been
defined and coding process has been completed.

TESTING METHODS
Software testing methods are traditionally divided into black box testing and
white box testing. These two approaches are used to describe the point of view that
a test engineer takes when designing test cases.

BLACK BOX TESTING


Black box testing treats the software as a "black box," without any knowledge
of internal implementation. Black box testing methods include: equivalence
partitioning, boundary value analysis, all-pairs testing, fuzz testing, model-based
testing, traceability matrix, exploratory testing and specification-based testing.

20
SPECIFICATION-BASED TESTING

Specification-based testing aims to test the functionality of software according


to the applicable requirements.[16] Thus, the tester inputs data into, and only sees
the output from, the test object. This level of testing usually requires thorough test
cases to be provided to the tester, who then can simply verify that for a given input,
the output value (or behaviour), either "is" or "is not" the same as the expected value
specified in the test case. Specification-based testing is necessary, but it is
insufficient to guard against certain risks

ADVANTAGES AND DISADVANTAGES

The black box tester has no "bonds" with the code, and a tester's perception
is very simple: a code must have bugs. Using the principle, "Ask and you shall
receive," black box testers find bugs where programmers don't. But, on the other
hand, black box testing has been said to be "like a walk in a dark labyrinth without a
flashlight," because the tester doesn't know how the software being tested was
actually constructed.
That's why there are situations when (1) a black box tester writes many test
cases to check something that can be tested by only one test case, and/or (2) some
parts of the back end are not tested at all. Therefore, black box testing has the
advantage of "an unaffiliated opinion," on the one hand, and the disadvantage of
"blind exploring," on the other.

WHITE BOX TESTING

White box testing, by contrast to black box testing, is when the tester has
access to the internal data structures and algorithms (and the code that implement
these)

Types of white box testing:-


The following types of white box testing exist:
api testing - Testing of the application using Public and Private APIs.

21
Code coverage - creating tests to satisfy some criteria of code
coverage.
For example, the test designer can create tests to cause all statements in the
program to be executed at least once.
fault injection methods.
mutation testingmethods.
static testing - White box testing includes all static testing.

CODE COMPLETENESS EVALUATION

White box testing methods can also be used to evaluate the completeness of
a test suite that was created with black box testing methods. This allows the software
team to examine parts of a system that are rarely tested and ensures that the most
important function points have been tested.

Two common forms of code coverage are:


FunctionCoverage: Which reports on functions executed and
StatementCoverage:Which reports on the number of lines executed to
complete the test.
They both return coverage metric, measured as a percentage

22
HARDWARE AND SOFTWARE REQUIREMENTS

I.OPERATING SYSTEM : WINDOWS 7 AND ABOVE

II. PROCESSOR : PENTIUM(ANY) OR AMD

ATHALON(3800+- 4200+ DUALCORE)

III. MOTHERBOARD : 1.845 OR 915,995 FOR PENTIUM 0R MSI

K9MM-V VIAK8M800+8237R PLUS

CHIPSET FOR AMD ATHALON

IV. RAM : 512MB+

V. Hard disk : SATA 40 GB OR ABOVE

VI. CD/DVD r/w multi drive combo: (If back up required)

VII. FLOPPY DRIVE 1.44 MB : (If Backup required)

VIII. MONITOR 14.1 or 15 -17 inch

IX. Key board and mouse

X. Printer : (if print is required – [Hard copy])

SOFTWARE REQUIREMENTS:

I. Windows OS
II. Python

23
INSTALLATION PROCEDURE

Install python and my sql from the web.


Open mysql and create the database bank
Then run thetable.pyfile.
Next run the user_table.py file.
Then the transactions_table.pyfile .
Open the main bank file.
Then register your account.

24
BIBLIOGRAPHY

1. Computer Science With Python - Class XI, XII By : Sumita Arora


2. A Project File Template By :A. N. Choubey
3. Website: https://www.w3resource.com
4. https://en.wikipedia.org/wiki/E_(mathematical_constant)

***

25

You might also like