Requirement Enginering Software Requirement Tutorial 20

download Requirement Enginering  Software Requirement Tutorial 20

of 28

Transcript of Requirement Enginering Software Requirement Tutorial 20

  • 7/29/2019 Requirement Enginering Software Requirement Tutorial 20

    1/28

    1

    Requirements Traceability

    Lecture # 20

  • 7/29/2019 Requirement Enginering Software Requirement Tutorial 20

    2/28

    2

    Recap of Last Two Lectures

    We talked about different aspects of

    requirements management, i.e.,

    managing the changes in requirements

    in detail

    Requirements cannot be managedproperly if requirements traceability is

    not implemented

  • 7/29/2019 Requirement Enginering Software Requirement Tutorial 20

    3/28

    3

    Requirements Traceability

    Refers to ability to describe and follow the

    life of a requirement, in both a forwards and

    backwards direction

    That is from its origins, through its

    development and specification, to its

    subsequent deployment and use, andthrough all periods of on-going refinement

    and iteration in any of these phases

  • 7/29/2019 Requirement Enginering Software Requirement Tutorial 20

    4/28

    4

    Tracing Requirements

    It is important to trace requirements

    both ways

    Origin of a requirement

    How is it implemented

    This is a continuous process

  • 7/29/2019 Requirement Enginering Software Requirement Tutorial 20

    5/28

    5

    Classifications of Requirements

    Traceability Backward-from traceability

    Forward-from traceability Backward-to traceability

    Forward-to traceability

  • 7/29/2019 Requirement Enginering Software Requirement Tutorial 20

    6/28

    6

    Backward-from Traceability

    Links requirements to their sources in

    other documents or people

  • 7/29/2019 Requirement Enginering Software Requirement Tutorial 20

    7/28

    7

    Forward-from Traceability

    Links requirements to design and

    implementation components

  • 7/29/2019 Requirement Enginering Software Requirement Tutorial 20

    8/28

    8

    Backward-to Traceability

    Links design and implementation

    components back to requirements

  • 7/29/2019 Requirement Enginering Software Requirement Tutorial 20

    9/28

    9

    Forward-to Traceability

    Links other documents (which may

    have preceded the requirements

    document) to relevant requirements

  • 7/29/2019 Requirement Enginering Software Requirement Tutorial 20

    10/28

    10

    Backwards and Forwards

    Traceability

    Business plan Requirements document Design specification

    Forward-to traceability Forward-from traceability

    Backward-from traceability Backward-to traceability

  • 7/29/2019 Requirement Enginering Software Requirement Tutorial 20

    11/28

    11

    Categories of Traceability

    Requirements-sources traceability

    Requirements-rationale traceability

    Requirements-requirementstraceability

    Requirements-architecture traceability

    Requirements-design traceability

    Requirements-interface traceability

  • 7/29/2019 Requirement Enginering Software Requirement Tutorial 20

    12/28

    12

    Requirements-Sources

    Traceability Links the requirement and the people

    or documents which specified the

    requirement

  • 7/29/2019 Requirement Enginering Software Requirement Tutorial 20

    13/28

    13

    Requirements-Rationale

    Traceability Links the requirement with a

    description of why that requirement

    has been specified. This can be a

    distillation of information from several

    sources

  • 7/29/2019 Requirement Enginering Software Requirement Tutorial 20

    14/28

    14

    Requirements-Requirements

    Traceability Links requirements with other

    requirements which are, in some way,

    dependent on them. This should be a

    two-way link (dependent on them and

    is-dependent on)

  • 7/29/2019 Requirement Enginering Software Requirement Tutorial 20

    15/28

    15

    Requirements-Architecture

    Traceability Links requirements with the sub-

    systems where these requirements are

    implemented. This is particularly

    important where sub-systems are being

    developed by different sub-contractors

  • 7/29/2019 Requirement Enginering Software Requirement Tutorial 20

    16/28

    16

    Requirements-Design

    Traceability Links requirements with specific

    hardware or software components in

    the system, which are used to

    implement the requirement

  • 7/29/2019 Requirement Enginering Software Requirement Tutorial 20

    17/28

    17

    Requirements-Interface

    Traceability Links requirements with the interfaces

    of external systems, which are used in

    the provision of the requirements

  • 7/29/2019 Requirement Enginering Software Requirement Tutorial 20

    18/28

    18

    Traceability Tables

    Requirements traceability information

    can be kept in traceability tables, each

    table relating requirements to one or

    more aspects of the system or its

    environment

  • 7/29/2019 Requirement Enginering Software Requirement Tutorial 20

    19/28

    19

    A Generic Traceability Table

    A01 A02 A03 Aii

    R01

    R02

    R03

    Rnn

  • 7/29/2019 Requirement Enginering Software Requirement Tutorial 20

    20/28

    20

    Need for Traceability Policy

    Huge amount of information, which is

    expensive to collect, analyze, and

    update

    Need to continuously update

    traceability information A traceability policy is needed

  • 7/29/2019 Requirement Enginering Software Requirement Tutorial 20

    21/28

    21

    Traceability Policy

    Traceability information

    Traceability techniques

    When to collect information

    Roles

    Documentation of policy exceptions

    Process of managing information

  • 7/29/2019 Requirement Enginering Software Requirement Tutorial 20

    22/28

    22

    Traceability Information

    No. of requirements

    Estimated lifetime

    Level of organizations maturity

    Project team and composition

    Type of system

    Specific customer requirements

  • 7/29/2019 Requirement Enginering Software Requirement Tutorial 20

    23/28

    23

    Basic Types of Requirements

    Traceability - 1 Pre-RS traceability

    Concerned with those aspects of a

    requirements life prior to its inclusion in theRS (requirements production)

    Post-RS traceability

    Concerned with those aspects of arequirements life that result from its inclusion

    in the RS (requirements deployment)

  • 7/29/2019 Requirement Enginering Software Requirement Tutorial 20

    24/28

    24

    Pre-RS Traceability

    Depends on the ability to trace requirementsfrom and back to, their originating

    statements, through the process ofrequirements production and refinement, inwhich statements from diverse sources areeventually integrated into a single

    requirement in the RS Changes in the process need to be re-

    worked into the RS

  • 7/29/2019 Requirement Enginering Software Requirement Tutorial 20

    25/28

    25

    Post-RS Traceability

    Depends on the ability to trace

    requirements from, and back to, a

    baseline (the RS), through a succession

    of artifacts in which they are

    distributed

    Changes to the baseline need to be re-

    propagated through this chain

  • 7/29/2019 Requirement Enginering Software Requirement Tutorial 20

    26/28

    26

    Pre-RS Traceability and

    Rationale Mostly only Post-RS traceability is

    considered sufficient

    Pre-RS traceability captures the

    rationale for each requirement, which

    is a very important aspect in managingrequirements properly

  • 7/29/2019 Requirement Enginering Software Requirement Tutorial 20

    27/28

    27

    Summary

    Requirements traceability is an on-goingprocess, and has two basic types: pre-RSand post-RS

    There are four classifications ofrequirements traceability

    We discussed traceability information,

    policies, and techniques Without proper traceability, requirements

    cannot be managed

  • 7/29/2019 Requirement Enginering Software Requirement Tutorial 20

    28/28

    28

    References

    Software Engineering: A PractitionersApproach by R. Pressman, PH 2000

    Requirements Engineering: Processes andTechniques by G. Kotonya and I.Sommerville, John Wiley & Sons, 1998

    An Analysis of the RequirementsTraceability Problem, O.C.Z. Gotel &A.C.W. Finkelstein, TR-93-41, ImperialCollege, London, UK