Files
hotel-analysis/REQUIREMENTS.md
2026-01-12 22:42:22 +03:00

19 KiB
Raw Blame History

Требования к приложению HotelTask

Содержание

  1. Функциональные требования
  2. Нефункциональные требования

1. Функциональные требования (FR)

1.1 Управление пользователями (FR-USER)

ID Требование Приоритет MVP
FR-USER-001 Система должна обеспечивать регистрацию пользователей High Да
FR-USER-002 Система должна обеспечивать авторизацию пользователей High Да
FR-USER-003 Система должна поддерживать назначение ролей пользователям High Да
FR-USER-004 Система должна позволять редактировать профиль пользователя Medium Да
FR-USER-005 Система должна позволять деактивировать пользователей Medium Да
FR-USER-006 Система должна поддерживать привязку пользователя к подразделению High Да

1.2 Роли и права доступа (FR-ROLE)

ID Требование Приоритет MVP
FR-ROLE-001 Система должна поддерживать роль "Администратор системы" с полным доступом High Да
FR-ROLE-002 Система должна поддерживать роль "Менеджер/Супервайзер" для управления задачами High Да
FR-ROLE-003 Система должна поддерживать роль "Линейный сотрудник" для выполнения задач High Да
FR-ROLE-004 Система должна поддерживать API-доступ для внешних систем High Да
FR-ROLE-005 Система должна позволять настраивать гранулярные права доступа Medium Нет

1.3 Управление задачами (FR-TASK)

ID Требование Приоритет MVP
FR-TASK-001 Система должна позволять создавать задачу с названием и описанием High Да
FR-TASK-002 Система должна поддерживать типы задач (уборка, ремонт, обслуживание и т.д.) High Да
FR-TASK-003 Система должна поддерживать приоритеты задач (низкий, средний, высокий, срочный) High Да
FR-TASK-004 Система должна позволять указывать срок выполнения задачи High Да
FR-TASK-005 Система должна позволять назначать ответственного сотрудника High Да
FR-TASK-006 Система должна позволять назначать супервайзера задачи Medium Да
FR-TASK-007 Система должна позволять редактировать задачу High Да
FR-TASK-008 Система должна позволять удалять задачу (при наличии прав) Medium Да
FR-TASK-009 Система должна позволять переназначать исполнителей High Да
FR-TASK-010 Система должна поддерживать трекинг времени выполнения задачи Medium Нет
FR-TASK-011 Система должна позволять создавать встречную задачу Medium Нет

1.4 Статусы задач (FR-STATUS)

ID Требование Приоритет MVP
FR-STATUS-001 Система должна поддерживать статус "Новая" High Да
FR-STATUS-002 Система должна поддерживать статус "В работе" High Да
FR-STATUS-003 Система должна поддерживать статус "Ожидает" High Да
FR-STATUS-004 Система должна поддерживать статус "Выполнена" High Да
FR-STATUS-005 Система должна поддерживать статус "Пауза" Medium Да
FR-STATUS-006 Система должна поддерживать статус "Отменена" Medium Да
FR-STATUS-007 Сотрудник должен иметь возможность менять статус своих задач High Да

1.5 Уведомления (FR-NOTIFY)

ID Требование Приоритет MVP
FR-NOTIFY-001 Система должна уведомлять сотрудника о назначении новой задачи (push) High Да
FR-NOTIFY-002 Система должна уведомлять менеджера о завершении задачи High Да
FR-NOTIFY-003 Система должна отправлять напоминания о приближении срока выполнения Medium Да
FR-NOTIFY-004 Система должна поддерживать настройку типов уведомлений для пользователя Low Нет

1.6 Комментарии и вложения (FR-ATTACH)

ID Требование Приоритет MVP
FR-ATTACH-001 Система должна позволять добавлять комментарии к задачам High Да
FR-ATTACH-002 Система должна позволять прикреплять фотографии к задачам High Да
FR-ATTACH-003 Система должна позволять прикреплять файлы к задачам Medium Да
FR-ATTACH-004 Система должна сохранять историю изменений задачи Medium Да
ID Требование Приоритет MVP
FR-SEARCH-001 Система должна обеспечивать поиск задач по названию High Да
FR-SEARCH-002 Система должна обеспечивать поиск задач по описанию Medium Да
FR-SEARCH-003 Система должна обеспечивать фильтрацию по статусу High Да
FR-SEARCH-004 Система должна обеспечивать фильтрацию по приоритету High Да
FR-SEARCH-005 Система должна обеспечивать фильтрацию по сотруднику High Да
FR-SEARCH-006 Система должна обеспечивать фильтрацию по дате выполнения Medium Да
FR-SEARCH-007 Система должна обеспечивать фильтрацию по типу задачи Medium Да

1.8 Отчеты и аналитика (FR-REPORT)

ID Требование Приоритет MVP
FR-REPORT-001 Система должна предоставлять отчет по выполненным задачам за период Medium Нет
FR-REPORT-002 Система должна предоставлять статистику по сотрудникам Medium Нет
FR-REPORT-003 Система должна предоставлять статистику по типам задач Medium Нет
FR-REPORT-004 Система должна предоставлять процент просроченных задач Medium Нет

1.9 Интеграции (FR-INT)

ID Требование Приоритет MVP
FR-INT-001 Система должна получать бронирования из PMS с информацией о гостях и номерах High Да
FR-INT-002 Система должна получать статус номера из PMS High Да
FR-INT-003 Система должна изменять статус номера в PMS High Да
FR-INT-004 Система должна взаимодействовать с Консьерж Resonline Medium Нет
FR-INT-005 Система должна поддерживать подключение произвольных адаптеров High Да
FR-INT-006 Адаптер должен регистрировать поддерживаемые типы событий High Да

1.10 Управление связями между системами (FR-CONN)

ID Требование Приоритет MVP
FR-CONN-001 Система должна позволять настраивать маршрутизацию событий между адаптерами High Да
FR-CONN-002 Система должна предоставлять интерфейс для настройки связей (событие из А -> Б, В, Г) High Да
FR-CONN-003 Система должна хранить реестр подключенных адаптеров и их возможностей High Да

1.11 Планировщик задач (FR-SCHED)

ID Требование Приоритет MVP
FR-SCHED-001 Система должна поддерживать создание регулярных/периодических задач Medium Нет
FR-SCHED-002 Система должна автоматически создавать задачи по расписанию Medium Нет

1.12 Модуль мероприятий (FR-EVENT)

ID Требование Приоритет MVP
FR-EVENT-001 Система должна позволять описывать мероприятие Low Нет
FR-EVENT-002 Система должна автоматически декомпозировать мероприятие на задачи Low Нет
FR-EVENT-003 Система должна поддерживать массовое создание связанных задач Low Нет
FR-EVENT-004 Система должна формировать документ "функшн" на основе данных мероприятия Low Нет

1.13 Специализированный интерфейс горничных (FR-HOUSE)

ID Требование Приоритет MVP
FR-HOUSE-001 Система должна предоставлять интерфейс с пошаговым процессом уборки Medium Нет
FR-HOUSE-002 Система должна требовать фото до и после уборки Medium Нет
FR-HOUSE-003 Система должна фиксировать время начала и окончания уборки Medium Нет

1.14 Интерфейс для гостей (FR-GUEST)

ID Требование Приоритет MVP
FR-GUEST-001 Система должна предоставлять интерфейс для гостей (бот/веб) Low Нет
FR-GUEST-002 Система должна предоставлять набор базовых услуг с кнопками Low Нет
FR-GUEST-003 Система должна автоматически создавать задачи из запросов гостей Low Нет

2. Нефункциональные требования (NFR)

2.1 Производительность (NFR-PERF)

ID Требование Значение
NFR-PERF-001 Время отклика API при стандартной нагрузке < 500ms
NFR-PERF-002 Время отклика API для критических операций < 200ms
NFR-PERF-003 Прогнозируемое количество пользователей на отель 20-50
NFR-PERF-004 Одновременных подключений на отель до 100
NFR-PERF-005 Пропускная способность системы 1000 задач/час на отель

2.2 Доступность (NFR-AVAIL)

ID Требование Значение
NFR-AVAIL-001 Доступность системы (SLA) 99.5%
NFR-AVAIL-002 Допустимое время простоя в месяц < 3.6 часа
NFR-AVAIL-003 RTO (Recovery Time Objective) 1 час
NFR-AVAIL-004 RPO (Recovery Point Objective) 15 минут

2.3 Масштабируемость (NFR-SCALE)

ID Требование Описание
NFR-SCALE-001 Система должна поддерживать горизонтальное масштабирование сервисов Микросервисная архитектура
NFR-SCALE-002 Система должна поддерживать добавление новых адаптеров без изменения ядра Plugin architecture
NFR-SCALE-003 Система должна поддерживать мультитенантность Несколько отелей на одной инсталляции

2.4 Безопасность (NFR-SEC)

ID Требование Описание
NFR-SEC-001 Все API-запросы должны быть аутентифицированы JWT/OAuth2
NFR-SEC-002 Передача данных должна быть зашифрована HTTPS/TLS 1.3
NFR-SEC-003 Пароли должны храниться в зашифрованном виде bcrypt/argon2
NFR-SEC-004 Система должна вести журнал аудита audit-service
NFR-SEC-005 Система должна поддерживать RBAC Ролевая модель доступа
NFR-SEC-006 Система должна защищать от основных OWASP уязвимостей SQL injection, XSS, CSRF

2.5 Совместимость (NFR-COMPAT)

ID Требование Описание
NFR-COMPAT-001 Веб-интерфейс должен корректно работать в современных браузерах Chrome, Firefox, Safari, Edge (последние 2 версии)
NFR-COMPAT-002 Веб-интерфейс должен быть адаптивным Mobile-first design
NFR-COMPAT-003 Мобильное приложение должно поддерживать Android Android 8.0+
NFR-COMPAT-004 Мобильное приложение должно поддерживать iOS iOS 14+

2.6 Поддерживаемость (NFR-MAINT)

ID Требование Описание
NFR-MAINT-001 Код должен быть покрыт unit-тестами > 70% coverage
NFR-MAINT-002 Система должна предоставлять метрики для мониторинга Prometheus-compatible
NFR-MAINT-003 Система должна предоставлять структурированные логи JSON format
NFR-MAINT-004 Документация API должна быть в формате OpenAPI Swagger/OpenAPI 3.0
NFR-MAINT-005 Модульная структура для возможности продажи отдельных модулей Loosely coupled services

2.7 Локализация (NFR-L10N)

ID Требование Описание
NFR-L10N-001 Интерфейс должен поддерживать русский язык Primary
NFR-L10N-002 Интерфейс должен поддерживать английский язык Secondary
NFR-L10N-003 Система должна поддерживать добавление новых языков i18n ready

2.8 Инфраструктура (NFR-INFRA)

ID Требование Технология
NFR-INFRA-001 База данных PostgreSQL
NFR-INFRA-002 Кэширование Redis
NFR-INFRA-003 Файловое хранилище S3-compatible
NFR-INFRA-004 Очередь сообщений Apache Kafka
NFR-INFRA-005 Backend-сервисы Python
NFR-INFRA-006 Web Admin Frontend TypeScript, React
NFR-INFRA-007 API Gateway REST API, gRPC, WebSocket

2.9 Надежность доставки сообщений (NFR-MSG)

ID Требование Описание
NFR-MSG-001 Гарантия доставки сообщений At-least-once delivery
NFR-MSG-002 Сообщения должны сохраняться при недоступности получателя Kafka persistence
NFR-MSG-003 Система должна поддерживать retry-механизм Exponential backoff
NFR-MSG-004 Система должна поддерживать dead-letter queue DLQ для необработанных сообщений

3. Глоссарий

Термин Описание
PMS Property Management System - система управления отелем
Адаптер Компонент, обеспечивающий интеграцию с внешней системой
Событие Стандартизированное сообщение, передаваемое между системами через Kafka
Задача Единица работы в системе с назначенным исполнителем и статусом
Функшн Документ с описанием мероприятия и задач для служб отеля
Хаускипинг Служба уборки номеров
Хаусмен Сотрудник, отвечающий за перестановку мебели и оборудования