Статья
Версия для печати
Обсудить на форуме
Перевод с англ.: (C) Dale, 16.05.2011 — ??.??.2011.

Рекомендации IEEE по разработке требований к программному обеспечению


Окончание.
Часть 1.
Часть 2.

Приложения

Приложение A. Образцы SRS

A.1. Образец Раздела 3 SRS, организованный по режимам: версия 1

  • 3. Специфические требования
    • 3.1. Внешние требования к интерфейсу
      • 3.1.1. Пользовательские интерфейсы
      • 3.1.2. Аппаратные интерфейсы
      • 3.1.3. Программные интерфейсы
      • 3.1.4. Коммуникационные интерфейсы
    • 3.2. Функциональные требования
      • 3.2.1. Режим 1
        • 3.2.1.1. Функциональное требование 1.1
        • .
        • .
        • 3.2.1.n. Функциональное требование 1.n
      • 3.2.2. Режим 2
      • .
      • .
      • 3.2.m. Режим m
        • 3.2.m.1. Функциональное требование m.1
        • .
        • .
        • 3.2.m.n. Функциональное требование m.n
    • 3.3. Требования к производительности
    • 3.4. Проектные ограничения
    • 3.5. Атрибуты программной системы
    • 3.6. Прочие требования

A.2. Образец Раздела 3 SRS, организованный по режимам: версия 2

  • 3. Специфические требования
    • 3.1. Функциональные требования
      • 3.1.1. Режим 1
        • 3.1.1.1. Внешние интерфейсы
          • 3.1.1.1.1. Пользовательские интерфейсы
          • 3.1.1.1.2. Аппаратные интерфейсы
          • 3.1.1.1.3. Программные интерфейсы
          • 3.1.1.1.4. Коммуникационные интерфейсы
        • 3.1.1.2. Функциональные требования
          • 3.1.1.2.1. Функциональное требование 1
          • .
          • .
          • 3.1.1.2.n. Функциональное требование n
      • 3.1.2. Режим 2
      • .
      • .
      • 3.1.m. Режим m
    • 3.2. Проектные ограничения
    • 3.3. Атрибуты программной системы
    • 3.4. Прочие требования

A.3. Образец Раздела 3 SRS, организованный по классам пользователей

  • 3. Специфические требования
    • 3.1. Внешние требования к интерфейсу
      • 3.1.1. Пользовательские интерфейсы
      • 3.1.2. Аппаратные интерфейсы
      • 3.1.3. Программные интерфейсы
      • 3.1.4. Коммуникационные интерфейсы
    • 3.2. Функциональные требования
      • 3.2.1. Класс пользователей 1
        • 3.2.1.1. Функциональное требование 1.1
        • .
        • .
        • 3.2.1.n. Функциональное требование 1.n
      • 3.2.2. Класс пользователей 2
      • .
      • .
      • 3.2.m. Класс пользователей m
        • 3.2.m.1. Функциональное требование m.1
        • .
        • .
        • 3.2.m.n. Функциональное требование m.n
    • 3.3. Требования к производительности
    • 3.4. Проектные ограничения
    • 3.5. Атрибуты программной системы
    • 3.6. Прочие требования

A.4. Образец Раздела 3 SRS, организованный по объектам

  • 3. Специфические требования
    • 3.1. Внешние требования к интерфейсу
      • 3.1.1. Пользовательские интерфейсы
      • 3.1.2. Аппаратные интерфейсы
      • 3.1.3. Программные интерфейсы
      • 3.1.4. Коммуникационные интерфейсы
    • 3.2. Классы/объекты
      • 3.2.1. Класс/объект 1
        • 3.2.1.1. Атрибуты (непосредственные или унаследованные)
          • 3.2.1.1.1. Атрибут 1
          • .
          • .
          • 3.2.1.1.n. Атрибут n
        • 3.2.1.2. Функции (сервисы и методы, непосредственные или унаследованные)
          • 3.2.1.2.1. Функциональное требование 1.1
          • .
          • .
          • 3.2.1.2.m. Функциональное требование 1.m
        • 3.2.1.3. Сообщения (принимаемые или отправляемые)
      • 3.2.2. Класс/объект 2
      • .
      • .
      • 3.2.p. Класс/объект p
    • 3.3. Требования к производительности
    • 3.4. Проектные ограничения
    • 3.5. Атрибуты программной системы
    • 3.6. Прочие требования

A.5. Образец Раздела 3 SRS, организованный по Функциональным возможностям

  • 3. Специфические требования
    • 3.1. Внешние требования к интерфейсу
      • 3.1.1. Пользовательские интерфейсы
      • 3.1.2. Аппаратные интерфейсы
      • 3.1.3. Программные интерфейсы
      • 3.1.4. Коммуникационные интерфейсы
    • 3.2. Функциональные возможности системы
      • 3.2.1. Системная функция 1
        • 3.2.1.1. Введение (назначение функции)
        • 3.2.1.2. Последовательность «запрос/ответ»
        • 3.2.1.3. Связанные функциональные требования
          • 3.2.1.3.1. Функциональное требование 1
          • .
          • .
          • 3.2.1.3.n. Функциональное требование n
      • 3.2.2. Системная функция 2
      • .
      • .
      • 3.2.m. Системная функция m
              .
        .
    • 3.3. Требования к производительности
    • 3.4. Проектные ограничения
    • 3.5. Атрибуты программной системы
    • 3.6. Прочие требования

A.6. Образец Раздела 3 SRS, организованный по внешним воздействиям

  • 3. Специфические требования
    • 3.1. Внешние требования к интерфейсу
      • 3.1.1. Пользовательские интерфейсы
      • 3.1.2. Аппаратные интерфейсы
      • 3.1.3. Программные интерфейсы
      • 3.1.4. Коммуникационные интерфейсы
    • 3.2. Функциональные требования
      • 3.2.1. Воздействие 1
        • 3.2.1.1. Функциональное требование 1.1
        • .
        • .
        • 3.2.1.n. Функциональное требование 1.n
      • 3.2.2. Воздействие 2
      • .
      • .
      • 3.2.m. Воздействие m
        • 3.2.m.1. Функциональное требование m.1
        • .
        • .
        • 3.2.m.n. Функциональное требование m.n
    • 3.3. Требования к производительности
    • 3.4. Проектные ограничения
    • 3.5. Атрибуты программной системы
    • 3.6. Прочие требования

A.7. Образец Раздела 3 SRS, организованный по функциональной иерархии

  • 3. Специфические требования
    • 3.1. Внешние требования к интерфейсу
      • 3.1.1. Пользовательские интерфейсы
      • 3.1.2. Аппаратные интерфейсы
      • 3.1.3. Программные интерфейсы
      • 3.1.4. Коммуникационные интерфейсы
    • 3.2. Функциональные требования
      • 3.2.1. Информационные потоки
        • 3.2.1.1. Диаграмма потоков данных 1
          • 3.2.1.1.1. Сущности
          • 3.2.1.1.2. Процессы
          • 3.2.1.1.3. Топология
        • 3.2.1.2. Диаграмма потоков данных 2
          • 3.2.1.2.1. Сущности
          • 3.2.1.2.2. Процессы
          • 3.2.1.2.3. Топология
        • .
        • .
        • 3.2.1.n. Диаграмма потоков данных n
          • 3.2.1.n.1. Сущности
          • 3.2.1.n.2. Процессы
          • 3.2.1.n.3. Топология
      • 3.2.2. Описание процессов
        • 3.2.2.1. Процесс 1
          • 3.2.2.1.1. Входные данные
          • 3.2.2.1.2. Алгоритм или формула обработки
          • 3.2.1.1.3. Результирующие данные
        • 3.2.2.2. Процесс 2
          • 3.2.2.2.1. Входные данные
          • 3.2.2.2.2. Алгоритм или формула обработки
          • 3.2.2.2.3. Результирующие данные
        • .
        • .
        • 3.2.2.m. Процесс m
          • 3.2.2.m.1. Входные данные
          • 3.2.2.m.2. Алгоритм или формула обработки
          • 3.2.2.m.3. Результирующие данные
      • 3.2.3. Спецификации структур данных
        • 3.2.3.1. Структура 1
          • 3.2.3.1.1. Тип записи
          • 3.2.1.1.2. Поля записи
        • 3.2.3.2. Структура 2
          • 3.2.3.2.1. Тип записи
          • 3.2.1.2.2. Поля записи
        • .
        • .
        • 3.2.3.p. Структура p
          • 3.2.3.p.1. Тип записи
          • 3.2.1.p.2. Поля записи
      • 3.2.4. Словарь данных
        • 3.2.4.1. Элемент данных 1
          • 3.2.4.1.1. Имя
          • 3.2.4.1.2. Представление
          • 3.2.4.1.3. Единицы/Форматы
          • 3.2.4.1.4. Точность
          • 3.2.4.1.5. Диапазон
        • 3.2.4.2. Элемент данных 2
          • 3.2.4.2.1. Имя
          • 3.2.4.2.2. Представление
          • 3.2.4.2.3. Единицы/Форматы
          • 3.2.4.2.4. Точность
          • 3.2.4.2.5. Диапазон
        • .
        • .
        • 3.2.4.q. Элемент данных q
          • 3.2.4.q.1. Имя
          • 3.2.4.q.2. Представление
          • 3.2.4.q.3. Единицы/Форматы
          • 3.2.4.q.4. Точность
          • 3.2.4.q.5. Диапазон
    • 3.3. Требования к производительности
    • 3.4. Проектные ограничения
    • 3.5. Атрибуты программной системы
    • 3.6. Прочие требования

A.8. Образец Раздела 3 SRS, демонстрирующий множественную организацию

  • 3. Специфические требования
    • 3.1. Внешние требования к интерфейсу
      • 3.1.1. Пользовательские интерфейсы
      • 3.1.2. Аппаратные интерфейсы
      • 3.1.3. Программные интерфейсы
      • 3.1.4. Коммуникационные интерфейсы
    • 3.2. Функциональные требования
      • 3.2.1. Класс пользователей 1
        • 3.2.1.1. Функция 1.1
          • 3.2.1.1.1. Введение (назначение функции)
          • 3.2.1.1.2. Последовательность «запрос/ответ»
          • 3.2.1.1.3. Связанные функциональные требования.
        • 3.2.1.2. Функция 1.2
          • 3.2.1.2.1. Введение (назначение функции)
          • 3.2.1.2.2. Последовательность «запрос/ответ»
          • 3.2.1.2.3. Связанные функциональные требования.
        • .
        • .
        • 3.2.1.m. Функция 1.m
          • 3.2.1.m.1. Введение (назначение функции)
          • 3.2.1.m.2. Последовательность «запрос/ответ»
          • 3.2.1.m.3. Связанные функциональные требования.
      • 3.2.2. Класс пользователей 2
      • .
      • .
      • 3.2.n. Класс пользователей n
        • .
        • .
    • 3.3. Требования к производительности
    • 3.4. Проектные ограничения
    • 3.5. Атрибуты программной системы
    • 3.6. Прочие требования

Приложение B. Указания по соответствию требованиям IEEE/EIA 12207.1-1997

B.1 Обзор

Комитет стандартов в области программной инженерии (the Software Emgineering Standards Committee, SESC) при IEEE Computer Society утвердил политику принятия международных стандартов. В 1995 году был составлен международный стандарт ISO/IEC 12207, «Информационные технологии – Процессы жизненного цикла». Стандарт устанавливает общие положения процессов жизненного цикла программного обеспечения с хорошо определенной терминологией, на которую может ссылаться индустрия программного обеспечения.
В 1995 году SESC разработал ISO/IEC 12207 и решил, что этот стандарт следует одобрить и использовать как основу процессов жизненного цикла в составе IEEE Software Engineering Collection. Адаптацией IEEE стандарта ISO/IEC 12207 является IEEE/EIA 12207.0-1996. Она содержит ISO/IEC 12207 со следующими добавлениями: улучшенный подход к совместимости, назначение процессов жизненного цикла, назначение данных жизненного цикла, список исправлений.
Реализация ISO/IEC в IEEE также включает следующее:
  • IEEE/EIA 12207.1-1997, IEEE/EIA Руководство по информационной технологии. Процессы жизненного цикла программного обеспечения. Данные жизненного цикла.
  • IEEE/EIA 12207.2-1997, IEEE/EIA Руководство по информационной технологии. Процессы жизненного цикла программного обеспечения. Замечания по реализации.
  • Дополнения к 11 стандартам SESC (IEEE STDs 730, 828, 829, 830, 1012, 1016, 1058, 1062, 1219, 1233, 1362) с целью определения корреляции между документами, выполненными  в соответствии с существующими стандартами SESC, и документами, выполненными в соответствии с IEEE/EIA 12207.1-1997.
Примечание. Хотя IEEE/EIA 12207.1-1997 является руководством, он также содержит положения, применимые как стандарт с определенными требованиями. Данное приложение трактует 12207.1-1997 как стандарт.

B.2. Корреляция

Данный раздел поясняет отношения между IEEE STD 830-1998, IEEE/EIA 12207.0-1996 и IEEE/EIA 12207.1-1997 в следующих областях: терминология, процесс и данные жизненного цикла.

B.2.1. Корреляция терминологии

Как данные рекомендации, так и IEEE/EIA 12207.0-1996 придают сходные значения таким ключевым терминам, как «программное обеспечение», «требования», «поставщик», «разработчик», «персонал сопровождения». Данные рекомендации используют термин «потребитель», когда IEEE/EIA 12207.0-1996 использует «заказчик», и «пользователь», когда IEEE/EIA 12207.0-1996 использует «оператор».

B.2.2. Корреляция процессов

IEEE/EIA 12207.0-1996 использует процесс-ориентированный подход к описанию набора требований к программному обеспечению. Данные рекомендации используют подход, ориентированный на продукт, при этом продуктом является «Описание требований к программному обеспечению» (Software Requirements Description, SRD). Это естественные этапы процесса, а именно этапы создания каждой части SRD. Этому можно найти соответствие в требованиях к процессу из IEEE/EIA 12207.0-1996. Различие состоит в том, что данные рекомендации сфокусированы на разработку требований к программному обеспечению, в то время как IEEE/EIA 12207.0-1996 представляет обзор всего жизненного цикла и упоминает анализ требований к программному обеспечению как часть процесса разработки. В данных рекомендациях произведена существенная детализация всего, что относится к подготовке SRD.

B.2.3. Корреляция данных жизненного цикла

IEEE/EIA 12207.0-1996 устанавливает точку зрения, что требования к программному обеспечению вытекают из требований к системе. Поэтому он использует термин «описание» вместе «спецификация» при описании требований к программному обеспечению. В случае системы, в которой программное обеспечение является одним из компонентов, каждый из которых требует спецификации, следовало бы разработать спецификацию требований к системе (System Requirements Specification, SRS) и одну или более SRD. При использовании термина «спецификация требований к программному обеспечению» (Software Requirements Specification) возникло бы недоразумение, что означает SRS – требования к системе или к программному обеспечению. В случае, если программная система является автономной, IEEE/EIA 12207.1-1997 гласит: «Если программное обеспечение является автономной системой, то данный документ должен являться спецификацией».

B.3. Содержание

В данном разделе приводятся детали, проясняющие утверждение, согласно которому SRS, выполненная в соответствии с данными рекомендациями, будет также «совместимой на уровне документа» с SRD, описанной в IEEE/EIA 12207.1-1997. Требования к совместимости на уровне документа подытожены в единственной строке в таблице 1 IEEE/EIA 12207.1-1997. Эта таблица воспроизведена в таблице B.1 данных рекомендаций.

Таблица B.1 – сводка требований к SRD, извлеченная из Таблицы 1 IEEE/EIA 12207.1-1997

Информационный элементРаздел IEEE/EIA 12207.0-1996ТипРаздел IEEE/EIA 12207.1-1997Ссылки
Software Requirements Description5.1.1.4, 5.3.4.1, 5.3.4.2Описание (см. примечание к п. 6.22.1 IEEE/EIA 12207.1-19976.22IEEE Std 830-1998; EIA/IEEE J-STD-016, F.2.3, F.2.4; MIL-STD 961D. Также см. руководство по использованию нотаций в ISO/IEC 5806, 5807, 6593, 8631, 8790 и 11411

Требования к совместимости на уровне документа обсуждаются в следующих подразделах:
  • B.3.1 описывает соответствие информационным требованиям, перечисленным во второй колонке таблицы B.1.
  • B.3.2 описывает соответствие общего содержания (тип документа), как приведено в третьей колонке таблицы B.1.
  • B.3.3 описывает соответствие специфическим требованиям «Описания требований к программному обеспечению», как указано в четвертой колонке таблицы B.1.
  • B.3.4 описывает соответствие данным жизненного цикла в соответствии с приложением H к IEEE/EIA 12207.0-1996, как описано в п. 4.2 IEEE/EIA 12207.1-1997.

B.3.1. Соответствие информационным требованиям IEEE/EIA 12207.0-1996

Информационные требования к SRD изложены в п.п. 5.1.1.4, 5.3.4.1 и 5.3.4.2 IEEE/EIA 12207.0-1996. Эти требования в основном идентичны рассмотренным в пункте B.3.3 данных рекомендаций.

B.3.2. Соответствие указаниям к общему содержанию IEEE/EIA 12207.1-1997

В соответствии с IEEE/EIA 12207.1-1997 общее содержание SRD обычно представляет собой описание, как указано в п. 5.1 IEEE/EIA 12207.1-1997. Соответствующее описание должно достигать цели, установленной в п. 5.1.1, и включать информацию, перечисленную в п. 5.1.2 IEEE/EIA 12207.1-1997.
Целью описания является:
Цитата
IEEE/EIA 12207.1-1997, подраздел 5.1.1: Цель: Описать планируемую или действительную функцию, разработку, производительность или процесс.
SRD, выполненное в соответствии с данными рекомендациями, будет достигать поставленной цели.
Любые описание или спецификация, выполненные в соответствии с IEEE/EIA 12207.1-1997, будут удовлетворять требованиям к общему содержанию, установленными в п. 5.1.2 данного стандарта. В таблице B.2 данных рекомендаций перечислены общие элементы содержания и ссылки, где это применимо, на раздел данных рекомендаций, который требует ту же информацию.

Таблица B.2 – охват IEEE Std 830-1998 требований к общему описанию

IEEE/EIA 12207.1-1997, общее содержаниеСоответствующие разделы IEEE Std 830-1998Дополнения к требованиям IEEE Std 830-1998
a) Дата выпуска, статус-Следует указать дату выпуска и статус
b) Область применения5.1.2. Область применения-
c) Выпустившая организация-Следует указать выпустившую оранизацию
d) Ссылки5.1.4. Ссылки-
e) Контекст5.1.1. Назначение-
f) Нотации для определения4.3. Характеристики хорошей SRS-
g) Тело5. Составные части SRS-
h) Резюме5.1.1. Обзор-
i) Глоссарий5.1.3. Определения-
j) История изменений-Следует привести историю SRD либо ссылку на нее

B.3.3. Соответствие требованиям к специфическому содержанию IEEE/EIA 12207.1-1997

Требования к специфическому содержанию SRD в IEEE/EIA 12207.1-1997 приведены в п. 6.22. SRD должно соответствовать цели, указанной в п. 6.22.1 IEEE/EIA 12207.1-1997.
Целью SRD является:
Цитата
IEEE/EIA 12207.1-1997, подраздел 6.22.1: Цель: Задать требования к элементу программного обеспечения и методы, которые следует использовать, чтобы убедиться, что эти требования удовлетворены. Используется как основа для разработки и квалификационного тестирования элемента программного обеспечения.
SRS, выполненная в соответствии с данными рекомендациями и удовлетворяющая дополнительным требованиям, приведенным в !!!таблице B.3, будет соответствовать поставленной цели.
SRD, совместимое с IEEE/EIA 12207.1-1997, должно удовлетворять специфическим требованиям к содержанию, приведенных в разделах !!!6.22.3 и !!!6.22.4 данного стандарта. В таблице B.3 данных рекомендаций перечислены специфические элементы содержания и ссылается на раздел данных рекомендаций, который требует ту же информацию, если это применимо.
Если SRD специфицируется в соответствии с требованиями, которые устанавливает или на которые ссылается таблица B.3 данных рекомендаций, оно должно разрабатываться с учетом критериев, приведенных в IEEE/EIA 12207.0-1996.

Таблица B.3 – охват специфических требований к SRD IEEE Std 830-1998

Специфическое содержание IEEE/EIA 12207.1-1997Соответствующие разделы IEEE Std 830-1998Дополнения к требованиям IEEE 830-1998
a) Общее описаниеСм. !!!таблицу B.2-
b) Идентификация и обзор системы5.1.2. Область применения-
c) Функциональность элемента программного обеспечения, включая:
  • требования к производительности;
  • физические характеристики;
  • внешние условия.
5.3.2. Функции
5.3.3. Требования к производительности
Следует указать физические характеристики и внешние условия.
d) Требования к внешним интерфейсам элемента программного обеспечения5.3.1. Внешние интерфейсы-
e) Квалификационные требования-Следует указать требования. используемые для квалификационного тестирования (или сослаться на них).
f) Спецификации безопасности5.2.4. Ограничения-
g) Спецификации секретности и приватности5.3.6.3. Безопасность-
h) Требования к эргономике5.2.3. Характеристики пользователя
5.2.1.2. Интерфейсы пользователя
-
i) Определение данных и требования к базе данных5.3.4. Логические требования к базе данных-
j) Требования к установке и приемке на рабочем объекте5.2.1.8. Требования к адаптации на объектеТребования к инсталляции и приемке на рабочем объекте
k) Требования к инсталляции и приемке на объекте поддержки-Требования к инсталляции и приемке на рабочем объекте
l) Требования к пользовательской документации-Требования к пользовательской документации
m) Пользовательские требования времени выполнения5.2.1.7. ОперацииПользовательские требования времени выполнения
n) Пользовательские требования к поддержке5.3.6.4. Поддерживаемость-
o) Характеристики качества программного обеспечения5.3.6. Системные атрибуты программного обеспечения-
p) Ограничения проектирования и реализации5.2.4. Ограничения-
q) Требования к ресурсам компьютера5.3.3. Требования к производительностиТребования к ресурсам компьютера
r) Требования к упаковке-Требования к упаковке
s) Последовательность и критичность требований5.2.6. Распределение требований-
t) Трассируемость требований4.3.8. Трассируемость-
u) Логические обоснования5.2.5. Предположения и зависимости-
Элементы с a) по f), перечисленные ниже, взяты из 6.22.4.
a) Поддержка данных жизненного цикла согласно Приложения H к IEEE/EIA 12207.0-1996-Поддержка данных жизненного цикла согласно Приложения H к IEEE/EIA 12207.0-1996
b) Описание каждой функции с использованием хорошо определенной нотации4.3. Характеристики хорошей SRS-
c) Отсутствие конфликтующих требований4.3. Характеристики хорошей SRS-
d) Стандартная пользовательская терминология и определения5.1.3. Определения-
e) Определять каждое требование уникально для предотвращения несогласованности4.3. Характеристики хорошей SRS-
f) Уникально идентифицировать каждое требование4.3. Характеристики хорошей SRS-

B.3.4. Соответствие данным жизненного цикла

В дополнение к требованиям к содержанию, данные жизненного цикла должны управляться в соответствие с целями, указанными в Приложении H к IEEE/EIA 12207.0-1996.
B.4. Заключение

Анализ показывает, что любая SRS, выполненная в соответствии с данными рекомендациями и дополнениями, приведенными в таблицах B.2 и B.3, также соответствует требованиям к SRD, определенным в IEEE/EIA 12207.1-1997. Кроме того, для соответствия IEEE/EIA 12207.1-1997, SRS должна поддерживать данные жизненного цикла из Приложения H к IEEE/EIA 12207.0-1996
Версия для печати
Обсудить на форуме