Project

General

Profile

Perspective » History » Revision 44

Revision 43 (Viktoria Kopach, 03/02/2011 07:12 PM) → Revision 44/73 (Viktoria Kopach, 03/02/2011 07:38 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 (содержащие, соответственно, документы с требованиями и сами требования). 
 При *двойном клике* на требование: 
 # требование становится выделенным; 
 # если для документа первого 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; 

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

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

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

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

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

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

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

 -*Выбор *Выбор другого документа* 
 Если на вкладке Documents нажать документ, который еще не был открыт, то он откроется на первом указанном в редакторе требования location, находящемся в этом документе (location пролистывается в верх видимой области и выделяется цветом). Этот же location выделяется в Outline.- 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 и выполняются все вышеперечисленные пункты.