Requality: руководство пользователя
Работа с проектами
Создание проекта
Requality
- Для создания проекта выберите в оконном
меню пункт 'File' → 'New' → 'Project...'
- В появившемся диалоговом
окне выберите 'Requality' → 'Requality Project' и
нажмите кнопку 'Next'.
- На следующей странице введите название
проекта и нажмите кнопку 'Finish'.
Редактирование параметров проекта
'Requality'
Глобальные атрибуты, которые распространяются на все дерево проекта, могут быть заданы
в окне 'Properties view'. Для этого нужно в 'Requality Explorer' кликнуть
на названии проекта. После чего в 'Properties view' отобразятся параметры данного проекта.
Глобальный атрибут может быть задан и отредактирован вручную в таблице атрибутов.
Атрибут для задания перечисляемого типа может так же быть создан с помощью полуавтоматического извлечения из уже
существующих атрибутов узлов проекта (см. ниже).
- Таблица атрибутов проекта аналогична таблице атрибутов требований, за исключением того,
что отсутствует столбец 'scope' (т.к. все атрибуты проекта по умолчанию глобальны
и область их видимости распространяется на все узлы проекта). И работа с атрибутами проекта осуществляется точно так же.
См. подробное описание работы с атрибутами в разделе о работе с требованиями.
- В таблице атрибутов проекта помимо стандартных типов атрибута доступен тип 'ENUM_DEFINITION'.
Он служит для задания перечисляемого типа данных, который может быть использован в атрибутах других узлов проекта. Чтобы задать перечисляемый тип,
создайте для проекта в таблице атрибутов новый атрибут, причем имя этого атрибута будет именем вашего перечисляемого типа.
У этого атрибута в выпадающем списке в колонке 'Type' выберите тип 'ENUM_DEFINITION'.
После чего кликните по появившейся кнопке в колонке 'Value',
откроется окно редактора списка значений атрибута 'Enum definition editor'. По умолчанию список значений пуст.
В столбце 'Value' вручную укажите нужные значения (по одному в каждой строке). В колонке 'Comment'
при необходимости можно добавить свой комментарий к конкретному значению. Для сохранения изменений нажмите кнопку 'OK'
(для отмены - кнопку 'Cancel'). Заданные значения отобразятся в виде строки в колонке 'Value'.
Теперь данный атрибут доступен во всех узлах проекта как название перечисляемого типа с заданными значениями.
- Отредактировать атрибут проекта можно вручную в таблице атрибутов.
Для редатирования списка значений атрибута с типом 'ENUM_DEFINITION'
нужно снова открыть редактор списка значений атрибута 'Enum definition editor',
кликнув по кнопке в столбце 'Value'.
Глобальный атрибут для задания перечисляемого типа можно создать вручную в таблице атрибутов (как описано выше),
а также с помощью полуавтоматического извлечения из уже существующих атрибутов проекта. Для этого:
- В 'Properties view' проекта кликните по кнопке 'Extract enum definitions from attributes'.
Откроется диалоговое окно 'Enum definition extractor dialog'.
- В этом окне в поле выберите имя атрибута, тип которого вы хотите преобразовать в перечисляемый.
Справа в поле 'Values of selected attributes'
отобразится список значений этого атрибута, этот список собран со всех атрибутов с таким же именем,
которые есть в узлах проекта.
- Снизу в поле 'Select a name of ENUM definition' задайте имя для атрибута
типа 'ENUM_DEFINITION', который будет создан на основании значений выбранного атрибута.
- Нажмите кнопку 'OK'.
Теперь атрибут типа 'ENUM_DEFINITION' создан, он отображается в таблице 'Attributes' с заданным именем и в качестве
списка значений имеет список значений, собранный со всех атрибутов с выбранным именем. В 'Properties view' узлов,
у которых были эти атрибуты, вы можете увидеть, что тип атрибутов изменился на новый созданный атрибут 'ENUM_DEFINITION'.
Работа с документами
Импортирование документа
Для того чтобы начать выделять
требования, вам сначала нужно
импортировать один или несколько
документов, содержащих требования.
Требования могут быть записаны в свободной
форме. Requality предусматривает
импортирование в проект документов со
следующими расширениями: 'doc', 'pdf', 'htm',
'html'. При этом Requality копирует
исходный документ, преобразовывает его
формат в 'xhtml' и помещает полученный
документ в проект. Исходный документ не
испытывает никаких изменений. Дальнейшая
работа осуществляется над полученным
'xhtml' -документом.
Requality позволяет импортировать
документы по одному или группами, а также
импортировать папки с документами.
Для импорта документов выберите узел
'Documents' (или его дочерний узел) с пиктограммой папки. В
контекстном меню выберите 'Import
Document...'.
Выбор директории. В открывшемся
диалоговом окне 'Document Import Wizard' с
помощью кнопки 'Browse...', расположенной справа от
поля 'From directory:', укажите
директорию, в которой находятся сами
документы, содержащие требования, или
папки с этими документами.
Выбор документа или папки. Есть
несколько способов выбора документов:
- В диалоге 'Document Import Wizard' в левом окне выберите (не
отмечая галочкой) папку, в которой
находится нужный документ (документы).
При этом в правом окне отобразятся все
документы, содержащиеся в этой папке,
отметьте среди них галочкой требуемые
документы.
- Вы можете отметить галочкой
какую-либо папку в левом окне.
В этом случае все документы,
содержащиеся в этой папке и во
вложенных папках, будут выбраны для
импортирования.
- Вы также можете воспользоваться
расположенными ниже кнопками 'Select
all' и 'Deselect all', которые позволяют
соответственно отмечать все документы
или снимать отметку со всех документов
в выбранной директории.
Настройка фильтра расширений
документов. Как было указано выше,
Requality предусматривает
импортирование в проект документов с
расширениями 'doc', 'pdf', 'htm' и 'html'. И по
умолчанию в инструменте настроен фильтр,
который позволяет импортировать только
их. Если вы хотите импортировать
документ другого типа, то нужно
перенастроить этот фильтр. Чтобы это
сделать, используйте в окне 'Document Import
Wizard' кнопку 'Select types', которая
позволяет настраивать фильтр на типы
доступных для импорта документов.
Нажмите кнопку 'Select types'.
В открывшемся окне 'Select Types' в
списке доступных расширений укажите
галочками типы расширения тех
документов, которые вы хотите
импортировать. Документы с
расширениями, которые в этом окне
галочками не отмечены, доступны для
импортирования не будут, вы не увидите
их в окне импортирования.
В окне 'Select Types' для выбора
расширений вы также можете
использовать кнопки 'Select All' и
'Deselect All', которые позволяют
соответственно отмечать все
расширения или снимать отметку со всех
расширений в списке.
Если вы хотите импортировать
документ с расширением, которое в
данном списке не указано, впишите это
расширение в поле 'Other extensions:'
(например: 'xhtml').
Помните, что импортирование
документа с любыми расширениями, кроме
'doc', 'pdf', 'htm' и 'html', не
предусмотрено в инструменте
Requality, поэтому результат может
быть некорректен!
Помните, если в выбранной для
импорта папке вы не видите документ,
который, вы уверены, в ней находится,
проверьте настройки этого фильтра.
Если вы уже выбрали нужные вам
расширения, нажмите кнопку 'OK'.
Теперь документы, расширения которых вы
указали в фильтре, будут отображаться в
окне импорта.
Выбор целевой папки импортирования.
Рассматриваем окно 'Document Import Wizard'
дальше. Под полями выбора папок и
документов находится поле 'Into folder:'.
Укажите в нем папку проекта, в которую
будут добавлены выбранные документы. По
умолчанию в этом поле указана папка
'Documents' (корневая папка документов в
проекте Requality) или ее подпапка, для которой вы выбрали меню 'Import Document...'. Но с помощью кнопки
'Browse...' возле этого поля вы можете
выбрать или создать другую папку.
(Подробнее о папках документов и других
способах их создания вы можете прочитать
дальше в документации – см. Создание
папок документов.)
Если имена документов, которые вы
хотите импортировать, совпадают с
именами уже находящихся в этой папке
документов, вы можете использовать опцию
переименования. Выберите в окне импорта
флажок 'Rename existing documents'. Теперь
импортируемые документы в случае
совпадения имен будут переименовываться
с добавлением индексов.
Если вы импортируете не отдельные
документы, а папку с документами целиком,
и эта папка содержит вложенные папки с
документами, то по умолчанию такая
иерархия не будет сохранена в папке
'Documents' Requality-проекта. Все
вложенные документы просто
импортируются в корень целевой папки.
Чтобы сохранить иерархию, выберите в
окне импорта опциональный флажок 'Create
folders'. Теперь при импорте все вложенные
папки и документы будут
импортированы с учетом иерархии.
Если вы выбрали документы для
импортирования и указали целевую папку,
завершите процесс импортирования
нажатием кнопки 'Finish' в окне 'Document
Import Wizard'.
При успешном прохождении процесса
импорта в дереве проекта в целевой папке
документов появятся импортированные
документы, преобразованные в необходимый
для дальнейшей работы формат 'xhtml'.
Удаление документа
Для удаления документа выберите этот
документ в окне 'Requality Explorer'.
- Правой кнопкой мыши вызовите
контекстное меню, выберите в нем пункт
'Delete Document'.
- Для удаления документа вы также
можете использовать горячую клавишу
'Delete'.
После этого появится окно для
подтверждения удаления документа.
Нажмите в нем кнопку 'OK' для
продолжения процесса удаления.
Если в удаляемом документе уже были
выделенные фрагменты требований, на
данном этапе удаления возникнет еще одно
окно для подтверждения удаления,
содержащее предупреждение о наличии
выделенных фрагментов. Нажмите в нем
кнопку 'OK' для продолжения процесса
удаления. Будьте внимательны, в этом
случае будет удален как сам документ, так
и все его фрагменты, которые были
использованы в требованиях. Сами
требования останутся на месте, но из них
исчезнут ссылки на соответствующие
фрагменты удаленного документа.
Обновление документа
'Requality' позволяет обновлять документацию путем переноса требований из старой версии документа в новую.
Об этом подробнее написано в разделе "Перенос фрагментов требований в новую версию документа".
Создание папок
документов
Для удобства работы с документами внутри
узла 'Documents' можно создавать папки и
размещать документы в них.
- Для создания папки документов выделите
узел 'Documents' или любую другую
вложенную папку, в
контекстном меню выберите 'New → Folder'.
- В открывшемся окне в поле 'Enter folder
name' введите желаемое имя папки.
- Имя не должно повторять имена папок,
находящихся на том же уровне иерархии. В
противном случае появится
предупреждающее об этом сообщение, и
продолжать процесс создания папки с
таким именем будет невозможно.
- Если вы ввели корректное имя, нажмите
кнопку 'OK'. Папка с указанным именем
будет создана в 'Requality Explorer' на
выбранном уровне иерархии.
Теперь вы можете импортировать документы
в новую папку.
Удаление папки
документов
Для удаления папки документов
выберите эту папку в окне 'Requality
Explorer'.
- Правой кнопкой мыши вызовите
контекстное меню, выберите в нем пункт
'Delete Folder'.
- Для удаления папки вы также можете
использовать горячую клавишу
'Delete'.
После этого появится окно для
подтверждения удаления папки.
Обратите внимание, что удаление папки
повлечет за собой удаление всех
находящихся в ней документов и дочерних
папок с их содержимым. Если вы уверены в
правильности удаления выбранной папки,
нажмите в окне подтверждения кнопку
'OK' для продолжения процесса
удаления.
Если в удаляемой папке или ее дочерних
папках содержится документ, в котором
есть выделенные фрагменты требований, на
данном этапе удаления возникнет еще одно
окно для подтверждения удаления.
Обратите внимание, что при удалении
папки все эти документы будут удалены,
что повлечет удаление выделенных в них
фрагментов требований. Если вы уверены в
правильности удаления, нажмите в окне
подтверждения кнопку 'OK' для
продолжения процесса удаления.
Работа с требованиями
В проекте Requality все требования
расположены в узле 'Requirements'.
Создание требования
Требование можно создать несколькими способами: из 'Requality Explorer',
из 'UniEditor' и из 'ModuleEditor'.
Требования можно создавать как с нуля, так и из шаблонов требований текущего проекта.
Требования как потомки узлов можно создавать только для требований, у текстовых узлов не может быть требований-потомков.
- Из 'Requality Explorer'. Выберите
узел-требование 'Requirements' или любое
его дочернее требование, назовем такое требование
целевым. Вызовите правой кнопкой
контекстное меню.
Если в проекте есть шаблоны, тогда в контекстном меню будет отображаться пункт 'New → Requirement...' с выпадающим списком доступных шаблонов. Из этого списка можно создать требование по любому шаблону требования текущего проекта, а также можно создать пустое требование.
Если в проекте нет шаблонов, то для создания требования будет доступен только пункт меню 'New → Requirement', выбор которого приведет к созданию пустого требования.
После выполнения одного из перечисленных действий у целевого требования появится новое дочернее требование.
- Из 'UniEditor'. Выберите
узел-требование, к которому нужно добавить дочернее требование или требование того же уровня. Затем можно добавить новое требование одним из следующих способов:
- Навести указатель мыши на правый верхний угол выбранного требования и из раскрывшегося меню выбрать пункт 'Add Child Requirement' для создания дочернего требования или 'Add Sibling Requirement' для создания требования того же уровня.
- Навести указатель мыши на правый верхний угол редактора и выбрать аналогичные пункты из выпадающего меню.
- С клавиатуры, нажав 'Ctrl+R' для создания дочернего требования или 'Ctrl+S' для создания требования того же уровня.
- С клавиатуры, нажав 'Ctrl+D', после этого в правом верхнем углу редактора откроется выпадающее меню с подсказками, оттуда можно выбрать пункт меню как описано в п.2, либо нажав клавишу 'S' или 'R' для для создания дочернего требования или требования того же уровня соответственно.
Если в проекте выбран активный шаблон, то в пунктах меню будет отображаться его название, то есть пункт меню будет называться, например, не 'Add Child Requirement', а 'Add Child Requirement - basic', где 'basic' – это имя шаблона.
После выполнения указанных действий откроется окно редактирования требования.
Если был выбран активный шаблон, то все поля поля требования, кроме поля 'Id', будут заполнены из этого шаблона. Поле 'Id' будет вычисляться следующим образом:
- Если создается первое дочернее требование, то у него будет Id 001.
- Если создается не первое дочернее требование или требование того же уровня, то система определит последний идентификатор требования на том уровне, на котором создается новое требование, инкрементирует его и присвоит новому требованию.
- Из 'ModuleEditor'. Действия аналогичны действиям, описанным для редактора 'UniEditor' в предыдущем пункте.
Создание требования путем копирования
Требование также можно создать путем копирования уже существующего требования.
- Из 'Requality Explorer'. Копирование требования осуществляется с помощью пункта меню 'Copy'.
Вставка скопированного требования осуществляется с помощью пунктов меню 'Paste into'
(для добавления скопированного требования как ребенка к целевому узлу) или 'Paste near'
(для добавления скопированного требования как соседа к целевому узлу). Скопированный узел вставится в выбранное место дерева требований.
Также для копирования узла можно использовать горячие клавиши 'Ctrl+c' и 'Ctrl+v',
при этом копирование будет происходить по принципу 'Paste near'.
- Из 'UniEditor' и 'Module Editor'. Откройте соответствующий редактор. Кликните один раз по требованию, которое хотите скопировать.
Оно станет выделенным. Нажмите сочетание клавиш 'Ctrl+c'. Затем так же кликните на требование 'Requirements' или любое его дочернее требование,
назовем его целевым, и нажмите сочетание клавиш 'Ctrl+v'. Откроется редактор требования, где вы можете отредактировать параметры требования.
Сделайте это и нажмите 'OK'. Требование вставится как сосед к целевому требованию.
Создание уточняющего требования
Создать уточняющее требование можно одним из двух способов:
- Добавить к уже имеющемуся требованию атрибут
типа 'REFERENCE' с указанием целевого требования; в таком случае имеющееся требование станет уточняющим для целевого требования;
- Cоздать новое требование как уточняющее к выделенному требованию.
- Первый способ доступен из вкладки 'Main' окна 'Properties' требования.
Для того, чтобы текущее требование стало уточняющим, нужно создать атрибут типа 'REFERENCE' с указанием целевого требования.
Для этого нужно выбрать требование и в открывшемся окне 'Properties' на вкладке 'Main' в разделе 'Attributes' указать имя нового атрибута.
Затем в колонке 'Type' выбрать тип 'REFERENCE' и нажать в колонке 'Value' на кнопку с двумя точками. В открывшемся окне выбрать целевое требование.
- Второй способ доступен в режиме обычной разметки требований. Он состоит из двух этапов:
- Сначала выбирается целевое требование для уточнения. Для этого в 'Requality Explorer'
нужно выбрать требование и нажать на кнопку в панели toolbar в верхней части окна 'Requality Explorer' (отмечено цифрой 1 на рисунке).
Кнопка 1 имеет три состояния: отключенное выделение (обозначается цифрой '0'), выделение уточняемого требования для одной операции (цифрой '1')
и использование выделенного требования для всех последующих операций добавления (символом '*'). Состояние кнопки изменяется при нажимании
на нее, поэтому для выделения требования и перевода его в нужное состояние может потребоваться несколько раз нажать на эту кнопку, пока в toolbar-е не
станет отображаться желаемое значение. После того, как требование было помечено как уточняемое, при переводе фокуса с этого требования в
'Requality Explorer' на что-то еще,
оно будет отображается в дереве требований белым текстом на сером фоне (отмечено цифрой 2 на рисунке).
- Второй этап включает в себя непосредственное создание уточняющих требований. После того как уточняемое требование было выбрано, можно в обычном режиме создавать новые требования.
Например, выделить текст в документе и в контекстном меню выбрать пункт 'Create new Requirement…'. Созданное требование будет иметь атрибут с именем 'elaborates',
который будет ссылаться на уточняемое требование.
- Если уточняемое требование было выделено в режиме однократного уточнения (значение '1' на кнопке), то после создания одного уточняющего требования, выделение уточняемого требования
сбросится. Если был выбран режим многократного уточнения (значение '*' на кнопке), то все создаваемые требования будут уточняющими. Для того, чтобы
отключить создание уточняющих требований, нужно опять выделить уточняемое требование и перевести кнопку в состояние '0'.
- Стоит отметить, что имя атрибута 'elaborates' задано по умолчанию, его можно изменить в настройках проекта. Для этого из контекстного меню текущего проекта открыть окно
'Properties'. В нем в левой части выбрать 'Requality', тогда в правой части в разделе 'Reference settings' можно изменить значение имени атрибута,
указав другое имя в поле 'Default reference name'.
- Также стоит отметить, что для разных проектов могут быть выделены разные уточняемые требования и что выделение уточняемых требований
сохраняется в рамках одной рабочей сессии. После закрытия Eclipse все выделения сбросятся.
Удаление требования
Обратите внимание, что при удалении требования удаляются также все содержащиеся в нем дочерние требования и снимается разметка со всех
выделенных фрагментов, на которые ссылается данное
требование. Также вместе с требованием будет удалено все его поддерево, включая узлы всех типов (и требования, и комментарии,
и другие возможные в случае использования дополнительных плагинов узлы).
Требование можно удалить из 'Requality Explorer', для этого нужно выбрать его в этом окне, вызвать правой кнопкой контекстное меню и выбрать пункт 'Delete Requirement'.
В редакторах 'UniEditor' и 'ModuleEditor' требование можно удалить из выпадающего меню узла либо из выпадающего меню в правом верхнем углу редактора
с помощью пункта меню 'Delete Requirement'. Также можно воспользоваться горячей клавишей 'Delete'.
После одного из указанных действий нужно подтвердить удаление требования в появившемся окне, нажав кнопку 'OK'.
Создание требования
при выделении фрагмента текста
ВНИМАНИЕ! Если вы хотите скопировать фрагмент текста из редактора документа, воспользуйтесь для копирования горячими клавишами 'Ctrl+Shift+c'.
Создать требование вы можете из
редактора документа ('Markup Editor'), сразу
связав его с некоторым фрагментом текста.
- Откройте документ, часть текста
которого вы хотите присвоить новому
требованию.
- Выберите в 'Requality Explorer'
узел-требование 'Requirements' или одно из
вложенных требований. Назовем это
выбранное требование целевым. Новое
требование будет создаваться как
подтребование целевого.
- В редакторе документа выделите часть
текста. Внимание! Если требуемый фрагмент принадлежит какому-либо требованию
и уже выделен в тексте документа,
не требуется выделять его курсором мыши, пропустите этот шаг.
- Вызовите на выделенном тексте правой
кнопкой мыши контекстное меню и выберите
один из двух пунктов:
- 'Create new Requirement:
<имя_целевого_требования>/<идентификатор_нового_требования>'.
Предлагаемый идентификатор для нового
требования генерируется в
соответствии с правилом
автоматического создании
идентификатора требования, описанным
в разделе 'Создание требования'.
Имя требования будет не задано.
- 'Create new Requirement:
<имя_целевого_требования>/<имя_нового_требования>'.
В качестве имени нового требования
будет предлагаться текст выделенного
фрагмента документа. Идентификатор
такого требования будет сгенерирован
в соответствии с правилом
автоматического создании
идентификатора требования, описанным
в разделе 'Создание требования'.
- Обратите внимание, если целевым
требованием является 'Requirements', то
в этих двух пунктах контекстного меню
имя целевого требования не
указывается, они имеют формат,
соответственно, 'Create new Requirement:
<идентификатор_нового_требования>'
и 'Create new Requirement:
<имя_нового_требования>'.
- Помните, что вы всегда можете
поменять выбранные идентификатор и
имя требования позднее,
отредактировав соответствующие
параметры требования (см. раздел
'Редактирование параметров требования').
В итоге к целевому требованию будет
добавлено вложенное требование с
указанными идентификатором и именем. Оно
будет содержать ссылку на выделенный
фрагмент документа. Данный фрагмент
документа в тексте документа будет
маркирован желтым цветом.
О простом способе создания требований вы
можете почитать в разделе 'Создание
требования'.
Добавление фрагмента
текста к требованию
Требование может содержать несколько фрагментов документа.
Поэтому
добавлять фрагмент можно как к
требованию, которое еще ни на что не
ссылается, так и к требованию, уже имеющему
фрагменты.
- Откройте документ, часть текста
которого вы хотите присвоить новому
требованию.
- Выберите в 'Requality Explorer' требование,
к которому вы хотите добавить фрагмент
документа. Назовем это требование
целевым.
- В редакторе документа выделите нужную
часть текста. Внимание! Если требуемый фрагмент принадлежит какому-либо требованию
и уже выделен в тексте документа,
не требуется выделять его курсором мыши, пропустите этот шаг.
- Вызовите на выделенном тексте правой
кнопкой мыши контекстное меню и выберите
один из двух пунктов:
- 'Add to Requirement…' Этот пункт
контекстного меню позволяет
самостоятельно выбрать требование, к
которому будет добавлен выделенный
фрагмент. В открывшемся окне выберите
требование, к которому вы хотите
добавить фрагмент. Вы также можете
создать новое требование с помощью
кнопки 'Create New', которая откроет
окно создания требования. Если вы уже
выделили требование в окне выбора
требования, нажмите кнопку 'OK'. Это
требование теперь и будет целевым.
- 'Add to Requirement: <имя_требования>'.
Этот пункт контекстного меню
предлагает добавить выделенный
фрагмент к требованию
<имя_требования>. Обратите
внимание, это и есть то самое целевое
требование, которое вы выделили в окне
'Requality Explorer' при выполнении п.2.
Выделенный фрагмент требования
теперь помечен в тексте желтым цветом и
добавлен в целевое требование. То есть
теперь целевое требование содержит
ссылку на данный фрагмент текста.
Удаление фрагмента в
редакторе документа
Чтобы удалить фрагмент документа из
требования, нужно в редакторе документа
снять с этого фрагмента выделение. После
чего требование больше не будет содержать
ссылки на данный фрагмент документа. Внимание!
Если данный фрагмент принадлежит нескольким требованиям одновременно,
он будет удален из всех этих требований. (Если вы хотите удалить фрагмент
только из одного требования, см.
Удаление фрагмента в окне Properties). Для
этого:
- Дважды кликните на фрагменте в 'Properties view'. Документ откроется и будет
прокручен на то место, где находится требуемый фрагмент.
- Найдите нужный фрагмент, вызовите на
нем правой кнопкой мыши контекстное
меню, выберите пункт меню 'Remove from
Requirement'.
- В результате с данного фрагмента
документа снимается выделение. И ссылка
на него удаляется из требования
(отследить это можно в окне 'Properties'
требования на вкладке 'Description' в поле
'Locations:' или в окне 'Requality Explorer').
Удаление фрагмента в окне Properties
Если вы хотите удалить фрагмент из конкретного требования, воспользуйтесь описанной ниже инструкцией.
Такой способ удаления особенно удобен в том случае, если данный фрагмент принадлежит нескольким
требованиям одновременно, но должен быть удален только из одного.
- Откройте в окне 'Properties'
нужного требования вкладку 'Description'
(см. Редактирование параметров требования).
- Выберите в списке 'Locations' требуемый фрагмент.
- Вызовите на нем контекстное меню и выберите пункт 'Delete'.
Или воспользуйтесь горячей клавишей Delete.
Автоматическая разметка фрагментов требований в документе
'Requality' позволяет разметить документ автоматически. Для этого в 'Requality Explorer' выберите документ, вызовите контекстное меню
и выберите HTML Headers Document Processor. Он позволяет выделить в качестве требований тот текст,
который находится в HTML-документе внутри тегов-заголовков (<h1></h1>, <h2></h2> и т.д.).
После этого соответствующие фрагменты текста в документе будут размечены как требования.
Редактирование параметров требования
Чтобы отредактировать параметры требования, щелкните по нужному
требованию в 'Requality
Explorer' или по одному из его фрагментов в
окне 'Outline', в
окне 'Properties' откроются
свойства требования.
Далее рассмотрены только те параметры
требования, которые можно изменить вручную.
Id
- Идентификатор генерируется
автоматически, но может быть изменен. Редактируйте его прямо в данном
поле. (Обратите внимание, что идентификатор требования 'Requirements'
не может быть изменен.)
- Обратите внимание, если имя требования не задано,
то требование идентифицируется по идентификатору.
- Идентификатор должен быть уникальным
для всех требований на одном уровне
иерархии дерева требований. Если вы
попробуете ввести неуникальный
идентификатор, появится
предупреждающий значок и такое
изменение не будет сохранено.
- Идентификатор не может начинаться
или заканчиваться пробелами, при
сохранении изменений такие пробелы
удаляются.
Name
- Имя требования при создании
требования по умолчанию не задано. За исключением
одного случая: если вы создаете
требование из редактора документа
через пункт контекстного меню,
позволяющий использовать выделенный
фрагмент в качестве имени (см.
Создание требования при выделении фрагмента текста).
- Имя может не быть уникальным.
- Редактируйте имя напрямую в данном
поле.
- Если имя не задано, то требование идентифицируется по идентификатору,
в противном случае - по имени.
Type
- По умолчанию установлено значение 'Requirement'.
- Для редактирования раскройте выпадающий список и выберите одно из трех возможных значений:
'TextNode(Text)', 'TextNode(Header)' или 'Requirement'.
В случае изменения значения на 'TextNode(Text)' или 'TextNode(Header)' узел изменит тип с требования на
'текстовый узел'. В этом случае дальше нужно будет с ним работать как с текстовым узлом
(см. 'Работа с текстовыми узлами').
Attributes
- Атрибуты отображаются в виде таблицы
с полями: 'Name' (имя атрибута), 'Type' (тип), 'Value' (значение), 'Scope' (область видимости) и 'Generator' (генератор значений атрибута).
- Чтобы добавить атрибут, кликните по первой свободной ячейке столбца 'Name'
и введите имя атрибута.
- Чтобы отредактировать уже созданный
атрибут, кликните в нужной ячейке таблицы атрибутов и отредактируйте ее:
в столбце 'Name' отредактируйте имя, в столбце 'Type' выберите в выпадающем списке тип атрибута,
в столбце 'Value' укажите значение, в столбце 'Scope' в выпадающем списке выберите область видимости, в столбце Generator задайте генератор значений атрибута.
- Имя атрибута не может быть пустым. Оно
также не может начинаться или
заканчиваться пробелами. Имена
атрибутов у одного требования должны
быть уникальны. Атрибут с некорректным именем просто не будет сохранен.
- В столбце 'Type' выберите тип атрибута. По умолчанию доступны типы: 'INT',
'FLOAT', 'BOOL', 'STRING', 'LIST' и 'REFERENCE'. Однако в том случае,
если для всего проекта задан глобальный атрибут типа 'ENUM_DEFINITION' (см. 'Перечисляемый тип атрибута (Enum)'), имя этого атрибута тоже будет отображаться в
выпадающем списке в столбце 'Type' с префиксом Ⓔ как доступный перечисляемый тип атрибута (подробнее о выборе значения такого атрибута см. ниже).
- В поле 'Value' укажите значение атрибута. Также вы можете сгенерировать значение с помощью генератора (см. ниже).
- Если выбран тип атрибута 'List', то вам нужно задать список значений
этого атрибута. Сделать это с помощью генератора значений (см.ниже о задании и редактировании генератора значений) или вручную.
Для задания списка значений вручную кликните по ячейке в столбце 'Value', затем
кликните по кнопке, появившейся в ячейке справа. Откроется окно
редактирования значений списка - 'List values editor'.
В нем вы можете выбрать в выпадающем списке тип значений списка.
А в таблице, кликая по ячейкам поочередно сверху вниз, вы можете
указать и сами значения списка. Для изменения положения значения кликните по нужному
значению и воспользуйтесь стрелочками вверх-вниз справа, значение переместится,
соответственно, выше или ниже. Для удаления значения кликните по этому значению
и нажмите крестик справа в таблице, значение будет удалено. Для завершения редактирования нажмите
кнопку 'OK'. Для отмены редактирования нажмите кнопку 'Cancel'.
- Если выбран дополнительный тип атрибута, который задан пользователем для всего проекта как 'ENUM_DEFINITION',
по умолчанию в качестве значения такого атрибута будет указано значение, определенное в списке 'ENUM_DEFINITION'
на первом месте. Чтобы выбрать другое значение атрибута, кликните по ячейке в столбце 'Value', затем
кликните по кнопке, появившейся в ячейке справа, и выберите в выпадающем списке одно из доступных значений
(о том, как задать 'ENUM_DEFINITION' или изменить список его значений, см. 'Редактирование параметров проекта Requality').
- Для задания области видимости атрибута кликните в ячейке 'SCOPE' и в выпадающем списке выбирите один из вариантов:
'LOCAL', 'DIRECT_CHILDREN' или 'SUBTREE'.
- 'LOCAL' - атрибут виден только в данном требовании.
- 'DIRECT_CHILDREN' - атрибут виден в данном требовании и его детях первого уровня (то есть не виден в дочерних узлах детей).
- 'SUBTREE' - атрибут виден в данном требовании и всем его поддереве узлов.
- Чтобы задать или отредактировать генератор значений, кликните в ячейку генератора
в строке соответствующего атрибута, затем
кликните по кнопке, появившейся в ячейке справа. Откроется окно 'Attribute value generator', где вы можете задать все значения генератора:
выберите тип генератора ('Attr. gen. type') в соответствующем выпадающем списке. А затем укажите дополнительные параметры генерации в зависимости от выбранного типа генератора:
- Eсли выбран тип 'BY_FORMULA', укажите формулу.
- Если выбран тип 'RANDOM', укажите минимальное значение, максимальное значение и требуемое количество значений. Нажмите появившуюся кнопку 'Generate new set' в том случае, если хотите сгенерировать другой набор
значений по указанным параметрам.
- Если выбран тип 'CYCLE', укажите начальное и конечное значения, а так же размер шага.
Результат работы генератора отобразится в поле 'Preview'.
Подробнее о настройках генератора см. 'Генератор значений атрибута'. Для завершения
редактирования настроек генератора нажмите кнопку OK. Для отмены редактирования нажмите кнопку Cancel.
- ВНИМАНИЕ! Редактирование вручную в ячейке 'Value' списка значений, который был задан генератором, удаляет
генератор (т.е. ручное редактирование сгенерированных значений равносильно ручному
редактированию значений без использования генератора).
- Чтобы удалить атрибут, в соответствующей ему строке таблицы нажмите
кнопку-крестик в ячейке последнего столбца и в открывшемся диалоговом окне подтвердите удаление, кликнув по кнопке 'OK'.
Alternative Description
- По умолчанию поле пусто.
- Редактируйте текст альтернативного
описания прямо в данном поле.
Locations
Predicate
- Редактируйте прямо в данном поле.
- Предикаты записываются в
соответствии с правилами языка
JavaScript.
Перенос фрагментов требований в новую версию документа
'Requality' позволяет переносить выделенные фрагменты требований в новую версию документа.
Допустим, у нас уже был документ с выделенными фрагментами. Однако появилась новая версия
данного документа с исправлениями или дополнениями.
Вы можете захотеть перенести разметку требований из старого документа в новый.
Для этого нужно сделать следующее:
- Убедитесь, что новый документ тоже
импортирован в проект. Если нет, импортируйте его в текущий проект.
- Выберите в окне 'Requality Explorer' новый
документ, вызовите контекстное меню и
выберите в нем пункт 'Update Document'.
- В открывшемся окне выберите старый
документ.
После завершения обработки выдается окно с информацией о том, сколько фрагментов было
найдено в старой версии документа, и сколько фрагментов было перенесено в новую версию.
-
В любом случае, перенос всех требований должен быть проверен пользователем:
для каждого требования пользователь или подтверждает корректный перенос требования, или модифицирует требование. Для этого после обработки документа процессором в
перспективе 'Requality' открывается окно 'Update Processor Tasks',
отображающее текущее состояние каждого требования из каталога и предоставляющее возможность ручной смены статусов
перенесенных требований.
В данном окне пользователь может анализировать и модифицировать требования. Для каждой задачи отображается требование, с которым она связана, и действие, которое предлагается выполнить.
Действий всего 3 — по трем состояниям требований:
- 'Verify' – если все фрагменты требования были перенесены, требуется проверить корректность переноса.
- 'Add Locations' – если была перенесена часть фрагментов требований, предлагается найти в новом документе
аналоги не найденных фрагментов требований, которые не были перенесены, или убедиться, что в новой версии их нет.
- 'Find Locations' – не было перенесено ни одного фрагмента требования. Предлагается найти их аналоги в
новой версии или убедиться, что данного требования больше нет в новой версии спецификации.
-
Пользователь может напрямую открыть желаемое требование как в старом документе, так и в новом. В старом документе фрагменты требования
автоматически будут подсвечены в тексте. В новом документе будут подсвечены только перенесенные фрагменты требования,
если ни один фрагмент не был перенесен, то документ будет открыт без выделенных фрагментов текста.
-
Замечание. При включенной синхронизации между 'Requality Explorer'-ом и браузером (нажатой кнопке 'Link with Editor' в тулбаре
'Requality Explorer')
из окна 'Update Processor Tasks' может некорректно открываться требование, для которого ни один фрагмент не был перенесен (с красной пиктограммой).
Для корректного отображения таких требований рекомендуется отключать синхронизацию между браузером и 'Requality Explorer'-ом.
-
Тут же пользователь может модифицировать требование - добавить к нему фрагменты или удалить, а также пометить требование как проверенное,
чтобы не возвращаться к нему в дальнейшем. Проверенные требования переводятся в статус 'Completed', и можно настроить представление так,
чтобы проверенные требования не отображались в таблице. Для этого нужно в тулбаре нажать на кнопку 'Hide Completed Items'.
После того, как все требования проверены пользователем и при необходимости модифицированы, можно удалить список задач из данного представления.
Задачи можно удалять с помощью кнопок из тулбара: кнопка 'Delete Selected Task' удаляет одну выделенную задачу, а кнопка
'Delete all Update Processor Tasks' удаляет все задачи из окна 'Update Processor Tasks' для текущего проекта. Удаление можно отменить,
выполнив команду меню 'Edit → Undo …'. Также после переноса всех фрагментов требований рекомендуется удалить из проекта старую версию документа спецификации.
-
Замечание. Предполагается последовательный перенос требований для разных документов. Сначала рекомендуется перенести и
при необходимости откорректировать требования из одного документа, затем проводить процедуру для следущих документов.
Генерация теста для требования
'Requality' позволяет добавлять к тестовым ситуациям и требованиям тесты
при помощи системы генераторов тестов. В частности поддерживается
генерация тестов по заданному шаблону.
Для генерации тестов можно воспользоваться 'Requality Explorer'. Для этого
нужно:
- Выбрать требование или тестовую ситуацию в 'Requality Explorer'.
- Вызвать контекстное меню для выбранного элемента и выбрать пункт
'New → Test'.
- В результате выполнения указанных действий на экране отобразится
список доступных генераторов тестов. Если вместо списка генераторов
появится диалоговое окно 'Test generators are not available', то требуется
установить дополнительные плагины. На данный момент можно установить
плагин 'Requality Coverage Tool', который находится на том же eclipse update site, что
и Requality
- После выбора определенного генератора тестов будет вызван диалог
настройки выбранного генератора.
Например, для генератора ttcn тестов из плагина 'Requality Coverage Tool'
потребуется выбрать проект, в котором будет создан новый тест, имя файла
с тестом, подтвердить выбор определенного требования или тестовой
ситуации, просмотреть и при необходимости изменить шаблон содержимого файла.
Также возможно вызвать диалог добавления теста из 'Coverage' отчета путем
нажатия на кнопку 'Add test' в окне просмотра отчета.
Диалог добавления теста также доступен в главном меню Eclipse: 'File' → 'New' → 'Other' → folder 'Requality' → 'Create Test'.
Работа со связанными требованиями
В проекте 'Requality' различные узлы каталога проекта могут быть связаны между собой. Связь задается только в одну сторону,
снизу вверх. Для создания такой связи узлу, который будет ссылаться на другой узел, нужно на вкладке
'Main' окна 'Properties' добавить атрибут типа 'REFERENCE' и в качестве значения указать тот целевой узел.
При этом у узла, на который ссылаются, не появится дополнительных атрибутов, но данную связь можно будет
видеть в представлении 'Requality Links Explorer'. Открыть данное представление можно через
'Window' → 'Show View' → 'Other'. Затем развернуть пункт 'Requality' и выбрать 'Requality Links Explorer'.
В данном представлении отображаются узлы, связанные с выбранным узлом. Если выбранный узел
имеет атрибут типа 'REFERENCE' со ссылкой на другой узел, то последний будет отображаться в представлении,
и около него будет отображаться пиктограмма со стрелкой вниз. Также в представлении будут отображаться
узлы, которые ссылаются на выбранный узел, они будут отображаться с пиктограммами со стрелкой
вверх. Около пиктограмм отображаются не сами узлы, с которыми есть связь, а имена атрибутов типа
'REFERENCE', которые создают такую связь. При этом, если текущий узел ссылается на другой, то будет
отображаться просто имя атрибута, а если это узел, который ссылается на текущий, то перед именем его
атрибута будет добавлен префикс 'Backward_'. Для того, чтобы развернуть или свернуть информацию о самом
узле, имеющем связь с выделенным узлом, нужно нажать на стрелочку около пиктограммы со стрелкой.
Если нажать на название узла, то такой узел станет текущим выбранным, и в представлении
'Requality Links Explorer' уже будет отображаться информация для него.
Можно настроить представление так, чтобы отображались только узлы, на которые ссылается данный узел каталога проекта.
Для этого нужно один или несколько раз нажать на кнопку 1 и перевести ее в положение 'стрелка вниз'.
Чтобы отображались только узлы, которые ссылаются на данный узел, нужно кнопку 1
перевести в положение 'стрелка вверх'.
Кнопка 2 позволяет фильтровать узлы по именам атрибутов типа 'REFERENCE'.
Для того, чтобы включить фильтр нужно нажать на кнопку 2 и в открывшемся окне со
списком всех имен атрибутов типа 'REFERENCE' текущего проекта выбрать один или
несколько вариантов. Также можно выбрать вариант, чтобы отображались узлы
с любыми именами атрибутов, для этого нужно выбрать верхний вариант.
Работа с шаблонами узлов
Редактор шаблонов
Чтобы создать, отредактировать или удалить шаблон узла, а также чтобы назначить активный шаблон узла в проекте 'Requality', нужно сначала открыть окно редактора шаблонов:
- Первый способ.
- На любом узле дерева требований вызвать контекстное меню и выбрать пункт
'Edit in UniEditor', 'Edit in Module Editor' или 'Review'.
- Далее в верхнем левом углу редактора нажать на кнопку 'Templates'.
После этого откроется окно редактора шаблонов 'Templates Editor', где вы можете создавать удалять, редактировать
шаблоны узлов и назначать активный шаблон.
- Второй способ.
- Кликнуть на проекте в 'Requality Explorer' и в окне 'Properties' переключиться на вкладку 'Templates'.
Содержимое этой вкладки по функциональности аналогично окну редактора шаблонов.
Здесь вы тоже можете создавать, удалять, редактировать шаблоны узлов и назначать активный шаблон.
Обратите внимание, в редакторе шаблонов в поле 'List of templates' отображается список шаблонов только для того типа узлов,
который выбран в выпадающем списке 'Select Node Type'.
Для завершения работы с редактором шаблонов нажмите кнопку 'OK'.
Создание шаблона
Существует два способа создания шаблона узла:
- Создание нового шаблона 'с нуля':
- В редакторе шаблонов (как его открыть см. выше) выберите тип узла, шаблон которого вы хотите создать.
При этом в поле 'List of templates' отобразятся все существующие в этом проекте шаблоны для узлов выбранного типа.
- Нажмите кнопку 'Create template'. Откроется окно для создания нового шаблона выбранного типа.
- В открывшемся окне укажите параметры шаблона. Редактирование параметров шаблона аналогично редактированию тех же параметров узла
соответствующего типа в окне 'Properties'. Подробнее можно посмотреть здесь:
- Для завершения создания шаблона нажмите 'OK'.
После этого вы увидите новый созданный шаблон в списке шаблонов 'List of templates'.
- Создание нового шаблона на основании уже существующего узла.
Созданный таким способом шаблон будет иметь те же параметры, что и узел, на основе которого он был создан.
- В редакторе шаблонов (как его открыть см. выше) выберите тип узла, шаблон которого вы хотите создать.
При этом в поле 'List of templates' отобразятся все существующие в этом проекте шаблоны для узлов выбранного типа.
- Нажмите кнопку 'Extract template'. Откроется окно для выбора узла, на основании которого вы хотите создать шаблон.
Обратите внимание, в списке будут доступны только те узлы проекта, типа которых был выбран в окне редактора шаблонов.
- Для завершения создания шаблона нажмите 'OK'.
После этого вы увидите новый созданный шаблон в списке шаблонов 'List of templates'.
Удаление шаблона
Чтобы удалить шаблон:
- Откройте редактор шаблонов (как его открыть см. выше).
- Выберите тип узла, шаблон которого вы хотите удалить. При этом в поле 'List of templates'
отобразятся все существующие в этом проекте шаблоны для узлов выбранного типа.
- Кликните в списке 'List of templates' по шаблону, который вы хотите удалить.
- Нажмите кнопку 'Remove' справа от списка.
После этого вы увидите, что этот шаблон исчез из списка шаблонов, то есть был удален.
Редактирование шаблона
Чтобы отредактировать шаблон:
- Откройте редактор шаблонов (как его открыть см. выше).
- Выберите тип узла, шаблон которого вы хотите отредактировать. При этом в поле 'List of templates'
отобразятся все существующие в этом проекте шаблоны для узлов выбранного типа.
- Кликните в списке 'List of templates' по шаблону, который вы хотите отредактировать.
- Нажмите кнопку 'Edit' справа от списка.
В результате откроется окно для редактирования параметров шаблона. Редактирование параметров шаблона аналогично редактированию тех же параметров узла
соответствующего типа в окне 'Properties'. Подробнее можно посмотреть здесь:
Установка активного шаблона
Чтобы сделать уже созданный шаблон активным (что такое активный шаблон см. здесь),
выполните следующие действия:
- Откройте редактор шаблонов (как его открыть см. выше).
- Выберите тип узла, шаблон которого вы хотите сделать активным. При этом в поле 'List of templates'
отобразятся все существующие в этом проекте шаблоны для узлов выбранного типа.
- Кликните в списке 'List of templates' по шаблону, который вы хотите сделать активным.
- Нажмите кнопку 'Set as active справа от списка.
После этого вы увидите, что этот шаблон в списке 'List of templates' выделен жирным шрифтом. Это означает, что шаблон стал активным.
Теперь все узлы такого же типа по умолчанию будут создаваться по этому шаблону.
Работа с текстовыми узлами
В проекте Requality все текстовые узлы
расположены в узле 'Requirements'. Во многом работа с текстовыми узлами идентична работе с требованиями
(см. 'Работа с требованиями').
Создание текстового узла
Создание текстового узла полностью идентично созданию требования (см. 'Создание требования').
Создание текстового узла путем копирования
Создание текстового узла путем копирования полностью идентично созданию требования путем копирования
(см. 'Создание требования путем копирования').
Удаление текстового узла
Удаление текстового узла полностью идентично удалению требования (см. 'Удаление требования').
Нужно помнить, что при удалении текстового узла будет удалено все его поддерево узлов.
Редактирование параметров текстового узла
Редактирование параметров текстового узла почти полностью идентично редактированию параметров требования
(см. 'Редактирование параметров требования'). Кроме нескольких исключений:
- У текстового узла в окне 'Properties' во вкладке 'Main' в поле 'Type' можно выбрать тип текстового узла:
'TextNode(Text)' или 'TextNode(Header)'. Для этого нужно раскрыть выпадающий список этого поля и выбрать нужное значение.
В этом же поле можно выбрать тип 'Requirement'. В этом случае узел перестанет быть текстовым узлом и станет требованием.
(Про работу с требованиями см. 'Работа с требованиями').
- У текстового узла для хранения описания используется поле 'Description',
оно располагается в окне 'Properties' во вкладке 'Description' и работать с ним нужно так же, как с полем 'Alternative Description' у требования.
- У текстового узла нет фрагментов. Поэтому в окне 'Properties' во вкладке 'Description' нет поля 'Locations'.
Работа с тестовыми ситуациями
В проекте Requality все тестовые ситуации
размещаются в узле 'Requirements' в листовых требованиях, то есть требованиях, не содержащих другие требования.
Создание тестовой ситуации
Обратите внимание, тестовая ситуация
может быть добавлена только листовому
требованию, то есть такому требованию, у
которого нет вложенных требований.
Тестовую ситуацию можно создать несколькими способами: из 'Requality Explorer' и
из 'UniEditor'. Тестовые ситуации можно создавать как с нуля, так и из
шаблонов тестовых ситуаций текущего проекта.
- Из 'Requality Explorer'.
Выберите листовое требование, назовем такое требование
целевым. Вызовите правой кнопкой контекстное меню.
Если в проекте есть шаблоны тестовых ситуаций, тогда в контекстном меню будет отображаться пункт 'New → Test Purpose...' с выпадающим списком доступных шаблонов.
Из этого списка можно создать тестовую ситуацию по любому шаблону тестовой ситуации текущего проекта, а также можно создать пустую тестовую ситуацию.
Если в проекте нет шаблонов, то для создания тестовой ситуации будет доступен только пункт меню 'New → Test Purpose', выбор которого приведет к созданию
пустой тестовой ситуации. После выполнения одного из перечисленных действий у целевого требования появится новая тестовая ситуация.
- Из 'UniEditor'. Выберите
листовое требование, к которому нужно добавить дочернюю тестовую ситуацию. Затем можно добавить новую тестовую ситуацию одним из следующих способов:
- Навести указатель мыши на правый верхний угол выбранного требования и из раскрывшегося меню выбрать пункт 'Add New Test Purpose'.
- Навести указатель мыши на правый верхний угол редактора и выбрать аналогичный пункт из выпадающего меню.
- С клавиатуры, нажав Ctrl+P.
- С клавиатуры, нажав Ctrl+D, после этого в правом верхнем углу редактора откроется выпадающее меню с подсказками, оттуда можно выбрать пункт меню как описано в п.2,
либо нажав клавишу 'P'.
Если в проекте выбран активный шаблон, то в пунктах меню будет отображаться его название, то есть пункт меню будет называться не 'Add New Test Purpose',
а, например, 'Add New Test Purpose - basic', где 'basic' – это имя шаблона.
После выполнения указанных действий откроется окно редактирования тестовой ситуации.
Если был выбран активный шаблон, то все поля поля тестовой ситуации, кроме поля 'Id', будут заполнены из этого шаблона.
Поле 'Id' будет вычисляться следующим образом:
- Если создается первая дочерняя тестовая ситуация, то у нее будет идентификатор '001'.
- Если создается не первая дочерняя тестовая ситуация, то система определит последний идентификатор тестовой ситуации на том же уровне,
инкрементирует его и присвоит новой тестовой ситуации.
Создание тестовой ситуации путем копирования
Тестовую ситуацию также можно создать путем копирования уже существующей тестовой ситуации.
- Из 'Requality Explorer'. Копирование и вставка узла осуществляется с помощью пунктов меню 'Copy' и 'Paste into'.
Тестовая ситуация будет добавлена как ребенок к выбранному узлу. Причем вставку можно осуществить только на таком требовании, у которого нет дочерних требований.
Также для копирования узла можно использовать горячие клавиши 'Ctrl+c' и 'Ctrl+v'.
- Из 'UniEditor'. Откройте соответствующий редактор. Кликните один раз по полю тестовой ситуации, которую хотите скопировать.
Оно станет выделенным. Нажмите сочетание клавиш 'Ctrl+c'. Затем так же кликните на требование 'Requirements'
или любое его дочернее требование (назовем его целевым), не имеющее подтребований, и нажмите сочетание клавиш 'Ctrl+v'.
Откроется редактор тестовой ситуации, где вы можете отредактировать ее параметры.
Сделайте это и нажмите 'OK'. Тестовая ситуация вставится как ребенок к целевому требованию.
Редактирование параметров тестовых
ситуаций
Чтобы отредактировать параметры тестовой ситуации, щелкните по нужной
тестовой ситуации в 'Requality
Explorer' в
окне 'Properties' откроются
свойства тестовой ситуации.
Далее рассмотрены только те параметры
тестовой ситуации, которые можно изменить вручную.
- Id
- Идентификатор генерируется
автоматически, но может быть изменен.
Редактируйте его прямо в данном
поле.
- Идентификатор должен быть уникальным
для всех тестовых ситуаций,
принадлежащих одному требованию. Если
вы попробуете ввести неуникальный
идентификатор, появится
предупреждающий значок и такое
изменение не будет сохранено.
- Идентификатор не может начинаться
или заканчиваться пробелами, при
сохранении изменений такие пробелы
удаляются.
- Name
- Имя тестовой ситуации при создании по умолчанию не задано.
- Имя может не быть уникальным.
- Редактируйте имя напрямую в данном поле.
- Если имя не задано, то тестовая ситуация идентифицируется по идентификатору, в противном случае - по имени.
- Status
- По умолчанию установлено значение
'in process'.
- Для редактирования раскройте
выпадающий список и выберите одно из
трех возможных значений.
- Author
- По умолчанию установлено имя
пользователя, указанное при
регистрации в Eclipse.
- Редактируйте имя автора прямо в
данном поле.
- Attributes
Атрибуты тестовых ситуаций аналогичны атрибутам требований. И работа с ними осуществляется точно
так же. См. подробное описание работы с атрибутами в разделе о работе с требованиями.
- Description
- По умолчанию поле пусто.
- Редактируйте текст альтернативного
описания прямо в данном поле.
- Expected Results
- По умолчанию поле пусто.
- Редактируйте текст ожидаемого
результата прямо в данном поле.
- Predicate
- Редактируйте прямо в данном поле.
- Предикаты записываются в
соответствии с правилами языка
JavaScript.
Удаление тестовой ситуации
Тестовую ситуацию можно удалить из 'Requality Explorer', для этого нужно выбрать ее в этом окне, вызвать правой кнопкой контекстное меню и выбрать пункт 'Delete Test Purpose'.
В редакторе 'UniEditor' тестовую ситуацию можно удалить из выпадающего меню узла либо из выпадающего меню в правом верхнем углу редактора с помощью
пункта меню 'Delete Test Purpose'. Также для удаления тестовой ситуации можно воспользоваться горячей клавишей 'Delete'.
После одного из указанных действий нужно подтвердить удаление тестовой ситуации в появившемся окне, нажав кнопку 'OK'.
Генерация теста для тестовой ситуации
Для тестовой ситуации доступен механизм генерации связанного с ней теста, подробней процесс описан в
разделе, описывающем процесс генерации теста для требования
Работа с отчетами
Создание настроек отчета
Для того чтобы создать отчет, сначала нужно создать настройки отчета.
Отчет может генерироваться для какого-либо
требования, называемого ключевым - Root requirement. Такой отчет будет включать информацию о
самом выбранном узле и о всем его поддереве дочерних узлов.
От выбранного шаблона меняется вид и содержимое отчета.
Для создания настроек отчета на узле 'Reports' (или любой папке отчетов) вызовите контекстное меню
и выберите пункт 'New → Report Settings'. Узел настроек отчета будет создан.
Редактирование параметров настроек отчета
Чтобы отредактировать параметры настроек отчета, щелкните по нужному узлу настроек отчета в окне 'Requality
Explorer', тогда в окне 'Properties' откроются его
параметры.
Далее рассмотрены только те параметры настроек отчета, которые можно изменить вручную.
- Root requirement
- По умолчанию указано требование 'Requirements'.
- Нажмите кнопку 'Browse...' рядом, в
появившемся окне укажите нужное
требование и нажмите кнопку 'OK'.
- Template
Attributes
Атрибуты настроек отчетов аналогичны атрибутам требований. И работа с ними осуществляется точно
так же. См. подробное описание работы с атрибутами в разделе о работе с требованиями.
Особенности работы с шаблоном отчета 'Coverage'
Шаблон отчета 'Coverage' предназначен для отображения информации о покрытии
тестами элементов дерева требований, таких как тестовые ситуации и
требования.
Для построения отчета о покрытии требуется выбрать источник информации о
покрытии. Для этого следует:
- В окне 'Properties' настроек отчета в качестве шаблона выбрать шаблон 'Coverage'.
- В окне 'Properties' настроек отчета нажать на появившуюся кнопку 'Update Coverage Source'.
- Отобразится список доступных источников. Требуется выбрать один из представленных:
- 'From File' позволяет выбрать в качестве источника о покрытии файл определенного формата.
При выборе этого пункта будет предложено выбрать требуемый файл. Подробнее про формат представления данных можно
прочитать в глоссарии.
- 'Coverage By Projects' представляет собой механизм поиска
информации о покрытии в файлах с определенным расширением, доступном в
текущем Workspace. Для работы с данным источником потребуется определить:
- Проекты в которых будет производиться поиск файлов.
- Расширение искомых файлов.
- Регулярное выражение для поиска идентификаторов требований и тестовых ситуации. Следует заметить, что Requality
предполагает, что найденное
значение будет находиться в первой возвращаемой группе. Подробнее с построением регулярных выражений можно ознакомиться в
документации к регулярным выражениям на языке Java.
- После выбора источника информации о покрытии на основании настроек отчета можно сгенерировать сам отчет стандартным способом.
Особенности работы с шаблоном отчета 'Document Model'
Шаблон отчета 'Document Model' предназначен для отображения
информации о покрытии
тестами фрагментов документа. Работа с шаблоном 'Document Model' аналогична работе с шаблоном'Coverage',
однако в результате будет получен документ в размеченными фрагментами,
где для каждого фрагмента цветом указано, покрыт он или нет.
Для построения отчета о покрытии требуется выбрать источник информации о
покрытии. Для этого следует выполнить ряд действий:
- В окне 'Properties' настроек отчета в качестве шаблона выбрать шаблон 'Document Model'.
- В окне 'Properties' настроек отчета нажать на появившуюся кнопку 'Update Coverage Source'.
- Отобразится список доступных источников. Требуется выбрать один из представленных:
- 'From File' позволяет выбрать в качестве источника о покрытии файл определенного формата. При выборе этого пункта будет предложено выбрать требуемый файл. Подробнее про формат представления данных можно
прочитать в глоссарии.
- 'Coverage By Projects' представляет собой механизм поиска
информации о покрытии в файлах с определенным расширением, доступном в
текущем Workspace. Для работы с данным источником потребуется определить:
- Проекты в которых будет производиться поиск файлов.
- Расширение искомых файлов.
- Регулярное выражение для поиска идентификаторов требований и тестовых ситуации. Следует заметить, что Requality предполагает, что найденное
значение будет находиться в первой возвращаемой группе. Подробнее с построением регулярных выражений можно ознакомиться в
документации к регулярным выражениям на языке Java.
- После выбора источника информации о покрытии на основании настроек отчета можно сгенерировать сам отчет стандартным способом.
Особенности работы с шаблоном отчета 'Progress'
Шаблон отчета 'Progress' предназначен для отображения
статистической информации о проекте, взятой из SVN
Внимание! Для генерации 'Progress' отчета необходимо наличие установленной версии плагина 'Requality Subclipse Connector'
(доступен на 'update site'). В свою очередь, для установки этого плагина требуется добавить в 'available software sites'
адрес "http://subclipse.tigris.org/update_1.8.x". Сделать это можно скопировав адрес в поле 'Work with' диалога 'Install'.
После этого можно установить плагин 'Requality Subclipse Connector' обычным образом.
Для построения отчета со статистикой нужно выполнить следующие действия:
- В окне 'Properties' настроек отчета в качестве шаблона выбрать шаблон 'Progress'.

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

- Также можно указать дополнительные параметры. Для этого в окне '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'.

- Далее сгенерировать сам отчет стандартным способом.
Особенности работы с шаблоном отчета 'Traceability'
Шаблон отчета 'Traceability' предназначен для отображения информации
о наличии связей-ссылок (определенного типа) между элементами в выбранном фрагменте каталога требований.
Отчет состоит из двух страниц:
- На первой странице находится информация о прямых ссылках (то есть отображаются элементы, на которые ссылается целевой элемент).
- На второй странице находится информация об обратных ссылках (то есть отображаются элементы, которые ссылаются на целевой элемент).
'Traceability' отчет выглядит так:

По умолчанию открывается
первая страница, для перехода на вторую следует нажать на ссылку с именем обратного отношения (задается в свойствах проекта),
обозначенную цифрой 2. Для обратного перехода к первой странице следует нажать на имя отношения, обозначенное как 1.
Если в настройках отчета был включен механизм сворачивания (по умолчанию он включен), то на страницах отчета
будут отображаться кнопки для сворачивания и разворачивания всех строк (3) и для каждой строки с именем исходного
элемента (такой как 4) слева будет показана стрелочка — статус, обозначающая — свернуты ли элементы на которые ведет ссылка (5).
Цифрами 4 и 6 обозначены результаты подстановки значений в primary и secondary шаблоны, описанные в пункте 3 ниже.
При этом для 6 на второй странице есть информация о наличии обратной ссылки, потому имеется строка 'Backward_Уточняет'
при нажатии на которую произойдет переход на вторую страницу.
Для построения отчета нужно выполнить следующие действия:
- В окне 'Properties' настроек отчета в качестве шаблона выбрать шаблон 'Traceability'.
- Далее необходимо задать вид связи, для которой требуется построить отчет. Для этого следует нажать на кнопку
'Open Settings'. После этого откроется окно настройки отчета в левой
части которого (1,2 на рисунке) будет отображаться список доступных видов связей (имен свойств типа
'REFERENCE'). Значение в скобках справа от наименования отношения — количество элементов каталога
требований, для которых подобное отношение указано. Среди них требуется выбрать одно и нажать на 'OK'.

- Опционально — имеется возможность детальной настройки отчета. Сгенерированный отчет будет состоять
из строк двух видов — информации о том, что ссылается, и на что ссылается. Цифрой 3 обозначен пример
генерации, в котором можно видеть 2 строки — 'Requirements/01 [Backward...]' и 'Requirements/02 [Backward…]'.
Первая строка содержит информацию об отношении, из которого исходит связь. Шаблон генерации строки обозначен цифрой 4
и имеет название 'Primary template'. Вторая строка — информация об элементе, на который указывает связь.
Шаблон для генерации обозначен цифрой 5 и называется 'Secondary template'.
- Шаблоны указанных строк могут содержать html код и обозначения так называемых групп, о которых будет рассказано в дальнейшем.
Группы обозначаются по своим номерам заключенным в квадратные скобки, например '[1]' для первой группы.
При генерации места указания групп будут заменены значениями, сгенерированными по правилам, описанным ниже.
Цифрой 6 обозначено поле выбора количества групп. Ниже расположены настройки каждой из групп.
- Итак, группа — обозначение некоторого генерируемого значения, которое в свою очередь может содержать ссылку.
Например, можно использовать группу для отображения 'id' элемента с возможностью выбрать данный
элемент в каталоге требований при нажатии. Более простой пример — текст 'Сайт' со ссылкой 'www.ru'
создаст текст, при нажатии на который будет осуществляться переход на выбранную интернет страницу.
- Пример описания группы обозначен цифрой 7 для группы номер 1. Стоит отметить, что несмотря
на то, что поля для групп являются выпадающими списками, имеется возможность добавления любых html значений.
При этом предложенные списком варианты содержат ряд доступных значений параметров отчета и его элементов
(для 'primary' – исходного элемента, для 'secondary' – того на который указывается ссылка).
- Первая группа обозначена как 'Text(8)'. Данное значение будет показано по умолчанию если
не имеет место быть одна из двух ситуаций — отсутствие того на что указывает ссылка (будет рассмотрено ниже)
или отсутствие элемента каталога требований (для 'secondary'), для которых вместо 'Text'
будут отображаться другие значения, рассмотренные ниже.
- В поле могут быть использованы параметры указанные ниже:
- {user-visible-name} — путь к элементу (для 'Primary' — первому, 'Secondary' — второму в отношении)
- {attribute-name} — имя отношения
- {value} — имя элемента (для 'Primary' — первого, 'Secondary' — второго в отношении)
- {revert-attribute-name} — имя обратного отношения (для второй страницы - исходного)
- {name-or-id} — имя ссылаемого элемента или 'id', если имя отсутствует
- {this-page} — название текущей страницы ('trace' для 1, 'tracerev' для 2)
- {next-page} — название другой страницы ('tracerev' для 1, 'trace' для 2)
- Доступны свойства как настроек отчета (через выражение «{#имя}»), так и свойств элемента (используя {@имя}).
- Второе поле группы, обозначенное как 'Link(9)', содержит ссылку, по которой будет осуществляться переход при нажатии на группу.
Для этого поля доступны все параметры, доступные в 'Text', но также имеется специальный параметр {requality-cnf} - ссылка для переключения выделения в 'Requality Explorer'.
- Третье и четверное поля (10 и 11) содержат текст который будет отображаться вместо группы при
отсутствии элемента каталога требований ('on missing ref') и при отсутствии ссылаемого элемента
(только для ссылок на якорь в текущем документе #, стандартные якори будут рассмотрены ниже).
Для этих полей дополнительно доступен {skip-line} для пропуска соответствующей генерированной
по шаблону ('Primary' или 'Secondary') строки.
- Последний из элементов окна настроек 'Traceability' отчета — настройка возможности сворачивать
'Secondary' строки при нажатии на 'Primary'. По умолчанию опция активна, и механизм скрытия
'Secondary' строк активирован.
- Упомянутые выше якори представляют собой конструкции вида <a id=”путь к элементу”/>,
позволяющие использовать в группах ссылки вида 'имя_страницы#путь_к_элементу' для возможности
перехода на выбранный элемент при нажатии на группу. При отсутствии якоря с нужным идентификатором
на месте группы отображается значение, сгенерированное по полю 'text on wrong link'.
- Далее сгенерировать сам отчет стандартным способом.
Удаление настроек отчета
- Чтобы удалить настройки отчета, выберите этот узел в
'Requality Explorer', вызовите правой кнопкой
контекстное меню и выберите пункт 'Delete
Report Settings'.
- Вы также можете воспользоваться
горячей клавишей 'Delete' для удаления
настроек отчета.
- В появившемся окне подтвердите
удаление настроек отчета, нажав кнопку 'OK'.
Генерация отчета
- Сгенерировать отчет можно двумя способами:
- Выберите нужные настройки отчета в 'Requality
Explorer', вызовите контекстное меню и выберите в нем пункт Generate report.
- Или выберите нужные настройки отчета в 'Requality
Explorer' и в его 'Properties view' на вкладке 'Report Settings' нажмите кнопку 'Generate'.
- Отчет создается рядом (на том же уровне иерархии) с узлом настроек отчета, на котором он был сгенерирован.
- В сгенерированном отчете в списке атрибутов автоматически создается атрибут 'date',
содержащий информацию о дате и времени генерации отчета.
Открытие и редактирование отчета
- Выберите нужный отчет в 'Requality
Explorer' и дважды кликните по нему.
- Обратите внимание, в окне 'Properties' откроются параметры,
по которым был сгенерирован отчет. Однако изменить можно только идентификатор отчета.
Удаление отчета
- Чтобы удалить отчет, выберите его в
'Requality Explorer', вызовите правой кнопкой
контекстное меню и выберите пункт 'Delete
Report'.
- Вы также можете воспользоваться
горячей клавишей 'Delete' для удаления
отчета.
- В появившемся окне подтвердите
удаление отчета, нажав кнопку 'OK'.
Создание папок
отчетов
Для удобства работы с отчетами внутри
узла 'Reports' можно создавать папки и
размещать отчеты в них.
- Для создания папки отчетов выделите
узел 'Reports' или любую другую
вложенную папку, в
контекстном меню выберите 'New → Folder'.
- В открывшемся окне в поле 'Enter folder
name' введите желаемое имя папки.
- Имя не должно повторять имена папок,
находящихся на том же уровне иерархии. В
противном случае появится
предупреждающее об этом сообщение, и
продолжать процесс создания папки с
таким именем будет невозможно.
- Если вы ввели корректное имя, нажмите
кнопку 'OK'. Папка с указанным именем
будет создана в 'Requality Explorer' на
выбранном уровне иерархии.
Теперь вы можете создавать настройки отчетов и генерировать отчеты в новой папке.
Удаление папки отчетов
Для удаления папки отчетов
выберите эту папку в окне 'Requality
Explorer'.
- Правой кнопкой мыши вызовите
контекстное меню, выберите в нем пункт
'Delete Folder'.
- Для удаления папки вы также можете
использовать горячую клавишу
'Delete'.
После этого появится окно для
подтверждения удаления папки.
Обратите внимание, что удаление папки
повлечет за собой удаление всех
находящихся в ней настроек отчетов и отчетов. Если вы уверены в
правильности удаления выбранной папки,
нажмите в окне подтверждения кнопку
'OK' для продолжения процесса
удаления.
Работа с комментариями
Создание комментария
Комментарий может быть добавлен к требованию, тестовой ситуации и текстовому узлу.
Комментарий можно создать несколькими способами: из 'Requality Explorer',
из 'UniEditor' и из 'Review'.
Комментарии можно создавать как с нуля, так и из
шаблонов комментариев текущего проекта.
- Из 'Requality Explorer'.
Выберите узел, к которому нужно добавить комментарий, назовем такой узел целевым. Вызовите правой кнопкой контекстное меню.
Если в проекте есть шаблоны комментариев, тогда в контекстном меню будет отображаться пункт 'New → Comment...' с выпадающим списком доступных шаблонов.
Из этого списка можно создать комментарий по любому шаблону комментария текущего проекта, а также можно создать пустой комментарий.
Если в проекте нет шаблонов, то для создания комментария будет доступен только пункт меню 'New → Comment', выбор которого приведет к созданию
пустого комментария. После выполнения одного из перечисленных действий у целевого узла появится новый комментарий.
- Из 'UniEditor'. Выберите
узел, к которому нужно добавить комментарий. Затем можно добавить комментарий одним из следующих способов:
- Навести указатель мыши на правый верхний угол выбранного узла и из раскрывшегося меню выбрать пункт 'Add new Comment'.
- Навести указатель мыши на правый верхний угол редактора и выбрать аналогичный пункт из выпадающего меню.
- С клавиатуры, нажав Alt+C.
- С клавиатуры, нажав Ctrl+D, после этого в правом верхнем углу редактора откроется выпадающее меню с подсказками, оттуда можно выбрать пункт меню как описано в п.2,
либо нажав клавишу 'C'.
Если в проекте выбран активный шаблон, то в пунктах меню будет отображаться его название, то есть пункт меню будет называться не 'Add new Comment',
а, например, 'Add New Comment - basic', где 'basic' – это имя шаблона.
Пункт 'Add new Comment' доступен также и для узла-комментария, однако в этом случае новый комментарий добавится не как ребенок, а как сосед к выбранному комментарию.
После выполнения указанных действий откроется окно редактирования комментария.
Если был выбран активный шаблон, то все поля поля комментария, кроме поля 'Id', будут заполнены из этого шаблона.
Поле 'Id' будет вычисляться следующим образом:
- Если создается первый дочерний комментарий, то у него будет идентификатор '001'.
- Если создается не первый дочерний комментарий, то система определит последний идентификатор комментария на том же уровне,
инкрементирует его и присвоит новому комментарию.
- Из 'Review'. Действия аналогичны действиям, описанным для редактора 'UniEditor' в предыдущем пункте.
Создание комментария путем копирования
Комментарий также можно создать путем копирования уже существующего комментария.
- Из 'Requality Explorer'. Копирование комментария осуществляется с помощью пункта меню 'Copy'.
Вставка скопированного комментария осуществляется с помощью пунктов меню 'Paste into'
(для добавления скопированного комментария как ребенка к целевому узлу) или 'Paste near'
(для добавления скопированного комментария как соседа к целевому узлу). Скопированный узел вставится в выбранное место дерева требований.
Обратите внимание, если в качестве целевого узла был выбран комментарий, то копируемый комментарий может быть вставлен только как сосед к целевому узлу.
Также для копирования узла можно использовать горячие клавиши 'Ctrl+c' и 'Ctrl+v',
при этом копирование будет происходить по принципу 'Paste near'.
- Из 'UniEditor' и 'Review'. Откройте соответствующий редактор. Кликните один раз по комментарию, который хотите скопировать.
Он станет выделенным. Нажмите сочетание клавиш 'Ctrl+c'. Затем так же кликните на требование 'Requirements' или любой его дочерний узел,
назовем его целевым, и нажмите сочетание клавиш 'Ctrl+v'. Откроется редактор комментария, где вы можете отредактировать параметры комментария.
Сделайте это и нажмите 'OK'. Если в качестве целевого узла был выбран комментарий, то копируемый комментарий вставится как сосед к целевому узлу,
в остальных случаях - комментарий вставится как ребенок.
Редактирование параметров комментария
Чтобы отредактировать параметры комментария, щелкните по нужному
комментарию в 'Requality
Explorer', в окне 'Properties' откроются
свойства комментария.
Далее рассмотрены только те параметры
требования, которые можно изменить вручную.
Name
- Имя комментария при создании
комментария по умолчанию не задано.
- Имя может не быть уникальным.
- Редактируйте имя напрямую в данном
поле.
- Если имя не задано, то комментарий идентифицируется по идентификатору,
в противном случае - по имени.
Author
- По умолчанию установлено имя пользователя, указанное при регистрации в Eclipse.
- Редактируйте имя автора прямо в данном поле.
Поле для текста комментария
- По умолчанию пусто.
- Редактируйте текст комментария прямо в данном поле.
Удаление комментария
Комментарий можно удалить из 'Requality Explorer', для этого нужно выбрать его в этом окне, вызвать правой кнопкой контекстное меню и выбрать пункт 'Delete Comment'.
В редакторах 'UniEditor' и 'Review' комментарий можно удалить из выпадающего меню узла либо из выпадающего меню в правом верхнем углу редактора с помощью
пункта меню 'Delete Comment'. Также для удаления комментария можно воспользоваться горячей клавишей 'Delete'.
После одного из указанных действий нужно подтвердить удаление комментария в появившемся окне, нажав кнопку
'OK'.
Сортировка элементов в проекте Requality
Элементы дерева проекта могут быть отсортированы тремя способами: 'By Locations' (по фрагментам), 'By Names' (по именам) и 'By Index' (по индексам).
По умолчанию способ сортировки - 'By Locations'.
-
By Locations - требования сортируются по расположению в документе привязанных к ним фрагментов. Если требованию
принадлежит несколько фрагментов, то порядок сортировки определяется по расположению первого фрагмента.
Требования, не содержащие фрагментов, располагаются в конце отсортированного списка и сортируются по имени.
В том случае, если фрагменты требований расположены в нескольких разных документах проекта, сортировка зависит от
имен документов (документы сортируются по именам).
-
By Names - требования сортируются по именам (сначала - в порядке возрастания, потом - по алфавиту).
Если у требований не указаны имена или если имена совпадают, то сортировка происходит по id.
-
By Index - требования сортируются по индексам. Под индексом понимается установленная пользователем позиция
требования. При данном способе сортировки появляется возможность установить позицию требования путем переноса требований с
зажатой клавишей 'Shift' в 'Requality Explorer'. Требование должно быть перенесено на то после которого оно должно в дальнейшем
размещаться. Так, для каталога
перенос требования '004' на требование '002' с зажатой клавишей 'Shift' приведет к порядку
Отдельно стоит отметить опцию 'Sort elements types separately'. В активированном состоянии данная возможность предполагает
что элементы каталога требования будут отсортированы независимо друг от друга. При деактивации опции различные типы
элементов будут отсортированы без разделениях их по типу. Опция по умолчанию активна, но при работе с способом
сортировки "By Index" рекомендуется ее деактивировать.
Изменение настроек сортировки элементов в проекте Requality
Для изменения настроек сортировки нужно:
-
В 'Requality Explorer' на проекте вызвать контекстное меню и выбрать пункт меню 'Properties'.
Откроется окно настроек проекта.
- В левой части этого окна нужно выбрать 'Requality', тогда в правой части отобразятся свойства проекта 'Requality'.
- В выпадающем списке 'Sort method' нужно выбрать способ сортировки ('By Locations', 'By Names' или 'By Index') и нажать кнопку
'Apply'.
- Также можно установить или снять галочку 'Sort elements types separately'.

После этого для данного проекта установится выбранный способ сортировки.
Работа в UniEditor
Открытие UniEditor
В редакторе 'UniEditor' вы можете открыть
дерево требований с тестовыми ситуациями и комментариями.
В качестве корневого узла будет отображаться то требование, на котором вы вызвали открытие 'UniEditor', то есть в этом редакторе
можно открыть как все дерево требований (вызвав его на корневом узле требований 'Requirements'), так и отдельное
поддерево требований
(вызвав открытие редактора на одном из подтребований).
Для открытия редактора нужно сделать следующее:
- В 'Requality Explorer' выберите целевое
требование, откройте контекстное меню и
выберите пункт 'Edit in UniEditor'.
Обратите внимание! В 'UniEditor' может быть удобно работать с помощью горячих клавиш.
Подробнее см. 'Работа с помощью клавиатуры в UniEditor, Review и Module Editor: горячие клавиши'.
Добавление новых требований в UniEditor
Добавление требований описано в разделе 'Создание требования'.
Добавление требований путем копирования описано в разделе 'Создание требования путем копирования'.
Удаление требований в UniEditor
Удаление требований описано в разделе 'Удаление требования'.
Редактирование требований в UniEditor
Поле требования
состоит из двух частей. Верхняя часть
содержит имя требования,
нижняя содержит его альтернативное описание.
- Чтобы отредактировать имя требования,
дважды кликните в верхней части поля
требования. Поле станет редактируемым, и вы
сможете внести изменения. Чтобы
закончить редактирование, кликните в
любом другом месте экрана.
- Чтобы отредактировать текст требования,
дважды кликните в нижней части поля
требования. К вашим услугам будет целая
панель для редактирования текста,
включающая кнопки для форматирования
текста, добавления символов, картинок,
ссылок и т.д. Для сохранения изменений
нажмите кнопку с пиктограммой в виде
папки. Для отмены несохраненных
изменений нажмите кнопку с пиктограммой
в виде красного косого креста.
- Также для редактирования требования можно воспользоваться редактором узла.
Для этого нужно навести курсор мыши на пиктограмму треугольника в верхнем правом
углу поля узла и в раскрывшемся меню выбрать пункт 'Open Editor'.
Откроется редактор узла, где вы можете отредактировать параметры требования. Сделайте это и нажмите 'OK'.
- Чтобы изменить статус требования кликните на значок статуса слева от имени требования.
При клике статус меняется с 'in process' на 'complete' и наоборот.
Добавление новых
текстовых узлов в UniEditor
Добавление текстовых узлов описано в разделе 'Создание текстового узла'.
Добавление текстовых узлов путем копирования описано в разделе 'Создание текстового узла путем копирования'.
Удаление текстовых узлов в
UniEditor
Удаление текстовых узлов описано в разделе 'Удаление текстового узла'.
Редактирование
текстовых узлов в UniEditor
Поле текстового узла содержит текст описания этого узла. состоит из двух частей. Слева от текста расположена пиктограмма
для смены типа узла с 'Text' на 'Header' или наоборот.
- Чтобы отредактировать текст текстового узла,
дважды кликните в поле этого узла. К вашим услугам будет целая
панель для редактирования текста,
включающая кнопки для форматирования
текста, добавления символов, картинок,
ссылок и т.д. Для сохранения изменений
нажмите кнопку с пиктограммой в виде
папки. Для отмены несохраненных
изменений нажмите кнопку с пиктограммой
в виде красного косого креста.
- Чтобы изменить тип текстового узла кликните на значок типа слева от текста узла.
При клике тип меняется с 'Text' на 'Header' и обратно.
- Также для редактирования текстового узла можно воспользоваться редактором узла.
Для этого нужно навести курсор мыши на пиктограмму треугольника в верхнем правом
углу поля узла и в раскрывшемся меню выбрать пункт 'Open Editor'.
Откроется редактор узла, где вы можете отредактировать параметры текстового узла. Сделайте это и нажмите 'OK'.
Добавление новых
тестовых ситуаций в UniEditor
Добавление тестовых ситуаций описано в разделе 'Создание тестовой ситуации'.
Добавление тестовых ситуаций путем копирования описано в разделе 'Создание тестовой ситуации путем копирования'.
Удаление тестовых
ситуаций в UniEditor
Удаление тестовых ситуаций описано в разделе 'Удаление тестовой ситуации'.
Редактирование
тестовых ситуаций в UniEditor
Поле тестовой ситуации
состоит из двух частей. Верхняя часть
содержит имя тестовой ситуации,
нижняя содержит текст
тестовой ситуации.
- Чтобы отредактировать имя тестовой ситуации,
дважды кликните в верхней части поля
тестовой ситуации. Поле станет редактируемым, и вы
сможете внести изменения. Чтобы
закончить редактирование, кликните в
любом другом месте экрана.
- Чтобы отредактировать текст тестовой ситуации,
дважды кликните в нижней части поля
тестовой ситуации. К вашим услугам будет целая
панель для редактирования текста,
включающая кнопки для форматирования
текста, добавления символов, картинок,
ссылок и т.д. Для сохранения изменений
нажмите кнопку с пиктограммой в виде
папки. Для отмены несохраненных
изменений нажмите кнопку с пиктограммой
в виде красного косого креста.
- Также для редактирования тестовой ситуации можно воспользоваться редактором узла.
Для этого нужно навести курсор мыши на пиктограмму треугольника в верхнем правом
углу поля узла и в раскрывшемся меню выбрать пункт 'Open Editor'.
Откроется редактор узла, где вы можете отредактировать параметры тестовой ситуации. Сделайте это и нажмите 'OK'.
- Чтобы изменить статус тестовой ситуации кликните на значок статуса слева от имени тестовой ситуации.
При клике статус меняется с 'in process' на 'complete' и наоборот.
Добавление новых комментариев в UniEditor
Добавление комментариев описано в разделе 'Создание комментария'.
Добавление комментариев путем копирования описано в разделе 'Создание комментария путем копирования'.
Удаление комментариев в
UniEditor
Удаление комментариев описано в разделе 'Удаление комментария'.
Редактирование комментария в UniEditor
Чтобы отредактировать текст комментария, дважды кликните в поле комментария. К вашим услугам будет целая панель
для редактирования текста, включающая кнопки для форматирования текста, добавления символов, картинок, ссылок и т.д.
Для сохранения изменений нажмите кнопку с пиктограммой в виде папки. Для отмены несохраненных изменений нажмите
кнопку с пиктограммой в виде красного косого креста.
Работа в Review
Работа в 'Review' аналогична работе в 'UniEditor', но более ограничена по функциональности.
Здесь вы не можете добавлять и удалять требования и тестовые ситуации, да и редактировать можно только их статусы.
Открытие Review
В редакторе 'Review' вы можете открыть
дерево требований с тестовыми ситуациями и
комментариями.
В качестве корневого узла будет отображаться то требование, на котором вы вызвали открытие 'Review', то есть в этом редакторе
можно открыть как все дерево требований (вызвав его на корневом узле требований 'Requirements'), так и отдельное
поддерево требований
(вызвав открытие редактора на одном из подтребований).
Для открытия редактора нужно сделать следующее:
- В 'Requality Explorer' выберите целевое
требование, откройте контекстное меню и
выберите пункт 'Review'.
Обратите внимание! В 'Review' может быть удобно работать с помощью горячих клавиш.
Подробнее см. 'Работа с помощью клавиатуры в UniEditor, Review и Module Editor: горячие клавиши'.
Редактирование статусов
требований и тестовых ситуаций в Review
Чтобы изменить статус требования/тестовой ситуации кликните на значок статуса слева от имени требования/тестовой ситуации.
При клике статус меняется в следующем порядке'in process' → 'complete' → 'verified' →
снова 'in process' и т.д.
Работа в Module Editor
Работа в 'Module Editor' аналогична работе в 'UniEditor', но более ограничена по функциональности.
Здесь вы можете работать только с требованиями и текстовыми узлами.
Открытие Module Editor
В редакторе 'Module Editor' вы можете открыть
дерево требований, включая текстовые узлы. В качестве корневого узла будет отображаться тот узел, на котором вы вызвали открытие
'Module Editor', то есть в этом редакторе
можно открыть как все дерево требований (вызвав его на корневом узле требований 'Requirements'), так и отдельное
поддерево требований
(вызвав открытие редактора на одном из подтребований).
Для открытия редактора нужно сделать следующее:
- В 'Requality Explorer' выберите целевое
требование или текстовый узел, откройте контекстное меню и выберите пункт 'Module Editor'.
Работа с помощью клавиатуры в UniEditor, Review и Module Editor: горячие клавиши
В редакторах 'UniEditor', 'Review' и 'Module Editor' для работы с помощью клавиатуры вы можете использовать горячие клавиши.
ВНИМАНИЕ! В разных редакторах и для разных типов узлов доступен разный набор горячих клавиш.
Доступные сочетания горячих клавиш бывают двух форматов:
-
Обычные. Их можно посмотреть в меню выбранного узла. Нужно навести курсор на треугольник в правом верхнем углу узла, после чего раскроется меню для этого узла.
-
Существует альтернативный вариант использования сочетаний горячих клавиш. Для того, чтобы им воспользоваться, нужно сначала нажать сочетание клавиш 'Ctrl+D'.
В правом верхнем углу окна редактора откроется меню редактора со списком доступных действий для выделенного в данный момент узла.
Каждому действию будет соответствовать определенная клавиша. Теперь нужно нажать требуемую клавишу, после чего это действие будет выполнено.
Меню редактора также можно открыть с помощью мыши. Для этого нужно навести курсор на кнопку в правом верхнем углу окна редактора, меню раскроется.
Далее можно использовать сокращенные варианты горячих клавиш без дополнительного нажатия 'Ctrl+D' или просто кликать по пунктам меню мышью, как обычно.

Для навигации в редакторе и редакторах узлов также доступны работа с клавиатуры.
Все возможные сочетания клавиш для работы с помощью клавиатуры перечислены в таблице ниже:
Действие |
Комбинация клавиш |
Альтернативная комбинация клавиш (сначала нажать 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 |
-- |
Работа с виртуальными узлами
Создание виртуального узла
- В 'Requality Explorer' выберите или создайте требование, для которого вы хотите создать виртуальный узел.
Правой кнопкой вызовите на нем контекстное меню и выберите пункт 'New → Virtual Node'. Появится новый виртуальный узел.
Быстрое создание виртуального узла с помощью механизма drag-and-drop
Виртуальный узел может быть создан автоматически с помощью механизма drag-and-drop. Для этого нужно:
- В окне 'Requality Explorer' выделить узел, который требуется переиспользовать (см. 'Переиспользуемый узел').
- Нажать на клавиатуре клавишу 'Ctrl' и, удерживая ее, перетащить с помощью мыши выделенный узел на тот узел (назовем его родительским), в котором требуется разместить виртуальный узел.
После этого у родительского узла будет создан дочерний виртуальный узел, имеющий ребенка-клона переиспользуемого узла со всем его поддеревом. При этом у виртуального узла автоматически будут заданы следующие параметры (см. 'Параметры виртуального узла'): в качестве целевого узла ('Target') указан переиспользуемый узел, метод итерации ('Iteration method') - 'Reuse', 'It.vars' не установлены. Надо иметь в виду, что сразу после создания с помощью механизма drag-and-drop созданный виртуальный узел по умолчанию не будет виден пользователю, т.к. будет скрыт (см. 'Скрытие виртуального узла' и 'Отмена скрытия виртуального узла'). Будет видно только все его поддерево клонированных узлов. Чтобы увидеть созданный виртуальный узел и посмотреть его свойства в окне 'Properties view', нужно его сначала раскрыть. Также надо иметь в виду, что сам переиспользуемый узел остается на своем месте и никак не изменяется.
Создание виртуального узла путем копирования
Виртуальный узел также можно создать путем копирования уже существующего виртуального узла.
Копирование виртуального узла осуществляется в 'Requality Explorer' с помощью пункта меню 'Copy'.
Вставка скопированного виртуального узла осуществляется с помощью пунктов меню 'Paste into'
(для добавления скопированного виртуального узла как ребенка к целевому узлу) или 'Paste near'
(для добавления скопированного виртуального узла как соседа к целевому узлу). Скопированный узел вставится в выбранное место дерева требований.
Также для копирования узла можно использовать горячие клавиши 'Ctrl+c' и 'Ctrl+v',
при этом копирование будет происходить по принципу 'Paste near'.
Удаление виртуального узла
- Чтобы удалить виртуальный узел, выберите его в 'Requality Explorer', вызовите правой кнопкой контекстное меню и выберите пункт 'Delete Virtual Node'.
- Вы также можете воспользоваться горячей клавишей 'Delete' для удаления виртуального узла.
- В появившемся окне подтвердите удаление виртуального узла, нажав кнопку 'OK'.
Редактирование параметров виртуального узла
Чтобы отредактировать параметры виртуального узла, щелкните по нужному виртуальному узлу в 'Requality Explorer', в окне 'Properties' откроются свойства требования.
Далее рассмотрены только те параметры виртуального узла, которые можно изменить вручную.
Id
- Идентификатор генерируется автоматически, но может быть изменен. Редактируйте его прямо в данном поле.
- Обратите внимание, если имя виртуального узла не задано, то этот узел идентифицируется по идентификатору.
- Идентификатор должен быть уникальным для всех виртуальных узлов на одном уровне иерархии дерева требований.
Если вы попробуете ввести неуникальный идентификатор, появится предупреждающий значок и такое изменение не будет сохранено.
- Идентификатор не может начинаться или заканчиваться пробелами, при сохранении изменений такие пробелы удаляются.
Name
- Имя виртуального узла при его создании по умолчанию не задано.
- Имя может не быть уникальным.
- Редактируйте имя напрямую в данном поле.
- Если имя не задано, то виртуальный узел идентифицируется по идентификатору, в противном случае - по имени.
Attributes
Атрибуты виртуальных узлов аналогичны атрибутам требований. И работа с ними осуществляется точно
так же. См. подробное описание работы с атрибутами в разделе о работе с требованиями.
Target
- По умолчанию поле пусто.
- Для указания 'Target' нажмите кнопку 'Select...' В открывшемся окне выберите требование или тестовую ситуацию, или создайте новое требование с
помощью кнопки 'Create New'. Нажмите кнопку 'OK'.
- Если у требования-родителя виртуального узла есть дочерняя тестовая ситуация, то в качестве 'Target' может быть выбрана только тестовая ситуация (не требование).
- Для удаления текущего значения 'Target' нажмите кнопку 'Clear...'. Значение будет очищено.
Iteration method
- По умолчанию установлено значение 'Reuse'.
- Для редактирования раскройте выпадающий список и выберите одно из двух возможных значений: 'Reuse' или 'Base Element'.
It.vars
- Может быть указано несколько переменных, используемых для итерации. По умолчанию не указан ни один.
- Для добавления новой переменной нажмите кнопку с пиктограммой 'плюс', появится новый элемент с выпадающим списком для выбора итератора. Раскройте список и выберите нужный итератор.
- Для удаления переменной нажмите рядом с ним кнопку с пиктограммой 'косой крест'.
Создание узлов-клонов
Чтобы создать узел-клон нужно задать некоторые параметры виртуального узла в окне 'Properties' на вкладке 'Iteration' (как редактировать параметры виртуального узла см. 'Редактирование параметров виртуального узла'):
- Target. Нужно выбрать целевой узел среди узлов дерева требования проекта 'Requality'. Этот узел будет переиспользован, то есть клоны будут созданы на основе этого узла. Но сам по себе переиспользованный узел никак не изменится и останется на своем месте. Как только целевой узел будет указан, в дереве требований у виртуального узла появится дочерний узел-клон (или несколько таких узлов - см. ниже).
- Iteration method. По умолчанию метод итерации уже задан - 'Reuse'. Но можно выбрать другой - 'Base element'. В зависимости от выбранного метода будут по-разному итерироваться узлы-клоны.
- Если выбран метод итерации 'Reuse', то у виртуального узла создается ребенок-клон, повторяющий во всем переиспользованный узел. В том числе клон будет иметь такое же поддерево узлов, как у переиспользованного узла (если оно есть).
Например, у виртуального узла в качестве целевого для итерации выбран некий узел-требование '001', имеющий дочернее требование 'subreq001' и дочерний комментарий 'Comment1'. Метод итерации указан 'Reuse'. Поле 'It.vars' пусто (подробнее про использование 'It.vars' см. ниже). В этом случае у виртуального узла появится ребенок-клон требование '001', имеющий дочернее требование 'subreq001' и дочерний комментарий 'Comment1', оба узла - тоже клоны.
- Если выбран метод итерации 'Base element', то у виртуального узла создается один или несколько детей-клонов, которые копируют все поддерево узлов переиспользованного узла, кроме самого этого узла. Естественно, если у целевого узла нет детей, то их не будет и у виртуального узла.
Например, у виртуального узла в качестве целевого для итерации выбран некий узел-требование '001', имеющий дочернее требование 'subreq001' и дочерний комментарий 'Comment1'. Метод итерации указан 'Base element'. В этом случае у виртуального узла появится ребенок-клон требование 'subreq001' и его клон-сосед комментарий 'Comment1'.
- It.vars - переменные для итерации. Этот параметр появляется только при выборе метода итерации 'Reuse'. И он становится активен в том случае, если среди атрибутов виртуального узла есть хотя бы один подходящий атрибут - атрибут типа 'LIST', то есть список. В параметре 'It.vars' можно указать один или несколько атрибутов списочного типа. После чего итерация узлов-клонов будет осуществляться с использованием значений этих списков.
- Если задана одна переменная для итерации, то будет создано столько узлов-клонов, сколько значений она содержит. Каждому значению будет соответствовать один клон, причем, идентификатор клона дополнится информацией об этом значении в формате <'attrname'-'attrvalue'>, где 'attrname' - это имя атрибута, использованного для итерации, а 'attrvalue' - одно из значений данного атрибута, которому соответствует этот клон.
- Если в параметре 'It.vars' указано несколько переменных, то клоны будут созданы для всех сочетаний их значений, а идентификатор каждого клона дополнится информацией обо всех использованных значениях.
- Если в параметре 'It.vars' не указано ни одной переменной, то будет создан только один клон целевого узла.
Например, у виртуального узла есть два атрибута-списка: атрибут 'a' со значениями '11' и '3' и атрибут 'color' со значениями 'green', 'yellow' и 'red'. Пусть в качестве целевого для итерации указан некий узел с идентификатором '001', а в качестве метода итерации выбран 'Reuse'. Если в параметре 'It.vars' указан только атрибут 'a', то у виртуального узла появится два ребенка-клона с идентификаторами '001a-11' и '001a-3'. Если в 'It.vars' добавить еще атрибут 'color', то у виртуального узла будет 6 детей клонов с идентификаторами: '001a-11color-green', '001a-11color-yellow', '001a-11color-red', '001a-3color-green', '001a-3color-yellow', '001a-3color-red'.
Атрибуты, указанные в 'It.vars', можно использовать в тексте описания узла, в значении атрибута или имени. Для этого нужно их вписать в соответствующее место в целевом узле в виде <{attrname}>. Здесь 'attrname' - это имя используемого атрибута. Например, если в вышеприведенном примере в описании целевого узла указать текст вида: 'Hello world {color}', то в клонах в описании этот текст будет выглядеть так: 'Hello world green', или 'Hello world yellow', или 'Hello world red', в зависимости от того, какому значению переменной 'color' соответствует этот конкретный клон.
Удаление узлов-клонов
Удаление узлов-клонов ничем не отличается от удаления обычных узлов такого же типа и не влияет ни на целевой узел итерации, ни на виртуальный узел, в котором они были созданы.
Редактирование узлов-клонов
Редактирование узлов-клонов осуществляется аналогично редактированию обычных узлов такого же типа и не влияет ни на целевой узел итерации, ни на виртуальный узел, в котором они были созданы. Редактирование параметра узла-клона изменяет только этот параметр, узел не перестает быть клоном.
Скрытие виртуального узла
- Чтобы скрыть виртуальный узел, выберите в 'Requality Explorer' элемент дерева проекта, содержащий этот виртуальный узел,
вызовите на нем правой кнопкой контекстное меню и выберите пункт 'Hide Children'.
Виртуальный узел будет скрыт в дереве проекта, отображаться будут только его потомки, то есть узлы-клоны.
Отмена скрытия виртуального узла
- Для отмены скрытия виртуального узла выберите элемент дерева проекта, содержащий этот виртуальный узел,
вызовите на нем правой кнопкой контекстное меню и выберите пункт 'Show hidden children'.
Виртуальный узел снова будет отображаться в дереве проекта.
Проверка корректности дерева проекта
Существует возможность проверить, корректно ли задано все дерево проекта Requality, найти возможные ошибки в описании узлов.
Для этого нужно задействовать так называемый 'чекер'. На корневом узле проекта вызовите контекстное меню и выберите пункт 'Enable Checkers'.
После этого все узлы, в которых 'чекер' найдет ошибки или проблемы, будут подсвечены.

Контроль версий
Для управления версиями Requality
предусматривает работу с CVS, Subversive, EGit или другим Eclipse
Team Provider (исключая Subclipse). Открытое в
'Requality Explorer' контекстное меню содержит
стандартный пункт 'Team', с помощью
которого вы можете манипулировать
версиями.
Работа с SVN
Чтобы работать с 'SVN', нужно, во-первых, установить в 'Eclipse' SVN-плагин
(см. Установка плагина для взаимодействия
с системой контроля версий) и, во-вторых, знать 'URL'
репозитория, где уже размещен или будет размещен проект (а так же логин и пароль к репозиторию, в случае,
если они требуются для доступа). Рекомендуется использовать плагин Subversive. Все дальнейшие инструкции
написаны именно для этого плагина.
Экспорт проекта в SVN
- В 'Requality Explorer' на папке проекта вызовите контекстное меню и выберите 'Team → Share Projects...'.
- В появившемся окне 'Share Project Wizard' на вкладке 'General' укажите URL репозитория,
где вы собираетесь разместить свой проект.
- Укажите логин и пароль в полях, соответственно, 'User:' и 'Password:'. Если репозиторий не защищен паролем,
эту информацию указывать не требуется.
- Нажмите кнопку 'Finish'.
- В окне 'Commit' укажите в поле 'Comment' свой комментарий. Убедитесь, что в поле выбора файлов для
импортирования галочкой отмечены все файлы проекта. Нажмите 'OK'.
- Дождитесь завершения процесса передачи файлов в 'SVN'. При этом в 'Requality Explorer' все узлы проекта должны отображаться
без галочки перед именем. Галочка означает наличие несохраненных в 'SVN' изменений в данном узле. Галочкой отмечаются также все
родительские узлы, содержащие узел c несохраненными изменениями. Если какой-либо узел после завершения импорта в 'SVN' все еще
отмечен галочкой, попробуйте обновить 'Requality Explorer' (кликните по узлу проекта, а потом нажмите 'F5' или в главном
меню 'Eclipse' выберите 'File → Refresh'). Если галочка после обновления не исчезла, значит изменения в этом узле
не были сохранены в 'SVN'.
Загрузка изменений в SVN
Следующие инструкции объясняют, как изменения, сделанные вами в локальной версии
проекта, сохранить в репозиторий (в том случае, если проект уже лежит в 'SVN').
Как понять, что проект уже привязан к 'SVN' (то есть вы работаете с локальной копией проекта, лежащего в репозитории):
возле имени проекта в 'Requality Explorer' указаны номер версии и путь к репозиторию. Причем указанный номер
версии - это номер той версии, которая последняя была синхронизирована с репозиторием.
- В 'Requality Explorer' выберите тот узел, изменения которого вы хотите загрузить в репозиторий. Если вы
хотите загрузить в репозиторий все изменения, сделанные в проекте, выберите корневой узел проекта.
- Вызовите на этом узле контекстное меню и выберите 'Team → Commit'.
- В окне 'Commit' укажите в поле 'Comment' свой комментарий. Убедитесь, что в поле выбора файлов
для импортирования галочкой отмечены все файлы проекта, которые вы хотите сохранить в репозитории. Нажмите 'OK'.
- Если возникнет окно 'User Credentials' с запросом логина и пароля, укажите логин и пароль в полях,
соответственно, 'User:' и 'Password:'. Чтобы система больше не спрашивала у вас эту информацию,
поставьте галочку 'Save authentication'.
Импорт проекта из SVN
- В 'Requality Explorer' на свободном месте вызовите контекстное меню и выберите пункт 'Import...'.
- В окне 'Import' выберите 'SVN → Project from SVN' и нажмите 'Next >'.
- В окне 'Checkout from SVN' посмотрите список доступных адресов репозиториев.
- Если один из доступных репозиториев вам подходит, выберите пункт 'Use existing repository location:',
кликните по нужному репозиторию в списке и нажмите 'Next >'.
- Если нужного репозитория нет в списке, выберите пункт 'Create a new repository location' и нажмите 'Next >'.
- На вкладке 'General' укажите URL репозитория, где вы собираетесь разместить свой проект.
Также укажите логин и пароль в полях, соответственно, 'User:' и 'Password:'.
(Чтобы система больше не спрашивала у вас эту информацию, поставьте галочку 'Save authentication'.)
Если репозиторий не защищен паролем, эту информацию указывать не требуется.
- В поле 'URL:' введите путь к проекту в репозитории (включая папку проекта). Нажмите 'Finish'.
- В окне 'Check Out As' не меняйте ничего и нажмите 'Finish'.
Обновление проекта из SVN
Если в проект, лежащий в репозитории, были внесены изменения, вы можете загрузить обновления в свою локальную версию проекта.
- Прежде всего следует закрыть все открытые в редакторе документы. Иначе вам придется переоткрыть их после завершения обновления,
чтобы увидеть все внесенные изменения.
- В 'Requality Explorer' на нужном проекте вызовите контекстное меню и выберите 'Team → Update'.
- Если возникнет окно 'User Credentials' с запросом логина и пароля, укажите логин и пароль в полях,
соответственно, 'User:' и 'Password:'. Чтобы система больше не спрашивала у вас эту информацию,
поставьте галочку 'Save authentication'.
Импорт-экспорт каталога требований Requality в ReqIF
'Requality' позволяет импортировать каталог требований из формата ReqIF и
экспортировать созданный в 'Requality'-проекте каталог требований в ReqIF-формат.
Экспорт каталога требований Requality в ReqIF
Для того, чтобы преобразовать каталог требований из проекта Requality в формат ReqIF, нужно:
- На проекте Requality вызвать контекстное меню и выбрать в нем пункт 'Export...'.
В открывшемся диалоговом окне выбрать 'Requality' → 'Export to ReqIF' и нажать кнопку 'Next'.
- В новом открывшемся окне нужно выбрать путь к целевой папке проекта, куда требуется поместить преобразованный в
ReqIf-формат каталог требований, указать имя для этого ReqIF документа и нажать 'Finish'.
После этого произойдет экспорт каталога требований в формат ReqIF: каталог требований из 'Requality' проекта
будет преобразован в каталог требований в формате ReqIF и размещен в указанном проекте в виде файла с расширением "reqif".
Данный ReqIF-файл может быть использован любым инструментом для управления требованиями, который распознает ReqIF-формат.
Импорт каталога требований Requality в ReqIF
Для импорта документа формата ReqIF в проект 'Requality' нужно:
- В перспективе 'Requality' в окне 'Requality Explorer' открыть контекстное меню и выбрать пункт 'Import...'.
- В открывшемся диалоговом окне выбрать 'Requality' → 'Import from ReqIF' и нажать кнопку 'Next'.
- В новом открывшемся окне выбрать в файловой системе требуемый документ формата ReqIF и нажать кнопку 'Next'.
- В следующих двух диалоговых окнах нужно указать соответствие элементов ReqIF-формата элементам формата Requality. Сначала откроется окно
для сопоставления типов элементов ReqIF и 'Requality'. Для указания связи требуется выбрать в левой колонке тип элемента ReqIf,
а в средней - соответствующий ему тип элемента 'Requality', потом нажать кнопку 'Add mapping'.
Появившуюся связь можно увидеть в правой колонке, она будет отображена в виде 'тип_ReqIF → тип_Requality'. Существует возможность
привязать сразу несколько типов элементов ReqIF к одному типу элемента 'Requality'. Для этого нужно выделить в левой
колонке не один тип, а сразу несколько, и дальше действовать по описанной схеме.
- Для того, чтобы удалить некорректно заданную связь, нужно выделить ее в правом столбце и нажать кнопку 'Remove mapping', такая связь будет удалена.
- Далее следует нажать кнопку 'Next', после чего откроется следующее окно для указания соответствия элементов, в котором требуется указать соответствие
атрибутов ReqIF-документа атрибутам формата 'Requality'. Для указания связи требуется выбрать в левой колонке название атрибута ReqIF,
а в средней - название соответствующего ему атрибута 'Requality', потом нажать кнопку 'Add mapping'.
Появившуюся связь можно увидеть в правой колонке, она будет отображена в виде 'атрибут_ReqIF → атрибут_Requality'. Существует возможность
привязать сразу несколько атрибутов ReqIF к одному атрибуту 'Requality'.
Для этого нужно выделить в левой колонке не одно имя атрибута, а сразу несколько, и дальше действовать по описанной схеме.
- Для того, чтобы удалить некорректно заданную связь, нужно выделить ее в правом столбце и нажать кнопку 'Remove mapping', такая связь будет удалена.
- Далее следует нажать кнопку 'Finish'.
После этого будет осуществлен процесс импорта выбранного документа ReqIF в формат проекта 'Requality',
при этом будет создан новый проект 'Requality' с каталогом требований, созданным в соответствии
с каталогом требований данного ReqIF-документа и выбранными взаимосвязями элементов между форматами ReqIF и 'Requality'.