SlideShare a Scribd company logo
1 of 7
Requirement engineering Exercise – the ATM System
• Problem Description
An Automatic Teller Machine (ATM) is a computer based machine, connected to a network, that offers,
as basic functions to users, access to bank account (balance, bank transfers) and retrieval of money.
0. Stakeholders
User (end user who retrieves money, do bank transfer, check balance)
Maintenance person from bank (charges the money, maintains printer (ink, paper), gets retrieved
cards)
Security auditor from credit card circuit (accepts or not the system to be connected with credit card
circuit)
Security administrator (monitors security issues on ATM)
IT administrator (installs patches of the application, maintains platform (updates to OS, ..)
Link with Bloomberg for exchange rates NO (the computation of debit for foreign accounts is not
done in ATM, but by mother bank in back end) NO this is an interface
CEO of bank (logo of bank should be shown …
(advertise other financial products)
CTO of bank (buys the system) (less than somuch Euros for the project)
Developers (nice development environment Java and not C.. ) , analysts (
1. Context diagram and interfaces
1-a Define the context diagram of the application
We consider ONE atm (not the whole ATM circuit)
System
User
Credit card circuit (VI SA; Cirrus, Mast ercard, Maest ro)
Bank I T (DB) sy st em
ATM sy st em
Maint enance person from bank
I T adm inist rat or of bank
Securit y adm inist rat or of bank
1-b Describe the interfaces of the application (to person)
Interfaces
With User :
Physical: Screen, keyboard, printer, card reader, cash dispenser (card and cash are
physical objects exchanged between user and system)
Logical: GUi with screenshots for authorization, retrieval, balance, bank transfer
With maintenance person
Physical: Screen, keyboard, cash dispenser, card reader
Logical: GUI for authorization, monitoring status, loading money, opening/closing card
reader, opening/closing cash dispenser
With IT administrator
Physical: Screen, keyboard
Logical: GUI for authorization, monitoring IT status, upgrade application and other
platform software
With security administrator
Physical: Screen, keyboard
..
With IT administrator
1-c Describe the interfaces of the application (to other systems/devices)
With bank IT system
Physical: internet link
secure layer on top (cryptography, https ..)
Logical: functions that the Bank IT system provides to ATM system, and that ATM
system requires (calls) to Bank IT system: verify card id, verify card password, verify
amount request , debit amount to account (possibly refer the documentation describing
the functions provided by library )
With credit card system
Physical: internet link
secure layer on top (cryptography, https ..)
Logical: verify card id, verify card password, verify amount request , debit amount to
account
2. User requirements.
2-a Define the user requirements, notably using a table with functional and non functional
requirements.
Requirement ID Description
R1 Retrieve money yellow = high level, end user function
R2 Check balance
R3 Do bank transfer
R4 Print receipt
R5 Request ink splash on cash (in case of attack)
R6 Communicate amount of cash added
R7 Send Alarm when paper is low/ over
R8 Send Alarm when ink is low/ finished
R9 Send Alarm when cash is low/over
R10 Change status of ATM when cash is over (cash dispensing not
available) (better in state machine description)
R11 Hold card
R12 Read card
R13 Verify PIN
R14 Verify card (stolen, invalid for time)
R15 Dispense cash
R16 Ask PIN
R17 Ask amount
R18 Verify if amount(x) is available on account(y)
R19 Compute account c attached to card r
R20 Deduce a from account c
R21 Eject card
Keep track of money available, money dispensed , money collected
back (trace)
Monitor time between cash offered and cash retrieved by user
Monitor time between card returned and card taken
Monitor security related data and functions (number of attempts for
PIN, number of attempts per card )
Monitor status of machine
NFR1 The GUI should be user friendly - ambiguous non testable
Given n users with less than 1 year experience in using computers
or mobile phones, they should be able to complete Function Rx in
less than y seconds, without any help or tutoring
or
Function Rx should be completed with less than x choices (mouse
clicks)
The system should be efficient ambiguous, non testable
Function R1 shall be performed in less than 1 second - ok, testable
Function R2 should be performed in less than 10 sec
2b GLOSSARY
Card = debit card or credit card
Debit Card = Plastic card, with number, typically attached to a bank, a customer and account
Credit Card = Plastic card, with number, typically attached to credit circuit (Visa, UnionPay, ..)
Account = credentials for accessing a service (username password)
Customer = customer description (name, address, ..)
Account = virtual deposit of money, where money can added or subtracted. Typically
attached to a customer
Data absolutely avoid - too generic
System
Function
2C (extended) Glossary using class diagram
Account
+ID
+balance
+addAmount()
+retrieveAmount()
+readBalance()
Person
+name
+family name
+address
Credit Card Debit Card
Bank
+name
1
0..*
Credit Card Circuit
belongs
manages
1
1..*
has
1..*
0..*
has
Class diagram
class
CCB:Bank
+name = CCB
UBS:Bank
+name = UBS
Object
is Instance Of
Object diagram
a1: Account
+ID = 12345678
a2: Account
+ID = 2345667668
a3: Account
is instance of
is instance of
is instance of
a4: Account
Card.
+ID
2-b Define the user requirements. As an alternative to the technique above describe each
requirement with the following form (from 03_requirements slides)
Name R7 Verify if amount a is available on account c
Description verify that account c contains at least amount a (or c.balance > a)
Input Account number c
Amount requested a
Output True or false
Action Call same function on information system of bank
2-c Define scenarios of use with the following template (from heating control system)
Scenario name
S1, retrieve
money,
requested
amount
given
General description
Step Description Requirement
ID
1 Read card r R12
1A Verify card (stolen, ..) R14
2 Ask PIN R16
3 Verify PIN R13
4 Ask amount R17
5 Read amount a
6 Compute account c attached to
card r
R19
7 Verify if amount a is available on
account c
R18
8 Dispense cash a R15
9 Deduce a from account c R20
10 Print receipt R4
11 Eject card R21
Scenario name
S5, retrieve
money,
card invalid
General description
Step Description Requirement
ID
1 Read card r R12
2 Verify card valid R14
3 Eject card R21
S2 check balance
S3 bank transfer
S4, retrieve money, amount requested not available
S5, retrieve money, card invalid
High level function R1 can instantiate scenarios S1, S4, S5
High level function R2 can instantiate scenarios S2, ..
2-d Define the use case diagram
2-e Define the sequence diagrams for some specific scenarios

More Related Content

What's hot

A CASE Lab Report - Project File on "ATM - Banking System"
A CASE Lab Report - Project File on  "ATM - Banking System"A CASE Lab Report - Project File on  "ATM - Banking System"
A CASE Lab Report - Project File on "ATM - Banking System"joyousbharat
 
Bank management system with java
Bank management system with java Bank management system with java
Bank management system with java Neha Bhagat
 
ATM System Description and functional and non- functional Requirements
ATM System Description and functional and non- functional RequirementsATM System Description and functional and non- functional Requirements
ATM System Description and functional and non- functional Requirementswajahat Gul
 
19701759 project-report-on-railway-reservation-system-by-amit-mittal
19701759 project-report-on-railway-reservation-system-by-amit-mittal19701759 project-report-on-railway-reservation-system-by-amit-mittal
19701759 project-report-on-railway-reservation-system-by-amit-mittalsatyaragha786
 
Atm simulation mini project using Python programming language
Atm simulation  mini project using Python programming language Atm simulation  mini project using Python programming language
Atm simulation mini project using Python programming language Mauryasuraj98
 
Hotel management system project
Hotel management system projectHotel management system project
Hotel management system projectMohammed Al Babeli
 
Project report on (atm MAnagment system)
Project report on (atm MAnagment system)Project report on (atm MAnagment system)
Project report on (atm MAnagment system)Muhammad Umer Lari
 
Banking system
Banking systemBanking system
Banking systemmjleo
 
Online Banking Project
Online Banking ProjectOnline Banking Project
Online Banking ProjectM.Saber
 
Banking Management System Project
Banking Management System ProjectBanking Management System Project
Banking Management System ProjectChaudhry Sajid
 
Bank Management System Desktop Application
Bank Management System Desktop Application Bank Management System Desktop Application
Bank Management System Desktop Application Ibadullah Khan
 
HDFC banking system SRS Document
HDFC banking system  SRS DocumentHDFC banking system  SRS Document
HDFC banking system SRS DocumentNavjeetKajal
 
A T M (Automated Teller Machine)
A T M (Automated Teller Machine)A T M (Automated Teller Machine)
A T M (Automated Teller Machine)Networking
 
Hotel management synopsis
Hotel management synopsisHotel management synopsis
Hotel management synopsisRahulraj Nirala
 
JUSTCABS - an Online Cab Reservation System (Final Year Project)
JUSTCABS - an Online Cab Reservation System (Final Year Project)JUSTCABS - an Online Cab Reservation System (Final Year Project)
JUSTCABS - an Online Cab Reservation System (Final Year Project)Amartya .
 

What's hot (20)

A CASE Lab Report - Project File on "ATM - Banking System"
A CASE Lab Report - Project File on  "ATM - Banking System"A CASE Lab Report - Project File on  "ATM - Banking System"
A CASE Lab Report - Project File on "ATM - Banking System"
 
Bank management system with java
Bank management system with java Bank management system with java
Bank management system with java
 
ATM System Description and functional and non- functional Requirements
ATM System Description and functional and non- functional RequirementsATM System Description and functional and non- functional Requirements
ATM System Description and functional and non- functional Requirements
 
Atm software
Atm softwareAtm software
Atm software
 
19701759 project-report-on-railway-reservation-system-by-amit-mittal
19701759 project-report-on-railway-reservation-system-by-amit-mittal19701759 project-report-on-railway-reservation-system-by-amit-mittal
19701759 project-report-on-railway-reservation-system-by-amit-mittal
 
Atm simulation mini project using Python programming language
Atm simulation  mini project using Python programming language Atm simulation  mini project using Python programming language
Atm simulation mini project using Python programming language
 
Hotel management system project
Hotel management system projectHotel management system project
Hotel management system project
 
Project report on (atm MAnagment system)
Project report on (atm MAnagment system)Project report on (atm MAnagment system)
Project report on (atm MAnagment system)
 
Banking system
Banking systemBanking system
Banking system
 
Online Banking Project
Online Banking ProjectOnline Banking Project
Online Banking Project
 
Banking Management System Project
Banking Management System ProjectBanking Management System Project
Banking Management System Project
 
ONLINE BUS BOOKING SYSTEM
ONLINE BUS BOOKING SYSTEMONLINE BUS BOOKING SYSTEM
ONLINE BUS BOOKING SYSTEM
 
Atm system_project
Atm system_projectAtm system_project
Atm system_project
 
Bank Management System Desktop Application
Bank Management System Desktop Application Bank Management System Desktop Application
Bank Management System Desktop Application
 
HDFC banking system SRS Document
HDFC banking system  SRS DocumentHDFC banking system  SRS Document
HDFC banking system SRS Document
 
A T M (Automated Teller Machine)
A T M (Automated Teller Machine)A T M (Automated Teller Machine)
A T M (Automated Teller Machine)
 
Hotel management synopsis
Hotel management synopsisHotel management synopsis
Hotel management synopsis
 
Srs of bms
Srs of bmsSrs of bms
Srs of bms
 
JUSTCABS - an Online Cab Reservation System (Final Year Project)
JUSTCABS - an Online Cab Reservation System (Final Year Project)JUSTCABS - an Online Cab Reservation System (Final Year Project)
JUSTCABS - an Online Cab Reservation System (Final Year Project)
 
Srs for banking system
Srs for banking systemSrs for banking system
Srs for banking system
 

Similar to The atm system

python pre-submission report.pdf
python pre-submission report.pdfpython pre-submission report.pdf
python pre-submission report.pdfSruthiMugle
 
Software Engineering Testing & Research
Software Engineering Testing & Research Software Engineering Testing & Research
Software Engineering Testing & Research Vrushali Lanjewar
 
PPS.pptx this ppt is for coding your problems and to do ppt for new students ...
PPS.pptx this ppt is for coding your problems and to do ppt for new students ...PPS.pptx this ppt is for coding your problems and to do ppt for new students ...
PPS.pptx this ppt is for coding your problems and to do ppt for new students ...ragishettyanilkumar
 
ATM BLock Diagram and its design uses development.pptx
ATM BLock Diagram and its design uses development.pptxATM BLock Diagram and its design uses development.pptx
ATM BLock Diagram and its design uses development.pptxkeerthi975
 
IRJET- Secured Merchant Payment using Biometric Transaction
IRJET-  	  Secured Merchant Payment using Biometric TransactionIRJET-  	  Secured Merchant Payment using Biometric Transaction
IRJET- Secured Merchant Payment using Biometric TransactionIRJET Journal
 
Automated teller machine
Automated teller machineAutomated teller machine
Automated teller machineVidya Sagar
 
E secure transaction project ppt(Design and implementation of e-secure trans...
E secure transaction project  ppt(Design and implementation of e-secure trans...E secure transaction project  ppt(Design and implementation of e-secure trans...
E secure transaction project ppt(Design and implementation of e-secure trans...AJIT Singh
 

Similar to The atm system (20)

Design.pptx
Design.pptxDesign.pptx
Design.pptx
 
python pre-submission report.pdf
python pre-submission report.pdfpython pre-submission report.pdf
python pre-submission report.pdf
 
Software Engineering Testing & Research
Software Engineering Testing & Research Software Engineering Testing & Research
Software Engineering Testing & Research
 
PPS.pptx this ppt is for coding your problems and to do ppt for new students ...
PPS.pptx this ppt is for coding your problems and to do ppt for new students ...PPS.pptx this ppt is for coding your problems and to do ppt for new students ...
PPS.pptx this ppt is for coding your problems and to do ppt for new students ...
 
Atm system
Atm systemAtm system
Atm system
 
ATM BLock Diagram and its design uses development.pptx
ATM BLock Diagram and its design uses development.pptxATM BLock Diagram and its design uses development.pptx
ATM BLock Diagram and its design uses development.pptx
 
Atm.ppt
Atm.pptAtm.ppt
Atm.ppt
 
Task 2
Task 2Task 2
Task 2
 
Task 2
Task 2Task 2
Task 2
 
Atm Simulator
Atm SimulatorAtm Simulator
Atm Simulator
 
Atm Simulator
Atm SimulatorAtm Simulator
Atm Simulator
 
Banking system i
Banking system iBanking system i
Banking system i
 
IRJET- Secured Merchant Payment using Biometric Transaction
IRJET-  	  Secured Merchant Payment using Biometric TransactionIRJET-  	  Secured Merchant Payment using Biometric Transaction
IRJET- Secured Merchant Payment using Biometric Transaction
 
Atm
AtmAtm
Atm
 
Automated teller machine
Automated teller machineAutomated teller machine
Automated teller machine
 
1893 1896
1893 18961893 1896
1893 1896
 
1893 1896
1893 18961893 1896
1893 1896
 
Lec 1 intro
Lec 1 introLec 1 intro
Lec 1 intro
 
ATM.pptx
ATM.pptxATM.pptx
ATM.pptx
 
E secure transaction project ppt(Design and implementation of e-secure trans...
E secure transaction project  ppt(Design and implementation of e-secure trans...E secure transaction project  ppt(Design and implementation of e-secure trans...
E secure transaction project ppt(Design and implementation of e-secure trans...
 

More from wajahat Gul

High-level Data Link Control
High-level Data Link Control High-level Data Link Control
High-level Data Link Control wajahat Gul
 
Analog-to Digital Conversion
Analog-to Digital ConversionAnalog-to Digital Conversion
Analog-to Digital Conversionwajahat Gul
 
THE INTERNET AND NETWORK STANARDS
THE INTERNET AND NETWORK STANARDSTHE INTERNET AND NETWORK STANARDS
THE INTERNET AND NETWORK STANARDSwajahat Gul
 
Cost benefit Analysis of payroll System
Cost benefit Analysis of payroll SystemCost benefit Analysis of payroll System
Cost benefit Analysis of payroll Systemwajahat Gul
 
Usability Engineering Presentation Slides
Usability Engineering Presentation SlidesUsability Engineering Presentation Slides
Usability Engineering Presentation Slideswajahat Gul
 
Requirement checklist
Requirement checklistRequirement checklist
Requirement checklistwajahat Gul
 

More from wajahat Gul (7)

High-level Data Link Control
High-level Data Link Control High-level Data Link Control
High-level Data Link Control
 
Analog-to Digital Conversion
Analog-to Digital ConversionAnalog-to Digital Conversion
Analog-to Digital Conversion
 
THE INTERNET AND NETWORK STANARDS
THE INTERNET AND NETWORK STANARDSTHE INTERNET AND NETWORK STANARDS
THE INTERNET AND NETWORK STANARDS
 
Cost benefit Analysis of payroll System
Cost benefit Analysis of payroll SystemCost benefit Analysis of payroll System
Cost benefit Analysis of payroll System
 
Usability Engineering Presentation Slides
Usability Engineering Presentation SlidesUsability Engineering Presentation Slides
Usability Engineering Presentation Slides
 
ID E's features
ID E's featuresID E's features
ID E's features
 
Requirement checklist
Requirement checklistRequirement checklist
Requirement checklist
 

The atm system

  • 1. Requirement engineering Exercise – the ATM System • Problem Description An Automatic Teller Machine (ATM) is a computer based machine, connected to a network, that offers, as basic functions to users, access to bank account (balance, bank transfers) and retrieval of money. 0. Stakeholders User (end user who retrieves money, do bank transfer, check balance) Maintenance person from bank (charges the money, maintains printer (ink, paper), gets retrieved cards) Security auditor from credit card circuit (accepts or not the system to be connected with credit card circuit) Security administrator (monitors security issues on ATM) IT administrator (installs patches of the application, maintains platform (updates to OS, ..) Link with Bloomberg for exchange rates NO (the computation of debit for foreign accounts is not done in ATM, but by mother bank in back end) NO this is an interface CEO of bank (logo of bank should be shown … (advertise other financial products) CTO of bank (buys the system) (less than somuch Euros for the project) Developers (nice development environment Java and not C.. ) , analysts ( 1. Context diagram and interfaces 1-a Define the context diagram of the application We consider ONE atm (not the whole ATM circuit) System User Credit card circuit (VI SA; Cirrus, Mast ercard, Maest ro) Bank I T (DB) sy st em ATM sy st em Maint enance person from bank I T adm inist rat or of bank Securit y adm inist rat or of bank
  • 2. 1-b Describe the interfaces of the application (to person) Interfaces With User : Physical: Screen, keyboard, printer, card reader, cash dispenser (card and cash are physical objects exchanged between user and system) Logical: GUi with screenshots for authorization, retrieval, balance, bank transfer With maintenance person Physical: Screen, keyboard, cash dispenser, card reader Logical: GUI for authorization, monitoring status, loading money, opening/closing card reader, opening/closing cash dispenser With IT administrator Physical: Screen, keyboard Logical: GUI for authorization, monitoring IT status, upgrade application and other platform software With security administrator Physical: Screen, keyboard .. With IT administrator 1-c Describe the interfaces of the application (to other systems/devices) With bank IT system Physical: internet link secure layer on top (cryptography, https ..) Logical: functions that the Bank IT system provides to ATM system, and that ATM system requires (calls) to Bank IT system: verify card id, verify card password, verify amount request , debit amount to account (possibly refer the documentation describing the functions provided by library ) With credit card system Physical: internet link secure layer on top (cryptography, https ..) Logical: verify card id, verify card password, verify amount request , debit amount to account
  • 3. 2. User requirements. 2-a Define the user requirements, notably using a table with functional and non functional requirements. Requirement ID Description R1 Retrieve money yellow = high level, end user function R2 Check balance R3 Do bank transfer R4 Print receipt R5 Request ink splash on cash (in case of attack) R6 Communicate amount of cash added R7 Send Alarm when paper is low/ over R8 Send Alarm when ink is low/ finished R9 Send Alarm when cash is low/over R10 Change status of ATM when cash is over (cash dispensing not available) (better in state machine description) R11 Hold card R12 Read card R13 Verify PIN R14 Verify card (stolen, invalid for time) R15 Dispense cash R16 Ask PIN R17 Ask amount R18 Verify if amount(x) is available on account(y) R19 Compute account c attached to card r R20 Deduce a from account c R21 Eject card Keep track of money available, money dispensed , money collected back (trace) Monitor time between cash offered and cash retrieved by user Monitor time between card returned and card taken Monitor security related data and functions (number of attempts for PIN, number of attempts per card ) Monitor status of machine NFR1 The GUI should be user friendly - ambiguous non testable Given n users with less than 1 year experience in using computers or mobile phones, they should be able to complete Function Rx in less than y seconds, without any help or tutoring or Function Rx should be completed with less than x choices (mouse clicks) The system should be efficient ambiguous, non testable Function R1 shall be performed in less than 1 second - ok, testable Function R2 should be performed in less than 10 sec
  • 4. 2b GLOSSARY Card = debit card or credit card Debit Card = Plastic card, with number, typically attached to a bank, a customer and account Credit Card = Plastic card, with number, typically attached to credit circuit (Visa, UnionPay, ..) Account = credentials for accessing a service (username password) Customer = customer description (name, address, ..) Account = virtual deposit of money, where money can added or subtracted. Typically attached to a customer Data absolutely avoid - too generic System Function 2C (extended) Glossary using class diagram Account +ID +balance +addAmount() +retrieveAmount() +readBalance() Person +name +family name +address Credit Card Debit Card Bank +name 1 0..* Credit Card Circuit belongs manages 1 1..* has 1..* 0..* has Class diagram class CCB:Bank +name = CCB UBS:Bank +name = UBS Object is Instance Of Object diagram a1: Account +ID = 12345678 a2: Account +ID = 2345667668 a3: Account is instance of is instance of is instance of a4: Account Card. +ID
  • 5. 2-b Define the user requirements. As an alternative to the technique above describe each requirement with the following form (from 03_requirements slides) Name R7 Verify if amount a is available on account c Description verify that account c contains at least amount a (or c.balance > a) Input Account number c Amount requested a Output True or false Action Call same function on information system of bank
  • 6. 2-c Define scenarios of use with the following template (from heating control system) Scenario name S1, retrieve money, requested amount given General description Step Description Requirement ID 1 Read card r R12 1A Verify card (stolen, ..) R14 2 Ask PIN R16 3 Verify PIN R13 4 Ask amount R17 5 Read amount a 6 Compute account c attached to card r R19 7 Verify if amount a is available on account c R18 8 Dispense cash a R15 9 Deduce a from account c R20 10 Print receipt R4 11 Eject card R21 Scenario name S5, retrieve money, card invalid General description Step Description Requirement ID 1 Read card r R12 2 Verify card valid R14 3 Eject card R21 S2 check balance S3 bank transfer S4, retrieve money, amount requested not available S5, retrieve money, card invalid
  • 7. High level function R1 can instantiate scenarios S1, S4, S5 High level function R2 can instantiate scenarios S2, .. 2-d Define the use case diagram 2-e Define the sequence diagrams for some specific scenarios