TAB 2 - ATMS Software Requirements Specifications v1.0.0

Download as pdf or txt
Download as pdf or txt
You are on page 1of 43

Software Requirements

Specifications

Automated Teller Machine System


(ATMS)

Version: 1.0
Date: 10/04/2013

Release By: XYZ Bank


 Malaysian Software Testing Board

Revision 1, 2013

All rights reserved.


No part of this publication may be reprinted, reproduced, stored in a retrieval system or transmitted, in
any form or by any means, without the prior permission in writing from the owners.
This publication and related documents mentioned in this publication and documents attached with this
publication are solely for educational purpose. The use of the any materials provided with this publication
for any commercial and/or any consultancy work is strictly prohibited.

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

Document Name ATMS Software Requirement Specifications


Reference Number ATMS_SRS
Version 1.0
Project Code ABC_ATMS
Status In-use
Date Released 10 April, 2013

Name Position Signature


Prepared By: Business Analyst
Ms. Business Analyst XYZ Bank

Reviewed By: Lead Developer


Mr. Reviewer XYZ Bank

Approved By: Project Manager


Mr. Client XYZ Bank

10 April, 2013 i
XYZ Bank ATMS_SRS 1.0

Version History

Version Release Date Section Amendments


1.0 10/04/2013 All Original Document

10 April, 2013 ii
XYZ Bank ATMS_SRS 1.0

Table of Contents

Document Control ........................................................................................................................ i


Version History............................................................................................................................ ii
Table of Contents....................................................................................................................... iii
1.0 Introduction .......................................................................................................................... 1
1.1 Purpose ............................................................................................................................ 1
1.2 Scope ............................................................................................................................... 1
1.3 Definition & Acronyms ...................................................................................................... 2
1.4 References ....................................................................................................................... 3
1.5 Overview .......................................................................................................................... 3
2.0 Overall Description ............................................................................................................... 5
2.1 Product Perspective ......................................................................................................... 5
2.1.1 User Interfaces ........................................................................................................... 5
2.1.2 Hardware Interfaces ................................................................................................... 5
2.1.3 Communication Interfaces.......................................................................................... 5
2.2 Product Feature ................................................................................................................ 5
2.3 Users Characteristics........................................................................................................ 7
3.0 Specific Requirements ......................................................................................................... 9
3.1 External Interfaces............................................................................................................ 9
3.1.1 Start Up Interface ....................................................................................................... 9
3.1.2 Shut Down Interface ................................................................................................... 9
3.1.3 Session Verification Interface ....................................................................................10
3.1.4 Transaction Menu Interface .......................................................................................10
3.1.5 Withdrawal Interface .................................................................................................11
3.1.6 Cash Deposit Interface ..............................................................................................11
3.1.7 Transfer Interface ......................................................................................................12
3.1.8 Balance Inquiry Interface...........................................................................................13
3.2 Functional Requirement...................................................................................................14
3.2.1 F001 Start Up............................................................................................................15
3.2.2 F002 Shut Down .......................................................................................................17
3.2.3 F003 Session Verification..........................................................................................18
3.2.4 F004 Transaction Menu ............................................................................................22

10 April, 2013 iii


3.2.5 F005 Withdrawal .......................................................................................................22
3.2.6 F006 Cash Deposit ...................................................................................................25
3.2.7 F007 Transfer ...........................................................................................................30
3.2.8 F008 Balance Inquiry ................................................................................................33
3.3 Performance Requirement ...............................................................................................35
3.4 Design Constraints ..........................................................................................................36
3.4.1 Americans with Disabilities Act (ADA) .......................................................................36
3.4.2 Electronic Fund Transfer Act .....................................................................................36
3.5 Software System Attributes .............................................................................................37
3.5.1 Accuracy ...................................................................................................................37
3.5.2 Security .....................................................................................................................37

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

ATMS shall facilitate mainly the following operations:


i. Start up and shutdown of ATMS.
ii. Withdrawal, cash deposit, fund transfer and balance inquiry.

10 April, 2013 1
XYZ Bank ATMS_SRS 1.0

1.3 Definition & Acronyms

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.

Transaction A transaction is a task performed using ATM by a user, including a Cash


Withdrawal, Cash Deposit, Fund Transfer and Balance Inquiry.

User A user is a bank customer who holds an ATM card and is accessing the ATM.

Acronyms

SRS System Requirement Specifications

ADA Americans with Disability Act

ATM Automated Teller Machine

ATMS Automated Teller Machine System

IEEE Institute of Electrical and Electronics Engineers

I/O Input or output

GUI Graphical User Interface

PIN Personal Identification Number

RGB Red Green Blue (Colour model)

10 April, 2013 2
XYZ Bank ATMS_SRS 1.0

1.4 References

This document is prepared in reference to the following documents:


i. IEEE Std 830-1998, Recommended Practice for Software Requirements Specifications
ii. ADA Standards 2010 Clause 707

1.5 Overview

This document consists of 3 sections:


Section 1 contains the purpose, scope, definitions, acronyms and references made to other
documents.
Section 2 contains the overall description of the system, including constraints and assumptions.
Section 3 contains specific requirements of ATMS to be implemented.

10 April, 2013 3
XYZ Bank ATMS_SRS 1.0

This page is intentionally left blank

10 April, 2013 4
XYZ Bank ATMS_SRS 1.0

2.0 Overall Description

2.1 Product Perspective


This section describes the different perspectives of ATMS.

2.1.1 User Interfaces


The following table (Table 1.0) summarizes the list of graphical user interface requirements
specified for ATMS:

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

2.1.2 Hardware Interfaces


ATMS shall be compatible with the following models of ATM hardware manufactured by Wincor
Nixdorf:
CINEO C2040
CINEO C2070
CINEO C4040

2.1.3 Communication Interfaces


ATMS shall connect to XYZ Bank transaction server using Local Area Network with minimum
speed of 1Mbps.

2.2 Product Feature


The following table (Table 2.0) contains the list of features to be implemented in ATMS,
separated by its accessible role.
Feature Accessible
Feature Description
ID Role
F001 Start Up To allow operator to start up ATMS. Operator

F002 Shut Down To allow operator to shut down ATMS.

F003 Session Verification To allow user to start a session for transaction. User

To allow user to choose the transaction to


F004 Transaction Menu
perform.
F005 Withdrawal To allow user to perform a cash withdrawal.

F006 Cash Deposit To allow user to perform a cash deposit.

F007 Transfer To allow user to perform a fund transfer.

F008 Balance Inquiry To allow user to perform a balance inquiry.


Table 2.0 ATMS Features

10 April, 2013 5
XYZ Bank ATMS_SRS 1.0

Figure 1.0 shows the context of ATMS.

Start Up Account Information


Bank
Operator Shut Down Transaction Detail Transaction
Server

ATMS

Transaction Detail
Account Information

Receipt
Request

User

Figure 1.0 ATMS Context Diagram

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

2.3 Users Characteristics

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.

Role Description Required Knowledge


Bank worker who performs Basic knowledge on ATM maintenance skills, including starting
Operator maintenance activities on up and shutting down ATM, refilling the ATM cash dispenser
ATM. and removing cheque envelopes from ATM.
Basic knowledge on bank transactions, including how to
General individual who
User perform cash withdrawal, cash deposit, fund transfer and
uses the ATM.
balance inquiry.
Table 3.0 Intended Users & Required Knowledge

10 April, 2013 7
XYZ Bank ATMS_SRS 1.0

This page is intentionally left blank

10 April, 2013 8
XYZ Bank ATMS_SRS 1.0

3.0 Specific Requirements

3.1 External Interfaces

This section details the external interface requirements of ATMS, separated by features of the
system.

3.1.1 Start Up Interface


Requirement ID REQ_IO101 Version 1.0

Item On Button (Input)

Description “On” button on the ATM.

Purpose To allow the operator to start up ATMS.

Format Metallic button Valid Range Not applicable

Related I/O None

Author John Smith

Requirement ID REQ_IO102 Version 1.0

Item Initial Amount of Banknotes (Input)

Description Amount of banknotes in ATM during start up.

Purpose To allow the operator to specify amount of banknotes in ATM during start up.

Format Number Valid Range 0 – 2147483647

Related I/O None

Author John Smith

3.1.2 Shut Down Interface


Requirement ID REQ_IO201 Version 1.0

Item Off Button (Input)

Description “Off” button on the ATM.

Purpose To allow the operator to shut down ATMS.

Format Metallic button Valid Range Not applicable

Related I/O None

Author John Smith

10 April, 2013 9
XYZ Bank ATMS_SRS 1.0

3.1.3 Session Verification Interface


Requirement ID REQ_IO301 Version 1.0

Item ATM Card (Input)

Description Automated Teller Machine card issued by the bank to a bank customer.

Purpose To allow the card holder to perform a transaction using an ATM.


Physical measurement of 85.60 × 53.98
Magnetic stripe mm (3.370 × 2.125 in) and rounded
Format card
Valid Range corners with a radius of 2.88–3.48 mm, in
accordance with ISO/IEC 7810#ID 1
Related I/O REQ_IO302 (PIN must match the ATM card to allow transaction using ATM.)

Author John Smith

Requirement ID REQ_IO302 Version 1.0

Item PIN (Input)


Personal Identification Number of the associated ATM card consisting of 6 Arabic
Description numerical digits.
Purpose To prevent unauthorized access over the ATM card account.

Format Number Valid Range 000000 – 999999

Related I/O REQ_IO301 (PIN must match the ATM card to allow transaction using ATM.)

Author John Smith

3.1.4 Transaction Menu Interface


Requirement ID REQ_IO401 Version 1.0

Item Transaction Type (Input)

Description Type of transaction that a user can perform on ATM.

Purpose To allow the user to choose the type of transaction to perform.


1 – 4 (1 – Withdrawal, 2 – Deposit, 3 –
Format Number Valid Range Transfer, 4 – Balance Inquiry)
Related I/O None

Author John Smith

10 April, 2013 10
XYZ Bank ATMS_SRS 1.0

3.1.5 Withdrawal Interface


Requirement ID REQ_IO501 Version 1.0

Item Account Type (Input)

Description Type of account that a user wishes to withdraw from.

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.)

Author John Smith

Requirement ID REQ_IO502 Version 1.0

Item Amount of Withdrawal (Input)

Description Amount of cash that the user wishes to withdraw.

Purpose To allow the user to specify the amount of cash to withdraw.


1 – 5 (1 – 20, 2 – 40, 3 – 60, 4 – 100, 5 –
Format Number Valid Range 200)
Related I/O REQ_IO501 (Account type determines where the money will be withdrawn from.)

Author John Smith

3.1.6 Cash Deposit Interface


Requirement ID REQ_IO601 Version 1.0

Item Account Type (Input)

Description Type of account that a user wishes to deposit into.

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.)

Author John Smith

10 April, 2013 11
XYZ Bank ATMS_SRS 1.0

Requirement ID REQ_IO602 Version 1.0

Item Amount of Deposit (Input)

Description Amount of cash that the user wishes to deposit.

Purpose To allow the user to specify the amount of cash to deposit.


10 – 2147483647 (After decimal
Format Number Valid Range conversion)
Related I/O REQ_IO601 (Account type determines where the money will be deposited into.)

Author John Smith

3.1.7 Transfer Interface


Requirement ID REQ_IO701 Version 1.0

Item Account Type (From) (Input)

Description Type of account that a user wishes to transfer from.

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.)

Author John Smith

Requirement ID REQ_IO702 Version 1.0

Item Account Type (To) (Input)

Description Type of account that a user wishes to transfer to.

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.)

Author John Smith

Requirement ID REQ_IO703 Version 1.0

Item Amount of Transfer (Input)

Description Amount of cash that the user wishes to transfer.

Purpose To allow the user to specify the amount of fund to transfer.


1 – 2147483647 (After decimal
Format Number Valid Range conversion)
REQ_IO701 (Account type determines where the money will be transferred from.)
Related I/O REQ_IO702 (Account type determines where the money will be transferred to.)
Author John Smith

10 April, 2013 12
XYZ Bank ATMS_SRS 1.0

3.1.8 Balance Inquiry Interface


Requirement ID REQ_IO801 Version 1.0

Item Account Type (Input)

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

Author John Smith

10 April, 2013 13
XYZ Bank ATMS_SRS 1.0

3.2 Functional Requirement

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

Shut Down System


Operator

Start Session

«include»

Select Transaction

User
«extends»

«extends» «extends»
«extends»

Withdraw

Deposit
Inquire Balance
Transfer

Figure 2.0 ATMS Overall Use Case

10 April, 2013 14
XYZ Bank ATMS_SRS 1.0

Requirement ID REQ_F001 Version 1.0

Description System shall record in log after each successful and failed transaction.

Author John Smith

Requirement ID REQ_F002 Version 1.0

Description System shall print receipt after each successful transaction.

Author John Smith

Requirement ID REQ_F003 Version 1.0

Description System shall allow a user to terminate transaction.

Author John Smith

Requirement ID REQ_F004 Version 1.0


System shall allow user to choose to perform another transaction after a
Description successful or failed transaction.
Author John Smith

3.2.1 F001 Start Up


The functional requirements for Start Up are as followed:
Requirement ID REQ_F101 Version 1.0

Description System shall start up when an operator presses “On” button.

Author John Smith

Requirement ID REQ_F102 Version 1.0

Description System shall request for input of initial amount of cash.

Author John Smith

Requirement ID REQ_F103 Version 1.0

Description System shall be able to verify initial amount of cash.

Author John Smith

Requirement ID REQ_F104 Version 1.0

Description System shall display error message for invalid initial amount of cash.

Author John Smith

10 April, 2013 15
XYZ Bank ATMS_SRS 1.0

3.2.2 F002 Shut Down


The functional requirements for Shut Down are as followed:
Requirement ID REQ_F201 Version 1.0

Description System shall shut down when an operator presses “Off” button during “Idle” state.

Author John Smith

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

Use Case F002 System Shut Down

Purpose To allow operators to shut down ATMS for maintenance activities.

Actor Operator

Trigger Operator presses the “Off” button on the ATM.

Precondition ATMS is in “On” and “Idle” state.

Scenario Name Step Action


Main Flow 1 Operator presses “Off” button.

2 System displays error message “Not currently available”.

3 System stops all services.

Rules System must be in “Idle” to be shut down.

Author John Smith


Table 5.0 Use Case Specification – Shut Down

Idle (S1)

_____Off (OF)_____
Perform Shutdown (PS)

Off (S2)

Figure 4.0 State Diagram – Shut Down

10 April, 2013 17
XYZ Bank ATMS_SRS 1.0

3.2.3 F003 Session Verification


The functional requirements for Session Verification are as follows:
Requirement ID REQ_F301 Version 1.0

Description System shall start a session when a user inserts an ATM card.

Author John Smith

Requirement ID REQ_F302 Version 1.0

Description System shall be able to verify an ATM card.

Author John Smith

Requirement ID REQ_F303 Version 1.0


System shall request for input of PIN after system successfully verifies an ATM
Description card.
Author John Smith

Requirement ID REQ_F304 Version 1.0

Description System shall be able to verify a PIN.

Author John Smith

Requirement ID REQ_F305 Version 1.0

Description System shall eject ATM card if a user inserts an invalid ATM card.

Author John Smith

Requirement ID REQ_F306 Version 1.0


System shall request user to re-input PIN in case of invalid PIN for first and
Description second time.
Author John Smith

Requirement ID REQ_F307 Version 1.0

Description System shall retain ATM card if a user inputs invalid PIN for 3 times in a day.

Author John Smith

Requirement ID REQ_F308 Version 1.0

Description System shall allow a user to terminate session during PIN input.

Author John Smith

10 April, 2013 18
XYZ Bank ATMS_SRS 1.0

Requirement ID REQ_F309 Version 1.0

Description System shall allow a user to terminate session while in transaction menu.

Author John Smith

Requirement ID REQ_F310 Version 1.0

Description System shall be able to terminate a session.

Author John Smith

Requirement ID REQ_F311 Version 1.0

Description System shall display error message for invalid ATM card.

Author John Smith

Requirement ID REQ_F312 Version 1.0

Description System shall display error message for invalid PIN for first and second time.

Author John Smith

Requirement ID REQ_F313 Version 1.0

Description System shall display error message for invalid PIN for third time (Card retained).

Author John Smith

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

Feature F003 Session Verification

Purpose To allow users to start a session and use the ATM services.

Actor User

Trigger User inserts an ATM card.

Precondition ATMS is in “On” and “Idle” state.

Scenario Name Step Action


Main Flow 1 User inserts a valid ATM card into the ATM.

2 System starts a session and verifies the ATM card.

3 System requests for input of PIN.

4 User inputs the correct PIN.

10 April, 2013 19
XYZ Bank ATMS_SRS 1.0

5 System verifies the PIN


System displays the transaction menu and waits for user’s
6
transaction request.
7 User chooses a transaction.

8 System performs transaction.

9 User ends a session.

10 System terminates session and eject card.


System enters “Idle” state and displays message “Please insert
11
your card”.
Alternate Flow – 1.1 User inserts an invalid ATM card into the ATM.
Invalid ATM Card
1.2 System displays error message “Invalid card” and reject the card.

1.3 Back to Main Flow Step 11.


Alternate Flow – 4.1.1 User inputs an invalid PIN.
Invalid PIN (1 or 2
times) 4.1.2 System verifies that this is not the third time invalid PIN is entered.
System displays error message “Invalid PIN” and request for user
4.1.3
to re-enter password.
Alternate Flow – 4.2.1 User inputs an invalid PIN.
Invalid PIN (3 times)
4.2.2 System verifies that this is the third time invalid PIN is entered.

4.2.3 System terminates session and retains ATM card.


System displays error message “Your card has been retained.
4.2.4
Please contact the bank.”
4.2.5 Back to Main Flow Step 11.
Alternate Flow – 4.3.1 User presses “Cancel” button.
Cancel During PIN
Input 4.3.2 Back to Main Flow Step 10.
Alternate Flow – 7.1 User presses “Cancel” button.
Cancel During
Transaction Menu 7.2 Back to Main Flow Step 10.

Rules i. 3 times invalid PIN causes card retention. [REQ_F307]


i. Transaction is further split into Withdrawal, Deposit, Transfer and Inquiry
will be covered in Section 3.2.5, 3.2.6, 3.2.7, and 3.2.8.
Note ii. For specification of ATM card and PIN, refer to [REQ_IO301] and
[REQ_IO302].
Author John Smith
Table 6.0 Use Case Specification – Session Verification

10 April, 2013 20
XYZ Bank ATMS_SRS 1.0

__Invalid Card (IC)___


Display Message (DM)
Reading Card (S1)
_3 Invalid PIN (3IP)
Retain Card (RC)

_Valid Card (VC)


_Invalid PIN (IP)_ Read Pin (RP)
Display Message (DM)
__Cancel (C)__
Eject Card (EC)
Reading Pin (S2)

___Valid PIN (VP)___


Display Transaction (DT)

__Cancel (C)__
Choose Transaction (CT)

Eject Card (EC)


______Yes (Y)_____

Choosing Transaction (S3)

_Transaction Type (TT)_


Perform Transaction (PT)

Performing Transaction (S4)

____No (N)___
Eject Card (EC)

Ejecting Card (S5)

Figure 5.0 State Diagram – Session Verification

10 April, 2013 21
XYZ Bank ATMS_SRS 1.0

3.2.4 F004 Transaction Menu


The functional requirements for Transaction Menu are as followed:
Requirement ID REQ_F401 Version 1.0
System shall display a list of transaction types, including Withdrawal, Deposit,
Description Fund Transfer and Balance Inquiry.
Author John Smith

The flows of Transaction Menu are covered in F003 Session Verification, F005 Withdrawal,
F006 Deposit and F008 Balance Inquiry.

3.2.5 F005 Withdrawal


The functional requirements for Withdrawal are as follows:
Requirement ID REQ_F501 Version 1.0

Description System shall allow user to perform a cash withdrawal.

Author John Smith

Requirement ID REQ_F502 Version 1.0

Description System shall request user to choose the type of account for withdrawal.

Author John Smith

Requirement ID REQ_F503 Version 1.0

Description System shall be able to verify the type of account for withdrawal.

Author John Smith

Requirement ID REQ_F504 Version 1.0

Description System shall request user to input the amount of withdrawal.

Author John Smith

Requirement ID REQ_F505 Version 1.0

Description System shall be able to verify the amount of banknotes in ATM.

Author John Smith

Requirement ID REQ_F506 Version 1.0

Description System shall be able to verify the daily withdrawal limit of account.

Author John Smith

10 April, 2013 22
XYZ Bank ATMS_SRS 1.0

Requirement ID REQ_F507 Version 1.0

Description System shall be able to verify the amount of money in a user’s account.

Author John Smith

Requirement ID REQ_F508 Version 1.0


System shall display error message for invalid account for withdrawal (Non-
Description existing account).
Author John Smith

Requirement ID REQ_F509 Version 1.0

Description System shall display error message for insufficient cash in ATM.

Author John Smith

Requirement ID REQ_F510 Version 1.0

Description System shall display error message for insufficient balance in a user’s account.

Author John Smith

Requirement ID REQ_F511 Version 1.0


System shall display error message when a user’s daily maximum withdrawal limit
Description is reached. (Limit = 300)
Author John Smith

Requirement ID REQ_F512 Version 1.0

Description System shall not respond to invalid account to withdrawal (Out of range).

Author John Smith

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.

Use Case ID UC004 Version 1.0

Use Case Withdrawal

Purpose To allow users to perform a cash withdrawal.

Actor User

Trigger User chooses “Withdrawal” in Transaction Menu.

Precondition ATMS is in “On” and at Transaction Menu.

10 April, 2013 23
XYZ Bank ATMS_SRS 1.0

Scenario Name Step Action


Main Flow 1 User chooses “Withdrawal” in Transaction Menu.

2 System requests for type of account to withdraw from.

3 User chooses valid type of account to withdraw from.

4 System verifies type of account to withdraw from.

5 System requests for amount to withdraw.

6 User enters valid amount to withdraw.

7 System verifies amount of banknotes in ATM.

8 System verifies daily withdrawal limit of account.

9 System verifies amount of money in account.

10 System dispenses cash equal to withdrawal amount.

11 System records in log and prints receipt.

12 System asks whether user wants to perform another transaction.

13 User chooses “No”.

14 System terminates session and ejects card.


System enters “Idle” state and displays message “Please insert
15
your card”.
Alternate Flow – 3.1.1 User chooses invalid type of account to withdraw from.
Invalid Account
Type 3.1.2 System displays error message “Invalid account type.”

3.1.3 Back to Main Flow Step 12.


Alternate Flow – 3.2.1 User presses “Cancel” button.
Cancel Withdrawal
At Account Type 3.2.2 Back to Main Flow Step 12.
Selection
Alternate Flow – 6.1.1
User inputs invalid amount to withdraw. (Amount more than
Invalid Withdrawal balance in ATM)
Amount (Insufficient 6.1.2 System displays error message “Insufficient cash”.
Balance in ATM)
6.1.3 Back to Basic Flow Step 5.
Alternate Flow – 6.2.1
User inputs invalid amount to withdraw. (Amount more than
Invalid Withdrawal balance in customer’s account)
Amount (Insufficient 6.2.2 System displays error message “Insufficient balance”.
Balance in Account)
6.2.3 Back to Basic Flow Step 5.
Alternate Flow – 6.3.1
User inputs invalid amount to withdraw. (Amount more than daily
Invalid Withdrawal withdrawal limit)
Amount (Daily 6.3.2 System displays error message “Daily withdrawal limit reached.”
Withdrawal Limit
Reached) 6.3.3 Back to Basic Flow Step 5.

10 April, 2013 24
XYZ Bank ATMS_SRS 1.0

Alternate Flow – 6.4.1 User presses “Cancel” button.


Cancel When
Entering Withdrawal 6.4.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. Withdrawal amount is set at 20, 40, 60, 100 and 200. [REQ_IO502]
Rules ii. Daily withdrawal limit is set at 300 by default. [REQ_F510]
Table 7.0 Use Case Specification – Withdrawal

Figure 6.0 State Diagram – Withdrawal

3.2.6 F006 Cash Deposit


The functional requirements for Deposit are as follows:
Requirement ID REQ_F601 Version 1.0

Description System shall allow user to perform a cash deposit.

10 April, 2013 25
XYZ Bank ATMS_SRS 1.0

Author John Smith

Requirement ID REQ_F602 Version 1.0

Description System shall request user to choose the type of account for deposit.

Author John Smith

Requirement ID REQ_F603 Version 1.0

Description System shall be able to verify the type of account for deposit.

Author John Smith

Requirement ID REQ_F604 Version 1.0

Description System shall request user to input the amount of deposit.

Author John Smith

Requirement ID REQ_F605 Version 1.0

Description System shall be able to verify the amount of deposit.

Author John Smith

Requirement ID REQ_F606 Version 1.0


System shall display error message for invalid account for deposit (Non-existing
Description account).
Author John Smith

Requirement ID REQ_F607 Version 1.0

Description System shall deduct $0.10 from account as processing fee.

Author John Smith

Requirement ID REQ_F608 Version 1.0

Description System shall not respond to invalid account to deposit (Out of range).

Author John Smith

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.

Use Case ID UC005 Version 1.0

10 April, 2013 26
XYZ Bank ATMS_SRS 1.0

Use Case Cash Deposit

Purpose To allow users to perform a cash deposit.

Actor User

Trigger User chooses “Deposit” in Transaction Menu.

Precondition ATMS is in “On” and at Transaction Menu.

Scenario Name Step Action


Main Flow 1 User chooses “Deposit” in Transaction Menu.

2 System requests for type of account to deposit into.

3 User chooses valid type of account to deposit into.

4 System verifies type of account to deposit into.

5 System requests for amount to deposit.

6 User enters specifies amount to deposit and cash envelope.

7 System verifies amount of money.

8 System updates account after deposit.

9 System records in log and prints receipt.

10 System asks whether user wants to perform another transaction.

11 User chooses “No”.

12 System terminates session and ejects card.


System enters “Idle” state and displays message “Please insert
13
your card”.
3.1.1 User chooses invalid type of account to deposit into.
Alternate Flow –
Invalid Account 3.1.2 System displays error message “Invalid account type.”
Type
3.1.3 Back to Main Flow Step 10.
Alternate Flow – 3.2.1 User presses “Cancel” button.
Cancel Deposit At
Account Type 3.2.2 Back to Main Flow Step 10.
Selection
Alternate Flow – 6.1.1
User inputs invalid amount to deposit. (Amount lower than
Invalid Deposit minimum or higher than maximum amount accepted)
Amount (Lower 6.1.2 System displays error message “Invalid amount of deposit”.
Than Minimum or Back to Basic Flow Step 5.
Higher Than
Maximum Amount 6.1.3
Accepted)
Alternate Flow – 6.2.1 User presses “Cancel” button.
Cancel When
Entering Deposit 6.2.2 Back to Main Flow Step 10.
Amount

10 April, 2013 27
XYZ Bank ATMS_SRS 1.0

Alternate Flow – 11.1 User chooses “Yes”.


Perform Another System displays the transaction menu and waits for user’s
Transaction 11.2
transaction request.
i. Minimum deposit amount is set at 10. [REQ_IO601]
Rules ii. A process fee of 10 cents is applied and deducted from deposited
amount. [REQ_F607]
Author John Smith
Table 8.0 Use Case Specification – Cash Deposit

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)

Requesting Deposit Amount(S3)

Invalid Amount of Deposit(E10) [invalid]/


Prompt to confirm new transaction(A6)
Cancel(E5)/ Amount of Deposit(E3)/
Prompt to confirm new Insert envelope(A4)
transaction(A6)

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)

Requesting New Transaction(S6)

No(E8)/
Prompt to eject card(A8)

Ejecting Card(S7)

Figure 7.0 State Diagram – Cash Deposit

10 April, 2013 29
XYZ Bank ATMS_SRS 1.0

3.2.7 F007 Transfer


The functional requirements for Transfer are as follows:
Requirement ID REQ_F701 Version 1.0

Description System shall allow user to perform a fund transfer.

Author John Smith

Requirement ID REQ_F702 Version 1.0

Description System shall request user to choose the type of account to transfer from.

Author John Smith

Requirement ID REQ_F703 Version 1.0

Description System shall be able to verify the type of account to transfer from.

Author John Smith

Requirement ID REQ_F704 Version 1.0

Description System shall request user to choose the type of account to transfer to.

Author John Smith

Requirement ID REQ_F705 Version 1.0

Description System shall be able to verify the type of account to transfer to.

Author John Smith

Requirement ID REQ_F706 Version 1.0

Description System shall request user to input the amount of fund transfer.

Author John Smith

Requirement ID REQ_F707 Version 1.0

Description System shall be able to verify the amount of fund transfer.

Author John Smith

Requirement ID REQ_F708 Version 1.0


System shall display error message for invalid account to transfer (Non-existing
Description account).
Author John Smith

10 April, 2013 30
XYZ Bank ATMS_SRS 1.0

Requirement ID REQ_F709 Version 1.0

Description System shall display error message for insufficient balance in a user’s account.

Author John Smith

Requirement ID REQ_F710 Version 1.0

Description System shall not respond to invalid account to transfer (Out of range).

Author John Smith

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.

Use Case ID UC006 Version 1.0

Use Case Transfer

Purpose To allow users to perform a transfer between accounts.

Actor User

Trigger User chooses “Transfer” in Transaction Menu.

Precondition ATMS is in “On” and at Transaction Menu.

Scenario Name Step Action


Main Flow 1 User chooses “Transfer” in Transaction Menu.

2 System requests for type of account to transfer from.

3 User chooses valid type of account to transfer from.

4 System verifies type of account to transfer from.

5 System requests for type of account to transfer into.

6 User chooses valid type of account to transfer into.

7 System verifies type of account to transfer into.

8 System requests for amount to transfer.

9 User enters valid amount to transfer.

10 System verifies amount of money in account.

11 System records in log and prints receipt.

12 System asks whether user wants to perform another transaction.

13 User chooses “No”.

14 System terminates session and ejects card.


System enters “Idle” state and displays message “Please insert
15
your card”.

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

_______Yes (Y)_______ Cancel (C)


Choose Transaction (CT) Eject Card (EC)
Transaction Menu (S1)

Transfer (T)
Invalid Account Type (IAT) Waiting Input (WI)
Waiting Input (WI)
Cancel (C)
Waiting Input (WI)
Reading Account Transfer From (S2)

Valid Account Type (VAT)


Invalid Account Type (IAT) Waiting Input (WI)
Waiting Input (WI)
Cancel (C)
Waiting Input (WI)
Reading Account Transfer To (S3)

Valid Account Type (VAT)


Invalid Amount Value (IAV) Waiting Input (WI)
Record In Log (RL) & Display Message (DM)
Cancel (C)
Waiting Input (WI)
Reading Amount Value (S4)

Valid Amount Value (VAMV)


Record In Log (RL) & Print Receipt (PR)

Performing Transaction (S5)

____No (N)____
Eject Card (EC)

Ejecting Card (S6)

Figure 8.0 State Diagram – Transfer

3.2.8 F008 Balance Inquiry


The functional requirements for Balance Inquiry are as follows:
Requirement ID REQ_F801 Version 1.0

Description System shall allow user to perform a balance inquiry.

Author John Smith

Requirement ID REQ_F802 Version 1.0

Description System shall request user to choose the type of account to inquire.

Author John Smith

10 April, 2013 33
XYZ Bank ATMS_SRS 1.0

Requirement ID REQ_F803 Version 1.0

Description System shall be able to verify the type of account to inquire.

Author John Smith

Requirement ID REQ_F804 Version 1.0


System shall display error message for invalid account to inquire (Non-existing
Description
account).
Author John Smith

Requirement ID REQ_F805 Version 1.0

Description System shall not respond to invalid account to inquire (Out of range).

Author John Smith

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

Use Case Balance Inquiry

Purpose To allow users to perform a balance inquiry.

Actor User

Trigger User chooses “Balance Inquiry” in Transaction Menu.

Precondition ATMS is in “On” and at Transaction Menu.

Scenario Name Step Action


Main Flow 1 User chooses “Balance Inquiry” in Transaction Menu.

2 System requests for type of account to inquire.

3 User chooses valid type of account to inquire.

4 System verifies type of account to inquire.

5 System records in log and prints receipt.

6 System asks whether user wants to perform another transaction.

7 User chooses “No”.

8 System terminates session and ejects card.


System enters “Idle” state and displays message “Please insert
9
your card”.
Alternate Flow – 3.1.1 User chooses invalid type of account to inquire.
Invalid Account
Type 3.1.2 System displays error message “Invalid account type.”

10 April, 2013 34
XYZ Bank ATMS_SRS 1.0

3.1.3 Back to Main Flow Step 6.


Alternate Flow – 3.2.1 User presses “Cancel” button.
Cancel Balance
Inquiry At Account 3.2.2 Back to Main Flow Step 6.
Type Selection
Table 10.0 Use Case Specification – Balance Inquiry

_Cancel (C)_
Eject Card (EC)
Choosing Transaction (S1)
Display Transaction Menu (DT)
________Yes (Y)_________

_Invalid Account Type (IA)_


Re-Choose Account (RA)

_____Inquiry_(I)_____
Request Account Type (R)

End Current Transaction (E)


Choosing Account Type (S2)

_____Cancel (C)_____
_Account Type (AC)_
Print Receipt (PR)

Performing Another Transaction (S3)

___No (N)____
Eject Card (EC)

Ejecting Card (S4)

Figure 9.0 State Diagram – Balance Inquiry

3.3 Performance Requirement


The performance requirements for ATMS are as follows:

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.

3.4 Design Constraints

This section outlines the standard compliances that are related to ATMS

3.4.1 Americans with Disabilities Act (ADA)


Applicable design constraint under this act is:

707.6.2 Numeric Keys


Numeric keys shall be arranged in a 12-key ascending or descending telephone keypad layout.
The number five key shall be tactilely distinct from the other keys.

Figure 10.0 Example of ATM Numeric Key Layout

3.4.2 Electronic Fund Transfer Act


Applicable design constraint under this act is:

Disclosures at Automated Teller Machines - Section 205.16


An ATM operator that charges a fee is required to post notice that a fee will be imposed and
disclose the amount of the fee. Notices must be posted both (1) in a prominent and conspicuous
location on or at the machine; and (2) on the screen or on a paper notice before the consumer is
committed to paying a fee. (Section 205.16(c) (1) and (2)). The fee may be imposed by the ATM
operator only if: (1) the consumer is provided the required notices; and (2) the consumer elects
to continue the transaction. (Section 205.16(e)).

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 Software System Attributes


This section specifies the attributes that are expected from ATMS and their implementations.

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

You might also like