Concepts:
|
Additional Concepts: | Additional Guidance: |
Traceability is the ability to trace a project element to other related project elements, especially those related to requirements. Project elements involved in traceability are called traceability items. Typical traceability items include different types of requirements, analysis and design model elements, test artifacts (test suites, test cases, etc.), and end-user support documentation and training material, as shown in the figure below.
The traceability hierarchy.
Each traceability item has its own unique set of associated associated (See: Requirement Attributes), which is useful for tracking the status, benefit, risk, etc. associated with each item.
The purpose of establishing traceability is to help:
Traceability helps you understand and manage how input to the requirements, such as Business Rules and Stakeholder Requests, are translated into a set of key stakeholder/user needs and system features, as specified in the Vision document. The Use-Case model, in turn, outlines the how these features are translated to the functionality of the system. The details of how the system interacts with the outside world are captured in Use Cases, with other important requirements (such as non-functional requirements, design constraints, etc.) in the Supplementary Specifications. Traceability allows you to also follow how these detailed specifications are translated into a design, how it is tested, and how it is documented for the user. For a large system, Use Cases and Supplementary Specifications may be packaged together to define a Software Requirements Specification (SRS) for a particular "feature" or other subsystem grouping.
A key concept in helping to manage changes in requirements is that of a "suspect" traceability link. When a requirement (or other traceability item) changes at either end of a traceability link, all links associated with that requirement are marked as "suspect". This flags the responsible role to review the change and determine if the associated items will need to change also. This concept also helps in analyzing the impact of potential changes.
Traceabilities may be set up to help answer the following sample set of queries:
Example:
For a Recycling Machine system, the Vision document specifies the following feature:
FEAT10:The recycling machine will allow the addition of new bottle types.
This feature is traced to a use case "Add New Bottle Type":
The use case Add New Bottle Type allows the Operator to teach the Recycling Machine to recognize new kinds of bottles.
This traceability helps us verify that all features have been accounted for in use cases and supplementary specifications.
The most important traceability items are:
User/Stakeholder Needs (from Vision, may be further traced to individual Stakeholder Requests) |
Product Feature (from Vision). |
Supplementary Requirement (from Supplementary Specifications.) |
Use Case |
Use Case Section (sections of a detailed use case). |
Design Element (from the design model). |
Test Suite (or potentially Test Case). |
Other elements, such as Business Rules and Issues may also be useful to trace.
A typical traceability is shown in the following diagram:
This diagram only shows traceability to requirements. Other traceability may exist as well, but is not shown on this diagram: design elements trace down to implementation elements, there are test cases for design and implementation, etc.
Rational Unified Process |