qalight
Центр подготовки
IT специалистов

База знаний

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

Спецификация требований – законченное описание поведения программы, которую требуется разработать.

В этой статье мы рассмотрим составляющие данного документа, рекомендованные стандартом IEEE 830 (структура SRS – Softwarerequirementsspecification):

Введение:

•   Цели

•   Соглашения о терминах

•   Предполагаемая аудитория и последовательность восприятия

•   Масштаб проекта

•   Ссылки на источники

Общее описание:

•   Видение продукта

•   Функциональность продукта

•   Классы и характеристики пользователей

•   Среда функционирования продукта (операционная среда)

•   Рамки, ограничения, правила и стандарты

•   Документация для пользователей

•   Допущения и зависимости

Функциональность системы:

•   Функциональный блок X (таких блоков может быть несколько)

•   Описание и приоритет

•   Причинно-следственные связи, алгоритмы (движение процессов, workflows)

•   Функциональные требования

Требования к внешним интерфейсам

•   Интерфейсы пользователя (UX)

•   Программные интерфейсы

•   Интерфейсы оборудования

•   Интерфейсы связи и коммуникации

Нефункциональные требования

•   Требования к производительности

•   Требования к сохранности (данных)

•   Критерии качества программного обеспечения

•   Требования к безопасности системы

Прочие требования

•   Приложение А: Глоссарий

•   Приложение Б: Модели процессов и предметной области и другие диаграммы

•   Приложение В: Список ключевых задач

Несмотря на такое большое количество пунктов, которые входят в нашу спецификацию, все же «ядро» требований к приложению находится в функциональных требованиях. Зачастую, их представляют в виде пользовательских сценариев (Use cases).

«Каждый сценарий использования сосредотачивается на описании того, как достигнуть цели или задачи. Для большинства программных проектов это означает, что потребуется множество сценариев использования, чтобы определить необходимый набор свойств новой системы. Степень формальности программного проекта и его стадии будет влиять на необходимый уровень детализации, для каждого сценария использования.»

Также, есть несколько требований к составлению самой спецификации:

•   Описание всех функций должно быть максимально кратким и четким.

•   Не допускать двусмысленных описаний: каждая сущность должна быть предельно ясна любому человеку.

•   В то же самое время: простота.

•   Детализация должна быть в рамках максимального понимания и избегания избыточного текста.