Project

General

Profile

Reqeditor-getting-started » History » Version 59

Yuriy Shekochihin, 12/22/2009 12:19 PM

1 15 Илья Рудаков
h1. Getting started with ReqEditor
2 1 Yuriy Shekochihin
3 4 Yuriy Shekochihin
ReqEditor является инструментом для организации каталога требований. Этот инструмент выполнен в виде расширения для Eclipse. 
4 2 Yuriy Shekochihin
5
Найти подробную информацию о ReqEditor можно по адресу: http://forge.ispras.ru/projects/show/reqdb
6
7 30 Илья Рудаков
h2. 1. Установка
8 1 Yuriy Shekochihin
9 5 Yuriy Shekochihin
Для работы ReqEditor требуется установленный Eclipse. Если у Вас уже установлен Eclispe следующий пункт можно пропустить.
10
11 16 Илья Рудаков
h3. 1.1 Системные требования
12 1 Yuriy Shekochihin
13 2 Yuriy Shekochihin
* Firefox 3.5 или выше;
14 59 Yuriy Shekochihin
* Eclipse Classic 3.5 или выше;
15 58 Yuriy Shekochihin
* XULRunner 1.8 или выше;
16 2 Yuriy Shekochihin
17 16 Илья Рудаков
h3. 1.2 Установка Eclipse
18 1 Yuriy Shekochihin
19 30 Илья Рудаков
Eclipse можно скачать, зайдя на сайт http://eclipse.org/
20 2 Yuriy Shekochihin
21 16 Илья Рудаков
h3. 1.3 Установка ReqEditor
22 2 Yuriy Shekochihin
23 32 Илья Рудаков
Для установки ReqEditor необходимо скачать последнюю версию расширения с "сайта проекта":http://forge.ispras.ru/projects/list_files/reqdb и распаковать архив в директорию: 
24 56 Илья Рудаков
<pre>%ECLIPSE%/dropins</pre> где %%ECLIPSE%% - путь к Eclipse IDE.
25 1 Yuriy Shekochihin
26 19 Илья Рудаков
27 21 Илья Рудаков
h2. 2. Разметка требований
28 20 Илья Рудаков
29 34 Илья Рудаков
Рассмотрим подробнее работу инструмента на примере требований к функции g_array_sized_new()
30 2 Yuriy Shekochihin
библиотеки glib.
31
32 20 Илья Рудаков
h3. 2.1 Подготовка к работе
33 1 Yuriy Shekochihin
34 23 Илья Рудаков
Перед началом работы необходимо открыть вкладки Documents и Requirements. Для этого нужно открыть Window -> Show View -> Other, как показано на следующем рисунке.
35 1 Yuriy Shekochihin
36
!Views-menu-path.png!
37 23 Илья Рудаков
38
Перед вами появится диалоговое окно. Выберите Requirement Editor -> Requirements.
39 11 Yuriy Shekochihin
40
!Views-show-reqs.png!
41
42 24 Илья Рудаков
Повторите туже операцию, но теперь выберете Documents.
43
44 11 Yuriy Shekochihin
!Views-show-docs.png!
45 24 Илья Рудаков
46
После выполнения данных операций в основном окне Eclipse появятся две вкладки: Requirements и Documents. В первой вкладке будет отображаться иерархия требований, во второй - документы. Расположите эти вкладки так, как вам будет удобно. Например, как на рисунке ниже.
47 11 Yuriy Shekochihin
48
!Views-result.png!
49
50 20 Илья Рудаков
h3. 2.2 Создание нового каталога
51 1 Yuriy Shekochihin
52 26 Илья Рудаков
Теперь нам нужно создать каталог требований. Под каталогом требований мы будем понимать контейнер, в котором хранятся документы и требования. Чтобы создать каталог требований, зайдите в File -> New -> Other, как показано ниже.
53 25 Илья Рудаков
54 1 Yuriy Shekochihin
!Catalog-call-wizards.png!
55 26 Илья Рудаков
56 27 Илья Рудаков
Вы увидите диалоговое окно. Выберите Unitesk Wizards -> Catalogue of Requirements  и нажмите Next.
57 10 Yuriy Shekochihin
58 1 Yuriy Shekochihin
!Catalog-select-wizard.png!
59 27 Илья Рудаков
60
В следующем диалоговом окне нужно указать имя каталога. В нашем примере мы назвали его "Glib-Catalogue". Жмем Finish.
61 9 Yuriy Shekochihin
62
!Catalog-_wizard_creates_new_cat.png!
63
64 12 Yuriy Shekochihin
В итоге должно получиться следующее:
65
66
!cat-after-creation.png!
67
68 20 Илья Рудаков
h3. 2.3 Импорт документа в каталог
69 1 Yuriy Shekochihin
70 57 Илья Рудаков
Теперь нужно добавить документ в каталог. Для этого в Documents нажимаем правой кнопкой мыши на каталог требований "Glib-Catalogue". В появившемся меню выбираем "Import here".
71 53 Илья Рудаков
72 52 Илья Рудаков
!Doc-import-call.png!
73 53 Илья Рудаков
74 55 Илья Рудаков
В диалоговом окне в поле "Import file:" указываем путь к документу с помощью кнопки "Browse...". В нашем примере это "glib-Arrays.html":http://forge.ispras.ru/attachments/100/glib-Arrays.html.
75 53 Илья Рудаков
В поле "Save to:" при помощи кнопки "Browse..." указываем путь к папке Documents, которая находится в каталоге требований "Glib-Catalogue".
76
77 54 Илья Рудаков
!Doc-import-dialog.png!
78 53 Илья Рудаков
79
Чтобы открыть документ, добавленный в каталог требований, нужно двойным щелчком мыши нажать на название документа в отображении Documents, как показано ниже. Чтобы функционал разметки документа работал, важно открывать документы именно через отображение "Documents", а не через отображение "Project Explorer"!
80
81 52 Илья Рудаков
!Doc-open.png!
82 2 Yuriy Shekochihin
83 40 Илья Рудаков
h3. 2.4 Создание требований
84 1 Yuriy Shekochihin
85 42 Илья Рудаков
Теперь давайте создадим простую иерархию требований. Для этого перейдем в "Requirements", выделим каталог требований "Glib-Catalogue" и нажмем на правую кнопку мыши. Далее нажимаем на "Add requirement", как показано ниже.
86 40 Илья Рудаков
87 1 Yuriy Shekochihin
!Req-new-call.png!
88 42 Илья Рудаков
89
Появится диалоговое окно, в котором нужно указать имя требования. В нашем примере это "g_array_sized_new".
90
91 1 Yuriy Shekochihin
!Req-set-name.png!
92 42 Илья Рудаков
93
Следующий шаг - аналогичным образом добавим дочерние требования с именами: "01", "02", "03" и "04" к "g_array_sized_new". 
94
95 41 Илья Рудаков
!Req-new-call2.png!
96 40 Илья Рудаков
97
h3. 2.5 Добавление выделенного текста из документа в требование
98
99 35 Илья Рудаков
Выберите в Documents нужный вам документ и двойным щелчком мыши откройте его. Далее выделите текст в документе, как показано ниже.
100
101
!Req7.png!
102
103
После того как текст выделен нажмите правую кнопку мыши и выберете "Add to requirement...".
104
105
!Req9.png!
106
107 38 Илья Рудаков
Появится диалоговое окно, в котором вы можете выбрать к какому требованию добавить выделенный текст. В нашем примере мы добавляем текст к требованию g_array_sized_new.01.
108
109
!Req-select.png!
110
111 49 Илья Рудаков
После нажатия кнопки "OK", выбранный текст будет подсвечен желтым цветом в документе, как показано ниже.
112 36 Илья Рудаков
113 1 Yuriy Shekochihin
!Req.png!
114 49 Илья Рудаков
115 50 Илья Рудаков
Аналогичным образом размечаем еще три текстовых сегмента и добавляем их в требования g_array_sized_new.02, -03 и -04 соответственно. Сохраняем документ. После сохранения все размеченные текстовые фрагменты будут добавлены в базу требований.
116 49 Илья Рудаков
117
!Doc-save.png!
118 36 Илья Рудаков
119 43 Илья Рудаков
h3. 2.6 Удаление размеченного текста из требования
120 1 Yuriy Shekochihin
121 43 Илья Рудаков
Чтобы удалить размеченный текст из требования, достаточно один раз кликнуть мышью по тексту. Текст поменяет цвет с желтого на розовый. Это значит, что вы, таким образом, выбрали именно этот участок текста.
122 44 Илья Рудаков
После этого нажмите правую кнопку мыши и выберите "Remove from requirement".
123
124
!Req10.png!
125 43 Илья Рудаков
126 45 Илья Рудаков
h3. 2.7 Редактирование требований
127 1 Yuriy Shekochihin
128 47 Илья Рудаков
Чтобы открыть окно редактирования требования, нужно в Requirements выбрать нужное требование и двойным щелчком мыши его открыть.
129
В открывшемся окне вы увидите раздел "Main information". Здесь указана информация об id требования, об всех размеченных текстовых фрагментах из документа( поле "Description" ) и т.д.
130
131 1 Yuriy Shekochihin
!Req11.png!
132 47 Илья Рудаков
133
Вы можете добавить к требованию альтернативное описание в поле "Alternative description".
134
135 1 Yuriy Shekochihin
!Req-edit-desc.png!
136
137 48 Илья Рудаков
Так же, в графе "Additional information" вы можете добавить предикаты и атрибуты.
138 47 Илья Рудаков
139
!Req-erit-attr-pred.png!
140 9 Yuriy Shekochihin
141 28 Илья Рудаков
h2. 3. Генерация отчета
142
143 1 Yuriy Shekochihin
Итак, мы дошли до генерации отчета о покрытии. Наведите курсор на название каталога требований во вкладке Requirements и нажмите на правую кнопку мыши - появится всплывающие меню. Выберите Generate Report, как показано ниже.
144 9 Yuriy Shekochihin
145 29 Илья Рудаков
!RepGen-call.png!
146
147
Появится диалоговое окно. 
148
В нем четыре пункта для ввода:
149
# *Root* - определяет корневое требование в вашей иерархии требований;
150
# *Data* - путь к шаблону FreeMarker. Файл с расширением .ftl;
151
# *Template* - путь к файлу template.xml;
152 8 Yuriy Shekochihin
# *Save to* - путь к директории куда мы хотим сохранить получившийся отчет.
153 1 Yuriy Shekochihin
154
!RepGen-dialog.png!