Requality: User Guide

Working with projects

Creating Requality project

  1. To create a Requality project select 'File' → 'New' → 'Project...' from the main menu.

  2. In opened dialog window choose 'Requality' → 'Requality Project' and push 'Next' button.


    Selecting a new project type


  3. On the next page input project name and push 'Finish'.

The structure of Requality project is as follows:


Structure of the Requality project


Requality project settings

To open the Requality project settings, you need to call the context menu in the 'Requality Explorer' view on the Requality project and select the 'Properties' menu item. The project settings dialog will be opened. Then you need to select the Requality section or one of its subsections. After that, the corresponding settings will be accessible on the right side of the dialog.


Nodes appearance settings in the Requality project

To change the appearance settings of nodes in Requality project you need to:

  1. In the 'Requality Explorer' call the context menu on the project and select 'Properties' menu item. The project settings dialog will open.
  2. On the left side of this dialog you need to select a 'Requality' section, then Requality project nodes appearance settings will be displayed on the right side of the view.
Sorting settings

More information about the sorting modes is available at section Nodes sorting in Requality project.

Node path setting

Setting 'Full name mode' affects on the way the node-related path is formed in the context menu called at 'Requality Explorer' view on node: 'By Full Name' (See Full path to node (FullName)) or 'By User-Visible Name' (see UserVisibleId).

Node appearance setting for 'Requality Explorer'

The 'Show description on elements' check box affects the appearance of Requality project nodes in 'Requality Explorer' view.


Requality project settings view: sorting


After finishing editing the parameters, you need to push the 'Apply' button, and then the 'OK' button. The project properties will be saved, and the selected sorting method will be set for this project.


'Checker Rules' settings for Requality project

In Requality it is possible to set a custom checking rules ('Checker Rules') for nodes of requirements subtree which allow to check nodes properties for compliance with certain conditions. Attribute values, cross-node relations and hierarchy information can be used in such rules. Rules are written as Java-script expressions returning true or false. In the rule you can use a value of '_type' attribute that allows you to specify the nodes type to which it will be applied. When rules are set, all nodes of requirements subtree which are not meet the specified conditions are marked by error icon in 'Requality Explorer' view. The list of all detected problems can be viewed in 'Problems' view.

To change the 'Checker rules' you need to:

  1. Call the context menu in 'Requality Explorer' on project and select a 'Properties' point. The project settings dialog will open.
  2. On the left side of this dialog you need to extend the 'Requality' section and select 'Checker Rules'. After that the settings for the checker rules for selected Requality project will be displayed on the right side of dialog.


    Requality project settings dialog: Checker Rules


  3. Already existing rules for selected project are displayed in 'Rules' list.
  4. To create a new rule you need to press 'Add' button, to edit existing one - please select one of rules in 'Rules' list. Then the rule-related data will be shown in 'Rule settings' section: the name of rule is available in field 'Name', the JavaScript expression is shown in textarea 'Body'. When you create a new rule, its expression will be empty and name will be set automatically (but still can be changed manually).
  5. Rule name can be edited in 'Name' field.
  6. Then in 'Body' textarea you need to enter the rule-related Javascript expression (or edit existing one if one of old rules was selected).

    Rule-related JavaScript expression format.

    Rule-related expression is written in JavaScript according given rules:

  7. It is also possible to test the rule operation on specific nodes. To do this you need to specify a path to the node in 'Testing subject' field (by default it contains a path to root requirements node '/Requirements'). The result of rule execution will be displayed under the 'Rule settings' field in form of 'false' or 'true'.
  8. To save and apply the rule, press 'Apply' button.
  9. To delete an existing rule, select it in the 'Rules' list and press 'Remove' button. The rule will be removed from list.
  10. When you finish you work with settings you may need to Apply changes and close the dialog.

When you change checker rules for a project, all corresponding project nodes are checked for compliance with the defined rules. If some node violates a rule then it will be decorated in 'Requality Explorer' by error icon (small red square with cross over the node icon). Full list of such nodes and related rules violations can be found in the 'Problems' view, that can be openned from the main menu ('File → Window → Show view → Other → General → Problems').


The 'Problems' window after applying the validation rule


Some examples of Checker Rules:


Setting up mandatory attributes for Requality project

In the Requality project settings you can define a mandatory attributes. Those are attributes that must be present in each node of selected type all over a project. You can specify an attribute name, its type and value and select for which node type it will be assigned (at the moment, this function is implemented only for requirements and text nodes). Attributes will be applied for all nodes of seleted type with specified attribute names, types and values except the case when the attribute with the same name already exists. In the project settings it is also possible to remove already defined mandatory attribute (In this case all already created attributes will not be removed and still remain).


Mandatory attributes are assigned, edited and deleted according to the following rules:


To define (create) an mandatory attribute you need to:

  1. In 'Requality Explorer' call context menu on the project and select the 'Properties' menu item. The project settings dialog will open.

  2. On the left side of the dialog expand a 'Requality' point and select a 'Mandatory Attributes', then the mandatory attributes settings panel will be displayed on the right side for the selected Requality project.

  3. In the 'Node type' you need to select a node type ('Requirement' or 'Text node') for which you want to add a mandatory attribute.

  4. Then you need to define a name, type and default value for new attribute. There are two ways to do so:

    It should be noted that names of system attributes (i.e. attribute not from the attributes table) should be specified with '%' prefix. For such mandatory attributes you can not change an attribute type.

  5. Click the button with left arrow. After that an attribute with defined type and name will be listed in 'Defined attributes' list.

  6. Save changes with 'Apply' button and close the dialog by pressing 'OK' button. After that the mandatory attribute will appear at all project nodes that meet the defined rules.


Requality project settings dialog: Mandatory Attributes


To edit an mandatory attribute you need to:

  1. In 'Requality Explorer' call context menu on the project and select the 'Properties' menu item. The project settings dialog will open.

  2. In the left part of this window you need to expand the 'Requality' item and select 'Mandatory Attributes', then the settings for the mandatory attributes of the Requality project will be displayed in the right part of the window.

  3. In the 'Node type' field you need to select the type of the node ('Requirement' или 'Text node'), whose attribute you want to edit.

  4. In the 'Defined attributes' field you need to select the required attribute by clicking on it.

  5. Edit the type or default value of the chosen attribute in the 'Type' and 'Default value' fields. Please note, if the name of a required attribute will be edited, it will be a different attribute with a new name. Also keep in mind that the type of a system attribute cannot be changed.

  6. Click the button with left arrow. The attribute changes will be saved. Please note, if you do not press the button, the changes will not be saved! Also keep in mind, if the name of a mandatory attribute has been changed, then after pressing this button a new mandatory attribute with this new name will be saved, and the attribute with the old name will also remain.

  7. Save the changes by clicking on the 'Apply' button and close the project settings window (the 'OK' button). Now new nodes will receive the updated mandatory attribute when created. It should be noted, that in those nodes where the mandatory attribute has already been set, it will not change.


To remove a mandatory attribute you need to:

  1. In the 'Requality Explorer' call the context menu on the project and select the 'Properties' menu item. The project settings dialog will open.

  2. In the left part of this window you need to expand the 'Requality' item and select 'Mandatory Attributes', then the settings for the mandatory attributes of the Requality project will be displayed in the right part of the window.

  3. In the 'Node type' field you need to select the type of the node ('Requirement' или 'Text node'), whose attribute you want to delete.

  4. In the 'Defined attributes' field you need to select the required attribute by clicking on it.

  5. Click the button with right arrow. The attribute will disappear from the 'Defined attributes' field.

  6. Save the changes by clicking on the 'Apply' button and close the project settings window (the 'OK' button). Now new nodes will not receive this attribute when created. It should be noted, that in those nodes where the mandatory attribute has already been set, it will still remain.


Setting up links in the Requality project

To change links settings you need to (for more information about using links see Working with links between nodes of the requirements tree):

  1. In the 'Requality Explorer' on the Requality project call the context menu and select the 'Properties' menu item. The project settings window will open.

  2. In the left part of this window you need to expand the 'Requality' item and select 'Requality References', then the settings for links in the Requality project will be displayed in the right part.

  3. The 'References antonyms' section displays information about the names of outgoing and incoming links. The 'Select reference name' field will display a list of names of all project attributes with the 'REFERENCE' type, i.e. a list of names of all outgoing links. It should be loaded using the 'Load reference names' button. The 'Default renames' field displays a list of already defined in the project pairs "outgoing link name → incoming link name", some of these pairs are set by default for any Requality project, the rest of them are created by the user.

  4. To specify or change the name of an incoming link, you need to enter the name of the corresponding outgoing link in the 'Reference name' field. You can also specify the name of the outgoing link by clicking on it in the list of existing link names. If you need to change the name of an incoming link, that has already been specified in a pair to the name of an outgoing link, you can immediately select this pair of names by clicking on it in the field of existing pairs of link names. Next you need to change the name of the incoming link in the 'Backward reference name' field and click the 'Set' button. The new name of the incoming link will be saved in a pair to the specified outgoing link, this updated pair will be displayed in the list of available pairs of link names.

  5. In the 'Default reference name' field you can edit the name that is given to the link by default when creating new links using the '0,1,*' button (see Creating a link using the '0,1,*' button).

  6. Save the changes with the 'Apply' button and close the project settings window (the 'OK' button). The project properties will be saved.


Requality project settings dialog: links


Setting up auto-generated identifiers in the Requality project

To change the settings of auto-generated node identifiers (for more information about using auto-generated node identifiers see Unique IDs of requirements tree nodes) you need to:

  1. In the 'Requality Explorer' on the Requality project call the context menu and select the 'Properties' menu item. The project settings window will open.

  2. In the left part of this window, you need to expand the 'Requality' item and select 'Sequential Identifiers', then the settings for the automatically generated node identifiers in the Requality project will be displayed in the right part of the window.

  3. If the checkbox 'Enable Sequential Identifiers' is checked, then the mechanism of auto-generated node identifiers is enabled in the project. If the mechanism is disabled, then to enable it you need to check this box, after that the remaining settings of auto-generated identifiers will become available. To disable the mechanism, you need to uncheck the box.

  4. In the 'Attribute name' field you can specify a name for the attribute containing the auto-generated identifier. By default it is named 'ForeignID'.

  5. In the 'Prefix' field you can specify a prefix that will be displayed in the auto-generated identifier before the numeric value. By default, there is no prefix.

  6. Save the changes with the 'Apply' button and close the project settings window (the 'OK' button). The project properties will be saved.


Requality project settings dialog: sequential identifiers


Edit Requality project properties

Global attributes that are available on whole project nodes can be defined in view 'Properties view'. To do so you need to click in 'Requality Explorer' on project name. After that in 'Properties view' you will see the properties of this project.

Global attribute can be defined and altered in attributes table. Attribute to be used to define an enum type may be also created there by semi-automatic extraction from existing attributes or manually (see above).


Working with attributes table of the project

Attributes table for the project is similar to requirements attributes table. You can work with attributes in the same way. See detailed description on how to work with attributes in requirements-related section.


Semi-automatic extraction of the 'ENUM_DEFINITION' attribute

Global attribute to define an enumeration type can be created manually with the attributes table as it is described below, but you also may extract it from already existed attributes of nodes in a project in semi-automatic way. To do so:

  1. In 'Properties view' of project click on 'Extract enum definitions from attributes' button. You will see 'Enum definition extractor dialog'.


    Enum definition extractor dialog


  2. In this dialog in the field 'Select a name of the attribute' choose the name of attribute you want to use in enumeration extraction. On the right field 'Values of selected attributes' you will see all values defined in attributes with chosen name from all nodes in a project.
  3. In a field below 'Select a name of ENUM definition' you may define a name of creating 'ENUM_DEFINITION' attribute, that will be created from chosen attributes.
  4. Press 'OK' button.

Now attribute of 'ENUM_DEFINITION' type was created and shown in 'Attributes' table with defined name and has the value defined as list of all values you've seen in 'Values of selected attributes'. In 'Properties view' of nodes, which had attributes of this name, you will see that type of attribute is changed to name of created 'ENUM_DEFINITION'.


Revision history of a Requality project

To view the revision history of a Requality project click on the project name in the 'Requality Explorer'. Then open the 'History' tab in the 'Properties' window. For more information about viewing revisions see View revision history for the Requality project.

Documents

Import document

If you want to mark requirements in document, first of all you should import the document that contains text of the requirements. The requirements could be written in a free-form. Requality allows importing documents with following extensions: 'doc', 'pdf', 'htm', 'html'. Herewith Requality copies an original document, converts it to 'xhtml' and puts the resulting document to the project. The original document isn’t changed. Resulting 'xhtml' –document is a document that is used in the following work.

Requality allows importing of one document, set of documents, and folders with documents.

  1. To import document select 'Documents' node (or its sub-node). In context menu select 'Import Document...'.

  2. To select source directory push 'Browse...' to the right of the 'From directory:' field in opened 'Document Import Wizard' window and select directory where documents or files with documents are situated.

  3. There are some ways to select required document or folder:

  4. You can use document extension filter. As we wrote above Requality provides import of documents with 4 extensions: 'doc', 'pdf', 'htm' and 'html'. And by default, there is a filter that allows you to import only these types of documents. But you can change the default filter and try to import other documents. So if you want to import document with other extension follow these instructions:

    If you selected required extensions push 'OK'. Now documents with selected extensions are available to import.

  5. Now you should select a target folder. The target folder is a folder in Requality-project where you want your documents to be imported to. Select it in 'Into folder:' field. Default target folder is 'Documents' (the root document folder in the Requality project) or its sub-folder (if you called import on it). Push 'Browse...' to the right of the 'Into folder:' field to select or create other folder. (Read more about document folders and other ways to create them in Create document folder.)

    Documents import window

  6. If imported documents have the same names as documents in the project folder you can choose 'Rename existing documents' option. Just select this flag. Now imported documents will be renamed (by adding indexes) if their names are similar to the already imported documents.

  7. When importing a folder with all nested documents and sub-folders, this hierarchy is not transferred in your Requality project as default. All documents from the folder and sub-folders are got into the target folder 'Documents'. If you want to save the hierarchy use 'Create folders' option in 'Document Import Wizard' window. Now all importing documents will be transferred by a hierarchy.

  8. Now if you have already chosen importing documents and selected target folder finish import by pushing 'Finish' button in 'Document Import Wizard' window.

If the import process is successful, the imported documents will appear in the project tree in the target document folder, converted to the 'xhtml' format required for further work.


Delete document

  1. To delete a document select it in 'Requality Explorer' view.

  2. In context menu (click right mouse button on document) select 'Delete Document'. Also you can use 'Delete' hotkey.

  3. Confirmation window for deletion of the document will appear. Push 'OK' button in this dialog to proceed document deletion.

  4. If there are marked locations in the document you want to delete, you will get one more confirmation dialog on this step. This dialog warns you that all marked locations will be deleted together with the document. If you agree and want to proceed deletion push 'OK'. Note! All locations marked in this document will be deleted from the requirements. The requirements will remain without links to these locations.


Update document

'Requality' allows updating documents by transferring requirements locations from an old document version to a new one. You can read about it here: Transferring locations to new document version.


Create document folder

There is possibility to create folders in 'Documents' node and place documents there. It helps to comfortably organize documents in 'Requality' project.

  1. To create a document folder select 'Documents' node or any it’s sub-folder (if exists), select 'New → Document folder' in the context menu.
  2. In the opened window input folder name to the 'Enter folder name' field.
  3. The name shouldn’t replicate name of folders located on the same hierarchy level in the documents node. Otherwise you will get a warning and can’t proceed.
  4. After you input a correct name push 'OK'. Now you can see this folder in 'Requality Explorer'.

And now you can import documents to the new folder.


Delete document folder

  1. To delete a document folder choose it in 'Requality Explorer'.

  2. Сlick right mouse button on chosen document folder, select 'Delete Folder' in the context menu. You can also use 'Delete' hotkey when chosen folder is selected.

  3. Confirmation window for deletion of the document folder will appear. Note! Folder deletion causes deletion of all nested documents and sub-folders. If you are sure push 'OK' button in a confirmation dialog to proceed deletion.

  4. If folder being deleted or its sub-folders contain documents with marked locations you get one more confirmation dialog on this step. Note! If you delete the folder all nested documents are deleted. Thus all the locations in these documents are deleted too. If you agree and want to proceed push 'OK' button in a confirmation dialog.

Requirements

All requirements in Requality project are situated in 'Requirements' node.


Create requirement

There are several ways to create new requirement: from 'Requality Explorer', from 'UniEditor' and from 'ModuleEditor'. Requirements may be created both from scratch and from requirement templates of current project. Note that it is allowed to add new requirements as a child only for requirement and it is disallowed to add them to text node.


Create requirement by copying

Requirement can be created as copy of existing requirement.


Delete requirement

Note! If you delete a requirement all its locations are deleted and all corresponding marks in the documents are deleted too. Also, along with the requirement, its entire subtree will be deleted, including nodes of all types (requirements and comments, and other possible nodes if additional plugins are used).

  1. To delete the requirement choose it in 'Requality Explorer', select 'Delete Requirement' in the context menu.
  2. You also can delete a requirement in 'UniEditor' and 'ModuleEditor' from drop down menu in the top right corner of main area or node's drop down menu using 'Delete Requirement' menu point.
  3. You can also use 'Delete' hotkey.
  4. In the opened dialog confirm deletion by pushing 'OK'.


Create requirement by selecting location

Note! If you need to copy a text fragment from the document editor, use the hotkeys 'Ctrl+Shift+c' for copying.

You can create a requirement in the document editor ('Markup Editor') and add the location to it at the same time.

  1. Open document where you want to mark some location for new requirement.
  2. Choose node 'Requirements' or some sub-requirement in 'Requality Explorer'. Let this requirement be a target. New requirement we want to create will be sub-requirement for the target requirement.
  3. Select text part you want to make a location in 'Markup Editor'. Note! If required location has already been marked for some requirement, you shouldn't select it in document text, just skip this step.
  4. Call context menu on selected text and choose one of two menu items:
  5. As a result, the target requirement gets new sub-requirement with the location. The text of this location is marked in the document.


Context menu for marked location


You can read about simple requirement creation in Create requirement section.


Add location to requirement

A requirement can have several locations (some links to text pieces marked in the document). So you can add new location to an empty requirement (which has no locations yet) or to a requirement, which already has some locations.

  1. Open the document which text fragment you want to mark and add to the requirement.
  2. Select the target requirement in 'Requality Explorer' (to which you want to add a document fragment).
  3. Select needed text location in the document editor. Note! If required location has already been marked for some requirement, you shouldn't select it in document text, just skip this step.
  4. Call the context menu on selected text and choose one of two menu items:
  5. As the result selected location is marked in the text with yellow color and is added to the target requirement. That is, the target requirement now contains a link to this fragment of text.


Delete location in document editor

To delete a location from the requirement you should delete its selection in the document. Thus location will disappear from the document and from the requirement. Note! If the location belongs to several requirements at the same time, it will be deleted from all these requirements. (If you want to delete the location from the specified requirement only see Delete location in Properties view).

  1. Double-click on location in 'Properties' view. The document will be opened and scrolled to the place where the location is situated.
  2. Call the context menu on the location and select 'Remove from Requirement'.
  3. The selection is removed from this document fragment. Now you can see that this location is not marked in the document anymore and there is no link to this text in the requirement 'Properties' view on 'Description' tab, 'Locations:' field or in the 'Requality Explorer'.


Delete location in Properties view

Here is another way how to delete a location from a requirement. This way is suitable if the location belongs to more than one requirement but you want to delete it from the one specified requirement.

  1. Open 'Properties' view for the target requirement, open 'Description' tab (see Edit requirement parameters section).
  2. Select required location in 'Locations' list.
  3. In context menu select 'Delete' item. Or just use Delete hot-key.


Auto-mark locations in document

'Requality' allows marking locations in document automatically. Select document in 'Requality Explorer' and in context menu select 'HTML Headers Document Processor'. This processor allows marking HTML-headers (text inside <h1></h1>, <h2></h2> and so on) as locations. Every location is added to a new requirement.


Edit requirement parameters

To edit requirement parameters select the requirement in 'Requality Explorer' or one of its locations in 'Outline'. Now you can see requirement properties in 'Properties' view. Here we describe requirement parameters you can change manually.

  1. Id

  2. Name

  3. Type

  4. Attributes

  5. Alternative Description

  6. Locations

  7. Predicate


Revision history of requirement

To view the revision history of a requirement, click on chosen requirement in the 'Requality Explorer', then open the 'History' tab in the 'Properties' window. This tab contains a table with the revision history of this requirement (for more information on viewing the history and comparing revisions, see View revision history for requirement tree nodes section). The top row of the table corresponds to the latest revision synchronized with the global repository. Then, from top to bottom, there are revision rows in descending order, from newer to older.


Transferring locations to new document version

'Requality' allows transferring locations to a new document version.

If you have a document with locations and you get a new verision of this document with modifications and additions than you may want to transfer old locations to the new document. Do the following:

  1. Be sure new document is also imported to the project. If not - import it to a recent project.
  2. Select the new document in 'Requality Explorer' view and select 'Update Document' in context menu.
  3. In opened window select old document.
  4. After the processing is complete the window with information about the number of locations found in the old version and the number of locations transferred into a new version will appear.
  5. In any case, user should check transfer of all the requirements: for every requirement user should confirm the correct transfer or modify the requirement. After document processing in 'Requality' perspective you'll see 'Update Processor Tasks' view. This view shows recent state of every project catalog requirement and provides the ability to change transferred requirements statuses manually.
    List of tasks to finish requirements transfer to a new document
    In this dialog user can check if automatic transfer was successfull and correct and, if it is necessary, analyze and modify requirements. The table in this window contains the list of tasks for checking. For each task there is a related requirement and action to perform. There are 3 types of actions (depends on 3 possible requirement states):

    In addition, each task has one of the following statuses:

  6. The user performs further actions for each task in the table.

    1. Double-click on the selected task in the window. This action will open two document editor windows above, showing this task-related requirement in both documents at once: in the old version and in the new one. In the old document fragments of the requirement are automatically highlighted in the text. In the new document only the transferred fragments of the requirement are highlighted; if none of the requirements locations were transferred, the document will be opened without the marked text fragments.

      Note. In case of switched-on synchronization between 'Requality Explorer' and browser (toggled button 'Link with Editor' in the 'Requality Explorer' toolbar) opening of two documents from view 'Update Processor Tasks' may be incorrect for task with none locations in the new document (with red icon). For correct opening of the locations, it is suggested to switch-off the synchronization between browser and 'Requality Explorer'.

    2. Now, in case of disagreement with the automatic transfer, user can modify the requirement: add or remove locations.
    3. After checking the task and, if it is necessary, making changes, you need to mark this task as checked. To do this, select chosen task in the table and click the 'Complete' button.
    4. There is a possibility to configure the view to hide verified requirements in the table. To do this, click the 'Hide Completed Items' button in the 'Update Processor Tasks' window menu.
    5. If the task was mistakenly marked as checked, you can change its status back to 'CHECK' using the 'Check' button .
    6. After all requirements have been checked by user and modified (if needed), you can remove tasks list from the view. Tasks should be deleted using the buttons from the menu of the 'Update Processor Tasks' window: the 'Delete Selected Task' button deletes one selected task, and the 'Delete all Update Processor Tasks' button deletes all tasks from the 'Update Processor Tasks' window for the current project. Deletion can be undone by executing the 'Edit → Undo …' menu command .
    7. After transfer of all requirements locations was finished, it is recommended to remove old version of the document from the project.

Note. It is assumed to transfer requirements sequentially for different documents. Firstly, requirements from one document are transferred and if necessary corrected. Then proceed to the following documents.


Generate test for requirement

'Requality' allows to add new tests to a test purpose or a requirement by using extending test generator.

'Requality' provides test generation by special pattern.

Tests can be generated from 'Requality Explorer':

It is also possible to add test from 'Coverage' report by pressing "Add test" button in the report view.

Also you can use Eclipse main menu → 'File' → 'New' → 'Other' → folder 'Requality' → 'Create Test'.


Bulk operations on requirements

Bulk operations allow you to perform various manipulations at once for an entire subtree of requirements, including, if it is necessary, the entire tree of project requirements.

To start working with bulk operations, you need to perform several actions that are common to all operations:

  1. In the 'Requality Explorer' select the target node in the project requirements tree. The next operation will be performed for the target node and (depending on the operation) its entire subtree.

  2. In the opened window 'Mass ops wizard' you will be asked to select again the target node of the requirements tree, for which the further operation will be performed. Then click the button 'Next >'.

The window with a list of available bulk operations will be opened.

Node templates

Templates editor

To create, delete or edit a node template, and to make it active in 'Requality' project previously you need to open a templates editor:

Please note that in templates editor in field 'List of templates' you may see a list of templates only for that type of nodes that is selected in 'Select Node Type' list.

To stop working with templates just press the 'OK' button.


Create template

There are two ways to create a node template:


Delete template

To delete a template:

  1. Open a templates editor (how to open it is explained above).
  2. Choose a type of node for which you want to delete a template. In field 'List of templates' you will see all existing templates for this project and for chosen type of nodes.
  3. Click in 'List of templates' on template which you want to delete.
  4. Press the button 'Remove' on the right of the list.

After that you will see that this template will dissapear from templates list (that means that it was deleted).


Edit template

To edit a template:

  1. Open a templates editor (how to open it is explained above).
  2. Choose a type of nodes for which you want to edit a template. In field 'List of templates' you will see all available in this project templates for nodes of selected type.
  3. Click in list 'List of templates' on template you want to edit.
  4. Press a button 'Edit' on the right of the list (or just double click on template in list).

As a result you will see an edit template dialog. You may edit template attributes in the same way as attributes of corresponding node type in 'Properties'. See:


Select active template

To make one of existing templates 'active template', you need to do the following:

  1. Open a templates editor (how to open it is explained above).
  2. Choose a type of nodes for which you want to select an active template. In field 'List of templates' you will see all existing templates for chosen type of nodes.
  3. Click in 'List of templates' on template you want to make active.
  4. Click on 'Set as active' button on the right of this list.

After that you will see that selected template in list 'List of templates' is marked as bold. That means that template is now active. Now all new nodes of the same type will be created from this template.


Text nodes

In Requality project all 'text nodes' are in 'Requirements' subtree. Text node is very similar to 'requirement' (see Requirements section).


Create text node

You can create text node in the same way as requirement (see Create requirement section).


Create text node by copying

You can create text node by copying in the same way as requirement by copying (see Create requirement by copying section).


Delete text node

You can delete text node in the same way as requirement (see Delete requirement section). Note that if you delete text node then subtree of its descendants will be also deleted.


Edit text node

You can edit text node in the similar way as you edit requirement (see Edit requirement parameters section). Except for:


Revision history of text node

To view the revision history of a text node, click on the chosen text node in 'Requality Explorer', then in the window 'Properties' open tab 'History'. Work with this tab is similar to work with tab 'History' for requirement (see Revision history of requirement section).

Test purposes

All test purposes in Requality project are situated in 'Requirements' node in terminal requirements (requirements that have no sub-requirements).


Create test purpose

Note! Test purpose could be added only to terminal requirement (that has no child nodes).

Test purpose can be created in several ways: in 'Requality Explorer' and in 'UniEditor'. Test purposes can be created from scratch and from Test purpose templates of current project.


Create test purpose by copying

Test purpose can be created as copy of existing test purpose.


Edit test purpose parameters

To edit test purpose parameters select this test purpose in 'Requality Explorer'. Now you can see its parameters in the 'Properties' view.

Here we describe test purpose parameters which you can change manually.

  1. Id
  2. Name

  3. Status
  4. Author
  5. Attributes

    Attributes of test purposes are identical to 'requirement attributes'. And you can work with it the same way. See how to work with attributes in detail in Edit requirement parameters section.

  6. Description
  7. Expected Results
  8. Predicate


Revision history of test purpose

To view the revision history of a test purpose, click on the chosen test purpose in 'Requality Explorer', then in the window 'Properties' open tab 'History'. Work with this tab is similar to work with tab 'History' for requirement (see Revision history of requirement).

Delete test purpose

Test purpose can be deleted in 'Requality Explorer'. In this case you need to select it, right click and choose 'Delete Test Purpose' in context menu. In 'UniEditor' test purpose can be removed in drop down menu of node or drop down menu on right top corner of editor by selecting a menu point 'Delete Test Purpose'. Also you can use hot key 'Delete'. In any case you need to confirm deletion in showed dialog by pressing 'OK' button.


Generate test for test purpose

Requality allows to create a new test aimed to check a test purpose in the same way as it is made for requirement. More information is available in Generate test for requirement section.

Reports

In the Requality project two types of nodes are involved in generating reports process:


Standard types of reports

Requality provides a set of standard reports for generation. And there are some pre-installed templates for them.

Some of existed templates are currently in experimental functionality status, that's why they may work unstable and may not have detailed description in this documentation. In report settings such templates are grouped in the 'EXPERIMENTAL' section.

It is also possible to add your own report template (see Add and delete report template section).

Standard types of Requality reports:

EXPERIMENTAL


Add and delete report template

A report in Requality is genereated based on a report template. The template is selected in the report settings from the list of available templates (see Edit report settings parameters section). In addition to the set of report templates built into Requality, additional report templates can be used. But to do this, you must first add them to Requality. Also you can delete a template from the list of available report templates if it is not built in by default.

To add a new report template to Requality you need to:

  1. Click on the 'Reports' node, then select the 'Templates' tab in the 'Properties' window. This tab displays a list of already available report templates. When you select one of them, the name of the selected template and the path to its file in the file system will be displayed in the fields above.
  2. To add a new template click the 'Add new template' button.
  3. In the opened window specify the path to the directory containing the file with the new report template and click the 'OK' button.

After that the new report template will appear in the list of available report templates in the 'Templates' tab (see the image below). It will also be available for selection in all report settings.


The list of available report templates after adding a new template


To delete an added report template, you need to:

  1. Click the 'Reports' node, then in the 'Properties view' select the 'Templates' tab.
  2. On this tab in the list of available report templates select the chosen template and click the 'Delete template' button.

As a result, this template will disappear from the list of available templates and will no longer be available for selection in the report settings.


Create report settings

To create report you must first create Report Settings. Report could be generated for some node named 'Root requirement'. Such report contains information about selected node itself and all its subrequirements. A report type depends on selected template.

To create report settings node click on 'Reports' node (or any report folder) and select 'New → Report Settings' in the context menu. Report settings will be created.


Edit report settings parameters

To edit report settings parameters select this report settings in 'Requality Explorer'. Now you can see its parameters in the repot settings 'Properties' view.

Here we describe report settings parameters you can change manually.

  1. Root requirement
  2. Template
  3. Checkbox Generate report for related projects (applicable not for all report templates)

  4. Checkbox Use project-scope numeration (applicable not for all report templates)

  5. Checkbox Show root data in generation (applicable not for all report templates)


    Additional report settings


  6. Attributes

  7. The Update Coverage Source button. This button appears in the options window when you select one of the templates for the coverage report.

  8. The Open Settings button. This button appears in the settings window when you select some templates.


Multipart documents

With the default settings a Requality project is treated as an entire set of requirements and supporting information.

When generating a report with default settings Requality will generate one page with the project contents according to the report settings.

Sometimes, especially in cases of large number of requirements and other objects in the requirements specification, it becomes necessary to split the requirements catalog into several interconnected parts, but at the same time logically separated.

For such purposes Requality provides a mechanism to split the results of generation (reports) into several chapters or volumes (parts), combined in one report.

There are two options of multiparting:


Split the report at first level headings

Requality allows to generate reports on project requirements, with splitting the result into volumes according to sections of the requirements specification.

To break down the requirements specification into volumes by first level sections, you should perform the following steps:

  1. Click on the root node of the project - 'Requirements'.

  2. Go to the 'Properties' area.

  3. Open the 'Main' tab.

  4. Add new attribute named 'MultiPartDocument', set its type to logical 'BOOL' and the value 'true'.


    Adding the multipart attribute for the root node of requirements


  5. Create new report settings for this project - call the context menu on the node 'Reports', select the points 'New'->'Report Settings'.


    Creating the Report Settings


  6. In the created report settings open the 'Report Settings' tab in the window 'Properties'.

  7. In the field 'Template' choose the template 'Requirements view' ('Чтение требований') and press the button 'Generate'.


    Report generation


  8. After the generation process is complete, the report will be opened in the viewing area.

  9. The report header will contain several tabs - volumes in accordance with the first-levels sections (arrow 1 on the picture). Clicking on the corresponding report tab allows to change the volume displayed in the viewing area.

  10. Sections with levels 2 and deeper with its contents will be placed inside the generated volumes.


    Multipart report for the node level



Split the report at arbitrary internal level headings

Requality allows to generate reports on project requirements, with splitting the result into volumes for arbitrary chosen section of the requirements specification.

To break down the requirements specification into volumes by sections of any level but one, you should perform the following steps:

  1. Click on the root node of the project – 'Requirements'.

  2. Go to the 'Properties' area.

  3. Open the 'Main' tab.

  4. Add new attribute named 'MultiPartDocument', set its type to reference type 'REFERENCE'.


    Adding the multipart reference attribute for the root node of requirements


  5. Click the button '…' in the value field of added multipart attribute, then in the opened window 'Link Editor' choose that node, at the level of which it is necessary to create volumes. Click the 'ОК' button.


    Choosing the  node for multiparting


  6. For the node, chosen for multiparting, add new attribute 'MultiPartDocument' with logical type 'BOOL' and set its value to 'true'.


    Adding the multipart attribute for the node, chosen for multiparting


  7. As a result of generating report 'Requirements view' ('Чтение требований') the report will appear in the viewing area. This report will be generated as if its root node was the previously selected section and will have volumes from its subsections.


    Multipart report for the internal node



Reports for the typical tasks

Report 'Requirements view' ('Чтение требований')

'Requirements view' - is a report, that displays the contents of requirements and text nodes of the project tree in a table form.

The table is preceded by a brief description of the project and a table of contents that includes links to all non-leaf nodes.

As a result, the report consists of several sections:

To create the 'Requirements view' ('Чтение требований') report you need to:

  1. Create a report settings node in the usual way (see Create report settings section).
  2. Specify the root requirement in the node parameters and select the 'Requirements view' template (see Edit report settings parameters section).
  3. If the report contains inter-project links and there is a necessity to navigate to similar reports created for related projects, you need to check the 'Generate report for related projects' box.
  4. If you need to configure the size and contents of the report columns, you need to click the 'Open Settings' button. The window 'Чтение требований report settings' ('Requirements view report settings') will be opened. The table on the right shows the parameters that are displayed in the report.
    Requirements view report settings window
  5. Then generate the report (see Generate report section).


Report 'Checking Design Rules' ('Проверка правил оформления')

The report template 'Checking Design Rules' ('Проверка правил оформления') is designed to display a list of problem nodes and the rules they violate in a table form. It includes the information that is usually displayed in the 'Problems' window. That is, nodes in which the 'Checker Rules' rules are violated, or, for example, nodes with incorrectly specified properties.

The report consists of several sections:

To create the 'Checking Design Rules' ('Проверка правил оформления') report you need to:

  1. Create a report settings node in the usual way (see Create report settings section).
  2. Specify the root requirement in the node parameters and select the 'Checking Design Rules' template (see Edit report settings parameters section).
  3. If there is a necessity to create the report also for related project, you need to check the 'Generate report for related projects' box.
  4. If you need to configure the size and contents of the report columns, you need to click the 'Open Settings' button. The window 'Чтение требований report settings' ('Requirements view report settings') will be opened. The table on the right shows the parameters that are displayed in the report.
    Requirements view report settings window
  5. Then generate the report (see Generate report section).


Report 'Requirements coverage analysis' ('Анализ покрытия требований')

To work with the 'Requirements coverage analysis' ('Анализ покрытия требований') report template the 'Requality Coverage Tools' plugin should be installed (see Requality Coverage Tools).

The 'Requirements coverage analysis' ('Анализ покрытия требований') report template is designed to display information about the test coverage of requirements tree nodes, such as test purposes and requirements.

The report consists of several sections:


The checkbox 'Generate report for related projects' isn't applicable for this template.

To generate the coverage report you need to select a source of coverage information with the following steps:

  1. In the 'Properties' window of report settings select the 'Requirements coverage analysis' report template from drop down list as a template.

  2. In the 'Properties' window of report settings click the button 'Update Coverage Source', that appears.

  3. A list of available sources will be displayed. You need to select one of the following:

  4. Also it is possible to specify additional settings by clicking the 'Open Settings' button. In the window that opens you can:


    Additional settings of the 'Requirements coverage analysis' report

  5. Then generate the report (see Generate report section).


Report 'Document generation (ODT)' ('Генерация документов (ODT)')

This functionality is available only in Requality Enterprise Edition.

Create report 'Document generation (ODT)' ('Генерация документов (ODT)')

The 'Document generation (ODT)' report template is designed to upload the contents of requirements and text nodes to the open document format OpenDocument Text (ODT). The document is generated in the structure defined in advance in the report template. The generated report contains a link to download the generated document.

An information table of the project is placed before the link to download the document.

As a result the report consists of several sections:

To generate the 'Document generation (ODT)' ('Генерация документов (ODT)') report you need to:

  1. Create a report settings node in the usual way (see Create report settings section).

  2. Select the 'Document generation (ODT)' ('Генерация документов (ODT)') report template in report settings node parameters (see Edit report settings parameters section).

  3. Fulfill the necessary attributes for generation of the title page and headers and footers of the document being created (see Customizing of the ODT report template attributes section).

  4. Then generate the report (see Generate report section).

  5. Press the link 'Ссылка для файла ODT' ('Link to ODT file') located at the end of the report.

The generated ODT file with the default report node settings will have the following structure:

If the attributes were set up correctly, the first two pages of the document will be like the following:


The example of the ODT document with customized publication attributes


Customizing of the ODT report template attributes

The information for filling the 'Document generation (ODT)' ('Генерация документов (ODT)') report template is taken from three sources:

  1. node with report generation settings (further designated as 'report'),

  2. the selected target requirement (further designated as 'requirement'),

  3. the root node '/Requirements' (further designated as 'root').

When working in the multipart mode (see Multipart documents section) the root requirement of the desired volume should be selected as requirement, e.g. "Volume 1. Basic provisions".

The selection of target requirement is made with the following steps:

  1. Press the button 'Browse…' on the right of the 'Root requirement:' field in the report settings:


    Selection of the target requirement for generation report based on its subtree
  2. In the opened window for requirements selection specify the desired requirement, for whose subtree the report will be generated. Then press the button 'ОК':


    Selection of the target requirement in the requirements tree
  3. Make sure that the 'Root requirement:' field shows the selected target requirement:


    A non-root node is selected as target requirement

In this case when generating the ODT report there will be built a document that includes only requirements located in the specified subsection.

The next group of attributes is specified at the root level:

The next group of attributes is specified at the selected target requirement level:


EXPERIMENTAL REPORT TEMPLATES

Highlighting requirements

Report 'Document model' ('Анализ покрытия выделенных требований')

To work with the 'Document model' ('Анализ покрытия выделенных требований') report template the 'Requality Coverage Tools' plugin must be installed (see Requality Coverage Tools section).

The 'Document model' report template is designed to display information about the coverage of document fragments by tests. Working with the 'Document model' report template is similar to working with the 'Requirements coverage analysis' ('Анализ покрытия требований') report template, but as a result there will be a document with colored fragments, where for each fragment the color indicates if it is covered or not.

The Generate report for related projects checkbox is not applicable for this template.

To build a coverage report it is necessary to choose a source of coverage information with the following steps:

  1. In the 'Properties' window of report settings select the 'Document model' ('Анализ покрытия выделенных требований') report template as an active template.

  2. In the 'Properties' window of report settings press the appeared button 'Update Coverage Source'.

  3. A list of available sources will be displayed. You need to select one of the following sources:

Then generate the report (see Generate report section).


Analysis of links between requirements

Report 'Custom visualization of relationships between requirements' ('Настраиваемая визуализация связей между требованиями')

Report template 'Custom visualization of relationships between requirements' ('Настраиваемая визуализация связей между требованиями') is designed to present information about the links-references (of specific type) between nodes in selected part of 'Requality' project catalog.

Report consists of two pages:

The report appearance for the 'Custom visualization of relationships between requirements' report template is shown in the figure below:


'Custom visualization of relationships between requirements' report


By default the first page is opened. To open the second page you should click on reverse link name (mark 2 on the picture below). The name could be set in project properties. To turn back on the first page click on direct link name (mark 1 on the picture below).

If collapsing mechanism has been launched in report settings (it is launched by default) then on report pages there will be buttons for expanding and collapsing for all strings (3). And for every string with the initial node name (4) there will be expand/collapse arrow to show if referred (by link 5) nodes are expanded or collapsed.

Labels 4 and 6 show results of values substitution to the 'primary' and 'secondary' patterns (described in 3 below). At the same time there is an information about reverse link for 6 on the second page. So you can click on 'Backward_relates_to' to open the second page.


To generate report do the following:

  1. Create new Report Settings node. In the 'Properties' view set the template 'Custom visualization of relationships between requirements' .
  2. Set referense type you want to generate report to. To do this push 'Open Settings' button. In opened window on the left (1, 2) you'll see a list of available link types (possible names for 'REFERENCE'). In the brackets near the name you can see a number of catalog nodes that has such a link. Select one of them and push 'OK'.
    Additional settings of 'Custom visualization of relationships between requirements' report
  3. There is an option to customize report in details. Generated report will contain two kinds of strings: information about both initial referred node and target node. Number 3 on the picture is an example of generation where you can see 2 strings: 'Requirements/01 [Backward...]' and 'Requirements/02 [Backward…]'. The first string contains information about initial referred node. Its generation template is marked as 4 and is named 'Primary template'. The second string contains information about target (referred to) node. Its generation template is marked as 5 and is named 'Secondary template'.
  4. Define the groups corresponding to the following rules:
  5. Then generate the report (see Generate report section).


Other reports

Report 'Progress' ('Прогресс по проекту')

To work with 'Progress' ('Прогресс по проекту') report template the 'Requality Coverage Tools' plugin (see Requality Coverage Tools section) must be installed. And also 'Requality GIT Connector' plugin (for GIT, see Requality GIT Connector section) must be installed as well depending on chosen version control system. Report template 'Progress' is designed to present information about Requality project’s statistics from version control system.

The checkbox 'Generate report for related projects' isn't applicable for this template.

To build a report with project statistics you need to execute the following steps:

  1. Create new report settings. In the 'Properties' view of the report settings set the template 'Progress' ('Прогресс по проекту') as an active report.


    Properties view for Progress report


  2. Optionally user may choose one of the available coverage sources. For example to add to the report also the information about coverage by test purposes or by data of other projects. To do this select 'Update Coverage Source' button in 'Properties' view of the report settings and choose the source. These actions are similar to those described in report generation for 'Requirements Coverage Analysis' ('Анализ покрытия требований') template.


    Coverage Source Selection view for Progress report


  3. In addition, it is available to use additional parameters for this report. To do this in the 'Properties' view push the button 'Open Settings' and in the opened window select 'Progress for selected dates' or 'Progress for all available dates' radio button. In case of 'Progress for selected dates' it will be required to select the beginning and end dates of the intended period and also to state the minimum step between revisions. The step should be stated in the following format: '1 week 2 day' or '5 month'. Also it is allowed to use not full names of period but the short ones, for example 'd' instead of 'day', 'w' instead of 'week', 'm' instead of 'month' and 'y' instead of 'year' (for example '1 w 2 d'). Use 'OK' button to close the dialog window.


    Progress report settings view for Progress report


  4. Then generate the report (see Generate report section).


Delete report settings

  1. To delete the report settings select it in 'Requality Explorer', select 'Delete Report Settings' in the context menu.
  2. You also can use 'Delete' hot-key.
  3. In the opened dialog window push 'OK'.


Generate report

  1. There are two ways to generate report:
  2. Report is generated near (on the same hierarchy level) the node of report settings on which the report has been generated.
  3. Attribute 'date' is generated automatically in report attributes table. It contains date and time of report generation.


Open and edit report

  1. Select required report in 'Requality Explorer' and double click on it. The report is opened.
  2. Note! In 'Properties' view you can see parameters of report settings that were used to generate this report. But you can change only report identifier.


Export report to file system

To move the file with the generated report to a convenient location in the file system, you need to call the context menu item 'Export Report' on the report node in 'Requality Explorer', then select the path to the required location in the opened dialog box and press the 'OK' button. The report will be saved to the selected directory.


Delete report

  1. To delete the report select it in 'Requality Explorer', select 'Delete Report' in context menu.
  2. You also can use 'Delete' hot-key.
  3. In the opened dialog window push 'OK'.


Create report folder

There is possibility to create folders in 'Reports' node and locate report settings and reports there. It helps to comfortably organize reports in 'Requality' project.

  1. To create a report folder select 'Reports' node or any it’s sub-folder (if exists) in 'Requality Explorer', select 'New → Folder' in the context menu.
  2. In the opened window input folder name to the 'Enter folder name' field.
  3. The name shouldn’t replicate name of folders already existed on the same hierarchy level in the reports node. Otherwise you will get a warning and can’t proceed.
  4. After you input a correct name push 'OK'. Now you can see this folder in 'Requality Explorer'.

Now you can create report settings and generate reports in the new folder.


Delete report folder

  1. To delete a report folder choose it in 'Requality Explorer'.

    1. Select 'Delete Folder' in the context menu.
    2. You can also use 'Delete' hotkey.
  2. Note! If you delete the folder all nested nodes are deleted. If you agree and want to proceed push 'OK' button in a confirmation dialog.


Rename report folder

The name of the report folder is the only parameter of the report folder that can be edited. It is located on the 'Main' tab of the 'Properties' window. To change the name of the report folder, follow next steps:

  1. Click on the desired report folder in 'Requality Explorer', its properties will open in the 'Properties' window.

  2. On the 'Main' tab in the 'Id' field edit the folder name.

  3. Click on any other object or field. The changed name will be saved.

Comments

Create comment

Comment can be created in requirement, test purpose or text node.

Comment can be created in several ways: in 'Requality Explorer', in 'UniEditor' and in 'Review'. Comments can be made from scratch or created from Comment template from current project.


Create comment by copying

Comment can be created as copy of existing comment.


Edit comment

To edit comment, click on it in 'Requality Explorer' and you will see its attributes in its 'Properties' view.

Below you can find the list of attributes that can be edited manualy.

  1. Name

  2. Author

  3. Field for text of comment


Revision history of comment

To view the revision history of a comment, click on the desired comment in 'Requality Explorer', then in the 'Properties' window open the 'History' tab. Working with this tab is similar to working with the corresponding tab for the requirement (see Revision history of requirement section).


Delete comment

You can delete a comment in 'Requality Explorer'. To do so you need to select target comment, right-click on it and select a point 'Delete Comment' in context menu. In 'UniEditor' and 'Review' editors comment can be deleted in drop-down menu of node or drop-down menu on the top-right corner of editor by selecting 'Delete Comment' point. Also you can use hot key 'Delete'. After one of proposed actions you need to confirm comment removal in displayed dialog by pressing 'OK' button.

Identification of nodes

Requality uses several ways to identifies requirements tree nodes in addition to classical ID parameter. This approach allows to operate with nodes more flexible, taking into account whether they can be moved, deleted or replaced.


Unique IDs of requirements tree nodes

Requality allows to set unique identifies ('SeqID') automatically for all nodes of requirements tree (requirements, text nodes, test purposes and others). This mechanism isn't enabled by default in the Requality project. It can be enabled in the project settings (see Setting up auto-generated identifiers in the Requality project section) and works according to the following principles:

Nodes sorting in Requality project

Nodes in projects can be sorted in three ways: 'By Locations', 'By Names' and 'By Index'. Default method is 'By Locations'.

Please note the option 'Sort elements types separately'. If activated it will cause the different types of nodes in requirements tree to be sorted separetly. If this option is disabled then different types of nodes will be sorted without separation by type. Option is enabled by default but it is recommended to disable it if you want to work with selected "By Index" sorting.


Sorting settings of Requality project

Changing the sorting settings is available in the Requality project settings (see Nodes appearance settings in the Requality project section).

Working with links between nodes of the requirements tree

In the Requality project different nodes of project's requirements tree can be linked with each other by unidirectional links - references. Moreover nodes from different project also can be linked if these projects are located in the same workspace. Related node - initial node related to other node. Referred node - target node referred to by other node.

There is a special type of links for terms - they have a slightly different way of using than normal links. Detailed information about this type of links is located in the Terms section.

The link is located in the parameters of the referring node. It is displayed in the 'attributes table' of the node as an attribute of the 'REFERENCE' type, the value of which is the path to the target node. The name of this attribute is the name of outgoing link, defined by user and could be any. The incoming link is not specified in the attributes table of the target node, but despite this you can specify your own name for it (see Edit name of an incoming link section). All links - both incoming and outgoing - for any node are displayed in the 'Requality Links Explorer' window (see Viewing links of a requirements tree node section).


Creating links between requirements tree nodes

There are two ways to create a link between nodes in the requirements tree:

  1. Add a link to the target node by manual creating the attribute of the 'REFERENCE' type in the related node's attributes table in the 'Properties' window. To perform this operation it is necessary to have both nodes (related and referred) already existed in the requirements tree. It is also possible to create several outgoing links with the same name from one related node to several different target nodes using an attribute with list type, containing as values a list of attributes of the 'REFERENCE'.

  2. Add a link to the target node automatically using the button '0,1,*' in the menu of the 'Requality Explorer' window. Also it is possible to create new related node during the link creation process. The target (referred) node has to be existed in the requirements tree for this scenario. This method also allows you to create several links from different related nodes to one referred node at the same time. This way doesn't work for creating inter-project links.

Both methods are described in detail below.


Creating links by manual setting the 'REFERENCE' attribute


Creating a link using the '0, 1, *' button

Note! This method does not work for creating cross-project links.

  1. Select referred node in the 'Requality Explorer' (target node, to which links will be created).

    Selecting a target requirement for refinement
  2. Click the '0, 1, *' button in the menu bar at the top of the 'Requality Explorer' window. The '0, 1, *' button has 3 states: the link creation mode is disabled (indicates with the number '0' on the button), the single link creation mode is enabled (indicates with the number '1' on the button) and the multiple link creation mode is enabled (indicates with the '*' symbol on the button). By default the link creation mode is disabled and the button is in the '0' state. The button's state changes when clicking on it, so to select a requirement and put it in the desired state, you may need to click this button several times until the desired symbol ('0', '1' or '*') is displayed on it. After enabling the mode for creating links (the button '0, 1, *' is in the '1' or '*' state) when you move the focus in the 'Requality Explorer' window to another (non-target) node, the target mode will be highlighted in the requirements tree in gray and in italics.

  3. The next step is the direct selection of related nodes or their creation:

    In this case, each node selected with 'Add reference to…' or newly created node will receive a reference to the target (related) node as long as the link creation function is active (i.e. the '0, 1, *' button is in the '1' or '*' state). And this node will receive an attribute with type 'REFERENCE', pointed to the related node.

  4. If the target node was selected in the single link creation mode (state '1' of the button '0, 1, *'), then after selecting/creating one related node, the link creation mode will be disabled (the button '0, 1, *' will be in the state '0'). If the multiple link creation mode was selected (state '*' of the button '0, 1, *', then all created nodes will be related. To disable the link creation mode you need to set the button '0, 1, *' in the state '0'.

    For this method of creating links the name of the reference attribute (attribute of type 'REFERENCE') is set by default in the project settings and can be changed later. To do this open the 'Properties' window from the context menu of the current project. In it on the left side select 'Requality → Requality References', then on the right side in the 'References settings' section you can change the attribute's name by specifying another name in the 'Default reference name' field. The name of links by default is 'elaborates'.

    Also it is important to know, that different projects can have different referred nodes, and that the linking mode is saved within a single working session. Once Eclipse is closed, the link creation mode is disabled.


Edit name of an incoming link

The same 'link' between two nodes is outgoing link for the related node and incoming for referred (target) node. The name of this link is specified as the name of an attribute of the 'REFERENCE' type in the 'attributes table' of the referred node. This link is not specified in the attributes table of the referred node. But it is visible for example in the 'Requality Links Explorer' window (see View links of a requirements tree node section) for the referred node as an incoming link. By default the name of the incoming link of the referred node is the same as the name of the outgoing link of the corresponding related node. However, for ease of viewing, the name of the incoming link can be changed manually in the project settings (see Setting up links in the Requality project section). It is recommended to give meaningful names to the 'outgoing link name — incoming link name' pair of links, so that the relationship between them would be clear. For example 'describes — described by'. It is also important, that the Requality project has predefined links, for which both incoming and outgoing names are already defined. All existing link names in the project and all specified pairs of links 'outgoing link name — incoming link name' can be viewed in the project settings (see Setting up links in the Requality project section).


View links of a requirements tree node

You can view the incoming and outgoing links of any requirements tree node using the 'Requality Links Explorer' window. If this window isn't visible in the current Eclipse perspective, open it from the main menu by going to 'Window → Show View → Other'. Then expand the 'Requality' item and select window 'Requality Links Explorer' for opening.

This view displays the nodes that are linked to the node selected in the 'Requality Explorer'. All nodes, that are referred (target) for this selected node, will be displayed in this window in the 'Outcoming' section with the name of the attribute that contains the link. All nodes, that have links to the selected node, will be displayed in this window in the 'Incoming' section with the incoming link names. Double-clicking on a link to a node will move the focus in 'Requality Explorer' to that node, and the 'Requality Links Explorer' window will show actual link information for it.

All nodes incoming and outgoing links have its names. If a link is specific for only one node,its name wll be displayed before the name of this node. If one link is specific for several nodes, these nodes will be grouped under the name of this link, i.e. the name of this link will be displayed followed by the names of the nodes.

If the node is located in other project, the name of the project will be shown before the node's name, with two colons between the names as a separator.


This window has several buttons to filter the displayed links:


General view of the window 'Requality Links Explorer'


For convenient viewing of linked nodes in the 'Requality Links Explorer' there is a special mode of highlighting linked nodes. When using this mode you can see the nodes that are linked by the selected link, they are highlighted in the 'Requality Explorer'. To do this you need to:

  1. Select a node in the 'Requality Explorer'. The 'Requality Links Explorer' window will show a list of incoming and outgoing links for this node.
  2. To turn on the hightlight click the button with the chain icon in the 'Requality Links Explorer' window menu. If chain links on the button are connected, the highlight mode is on, otherwise - disabled.
  3. Select the link by clicking on it once. The nodes (one or more) connected with other nodes by this link, will be highlighted in red in the 'Requality Explorer' window.

An example of how the highlighting works in a situation, when requirement 003 has two incoming links from requirements 001 and 002 (the 'Requality Links Explorer' window is opened for requirement 003):


The mode of highlighting linked nodes in the 'Requality Links Explorer' window

Terms

Requality has a special feature that allows you to define certain concepts in the text of nodes and reference them from other nodes where these concepts are used. Such concepts are called terms. Links between term nodes and nodes, using these terms, are a little bit different from regular links described above, but are also displayed in the 'Requality Links Explorer'.

Term links can be cross-project as well as regular links between nodes.

A term name must be unique within the Requality project, where this term was defined.

In practice it looks the following way. In the description of some node the term is described, which is a word or phrase, or another set of symbols. For example: "Аааbbb - Aaabbb is a method for performing calculations". This term is used in the description of other nodes. For example: "To fulfill the conditions, you need to use the Aaabbb method", etc.


Create a link to a term

To create a link between regular nodes and term nodes you need to do the following:

Now Requality will consider that a relationship of the type 'Terms - Term referrers' had appeared between these nodes.


View links for terms in Requality Links Explorer

The relationship between term definition and nodes, which are using it, is displayed in the 'Requality Links Explorer' window (see View links of a requirements tree node section), as a regular link, specified with attribute of the 'Reference' type. Unlike regular links, term links are organized into special separate groups in the 'Requality Links Explorer':

But all the possibilities of this window (filtering, highlighting) can also be used for them.

Another feature is that instead of link titles, term names are given.

In the 'Requality Links Explorer' the names of the incoming or outgoing links are given for all nodes. If a link is specific to an only node, its name will be listed before the name of that node. If a link is specific to several nodes at the same time, they will be grouped under its name, i.e. the name of the link will be listed, followed by the names of the nodes.


Term links in the 'Requality Links Explorer' window

Work in Module Editor

Work in 'Module Editor' is similar to work in 'UniEditor', but is more limited in functionality. In Module Editor you can operate only with requirements and text nodes.


Open Module Editor

In 'Module Editor' you can open the requirements tree, including text nodes. The root node will be the node on which you called 'Module Editor', i.e. in this editor you can open both the entire requirements tree (by calling it on the root requirements node 'Requirements') and a separate subtree of requirements (by calling the editor on one of the 'subrequirements').

To open the editor, you need to do the following:

In the 'Requality Explorer' select the target requirement or text node, open the context menu and select 'Edit in Module Editor'.


Work in UniEditor

Open UniEditor

In 'UniEditor' you can open 'requirements' tree (with test purposes and comments). The root node of this tree is a requirement on which you called 'UniEditor'. Thus in UniEditor you can open whole requirements tree (just call 'Edit in UniEditor' on root 'Requirements' node) or some 'subtree' (call it on some subrequirement).

You need to do the following to open an editor:


  1. Select target requirement in 'Requality Explorer', in context menu select 'Edit in UniEditor'.


Note! In 'UniEditor' you can use hot keys for your convenience. See Keyboard in UniEditor, Review and Module Editor: hot keys section.


Add new requirements in UniEditor

The procedure of adding new requirements is described in Create requirement section.

The procedure of adding new requirements by copying is described in Create requirement by copying section.


Delete requirement in UniEditor

The procedure of requirement deletion is described in Delete requirement section.


Edit requirement in UniEditor

Requirement field consists of two parts. The upper one contains requirement name, the lower one contains requirement alternative description.

  1. To edit requirement name double-click on the upper part of the field. The field becomes editable. To finish editing click somewhere else on the screen.
  2. To edit requirement text double-click on the lower part of the field. The field becomes editable. Here you can see control panel to edit the text. It includes buttons for text formatting, for adding symbols, pictures, links, etc. To save changes push 'Save' button in this menu. Also you can use button to undo editing.
  3. You can also edit requirement in node editor. Move mouse pointer to triangle in top right corner of node and choose menu point 'Open Editor'. Then you can change attributes of requirement in showed editor. To save changes please press 'OK' button.
  4. To change requirement status click on status-icon on the left side of the requirement name. When clicking, the status changes from 'in process' to 'complete' and vice versa.


Add new text node in UniEditor

The procedure of adding new text node is described in Create text node section.

The procedure of adding new text node by copying is described in Create text node by copying section.


Delete text node in UniEditor

The procedure of text node deletion is described in Delete text node section.


Edit text node in UniEditor

Text node has two fields. At the left of top field you can see button. It can be used to change node type from 'Text' to 'Header' and vice versa.

  1. Text node contents can be edited by double-clicking on bottom field. You will see a panel with different buttons for text formating, for adding a symbols, images and so on. To save changes please press button with folder icon. To cancel changes you can press button with cross icon.
  2. To change type of text node click on image at the left of text node. Type will be changed from 'Text' to 'Header' and vice versa.
  3. You can also edit text node in node editor. Then you need to hover a triangle at the top right corner of node and select menu point 'Open Editor'. Then you can change attributes of text node in shown editor. To save changes please press 'OK' button.


Add new test purpose in UniEditor

The procedure of adding new test purpose is described in Create test purpose section.

The procedure of adding new test purpose by copying is described in Create test purpose by copying section.


Delete test purpose in UniEditor

The procedure of test purpose removal is described om Delete test purpose section.


Edit test purpose in UniEditor

The field of the test purpose consists of two parts. The upper part contains the name of the test purpose; the lower part contains the text of the test purpose.

  1. To edit test purpose name double-click on the upper part of the test purpose field. The field becomes editable, and you can make changes. To finish editing click anywhere else on the screen.
  2. To edit test purpose text double-click on the lower part of the test purpose field. Here you can see control panel to edit the text. It includes buttons for text formatting, for adding symbols, pictures, links, etc. To save changes push 'Save' button in this menu. Also you can use button to undo editing.
  3. You can also edit test purpose in node editor. Move mouse pointer to triangle in top right corner of node and choose menu point 'Open Editor'. Then you can change attributes of test purpose in shown editor. When you are ready just press 'OK'.
  4. To change test purpose status, click on status-icon on the left side of the test purpose name. When clicking, the status changes from 'in process' to 'complete' and vice versa.


Add comment in UniEditor

The procedure of adding new comment is described in Create comment section.

The procedure of adding new comment by copying is described in Create comment by copying section.


Delete comment in UniEditor

Instructions on how to delete a comment can be found in Delete comment section.


Edit comment in UniEditor

To edit the text of the comment, double click in the comment field. Here you can see control panel to edit the text. It includes buttons for text formatting, for adding symbols, pictures, links, etc. To save changes push 'Save' button in this menu. Also you can use button to undo editing.

Review

Working in 'Review' is similar to working in 'UniEditor', but more limited in functionality. Here you can't add or delete requirements and test purposes, you can only edit their status.


Open Review

In 'Review' editor you can open 'requirements' tree with 'test purposes' and 'comments'. Requirement for which you open 'Review' is displayed as root node. It means that you can open the requirement tree in a whole (by calling 'Review' in the 'Requirements' root node) or separate 'requirements subtree' (by opening the editor on the several sub-requirements).

To open editor you need to do the following:


  1. In 'Requality Explorer' choose the target requirement, open context menu and choose 'Review'.


Please note! In 'Review' it may be convinient to work with hot keys. You can read more at Keyboard in UniEditor, Review and Module Editor: hot keys section.


Edit statuses of the requirements and test purposes in Review

To change the status of requirement/test purpose click on status-icon on the left side of the node name. When clicking, the status is changed in the following order: 'in process''complete''verified' → back 'in process', etc.

Keyboard in UniEditor, Review and Module Editor: hot keys

In 'UniEditor', 'Review' and 'Module Editor' editors you can use hot keys to work only from keyboars.

NOTE! In different editors for different node types you can use particular set of hot keys.

Two formats of hot keys are available:

You also can open common menu with mouse. Hover a button on top right corner of editor and menu will be shown. After that you can use shortened variants of hot keys without additional 'Ctrl+D', or just click on menu points by mouse.


Common button for node menu opening in editor view


One can also use keyboard to navigate over node editors and nodes.

All related key boundings are listed in table:


Action Hotkey Alternative Hotkey (first press Ctrl+D and then given key)
Create new requirement as child Ctrl+R R
Create new requirement as sibling Ctrl+S S
Create new text node as child Ctrl+J J
Create new text node as sibling Ctrl+I I
Remove node Del Del
Edit selected node in separate window Ctrl+E E
Change node type from Requirement to Text Node and vice versa Alt+M M
Create new test purpose Ctrl+P P
Create comment to selected node Alt+C C
Open template selection and editing dialog Ctrl+T T
Set focus to node below/under Up/down arrows --
Expand/Retract subtree with root on selected node Right/left arrows --
Edit node id or name F2 --
Edit node description ('Description' field) Enter --
Change focus to next view (for example, 'Outline'). Note. Focus can be changed to tabs on current view and buttons on control panel of current view, for example, to minimize or to fullscreen. Tab --
Change focus to previous view Shift+Tab --
Enter a view (use it to navigate between different views using Tab and Shift+Tab) F12 --
Open editor to requirement below or under when editor is opened. Ctrl+up/down arrows --
Undo Ctrl+Z --
Redo Ctrl+Shift+Z --
Refresh editor F5 --
Open search dialog Ctrl+F --
Close node editor (exit node edit mode) Esc --
Save changes in editor Ctrl+S --
Move to page below current PageUp --
Move to page after current PageDown --
Change focus to first node Home --
Change focus to last node End --
Add test to node Alt+T --
Start to edit node Enter --
Start to edit id or name F2 --
Change status Alt+S --
Expand node Num+ --
Retract node Num- --
Copy node Ctrl+C --
Cut node Ctrl+X --
Paste node as sibling (without sub-nodes) Ctrl+Shift+V --
Paste node as child (without sub-nodes) Ctrl+V --
Paste node with all its subnodes as sibling Ctrl+Alt+Shift+V --
Paste node with all its subnodes as child Ctrl+Alt+V --

Virtual Nodes

Create virtual node

  1. In 'Requality Explorer' select or create a requirement for which you want to create 'virtual node'. Select 'New → Virtual Node' in a context menu for this node. New virtual node will appear.


Edit virtual node parameters

To edit 'virtual node' parameters select it in the 'Requality Explorer'. Now you can see requirement properties in the 'Properties' view.

Here we describe parameters of the virtual node you can change manually.

  1. Id

  2. Name

  3. Attributes

  4. Target

  5. Iteration method

  6. It.vars


Hide virtual node

To hide 'virtual node' select it in 'Requality Explorer', select 'Hide Selected Virtual Nodes' in its context menu.

The virtual node will be hidden in the project tree, only its subtree (reused nodes) will be shown.


Show virtual node

To show (undo hide) virtual node select project tree element that contains this virtual node and call context menu on it. Select 'Show hidden children' in the context menu.

Virtual node will be shown in the project tree.

Search in the Requality project tree

It is possible to search for the required nodes in the Requality project using the search function. To do this perform the following steps:

  1. In the 'Requality Explorer' window open the search dialog box in one of two ways:

    The search dialog window 'Search Element' will open.


    Search dialog window 'Search Element': the 'By path' tab


  2. Select the search scope. To do this click the 'Select scope' button, select one of the project nodes in the 'Element selection' dialog, that opens, and click 'OK'. The path to the node will be displayed in the 'Scope' field, but you can enter and edit it manually in this field if you wish. The search will be performed in this node and its subtree.

  3. In the search window you can select one of three search modes: by node identifier ('By path'), by node parameters ('By attributes') and by formula ('By formula').

  4. Press the left or right double arrow buttons to activate the search and to move up or down the requirements tree to the next nodes that meet the search conditions. The nodes found according to the specified parameters will be highlighted in the 'Requality Explorer' one by one.

At the bottom of the search window there are two lines containing some information about the search. The first line displays the total number of nodes found and, if their quantity is more than zero, the ordinal number of the node currently being viewed in 'Requality Explorer'. The line below displays the UVId of that node. If the search parameters are set incorrectly, an error message will appear in these lines.

Checking the project tree

It's possible to check if Requality project tree is set correctly and to find problems in nodes description. To do this, you need to use the checking mechanism - the so-called 'checker'. Open context menu on the root node of your Requality project and select 'Enable Checkers'. After that all the nodes in which 'checker' finds error are highlighted.


Checker work result

Working with an external data storage (Repository)

Requality has its own internal mechanism based on GIT technology for working with an external data storage — a repository. It should be used to be able to work with 'revision' history. Previously the 'Requality GIT Connector' plugin must be installed (see Requality GIT Connector section). This plugin is included in the Requality bundle by default.

Note! Processes for interacting with an external repository may take some time. To find out about this, pay attention to the process completion indicator that appears in the lower right corner of the Eclipse window.


Procedures for publishing to and downloading data from the repository

To work with the repository, you need to use the context menu item 'Repository' on the Requality project in the 'Requality Explorer' window.


Initial uploading a project to a local repository

To initially upload the Requality project to your local repository, you need to:

  1. Check that the following preconditions are met:

  2. In Requality Explorer, at the project level, open the context menu and select 'Repository' → 'Publish local changes…' in it.

    Calling the context menu to upload a project to the repository

  3. In the window that appears, click the 'Create…' button to create a local repository. You can specify any location other than the application's workspace, and the project will be automatically transferred there. In this scenario, it is recommended to specify the path to the git folder located in the user's home folder as such a folder.

    The window for choosing the repository

  4. In the path suggested by the system, after the git folder, specify the name of the project (then a new folder will be created) or the name of an existing folder selected for the project, then click the 'Finish' button in the active repository creation window, and then click the 'Next' button in the project download window:

    Specifying the project name in the local repository path

  5. In the initial project upload window that appears, specify the accompanying text for the commit, then click the 'Next' button:

    Specifying the accompanying text for the commit

  6. Next, you need to enter the address of the local repository in the 'URI' field in the 'Location' section - to do this, you need to click the 'Local Folder…' button and select a folder in the explorer that is an empty local git repository (corresponding to the scenario precondition). The 'Host' and 'Repository path' fields will be filled in automatically. Next, you need to click the 'Finish' button:

    Setting the location of the local repository

  7. A window will be displayed confirming successful upload to the local repository, you must click the 'Close' button.

    Confirmation of the successful uploading of the project to the local repository

  8. The initial upload of the project to the local repository has been successfully completed.


Initial uploading a project to a remote repository

To initially upload the Requality project to your remote repository, you need to:

  1. Check that the following preconditions are met:

  2. In Requality Explorer, at the project level, open the context menu and select 'Repository' → 'Publish local changes…' in it.

    Calling the context menu to upload a project to the repository

  3. In the window that appears, click the 'Create…' button to create a local repository. You can specify any location other than the application's workspace, and the project will be automatically transferred there. In this scenario, it is recommended to specify the path to the git folder located in the user's home folder as such a folder.

    The window for choosing the repository

  4. In the path suggested by the system, after the git folder, specify the name of the project, then click the 'Finish' button in the active repository creation window, and then click the 'Next' button in the project download window:

    Specifying the project name in the local repository path

  5. In the initial project upload window that appears, specify the accompanying text for the commit, then click the 'Next' button:

    Specifying the accompanying text for the commit

  6. Next, you need to enter the address of the remote repository on the gitlab server in the 'URI' field in the 'Location' section, the 'Host' and 'Repository path' fields will be filled in automatically. In the 'Authentication' section, specify the credentials (login and password) of the gitlab user on whose behalf the data is loaded, and click the 'Finish' button:

    Specifying the path and credentials for accessing the remote repository

  7. A window will be displayed confirming successful upload to the remote repository, you must click the 'Close' button.

    Confirmation of the successful uploading of the project to the remote repository

  8. The initial upload of the project to the remote repository has been successfully completed.


Revision history

To view the 'revision' history of all nodes of the requirements tree, there is a 'History' tab in the 'Properties view' window. This tab allows you to run a comparison of one of the old revisions with the current local state. The 'History' tab is also available for use at the root node of the project, but in this case its contents are slightly different.


View revision history for the Requality project

To view the 'revision' history of the Requality project you need to:

  1. In the 'Requality Explorer' click on the root node of the project.

  2. In the 'Properties view' window open the 'History' tab.

This tab contains a revision history table containing a list of all revisions of the project saved in the repository and some related information (see the 'History' tab in the Requality project settings). The top row corresponds to the last revision synchronized with the global repository, then the revisions go from top to bottom in descending order, from the newest to the oldest.

To view a comparison of the current local version and one of the older revisions, you need to:

  1. Open the 'History' tab in the 'Properties view' window on the project level, as described above.

  2. Find the revision you are interested in in the list. To quickly find the revision you need, it is convenient to use the filter in the top row of the table. For example, if you know the commit date or part of its comment, you need to click in the filter row in the column you want to search by and enter the text fragment you are looking for. After that, the table will be filtered, and only those rows will remain in it that contain the entered text fragment in the corresponding column.

    Applying the filter in the 'History' window

  3. Double-click the old revision you are interested in in the table on the 'History' tab . This action will open the 'Team Syncronizing' perspective (a warning window about opening this perspective may appear first, you need to click 'Yes' in it).

  4. In the 'Synchronize' window expand the project node. The expanded project node displays all nodes that have changed compared to the old revision.


    The 'Synchronize' window in the 'Team Synchronizing' perspective


  5. Select the project node of interest and double-click on it.

The 'Compare' window, which consists of two parts, opens to compare the old and current states of the node. The part of the window called 'Local File Workspace' displays information about the current local state of the node, and the other part called 'Remote File' displays the state of the node in the old revision. The data that has changed is marked in yellow. The data that was not in the old revision but appeared in the new one is marked in green. The data that has disappeared is marked in red. If the 'Remote File' part of the window is missing, then this node did not exist in the old revision of the project. If the 'Remote File' part of the window contains information about the node, and the 'Local File Workspace' part is empty, then this node existed before, but is missing from the current state of the project.


Comparison window in the 'Team Synchronizing' perspective


View revision history for requirement tree nodes

The repository mechanism in Requality provides the ability to view the revision history for a particular node, as well as view a comparison of the current local state of the node with one of the older revisions.

To view the revision history of a node узла, you need to:

  1. In the 'Requality Explorer' window, expand the Requality project requirements tree and click on the node of interest.

  2. In the 'Properties view' window, open the 'History' tab.

This tab contains a revision history table, which lists all revisions saved to the repository that concern this particular node, and some related information (see the 'History' tab in the Requirement Parameters for an example). The top row of the table corresponds to the most recent revision synchronized with the global repository, and then the revisions go from newest to oldest, from top to bottom.

To view a comparison of the current local version of a node and one of the older revisions, you need to:

  1. Open the 'History' tab in the 'Properties view' window for the node of interest, as described above.

  2. Find the revision you are interested in in the list. To quickly find the revision you need, it is convenient to use the filter in the top row of the table. For example, if you know the commit date or part of its comment. You need to click in the filter row in the column you want to search by and enter the text fragment you are looking for. After that, the table will be filtered, and only those rows will remain in it that contain the entered text fragment in the corresponding column.

    Applying the filter in the 'History' window

  3. Double-click on the old revision you are interested in in the table on the 'History' tab.

    This will open the 'Compare' window, which will display the comparative information. This window, although not opened in a special perspective, is completely identical in appearance and content to the 'Compare' window that opens when viewing project revisions in the 'Team Syncronizing' perspective (for more information see View revision history for the Requality project section).

Import-export of Requality requirements catalog into ReqIF format

'Requality' provides importing requirements catalogs from ReqIF format and exporting requirements catalogs created in 'Requality' project into ReqIF format.


Export Requality requirements catalog into ReqIF

If the requirements directory contains images or tables, LibreOffice and 'ImageMagick' must be installed on the computer beforehand and the corresponding settings must be specified in Requality:

  1. Download adress for 'ImageMagick': https://www.imagemagick.org/script/download.php.

  2. Download adress for LibreOffice: https://ru.libreoffice.org/.

  3. After installing these programs in the main Requality window open the menu 'Window → Preferences'. In the dialog box that opens on the left select the 'Requality' option, on the right in the 'Path to ImageMagick' field specify the path to the directory where 'ImageMagick' was installed. In the 'Path to libreoffice(v5+) soffice' field use the 'Select' button to specify the path to the LibreOffice executed file. Then save the settings by clicking 'Apply' and 'OK' buttons.

Currently, to export a Requality project to ReqIF format, you need to use a ReqIF file with a data model obtained from the target tool (in this case, from IBM Rational DOORS).

To convert a requirements catalog from a Requality project to ReqIF format, you need to:

  1. On the Requality project call the context menu and select 'Export...' option in it. In the opened dialog box select 'Requality' → 'Export to ReqIF' and click the 'Next' button.


    Calling the window for export requirement catalog to ReqIF format


  2. In the next window select the ReqIF file, which will be the basis for the new ReqIF while generated. Such a file must have the extension '.xml' and have the content in the DOORS format. At the moment other formats are not supported by Requality. After that click the 'Next >' button.


    Selecting the ReqIF file with the data model from the target tool


  3. In the next window, you need to specify the name and path to the file where you want to save the requirements catalog converted to ReqIF format. To do this, click the 'Browse' button, select the target directory in the window that opens and specify the name for the new file in the 'File name' field instead of the asterisk (*), keeping the 'reqif' extension, then click the 'Save' button. After this, it becomes clear that the path to the new file is displayed in the export window. Next, click the 'Next' button in the export window.


    Selecting the target folder for export requirement catalog to ReqIF format


  4. This step can usually be skipped, since these settings are usually set automatically. If this did not happen, you need to perform the following steps. In the leftmost field select the project exported from DOORS. In the middle field, select the project that is exported from Requality. Then click the 'Add new mapping' button. This will indicate a mapping relationship between these two projects, and it will be displayed in the rightmost field. If you need to remove such a relationship, you need to select it in the rightmost field and click the 'Remove mapping' button. Then you need to click on the required relationship in the rightmost window and click the 'Finish' button.


    Mapping the projects


  5. After this, the requirements catalog will be exported to ReqIF format: the requirements catalog from the Requality project will be converted to a requirements catalog in ReqIF format and placed in the specified project as a file with the extension '.reqif'. This ReqIF file can be used by any requirements management tool that recognizes the ReqIF format.


Import requirements catalog from ReqIF

To import requirements catalog from ReqIF format into 'Requality' project it is required to:

  1. In 'Requality' perspective in 'Requality Explorer' window open context menu and select 'Import...'.
  2. In the opened dialog window select 'Requality' → 'Import from ReqIF' and press 'Next >'.


    Import from ReqIF-format selection


  3. In new opened window from the file system select required '.reqif' file and press 'Next >'.


    Select file to import from ReqIF-format


  4. In next two dialog windows, specify the appropriate elements of ReqIF format for 'Requality' format elements. First, the window for ReqIF and 'Requality' types mapping will open. For entering the conformity between types, it is required to select the type of ReqIF element in left column and the corresponding type in the middle column and press 'Add mapping'. The created mapping will be represented in the right column; it will be displayed as 'type_ReqIF → type_Requality'. Also it is possible to map few types of ReqIF elements to one type of 'Requality' element. To do this, in left column instead of selecting one type select few types, the rest of actions are the same.


    Set mapping between types of ReqIF and Requality formats


  5. To delete incorrect mapping it is required to select it in the right column and press 'Remove mapping' button, selected mapping will be removed.


    Remove mapping between types of ReqIF and Requality formats


  6. Then push 'Next' button. The window for mapping ReqIF attributes to 'Requality' attributes will open. To specify the mapping select the name of the ReqIF attribute in the left column and the name of corresponding 'Requality' attribute in the middle column. Then push 'Add mapping' button. The created mapping will be represented in the right column; it will be displayed as 'attribute_ReqIF → attribute_Requality'. Also it is possible to map few attributes of ReqIF elements to one attribute of 'Requality' element. To do this, in left column instead of selecting one attribute select few attributes, the rest of actions are the same.


    Set mapping between attributes of ReqIF and Requality formats


  7. To delete incorrect mapping it is required to select it in the right column and press 'Remove mapping' button, selected mapping will be removed.


    Remove mapping between attributes of ReqIF and Requality formats


  8. Then press button 'Finish'.

After those actions, the system will import the selected ReqIF document into 'Requality' project format: new 'Requality' project will be created, with requirements catalog created in accordance to requirements catalog in the initial '.reqif' document, specified types and attributes mappings.

Export changes from a Requality project to a DOORS module

It is assumed that the Requality project has been already created. The task is to transfer it to DOORS. To do this, the following sequence of actions must be performed.

  1. If the Requality is created from scratch, you must first create an empty formal module in DOORS and add all the attributes you will use to it. If the attributes are not added to the module, then when you transfer requirements from Requality, they will not be recognized in DOORS. You also need to create a link module for this formal module. For example, create an element in the formal module and than create a link to itself. In this case, DOORS itself will offer to create a link module. Then delete the element. This newly created empty module will be updated with the project from Requality.

    If the project from Requality is updating an existing DOORS module, this step should be skipped. The further steps are identical for both cases.

  2. For convenience, let's name the module in DOORS 'D0'. Export both modules (formal and link) to a '.reqif' file, having previously blocked them for changes. For convenience, let's name this file 'reqif(D0)'. And place the resulting file in the directory of the workspace used by Requality.

  3. In Requality export the project to a ReqIF file using the 'reqif(D0)' file (see Export Requality requirements catalog into ReqIF section). We'll name the resulting file 'reqif(R1)'.

  4. In DOORS, import the newly created file 'reqif(R1)'. As a result of import, a new module is created in DOORS. Let's call it 'DNew1'.

  5. In DOORS, we update the initial module 'D0' with the new module 'DNew1'. As a result, we transfer all requirements received from Requality to the initial module 'D0' in DOORS. Now the old module 'D0' is updated. To indicate the presence of changes, we will now call it 'D1'.

    However, at this stage the synchronization of the Requality project and the DOORS module is not yet complete. Next, it is necessary to set the 'ForeignID' identifiers in the Requality project. These identifiers allow for the implementation of a unique identification of all elements, identical for the Requality project and the DOORS module.

  6. In DOORS, from the updated module 'D1', we again make an export into ReqIF with all data locked. Let's call the resulting file 'reqif(D1)'. It needs to be placed in the workspace of Requality.

  7. In Requality, on the root node of the requirements tree 'Requirements', you need to run the mass operation 'DoorsIdImporter' (how to do this is described in the section DOORSIdImporter). This will result in setting all the 'ForeignID' attributes from the DOORS project that have not yet been set. We will designate the Requality project updated in this way as 'R2'.

    The following steps are required to migrate text links from Requality to DOORS. This is only possible after the 'ForeignID' universal identifiers have been set.

  8. You need to repeat step 3, but use the file 'reqif(D1)'. We will call the resulting file 'reqif(R2)'.

  9. Repeat step 4, importing the 'reqif(R2)' file into DOORS. As a result, a new module will appear in DOORS, let's call it 'DNew2'.

  10. Repeat step 5 and update module 'D1' in DOORS with the new module 'DNew2'. As a result, the initial module will be updated again (let's call it 'D2' now).

The resulting projects 'R2' (in Requality) and 'D2' (in DOORS) are synchronized.

Troubleshooting Guide

Interproject links don't work

If interproject links (like 'REFERENCE' or 'terms') do not work, it is recommended to check the names of the linked projects. The project name must match the one specified in the corresponding reference attributes and terms.

You can see what project name is specified in the reference attributes for the related nodes (from which the link originates), and in the terms for the nodes where the term is used. To do this, click on the node in 'Requality Explorer', all its links will be displayed in the 'Requality Links Explorer' window, and the interproject links will begin with the project name (see View links of a requirements tree node section). In addition, you can open the 'Properties' view for this node and on the 'Main' tab in the 'attributes table' view the values ​​of the 'REFERENCE' type attributes and the 'usedef' attribute, at the beginning of each interproject link the name of the linked project will be indicated. If necessary, they can be edited there in the attributes table.

Guidelines for requirements development according to DO-178C

The following attributes of requirements and text nodes are recommended when developing requirements according to DO-178C. Some Requality 'reports' support working with these attributes, assuming that they have specially provided values. However, their presence is not mandatory. These attributes are set by the user independently.