chappq pter 4: requirements specification

26
Chapter 4: Requirements Specification Requirements Engineering

Upload: others

Post on 16-Oct-2021

3 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Chappq pter 4: Requirements Specification

Chapter 4: Requirements Specificationp q p

Requirements Engineering

Page 2: Chappq pter 4: Requirements Specification

Objectives

In this chapter, you will learn about:In this chapter, you will learn about: How to write system requirements

Technical requirements from the perspective of developersE t d R i t Enumerated Requirements

IEEE Standard for Software Requirements Specification

2Gus Requirements Engineering

Page 3: Chappq pter 4: Requirements Specification

Requirements Specification

Requirements Specification covers same ground as Requirements definition but from the perspective of developersdefinition but from the perspective of developers

Requirements Specification defines Our goal is to use mainly our Functional Requirements developed in

project 3 to describe the following system requirements in technical terms:

1 Systems Interfaces1. Systems Interfaces2. Systems Required Functionality in terms of the interfaces’ input and outputs3. Performance Requirements

Your deliverable is a technical unambiguous and detail description of Your deliverable is a technical, unambiguous and detail description of what the developers are supposed to produce (code) for an acceptable system

3Gus Requirements Engineering

Page 4: Chappq pter 4: Requirements Specification

Requirements SpecificationSystems InterfaceSystems Interface

1. Systems Interface refers to descriptions of interactions between your system and externalinteractions between your system and external entities

User interface User interface Specifies requirements for control of the user interface,

Screens and Displays

Other software systems Other software systems Hardware Interface Operations Support (Communications) Operations Support (Communications)

Interfaces Specifies requirements for communicating with External

Systems

Gus Requirements Engineering 4

Systems

Page 5: Chappq pter 4: Requirements Specification

Requirements SpecificationSystems Interface

How about the “Internal Interfaces”?

y

How about the Internal Interfaces ? These are typically derived from your

requirements specification by the software q p yarchitect to describe protocols for inter-process communications and access to any i t l dBinternal dB

5Gus Requirements Engineering

Page 6: Chappq pter 4: Requirements Specification

Requirements SpecificationSystems Interface

Detail Description of I/OUsing the Operational Scenarios captured in your USE Cases; and the

Message Seq ence Charts “doc ment” at least the follo ing for

y

Message Sequence Charts, “document” at least the following for each external interface:

All inputs and Outputs in detailS f i t Source of inputs

Destination of outputs Value Ranges

D t f t f i t Data formats of input Data formats of output Protocols governing the order (sequence) in which certain inputs and

outputs must be exchangedoutputs must be exchanged Window format and layout Timing constraints

We will discuss specs for documenting technical requirements shortly

6

We will discuss specs for documenting technical requirements shortly

Gus Requirements Engineering

Page 7: Chappq pter 4: Requirements Specification

Requirements SpecificationFunctionality (Features)

Detail Description of System Functionality

y ( )

Detail Description of System Functionality Using the Operational Scenarios captured in your

USE Cases; and the Message Sequence Charts, “ f f“document” the system features in terms of interfaces’ inputs and output

State each feature Name Short description of the feature Prioritize feature as High, Medium, or Low. Employ the Use Case diagrams and MSC to identify user actions and Employ the Use Case diagrams and MSC to identify user actions and

systems responses that will trigger the system behavior for this feature

7Gus Requirements Engineering

Page 8: Chappq pter 4: Requirements Specification

Requirements SpecificationPerformance …

Performance, Resource and Reliability:

Input/Output Load Factors - factors that determine the measure of load which the feature must support

Database Load Factors - factors that determine the amount of data that must b t i d i h d t tbe retained in each data store

Response Time Factors - factors which measure the delay between the initiation of an operation and its conclusion

R Utili ti F t i il bl t th f t Resource Utilization Factors - maximum resources available to the feature

Reliability - how often a feature may fail in a specified period of time and still be acceptable

Availability - the amount of time a feature must be usable out of some period of time. Availability is a function of the amount of time to recover and restart because a failure is detected or operationally required downtime is needed.

8Gus Requirements Engineering

Page 9: Chappq pter 4: Requirements Specification

Requirements SpecificationStructuring Requirements DocumentStructuring Requirements Document

Requirements documentation can be very largeSolution approach:pp Organize requirements into well defined categories

Divide and Conquer Benefits of structuring requirements include: Benefits of structuring requirements include:

Minimize the number of requirements Understand large amounts of information Find sets of requirements relating to particular topicsq g p p Detect omissions and duplications

Facilitates consistency across requirements Eliminate conflict between requirements Manage iteration (e.g., delayed requirements) Reject poor requirements Evaluate requirements Reuse requirements across projects

Gus Requirements Engineering 9

Reuse requirements across projects

Page 10: Chappq pter 4: Requirements Specification

Structuring Requirements Document

Proprietary requirements templatesp y q p Boilerplate requirements templates IEEE 803-1998 SRS Standards

Gus Requirements Engineering 10

Page 11: Chappq pter 4: Requirements Specification

Structuring Requirements DocumentIEEE 803 1988 Standard for SRSIEEE 803-1988 Standard for SRS

IEEE 803-1998 Recommendations for organizing software requirements specification by:

Mode of Operation Mode of Operation User class Feature Stimulus Functional hierarchy

Gus Requirements Engineering 11

Page 12: Chappq pter 4: Requirements Specification

IEEE 803-1988 Standard for SRSMode of Operation Template

1. Introduction to the Document1 1 Purpose of the Product

Mode of Operation Template

1.1 Purpose of the Product1.2 Scope of the Product1.3 Definitions, Acronyms and Abbreviations1 4 References1.4 References1.5 Outline of the rest of the SRS

2. General Description of Product2 1 Context of Product2.1 Context of Product2.2 Product Functions2.3 User Characteristics2.4 Constraints2.5 Assumptions and Dependencies

Gus Requirements Engineering 12

Section numbers

Page 13: Chappq pter 4: Requirements Specification

IEEE 803-1988 Standard for SRSMode of Operation Template

S ifi (“S t ”) R i t

Mode of Operation Template

3. Specific (“System”) Requirements3.1 External Interface Requirements

3.1.1 User Interfaces3 1 2 H d I t f3.1.2 Hardware Interfaces3.1.3 Software Interfaces3.1.4 Communications Interfaces

4 Open Issues4. Open Issues5. Acknowledgement

13

Section numbers

Gus Requirements Engineering

Page 14: Chappq pter 4: Requirements Specification

IEEE 803-1988 Standard for SRSMode of Operation Template

3. Specific Requirements (continuation)3.2 Functional Requirements

Mode of Operation Template

3.2.1 Mode 13.2.1.1 Functional Requirements 1.1……3.2.1.n Functional Requirements 1.n

3.2.2 Mode 23.2.2.1 Functional Requirements 2 13.2.2.1 Functional Requirements 2.1…3.2.2.n Functional Requirements 2.n

…..3.2.m Mode m

3.2.m.1 Functional Requirements m.1…3 2 F ti l R i t

14

3.2.m.n Functional Requirements m.n Section numbers

Gus Requirements Engineering

Page 15: Chappq pter 4: Requirements Specification

IEEE 803-1988 Standard for SRSMode of Operation Template

3.3 Performance Requirements

3 4 D i C t i t

Mode of Operation Template

3.4 Design Constraints

3.5 Software System Attributes

3.6 Other Requirements

4 0 Open Issues4.0 Open Issues

5.0 Acknowledgement

15

Section numbers

Gus Requirements Engineering

Page 16: Chappq pter 4: Requirements Specification

The Mode of Operation TemplateOverview of the SRS sections

The Introduction (Section 1) Purpose:

Delineate the purpose of your SRSDelineate the purpose of your SRS Specify the intended audience of the SRS

Scope: First identify your software product by name:

AudioMan Translator, Bill Payment Made Easy, Home y yManagement System, The Bumble Bee Self Driving Car, OpenSong

Explain what your software product will, and if necessary, will not do Describe the application of the software, benefits, objectives and goals

Definitions, Acronyms and Abbreviations Provide definitions of all terms, acronyms and abbreviations used in your

document References

Provide a list of all documents referenced in your document Provide a list of all documents referenced in your document Title, ID number, Date, Publishing Organization

Outline Explain how the rest of your document is organized

16Gus Requirements Engineering

Page 17: Chappq pter 4: Requirements Specification

The Mode of Operation TemplateOverview of the SRS sectionsOverview of the SRS sections

General Description of Product (Section 2)This section provides the necessary background info for writing the enumerated

technical requirements (in section 3)

Context of Product and Product Functions Provide graphical representations and narratives of the requirements

Context Diagram Use Case Scenarios Message Sequence Charts Message Sequence Charts Applicable Narratives

User Characteristics Describe (in a narrative) general characteristics of the intended users of the

product, including educational level, experience and technical expertiseproduct, including educational level, experience and technical expertise Constraints

Provide (in a narrative) general descriptions of items that will limit the developer’s options (e.g., COTS, 3rd Party software, Interface to other applications, Protocols etc..)

Gus Requirements Engineering 17

)

Page 18: Chappq pter 4: Requirements Specification

The Mode of Operation TemplateOverview of the SRS sectionsOverview of the SRS sections

General Description of Product (Section 2) continued

Assumptions and Dependencies List each of the factors that affect the requirements

(stated in section3)(stated in section3) As an example, we may assume that Linux version n.m will

run on the hardware. If the version is not available, then changes may be made to the requirements (core/platform)changes may be made to the requirements (core/platform)

Gus Requirements Engineering 18

Page 19: Chappq pter 4: Requirements Specification

The Mode of Operation Template Specific (Systems) Requirementsp ( y ) q

Systems Requirements (Section 3):y q ( )This is the most important section of the SRS

It specifies detailed enumerated requirements to enable the software architect to design the software

Specific requirements should be cross-referenced Specific requirements should be cross-referenced to section 2 and other related documents

All requirements should be uniquely identifiable

19Gus Requirements Engineering

Page 20: Chappq pter 4: Requirements Specification

Specific RequirementsExternal Interface (section 3)External Interface (section 3)

User Interfaces Specify the following:

Logical characteristics of each interface between the software product and its users: Screen formats Window layout Content of any reports/menus

f Hardware Interfaces Specify the logical characteristics of each interface

between the software product and the hardware components of the system Configuration characteristics – number of ports Type of devices supported (Server, PDA, Blackberry etc..)

Gus Requirements Engineering 20

Page 21: Chappq pter 4: Requirements Specification

Specific RequirementsExternal Interface (Section 3)External Interface (Section 3)

Software InterfacesS if th f ll i Specify the following: Usage of other required software products (e.g., math

package, data management system)I t f ith th li ti t Interfaces with other application systems

Provide the following attributes for each: Name of software

Mnemonic Mnemonic Version number Source

Communications Interfaces Communications Interfaces Specify the various interfaces to communications:

Network protocols

21Gus Requirements Engineering

Page 22: Chappq pter 4: Requirements Specification

Specific (Systems) RequirementsThe LanguageThe Language

The language of Systems Requirements is different from

For Systems Requirements: Use consistent language to identify different kinds of

Stakeholders (i.e. operational scenarios, constraints) requirements

Use consistent language to identify different kinds of requirements

We will use “shall” as a key word to indicate the presence of a requirement in the textq

Example of function with capacity:The <system> shall <function> not less than <quantity> <object>The Communications system shall sustain telephone contact with not less than 10 callersy p

Example with periodicity constraints:The <system> shall <function> <object>every <performance> <units>Th ff hi h ll d h t d i k 10 d

22

The coffee machine shall produce a hot drink every 10 seconds

Gus Requirements Engineering

Page 23: Chappq pter 4: Requirements Specification

Systems RequirementsThe Language (Examples)

The Spanish speech subsystem shall transcribe

The Language (Examples)

p p ySpanish to text in UNICODE format

Th h b t h ll ll th d t The speech subsystem shall allow the end-user to initiate voice control commands to a PDA and simultaneously transcribe the end-user’s words as a Command Request (CRQ) message

The Speech subsystem shall transmit each CRQ in The Speech subsystem shall transmit each CRQ in less tan 2 seconds to the Home Management System (HMS)

23Gus Requirements Engineering

Page 24: Chappq pter 4: Requirements Specification

Systems RequirementsCriteria for Requirements Statements

Criteria for Writing Requirements Statements Use simple direct language

Criteria for Requirements Statements

Use simple direct language Each statement is clearly understandable (clear)

Write one requirement at a time Each statement is precise and concise (precise) Each statement is precise and concise (precise)

Each statement carries a single traceable element (atomic) Write testable requirements

Technically possible within the project schedule (Feasible) Technically possible within the project schedule (Feasible) Each statement is verifiable, and it is known how (verifiable)

Requirements statements that belong together are close together (Category/modular)g ( g y )

Each statement can be uniquely identified (We will talk about uniqueness shortly)

24Gus Requirements Engineering

Page 25: Chappq pter 4: Requirements Specification

Systems RequirementsUniqueness Each Systems Requirement is uniquely identified by an enumeration (a set of

tags) We will adopt the following notations:

Uniqueness

We will adopt the following notations:

<HMS–Speech-10> Speech CommandThe speech subsystem shall allow the end-user to initiate voice controlThe speech subsystem shall allow the end user to initiate voice control commands to a PDA and simultaneously transcribe the end-user’s words as a Command Request (CRQ) messageThe speech commands are processed exclusively by the 3rd party subsystem independent of the HMS PDA platform.of the HMS PDA platform. Source: Nuance™ softwareVersion: 2.5<End of HMS-Speech-10>

<HMS–Speech-20> Speech CommandThe Speech subsystem shall transmit each CRQ in less tan 2 seconds to the Home Management System (HMS)

E d f HMS S h 20

25

<End of HMS-Speech-20>

Gus Requirements Engineering

Page 26: Chappq pter 4: Requirements Specification

Requirements SpecificationsSSummary

Define the outline structure at the outset (customized version of IEEE-803) Write down your requirements asap based on your thought process

captured in the Use Cases, MSCs and other documentations If you find holes in requirements, go back to the Use Cases and MSCs then

make appropriate corrections their prior to modifying your systems requirements

Determine in advance what attributes you will need to elaborate on the te t al en merated s stems req irementstextual enumerated systems requirements

Produce an initial version, brainstorm and iterate (Use Cases, MSCs, Req.) Use simple direct language Write testable requirements Write one requirement at a time

Gus Requirements Engineering 26