Требования к ПО: ФТ vs НФТ
ФТ — ЧТО система делает? НФТ — КАК она это делает?
Аналогия: ФТ — «в доме есть дверь с замком и окна». НФТ — «дом выдерживает -30°C и землетрясение в 5 баллов».
Функциональные требования (ФТ / FR)
Конкретное поведение, бизнес-логика, реакция на действия пользователя.
- Измеримость: бинарная — работает или нет
- Пишет: Product Owner, бизнес-аналитик
- Если не выполнить: продукт не работает
Примеры (интернет-магазин):
[FR-01]Пользователь может добавить товар в корзину[FR-02]При неверном пароле — сообщение «Неверный логин или пароль»[FR-03]После оплаты — email с электронным чеком
Нефункциональные требования (НФТ / NFR)
Атрибуты качества и технические ограничения. Делают продукт быстрым, надёжным, безопасным.
- Измеримость: конкретные цифры (мс, %, RPS)
- Пишет: Tech Lead, Architect, DevOps
- Если не выполнить: продуктом не будут пользоваться
Основные типы:
| Тип | Пример |
|---|---|
| Производительность | Главная страница грузится ≤ 2 сек на 3G |
| Масштабируемость | 10 000 одновременных пользователей без деградации |
| Безопасность | Пароли — bcrypt-хэш, передача данных — только HTTPS |
| Доступность | Uptime 99.9% (~8.7 ч даунтайма в год) |
| Совместимость | Работает в Chrome, Safari, Firefox (последние версии) |
| Удобство | Оформление заказа — не более 3 кликов |
Сравнение
| ФТ | НФТ | |
|---|---|---|
| Фокус | Бизнес-логика | Качество, ограничения |
| Если не выполнить | «Кнопка не работает!» | «Сайт грузится 10 минут, ухожу к конкурентам» |
| Тестирование | Unit, Integration, E2E | Load, Stress, Pentest, Usability |
| Документация | User Stories, Use Cases | SLA, архитектурные спецификации |