General Navigation Buttons - Home | Search | Contact Us | Site Map | Whats New
products graphic
white space
products
Software Technology Roadmap
What's New
Background & Overview
Technology Descriptions
Defining Software Technology
Technology Categories
Template for Technology Descriptions
Taxonomies
Glossary & Indexes
Feedback & Participation
Software Engineering Information Repository (SEIR)
white space
About SEI|Mgt|Eng|Acq|Collaboration|Prod.& Services|Pubs
pixel
Rollover Popup Hints for Topic Navigation Buttons above
pixel
Requirements Tracing--An Overview


Status

Advanced

Purpose and Origin

The development and use of requirements tracing techniques originated in the early 1970s to influence the completeness, consistency, and traceability of the requirements of a system. They provide an answer to the following questions:

  • What mission need is addressed by a requirement?
  • Where is a requirement implemented?
  • Is this requirement necessary?
  • How do I interpret this requirement?
  • What design decisions affect the implementation of a requirement?
  • Are all requirements allocated?
  • Why is the design implemented this way and what were the other alternatives?
  • Is this design element necessary?
  • Is the implementation compliant with the requirements?
  • What acceptance test will be used to verify a requirement?
  • Are we done?
  • What is the impact of changing a requirement [SPS 94]?
The purpose of this technology description is to introduce the key concepts of requirements tracing. Detailed discussions of the individual technologies can be found in the referenced technology descriptions.

Technical Detail

Requirements traceability is defined as the ability to describe and follow the life of a requirement, in both a forward and backward direction (i.e., from its origins, through its development and specification, to its subsequent deployment and use, and through periods of ongoing refinement and iteration in any of these phases) [Gotel 95]. It can be achieved by using one or more of the following techniques:

  • Cross referencing. This involves embedding phrases like "see section x" throughout the project documentation (e.g., tagging, numbering, or indexing of requirements, and specialized tables or matrices that track the cross references).
  • Specialized templates and integration or transformation documents. These are used to store links between documents created in different phases of development.
  • Restructuring. The documentation is restructured in terms of an underlying network or graph to keep track of requirements changes (e.g., assumption-based truth maintenance networks, chaining mechanisms, constraint networks, and propagation) [Gotel 95].

Usage Considerations

For any given project, a key milestone (or step) is to determine and agree upon requirements traceability details. Initially, three important questions need to be answered before embarking on any particular requirements traceability approach:

  1. What needs to be traceable?
  2. What linkages need to be made?
  3. How, when, and who should establish and maintain the resulting database?
Once the questions are answered, then selection of an approach can be made. One approach could be the structured use of general-purpose tools (e.g., hypertext editors, word processors, and spreadsheets) configured to support cross-referencing between documents. For large software development projects, an alternative approach could be the use of a dedicated workbench centered around a database management system providing tools for documenting, parsing, editing, decomposing, grouping, linking, organizing, partitioning, and managing requirements. Table 9 describes the strengths and weaknesses of each of the approaches.

Table 9: Comparing Requirements Tracing Approaches
Approaches

Strengths

Weaknesses

General
purpose tools

· readily available

· flexible

· good for small projects

· need to be configured to support Requirements Traceability (RT)

· potential high RT maintenance cost

· limited control over RT information

· potential limited integration with other software development tools

Workbenches

· fine-grained forward, backward, horizontal, and vertical RT

· RT results may facilitate later development activities (i.e., testing)

· suitable for large projects

· depend upon stakeholder buy-in

· manual intervention may be required

· RT in later development phases may be difficult

Regardless of the approach taken, requirements tracing requires a combination of models (i.e., representation forms), methods (i.e., step by step processes), and/or languages (i.e., semiformal and formal) that incorporate the above techniques. Some examples of requirements tracing methods are discussed in the following technology descriptions:

Maturity

Every major office tool manufacturer has spreadsheet and/or database capabilities that can be configured to support requirements tracing. There are at least ten commercial products that fall in the workbench category and support some level of requirements traceability [STSC 98]. At a minimum, they provide
  • bidirectional requirement linking to system elements
  • capture of allocation rationale, accountability, and test/validation
  • identification of inconsistencies
  • capabilities to view/trace links
  • verification of requirements
  • history of requirements changes.

Environments to support requirements traceability past the requirements engineering phase of the system/software life cycle are being researched. Areas include the development of a common language, method, model, and database repository structure, as well as mechanisms to provide data exchange between different tools in the environment. Prototypes exist and at least one commercial product provides support for data exchange through its object-oriented database facilities.

Costs and Limitations

In general, the implementation of requirements tracing techniques within an organization should facilitate reuse and maintainability of the system. However, additional resources (time and manpower) to initially implement traceability processes (i.e., definition of traceability information, selection of automated tools, training, etc.) will be required. One case study found that the cost was more than twice the normal documentation cost associated with the development of a system of similar size and complexity. However, this was determined to be a one-time cost and the overall costs to maintain the software system are expected to be reduced. Almost immediate return was observed in the reduced amount of time to perform hardware upgrades [Ramesh 95].

Index Categories

This technology is classified under the following categories. Select a category for a list of related topics.

Name of technology

Requirements Tracing

Application category

Requirements Tracing (AP.1.2.3)

Quality measures category

Completeness (QM.1.3.1)
Consistency (QM.1.3.2)
Traceability (QM.1.3.3)
Effectiveness (QM.1.1)
Reusability (QM.4.4)
Understandability (QM.3.2)
Maintainability (QM.3.1)

Computing reviews category

Software Engineering Tools and Techniques (D.2.2)
Software Engineering Requirements/ Specifications (D.2.1)

References and Information Sources

[Bailin 90] Bailin, S., et al. "KAPTUR: Knowledge Acquisition for Preservation of Tradeoffs and Underlying Rationale," 95-104. Proceedings of the 5th Annual Knowledge-Based Software Assistant Conference. Liverpool, NY, September 24-28, 1990. Rome, NY: Rome Air Development Center, 1990.
[Gotel 95] Gotel, Orlena. Contribution Structures for Requirements Traceability. London, England: Imperial College, Department of Computing, 1995.
[Ramesh 92] Ramesh, Balasubramaniam & Dhar, Vasant. "Supporting Systems Development by Capturing Deliberations During Requirements Engineering." IEEE Transactions on Software Engineering 18, 6 (June 1992): 498-510.
[Ramesh 95] Ramesh, Bala; Stubbs, Lt Curtis; & Edwards, Michael. "Lessons Learned from Implementing Requirements Traceability." Crosstalk, Journal of Defense Software Engineering 8, 4 (April 1995): 11-15.
[Shum 94] Shum, Buckingham Simon & Hammond, Nick. "Argumentation-Based Design Rationale: What Use at What Cost?" International Journal of Human-Computer Studies 40, 4 (April 1994): 603-652.
[SPS 94] Analysis of Automated Requirements Management Capabilities. Melbourne, FL: Software Productivity Solutions, 1994.
[STSC 98] Software Technology Support Center. Requirements Management Tools [online]. Available WWW
<URL:http://www.stsc.hill.af.mil/RED/LIST.HTML> (1998).

Current Author/Maintainer

Liz Kean, Air Force Rome Laboratory

External Reviewers

Brian Gallagher, SEI

Modifications

4 Feb 98: added reference for [STSC 98]
10 Jan 97 (original)


The Software Engineering Institute (SEI) is a federally funded research and development center sponsored by the U.S. Department of Defense and operated by Carnegie Mellon University.

Copyright 2007 by Carnegie Mellon University
Terms of Use
URL: http://www.sei.cmu.edu/str/descriptions/reqtracing_body.html
Last Modified: 11 January 2007