7/29/2019 Requirement Enginering Software Requirement Tutorial 14
1/22
1
Requirements Errors
Lecture # 14
7/29/2019 Requirement Enginering Software Requirement Tutorial 14
2/22
2
Todays Topics
Requirements errors
Addressing requirements errors
7/29/2019 Requirement Enginering Software Requirement Tutorial 14
3/22
3
Requirements Errors
7/29/2019 Requirement Enginering Software Requirement Tutorial 14
4/22
4
Requirements Error/Defect
A deficiency in the requirements
quality that can hamper software
development
7/29/2019 Requirement Enginering Software Requirement Tutorial 14
5/22
5
Requirements Errors - 1
Errors and omissions find their way in
different requirements documents
If not removed, requirements errors
usually flow downstream into design,
code, and user manuals
7/29/2019 Requirement Enginering Software Requirement Tutorial 14
6/22
6
Requirements Errors - 2
It is difficult to detect requirements
errors once they flow downstream
Requirements errors are most
expensive to eliminate
7/29/2019 Requirement Enginering Software Requirement Tutorial 14
7/22
7
Software Development Process
software
requirements
preliminary
design
detaileddesign
coding
unittesting
integration
testing
system
testing
delivery
production
deployment
maintenance
and
enhancement
software
system test
planning
integration
test
planning
unit testplanning
1
2
3
4
5
6
7 8
9
10
11
12
MIL-STD-2167A
7/29/2019 Requirement Enginering Software Requirement Tutorial 14
8/22
8
Types of Requirements Errors
Errors of omission
Errors of commission
Errors of clarity and ambiguity
Errors of speed and capacity
7/29/2019 Requirement Enginering Software Requirement Tutorial 14
9/22
9
Errors of Omission
Errors of omission are most common
among requirements errors
Domain experts easily forget to convey
domain knowledge to requirements
engineers, because they consider thatto be obvious and implicit
7/29/2019 Requirement Enginering Software Requirement Tutorial 14
10/22
10
Errors of Clarity and Ambiguity
Second most common errors are thoseof clarity and ambiguity
Primarily, because natural languages(like English) are used to staterequirements, while such languages are
themselves ambiguous For example: object
7/29/2019 Requirement Enginering Software Requirement Tutorial 14
11/22
11
Errors of Commission
Errors of commission can also find
their way into the requirements
documents
7/29/2019 Requirement Enginering Software Requirement Tutorial 14
12/22
12
Performance Errors
Performance, that is errors of speed
and capacity, are also found in
requirements
Primarily, these occur due to
conflicting understanding or competingneeds of different stakeholders
7/29/2019 Requirement Enginering Software Requirement Tutorial 14
13/22
13
Negative Impact of Requirements
Errors - 1 The resulting software may not satisfy
users real needs
Multiple interpretations of
requirements may cause disagreements
between customers and developers,wasting time and money, and perhaps
resulting in lawsuits
7/29/2019 Requirement Enginering Software Requirement Tutorial 14
14/22
14
Negative Impact of Requirements
Errors - 2 Negative impact on humans
Unsatisfied customers and developers
Lack of interest in automation of
processes
Blame game
7/29/2019 Requirement Enginering Software Requirement Tutorial 14
15/22
15
Addressing Requirements Errors
Prevention
Removal
7/29/2019 Requirement Enginering Software Requirement Tutorial 14
16/22
16
Prevention vs. Removal
For requirements errors, prevention isusually more effective than removal
Joint application development (JAD),quality function deployment (QFD), andprototyping are more effective in defectprevention
Requirements inspections and prototypingplay an important role in defect removal
7/29/2019 Requirement Enginering Software Requirement Tutorial 14
17/22
17
Defect Prevention - 1
Dont let defects/errors become part ofthe requirements document or
requirements model in the first place How is it possible?
Understanding application domain and
business area is the first step in defectprevention
7/29/2019 Requirement Enginering Software Requirement Tutorial 14
18/22
18
Defect Prevention - 2
Training in different requirements
engineering activities (elicitation, analysis
and negotiation, specification, andvalidation) is also very important for defect
prevention
Allocating enough time to conductrequirements engineering activities also is
very important in this regard
7/29/2019 Requirement Enginering Software Requirement Tutorial 14
19/22
19
Defect Prevention - 3
Willing and active participation of
stakeholders in different activities of
requirements engineering. That is why
JAD is very useful in defect prevention
as far as requirements errors are
concerned
7/29/2019 Requirement Enginering Software Requirement Tutorial 14
20/22
20
Defect Prevention - 4
An overall commitment to quality and
emphasis on using documented
processes is also a very important
An overall commitment to process
improvement
7/29/2019 Requirement Enginering Software Requirement Tutorial 14
21/22
21
Summary
Introduced the concept of requirements
errors and types of requirements errors
Discussed the impact of requirements
errors
Discussed error prevention inrequirements
7/29/2019 Requirement Enginering Software Requirement Tutorial 14
22/22
22
References
Requirements Engineering: Processes
and Techniques by G. Kotonya and I.
Sommerville, John Wiley & Sons,
1998
Software Quality: Analysis andGuidelines for Success by Capers
Jones
Top Related