Requirements Projects

Project Structure

Documents

ReqView projects are organized into one or more documents grouping the same type of project artifacts. For example, high-level stakeholder requirements, system requirements, software requirements, tests, or risk registers.

Each project in your organization should have a unique ID (for example “ReqView”). Also, all documents within a project should have a unique ID (for example “SRS” or “TESTS”).

Document Objects

A document consists of document objects organized into a tree hierarchy with numbered sections, similarly as in a Word document. Document objects are identified by an automatically generated unique ID and consist of a section heading, a rich text description, and a discussion.

For each document, you can define additional custom attributes, thereby extending information about document objects. For example, for requirements you can define a status attribute allowing management of requirements lifecycle.

A traceability link represents a relationship between document objects stored in the same project. You can define several types of traceability links for a project. For example, “satisfaction” type for links from downstream requirements to the related upstream requirements, “verification” type for links from verification tests to the related requirements, and so forth. It is important to maintain the way of linking to ensure consistent traceability reports.

Examples

Example Software Project Structure

The following diagram illustrates the structure of a typical SW development project with two traceability levels:

SWDevelopmentProject.png

Level 1 Document:

  • STAKEHOLDER REQUIREMENTS — the highest-level user stories formulated using the “As a [type of user], I want [some goal] so that [some reason]” template

Level 2 Documents:

  • SW REQUIREMENTSSoftware Requirements Specification (SRS) containing detailed downstream software requirements that are derived from the user stories
  • VERIFICATION TESTS — test cases verifying specific elements of the SW

Traceability Links Types:

  • Satisfy — satisfaction links from SW requirements to stakeholder requirements (M:N)
  • Verify — verification links from verification tests to SW requirements (M:N)

Example System Project Structure

The following diagram illustrates the structure of a typical system development project with three traceability levels:

SystemDevelopmentProject.png

Level 1 Documents:

  • RISKS — project risks described using Failure Mode and Effects Analysis (FMEA)
  • STAKEHOLDER REQUIREMENTS — the highest-level stakeholder requirements specification
  • VALIDATION TESTS — description of system validation procedures and information about validation reports

Level 2 Documents:

  • SYSTEM REQUIREMENTS — detailed System Requirements Specification (SyRS)
  • VERIFICATION TESTS — description of system verification procedures and the related verification reports

Level 3 Documents:

  • SW REQUIREMENTSSoftware Requirements Specification (SRS) containing detailed downstream software requirements that are derived from the system requirements
  • VERIFICATION TESTS — description of software verification procedures and the related verification reports

Types of Traceability Links:

  • Mitigate — mitigation links from system requirements to the related failure modes (M:N)
  • Satisfy — satisfaction links from downstream requirements one level up to the original requirements from which they were derived (M:N)
  • Validate — validation links from validation procedures to stakeholder requirements (M:N)
  • Verify — verifications links from verification procedures to the related software system requirements (M:N)

Project Data Storage

Application Persistency

ReqView stores current project data in a persistent local application storage and automatically restores the project state after application restart. Note: No project data are sent to the Internet unless you explicitly upload your project to Google Drive.

File System

Save the current project on your local or network file system either as a Project File or a Project Folder. The project is saved in JSON format (see ReqView Open File Data Format), the advantage of which is that the data are human readable. You do not need to install any database server. The JSON files can be easily managed in a Version Control System (VCS), such as SVN, GIT, HG.

Project Files

A Project File stores all project data (configuration, document objects, attachments and traceability links) in a single file with .reqw extension so that you can easily send it by email or share it to the cloud.

You can optionally secure a Project File using industry strength AES 256 encryption and a password.

Project Folders

A Project Folder stores all project data in separate files. The folder contains a project.json file with configuration of project documents and traceability.

Each document is stored as a separate file in the document’s subfolder, and each attachment file is stored in the attachments subfolder. The following image shows a sample Project Folder structure on the file system:

ReqView Project Folder
|   project.json
|
+---attachments
|       SRS-326_0_ReqView File Data Format.pdf
|       SRS-40_0_Overview.png
|
\---documents
        NEEDS.json
        SRS.json
        TESTS.json

The advantage of Project Folders is that they keep the project documents and attachments separated on the file system to minimize editing conflicts if the project is managed by a VCS. They also enable basic team collaboration using Document Exclusive Edit Mode.

Open Projects

To open a Project File, click File and select Open File, or press CtrlO. Similarly, to open a Project Folder, click File and select Open Folder, or press CtrlShiftO.

Save Projects

While you are editing an open project, all your modifications are automatically saved to local application storage. To save an opened Project File or Project Folder on the file system, click File and select Save, or press CtrlS.

To specifically name and save the current project as a new Project File stored on your file system, click File and select Save As File…, or to save a new Project Folder click File and select Save As Folder…. In the Save Options dialog, you can choose a new project ID and select from several options:

  • Encrypt File — enables AES 256 encryption for the saved Project File; this option requires a custom password
  • Save View — stores the current view configuration for all documents with the project; for example, the state of visible columns in the Requirements Table
  • Save History — stores the history of all requirement changes with the project

You may prefer to disable Save History option if you manage the saved project in a version control system (such as SVN or GIT) that stores the history of changes externally.

Set up Projects

Create Projects

To create a new project, click Project and select Create Project…. In the Create Project dialog, choose a preferred type of the created project and enter a unique project ID:

NewProject.png

  • Blank — a project containing a single requirements specification document, which will be blank or you can select a predefined Document Template to set up the initial hierarchy of document sections and custom attributes definition
  • Software Requirements Specification — a SW project containing a Software Requirements Specification (SRS) document according to the ISO/IEC/IEEE 29148 standard
  • System Requirements Specification — a system project containing a Stakeholder Requirements Specification (StRS) and System Requirements Specification (SyRS) documents according to the ISO/IEC/IEEE 29148:2018 standard
  • Volere Requirements Specification — a SW project based on the Volere process
  • Clone Project — the project will contain the same content as the selected Project File or Project Template

For more information about predefined document templates see Requirements Document Templates.

After the new project is created, you can add more documents in the new project as described in the next section. You can also adjust configuration of traceability link types, see Traceability Links > Set up Project Traceability.

Note: To ensure project consistency, you cannot change project and document IDs in the application .

Create Documents

To create a new document, click Project and select Add Document…. In the New Document dialog, choose a preferred type of the document, enter a document ID unique in the project and a document name:

NewDocument.png

  • Blank — the document will be blank, without any custom attributes,
  • Predefined Template — the document will be created from a predefined Document Template, see Requirements Specification Templates,
  • Custom Template — the document will be created from a custom Document Template, see Document Templates.

After the new document is created, you can adjust the document structure or further customize document attributes, see Custom Attributes > Attributes Definition Editor.

Open and Close Documents

To open a document, open the Project left pane listing all documents (already open documents are shown in bold cursive) and click on the desired document ID. The open document is displayed as a new tab placed at the bottom of the requirements table. You can change order of document tabs by drag & drop.

To open all documents in the current project, click Project and select Open All Documents or click the Open All Documents button displayed in the center pane under the “No document is open.” message.

To close a document, click on the icon of the corresponding document tab or press CtrlW shortcut.

Delete Documents

To delete the current document, click Project and select Delete Document….

Note: All traceability links involving the deleted document are removed from the project.

Reorder Documents

To change the order of currently open documents, simply drag & drop the document tabs displayed under the requirements table.

To change the order of documents in a project persistently, click the button located in the Project pane toolbar and reorder documents in the Reorder Documents dialog.

Note: If your project was opened from a Project File, then the new order is saved when you save the Project File. However, if your project was opened from a Project Folder, then the new order is immediately saved into the Project Folder to minimize editing conflicts.

Traceability Configuration

For detailed information about configuring project traceability, see Traceability Links > Set up Project Traceability.

Document Templates

You can reuse the structure and custom attributes configuration of a document by saving the document as a Document Template file. Document Templates preserve the document hierarchy, section headings, text description of objects, and the value of custom attributes. However, Document Templates do not store object IDs, discussion, history, or any traceability links.

To save the current document as a Document Template file, click File, mouseover Save As Template, and select Current Document. Name the file and click OK. Then share the file on a network drive.

To create a new document from a Document Template file, click Project, select Add Document and choose Custom Template option in the New Document dialog.

Note: All document objects stored in Document Templates are assigned new IDs in the cloned document.

Tip: If you define a custom Document Template with an xhtml custom attribute with help flag set to true then you can provide for each document section detailed instructions, which the application displays in the Instructions pane, see Custom Attributes > Examples > Template Instructions for an example.

Project Templates

You can reuse the whole configuration of a project by saving the project as a Project Template. Project Templates store a collection of Document Templates and traceability links configuration.

To save the current project as a Project Template file, click File, mouseover Save As Template, and select Project. Name the file and click OK.

To create a new project from a Project Template file, click Project, select Create Project and choose Clone Project option in the Create Project dialog.

Demo Project

When you start ReqView the first time, the application starts a New User Tour and opens a sample Demo Project to help you get started with ReqView more easily.

DemoProject.png

The Demo Project consists of the following documents demonstrating different sets of custom attributes and different types of traceability links:

  • INF — introductory information
  • NEEDS — sample high-level stakeholder requirements described by user stories
  • RISKS — sample project risks register using FMEA
  • SRS — sample software requirements specification
  • TESTS — sample tests specification
  • ARCH — sample description of application architecture

To open the ReqView Demo project later, close your current project and click the Demo Project button displayed in the center pane under the “No project is loaded.” message.

Note: Even with the FREE plan you can edit the demo project without any limitation.

Updated for version 2.7.0