Project

General

Profile

Actions

Requality Explorer View

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

Сортировка в дереве требований

TODO: Порядок узлов в этом дереве важен.

Должно поддерживаться два режима работы - MANUAL и AUTO, устанавливается в свойствах проекта.

Режим MANUAL: Порядок узлов определяется в соответствии со значением атрибута, имя которого конфигурируется в свойствах проекта.
Если потребуется, указывается вид сортировки (лексикографический или числовой) и значение по умолчанию (на случай, если атрибут у требования отсутствует).
Изменить значение атрибута можно только вручную. Перетаскивание узлов вверх-вниз запрещено.

Режим AUTO: Пользователь может менять порядок перетаскиванием узлов вверх-вниз.
Порядок вычисляется на основании значений атрибутов _order. Это строковый атрибут, сравнение лексикографическое.
При перетаскивании узла для изменения его положения в дереве меняется значение атрибута _order только у него самого
так, чтобы лексикографически оно располагалось между новыми соседями.

В контекстном меню узла есть пункт, при выборе которого осуществляется перенумерация детей узла как 1, 2, 3... с заполнением лидирующих разрядов нулями или пробелами.

Кнопка Link with editor

Кнопка Link with editor, она же "стрелочки", должна иметь следующую функциональность:
- если эта кнопка включена, то при переключении между документами в Markup editor тот документ, вкладка которого открыта, выделяется в Requality explorer'е.
- если кнопка выключена, то переключение между вкладками документов в Markup editor не влияет на requality explorer.

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

(Перспектива Requality, Requality Explorer view)
Контекстное меню проекта:
  • меню New, подменю Project.... Это стандартное окно создания проекта в Eclipse, но в нем по умолчанию будет выбран тип проекта - Requality.
    Создается папка проекта. По умолчанию в ней отображаются основная папка для документов Documents и основной узел требований Requirements. В основном контекстное меню папки проекта аналогично стандартному контекстному меню проекта в Eclipse.
  • меню Delete - Удаление проекта в перспективе Requality.
    В контекстном меню проекта Requality есть пункт Delete с пиктограммой-крестиком (как у аналогичного меню в других перспективах Eclipse).
    При выборе Delete возникает окно Delete Project с уточняющим вопросом об удалении проекта. В окне есть:
    • кнопка Cancel. При выборе Cancel окно закрывается, никаких изменений не происходит.
    • кнопка ОК. При выборе OK проект удаляется.
    • чек-бокс для выбора удаления проекта с диска.
      По умолчанию проект удаляется из Eclipse, но сохраняется на диске. Если выбран вышеупомянутый чек-бокс (стоит галочка), то проект удаляется с диска.

Таким образом удаление будет реализовано по аналогии со стандартным удалением проекта в Eclipse.

  • меню Rename позволяет переименовать проект
    Открывается окно 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 активна.

  • меню Move позволяет переместить проект в другое место на диске.
    Открывается окно Move Project.
    В нем есть редактируемое поле Location, рядом с ним - кнопка Browse... для выбора пути, внизу - кнопки OK и Cancel, над полем Location находится чек-бокс Use default location. По умолчанию кнопка OK не активна, Сancel - активна.
    В поле Location изначально указан текущий путь к проекту, при этом кнопка ОК неактивна. После редактирования пути (в поле Location или с помощью кнопки Browse) кнопка ОК становится активна, но если при этом указанный путь совпадает с текущим, кнопка ОК становится неактивна и в окне появляется сообщение "Location is the current location" (цвет текста - красный). Если путь указан невалидный (содержит запрещенные символы или имеет неправильный формат), кнопка ОК становится неактивна и в окне появляется сообщение с пояснением проблемы (цвет текста - красный).
    При выборе чек-бокса Use default location в поле Location автоматически прописывается путь текущего воркспейса (+ имя проекта через слэш), при этом само поле Location ( и его название), а так же кнопка Browse становятся неактивными. При этом соблюдается сценарий для совпадающего пути.
    При нажатии ОК окно закрывается и проект перемещается по указанному пути. При нажатии Cancel окно закрывается, проект остается где и был.

В стандартном контекстном меню проекта в Eclipse есть пункт Refactor, содержащий подпункты Rename и Move. В случае Requality было решено обойтись без полноценного Refactor и вынести Rename и Move в основной список пунктов контекстного меню. Но работают они аналогично.

Documents

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

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

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

Контекстное меню документов (по клику правой кнопки) содержит пункты:
  • Remove Document - удаление документа.
  • Update Document - обновляет старую версию документа новой.
  • HTML Headers Document Processor - создается требование для каждого тега <h#>...</h#>.

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

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

Remove Document
При этом возникает окно для подтверждения удаления документа. В окне есть две кнопки ОК и Cancel.
  • При нажатии Cancel окно закрывается, документ не удаляется.
  • При выборе ОК окно закрывается, процесс удаления продолжается:
    • если в документе нет размеченных location'ов, происходит удаление документа;
    • если в документе есть размеченные location'ы, то возникает окно, которое об этом предупреждает и спрашивает, продолжать ли удаление. В окне есть две кнопки ОК и Cancel.
      • При нажатии Cancel окно закрывается, документ не удаляется.
      • При выборе ОК окно закрывается, документ удаляется.

Location'ы, которые были в удаленном документе, удаляются из базы данных и из требований, в которых они находились. Сами требования не удаляются.
После удаления документа активным элементом в Requality Explorer становится родительский элемент удаленного документа.

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

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

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

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

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

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

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

Location'ы, которые были в удаленных документах, удаляются из базы данных и из требований, в которых они находились. Сами требования не удаляются.
После удаления папки активным элементом в Requality Explorer становится родительский элемент удаленной папки.

Requirements

Обобщенное дерево требований.

При одинарном клике на требовании:
  1. требование становится выделенным;
  2. во всех unpinned Properties View (если таковые есть) отображаются свойства выбранного требования.
При двойном клике или переключении стрелочками на требование:
  1. требование становится выделенным;
  2. если для документа первого location требования Document markup editor ещё не открыт, он открывается;
  3. вкладка с указанным Document markup editor становится видимой;
  4. в Outline view первый location требования становится выделенным (следующие два пункта выполняются при любом изменении выделения в Outline view);
  5. документ в указанном Document markup editor перематывается так, чтобы вверху видимой области редактора оказался текст первого location требования;
  6. текст этого location специально подсвечивается;
  7. если для выделенного требования есть pinned Properties view, вкладка с ним становится видимой. Иначе видимой становится вкладка с одним из unpinned Properties view, если такого нет, оно открывается.
  8. подробности выделенного требования отображаются во всех его pinned Properties view и во всех unpinned Properties View;
Контекстное меню требований (по клику правой кнопки) содержит пункты:
  • Create Requirement - добавление требования.
  • Remove Requirement - удаление требования
  • Generate Report... - генерация отчета.

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

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

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

После удаления требования активным элементом в Requality Explorer становится родительский элемент удаленного требования.

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 окно настройки отчета закрывается, по указанному пути генерируется отчет, в который включены только выбранный корневой узел и его потомки.

Updated by Alexey Khoroshilov over 13 years ago · 61 revisions