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

Приведите пример не функциональных требований

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

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

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

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

Нефункциональные требования (Non-Functional Requirements)

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

Категории нефункциональных требований

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

  • Время ответа API должно быть менее 200 мс в 99 процентиле
  • Страница должна загружаться за менее 2 секунд на сети 3G
  • Система должна обрабатывать 10000 пользователей одновременно
  • Одна операция поиска не должна занимать более 1 секунды
  • Batch процесс должен завершиться за менее 1 часа

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

  • Система должна горизонтально масштабироваться до 1000 серверов
  • База данных должна поддерживать 1 миллиард записей
  • Память должна использоваться не более 80 процентов
  • При увеличении нагрузки в 10 раз производительность снижается не более чем на 20 процентов

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

  • Uptime системы должен быть не менее 99.9 процентов
  • Среднее время между сбоями (MTBF) должно быть более 1000 часов
  • Среднее время восстановления (MTTR) должно быть менее 30 минут
  • Система должна восстанавливаться автоматически при сбое сервера

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

  • Все данные при передаче должны шифроваться с использованием TLS 1.3
  • Пароли должны быть хеширваны с помощью bcrypt или argon2
  • Система должна защищаться от SQL-инъекций и XSS атак
  • Логирование всех операций с конфиденциальными данными (audit trail)
  • Двухфакторная аутентификация должна быть доступна
  • Доступ на основе ролей (RBAC) для всех функций

5. Доступность (Availability)

  • Система должна быть доступна 24/7 365 дней в году
  • Плановое обслуживание должно происходить не более 4 часов в месяц
  • Важные функции должны быть доступны в режиме graceful degradation

6. Удобство использования (Usability)

  • Новый пользователь должен освоиться за менее 15 минут
  • 95 процентов операций должны завершаться за менее 3 клика
  • Интерфейс должен соответствовать стандартам WCAG 2.1 Level AA (доступность)
  • Поддерживаемы языки: русский, английский, немецкий

7. Тестируемость (Testability)

  • Покрытие код тестами должно быть не менее 80 процентов
  • Все компоненты должны иметь Unit тесты
  • Система должна иметь автоматизированные E2E тесты
  • Возможность запуска тестов в изолированной среде

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

  • Поддержка последних двух версий всех основных браузеров
  • Поддержка iOS 14+ и Android 10+
  • API должен быть совместим с REST стандартом
  • Поддержка JSON и XML форматов

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

  • Код должен следовать стандартам PEP8 (Python) или Google Style Guide
  • Каждая функция должна быть документирована
  • Система должна быть развёртываемой за менее чем 15 минут
  • Логирование всех критических событий

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

  • При сбое данные не должны потеряться
  • Резервные копии должны создаваться каждый час
  • Восстановление из резервной копии за менее 30 минут
  • Система должна хранить транзакционные логи минимум 90 дней

Пример полного набора требований

Функциональное требование: Пользователь может создать профиль и добавить аватар

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

  • Аватар загружается за менее 2 секунд (производительность)
  • Максимальный размер аватара 5 МБ (масштабируемость)
  • Аватар хранится в защищённом хранилище (безопасность)
  • Форма совместима с Safari, Chrome, Firefox (совместимость)
  • Новый пользователь может добавить аватар за 1 минуту (удобство)
  • Процесс загрузки документирован (поддерживаемость)

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

  • Производительность: JMeter, Gatling, LoadRunner
  • Безопасность: OWASP ZAP, Burp Suite
  • Совместимость: BrowserStack, Sauce Labs
  • Доступность: WAVE, Axe DevTools
  • Надёжность: chaos engineering (Gremlin)

Вывод

Нефункциональные требования часто упускаются но критичны для успеха проекта. Их нужно определять на ранних этапах и тестировать на протяжении разработки.