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