2022-23
COMPUTER
SCIENCE PROJECT
GUNJAN KUMAR
KV CRPF
MOKAMAGHAT
KENDRIYA VIDYALAYA CRPF MOKAMAGHAT
A PROJECT REPORT ON
BANK MANAGEMENT SYSTEM
SUBMITTED BY
GUNJAN KUMAR
XII ‘science’
UNDER THE GUIDANCE OF
DEEPU SIR(PGT CS)
KENDRIYA VIDYALAYA
CRPF MOKAMAGHAT
DEPARTMENTOF COMPUTER
SCIENCE
CERTIFICATE
THIS IS TO CERTIFY THAT GUNJAN KUMAR
CLASS- XII-A ROLL NUMBER HAS
SUCCESSFULLY COMPLETED THE RESERCH
ON THE BELOW MENTIONED PROJECT
UNDER THE GUIDANCE OF MR DEEPU
KUMAR (PGT CS) DURING THE YEAR 2022-23
IN PARTIAL FULFILLMENTOFCOMPUTER
SCIENCE PRACTICAL EXAMINATION.
Signatureof external Signatureof cs
teacher
examiner
TABLE OF CONTENTS \ T O C 1
SER DESCRIPTION PAGE NO
01 ACKNOWLEDGEMENT 04
02 INTRODUCTION 05
03 OBJECTIVES OF THE PROJECT 05
04 FLOW CHART 06
05 SOURCE QODE 07-12
06 OUTPUT 13-18
07 TESTING 19-21
08 HARDWARE AND SOFTWARE REQUIREMENT 22
09 INSTALLATION PROCEDURE 23
24
10 BIBLIOGRAPHY 3
In
ACKNOWLEDGEMENT
the accomplishment of this project successfully,
many peoplehave best owned upon me their
blessings and the heart pledged support, this timeI
am utilizing tothank all the people who havebeen
concerned with project.
Primarily I would thank god for being able to
complete this project with success.Then I would like to
thank my principal sir and computer science teacher
DEEPU SIR whose valuable guidance has beenthe
onesthat helpedme patchthis project and make it full
proof success his suggestions and his instructions has
servedas the major contributor towards the completion
of theproject.
Then I would like to thank my parents and friends
who have helped me with their valuable suggestions and
guidance has been helpful in various phases of the
completion of the project.
Last but not the least I would like to thank
my classmates who have helped mea lot.
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.
project emphases
This on creation of new
custome accounts, managing the existing
account
r in the bank, by making
holders system one
digital generat daily
can
reports, e
monthl reports and annual reports
can
y enhance the
which
system.
5
OBJECTIVES OF THE
PROJECT
The objective of this project is to let the stud seents
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
sm all 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
6
IF M =2
PROGRAM FETCHES
DATA FROM
DATABASE
MENU IS DISPLAYED
1. CREATE CANK ACCOUNT
2..TRANSACTION
3. CU STO ME & DETAILS
4. TRANSACTION DETAILS
5. DELETE ACCOUNT
C.QUIT
FLOW
CHART
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’) print(’3.CUSTOMER
DETAILS’) print('4.TRANSACTION
DETAILS') print(’5.DELETE DETAILS’)
print(’6.QUIT’)
8
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 SuccesfullyM!!!’) 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')
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=’
9
+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() 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
10
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:
print(’DELETE YOUR ACCOUNT’) acct_no=int(input(’Enter your
account number=’))
cur.execute(’delete fro customer_details where
m
acct_no=’+str(acct_no) ) print(’ACCOUNT
SUCCESFULLY’) DELETED
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(’l.REGISTER’) print(’2.LOGIN’) n=int(input(’enter
your choice=’)) if n==
1:
11
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) 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
OUTPU
T 12
MAIN
\Jl 'Python 3.7.0rc1 Shell’ PAGE
File Edit Shell Debug Options Window Help
Python 3.7.Orel (v3.7.0rc1 :dfad352267, Jun 12 2018, 07:05:25) [MSC v.1914 64 bit (Al Type
"copyright", "credits" or "license()" for more information.
»>
========= RESTART: C:\Python\Python37\6009\source codelmain bank.py =======
=========================WELCOME TO STARK BANK=====================
2020-01-01 10:34:27.377132
1. REGISTER
2. LOGIN
enter your choice^
'Python 3.7.0rc1 Shell'
File Edit Shell Debug Options Window Help
Python 3.7.0rc1 (v3.7.0rc1:dfad352267, Jun 12 2018, 07:05:25) [MSC v.1914 64 bit (AIV
Type "copyright", "credits" or "licenseO" for more information.
»>
========= RESTART: C:\Python\Python37\6009\source code\main bank.py =======
=========================W ELCOME TO STARK BANK======================
2020-01-01 10:34:27.377132
1. REGISTER
2. LOGIN
enter your choice=2 Enter your
Username= Enter your 4 DIGIT
Password^
13
MENU PAGE
WELCOME TO STARK BANK
2020-01-01
10:38:14.014927
1. REGISTER
2. LOGIN
enter your choice=2
Enter your Username=suryah
Enter your 4 DIGIT Passwords
298
1. CREATE BANK
ACCOUNT
2. TRANSACT10N
3. CUSTOMER DETAILS
4. TRANSACTION DETAILS
5. DELETE ACCOUNT
6. QUIT
Enter your CHOICE^
14
CREATE BANK ACCOUNT
1. CREA 7E BANK ACCOUNT
2. TRANSACT10N
3. CUST0MER DETAILS
4. TRANSACTION DETAILS
5. DELETE ACCOUNT
6. QUIT
Enter your CHOICE=1
Enter your ACCOUNT NUMBER=7865
Enter your ACCOUNT NAME=mackenize
Enter your PHONE NUMBER=9965433211
Enter your place=florida
Enter your credit amount=10000
Account Created Succesfully!!!!!
15
CUSTOMER
DETAILS
1. CREATE BANK ACCOUNT
2. TRANSACT10N
3. CUSTOMER DETAILS
4. TRANSACTION DETAILS
5. DELETE ACCOUNT
6. QUIT
Enter your CHOICE=3 Enter your account
number=6009 ACCOUNTNO=
6009 ACCOUNT NAME= james
PHONE
NUMBER= 9965411899
ADDRESS= usa cr
amt= 8900.0
16
1. CREATE BANK ACCOUNT
2. TRANSACTION
3. CUSTOMER DETAILS
4. TRANSACTION DETAILS
5. DELETE ACCOUNT
6. QUIT
Enter your CHOICE=2 Enter
Your Account Number=6009 1
.WITHDRA W AMOUNT
2.ADD AMOUNT
Enter your CHOICE=1 Enter
withdrawl amount=1000
Account Updated Succesfully!!!!!
17
TRANSACTION DETAILS
1. CREATE BANK ACCOUNT
2. TRANSACT10N
3. CUSTOMER DETAILS
4. TRANSACTION DETAILS
5. DELETE ACCOUNT
6. QUIT
Enter your CHOICE=4 Enter your
account number=6009
ACCOUNT NO= 6009 DATE=
2020-01-01
WITHDRAWAL AMOUNT= 1000
AMOUNTADDED*0
TESTING
18
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.
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
19
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.
• 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.
20
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
HARDWARE AND SOFTWARE REQUIREMENTS
I.OPERATING SYSTEM : WINDOWS 7 AND ABOVE
21
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
(if print is required - [Hard copy])
X. Printer : SOFTWARE
REQUIREMENTS:
I. Windows OS
II. Python
22
INSTALLATION PROCEDURE
• Install python and my sql from the web.
• Open mysql and create the database bank
• Then run the table.py file.
• Next run the user table.py file.
• Then the transactions table.py file .
• Open the main bank file.
• Then register your account.
BIBLIOGRAPHY
1. Computer science With Python - Class Xii By: SumitaArora
2. Website: https://www.w3resource.com
3. https://en.wikipedia.oro/wiki/E (mathematical constant)
23
1.
BIBLIOGRAPHY
Computer science With Python - Class Xii
By: SumitaArora
2. Website: https://www.w3resource.com
3. https://en.wikipedia.oro/wiki/E (mathematical
constant)