An important aspect of requirements management is the ability to trace the relationships between requirements and other artifacts (including other requirements). The ability to track relationships supports the process of software development in the following aspects:
- Verity: Tracking the relationship between requirements and other artifacts allows you to verify whether the requirements have been implemented.
- Identification of gold-plated solutions in the system: Tracking of requirements connections allows identification of the so-called “Gold-plated” solutions in the created system, which identify unnecessary properties of the system being created.
- Identification of gold-plated solutions in requirements: Tracking requirements relationships allows identifying requirements that do not affect the implementation of stakeholder goals and are not related to any source.
- Impact on the analysis: Analysis of the relation of requirements allows for the analysis of the impact of changes in requirements. It allows you to identify artifacts that the change in the requirement will affect.
- Reuse: The ability to identify related artifacts with a given requirement, allows to identify artifacts that can be reused for another project in which the same or a similar requirement occurs.
- Computational capacity: After the implementation of the requirement, it is possible to trace the created artifacts associated with the given requirement and on this basis to calculate the labor-consuming implementation of this requirement.
- Management: The ability to track requirements relationships allows for more efficient management of the system being created. For example, if an error is detected, the identification of links between a given artifact and requirements and other artifacts allows you to pre-estimate the cost of removing the error.
When analyzing requirements association tracking, you can distinguish three basic types of associations:
- Pre-requirements-specification (pre-RS) linkages that relate to the relationship between requirements and artefacts that are the basis for the acquisition of requirements.
- The requirements specification (post-requirements-specification, post-RS), which relate to the relationship between requirements and artefacts generated during the development process.
- Links between requirements that model dependencies between individual requirements.
References in the text
The simplest method to ensure links between requirements and other artifacts is to use in the content the IDs of related artifacts or links to elements describing the artifact.
Matrices of connections
Arrays of connections allow for quick presentation of connections between selected requirements and selected artifacts. Matrices are created for specific types of associations. In the first column of the matrix, a group of source artifacts (eg requirements) is placed, and in the first row a group of target artifacts (eg other requirements, use cases). In the matrix at the intersections of columns and rows, those fields for which there is a relation between the artifacts represented by the column and the row are marked.
A trace chart is a graph whose elements represent artifacts, and the lines between these elements represent the links between these elements. Trace graphs include UML diagrams showing the relationships between its elements. Tracking requirements requires the CASE tool used. My favorite is of course Enterprise Architect. I wrote about how to track requirements in Enterprise Architect more than a year ago in the post: