Integrate With Enterprise Architect

ReqView Documentation / Integrations

You can connect ReqView with Sparx Systems Enterprise Architect (EA) to benefit from an integrated Model-Based Systems Engineering (MBSE) solution.

  • With ReqView, you can manage stakeholder requirements, system requirements, low-level HW/SW requirements, risks, validation and verification (V&V) information. This data is organized into structured documents and linked, enabling easy review and tracing of related requirements.
  • With EA, you can follow an MBSE process to derive more detailed requirements, architecture and design using the SysML language.

Note: ReqView supports integration with EA version 17+ on Windows 10+.

Workflow

With ReqView and EA integration, you can follow this workflow:

Integrate ReqView requirements management and Enterprise Architect model-based systems engineering (MBSE) tools
  1. Capture Requirements: Capture, manage and trace requirements across the V-model in ReqView.
  2. Export Requirements: Export a baseline of requirements document from ReqView into an EA model to share them with the development team.
  3. Design Solution: Model requirements in EA to derive more detailed requirements, architecture, and design. Link EA model elements to related requirements in EA to preserve end-to-end requirements traceability across the whole development process.
  4. Import Design: Import the EA model or a part of it into a new ReqView document that includes diagrams, hierarchy of model elements, and links from EA model to exported requirements.
  5. Review Requirements & Design: Review requirements and design using a live traceability matrix view in ReqView. Export requirements and design documentation from ReqView to Word, Excel, HTML, PDF, CSV and other structured text file formats for external reviewers.

Set up EA Integration

Follow these steps to set up ReqView and EA integration:

  1. Enable EA integration in ReqView.
  2. Configure export of documents from ReqView to EA model.
  3. Configure import of EA model to ReqView documents.

Enable EA Integration

To enable EA integration in ReqView, click Edit, select Preferences, and tick Integrate with Enterprise Architect.

When EA integration is enabled, ReqView installs a ReqView EA Plugin for reading and updating EA models from ReqView. The plugin also provides the Specialize > Open in ReqView item in the context menu for EA model elements:

ReqView Enterprise Architect Add-In context menu

Note: The plugin requires .NET 8.0 Runtime. Download Windows x64 Installer if .NET 8.0 Runtime is not installed on your computer.

Configure Export to EA

To configure export of requirements from the current ReqView document to the EA, click File, select Enterprise Architect and then Configure Synchronization. In the Configure Synchronization With EA dialog, update the configuration in the JSON format:

Configuration of Enterprise Architect Synchronization in ReqView

Configuration Properties:

  • action – “export” string to export the document from ReqView to EA.
  • eaProjectPath – the path to the EA project file (e.g. “C:/path/to/EA-project.qea”).
  • eaPackage – the tree path to the target Model Package in the EA model for exporting requirements. The path is defined as an array of model tree nodes ordered from root to the target (["<model name>", "<...>", "<package name>"] (e.g., “["Model", "SRS"]”).
  • eaElementNotes – the source ReqView attribute or template column to set the EA element Notes (e.g., “text”).
  • eaStereotype – the mapping of ReqView object types to EA Stereotypes.
    • reqviewAttribute – the ReqView custom attribute describing the type of document objects (e.g., “type”).
    • mapping – JSON object describing how to set EA element stereotypes according to the type of ReqView document objects.
      • key – the stereotype of target EA model elements (e.g., “functionalRequirement” or “nonfunctionalRequirement”).
      • value – the type value of the ReqView custom attribute set in the configuration property reqviewAttribute (e.g., “FR” or “NFR”).
  • eaTaggedValues (optional) – JSON object describing how to set Tagged Values of EA model elements.
    • key – the name of a target EA tag (e.g., “reqview.verification”).
    • value – the source ReqView custom attribute (e.g. “verMethod”).
  • traceabilityMapping (optional) – JSON object describing how to map ReqView link types to stereotypes of EA Links.
    • key – the source ReqView link type ID (e.g. “satisfaction”).
    • value – the target EA link stereotype (e.g. “satisfy”).

Example: Open the Example Project and configure the EA integration to export functional and non-functional requirements from the document SRS to a corresponding package in your EA project.

  1. In EA, find the path of your project file. First, select File > Open Project… from the main menu. In the Manage Projects dialog, right-click on the project, choose Edit connection string, and finally copy the path to clipboard.

    EA Project Path
  2. In ReqView, configure the document SRS for export to EA.

    Open the document SRS and select File > Enterprise Architect > Configure Synchronization from the menu. In the Configure Synchronization With EA dialog, enter the following configuration:

    {
    "action": "export",
    "eaProjectPath": "D:/work/reqview/EAExample.qea",
    "eaPackage": [
    "Model",
    "SRS"
    ],
    "eaElementNotes": "text",
    "eaStereotype": {
    "mapping": {
    "functionalRequirement": "FR",
    "nonfunctionalRequirement": "NFR"
    },
    "reqviewAttribute": "type"
    },
    "eaTaggedValues": {
    "reqview.rationale": "rationale",
    "reqview.verification": "verMethod"
    },
    "traceabilityMapping": {
    "satisfaction": "satisfy",
    "verification": "verify"
    }
    }

    Set the configuration property eaProjectPath to the path of the target EA project (backslashes in the path must be doubled or replaced with forward slashes). Set the configuration property eaPackage to the path of the target package in the EA model:

    Note that:

    • The property eaStereotype.reqviewAttribute is set to “type” because ReqView document SRS defines the custom enumeration attribute type to describe the type of document objects, see also Customize Attributes.

      Export functional and non-functional requirements
    • The property eaStereotype.mapping is set to create EA model elements as follows:

      • Each ReqView document object with the attribute type equal to “FR” is exported to an EA model element with stereotype «functionalRequirement».
      • Each ReqView document object with the attribute type equal to “NFR” is exported to an EA model element with stereotype «nonfunctionalRequirement».
      • Other document objects are not exported.
    • The property traceabilityMapping is set to use EA link stereotypes «satisfy» and «verify» for satisfaction and verification ReqView links respectively. Only links of these mapped link types will be exported to EA.

Configure Import From EA

To configure import of design documentation from an EA model to the current ReqView document, click File, select Enterprise Architect and then Configure Synchronization.

Configuration Properties:

  • action – “import” string to import model elements from EA to ReqView.
  • eaProjectPath – the path to the EA project file (e.g. “C:/path/to/EA-project.qea”).
  • eaPackage – the tree path of the source EA Model Package. The path is defined as an array of model tree nodes ordered from root to the source (["<model name>", "<...>", "<package name>"] (e.g., “["Model", "ElectricalCircuit"]”).
  • eaTaggedValues (optional) – JSON array containing names of EA Tagged Values to be imported to ReqView.
  • traceabilityMapping (optional) – JSON object describing how to map ReqView link types to stereotypes of EA Links.
    • key – the source ReqView link type ID (e.g. “satisfaction”).
    • value – the target EA link stereotype (e.g. “satisfy”).

Example: Configure the EA integration to import the EA model package Model > ElectricalCircuit into a new ReqView document EC-DESIGN. For each EA model element, import also the value of EA tag memoTag and links with the stereotype «trace» leading from design to requirements.

  1. In EA, find the path to your project file as described in Step 1 of the Example provided in Section Configure Export to EA.

  2. In ReqView, create the document EC-DESIGN to store the imported EA model elements.

    Select Project > Add Document from the main menu and in the Add Document dialog, select “Blank” as the Template and enter “EC-DESIGN” as the Document ID.

  3. In ReqView, create a traceability link type implementation for imported EA links from design to requirements.

    Select Project > Project Traceability from the main menu and check if the project traceability contains a link type with Link Type ID set to “implementation”. If not, create this link type.

  4. In ReqView, configure the document EC-DESIGN for import from EA.

    Open the document EC-DESIGN and select File > Enterprise Architect > Configure Synchronization from the menu. In the Configure Synchronization With EA dialog, enter the following configuration:

    {
    "action": "import",
    "eaProjectPath": "D:/work/reqview/EAExample.qea",
    "eaPackage": [
    "Model",
    "ElectricalCircuit"
    ],
    "eaTaggedValues": [
    "memoTag"
    ],
    "traceabilityMapping": {
    "implementation": "trace"
    }
    }

    Set the configuration property eaProjectPath to the path of the source EA project (backslashes in the path must be doubled or replaced with forward slashes) and the configuration property eaPackage to the path of the source package in the EA model:

    Note that:

    • The property eaTaggedValues is set to an array containing the EA tag memoTag. Each EA model element is imported to a document object having the value of the attribute memoTag same as the tag.

    • The property traceabilityMapping is set to use implementation ReqView link type for EA links with the stereotype «trace» from design to requirements. Only EA links with this stereotype will be imported to ReqView.

Export to EA

To export requirements from ReqView to EA, open the source ReqView document configured as described in Configure Export to EA, click File, select Enterprise Architect, and then Synchronize Document.

The integration iterates the document and creates new EA model elements or updates the previously exported ones as follows:

  • Stereotype – property of target model element in EA is based on the type of source requirement in ReqView as defined by the configuration property eaStereotype (e.g., “functionalRequirement”).

  • Hierarchy – of target EA model elements preserves the parent-child relationship of source requirements in ReqView.

  • Notes – property of target model element in EA is set to the attribute text of the source requirement. Optionally, you can adjust the configuration property eaElementNotes to use a custom attribute or a template column instead.

    Detailed view of an EA model element  exported from a functional requirement in ReqView
  • Tags – of target model elements in EA are set as follows:

    • “reqview.id” and “reqview.guid” – the id and guid of the source requirement respectively.

    • “reqview.url” – the ReqView URL Link of the source requirement. ReqView will open and focus the requirement if you click on this link.

    • other tags are set as specified in the configuration property eaTaggedValues.

      For example, “reqview.rationale” and “reqview.verification” can be set to the rationale and verification method of the source requirement:

      List of tagged values of an EA model element exported from a functional requirement in ReqView
  • Links – between exported model elements have the stereotype specified in the configuration property traceabilityMapping.

    Links between EA model elements exported from ReqView

ReqView is the source of truth of this information in the exported EA model elements. EA users should not modify it because ReqView will overwrite it during the next export to EA. However, EA users can update other properties, tags and links for exported EA elements as needed to design a solution for requirements in EA.

ReqView automatically creates the following custom attributes in the source document to ensure bidirectional linkage after export to EA:

  • “GUID” (id: “eaGuid”, type: string) – is set to the GUID of the target EA model element.

  • “URL” (id: “eaUrl”, type: xhtml) – is set to the URL link of the target EA model element. ReqView will open EA and focus the model element if you click on this link.

  • “EA Links” (id: “eaLinks, type: xhtml) – is set to URL links of all linked EA elements.

Exported requirement in ReqView

You can repeat the export of requirements to EA for each updated version of the source document. ReqView will update EA model elements created earlier or create model elements for new requirements added since the last export. Requirements deleted (or purged) in ReqView will not be exported and will also be removed in EA.

Import From EA

To import a package from EA, open the target ReqView document configured as described in Configure Import From EA, click File, select Enterprise Architect, and then Synchronize Document.

The integration iterates the EA model and creates new ReqView objects or updates the previously imported ones as follows:

  • Hierarchy – of target document in ReqView preserves the tree hierarchy of the source EA package.

  • Heading and Text – of target document objects are set based on Name and Notes properties of source EA model elements.

  • Custom Attributes – of target document objects are set as follows:

    • “GUID” (id: “eaGuid”, type: string) – is set to the GUID of the source EA model element.
    • “Type” (id: “eaType”, type: enum) – is set to the type of the source EA model element (e.g., “Diagram”).
    • “Stereotype” (id: “eaStatus”, type: enum) – is set to the property Stereotype of the source EA model element (e.g., “block”).
    • “Status” (id: “eaStatus”, type: enum) – is set to the property Status of the source EA model element (e.g., “Proposed”).
    • “Author” (id: “eaAuthor”, type: string) – is set to the property Author of the source EA model element.
    • “Modified” (id: “eaModified”, type: string) – is set to the property Modified of the source EA model element.
    • “URL” (id: “eaUrl”, type: xhtml) – is set to the URL link of the source model element in EA. ReqView will open EA and focus the model element in the Browser pane if you click on this link.
    • “EA Links” (id: “eaLinks”, type: xhtml) – is set to URL links of all linked EA elements.

    Other custom attributes are set as specified in the configuration property eaTaggedValues.

  • Attachments — diagrams are imported from EA as SVG image attachments and are displayed in the Description column of the target document object in ReqView.

  • Links – to/from counterpart document objects corresponding to linked EA elements are displayed in the Links column. ReqView link type is specified in the configuration property traceabilityMapping.

EA is the source of truth of this information for source model elements. ReqView users should not modify the document because ReqView will overwrite it during the next import from EA.

ReqView automatically sets the following tags for source EA model elements to ensure bidirectional linkage after import from EA:

  • “reqview.id” and “reqview.guid” – the id and guid of the target document object in ReqView respectively.
  • “reqview.url” – the ReqView URL Link of the target document object. ReqView will open and focus the object if you click on this link.

You can repeat the import of the EA package for each updated version of the model. The process will replace the entire document contents with the new version of the model.

Note: All changes of the target document made manually by ReqView users (created objects, updated attributes or attachments, created links originated in that document, etc.) since the last import will be lost.

Example: Import design documentation from the EA package ReqView Model > ReqView Implementation to the document EA-ARCH in ReqView.

  • Source model element SW Package Diagram in EA:

    Detailed view of the source package diagram in EA
  • Imported package diagram in ReqView document EA-ARCH:

    Detailed view of the target SVG attachment containing the imported EA diagram in ReqView

Synchronize All

To synchronize the current ReqView project with EA, click File, select Enterprise Architect, and then Synchronize All.

Example Integration With EA

You can try ReqView integration with EA easily. We have configured the Example Project for:

  • NEEDS – export epics and user stories to the EA package ReqView Model > ReqView Requirements > Needs.
  • SRS – export functional and non-functional requirements to EA package ReqView Model > ReqView Requirements > SW Requirements.
  • EA-ARCH – import design documentation from the EA package ReqView Model > ReqView Implementation.

Follow these steps:

  1. Download Example ReqView Project (reqview-demo-ea.reqw) and Download Example EA Model (reqview-demo-ea.qea). Save both downloaded files into the same directory.
  2. Enable EA Integration.
  3. Open the downloaded file reqview-demo-ea.reqw in ReqView.
  4. Synchronize All to export ReqView documents NEEDS and SRS to EA and import the EA model to the ReqView document EA-ARCH.
Updated for version 2.21.0