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