Requirements Traceability Links

Detailed and consistent requirements traceability is essential for understanding the impact of proposed changes to high-level requirements before the changes are propagated downstream. It is also required to ensure compliance with several Automotive, Aerospace, Defense, and Medical industry standards.

Requirements traceability links represent relationship between requirements and other project artifacts. Consistent traceability in the project allows tracking these relationships to understand information from the related objects, for example if the test verifying a requirement passed or failed.

Directed traceability links can be created between objects from the same document or between objects from different documents in the same project. To make traceability analysis easier, traceability links are usually organized into custom link types, for example verification or satisfaction types as shown in the diagram below:

V-model of System and SW Development with requirements, tests, traceability links

For instance, if you link requirements and tests using verification links then you can quickly determine which tests need to be updated after a requirement is changed because all related tests can be easily listed.

To display traceability links, show the Links column in the requirements table or the Links right pane:

Requirement traceability links in Links column

Links are sorted by document object ID, by default. To sort links by document section order, click Edit, select Preferences, and select Sort links. To display additional links, select:

  • Show parent link — display the object’s parent section in the document structure
  • Show origin and inherited links — display link from a copied object to its origin and all links inherited from the origin

Preview Linked Objects

To preview full text description, custom attributes and links of a linked requirement in a popup, mouseover a link displayed in the Links column, in a custom traceability column, or in the Links pane:

Preview popup displaying information about the linked SRS requirement

Browse Traceability

To navigate to a linked object, simply click on the link. You can also right-click on the link in the Links column or in the Links pane and choose Go To or View in New Window action from the context menu. See also Work in Multiple Windows.

Links context menu

Customize Traceability View

You can customize a document table view by Template Columns displaying custom traceability information. For example, open the Demo Project, switch to the NEEDS document with top level user stories, and show Downstream Traceability column displaying coverage of user stories by linked SRS requirements and the corresponding TESTS:

Template Column displaying downstream traceability coverage

To create a link, select one or more objects and mark them as the start of newly created traceability links.

Follow the steps:

  1. Click Edit and select Start Link, or press CtrlL.

  2. Select one or more target objects choosing Edit and select Place Link, or press CtrlShiftL.

    Tip: You can mark mark source and target objects in different project windows.

  3. In the Create Links dialog, select a link type and review the traceability links between all source and target object pairs to be created:

    Create requirements traceability links dialog with link type dropdown

Repeat the selection of the source or target objects multiple times as required to create more links with the same set of source, or target objects.

Tip: You can also create new links by first marking the target objects and then the source objects.

At any time, you can cancel placing a link by clicking Edit and selecting Cancel, or pressing Esc. This will remove all link source and link target flags for current source and target objects.

To edit or delete an existing link, right-click on the link in the Links column or the Links right pane and choose Reverse Link Direction, Change Link Type, or Delete Link action from the context menu:

Change link type context menu

Note: If the linked objects are in a read-only document, then the edit or delete command fails with an error message.

When you copy an object with existing links, you can choose whether to ignore, duplicate, or inherit traceability links from the copied origin to its new copy. For more information, see Copy and Paste Objects.

If an object is only copied with Copy Links, the copy stores duplicated links. Any change in the links of the original object will not affect the corresponding link of the copy.

If an object is copied with Link to Origin, only a single origin reference is created with the copy and its origin, you can display a link for each copy to its origin and the inherited links from the origin. Click Edit, select Preferences, and select Show origin and inherited links. All changes to the original object links are propagated to the displayed inherited links for the copy. The inherited links from the origin are navigable, but not editable in the copied object.

Example Scenario:

Creating an origin reference from a copy to its origin is useful if you want to copy all system requirements from a SRD (System Requirements Document) into a CRD (Customer Requirements Document) to manage separate documents for the SRD and a CRD for each customer.

  1. Let's assume you have SRD document with two system requirements SRD-1 and SRD-2 which we want to copy to a new CRD:

    System requirements document with Links column
  2. In the CRD, select the section where you want to place the copied system requirements. Press CtrlV to open the Paste menu and select the Link to Origin option.

    As a result, two new objects CRD1-2 and CRD1-3 are created and linked to the original SRD object. In the Links column, you can see the Origin link together with all inherited traceability links from the original SRD object:

    Customer requirements document with inherited traceability links
  3. Link SRD-1 to a new object SRD-5, and SRD-6 to a new object SRD-2:

    SRD with new traceability links
  4. You can also see the corresponding inherited links for the new links in SRD in the copied CRD objects:

    CRD with new inhterited links

Set up Project Traceability

To configure custom traceability link types, click Project and select Project Traceability:

Project Traceability dialog to customize traceability links with syntax example

The Project Traceability dialog is open as read-only if you edit a shared Project Folder (see Team Collaboration > Shared Drive). You can edit the traceability configuration, after you press Edit in the dialog and no other user is editing the project at the same time.

For each link type you can have a name, source and target role names for presentation of the relation in the UI. See the following JSON format:

<linkTypeId>: {
"name": <string>,
"source": <string>,
"target": <string>
  • linkTypeId — is a unique link type identifier
  • name — a link type name
  • source — a short text describing the role of the link source
  • target — a short text describing the role of the link target
  • Verification Links — lead from tests to verified requirements:

    "verification": {
    "name": "Verification",
    "source": "Verifies",
    "target": "Is verified by"
  • Satisfaction Links — lead from low-level requirements (e.g. system requirements) to high-level requirements (e.g. stakeholder requirements):

    "satisfaction": {
    "name": "Satisfaction",
    "source": "Satisfies",
    "target": "Is satisfied by"

A common requirements management challenge is tracking changes in linked objects. You can propagate changes of high-level objects to the downstream linked objects by maintaining suspect flag for traceability links. Any change in a user need (target of the links) sets the suspect flag for all satisfaction links to SRS requirements (start of the links). The suspect flags notify the author of the SRS document that he should update the linked SRS objects. Then he can clear the link suspect flags to be notified about the future changes.

Sample Scenario

Let's assume that our project stores high-level user needs in a NEEDS document, requirements specification in a SRS document, and that SRS requirements are linked by satisfaction links to the corresponding high-level NEEDS. As a result, how can the author of the SRS document track changes in the NEEDS document to keep the SRS document updated?

  1. In the Project Traceability dialog configure link type the suspect attributes for which you want to track changes in the link target object. For instance, for satisfaction links, track suspect links only in a text attribute which usually contains a full requirement description; in heading attribute storing the header text and in deleted attribute marking objects as deleted:

    "satisfaction": {
    "name": "Satisfaction",
    "source": "Satisfies",
    "target": "Is satisfied by",
    "suspect": ["heading", "text", "deleted"]

    Note: The suspect property must be an array of tracked attributes, permitted values are heading, text, deleted, attachments and custom attribute IDs.

  2. If you change a NEEDS object then the application will show the Links column or Links right pane for each satisfaction link icon which denotes that the link is suspect.

  3. Review SRS requirements linked to the changed upstream user needs (in heading, text or deleted attribute) by following links with suspect flag icon :

    Suspect flag icon in the Links column
  4. To clear a suspect link flag, right-click and click Clear Suspect Link Flag from the context menu:

    Clear Suspect Link Flag contex menu
  5. The suspect link flag icon for the cleared link will disappear. It will show again after you change the link target object again.

  6. You can select more reviewed SRS objects and clear the suspect flags of all outgoing links. Click Edit and select Clear Suspect Flag, or press CtrlJ.

Note: Because the application evaluates suspect link flags from the history of link target objects you should check Save History option when saving your project, see Requirements Project > Save Project documentation section.

Traceability Reports

A requirement Traceability Matrix is a table view which helps you understand project traceability. For instance, a traceability matrix with all requirements (rows) covered by test cases (columns) proves that no functionality was missed during testing.

However, traceability Matrices have several disadvantages making them difficult to use:

  • Reviewing a large traceability matrix is inconvenient and error prone
  • Multiple traceability matrices need to be browsed to analyze traceability over multiple traceability levels
  • A traceability matrix cannot clearly display additional information such as requirement or test status

You can generate a custom Requirements Traceability Report which has the following advantages compared to Traceability Matrices:

  • Review the requirements document structure together with traceability information which is presented in a traceability column next to requirement description
  • Visualize requirements traceability across multiple levels in a tree
  • Customize the report layout using HTML templates
  • Customize report visual style using CSS
  • Display additional information presenting selected attributes of the linked objects
  • Browse traceability by clicking on URL links

The following picture shows an example of a top-down Traceability Report displaying highest-level business needs (NEEDS) satisfied by detailed functional requirements (SRS) verified by test cases (TESTS):

Requirement Traceability Report: requirements, traceability information, and test statuses

From this report you can easily see which functionality has missing tests and which functionality has been verified by tests with Passed status.

Similarly, you can create an inverse bottom-up Traceability Report to see coverage of test cases by high-level requirements revealing implemented functionality which was not possibly requested by a customer.

Generate a traceability reports from an HTML template customized for the specific layout and traceability configuration. For more information about creating custom HTML reports, see Export using Custom Templates > Traceability Report.

You can download full example traceability report templates from the ReqView Support Site (login required).

  Download PDF

Updated for version 2.11.0