0% found this document useful (0 votes)
8 views27 pages

Bank Management System

Uploaded by

avinashk9548
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)
8 views27 pages

Bank Management System

Uploaded by

avinashk9548
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/ 27

FLOW CHART

1.REGISTER

2.LOGIN

IF N=1
IF N =2
PROGRAM INSERTS
PROGRAM FETCHES
DATA IN THE
DATA FROM DATABASE
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

Source code

TABLE.PY

import mysql.connector as sql


conn=sql.connect(host='localhost',user='root',passwd='manage
r’
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='manage
r',
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')

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’)
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()
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:
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='manage
r'
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)
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
OUTPUT
MAIN PAGE
MENU PAGE
-

CREATE BANK ACCOUNT


CUSTOMER DETAILS
TRANSCATION
TRANSACTION DETAILS
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.
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.
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
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

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.
BIBLIOGRAPHY

1. Computer science With Python - Class XI By :


SumitaArora
2. A Project Report On Blood Bank Management System
(BBMS)
By : Praveen M Jigajinni
3. Website: https://www.w3resource.com
4. https://en.wikipedia.org/wiki/E_(mathematical_constant)

***

You might also like