Requirements Interchange Format
Requirements Interchange Format (ReqIF) is an open industry standard for exchanging requirement documents between requirements management (RM) tools. ReqIF is based on a generic XML file format and has several advantages compared to CSV files, which store tabular data in plain text:
- Structure: stores multiple structured documents in one file; each document is organized into a tree hierarchy of sections describing requirements, tests, risks, or other project artifacts
- Attributes: defines data types and attributes to transfer requirements descriptions and other important information
- Rich Text Format: preserves advanced text formatting (bold, italic font styles, bullet or numbered lists, normal or code paragraph styles, embedded tables, etc.)
- Attachments: stores images, PDFs, or other binary file attachments
- Relations: stores links between requirements and other project artifacts
Export ReqIF Package
You can export ReqView documents to a ReqIF file for sharing with third-party tools. To export a ReqIF file, click File, mouseover Export, and click ReqIF Package. In the Export ReqIF Options dialog, press OK and select the location of the output ReqIF package (.reqifz).
The exported ReqIF package (ReqIF version 1.2) will store the following information from the current ReqView project:
Documents: ReqView documents are exported as ReqIF specifications.
- ReqView document ID is stored in the
ReqIF.ForeignID string attribute.
- ReqView document name is stored in the
ReqIF.Description string attribute.
- Tree hierarchy of ReqView document sections is preserved.
Document Objects: ReqView document objects are exported as ReqIF specification objects with the type matching the original document.
- ReqView object IDs are stored in the
ReqIF.ForeignID string attribute.
- ReqView system attributes heading and text are stored in
ReqIF.ChapterName string attribute and
ReqIF.Text XHTML attribute.
- ReqView custom attributes are defined in the ReqIF specification object type. All custom attribute values are exported.
- Rich text format of
xhtml custom attributes is preserved.
- ReqView document objects marked as deleted are not exported.
Attachments: ReqView attachments are stored as separate files in the compressed .reqifz package. They are referenced from
<object> tags stored in
ReqIF.Text XHTML attributes.
Traceability Links: ReqView traceability links are exported as ReqIF specification relations between the corresponding specification objects.
Note: If you export a ReqView document imported from a ReqIF file then do not import the ReqIF file exported from ReqView back into the 3rd party tool storing the original requirements. We plan to introduce support synchronization of requirements between ReqView and a 3rd party RM tool later, see ReqIF Roundtrip Synchronization feature request in the RoadMap.
In the Export ReqIF Options dialog, select one or more additional export options:
- Export — select which documents should be exported: All documents, Open documents, or Current document.
- Disambiguate conflicting attribute names — some tools resolve conflicting attribute names (e.g., "Status") when importing a ReqIF file. For instance, IBM Engineering Requirements Management DOORS Next (DNG) adds " [DNG-Renamed-x]" suffix to conflicting attribute names for different ReqIF specification object types. Set this option to disambiguate attribute names by adding document IDs for better readability, e.g., "Status (NEEDS)" and "Status (SRS)".
Import to ReqIF Studio
ProR is an open-source tool that natively supports the ReqIF standard and supports very basic functionality for viewing and editing textual requirements. It is available for free as part of the Eclipse Requirements Modelling Framework (RMF). The last RMF version 0.11 was released in 2014, and the project is not further maintained.
ReqIF Studio is a free tool based on the Eclipse RMF with a few extensions. The last ReqIF Studio version 2.4.1 was released in 2018. You can download it from ReqIF.academy after a registration.
Follow these steps to import a ReqIF file into ReqIF Studio:
- Click File > Import menu and select ReqIFz Import Wizard in the ReqIF Studio.
- In the ReqIFz Import dialog, select a .reqifz file exported from ReqView and an existing target project. Alternatively, enter a name to create a new project. Click Finish to import the selected ReqIF file.
- Expand the target project in the Project Explorer pane and double click on the .reqif package to open it.
- In the Specifications section, double click on an imported ReqIF specification to see its content in a separate tab.
Example: Display the SRS (Software Requirements Specification) document imported from the ReqView Demo project in ReqIF Studio.
Import to DOORS
IBM Rational DOORS is a legacy requirements management tool, which has been used widely for the development of complex SW / HW products in the aerospace & defense, automotive, and railway industries. IBM Engineering Requirements Management DOORS Next (DNG) is a newer requirements management tool based on Jazz.net software & systems lifecycle platform.
How to import a ReqIF file into DNG:
- Open a target component in DNG.
- Click Artifacts, expand Create dropdown and select Import Artifact to open the Import wizard dialog.
- In the first step Import, select Import requirements from a ReqIF file option and click Next.
- In the second step Select Package File, click Browse and select a .reqifz file exported from ReqView, click Upload, and finally click Next.
- In the third step Specify Import Options, optionally select Import Tagging Options and click Next.
- In the fourth step Specify Attributes Options, optionally select imported attributes and click Finish.
- In the last step Importing Requirements, click Close.
- Click Modules tab and click on an imported module to see its content.
Example: Display the SRS (Software Requirements Specification) document imported from the ReqView Demo project in DNG.
Import to Capella
Capella is an open-source Model-Based System Engineering (MBSE) tool originally developed by Thales. It is available as part of the Eclipse PolarSys project now. It supports the popular Arcadia system and software architecture engineering method.
How to import a ReqIF file into Capella:
- Install the Requirements Viewpoint addon to Capella.
- Add the Requirements Viewpoint in your existing project:
- Click Window, mouseover Show View, and select Kitalpha > Viewpoint Manager to display Viewpoint Manager pane.
- Select a model element in the Project Explorer pane, right-click Capella Requirements, and select Reference from the context menu.
- Right-click a selected architecture element in the Project Explorer pane, click Requirements Viewpoint in the context menu, click Import from ReqIF.
- Unzip a .reqifz package exported from ReqView, and in the Open dialog select the unzipped .reqif file.
- In the Image importing options dialog check Choose an absolute path to image folder, click Browse to choose the folder containing the unzipped image attachments. Finally, click OK.
- Review and apply changes in the Model Update dialog. In the Synthesis pane, right-click selected imported elements, select Apply change(s) and confirm Merge Options. Finally, click OK.
- Click on an imported requirement in the Project Explorer and display its text description in the Properties pane.
Example: Display the SRS (Software Requirements Specification) document imported from the ReqView Demo project in Capella.