Ответ
Функциональные требования описывают что система должна делать — её основные функции и возможности. Например: "Система должна позволять пользователю регистрироваться через email и пароль".
Нефункциональные требования определяют как система должна работать — её атрибуты качества, ограничения и характеристики. Например: "Система должна обрабатывать 1000 запросов в секунду с задержкой не более 200 мс".
Пример кода (функциональное требование — валидация пароля):
def validate_password(password):
return len(password) >= 8 and any(c.isupper() for c in password)
Нефункциональное требование может касаться безопасности: "Пароль должен храниться в зашифрованном виде (хеш SHA-256)".