Atjaunināt sīkdatņu piekrišanu

Requirements Engineering for Software and Systems [Hardback]

3.44/5 (24 ratings by Goodreads)
(The Pennsylvania State University, Malvern, USA)
  • Formāts: Hardback, 264 pages, height x width: 235x156 mm, weight: 522 g, Simple or little math; 31 Tables, black and white; 55 Illustrations, black and white
  • Sērija : Applied Software Engineering Series
  • Izdošanas datums: 31-Mar-2009
  • Izdevniecība: Auerbach
  • ISBN-10: 1420064673
  • ISBN-13: 9781420064674
Citas grāmatas par šo tēmu:
  • Formāts: Hardback, 264 pages, height x width: 235x156 mm, weight: 522 g, Simple or little math; 31 Tables, black and white; 55 Illustrations, black and white
  • Sērija : Applied Software Engineering Series
  • Izdošanas datums: 31-Mar-2009
  • Izdevniecība: Auerbach
  • ISBN-10: 1420064673
  • ISBN-13: 9781420064674
Citas grāmatas par šo tēmu:
Solid requirements engineering has become increasingly essential to on-time and on-budget delivery of software and systems projects. As more engineering programs make it a mandatory part of their curricula, students and working engineers require significant training to master the field, especially the complicated emerging ancillary software tools vital to the requirements engineering process.



With a focus on software-intensive systems, Requirements Engineering for Software and Systems provides a probing and comprehensive review of recent developments in intelligent systems, soft computing techniques, and their diverse applications in manufacturing. Topics covered can be applied to the requirements engineering practices for:















Advanced production machines and systems Collaborative and responsive manufacturing systems Digital manufacturing E-manufacturing E-business and virtual enterprises Fit manufacturing Human machine interfaces Innovative design technologies Intelligent and competitive manufacturing Intelligent planning and scheduling systems Mechatronics and MEMS Micro and nano manufacturing Production automation and control Reconfigurable manufacturing systems Sustainable manufacturing systems Robotics















To illustrate key ideas associated with requirements engineering, the text presents three common example systems: an airline baggage handling system, a point-of-sale system for one location of a large pet store chain, and a system for a smart home in which one or more PCs control various aspects of the homes functions. The selected systems encompass a wide range of applicationsfrom embedded to organic, for both industrial and consumer uses.

Recenzijas

Based on a Penn State course taught by the author, this text provides a review of the theoretical and practical aspects of discovering, analyzing, modeling, validating, testing, and writing requirements for systems of all kinds, particularly software-intensive systems. Incorporating a variety of formal methods, social models, and modern requirements writing techniques useful to practicing engineers, the text is suitable for professional software engineers, systems engineers, and senior undergraduate and graduate students in these fields. Book News Inc., 2009

Acknowledgments xv
Introduction xvii
About the Author xxi
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?
4
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 Reconciliation
12
Requirements Representation and Modeling
12
Requirements Validation
12
Requirements Management
13
The Requirements Engineer
13
Requirements Engineering Paradigms
13
Requirements Engineer as Software Systems Engineer
14
Requirements Engineer as Subject Matter Expert
14
Requirements Engineer as Architect
14
Requirements Engineer as Business Process Expert
14
Ignorance as Virtue
15
Role of the Customer?
15
Problems with Traditional Requirements Engineering
16
Complexity
17
Four Dark Corners (Zave and Jackson)
18
Difficulties in Enveloping System Behavior
19
The Danger of "All" in Specifications
21
References
22
2 Mission Statement, Customers, and Stakeholders 23
Mission Statements
23
Encounter with a Customer?
24
Stakeholders
26
Negative Stakeholders
27
Stakeholder Identification
27
Stakeholder Questions
27
Stakeholder/Customer Classes
29
Customer Wants and Needs
30
What Do Customers Want?
30
What Don't Customers Want?
33
Why Do Customers Change Their Minds?
34
Stakeholder Prioritization
35
Communicating with Customers and Other Stakeholders
36
Managing Expectations
37
Stakeholder Negotiations
38
References
40
3 Requirements Elicitation 41
Introduction
41
Elicitation Techniques Survey
42
Brainstorming
42
Card Sorting
42
Designer as Apprentice
44
Domain Analysis
45
Ethnographic Observation
45
Goal-Based Approaches
46
Group Work
48
Interviews
48
Introspection
50
Joint Application Design (JAD)
50
Laddering
51
Protocol Analysis
52
Prototyping
53
Quality Function Deployment
54
Questionnaires
55
Repertory Grids
56
Scenarios
57
Task Analysis
57
User Stories
58
Viewpoints
59
Workshops
60
Elicitation Summary
60
Which Combination of Requirements Elicitation Techniques Should Be Used?
60
Prevalence of Requirements Elicitation Techniques
63
Elicitation Support Technologies
63
Using Wikis for Requirements Elicitation
63
Mobile Technologies
65
Content Analysis
65
References
66
4 Writing the Requirements Document 69
Requirements Representation Approaches
69
IEEE Standard 830-1998
71
IEEE Standard 830 Recommendations on Representing Non-Functional Requirements
72
IEEE Standard 830 Recommendations on Representing Functional Requirements
73
Operating System
74
Command Validation
75
ISO/IEC Standard 25030
76
Use Cases
78
Behavioral Specifications
79
The Requirements Document
81
Users of a Requirements Document
82
Requirements Document Requirements
82
Preferred Writing Style
83
Text Structure
83
Best Practices and Recommendations
84
References
86
5 Requirements Risk Management 87
What Is Requirements Risk Management?
87
Requirements Validation and Verification
89
Techniques for Requirements V&V
90
Goal-Based Requirements Analysis
90
Requirements Understanding
91
Validating Requirements Use Cases
92
Prototyping
92
The Requirements Validation Matrix
92
The Importance of Measurement in Requirements Verification and Validation
93
Goal/Question/Metric Analysis
94
Standards for Verification and Validation
95
IEEE Standard 830
96
Correctness
97
Ambiguity
97
Completeness
98
Consistency
99
Ranking
99
Verifiability
100
Modifiability
100
Traceability
100
NASA Requirements Testing
101
NASA ARM Tool
101
Imperatives
103
Continuances
103
Directives
105
Options
105
Weak Phrases
105
Incomplete
106
Subjects
107
Specification Depth
107
Readability Statistics
108
Summary of NASA Metrics
108
References
111
6 Formal Methods 113
Motivation
113
What Are Formal Methods?
114
A Little History
115
Using Formal Methods
116
Formal Methods Types
116
Examples
117
Formalization of Train Station in B
117
Formalization of Space Shuttle Flight Software Using MurΦ
121
Formalization of an Energy Management System Using Category Theory
122
Example: An Energy Management System
124
Requirements Validation
126
Theorem Proving
128
Program Correctness
128
Hoare Logic
129
Model Checking
133
Objections, Myths, and Limitations
134
Objections and Myths
134
Limitations of Formal Methods
135
Final Advice
136
References
137
7 Requirements Specification and Agile Methodologies 139
Introduction to Agile Methodologies
139
Principles Behind the Agile Manifesto
140
Extreme Programming (XP)
142
Scrum
143
Requirements Engineering for Agile Methodologies
144
General Practices in Agile Methodologies
145
Agile Requirements Best Practices
145
Requirements Engineering in XP
147
Requirements Engineering in Scrum
147
Writing User Stories
148
Agile Requirements Engineering
150
Challenges for Requirements Engineering in Agile Methodologies
152
Bibliography
153
8 Tool Support for Requirements Engineering 155
Introduction
155
Traceability Support
156
Commercial Requirements Engineering Tools
159
DOORS
160
Rational RequisitePro
160
Requirements and Traceability Management
160
CaliberRM
160
QFD/Capture
161
Open Source Requirements Engineering Tools
161
FreeMind
161
Open Source Requirements Management Tool (OSRMT)
163
FitNesse
166
Requirements Engineering Tool Best Practices
167
References
168
9 Requirements Management 171
Introduction
171
Managing Divergent Agendas
171
Expectation Revisited: Pascal's Wager
173
Global Requirements Management
174
Antipatterns in Requirements Management
176
Environmental Antipatterns
177
Divergent Goals
177
Process Clash
178
Management Antipatterns
178
Metric Abuse
178
Mushroom Management
179
Other Paradigms for Requirements Management
180
Requirements Management and Improvisational Comedy
180
Requirements Management as Scriptwriting
181
Reference Models for Requirements Management
182
ISO 9000-3 (1997)
183
Six Sigma
183
Capability Maturity Model (CMMI)
184
IEEE 830
185
IEEE 12207 (2002)
185
ISO/IEC 25030
185
A Case Study: FBI Virtual Case File
186
References
187
10 Value Engineering of Requirements 189
What, Why, When, and How of Value Engineering?
189
What Is Value Engineering?
189
When Does Value Engineering Occur?
190
Estimating Using COCOMO and Its Derivatives
190
COCOMO
191
WEBMO
192
COSYSMO
193
Estimating Using Function Points
194
Function Point Cost Drivers
194
Feature Points
196
Use Case Points
196
Requirements Feature Cost Justification
197
Return on Investment
197
Net Present Value
198
Internal Rate of Return
199
Profitability Index
200
Payback Period
201
Discounted Payback Period
201
References
202
Appendix Software Requirements Specification for a Smart Home, Version 2.0, September 20, 2008 203
Glossary 229
Index 233
Pennsylvania State University, Malvern, USA The Pennsylvania State University, Malvern, USA