Oops Project Report IEEE
Oops Project Report IEEE
Submitted By:
Jaisha Naz
Object-Oriented Programming in C++
Session: Fall 22, 2A
BSE-22S-053
Department of Software Engineering
Submitted To:
This is to certify that Mr/Ms. JAISHA NAZ So/Do MERAJ AHMED having Roll No BSE-22S-053 has
successfully completed research work during Fall Semester 2022.
Signature: Signature:
ACKNOWLEGEMENT
Date: 07/January/2023
Your valuable guidance and suggestions helped me in various phases of the completion
of this project. I will always be thankful to you in this regard.
Signature:
ABSTRACT
ATM Simulator was developed using the C++ programming language and is based on the
concept of managing cash transactions in personal accounts. Users can manage cash
activities such as withdrawals, deposits, and account balance inquiries. This ATM simulator
is a mini project of the real ATM. With this ATM system, the above problems are overcome
here, and the transaction is performed personally by the customer, making the customer feel
safe and secure. Therefore, by applying our system, customers can check the account balance
and transaction amount by checking the PIN, making the ATM system easier to use. This
code has 4 ATM cardholders. Each cardholder is assigned the PIN code for the ATM card
and Account number.
This simulator was developed using C++. It's a GUI-based application that helps users
withdraw money from the bank and displays a receipt on the withdrawal.
Chapter 1: Introduction
ATM Simulator is developed using C++ Programming Language and is based on a concept of
managing cash transactions of a personal account. The user can manage cash activities such as
withdrawals, deposits, and balance inquiries. This ATM Simulator is basically the mini project of
the real ATM.
1.1 BACKGROUND
The requirement of this project comes when End-Users want to fetch money from his/her
existing bank account. Thus, using a right technique or approach will not only help the user in
terms of time, but will also get the correct information. Using an ATM, customers may access
their bank accounts in order to make account withdraws and check their account balances. There
are 1.5 million ATMs deployed around the world today and this figure is forecast to reach 2
million by 2011 according to Retail Banking Research. With 63% of all bank customer
transactions taking place via the ATM, the ATM is one of the most fundamental and important
of all channels for customers. It is time that ATMs evolve from being simply a mechanism for
cash withdrawal to become an integral part of the customer’s communication with the bank. In
order to minimize costs and to ensure that the ATM channel remains self-sufficient, it is
becoming increasingly important to offer a broader transaction set via the ATM. With the advent
of new Windows based software combined with any ATM hardware, banks can now offer
revenue generating facilities such as mobile top-up and bill payment as well as provide a vehicle
for targeted third party and own products and services advertising. It provides an overview of the
work required to correlate objective and subjective performance measurements of
communication systems. Important performance measurement issues are discussed, and
shortcomings of current methods and the impact of new transmission technologies and services
are conveyed. Desired future activities and goals are outlined in relation to the classification and
definition of various services and the development of key performance indicators. [1] The system
is started up when the operator turns the operator switch to the "on" position. The operator will
be asked to enter the amount of money currently in the cash dispenser, and a connection to the
bank will be established. Then the servicing of customers can begin.[12] Memory in C++ can be
divided into his two parts: stack and heap. The stack refers to memory allocated for variables
declared within a function. In contrast, heap refers to unused memory that can be dynamically
allocated. For example, if you do not know the memory requirements for storing information in
predefined variables, the memory size can be determined manually at run time. This is
accomplished with a special operator called the new operator that returns the address of the
allocated memory. If you do not need this, you can free the memory using the delete operator.
[13] I have visited many software applications to think what will be appropriate to build but I
choose ATM Simulator because it is easier to understand and make our transactions easy to do.
ATM software has become essential to financial institutions. Customers take it for granted that a
bank will have an ATM machine. [14] The ATM Simulator is built to serve both bank and
customer. For the bank, ATM software increases automation and reduces manual handling of
routine paperwork. For customers, ATMs are ubiquitous and always available, processing
recurring transactions whenever and wherever customers desire. [15]
1.2 MOTIVATION
ATM system was the application for transactions of cash, which makes the work easiest, the
primary goal of developing such software is to develop software so that consumer can access a
bank’s computer and carry out their own financial transactions without the mediation of a bank
employee. I have visited many software applications to think what will be appropriate to build
but I choose ATM Simulator because it is easier to understand and make our transactions easy to
do. ATM software has become essential to financial institutions. Customers take it for granted
that a bank will have an ATM machine. ATM machines are available at many stores, sporting
events, colleges, and other locations throughout the world. ATM is:
Technology that helps to implement low-cost, high-performance switches.
Flexible local communication mechanism to support multi-service traffic.
A means of providing wide area ATM services (especially his B-ISDN) to desktop end
systems.
A means of decoupling various aspects of policy and implementation, such as resource
management, billing, and authentication.
Many companies offer ATM products. As a result, only vendors or large financial firms may be
able to justify the cost and effort to create ATM software.
1.6 LIMITATION
Only user can access the account.
In case of generation of new PIN code, the PIN was send to direct Home Address.
If there is a problem with your bank card or you forgot your PIN, you will not be able to
withdraw money.
Restrictions on cash withdrawals from ATMs.
Lost ATM cards can be abused.
Bank ATMs are limited in rural areas.
Installing an ATM can be affordable for financial institutions, but not for users. Banks and
device owners generate a lot of revenue from ATMs in the form of fees they charge to users who
use them. Transaction costs are the main drawback of ATMs.
Chapter 3: Methodology
In this section, I discuss the proposed of ATM interference namely “iBank ATM Simulator” and
target to the active users who can use this Modernized ATM Simulator.
The “iBank ATM Simulator” system have some
common features that an ATM machine have like
invalid PIN if we enter wrong PIN and reset PIN
etc. For this research I have targeted many bank
ATMs, which are “Habib Bank of Pakistan”,
“Meezan Bank” , “Bank of Punjab” and “FaisaL
Bank” etc. The Interference of ATM of these
banks are seemly same.
Figure 1 Shows the General Interference of ATM Figure 1General Interference of ATMs
Systems. The proposed ATM simulator was built
in the C++ Programming Language.
Use Case Diagram for ATM Simulator
The use case partition the functionality of a system into a small number of discrete units,
and all system behavior must fall under some use case. Each use case should represent a
kind of service that the system provides, something that provides value to the actor.
A particular person may be both a bank teller and the customer of the same bank.
For the ATM application, the actors are Customer and Bank.
Following figure shows the use case diagram
Initiate Session: The
ATM establishes the identity of the user and makes available a list of accounts and
actions.
Query Account: The system provides general data for an account such as the current
balance, date of last transactions, and date for mailing last statement.
Transmit Data: The ATM uses the consortium’s facilities to communicate with
appropriate bank computers.
The system is started up when the operator turns the operator switch to the "on" position. The
operator will be asked to enter the amount of money currently in the cash dispenser, and a
connection to the bank will be established. Then the servicing of customers can begin.
Chapter 4: Implementation
IMPLEMENTATION LANUAGE
C++
Why C++?
The main features of C++ which makes it such a widely used language across the
globe are described as follows:
1. Object Oriented Programming
Unlike C, which is a procedural language, C++ is an object-oriented programming
language (OOP). OOP helps you modularize and maintain your programs efficiently. It improves
code clarity, code readability, bug fixes, and makes it easier to incorporate changes without
extensive reengineering. Additionally, OOP uses objects to perform real-time problems based on
five key concepts.
2. Machine independence
Machine independence (or portability) here refers to the ability to transfer instructions from one
operating environment to another. C++ uses the WORA principle (Write Once, Run Anywhere).
For example, if you are writing a program in Microsoft Windows and for some reason need to
switch to LINUX, your original program code will work the same. However, C++ is platform
independent. This means that the compiler produces operating system dependent .exe files that
cannot be run on other operating systems.
3. Simple
C++ is user friendly. It provides a structured and comprehensive approach using a syntax very
similar to C. In fact, C++ is commonly referred to as "C with classes". C++ offers a bottom-up
approach, so each project development can be divided into its own logical units and parts.
Additionally, it provides various built-in library functions and various data types.
4. Advanced programming language
As an intermediate language, it supports characteristics of both low-level (machine-level) and
high-level languages. It's not so cryptic and is closely related to the language that humans can
read and understand, namely English. 5. Compiler base
C++ was designed as a compiled language. This usually means that it is translated into machine
language that the system can understand directly. As a result, the generated program is very
efficient and relatively faster than his interpreter-based PYTHON and JAVA.
6. dynamic memory allocation
Memory in C++ can be divided into his two parts: stack and heap. The stack refers to memory
allocated for variables declared within a function. In contrast, heap refers to unused memory that
can be dynamically allocated. For example, if you don't know the memory requirements for
storing information in predefined variables, the memory size can be determined manually at run
time. This is accomplished with a special operator called the new operator that returns the
address of the allocated memory. If you don't need this, you can free the memory using the delete
operator.
Below Table shows the different ATM transaction times For NBP of Pakistan, HBL
Bank, Meezan Bank and iBank ATM. The transaction time was calculated through Keystroke
Level Modelling methods and each transaction shows the time in seconds.
TASKS NBP HBL Meezan iBank
Bank ATM
Cash 20.92 sec 19.29 sec 19.57 sec 17.66 sec
Withdrawal Keystroke Keystroke Keystroke Keystroke
Fast Cash No facility 19.29 sec 19.57 sec 17.66 sec
available Keystroke Keystroke Keystroke
Balance 19.54 sec 17.92 sec 18.19 sec 16.56 sec
Inquiry Keystroke Keystroke Keystroke Keystroke
Mini 19.54 sec 17.92 sec 18.19 sec 16.56 sec
Statement Keystroke Keystroke Keystroke Keystroke
ATM Simulator Interference and Working
In the figure above your have to Enter a PIN Code to access an account,
e.g. your PIN is 2213, then you will get access right after Entering the Correct PIN.
Above figure shows the features we can access through this ATM Simulator. These arrow
buttons are point the functions which are displaying on the screen.
Chapter 6: Findings
The operator will be asked to enter the amount of money currently in the cash dispenser, and a
connection to the bank will be established. Then the servicing of customers can begin.
The ATM requests account data from the consortium.
The consortium accepts the requests and forwards it to the appropriate bank.
The bank receives the requests and retrieves the desired data.
The bank sends the data to the consortium.
The consortium routes the data to the ATM.
The desire for bright colors was fundamental to the design of this model. The significant
difference between the deep purple background and the large buttons draws the user's account
when it comes to keystrokes. At this stage, Fitts' Law tests the hypothesis that the procedural
speed (velocity) required to control/click a push button is a method of its size and distance from
the user. As a result, the PIN password OK button was developed, the button was large and
placed in the center of the screen
CONCLUSION
The requirement of this project comes when End-Users want to fetch money from his/her
existing bank account. Thus, using a right technique or approach will not only help the user in
terms of time, but will also get the correct information. Using an ATM, customers may access
their bank accounts in order to make account withdraws and check their account balances.
ATM system was the application for transactions of cash, which makes the work easiest, the
primary goal of developing such software is to develop software so that consumer can access a
bank’s computer and carry out their own financial transactions without the mediation of a bank
employee. I have visited many software applications to think what will be appropriate to build
but I choose ATM Simulator because it is easier to understand and make our transactions easy to
do. ATM software has become essential to financial institutions. Customers take it for granted
that a bank will have an ATM machine.
Many companies offer ATM products. As a result, only vendors or large financial firms may be
able to justify the cost and effort to create ATM software. A small vendor would need some
unique feature to differentiate itself from the crowd and attract attention. Though this software
fully implements the functionally of the ATM that is available in the market today, but largely it
includes all the essential features that an ATM software must have.
REFERENCES
[1] CCITT, Recommendation 1.121. "Broadband Aspect of ISDN," Geneva, 1991.
[2] M. Camilli, M. Dibitonto, A. Vona, C. M. Medaglia and F. D. Nocera, "User-centered design
approach for interactive kiosks: evaluation and redesign of an automatic teller machine," In
Proceedings of the 9th ACM SIGCHI Italian Chapter International Conference on Computer-
Human Interaction: Facing Complexity. 2011, pp: 85-31. Doi: 10.1145/2037296.2037319
[3] M. Zhang, F. Wang, H. Deng and J. Yin, "A Survey on Human-Computer Interaction
Technology for Financial Terminals," In Proceedings of 2012 Fifth International Conference on
Intelligent Networks and Intelligent Systems (ICINIS). 2012. Doi: 10.1109/ICINIS.2012.65
[4] K. Curran and David King, "Investigating the human computer interaction problems with
automated teller machine navigation menus," Interactive Technology and Smart Education. vol.
5, no. 1, pp: 59-79, 2008. Doi: 10.1108/17415650810871583
[5] S. Z. Naseem, Y. Saleem, S. Zagham, A. M. Umar, M. Shafiq and M. Saleem. "Analysis Of
Different ATM Interfaces In Pakistan To Minimize Cognitive Burden For Interaction," Pakistan
Journal of Science, vol. 65, no. 1, pp: 73-76, 2013.
[6] R. H. Thaler and C. R. Sunstein, "Rethinking the choice architecture of ATM machines",
2011. [Online]. Available:http://nudges.org/2011/03/15/rethink - ing-the-choice-architecture-of-
atm-machines/
[7] R. Tuli, A. Khatri and A. Yadav. "A comparative study of customer attitude towards ATM of
SBI and ICICI bank," International Journal of Marketing and Technology, vol. 2, no. 8, pp: 463-
475, 2012.
[8] D. Kieras, "Using the keystroke-level model to estimate execution times." University of
Michigan, 2001.
[9] M. Goktürk, "Fitts’s Law" in The Glossary of Human Computer Interaction, Interaction
Design Foundation, [Online]. Available: https://www.interaction-design.org/literature/book/the-
glossa - ry-of-human-computer-interaction/fitts-s-law.
[10] Human Computer Interaction – Group 4: A project to create a new generation of ATM,
[Online]. Available:
http://www.cs.bham.ac.uk/~rjh/courses/IntroductionToHCI/2012-13/GroupSubmissions/
Group4.pdf.
[11] W. A. Rogers and A. D. Fisk. "ATM Design and Training Issues: Human factors Input to
Automatic Teller Machines Can Enhance-and Maybe Increase-Their Use," Ergonomics in
Design: The Quarterly of Human Factors Applications. vol. 5, no. 1, pp: 4-9, 1997.
[12] S. Wolf, "How Will We Rate Telecommunication System Performance", IEEE
Communications Magazine, pp. 23-29, October 1991.
[13] J. Buck, S. Ha, E. A. Lee and D. G. Messerschmitt, "Ptolemy: A Framework for Simulating
and Prototyping Heterogeneous Systems", International Journal of Computer Simulation,
January 1994.
[14] E. W. Knightly and G. Ventre, "Galileo: A Tool for Simulation and Analysis of Real-Time
Networks", Proceedings of 1993 International Conference on Network Protocols, pp. 264-271,
1993-October.
[15] A. Y. Lao, Heterogeneous Cell-Relay Network Simulation and Performance Analysis with
Ptolemy.