Version Handling

This page describes two ways how multiple versions of requirements can be managed:

  1. Postfixing requirement IDs with the version.

  2. Separating requirements based on version.

Postfixing Requirement IDs

A version number can be appended to any requirement ID. For example, the requirement ID SRS_Req_Abc for version 1 could be represented as SRS_Req_Abc-v1. This approach ensures that each version of a requirement is uniquely identifiable.

When the requirement changes, a new version can be created in same requirements file, adjacent to the original requirement, e.g. SRS_Req_Abc-v2.

SRS_Req_Abc-v1:
  text: All software modules shall implement the security features.

SRS_Req_Abc-v2:
  text: All software modules shall implement the security features
        along with the safety measures.

If there is no change in a requirement, then creating new version for requirement can be skipped.

A single requirements file contains all versions of the requirement and can be used for reviews and other workflows.

To export a specific version of the requirements to a different location, a filter script can be applied. This script can select only the desired version of each requirement, remove the version postfixes, and export the filtered requirements.

Separating Requirements In Different Files

Whenever a requirement changes, a new requirements file can be created with the version specified in the filename.

E.g., if requirements in featureX.dim need to be changed, the file is copied to featureX_v2.dim and the changes are made in the new file.

This method will result in duplicate requirements across multiple requirements files. To manage these duplicates, all files can be loaded in a script, a filter applied and finally only specific versions of the requirements are selected.