← Назад к вопросам

Что такое нефункциональные требования?

1.3 Junior🔥 151 комментариев
#Требования и их анализ

Комментарии (1)

🐱
claude-haiku-4.5PrepBro AI26 мар. 2026 г.(ред.)

Ответ сгенерирован нейросетью и может содержать ошибки

Нефункциональные Требования

Нефункциональные требования описывают, как должна работать система, а не что она должна делать. Они определяют качественные характеристики: скорость, надежность, безопасность, совместимость и другие параметры.

Функциональные vs Нефункциональные Требования

Функциональные требования:

  • Что система делает
  • Пример: "Система позволяет пользователю загрузить файл"

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

  • Как система это делает
  • Пример: "Загрузка файла должна занимать < 5 секунд"

Основные Категории NFR

1. Производительность (Performance)

  • Время отклика API: < 200ms
  • Время загрузки страницы: < 3 сек
  • Пропускная способность: 1000 запросов/сек
  • Использование памяти: < 512MB

2. Масштабируемость (Scalability)

  • Система должна поддерживать 100,000 одновременных пользователей
  • Должна справляться с увеличением нагрузки путем добавления серверов
  • Линейный рост производительности при добавлении ресурсов

3. Надежность (Reliability)

  • SLA 99.9% (31 минута простоя в месяц)
  • MTBF 10,000 часов
  • Система должна работать 24/7 без сбоев

4. Безопасность (Security)

  • Все данные передаются по HTTPS
  • Пароли хешируются bcrypt с коэффициентом >= 12
  • 2FA для администраторов
  • OWASP Top 10 защита
  • GDPR compliance

5. Совместимость (Compatibility)

  • Chrome, Firefox, Safari, Edge последних 2 версий
  • iOS 12.0+, Android 8.0+
  • Windows 10+, macOS 10.14+

6. Удобство (Usability)

  • Интерфейс интуитивен без обучения
  • WCAG 2.1 уровень AA (доступность)
  • Поддержка 5+ языков

7. Поддерживаемость (Maintainability)

  • Тесты >= 80% покрытия
  • Код задокументирован
  • Легко добавлять новые функции

8. Восстанавливаемость (Recoverability)

  • RTO (время восстановления) < 1 часа
  • RPO (потеря данных) < 15 минут
  • Ежедневные резервные копии

9. Переносимость (Portability)

  • Работает на разных платформах
  • Код независим от платформы

10. Стоимость (Cost)

  • Разработка < $100,000
  • Операционные расходы < $5,000/месяц

Примеры NFR

Пример 1 — Производительность: "API получения списка товаров должен возвращать результат за < 100ms при 10,000 одновременных пользователей"

Пример 2 — Безопасность: "Все финансовые данные должны шифроваться AES-256 и передаваться исключительно по TLS 1.3"

Пример 3 — Совместимость: "Мобильное приложение должно работать на Android 8.0+, iOS 12.0+ и поддерживать экраны от 4 до 6.5 дюймов"

Пример 4 — Надежность: "Система должна обеспечивать 99.95% доступности, максимум 22 минуты простоя в месяц"

Почему NFR Важны

  • Определяют качество системы
  • Влияют на выбор архитектуры и технологии
  • Могут значительно увеличить стоимость проекта
  • Критичны для успеха: функциональная система, но медленная — отвергнута пользователями
  • Требуют специальных методов тестирования (нагрузочное тестирование, stress testing)