Requality: руководство пользователя

Работа с проектами

Создание проекта Requality

  1. Для создания проекта Requality выберите в оконном меню пункт 'File' → 'New' → 'Project...'.

  2. В появившемся диалоговом окне выберите 'Requality → Requality Project' и нажмите кнопку'Next'.


    Выбор типа нового проекта


  3. На следующей странице введите название проекта и нажмите кнопку 'Finish'.

Структура проекта Requality имеет вид:


Структура проекта Requality


Настройки проекта Requality

Для того, чтобы открыть настройки проекта Requality, нужно в окне 'Requality Explorer' на проекте вызвать контекстное меню и выбрать пункт меню 'Properties'. Откроется окно настроек проекта. В левой части этого окна нужно выбрать 'Requality' или один из его подразделов. После чего в правой части окна отобразятся соответствующие настройки.

Настройка отображения узлов в проекте Requality

Для изменения настроек отображения узлов в проекте Requality нужно:

  1. В 'Requality Explorer' на проекте вызвать контекстное меню и выбрать пункт меню 'Properties'. Откроется окно настроек проекта.
  2. В левой части этого окна нужно выбрать 'Requality', тогда в правой части отобразятся настройки отображения узлов в проекте Requality.
Настройка сортировки

Подробнее о видах сортировки описано в разделе Сортировка элементов в проекте Requality.

Настройка определения пути к узлу

От настройки 'Full name mode' зависит то, какой способ определения пути к узлу будет предложен в контекстном меню в окне 'Requality Explorer': 'By Full Name' (см. Полный путь к узлу (FullName)) или 'By User-Visible Name' (см. UserVisibleId).

Настройка отображения узлов в 'Requality Explorer'

Галочка 'Show description on elements' влияет на отображение узлов проекта в окне 'Requality Explorer'.


Окно настроек проекта Requality: сортировка


После завершения редактирования параметров нужно нажать кнопку 'Apply', а затем кнопку 'OK'. Свойства проекта будут сохранены, для данного проекта установится выбранный способ сортировки.

Настройка правил проверки ('Checker Rules') в проекте Requality

В Requality существует возможность настроить для узлов дерева требований правила проверки ('Checker Rules'), которые позволяют проверять различные свойства узлов на соответствие некоторым условиям. Проверять можно значения атрибутов, связи между узлами, иерархию. Правила записываются в формате Java-script. В правиле можно использовать конструкцию, позволяющую задать тип узлов, к которым оно будет применено. В результате установки правил узлы дерева требований, не удовлетворяющие указанным условиям, помечаются значком ошибки в окне 'Requality Explorer', а cписок обнаруженных проблем можно посмотреть в окне 'Problems'.

Для изменения настроек правил проверки нужно:

  1. В 'Requality Explorer' на проекте вызвать контекстное меню и выбрать пункт меню 'Properties'. Откроется окно настроек проекта.
  2. В левой части этого окна нужно развернуть пункт 'Requality' и выбрать 'Checker Rules', тогда в правой части отобразятся настройки правил проверки в проекте Requality.


    Окно настроек проекта Requality: правила проверок


  3. Все существующие в проекте правила отображаются в поле 'Rules'.
  4. Далее для создания нового правила нужно нажать кнопку 'Add', для редактирования уже существующего - просто выбрать это правило в поле 'Rules'. После этого правило отобразится в разделе 'Rule settings': в поле 'Name' будет указано его имя, в поле 'Body' - текст правила. Для нового правила текст будет пуст, а имя задано автоматически по умолчанию, далее его можно изменить.
  5. При необходимости имя правила можно отредактировать в поле 'Name'.
  6. Далее нужно в поле 'Body' ввести само правило или отредактировать его, если было выбрано уже существующее правило.

    Формат записи правил.

    Правило записывается на языке JavaScript в соответствии со следующими положениями:

  7. Далее существует возможность сразу проверить работу правила на конкретных узлах. Для этого нужно в поле 'Testing subject' указать путь к интересующему узлу (по умолчанию указано '/Requirements' - это путь к узлу 'Requirements'). Под полем 'Rule settings' отображается результат проверки правила для данного узла: 'false' или 'true'.
  8. Для сохранения и применения правила нужно нажать кнопку 'Apply'.
  9. Для удаления уже существующего правила нужно выбрать это правило в поле 'Rules' и нажать кнопку 'Remove'. Правило исчезнет из списка.
  10. Для завершения работы с настройками нужно сохранить изменения и закрыть окно настроек проекта.

После указания правила в настройках проекта соответствующие узлы проекта проверяются на соответствие правилу и в случае отрицательного результата помечаются в окне 'Requality Explorer' значком ошибки (маленький красный квадратик с крестом на символе узла). Полный список таких узлов можно посмотреть в стандартном окне 'Problems', которое открывается из главного меню ('File → Window → Show view → Other → General → Problems').


Окно 'Problems' после применения правила проверки


Несколько примеров записи правил:

Настройка обязательных атрибутов в проекте Requality

В настройках проекта Requality можно задать обязательные атрибуты. То есть такие атрибуты, которые должны быть у каждого узла выбранного типа во всем проекте. Можно указать имя атрибута, его тип и значение, выбрать, для какого типа узлов дерева требований должен быть назначен этот атрибут (на данный момент эта функциональность реализована только для требований и для текстовых узлов). После этого все указанные атрибуты будут присвоены всем узлам выбранного типа. Также в настройках проекта можно удалить обязательный атрибут.


Обязательные атрибуты присваиваются, редактируются и удаляются в соответствии со следующими правилами:


Для указания (создания) обязательного атрибута нужно:

  1. В 'Requality Explorer' на проекте вызвать контекстное меню и выбрать пункт меню 'Properties'. Откроется окно настроек проекта.

  2. В левой части этого окна нужно развернуть пункт 'Requality' и выбрать 'Mandatory Attributes', тогда в правой части отобразятся настройки обязательных атрибутов проекта Requality.

  3. В поле 'Node type' нужно выбрать тип узла ('Requirement' или 'Text node'), для которого требуется указать обязательный атрибут.

  4. Далее требуется указать имя, тип и значение по умолчанию для атрибута. Сделать это можно двумя способами:

    Нужно иметь в виду, что имена системных атрибутов (т.е. атрибутов не из таблицы атрибутов) указываются с префиксом '%'. При выборе такого атрибута нельзя изменить его тип.

  5. Кликнуть по кнопке со стрелкой влево. После этого атрибут с указанными типом и именем появится в поле 'Defined attributes'.

  6. Сохранить изменения (кнопка 'Apply') и закрыть окно настроек проекта (кнопка 'OK'). После этого заданные обязательные атрибуты появятся в узлах проекта в соответствии с перечисленными выше правилами.


Окно настроек проекта Requality: обязательные атрибуты


Для редактирования обязательного атрибута нужно:

  1. В 'Requality Explorer' на проекте вызвать контекстное меню и выбрать пункт меню 'Properties'. Откроется окно настроек проекта.

  2. В левой части этого окна нужно развернуть пункт 'Requality' и выбрать 'Mandatory Attributes', тогда в правой части отобразятся настройки обязательных атрибутов проекта Requality.

  3. В поле 'Node type' нужно выбрать тип узла ('Requirement' или 'Text node'), атрибут которого требуется отредактировать.

  4. В поле 'Defined attributes' нужно выбрать требуемый атрибут (кликнуть по нему).

  5. Отредактировать тип или значение по умолчанию в полях 'Type' и 'Default value'. Обратите внимание, если отредактировать имя обязательного атрибута, это будет уже другой атрибут с новым именем. Также нужно иметь в виду, что тип системного атрибута изменить нельзя.

  6. Нажать кнопку со стрелкой влево. Изменения атрибута будут сохранены. Внимание, если кнопку не нажать, то изменения не сохранятся! Также стоит иметь в виду, что если было изменено имя обязательного атрибута, то после нажатия этой кнопки сохранится новый обязательный атрибут с этим новым именем, причем атрибут со старым именем тоже останется.

  7. Сохранить изменения (кнопка 'Apply') и закрыть окно настроек проекта (кнопка 'OK'). Теперь новые узлы будут при создании получать обновленный обязательный атрибут. При этом нужно иметь в виду, что в тех узлах, где обязательный атрибут уже был проставлен, он не изменится.


Для удаления обязательного атрибута нужно:

  1. В 'Requality Explorer' на проекте вызвать контекстное меню и выбрать пункт меню 'Properties'. Откроется окно настроек проекта.

  2. В левой части этого окна нужно развернуть пункт 'Requality' и выбрать 'Mandatory Attributes', тогда в правой части отобразятся настройки обязательных атрибутов проекта Requality.

  3. В поле 'Node type' нужно выбрать тип узла ('Requirement' или 'Text node'), атрибут которого требуется удалить.

  4. В поле 'Defined attributes' нужно выбрать требуемый атрибут (кликнуть по нему).

  5. Нажать кнопку со стрелкой вправо. Атрибут исчезнет из поля 'Defined attributes'.

  6. Сохранить изменения (кнопка 'Apply') и закрыть окно настроек проекта (кнопка 'OK'). Теперь новые узлы при создании не будут получать этот атрибут. При этом нужно иметь в виду, что в тех узлах, где обязательный атрибут уже был проставлен, он сохранится.


Настройка ссылок в проекте Requality

Для изменения настроек ссылок (подробнее об использовании ссылок см. Работа со ссылками между узлами дерева требований) нужно:

  1. В 'Requality Explorer' на проекте Requality вызвать контекстное меню и выбрать пункт меню 'Properties'. Откроется окно настроек проекта.

  2. В левой части этого окна нужно развернуть пункт 'Requality' и выбрать 'Requality References', тогда в правой части отобразятся настройки ссылок в проекте Requality.

  3. В разделе 'References antonyms' отображается информация об именах исходящих и входящих ссылок. В поле 'Select reference name' будет отображаться список имен всех атрибутов проекта, имеющих тип 'REFERENCE', то есть список имен всех исходящих ссылок. Его нужно загрузить с помощью кнопки 'Load reference names'. В поле 'Default renames' отображается список уже заданных в проекте пар «имя исходящей ссылки → имя входящей ссылки», некоторые из этих пар по умолчанию заданы для любого проекта Requality, остальные создаются пользователем.

  4. Чтобы указать или изменить имя входящей ссылки, требуется в поле 'Reference name' вписать имя соответствующей исходящей ссылки. Имя исходящей ссылки можно также указать, кликнув на нем в списке имеющихся имен ссылок. Если требуется изменить имя входящей ссылки, которое уже было задано в пару к имени исходящей ссылки, то можно сразу выбрать эту пару имен, кликнув по ней в поле существующих пар имен ссылок. Далее нужно в поле 'Backward reference name' изменить имя входящей ссылки и нажать кнопку 'Set'. Новое имя входящей ссылки будет сохранено в паре к указанной исходящей ссылке, эта обновленная пара будет отображаться в списке доступных пар имен ссылок.

  5. В поле 'Default reference name' можно отредактировать имя, которое по умолчанию дается ссылке при создании новых ссылок с помощью кнопки '0,1,*' (см. Создание ссылки с помощью кнопки '0,1,*').

  6. Сохранить изменения (кнопка 'Apply') и закрыть окно настроек проекта (кнопка 'OK'). Свойства проекта будут сохранены.


Окно настроек проекта Requality: ссылки


Настройка автогенерируемых идентификаторов в проекте Requality

Для изменения настроек автогенерируемых идентификаторов узлов (подробнее об использовании автогенерируемых идентификаторов узлов см. Уникальные идентификаторы узлов дерева требований) нужно:

  1. В 'Requality Explorer' на проекте Requality вызвать контекстное меню и выбрать пункт меню 'Properties'. Откроется окно настроек проекта.

  2. В левой части этого окна нужно развернуть пункт 'Requality' и выбрать 'Sequential Identifiers', тогда в правой части отобразятся настройки автогенерируемых идентификаторов узлов в проекте Requality.

  3. Если галочка 'Enable Sequential Identifiers' установлена, значит в проекте включен механизм автогенерируемых идентификаторов узлов. Если механизм отключен, то для его включения нужно установить эту галочку, после чего станут доступны остальные настройки автогенерируемых идентификаторов. Для отключения механизма, соответственно, нужно ее снять.

  4. В поле 'Attribute name' можно указать имя для атрибута, содержащего автогенерируемый идентификатор. По умолчанию это 'ForeignID'.

  5. В поле 'Prefix' можно указать префикс, который будет отображаться в автогенерируемом идентификаторе перед числовым значением. По умолчанию префикс отсутствует.

  6. Далее нужно сохранить изменения (кнопка 'Apply') и закрыть окно настроек проекта (кнопка 'OK'). Свойства проекта будут сохранены.


Окно настроек проекта Requality: порядковые идентификаторы


Редактирование параметров проекта Requality

Глобальные атрибуты, которые распространяются на все дерево проекта, могут быть заданы в окне 'Properties'. Для этого нужно в 'Requality Explorer' кликнуть на названии проекта. После чего в 'Properties' отобразятся параметры данного проекта.

Глобальный атрибут может быть задан и отредактирован вручную в таблице атрибутов. Атрибут для задания перечислимого типа может так же быть создан с помощью полуавтоматического извлечения из уже существующих атрибутов узлов проекта (см. ниже).

Работа с таблицей атрибутов проекта

Таблица атрибутов проекта во многом подобна таблице атрибутов требований. И работа с атрибутами проекта осуществляется аналогично (подробнее про работу с таблицей атрибутов требования см. 'Редактирование параметров требования, раздел Attributes'). Далее описаны особенности таблицы атрибутов проекта:


Полуавтоматическое извлечение атрибута 'ENUM_DEFINITION'

Глобальный атрибут для задания перечислимого типа можно создать вручную в таблице атрибутов (как описано выше), а также с помощью полуавтоматического извлечения из уже существующих атрибутов проекта. Для этого:

  1. В окне 'Properties' проекта кликните по кнопке 'Extract enum definitions from attributes'. Откроется диалоговое окно 'Enum definition extractor dialog'.


    Редактор для полуавтоматического извлечения атрибута 'ENUM_DEFINITION'


  2. В этом окне в поле 'Select a name of the attribute' выберите имя атрибута, тип которого вы хотите преобразовать в перечисляемый. Справа в поле 'Values of selected attributes' отобразится список значений этого атрибута, этот список собран со всех атрибутов с таким же именем, которые есть в узлах проекта.

  3. Снизу в поле 'Select a name of ENUM definition' задайте имя для атрибута типа 'ENUM_DEFINITION', который будет создан на основании значений выбранного атрибута.

  4. Нажмите кнопку 'OK'.

Теперь атрибут типа 'ENUM_DEFINITION' создан, он отображается в таблице 'Attributes' с заданным именем и в качестве списка значений имеет список значений, собранный со всех атрибутов с выбранным именем. В окне 'Properties' узлов, у которых были эти атрибуты, вы можете увидеть, что тип атрибутов изменился на новый созданный атрибут 'ENUM_DEFINITION'.


История ревизий в проекте Requality

Для просмотра истории ревизий проекта Requality нужно в 'Requality Explorer' кликнуть на названии проекта. После чего в окне 'Properties' открыть вкладку 'History'. Подробнее о просмотре ревизий см. Просмотр истории ревизий у проекта Requality.

Работа с документами

Импортирование документа

Для того чтобы начать выделять требования, сначала требуется импортировать один или несколько документов, содержащих требования. Требования могут быть записаны в свободной форме. Requality предусматривает импортирование в проект документов со следующими расширениями: 'doc', 'pdf', 'htm', 'html'. При этом Requality копирует исходный документ, преобразовывает его формат в 'xhtml' и помещает полученный документ в проект. Исходный документ не испытывает никаких изменений. Дальнейшая работа осуществляется над полученным xhtml-документом.

Requality позволяет импортировать документы по одному или группами, а также импортировать папки с документами.

  1. Для импорта документов выберите узел 'Documents' (или его дочерний узел) с пиктограммой папки. В контекстном меню выберите 'Import Document...'.

  2. Выбор директории. В открывшемся диалоговом окне 'Document Import Wizard' с помощью кнопки 'Browse...', расположенной справа от поля 'From directory:', укажите директорию, в которой находятся сами документы, содержащие требования, или папки с этими документами.

  3. Выбор документа или папки. Есть несколько способов выбора документов:

  4. Настройка фильтра расширений документов. Как было указано выше, Requality предусматривает импортирование в проект документов с расширениями 'doc', 'pdf', 'htm' и 'html'. И по умолчанию в инструменте настроен фильтр, который позволяет импортировать только их. Если вы хотите импортировать документ другого типа, то нужно перенастроить этот фильтр. Чтобы это сделать, используйте в окне 'Document Import Wizard' кнопку 'Select types', которая позволяет настраивать фильтр на типы доступных для импорта документов:

    1. Нажмите кнопку 'Select types'.

    2. В открывшемся окне 'Select Types' в списке доступных расширений укажите галочками типы расширения тех документов, которые вы хотите импортировать. Документы с расширениями, которые в этом окне галочками не отмечены, доступны для импортирования не будут, вы не увидите их в окне импортирования.

    3. В окне 'Select Types' для выбора расширений вы также можете использовать кнопки 'Select All' и 'Deselect All', которые позволяют соответственно отмечать все расширения или снимать отметку со всех расширений в списке.

    4. Если вы хотите импортировать документ с расширением, которое в данном списке не указано, впишите это расширение в поле 'Other extensions:' (например: 'xhtml').

    5. Помните, что импортирование документа с любыми расширениями, кроме 'doc', 'pdf', 'htm' и 'html', не предусмотрено в инструменте Requality, поэтому результат может быть некорректен!

    6. Помните, если в выбранной для импорта папке вы не видите документ, который, вы уверены, в ней находится, проверьте настройки этого фильтра.

    Если вы уже выбрали нужные вам расширения, нажмите кнопку 'OK'. Теперь документы, расширения которых вы указали в фильтре, будут отображаться в окне импорта.

  5. Выбор целевой папки импортирования. Рассмотрим окно 'Document Import Wizard' дальше. Под полями выбора папок и документов находится поле 'Into folder:'. Укажите в нем папку проекта, в которую будут добавлены выбранные документы. По умолчанию в этом поле указана папка 'Documents' (корневая папка документов в проекте Requality) или ее подпапка, для которой вы выбрали меню 'Import Document...'. Но с помощью кнопки 'Browse...' возле этого поля вы можете выбрать или создать другую папку. (Подробнее о папках документов и других способах их создания см. Создание папок документов).

    Окно импортирования документов


  6. Если имена документов, которые вы хотите импортировать, совпадают с именами уже находящихся в этой папке документов, вы можете использовать опцию переименования. Выберите в окне импорта флажок 'Rename existing documents'. Теперь импортируемые документы в случае совпадения имен будут переименовываться с добавлением индексов.

  7. Если вы импортируете не отдельные документы, а папку с документами целиком, и эта папка содержит вложенные папки с документами, то по умолчанию такая иерархия не будет сохранена в папке 'Documents' Requality-проекта. Все вложенные документы просто импортируются в корень целевой папки. Чтобы сохранить иерархию, выберите в окне импорта опциональный флажок 'Create folders'. Теперь при импорте все вложенные папки и документы будут импортированы с учетом иерархии.

  8. Если вы выбрали документы для импортирования и указали целевую папку, завершите процесс импортирования нажатием кнопки 'Finish' в окне 'Document Import Wizard'.

При успешном прохождении процесса импорта в дереве проекта в целевой папке документов появятся импортированные документы, преобразованные в необходимый для дальнейшей работы формат 'xhtml'.

Удаление документа

  1. Для удаления документа выберите этот документ в окне 'Requality Explorer'.

  2. Правой кнопкой мыши вызовите контекстное меню, выберите в нем пункт 'Delete Document'. Также для удаления документа можно использовать горячую клавишу 'Delete'.

  3. После этого появится окно для подтверждения удаления документа. Нажмите в нем кнопку 'OK' для продолжения процесса удаления.

  4. Если в удаляемом документе уже были выделенные фрагменты требований, на данном этапе удаления возникнет еще одно окно для подтверждения удаления, содержащее предупреждение о наличии выделенных фрагментов. Нажмите в нем кнопку 'OK' для продолжения процесса удаления. Внимание, в этом случае будет удален как сам документ, так и все его фрагменты, которые были использованы в требованиях! Сами требования останутся на месте, но из них исчезнут ссылки на соответствующие фрагменты удаленного документа.

Обновление документа

Requality позволяет обновлять документацию путем переноса требований из старой версии документа в новую. Об этом подробнее написано в разделе 'Перенос фрагментов требований в новую версию документа'.

Создание папок документов

Для удобства работы с документами внутри узла 'Documents' можно создавать папки и размещать документы в них.

  1. Для создания папки документов выделите узел 'Documents' или любую другую вложенную папку, в контекстном меню выберите 'Create Folder'.

  2. В открывшемся окне в поле 'Enter folder name' введите желаемое имя папки.

  3. Имя не должно повторять имена папок, находящихся на том же уровне иерархии. В противном случае появится предупреждающее об этом сообщение, и продолжать процесс создания папки с таким именем будет невозможно.

  4. Если вы ввели корректное имя, нажмите кнопку 'OK'. Папка с указанным именем появится в 'Requality Explorer' на выбранном уровне иерархии.

Теперь вы можете импортировать документы в новую папку.

Удаление папки документов

  1. Для удаления папки документов выберите эту папку в окне 'Requality Explorer'.

  2. Правой кнопкой мыши вызовите контекстное меню, выберите в нем пункт 'Delete Folder'. Также для удаления папки документов можно использовать горячую клавишу 'Delete'.

  3. После этого появится окно для подтверждения удаления документа. Обратите внимание, что удаление папки повлечет за собой удаление всех находящихся в ней документов и дочерних папок с их содержимым. Если вы уверены в правильности удаления выбранной папки, нажмите в окне подтверждения кнопку 'OK' для продолжения процесса удаления.

  4. Если в удаляемой папке или ее дочерних папках содержится документ, в котором есть выделенные фрагменты требований, на данном этапе удаления возникнет еще одно окно для подтверждения удаления. Обратите внимание, что при удалении папки все эти документы будут удалены, что повлечет удаление выделенных в них фрагментов требований. Если вы уверены в правильности удаления, нажмите в окне подтверждения кнопку 'OK' для продолжения процесса удаления.

Работа с требованиями

В проекте Requality все требования расположены в узле 'Requirements'.

Создание требования

Требование можно создать несколькими способами: из 'Requality Explorer', из 'UniEditor' и из 'ModuleEditor'. Требования можно создавать как с нуля, так и из шаблонов требований текущего проекта. Требования как потомки узлов можно создавать только для требований, у текстовых узлов не может быть требований-потомков.

Создание требования путем копирования

Требование также можно создать путем копирования уже существующего требования.

Удаление требования

Обратите внимание, что при удалении требования удаляются также все содержащиеся в нем дочерние требования и снимается разметка со всех выделенных фрагментов, на которые ссылается данное требование. Также вместе с требованием будет удалено все его поддерево, включая узлы всех типов (и требования, и комментарии, и другие возможные в случае использования дополнительных плагинов узлы).

Требование можно удалить из 'Requality Explorer', для этого нужно выбрать его в этом окне, вызвать правой кнопкой контекстное меню и выбрать пункт 'Delete Requirement'. В редакторах 'UniEditor' и 'Module Editor' требование можно удалить из выпадающего меню узла либо из выпадающего меню в правом верхнем углу редактора с помощью пункта меню 'Delete Requirement'. Также можно воспользоваться горячей клавишей 'Delete'. После одного из указанных действий нужно подтвердить удаление требования в появившемся окне, нажав кнопку 'OK'.

Создание требования при выделении фрагмента текста

ВНИМАНИЕ! Если вы хотите скопировать фрагмент текста из редактора документа, воспользуйтесь для копирования горячими клавишами 'Ctrl+Shift+c'.

Создать требование вы можете из редактора документа ('Markup Editor'), сразу связав его с некоторым фрагментом текста.

  1. Откройте документ, часть текста которого вы хотите присвоить новому требованию.

  2. Выберите в 'Requality Explorer' узел-требование 'Requirements' или одно из вложенных требований. Назовем это выбранное требование целевым. Новое требование будет создаваться как подтребование целевого.

  3. В редакторе документа выделите часть текста. Внимание! Если требуемый фрагмент принадлежит какому-либо требованию и уже выделен в тексте документа, не требуется выделять его курсором мыши, пропустите этот шаг.

  4. Вызовите на выделенном тексте правой кнопкой мыши контекстное меню и выберите один из двух пунктов:

    Обратите внимание, если целевым требованием является 'Requirements', то в этих двух пунктах контекстного меню имя целевого требования не указывается, они имеют формат, соответственно, 'Create new Requirement: <идентификатор_нового_требования>' и 'Create new Requirement: <имя_нового_требования>'.

    Помните, что вы всегда можете поменять выбранные идентификатор и имя требования позднее, отредактировав соответствующие параметры требования (см. Редактирование параметров требования).

  5. В итоге к целевому требованию будет добавлено вложенное требование с указанными идентификатором и именем. Оно будет содержать ссылку на выделенный фрагмент документа. Данный фрагмент документа в тексте документа будет маркирован желтым цветом.


Контекстное меню выделенного фрагмента текста


О простом способе создания требований вы можете почитать в разделе 'Создание требования'.

Добавление фрагмента текста к требованию

Требование может содержать несколько фрагментов документа. Поэтому добавлять фрагмент можно как к требованию, которое еще ни на что не ссылается, так и к требованию, уже имеющему фрагменты.

  1. Откройте документ, часть текста которого вы хотите присвоить новому требованию.

  2. Выберите в 'Requality Explorer' требование, к которому вы хотите добавить фрагмент документа. Назовем это требование целевым.

  3. В редакторе документа выделите нужную часть текста. Внимание! Если требуемый фрагмент принадлежит какому-либо требованию и уже выделен в тексте документа, не требуется выделять его курсором мыши, пропустите этот шаг.

  4. Вызовите на выделенном тексте правой кнопкой мыши контекстное меню и выберите один из двух пунктов:

  5. Выделенный фрагмент требования теперь помечен в тексте желтым цветом и добавлен в целевое требование. То есть теперь целевое требование содержит ссылку на данный фрагмент текста.

Удаление фрагмента в редакторе документа

Чтобы удалить фрагмент документа из требования, нужно в редакторе документа снять с этого фрагмента выделение. После чего требование больше не будет содержать ссылки на данный фрагмент документа. Внимание! Если данный фрагмент принадлежит нескольким требованиям одновременно, он будет удален из всех этих требований. (Если вы хотите удалить фрагмент только из одного требования, см. Удаление фрагмента в окне Properties). Для этого:

  1. Дважды кликните на фрагменте в окне 'Properties'. Документ откроется и будет прокручен на то место, где находится требуемый фрагмент.

  2. Найдите нужный фрагмент, вызовите на нем правой кнопкой мыши контекстное меню, выберите пункт меню 'Remove from Requirement'.

  3. В результате с данного фрагмента документа снимается выделение. И ссылка на него удаляется из требования (отследить это можно в окне 'Properties' требования на вкладке 'Description' в поле 'Locations:' или в окне 'Requality Explorer').

Удаление фрагмента в окне Properties

Если вы хотите удалить фрагмент из конкретного требования, воспользуйтесь описанной ниже инструкцией. Такой способ удаления особенно удобен в том случае, если данный фрагмент принадлежит нескольким требованиям одновременно, но должен быть удален только из одного.

  1. Откройте в окне 'Properties' нужного требования вкладку 'Description' (см. Редактирование параметров требования).

  2. Выберите в списке 'Locations' требуемый фрагмент.

  3. Вызовите на нем контекстное меню и выберите пункт 'Delete'. Или воспользуйтесь горячей клавишей 'Delete'.

Автоматическая разметка фрагментов требований в документе

Requality позволяет разметить документ автоматически. Для этого в 'Requality Explorer' выберите документ, вызовите контекстное меню и выберите 'HTML Headers Document Processor'. Он позволяет выделить в качестве требований тот текст, который находится в HTML-документе внутри тегов-заголовков (<h1></h1>, <h2></h2> и т.д.). После этого соответствующие фрагменты текста в документе будут размечены как требования.

Редактирование параметров требования

Чтобы отредактировать параметры требования, щелкните по нужному требованию в 'Requality Explorer' или по одному из его фрагментов в окне 'Outline', в окне 'Properties' откроются свойства требования.

Далее рассмотрены только те параметры требования, которые можно изменить вручную.

  1. Id

  2. Name

  3. Type

  4. Attributes

  5. Alternative description

  6. Locations

  7. Predicate

История ревизий требования

Чтобы посмотреть историю ревизий требования, щелкните по нужному требованию в 'Requality Explorer', после этого в окне 'Properties' откройте вкладку 'History'. В этой вкладке находится таблица с историей ревизий этого требования (о просмотре истории и сравнении ревизий подробнее см. Просмотр истории ревизий у узлов дерева требований). Верхняя строчка таблицы соответствует последней синхронизированной с глобальным репозиторием ревизии. Далее сверху вниз идут строки ревизий по убыванию, от более свежих к более старым.

Перенос фрагментов требований в новую версию документа

Requality позволяет переносить выделенные фрагменты требований в новую версию документа. Допустим, у нас уже был документ с выделенными фрагментами. Однако появилась новая версия данного документа с исправлениями или дополнениями. Вы можете захотеть перенести разметку требований из старого документа в новый.

Для этого нужно сделать следующее:

  1. Убедитесь, что новый документ тоже импортирован в проект Requality. Если нет, импортируйте его в текущий проект.

  2. Выберите в окне 'Requality Explorer' новый документ, вызовите контекстное меню и выберите в нем пункт 'Update Document'.

  3. В открывшемся окне выберите старый документ.

  4. После завершения обработки выдается окно с информацией о том, сколько фрагментов было найдено в старой версии документа, и сколько фрагментов было перенесено в новую версию.

  5. В любом случае, перенос всех требований должен быть проверен пользователем: для каждого требования пользователь или подтверждает корректный перенос требования, или модифицирует требование. Для этого после обработки документа процессором в перспективе Requality открывается окно 'Update Processor Tasks', отображающее текущее состояние каждого требования из каталога и предоставляющее возможность ручной смены статусов перенесенных требований.


    Окно для ручной смены статусов перенесенных требований


    В данном окне пользователь может проверить корректность автоматического переноса требований, при необходимости внеся модификации. Таблица в этом окне представляет собой список задач для проверки. Для каждой задачи отображается требование, с которым она связана, и действие, которое предлагается выполнить. Всего действий три — по трем состояниям требований:

    Кроме того, каждая задача имеет статус, один из двух:

  6. Дальнейшие действия пользователя выполняются им для каждой задачи в таблице.

    1. Дважды кликнуть в окне на выбранной задаче. При этом выше откроются два окна редактора документа, показывающие это соответствующее задаче требование сразу в обоих документах: в старом и в новом. В старом документе фрагменты требования автоматически подсвечены в тексте. В новом документе подсвечены только перенесенные фрагменты требования, если ни один фрагмент не был перенесен, то документ будет открыт без выделенных фрагментов текста.

      Замечание. При включенной синхронизации между окном 'Requality Explorer' и браузером (нажатой кнопке 'Link with Editor' в тулбаре 'Requality Explorer') из окна 'Update Processor Tasks' может некорректно открываться требование, для которого ни один фрагмент не был перенесен (с красной пиктограммой). Для корректного отображения таких требований рекомендуется отключать синхронизацию между браузером и окном 'Requality Explorer'.

    2. Теперь, в случае разногласий с автоматическим переносом, пользователь может модифицировать требование: добавить к нему фрагменты или удалить.

    3. После проверки задачи и, если необходимо, внесения изменений, нужно эту задачу пометить как проверенную. Для этого нужно выделить ее в таблице и нажать кнопку 'Complete'.

    4. Можно настроить представление так, чтобы проверенные требования не отображались в таблице. Для этого нужно в меню окна 'Update Processor Tasks' нажать на кнопку 'Hide Completed Items'.

    5. Еcли задача была ошибочно помечена, как проверенная, можно снова изменить ее статус на 'CHECK' с помощью кнопки 'Check'.

    6. После того, как все задачи проверены пользователем и при необходимости модифицированы, можно удалить список задач из данного представления. Задачи нужно удалять с помощью кнопок из меню окна 'Update Processor Tasks': кнопка 'Delete Selected Task' удаляет одну выделенную задачу, а кнопка 'Delete all Update Processor Tasks' удаляет все задачи из окна 'Update Processor Tasks' для текущего проекта. Удаление можно отменить, выполнив команду меню 'Edit → Undo …'.

  7. После переноса всех фрагментов требований рекомендуется удалить из проекта старую версию документа.

Внимание! Предполагается последовательный перенос требований для разных документов. Сначала рекомендуется перенести и при необходимости откорректировать требования из одного документа, затем проводить процедуру для следующих документов.

Генерация теста для требования

Requality позволяет добавлять к тестовым ситуациям и требованиям тесты при помощи системы генераторов тестов. В частности поддерживается генерация тестов по заданному шаблону.

Для генерации тестов можно воспользоваться 'Requality Explorer'. Для этого нужно:

Также возможно вызвать диалог добавления теста из отчета 'Анализ покрытия требований' путем нажатия на кнопку 'Add test' в окне просмотра отчета.

Диалог добавления теста также доступен в главном меню Eclipse: 'File → New → Other → раздел 'Requality → Create Test'.

Массовые операции на требованиях

Массовые операции позволяют совершать различные манипуляции сразу для целого поддерева требований, в том числе, при необходимости, и для всего дерева требований проекта.

Для начала работы с массовыми операциями нужно совершить несколько общих для всех операций действий:

  1. В 'Requality Explorer' выбрать целевой элемент в дереве требований проекта. Дальнейшая операция будет совершена для целевого элемента и (в зависимости от операции) всего его поддерева.

  2. В открывшемся окне 'Mass ops wizard' будет предложено еще раз выбрать целевой элемент дерева требований, для которого будет осуществлена дальнейшая операция. И нажать кнопку 'Next >'.

Откроется окно со списком доступных массовых операций.

Работа с шаблонами узлов

Редактор шаблонов

Чтобы создать, отредактировать или удалить шаблон узла, а также чтобы назначить 'активный шаблон узла' в проекте Requality, нужно сначала открыть окно редактора шаблонов:

Внимание! В редакторе шаблонов в поле 'List of templates' отображается список шаблонов только для того типа узлов, который выбран в выпадающем списке 'Select Node Type'.

Создание шаблона

Существует два способа создания шаблона узла:

Удаление шаблона

Чтобы удалить шаблон:

  1. Откройте редактор шаблонов (как его открыть см. выше).

  2. Выберите тип узла, шаблон которого вы хотите удалить. При этом в поле 'List of templates' отобразятся все существующие в этом проекте шаблоны для узлов выбранного типа.

  3. Кликните в списке 'List of templates' по шаблону, который вы хотите удалить.

  4. Нажмите кнопку 'Remove' справа от списка.

    После этого вы увидите, что этот шаблон исчез из списка шаблонов, то есть был удален.

Редактирование шаблона

Чтобы отредактировать шаблон:

  1. Откройте редактор шаблонов (как его открыть см. выше).

  2. Выберите тип узла, шаблон которого вы хотите отредактировать. При этом в поле 'List of templates' отобразятся все существующие в этом проекте шаблоны для узлов выбранного типа.

  3. Кликните в списке 'List of templates' по шаблону, который вы хотите отредактировать.

  4. Нажмите кнопку 'Edit' справа от списка.

    В результате откроется окно для редактирования параметров шаблона. Редактирование параметров шаблона аналогично редактированию тех же параметров узла соответствующего типа в окне 'Properties'. Подробнее можно посмотреть здесь:

Установка активного шаблона

Чтобы сделать уже созданный шаблон активным (см. 'активный шаблон'), выполните следующие действия:

  1. Откройте редактор шаблонов (как его открыть см. выше).

  2. Выберите тип узла, шаблон которого вы хотите сделать активным. При этом в поле 'List of templates' отобразятся все существующие в этом проекте шаблоны для узлов выбранного типа.

  3. Кликните в списке 'List of templates' по шаблону, который вы хотите сделать активным.

  4. Нажмите кнопку 'Set as active' справа от списка.

    После этого вы увидите, что этот шаблон в списке 'List of templates' выделен жирным шрифтом. Это означает, что шаблон стал активным. Теперь все узлы такого же типа по умолчанию будут создаваться по этому шаблону.

Работа с текстовыми узлами

В проекте Requality все текстовые узлы расположены в узле 'Requirements'. Во многом работа с текстовыми узлами идентична работе с требованиями (см. Работа с требованиями).

Создание текстового узла

Создание текстового узла полностью идентично созданию требования (см. Создание требования).

Создание текстового узла путем копирования

Создание текстового узла путем копирования полностью идентично созданию требования путем копирования (см. Создание требования путем копирования).

Удаление текстового узла

Удаление текстового узла полностью идентично удалению требования (см. Удаление требования). Нужно помнить, что при удалении текстового узла будет удалено все его поддерево узлов.

Редактирование параметров текстового узла

Редактирование параметров текстового узла почти полностью идентично редактированию параметров требования (см. Редактирование параметров требования). Кроме нескольких исключений:

История ревизий текстового узла

Чтобы посмотреть историю ревизий текстового узла, щелкните по нужному текстовому узлу в 'Requality Explorer', после этого в окне 'Properties' откройте вкладку 'History'. Работа с этой вкладкой аналогична работе с соответствующей вкладкой у требования (см. История ревизий требования).

Работа с тестовыми ситуациями

В проекте Requality все тестовые ситуации размещаются в узле 'Requirements' в листовых требованиях, то есть требованиях, не содержащих другие требования.

Создание тестовой ситуации

Обратите внимание, тестовая ситуация может быть добавлена только листовому требованию, то есть такому требованию, у которого нет вложенных требований.

Тестовую ситуацию можно создать несколькими способами: из 'Requality Explorer' и из 'UniEditor'. Тестовые ситуации можно создавать как с нуля, так и из шаблонов тестовых ситуаций текущего проекта.

Если в проекте выбран 'активный шаблон', то в пунктах меню будет отображаться его название, то есть пункт меню будет называться не 'Add New Test Purpose', а, например, 'Add New Test Purpose - <basic>', где '<basic>' – это имя шаблона.

После выполнения указанных действий откроется окно редактирования тестовой ситуации.


Редактор тестовой ситуации, открытый из 'UniEditor'


Если был выбран 'активный шаблон', то все поля тестовой ситуации, кроме поля 'Id', будут заполнены из этого шаблона. Поле 'Id' будет вычисляться следующим образом:

Создание тестовой ситуации путем копирования

Тестовую ситуацию также можно создать путем копирования уже существующей тестовой ситуации.

Редактирование параметров тестовых ситуаций

Чтобы отредактировать параметры тестовой ситуации, щелкните по нужной тестовой ситуации в 'Requality Explorer' в окне 'Properties' откроются свойства тестовой ситуации.

Далее рассмотрены только те параметры тестовой ситуации, которые можно изменить вручную.

  1. Id

  2. Name

  3. Status

  4. Author

  5. Attributes

  6. Description

  7. Expected Results

  8. Predicate

История ревизий тестовой ситуации

Чтобы посмотреть историю ревизий тестовой ситуации, щелкните по нужной тестовой ситуации в 'Requality Explorer', после этого в окне 'Properties' откройте вкладку 'History'. Работа с этой вкладкой аналогична работе с соответствующей вкладкой у требования (см. История ревизий требования).

Удаление тестовой ситуации

Тестовую ситуацию можно удалить из 'Requality Explorer', для этого нужно выбрать ее в этом окне, вызвать правой кнопкой контекстное меню и выбрать пункт 'Delete Test Purpose'. В редакторе 'UniEditor' тестовую ситуацию можно удалить из выпадающего меню узла либо из выпадающего меню в правом верхнем углу редактора с помощью пункта меню 'Delete Test Purpose'. Также для удаления тестовой ситуации можно воспользоваться горячей клавишей 'Delete'. После одного из указанных действий нужно подтвердить удаление тестовой ситуации в появившемся окне, нажав кнопку 'OK'.

Генерация теста для тестовой ситуации

Для тестовой ситуации доступен механизм генерации связанного с ней теста, подробней процесс описан в разделе Генерация теста для требования.

Работа с отчетами

В проекте Requality два вида узлов участвуют в создании отчетов:

Описание стандартных видов отчетов

Requality предлагает для генерации набор стандартных отчетов. Для них существуют предустановленные шаблоны.

Часть предлагаемых шаблонов на данный момент относятся к экспериментальной функциональности, поэтому могут работать нестабильно, и для них может отсутствовать подробное описание в данной документации. В настройках отчета такие шаблоны явно сгруппированы в раздел 'ЭКСПЕРИМЕНТАЛЬНЫЕ'.

Также существует возможность добавить свой шаблон отчета.

Стандартные виды отчетов Requality:

ЭКСПЕРИМЕНТАЛЬНЫЕ

Добавление и удаление шаблона отчета

Отчет в Requality генерируется на основе шаблона отчета. Выбор шаблона осуществляется в настройках отчета из списка доступных шаблонов (см. Редактирование параметров настроек отчета). Помимо встроенного в Requality набора шаблонов отчетов можно использовать дополнительные шаблоны отчетов. Но для этого их сначала нужно добавить в Requality. Также можно удалить шаблон из списка доступных шаблонов отчетов, если он не является встроенным по умолчанию.

Чтобы добавить новый шаблон отчета в Requality нужно:

  1. Кликнуть на узле 'Reports', поcле чего в окне 'Properties' выбрать вкладку 'Templates'. На этой вкладке отображается список уже доступных шаблонов отчетов. При выборе одного из них в полях выше отобразится имя выбранного шаблона и путь к его файлу в файловой системе.
  2. Для добавления нового шаблона нужно нажать кнопку 'Add new template'.
  3. В открывшемся окне указать путь к директории, в которой лежит файл с новым шаблоном отчета и нажать 'OK'.

После этого отчет появится в списке доступных шаблонов во вкладке 'Templates' (см. рисунок ниже). А также он будет доступен для выбора во всех настройках отчетов.


Список доступных шаблонов отчета после добавления нового шаблона


Чтобы удалить добавленный шаблон отчета нужно:

  1. Кликнуть на узле 'Reports', поcле чего в окне 'Properties view' выбрать вкладку 'Templates'.
  2. На этой вкладке в списке доступных шаблонов отчетов выбрать желаемый шаблон и нажать кнопку 'Delete template'.

В результате этот шаблон исчезнет из списка доступных шаблонов и больше не будет доступен для выбора в настройках отчетов.

Создание настроек отчета

Для того чтобы создать отчет, сначала нужно создать настройки отчета. Отчет может генерироваться для какого-либо требования, называемого ключевым - 'Root requirement'. Такой отчет будет включать информацию о самом выбранном узле и о всем его поддереве дочерних узлов. От выбранного шаблона меняется вид и содержимое отчета.

Для создания настроек отчета на узле 'Reports' (или любой папке отчетов) вызовите контекстное меню и выберите пункт 'Create Report Settings'. Узел настроек отчета будет создан.

Редактирование параметров настроек отчета

Чтобы отредактировать параметры настроек отчета, щелкните по нужному узлу настроек отчета в окне 'Requality Explorer', тогда в окне 'Properties' откроются его параметры.

Далее рассмотрены редактируемые параметры настроек отчета:

  1. Root requirement

  2. Template

  3. Флажок Generate report for related projects (применим не для всех шаблонов отчетов)

  4. Флажок Use project-scope numeration (применим не для всех шаблонов отчетов)

  5. Флажок Show root data in generation (применим не для всех шаблонов отчетов)


    Дополнительные настройки отчётов


  6. Attributes

  7. Кнопка Update Coverage Source. Такая кнопка появляется в окне параметров при выборе одного из шаблонов для отчета по покрытию.

  8. Кнопка Open Settings. Такая кнопка появляется в окне параметров при выборе некоторых шаблонов.

Генерация многотомных документов

При настройках по умолчанию проект Requality рассматривается как единый набор требований и сопроводительной информации.

При генерации отчёта с настройками по умолчанию будет сгенерирована одна страница с содержимым проекта согласно настройкам отчёта.

Иногда, особенно в случае большого количества требований и других объектов, содержащихся в спецификации, возникает необходимость в разбиении каталога требований на несколько взаимосвязанных, но при этом логически разделённых разделов (томов).

Для подобных целей в Requality предусмотрена возможность разбиения результата генерации (отчёта) на несколько глав или томов, объединённых в одном отчёте.

Доступны два варианта данной функциональности:

Разбивка на тома на уровне разделов 1 (первого) уровня

Requality позволяет генерировать отчёты по имеющимся в проекте требованиям с разбивкой на тома согласно разделам спецификации требований.

Для разбивки спецификации требований на тома по разделам 1 (первого) уровня необходимо выполнить следующие действия:

  1. Установить фокус на корневой узел дерева проекта – 'Requirements'.

  2. Перейти в область 'Properties'.

  3. Открыть вкладку 'Main'.

  4. Добавить дополнительный атрибут с названием 'MultiPartDocument', установить ему логический тип 'BOOL' и значение 'true'.


    Добавление атрибута многотомности на уровне корневого узла требований


  5. Создать для проекта настройки генерации отчёта – на уровне узла 'Reports' вызвать контекстное меню, перейти на пункт 'New'->'Reports Settings'.


    Создание настроек отчёта


  6. В создавшихся настройках отчёта перейти в окне 'Properties' на вкладку 'Reports Settings'.

  7. Выбрать в поле 'Template' шаблон 'Чтение требований' , после чего нажать кнопку 'Generate'.


    Генерация отчёта


  8. После завершения генерации отчёт откроется в области просмотра.

  9. В шапке отчёта будут сформированы тома в виде вкладок в соответствии с разделами первого уровня (1). Поменять отображаемый в окне просмотра раздел можно с помощью клика по соответствующей вкладке отчёта.

  10. Разделы уровней 2 и глубже, а также их содержимое, будут размещены внутри сформированных томов (2).


    Многотомный отчёт на уровне корня


Разбивка на тома на уровне раздела произвольного уровня

Requality позволяет генерировать отчёты по имеющимся в проекте требованиям с разбивкой на тома на уровне произвольно взятого раздела спецификации требований.

Для разбивки спецификации требований на тома на уровне раздела произвольного уровня необходимо выполнить следующие действия:

  1. Установить фокус на корневой узел дерева проекта – 'Requirements'.

  2. Перейти в область 'Properties'.

  3. Открыть вкладку 'Main'.

  4. Добавить дополнительный атрибут с названием 'MultiPartDocument', установить ему ссылочный тип 'REFERENCE'.


    Добавление атрибута многотомности на уровне корневого узла со ссылкой


  5. В поле значения добавленного атрибута многотомности нажать на кнопку '…', после чего в появившемся окне 'Link Editor' выбрать узел, на уровне которого необходимо сформировать тома. Нажать кнопку 'ОК'.


    Настройка узла, содержимое которого будет разбито на тома


  6. Далее на уровне узла, содержимое которого будет разбиваться на тома, необходимо добавить атрибут 'MultiPartDocument' логического типа 'BOOL' и задать ему значение 'true'.


    Добавление атрибута многотомности на уровне узла, содержимое которого будет разбито на тома


  7. После чего по итогу генерации отчёта 'Чтение требований' в области просмотра откроется отчёт, сформированный так, как будто корневым узлом являлся указанный ранее раздел, а томами – его подразделы.


    Многотомный отчёт на уровне раздела


Отчёты для решения типовых задач

Отчет 'Чтение требований'

'Чтение требований' - отчет, отображающий содержимое требований и текстовых узлов в виде таблицы.

Таблица предваряется краткой информацией о проекте и содержанием, включающим ссылки на все нелистовые узлы.

В результате отчет состоит из нескольких разделов:

Для создания отчета 'Чтение требований' нужно:

  1. Обычным способом создать узел настроек отчета (см. Создание настроек отчета).
  2. Указать в параметрах узла ключевое требование и выбрать шаблон 'Чтение требований' (см. Редактирование параметров настроек отчета).
  3. Если в отчете будут межпроектные ссылки и требуется иметь возможность переходить по ним в аналогичные отчеты, созданные для смежных проектов, нужно установить флажок 'Generate report for related projects'.
  4. Если требуется настроить размеры и содержимое колонок отчета, то нужно кликнуть по кнопке 'OpenSettings'. Откроется окно дополнительных настроек 'Чтение требований report settings'. В таблице справа указаны параметры, которые отображаются в отчете.
    Окно дополнительных настроек отчета
  5. Далее сгенерировать сам отчет (см. Генерация отчета).

Отчет 'Проверка правил оформления'

Шаблон отчета 'Проверка правил оформления' предназначен для отображения в табличном виде перечня проблемных узлов и тех правил, которые они нарушают. В него попадает та информация, которая обычно отображается в окне 'Problems'. То есть узлы, в которых нарушены правила 'Checker Rules', или, например, узлы с некорректно заданными свойствами.

Отчет состоит из нескольких разделов:

Для создания отчета 'Проверка правил оформления' нужно:

  1. Обычным способом создать узел настроек отчета (см. Создание настроек отчета).
  2. Указать в параметрах узла ключевое требование и выбрать шаблон 'Проверка правил оформления' (см. Редактирование параметров настроек отчета).
  3. Если требуется создать отчет и для связанных проектов, то нужно установить флажок 'Generate report for related projects'.
  4. Если требуется настроить размеры и содержимое колонок отчета, то нужно кликнуть по кнопке 'OpenSettings'. Откроется окно дополнительных настроек 'Чтение требований report settings'. В таблице справа указаны параметры, которые отображаются в отчете.
    Окно дополнительных настроек отчета
  5. Далее сгенерировать сам отчет (см. Генерация отчета).

Отчет 'Анализ покрытия требований'

Для работы с шаблоном отчета 'Анализ покрытия требований' должен быть установлен плагин 'Requality Coverage Tools' (см. Requality Coverage Tools).

Шаблон отчета 'Анализ покрытия требований' предназначен для отображения информации о покрытии тестами элементов дерева требований, таких как тестовые ситуации и требования.

Отчет состоит из нескольких разделов:

Для этого шаблона не применим флажок 'Generate report for related projects'.

Для построения отчета о покрытии требуется выбрать источник информации о покрытии. Для этого следует:

  1. В окне 'Properties' настроек отчета в качестве шаблона выбрать шаблон 'Анализ покрытия требований'.

  2. В окне 'Properties' настроек отчета нажать на появившуюся кнопку 'Update Coverage Source'.

  3. Отобразится список доступных источников. Требуется выбрать один из представленных:

  4. Помимо этого можно указать дополнительные настройки, нажав кнопку 'Open Settings'. В открывшемся окне можно:


    Дополнительные настройки отчета 'Анализ покрытия требований'

  5. Далее сгенерировать сам отчет (см. Генерация отчета).

Отчет 'Генерация документов (ODT)'

Создание отчёта 'Генерация документов (ODT)'

Шаблон отчета 'Генерация документов (ODT)' предназначен для выгрузки содержимого требований и текстовых узлов в открытый документальный формат OpenDocument Text (ODT). Документ формируется в структуре, определённой заранее в шаблоне отчёта. Сгенерированный отчёт содержит ссылку на скачивание сформированного документа.

Перед ссылкой на скачивание документа размещается информационная таблица проекта.

В результате отчет состоит из нескольких разделов:

Для создания отчёта 'Генерация документов (ODT)' нужно:

  1. Обычным способом создать узел настроек отчёта (см. Создание настроек отчета).

  2. В параметрах узла настроек отчёта выбрать шаблон 'Генерация документов (ODT)' (см. Редактирование параметров настроек отчета).

  3. Заполнить атрибуты, необходимые для генерации титульного листа и колонтитулов создаваемого документа (см. Настройка атрибутов шаблона отчёта для генерации ODT).

  4. Далее сгенерировать сам отчёт (см. Генерация отчета).

  5. Нажать на указанную в конце отчёта ссылку 'Ссылка для файла ODT'.

Сформированный файл ODT при настройках узла отчёта по умолчанию будет построен согласно следующей структуре:

При правильной настройке атрибутов первые два листа документа будут выглядеть подобным образом:


Пример документа ODT с настройками атрибутов публикации
Настройка атрибутов шаблона отчёта для генерации ODT

Информация для наполнения шаблона отчёта 'Генерация документов (ODT)' берется из трёх источников:

  1. узел с настройками генерации отчёта (далее обозначен как 'отчёт'),

  2. выбранное целевое требование (далее обозначено как 'требование'),

  3. корневой узел '/Requirements' (далее обозначен как 'корень').

При работе в многотомном режиме (см. Генерация многотомных документов) в качестве требования должно быть выбрано корневое требование интересующего тома, например, «Том 1. Базовые положения».

Выбор целевого требования осуществляется следующим образом:

  1. В настройках отчёта необходимо нажать на кнопку 'Browse…' справа от поля 'Root requirement:':


    Выбор целевого требования для построения отчёта по его поддереву
  2. В появившемся окне выбора требования указать нужное требование, по поддереву которого будет строиться отчёт, после чего нажать на кнопку 'ОК':


    Выбор целевого требования в дереве требований
  3. Убедиться, что в поле 'Root requirement:' отображается выбранное целевое требование:


    В качестве целевого требования выбрано некорневое требование

В таком случае при генерации отчёта ODT будет сформирован документ, включающий только требования, находящиеся в указанном подразделе.

На уровне корня задаются следующие свойства (атрибуты):

На уровне выбранного требования задаются следующие свойства (атрибуты):

ЭКСПЕРИМЕНТАЛЬНЫЕ

Выделение требований

Отчет 'Анализ покрытия выделенных требований'

Для работы с шаблоном отчета 'Анализ покрытия выделенных требований' должен быть установлен плагин 'Requality Coverage Tools' (см. Requality Coverage Tools).

Шаблон отчета 'Анализ покрытия выделенных требований' предназначен для отображения информации о покрытии тестами фрагментов документа. Работа с шаблоном 'Анализ покрытия выделенных требований' аналогична работе с шаблоном 'Анализ покрытия требований', однако в результате будет получен документ в размеченными фрагментами, где для каждого фрагмента цветом указано, покрыт он или нет.

Для этого шаблона не применим флажок Generate report for related projects.

Для построения отчета о покрытии требуется выбрать источник информации о покрытии. Для этого следует :

  1. В окне 'Properties' настроек отчета в качестве шаблона выбрать шаблон 'Анализ покрытия выделенных требований'.

  2. В окне 'Properties' настроек отчета нажать на появившуюся кнопку 'Update Coverage Source'.

  3. Отобразится список доступных источников. Требуется выбрать один из представленных:

Далее сгенерировать сам отчет (см. Генерация отчета).

Анализ связей между требованиями

Отчет 'Настраиваемая визуализация связей между требованиями'

Шаблон отчета 'Настраиваемая визуализация связей между требованиями' предназначен для отображения информации о наличии связей-ссылок (определенного типа) между элементами в выбранном фрагменте каталога требований.

Отчет состоит из двух страниц:

Вид отчета по шаблону 'Настраиваемая визуализация связей между требованиями' изображен на рисунке ниже:


Результат генерации отчета 'Настраиваемая визуализация связей между требованиями'


По умолчанию открывается первая страница, для перехода на вторую следует нажать на имя входящей ссылки (задается в свойствах проекта). Для обратного перехода к первой странице следует нажать на имя исходящей ссылки, обозначенное как 1.

Если в настройках отчета был включен механизм сворачивания (по умолчанию он включен), то на страницах отчета будут отображаться кнопки для сворачивания и разворачивания всех строк (3) и для каждой строки с именем исходного элемента (такой как 4) слева будет показана стрелочка — статус, обозначающая — свернуты ли элементы на которые ведет ссылка (5).

Цифрами 4 и 6 обозначены результаты подстановки значений в 'primary' и 'secondary' шаблоны, описанные в пункте 3 ниже. При этом для 6 на второй странице есть информация о наличии входящей ссылки, потому имеется строка 'Backward_Уточняет' при нажатии на которую произойдет переход на вторую страницу.

Для построения отчета нужно выполнить следующие действия:

  1. В окне 'Properties' настроек отчета в качестве шаблона выбрать шаблон 'Настраиваемая визуализация связей между требованиями'.

  2. Далее необходимо задать вид связи, для которой требуется построить отчет. Для этого следует нажать на кнопку 'Open Settings'. После этого откроется окно настройки отчета в левой части которого (1,2 на рисунке ниже) будет отображаться список доступных видов связей (имен свойств типа 'REFERENCE'). Значение в скобках справа от наименования отношения — количество элементов каталога требований, для которых подобное отношение указано. Среди них требуется выбрать одно и нажать 'OK'.


    Настройки отчета 'Настраиваемая визуализация связей между требованиями'


  3. Опционально — имеется возможность детальной настройки отчета. Сгенерированный отчет будет состоять из строк двух видов — информации о том, что ссылается и на что ссылается. Цифрой 3 обозначен пример генерации, в котором можно видеть 2 строки — 'Requirements/01 [Backward...]' и 'Requirements/02 [Backward…]'. Первая строка содержит информацию об отношении, из которого исходит связь. Шаблон генерации строки обозначен цифрой 4 и имеет название 'Primary template'. Вторая строка — информация об элементе, на который указывает связь. Шаблон для генерации обозначен цифрой 5 и называется 'Secondary template'.

  4. Определить группы в соответствии со следующими правилами:

  5. Далее сгенерировать сам отчет (см. Генерация отчета).

Остальное

Отчет 'Прогресс по проекту'

Для работы с шаблоном отчета 'Прогресс по проекту' должен быть установлен плагин 'Requality Coverage Tools' (см. Requality Coverage Tools), а также в зависимости от используемой системы управления версиями плагин 'Requality GIT Connector' (для GIT, см. Requality GIT Connector).

Шаблон отчета 'Прогресс по проекту' предназначен для отображения статистической информации о проекте Requality, взятой из используемой системы управления версиями.

Для этого шаблона не применим флажок Generate report for related projects.

Для построения отчета со статистикой нужно выполнить следующие действия:

  1. В окне 'Properties' настроек отчета в качестве шаблона выбрать шаблон 'Прогресс по проекту'.


    Окно 'Properties' отчета 'Прогресс по проекту'


  2. Опционально можно выбрать источник информации о покрытии. Например, добавить в отчет в том числе покрытие тестовыми ситуациями или данными из какого-либо другого проекта или внешнего файла. Для этого в окне 'Properties' настроек отчета нажать на кнопку 'Update Coverage Source' и выбрать источник, действия аналогичны действиям для построения отчета по шаблону 'Анализ покрытия требований'.


    Окно выбора источника информации о покрытии


  3. Также можно указать дополнительные параметры. Для этого в окне Properties настроек отчета нажать на кнопку 'Open Settings' и в открывшемся окне выбрать либо пункт 'Progress for selected dates', либо пункт 'Progress for all available dates'. В случае выбора 'Progress for selected dates' потребуется вручную указать даты начала и окончания интересующего периода и минимальный шаг по времени между ревизиями. Шаг записывается в формате, например, '1 week 2 day' или '5 month'. Также можно использовать не полные названия периодов, а короткие: 'd' вместо 'day', 'w' - 'week', 'm' - 'month', 'y' - 'year' (например, '1 w 2 d'). Для закрытия окна настроек нужно нажать кнопку 'OK'.


    Окно редактирования дополнительных параметров отчета 'Прогресс по проекту'


  4. Далее сгенерировать сам отчет (см. Генерация отчета).

Удаление настроек отчета

  1. Чтобы удалить настройки отчета, выберите этот узел в 'Requality Explorer', вызовите правой кнопкой контекстное меню и выберите пункт 'Delete Report Settings'.

  2. Вы также можете воспользоваться горячей клавишей 'Delete' для удаления настроек отчета.

  3. В появившемся окне подтвердите удаление настроек отчета, нажав кнопку 'OK'.

Генерация отчета

  1. Сгенерировать отчет можно двумя способами:

  2. Отчет создается рядом (на том же уровне иерархии) с узлом настроек отчета, на котором он был сгенерирован.

  3. В сгенерированном отчете в списке атрибутов автоматически создается атрибут 'date', содержащий информацию о дате и времени генерации отчета.

Открытие и редактирование отчета

  1. Выберите нужный отчет в 'Requality Explorer' и дважды кликните по нему.

  2. Обратите внимание, в окне 'Properties' откроются параметры, по которым был сгенерирован отчет. Однако изменить можно только идентификатор отчета.

Экспорт отчета в файловую систему

Для переноса файла со сгенерированным отчетом в удобное место в файловой системе нужно вызвать в 'Requality Explorer' на отчете пункт контекстного меню 'Export Report', выбрать в открывшемся диалоговом окне путь к нужной директории и нажать 'OK'. Отчет будет сохранен в выбранную директорию.

Удаление отчета

  1. Чтобы удалить отчет, выберите его в 'Requality Explorer', вызовите правой кнопкой контекстное меню и выберите пункт 'Delete Report'.

  2. Вы также можете воспользоваться горячей клавишей 'Delete' для удаления отчета.

  3. В появившемся окне подтвердите удаление отчета, нажав кнопку 'OK'.

Создание папок отчетов

Для удобства работы с отчетами внутри узла 'Reports' можно создавать папки и размещать отчеты в них.

  1. Для создания папки отчетов в окне 'Requality Explorer' выделите узел 'Reports' или любую другую вложенную папку, в контекстном меню выберите 'Create Folder'.

  2. В открывшемся окне в поле 'Enter folder name' введите желаемое имя папки.

  3. Имя не должно повторять имена папок, находящихся на том же уровне иерархии. В противном случае появится предупреждающее об этом сообщение, и продолжать процесс создания папки с таким именем будет невозможно.

  4. Если вы ввели корректное имя, нажмите кнопку 'OK'. Папка с указанным именем будет создана в 'Requality Explorer' на выбранном уровне иерархии.

Теперь вы можете создавать настройки отчетов и генерировать отчеты в новой папке.

Удаление папки отчетов

  1. Для удаления папки отчетов выберите эту папку в окне 'Requality Explorer'.

    1. Правой кнопкой мыши вызовите контекстное меню, выберите в нем пункт 'Delete Folder'.

    2. Для удаления папки вы также можете использовать горячую клавишу 'Delete'.

  2. После этого появится окно для подтверждения удаления папки. Обратите внимание, что удаление папки повлечет за собой удаление всех находящихся в ней настроек отчетов и отчетов. Если вы уверены в правильности удаления выбранной папки, нажмите в окне подтверждения кнопку 'OK' для продолжения процесса удаления.

Изменение названия папки отчетов

Название папки отчетов — единственный параметр папки отчетов, который может быть отредактирован. Он находится на вкладке 'Main' окна 'Properties'. Чтобы изменить название папки отчетов, нужно выполнить следующие действия:

  1. Щелкните по нужной папке отчетов в 'Requality Explorer', в окне 'Properties' откроются ее свойства.

  2. На вкладке 'Main' поле 'Id' отредактируйте название папки.

  3. Кликните на какой-нибудь другой объект или другое поле. Измененное название сохранится.

Работа с комментариями

Создание комментария

Комментарий может быть добавлен к требованию, тестовой ситуации и текстовому узлу.

Комментарий можно создать несколькими способами: из 'Requality Explorer', из 'UniEditor' и из 'Review'. Комментарии можно создавать как с нуля, так и из шаблонов комментариев текущего проекта Requality.

Создание комментария путем копирования

Комментарий также можно создать путем копирования уже существующего комментария.

Редактирование параметров комментария

Чтобы отредактировать параметры комментария, щелкните по нужному комментарию в 'Requality Explorer', в окне 'Properties' откроются свойства комментария.

Далее рассмотрены только те параметры комментария, которые можно изменить вручную.

  1. Name

  2. Author

  3. Поле для текста комментария

История ревизий комментария

Чтобы посмотреть историю ревизий комментария, щелкните по нужному комментарию в 'Requality Explorer', после этого в окне 'Properties' откройте вкладку 'History'. Работа с этой вкладкой аналогична работе с соответствующей вкладкой у требования (см. История ревизий требования).

Удаление комментария

Комментарий можно удалить из 'Requality Explorer', для этого нужно выбрать его в этом окне, вызвать правой кнопкой контекстное меню и выбрать пункт 'Delete Comment'. В редакторах 'UniEditor' и 'Review' комментарий можно удалить из выпадающего меню узла либо из выпадающего меню в правом верхнем углу редактора с помощью пункта меню 'Delete Comment'. Также для удаления комментария можно воспользоваться горячей клавишей 'Delete'. После одного из указанных действий нужно подтвердить удаление комментария в появившемся окне, нажав кнопку 'OK'.

Идентификация узлов

В Requality используется несколько способов идентификации узлов дерева требований помимо параметра ID. Это дает возможность более гибкого обращения к узлам с учетом возможности их перемещения, удаления или замены.

Уникальные идентификаторы узлов дерева требований

В Requality существует возможность автоматической установки уникальных идентификаторов ('SeqID') для всех узлов дерева требований (требований, текстовых узлов, тестовых ситуаций и т.д.) - автогенерируемых идентификаторов узла. Данный механизм по умолчанию не активирован в проекте Requality, его можно включить в настройках проекта (см. Настройка автогенерируемых идентификаторов в проекте Requality). Механизм работает в соответствии со следующими принципами:

Сортировка элементов в проекте Requality

Элементы дерева проекта Requality могут быть отсортированы тремя способами: 'By Locations' (по фрагментам), 'By Names' (по именам) и 'By Index' (по индексам). По умолчанию способ сортировки - 'By Locations'.

Отдельно стоит отметить опцию 'Sort elements types separately'. В активированном состоянии данная возможность предполагает, что элементы каталога требования будут отсортированы независимо друг от друга. При деактивации опции различные типы элементов будут отсортированы без разделениях их по типу. Опция по умолчанию активна, но при работе со способом сортировки 'By Index' рекомендуется ее деактивировать.

Изменение настроек сортировки элементов в проекте Requality

Изменение настроек сортировки доступно в свойствах проекта Requality (см. Настройка сортировки в проекте Requality).

Работа со ссылками между узлами дерева требований

В проекте Requality различные узлы дерева требований проекта могут быть связаны между собой однонаправленными связями-ссылками. Причем связаны могут быть узлы из разных проектов, если эти проекты расположены в одном workspace. Тот узел, который ссылается, называется ссылающимся узлом. Тот узел, на который ссылка ведет, называется целевым узлом.

Существует отдельный вид ссылок для терминов, они обладают несколько отличающимся от обычных ссылок способом указания. Подробно информацию о них можно найти в разделе Термины и их использование.

Ссылка указывается в параметрах ссылающегося узла. Она отображается в его таблице атрибутов как атрибут типа 'REFERENCE', в качестве значения которого указан путь к целевому узлу. Имя этого атрибута – это имя исходящей ссылки, оно может быть любым. Входящая ссылка не указывается в таблице атрибутов у целевого узла, но ей можно указать свое имя (см. Редактирование имени входящей ссылки). Но все ссылки – и входящие, и исходящие – можно посмотреть для любого узла в окне 'Requality Links Explorer' (см. Просмотр ссылок узла дерева требований).

Создание ссылок между узлами дерева требований

Создать ссылку между узлами дерева требований можно одним из двух способов:

  1. Добавить ссылку на целевой узел с помощью ручного задания атрибута типа 'REFERENCE' в таблице атрибутов у ссылающегося узла в окне 'Properties'. При этом оба узла – целевой и ссылающийся – должны уже существовать в дереве требований. Также существует возможность создать сразу несколько исходящих ссылок с одинаковым именем из одного ссылающегося узла на несколько разных целевых узлов с помощью атрибута-списка, содержащего список атрибутов типа 'REFERENCE'.

  2. Добавить ссылку на целевой узел автоматически с помощью кнопки '0,1,*' в меню окна 'Requality Explorer'. При этом существует возможность создать новый ссылающийся узел в процессе создания ссылки. Целевой узел в любом случае должен уже существовать в дереве требований. Также при таком способе есть возможность создать одновременно несколько ссылок из разных ссылающихся узлов на один целевой узел. Этот способ не работает для создания межпроектных ссылок.

Далее подробно рассматриваются оба способа.

Создание ссылок с помощью ручного задания атрибута 'REFERENCE'

Создание ссылки с помощью кнопки '0,1,*'

Внимание! Этот способ не работает для создания межпроектных ссылок.

  1. Выбрать в 'Requality Explorer' целевой узел (узел, на который будут создаваться ссылки)

    Выбор целевого требования для уточнения
  2. Нажать кнопку '0,1,*' в панели меню в верхней части окна 'Requality Explorer'. Кнопка '0,1,*' имеет три состояния: режим создания ссылок выключен (обозначается цифрой '0'), включен режим однократного создания ссылки (цифрой '1') и включен режим многократного создания ссылок (символом '*'). По умолчанию режим создания ссылок выключен и кнопка находится в состоянии '0'. Состояние кнопки изменяется при нажатии на нее, поэтому для выделения требования и перевода его в нужное состояние может потребоваться несколько раз нажать на эту кнопку, пока на ней не станет отображаться желаемый символ ('0', '1' или '*'). После включения режима создания ссылок (кнопка '0,1,*' находится в состоянии '1' или '*') при переносе фокуса в 'Requality Explorer' на другой (нецелевой) узел целевой узел будет выделен в дереве требований серым цветом и косым шрифтом).

  3. Следующий этап включает в себя непосредственный выбор ссылающихся узлов или их создание:

    При этом каждый выбранный с помощью 'Add reference to…' или новый созданный узел будет получать ссылку на целевой узел до тех пор, пока активна функция создания ссылок (то есть кнопка '0,1,*' находится в состоянии '1' или '*'). И этот узел будет получать атрибут типа 'REFERENCE', указывающий на целевой узел.

  4. Если целевой узел был выделен в режиме однократного создания ссылки (состояние '1' у кнопки '0,1,*'), то после выбора/создания одного ссылающегося узла, режим создания ссылок выключится (кнопка '0,1,*' перейдет в состояние '0'). Если был выбран режим многократного создания ссылок (состояние '*' у кнопки '0,1,*'), то все создаваемые узлы будут ссылающимися. Для того, чтобы отключить режим создания ссылок, нужно перевести кнопку '0,1,*' в состояние '0'.

    Стоит отметить, что для такого способа создания ссылок имя ссылочного атрибута (атрибута типа 'REFERENCE') задано по умолчанию в настройках проекта и может быть изменено. Для этого из контекстного меню текущего проекта открыть окно 'Properties'. В нем в левой части выбрать 'Requality → Requality References', тогда в правой части в разделе 'References settings' можно изменить значение имени атрибута, указав другое имя в поле 'Default reference name'. По умолчанию имя ссылок — 'elaborates'.

    Также стоит отметить, что для разных проектов могут быть выделены разные целевые узлы, и что режим создания ссылок сохраняется в рамках одной рабочей сессии. После закрытия Eclipse режим создания ссылок отключается.

Редактирование имени входящей ссылки

Одна и та же ссылка между двумя узлами является для ссылающегося узла исходящей, а для целевого узла — входящей. Имя этой ссылки указывается как имя атрибута типа 'REFERENCE' в таблице атрибутов у ссылающегося узла. У целевого узла в таблице атрибутов эта ссылка не указывается. Однако ее можно увидеть, например, в окне 'Requality Links Explorer' (см. Просмотр ссылок узла дерева требований) для целевого узла в качестве входящей ссылки. И по умолчанию имя входящей ссылки целевого узла совпадает с именем исходящей ссылки соответствующего ссылающегося узла. Однако, для удобства просмотра имя входящей ссылки можно изменить вручную в настройках проекта (см. Настройка ссылок в проекте Requality). Рекомендуется давать значащие имена паре 'имя исходящей ссылки — имя входящей ссылки', чтобы была понятна связь между ними. Например, 'describes — described by'. Также стоит отметить, что в проекте Requality существуют предопределенные ссылки, для которых уже заданы и входящие, и исходящие имена. Все существующие в проекте имена ссылок и все заданные пары 'имя исходящей ссылки — имя входящей ссылки' можно посмотреть в настройках проекта (см. Настройка ссылок в проекте Requality).

Просмотр ссылок узла дерева требований

Просмотреть входящие и исходящие ссылки узла дерева требований можно с помощью окна 'Requality Links Explorer'. Если данное окно не отображается в перспективе Eclipse, нужно открыть в главном меню 'Window → Show View → Other'. Затем развернуть пункт 'Requality' и выбрать 'Requality Links Explorer'.

В данном представлении отображаются узлы, связанные с выделенным в 'Requality Explorer' узлом. Все узлы, которые являются для выбранного узла целевыми, будут отображаться в этом окне в разделе 'Outcoming', также для них указывается имя атрибута, в котором задана ссылка. Все узлы, которые ссылаются на выбранный узел, будут отображаться в этом окне в разделе 'Incoming', также для них указывается имя входящей ссылки. Если дважды кликнуть по ссылке на узел, то фокус в 'Requality Explorer' перейдет на этот узел, и в представлении 'Requality Links Explorer' уже будет отображаться информация для него.

Для всех узлов указаны имена входящих или исходящих ссылок. Если ссылка относится только к одному узлу, то ее название будет указано перед именем этого узла. Если одна ссылка относится к нескольким узлам, то они будут сгруппированы под ее именем, то есть будет указано имя этой ссылки, а ниже перечислены имена узлов.

Если узел находится в другом проекте, то перед его именем будет указано имя его проекта, отделенное двумя двоеточиями.


В этом окне существует несколько кнопок для фильтрации отображаемых ссылок:


Общий вид представления 'Requality Links Explorer'


Для удобного просмотра связанных ссылкой узлов в 'Requality Links Explorer' существует режим подсветки связанных узлов. При использовании этого режима можно увидеть узлы, которые связаны выбранной ссылкой, они подсвечены в окне 'Requality Explorer'. Для этого нужно:

  1. Выберите узел в 'Requality Explorer'. В окне 'Requality Links Explorer' появится список входящих и исходящих ссылок для этого узла.
  2. Для включения подсветки нажмите кнопку с пиктограммой в виде звеньев цепи в меню окна. Если на кнопке звенья соединены, режим подсветки включен, если разъединены - выключен.
  3. Выберите ссылку (кликните по ней один раз). Вы увидите, что узлы (один или несколько), которые связаны этой ссылкой с выбранным узлом, будут подсвечены в окне 'Requality Explorer' красным цветом.

Пример работы подсветки в ситуации, когда требование 003 имеет две входящие ссылки из требований 001 и 002 (окно 'Requality Links Explorer' открыто для требования 003):


Режим подсветки связанных требований в 'Requality Links Explorer'


Термины и их использование

В Requality существует специальная возможность задать в тексте узлов некоторые понятия и ссылаться на них из других узлов, где эти понятия используются. Такие понятия называются термины, а ссылки между узлами с терминами и узлами с их использованием немного отличаются от обычных, описанных выше, но тоже отображаются в окне 'Requality Links Explorer'.

Как и обычные ссылки, ссылки на термины могут быть межпроектными.

Имя термина должно быть уникально в рамках проекта Requality, где этот термин определен.

При практическом применении это выглядит следующим образом. В описании некоторого узла описывается термин, который представляет из себя слово или словосочетание, или другой набор символов. Например: "Аааbbb - это метод выполнения вычислений". В описании других узлов этот термин используется. Например: "Для выполнения условий нужно использовать метод Aaabbb" и т.п.

Создание ссылки на термин

Для создания связи между такими узлами нужно сделать следующее:

После этого Requality будет считать, что между этими узлами появилась связь вида 'Terms - Term referrers'.

Просмотр ссылок для терминов в Requality Links Explorer

Связь между местом определения термина и местами его использования можно посмотреть в окне 'Requality Links Explorer' (см. Просмотр ссылок узла дерева требований), как и обычную связь, заданную атрибутом типа 'Reference'. В отличие от обычных, ссылки для терминов в 'Requality Links Explorer' сгруппированы отдельно в свои группы:

Но для них тоже могут быть использованы все возможности этого окна (фильтрация, подсветка).

Другой особенностью является то, что вместо названий ссылок указываются имена терминов.

В 'Requality Links Explorer' для всех узлов указаны имена входящих или исходящих ссылок. Если ссылка относится только к одному узлу, то ее название будет указано перед именем этого узла. Если одна ссылка относится к нескольким узлам, то они будут сгруппированы под ее именем, то есть будет указано имя этой ссылки, а ниже перечислены имена узлов.


Ссылки на термины в окне 'Requality Links Explorer'


Работа в Module Editor

Работа в 'Module Editor' аналогична работе в 'UniEditor', но более ограничена по функциональности. Здесь вы можете работать только с требованиями и текстовыми узлами.

Открытие Module Editor

В редакторе 'Module Editor' вы можете открыть дерево требований, включая текстовые узлы. В качестве корневого узла будет отображаться тот узел, на котором вы вызвали открытие 'Module Editor', то есть в этом редакторе можно открыть как все дерево требований (вызвав его на корневом узле требований 'Requirements'), так и отдельное поддерево требований (вызвав открытие редактора на одном из подтребований).

Для открытия редактора нужно сделать следующее:

В 'Requality Explorer' выберите целевое требование или текстовый узел, откройте контекстное меню и выберите пункт 'Module Editor'.

Работа в UniEditor

Открытие UniEditor

В редакторе 'UniEditor' вы можете открыть дерево требований с тестовыми ситуациями и комментариями. В качестве корневого узла будет отображаться то требование, на котором вы вызвали открытие 'UniEditor', то есть в этом редакторе можно открыть как все дерево требований (вызвав его на корневом узле требований 'Requirements'), так и отдельное поддерево требований (вызвав открытие редактора на одном из подтребований).

В 'Requality Explorer' выберите целевое требование, откройте контекстное меню и выберите пункт 'Edit in UniEditor'.

Обратите внимание! В 'UniEditor' может быть удобно работать с помощью горячих клавиш. Подробнее см. Работа с помощью клавиатуры в Module Editor, UniEditor и Review: горячие клавиши.

Добавление новых требований в UniEditor

Добавление требований описано в разделе 'Создание требования'.

Добавление требований путем копирования описано в разделе 'Создание требования путем копирования'.

Удаление требований в UniEditor

Удаление требований описано в разделе 'Удаление требования'.

Редактирование требований в UniEditor

Поле требования состоит из двух частей. Верхняя часть содержит имя требования, нижняя содержит его альтернативное описание.

  1. Чтобы отредактировать имя требования, дважды кликните в верхней части поля требования. Поле станет редактируемым, и вы сможете внести изменения. Чтобы закончить редактирование, кликните в любом другом месте экрана.

  2. Чтобы отредактировать текст требования, дважды кликните в нижней части поля требования. К вашим услугам будет целая панель для редактирования текста, включающая кнопки для форматирования текста, добавления символов, картинок, ссылок и т.д. Для сохранения изменений нажмите кнопку с пиктограммой в виде папки. Для отмены несохраненных изменений нажмите кнопку с пиктограммой в виде красного косого креста.

  3. Также для редактирования требования можно воспользоваться редактором узла. Для этого нужно навести курсор мыши на пиктограмму треугольника в верхнем правом углу поля узла и в раскрывшемся меню выбрать пункт 'Open Editor'. Откроется редактор узла, где вы можете отредактировать параметры требования. Сделайте это и нажмите 'OK'.

  4. Чтобы изменить статус требования, кликните на значок статуса слева от имени требования. При клике статус меняется с 'in process' на 'complete' и наоборот.

Добавление новых текстовых узлов в UniEditor

Добавление текстовых узлов описано в разделе 'Создание текстового узла'.

Добавление текстовых узлов путем копирования описано в разделе 'Создание текстового узла путем копирования'.

Удаление текстовых узлов в UniEditor

Удаление текстовых узлов описано в разделе 'Удаление текстового узла'.

Редактирование текстовых узлов в UniEditor

Поле текстового узла содержит текст описания этого узла. состоит из двух частей. Слева от текста расположена пиктограмма для смены типа узла с 'Text' на 'Header' или наоборот.

  1. Чтобы отредактировать текст текстового узла, дважды кликните в поле этого узла. К вашим услугам будет целая панель для редактирования текста, включающая кнопки для форматирования текста, добавления символов, картинок, ссылок и т.д. Для сохранения изменений нажмите кнопку с пиктограммой в виде папки. Для отмены несохраненных изменений нажмите кнопку с пиктограммой в виде красного косого креста.

  2. Чтобы изменить тип текстового узла кликните на значок типа слева от текста узла. При клике тип меняется с 'Text' на 'Header' и обратно.

  3. Также для редактирования текстового узла можно воспользоваться редактором узла. Для этого нужно навести курсор мыши на пиктограмму треугольника в верхнем правом углу поля узла и в раскрывшемся меню выбрать пункт 'Open Editor'. Откроется редактор узла, где вы можете отредактировать параметры текстового узла. Сделайте это и нажмите 'OK'.

Добавление новых тестовых ситуаций в UniEditor

Добавление тестовых ситуаций описано в разделе 'Создание тестовой ситуации'

Добавление тестовых ситуаций путем копирования описано в разделе 'Создание тестовой ситуации путем копирования'.

Удаление тестовых ситуаций в UniEditor

Удаление тестовых ситуаций описано в разделе 'Удаление тестовой ситуации'.

Редактирование тестовых ситуаций в UniEditor

Поле тестовой ситуации состоит из двух частей. Верхняя часть содержит имя тестовой ситуации, нижняя содержит текст тестовой ситуации.

  1. Чтобы отредактировать имя тестовой ситуации, дважды кликните в верхней части поля тестовой ситуации. Поле станет редактируемым, и вы сможете внести изменения. Чтобы закончить редактирование, кликните в любом другом месте экрана.

  2. Чтобы отредактировать текст тестовой ситуации, дважды кликните в нижней части поля тестовой ситуации. К вашим услугам будет целая панель для редактирования текста, включающая кнопки для форматирования текста, добавления символов, картинок, ссылок и т.д. Для сохранения изменений нажмите кнопку с пиктограммой в виде папки. Для отмены несохраненных изменений нажмите кнопку с пиктограммой в виде красного косого креста.

  3. Также для редактирования тестовой ситуации можно воспользоваться редактором узла. Для этого нужно навести курсор мыши на пиктограмму треугольника в верхнем правом углу поля узла и в раскрывшемся меню выбрать пункт 'Open Editor'. Откроется редактор узла, где вы можете отредактировать параметры тестовой ситуации. Сделайте это и нажмите 'OK'.

  4. Чтобы изменить статус тестовой ситуации кликните на значок статуса слева от имени тестовой ситуации. При клике статус меняется с 'in process' на 'complete' и наоборот.

Добавление новых комментариев в UniEditor

Добавление комментариев описано в разделе 'Создание комментария'.

Добавление комментариев путем копирования описано в разделе 'Создание комментария путем копирования'

Удаление комментариев в UniEditor

Удаление комментариев описано в разделе 'Удаление комментария'

Редактирование комментария в UniEditor

Чтобы отредактировать текст комментария, дважды кликните в поле комментария. К вашим услугам будет целая панель для редактирования текста, включающая кнопки для форматирования текста, добавления символов, картинок, ссылок и т.д. Для сохранения изменений нажмите кнопку с пиктограммой в виде папки. Для отмены несохраненных изменений нажмите кнопку с пиктограммой в виде красного косого креста.

Работа в Review

Работа в 'Review' аналогична работе в 'UniEditor', но более ограничена по функциональности. Здесь вы не можете добавлять и удалять требования и тестовые ситуации, да и редактировать можно только их статусы.

Открытие Review

В редакторе 'Review' вы можете открыть дерево требований с тестовыми ситуациями и комментариями. В качестве корневого узла будет отображаться то требование, на котором вы вызвали открытие 'Review', то есть в этом редакторе можно открыть как все дерево требований (вызвав его на корневом узле требований 'Requirements'), так и отдельное поддерево требований (вызвав открытие редактора на одном из подтребований).

В окне 'Requality Explorer' выберите целевое требование, откройте контекстное меню и выберите пункт 'Review'.

Обратите внимание! В 'Review' может быть удобно работать с помощью горячих клавиш. Подробнее см. Работа с помощью клавиатуры в Module Editor, UniEditor и Review: горячие клавиши.

Редактирование статусов требований и тестовых ситуаций в Review

Чтобы изменить статус требования/тестовой ситуации кликните на значок статуса слева от имени требования/тестовой ситуации. При клике статус меняется в следующем порядке 'in process' → 'complete' → 'verified' → снова 'in process' и т. д.

Работа с помощью клавиатуры в Module Editor, UniEditor и Review: горячие клавиши

В редакторах 'Module Editor', 'UniEditor' и 'Review' для работы с помощью клавиатуры вы можете использовать горячие клавиши.

ВНИМАНИЕ! В разных редакторах и для разных типов узлов доступен разный набор горячих клавиш.

Доступные сочетания горячих клавиш бывают двух форматов:

Меню редактора также можно открыть с помощью мыши. Для этого нужно навести курсор на кнопку в правом верхнем углу окна редактора, меню раскроется. Далее можно использовать сокращенные варианты горячих клавиш без дополнительного нажатия 'Ctrl+D' или просто кликать по пунктам меню мышью, как обычно.


Кнопка для открытия меню редактора 'UniEditor'


Для навигации в редакторе и редакторах узлов также доступна работа с клавиатуры.

Все возможные сочетания клавиш для работы с помощью клавиатуры перечислены в таблице ниже:


Горячие клавиши
Действие Комбинация клавиш Альтернативная комбинация клавиш (сначала нажать 'Ctrl+D', затем указанную клавишу)
Создать новое подтребование Ctrl+R R
Создать новое требование того же уровня Ctrl+S S
Создать новый дочерний текстовый узел Ctrl+J J
Создать новый текстовый узел того же уровня Ctrl+I I
Удалить узел Del Del
Редактировать текущее требование в отдельном окне Ctrl+E E
Изменить тип узла с требования 'Requirement' на 'Text Node' и наоборот Alt+M M
Создать новую тестовую ситуацию Ctrl+P P
Создать комментарий к текущему узлу Alt+C C
Открыть окно для редактирования и выбора шаблона Ctrl+T T
Переместить фокус на требование выше/ ниже Стрелки вверх/вниз --
Переместить фокус на требование выше/ ниже Стрелки вверх/вниз --
Раскрыть/свернуть поддерево с корнем в текущем узле Стрелки вправо/влево --
Редактировать имя требования F2 --
Редактировать описание требования (поле 'Description') Enter --
Переместить фокус на следующее представление (например, 'Outline'). Примечание. При переводе фокуса также учитываются вкладки текущего представления и кнопки на панели управления текущего представления, например, минимизировать или раскрыть во все окно Tab --
Переместить фокус на предыдущее представление Shift+Tab --
Войти в представление (используется после навигации между разными представлениями с помощью Tab и Shift + Tab) F12 --
При открытом редакторе в 'UniEditor' перемещаться на редактирование требований выше и ниже Ctrl+стрелки вверх/вниз --
Undo Ctrl+Z --
Redo Ctrl+Shift+Z --
Обновить редактор F5 --
Открыть диалог поиска Ctrl+F --
Закрыть редактор узла (выйти из режима редактирования узла) Esc --
Сохранить изменения в редакторе Ctrl+S --
Перейти на страницу вверх PageUp --
Перейти на страницу вниз PageDown --
Перенести фокус на первый узел Home --
Перенести фокус на последний узел End --
Добавить к узлу тест Alt+T --
Начать редактирование узла Enter --
Начать редактирование имени узла F2 --
Изменить статус Alt+S --
Раскрыть узел Num+ --
Свернуть узел Num- --
Скопировать узел Ctrl+C --
Вырезать узел Ctrl+X --
Вставить узел как соседа (без дочерних узлов) Ctrl+Shift+V --
Вставить узел как ребенка (без дочерних узлов) Ctrl+V --
Вставить узел со всеми его дочерними узлами как соседа Ctrl+Alt+Shift+V --
Вставить узел со всеми его дочерними узлами как ребенка Ctrl+Alt+V --


Работа с LibreOffice

Для элементов каталога требований Requality определен HTML-формат их представления в LibreOffice. Каталог требований может быть преобразован в HTML-документ, отредактирован средствами LibreOffice Writer и обратно импортирован в Requality.

Для работы с LibreOffice в настройках Requality должен быть указан путь к LibreOffice. Для этого нужно в главном окне открыть меню 'Window → Preferences', в открывшемся диалоговом окне слева выбрать пункт 'Requality', справа в поле 'Path to libreoffice(v5+) soffice' с помощью кнопки 'Select' указать путь к запускаемому файлу LibreOffice. Далее сохранить настройки, нажав 'Apply' и 'OK'.

Формат требований Requality для LibreOffice

Формат Requality для LibreOffice позволяет описывать несколько видов элементов — требования и текстовые узлы, позволяет задавать структуру и свойства элементов, определять связи между узлами.

Согласно формату элемент каталога представлен:


Пример отображения поддерева в HTML


Пример на рисунке выше содержит два требования, у каждого из которых имеется заголовок, текстовое описание и некоторое свойство.

Заголовок представляет собой тэг 'H1..H6'. Уровень заголовка не влияет на построенную структуру, она определяется по тексту и заданному корню (подробнее см. ниже). В приведенном примере содержатся требования с идентификаторами 'Подтребование' и 'Другое подтребование', являющиеся потомками требования 'Требование'.

Кроме этого пример содержит конструкцию вида 'root: <путь>', выделенную желтым цветом. В подобном виде задается корневой узел текущего документа. Здесь '/Требование' означает, что в документе содержатся требования, которые должны лежать в дереве требований в узле '/Требование'. По умолчанию содержимое документа считается полным содержимым представленного корня, то есть все, что находится в поддеревьях корня и не представлено в документе, может быть удалено при обновлении этим документом. Это позволяет обеспечить удаление и переименование элементов каталога.

Типы элементов задаются при помощи css классов с использованием имени типа. Требования содержат в стиле подстроку 'requirement', а текстовые узлы - 'textnode'. Свойства описываются стилем 'attribute'. Простой текст по умолчанию считается текстовым узлом.

Отдельно стоит выделить способ описания корня документа, про который было упомянуто выше. Корень задается при помощи конструкции вида 'root:<Путь>', где '<Путь>' — путь к корневому узлу. Определение корня должно быть отмечено стилем 'meta'. При этом если элемент по указному пути отсутствует, то он будет создан при импорте из документа.

Через стили может быть задано одно из особых свойств текстовых узлов — свойство 'Вид'. Для этого определены три вида стилей - 'textnode-def' для 'Определения', 'textnode-just' для 'Обоснования' и 'textnode-note' для 'Примечания'. При импорте документа с указанными стилями для текстового узла будет установлено свойство 'Вид' с соответствующим значением. Для требований свойство 'Вид' принимает значение 'Требование' при отсутствии потомков и 'Заголовок' при наличии потомков соответственно.

Описание свойств происходит при задании фрагменту текста стиля содержащего подстроку 'attribute'. Свойства описываются в виде пары '<Ключ>:<Значение>', при этом значение может содержать переносы строки. Некоторые из ключей имеют дополнительные возможности:

Можно задавать свойства-списки. Для этого необходимо задать несколько свойств с одинаковым именем. Так, если задать свойства 'A:B' и 'A:C' для одного элемента, то в результате получится одно свойство 'А' с списком значений '[B,C]' .

Перенос требований из Requality в LibreOffice

Каталог требований может быть преобразован в документ для LibreOffice тремя способами:

  1. С помощью LORequality – плагина для LibreOffice. Про установку LORequality описано в разделе Плагин к LibreOffice: LORequality. Перенос требований из Requality в LibreOffice с помощью LORequality описан в разделе Работа с плагином LORequality)
  2. С помощью обработчика 'Open in LibreOffice'. Для этого нужно выбрать в окне 'Requality Explorer' элемент, поддерево которого требуется редактировать в LibreOffice, и вызвать на нем пункт контекстного меню 'Open in LibreOffice'. После чего будет открыт документ в LibreOffice Writer, содержащий каталог элементов выбранного узла в HTML-формате Requality.
  3. С помощью создания отчета 'Экспорт в LORequality'. Для этого нужно создать узел настроек отчета, указать в нем шаблон отчета 'Экспорт в LORequality' и сгенерировать отчет (создание отчетов подробно описано в разделе Работа с отчетами). Сгенерированный отчет нужно перенести в удобное место в файловой системе (см. Экспорт отчета в файловую систему) и открыть с помощью LibreOffice.

Перенос требований из документа LibreOffice в Requality

Требования, описанные в документе LibreOffice в определенном формате (см. Формат требований Requality для LibreOffice и Работа с плагином LORequality), могут быть импортированы в Requality с помощью обработчика 'Update From Libre Office'. В результате выполнения произойдет обновление имеющегося каталога требований данными из документа.

Для этого требуется:

  1. Сохранить документ LibreOffice в формате html.

  2. Импортировать документ LibreOffice в проект Requality обычным способом, как описано в разделе Импортирование документа.

  3. В окне 'Requality Explorer' на импортированном документе выбрать в контекстном меню пункт 'Update From Libre Office'.

После этого требования будут перенесены в дерево требований проекта Requality.

Необходимо помнить, что в случае переноса требований из нескольких документов или в случае, когда в дереве требований в Requality уже есть требования, в документах LibreOffice должны быть указаны корневые родительские узлы в строке 'root:', иначе корневым узлом по умолчанию будет считаться узел 'Requirements', поэтому каждый новый запуск обработчика 'Update From Libre Office' будет стирать все уже имеющиеся в дереве требований Requality узлы и добавлять только те, которые есть в обрабатываемом документе.

Работа с плагином LORequality

Для работы предварительно должны быть установлены: в Requality плагин 'Requality API provider' (см. Requality API provider) и в LibreOffice плагин 'LORequality' (см. Плагин к LibreOffice: LORequality).

Плагин 'LORequality' позволяет выгружать дерево требований из проекта Requality в LibreOffice Writer, редактировать его там в удобном текстовом формате и загружать измененное дерево из LibreOffice Writer обратно в проект Requality. Схематично этот процесс изображен на рисунке ниже:


Cхема взаимодействия Requality и LibreOffice Writer с помощью плагина 'LORequality'


Начало работы с плагином LORequality

Для начала работы с плагином 'LORequality' нужно совершить следующие действия:

  1. Запустить Eclipse с Requality и LibreOffice Writer.
  2. Открыть или создать новый (при написании требований с нуля) проект Requality в Eclipse. Если проект Requality уже существует, он должен находиться том workspace, в котором открыт Eclipse. Если проект создается с нуля, то сначала нужно создать в Requality новый проект.
  3. В LibreOffice Writer вызвать меню 'Requality -> Set current project'. В появившемся диалоговом окне выбрать название проекта Requality (далее под словом 'проект' будет пониматься именно он). Нажать 'ОК'.
  4. В LibreOffice в меню выбрать 'Requality -> Fetch document', в открывшемся диалоговом окне выбрать корень проекта и нажать 'ОК'.

В результате в LibreOffice откроется новый документ, соответствующий выбранному проекту Requality. Редактируя и форматируя текст в этом документе, можно создавать и изменять дерево проекта.

Соответствие структуры документа LibreOffice Writer элементам дерева требований Requality

LORequality: редактирование проекта

Для задания корневого узла, отличного от узла 'Requirements', укажите имя этого узла в первой строке после слова 'root:'.

Чтобы создать требование, на новой строке напишите его идентификатор, указав через '/' всю последовательность родительских узлов, как описано в предыдущем пункте. Назначьте этому тексту тип абзаца Заголовок'.

Перейдите на новую строку и напишите текст требования. Далее выделите его и нажмите на панели инструментов кнопку 'Mark as Requirement' - красный кружок с буквой 'R'.

Перейдите на новую строку и укажите атрибут в формате 'имя атрибута: значение атрибута'. Выделите этот текст и нажмите на панели инструментов кнопку 'Mark as Attribute' - синий кружок с буквой 'A'. Если вы хотите указать еще атрибуты, то повторите эти действия для каждого атрибута, каждый раз начиная с новой строки.

Чтобы создать текстовый узел, повторите те же действия, что и для требования. Но текст у текстового узла нужно выделить с помощью одной из следующих кнопок:

Чтобы отредактировать элемент, нужно просто отредактировать его заголовок, текст или атрибуты или изменить с помощью вышеупомянутых кнопок цвет выделения текста.

LORequality: проверка ссылок на корректность

При редактировании дерева требований в LibreOffice Writer необходимо проверять корректность ссылок на наличие во всем проекте в Requality соответствующих элементов, на которые или из которых ведет ссылка. Например, для ссылки 'usedef' требуется наличие в проекте элемента с соответствующим значением атрибута 'def-term'. Для атрибута 'Ref' требуется наличие элемента, указанного в этой ссылке.

Плагин LORequality позволяет автоматически проверить корректность таких ссылок. Для этого требуется в LibreOffice Writer в главном меню выбрать пункт 'Requality → Check references'. Откроется окно с сообщением о количестве найденных в ссылках ошибок. Нужно закрыть его нажатием кнопки 'OK'. Далее в окне 'Навигатор' в списке закладок появится список ошибочных ссылок. Кликая по ним, можно перемещаться по документу на те фрагменты текста, где указаны эти ссылки.

При следующем запуске проверки ссылок после внесения изменений список ошибочных ссылок в окне 'Навигатор' будет обновлен.

Если требуется, список ошибочных ссылок в закладках в окне 'Навигатор' можно удалить. Для этого нужно в LibreOffice Writer в главном меню выбрать пункт 'Requality → Clear bookmarks'. Появится окно с сообщением о количестве удаляемых ссылок, нужно закрыть его, нажав кнопку 'OK'.

LORequality: выгрузка изменений в Requality

Каждый раз, когда вы хотите перенести дерево требований с внесенными изменениями из LibreOffice Writer в Requality, нужно в LibreOffice Writer сохранить изменения и выбрать в меню 'Requality → Commit document'. Далее появится уведомление об удачном переносе требований, его нужно закрыть, нажав 'ОК'. Изменения будут перенесены в связанный проект в Requality.

Дальше можно продолжить редактировать документ в LibreOffice Writer и загружать его в Requality. Однако необходимо иметь в виду, что при каждой выгрузке проекта из Requality в LibreOffice Writer каждый раз будет создаваться новый документ.

LORequality: переход из LibreOffice Writer к элементу в Requality

Если требуется найти в дереве проекта в Requality элемент, соответствующий некоторому элементу из редактируемого в LibreOffice Writer документа, то это можно сделать по идентификатору данного элемента. Нужно в LibreOffice Writer выделить идентификатор элемента и в главном меню выбрать пункт 'Requality → Go to reference' (или просто нажать сочетание клавиш 'Alt + Shift + G'). После чего в инструменте Requality в окне 'Requality Explorer' фокус перейдет на соответствующий элемент. Если такого элемента нет, в LibreOffice Writer появится сообщение о некорректности такого перехода.


Работа с виртуальными узлами

Создание виртуального узла

  1. В 'Requality Explorer' выберите или создайте требование, для которого вы хотите создать 'виртуальный узел'. Правой кнопкой вызовите на нем контекстное меню и выберите пункт 'Create Virtual Node'. Появится новый виртуальный узел.

Редактирование параметров виртуального узла

Чтобы отредактировать параметры 'виртуального узла', щелкните по нужному виртуальному узлу в 'Requality Explorer', в окне 'Properties' откроются свойства требования.

Далее рассмотрены только те параметры виртуального узла, которые можно изменить вручную.

  1. Id

  2. Name

  3. Attribute

  4. Target

  5. Iteration method

  6. It.vars

Скрытие виртуального узла

Для скрытия 'виртуального узла' выберите элемент дерева проекта, содержащий этот виртуальный узел, вызовите на нем правой кнопкой контекстное меню и выберите пункт 'Hide children'.

Отмена скрытия виртуального узла

Для отмены скрытия 'виртуального узла' выберите элемент дерева проекта, содержащий этот виртуальный узел, вызовите на нем правой кнопкой контекстное меню и выберите пункт 'Show hidden children'. Виртуальный узел снова будет отображаться в дереве проекта.

Поиск в дереве проекта Requality

Существует возможность искать нужные узлы в дереве проекта Requality с помощью функции поиска. Для этого нужно:

  1. В окне 'Requality Explorer' вызвать диалоговое окно поиска одним из двух способов:

    В результате откроется диалоговое окно поиска 'Search Element'.


    Окно поиска 'Search Element': вкладка 'By path'


  2. Выбрать область поиска. Для этого кликнуть по кнопке 'Select scope', в открывшемся диалоговом окне 'Element selection' выбрать один из узлов проекта и нажать 'OK'. Путь к узлу отобразится в поле 'Scope', при желании его можно вручную вводить и редактировать в этом поле. Поиск будет осуществляться в этом узле и его поддереве.

  3. В окне поиска можно выбрать один из трех режимов поиска: по идентификатору узла ('By path'), по параметрам узла ('By attributes') и по формуле ('By formula').

  4. Нажимать кнопки с двойными стрелочками влево или вправо для активации поиска и чтобы переходить к следующим узлам, которые удовлетворяют условиям поиска, вверх или, соответственно, вниз по дереву требований. Найденные в соответствии с заданными параметрами узлы будут поочередно выделяться в 'Requality Explorer'.

В нижней части окна поиска расположены две строки, содержащие некоторую информацию о поиске. В одной строке отображается общее количество найденных узлов и, если их больше нуля, порядковый номер того из них, который сейчас просматривается в 'Requality Explorer'. В строке ниже отображается UVId этого узла. Если параметры поиска заданы некорректно, но в этих строках появится сообщение об ошибке.

Проверка корректности дерева проекта

Существует возможность проверить, корректно ли задано все дерево проекта Requality, найти возможные ошибки в описании узлов. Для этого нужно задействовать механизм проверки - так называемый 'чекер'. На корневом узле проекта вызовите контекстное меню и выберите пункт 'Enable Checkers'. После этого все узлы, в которых 'чекер' найдет ошибки или проблемы, будут подсвечены.


Результат работы чекера


Работа с внешним хранилищем данных (Repository)

В Requality для работы с внешним хранилищем данных — репозиторием — реализован свой внутренний механизм на основе технологии GIT. Именно его нужно использовать, чтобы иметь возможность работать с историей ревизий. Предварительно для работы должен быть установлен плагин 'Requality GIT Connector' (см. Requality GIT Connector). По умолчанию он входит в состав bundle Requality.

Внимание! Процессы по взаимодействию с внешним репозиторием могут занимать некоторое время. Чтобы узнавать об этом, обращайте внимание на индикатор завершенности процесса, который появляется в нижнем правом углу окна Eclipse.

Процедуры для загрузки/выгрузки в репозиторий

Для работы с репозиторием нужно использовать на проекте Requality в окне 'Requality Explorer' пункт контекстного меню 'Repository'.

Первичная загрузка проекта в локальный репозиторий

Для первичной загрузки проекта Requality в локальный репозиторий необходимо:

  1. Проверить соблюдение следующих предусловий:

  2. В Requality Explorer на уровне проекта вызвать контекстное меню, выбрать пункт 'Repository''Publish local changes…'.

    Вызов контекстного меню для загрузки проекта в репозиторий

  3. В появившемся окне нажать на кнопку 'Create…', чтобы создать локальный репозиторий. Можно указать любое расположение, отличающееся от рабочей области (workspace) приложения, и проект будет автоматически перенесён туда. В данном сценарии в качестве такой папки рекомендуется указать путь к папке git, расположенной в домашней папке пользователя.

    Окно выбора репозитория

  4. В предложенном системой пути после папки git указать имя проекта (тогда будет создана новая папка) либо имя существующей и выбранной для проекта папки, далее нажать на кнопку 'Finish' в активном окне создания репозитория, после чего нажать на кнопку 'Next' в окне загрузки проекта:

    Указание имени проекта в пути к локальному репозиторию

  5. В появившемся окне первичной загрузки проекта указать сопроводительный текст к коммиту, после чего нажать на кнопку 'Next':

    Указание сопроводительного текста к коммиту

  6. Далее нужно ввести в разделе 'Location' в поле 'URI' адрес локального репозитория – для этого необходимо нажать на кнопку 'Local Folder…' и в проводнике выбрать папку, являющуюся пустым локальным репозиторием git (соответствующим предусловию сценария). Поля 'Host' и 'Repository path' заполнятся автоматически. Далее необходимо нажать на кнопку 'Finish':

    Указание расположения локального репозитория

  7. Будет отображено окно с подтверждением успешной загрузки в локальный репозиторий, необходимо нажать на кнопку 'Close'.

    Подтверждение успешной загрузки проекта в локальный репозиторий

  8. Первичная загрузка проекта в локальный репозиторий успешно завершена.

Первичная загрузка проекта в удалённый репозиторий

Для первичной загрузки проекта Requality в удалённый репозиторий необходимо:

  1. Проверить соблюдение следующих предусловий:

  2. В Requality Explorer на уровне проекта вызвать контекстное меню, выбрать пункт 'Repository''Publish local changes…'.

    Вызов контекстного меню для загрузки проекта в репозиторий

  3. В появившемся окне нажать на кнопку 'Create…', чтобы создать локальный репозиторий. Можно указать любое расположение, отличающееся от рабочей области (workspace) приложения, и проект будет автоматически перенесён туда. В данном сценарии в качестве такой папки рекомендуется указать путь к папке git, расположенной в домашней папке пользователя.

    Окно выбора репозитория

  4. В предложенном системой пути после папки git указать имя проекта, далее нажать на кнопку 'Finish' в активном окне создания репозитория, после чего нажать на кнопку 'Next' в окне загрузки проекта:

    Указание имени проекта в пути к локальному репозиторию

  5. В появившемся окне первичной загрузки проекта указать сопроводительный текст к коммиту, после чего нажать на кнопку 'Next':

    Указание сопроводительного текста к коммиту

  6. Далее нужно ввести в разделе 'Location' в поле 'URI' адрес удалённого репозитория на сервере gitlab, поля 'Host' и 'Repository path' заполнятся автоматически. В разделе 'Authentication' указать учётные данные (логин и пароль) пользователя gitlab, от имени которого осуществляется загрузка данных, и нажать на кнопку 'Finish':

    Указание адреса и учетных данных для доступа к удалённому репозиторию

  7. Будет отображено окно с подтверждением успешной загрузки, необходимо нажать на кнопку 'Close'.

    Подтверждение успешной загрузки проекта в удалённый репозиторий

  8. Первичная загрузка проекта в удалённый репозиторий успешно завершена.

История ревизий

Для просмотра истории ревизий у всех узлов дерева требований в окне 'Properties view' существует вкладка 'History'. На этой вкладке доступна возможность запустить сравнение одной из старых ревизий с текущим локальным состоянием. Также вкладка 'History' доступна для использования у корневого узла проекта, но в этом случае ее содержимое немного отличается.

Просмотр истории ревизий у проекта Requality

Для просмотра истории ревизий проекта Requality нужно:

  1. В 'Requality Explorer' кликнуть на корневом узле проекта.

  2. В окне 'Properties view' открыть вкладку 'History'.

На этой вкладке расположена таблица истории ревизий, содержащая список всех сохраненных в репозиторий ревизий проекта и некоторую сопутствующую информацию (вкладка 'History' в Параметрах проекта Requality). Верхняя строка соответствует последней синхронизированной с глобальным репозиторием ревизии, далее сверху вниз идут ревизии по убыванию, от более свежих, к более старым.

Для просмотра сравнения текущей локальной версии и одной из старых ревизий нужно:

  1. Открыть вкладку 'History' в окне 'Properties view' для проекта, как описано выше.

  2. Найти в списке интересующую ревизию. Для быстрого поиска нужной ревизии удобно воспользоваться фильтром в верхней строке таблицы. Например, если известна дата коммита или часть комментария, нужно кликнуть в строке фильтра в том столбце, по которому вы хотите произвести поиск, и ввести искомый фрагмент текста. После чего таблица будет отфильтрована, и в ней останутся только те строки, которые содержат введенный фрагмент текста в соответствующем столбце.

    Применение фильтра в окне History

  3. Дважды кликнуть в таблице на вкладке 'History' по интересующей старой ревизии. В результате откроется перспектива 'Team Syncronizing' (предварительно может появиться окно с предупреждением об открытии этой перспективы, нужно в нем нажать 'Yes').

  4. В окне 'Synchronize' развернуть узел проекта. В развернутом узле проекта отображаются все узлы, в которых произошли изменения в сравнении со старой ревизией.


    Окно Synchronize в перспективе Team Synchronizing


  5. Выбрать интересующий узел проекта и дважды кликнуть на нем.

В окне 'Compare', состоящем из двух частей, откроется сравнительная информация о старом и нынешнем состоянии узла. В той части окна, которая называется 'Local File Workspace', отображается информация о текущем локальном состоянии узла, в другой части, которая называется 'Remote File', отображается состояние узла в старой ревизии. Те данные, которые изменились, помечены маркировкой желтого цвета. Те данные, которых в старой ревизии не было, а в новой они появились, помечены зеленым цветом. Те данные, которые исчезли, помечены красным. Если часть окна 'Remote File' отсутствует, значит этого узла в старой ревизии проекта еще не было. Если часть окна 'Remote File' содержит информацию об узле, а часть 'Local File Workspace' пуста, значит, раньше этот узел существовал, но в текущем состоянии проекта он отсутствует.


Окно сравнения в перспективе Team Synchronizing


Просмотр истории ревизий у узлов дерева требований

Механизм работы с репозиторием в Requality предоставляет возможность посмотреть историю ревизий для некоторого конкретного узла, а также посмотреть сравнение текущего локального состояния узла с одной из старых ревизий.

Для просмотра истории ревизий узла нужно:

  1. В окне 'Requality Explorer' раскрыть дерево требований проекта Requality и кликнуть на интересующем узле.

  2. В окне 'Properties view' открыть вкладку History.

На этой вкладке расположена таблица истории ревизий, содержащая список всех сохраненных в репозиторий ревизий, касающихся именно этого узла, и некоторую сопутствующую информацию (в качестве примера см. вкладка 'History' в Параметрах требования). Верхняя строка таблицы соответствует самой последней синхронизированной с глобальным репозиторием ревизии, далее сверху вниз идут ревизии по убыванию от более свежих к более старым.

Для просмотра сравнения текущей локальной версии узла и одной из старых ревизий нужно:

  1. Открыть вкладку 'History' в окне 'Properties view' для интересующего узла, как описано выше.

  2. Найти в списке интересующую ревизию. Для быстрого поиска нужной ревизии удобно воспользоваться фильтром в верхней строке таблицы. Например, если известна дата коммита или часть комментария. Нужно кликнуть в строке фильтра в том столбце, по которому вы хотите произвести поиск, и ввести искомый фрагмент текста. После чего таблица будет отфильтрована, и в ней останутся только те строки, которые содержат введенный фрагмент текста в соответствующем столбце.

    Применение фильтра в окне History

  3. Дважды кликнуть в таблице на вкладке 'History' по интересующей старой ревизии.

    В результате появится окно 'Compare', в котором отобразится сравнительная информация. Это окно, хотя и не открыто в специальной перспективе, по виду и содержанию полностью совпадает с окном 'Compare', которое открывается при просмотре ревизий проекта в перспективе 'Team Syncronizing' (подробнее см. Просмотр истории ревизий у проекта Requality).

Импорт-экспорт каталога требований Requality в ReqIF

Requality позволяет импортировать каталог требований из формата ReqIF и экспортировать созданный в проекте Requality каталог требований в ReqIF-формат.

Экспорт каталога требований Requality в ReqIF

Если в каталоге требований содержатся изображения или таблицы, предварительно должны быть установлены на компьютер программы LibreOffice и 'ImageMagick' и прописаны соответствующие настройки в Requality:

  1. Адрес для скачивания 'ImageMagick': https://www.imagemagick.org/script/download.php.

  2. Адрес для скачивания LibreOffice: https://ru.libreoffice.org/

  3. После установки этих программ в главном окне Requality открыть меню 'Window → Preferences', в открывшемся диалоговом окне слева выбрать пункт 'Requality', справа в поле 'Path to ImageMagick' указать путь к директории, куда была установлена программа 'ImageMagick'. В поле 'Path to libreoffice(v5+) soffice' с помощью кнопки 'Select' указать путь к запускаемому файлу LibreOffice. Далее сохранить настройки, нажав 'Apply' и 'OK'.

На данный момент для экспорта проекта Requality в формат ReqIF нужно использовать файл ReqIF с моделью данных, полученный из целевого инструмента (в конкретном случае — из DOORS).

Для того, чтобы преобразовать каталог требований из проекта Requality в формат ReqIF, нужно:

  1. На проекте Requality вызвать контекстное меню и выбрать в нем пункт 'Export...'. В открывшемся диалоговом окне выбрать 'Requality' → 'Export to ReqIF' и нажать кнопку 'Next'.


    Вызов экспорта каталога требований в формат ReqIF


  2. В следующем окне нужно выбрать ReqIF файл, на основе которого будет генерироваться новый ReqIF. Такой файл должен быть с расширением '.xml' и иметь содержимое в формате DOORS. На данный момент другие форматы не поддерживаются Requality. После этого нажать кнопку 'Next >'.


    Выбор файла ReqIF с моделью данных из целевого инструмента


  3. В следующем окне нужно указать имя и путь к файлу, куда требуется сохранить преобразованный в ReqIF-формат каталог требований. Для этого нужно нажать кнопку 'Browse', в открывшемся окне выбрать целевую директорию и указать имя для нового файла в поле 'File name' вместо звездочки (*), оставив расширение 'reqif', далее нажать кнопку 'Save'. После этого становится видно, что в окне экспорта отображается путь к новому файлу. Далее нужно в окне экспорта нажать кнопку 'Next'.


    Выбор целевой папки для экспорта каталога требований в формат ReqIF


  4. Данный шаг, как правило, можно пропустить, т.к. эти настройки обычно устанавливаются автоматически. Если же этого не произошло, нужно выполнить следующие действия. В крайнем левом поле выбрать проект, экспортированный из DOORS. В среднем поле выбрать проект, который экспортируется из Requality. Далее нажать кнопку 'Add new mapping'. Таким образом между этими друмя проектами будет указана связь-соответствие, и она отобразится в крайнем правом поле. Если такую связь требуется удалить, нужно выбрать ее в крайнем правом поле и нажать кнопку 'Remove mapping'. Далее нужно кликнуть в крайнем правом окне на требуемой связи и нажать кнопку 'Finish'.


    Указание соответствия проектов


  5. После этого произойдет экспорт каталога требований в формат ReqIF: каталог требований из проекта Requality будет преобразован в каталог требований в формате ReqIF и размещен в указанном проекте в виде файла с расширением '.reqif'. Данный ReqIF-файл может быть использован любым инструментом для управления требованиями, который распознает ReqIF-формат.

Импорт каталога требований из ReqIF в Requality

Для импорта документа формата ReqIF в проект Requality нужно:

  1. В перспективе 'Requality' в окне 'Requality Explorer' открыть контекстное меню и выбрать пункт 'Import...'.

  2. В открывшемся диалоговом окне выбрать 'Requality → Import from ReqIF' и нажать кнопку 'Next >'.


    Вызов импорта каталога требований из формата ReqIF в проект Requality


  3. В новом открывшемся окне выбрать в файловой системе требуемый документ формата ReqIF и нажать кнопку 'Next >'.


    Выбор документа ReqIF


  4. В следующих двух диалоговых окнах нужно указать соответствие элементов ReqIF-формата элементам формата Requality. Сначала откроется окно для сопоставления типов элементов ReqIF и Requality. Для указания связи требуется выбрать в левой колонке тип элемента ReqIf, а в средней - соответствующий ему тип элемента Requality, потом нажать кнопку 'Add mapping'. Появившуюся связь можно увидеть в правой колонке, она будет отображена в виде 'тип_ReqIF → тип_Requality'. Существует возможность привязать сразу несколько типов элементов ReqIF к одному типу элемента Requality. Для этого нужно выделить в левой колонке не один тип, а сразу несколько, и дальше действовать по описанной схеме.


    Указание соответствий элементов ReqIF-формата элементам формата Requality


  5. Для того, чтобы удалить некорректно заданную связь, нужно выделить ее в правом столбце и нажать кнопку 'Remove mapping', такая связь будет удалена.


    Удаление соответствия элементов ReqIF-формата элементам формата Requality


  6. Далее следует нажать кнопку 'Next', после чего откроется следующее окно для указания соответствия элементов, в котором требуется указать соответствие атрибутов ReqIF-документа атрибутам формата Requality. Для указания связи требуется выбрать в левой колонке название атрибута ReqIf, а в средней - название соответствующего ему атрибута Requality, потом нажать кнопку 'Add mapping'. Появившуюся связь можно увидеть в правой колонке, она будет отображена в виде 'атрибут_ReqIF → атрибут_Requality'. Для этого нужно выделить в левой колонке не одно имя атрибута, а сразу несколько, и дальше действовать по описанной схеме.


    Указание соответствия атрибутов ReqIF-документа атрибутам формата Requality


  7. Для того, чтобы удалить некорректно заданную связь, нужно выделить ее в правом столбце и нажать кнопку 'Remove mapping', такая связь будет удалена.


    Удаление соответствия атрибутов ReqIF-документа атрибутам формата Requality


  8. Далее следует нажать кнопку 'Finish'.

После этого будет осуществлен процесс импорта выбранного документа ReqIF в формат проекта Requality, при этом будет создан новый проект Requality с каталогом требований, созданным в соответствии с каталогом требований данного ReqIF-документа и выбранными взаимосвязями элементов между форматами ReqIF и Requality.

Экспорт изменений из проекта Requality в модуль DOORS

Предполагается, что создан проект Requality. Стоит задача перенести его в DOORS. Для этого требуется осуществить следующую последовательность действий.

  1. В случае создания проекта в Requality с нуля нужно предварительно создать в DOORS пустой модуль и добавить в него все используемые атрибуты. Если атрибуты не будут добавлены в модуль, то при переносе требований из Requality они не будут распознаны и, соответственно, в DOORS. А также нужно создать модуль связей для этого формального модуля. Например, создать в формальном модуле элемент, создать у него ссылку на самого себя. При этом DOORS сам предложит создать модуль связи. После чего удалить элемент. Этот новый созданный пустой модуль и будет обновлен проектом из Requality.

    В случае обновления проектом из Requality уже существующего модуля DOORS этот шаг должен быть пропущен. Дальнейшие действия для обоих случаев идентичны.

  2. Для удобства дадим модулю в DOORS название 'D0'. Экспортируем оба модуля (формальный и связи) в файл формата reqif, предварительно заблокировав их для изменений. Для удобства назовем этот файл 'reqif(D0)'. И размещаем полученный файл в директории используемого workspace у Requality.

  3. В Requality экспортируем проект в файл ReqIF, используя для этого файл 'reqif(D0)' (см. Экспорт каталога требований Requality в ReqIF). Полученный файл назовем 'reqif(R1)'.

  4. В DOORS импортируем новый созданный файл 'reqif(R1)'. В результате импорта в DOORS создается новый модуль. Назовем его 'DNew1'.

  5. В DOORS обновляем начальный модуль 'D0' новым модулем 'DNew1'. В итоге получаем перенос всех требований, полученных из Requality в начальный модуль 'D0' в DOORS. Теперь старый модуль 'D0' обновлен. Чтобы обозначить наличие изменений будем его теперь называть 'D1'.

    Однако, на этом этапе синхронизация проекта Requality и модуля DOORS еще не завершена. Далее требуется осуществить проставление идентификаторов 'ForeignID' в проекте Requality. Эти идентификаторы позволяют реализовать уникальную идентификацию всех элементов, идентичную для проекта Requality и модуля DOORS.

  6. В DOORS из обновленного модуля 'D1' снова делаем экспорт в ReqIF с блокировкой всех данных. Назовем получаемый файл 'reqif(D1)'. Нужно разместить его в workspace у Requality.

  7. В Requality на корневом узле дерева требований 'Requirements' нужно запустить массовую операцию 'DoorsIdImporter' (как это сделать, описано в разделе DOORSIdImporter). Результатом этого станет проставление всех еще не проставленных атрибутов 'ForeignID' на основании данных из проекта DOORS. Обновленный таким образом проект Requality обозначим 'R2'.

    Следующие шаги нужны для того, чтобы перенести текстовые ссылки из Requality в DOORS. Это становится возможным только после того, как произошло проставление универсальных идентификаторов 'ForeignID'.

  8. Требуется повторить шаг 3, но использовать файл 'reqif(D1)'. Полученный в результате файл назовем 'reqif(R2)'.

  9. Повторить шаг 4, импортировав в DOORS файл 'reqif(R2)'. В результате в DOORS появится новый модуль, назовем его 'DNew2'.

  10. Повторив шаг 5, обновить в DOORS модуль 'D1' новым модулем 'DNew2'. В результате начальный модуль будет обновлен снова (назовем его теперь 'D2').

Полученные в результате этих действий проекты 'R2'Requality) и 'D2' (в DOORS) синхронизированы.

Руководство по устранению неполадок

Не работают межпроектные ссылки

Если не работают межпроектные ссылки (типа 'REFERENCE' или термины), рекомендуется проверить имена связанных проектов. Имя проекта должно совпадать с тем, которое указано в соответствующих ссылочных атрибутах и терминах.

Посмотреть, какое имя проекта указано в ссылочных атрибутах, можно у тех узлов, из которых исходит ссылка, а в терминах - у тех узлов, где термин используется. Для этого нужно кликнуть по узлу в 'Requality Explorer', все его ссылки отобразятся в окне 'Requality Links Explorer', причем межпроектные будут начинаться с имени проекта (см. Просмотр ссылок узла дерева требований). Кроме того, можно открыть для этого узла 'Properties view' и на вкладке 'Main' в таблице атрибутов посмотреть значения атрибутов типа 'REFERENCE' и атрибута 'usedef', в начале каждой межпроектной ссылки будет указано имя связанного проекта. Там же в таблице атрибутов при необходимости их можно отредактировать.

Рекомендации по разработке требований в соответствии с КТ-178С

Следующие атрибуты требований и текстовых узлов являются рекомендуемыми при разработке требований в соответствии с КТ-178С. Некоторые отчеты Requality поддерживают работу с этими атрибутами, предполагая, что они имеют специальные предусмотренные значения. Однако, их наличие не является обязательным. Эти атрибуты устанавливаются пользователем самостоятельно.