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. Use ReqView to manage and analyze traceability links between requirements and other project artifacts.

A requirements traceability link represents a relationship between two related objects in the project. After you setup consistent traceability in the project, track these relationships to see information from the related objects, for example the state of all tests linked to a requirement.

Create a directed traceability link between objects from the same document or between objects from different documents in the same project. Traceability links are usually organized into custom link types, for example verification or satisfaction types as shown in the diagram below:

VModel.png

Set up a traceability between requirements and tests using verification links to view all requirements related to a given test as verification links. After accepting a requirements change, you can quickly determine which tests need to be updated because all related tests can be listed for a changed requirement.

You display traceability links in the Links column of the Requirements Table or in the Links right pane:

ShowParentLinks.png

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

To display additional links, click Edit, select Preferences, and select Sort links by document section:

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

You can customize the table view by adding a Template Column displaying custom traceability information, for example, a Downstream Traceability column displaying coverage of each top level user story in NEEDS document of the ReqView Demo Project by linked SRS requirements and their TESTS:

TemplateColumnDownstreamTraceability.png

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.
  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:

    CreateLinkDialog.png

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.

Reverse an existing link, change its type, or delete it by right-clicking on an edited or deleted link in the Links column or right pane:

EditLinksMenu.png

Note: If the linked objects are from 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:

    InheritedLinks1CopySRD.png

  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:

    InheritedLinks2NewCRDs.png

  3. Link SRD-1 to a new object SRD-5, and SRD-6 to a new object SRD-2:

    InheritedLinks3NewLinkInSRD.png

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

    InheritedLinks3NewLinkInCRD.png

Set up Project Traceability

Configure custom link types in the current project in the Project Traceability dialog. Click Project and select Project Traceability**:

ProjectTraceabilityDialog.png

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>
}
}

JavaScript

  • 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

Define verification links from tests to verified requirements:

{
"verification": {
"name": "Verification",
"source": "Verifies",
"target": "Is verified by"
}
}

JSON

Define satisfaction links from low-level requirements to high-level requirements:

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

JSON

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"]
    }
    }

    JSON

  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  :

    SuspectLinkFlag.png

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

    ClearSuspectLinkFlag.png

  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.

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):

TraceabilityReport.png

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 Custom Export Templates / Traceability Report.

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

  Download PDF



Updated for version 2.6.0