Project

General

Profile

Perspective » History » Revision 50

Revision 49 (Viktoria Kopach, 03/03/2011 06:58 PM) → Revision 50/73 (Viktoria Kopach, 03/03/2011 07:09 PM)

h1. Перспектива Requality 

 Перспектива Requality содержит: 
 # Requality Explorer view, в котором отображается дерево проектов и их содержимое (документы, требования и т.п.); 
 # Properties view, в котором отображаются подробности отдельных элементов проекта; 
 # Document Markup editor, в котором осуществляется редактирование и просмотр разметки документа; 
 # Document Markup Outline view, в котором отображается структура разметки документа. 

 h2. 1. Requality Explorer view 

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

 *Documents* 
 При двойном клике на документ он открывается в редакторе Markup editor. 
 Контекстное меню папки Documents содержит пункты: 
 * Import Document - импортирование документа 
 * Create Folder - создается папка внутри текущей папки. 

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

 *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; 

 Контекстное меню требований содержит пункты: 
 * Add Requirement... 
 * Remove Requirement 
 * Generate Report 

 h2. 2. Properties view (Редактор требований). 

 Properties view содержит вкладки: 
 * Main 
 ** Id 
 ** Name 
 ** Attributes 
 * Advanced 
 ** Predicate (возможно стоит его перенести на вкладку Main? Или он может быть слишком большой?) 
 ** Base requirement 
 * Descriptions 
 ** Alternative description 
 ** список location''ов, отсортированный по документам. документов (или список location''ов - надо решить) 
 * Source 
 ** json 

 *Меню (view menu)* 
 * *Во view menu пункт Pin to Selection*. 
 * При выборе этого пункта меню нажимается кнопка Pin (это второй способ ее нажатия). Кнопка Pin выглядит нажатой. Этот пункт меню выделяется как нажатый. При повторном нажатии Pin отжимается и выделение пункта меню снимается. Кнопка Pin отжата. Все происходящие изменения такие же, как при нажатии кнопки Pin. 

 * *Во view menu пункт New Properties View* 
 * При выборе этого пункта открывается новая закладка с редактором того же требования и не нажатой кнопкой Pin. (Что будет, если в редакторе внести изменения, не сохранить и выбрать это меню?) 

 * *Кнопка «Канцелярская кнопка» (Pin) для закрепления Properties view*  
 * Если кнопка Pin выглядит нажатой, то это Properties View отображает детали фиксированного требования, которое было выделенным в момент нажатия кнопки. Если кнопка Pin выглядит отжатой, то в этом Properties View отображаются детали выделенного требования. При изменении выделения меняется и отображаемое требование. 

 *Вкладка Main* 

 Поля Id и Name имеют возможность редактирования. Изначально в поле Name стоит такое же значение, как и Id. 
 В таблице Attributes при двойном клике на атрибут можно его редактировать. Около таблицы есть кнопки Add (позволяет добавить новый атрибут) и Remove (позволяет удалить атрибут, который в данный момент выделен). Remove активна только тогда, когда выделен один из атрибутов в таблице.  

 

 *Вкладка Advanced* 
 Поле предиката может редактироваться. 
 Около таблицы Base Requirements есть кнопки Add (позволяет добавить новое базовое требование) и Remove (позволяет удалить базовое требование, которое в данный момент выделено). Remove активна только тогда, когда выделено одно из требований в таблице. 
 При нажатии на базовое требование (специальная кнопка? Ссылка?) происходит переход к редактору базового требования (если текущий редактор не закреплен кнопкой — см.ниже). 

 -*Выбор другого документа* 
 Если на вкладке Documents нажать документ, который еще не был открыт, то он откроется на первом указанном в редакторе требования location, находящемся в этом документе (location пролистывается в верх видимой области и выделяется цветом). Этот же location выделяется в Outline.- 

 *Вкладка Description* 
 В Description находится список имен всех location''ов этого требования (из всех документов), отсортированный по документам (???). Имена location''ов выглядят так же, как и в outline:  
 user-visible-name(req) - это 
 * name, если name не пустое  
 * user-visible-name(req.parent).id, иначе. 

 При клике на имя location''а документ пролистывается на этот location. Если документ с этим location''ом не был еще открыт, то он открывается. Происходят все соответствующие переключения в Outline и Requality Explorer. 

 *Кнопка переключения между location''ами* 
 В редакторе требования есть кнопка для переключения на следующий и предыдущий location. Порядок location''ов соответствует их порядку в редакторе требования. При переключении на другой location этот location выделяется в Outline и редакторе документа (пролистывается в верх видимой области и выделяется цветом). 

 h2. 3. Document Markup editor (Редактор документа) 

 Это окно-браузер с текстом документа. В нем размечаются требования. При выделении требования оно маркируется выделением. При наведении курсора на требование возникает всплывающая подсказка с его именем. При клике на выделенное требование в Explorer (не лучше ли при двойном клике?) выделяется данное требование, также открывается его редактор (если уже было хоть одно открытое и не закрепленное окно редактора), в Outline выделяется указанное location. 

 h2. 4. Document Markup Outline view 

 +Outline - плоский вид+ 

 В Outline должен быть список location''ов в порядке их присутствия в html документе. 

 Каждый location отображается следующим образом: 
 # Если location соответствует ноль требований в базе, то отображается текст "orphan location" красным жирным шрифтом. 
 # Если location соответствует одно требование, то user-visible-name(req). 
 # Если location соответствует несколько требований, то user-visible-name(req1),user-visible-name(req2),user-visible-name(req3). 

 Если в данном документе у одного требования несколько location''ов, то в тексте выше user-visible-name(req) заменяется на user-visible-name(req)#i, где i - порядковый номер location''а среди всех location''ов данного требования в данном документе. 

 Определение user-visible-name(req) следующее:  
 * name, если name не пустое  
 * user-visible-name(req.parent).id, иначе 

 Кроме того, Outline должет быть синхронизирован с Document''ом в том смысле, что 
 # всегда при событии приводящем к промотке документа на определенный location, этот location должен выделяться в Outline. 
 # при выделении location в Outline необходимо проматывать документ к этому location. 

 -(Зачеркнуто, т.к. неактуально, но может понадобиться потом)- 
 -В outline находится список всех location''ов. Список может быть в двух форматах:- 
 * -список location''ов в порядке их нахождения в документе (в текущем открытом документе или во всех документах?)- 
 * -список location''ов, сгруппированных по требованиям (требования - это узлы, раскрывающиеся в списки location''ов). Внутри группы location''ы упорядочены в порядке нахождения в документе. - надо разбить на два: в одном все location''ы только из текущего документа, в другом - все location''ы, принадлежащие требованиям, которые есть в этом документе (включая location''ы из других документов).- 

 При выборе одного из location''ов: 
 # документ пролистывается так, чтобы это location оказалось вверху видимой области документа 
 # текст location''а в документе размечается выделением.  
 # если документ был закрыт, то он сначала открывается. - ? 
 При этом  
 # если выбирается location, принадлежащий документу, редактор которого открыт, но неактивен, этот редактор становится активен и выполняются все вышеперечисленные пункты. 
 # -если выбирается location, принадлежащий документу, редактор которого не открыт, этот редактор открывается и выполняются все вышеперечисленные пункты.- 
 # если выбирается location, принадлежащий другому требованию (которое сейчас не выбрано), это требование выделяется в Requality Explorer''е и открывается в Properties view и выполняются все вышеперечисленные пункты.