Рекомендация: Traceability
Traceability is a term used to describe the establishment and maintenance of relationships between artifacts such as a requirement and a design class or a requirement and a test case, so that one can analyze the completeness of work done and assess the impact of changes.
Взаимосвязи
Основное описание

Introduction

Traceability needs to be implemented throughout any development. This must include vertical traceability, between levels of abstraction (for example, from a system requirement to one or more stakeholder requirements) and horizontal traceability (for example from a test case to a system requirement).

Uses of Traceability

Traceability information is fundamental to impact analysis, particularly in assessing the impact of a proposed change.

It is also fundamental to coverage analysis, both in the sense of ensuring that all relevant items at one level of specification or development are adequately reflected at the next level, and also to assist in assessing test coverage.

For completeness, each requirement stated at one level of abstraction, must satisfy one or more requirements at the next higher level. Similarly, each requirement must be verified by at least one test.

Development Traceability

The following are some examples in this domain:

  • Stakeholder Requirements--Trace->Use Case: shows that Stakeholder Requirements are derived from a Use Case (and the Vision).
  • System Requirements--Trace->Use Case: shows that System Requirements are derived from a Use Case (and the Stakeholder Requirements). Each use cases groups a set of system requirements that support the capability described by the use case.
  • Subsystem Requirements--Trace->System Architecture Model: shows that Subsystem Requirements are derived from the System Architecture Model (and the System Requirements).
  • Trade Study--Trace-> (Executable) Use-Case Model: shows that the Trade Study needs to consider elements of the (Executable) Use-Case Model in assessing solution candidates. In particular, the key system functions identified in the trade study are related to the system functions (action nodes on activity diagrams and operations on use-case blocks) in the (Executable) Use-Case Model.
  • System Architecture Model--Trace->Trade Study: shows that the contents of the System Architecture Model represent the successful solution candidates as determined by the Trade Study. In particular, the subsystems (system blocks) in the System Architecture Model are related to the winning solution candidates in the Trade Study.

Note, in some cases it is possible to reduce the amount of traceability information to manage by tracing only "higher-level" requirements. However, the cost of doing this is that the granularity of trace information does not permit detailed analysis and can become almost meaningless if taken over more than one level of requirement (for example, sub-system requirement -> system requirement -> stakeholder requirement).

Test Traceability

It is also necessary to be able to trace between test information and requirements.

Both Stakeholder and System Requirements link to Test Cases that reside in the Verification Plan. They may, indeed, share the same Test Cases. The relationships between Test Cases and the Use-Case Model and individual Use Cases reflect the fact that it is frequently valuable to test against high level scenarios and the structure of a Test Case may be informed by the structure of a Use Case.  

Work Item List Traceability

Work Items may also establish traceability between process tasks and artifacts to support tracking of work, support workflows and to provide auditability. For example, an work item references a use case and specifies that some work needs to be done on this use case. One or more changes sets will implement the work item and maintain traceability to the artifacts that are changed as a result of the work preformed. With appropriate tools this traceability can be completely automated.