Project

General

Profile

ExplorerView » History » Revision 31

Revision 30 (Viktoria Kopach, 04/28/2011 03:23 PM) → Revision 31/61 (Viktoria Kopach, 04/28/2011 03:34 PM)

h1. Requality Explorer View 

 {{toc}} 

 Requality Explorer содержит все проекты, что и PackageExplorer, но развернуть можно только проекты типа Requality. 
 В Requality-проекте есть две папки: Documents и Requirements (содержащие, соответственно, документы с требованиями и сами требования). 

 h2. Папка проекта 

 Перспектива Requality, Requality Explorer, контекстное меню проекта: 
 * меню *New*, подменю Project.... Это стандартное окно создания проекта в Eclipse, но в нем по умолчанию будет выбран тип проекта - Requality. Создается папка проекта. По умолчанию в ней отображаются основная папка для документов Documents и основной узел требований Requirents. Контекстное меню папки проекта должно был аналогично стандартному контекстному меню проекта в Eclipse. 
 * меню *Delete*     - Удаление проекта в перспективе Requality. 
 В контекстном проекта Requality должен быть пункт Delete с пиктограммой-крестиком (по аналогии с аналогичным меню в других перспективах Eclipse). 
 При выборе Delete возникает окно Delete Project с об удалении проекта. В окне есть чек-бокс для выбора удаления проекта с диска. Есть две кнопки: OK и Cancel. При выборе cancel окно закрывается, никаких изменений не происходит. При выборе OK проект удаляется. По умолчанию проект удаляется из Eclipse, но сохраняется на диске. Если выбран вышеупомянутый чек-бокс (стоит галочка), то проект удаляется с диска. 
 Таким образом удаление будет реализовано по аналогии со стандартный удалением проекта в Eclipse. 
 !http://forge.ispras.ru/attachments/692/Delete_Project.png! 
 * меню *Refactor*. По аналогии со стандартным меню Eclipse для проекта у проекта Requality в контекстном меню должен быть пункт Refactor, из которого открываются два подменю: Rename и Move: (для наглядного примера можно посмотреть меню для любого проекта типа Requlity в перспективе, например, Java.) 
 ** *Rename* позволяет переименовать проект 
 ** *Move* позволяет переместить проект в другое место на диске. 

 Меню *Rename Project*: 
 Открывается окно Rename Project.  
 В нем есть редактируемое поле *New name:*, в котором изначально находится текущее имя проекта, отмеченное выделением.  
 Есть две кнопки *OK* и *Cancel*. По умолчанию кнопка OK не активна, Сancel - активна. 
 Корректность имени проекта: 
 * Если в поле New name: вводится имя, которое совпадает с текущим именем проекта или с именем другого проекта или папки, находящихся в той же директории, что и текущий проект, то кнопка OK становится неактивной и в окне появляется сообщение красными буквами "А file or folder with this name already exists". 
 * Если в поле New name: пусто или есть знаки, которые не могут быть в имени проекта, то кнопка OK становится неактивной и в окне появляется сообщение красными буквами "This is an invalid name for a file or folder". 
 * В остальных случаях кнопка OK активна.  

 h2. Documents 

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

 h3. Действия с документами: 

 При *двойном клике на документ* он открывается в редакторе Markup editor. 

 *Контекстное меню документов* (по клику правой кнопки) содержит пункты: 
 * Create Folder - создается папка на уровне документа в той же папке. 
 * Remove Document - документ удаляется. -Что происходит с location''ами и требованиями, у которых location''ы только в этом документе? Можно ли отменить удаление- 
 * Update Document - обновляет старую версию документа новой. 
 * HTML Headers Document Processor - создается требование для каждого тега <h#>...</h#>. 

 Замечание: Update Document и HTML Headers Document Processor - это вызов обработок, набор которых может расширяться. 

 *Create Folder* 
 При создании новой папки открывается окно с полем для ввода имени новой папки и кнопками OK и Cancel.    При    нажатии OK папка с заданным именем создается. При нажатии Cancel окно создания папки просто закрывается, никаких изменений не происходит. При папка с введенным именем уже существует на том же уровне иерархии, в окне создания папки появляется предупреждение об этом и кнопка OK становится неактивной. 

 *Remove Document* 
 Возникает окошко для подтверждения удаления документа. При нажатии Cancel окошко просто закрывается, документ не удаляется, никаких изменений не происходит. При нажатии OK документ удаляется. -Что происходит с location''ами?- 

 *Update Document* 
 Обновить документ можно только документом, который добавлен в проект. При выборе этого меню на текущем документе (назовем его обновляемым) открывается окно со списком всех документов (иерархически отсортированных по папкам) данного проекта для выбора обновляющего документа. Окно содержит кнопки OK (изначально неактивна) и Cancel. При    нажатии Cancel окно выбора документа закрывается и никаких изменений не происходит. При выборе обновляющего документа кнопка OK становится активна, при ее нажатии происходит обновление обновляемого документа (на котором было нажато меню Update Document) выбранным документом. При этом текст содержимое обновляемого документа заменяется на содержимое обновляющего документа. Если location''ы, которые уже были размечены в старом документе, есть и в обновленном документе, то они сохраняются и размечаются аналогично старой разметке. Если в обновленном документе некоторые требования, которые были в старом, исчезли, то их location''ы удаляются. Процесс обновления документа иллюстрируется окном с прогресс-баром (сколько из размеченных требований обновляемого документа проанализировано) и завершается возникновением окна, в котором указывается количество найденных и перенесенных в новый документ location''ов. 
 Обновить документ самим собой нельзя. В окне выбора обновляющего документа при выборе самого себя кнопка OK становится неактивной. 

 *HTML Headers Document Processor* 
 При выборе в контекстном меню документа пункта HTML Headers Document Processor должно появиться окно с прогресс-баром, показывающее степень выполнения процесса. По завершении должно появиться окно, сообщающее об успешности выполнения и количестве созданных требований (если ни одного, то 0). 

 h3. Действия с папками документов: 

 *Контекстное меню папок Documents* (по клику правой кнопки) содержит пункты: 
 * [[DocumentImport|Import Document]] - импортирование документа 
 * Create Folder - создается папка внутри текущей папки (отсутствует для самой папки Documents). 
 * Remove Folder - удаляется папка. 

 Пункты Create Folder и Remove Folder сгруппированы в контекстном меню вместе. 

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

 *Remove Folder* 
 Появляется окно для подтверждения удаления папки, содержащее кнопки OK и Cancel.  
 * Для пустой папки: При нажатии Cancel окошко просто закрывается, папка не удаляется, никаких изменений не происходит. При нажатии OK папка удаляется.  
 * Для не пустой папки: При удалении папки, содержащей документы, должно появиться аналогичное окно, но в нем еще должно быть сообщение о том, что папка не пуста и ее удаление повлечет за собой удаление всех вложенных документов. В случае Cancel ни документы, ни папка не должны быть удалены. В случае OK: если ни в одном документе в этой папке или ее подпапках нет ни одного размеченного location''а, то вся папка с документами удаляется. Если размеченные location''ы есть, при нажатии ОК это окошко закрывается, но открывается другое окно с предупреждением о наличии размеченных требований в документах папки и двумя кнопками ОК и Cancel. При нажатии Cancel окно закрывается и ничего не происходит, при нажатии ОК вся папка удаляется. -Что происходит с location''ами?- 

 h2. Requirements 

 При *двойном клике* на требование: 
 # требование становится выделенным; 
 # если для документа первого location требования Document markup editor ещё не открыт, он открывается; 
 # вкладка с указанным Document markup editor становится видимой; 
 # в Outline view первый location требования становится выделенным (следующие два пункта выполняются при любом изменении выделения в Outline view); 
 # документ в указанном Document markup editor перематывается так, чтобы вверху видимой области редактора оказался текст первого location требования; 
 # текст этого location специально подсвечивается; 
 # если для выделенного требования есть pinned Properties view, вкладка с ним становится видимой. Иначе видимой становится вкладка с одними из unpinned Properties view, если такого нет, оно открывается. 
 # подробности выделенного требования отображаются во всех pinned Properties view для него и во всех unpinned Properties View; 

 При *выборе требования (одинарный клик, переключение стрелочками)*: 
 # требование становится выделенным. 
 # подробности выделенного требования отображаются во всех pinned Properties view для него и во всех unpinned Properties View; 

 *Контекстное меню требований* (по клику правой кнопки) содержит пункты: 
 * Create Requirement - добавление требования. 
 * Remove Requirement - удаление требования 
 * Generate Report... - генерация отчета. 

 Create Requirement и Remove Requirement в контекстном меню находятся в одной группе рядом. 

 *Create Requirement* 
 Активно для всех требований, включая узел Requirements. 
 Создается требование внутри того требования, на котором открывалось контекстное меню. Имя задается автоматически. Имя - это число: если на этом уровне иерархии других требований нет - это 01, если требования уже есть, то это последний номер (максимальный) + 1. У только что созданного требования нет location''ов. 

 *Remove Requirement* 
 Удаление выделенного требования. Возникает окно для подтверждения удаления, содержащее кнопки OK и Cancel. При нажатии Cancel окно подтверждения просто закрывается, требование не удаляется, никаких изменений не происходит. При нажатии OK    требование удаляется. Все location''ы, входящие только в него, удаляются, их разметка удаляется. 

 *Generate Report...* 
 Генерация отчета. Появляется окно для настройки отчета. Оно содержит три поля (к двум из которых прилагаются кнопки Browse...): 
 * *Root requirement* -    поле, в котором указывается узел, который будет корневым в отчете (в отчет попадет только этот узел и его "потомки"). По умолчанию указывается тот узел, на котором было открыто контекстное меню. Поле не редактируемое. Его содержимое можно менять только с помощью кнопки *Browse...*, которая расположена рядом. При нажатии этой кнопки открывается окно выбора требования, стандартное для Requality. Оно содержит все дерево требований текущего проекта. Окно выбора требования содержит кнопки create new, Cancel и OK. create new    и OK сначала неактивны, активируются после выбора одного из требований или основной папки проекта. Кнопка create new позволяет создать новое требование, открывает окно для задания его идентификатора. По кнопке Cancel окно выбора требования закрывается, в окне настроек отчета изменений не происходит. По кнопке OK окно выбора требования закрывается, в окне настроек отчета в поле Root requirement устанавливается выбранный узел. 
 * *Template* - поле-выпадающий список, не редактируется. В нем можно выбрать тип шаблона для отчета. 
 * *Save to*: - редактируемое поля для указания пути, по которому создается отчет. Путь можно ввести от руки или выбрать с помощью кнопки *Browse...* рядом с этим полем. По этой кнопке открывается стандартное окно обзора папок. 

 Кроме того в окне настройки отчета есть кнопки *OK* и *Cancel*. При нажатии Cancel окно настройки отчета закрывается, отчет не генерируется. При нажатии OK окно настройки отчета закрывается, по указанному пути генерируется отчет, в который включены только выбранный корневой узел и его потомки. 

 [[ReqEditor|Вернуться к Перспектива Requality (основные view)]]