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

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

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

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

В стандарте 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 года.

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