Manage Linked Projects

ReqView Documentation / Manage

A Linked Project is a ReqView requirements project storing one or more documents linked to documents in another Linked Project. You can use Linked Projects if you need to reduce number of documents per project, reuse requirements across project, and control version of requirements independently.

Example: Describe stakeholder-level documents in the Linked Projects CUST and system-level documents in the Linked Projects SYS.

Connect linked projects CUST storing stakeholder specification and SYS storing system specification in ReqView
  • CUST – the Linked Project storing stakeholder-level documents for the developed product:

    • StRS – the Stakeholder Requirements Specification document describing customer requirements
  • SYS – the Linked Project storing system-level documents for the developed system:

    • SyRS – the System Requirements Specification document describing system requirements derived from stakeholder requirements
    • SyTP – the System Test Plan document describing system tests
  • Traceability

    • Satisfies – traceability links leading from a system requirement in the document SYS/SyRS to its parent stakeholder requirement in the document CUST/StRS

Organize Linked Projects

Documentation Breakdown

Requirements for complex systems are typically managed using the V-model with several levels of abstractions, which results in a large number of documents.

Consider a system consisting of 10 software and hardware subsystems. A single ReqView project describing needs, requirements, interfaces, tests, and risks for the system and each subsystem would have more than 55 documents. Such amount of information can be difficult for one person to manage. Usually, each user working on development of a single subsystem needs to focus on a small set of requirements documents related to the subsystem and its parent system requirements.

Example: To solve the problem described above, separate requirements documents into Linked Projects SYS, SUBSYS1, SUBSYS2, etc.

Organize requirements documentation in Linked Projects for a system containing 10 subsystems in ReqView

The main benefit of this approach is that users working on a subsystem are not distracted by documents related to other subsystems. They can open the Linked Project dedicated to the their subsystem to update its requirements as well as browse the Linked Project SYS to understand the parent system requirements.

Linked Project Groups

You can group Linked Projects by V-model levels or use another grouping strategy according to your needs. To set the Linked Project level and group for the current project, click Project and select Project Properties.

Set Linked Projects level and group name in ReqView

In the Linked Project Group section of the Project Properties dialog, set the following properties:

  • Level (optional) — the level of the project in the V-model. For example, select level 2 for systems and level 3 for subsystems.
  • Group name (optional) — name of the project group within a V-model level. For example, enter “HW”, “SW”, “Mechanical”, “Electrical”, etc., for subsystems at level 2.

You can also store Linked Projects in separate directories in your local workspace according their level and group name.

Example: Organize Linked Projects using the V-model with 4 levels describing:

  • Level 0 – organizational requirements,
  • Level 1 – customer specific requirements,
  • Level 2 – system requirements for developed products,
  • Level 3 – subsystem requirements for developed systems.

Linked Projects Tree:

Organize Linked Projects for the V-model with 4 levels in ReqView

Local Workspace:

/0-OrganizationORG1-CustomersCUST1CUST22-SystemsSYS1SYS23-SubsystemsSUBSYS1.1...SUBSYS2.1...

Requirements Reusability

You may need to reuse requirements and related information in different projects, for instance:

  • Organization level documents storing strategic needs and requirements common for all projects within your company
  • Stakeholder level documents imported from industry standards
  • Systems, subsystems reused in a product line
  • Lowest level system elements, such as SW frameworks or libraries

To avoid duplication, you can extract shared requirements into a Linked Project and link them with other Linked Projects.

Example: Reuse industry standards across the SYS1 and SYS2 systems by storing the standards in the STANDARDS Linked Project. Then link the system requirements in SYS1 and SYS2 to their parent requirements in STANDARDS.

Organize requirements documentation in Linked Projects to reuse requirements imported from industry standards in ReqView

Example: Reuse a subsystem across the SYS1 and SYS2 systems by storing its documents in the SUBSYS_S1 Linked Project. Then link the subsystem requirements in SUBSYS_S1 to their parent system requirements in SYS1 and SYS2.

Organize requirements documentation in Linked Projects to reuse subsystem requirements in ReqView

Version Control

Most systems are developed iteratively. At the end of each iteration, the current set of system-level requirements is reviewed and saved as a new version, or baseline. Then, teams responsible for different subsystems are independently deriving and updating downstream requirements for HW/SW subsystems and system elements to reflect changes in the upstream system requirements. Finally, downstream requirements for each subsystem are reviewed and saved as a new version.

By storing subsystem requirements as separate Linked Projects in Git or Subversion (SVN) version control system, you can develop and manage versions of each subsystem independently and connect downstream requirements to a specific baseline of the corresponding upstream requirements.

For more information on how to organize Git and SVN repositories see Git Administration or SVN Administration respectively.

Connect Linked Projects

If you need to create links between projects, you need to connect them first.

To connect two projects, open the Project Folder or Project File storing the first project in your local workspace. Then, click Project, mouseover Linked Projects, and select Connect Folder or Connect File respectively. Select the Project Folder or Project File storing the second project in your local workspace. Finally, confirm the Connect Linked Project dialog displaying information about the second project.

Now, you can create traceability links from the first project to the second project, see Create Links Between Projects. However, these traceability links are visible in the first project only. If you need to navigate traceability traceability links in both directions, open the second project and connect it to the first project similarly.

Example: Open the Linked Project SUBSYS2.1 from the example in Linked Project Groups and connect it to the Linked Project SYS2:

Connect linked projects in ReqView

To disconnect a linked project from the current project, click the disconnected Linked Project in the Linked Projects pane, and select Disconnect from the menu.

Display Linked Projects

To display Linked Projects connected to the current in the Linked Projects pane, click View, mouseover Left Panes, and select Linked Projects Pane, or press CtrlAltO.

The Linked Projects pane displays the current project with icon and lists other Linked Projects grouped by their level and group name.

Example: Open the project SUBSYS1.1 from the example in Linked Project Groups and display the Linked Projects pane:

Display Linked Projects in ReqView

To expand or collapse a group of Linked Projects, double click on the group in the Linked Projects pane.

Load Linked Projects

After a project is opened, Linked Projects are displayed with icon , which indicates that their data are not loaded. You need to load a Linked Project from the Project Folder or File to display its documents and outgoing traceability links leading to other projects.

To load a Linked Project, double click on the project in the Linked Projects pane or right-click on the project in the pane and select Load.

When a Linked Project is loaded, the Linked Projects pane displays it with icon and lists its documents. To open a document from a Linked Project, click on the document in Linked Projects pane.

Example: Open the project SUBSYS1.1 from the example in Linked Project Groups, display the Linked Projects pane, load the Linked Project SYS1 and display the content of its document SYS1/SyRS:

Load Linked Project to display its documents in ReqView

You can unload an unused Linked Project to reduce memory usage or to hide all traceability links that lead from this project. The loaded/unloaded state of Linked Projects is automatically recovered after the application is restarted until the project is closed. To unload a Linked Project, double click on the project in the Linked Projects pane or right-click on the project in the pane and select Unload.

To load or unload all linked projects, click or in the toolbar of the Linked Projects pane respectively. To load or unload all linked projects in a group, right-click on the group in the Linked Projects pane and select Load All or Unload All respectively.

Explore Linked Projects

After a project is opened, only Linked Projects directly connected to the current project are displayed. This allows to focus on related upstream and downstream projects. You may need to trace requirements also in indirectly connected Linked Projects upstream to answer question “Why?” or downstream to answer question “How?”.

To explore indirectly connected Linked Projects, click the icon in the toolbar of the Linked Projects pane, and select Explore Upstream or Explore Downstream respectively.

The algorithm explores connected projects in the given direction according to the Linked Project level. When exploring upstream, connected Linked Projects with the level value lower than the processed project are discovered. When exploring downstream, connected Linked Projects with the level value higher than the processed project or level undefined are shown. Linked Projects with undefined level are considered to have the maximum level and are also discovered when exploring downstream.

Example: Open the project SUBSYS1.1 from the example in Linked Project Groups, display the Linked Projects pane, and explore all indirectly connected Linked Projects upstream:

Explore Linked Projects upstream in ReqView

To hide indirectly connected Linked Projects, click the icon in the toolbar of the Linked Projects pane, and select Hide Indirect Projects.

You can create traceability links from the current project to a loaded Linked Project using a link type defined in the current project. Traceability links are persisted in the current project, which is the link source.

To create, view, navigate, edit, and delete traceability links between Linked Projects follow the instructions in Requirements Traceability Links.

Note: We strongly recommend that you create traceability links between Linked Projects upstream, for instance, from derived subsystem requirements to their parent system requirements.

Example: Open the project SUBSYS1.1 from the example in Linked Project Groups, display the Linked Projects pane, load the Linked Project SYS1, open the document SYS1/SyRS, and create link from the requirement SRS-32 for the subsystem SUBSYS1.1 to its parent requirement SyRS-33 for the system SYS1:

Display traceability links between projects in ReqView

The Links column or pane displays links from or to Linked Projects using the full ID, including the project ID, document ID and object ID, for instance, “SYS1/SyRS-33”.

Note: Links are not displayed in the following cases:

  • The warning message “Links to unloaded projects” is displayed instead of outgoing links until the destination Linked Project is loaded. To display these links, right-click the warning message and select the destination Linked Project.

  • The warning message “Links to unexplored projects” is displayed instead of outgoing links until the destination Linked Project is explored and loaded in the Linked Projects pane.

  • Incoming traceability links from hidden or unloaded Linked Projects are not displayed until the source Linked Project is explored and loaded in the Linked Projects pane.

Edit Linked Projects

Linked Projects and their documents are open read-only. To edit a Linked Project in a another application window, right-click the project in Linked Projects pane and then select Edit.

To refresh all loaded Linked Projects from the file system, Git or SVN repository, click Project, mouseover Linked Projects, and select Refresh All Projects. Alternatively, click in the toolbar of the Linked Projects pane, or press CtrlShiftR.

Split Existing Projects

You can move selected documents from the current project into its connected Linked Project. We recommend moving documents from upper to lower levels. The main reason is that outgoing links leading from a moved document are redirected automatically. If a moved document has incoming links from a linked project, the links cannot be redirected because the linked project is read-only.

To move documents from the current project, click Project, mouseover Maintenance, and select Move Documents. In the Move Documents dialog, choose documents to move, an existing target Linked Project, or enter the ID of a new target project.

Example: Split the Example Project DEMO into new Linked Projects: STAKEHOLDERS and SW-APP. Move documents in two steps from upper to lower levels as recommended:

Split the project from top to bottom.
  1. Move the top-level document NEEDS (stakeholder requirements) from the project DEMO into the Linked Project STAKEHOLDERS. The new project will have no outgoing links to other projects. Links from the DEMO project will be redirected to document STAKEHOLDERS/NEEDS automatically.
  2. Move the lower-level documents SRS (software requirements), TESTS (software tests), and ARCH (software design) from the project DEMO into the Linked Project SW-APP.

Example: Split the Example System Project with 3 traceability levels to new projects STAKEHOLDERS, SYSTEM, RISKS, SW1, SW2, …, SWn. Move documents from top to bottom levels as recommended.

  1. Move top-level documents (stakeholder requirements and validation tests) into a new linked project STAKEHOLDERS. The new project will have no outgoing links to other projects.
  2. Move risks-related documents (FMEAs) into a new linked project RISKS. The new project will have no outgoing links to other projects.
  3. Move 2nd level documents (system requirements and verification tests) into a new linked project SYSTEM. The new project will have outgoing links to linked projects STAKEHOLDERS and RISKS.
  4. For each reusable software module, move 3rd level documents (software requirements and verification tests) into a new linked project SWx. The new project will have outgoing links to linked project SYSTEM.

If you move a document linked from an existing Linked Project, then you need to redirect dangling links manually. To redirect dangling links, open the Linked Project containing source document objects of the links, click Project, mouseover Maintenance, and select Bulk Redirect Links. In the Bulk Redirect Links dialog, select the current target project and document(s) and enter the new target.

Example: Split the Example Project project DEMO into new projects, STAKEHOLDERS and SW-APP. Move documents from bottom to up levels, despite the recommendation explained in the previous section.

  1. Move lower-level documents SRS (software requirements), TESTS (software tests), and ARCH (software design) from the project DEMO into the Linked Project SW-APP. The new project will have outgoing links to the document DEMO/NEEDS.
  2. Move the top-level document NEEDS (stakeholder requirements) from the project DEMO into the Linked Project STAKEHOLDERS. Outgoing links from the Linked Project SW-APP pointing to the moved document DEMO/NEEDS will become dangling.
  3. To redirect dangling links, open project SW-APP in a new window, open the Bulk Redirect Links dialog, and choose DEMO/NEEDS as the current target and STAKEHOLDERS/NEEDS as the new target.
Split the project from bottom.
Updated for version 2.22.3