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

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

Нефункциональные требования для создания заявки на досрочное расторжение договора

Производительность

IDТребование
NFR.01Время ответа REST endpoint при успешном создании заявки не должно превышать 2 секунд при нормальной нагрузке
NFR.02Время ответа REST endpoint при ошибке валидации не должно превышать 1 секунды
NFR.03API Gateway должен устанавливать timeout на gRPC-вызов не более 3 секунд
NFR.04Backend-сервис должен выполнять проверку наличия активной заявки через индексированный поиск

Доступность

IDТребование
NFR.05REST endpoint должен быть доступен в режиме 24/7, кроме согласованных технологических окон
NFR.06При недоступности backend-сервиса API Gateway должен вернуть ошибку SERVICE_UNAVAILABLE
NFR.07При недоступности Notification Service создание заявки не должно откатываться, если заявка уже создана

Надежность и консистентность

IDТребование
NFR.08Создание заявки должно быть атомарным в рамках операции записи в БД
NFR.09Повторная отправка запроса с тем же Idempotency-Key не должна создавать дубль заявки
NFR.10В БД должен быть контроль активной заявки по contractId для предотвращения дублей
NFR.11При ошибке после создания заявки API должен позволять повторно получить результат по идемпотентному ключу

Безопасность

IDТребование
NFR.12Endpoint должен быть доступен только авторизованным пользователям
NFR.13Клиент не должен иметь возможность создать заявку по чужому договору
NFR.14Банковские реквизиты не должны логироваться в открытом виде
NFR.15В логах допускается маскирование счета в формате ***************12345
NFR.16Все взаимодействия должны выполняться по защищенному каналу
NFR.17API Gateway должен передавать в backend только идентификатор клиента из доверенного авторизационного контекста

Наблюдаемость

IDТребование
NFR.18Для каждого запроса должен формироваться или прокидываться correlationId
NFR.19correlationId должен присутствовать в логах API Gateway и backend-сервиса
NFR.20Должны собираться метрики количества успешных и ошибочных созданий заявок
NFR.21Должны собираться метрики времени ответа REST endpoint и gRPC-метода
NFR.22Должны быть алерты на рост доли ошибок 5xx

Совместимость

IDТребование
NFR.23REST API должен быть версионирован через /api/v1
NFR.24gRPC-контракт должен быть обратно совместим при добавлении новых необязательных полей
NFR.25Новые значения enum должны обрабатываться на Frontend через fallback-текст

Ограничения по файлам

IDТребование
NFR.26Максимальное количество документов в заявке — 10
NFR.27Максимальный размер одного документа — 10 МБ
NFR.28Допустимые форматы документов: PDF, JPG, JPEG, PNG