Данные в этой статье приведены по состоянию на 1998 год.
Вы можете помочь,
обновив информацию в статье.
Спецификация требований программного обеспечения (англ. software requirements specification , SRS) — структурированный набор требований/запросов (функциональность, производительность, конструктивные ограничения и атрибуты) к программному обеспечению и его внешним интерфейсам. (Определение на основе IEEE Std 1012:2004)
Предназначен для того, чтобы установить базу для соглашения между заказчиком и разработчиком (или подрядчиками ) о том, как должен функционировать программный продукт .
Может включать ряд пользовательских сценариев (англ. use cases ), которые описывают варианты взаимодействия между пользователями и программным обеспечением .
Пользовательские сценарии являются средством представления функциональных требований . В дополнение к пользовательским сценариям, спецификация также содержит нефункциональные требования , которые налагают ограничения на дизайн или реализацию (такие как требования производительности, стандарты качества , или проектные ограничения )[источник не указан 506 дней ] .
В стандарте ISO/IEC/IEEE 29148:2011 , который пришел на смену устаревшему IEEE 830, содержится рекомендации к структуре и методам описания программных требований — «Recommended Practice for Software Requirements Specifications».
Пример организации структуры SRS на основе стандарта ISO/IEC/IEEE 29148:2011[ 1]
Введение
Цели
Соглашения о терминах
Предполагаемая аудитория и последовательность восприятия
Масштаб проекта
Ссылки на источники
Общее описание
Видение продукта
Функциональность продукта
Классы и характеристики пользователей
Среда функционирования продукта (операционная среда)
Рамки, ограничения, правила и стандарты
Документация для пользователей
Допущения и зависимости
Функциональность системы
Функциональный блок X (таких блоков может быть несколько)
Описание и приоритет
Причинно-следственные связи, алгоритмы (движение процессов, workflows)
Функциональные требования
Требования к внешним интерфейсам
Интерфейсы пользователя (UX)
Программные интерфейсы
Интерфейсы оборудования
Интерфейсы связи и коммуникации
Нефункциональные требования
Требования к производительности
Требования к сохранности (данных)
Требования к качеству программного обеспечения
Требования к безопасности системы
Требования на интеллектуальную собственность
Прочее
Приложение А: Глоссарий
Приложение Б: Модели процессов и предметной области и другие диаграммы
Приложение В: Список ключевых задач
Введение
Цели
Обзор
Определения, сокращения, термины
Ссылки
Обзор
Общее описание
Требования
Функциональность
<Функциональное требование первое>
...
Удобство использования
<Требование по удобству использования первое>
...
Надежность
<Требование к надежности первое>
...
Производительность
<Требование к производительности первое>
...
Поддерживаемость
<Требование к поддерживаемости первое>
...
Проектные ограничения
<Проектное ограничение первое>
...
Требования по документированности и поддержке пользователей
Заимствованные компоненты
Интерфейсы
Пользовательские интерфейсы
Аппаратные интерфейсы
Программные интерфейсы
Коммуникационные интерфейсы
Лицензионные соглашения
Необходимые замечания по законодательству, авторским правам и прочие
Применяемые стандарты
Сопроводительная информация
См. также
Примечания
Ссылки
Процесс Высокоуровневые концепции Направления Методологии разработки Модели Известные деятели