Перейти к содержимому

Шаблон FR

Шаблон функциональных требований для системного аналитика.

Шаблон FR

FR описывает, что система должна делать: поведение, сценарии, правила, проверки, ошибки и ожидаемый результат.

Паспорт документа

ПолеЗначение
Система / продукт<название>
Функциональность<название>
Инициатор<заказчик / PO>
Автор<ФИО>
СтатусЧерновик / На согласовании / Согласовано / Устарело
Версияv1.0
Связанные задачи<Jira / Confluence / ссылка>

Цель доработки

Кратко опишите, зачем нужна доработка и какую проблему она решает.

Область действия

ОбъектВлияние
UI<экраны / формы / действия>
Backend<сервисы / методы>
БД<таблицы / поля / миграции>
Интеграции<внешние системы / API / топики>
Роли и права<роли / permissions>
Отчетность / аналитика<метрики / события / отчеты>

Термины и сокращения

ТерминОписание
<термин><описание>

Предусловия

IDПредусловие
PRE-001Пользователь авторизован.
PRE-002У пользователя есть право <permission>.
PRE-003Объект находится в статусе <status>.

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

IDТребованиеПриоритетКомментарий
FR-001Система должна отображать <элемент> при выполнении условий <условия>.Must
FR-002При действии <действие> система должна выполнить <результат>.Must
FR-003Система должна валидировать <данные> перед отправкой.Must
FR-004Система должна вызвать <API / сервис / топик>.Must
FR-005Система должна отобразить пользователю результат операции.Should

Бизнес-правила

IDПравилоУсловиеРезультат
BR-001<название правила>Если <условие>То <действие>

Валидации

IDПоле / объектПравило проверкиОшибка
VAL-001<field>Обязательно для заполнения<код / текст>
VAL-002<field>Формат <формат><код / текст>

Основной сценарий

  1. Пользователь открывает <экран>.
  2. Система отображает <данные / действия>.
  3. Пользователь выполняет <действие>.
  4. Система проверяет права, данные и бизнес-правила.
  5. Система выполняет операцию.
  6. Система отображает результат.

Альтернативные сценарии

AS-001. Недостаточно прав

  1. Пользователь инициирует действие.
  2. Система определяет отсутствие права <permission>.
  3. Система скрывает действие или возвращает 403 Forbidden.

AS-002. Внешняя система недоступна

  1. Сервис вызывает <external system>.
  2. Внешняя система не отвечает или возвращает ошибку.
  3. Система возвращает контролируемую ошибку и логирует ее с correlationId.

Ошибки

КодУсловиеПоведение системыТекст пользователю
400Некорректные данныеНе выполнять операцию<текст>
403Нет правЗапретить действие<текст>
404Объект не найденНе выполнять операцию<текст>
409Конфликт состоянияНе выполнять операцию<текст>
500Внутренняя ошибкаЛогировать ошибку<текст>

Состояния объекта

Текущий статусДействиеНовый статусУсловие
<from><action><to><condition>

UI-требования

ЭлементТипОбязательностьЛогика отображения
<название><input / button / table>Да / Нет<условие>

Интеграции

СистемаМетод / топикНаправлениеНазначение
<система><endpoint / method / topic>Входящее / исходящее<зачем>

Логирование

СобытиеУровеньЧто логировать
Начало операцииINFOoperation, userId, correlationId
Ошибка валидацииWARNfield, reason, correlationId
Ошибка интеграцииERRORtargetSystem, errorCode, correlationId

Открытые вопросы

IDВопросКому адресованСтатус
Q-001<вопрос><роль / ФИО>Открыт

Критерии приемки документа

IDКритерий
AC-DOC-001Документ согласован с владельцем продукта / архитектором / разработкой, если применимо.
AC-DOC-002Все спорные места вынесены в открытые вопросы или зафиксированы как ограничения.
AC-DOC-003В документе нет неоднозначных формулировок вроде “быстро”, “удобно”, “корректно” без измеримого критерия.