Atm Project
Atm Project
DHENKANAL
PROJECT REPORT ON
“ATM MANAGEMENT”
CLASS : XII - A
SUBJECT : COMPUTERSCIENCE
\
Vijay Kumar Sahu Priyaranjan Sahoo
PRINCIPAL Dept.Of.Comp.Science
DPS, Dhenkanal DPS, Dhenkanal
TABLE OF CONTENTS [ T O C ]
PAGE
SER DESCRIPTION NO
01 ACKNOWLEDGEMENT 03
02 INTRODUCTION 06
04 PROPOSED SYSTEM 08
07 FLOW CHART 23
08 SOURCE CODE 27
09 OUTPUT 55
10 TESTING 61
11 INSTALLATION PROCEDURE 65
13 BIBLIOGRAPHY 70
ACKNOWLEDGEMENT
I express my reverence to Mr. Priyaranjan
Sahoo, P.G.T computer science who has
extended his valuable suggestion after going
through the manuscript thoroughly useful to
prepare this project for performation.
INTRODUCTION
Note :
PROPOSED SYSTEM
keep pace with time, to bring about the best result without
the computer.
INITIATION PHASE
DESIGN PHASE
The design phase involves converting the
informational, functional, and network requirements identified
during the initiation and planning phases into unified design
specifications that developers use to scriptprograms during
the development phase. Program designs are c onstructed in
various ways. Using a top-down approach, designers first
identify and link majorprogram components and interfaces,
then expand design layouts as they identify and link smaller
subsystems and connections. Using a bottom-up approach,
designers first identify and link minor program components
and interfaces, then expand design layouts as they identify
and link larger systems and connections. Contemporary
design techniques often use prototyping tools that build mock-
up designs of items such as application screens, database
layouts, and system architectures. End users, designers,
developers, database managers, and network administrators
should review and refine the prototyped designs in an iterative
process until they agree on an acceptable design. Audit,
security, and quality assurance personnel should be involved
in the review and approval process. During this phase, the
system is designed to satisfy the functional requirements
identified in the previous phase. Since problems in the design
phase could be very expensive to solve in the later stage of
the software development, a variety of elements are
considered in the design to mitigate risk. These include:
• Identifying potential risks and defining mitigating
design features.
• Performing a security risk assessment.
• Developing a conversion plan to migrate current data
to the new system.
• Determining the operating environment.
• Defining major subsystems and their inputs and
outputs.
• Allocating processes to resources.
• Preparing detailed logic specifications for each
software module. The result is a draft System Design
Document which captures the preliminary design for
the system.
• Everything requiring user input or approval is
documented and reviewed by the user. Once these
documents have been approved by the Agency CIO
and Business Sponsor, the final System Design
Document is created to serve as the Critical/Detailed
Design for the system.
• This document receives a rigorous review byAgency
technical and functional representatives to ensure that
it satisfies the business requirements. Concurrent with
the development of the system design, the Agency
Project Manager begins development of the
Implementation Plan, Operations and Maintenance
Manual, and the Training Plan.
DEVELOPMENT PHASE
IMPLEMENTATION PHASE
FLOW CHART
START
CONN = SQL .CONNECT ( HOST =' LOCALHOST ',USER =' ROOT ',PASSWORD ='MANA
c1=conn.cursor()
print(" WELCOME TO OUR BANK ")
print("2.To login")
print("3.Exit")
While
c==”Y
”
if
op==
1:
IF
OP=
=2
print("1.Depositng money")
print("2.withdrawing money")
print("3.Transfering money")
print("4.Checking balance")
print("5.Changing Account number ")
stop
SOURCE CODE
Note :
• Display the options and ask the user to
enter the choice.
SOLUTION:
if op==1:
c="y"
while c=="y":
m=int(input("Enter a 4 digit number as
accont number:"))
cb="select * from records where
ACCONT_NO={}".format(m)
c1.execute(cb)
d=c1.fetchall()
data=c1.rowcount
if data==1:
print("==================================
=======================================
=======")
print("==================================
=======================================
=======")
if c=="y":
continue
else:
print("Thank you.")
print("Visit again")
print("==================================
=======================================
=======")
else:
name=input("Enter your name:")
passw=int(input("Enter your pass
word:"))
ab="insert into
records(ACCONT_NO,PASSWORD,NAME)
values({},{},'{}')".format(m,passw,name)
print("==================================
=======================================
=======")
c1.execute(ab)
conn.commit()
print("Account sucessfully created")
print("The minimum balance is 1000
")
print("==================================
=======================================
=======")
print("==================================
=======================================
=======")
sr="update records set CR_AMT={}
where ACCONT_NO={}".format(s,m)
c1.execute(sr)
conn.commit()
ef="update records set
balance=cr_amt-withdrawl where
ACCONT_NO={}".format(m)
c1.execute(ef)
conn.commit()
print("sucessfully deposited")
print("Thank you")
print("Visit again")
break
if op==2:
y="y"
while y=="y":
acct=int(input("Enter your account
number:"))
cb="select * from records where
ACCONT_NO={}".format(acct)
c1.execute(cb)
c1.fetchall()
data=c1.rowcount
if data==1:
pas=int(input("Enter your
password :"))
print("==================================
=======================================
=======")
print("==================================
=======================================
=======")
print("==================================
=======================================
=======")
if r==1:
amt=int(input("Enter the
money to be deposited:"))
print("==================================
=======================================
=======")
print("==================================
=======================================
=======")
if t=="y":
continue
else:
print("Thank you")
if r==2:
amt=int(input("Enter the
money to withdraw:"))
print("==================================
=======================================
=======")
print("==================================
=======================================
=======")
else:
sr="update records set
balance=balance - {} where
ACCONT_NO={}".format(amt,acct)
ed="update records set
WITHDRAWL ={} where
ACCONT_NO={}".format(amt,acct)
c1.execute(ed)
c1.execute(sr)
conn.commit()
print("Sucessfully updatad")
y=input("do you want to
continue y/n -")
if y=="y":
continue
else:
print("Thank you")
if r==3:
act=int(input("Enter the accont
number to be transferrsd :"))
print("==================================
=======================================
=======")
print("==================================
=======================================
=======")
ah="select BALANCE from
records where accont_no={}".format(acct)
c1.execute(ah)
c=c1.fetchone()
if m > c[0]:
print("Your are having
less than",m)
print("Please try again")
print("==================================
=======================================
=======")
else:
av="update records set
balance=balance-{} where
ACCONT_NO={}".format(m,acct)
cv="update records set
balance=balance+{} where
ACCONT_NO={}".format(m,act)
w="update records set
withdrawl=withdrawl+{} where
accont_no={}".format(m,acct)
t="update records set
CR_AMT=CR_AMT+{} where
accont_no={}".format(m,act)
c1.execute(av)
c1.execute(cv)
c1.execute(w)
c1.execute(t)
conn.commit()
print("Sucessfully
transfered")
y=input("do you want to
continue y/n -")
if y=="y":
continue
else:
print("Thank you")
if r==4:
ma="select balance from
records where accont_no={}".format(acct)
c1.execute(ma)
k=c1.fetchone()
print("Balance in your
account=",k)
print("==================================
=======================================
=======")
else:
print("Wrong password")
print("==================================
=======================================
=======")
y=input("do you want to continue
y/n -")
else:
print("your Account does not exists")
if op==3:
print("Exiting")
c1.close()
TESTING
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
SPECIFICATION-BASED TESTING
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.
INSTALLATION PROCEDURE
ATM MACHINE:-
Pre-Requisites :
I) mysql.connector or pymysql
II) matplotlib.
ATHALON(3800+- 4200+
DUAL CORE)
X. Printer : required
SOFTWARE REQUIREMENTS:
I. Windows OS
II. Python
BIBLIOGRAPHY
***