Import Requirements from DOORS via ReqIF

Requirements Interchange Format (ReqIF) is an open industry standard for exchanging requirement documents between RM tools. It is based on a generic XML format and supports synchronization of complete requirement documents with preserving requirements hierarchy and traceability, data types and attribute definitions, rich text formatting, embedded data objects (images) and access rights.

ReqView Synchronizer (Synchronizer) is a custom command line tool for importing a structured requirements specifications from IBM Rational DOORS Classic, DOORS Next Gen (DNG) or other RM tools using ReqIF format. It preserves the document structure, rich text format, definition of custom attributes and image attachments.

Note: We offer the Synchronizer as part of custom service packages for our existing customers. Please contact us to request a custom delivery of the Synchronizer.

Export ReqIF from DOORS

  1. Open chosen DOORS module to be reviewed offline.

  2. Define enumeration type ReqView_Status_Type containing following values 'Draft', 'Approved' and 'Rejected' by menu Edit / Types.

  3. Define following attributes with given types by menu Edit / Attributes:

    • ReqView_Status: ReqView_Status_Type
    • ReqView_Discussion: Text
    • ReqView_History: Text
  4. For all requirements set value of ReqView_Status attribute to a chosen default value.

  5. Create ReqIF export definition by selecting the project containing exported module and choosing its properties from File / Properties menu. Add the exported module and include ReqView_Status, ReqView_Discussion and ReqView_History attributes. It is good practice to lock these attributes for edit by DOORS users by means of access rights or by Lock attributes option in ReqIF definition. See DOORS help for more details.

  6. Export the module to a chosen ReqIF file by clicking Export button.

Export ReqIF from DNG

  1. Choose Manage Project Properties from right up Administration icon menu.

  2. In Attribute Data Types tab define new enumeration type ReqView_Status_Type containing following values 'Draft', 'Approved' and 'Rejected'.

  3. In Artifact Attributes tab define following ReqView attributes:

    • ReqView_ID: Integer (needs to be created manually at the moment because DNG does not include its internal ID in a human readable form in ReqIF export; IBM will hopefully solve this issue in a future DNG release)
    • ReqView_Status: ReqView_Status_Type
    • ReqView_Discussion: String
    • ReqView_History: String
  4. In Artifact Types tab add all new ReqView attributes created in the previous step to Requirement artifact type.

  5. Create a new view for the chosen module to be exported called ReqView_Export_View and add into it columns with all ReqView attributes.

  6. In ReqIF tab create a new ReqIF definition and include the chosen requirements module for export by clicking Add Artifact button, select ReqView_Export_View for export.

    ReqIF Manager window
  7. Export the ReqIF definition by clicking on Export from menu on the right of its name. Download the ReqIF file to a chosen location.

Import ReqIF into ReqView

Before opening a ReqIF document in ReqView you need to convert it to internal ReqView JSON data format by ReqView Synchronizer command line tool.

  1. Prepare configuration file for conversion of a DOORS ReqIF export into ReqView JSON data format. Following example shows configuration file for DOORS:

    "mapping" : [
    { "attribute": "doorsId", "external": "Absolute Number"},
    { "attribute": "heading", "external": "Object Heading"},
    { "attribute": "text", "external": "Object Text"},
    { "attribute": "discussion", "external": "ReqView_Discussion"},
    { "attribute": "history", "external": "ReqView_History"},
    { "attribute": "status", "external": "ReqView_Status"}

    Please note that the name of DOORS attributes in ReqIF might differ depending on DOORS version. For instance you might need to use following configuration file for DOORS 9.5:

    "mapping" : [
    { "attribute": "doorsId", "external": "ReqIF.ForeignID"},
    { "attribute": "heading", "external": "ReqIF.ChapterName"},
    { "attribute": "text", "external": "ReqIF.Text"},
    { "attribute": "discussion", "external": "ReqView_Discussion"},
    { "attribute": "history", "external": "ReqView_History"},
    { "attribute": "status", "external": "ReqView_Status"}
  2. Convert the ReqIF file into ReqView by running ReqView Synchronizer with following command line arguments:

    $ synchronizer.exe --import -i <file> -f reqif -o <file> -c <file>

    For example:

    $ synchronizer --import –i ReqViewUserNeeds.xml -f REQIF –o ReqViewUserNeeds.reqw –c config.json
  3. Open the output .reqw file in ReqView.

Updated for version 2.13.0