Нефункциональные требования
Тема дорожной карты · Business Analysis
Нефункциональные требования (NFR, иногда называемые 'атрибутами качества') описывают, как система выполняет свои функции: задержка (latency), пропускная способность (throughput), доступность (availability), безопасность (security), масштабируемость (scalability), обслуживаемость (maintainability), доступность (accessibility) и наблюдаемость (observability). Эти требования играют ключевую роль в определении архитектуры системы, поскольку они устанавливают стандарты, которым должна соответствовать реализация. ISO 25010 предлагает классификацию NFR по восьми характеристикам качества, что делает её полезным инструментом для любого проекта.
Как это работает
Каждый NFR состоит из трех основных компонентов: атрибут качества (например, latency, availability), измеримая цель (например, p95 < 500ms, 99.95% uptime), и метод измерения (например, синтетический мониторинг из N регионов, метрики реальных пользователей и т.д.). Без метода измерения, нефункциональные требования не могут быть верифицированы. Восьмичленная структура ISO 25010 включает характеристики функциональной подходимости, эффективности выполнения, совместимости, удобства использования, надежности, безопасности, обслуживаемости и переносимости. Эти характеристики обеспечивают структурированное покрытие всех аспектов качества системы.
Когда применять
Нефункциональные требования следует фиксировать на начальной стадии проекта, так как они формируют архитектуру системы до написания кода. Важно регулярно перевалидировать NFR, поскольку нагрузка на систему может меняться со временем. Это особенно важно для систем с регуляторными обязательствами по доступности и безопасности, для высоконагруженных потребительских продуктов, где производительность является ключевой функцией, и для долгоживущих корпоративных систем, где обслуживаемость определяет общий стоимость владения.
Типичные ошибки
(1) Амбициозные, но не конкретные NFR — формулировки вида «система должна быть быстрой» без конкретных целей не могут быть верифицированы. Вместо этого следует конвертировать такие формулировки в конкретные числовые показатели, такие как p95-latency или полная пропускная способность. (2) Неразумное количество NFR — копирование всех атрибутов качества из ISO 25010 без приоритизации приводит к перегрузке команды разработки. Вместо этого следует выбрать 5-8 действительно важных атрибутов качества для системы. (3) NFR, которые остаются в отдельном документе, который никто из инженеров не читает — важно связать нефункциональные требования с архитектурным документом или документом о приемке (DoD) для обеспечения их видимости и понимания всеми участниками проекта.