Requirement Enginering Software Requirement Tutorial 14

download Requirement Enginering  Software Requirement Tutorial 14

of 22

Transcript of Requirement Enginering Software Requirement Tutorial 14

  • 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