🛠️ Нефункциональные требования и атрибуты качества Когда мы создаём или дорабатываем систему, помимо функциональных требований (что система должна уметь делать), появляются и нефункциональные — связанные с качеством работы, удобством и скоростью отклика. 📌 Функциональные требования = что 📌 Нефункциональные требования = как Зачем нужны нефункциональные требования? Они помогают зафиксировать критерии качества и перевести пожелания заказчика на понятный команде язык. Формулируются так же, как и функциональные — повествовательными предложениями с «должен/должна». Пример: «Скорость отклика приложения при любых операциях с изображениями должна быть не более двух миллисекунд». 🔹 Классы нефункциональных требований Атрибуты качества — производительность, надёжность, доступность и др. Требования к внешним интерфейсам — взаимодействие с пользователями и другими системами. Ограничения проектирования и реализации — технологии и условия, которые обязаны использоваться. 🎯 Атрибуты качества Внешние (ощущаются пользователем): Доступность — сервис должен работать ≥99% времени в сутки. Удобство установки — при обновлении сохраняются авторизация и настройки. Целостность — ежедневное резервное копирование данных. Совместимость — обмен данными с другими системами (например, складской учёт). Производительность — уведомления об изменении заказа приходят ≤10 секунд. Надёжность — восстановление после сбоя ≤5 секунд в 95% случаев. Безопасность — защита от несанкционированного доступа (логин + пароль). Внутренние (важны для разработки и поддержки): Эффективность — приложение ≤200 Мб при публикации в AppStore/Google Play. Модифицируемость — версия с историей изменений для отката. Переносимость — поддержка iOS и Android без полной переписки. Повторное использование — функциональность техподдержки едина для разных сценариев. Масштабируемость — загрузка изображений ≤1 секунды даже при +60% пользователей. Тестируемость — отслеживание результатов тестирования в одном пространстве. 💡 Итог Функциональные требования описывают возможности системы, а нефункциональные — качество и способ их реализации. Аналитику важно уметь переводить «размытые пожелания» заказчика в чёткие и проверяемые формулировки. Это помогает команде не только сделать продукт, но и сделать его качественным.