Embed Ed System
Embed Ed System
Version <1.0>
Authors:
Ajla Sokol, 140302103
Emina Topalović, 140302120
Faruk Bozkurt, 130304004
1
1 Introduction
An Automated Teller Machine (ATM) is a real-time system that is highly com-
plicated in design and implementation. As a real-time control system, the main
characteristic of ATM system, that shows the complexity of it, is the interac-
tion with hardware devices and users. ATM is an electronic telecommunication
device that enables customers of some financial institutions (such as banks) to
perform tasks regarding the finances, such as cash withdrawals, deposits, trans-
fer funds, and even obtaining account information at any time and without the
need for direct interaction with bank staff. For implementation of such soft-
ware, one of the most efficient ways is to programme it using object oriented
programming language, such as C++, in order to make use out of the object
oriented way of implementing software, in other words, to make a software by
implementing classes.
1.1 Purpose
This paper presents the formal design, specification, and modeling of the ATM
system. This document is intended for the following group of people:
• professor
• students
1.2 Scope
This document applies to Automated Teller Machine software. The software for
ATM allows user to perform various transactions in his account without need of
interaction with employees of bank. Some of the benefits that it offers are cash
withdrawals, balance transfers, deposits, and other banking related operations.
The software takes the bank account number and PIN number as inputs. The
outputs of the system are shown on the interactive display that lets the user
select the desirable function that he wants to perform. The software is expected
to be completed in duration of two months.
2
2.2 Product functions
• Withdrawal/Deposit: The operation that software should perform will be
entered by user (for example, if the user wants to withdraw or deposit
money). The amount to be withdrawn or deposited is then mentioned by
the user.
• This software allows the user to access their bank accounts remotely
through an ATM, without any additional help of the bank staff.
• The user is also provided with the facility to mention the required denom-
inations. Once he enters his requirements the machine goes through the
system based on current resources to check whether it is possible or not. If
yes, the amount is given to the user otherwise other possible alternatives
are displayed.
2.3 Constraints
The major constraints that the project has are as follows:
• The number of invalid pin entries attempted must not exceed three. After
three unsuccessful login, account is locked.
• The ATM must service at most one person at a time.
3
4 System overview
The ATM will service one customer at a time. A customer will be required to
enter a personal identification number (PIN), which will be sent to the bank
for validation as part of each transaction. The customer will then be able to
perform one or more transactions. The software must be able to provide the
following services to the customer:
4
5 Design Map
6 Software description
The ATM software will consist of three main classes with several child classes.
To have a better explanation of the work principle of classes, CRC model will
be used.
A Class Responsibility Collaborator (CRC) model is a collection of standard
index cards that have been divided into three sections: class name, responsi-
bilities and collaborators. A class represents a collection of similar objects, a
responsibility is something that a class knows or does, and a collaborator is
another class that a class interacts with to fulfill its responsibilities.
The software will consists of three main classes: ATM, BANK, TRANSAC-
TION. Inside of all of these classes, the child classes will be implemented (such
as display, receipt and so on). For example, the TRANSACTION class will
consists of the Withdrawl class, Deposit class, Transfer class.
The ATM needs to interact with the information from the database of bank.
In order for accuracy of information, database needs to be updated constantly
with any additional transaction made. Database needs to be changed automat-
ically (with every transaction), or it can be changed by the administrator (bank
workers).
5
embedded2
• availability
To ensure the system attributes are up to standards, the security of ATM needs
to be updated. To secure the ATM system, the additional attributes can be
6
added to hardware:
• sensors that can send alerts (and/or take the ATM offline) when anything
is attached to the card reader or keypad
• additional security cameras
7
Figure 4: Enter PIN slide
7 Architecture of ATM
The main input devices of ATM are:
• Card reader
• Keypad
The main output devices of ATM are:
• Display screen
• Receipt printer
• Cash depositor
These devices are interfaced to the processor that makes the heart of the ATM
machine. All the ATM machines working around the world are based on cen-
tralized database system. The ATM has to connect and communicate with the
host processor (server). The host processor is communicating with the internet
8
service provider (ISP). It is the gateway through all the ATM networks available
to the card holder.