СИСТЕМНЫЙ ПОДХОД К ФОРМИРОВАНИЮ
ТРЕБОВАНИЙ К ПРОГРАММНЫМ ПРОДУКТАМ
           Гвоздев Владимир Ефимович, д.т.н., профессор

                                     Project Management Institute
                                          Московское отделение
                                               Уфимский филиал
                24 февраля 2011 г.
ОСНОВНЫЕ ВОПРОСЫ

  Структура процесса формирования требований
  V-модель жизненного цикла программного продукта
  Архитектура требований
  Архитектура процесса преобразования требований
   Требования к профессиональной квалификации
специалистов, разрабатывающих требования к
программным продуктам
ИНЖЕНЕРИЯ ТРЕБОВАНИЙ

ИНЖЕНЕРИЯ ТРЕБОВАНИЙ (Requirements engineering) –
ключевая проблема в области создания сложных систем,
компонентом которых является программная система

Составные части инженерии требований:
  извлечение требований
  специфицирование требований
  валидация требований
ЦЕЛИ ИССЛЕДОВАНИЯ
       ТРЕБОВАНИЙ

определение границ системы
достижение взаимопонимания между разными
сообществами, интересы которых затрагивает
появление системы
оценка стабильности / изменчивости требований
ранжирование требований
ПОСЛЕДСТВИЯ НЕДОСТАТОЧНОЙ
  ИЗУЧЕННОСТИ ТРЕБОВАНИЙ

досрочное прекращение проекта создания системы

создание системы с неудовлетворительными/
неприемлемыми свойствами

чрезмерно высокая стоимость эксплуатации
и сопровождения

частое внесение изменений в систему
ЧТО ТАКОЕ
       ТРЕБОВАНИЯ?                      Technical Report
                                        CMU/SEI-92-TR-012 ESC-
1. Условия или возможности,             TR-92-012
                                        Issues in Requirements
   необходимые пользователю             Elicitation
   для решения проблемы или             Michael G. Christel
   достижения цели.                       Kyo C. Kang


2. Условия или возможности,
   которыми должна обладать
   или которые должна предоставлять система/компонент
   системы для удовлетворения требованиям контракта,
   стандарта, спецификации или иного формального документа.

3. Документальное представление условий или возможностей,
   оговоренных в (1) и (2).
СТРУКТУРА ТРЕБОВАНИЙ
      По Sonthwell                 По Asworth

1. Функциональные          1.   Функции («что»)
   требования              2.   Данные («что»)
2. Нефункциональные        3.   Нефункциональные
   требования                   требования («насколько
   а) к преобразованиям/        хорошо»)
      надежности           4.   Цели («какие потребности
   б) к интерфейсам             пользователей
                                покрываются»)
   в) ограничения на
                           5.   Ограничения на
      конструкцию
                                конструкцию и способ
                                реализации (например,
                                использовать COBOL)
СТРУКТУРА ПРОЦЕССА ФОРМИРОВАНИЯ ТРЕБОВАНИЙ
                                      •) выявление потребностей
                                      •)определение внешней среды
                Обоснование           •) анализ влияния ПП на существующие бизнес-процессы
          целесообразности создания   •) выявление новых возможностей
                                      •) цена изменений: ближняя и отдаленная
           программного продукта
                                           Грэг Брю: Свинья вовлечена в процесс
                                           приготовления яичницы с беконом,
                 Выявление                   а курица в нем участвует
              правообладателей
                                                Примеры технологий:
                                                •) интервьюирование
                                                •) прототипирование
             Выделение проблем                  •) «Пять почему?» (Toyota)
                                                •) JAD»
                                                ...
                                            Основные свойства
                                            требований:
                                            •) ясность
         Формирование требований            •) трассируемость
                                            •) полнота
                                            •) сбалансированность
                                            •) реализуемость
                                            •) не обсуждаемые
         Классификация требований           •) обязательные (key)
                                            •) необходимые (mandatory)
                                            •) дополнительные (optional)
                                            •) желательные (desirable)
         Представление требований
                                                                    Халл Э., Джексон К.
Время    с использованием шаблонов                                  Дик Дж.
V-МОДЕЛЬ ЖИЗНЕННОГО ЦИКЛА
  ПРОГРАММНОГО ПРОДУКТА
АРХИТЕКТУРА ТРЕБОВАНИЙ
АРХИТЕКТУРА ПРОЦЕССА ПРЕОБРАЗОВАНИЯ
             ТРЕБОВАНИЙ
ТРЕБОВАНИЯ К ПРОФЕССИОНАЛЬНОЙ
          КВАЛИФИКАЦИИ СПЕЦИАЛИСТОВ,
          РАЗРАБАТЫВАЮЩИХ ТРЕБОВАНИЯ

   Умение понять проблему, которую предстоит решать с помощью
программного продукта
   Умение выделить сформулировать основные факторы, определяющие
успех решения проблемы
   Умение определить основные функциональные требования к
программному продукту
   Умение определять общесистемные ограничения и ресурсы, которые
необходимо выделить для производства программного продукта
   Умение выделить и ранжировать приоритеты требований к
программному продукту для различных заинтересованных лиц
   Умение оценить реализуемость требований с учетом бюджета и сроков
проекта
   Умение выбрать организационную структуру специалистов,
реализующих проект
Благодарим за внимание

Гвоздев Владимир Ефимович
Зав. кафедрой автоматизации проектирования информационных систем
УГАТУ
д.т.н., профессор


Project Management Institute
Московское отделение
Уфимский филиал
                       www.pmi.ru
                       ufa@pmi.ru

PMIufa 2011-02-24

  • 1.
    СИСТЕМНЫЙ ПОДХОД КФОРМИРОВАНИЮ ТРЕБОВАНИЙ К ПРОГРАММНЫМ ПРОДУКТАМ Гвоздев Владимир Ефимович, д.т.н., профессор Project Management Institute Московское отделение Уфимский филиал 24 февраля 2011 г.
  • 2.
    ОСНОВНЫЕ ВОПРОСЫ Структура процесса формирования требований V-модель жизненного цикла программного продукта Архитектура требований Архитектура процесса преобразования требований Требования к профессиональной квалификации специалистов, разрабатывающих требования к программным продуктам
  • 3.
    ИНЖЕНЕРИЯ ТРЕБОВАНИЙ ИНЖЕНЕРИЯ ТРЕБОВАНИЙ(Requirements engineering) – ключевая проблема в области создания сложных систем, компонентом которых является программная система Составные части инженерии требований: извлечение требований специфицирование требований валидация требований
  • 4.
    ЦЕЛИ ИССЛЕДОВАНИЯ ТРЕБОВАНИЙ определение границ системы достижение взаимопонимания между разными сообществами, интересы которых затрагивает появление системы оценка стабильности / изменчивости требований ранжирование требований
  • 5.
    ПОСЛЕДСТВИЯ НЕДОСТАТОЧНОЙ ИЗУЧЕННОСТИ ТРЕБОВАНИЙ досрочное прекращение проекта создания системы создание системы с неудовлетворительными/ неприемлемыми свойствами чрезмерно высокая стоимость эксплуатации и сопровождения частое внесение изменений в систему
  • 6.
    ЧТО ТАКОЕ ТРЕБОВАНИЯ? Technical Report CMU/SEI-92-TR-012 ESC- 1. Условия или возможности, TR-92-012 Issues in Requirements необходимые пользователю Elicitation для решения проблемы или Michael G. Christel достижения цели. Kyo C. Kang 2. Условия или возможности, которыми должна обладать или которые должна предоставлять система/компонент системы для удовлетворения требованиям контракта, стандарта, спецификации или иного формального документа. 3. Документальное представление условий или возможностей, оговоренных в (1) и (2).
  • 7.
    СТРУКТУРА ТРЕБОВАНИЙ По Sonthwell По Asworth 1. Функциональные 1. Функции («что») требования 2. Данные («что») 2. Нефункциональные 3. Нефункциональные требования требования («насколько а) к преобразованиям/ хорошо») надежности 4. Цели («какие потребности б) к интерфейсам пользователей покрываются») в) ограничения на 5. Ограничения на конструкцию конструкцию и способ реализации (например, использовать COBOL)
  • 8.
    СТРУКТУРА ПРОЦЕССА ФОРМИРОВАНИЯТРЕБОВАНИЙ •) выявление потребностей •)определение внешней среды Обоснование •) анализ влияния ПП на существующие бизнес-процессы целесообразности создания •) выявление новых возможностей •) цена изменений: ближняя и отдаленная программного продукта Грэг Брю: Свинья вовлечена в процесс приготовления яичницы с беконом, Выявление а курица в нем участвует правообладателей Примеры технологий: •) интервьюирование •) прототипирование Выделение проблем •) «Пять почему?» (Toyota) •) JAD» ... Основные свойства требований: •) ясность Формирование требований •) трассируемость •) полнота •) сбалансированность •) реализуемость •) не обсуждаемые Классификация требований •) обязательные (key) •) необходимые (mandatory) •) дополнительные (optional) •) желательные (desirable) Представление требований Халл Э., Джексон К. Время с использованием шаблонов Дик Дж.
  • 9.
    V-МОДЕЛЬ ЖИЗНЕННОГО ЦИКЛА ПРОГРАММНОГО ПРОДУКТА
  • 10.
  • 11.
  • 12.
    ТРЕБОВАНИЯ К ПРОФЕССИОНАЛЬНОЙ КВАЛИФИКАЦИИ СПЕЦИАЛИСТОВ, РАЗРАБАТЫВАЮЩИХ ТРЕБОВАНИЯ Умение понять проблему, которую предстоит решать с помощью программного продукта Умение выделить сформулировать основные факторы, определяющие успех решения проблемы Умение определить основные функциональные требования к программному продукту Умение определять общесистемные ограничения и ресурсы, которые необходимо выделить для производства программного продукта Умение выделить и ранжировать приоритеты требований к программному продукту для различных заинтересованных лиц Умение оценить реализуемость требований с учетом бюджета и сроков проекта Умение выбрать организационную структуру специалистов, реализующих проект
  • 13.
    Благодарим за внимание ГвоздевВладимир Ефимович Зав. кафедрой автоматизации проектирования информационных систем УГАТУ д.т.н., профессор Project Management Institute Московское отделение Уфимский филиал www.pmi.ru ufa@pmi.ru