Документ, содержащий требования, также называемый спецификацией системных требований, - это официальное предписание для разработчиков программной системы.
Системную спецификацию читает множество людей, начиная от высшего руководства компании - заказчика системы и заканчивая рядовым разработчиком системы.
Заказчики системы. Определяют требования, проверяют специфицированные требования на соответствие требованиям заказываемой системы. Они могут вносить изменения в спецификацию.
Руководство компании-разработчика. Использую спецификацию для расчёта цены системы и для планирования процесса разработки системы.
Разработчики системы. Используют спецификацию в процессе разработки системы.
Инженеры, тестирующие систему. Используют спецификацию при разработке тестов, необходимых для аттестации системы.
Инженеры поддержки системы. Спецификация помогает разобраться в системе и понять, как взаимодействуют её отдельные компоненты.
Структура спецификации требований.
Раздел
Описание
Предисловие
Здесь определяется круг лиц, не которых рассчитан данный документ. Описываются предыдущие версии разрабатываемого продукта, а также изменения, внесённые в каждую версию. Даётся обоснование для создания новой версии продукта.
Введение
Здесь более развёрнуто обосновывается необходимость создания системы. Кратко перечисляются системные функции, и объясняется, как система будет работать совместно с другими системами. Должно быть показано, как разработка системы «вписывается» в общую бизнесс-стратегию компании, заказывающей программный продукт.
Глоссарий
Даётся описание технических терминов, используемых в документе. Здесь не делается каких-либо предположений об уровне знаний или практическом опыте читателя документа.
Пользовательские требования
Описываются сервисы, предоставляемые пользователям, и нефункциональные системные требования. Это описание может быть сделано на естественном языке с использованием диаграмм, блок-схем и других форм записи, понятных заказчику программной системы. Здесь также должны быть приведены стандарты на программный продукт и процесс его разработки.
Системная архитектура
Здесь приводится высокоуровневое представление возможной системной архитектуры с указанием, как распределены системные функции по компонентам системы. Обязательно должны быть выделены повторно используемые (т.е. уже существующие) компоненты.
Системные требования
Подробно описываются функциональные и нефункциональные требования. Если необходимо, нефункциональные требования дополняют описанием интерфейсов других систем.
Системные модели
Здесь представлено несколько системных моделей, показывающих взаимоотношения между системными компонентами и между системой и её окружением. Это могут быть объектные модели, модели потоков данных.
Эволюция системы
Приводятся основные предположения и допущения, на которых базируется система, а также ожидаемые (прогнозируемые) изменения в аппаратных средствах, в потребностях пользователей и т.п.
Приложения
Здесь приводиться специализированная информация, относящаяся к разрабатываемой системе, например описание аппаратных средств или базы данных, с которыми должна работать система. При описании аппаратных средств необходимо показать минимальную конфигурации, при которых может работать программная система. Описание базы данных должно отображать логическую структуру данных, с которыми будет работать система, и отношения между ними.
Указатели
В документе возможно использование различных указателей. Это может быть обычный алфавитный указатель, указатель диаграмм или указатель системных функций.