Ответ
Нефункциональные требования (NFR) описывают характеристики системы, не связанные напрямую с её функциональностью, но влияющие на качество и эксплуатацию.
Примеры NFR:
- Производительность: "Система должна обрабатывать 1000 запросов/сек"
- Надежность: "Доступность 99.99% (uptime)"
- Безопасность: "Данные передаются по TLS 1.2+"
- Масштабируемость: "Поддержка горизонтального масштабирования"
Пример кода (нагрузочный тест):
import requests
from concurrent.futures import ThreadPoolExecutor
def make_request(_):
response = requests.get("https://api.example.com/data")
return response.status_code
with ThreadPoolExecutor(max_workers=1000) as executor:
results = list(executor.map(make_request, range(1000)))
NFR часто формализуются в SLA/SLO и проверяются тестами (нагрузочными, стресс-тестами и т.д.).