Спецификация требований программного обеспечения

Материал из Википедии — свободной энциклопедии
Перейти к навигации Перейти к поиску

Спецификация требований программного обеспечения (англ. Software Requirements Specification, SRS) — структурированный набор требований (функционал, производительность, конструктивные ограничения и атрибуты) к программному обеспечению и его внешним интерфейсам. (Определение на основе IEEE Std 1012:2004) Предназначен для того, чтобы установить базу для соглашения между заказчиком и разработчиком (или подрядчиками) о том, как должен функционировать программный продукт.

Может включать ряд пользовательских сценариев (англ. use cases), которые описывают варианты взаимодействия между пользователями и программным обеспечением.

Пользовательские сценарии являются средством представления функциональных требований. В дополнение к пользовательским сценариям, спецификация также содержит нефункциональные требования, которые налагают ограничения на дизайн или реализацию (такие как требования производительности, стандарты качества, или проектные ограничения).

В стандарте ISO/IEC/IEEE 29148:2011, который пришел на смену устаревшему IEEE 830, содержится рекомендации к структуре и методам описания программных требований — «Recommended Practice for Software Requirements Specifications».

Пример организации структуры SRS, на основе стандарта ISO/IEC/IEEE 29148:2011[1][править | править код]

  • Введение
    • Цели
    • Соглашения о терминах
    • Предполагаемая аудитория и последовательность восприятия
    • Масштаб проекта
    • Ссылки на источники
  • Общее описание
    • Видение продукта
    • Функциональность продукта
    • Классы и характеристики пользователей
    • Среда функционирования продукта (операционная среда)
    • Рамки, ограничения, правила и стандарты
    • Документация для пользователей
    • Допущения и зависимости
  • Функциональность системы
    • Функциональный блок X (таких блоков может быть несколько)
      • Описание и приоритет
      • Причинно-следственные связи, алгоритмы (движение процессов, workflows)
      • Функциональные требования
  • Требования к внешним интерфейсам
    • Интерфейсы пользователя (UX)
    • Программные интерфейсы
    • Интерфейсы оборудования
    • Интерфейсы связи и коммуникации
  • Нефункциональные требования
    • Требования к производительности
    • Требования к сохранности (данных)
    • Требования к качеству программного обеспечения
    • Требования к безопасности системы
    • Требования на интеллектуальную собственность
  • Прочее
    • Приложение А: Глоссарий
    • Приложение Б: Модели процессов и предметной области и другие диаграммы
    • Приложение В: Список ключевых задач


Шаблон организации структуры SRS, на основе RUP[править | править код]

  1. Введение
    1. Цели
    2. Обзор
    3. Определения, Сокращения, Термины
    4. Ссылки
    5. Обзор
  2. Общее Описание
  3. Требования
    1. Функциональность
      1. <Функциональное Требование Первое>
      2. ...
    2. Юзабилити
      1. <Требование по Юзабилити Первое>
      2. ...
    3. Надежность
      1. <Требование к Надежности Первое>
      2. ...
    4. Производительность
      1. <Требование к Производительности Первое>
      2. ...
    5. Поддерживаемость
      1. <Требование к Поддерживаемости Первое>
      2. ...
    6. Проектные Ограничения
      1. <Проектное Ограничение Первое>
      2. ...
    7. Требования по Документированности и Поддержке Пользователей
    8. Заимствованные Компоненты
    9. Интерфейсы
      1. Пользовательские Интерфейсы
      2. Аппаратные Интерфейсы
      3. Программные Интерфейсы
      4. Коммуникационные Интерфейсы
    10. Лицензионные Соглашения
    11. Необходимые Замечания по Законодательству, Авторским Правам и Прочие
    12. Применяемые Стандарты
  4. Сопроводительная Информация

См. также[править | править код]

Примечания[править | править код]

  1. IEEE Std 830—1998 IEEE Recommended Practice for Software Requirements Specifications (недоступная ссылка). Дата обращения 9 мая 2010. Архивировано 15 мая 2010 года.

Ссылки[править | править код]