l19 slides 4up
TRANSCRIPT
-
8/8/2019 l19 Slides 4up
1/11
SE 1: Software RequirementsSpecification and Analysis
Lecture 19: SRS
Jo Atlee
http://www.student.cs.uwaterloo.ca/cs445/Fall2006
uw.cs.cs445
U Waterloo SE1 (Fall 2006) p.1/41
Announcements
The Nortel lab will be unavailable
Monday, November 27th: 8:30am-9:30amWednesday, November 28th: 8:30am-9:30amFriday, November 30th: 8:30am-9:30am and2:30pm-3:30pm
Friday office hours will be moved to Thursdays for thenext two weeks (Nov. 23, Nov. 30):Fri. 10-11:30 Thus. 3:30-5
No Friday office hours Dec. 7.
U Waterloo SE1 (Fall 2006) p.2/41
Refresher: Requirements Process
U Waterloo SE1 (Fall 2006) p.3/41
Todays Agenda
Software requirements specifications (SRS)
IEEE standard for organizing an SRS
SE1 project SRS expectationsRequired Reading:
IEEE Recommended Practice for SRSs, 1998(available from an on-campus machine via the course web
page)
Lecture includes some excerpts fromRequirements document for an automated teller machine network
http:/www.cs.umd.edu/projects/SoftEng/ ESEG/manual/error_abstraction/docs/atm.ps
U Waterloo SE1 (Fall 2006) p.4/41
-
8/8/2019 l19 Slides 4up
2/11
SRSs
The IEEE Recommended Practice for SoftwareRequirements Specifications (RPSRS):
Describes what information should go in an SRS
How the information should be arranged
Provides several sample outlines for an SRS
U Waterloo SE1 (Fall 2006) p.5/41
SRS Contents
The main issues that the SRS should address are
Functionality
External interfaces
Performance
Quality attributesDesign constraints
Not process requirementsNot design decisions
U Waterloo SE1 (Fall 2006) p.6/41
IEEE SRS OrganizationTable of Contents
Table of Figures
1. Introduction
1.1 Purpose
1.2 Scope
1.3 Definitions, acronyms, abbreviations
1.4 References
1.5 Overview
2. Overall description
2.1 Product perspective
2.2 Product functions
2.3 User characteristics
2.4 Constraints
2.5 Assumptions and dependencies
3. Specific requirements /* variable organization */
AppendicesIndex
U Waterloo SE1 (Fall 2006) p.7/41
Section 1: Introduction
This section is an introduction to your SRS document, as wellas to the system under development.
1.1 Purpose
Purpose of the SRS
Who is the intended audience of this document?
How it is to be used(e.g. contract between vendor and customer?)
.25-.5 pages
U Waterloo SE1 (Fall 2006) p.8/41
-
8/8/2019 l19 Slides 4up
3/11
Purpose
This document describes the software requirements and
specification for an automated teller machine (ATM) network. The
document is intended for the customer and the developer
(designers, testers, maintainers).
The reader is assumed to have basic knowledge of banking ac-
counts and account services. Knowledge and understanding of UML
diagrams is also required.
U Waterloo SE1 (Fall 2006) p.9/41
Section 1: Introduction
1.2 Scope
Name of the software product
Overview of the product what it will and will not do
Summary of the application of the software, includingbenefits, goals
The boundaries of the product description
.25-.5 pages
U Waterloo SE1 (Fall 2006) p.10/41
Scope
The software supports a computerized banking network called
YouBank. The network enables customers to complete simple bank-
account services via automated teller machines (ATMs) that may be
located off premise and that need not be owned and operated by thecustomers bank. The ATM identifies a customer by a cash card and
password. It collects information about a simple account transaction
(e.g., deposit, withdrawal, transfer, bill payment), communicates the
transaction information to the customers bank, and dispenses cash
to the customer. The banks provide their own software for their own
computers. The YouBank software requires appropriate record keep-
ing and security provisions. The software must handle concurrent
accesses to the same account correctly.
U Waterloo SE1 (Fall 2006) p.11/41
Section 1: Introduction
1.3 Acronyms, Abbreviations, Definitions, NotationalConventions
Non-project specific definitions used throughout the
specification. Project-related definitions should be in theGlossary.
Notational conventions for any deviations from the UMLnotation. If you deviate from the standard in any way, youneed to describe the notation you are using, otherwisethe reader will not understand your specification.
U Waterloo SE1 (Fall 2006) p.12/41
-
8/8/2019 l19 Slides 4up
4/11
Definition vs. Abbreviation
Definition:
Account
A single account at a bank against which transactions can be
applied. Accounts may be of various types with at leastchecking and savings. A customer can hold more than one
account.
Abbreviation:
maxDailyWD
The maximum amount of cash that a customer can withdraw
from an account in a day (from 00:00 AM to 23:59 PM) via
ATMs.
U Waterloo SE1 (Fall 2006) p.13/41
Section 1: Introduction
1.4 References
Your sources of information, such as the projectdocuments and any documentation you have from your
customer sessions (minutes of your meetings). If yourspecification has information from other sources (e.g., atextbook on telephony), you should reference thosesources.
1.5 Overview
Brief description of the structure of the rest of the SRS
U Waterloo SE1 (Fall 2006) p.14/41
Overview
The rest of this document is organized as follows. Section 2
contains a general description of the ATM network software
requirements. Section 3 identifies the specific requirements,
including external interfaces, use cases, functional requirements,
and behavioral requirements. The document concludes with an
appendix of glossary terms.
Appendices consist also of minutes of customer interviews and
meetings, and do not constitute additional requirements of the
software; all requirements arising from these minutes have been
incorporated into the specific requirements in Section 3.
U Waterloo SE1 (Fall 2006) p.15/41
Section 2: Overall Description
This section gives an overall description of the system underdevelopment, including general factors that affect the productand its requirements.
2.1 Product Perspective
The environment of the system, such as any hardware orsoftware components that interact with the system.
Include a context diagram
U Waterloo SE1 (Fall 2006) p.16/41
-
8/8/2019 l19 Slides 4up
5/11
Product Perspective
U Waterloo SE1 (Fall 2006) p.17/41
Product Perspective
The ATM network does not work independently. It works together
with the banks computers and the software run by the networks
banks.
Communication interface
The ATMs communicate with the banking systems via acommunication network; the protocol used is specified in [Ref1].
Software interface
The messages sent via the communication network are specific to
the target banking software systems. At present, two known
banking systems will participate in the ATM network. The interfaces
to these systems are specified in [Ref2], and [Ref3].
Hardware interface
The software will run on an ATM computer yet to be chosen.
U Waterloo SE1 (Fall 2006) p.18/41
Product PerspectiveUser interfaces
Customer
The customer user interface should be intuitive, such that
99.9% of all new ATM users are able to complete their banking
transactions without any assistance.
Bank Security Personnel
Bank security personnel are responsible for removing deposits
and adding cash to ATMs. There should be a simple interface
(e.g., a switch or button) that they can use to initialize the ATM
whenever they restock.
Maintainer
The maintainer is responsible for adding new ATMs to the
network and servicing existing ATMs. A maintainer should be
possible to add a new ATM to the network within 1 hour.U Waterloo SE1 (Fall 2006) p.19/41
Section 2: Overall Description
2.2 Product Features
An overview of the systems main features
A textual list of use cases, at the level of overviews ofuse-case descriptions, is sufficient.
U Waterloo SE1 (Fall 2006) p.20/41
-
8/8/2019 l19 Slides 4up
6/11
Section 2: Overall Description
2.3 User Characteristics
Document any assumptions you make about the user andany assumptions you make about the background or howmuch training the user will need to use the system.
For example, you could build different user interfaces forknowledgeable and novice users.
Only consider user characteristics that affect the softwarerequirements
U Waterloo SE1 (Fall 2006) p.21/41
User Characteristics
There are several users of the ATM network:
Customers are simply members of the general public with no
special training.
Bank security personnel need have no special education orexperience.
Maintainers must be experienced network administrators, to be
able to connect new ATMs to the network.
U Waterloo SE1 (Fall 2006) p.22/41
Section 2: Overall Description
2.4 General Constraints
Sources of other constraints on requirements
regulatory policies
hardware limitationsparallel operationaudit functionscontrol functionscriticality of the applicationsafety and security considerationsstandardslaws
U Waterloo SE1 (Fall 2006) p.23/41
Section 2: Overall Description
2.5 Assumptions and Dependencies
Assumptions about input, or environmental behavior
Ex: hardware never fails
Ex: ATM casing is impenetrable
Ex: limited number of transactions per day (sufficient paper
for receipts)
Ex: limited amount of money withdrawn per day (sufficient
money)
What conditions could cause the system to fail?
What changes in the environment, could cause changesto the software requirements?
U Waterloo SE1 (Fall 2006) p.24/41
-
8/8/2019 l19 Slides 4up
7/11
Section 3: Specific Requirements
This section of the SRS should contain all of the softwarerequirements and specification.
At a minimum, it should include descriptions of
Every input (stimulus) into the system
Every output (response) from the system
All functions performed by the system
validity checks on inputsrelationship of outputs to inputsresponses to abnormal situations (e.g., overflow, errorhandling)
Input and output definitions should be consistent among usecases, functional specifications, state machine diagrams, andUIs.
U Waterloo SE1 (Fall 2006) p.25/41
Section 3: Specific Requirements
3.1 External Interfaces
Detailed descriptions of all inputs and outputs
Name of input (or output)Description of purpose
Source of input or destination of outputValid range, accuracy, and/or toleranceUnits of measureTimingRelationships to other inputs/outputsScreen formats/organizationWindow formats/organizationData formatsCommand formats
U Waterloo SE1 (Fall 2006) p.26/41
Output variable
U Waterloo SE1 (Fall 2006) p.27/41
Section 3: Specific Requirements
3.2 Functional Requirements
Use case descriptions
Sequence diagramsDomain Model
Functional Specifications
StateMachine model
Constraints
U Waterloo SE1 (Fall 2006) p.28/41
-
8/8/2019 l19 Slides 4up
8/11
Section 3: Specific Requirements
3.3 Performance Requirements
number of terminals to be supported
number of simultaneous users to be supported
amount and type of information to be handled
number of transactions to be processed within a set timeperiod
normal workload conditionspeak workload conditions
3.4 Design Constraints
3.5 Quality Attributes
nonfunctional properties (besides performance),expressed as testable constraints
U Waterloo SE1 (Fall 2006) p.29/41
Nonfunctional Table
U Waterloo SE1 (Fall 2006) p.30/41
Traceability
For each functional requirement R, its table entry shows :
Related Requirements: a list of the requirement numbers
of requirements that are related to R - i.e., the FRs andNFRs related to R through the fact that they fulfill Rspreconditions.
Source: the source of R, e.g., the customer and customersession number; the project description document,section number, and paragraph number; domain expertswhom you know; your own home phone, etc. (Fullyannotate any abbreviated document name before thehead of the table.),
U Waterloo SE1 (Fall 2006) p.31/41
Appendix A: Glossary
The glossary serves as a central place to give a briefdescription of each term (class, attribute, function). Theglossary is a simplified version of what is often called a datadictionary in requirements.
For more details see "SE1: Software Requirements andSpecification Course Project" document.
U Waterloo SE1 (Fall 2006) p.32/41
-
8/8/2019 l19 Slides 4up
9/11
Index
The index maps each important word or phrase to thenumbers of all pages in which it appears. When combinedwith the glossary, cross-referencing is easy.
class nameattribute name
functional or non-functional requirement name
use case name
U Waterloo SE1 (Fall 2006) p.33/41
Section 3 Organization
U Waterloo SE1 (Fall 2006) p.34/41
Section 3 Organization
U Waterloo SE1 (Fall 2006) p.35/41
Section 3 Organization
U Waterloo SE1 (Fall 2006) p.36/41
-
8/8/2019 l19 Slides 4up
10/11
SE1: Section 3.1 External Interfaces
3.1 External Interfaces
GUI
navigation map
screen shotspurpose of each UI widget
GUI events (input or output)
Mapping between GUI inputs (and outputs) andfunctional requirements inputs (outputs)
Hardware interface events
Mapping between hardware inputs (outputs) andfunctional requirements inputs (outputs)
U Waterloo SE1 (Fall 2006) p.37/41
SE1: Section 3.2.1 Use Cases
3.2.1 Use Cases
Include an updated use case diagram.
Include only the use-case descriptions and alternative
flows that correspond to your functional specifications.These should be updated with respect to customerfeedback on first deliverable.
Include no sequence diagrams
Input and output definitions have to be consistent amonguse cases, system sequence diagrams, UIs, and all otherartifacts.
U Waterloo SE1 (Fall 2006) p.38/41
SE1 SRS3.2.2 Domain Model
Include an updated domain model from the third deliverable
3.2.3 Functional Specifications
Include updated functions from the third deliverable
3.2.4 State Machines
Include updated state machines from the second deliverable
3.3 Performance
3.4 Design Constraints
3.5 Quality Attributes
Appendix Glossary (no index) U Waterloo SE1 (Fall 2006) p.39/41
SE1 SRS
Required!
Give an English introduction to each diagram. Dont rephrase
the entire diagram in English. Give just enough information tohelp the reader understand the diagram.
U Waterloo SE1 (Fall 2006) p.40/41
-
8/8/2019 l19 Slides 4up
11/11
Todays Agenda
Software requirements specifications (SRS)
IEEE standard for organizing an SRS
SE1 project SRS expectations
Required Reading:
IEEE Recommended Practice for SRSs, 1998(available from an on-campus machine via the course web
page)
Next Lecture: Validation and Verification
Readings: Weinberg and Freedman (course pack)
U Waterloo SE1 (Fall 2006) p.41/41