TAB 2 - ATMS Software Requirements Specifications v1.0.0
TAB 2 - ATMS Software Requirements Specifications v1.0.0
Specifications
Version: 1.0
Date: 10/04/2013
Revision 1, 2013
This software requirements document is restructured according to IEEE 830:1998 then republished and
redistributed by Malaysian Software Testing Board. This particular document is a derivative from IEEE
830:1998, and the original author for ATMS is Mr. Russell C. Bjork.
Copyright © for 1996, 1997, 1998, 2000, 2001, 2002, 2004 versions belong to Mr. Russell C. Bjork for
the Automated Teller Machine System (ATMS) software which includes the software’s source code and
the software requirements, which are reproduced under Software Requirement Specification (SRS) and
Software Design Specification (SDS). Permission for the non-commercial reproduction for educational
use only is hereby granted by the owner (all other non-educational use are reserved).
Russell C. Bjork
Professor of Computer Science
Gordon College
255 Grapevine Road
Wenham, MA 01984
(978) 927-2300 x 4377
[email protected]
XYZ Bank ATMS_SRS 1.0
Document Control
10 April, 2013 i
XYZ Bank ATMS_SRS 1.0
Version History
10 April, 2013 ii
XYZ Bank ATMS_SRS 1.0
Table of Contents
10 April, 2013 iv
XYZ Bank ATMS_SRS 1.0
1.0 Introduction
1.1 Purpose
The purpose of this document is to specify the details at the specific requirements elicited by
ABC Requirements Engineering Team from ABC Sdn. Bhd. It addresses the functionality,
performance, interface, quality attributes and compliance requirements of Automated Teller
Machine System (ATMS).
This document is intended for system developer, project manager, configuration manager and
client.
1.2 Scope
10 April, 2013 1
XYZ Bank ATMS_SRS 1.0
Definitions
ATM An Automated Teller Machine (ATM) is the physical machine that offers
transaction services to a user, including cash withdrawal, cash deposit, fund
transfer and balance inquiry.
Idle A state of ATMS where the system is “On” but not servicing any user. In this
state, ATMS is waiting for the insertion of an ATM card to initiate a user session.
Operator A bank personnel responsible for physical maintenance activities on the ATM,
including but not limited to starting up and shutting down ATM, refilling the cash
dispenser in ATM and removing cheque envelopes from ATM.
User A user is a bank customer who holds an ATM card and is accessing the ATM.
Acronyms
10 April, 2013 2
XYZ Bank ATMS_SRS 1.0
1.4 References
1.5 Overview
10 April, 2013 3
XYZ Bank ATMS_SRS 1.0
10 April, 2013 4
XYZ Bank ATMS_SRS 1.0
Requirement
Description Priority Author
ID
ATMS GUI shall make use of only two colour, green
REQ_UI001 (RGB Hex code: #008000) for background and white Medium John Smith
(RGB Hex code: #FFFFFF) for text.
Table 1.0 ATMS GUI Requirements
F003 Session Verification To allow user to start a session for transaction. User
10 April, 2013 5
XYZ Bank ATMS_SRS 1.0
ATMS
Transaction Detail
Account Information
Receipt
Request
User
An operator’s primary role on ATMS is to start up and shut down the ATM. Users are the main
target of ATMS where ATMS offers a list of features to them. Bank transaction server will be
processing transaction details whenever a transaction is made by a user.
10 April, 2013 6
XYZ Bank ATMS_SRS 1.0
There are mainly two roles targeted by ATMS, including operator and user. The following table
(Table 3.0) shows the expected level of knowledge for each role.
10 April, 2013 7
XYZ Bank ATMS_SRS 1.0
10 April, 2013 8
XYZ Bank ATMS_SRS 1.0
This section details the external interface requirements of ATMS, separated by features of the
system.
Purpose To allow the operator to specify amount of banknotes in ATM during start up.
10 April, 2013 9
XYZ Bank ATMS_SRS 1.0
Description Automated Teller Machine card issued by the bank to a bank customer.
Related I/O REQ_IO301 (PIN must match the ATM card to allow transaction using ATM.)
10 April, 2013 10
XYZ Bank ATMS_SRS 1.0
Purpose To allow the user to choose the type of account to withdraw from.
1 – 3 (1 – Savings, 2 – Checking, 3 –
Format Number Valid Range Money Market)
Related I/O REQ_IO502 (Account type determines where the money will be withdrawn from.)
Purpose To allow the user to choose the type of account to deposit into.
1 – 3 (1 – Savings, 2 – Checking, 3 –
Format Number Valid Range Money Market)
Related I/O REQ_IO602 (Account type determines where the money will be deposited into.)
10 April, 2013 11
XYZ Bank ATMS_SRS 1.0
Purpose To allow the user to choose the type of account to transfer from.
1 – 3 (1 – Savings, 2 – Checking, 3 –
Format Number Valid Range Money Market)
Related I/O REQ_IO703 (Account type determines where the money will be transferred from.)
Purpose To allow the user to choose the type of account to transfer to.
1 – 3 (1 – Savings, 2 – Checking, 3 –
Format Number Valid Range Money Market)
Related I/O REQ_IO703 (Account type determines where the money will be transferred to.)
10 April, 2013 12
XYZ Bank ATMS_SRS 1.0
Description Type of account that a user wishes to inquire about its balance.
Purpose To allow the user to choose the type of account for balance inquiry.
1 – 3 (1 – Savings, 2 – Checking, 3 –
Format Number Valid Range Money Market)
Related I/O None
10 April, 2013 13
XYZ Bank ATMS_SRS 1.0
This section details the functional requirements of ATMS, starting with overall requirement,
followed by requirements of each features of the system. Figure 2.0 shows the overall use case
of ATMS:
ATM SYSTEM
Start Up System
Start Session
«include»
Select Transaction
User
«extends»
«extends» «extends»
«extends»
Withdraw
Deposit
Inquire Balance
Transfer
10 April, 2013 14
XYZ Bank ATMS_SRS 1.0
Description System shall record in log after each successful and failed transaction.
Description System shall display error message for invalid initial amount of cash.
10 April, 2013 15
XYZ Bank ATMS_SRS 1.0
Description System shall shut down when an operator presses “Off” button during “Idle” state.
The following table (Table 3.2.2) shows the details of this feature, followed by a state diagram to
illustrate the state transition of the feature.
Use Case ID UC002 Version 1.0
Actor Operator
Idle (S1)
_____Off (OF)_____
Perform Shutdown (PS)
Off (S2)
10 April, 2013 17
XYZ Bank ATMS_SRS 1.0
Description System shall start a session when a user inserts an ATM card.
Description System shall eject ATM card if a user inserts an invalid ATM card.
Description System shall retain ATM card if a user inputs invalid PIN for 3 times in a day.
Description System shall allow a user to terminate session during PIN input.
10 April, 2013 18
XYZ Bank ATMS_SRS 1.0
Description System shall allow a user to terminate session while in transaction menu.
Description System shall display error message for invalid ATM card.
Description System shall display error message for invalid PIN for first and second time.
Description System shall display error message for invalid PIN for third time (Card retained).
The following table (Table 6.0) shows the details of this feature, followed by a state diagram to
illustrate the state transition of the feature.
Use Case ID UC003 Version 1.0
Purpose To allow users to start a session and use the ATM services.
Actor User
10 April, 2013 19
XYZ Bank ATMS_SRS 1.0
10 April, 2013 20
XYZ Bank ATMS_SRS 1.0
__Cancel (C)__
Choose Transaction (CT)
____No (N)___
Eject Card (EC)
10 April, 2013 21
XYZ Bank ATMS_SRS 1.0
The flows of Transaction Menu are covered in F003 Session Verification, F005 Withdrawal,
F006 Deposit and F008 Balance Inquiry.
Description System shall request user to choose the type of account for withdrawal.
Description System shall be able to verify the type of account for withdrawal.
Description System shall be able to verify the daily withdrawal limit of account.
10 April, 2013 22
XYZ Bank ATMS_SRS 1.0
Description System shall be able to verify the amount of money in a user’s account.
Description System shall display error message for insufficient cash in ATM.
Description System shall display error message for insufficient balance in a user’s account.
Description System shall not respond to invalid account to withdrawal (Out of range).
The following table (Table 7.0) shows the details of this feature, followed by a state diagram to
illustrate the state transition of the feature.
Actor User
10 April, 2013 23
XYZ Bank ATMS_SRS 1.0
10 April, 2013 24
XYZ Bank ATMS_SRS 1.0
10 April, 2013 25
XYZ Bank ATMS_SRS 1.0
Description System shall request user to choose the type of account for deposit.
Description System shall be able to verify the type of account for deposit.
Description System shall not respond to invalid account to deposit (Out of range).
The following table (Table 8.0) shows the details of this feature, followed by a state diagram to
illustrate the state transition of the feature.
10 April, 2013 26
XYZ Bank ATMS_SRS 1.0
Actor User
10 April, 2013 27
XYZ Bank ATMS_SRS 1.0
10 April, 2013 28
XYZ Bank ATMS_SRS 1.0
Selecting Transaction(S1)
Deposit(E1)/
Prompt to select account type(A1)
Yes(E6)/
Prompt to select transaction type(A7)
Invalid Account Type(E9) [invalid]/
Selecting Account(S2)
Prompt to select account type again(A2)
Cancel(E5)/
Prompt to confirm new
transaction(A6) Account Type(E2)/
Prompt to enter amount of deposit(A3)
Inserting Envelope(S4)
Cancel(E5)/
Prompt to confirm new Envelope(E4)/
transaction(A6) Print receipt(A5)
Printing Receipt(S5)
Take Receipt(E7)/
Prompt to confirm new transaction(A6)
No(E8)/
Prompt to eject card(A8)
Ejecting Card(S7)
10 April, 2013 29
XYZ Bank ATMS_SRS 1.0
Description System shall request user to choose the type of account to transfer from.
Description System shall be able to verify the type of account to transfer from.
Description System shall request user to choose the type of account to transfer to.
Description System shall be able to verify the type of account to transfer to.
Description System shall request user to input the amount of fund transfer.
10 April, 2013 30
XYZ Bank ATMS_SRS 1.0
Description System shall display error message for insufficient balance in a user’s account.
Description System shall not respond to invalid account to transfer (Out of range).
The following table (Table 9.0) shows the details of this feature, followed by a state diagram to
illustrate the state transition of the feature.
Actor User
10 April, 2013 31
XYZ Bank ATMS_SRS 1.0
Alternate Flow – 3.1.1 User chooses invalid type of account to transfer from.
Invalid Account
Type (From) 3.1.2 Back to Main Flow Step 2.
Alternate Flow – 3.2.1 User presses “Cancel” button.
Cancel Transfer At
Account Type 3.2.2 Back to Main Flow Step 12.
Selection (From)
Alternate Flow – 6.1.1 User chooses invalid type of account to transfer to.
Invalid Account
Type (To) 6.1.2 Back to Main Flow Step 5.
Alternate Flow – 6.2.1 User presses “Cancel” button.
Cancel Transfer At
Account Type 6.2.2 Back to Main Flow Step 12.
Selection (To)
Alternate Flow – 9.1.1
User inputs invalid amount to transfer. (Amount more than daily
Invalid Transfer account balance)
Amount (Amount 9.1.2 System displays error message “Insufficient balance in account.”
more than account
balance) 9.1.3 Back to Basic Flow Step 12.
Alternate Flow – 9.2.1 User presses “Cancel” button.
Cancel When
Entering Transfer 9.2.2 Back to Main Flow Step 12.
Amount
Alternate Flow – 13.1 User chooses “Yes”.
Perform Another
System displays the transaction menu and waits for user’s
Transaction 13.2
transaction request.
i. Minimum transfer amount is $1.00.
Rules ii. Maximum transfer amount is $2,147,483,647
Author John Smith
Table 9.0 Use Case Specification – Transfer
10 April, 2013 32
XYZ Bank ATMS_SRS 1.0
Transfer (T)
Invalid Account Type (IAT) Waiting Input (WI)
Waiting Input (WI)
Cancel (C)
Waiting Input (WI)
Reading Account Transfer From (S2)
____No (N)____
Eject Card (EC)
Description System shall request user to choose the type of account to inquire.
10 April, 2013 33
XYZ Bank ATMS_SRS 1.0
Description System shall not respond to invalid account to inquire (Out of range).
The following table (Table 10.0) shows the details of this feature, followed by a state diagram to
illustrate the state transition of the feature.
Use Case ID UC007
Actor User
10 April, 2013 34
XYZ Bank ATMS_SRS 1.0
_Cancel (C)_
Eject Card (EC)
Choosing Transaction (S1)
Display Transaction Menu (DT)
________Yes (Y)_________
_____Inquiry_(I)_____
Request Account Type (R)
_____Cancel (C)_____
_Account Type (AC)_
Print Receipt (PR)
___No (N)____
Eject Card (EC)
Requirement
Description Priority Author
ID
The average response time of ATMS shall be less than High
REQ_P001 John Smith
2 seconds.
10 April, 2013 35
XYZ Bank ATMS_SRS 1.0
Requirement
Description Priority Author
ID
The bank transaction server shall be able to support up
REQ_P002 to 1000 connections (inclusive of 1000) at the same High John Smith
time.
This section outlines the standard compliances that are related to ATMS
The “clear and conspicuous notice” standard applies to notice posted on or at the ATM. The
“clear and readily understandable standard” applies to the content of the notice. The
requirement that the notice be in a retainable format only applies to printed notices (not those on
the ATM screen). (Section 205.16(c)).
10 April, 2013 36
XYZ Bank ATMS_SRS 1.0
3.5.1 Accuracy
The accuracy requirements for ATMS are as follows:
Requirement
Description Priority Author
ID
ATMS shall have less than 0.00001% computational
REQ_Q001 High John Smith
error in calculation.
3.5.2 Security
The security requirements for ATMS are as follows:
Requirement
Description Priority Author
ID
ATMS shall keep log for every transaction both on ATM
REQ_Q002 High John Smith
and in the bank transaction server.
Requirement
Description Priority Author
ID
ATMS shall use secured line for connection with bank
REQ_Q003 High John Smith
transaction server.
10 April, 2013 37