1.3 Traceability between Requirements
Traceability is a technique that provides a relationship between different levels of requirements in the system. This technique helps you determine the origin of any requirement. Figure 1.1 illustrates how requirements are traced from the top level down. Every need usually maps to some features. Generally, it is a many-to-many relationship because one need can trace to many features, but one feature may be derived from many needs. One need mapping to one feature is also a common case. The features map to use cases in a many-to-many relationship. The features also map to supplementary requirements in a many-to-many relationship.
Every use case maps to one or more scenarios, so a one-to-many relationship exists between use cases and scenarios. Scenarios map to test cases in a one-to-many relationship.
Traceability plays several important roles:
- Verifying that an implementation fulfills all requirements: Everything that the customer requested was implemented.
- Verifying that the application does only what was requested: Don’t implement something that the customer never asked for.
- Impact analysis: What elements will be affected when we consider adding a new requirement or changing an existing one?
- Helping with change management: When some requirements change, we want to know which test cases should be redone to test this change.
A traceability item is a project element that needs to be traced from another element. In terms of RequisitePro, it’s everything that is represented by an instance of the requirement type. Some examples of requirement types in RequisitePro are stakeholder needs, features, use cases, actors, and glossary terms. RequisitePro has a convenient way of showing traceability in special views.