Функциональные требования описывают, что система должна делать: бизнес-операции, процессы, пользовательские сценарии — то есть функционал.
Нефункциональные требования определяют, как система должна работать: ограничения, параметры качества, производительность, безопасность, удобство использования и т.п. Эти требования часто влияют на выбор технологий, масштабируемость и устойчивость решения.
Почему важно различать:
Ключевые особенности:
Входит ли “удобство интерфейса” в функциональные требования?
Нет, это нефункциональный параметр (usability). Функциональное требование — это наличие, например, кнопки "Сохранить", нефункциональное — скорость её отклика и простота использования.
Можно ли пренебречь нефункциональными требованиями, если они не указаны заказчиком явно?
Нет. Аналитик обязан проговорить и формализовать даже неявные нефункциональные требования, иначе возрастает риск срыва запуска, жалоб пользователей и дополнительных затрат.
“Система должна уметь обрабатывать 1000 запросов в минуту”. Это функциональное требование?
Нет, это нефункциональное требование — характеристика производительности.
Негативный кейс: Система полностью реализовала заявленный бизнес-функционал, но при большой нагрузке начинала "тормозить", т.к. производительность не учли вообще. Плюсы:
Положительный кейс: Аналитик совместно с архитектором и заказчиком зафиксировали в требованиях предельную нагрузку, критерии отклика, провели нагрузочное тестирование. Плюсы: