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

(перенаправлено с «Спецификация программного обеспечения»)

Спецификация требований программного обеспечения (англ. 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 года.

СсылкиПравить