Институт системного программирования им. В.П. Иванникова РАН


Скачать сборник технологий

Requality: инструмент управления требованиями

Requality – расширяемый инструмент для управления требованиями (преимущественно при разработке программных систем). Позволяет как разрабатывать требования с нуля, так и выявлять их из имеющихся документальных представлений, сохраняя при этом связи между требованиями и текстовыми фрагментами. Поддерживает возможность совместной работы над требованиями с использованием системы управления версиями GIT.

Особенности и преимущества

Requality представляет собой приложение на языке Java для работы с базой требований, пользовательский интерфейс в виде расширения для открытой платформы Eclipse и программный интерфейс приложения (API). По доступным функциональным возможностям близок к существующим коммерческим аналогам (IBM DOORS, Jama, Polarion) и превосходит ряд имеющихся свободно распространяемых продуктов (aNimble, ProR, RMTOO). Инструмент и руководство пользователя доступны на сайте проекта: https://requality.ru.

Requality – это:

  • Структурирование и хранение каталога требований:
    • каталог требований − это структурированный набор требований и других элементов, хранимый в рамках единого рабочего пространства. В качестве элементов верхнего уровня выступают проекты, в которых хранятся отдельные наборы требований. Такая возможность используется в том числе для отделения требований верхнего уровня от разработанных на их основе требований нижнего уровня.
    • элементы каталога включают в себя как сами требования, так и другие виды узлов. Инструмент поддерживает базовый набор элементов, включающий в себя:
      • текстовые узлы, не являющиеся непосредственно требованиями, но обеспечивающие контекст для их понимания;
      • документальные представления требований, на основе которых был разработан каталог;
      • настройки отчётов и результаты их генерации;
      • комментарии;
      • описания тестовых ситуаций.
      Набор может быть масштабирован путем разработки расширений.
    • идентификация объектов поддерживается несколькими способами, в том числе с использованием уникального в пределах проекта числового идентификатора и составного удобочитаемого иерархического пути;
    • свойства объектов включают в себя как предоставляемые инструментом по умолчанию (описание узла, короткий строковый идентификатор и другие), так и определяемые пользователем параметры, используемые для обозначения качеств элементов;
    • применение HTML-разметки в тексте требований и в других свойствах позволяет использовать различные средства выделения текста и обеспечивать вспомогательные ресурсы, такие как изображения и таблицы.
  • Управление связями, трассируемость и анализ покрытия:
    • задание связей между элементами каталога осуществляется как путем непосредственного определения связи на уровне отдельных узлов, так и при помощи механики автоматического построения через отношение «определение-использование» терминов;
    • задание связи между фрагментом текста и требованием позволяет, с одной стороны, определить источник возникновения отдельного требования, а с другой — предоставляет возможность автоматизированного переноса подобных связей на новые версии документов;
    • трассируемость связей представляет собой возможность проследить для отдельного требования как исходные требования, так и разработанные на его основе, а также изучить контекст элемента каталога, в рамках которого его стоит рассматривать;
    • покрытие представляет собой совокупность информации о внешних ресурсах, связанных с элементами каталога требований. В инструменте поддерживается возможность использования внешней информации о покрытии в форме файла определенного формата, а также обеспечивается расширяемый набор источников данных о покрытии.
  • Управление изменениями и поддержка совместной работы:
    • в качестве основной системы для совместной работы над каталогом требований поддерживается GIT. В интерфейсе инструмента доступен упрощённый набор команд для отправки изменений и обновления локальной версии проекта;
    • в интерфейсе инструмента доступен просмотр версий как отдельного узла, так и каталога в целом с возможностью сравнения отдельных версий.
  • Генерация отчётов, в частности:
    • формирование различных представлений каталога требований, в том числе для работы с ним вне инструмента, а также для обмена требованиями с другими инструментами или решения нестандартных задач в рамках разработки;
    • предоставление данных о трассируемости для просмотра информации о связях между элементами каталога требований;
    • сравнение версий каталога для изучения различий структуры и свойств требований проекта для выбранных версий каталога;
    • анализ покрытия для рассмотрения статуса отдельных элементов каталога с точки зрения информации о покрытии, полученной из выбранного источника;
    • поддержка пользовательских шаблонов с использованием доступной информации относительно каталога, его версий и информации о покрытии.
  • Поддерживается программный интерфейс (API) с возможностью изменения хранимых данных и создания новых проектов. В том числе он может быть использован для обмена данными со сторонними инструментами.
  • Доступна возможность разработки расширений для задания новых элементов, источников информации о покрытии или для получения новых функциональных возможностей.

Системные требования

ОС Windows или ОС на базе ядра GNU/Linux, Java 8.

Опыт внедрения

Requality разрабатывается с 2011 года. Использовался для работы с требованиями в проекте по разработке операционной системы реального времени, а также для каталогизации требований из различных стандартов (в том числе TTCN и POSIX) с целью проведения последующего тестирования на соответствие стандарту.

Разработчик/участник

Технологии программирования

Перейти к списку всех технологий