Project

General

Profile

ExplorerView » History » Version 60

Alexey Khoroshilov, 09/19/2011 01:28 PM

1 1 Viktoria Kopach
h1. Requality Explorer View
2 2 Viktoria Kopach
3 28 Alexey Khoroshilov
{{toc}}
4
5 1 Viktoria Kopach
Requality Explorer содержит все проекты, что и PackageExplorer, но развернуть можно только проекты типа Requality.
6 58 Alexey Demakov
В Requality-проекте есть следующие папки:
7
- Documents - документы,из которых извлекаются  требования
8
- Requirements - обобщенное дерево требований
9
- Views - запросы и их результаты в виде фильтрованных деревьев (ещё не реализовано)
10
- Reports - отчеты
11 1 Viktoria Kopach
12 58 Alexey Demakov
h2. Сортировка в дереве
13
14
TODO: Порядок узлов в этом дереве важен. Пользователь может менять порядок перетаскиванием узлов вверх-вниз.
15
Порядок вычисляется на основании значений атрибутов _order. Это строковый атрибут, сравнение лексикографическое.
16
При перетаскивании узла для изменения его положения в дереве меняется значение атрибута _order только у него самого
17
так, чтобы лексикографически оно располагалось между новыми соседями.
18
19 60 Alexey Khoroshilov
%{background:yellow}В контекстном меню узла есть пункт, при выборе которого осуществляется перенумерация детей узла как 1, 2, 3... с заполнением лидирующих разрядов нулями или пробелами.%
20 58 Alexey Demakov
21 39 Viktoria Kopach
h2. Кнопка Link with editor
22 40 Viktoria Kopach
23 39 Viktoria Kopach
Кнопка Link with editor, она же "стрелочки", должна иметь следующую функциональность:
24
- если эта кнопка включена, то при переключении между документами в Markup editor тот документ, вкладка которого открыта, выделяется в Requality explorer''е.
25
- если кнопка выключена, то переключение между вкладками документов в Markup editor не влияет на requality explorer.
26
27 15 Viktoria Kopach
h2. Папка проекта
28
29 41 Viktoria Kopach
(Перспектива Requality, Requality Explorer view)
30
Контекстное меню проекта:
31 42 Viktoria Kopach
* меню *New*, подменю Project.... Это стандартное окно создания проекта в Eclipse, но в нем по умолчанию будет выбран тип проекта - Requality. 
32 45 Viktoria Kopach
Создается папка проекта. По умолчанию в ней отображаются основная папка для документов Documents и основной узел требований Requirements. В основном контекстное меню папки проекта аналогично стандартному контекстному меню проекта в Eclipse.
33 1 Viktoria Kopach
* меню *Delete*   - Удаление проекта в перспективе Requality.
34 51 Viktoria Kopach
В контекстном меню проекта Requality есть пункт Delete с пиктограммой-крестиком (как у аналогичного меню в других перспективах Eclipse).
35 43 Viktoria Kopach
При выборе Delete возникает окно Delete Project с уточняющим вопросом об удалении проекта. В окне есть: 
36
** кнопка Cancel. При выборе Cancel окно закрывается, никаких изменений не происходит. 
37
** кнопка ОК. При выборе OK проект удаляется.
38
** чек-бокс для выбора удаления проекта с диска.
39 42 Viktoria Kopach
По умолчанию проект удаляется из Eclipse, но сохраняется на диске. Если выбран вышеупомянутый чек-бокс (стоит галочка), то проект удаляется с диска.
40 44 Viktoria Kopach
41 45 Viktoria Kopach
Таким образом удаление будет реализовано по аналогии со стандартным удалением проекта в Eclipse.
42 1 Viktoria Kopach
!http://forge.ispras.ru/attachments/692/Delete_Project.png!
43 49 Viktoria Kopach
44 55 Viktoria Kopach
* меню *Rename* позволяет переименовать проект
45 1 Viktoria Kopach
Открывается окно Rename Project. 
46
В нем есть редактируемое поле *New name:*, в котором изначально находится текущее имя проекта, отмеченное выделением. 
47
Есть две кнопки *OK* и *Cancel*. По умолчанию кнопка OK не активна, Сancel - активна.
48
Корректность имени проекта:
49 53 Viktoria Kopach
** Если в поле New name: вводится имя, которое совпадает с текущим именем проекта или с именем другого проекта или папки, находящихся в той же директории, что и текущий проект, то кнопка OK становится неактивной и в окне появляется сообщение красными буквами "А file or folder with this name already exists".
50
** Если в поле New name: пусто или есть знаки, которые не могут быть в имени проекта, то кнопка OK становится неактивной и в окне появляется сообщение красными буквами "This is an invalid name for a file or folder".
51
** В остальных случаях кнопка OK активна.
52
53
!http://forge.ispras.ru/attachments/880/Rename_Project.png!
54
55 1 Viktoria Kopach
* меню *Move* позволяет переместить проект в другое место на диске.
56 55 Viktoria Kopach
Открывается окно Move Project.
57
В нем есть редактируемое поле *Location*, рядом с ним - кнопка *Browse...* для выбора пути, внизу - кнопки OK и Cancel, над полем Location находится чек-бокс *Use default location*. По умолчанию кнопка OK не активна, Сancel - активна.
58
В поле Location изначально указан текущий путь к проекту, при этом кнопка ОК неактивна. После редактирования пути (в поле Location или с помощью кнопки Browse) кнопка ОК становится активна, но если при этом указанный путь совпадает с текущим, кнопка ОК становится неактивна и в окне появляется сообщение "Location is the current location" (цвет текста - красный). Если путь указан невалидный (содержит запрещенные символы или имеет неправильный формат), кнопка ОК становится неактивна и в окне появляется сообщение с пояснением проблемы (цвет текста - красный). 
59
При выборе чек-бокса Use default location в поле Location автоматически прописывается путь текущего воркспейса (+ имя проекта через слэш), при этом само поле Location ( и его название), а так же кнопка Browse становятся неактивными. При этом соблюдается сценарий для совпадающего пути.
60
При нажатии ОК окно закрывается и проект перемещается по указанному пути. При нажатии Cancel окно закрывается, проект остается где и был.
61 54 Viktoria Kopach
62 1 Viktoria Kopach
!http://forge.ispras.ru/attachments/881/Move_project.png!
63 54 Viktoria Kopach
64 55 Viktoria Kopach
В стандартном контекстном меню проекта в Eclipse есть пункт Refactor, содержащий подпункты Rename и Move. В случае Requality было решено обойтись без полноценного Refactor и вынести Rename и Move в основной список пунктов контекстного меню. Но работают они аналогично.
65 47 Viktoria Kopach
66 26 Viktoria Kopach
67 5 Viktoria Kopach
h2. Documents
68 4 Viktoria Kopach
69 38 Viktoria Kopach
В папке Documents элементы должны быть упорядочены следующим образом: сначала идут все папки в алфавитном порядке, потом все документы из текущей папки в алфавитном порядке.
70 29 Alexey Khoroshilov
71 5 Viktoria Kopach
h3. Действия с документами:
72 1 Viktoria Kopach
73 4 Viktoria Kopach
При *двойном клике на документ* он открывается в редакторе Markup editor.
74
75
*Контекстное меню документов* (по клику правой кнопки) содержит пункты:
76 49 Viktoria Kopach
* Remove Document - удаление документа. 
77 4 Viktoria Kopach
* Update Document - обновляет старую версию документа новой.
78
* HTML Headers Document Processor - создается требование для каждого тега <h#>...</h#>.
79
80 1 Viktoria Kopach
Замечание: Update Document и HTML Headers Document Processor - это вызов обработок, набор которых может расширяться.
81
82
*Create Folder*
83
При создании новой папки открывается окно с полем для ввода имени новой папки и кнопками OK и Cancel.  При  нажатии OK папка с заданным именем создается. При нажатии Cancel окно создания папки просто закрывается, никаких изменений не происходит. При папка с введенным именем уже существует на том же уровне иерархии, в окне создания папки появляется предупреждение об этом и кнопка OK становится неактивной.
84
85
*Remove Document*
86 49 Viktoria Kopach
При этом возникает окно для подтверждения удаления документа. В окне есть две кнопки ОК и Cancel. 
87 50 Viktoria Kopach
** При нажатии Cancel окно закрывается, документ не удаляется. 
88
** При выборе ОК окно закрывается, процесс удаления продолжается: 
89
*** если в документе нет размеченных location''ов, происходит удаление документа; 
90
*** если в документе есть размеченные location''ы, то возникает окно, которое об этом предупреждает и спрашивает, продолжать ли удаление. В окне есть две кнопки ОК и Cancel. 
91
**** При нажатии Cancel окно закрывается, документ не удаляется.
92
**** При выборе ОК окно закрывается, документ удаляется.
93 49 Viktoria Kopach
94
Location''ы, которые были в удаленном документе, удаляются из базы данных и из требований, в которых они находились. Сами требования не удаляются.
95 36 Alexey Khoroshilov
После удаления документа активным элементом в Requality Explorer становится родительский элемент удаленного документа.
96 45 Viktoria Kopach
97 4 Viktoria Kopach
*Update Document*
98
Обновить документ можно только документом, который добавлен в проект. При выборе этого пункта меню на текущем документе (назовем его обновляемым) открывается окно со списком всех документов (иерархически отсортированных по папкам) данного проекта для выбора обновляющего документа. Окно содержит кнопки OK (изначально неактивна) и Cancel. При  нажатии Cancel окно выбора документа закрывается и никаких изменений не происходит. При выборе обновляющего документа кнопка OK становится активна, при ее нажатии происходит обновление обновляемого документа (на котором был нажат пункт меню Update Document) выбранным документом. При этом содержимое обновляемого документа заменяется на содержимое обновляющего документа. Если location''ы, которые уже были размечены в старом документе, есть и в обновленном документе, то они сохраняются и размечаются аналогично старой разметке. Если в обновленном документе некоторые требования, которые были в старом, исчезли, то их location''ы удаляются. Процесс обновления документа иллюстрируется окном с прогресс-баром (сколько из размеченных требований обновляемого документа проанализировано) и завершается возникновением окна, в котором указывается количество найденных и перенесенных в новый документ location''ов.
99 1 Viktoria Kopach
Обновить документ самим собой нельзя. В окне выбора обновляющего документа при выборе самого себя кнопка OK становится неактивной.
100
101 4 Viktoria Kopach
*HTML Headers Document Processor*
102 5 Viktoria Kopach
При выборе в контекстном меню документа пункта HTML Headers Document Processor должно появиться окно с прогресс-баром, показывающее степень выполнения процесса. По завершении должно появиться окно, сообщающее об успешности выполнения и количестве созданных требований (если ни одного, то 0).
103 4 Viktoria Kopach
104 1 Viktoria Kopach
h3. Действия с папками документов:
105
106
*Контекстное меню папок Documents* (по клику правой кнопки) содержит пункты:
107
* [[DocumentImport|Import Document]] - импортирование документа
108 49 Viktoria Kopach
* Create Folder - создается папка внутри текущей папки.
109
* Remove Folder - удаляется папка (отсутствует для самой папки Documents).
110 10 Viktoria Kopach
111
Пункты Create Folder и Remove Folder сгруппированы в контекстном меню вместе.
112
113
*Create Folder*
114 49 Viktoria Kopach
При создании новой папки открывается окно с полем для ввода имени новой папки и кнопками OK и Cancel.  При  нажатии OK папка с заданным именем создается. При нажатии Cancel окно создания папки просто закрывается, никаких изменений не происходит. Если папка с введенным именем уже существует на том же уровне иерархии, в окне создания папки появляется предупреждение об этом и кнопка OK становится неактивной. Все процедуры происходят внутри папки, на которой вызывается контекстное меню.
115 10 Viktoria Kopach
116
*Remove Folder*
117 49 Viktoria Kopach
Появляется окно для подтверждения удаления папки и всех вложенных в нее папок и документов. Окно содержит кнопки OK и Cancel. 
118 32 Viktoria Kopach
* Для пустой папки: 
119
** При нажатии Cancel окошко просто закрывается, папка не удаляется, никаких изменений не происходит. 
120 33 Viktoria Kopach
** При нажатии OK папка удаляется. 
121 49 Viktoria Kopach
* Для не пустой папки:
122
** В случае Cancel окошко закрывается, ни документы, ни папка не удалены. 
123 33 Viktoria Kopach
** В случае OK: 
124
*** Если ни в одном документе в этой папке или ее подпапках нет ни одного размеченного location''а, то вся папка с документами удаляется.
125
*** Если размеченные location''ы есть, при нажатии ОК это окошко закрывается, но открывается другое окно с предупреждением о наличии размеченных требований в документах папки и двумя кнопками ОК и Cancel. 
126
**** При нажатии Cancel окно закрывается и ничего не происходит. 
127 34 Viktoria Kopach
**** При нажатии ОК вся папка удаляется.
128 33 Viktoria Kopach
129 49 Viktoria Kopach
Location''ы, которые были в удаленных документах, удаляются из базы данных и из требований, в которых они находились. Сами требования не удаляются.
130 36 Alexey Khoroshilov
После удаления папки активным элементом в Requality Explorer становится родительский элемент удаленной папки.
131
132 1 Viktoria Kopach
h2. Requirements
133 58 Alexey Demakov
134
Обобщенное дерево требований.
135 6 Viktoria Kopach
136 56 Viktoria Kopach
При *одинарном клике* на требовании:
137
# требование становится выделенным;
138
# во всех unpinned Properties View (если таковые есть) отображаются свойства выбранного требования.
139
140 57 Viktoria Kopach
При *двойном клике* или *переключении стрелочками* на требование:
141 1 Viktoria Kopach
# требование становится выделенным;
142
# если для документа первого location требования Document markup editor ещё не открыт, он открывается;
143
# вкладка с указанным Document markup editor становится видимой;
144
# в Outline view первый location требования становится выделенным (следующие два пункта выполняются при любом изменении выделения в Outline view);
145
# документ в указанном Document markup editor перематывается так, чтобы вверху видимой области редактора оказался текст первого location требования;
146 45 Viktoria Kopach
# текст этого location специально подсвечивается;
147 1 Viktoria Kopach
# если для выделенного требования есть pinned Properties view, вкладка с ним становится видимой. Иначе видимой становится вкладка с одним из unpinned Properties view, если такого нет, оно открывается.
148
# подробности выделенного требования отображаются во всех его pinned Properties view и во всех unpinned Properties View;
149
150 8 Viktoria Kopach
*Контекстное меню требований* (по клику правой кнопки) содержит пункты:
151 11 Viktoria Kopach
* Create Requirement - добавление требования.
152
* Remove Requirement - удаление требования
153
* Generate Report... - генерация отчета.
154
155
Create Requirement и Remove Requirement в контекстном меню находятся в одной группе рядом.
156
157
*Create Requirement*
158
Активно для всех требований, включая узел Requirements.
159
Создается требование внутри того требования, на котором открывалось контекстное меню. Имя задается автоматически. Имя - это число: если на этом уровне иерархии других требований нет - это 01, если требования уже есть, то это последний номер (максимальный) + 1. У только что созданного требования нет location''ов.
160
161
*Remove Requirement*
162 35 Viktoria Kopach
Удаление выделенного требования. Неактивно для корневого узла Requirements (этот узел удалить нельзя). Возникает окно для подтверждения удаления, содержащее кнопки OK и Cancel. При нажатии Cancel окно подтверждения просто закрывается, требование не удаляется, никаких изменений не происходит. При нажатии OK  требование удаляется. Все location''ы, входящие только в него, удаляются, их разметка удаляется.
163 36 Alexey Khoroshilov
164
После удаления требования активным элементом в Requality Explorer становится родительский элемент удаленного требования.
165 11 Viktoria Kopach
166
*Generate Report...*
167 14 Viktoria Kopach
Генерация отчета. Появляется окно для настройки отчета. Оно содержит три поля (к двум из которых прилагаются кнопки Browse...):
168 13 Viktoria Kopach
* *Root requirement* -  поле, в котором указывается узел, который будет корневым в отчете (в отчет попадет только этот узел и его "потомки"). По умолчанию указывается тот узел, на котором было открыто контекстное меню. Поле не редактируемое. Его содержимое можно менять только с помощью кнопки *Browse...*, которая расположена рядом. При нажатии этой кнопки открывается окно выбора требования, стандартное для Requality. Оно содержит все дерево требований текущего проекта. Окно выбора требования содержит кнопки create new, Cancel и OK. create new  и OK сначала неактивны, активируются после выбора одного из требований или основной папки проекта. Кнопка create new позволяет создать новое требование, открывает окно для задания его идентификатора. По кнопке Cancel окно выбора требования закрывается, в окне настроек отчета изменений не происходит. По кнопке OK окно выбора требования закрывается, в окне настроек отчета в поле Root requirement устанавливается выбранный узел.
169
* *Template* - поле-выпадающий список, не редактируется. В нем можно выбрать тип шаблона для отчета.
170
* *Save to*: - редактируемое поля для указания пути, по которому создается отчет. Путь можно ввести от руки или выбрать с помощью кнопки *Browse...* рядом с этим полем. По этой кнопке открывается стандартное окно обзора папок.
171 12 Viktoria Kopach
172 13 Viktoria Kopach
Кроме того в окне настройки отчета есть кнопки *OK* и *Cancel*. При нажатии Cancel окно настройки отчета закрывается, отчет не генерируется. При нажатии OK окно настройки отчета закрывается, по указанному пути генерируется отчет, в который включены только выбранный корневой узел и его потомки.