Reqeditor-getting-started » History » Revision 58
Revision 57 (Илья Рудаков, 12/21/2009 01:10 PM) → Revision 58/76 (Yuriy Shekochihin, 12/22/2009 11:42 AM)
h1. Getting started with ReqEditor
ReqEditor является инструментом для организации каталога требований. Этот инструмент выполнен в виде расширения для Eclipse.
Найти подробную информацию о ReqEditor можно по адресу: http://forge.ispras.ru/projects/show/reqdb
h2. 1. Установка
Для работы ReqEditor требуется установленный Eclipse. Если у Вас уже установлен Eclispe следующий пункт можно пропустить.
h3. 1.1 Системные требования
* Firefox 3.5 или выше;
* Eclipse 3.5 или выше;
* XULRunner 1.8 или выше;
h3. 1.2 Установка Eclipse
Eclipse можно скачать, зайдя на сайт http://eclipse.org/
h3. 1.3 Установка ReqEditor
Для установки ReqEditor необходимо скачать последнюю версию расширения с "сайта проекта":http://forge.ispras.ru/projects/list_files/reqdb и распаковать архив в директорию:
<pre>%ECLIPSE%/dropins</pre> где %%ECLIPSE%% - путь к Eclipse IDE.
h2. 2. Разметка требований
Рассмотрим подробнее работу инструмента на примере требований к функции g_array_sized_new()
библиотеки glib.
h3. 2.1 Подготовка к работе
Перед началом работы необходимо открыть вкладки Documents и Requirements. Для этого нужно открыть Window -> Show View -> Other, как показано на следующем рисунке.
!Views-menu-path.png!
Перед вами появится диалоговое окно. Выберите Requirement Editor -> Requirements.
!Views-show-reqs.png!
Повторите туже операцию, но теперь выберете Documents.
!Views-show-docs.png!
После выполнения данных операций в основном окне Eclipse появятся две вкладки: Requirements и Documents. В первой вкладке будет отображаться иерархия требований, во второй - документы. Расположите эти вкладки так, как вам будет удобно. Например, как на рисунке ниже.
!Views-result.png!
h3. 2.2 Создание нового каталога
Теперь нам нужно создать каталог требований. Под каталогом требований мы будем понимать контейнер, в котором хранятся документы и требования. Чтобы создать каталог требований, зайдите в File -> New -> Other, как показано ниже.
!Catalog-call-wizards.png!
Вы увидите диалоговое окно. Выберите Unitesk Wizards -> Catalogue of Requirements и нажмите Next.
!Catalog-select-wizard.png!
В следующем диалоговом окне нужно указать имя каталога. В нашем примере мы назвали его "Glib-Catalogue". Жмем Finish.
!Catalog-_wizard_creates_new_cat.png!
В итоге должно получиться следующее:
!cat-after-creation.png!
h3. 2.3 Импорт документа в каталог
Теперь нужно добавить документ в каталог. Для этого в Documents нажимаем правой кнопкой мыши на каталог требований "Glib-Catalogue". В появившемся меню выбираем "Import here".
!Doc-import-call.png!
В диалоговом окне в поле "Import file:" указываем путь к документу с помощью кнопки "Browse...". В нашем примере это "glib-Arrays.html":http://forge.ispras.ru/attachments/100/glib-Arrays.html.
В поле "Save to:" при помощи кнопки "Browse..." указываем путь к папке Documents, которая находится в каталоге требований "Glib-Catalogue".
!Doc-import-dialog.png!
Чтобы открыть документ, добавленный в каталог требований, нужно двойным щелчком мыши нажать на название документа в отображении Documents, как показано ниже. Чтобы функционал разметки документа работал, важно открывать документы именно через отображение "Documents", а не через отображение "Project Explorer"!
!Doc-open.png!
h3. 2.4 Создание требований
Теперь давайте создадим простую иерархию требований. Для этого перейдем в "Requirements", выделим каталог требований "Glib-Catalogue" и нажмем на правую кнопку мыши. Далее нажимаем на "Add requirement", как показано ниже.
!Req-new-call.png!
Появится диалоговое окно, в котором нужно указать имя требования. В нашем примере это "g_array_sized_new".
!Req-set-name.png!
Следующий шаг - аналогичным образом добавим дочерние требования с именами: "01", "02", "03" и "04" к "g_array_sized_new".
!Req-new-call2.png!
h3. 2.5 Добавление выделенного текста из документа в требование
Выберите в Documents нужный вам документ и двойным щелчком мыши откройте его. Далее выделите текст в документе, как показано ниже.
!Req7.png!
После того как текст выделен нажмите правую кнопку мыши и выберете "Add to requirement...".
!Req9.png!
Появится диалоговое окно, в котором вы можете выбрать к какому требованию добавить выделенный текст. В нашем примере мы добавляем текст к требованию g_array_sized_new.01.
!Req-select.png!
После нажатия кнопки "OK", выбранный текст будет подсвечен желтым цветом в документе, как показано ниже.
!Req.png!
Аналогичным образом размечаем еще три текстовых сегмента и добавляем их в требования g_array_sized_new.02, -03 и -04 соответственно. Сохраняем документ. После сохранения все размеченные текстовые фрагменты будут добавлены в базу требований.
!Doc-save.png!
h3. 2.6 Удаление размеченного текста из требования
Чтобы удалить размеченный текст из требования, достаточно один раз кликнуть мышью по тексту. Текст поменяет цвет с желтого на розовый. Это значит, что вы, таким образом, выбрали именно этот участок текста.
После этого нажмите правую кнопку мыши и выберите "Remove from requirement".
!Req10.png!
h3. 2.7 Редактирование требований
Чтобы открыть окно редактирования требования, нужно в Requirements выбрать нужное требование и двойным щелчком мыши его открыть.
В открывшемся окне вы увидите раздел "Main information". Здесь указана информация об id требования, об всех размеченных текстовых фрагментах из документа( поле "Description" ) и т.д.
!Req11.png!
Вы можете добавить к требованию альтернативное описание в поле "Alternative description".
!Req-edit-desc.png!
Так же, в графе "Additional information" вы можете добавить предикаты и атрибуты.
!Req-erit-attr-pred.png!
h2. 3. Генерация отчета
Итак, мы дошли до генерации отчета о покрытии. Наведите курсор на название каталога требований во вкладке Requirements и нажмите на правую кнопку мыши - появится всплывающие меню. Выберите Generate Report, как показано ниже.
!RepGen-call.png!
Появится диалоговое окно.
В нем четыре пункта для ввода:
# *Root* - определяет корневое требование в вашей иерархии требований;
# *Data* - путь к шаблону FreeMarker. Файл с расширением .ftl;
# *Template* - путь к файлу template.xml;
# *Save to* - путь к директории куда мы хотим сохранить получившийся отчет.
!RepGen-dialog.png!