ATM in Python Project Report (Rajni Mehta 6318034)
ATM in Python Project Report (Rajni Mehta 6318034)
A PROJECT REPORT
BACHELOR OF TECHNOLOGY
IN
COMPUTER SCIENCE AND ENGINEERING
AFFILIATED TO
I hereby declare that the project report entitled “AUTOMATED TELLER MACHINE IN PYTHON”
submitted by me to Guru nanak institute of technology, Mullana in partial fulfilment of the requirement
for the award of the degree of B.Tech in computer science and engineering is a record of bonafide project
work carried out by my own efforts and fact arrived at my observation under the guidance of
Mr.Siddharth arora (Hod).
I further declare that the work reported in this project has not been submitted, either in part or in full, for
the award of any other degree or diploma in this institute or any other institute or university.
RAJNI MEHTA
1
CERTIFICATE:-
2
Acknowledgement
I acknowledge the contribution of each and every individual in the development of this project entitled
“AUTOMATED TELLER MACHINE IN PYTHON”, who directly or indirectly helped me in this
project. Without their support it would have been a tough job for me to complete this project.
I express my sincere thanks to Mr siddharth arora (Hod of cs:) who guided me across the process of
learning and implementing the python, which is the language used to develop this project.
I pay my deep sense of gratitude to my colleagues, friends and my parents for their valuable moral
RAJNI MEHTA
3
Abstract
The ATM system is the project which is used to access their bank account in order to make cash
withdrawals whenever the user need to make cash withdrawals, they can enter their PIN(Personal
Identification Number) and it will used to display the amount to be withdrawn in the form of 100’s, 500’s,
2000’s. Once their withdrawn was successful, the amount will be debited in their account.
The ATM system is develop in Python. Python is one of the powerful object oriented programming
language hence we used this language to develop our project.
The ATM will service one customer at a time. A customer will require to enter the ATM card number,
PIN Both of which will be sent to the data base for validation as part of each transaction. The customer
will the then able to perform one or more transaction. Also customer must will able to make a balance
enquiry of any account linked to the card.
The ATM will communicate each transaction to the database and obtain verification that is allowed by the
database . In the case of the cash withdrawal a second message will be send after the transaction have
been physically completed. If the database determined the customer’s PIN is invalid the customer will be
required to re-enter the PIN before a transaction can complete if a transaction failed for any reason other
than any invalid PIN the ATM will display an explanation of the problem and will then ask the customer
whether he or she want to do another transaction.
4
Content
Declaration
Certification
Acknowledgements
Abstract
1. List of figures 6
2. List of symbols and abbreviations 7
3. Introduction of the project 8
4. Level-0 DFD 10
4.1 DFD on ATM program
4.2 DFD on depositing
4.3 DFD on withdrawing
4.4 DFD on balance enquiry
4.5 DFD on change PIN
5. Methodology (the whole planning) 15
6. Facilities required for proposed work (Hardware & software specification) 19
6.1 Hardware Specifications
6.2 Software specifications
7. Tools and technology used 20
8. Experiments and results 21
9. Future scope 30
10. References 31
1. List of figures
6
3.Introduction of project
The ATM is intended to be used by the individuals who are customer of a bank, possesses an active bank
account in that ATM, possesses an active ATM card of their own.
Following are the main objectives of the ATM developed during this project:
7
Figure 1: physical view of an ATM
This project is based on the working methodology of an ATM system. It provides some of the basic
functionality and features that mimics a real world ATM system.
An ATM (automated teller machine) is an electronic telecommunications device that enables customers
of financial institutions to perform financial transactions, such as cash withdrawals, deposits, transfer
funds, or obtaining account information, at any time and without the need for direct interaction with bank
staff [1].
Using an ATM, customers can access their bank deposit or credit accounts in order to make a variety of
financial transactions, most notably cash withdrawals and balance checking, as well as transferring credit
to and from mobile phones. ATMs can also be used to withdraw cash in a foreign country. If the currency
being withdrawn from the ATM is different from that in which the bank account is denominated, the
money will be converted at the financial institution's exchange rate[1].
Customers are typically identified by inserting a plastic ATM card (or some other acceptable payment
card) into the ATM, with authentication being by the customer entering a PIN (personal identification
number), which must match the PIN stored in the chip on the card (if the card is so equipped), or in the
issuing financial institution's database[1].
Use of ATM improves the way you follow to take the money out of your bank account. You no longer
need to fill form and formalities to take the money out of your account. All you need is just a simple card.
Card bears a unique 16- digit number with the access to your information being protected by a 4-digit
PIN. This the same which is used to verify the authentication your card. Card is inserted in the slot of
ATM to proceedp further where you be asked to enter your 4-digit PIN.
8
Upon entering the correct PIN you can:
i. Withdraw cash
ii. Check your account balance
iii. Change the PIN
iv. Deposit cash
If the entered PIN is wrong you get an another chance to enter the correct PIN. Card is blocked upon
entering the incorrect PIN for the three consecutive times for the security reasons. Once the card is
blocked no further operations can be performed by using that card.
9
4.Level 0 DFD
Change Pin
10
The Amount has been Credited to your A\C xxx0007
11
Bal
12
opt
13
opt
14
5. Methodology (the whole planning)
All implementation projects require the application of knowledge, skills, tools, methodologies and
techniques to undertake project tasks in order to meet or exceed a variety of needs and expectations.
Managing such projects requires the following:
15
Following is the source code for the ATM:
Bal=50000
chance=3
x=7277
while chance>=0:
if pin==x:
opt=int(input(print("Choose an option\n")))
if opt==1:
Bal=Bal+dep
16
print("Thanks for visiting\n")
continue
elif opt==2:
if(wid<=Bal):
Bal=Bal-wid
else:
print(" Low Balance !!\n sorry,This amount cannot be withdrawn at this moment\n")
continue
elif opt==3:
continue
elif opt==4:
if p==y:
17
x=p
else:
continue
elif opt==5:
else:
break
elif pin!=x:
chance=chance-1
if chance==0:
print("Your A\C has been Temproary locked Please Try again after 30sec\n")
continue
18
6. Facilities required for proposed work (Hardware & software specification)
Python 3.7.3
IDLE
Command line interpreter (cmd)
19
7.Technology & tools used
7.1 Technology used: This project will be using the following technology
7.2.Python
Features of python[2]:
7.3 Tools used: This project will be using following tools for development
i. Python 3.9.3
ii. IDLE
iii. Command line interpreter (cmd)
20
8. Expected result
The program under the ATM project is expected to produce the following result:
21
Snaps of the output:-
22
Figure 4: choice 2 withdrawal feature
23
Figure 5: Balance enquiry feature of ATM
24
Figure 6: PIN change feature of ATM
25
Figure 7: Exiting from the ATM
26
Figure 8: Incorrect PIN entered
27
Figure 9: PIN mismatch
28
9.Future Scope
It can be implemented in ATM Machine by owner of the bank or in-charge of the branch.
It is easy to learn the task.
29
10.Reference
[1] https://en.wikipedia.org/wiki/Automated_teller_machine
[2] https://www.tutorialspoint.com/What-are-the-major-features-of-python-programming
[3] https://www.python.org/downloads/
30