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

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

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

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

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

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

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

Нефункциональные требования (Non-Functional Requirements, NFR) определяют свойства и характеристики системы, которые описывают, как система должна работать, а не что она должна делать. Существует несколько подходов к их классификации.

По ISO/IEC 25010 (Product Quality Model)

Это наиболее официальный и признанный стандарт классификации:

1. Функциональная полнота (Functional Completeness)

  • Соответствие всем предусмотренным функциям
  • Полнота реализации требований

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

  • Время отклика (response time)
  • Пропускная способность (throughput)
  • Использование ресурсов (CPU, память)
  • Пример: система должна обрабатывать 1000 запросов в секунду с временем ответа менее 200 мс

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

  • Взаимозаменяемость (replaceability)
  • Сосуществование (coexistence) с другими системами
  • Интероперабельность (interoperability)

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

  • Зрелость (maturity) — частота отказов
  • Доступность (availability) — процент времени работы
  • Отказоустойчивость (fault tolerance)
  • Восстанавливаемость (recoverability)
  • Пример: система должна иметь 99.9% uptime

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

  • Конфиденциальность (confidentiality) — защита от несанкционированного доступа
  • Целостность (integrity) — защита от изменений данных
  • Аутентификация (authentication)
  • Авторизация (authorization)
  • Неотказуемость (non-repudiation)
  • Пример: использование HTTPS, двухфакторная аутентификация

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

  • Узнаваемость (recognizability)
  • Обучаемость (learnability)
  • Управляемость (operability)
  • Защита от ошибок (error protection)
  • Эстетика пользовательского интерфейса (UI aesthetics)
  • Доступность (accessibility)

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

  • Адаптируемость (adaptability) к разным окружениям
  • Устанавливаемость (installability)
  • Взаимозаменяемость (replaceability)

8. Удержируемость (Maintainability)

  • Модульность (modularity)
  • Переиспользуемость (reusability)
  • Анализируемость (analysability)
  • Модифицируемость (modifiability)
  • Тестируемость (testability)

Альтернативные классификации

По FURPS+ модели:

  • Functionality (функциональность)
  • Usability (удобство)
  • Reliability (надежность)
  • Performance (производительность)
  • Security (безопасность)
  • Plus: Design, Implementation, Interface, Physical требования

По ILITY классификации (по суффиксам):

  • Reliability
  • Scalability
  • Maintainability
  • Availability
  • Security
  • Usability
  • Accessibility

По областям:

  • Бизнес-требования: ROI, время выхода на рынок
  • Пользовательские требования: удобство, скорость
  • Операционные требования: масштабируемость, поддерживаемость
  • Технические требования: совместимость, стандарты

Таблица сравнения характеристик

ТребованиеМетрикаПример
Производительностьms, req/s< 200 ms для 95% запросов
Надежность% uptime, MTBF99.95% доступность
Безопасностьуровень шифрованияTLS 1.3, 256-bit
Масштабируемостьпользователейдо 10 млн одновременных
Доступностьподдерживаемые платформыWeb, iOS, Android

Практическое применение

При разработке системы аналитик должен:

  1. Определить все категории NFR, релевантные проекту
  2. Задать измеримые метрики для каждого требования
  3. Установить приоритеты (essential, important, nice-to-have)
  4. Документировать в SRS или requirements document
  5. Получить согласие всех заинтересованных сторон

Хорошее нефункциональное требование должно быть SMART: Specific (конкретное), Measurable (измеримое), Achievable (достижимое), Relevant (релевантное), Time-bound (с временными рамками).

Это позволяет архитекторам и разработчикам принимать правильные решения на этапе проектирования и избежать недоразумений при приемке системы.