Документирование требований




                3
  Документирование и
организация требований




                  TEKAMA
    Software Engineering Professional Program © 2007.                         3-1
Документирование требований



Цели и задачи
• Документирование требований c помощью
  общепринятых шаблонов и форматов
• Рассмотрение различных способов
  документирования требований
• Обеспечение качества требований




                           TEKAMA
             Software Engineering Professional Program © 2007.                         3-2
Документирование требований



Фиксация требований

     Если этого нет на бумаге,
     значит этого не существует

                    Любимая аксиома Алана Купера
     (из книги «Психбольница в руках пациентов»)




                           TEKAMA
             Software Engineering Professional Program © 2007.                         3-3
Документирование требований



Вопросы для размышления
• Какие существуют стандартные шаблоны для
  документирования требований и зачем их
  использовать?
• Какие существуют способы описания требований
  помимо текстового?
• Как выполняется проверка правильности
  требований?



                           TEKAMA
             Software Engineering Professional Program © 2007.                         3-4
Документирование требований

Требования и соответствующие
документы


Требования пользователей                            варианты использования




Бизнес потребности                                документ о представлении/рамках проекта




Функциональные требования                          спецификация требований к ПО




                                   TEKAMA
                     Software Engineering Professional Program © 2007.                         3-5
Документирование требований



Организация требований – 1
• Следующий шаг после сбора требований – их
  документирование
  – Родственные группы – наборы сходных элементов
    • Элементы, связанные концептуально
    • Элементы, связанные общей тематикой (функция, средство, и
      т.п.)
  – Иерархии – упорядоченные зависимости
    • Нижестоящие элементы подчиняются вышестоящим
      элементам
    • Нижестоящие элементы развивают или дополнительно
      уточняют вышестоящие элементы

                              TEKAMA
                Software Engineering Professional Program © 2007.                         3-6
Документирование требований



Организация требований– 2
• Последовательность организации требований состоит из
  трех шагов
  – Поделить требования на родственные группы
  – Иерархически структурировать каждую группу
  – Распознать пробелы
• Пробелы и несогласованность могут потребовать
  дополнительного анализа и/или выявления
  дополнительных требований




                              TEKAMA
                Software Engineering Professional Program © 2007.                         3-7
Документирование требований




Группирование требований
• Чтобы сгруппировать требования
  – Просмотрите потребности или идеи
  – Идентифицируйте независимые темы – каждая тема
    определяет группу
  – Дайте каждой группе обычное словесное описание
    • Объясните потребность высшего уровня
    • Объясните специфические требования




                              TEKAMA
                Software Engineering Professional Program © 2007.                         3-8
Документирование требований



Иерархия требований
• Организуйте каждую группу иерархически
  – приоритет
  – схема именования
  – высший/низший уровни абстракции
  – определите ограничения
  – разработайте древовидную структуру
  – добавьте новую информацию, если необходимо




                              TEKAMA
                Software Engineering Professional Program © 2007.                         3-9
Документирование требований



Методы документирования требований
• Хорошо структурированные документы на
  обычном языке
• Графические модели, поясняющие
  трансформационные процессы, системные и
  переходные состояния, взаимосвязи данных,
  логические выводы, классы объектов и т.п.
• Формальные спецификации, определяющие
  требования с помощью математической логики

                           TEKAMA
             Software Engineering Professional Program © 2007.                        3-10
Документирование требований



Документы на основе требований – 1
• При разработке требований могут создаваться все
  или только некоторые из следующих документов
  – Состав и распределение работ
  – Спецификация требований
  – Концепция эксплуатации
  – Начальный план разработки ПО
  – Критерии принятия работ




                              TEKAMA
                Software Engineering Professional Program © 2007.                        3-11
Документирование требований



Документы на основе требований – 2
• Всегда ли надо создавать все эти документы?
    – Слишком много правил означает, что правил нет
    – Названия не важны – важна информация
• Необходимо ответить на следующие вопросы:

 Что должна делать система?                        Как система работает в операционной
 Какими качественными                               среде?
  характеристиками должна она                       Как вы будете создавать систему?
  обладать?                                         Что значит успешно выполнить работу?
 Какие существуют ограничения?
 Кто и за что несет ответственность?



                                      TEKAMA
                        Software Engineering Professional Program © 2007.                        3-12
Документирование требований



Состав и распределение работ
• Распределяет ответственности между
  заинтересованными сторонами проекта
  – Кто создает, что и когда
  – Кто тестирует, что, как и когда
  – Кто платит, за что и когда
  – Кто докладывает кому
  – Кто принимает/утверждает завершение работ
  – Кто, как и когда санкционирует изменения
  – И т.п.
                              TEKAMA
                Software Engineering Professional Program © 2007.                        3-13
Документирование требований



Спецификация требований
• Спецификация требований создается после анализа
  требований
  – Границы системы
     • Определите, что является внутренним и внешним для системы

  – Функции, которые система должна выполнять
  – Ограничения
     • Технические, временные, бюджетные

  – Характеристики качества
  – Распределение приоритетов


                                TEKAMA
                  Software Engineering Professional Program © 2007.                        3-14
Документирование требований



Концепция эксплуатации
• Концепция эксплуатации - описание того, как система
  должна работать или будет использоваться в контексте
  организации
  – какие функции будут использоваться и кем
  – как эти функции будут использоваться
  – в каких условиях эти функции будут использоваться
  – как будет происходить ввод/вывод данных
  – как система взаимодействует с другими системами
• Задает основу для разработки вариантов использования


                               TEKAMA
                 Software Engineering Professional Program © 2007.                        3-15
Документирование требований



Начальный план разработки ПО
• Это первая попытка распределить предполагаемые
  работы по времени
  – Основные обзоры
  – Основные документы
  – Точки принятия решений
  – Поставляемые продукты
  – Этапы работ и контрольные точки
  – Графики платежей
• Это высокоуровневый и приблизительный план


                              TEKAMA
                Software Engineering Professional Program © 2007.                        3-16
Документирование требований




Спецификация требований к ПО

Начало есть более чем половина всего.
                          Аристотель



                         TEKAMA
           Software Engineering Professional Program © 2007.                        3-17
Документирование требований



Основы
•   Фундамент всего последующего планирования, проектирования и
    написания кода проекта
•   Основание для тестирования системы и документации пользователя
•   Должна описывать как можно более полно поведение системы в
    различных условиях
•   Не должна содержать деталей проектирования, реализации,
    тестирования или управления проектом, за исключением ограничений
•   Должна быть максимально всесторонней и полной
•   Не должна быть написана сразу для всего продукта до начала
    разработки… но должна как минимум определять требования на
    ближайшую итерацию
•   Является исходным соглашением между заказчиком и разработчиком
    (должна быть утверждена заказчиком)

                                  TEKAMA
                    Software Engineering Professional Program © 2007.                        3-18
Документирование требований



Риски отсутствия спецификации
• Риск разного понимания требований
  разными участниками разработки;
• Опасность сделать ПО, не отвечающее
  потребностям заказчика или покупателя;
• Риск неоплаты усилий разработчиков;
• Неправильная оценка трудоемкости и
  сроков;
• Незащищенность проекта от смены
  разработчиков.
                            TEKAMA
              Software Engineering Professional Program © 2007.                        3-19
Документирование требований
Интерфейс пользователя и спецификация
требований к ПО
Включать или нет?

                                                          • Описывает решения (дизайн), а
                                                            не требования
   • Рассмотрение интерфейса                              • Может задержать создание
     пользователя (UI) вместе с                             основной спецификации
     прототипами делает требования                          требований к ПО
     реальными для разработчиков и                        • Компоновка экранов не заменяет
     пользователей                                          функциональных требований
   • Может помочь при                                     • Включение интерфейса
     планировании проекта и оценке                          пользователя в спецификацию
   • Может улучшить                                         требований к ПО может вести к
     коммуникацию                                           тому, что визуальная модель
                                                            будет определять требования,
                                                            что ведет к функциональным
                                                            пробелам
Компромисс – включайте дизайн, но не требуйте, чтобы реализация точно ему следовала

                                        TEKAMA
                          Software Engineering Professional Program © 2007.                        3-20
Документирование требований



Шаблоны спецификации требований ПО
•   Существуют различные шаблонов
•   Наиболее распространенные
    – IEEE 830-1998 “Рекомендованный IEEE метод создания
      спецификации требований к ПО”
    – ГОСТ 34.602-89
    – Применимы для большинства проектов, но имеет свои
      ограничения
    – Громоздкий
    – Нечеткие элементы
•   Шаблон – не догма
    – Изменяйте при желании в соответствии с природой и
      потребностями своего проекта
                                  TEKAMA
                    Software Engineering Professional Program © 2007.                        3-21
Документирование требований


      Шаблон спецификации требований к ПО
      IEEE 830-1998

1.     Введение
       1.1  Назначение                                              4.    Требования к внешнему интерфейсу
       1.2  Соглашения по документам                                      4.1  Интерфейсы пользователя
       1.3  Предполагаемая аудитория                                      4.2  Интерфейсы оборудования
       1.4  Границы проекта                                               4.3  Интерфейсы ПО
       1.5  Ссылки                                                        4.4  Интерфейсы передачи информации

8.     Общее описание                                               5.    Другие нефункциональные требования
       2.1  Обзор продукта                                                5.1  Требования к производительности
       2.2  Свойства продукта                                             5.2  Требования к безопасности
       2.3  Классы и характеристики пользователей                         5.3  Требования к защищенности
       2.4  Операционная среда                                            5.4  Атрибуты качества
       2.5  Ограничения дизайна и реализация
       2.6  Документация для пользователей                          14.   Остальные требования
       2.7  Предложения и зависимости
                                                                    Приложение А: Словарь терминов
17.    Свойства системы                                             Приложение Б: Аналитические модели
       3.x   Свойство системы Х                                     Приложение В: Список вопросов
       3.x.1 Описание и приоритет
       3.x.2 Последовательность «воздействие-реакция»
       3.x.3 Функциональные требования



                                                    TEKAMA
                                     Software Engineering Professional Program © 2007.                                3-22
Документирование требований

Техническое задание (ГОСТ 19.201-78.
ЕСПД)
Введение
Основания для разработки
Назначение
Требования к программе или программному изделию:
  - требования к функциональным характеристикам
  - требования к надежности и устойчивому функционированию.
  - условия эксплуатации.
  - требования к составу и параметрам технических средств
  - требования к информационной и программной совместимости
  - требования к маркировке и упаковке
  - требования к транспортированию и хранению.
Требования к программной документации
Технико-экономические показатели
Стадии и этапы разработки
Порядок контроля и приемки



                                           TEKAMA
                             Software Engineering Professional Program © 2007.                        3-23
Документирование требований



ГОСТ 19.201 vs. IEEE Std. 830
В техническом задании, в отличии от
спецификации требований:
  – программа – это материальный объект
  – упор на структуру документа
  – дается один вариант структуры документа
  – нет критериев качества требований
  – предлагается включать требования к проекту



                             TEKAMA
               Software Engineering Professional Program © 2007.                        3-24
Документирование требований

ГОСТ 34.602-89 Техническое задание на
создание автоматизированной системы
Общие положения
• ТЗ на АС является основным документом, определяющим требования
  и порядок создания автоматизированной системы, в соответствии с
  которым проводится разработка АС и ее приемка при вводе в
  действие.
• Изменения к ТЗ на АС оформляют дополнением или подписанным
  заказчиком и разработчиком протоколом. Дополнение или указанный
  протокол являются неотъемлемой частью ТЗ на АС. На титульном
  листе ТЗ на АС должна быть запись “Действует с ... ”.




                                 TEKAMA
                   Software Engineering Professional Program © 2007.                        3-25
Документирование требований



ГОСТ 34.602-89
•   Общие сведения
•   Назначение и цели создания (развития) системы
•   Характеристика объектов автоматизации
•   Требования к системе
    – требования к системе в целом
    – требования к функциям (задачам), выполняемым системой
    – требования к видам обеспечения
•   Состав и содержание работ по созданию системы
•   Порядок контроля и приемки системы
•   Требования к составу и содержанию работ по подготовке объекта
    автоматизации к вводу системы в действие
•   Требования к документированию
•   Источники разработки
                                     TEKAMA
                       Software Engineering Professional Program © 2007.                        3-26
Документирование требований



ГОСТ 34.602-89
Раздел “Требования к системе” состоит из следующих подразделов:
•   требования к системе в целом;
•   требования к функциям (задачам), выполняемым системой;
•   требования к видам обеспечения.
Раздел “Состав и содержание работ по созданию (развитию) системы” должен
   содержать перечень стадий и этапов работ по созданию системы в
   соответствии с ГОСТ 34.601, сроки их выполнения, перечень организаций —
   исполнителей работ, ссылки на документы, подтверждающие согласие этих
   организаций на участие в создании системы, или запись, определяющую
   ответственного (заказчик или разработчик) за проведение этих работ. В
   данном разделе также приводят:
•   перечень документов, по ГОСТ 34.201, предъявляемых по окончании
    соответствующих стадий и этапов работ;
•   вид и порядок проведения экспертиза технической документации (стадия,
    этап, объем проверяемой 'документации, организация-эксперт);
                                     TEKAMA
                       Software Engineering Professional Program © 2007.                        3-27
Документирование требований



ГОСТ 34.602-89
В разделе “Требования к документированию” приводят:
• согласованный разработчиком и Заказчиком системы перечень
  подлежащих разработке комплектов и видов документов,
  соответствующих требованиям ГОСТ 34.201;
В состав ТЗ на АС при наличии утвержденных методик включают
  приложения, содержащие:
• расчет ожидаемой эффективности системы;
• оценку научно-технического уровня системы.




                               TEKAMA
                 Software Engineering Professional Program © 2007.                        3-28
Документирование требований



ГОСТ 34.602-89
Утверждение ТЗ на АС осуществляют руководители предприятий
  (организаций) разработчика и заказчика системы.
Замечания по проекту ТЗ на АС должны быть представлены с
  техническим обоснованием.
Если при согласовании проекта ТЗ на АС возникли разногласия между
  разработчиком и заказчиком (или другими заинтересованными
  организациями), то составляется протокол разногласий
Копии утвержденного ТЗ на АС в 10-дневный срок после утверждения
  высылаются разработчиком ТЗ на АС участникам создания системы.




                                 TEKAMA
                   Software Engineering Professional Program © 2007.                        3-29
Документирование требований




Смутно пишут о том, что смутно себе
 представляют.
                                                Михаил Ломоносов




                          TEKAMA
            Software Engineering Professional Program © 2007.                        3-30
Документирование требований

Рекомендации по созданию хороших
спецификаций
•   Придерживайтесь следующих рекомендаций при создании документа
    требований:
    – Используйте полные предложения, с правильной грамматикой и правописанием
    – Предложения и абзацы должны быть краткими, ясными и контекстно-
      независимыми
    – Используйте действительный залог («система делает то-то»)
    – Последовательно используйте термины, как они определены в глоссарии
    – Нечеткие требования верхнего уровня следует детализировать таким образом,
      Чтоб они стали четкими и недвусмысленными
    – Используйте глаголы «будет» или «должна», но избегайте «следовало бы», «может
      быть», «можно было бы».
    – Определяйте, где возможно, конкретные действующие лица (<администратор...>)
    – Применяйте списки, таблицы, рисунки, графики для визуального представления
      информации
    – Выделяйте наиболее важные фрагменты информации (графические символы,
      цвета, пробелы, затенение, и т.п.)
    – Избегайте нечетких и субъективных терминов

                                      TEKAMA
                        Software Engineering Professional Program © 2007.                        3-31
Документирование требований



Понятно ли написана спецификация
• Спецификация требований к ПО предназначена для
  различной аудитории. Следуйте следующим
  рекомендациям, чтобы сделать ее понятной:
  – Помечайте единообразно все разделы, подразделы и отдельные
    требования
  – Используйте пробелы в достаточном количестве
  – Используйте согласованно визуальное выделение (полужирный, курсив,
    подчеркивание)
  – Создайте оглавление и индекс
  – Нумеруйте все таблицы и изображения, используйте заголовки
  – По возможности используете гиперссылки между разделами
  – Используйте подходящие шаблоны

                                 TEKAMA
                   Software Engineering Professional Program © 2007.                        3-32
Документирование требований



Избегайте неоднозначных терминов

Неоднозначные термины                Способы их улучшения
Приемлемый, адекватный               • Определите, что понимается под приемлемостью,
                                     и как система это может оценить
Между                               • Определите, включены ли конечные точки в диапазон
Гибкий                              • Опишите способы изменения системы в ответ на изменения
                                      условий
Необязательно                       • Укажите, кто делает выбор: система, пользователь или разработчик
Несколько                           • Укажите сколько или задайте мин/макс границы диапазона
Эффективный                        • Определите, насколько эффективно система использует ресурсы

Удобный для пользователя            • Опишите характеристики системы, которые обеспечивают
                                      ожидания пользователя в отношении использования
Быстрый, моментальный               • Укажите минимальную приемлемую скорость системы при
                                      выполнении определенного действия
Надежная                           • Определите, как система обрабатывает исключения и
Улучшенный, лучше,                   непредвиденные операции
                                    •Определите насколько лучше или быстрее стало
быстрее, превосходящий              соответствующее улучшение
                                  TEKAMA
                    Software Engineering Professional Program © 2007.                              3-33
Документирование требований




Создание хороших требований


                  Упражнение



                     TEKAMA
       Software Engineering Professional Program © 2007.                        3-34
Документирование требований




Визуальное моделирование




                   TEKAMA
     Software Engineering Professional Program © 2007.                        3-35
Документирование требований



    Одно изображение стоит 1024 слова
•   Никакое представление требований в одном виде не дает полного
    понимания
    – Сочетание визуального и текстового способов представления помогает
      обнаружить противоречия, неоднозначности и пропуски
    – В идеале различные типы преставлений должны создавать разные люди
    – Диаграммы передают определенные вещи более эффективно, чем текст
    – Изображения помогают преодолеть языковые барьеры и терминологические
      разногласия
•   Визуальное моделирование будет полезно для исследования и
    уточнения требований, а также для проектирования программных
    решений
•   При моделировании сосредоточьтесь на наиболее сложных и
    рискованных частях системы (безопасность, защита, критически
    важные компоненты будут хорошими кандидатами)

                                        TEKAMA
                          Software Engineering Professional Program © 2007.                        3-36
Документирование требований

Выбор подходящей аналитической модели
От пользователя к изображению



 Тип слова         Примеры                         Возможная аналитическая модель

                Люди, организации,              Действующие лица (диаграммы вариантов
Существительное программные системы,             использования)
                элементы данных или             Объекты или их атрибуты (диаграммы «сущность-
                объекты                          связь»)
                                                Классы или их атрибуты (диаграммы классов)


                Действия, задачи, которые       Процессы (диаграммы потока данных )
Глагол          пользователь может              Варианты использования (диаграммы вариантов
                выполнить, или события,           использования)
                которые могут произойти         Взаимосвязи (диаграммы «сущность-связь»)
                                                Переходы (диаграммы перехода состояний)
                                                Действия (диаграммы действий)


                                       TEKAMA
                         Software Engineering Professional Program © 2007.                        3-37
Документирование требований



       Аналитические модели
       Пример

•    Химик может разместить заказ на химикат. Заказ может быть выполнен
     доставкой контейнера с химикатом со склада химикатов или размещением
     заказа у внешнего поставщика.

                       Складское
                       Складское
                       помещение
                       помещение


                          1                                        1       Запрос
                                                                           Запрос
                                                   выполняет              химиката
                                                                          химиката

    Часть диаграммы      хранит               M


    «сущность-связь»
                          M



                        Контейнер
                       Контейнер             M                     1
                            с
                            с                      содержит                Химикат
                                                                           Химикат
                       химикатами
                       химикатами

                                            TEKAMA
                              Software Engineering Professional Program © 2007.                           3-38
Документирование требований


 Аналитические модели
Пример
Частичная диаграмма
перехода состояний                      Система принимает
                                      действительный запрос

                 Запрос
             выполняется на
                                                                       Прямоугольники –
                 складе                      Принят                     возможные состояния
                                                                       Стрелки – переходы
                                      Покупатель размещает              состояния
                                       заказ у поставщика              Текстовые метки – События
               Заказ получен от                                         или условия вызывающие
                 поставщика
                                           Размещен                     переходы

                                       Поставщик помещает
                                      заказ в невыполненные
                      Заказ получен
                            от
                       поставщика       Заказ ожидает
       Выполнен                          выполнения

                                      TEKAMA
                       Software Engineering Professional Program © 2007.                            3-39
Документирование требований




Текстовое – визуальное
     упражнение
Превратите следующий параграф в
       визуальную модель



                    TEKAMA
      Software Engineering Professional Program © 2007.                        3-40
Документирование требований




Проверка правильности
     требований
   Посмотрим видеоклип




                  TEKAMA
    Software Engineering Professional Program © 2007.                        3-41
Документирование требований



    ‘V’-модель разработки ПО


Пользовательские
                                                                                       Приемочные испытания
требования; планирование
приемочных испытаний
Функциональные требования;                                                        Тестирование системы
Планирование тестирования
системы
 Архитектура; планирование                                                Проверка целостности
 проверки целостности                           Время


  Дизайн; планирование тестирования                                 Тестирование элементов
  элементов


                                                Написание кода

                                            TEKAMA
                              Software Engineering Professional Program © 2007.                               3-42
Документирование требований

Необходимость проверки правильности
требований
• Немного статистики (основана на современных
  исследованиях):
  – Каждый доллар, истраченный на предотвращение
    появления дефектов, снизит затраты на исправление на
    сумму от 3 до 10 долларов
  – Каждый час, затраченный на проверку требований, сохранит
    10 часов при последующей доработке
• Проверяйте постоянно, процесс никогда не прекращается




                              TEKAMA
                Software Engineering Professional Program © 2007.                        3-43
Документирование требований

Польза от проверки правильности
требований
• На шаге проверки правильности удостоверяются что:
  – Спецификация требований к ПО правильно описывает системные
    характеристики и возможности, которые отвечают потребностям
    пользователей
  – Требования к ПО правильно отражают бизнес-правила, системные
    требования, и др.
  – Требования полны и высококачественны
  – Все представления требований согласованы друг с другом
  – Требования обеспечивают хорошую основу для проектирования и
    реализации.



                                TEKAMA
                  Software Engineering Professional Program © 2007.                        3-44
Документирование требований



Рецензирование требований
•   Две основные категории
    – Неформальные рецензии (сбор соответствующих
      неструктурированных отзывов)
       •   Проверка коллегой
       •   Коллективная проверка
       •   Критическая проверка
    – Формальные рецензии (сбор отзывов в соответствии
      с хорошо регламентированным процессом)
       •   Экспертиза



                               TEKAMA
                 Software Engineering Professional Program © 2007.                        3-45
Документирование требований



Скорость экспертизы
 Количество недостатков на




                             Много



                             Умеренно
 страницу




                             Мало




                                          Маленькая       Средняя         Большая
                                           Скорость экспертизы (Страниц / Час)

                                                      TEKAMA
                                        Software Engineering Professional Program © 2007.                        3-46
Документирование требований



Правила проведения экспертизы
•   1-2 страницы в час считается оптимальной скоростью для наиболее
    эффективного обнаружения дефектов
•   2-4 страницы в час является практической рекомендацией
•   Корректируйте норму экспертизы, основываясь на:
     – Объеме текста на каждой странице
     – Сложности спецификации
     – Рисках, связанных с пропуском ошибок
     – Критичность материала экспертизы для успешного завершения проекта
     – Квалификации человека, который написал спецификацию требований для ПО
•   Начинайте экспертизу когда спецификация требований к ПО будет выполнена
    на 10-15%.
•   Если не хватает времени, используйте анализ рисков для определения с чего
    начать экспертизу


                                      TEKAMA
                        Software Engineering Professional Program © 2007.                        3-47
Документирование требований


Проблемы рецензирования требований
...и как их решать
•   Большой объем документов
    – Чтобы избежать этого, рецензируйте постоянного небольшие фрагменты
    – Сначала рассматривайте наиболее рискованные элементы
    – Попросите людей рассмотреть различные части документов
    – Оцените необходимость полной проверки на основе похожих документов
•   Большая команда экспертов
    – ориентируйте команду на поиск ошибок, а не политику
    – избегайте дублирования групп уже представленных пользователей
    – создавайте небольшие команды и сравнивайте результаты
•   Географическое разделение экспертов
    – используйте доступные технологии (видео, телефон, общий доступ к файлам)
    – остерегайтесь 25% сокращения эффективности ... но помните также о сокращении
      расходов



                                      TEKAMA
                        Software Engineering Professional Program © 2007.                        3-48
Документирование требований



Тестирование требований
• Тестирование «черного ящика» (функциональное)
   – Как ведет себя система в различных ситуациях
• Можно генерировать варианты тестирования из вариантов
  использования или требований пользователей
• Нужно тестировать все, начиная от текстовых требований, и до
  аналитических моделей и прототипов
• Тестирование должно охватывать
   – Нормальное выполнение
   – Отклоняющееся от нормы, но разумное использование функции
   – Отклоняющееся от нормы, и неразумное использование функции




                                 TEKAMA
                   Software Engineering Professional Program © 2007.                        3-49
Документирование требований



Заключение
• Спецификация требований к ПО является основой
  для последующего планирования, проектирования и
  программирования и должна быть создана в
  соответствии с определенными принципами
• Существует множество способов описания
  функциональных требований, которые могут
  облегчить понимание требований
• По окончании создания требований, они должны
  быть проверены на правильность и утверждены

                            TEKAMA
              Software Engineering Professional Program © 2007.                        3-50
Документирование требований



Рекомендуемая литература
• Practical Software Requirements, Benjamin Kovitz,
  1998
• Software Inspections, Tom Gilb and Dorothy Graham
  1993
• Handbook of Walkthroughs, Inspections, and
  Technical Reviews: Evaluating Programs, Projects,
  and Products, by Daniel P. Freedman and Gerald M.
  Weinberg, 1990




                                 TEKAMA
                   Software Engineering Professional Program © 2007.                        3-51
Документирование требований



Вопросы?




                     TEKAMA
       Software Engineering Professional Program © 2007.                        3-52

More Related Content

PPT
L2 requirements
PPT
L5 requirements
PPT
L1 requirements
PPT
Sep reqm-lec3
PPT
Sep reqm-lec1
PPT
L4 requirements
PPT
Sep reqm-lec2
PPTX
Оценка аутсорсинговых проектов
L2 requirements
L5 requirements
L1 requirements
Sep reqm-lec3
Sep reqm-lec1
L4 requirements
Sep reqm-lec2
Оценка аутсорсинговых проектов

What's hot (20)

PPT
Требования к по
PPTX
Cтадии проекта и состав технической документации
PDF
Инжиниринг требований
PPTX
Нефункциональные требования, Наталья Желнова
PPTX
DUMP-2013 Управление разработкой - Метрики в проектах по разработке нового пр...
PPT
тестирование программного обеспечения
PPTX
Управление релизами в системе управления ИТ
PDF
Nfr and quality-models
PPTX
Системная архитектура вместо требований
PPTX
лаф2013
PPT
Управление изменениями и релизами: один или два процесса?
PPTX
Презентация к докладу на Secon.ru
PDF
Requirements in Agile
PDF
Бизнес и системный анализ весна 2013 лекция 6
PPTX
Analyst Days 2014
PDF
Роль аналитика в негибких методологиях разработки
PDF
MS ALM 2013 Review
PPTX
Нефункциональные требования
PPT
Управление изменениями. Заметки на полях
Требования к по
Cтадии проекта и состав технической документации
Инжиниринг требований
Нефункциональные требования, Наталья Желнова
DUMP-2013 Управление разработкой - Метрики в проектах по разработке нового пр...
тестирование программного обеспечения
Управление релизами в системе управления ИТ
Nfr and quality-models
Системная архитектура вместо требований
лаф2013
Управление изменениями и релизами: один или два процесса?
Презентация к докладу на Secon.ru
Requirements in Agile
Бизнес и системный анализ весна 2013 лекция 6
Analyst Days 2014
Роль аналитика в негибких методологиях разработки
MS ALM 2013 Review
Нефункциональные требования
Управление изменениями. Заметки на полях
Ad

Viewers also liked (20)

PPT
Семинары и тренинги по делопроизводству, документообороту и архиву предприятия
PPT
креативное мышление
PPTX
оценка трудозатрат
PPTX
Cовременные командные принципы
PPTX
PMBOK Extension for Software Projects (in Russian)
PPTX
Презентация семинаров по деловой переписке с клиентами
PPTX
Корпоративное обучение от "Профи-Карьера"
PPT
De Rol van de Registrar in het Museum
PDF
Профессиональная разработка требований. Карта онлайн курса
PDF
CDI and Weld
PPTX
Промышленная разработка ПО. Лекция 3. Особенности работы программиста. Часть...
PPT
Yyyyyy yyyy 1-8
PDF
Тимур Лукин - Архитектура и проектирование ПО
PPT
Системное мышление
PPT
Плохой против хорошего консультанта
PPT
Нотации оформления требований
PPTX
Промышленная разработка ПО. Лекция 8. Особенности работы руководителя проекто...
DOC
акт приемочных испытаний
DOC
общее описание системы
DOC
отчет о проведении опытной эксплуатации
Семинары и тренинги по делопроизводству, документообороту и архиву предприятия
креативное мышление
оценка трудозатрат
Cовременные командные принципы
PMBOK Extension for Software Projects (in Russian)
Презентация семинаров по деловой переписке с клиентами
Корпоративное обучение от "Профи-Карьера"
De Rol van de Registrar in het Museum
Профессиональная разработка требований. Карта онлайн курса
CDI and Weld
Промышленная разработка ПО. Лекция 3. Особенности работы программиста. Часть...
Yyyyyy yyyy 1-8
Тимур Лукин - Архитектура и проектирование ПО
Системное мышление
Плохой против хорошего консультанта
Нотации оформления требований
Промышленная разработка ПО. Лекция 8. Особенности работы руководителя проекто...
акт приемочных испытаний
общее описание системы
отчет о проведении опытной эксплуатации
Ad

Similar to L3 requirements (20)

PPT
Проектирование_и_архитектура_ПС_2022_L05s.ppt
PPTX
Промышленная разработка ПО. Лекция 6. Особенности работы системного аналитика
PPT
Автоматизация бизнес-процессов, электронного документооборота и архивного хра...
PPTX
Сергей Смирнов (Altair Engineering Inc.) | Организация работы распределенной ...
PPT
Сергей Ревко
PPTX
Никита Ремизов - Введение в разработку ТЗ
PPTX
Тестирование требований
PDF
Бизнес и системный анализ весна 2013 лекция 7
PDF
Проектирование программных систем. Занятие 4
PPT
SAM за 7 шагов. Рецепт для небольших компаний
PPT
SAM за 7 шагов. Рецепт для небольших компаний
PPTX
Q-PROCESSING
PPT
Критерии выбора системы электронного документооборота
PDF
Завершение проектов
PDF
Optimizing Platform Performance Ru
PPTX
Нефункциональные требования.pptx
PPT
Test design print
PPT
Организация тестирования производительности по Sweat
PPT
О формировании требований к продуктам EMC
PPT
Организация тестирования производительности по SWEAT
Проектирование_и_архитектура_ПС_2022_L05s.ppt
Промышленная разработка ПО. Лекция 6. Особенности работы системного аналитика
Автоматизация бизнес-процессов, электронного документооборота и архивного хра...
Сергей Смирнов (Altair Engineering Inc.) | Организация работы распределенной ...
Сергей Ревко
Никита Ремизов - Введение в разработку ТЗ
Тестирование требований
Бизнес и системный анализ весна 2013 лекция 7
Проектирование программных систем. Занятие 4
SAM за 7 шагов. Рецепт для небольших компаний
SAM за 7 шагов. Рецепт для небольших компаний
Q-PROCESSING
Критерии выбора системы электронного документооборота
Завершение проектов
Optimizing Platform Performance Ru
Нефункциональные требования.pptx
Test design print
Организация тестирования производительности по Sweat
О формировании требований к продуктам EMC
Организация тестирования производительности по SWEAT

More from Natalia Zhelnova (20)

PDF
Моделирование бизнес-процессов.pdf
PDF
Введение в моделирование бизнес процессов
PPTX
Киев, BA Con 2017
PDF
Введение в моделирование бизнес процессов
PDF
требования к кандидату
PDF
должностные обязанности
PDF
критерии отбора аналитиков
PPTX
Моделирование бизнес-процессов (Analyst Days 2016, СПб)
DOCX
варианты использования учетной системы
PDF
варианты использования системы учета посещаемости и успеваемости
DOCX
пример описание процесса учета посещаемости и успеваемости студентов R
PDF
диаграмма процесса Учет успеваемости и посещаемости
PPTX
Обучение IT-аналитиков
PPTX
It global meetup_01
PPTX
It global meetup_02a
DOC
шаблон технико коммерческого предложения
DOC
функциональная спецификация
DOC
техническое задание (гост 34.602 89)
DOC
стратегия тестирования
DOC
руководство системного администратора на ас
Моделирование бизнес-процессов.pdf
Введение в моделирование бизнес процессов
Киев, BA Con 2017
Введение в моделирование бизнес процессов
требования к кандидату
должностные обязанности
критерии отбора аналитиков
Моделирование бизнес-процессов (Analyst Days 2016, СПб)
варианты использования учетной системы
варианты использования системы учета посещаемости и успеваемости
пример описание процесса учета посещаемости и успеваемости студентов R
диаграмма процесса Учет успеваемости и посещаемости
Обучение IT-аналитиков
It global meetup_01
It global meetup_02a
шаблон технико коммерческого предложения
функциональная спецификация
техническое задание (гост 34.602 89)
стратегия тестирования
руководство системного администратора на ас

L3 requirements

  • 1. Документирование требований 3 Документирование и организация требований TEKAMA Software Engineering Professional Program © 2007. 3-1
  • 2. Документирование требований Цели и задачи • Документирование требований c помощью общепринятых шаблонов и форматов • Рассмотрение различных способов документирования требований • Обеспечение качества требований TEKAMA Software Engineering Professional Program © 2007. 3-2
  • 3. Документирование требований Фиксация требований Если этого нет на бумаге, значит этого не существует Любимая аксиома Алана Купера (из книги «Психбольница в руках пациентов») TEKAMA Software Engineering Professional Program © 2007. 3-3
  • 4. Документирование требований Вопросы для размышления • Какие существуют стандартные шаблоны для документирования требований и зачем их использовать? • Какие существуют способы описания требований помимо текстового? • Как выполняется проверка правильности требований? TEKAMA Software Engineering Professional Program © 2007. 3-4
  • 5. Документирование требований Требования и соответствующие документы Требования пользователей варианты использования Бизнес потребности документ о представлении/рамках проекта Функциональные требования спецификация требований к ПО TEKAMA Software Engineering Professional Program © 2007. 3-5
  • 6. Документирование требований Организация требований – 1 • Следующий шаг после сбора требований – их документирование – Родственные группы – наборы сходных элементов • Элементы, связанные концептуально • Элементы, связанные общей тематикой (функция, средство, и т.п.) – Иерархии – упорядоченные зависимости • Нижестоящие элементы подчиняются вышестоящим элементам • Нижестоящие элементы развивают или дополнительно уточняют вышестоящие элементы TEKAMA Software Engineering Professional Program © 2007. 3-6
  • 7. Документирование требований Организация требований– 2 • Последовательность организации требований состоит из трех шагов – Поделить требования на родственные группы – Иерархически структурировать каждую группу – Распознать пробелы • Пробелы и несогласованность могут потребовать дополнительного анализа и/или выявления дополнительных требований TEKAMA Software Engineering Professional Program © 2007. 3-7
  • 8. Документирование требований Группирование требований • Чтобы сгруппировать требования – Просмотрите потребности или идеи – Идентифицируйте независимые темы – каждая тема определяет группу – Дайте каждой группе обычное словесное описание • Объясните потребность высшего уровня • Объясните специфические требования TEKAMA Software Engineering Professional Program © 2007. 3-8
  • 9. Документирование требований Иерархия требований • Организуйте каждую группу иерархически – приоритет – схема именования – высший/низший уровни абстракции – определите ограничения – разработайте древовидную структуру – добавьте новую информацию, если необходимо TEKAMA Software Engineering Professional Program © 2007. 3-9
  • 10. Документирование требований Методы документирования требований • Хорошо структурированные документы на обычном языке • Графические модели, поясняющие трансформационные процессы, системные и переходные состояния, взаимосвязи данных, логические выводы, классы объектов и т.п. • Формальные спецификации, определяющие требования с помощью математической логики TEKAMA Software Engineering Professional Program © 2007. 3-10
  • 11. Документирование требований Документы на основе требований – 1 • При разработке требований могут создаваться все или только некоторые из следующих документов – Состав и распределение работ – Спецификация требований – Концепция эксплуатации – Начальный план разработки ПО – Критерии принятия работ TEKAMA Software Engineering Professional Program © 2007. 3-11
  • 12. Документирование требований Документы на основе требований – 2 • Всегда ли надо создавать все эти документы? – Слишком много правил означает, что правил нет – Названия не важны – важна информация • Необходимо ответить на следующие вопросы:  Что должна делать система?  Как система работает в операционной  Какими качественными среде? характеристиками должна она  Как вы будете создавать систему? обладать?  Что значит успешно выполнить работу?  Какие существуют ограничения?  Кто и за что несет ответственность? TEKAMA Software Engineering Professional Program © 2007. 3-12
  • 13. Документирование требований Состав и распределение работ • Распределяет ответственности между заинтересованными сторонами проекта – Кто создает, что и когда – Кто тестирует, что, как и когда – Кто платит, за что и когда – Кто докладывает кому – Кто принимает/утверждает завершение работ – Кто, как и когда санкционирует изменения – И т.п. TEKAMA Software Engineering Professional Program © 2007. 3-13
  • 14. Документирование требований Спецификация требований • Спецификация требований создается после анализа требований – Границы системы • Определите, что является внутренним и внешним для системы – Функции, которые система должна выполнять – Ограничения • Технические, временные, бюджетные – Характеристики качества – Распределение приоритетов TEKAMA Software Engineering Professional Program © 2007. 3-14
  • 15. Документирование требований Концепция эксплуатации • Концепция эксплуатации - описание того, как система должна работать или будет использоваться в контексте организации – какие функции будут использоваться и кем – как эти функции будут использоваться – в каких условиях эти функции будут использоваться – как будет происходить ввод/вывод данных – как система взаимодействует с другими системами • Задает основу для разработки вариантов использования TEKAMA Software Engineering Professional Program © 2007. 3-15
  • 16. Документирование требований Начальный план разработки ПО • Это первая попытка распределить предполагаемые работы по времени – Основные обзоры – Основные документы – Точки принятия решений – Поставляемые продукты – Этапы работ и контрольные точки – Графики платежей • Это высокоуровневый и приблизительный план TEKAMA Software Engineering Professional Program © 2007. 3-16
  • 17. Документирование требований Спецификация требований к ПО Начало есть более чем половина всего. Аристотель TEKAMA Software Engineering Professional Program © 2007. 3-17
  • 18. Документирование требований Основы • Фундамент всего последующего планирования, проектирования и написания кода проекта • Основание для тестирования системы и документации пользователя • Должна описывать как можно более полно поведение системы в различных условиях • Не должна содержать деталей проектирования, реализации, тестирования или управления проектом, за исключением ограничений • Должна быть максимально всесторонней и полной • Не должна быть написана сразу для всего продукта до начала разработки… но должна как минимум определять требования на ближайшую итерацию • Является исходным соглашением между заказчиком и разработчиком (должна быть утверждена заказчиком) TEKAMA Software Engineering Professional Program © 2007. 3-18
  • 19. Документирование требований Риски отсутствия спецификации • Риск разного понимания требований разными участниками разработки; • Опасность сделать ПО, не отвечающее потребностям заказчика или покупателя; • Риск неоплаты усилий разработчиков; • Неправильная оценка трудоемкости и сроков; • Незащищенность проекта от смены разработчиков. TEKAMA Software Engineering Professional Program © 2007. 3-19
  • 20. Документирование требований Интерфейс пользователя и спецификация требований к ПО Включать или нет? • Описывает решения (дизайн), а не требования • Рассмотрение интерфейса • Может задержать создание пользователя (UI) вместе с основной спецификации прототипами делает требования требований к ПО реальными для разработчиков и • Компоновка экранов не заменяет пользователей функциональных требований • Может помочь при • Включение интерфейса планировании проекта и оценке пользователя в спецификацию • Может улучшить требований к ПО может вести к коммуникацию тому, что визуальная модель будет определять требования, что ведет к функциональным пробелам Компромисс – включайте дизайн, но не требуйте, чтобы реализация точно ему следовала TEKAMA Software Engineering Professional Program © 2007. 3-20
  • 21. Документирование требований Шаблоны спецификации требований ПО • Существуют различные шаблонов • Наиболее распространенные – IEEE 830-1998 “Рекомендованный IEEE метод создания спецификации требований к ПО” – ГОСТ 34.602-89 – Применимы для большинства проектов, но имеет свои ограничения – Громоздкий – Нечеткие элементы • Шаблон – не догма – Изменяйте при желании в соответствии с природой и потребностями своего проекта TEKAMA Software Engineering Professional Program © 2007. 3-21
  • 22. Документирование требований Шаблон спецификации требований к ПО IEEE 830-1998 1. Введение 1.1 Назначение 4. Требования к внешнему интерфейсу 1.2 Соглашения по документам 4.1 Интерфейсы пользователя 1.3 Предполагаемая аудитория 4.2 Интерфейсы оборудования 1.4 Границы проекта 4.3 Интерфейсы ПО 1.5 Ссылки 4.4 Интерфейсы передачи информации 8. Общее описание 5. Другие нефункциональные требования 2.1 Обзор продукта 5.1 Требования к производительности 2.2 Свойства продукта 5.2 Требования к безопасности 2.3 Классы и характеристики пользователей 5.3 Требования к защищенности 2.4 Операционная среда 5.4 Атрибуты качества 2.5 Ограничения дизайна и реализация 2.6 Документация для пользователей 14. Остальные требования 2.7 Предложения и зависимости Приложение А: Словарь терминов 17. Свойства системы Приложение Б: Аналитические модели 3.x Свойство системы Х Приложение В: Список вопросов 3.x.1 Описание и приоритет 3.x.2 Последовательность «воздействие-реакция» 3.x.3 Функциональные требования TEKAMA Software Engineering Professional Program © 2007. 3-22
  • 23. Документирование требований Техническое задание (ГОСТ 19.201-78. ЕСПД) Введение Основания для разработки Назначение Требования к программе или программному изделию: - требования к функциональным характеристикам - требования к надежности и устойчивому функционированию. - условия эксплуатации. - требования к составу и параметрам технических средств - требования к информационной и программной совместимости - требования к маркировке и упаковке - требования к транспортированию и хранению. Требования к программной документации Технико-экономические показатели Стадии и этапы разработки Порядок контроля и приемки TEKAMA Software Engineering Professional Program © 2007. 3-23
  • 24. Документирование требований ГОСТ 19.201 vs. IEEE Std. 830 В техническом задании, в отличии от спецификации требований: – программа – это материальный объект – упор на структуру документа – дается один вариант структуры документа – нет критериев качества требований – предлагается включать требования к проекту TEKAMA Software Engineering Professional Program © 2007. 3-24
  • 25. Документирование требований ГОСТ 34.602-89 Техническое задание на создание автоматизированной системы Общие положения • ТЗ на АС является основным документом, определяющим требования и порядок создания автоматизированной системы, в соответствии с которым проводится разработка АС и ее приемка при вводе в действие. • Изменения к ТЗ на АС оформляют дополнением или подписанным заказчиком и разработчиком протоколом. Дополнение или указанный протокол являются неотъемлемой частью ТЗ на АС. На титульном листе ТЗ на АС должна быть запись “Действует с ... ”. TEKAMA Software Engineering Professional Program © 2007. 3-25
  • 26. Документирование требований ГОСТ 34.602-89 • Общие сведения • Назначение и цели создания (развития) системы • Характеристика объектов автоматизации • Требования к системе – требования к системе в целом – требования к функциям (задачам), выполняемым системой – требования к видам обеспечения • Состав и содержание работ по созданию системы • Порядок контроля и приемки системы • Требования к составу и содержанию работ по подготовке объекта автоматизации к вводу системы в действие • Требования к документированию • Источники разработки TEKAMA Software Engineering Professional Program © 2007. 3-26
  • 27. Документирование требований ГОСТ 34.602-89 Раздел “Требования к системе” состоит из следующих подразделов: • требования к системе в целом; • требования к функциям (задачам), выполняемым системой; • требования к видам обеспечения. Раздел “Состав и содержание работ по созданию (развитию) системы” должен содержать перечень стадий и этапов работ по созданию системы в соответствии с ГОСТ 34.601, сроки их выполнения, перечень организаций — исполнителей работ, ссылки на документы, подтверждающие согласие этих организаций на участие в создании системы, или запись, определяющую ответственного (заказчик или разработчик) за проведение этих работ. В данном разделе также приводят: • перечень документов, по ГОСТ 34.201, предъявляемых по окончании соответствующих стадий и этапов работ; • вид и порядок проведения экспертиза технической документации (стадия, этап, объем проверяемой 'документации, организация-эксперт); TEKAMA Software Engineering Professional Program © 2007. 3-27
  • 28. Документирование требований ГОСТ 34.602-89 В разделе “Требования к документированию” приводят: • согласованный разработчиком и Заказчиком системы перечень подлежащих разработке комплектов и видов документов, соответствующих требованиям ГОСТ 34.201; В состав ТЗ на АС при наличии утвержденных методик включают приложения, содержащие: • расчет ожидаемой эффективности системы; • оценку научно-технического уровня системы. TEKAMA Software Engineering Professional Program © 2007. 3-28
  • 29. Документирование требований ГОСТ 34.602-89 Утверждение ТЗ на АС осуществляют руководители предприятий (организаций) разработчика и заказчика системы. Замечания по проекту ТЗ на АС должны быть представлены с техническим обоснованием. Если при согласовании проекта ТЗ на АС возникли разногласия между разработчиком и заказчиком (или другими заинтересованными организациями), то составляется протокол разногласий Копии утвержденного ТЗ на АС в 10-дневный срок после утверждения высылаются разработчиком ТЗ на АС участникам создания системы. TEKAMA Software Engineering Professional Program © 2007. 3-29
  • 30. Документирование требований Смутно пишут о том, что смутно себе представляют. Михаил Ломоносов TEKAMA Software Engineering Professional Program © 2007. 3-30
  • 31. Документирование требований Рекомендации по созданию хороших спецификаций • Придерживайтесь следующих рекомендаций при создании документа требований: – Используйте полные предложения, с правильной грамматикой и правописанием – Предложения и абзацы должны быть краткими, ясными и контекстно- независимыми – Используйте действительный залог («система делает то-то») – Последовательно используйте термины, как они определены в глоссарии – Нечеткие требования верхнего уровня следует детализировать таким образом, Чтоб они стали четкими и недвусмысленными – Используйте глаголы «будет» или «должна», но избегайте «следовало бы», «может быть», «можно было бы». – Определяйте, где возможно, конкретные действующие лица (<администратор...>) – Применяйте списки, таблицы, рисунки, графики для визуального представления информации – Выделяйте наиболее важные фрагменты информации (графические символы, цвета, пробелы, затенение, и т.п.) – Избегайте нечетких и субъективных терминов TEKAMA Software Engineering Professional Program © 2007. 3-31
  • 32. Документирование требований Понятно ли написана спецификация • Спецификация требований к ПО предназначена для различной аудитории. Следуйте следующим рекомендациям, чтобы сделать ее понятной: – Помечайте единообразно все разделы, подразделы и отдельные требования – Используйте пробелы в достаточном количестве – Используйте согласованно визуальное выделение (полужирный, курсив, подчеркивание) – Создайте оглавление и индекс – Нумеруйте все таблицы и изображения, используйте заголовки – По возможности используете гиперссылки между разделами – Используйте подходящие шаблоны TEKAMA Software Engineering Professional Program © 2007. 3-32
  • 33. Документирование требований Избегайте неоднозначных терминов Неоднозначные термины Способы их улучшения Приемлемый, адекватный • Определите, что понимается под приемлемостью, и как система это может оценить Между • Определите, включены ли конечные точки в диапазон Гибкий • Опишите способы изменения системы в ответ на изменения условий Необязательно • Укажите, кто делает выбор: система, пользователь или разработчик Несколько • Укажите сколько или задайте мин/макс границы диапазона Эффективный • Определите, насколько эффективно система использует ресурсы Удобный для пользователя • Опишите характеристики системы, которые обеспечивают ожидания пользователя в отношении использования Быстрый, моментальный • Укажите минимальную приемлемую скорость системы при выполнении определенного действия Надежная • Определите, как система обрабатывает исключения и Улучшенный, лучше, непредвиденные операции •Определите насколько лучше или быстрее стало быстрее, превосходящий соответствующее улучшение TEKAMA Software Engineering Professional Program © 2007. 3-33
  • 34. Документирование требований Создание хороших требований Упражнение TEKAMA Software Engineering Professional Program © 2007. 3-34
  • 36. Документирование требований Одно изображение стоит 1024 слова • Никакое представление требований в одном виде не дает полного понимания – Сочетание визуального и текстового способов представления помогает обнаружить противоречия, неоднозначности и пропуски – В идеале различные типы преставлений должны создавать разные люди – Диаграммы передают определенные вещи более эффективно, чем текст – Изображения помогают преодолеть языковые барьеры и терминологические разногласия • Визуальное моделирование будет полезно для исследования и уточнения требований, а также для проектирования программных решений • При моделировании сосредоточьтесь на наиболее сложных и рискованных частях системы (безопасность, защита, критически важные компоненты будут хорошими кандидатами) TEKAMA Software Engineering Professional Program © 2007. 3-36
  • 37. Документирование требований Выбор подходящей аналитической модели От пользователя к изображению Тип слова Примеры Возможная аналитическая модель Люди, организации,  Действующие лица (диаграммы вариантов Существительное программные системы, использования) элементы данных или  Объекты или их атрибуты (диаграммы «сущность- объекты связь»)  Классы или их атрибуты (диаграммы классов) Действия, задачи, которые  Процессы (диаграммы потока данных ) Глагол пользователь может  Варианты использования (диаграммы вариантов выполнить, или события, использования) которые могут произойти  Взаимосвязи (диаграммы «сущность-связь»)  Переходы (диаграммы перехода состояний)  Действия (диаграммы действий) TEKAMA Software Engineering Professional Program © 2007. 3-37
  • 38. Документирование требований Аналитические модели Пример • Химик может разместить заказ на химикат. Заказ может быть выполнен доставкой контейнера с химикатом со склада химикатов или размещением заказа у внешнего поставщика. Складское Складское помещение помещение 1 1 Запрос Запрос выполняет химиката химиката Часть диаграммы хранит M «сущность-связь» M Контейнер Контейнер M 1 с с содержит Химикат Химикат химикатами химикатами TEKAMA Software Engineering Professional Program © 2007. 3-38
  • 39. Документирование требований Аналитические модели Пример Частичная диаграмма перехода состояний Система принимает действительный запрос Запрос выполняется на  Прямоугольники – складе Принят возможные состояния  Стрелки – переходы Покупатель размещает состояния заказ у поставщика  Текстовые метки – События Заказ получен от или условия вызывающие поставщика Размещен переходы Поставщик помещает заказ в невыполненные Заказ получен от поставщика Заказ ожидает Выполнен выполнения TEKAMA Software Engineering Professional Program © 2007. 3-39
  • 40. Документирование требований Текстовое – визуальное упражнение Превратите следующий параграф в визуальную модель TEKAMA Software Engineering Professional Program © 2007. 3-40
  • 41. Документирование требований Проверка правильности требований Посмотрим видеоклип TEKAMA Software Engineering Professional Program © 2007. 3-41
  • 42. Документирование требований ‘V’-модель разработки ПО Пользовательские Приемочные испытания требования; планирование приемочных испытаний Функциональные требования; Тестирование системы Планирование тестирования системы Архитектура; планирование Проверка целостности проверки целостности Время Дизайн; планирование тестирования Тестирование элементов элементов Написание кода TEKAMA Software Engineering Professional Program © 2007. 3-42
  • 43. Документирование требований Необходимость проверки правильности требований • Немного статистики (основана на современных исследованиях): – Каждый доллар, истраченный на предотвращение появления дефектов, снизит затраты на исправление на сумму от 3 до 10 долларов – Каждый час, затраченный на проверку требований, сохранит 10 часов при последующей доработке • Проверяйте постоянно, процесс никогда не прекращается TEKAMA Software Engineering Professional Program © 2007. 3-43
  • 44. Документирование требований Польза от проверки правильности требований • На шаге проверки правильности удостоверяются что: – Спецификация требований к ПО правильно описывает системные характеристики и возможности, которые отвечают потребностям пользователей – Требования к ПО правильно отражают бизнес-правила, системные требования, и др. – Требования полны и высококачественны – Все представления требований согласованы друг с другом – Требования обеспечивают хорошую основу для проектирования и реализации. TEKAMA Software Engineering Professional Program © 2007. 3-44
  • 45. Документирование требований Рецензирование требований • Две основные категории – Неформальные рецензии (сбор соответствующих неструктурированных отзывов) • Проверка коллегой • Коллективная проверка • Критическая проверка – Формальные рецензии (сбор отзывов в соответствии с хорошо регламентированным процессом) • Экспертиза TEKAMA Software Engineering Professional Program © 2007. 3-45
  • 46. Документирование требований Скорость экспертизы Количество недостатков на Много Умеренно страницу Мало Маленькая Средняя Большая Скорость экспертизы (Страниц / Час) TEKAMA Software Engineering Professional Program © 2007. 3-46
  • 47. Документирование требований Правила проведения экспертизы • 1-2 страницы в час считается оптимальной скоростью для наиболее эффективного обнаружения дефектов • 2-4 страницы в час является практической рекомендацией • Корректируйте норму экспертизы, основываясь на: – Объеме текста на каждой странице – Сложности спецификации – Рисках, связанных с пропуском ошибок – Критичность материала экспертизы для успешного завершения проекта – Квалификации человека, который написал спецификацию требований для ПО • Начинайте экспертизу когда спецификация требований к ПО будет выполнена на 10-15%. • Если не хватает времени, используйте анализ рисков для определения с чего начать экспертизу TEKAMA Software Engineering Professional Program © 2007. 3-47
  • 48. Документирование требований Проблемы рецензирования требований ...и как их решать • Большой объем документов – Чтобы избежать этого, рецензируйте постоянного небольшие фрагменты – Сначала рассматривайте наиболее рискованные элементы – Попросите людей рассмотреть различные части документов – Оцените необходимость полной проверки на основе похожих документов • Большая команда экспертов – ориентируйте команду на поиск ошибок, а не политику – избегайте дублирования групп уже представленных пользователей – создавайте небольшие команды и сравнивайте результаты • Географическое разделение экспертов – используйте доступные технологии (видео, телефон, общий доступ к файлам) – остерегайтесь 25% сокращения эффективности ... но помните также о сокращении расходов TEKAMA Software Engineering Professional Program © 2007. 3-48
  • 49. Документирование требований Тестирование требований • Тестирование «черного ящика» (функциональное) – Как ведет себя система в различных ситуациях • Можно генерировать варианты тестирования из вариантов использования или требований пользователей • Нужно тестировать все, начиная от текстовых требований, и до аналитических моделей и прототипов • Тестирование должно охватывать – Нормальное выполнение – Отклоняющееся от нормы, но разумное использование функции – Отклоняющееся от нормы, и неразумное использование функции TEKAMA Software Engineering Professional Program © 2007. 3-49
  • 50. Документирование требований Заключение • Спецификация требований к ПО является основой для последующего планирования, проектирования и программирования и должна быть создана в соответствии с определенными принципами • Существует множество способов описания функциональных требований, которые могут облегчить понимание требований • По окончании создания требований, они должны быть проверены на правильность и утверждены TEKAMA Software Engineering Professional Program © 2007. 3-50
  • 51. Документирование требований Рекомендуемая литература • Practical Software Requirements, Benjamin Kovitz, 1998 • Software Inspections, Tom Gilb and Dorothy Graham 1993 • Handbook of Walkthroughs, Inspections, and Technical Reviews: Evaluating Programs, Projects, and Products, by Daniel P. Freedman and Gerald M. Weinberg, 1990 TEKAMA Software Engineering Professional Program © 2007. 3-51
  • 52. Документирование требований Вопросы? TEKAMA Software Engineering Professional Program © 2007. 3-52

Editor's Notes

  • #2: Requirements Documentation &amp; Organization
  • #4: Основной закон процесса определения требований: требования должны быть документированы !!! Результатом разработки требований является документ (возможно электронный), с детальной информацией о том, что должно выполнять создаваемое ПО и какими свойствами оно должно обладать. Такой документ обычно называют &amp;quot;Спецификация требований к ПО&amp;quot; (software requirements specification, SRS ), &amp;quot;Функциональная спецификация&amp;quot;, &amp;quot;Спецификация продукта&amp;quot; и т.п. Далее &amp;quot;Спецификация требований к ПО&amp;quot; будет упоминаться просто как Спецификация или СТПО. Суть не в названии, а в содержании. В идеале, содержащейся в нем информации должно быть достаточно для выполнения конструирования ПО без использования других источников требований.
  • #8: Вопрос на понимание: как обычно кто организует требования? Как они организуются по ГОСТ? В Agile и т.п.?
  • #14: Сказать что это скорее задача менеджера для решения которой требуется работа аналитика !!! Фактически это контракт + устав проекта
  • #15: Это не контекст, а границы системы
  • #16: Концепция использования
  • #19: ГИЛ: Должна быть включена информация необходимая для работы в текущей итерации
  • #20: Отсутствие СТПО или плохое ее качество: - увеличивает риск разного понимания требований участниками разработки; - создает большую опасность разработки ПО, не отвечающего потребностям заказчика или покупателя, которые могут не согласиться оплатить усилия разработчиков - затрудняет оценку трудоемкости и сроков разработки; - может больно ударить по проекту при смене разработчиков, увеличив трудозатраты (стоимость и время) на разработку. В отсутствии СТПО ее роль выполняют образы человеческой памяти со всеми их особенностями: расплывчатость, ненадежность, неустойчивость, подверженность эмоциям. Эти образы слабо соотносятся с точными и формальными конструкциями программ. При выборе того, какую информацию включать в СТПО всегда нужно помнить, что очевидно одному человеку не обязательно &amp;quot;очевидно&amp;quot; другому. Восприятие информации зависит от личного опыта, который у всех различен. Здесь лучшее правило: «очевидно то, что можно увидеть очами».
  • #21: Упомянуть что иногда это делается в «спекулятивных» целях
  • #22: Добавил ГОСТ
  • #23: Это структура в соответствии с стандартом предыдущего слайда, добавить аналогичный по ГОСТ
  • #24: Техническое задание в соответствии с «ГОСТ 19.201-78. ЕСПД. Техническое задание. Требования к содержанию и оформлению» должно содержать следующие разделы: Введение : краткая характеристика области применения программы или программного изделия и объекта, в котором используют программу или программное изделие. Основания для разработки: документы, на основании которых ведется разработка. Назначение разработки: функциональное и эксплуатационное назначение программы или программного изделия. Требования к программе или программному изделию : требования к функциональным характеристикам; состав функций, организация входных и выходных данных, временные характеристики и т. п. требования к надежности и устойчивому функционированию, контроль входной и выходной информации, время восстановления после отказа и т.п. условия эксплуатации: температура и влажность окружающего воздуха, вид обслуживания, необходимое количество и квалификация персонала. требования к составу и параметрам технических средств: состав технических средств с указанием их основных технических характеристик. требования к информационной и программной совместимости: к информационным структурам на входе и выходе, методам решения, исходным кодам, языкам программирования и используемым программным средствам, защита информации и программ. требования к маркировке и упаковке: маркировка программного изделия, варианты и способы упаковки. требования к транспортированию и хранению: условия транспортирования, места и условия хранения, складирования, сроки хранения в разных условиях. специальные требования. Требования к программной документации : предварительный состав программной документации и, если есть, специальные требования к ней. Технико-экономические показатели: ориентировочная экономическая эффективность, предполагаемая годовая потребность, экономические преимущества разработки по сравнению с лучшими отечественными и зарубежными образцами или аналогами Стадии и этапы разработки: этапы и содержание работ (программные документы, которые должны быть разработаны, согласованы и утверждены), а также, как правило, сроки разработки и исполнители. Порядок контроля и приемки: виды испытаний и общие требования к приемке работы. Приложения: перечень научно-исследовательских и других работ, обосновывающих разработку, схемы алгоритмов, таблицы, описания, обоснования, расчеты и другие документы, которые могут быть использованы при разработке, другие источники разработки
  • #25: В отечественной практике разработки ПО в качестве документа, определяющего требования к ПО используется «Техническое задание» (ТЗ). Содержание этого документа часто довольно свободно трактуется. Однако в разработках, выполняемых за счет бюджетных средств, требуется буквальное соблюдение соответствующего стандарта ГОСТ 19.201. Этот стандарт имеет ряд особенностей, которые могут снизить эффективность процесса определения требований. И этому есть причины: 1. ГОСТ 19.201 рассматривает программу не как информационный, а как материальный объект (в условия эксплуатации предлагается указывать температуру и влажность окружающего воздуха, варианты и способы упаковки, условия транспортирования, места и условия хранения, складирования, сроки хранения в разных условиях), 2. ГОСТ 19.201 основное внимание уделяет структуре документа, а не на его содержанию (содержание разделов описано не достаточно детально) 3. ГОСТ 19.201 предлагает только один вариант структуры документа, а не метод ее формирования как IEEE Std . 830. ГОСТ 19.201 не содержит критериев качества подготовки документа; 5. ГОСТ 19.201 помимо требований к продукту предлагает указывать требования к проекту (стадии и этапы разработки, содержание работ, сроки разработки и исполнители, виды испытаний и общие требования к приемке работы). ЛОВУШКА. В серии стандартов ГОСТ ЕСПД «Спецификация» - это программный документ с перечнем документов, компонент и комплексов в составе готового программного изделия (по сути это список комплектующих программных материалов).
  • #34: Pg 195-196
  • #35: Разбить на группы, доклады и критика Продукт должен выдавать сообщения о состоянии через регулярные интервалы не реже, чем каждые 60 секунд 2. Продукт должен переключатся между отражением и скрытием на экране печатных символов мгновенно
  • #36: Visual Modeling
  • #37: 1024 – с потолка
  • #38: STD – statechart
  • #39: Pg 216
  • #40: Pg 221
  • #41: Разбить на группы, каждая из групп – свою визуальную нотацию Пользователь может искать документ в базе данных. Запрос может начинаться с начальной поисковой страницы или со страницы предыдущего поиска, произведенного пользователем. Информация может быть возвращена пользователю в форме либо нового сайта, который является результатом поиска либо списком потенциальных ссылок.
  • #42: Testing Your Requirements.mpg ?? Обсудить кто был в видеоклипе
  • #43: Пг. 285
  • #44: Все таки критерии завершения верификации
  • #46: Reviewing Requirements Two main categories Informal reviews (collecting unstructured ad-hoc feedback) A peer deskcheck A passaround A walkthrough Formal reviews (collecting feedback following a well defined process) Inspections
  • #47: Чем медленнее проверяется, тем большее количество дефектов (в% отношении) можно выявить
  • #49: Откуда 25? Задал Гилу
  • #50: Тестирование – единственные способ количественно измерить прогресс в реализации требований
  • #51: The Software Requirements Specification is the basis for your future planning, design and coding and as such should be written with specific guidelines to accommodate that Multiple ways of description of functional requirements exist so as to facilitate a clearer understanding of the requirements Once the requirements are written, they have to be verified and validated
  • #52: Литература