• No results found

Requirements Engineering for Software

N/A
N/A
Protected

Academic year: 2021

Share "Requirements Engineering for Software"

Copied!
8
0
0

Loading.... (view fulltext now)

Full text

(1)

Requirements Engineering

for Software

and

Systems

Second

Edition

Phillip

A.

Laplante

CRC Press

Taylor& FrancisGroup

Boca Raton London NewYork CRC Press isanimprintofthe

Taylor&FrancisCroup,anInforms business

(2)

Acknowledgments

xiii

About the Author

xv

Introduction

xvii

1

Introduction

to

Requirements

Engineering

1

Motivation 1

What Is

Requirements

Engineering?

2

You

Probably

Don't Do

Enough Requirements Engineering

3

What

Are

Requirements?

3

Requirements

versus Goals 4

Requirements

Level

Classification

4

Requirements

Specifications

Types

6

Functional

Requirements

6

Nonfunctional

Requirements

7

Domain

Requirements

10

Domain

Vocabulary Understanding

11

Requirements

Engineering

Activities 11

Requirements

Elicitation/Discovery

11

Requirements

Analysis

and

Agreements

12

Requirements

Representation

12

Requirements

Validation 12

Requirements Management

13

Bodies of

Knowledge

13

Requirements Engineer

17

Requirements Engineering

Paradigms

17

Requirements Engineer

as

Software

Systems

Engineer

18

Requirements Engineer

as

Subject

Matter

Expert

18

Requirements Engineer

asArchitect 18

Requirements Engineer

asBusiness Process

Expert

18

Ignorance

asVirtue 18

(3)

vi Contents

Customer'sRole

19

Problems with

Traditional

Requirements

Engineering

20

Complexity

21

Four Dark Comers 22

Difficulties in

Enveloping System

Behavior 23

Danger

of "All"

in

Specifications

25

Exercises

25

References 26

2

Preparing

for

Requirements

Elicitation 29

Product

Mission

Statement

29

Encounter withaCustomer 30

Stakeholders 32

Negative

Stakeholders

33

Stakeholder

Identification 33

Stakeholder

Questions

33

Stakeholder/Customer Classes

35

Stakeholder

Characteristics

36

Customer Wants and Needs 37

What

Do Customers Want? 37

What Don't

Customers Want? 39

Why

DoCustomers

Change

Their Minds?

40

Stakeholder Prioritization 41

Communicating

with Customers and Other

Stakeholders

43

Managing Expectations

44

Stakeholder

Negotiations

45

Uncovering

Stakeholder Goals

46

Exercises

47

References 48

3

Requirements

Elicitation...

49

Introduction

49

Preparing

for

Requirements

Elicitation 50

Elicitation

Techniques Survey

51

Brainstorming

51

Card

Sorting

52

Designer

as

Apprentice

53

Domain

Analysis

54

Ethnographic

Observation

55

Goal-Based

Approaches

56

Group

Work 57 Interviews 58

Introspection

59

(4)

Joint

Application Design

(JAD)

60

Laddering

61

Protocol

Analysis

62

Prototyping

62

Quality

Function

Deployment

63

Questionnaires/Surveys

66

Repertory

Grids 68 Scenarios 68 Task

Analysis

69

User Stories

69

Viewpoints

70

Workshops

71

Elicitation

Summary

71

Which

Combination

of

Requirements

Elicitation

Techniques

ShouldBe Used? 72

Prevalence of

Requirements

Elicitation

Techniques

72

Eliciting

Hazards

73

Misuse Cases 77

Antimodels

77

Formal Methods

78 Exercises 78 References 79

4

Writing

the

Requirements

Document

81

Requirements Agreement

and

Analysis

81

Requirements

Representation

Approaches

82

IEEE Standard 830-1998 85

IEEE Standard 830 Recommendationson

Representing

Nonfunctional

Requirements

86 IEEE Standard 830

Recommendations

on

Representing

Functional

Requirements

87

Operating

System

88 Command

Validation

89

ISO/IEC Standard 25030 90 Use Cases 92

Requirements

Document 93

Users ofa

Requirements

Document 93

Requirements

Document

Requirements

94

Preferred

Writing Style

. 95

Text Structure

Analysis

95

Requirement

Format 96 Use

of

Imperatives

98

(5)

viii Contents

Best Practices and Recommendations 100

Exercises 102

References

103

5

Requirements

Risk

Management

105 WhatIs

Requirements

Risk

Management?

105

Requirements

Validation and Verification 108

Techniques

for

Requirements

V&V 109

Walkthroughs

110

Inspections

110

Goal-Based

Requirements

Analysis

110

Requirements

Understanding

Ill

Validating Requirements

Use Cases 112

Prototyping

113

Requirements

Validation and Verification Matrices

113

Importance

of

Measurement in

Requirements

Validation

and

Verification

115

Goal/Question/Metric

Analysis

116

Standards for Validation and Verification

116

IEEE Standard 830 117 Correctness 117

Ambiguity

119

Completeness

120

Consistency

120

Ranking

121

Verifiability

121

Modifiability

122

Traceability

122

Example

Validation of

Requirements

122 NASA

Requirements

Testing

124

NASA ARM Tool

124

Imperatives

126

Continuances

126

Directives 127

Options

127

Weak Phrases

127

Incomplete

128

Subjects

131

Specification Depth

131

Readability

Statistics 131

Summary

of NASA Metrics 133

Exercises

136

(6)

6

Formal Methods 139

Motivation 139

WhatAreFormal Methods? 140

Formal

Methods

Classification 142

A Little

History

142

Using

Formal Methods

143

Examples

143

Formalization

of Train Stationin B 144

Formalization of

Space

Shuttle

Flight

Software

Using

MurO 147 Formalization

of

an

Energy

Management System Using

Category Theory

148

Example: Energy

Management System

149

Requirements

Validation

152

Theorem

Proving

153

Program

Correctness 154 Hoare

Logic

154 Model

Checking

159

Integrated

Tools 159

Objections,

Myths,

and

Limitations

159

Objections

and

Myths

160

Limitations

of

Formal Methods 162

Bowen and

Hinchey's

Advice

163

Exercises 164

References 164

7

Requirements

Specification

and

Agile

Methodologies

167

Introductionto

Agile Methodologies

167

Principles

behind

Agile

Manifesto

168

Extreme

Programming

(XP)

170

Scrum 171

Requirements Engineering

for

Agile Methodologies

172

General Practices in

Agile Methodologies

173

Example Application

of

Agile

Software

Development

173

When Is

Agile

Recommended?

175

Agile

Requirements

Best Practices 175

Requirements Engineering

inXP 177

Requirements Engineering

inScrum 177

Writing

UserStories 178

Agile Requirements

Engineering

180

Story-Test-Driven Development

181

Challenges

for

Requirements Engineering

in

Agile

Methodologies

182

Exercises 183

(7)

x Contents

8

Tool

Support

for

Requirements Engineering

185

Introduction

185

Traceability Support

187

Requirements

Linkage Traceability

Matrix 188

Requirements

Source

Traceability

Matrix 190

Requirements

Stakeholder

Traceability

Matrix 191

Requirements Management

Tools 192

Open

Source

Requirements Engineering

Tools

193

FreeMind 193

Open

Source

Requirements Management

Tool

(OSRMT)

196

FitNesse

196

Requirements Engineering

Tool Best Practices 198

Elicitation

Support

Technologies

198

Using

Wikis for

Requirements

Elicitation 199

Mobile

Technologies

199 Virtual Environments 199 Content

Analysis

200 Metrics 201 Exercises 202 References 202 9

Requirements

Management

205 Introduction 205

Reconciling

Differences

206

Managing

Divergent

Agendas

206

Consensus

Building

207

Expectation

Revisited: Pascal's

Wager

209

Global

Requirements

Management

211

Antipatterns

in

Requirements Management

212

Environmental

Antipatterns

213

Divergent

Goals

213 Process Clash 214

Management Antipatterns

214 Metric Abuse 214 Mushroom

Management

216

Other

Paradigms

for

Requirements

Management

217

Requirements

Management

and

Improvisational Comedy

217

Requirements

Management

as

Scriptwriting

218

Standards for

Requirements

Management

219

ISO 9001 221

Six

Sigma

221

Capability Maturity

Model

Integrative (CMMI)

222

(8)

ISO/IEEE 12207 224

Usage

of Standards 224

A Case

Study:

FBI Virtual Case

File

225

Exercises 226

References

227

10 Value

Engineering

of

Requirements

229

What,

Why,

When,

and

How of Value

Engineering

229

What Is Value

Engineering?

230

When Does Value

Engineering

Occur? 231

Challenges

to

Simple

Costversus

Risk

Analysis

232

Estimating

Using

COCOMO and ItsDerivatives 234

COCOMO

234

WEBMO 235

COSYSMO 237

Estimating

Using

Function Points 238

Function Point Cost Drivers 239

Feature Points 240

Use Case Points 240

Requirements

FeatureCost

Justification

241

Returnon

Investment

241

Net Present Value 242

Internal Rate of Return 243

Profitability

Index 244

Payback

Period 245

Discounted

Payback

245

Putting

ItAll

Together

246

Exercises 246

References

247

Appendix

A: Software

Requirements

Specification

foraSmart Home

249

Appendix

B:Software

Requirements

for

aWastewater

Pumping

Station

WetWell Control

System

275

Glossary.

287

References

Related documents