SlideShare a Scribd company logo
1
Requirements Document for the
Banking System
Lecture # 40
2
Requirements Document
• The requirements document is a formal
document used to communicate the
requirements to customers, engineers
and managers
• It is also known as software
requirements specifications or SRS
3
Requirements Document
• The services and functions which the
system should provide
• The constraints under which the system
must operate
• Overall properties of the system i.e.,
constraints on the system’s emergent
properties
4
Today’s Topics
• In this lecture, we’ll discuss the
requirements document of the Banking
system that we have been talking about
in this course
• Let’s develop a template based on the
IEEE standard
5
SRS for the Banking System
• Preface
• Introduction
• Glossary
• Specific requirements
• Appendices
– Use-case model
– Object model
– Data-flow model
6
SRS for the Banking System
• Preface
– This should define the expected readership of the
document and describe its version history including a
rationale for creation of a new version and a summary
of the changes made in each version
• Introduction
– This should define the product in which the software is
embedded, its expected usage and present an overview
of the functionality of the control software
7
SRS for the Banking System
• Glossary
– This should define all technical terms and abbreviations
used in the document
• Specific requirements
– This should define specific requirements for the system
using natural language with the help of diagrams, where
appropriate
• Appendices
– Use-case model
– Object model
– Data-flow model
8
Software Requirements
Specifications for the Banking
System
9
1. Preface
• This document, Software
Requirements Specification (SRS), is
created to document the software
requirements for the Banking System,
as described in section 2, Introduction,
of this document
10
1. Preface
• This document was created on the request
of the ‘XYZ Bank Inc.’ – the ‘Client’. The
creator of this document is ‘A Software
House Inc.’ – ‘Vendor’. The ‘Client’ has
asked the ‘Vendor’ to develop an SRS for
the Banking System. The ‘Vendor’ will also
be responsible for the development of the
software based on this SRS
11
1. Preface
• This is the first version of the SRS.
12
2. Introduction
• This section documents an overview of
the functionality expected from the
software for the Banking System
• We’ll review the functionality of the
software to be developed
13
2. Introduction
• A bank has several automated teller machines (ATMs), which are
geographically distributed and connected via a wide area network to a
central server. Each ATM machine has a card reader, a cash dispenser,
a keyboard/display, and a receipt printer. By using the ATM machine, a
customer can withdraw cash from either checking or savings account,
query the balance of an account, or transfer funds from one account to
another. A transaction is initiated when a customer inserts an ATM card
into the card reader. Encoded on the magnetic strip on the back of the
ATM card are the card number, the start date, and the expiration date.
Assuming the card is recognized, the system validates the ATM card to
determine that the expiration date has not passed, that the user-entered
PIN (personal identification number) matches the PIN maintained by
the system, and that the card is not lost or stolen. The customer is
allowed three attempts to enter the correct PIN; the card is confiscated
if the third attempt fails. Cards that have been reported lost or stolen
are also confiscated.
14
2. Introduction
• If the PIN is validated satisfactorily, the customer is prompted for a
withdrawal, query, or transfer transaction. Before withdrawal
transaction can be approved, the system determines that sufficient
funds exist in the requested account, that the maximum daily limit will
not be exceeded, and that there are sufficient funds available at the
local cash dispenser. If the transaction is approved, the requested
amount of cash is dispensed, a receipt is printed containing information
about the transaction, and the card is ejected. Before a transfer
transaction can be approved, the system determines that the customer
has at least two accounts and that there are sufficient funds in the
account to be debited. For approved query and transfer requests, a
receipt is printed and card ejected. A customer may cancel a
transaction at any time; the transaction is terminated and the card is
ejected. Customer records, account records, and debit card records are
all maintained at the server.
15
2. Introduction
• An ATM operator may start up and close
down the ATM to replenish the ATM cash
dispenser and for routine maintenance. It is
assumed that functionality to open and close
accounts and to create, update, and delete
customer and debit card records is provided
by an existing system and is not part of this
problem.
16
3. Glossary
• ATM: Automated Teller Machine
• PIN: Personal Identification Number
17
4. Specific Requirements
1. The XYZ Bank Inc. can have many automated
teller machines (ATMs), and the new software
system shall provide functionality on all ATMs.
2. The system shall enable the customers of XYZ
Bank Inc., who have valid ATM cards, to
perform three types of transactions; 1)
withdrawal of funds, 2) Query of account
balance, and 3) transfer of funds from one bank
account to another account in the same bank.
18
4. Specific Requirements
3. An ATM card usage shall be considered valid if
it meets the following conditions:
a) The card was issued by an authorized bank.
b) The card is used after the start date, i.e., the date
when the card was issued.
c) The card is used before the expiration date, i.e., the
date when the card expires.
d) The card has not been reported lost or stolen by the
customer, who had been issued that card.
e) The customer provides correct personal identification
number (PIN), which matches the PIN maintained by
the system.
19
4. Specific Requirements
4. The system shall confiscate the ATM card
if it detects that a lost or stolen card has
been inserted by a customer. The system
shall also display an apology to the
customer.
5. The system shall allow the customer to
enter the correct PIN in no more three
attempts. The failure to provide correct
PIN in three attempts shall result in the
confiscation of the ATM card.
20
4. Specific Requirements
6. The system shall ask for the transaction
type after satisfactory validation of the
customer PIN. The customer shall be
given three options: withdrawal
transaction, or query transaction, or
transfer transaction.
7. If a customer selects withdrawal
transaction, the system shall prompt the
customer to enter account number and
amount to be dispensed.
21
4. Specific Requirements
8. For a withdrawal transaction, the
system shall determine that sufficient
funds exist in the requested account,
that the maximum daily limit has not
be exceeded, and that there are
sufficient funds available at the local
cash dispenser.
22
4. Specific Requirements
9. If a withdrawal transaction is approved,
the requested amount of cash shall be
dispensed, a receipt shall be printed
containing information about the
transaction, and the card shall be ejected.
The information printed on the receipt
includes transaction number, transaction
type, amount withdrawn, and account
balance.
23
4. Specific Requirements
10. If a customer selects query transaction,
the system shall prompt the customer to
enter account number.
11. If a query transaction is approved, the
system shall print a receipt and eject the
card. The information contained on the
receipt includes transaction number,
transaction type, and account balance.
24
4. Specific Requirements
12. If a customer selects transfer transaction,
the system shall prompt the customer to
enter from account number, to account
number, and amount to be transferred.
13. The system shall check if there are
enough funds available in the from
account, which are being requested for
transfer to the to account.
25
4. Specific Requirements
14. If the transfer transaction is approved, a
receipt shall be printed and card shall be
ejected. The information printed on the
receipt includes transaction number,
transaction type, amount transferred, and
account balance.
15. The system shall cancel any transaction if
it has not been completed if the customer
presses the Cancel button
26
4. Specific Requirements
16. The customer records, account records,
and debit card records will all be
maintained at the server and shall not be
the responsibility of the system.
17. The system shall enable an ATM operator
to shutdown or start up an ATM for
routine maintenance.
27
4. Specific Requirements
18. The system shall enable an ATM operator
to add cash to the cash dispenser.
19. The system shall not be responsible for
opening or closing of accounts, and to
create, update, and delete customer and
debit card records. These tasks are
performed elsewhere by a bank.
28
4. Specific Requirements
20. The system shall be linked with the bank
server through communication systems,
which are beyond the scope of the current
system. It is assumed that this facility is
always available.
21. The system shall not be responsible for
the maintenance of the hardware devices
of the ATM or network facilities.
29
5. Appendices
• 5.1 Use-case model
• 5.2 Object model
• 5.3 Functional model
– 5.3.1 Data-flow model
– 5.3.2 SADT model
• 5.4 Dynamic model
– 5.4.1 Statecharts
– 5.4.2 Interaction diagrams
30
Use Case Model
31
Uses Case Diagram for ATM
Customer
ATM
Customer
Withdraw
funds
Query
account
Transfer
funds
Validate
PIN
«include»
«include»
«include»
32
Use Case Diagram for ATM
Operator
Startup
Shutdown
Operator
Add
cash
33
Use Case Diagram for ATM
ATM
Customer
Withdraw
funds
Query
account
Transfer
funds
Startup
Shutdown
Validate
PIN
Operator
Add
cash
«include»
«include»
«include»
34
Object Model
35
Conceptual Static Model for
Problem Domain: Physical Classes
ATM
ATMCustomer
1
CardReader CashDispenser ReceiptPrinter
Operator
Maintains
1 1
1 1 1
ATMCard
1
1
Reads
ATMCash
1
Dispenses
1
Receipt
1
Prints
1
36
Conceptual Static Model for
Problem Domain: Entity Classes
Bank ATMInfo
Maintains
1 1
ATMTransaction
Account
Customer
DebitCard
CardAccount
Has
Owns
Modifies
1,2 *
*
1
Identifies
1
1
1..*
1..*
1..*
1..*
1..*
Manages
0..1
Owns
Provides
access to
37
Banking System Context Class
Diagram
ATMCustomer
CardReader
CashDispenser
ReceiptPrinter
Banking
System
Operator
Operator
ATM
Customer
1
1
1
1
1
1..*
1..*
1..*
1..*
1
1
1
1
1 1..*
1
1
Interacts
with
38
Banking System: Major Subsystems
CashDispenser
CardReader
ReceiptPrinter Operator
ATMCustomer
ATMClient
Subsystem
BankServer
Subsystem
Banking
System
1..* 1
1
1
1
1
1
1
1
1
1
1
39
Banking System External Classes
and Interfaces Classes
ATMCustomer
CardReader
CashDispenser
ReceiptPrinter
Banking
System
Operator
Operator
ATM
Customer
1
1
1
1
1
1
1
1
1
1
1
1
1
1 1
1
1
CardReader
Interface
ATMCustomer
Interface
CashDispenser
Interface
Operator
Interface
Receipt
Printer
Interface
40
ATM Client Subsystem Classes
ReceiptPrinter
CardReader
Interface
CashDispenser
Interface
ATMControl
ATMTransaction
ATMCard
ATMCash
Customer
Interface
ATMClientSubsystem
Operator
Interface
41
Data Flow Diagrams
42
System Context Diagram
0
ATM
System
ATM
Customer
Bank
ATM
Operator
Operator
Instructions
Inputs
from
Customer
Cash
Receipt
Outputs
to
Customer
Bank
Requests
Bank
Responses
Operator
Responses
43
Data Flow Diagram – Level 1
2
Interface
with
Customer
4
Interface
with
Bank
3
Interface
with
Operator
Operator
Instructions
Operator
Responses
Bank
Requests
Bank
Responses
1
Control
ATM
Inputs
from
Customer
Cash
Receipt
Outputs
to
Customer
ATM Card
and
Transactions
Messages
from
Customer
Interface
Messages to
Customer Interface Messages from
Operator Interface
Messages to
Operator Interface
Messages
to Bank
Interface
Messages
from Bank
Interface
ATM
Cash
44
Level 2 DFD: Interface with Customer
1
Control
ATM
ATM Card
and
Transactions
2.1
Read and
Validate
Card
2.2
Process
User Inputs
and Display
2.3
Dispense
Cash
2.4
Print
Receipt
Cash
Receipt
Card
Info
Transaction
Info
PIN
Cancel Display
Messages
Card
Inserted
Eject
Card
Print
Receipt
ATM
Cash
Dispense
Cash
User Input
Read
Cancelled
Display
Message
Confiscate
Card
45
Level 2 DFD: Interface with Operator
3.3
Update
ATM Cash
DB
1
Control
ATM
3.1
Process
Operator
Inputs
ATM
Cash
Shutdown
ATM
Restart
ATM
3.2
Display
Messages
Operator
Responses
Display
Messages
Cash Amount
Shutdown/Startup
Started
Cash to be
Replenished
Replenish
Cash
Cash Details
46
Level 2 DFD: Interface with Bank
4.1
Validate
Card
Card
Validation
Request
Card
Validation
Response
1
Control
ATM
ATM Card
and
Transactions
4.2
Process
Transaction Card
Inserted
Validate
Card
Card
Valid
Invalid
Card
Transaction
Request
Transaction
Response
Lost/Stolen
Card
Eject
Card
Confiscate
Card
Transaction
Approved
Transaction
Rejected
Dispense
Cash
47
SADT Diagrams
48
Banking System Context Diagram
ATM System
Transaction Info
Card Info
PIN
Cancel
Cash
Receipt
ATM Usage
Terms and
Conditions
Networks
Software Tools
and Databases
A-0
Lost/Stolen
Cards List
Bank
Approvals
Display
Messages
Operator
Instructions
49
SADT Level 1 Diagram
Perform
ATM Services
Transaction Info
Card Info
PIN
Cancel
Cash
Receipt
ATM Usage
Terms and
Conditions
Networks
Software Tools
and Databases
A-1
Lost/Stolen
Cards List
Bank
Approvals
Display
Messages
50
SADT Level 2
Read & Validate
Card
Process
Request
Print
Receipt
Dispense
Cash
ATM Usage
Terms and
Conditions Bank
Approvals
Card
Info
Transaction Info
PIN
Cancel
Receipt
Data
Cash
Receipt
Display
Messages
Valid
Card
Info
A-1-1
A-1-2
A-1-3
A-1-4
Lost/Stolen
Cards
ATM
Conditions
ATM
Conditions
51
SADT Level 1 Diagram
Perform
Operator
Services
Shutdown
Message
Startup
Message
Cash
Amount
ATM Usage
Terms and
Conditions
A-2
Display
Messages
52
Statecharts
53
Statechart for ATM Control: Validate
PIN Use Case
Idle
Entry / Display
Welcome
Waiting
for PIN
Validating PIN
Waiting for
Customer Choice
1.2: Card Inserted /
1.3: Get PIN
2.4: PIN Entered /
2.5: Validate PIN
2.6: Valid PIN /
2.7: Display Menu,
2.7a: Update Status
54
Statechart for ATM Control:
Withdraw Funds Use Case
Idle
Entry / Display
Welcome
Terminating
Waiting for
Customer Choice
Processing
Withdrawal
Ejecting
Dispensing
Printing
3.3: Withdrawal Selected /
3.4: Request Withdrawal,
3.4a: Display Wait
3.5: Withdrawal OK /
3.6: Dispense Cash,
3.6a: Update Status
3.10: Cash Dispensed /
3.11: Print Receipt,
3.11a: Display Cash Dispensed,
3.11b: ACK Cash Dispensed
3.15: Receipt Printed /
3.16: Eject
3.18: Card Ejected /
3.19: Display Ejected
55
Top-Level ATM Control Statechart
Idle
Entry / Display
Welcome
Closed Down
Entry / Display
System Down
Processing
Customer
Input
Terminating
Transaction
Processing
Transaction
Startup Closedown
Insufficient Cash / Eject
After (Elapsed Time)
[Closedown Was Requested]
After (Elapsed Time)
[Closedown Not Requested]
Third Invalid, Stolen / Confiscate, Update Status
Cancel / Eject, Display Cancel
1.2: Card Inserted /
1.3: Get PIN
Transfer Selected /
Request Transfer,
Display Wait
Query Selected /
Request Query,
Display Wait
3.3: Withdrawal Selected /
3.4: Request Withdrawal,
3.4a: Display Wait
Rejected /
Eject, Display Apology
Transfer OK / Print Receipt,
Update Status
Query OK / Print Receipt,
Update Status
3.5: Withdrawal OK /
3.6: Dispense Cash, 3.6a: Update Status
56
ATM Control Statechart: Processing
Customer Input Superstate
Idle
Entry / Display
Welcome
Waiting for PIN
Validating PIN
Waiting for Customer Choice
1.2: Card Inserted /
1.3: Get PIN
2.4: PIN Entered /
2.5: Validate PIN
2.6: Valid PIN /
2.7: Display Menu,
2.7a: Update Status
Invalid PIN /
Invalid PIN Prompt,
Update Status
Query Selected /
Request Query, Display Wait
Cancel /
Eject,
Display Cancel
Third Invalid, Stolen /
Confiscate,
Update Status
Transfer Selected /
Request Transfer, Display Wait
3.3: Withdrawal Selected /
3.4: Request Withdrawal,
3.4a: Display Wait
Processing
Customer
Input
57
ATM Control Statechart: Processing
Transaction Superstate
Processing
Transfer
Processing
Query
Processing
Withdrawal
Processing Transaction
Query Selected /
Request Query,
Display Wait
Transfer Selected /
Request Transfer,
Display Wait
3.3: Withdrawal Selected /
3.4: Request Withdrawal,
3.4a: Display Wait
Transfer OK /
Print Receipt,
Update Status
Query OK /
Print Receipt,
Update Status
3.5: Withdrawal OK /
3.6: Dispense Cash,
3.6a: Update Status
Rejected / Eject,
Display Apology
58
ATM Control Statechart: Terminating
Transaction Superstate
Terminating
Ejecting
Dispensing
Printing
3.5: Withdrawal OK /
3.6: Dispense Cash,
3.6a: Update Status
3.10: Cash Dispensed /
3.11: Print Receipt,
3.11a: Display Cash Dispensed,
3.11b: ACK Cash Dispensed
3.15: Receipt Printed /
3.16: Eject
3.18: Card Ejected /
3.19: Display Ejected
Closed Down
Entry / Display
System Down
Confiscating
Idle
After (Elapsed Time) [Closedown Was Requested] After (Elapsed Time)
[Closedown Not Requested]
Card Confiscated /
Display Confiscate
Transfer OK /
Print Receipt,
Update Status
Query OK /
Print Receipt,
Update Status
Rejected / Eject,
Display Apology
Cancel / Eject,
Display Cancel
Third Invalid, Stolen /
Confiscate, Update Status
Terminating
Transaction
Insufficient Cash / Eject
59
Collaboration Diagrams
60
Collaboration Diagram: ATM Client
Validate PIN Use Case
:BankServer
:CardReader
:CardReader
Interface
:ATM
Control
:ATMCard
:Customer
Interface
:ATM
Transaction
1: Card
Reader
Input
1.2: Card
Inserted
1.1: Card
Input Data
1.3: Get
PIN
2.4: PIN Entered
(Customer Info)
2.6: [Valid]
Valid PIN
2.5: Validate PIN
(Customer Info)
2.7a: Update
Status
2.7: Display
Menu
2.3: Customer Info
2.2: Card
Data
2.1: Card
Request
2: PIN Input
1.4: PIN Prompt
2.8: Selection Menu
61
Collaboration Diagram: ATM Client
Withdraw Funds Use Case
62
Consolidated Collaboration Diagram
for ATM Client Subsystem
63
Sequence Diagram
64
Sequence Diagram: ATM Client
Validate PIN Use Case - 1
:ATM
Customer
:CardReader
Interface
:ATMCard :ATMControl
:Customer
Interface
:ATM
Transaction
:BankServer
1: Card
Reader Input
1.2: Card Inserted
1.1: Card Input Data
1.3: Get PIN
1.4: PIN Prompt
65
Sequence Diagram: ATM Client
Validate PIN Use Case - 2
:ATM
Customer
:CardReader
Interface
:ATMCard :ATMControl
:Customer
Interface
:ATM
Transaction
:BankServer
2: PIN Input
2.2: Card Data
2.1: Card Request
2.3: Customer Info
2.4: PIN Entered
2.5: Validate PIN
2.6: [Valid]: Valid PIN
66
Sequence Diagram: ATM Client
Validate PIN Use Case - 3
:ATM
Customer
:CardReader
Interface
:ATMCard :ATMControl
:Customer
Interface
:ATM
Transaction
:BankServer
2.7: Display Menu
2.7a: Update Status
2.8: Selection Menu
67
Sequence Diagram: ATM Client
Withdraw Funds Use Case
68
Summary
• Up till now we have completed the
analysis, requirements modeling, and
specification of requirements for the
banking system case study
• We have formally completed the
requirements document for the case
study
69
References
• ‘Requirements Engineering: Processes and
Techniques’ by G. Kotonya and I.
Sommerville, John Wiley & Sons, 1998
• ‘Designing Concurrent, Distributed, and
Real-Time Applications with UML’ by H.
Gomaa, Addison-Wesley, 2000

More Related Content

PPTX
Software quality metrics methodology _tanmi kiran
PDF
7 Phases of Software Development Life Cycle
PPT
Software Quality Metrics
PDF
OSSのブラウザ自動テストツール「Selenium」を使った、開発・テストの効率化
PPTX
Conventional software Management---.pptx
PDF
Data Flow Testing in Software Testing - JNTUA
PDF
Solucionar Pantalla Negra GPO Desktop
PPTX
Design.pptx
Software quality metrics methodology _tanmi kiran
7 Phases of Software Development Life Cycle
Software Quality Metrics
OSSのブラウザ自動テストツール「Selenium」を使った、開発・テストの効率化
Conventional software Management---.pptx
Data Flow Testing in Software Testing - JNTUA
Solucionar Pantalla Negra GPO Desktop
Design.pptx

Similar to SRS for banking system requirement s.ppt (20)

PDF
Assignment
PPTX
Atm transaction
PPT
vu-re-lecture-33 requirement engineering.ppt
PPTX
ATM / Electronic Clearing Service
PDF
Guide to Understanding Credit Card Processing for Merchants
PPTX
Electronic Payment Protocol
PDF
QR BASED CARD-LESS ATM TRANSACTIONS
PPTX
E banking of axis bank
DOC
Out sources of atm
PPTX
Banking innovations
PPT
Online payments and Security Gateways
PDF
Software for Payment Cards: Choosing Wisely
PPTX
ATM.pptx
PDF
PSD 2 - Ocean of requirements
PPTX
PPTX
PPTX
Topic6 Electronic Payment Systems.pptx
PPTX
PPTX
Software Requirement
Assignment
Atm transaction
vu-re-lecture-33 requirement engineering.ppt
ATM / Electronic Clearing Service
Guide to Understanding Credit Card Processing for Merchants
Electronic Payment Protocol
QR BASED CARD-LESS ATM TRANSACTIONS
E banking of axis bank
Out sources of atm
Banking innovations
Online payments and Security Gateways
Software for Payment Cards: Choosing Wisely
ATM.pptx
PSD 2 - Ocean of requirements
Topic6 Electronic Payment Systems.pptx
Software Requirement
Ad

More from ubaidullah75790 (20)

PPTX
Chapter20 transaction processing system .pptx
PPTX
Chapter22 database security in dbms.pptx
PPTX
Chapter27 distributed database syst.pptx
PPTX
File Organization in database management.pptx
PPTX
transaction processing databse management.pptx
PPT
physical database design distributed .ppt
PPT
module03-ipaddr ipv6 addressing in net.ppt
PPT
PDBD- Part2 physical database design.ppt
PPT
Physical_Design system development life.PPT
PPT
S3 application and network attacks in.ppt
PPT
Chapter 5 cyber security in computer.ppt
PPTX
1606802425-dba-w7 database management.pptx
PPT
ENCh18 database management system ss.ppt
PPT
Chapter07 database system in computer.ppt
PPT
Chapter05 database sytem in computer . ppt
PPT
Chapter04 database system in computer.ppt
PPT
Chapter03 database system in computer.ppt
PPT
Chapter02 database system in computer.ppt
PPT
Chapter01 database system in computer.ppt
PPT
MYCH8 database management system in .ppt
Chapter20 transaction processing system .pptx
Chapter22 database security in dbms.pptx
Chapter27 distributed database syst.pptx
File Organization in database management.pptx
transaction processing databse management.pptx
physical database design distributed .ppt
module03-ipaddr ipv6 addressing in net.ppt
PDBD- Part2 physical database design.ppt
Physical_Design system development life.PPT
S3 application and network attacks in.ppt
Chapter 5 cyber security in computer.ppt
1606802425-dba-w7 database management.pptx
ENCh18 database management system ss.ppt
Chapter07 database system in computer.ppt
Chapter05 database sytem in computer . ppt
Chapter04 database system in computer.ppt
Chapter03 database system in computer.ppt
Chapter02 database system in computer.ppt
Chapter01 database system in computer.ppt
MYCH8 database management system in .ppt
Ad

Recently uploaded (20)

PPTX
UNIT - 3 Total quality Management .pptx
PDF
BIO-INSPIRED HORMONAL MODULATION AND ADAPTIVE ORCHESTRATION IN S-AI-GPT
PPTX
6ME3A-Unit-II-Sensors and Actuators_Handouts.pptx
PPTX
Fundamentals of safety and accident prevention -final (1).pptx
PPT
Total quality management ppt for engineering students
PPT
Introduction, IoT Design Methodology, Case Study on IoT System for Weather Mo...
PPT
introduction to datamining and warehousing
PDF
PREDICTION OF DIABETES FROM ELECTRONIC HEALTH RECORDS
PPT
A5_DistSysCh1.ppt_INTRODUCTION TO DISTRIBUTED SYSTEMS
PDF
Soil Improvement Techniques Note - Rabbi
PDF
Exploratory_Data_Analysis_Fundamentals.pdf
PPTX
Nature of X-rays, X- Ray Equipment, Fluoroscopy
PDF
Enhancing Cyber Defense Against Zero-Day Attacks using Ensemble Neural Networks
PDF
R24 SURVEYING LAB MANUAL for civil enggi
PDF
Visual Aids for Exploratory Data Analysis.pdf
PDF
III.4.1.2_The_Space_Environment.p pdffdf
PPT
Occupational Health and Safety Management System
PDF
Automation-in-Manufacturing-Chapter-Introduction.pdf
PPTX
Information Storage and Retrieval Techniques Unit III
PDF
Human-AI Collaboration: Balancing Agentic AI and Autonomy in Hybrid Systems
UNIT - 3 Total quality Management .pptx
BIO-INSPIRED HORMONAL MODULATION AND ADAPTIVE ORCHESTRATION IN S-AI-GPT
6ME3A-Unit-II-Sensors and Actuators_Handouts.pptx
Fundamentals of safety and accident prevention -final (1).pptx
Total quality management ppt for engineering students
Introduction, IoT Design Methodology, Case Study on IoT System for Weather Mo...
introduction to datamining and warehousing
PREDICTION OF DIABETES FROM ELECTRONIC HEALTH RECORDS
A5_DistSysCh1.ppt_INTRODUCTION TO DISTRIBUTED SYSTEMS
Soil Improvement Techniques Note - Rabbi
Exploratory_Data_Analysis_Fundamentals.pdf
Nature of X-rays, X- Ray Equipment, Fluoroscopy
Enhancing Cyber Defense Against Zero-Day Attacks using Ensemble Neural Networks
R24 SURVEYING LAB MANUAL for civil enggi
Visual Aids for Exploratory Data Analysis.pdf
III.4.1.2_The_Space_Environment.p pdffdf
Occupational Health and Safety Management System
Automation-in-Manufacturing-Chapter-Introduction.pdf
Information Storage and Retrieval Techniques Unit III
Human-AI Collaboration: Balancing Agentic AI and Autonomy in Hybrid Systems

SRS for banking system requirement s.ppt

  • 1. 1 Requirements Document for the Banking System Lecture # 40
  • 2. 2 Requirements Document • The requirements document is a formal document used to communicate the requirements to customers, engineers and managers • It is also known as software requirements specifications or SRS
  • 3. 3 Requirements Document • The services and functions which the system should provide • The constraints under which the system must operate • Overall properties of the system i.e., constraints on the system’s emergent properties
  • 4. 4 Today’s Topics • In this lecture, we’ll discuss the requirements document of the Banking system that we have been talking about in this course • Let’s develop a template based on the IEEE standard
  • 5. 5 SRS for the Banking System • Preface • Introduction • Glossary • Specific requirements • Appendices – Use-case model – Object model – Data-flow model
  • 6. 6 SRS for the Banking System • Preface – This should define the expected readership of the document and describe its version history including a rationale for creation of a new version and a summary of the changes made in each version • Introduction – This should define the product in which the software is embedded, its expected usage and present an overview of the functionality of the control software
  • 7. 7 SRS for the Banking System • Glossary – This should define all technical terms and abbreviations used in the document • Specific requirements – This should define specific requirements for the system using natural language with the help of diagrams, where appropriate • Appendices – Use-case model – Object model – Data-flow model
  • 9. 9 1. Preface • This document, Software Requirements Specification (SRS), is created to document the software requirements for the Banking System, as described in section 2, Introduction, of this document
  • 10. 10 1. Preface • This document was created on the request of the ‘XYZ Bank Inc.’ – the ‘Client’. The creator of this document is ‘A Software House Inc.’ – ‘Vendor’. The ‘Client’ has asked the ‘Vendor’ to develop an SRS for the Banking System. The ‘Vendor’ will also be responsible for the development of the software based on this SRS
  • 11. 11 1. Preface • This is the first version of the SRS.
  • 12. 12 2. Introduction • This section documents an overview of the functionality expected from the software for the Banking System • We’ll review the functionality of the software to be developed
  • 13. 13 2. Introduction • A bank has several automated teller machines (ATMs), which are geographically distributed and connected via a wide area network to a central server. Each ATM machine has a card reader, a cash dispenser, a keyboard/display, and a receipt printer. By using the ATM machine, a customer can withdraw cash from either checking or savings account, query the balance of an account, or transfer funds from one account to another. A transaction is initiated when a customer inserts an ATM card into the card reader. Encoded on the magnetic strip on the back of the ATM card are the card number, the start date, and the expiration date. Assuming the card is recognized, the system validates the ATM card to determine that the expiration date has not passed, that the user-entered PIN (personal identification number) matches the PIN maintained by the system, and that the card is not lost or stolen. The customer is allowed three attempts to enter the correct PIN; the card is confiscated if the third attempt fails. Cards that have been reported lost or stolen are also confiscated.
  • 14. 14 2. Introduction • If the PIN is validated satisfactorily, the customer is prompted for a withdrawal, query, or transfer transaction. Before withdrawal transaction can be approved, the system determines that sufficient funds exist in the requested account, that the maximum daily limit will not be exceeded, and that there are sufficient funds available at the local cash dispenser. If the transaction is approved, the requested amount of cash is dispensed, a receipt is printed containing information about the transaction, and the card is ejected. Before a transfer transaction can be approved, the system determines that the customer has at least two accounts and that there are sufficient funds in the account to be debited. For approved query and transfer requests, a receipt is printed and card ejected. A customer may cancel a transaction at any time; the transaction is terminated and the card is ejected. Customer records, account records, and debit card records are all maintained at the server.
  • 15. 15 2. Introduction • An ATM operator may start up and close down the ATM to replenish the ATM cash dispenser and for routine maintenance. It is assumed that functionality to open and close accounts and to create, update, and delete customer and debit card records is provided by an existing system and is not part of this problem.
  • 16. 16 3. Glossary • ATM: Automated Teller Machine • PIN: Personal Identification Number
  • 17. 17 4. Specific Requirements 1. The XYZ Bank Inc. can have many automated teller machines (ATMs), and the new software system shall provide functionality on all ATMs. 2. The system shall enable the customers of XYZ Bank Inc., who have valid ATM cards, to perform three types of transactions; 1) withdrawal of funds, 2) Query of account balance, and 3) transfer of funds from one bank account to another account in the same bank.
  • 18. 18 4. Specific Requirements 3. An ATM card usage shall be considered valid if it meets the following conditions: a) The card was issued by an authorized bank. b) The card is used after the start date, i.e., the date when the card was issued. c) The card is used before the expiration date, i.e., the date when the card expires. d) The card has not been reported lost or stolen by the customer, who had been issued that card. e) The customer provides correct personal identification number (PIN), which matches the PIN maintained by the system.
  • 19. 19 4. Specific Requirements 4. The system shall confiscate the ATM card if it detects that a lost or stolen card has been inserted by a customer. The system shall also display an apology to the customer. 5. The system shall allow the customer to enter the correct PIN in no more three attempts. The failure to provide correct PIN in three attempts shall result in the confiscation of the ATM card.
  • 20. 20 4. Specific Requirements 6. The system shall ask for the transaction type after satisfactory validation of the customer PIN. The customer shall be given three options: withdrawal transaction, or query transaction, or transfer transaction. 7. If a customer selects withdrawal transaction, the system shall prompt the customer to enter account number and amount to be dispensed.
  • 21. 21 4. Specific Requirements 8. For a withdrawal transaction, the system shall determine that sufficient funds exist in the requested account, that the maximum daily limit has not be exceeded, and that there are sufficient funds available at the local cash dispenser.
  • 22. 22 4. Specific Requirements 9. If a withdrawal transaction is approved, the requested amount of cash shall be dispensed, a receipt shall be printed containing information about the transaction, and the card shall be ejected. The information printed on the receipt includes transaction number, transaction type, amount withdrawn, and account balance.
  • 23. 23 4. Specific Requirements 10. If a customer selects query transaction, the system shall prompt the customer to enter account number. 11. If a query transaction is approved, the system shall print a receipt and eject the card. The information contained on the receipt includes transaction number, transaction type, and account balance.
  • 24. 24 4. Specific Requirements 12. If a customer selects transfer transaction, the system shall prompt the customer to enter from account number, to account number, and amount to be transferred. 13. The system shall check if there are enough funds available in the from account, which are being requested for transfer to the to account.
  • 25. 25 4. Specific Requirements 14. If the transfer transaction is approved, a receipt shall be printed and card shall be ejected. The information printed on the receipt includes transaction number, transaction type, amount transferred, and account balance. 15. The system shall cancel any transaction if it has not been completed if the customer presses the Cancel button
  • 26. 26 4. Specific Requirements 16. The customer records, account records, and debit card records will all be maintained at the server and shall not be the responsibility of the system. 17. The system shall enable an ATM operator to shutdown or start up an ATM for routine maintenance.
  • 27. 27 4. Specific Requirements 18. The system shall enable an ATM operator to add cash to the cash dispenser. 19. The system shall not be responsible for opening or closing of accounts, and to create, update, and delete customer and debit card records. These tasks are performed elsewhere by a bank.
  • 28. 28 4. Specific Requirements 20. The system shall be linked with the bank server through communication systems, which are beyond the scope of the current system. It is assumed that this facility is always available. 21. The system shall not be responsible for the maintenance of the hardware devices of the ATM or network facilities.
  • 29. 29 5. Appendices • 5.1 Use-case model • 5.2 Object model • 5.3 Functional model – 5.3.1 Data-flow model – 5.3.2 SADT model • 5.4 Dynamic model – 5.4.1 Statecharts – 5.4.2 Interaction diagrams
  • 31. 31 Uses Case Diagram for ATM Customer ATM Customer Withdraw funds Query account Transfer funds Validate PIN «include» «include» «include»
  • 32. 32 Use Case Diagram for ATM Operator Startup Shutdown Operator Add cash
  • 33. 33 Use Case Diagram for ATM ATM Customer Withdraw funds Query account Transfer funds Startup Shutdown Validate PIN Operator Add cash «include» «include» «include»
  • 35. 35 Conceptual Static Model for Problem Domain: Physical Classes ATM ATMCustomer 1 CardReader CashDispenser ReceiptPrinter Operator Maintains 1 1 1 1 1 ATMCard 1 1 Reads ATMCash 1 Dispenses 1 Receipt 1 Prints 1
  • 36. 36 Conceptual Static Model for Problem Domain: Entity Classes Bank ATMInfo Maintains 1 1 ATMTransaction Account Customer DebitCard CardAccount Has Owns Modifies 1,2 * * 1 Identifies 1 1 1..* 1..* 1..* 1..* 1..* Manages 0..1 Owns Provides access to
  • 37. 37 Banking System Context Class Diagram ATMCustomer CardReader CashDispenser ReceiptPrinter Banking System Operator Operator ATM Customer 1 1 1 1 1 1..* 1..* 1..* 1..* 1 1 1 1 1 1..* 1 1 Interacts with
  • 38. 38 Banking System: Major Subsystems CashDispenser CardReader ReceiptPrinter Operator ATMCustomer ATMClient Subsystem BankServer Subsystem Banking System 1..* 1 1 1 1 1 1 1 1 1 1 1
  • 39. 39 Banking System External Classes and Interfaces Classes ATMCustomer CardReader CashDispenser ReceiptPrinter Banking System Operator Operator ATM Customer 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 CardReader Interface ATMCustomer Interface CashDispenser Interface Operator Interface Receipt Printer Interface
  • 40. 40 ATM Client Subsystem Classes ReceiptPrinter CardReader Interface CashDispenser Interface ATMControl ATMTransaction ATMCard ATMCash Customer Interface ATMClientSubsystem Operator Interface
  • 43. 43 Data Flow Diagram – Level 1 2 Interface with Customer 4 Interface with Bank 3 Interface with Operator Operator Instructions Operator Responses Bank Requests Bank Responses 1 Control ATM Inputs from Customer Cash Receipt Outputs to Customer ATM Card and Transactions Messages from Customer Interface Messages to Customer Interface Messages from Operator Interface Messages to Operator Interface Messages to Bank Interface Messages from Bank Interface ATM Cash
  • 44. 44 Level 2 DFD: Interface with Customer 1 Control ATM ATM Card and Transactions 2.1 Read and Validate Card 2.2 Process User Inputs and Display 2.3 Dispense Cash 2.4 Print Receipt Cash Receipt Card Info Transaction Info PIN Cancel Display Messages Card Inserted Eject Card Print Receipt ATM Cash Dispense Cash User Input Read Cancelled Display Message Confiscate Card
  • 45. 45 Level 2 DFD: Interface with Operator 3.3 Update ATM Cash DB 1 Control ATM 3.1 Process Operator Inputs ATM Cash Shutdown ATM Restart ATM 3.2 Display Messages Operator Responses Display Messages Cash Amount Shutdown/Startup Started Cash to be Replenished Replenish Cash Cash Details
  • 46. 46 Level 2 DFD: Interface with Bank 4.1 Validate Card Card Validation Request Card Validation Response 1 Control ATM ATM Card and Transactions 4.2 Process Transaction Card Inserted Validate Card Card Valid Invalid Card Transaction Request Transaction Response Lost/Stolen Card Eject Card Confiscate Card Transaction Approved Transaction Rejected Dispense Cash
  • 48. 48 Banking System Context Diagram ATM System Transaction Info Card Info PIN Cancel Cash Receipt ATM Usage Terms and Conditions Networks Software Tools and Databases A-0 Lost/Stolen Cards List Bank Approvals Display Messages Operator Instructions
  • 49. 49 SADT Level 1 Diagram Perform ATM Services Transaction Info Card Info PIN Cancel Cash Receipt ATM Usage Terms and Conditions Networks Software Tools and Databases A-1 Lost/Stolen Cards List Bank Approvals Display Messages
  • 50. 50 SADT Level 2 Read & Validate Card Process Request Print Receipt Dispense Cash ATM Usage Terms and Conditions Bank Approvals Card Info Transaction Info PIN Cancel Receipt Data Cash Receipt Display Messages Valid Card Info A-1-1 A-1-2 A-1-3 A-1-4 Lost/Stolen Cards ATM Conditions ATM Conditions
  • 51. 51 SADT Level 1 Diagram Perform Operator Services Shutdown Message Startup Message Cash Amount ATM Usage Terms and Conditions A-2 Display Messages
  • 53. 53 Statechart for ATM Control: Validate PIN Use Case Idle Entry / Display Welcome Waiting for PIN Validating PIN Waiting for Customer Choice 1.2: Card Inserted / 1.3: Get PIN 2.4: PIN Entered / 2.5: Validate PIN 2.6: Valid PIN / 2.7: Display Menu, 2.7a: Update Status
  • 54. 54 Statechart for ATM Control: Withdraw Funds Use Case Idle Entry / Display Welcome Terminating Waiting for Customer Choice Processing Withdrawal Ejecting Dispensing Printing 3.3: Withdrawal Selected / 3.4: Request Withdrawal, 3.4a: Display Wait 3.5: Withdrawal OK / 3.6: Dispense Cash, 3.6a: Update Status 3.10: Cash Dispensed / 3.11: Print Receipt, 3.11a: Display Cash Dispensed, 3.11b: ACK Cash Dispensed 3.15: Receipt Printed / 3.16: Eject 3.18: Card Ejected / 3.19: Display Ejected
  • 55. 55 Top-Level ATM Control Statechart Idle Entry / Display Welcome Closed Down Entry / Display System Down Processing Customer Input Terminating Transaction Processing Transaction Startup Closedown Insufficient Cash / Eject After (Elapsed Time) [Closedown Was Requested] After (Elapsed Time) [Closedown Not Requested] Third Invalid, Stolen / Confiscate, Update Status Cancel / Eject, Display Cancel 1.2: Card Inserted / 1.3: Get PIN Transfer Selected / Request Transfer, Display Wait Query Selected / Request Query, Display Wait 3.3: Withdrawal Selected / 3.4: Request Withdrawal, 3.4a: Display Wait Rejected / Eject, Display Apology Transfer OK / Print Receipt, Update Status Query OK / Print Receipt, Update Status 3.5: Withdrawal OK / 3.6: Dispense Cash, 3.6a: Update Status
  • 56. 56 ATM Control Statechart: Processing Customer Input Superstate Idle Entry / Display Welcome Waiting for PIN Validating PIN Waiting for Customer Choice 1.2: Card Inserted / 1.3: Get PIN 2.4: PIN Entered / 2.5: Validate PIN 2.6: Valid PIN / 2.7: Display Menu, 2.7a: Update Status Invalid PIN / Invalid PIN Prompt, Update Status Query Selected / Request Query, Display Wait Cancel / Eject, Display Cancel Third Invalid, Stolen / Confiscate, Update Status Transfer Selected / Request Transfer, Display Wait 3.3: Withdrawal Selected / 3.4: Request Withdrawal, 3.4a: Display Wait Processing Customer Input
  • 57. 57 ATM Control Statechart: Processing Transaction Superstate Processing Transfer Processing Query Processing Withdrawal Processing Transaction Query Selected / Request Query, Display Wait Transfer Selected / Request Transfer, Display Wait 3.3: Withdrawal Selected / 3.4: Request Withdrawal, 3.4a: Display Wait Transfer OK / Print Receipt, Update Status Query OK / Print Receipt, Update Status 3.5: Withdrawal OK / 3.6: Dispense Cash, 3.6a: Update Status Rejected / Eject, Display Apology
  • 58. 58 ATM Control Statechart: Terminating Transaction Superstate Terminating Ejecting Dispensing Printing 3.5: Withdrawal OK / 3.6: Dispense Cash, 3.6a: Update Status 3.10: Cash Dispensed / 3.11: Print Receipt, 3.11a: Display Cash Dispensed, 3.11b: ACK Cash Dispensed 3.15: Receipt Printed / 3.16: Eject 3.18: Card Ejected / 3.19: Display Ejected Closed Down Entry / Display System Down Confiscating Idle After (Elapsed Time) [Closedown Was Requested] After (Elapsed Time) [Closedown Not Requested] Card Confiscated / Display Confiscate Transfer OK / Print Receipt, Update Status Query OK / Print Receipt, Update Status Rejected / Eject, Display Apology Cancel / Eject, Display Cancel Third Invalid, Stolen / Confiscate, Update Status Terminating Transaction Insufficient Cash / Eject
  • 60. 60 Collaboration Diagram: ATM Client Validate PIN Use Case :BankServer :CardReader :CardReader Interface :ATM Control :ATMCard :Customer Interface :ATM Transaction 1: Card Reader Input 1.2: Card Inserted 1.1: Card Input Data 1.3: Get PIN 2.4: PIN Entered (Customer Info) 2.6: [Valid] Valid PIN 2.5: Validate PIN (Customer Info) 2.7a: Update Status 2.7: Display Menu 2.3: Customer Info 2.2: Card Data 2.1: Card Request 2: PIN Input 1.4: PIN Prompt 2.8: Selection Menu
  • 61. 61 Collaboration Diagram: ATM Client Withdraw Funds Use Case
  • 64. 64 Sequence Diagram: ATM Client Validate PIN Use Case - 1 :ATM Customer :CardReader Interface :ATMCard :ATMControl :Customer Interface :ATM Transaction :BankServer 1: Card Reader Input 1.2: Card Inserted 1.1: Card Input Data 1.3: Get PIN 1.4: PIN Prompt
  • 65. 65 Sequence Diagram: ATM Client Validate PIN Use Case - 2 :ATM Customer :CardReader Interface :ATMCard :ATMControl :Customer Interface :ATM Transaction :BankServer 2: PIN Input 2.2: Card Data 2.1: Card Request 2.3: Customer Info 2.4: PIN Entered 2.5: Validate PIN 2.6: [Valid]: Valid PIN
  • 66. 66 Sequence Diagram: ATM Client Validate PIN Use Case - 3 :ATM Customer :CardReader Interface :ATMCard :ATMControl :Customer Interface :ATM Transaction :BankServer 2.7: Display Menu 2.7a: Update Status 2.8: Selection Menu
  • 67. 67 Sequence Diagram: ATM Client Withdraw Funds Use Case
  • 68. 68 Summary • Up till now we have completed the analysis, requirements modeling, and specification of requirements for the banking system case study • We have formally completed the requirements document for the case study
  • 69. 69 References • ‘Requirements Engineering: Processes and Techniques’ by G. Kotonya and I. Sommerville, John Wiley & Sons, 1998 • ‘Designing Concurrent, Distributed, and Real-Time Applications with UML’ by H. Gomaa, Addison-Wesley, 2000