Инженерия требований представляет собой одну из основных дисциплин системной инженерии, наряду с инженерией системной архитектуры, интеграцией и т.д.
Ниже в духе требований ситуационной инженерии методов намечено содержание дисциплины инженерии требований. В каждой конкретной ситуации, характеризуемой природой создаваемой системы, используемыми инструментами и квалификацией людей, а также из наборов знаний других дисциплин в соответствии с выбранным методом управления жизненным циклом создаются конкретные описания жизненного цикла, которые затем используются в качестве учебных, справочных или нормативных для выполнения конкретного проекта.
Для нижеприведенной структуры не предполагается какая-либо последовательность не только применения в проекте, но и изложения (например, в учебных курсах). Для развернутого представления подобного материала должен быть использован гипертекст. Так, в репозитории методов OPEN Process Framework (
http://www.opfro.org/index.html?Components/WorkUnits/Activities/RequirementsEngineering/RequirementsEngineering.html~Contents) можно найти в виде гипертекста обширный объем знаний, предусматриваемый предлагаемой нами структурой, хотя и не все знания.
1. Описание предметной области (онтологии) требований
1.1 Назначение требований
1.2. Требования как рабочие продукты (артефакт)
1.2.1. Отличия рабочих продуктов требований от архитектурных и проектных рабочих продуктов. Различение требований и ограничений.
1.2.2. Виды формулирования требований и требования к ним
-- уровень неформальности: текст -- модели
-- используемая парадигма (декларативные-процесссные)
-- информационные модели (в том числе онтологии и метамодели для них -- как минимум, глоссарий).
-- спецификации требований. Шаблоны информационных объектов.
-- концепции
1.2.3 Виды использования
-- автономные требования
-- требования как задания на испытания и test-driven development
-- требования как запросы на изменения и практики issue tracking
1.2.4 Виды по источникам
-- требования и нужды заинтересованных сторон
-- результат анализа требований
1.3. Классификация требований по их предмету
1.3.1. Контрактные, производные, эксплуатационные, к обслуживанию, обеспечению, обучению, прекращению использования, организационные, программные, аппаратные, оборудованию и т.д. -- разнообразие типов требований, каждый из которых требует своих рабочих продуктов, производящих и использующих их практик и квалификации инженеров требований
1.3.2. К методу разработки
1.3.2. К продукту
1.3.2.1. Функциональные
1.3.2.2. Нефункциональные
-- качества (ценовая доступность, производительность, настраиваемость, надежность (защитимость (устойчивость, безопасность, защищенность, выживаемость), бездефектность (доступность, правильность, предсказуемость, надежность-стабильность)), экономичность, сопрягаемость, эксплуатационные характеристики, поддерживаемость, удобство в использовании
-- к данным
-- к интерфейсам
-- ограничения (включают все виды требований)
2. Практики работы с требованиями
2.1. Место практик инженерии требований
-- в жизненном цикле
-- среди других инженерных дисциплин
-- смежные практики: планировать усилия инженерии требований, готовить инфраструктуру управления требованиями и моделирования, управлять данными и конфигурацией требований, улучшать практики и т.д.
2.2 Стандартизация практик
-- международные стандарты: ISO 15288 и ISO 12207, ISO 29148, IEEE 1233, для обоснования ISO 15026
-- частные стандарты: OPFRO, QUASAR
2.3. Разнообразие практик в части природы системы ([программоемкая] система, модель бизнеса, предметная область, компонент, семейство продуктов, программное приложение, датацентр, завод и т.д.). Стандарты BABOK, ITIL.
2.4. Типовой набор практик
2.4.1. бизнес-анализ
-- анализ клиента
-- анализ конкурента
-- анализ рынка
-- анализ технологии
-- анализ пользователя
-- профилирование заинтересованных сторон
-- выявление целей заинтересованных сторон
-- разработка обоснования бизнес-модели
2.4.2. Предвосхищение (visioning) -- бизнеса, системы, приложения, компоненты
2.4.3. Разработка требований
-- выявление требований
-- переиспользование требований
-- анализ (моделирование) требований
-- прототипирование требований
-- формулирование требований
-- валидация требований
3. Обоснование выполнения требований (requirements case)
3.1. Рабочие продукты (декларации, аргументы, свидетельства)
3.2. Практики обоснования
-- набор практик обоснования
-- жизненный цикл обоснования
4. Команда, ее роли и требуемые квалификации
-- источники требований
-- разработка требований
-- использование требований
-- проверка требований
-- управление требованиями
5. Инструменты инженерии требований
-- автономные требования (типа IRqA etc.)
-- требования-запросы (Dassault Systemes Requirements/Engineering Portal)
-- модели требований (моделеры, в том числе интегрируемые в САПР)
Замечания, предложения, вопросы?