Инженерия требований




            Москва
        17 марта 2012г.
25 обязательных практик системной инженерии
                     ISO 15288:2008


Обеспечения
 проектов
 описывание жизненного   Проектные
 цикла                    управление проектами
 управление                       планирование
 инфраструктурой                  проекта
 управление портфелем             управление
 проектов                         выполнением и
 управление персоналом
 управление качеством
                                  контроль
                                  проекта         Технические
                          поддержка проектов         сбор требований
                                  управление         анализ требований
                                  решениями          архитектурный дизайн
                                  управление         изготовление
                                  рисками            интеграция
                                  управление         верификация
                                  конфигураци        (проверка)
                                  ей
                                                     переход к
                                  управление         эксплуатации
                                  информацией
                                                     валидация (приёмка)
                                  измерения
                                                     эксплуатация
                                                     обслуживание
                                                     вывод из эксплуатации
                                                                        2
Жизненный цикл в системной инженерии
   определение           приемка в
   требований            эксплуатацию




Архитектурное            интеграция
проектирование



   рабочее
                     изготовление
   проектирование




                                             3
На что менеджер должен добавить денег?
    Стадия обнаружения   Стоимость
    ошибки               исправления

    Требования           x1 (единица
                         отсчета)
    Проектирование       x5
    Строительство        x12
    Проверки             X40
    Эксплуатация         X250

                                 Данные INCOSE
                                                 4
Пример: требования
         к составлению плана
Хотелка: есть один исполнитель и три работы
от трёх разных заказчиков. Исполнитель
делает одну работу один день, быстрее не
может. Нужно помочь ему запланировать
работы.

Задача: спроектировать правильные
требования к плану.

                                              5
Выбор способа составления графика работ
   Задача: три работы




    Управление процессами
    (очереди к станкам)



     Управление проектами
     (у одного человека
     много проектов)

Критическая цепочка (TOC)
общий буфер времени для
группы операций



                            Использованы материалы              6
                            Eli Schragenheim и Daniel P.Walsh
Литература
• Инженерия требований (структура метода) --
  http://ailev.livejournal.com/769827.html
• Метод инженерии требований (что делает инженер по
  требованиям) -- http://ailev.livejournal.com/810548.html
• Второе поколение инженерии требований --
  http://ailev.livejournal.com/754369.html, инженерия
  требований в MBSE --
  http://ailev.livejournal.com/801113.html
• Стандарты представления требований --
  http://ailev.livejournal.com/900086.html
• Требования – это программа, метод, интеракция --
  http://ailev.livejournal.com/805721.html


                                                             7
Требования
•   Заинтересованных сторон
•   Системные
•   Архитектурные
•   Рабочей документации

• Требования – это описание (модель)
  системы + деонтическая модальность

                                       8
Описание метода: инженерия требований
1. Описание предметной области                                                   настраиваемость, надежность                      сторон
                                                                                 (защитимость (устойчивость,                      -- разработка обоснования бизнес-
(онтологии) требований                                                           безопасность, защищенность,                      модели
1.1 Назначение требований                                                        выживаемость),                         2.4.2. Предвосхищение (visioning) -- бизнеса,
1.2. Требования как рабочие продукты (артефакты)                                 бездефектность (доступность,           системы, приложения, компоненты
          1.2.1. Отличия рабочих продуктов требований от                         правильность,                          2.4.3. Разработка требований
          архитектурных и проектных рабочих продуктов.                           предсказуемость, надежность-                     -- выявление требований
          Различение требований и ограничений.                                   стабильность)),                                  -- переиспользование требований
          1.2.2. Виды формулирования требований и                                экономичность, сопрягаемость,                    -- анализ (моделирование) требований
          требования к ним                                                       эксплуатационные                                 -- прототипирование требований
                    -- уровень неформальности: текст --                          характеристики,                                  -- формулирование требований
                    модели                                                       поддерживаемость, удобство в                     -- валидация требований
                    -- используемая парадигма                                    использовании
                    (декларативные-процесссные)                                  -- к данным
                    -- информационные модели (в том                                                            3. Обоснование выполнения требований
                                                                                 -- к интерфейсам              (requirements case)
                    числе онтологии и метамодели для них -                       -- ограничения (включают все 3.1. Рабочие продукты (декларации, аргументы,
                    - как минимум, глоссарий).                                   виды требований)
                    -- спецификации требований. Шаблоны                                                        свидетельства)
                    информационных объектов.               2. Практики работы с требованиями                          3.2. Практики обоснования
                    -- концепции                           2.1. Место практик в процессе                                        -- набор практик обоснования
          1.2.3 Виды использования                                   -- в жизненном цикле                                       -- жизненный цикл обоснования
                    -- автономные требования                         -- среди других инженерных дисциплин             4. Команда, ее роли и требуемые
                    -- требования как задания на испытания           -- смежные практики: планировать усилия
                    и test-driven development                        инженерии требований, готовить инфраструктуру квалификации
                                                                     управления требованиями и моделирования,         -- источники требований
                    -- требования как запросы на изменения                                                            -- разработка требований
                    и практики issue tracking                        управлять данными и конфигурацией
                                                                     требований, улучшать практики и т.д.             -- использование требований
          1.2.4 Виды по источникам                                                                                    -- проверка требований
                    -- требования и нужды                  2.2 Стандартизация практик
                                                                     -- международные стандарты: ISO 15288 и ISO      -- управление требованиями
                    заинтересованных сторон
                    -- результат анализа требований                  12207, ISO 29148, IEEE 1233, для обоснования ISO 5. Инструменты инженерии требований
1.3. Классификация требований по их предмету                         15026                                            -- автономные требования (типа IRqA etc.)
          1.3.1. Контрактные, производные,                           -- частные стандарты: OPFRO, QUASAR              -- требования-запросы (Dassault Systemes
          эксплуатационные, к обслуживанию,                2.3. Разнообразие практик в части природы системы          Requirements/Engineering Portal)
          обеспечению, обучению, прекращению               (*программоемкая+ система, модель бизнеса, предметная -- модели требований (моделеры, в том числе
          использования, организационные, программные, область, компонент, семейство продуктов, программное интегрируемые в САПР)
          аппаратные, оборудованию и т.д. -- разнообразие приложение, датацентр, завод и т.д.). Стандарты BABOK,
          типов требований, каждый из которых требует      ITIL.
          своих рабочих продуктов, производящих и          2.4. Типовой набор практик
          использующих их практик и квалификации                     2.4.1. бизнес-анализ
          инженеров требований                                                 -- анализ клиента
          1.3.2. К методу разработки                                           -- анализ конкурента
          1.3.3. К продукту                                                    -- анализ рынка
                    1.3.3.1. Функциональные                                    -- анализ технологии
                    1.3.3.2. Нефункциональные                                  -- анализ пользователя
                               -- качества (ценовая                            -- профилирование заинтересованных
                               доступность,                                    сторон                                                                           9
                               производительность,                             -- выявление целей заинтересованных
Умения инженера по требованиям
          (подробнее: http://ailev.livejournal.com/810548.html)


• Быть лидером (leadership) – упаковывать
  живых тушек с личными интересами в
  культурно-обусловленные позиции. Работает с
  людьми.
• Быть социотехником – найти и извлечь все
  требования из человека в позиции. Работает с
  диаграммами целеполагания (early
  requirements engineering), т.е. грамотный по
  Alan Key.
• Быть инженером – понимать архитектуру,
  разбираться в инженерных обоснованиях,
  читать чертежи...
                                                                  10
Три поколения инженерии
• «Алхинженерия»: Неформальные тексты и
  эскизы
• Современная инженерия: Диаграммы и
  чертежи («псевдокод»)
• Моделе-ориентированная (model-based)
  инженерия: формальные языки
  (вычисляемый «код»)


                                          11
Стандарты представления
            требований
• SysML
• AP233
• RIF
• ISO 29148
• ITU Z.151 (URN=GRL+UCM) и другие из GORE
  (i*, BMM, ArchiMate, MBRD, Planguage):
  выражение оппозиции цели-средства (ends –
  means)
• ISO 15926
• …..

                                              12
Требования и архитектура:
сегодня трудноразделимы
   http://ailev.livejournal.com/938820.html




                     Dietz-The Generic System Development Process
                                                             13
Архитектура




Архитектура – это всё важное.



                            14
Спасибо за внимание
Анатолий Левенчук,
Директор по исследованиям Русского отделения INCOSE
http://ailev.ru
ailev@asmp.msk.su

Виктор Агроскин
vic5784@gmail.com



TechInvestLab.ru
(495) 748-53-88

                                                  15

Инженерия требований

  • 1.
    Инженерия требований Москва 17 марта 2012г.
  • 2.
    25 обязательных практиксистемной инженерии ISO 15288:2008 Обеспечения проектов описывание жизненного Проектные цикла управление проектами управление планирование инфраструктурой проекта управление портфелем управление проектов выполнением и управление персоналом управление качеством контроль проекта Технические поддержка проектов сбор требований управление анализ требований решениями архитектурный дизайн управление изготовление рисками интеграция управление верификация конфигураци (проверка) ей переход к управление эксплуатации информацией валидация (приёмка) измерения эксплуатация обслуживание вывод из эксплуатации 2
  • 3.
    Жизненный цикл всистемной инженерии определение приемка в требований эксплуатацию Архитектурное интеграция проектирование рабочее изготовление проектирование 3
  • 4.
    На что менеджердолжен добавить денег? Стадия обнаружения Стоимость ошибки исправления Требования x1 (единица отсчета) Проектирование x5 Строительство x12 Проверки X40 Эксплуатация X250 Данные INCOSE 4
  • 5.
    Пример: требования к составлению плана Хотелка: есть один исполнитель и три работы от трёх разных заказчиков. Исполнитель делает одну работу один день, быстрее не может. Нужно помочь ему запланировать работы. Задача: спроектировать правильные требования к плану. 5
  • 6.
    Выбор способа составленияграфика работ Задача: три работы Управление процессами (очереди к станкам) Управление проектами (у одного человека много проектов) Критическая цепочка (TOC) общий буфер времени для группы операций Использованы материалы 6 Eli Schragenheim и Daniel P.Walsh
  • 7.
    Литература • Инженерия требований(структура метода) -- http://ailev.livejournal.com/769827.html • Метод инженерии требований (что делает инженер по требованиям) -- http://ailev.livejournal.com/810548.html • Второе поколение инженерии требований -- http://ailev.livejournal.com/754369.html, инженерия требований в MBSE -- http://ailev.livejournal.com/801113.html • Стандарты представления требований -- http://ailev.livejournal.com/900086.html • Требования – это программа, метод, интеракция -- http://ailev.livejournal.com/805721.html 7
  • 8.
    Требования • Заинтересованных сторон • Системные • Архитектурные • Рабочей документации • Требования – это описание (модель) системы + деонтическая модальность 8
  • 9.
    Описание метода: инженериятребований 1. Описание предметной области настраиваемость, надежность сторон (защитимость (устойчивость, -- разработка обоснования бизнес- (онтологии) требований безопасность, защищенность, модели 1.1 Назначение требований выживаемость), 2.4.2. Предвосхищение (visioning) -- бизнеса, 1.2. Требования как рабочие продукты (артефакты) бездефектность (доступность, системы, приложения, компоненты 1.2.1. Отличия рабочих продуктов требований от правильность, 2.4.3. Разработка требований архитектурных и проектных рабочих продуктов. предсказуемость, надежность- -- выявление требований Различение требований и ограничений. стабильность)), -- переиспользование требований 1.2.2. Виды формулирования требований и экономичность, сопрягаемость, -- анализ (моделирование) требований требования к ним эксплуатационные -- прототипирование требований -- уровень неформальности: текст -- характеристики, -- формулирование требований модели поддерживаемость, удобство в -- валидация требований -- используемая парадигма использовании (декларативные-процесссные) -- к данным -- информационные модели (в том 3. Обоснование выполнения требований -- к интерфейсам (requirements case) числе онтологии и метамодели для них - -- ограничения (включают все 3.1. Рабочие продукты (декларации, аргументы, - как минимум, глоссарий). виды требований) -- спецификации требований. Шаблоны свидетельства) информационных объектов. 2. Практики работы с требованиями 3.2. Практики обоснования -- концепции 2.1. Место практик в процессе -- набор практик обоснования 1.2.3 Виды использования -- в жизненном цикле -- жизненный цикл обоснования -- автономные требования -- среди других инженерных дисциплин 4. Команда, ее роли и требуемые -- требования как задания на испытания -- смежные практики: планировать усилия и test-driven development инженерии требований, готовить инфраструктуру квалификации управления требованиями и моделирования, -- источники требований -- требования как запросы на изменения -- разработка требований и практики issue tracking управлять данными и конфигурацией требований, улучшать практики и т.д. -- использование требований 1.2.4 Виды по источникам -- проверка требований -- требования и нужды 2.2 Стандартизация практик -- международные стандарты: ISO 15288 и ISO -- управление требованиями заинтересованных сторон -- результат анализа требований 12207, ISO 29148, IEEE 1233, для обоснования ISO 5. Инструменты инженерии требований 1.3. Классификация требований по их предмету 15026 -- автономные требования (типа IRqA etc.) 1.3.1. Контрактные, производные, -- частные стандарты: OPFRO, QUASAR -- требования-запросы (Dassault Systemes эксплуатационные, к обслуживанию, 2.3. Разнообразие практик в части природы системы Requirements/Engineering Portal) обеспечению, обучению, прекращению (*программоемкая+ система, модель бизнеса, предметная -- модели требований (моделеры, в том числе использования, организационные, программные, область, компонент, семейство продуктов, программное интегрируемые в САПР) аппаратные, оборудованию и т.д. -- разнообразие приложение, датацентр, завод и т.д.). Стандарты BABOK, типов требований, каждый из которых требует ITIL. своих рабочих продуктов, производящих и 2.4. Типовой набор практик использующих их практик и квалификации 2.4.1. бизнес-анализ инженеров требований -- анализ клиента 1.3.2. К методу разработки -- анализ конкурента 1.3.3. К продукту -- анализ рынка 1.3.3.1. Функциональные -- анализ технологии 1.3.3.2. Нефункциональные -- анализ пользователя -- качества (ценовая -- профилирование заинтересованных доступность, сторон 9 производительность, -- выявление целей заинтересованных
  • 10.
    Умения инженера потребованиям (подробнее: http://ailev.livejournal.com/810548.html) • Быть лидером (leadership) – упаковывать живых тушек с личными интересами в культурно-обусловленные позиции. Работает с людьми. • Быть социотехником – найти и извлечь все требования из человека в позиции. Работает с диаграммами целеполагания (early requirements engineering), т.е. грамотный по Alan Key. • Быть инженером – понимать архитектуру, разбираться в инженерных обоснованиях, читать чертежи... 10
  • 11.
    Три поколения инженерии •«Алхинженерия»: Неформальные тексты и эскизы • Современная инженерия: Диаграммы и чертежи («псевдокод») • Моделе-ориентированная (model-based) инженерия: формальные языки (вычисляемый «код») 11
  • 12.
    Стандарты представления требований • SysML • AP233 • RIF • ISO 29148 • ITU Z.151 (URN=GRL+UCM) и другие из GORE (i*, BMM, ArchiMate, MBRD, Planguage): выражение оппозиции цели-средства (ends – means) • ISO 15926 • ….. 12
  • 13.
    Требования и архитектура: сегоднятрудноразделимы http://ailev.livejournal.com/938820.html Dietz-The Generic System Development Process 13
  • 14.
  • 15.
    Спасибо за внимание АнатолийЛевенчук, Директор по исследованиям Русского отделения INCOSE http://ailev.ru ailev@asmp.msk.su Виктор Агроскин vic5784@gmail.com TechInvestLab.ru (495) 748-53-88 15