Ответ
Требования к ПО структурируют по уровням детализации и целевой аудитории. Основные уровни:
1. Бизнес-требования (Business Requirements)
- Что это: Высокоуровневые цели организации или заказчика.
- Формат: Документ о видении (Vision), дорожная карта (Roadmap).
- Пример: "Увеличить долю рынка на 15% за счёт запуска мобильного приложения для онлайн-заказов к 2025 году."
2. Пользовательские требования (User Requirements / User Needs)
- Что это: Задачи, которые пользователи должны выполнять с помощью системы.
- Формат: User Stories, Use Case Diagrams, сценарии.
- Пример (User Story): "Как зарегистрированный пользователь, я хочу оплачивать заказ в один клик, чтобы экономить время."
3. Функциональные требования (Functional Requirements / System Requirements)
- Что это: Конкретное, детализированное поведение системы и её компонентов.
- Формат: Техническое задание (SRS), спецификации.
- Пример: "Система должна предоставлять REST API endpoint
POST /api/v1/ordersдля создания заказа. Запрос должен содержать JSON с полямиitemsиshippingAddress. Ответ — JSON сorderIdи статусом201 Created."
4. Нефункциональные требования (Non-Functional Requirements)
- Что это: Качественные характеристики системы и ограничения.
- Категории:
- Производительность: "95% запросов к странице товара должны обрабатываться быстрее 2 секунд при нагрузке 1000 пользователей."
- Безопасность: "Все пароли должны храниться в хэшированном виде с использованием алгоритма bcrypt."
- Удобство использования (Usability): "Новый пользователь должен совершить первый заказ не более чем за 5 минут."
- Надёжность (Reliability): "Доступность системы (uptime) должна составлять 99.9%."
Связь уровней: Бизнес-цели порождают пользовательские потребности, которые детализируются в функциональные и нефункциональные требования. Тестирование должно покрывать все уровни.