Skip to main content

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


UC-001: Регистрация и аутентификация пользователя

РазделОписание
IDUC-001
НазваниеРегистрация и вход в систему
АкторыНезарегистрированный пользователь
ПредусловияПользователь открыл веб-приложение и хочет воспользоваться функционалом веб-приложения
Основной потокРегистрация:
1. Пользователь нажимает кнопку «Войти / Зарегистрироваться».
2. Система отображает форму с выбором: «Вход» или «Регистрация».
3. Пользователь выбирает «Регистрация».
4. Система показывает форму регистрации с полями: Имя, Email, Пароль, Подтверждение пароля.
5. Пользователь заполняет обязательные поля и нажимает «Зарегистрироваться».
6. Система проверяет уникальность email и корректность формата данных.
7. Система создаёт учётную запись и перенаправляет пользователя на страницу входа.

Вход:
8. Пользователь выбирает «Вход».
9. Вводит email и пароль, нажимает «Войти».
10. Система проверяет учётные данные и создаёт сессию.
ПостусловияПользователь вошёл в систему
Альтернативный поток 1Email уже занят (точка входа: шаг 6)
6.1. Система сообщает об ошибке и предлагает войти или использовать другой email.
Альтернативный поток 2Неверный пароль (точка входа: шаг 10)
10.1. Система сообщает о неверной паре email/пароль.
Исключительный поток 1Ошибка сервера (точка входа: шаг 7)
7.1. Отображается сообщение «Не удалось завершить регистрацию. Попробуйте позже».
Исключительный поток 2Ошибка сервера (точка входа: шаг 10)
10.1. Отображается сообщение «Не удалось войти в систему. Попробуйте позже».

UC-002: Поиск ресторанов с фильтрацией

РазделОписание
IDUC-002
НазваниеПоиск ресторанов с применением фильтров
АкторыАвторизованный пользователь
ПредусловияПользователь находится на странице каталога ресторанов
Основной поток1. Пользователь открывает панель фильтров и указывает параметры: тип кухни, средний чек, наличие детского меню, расположение (район, метро).
2. Пользователь нажимает кнопку «Найти».
3. Система применяет фильтры к базе ресторанов-партнёров.
4. Система отображает список ресторанов, соответствующих критериям.
5. Пользователь может отсортировать результаты по рейтингу.
ПостусловияПользователь видит отфильтрованный список ресторанов
Альтернативный поток 1Нет результатов поиска с выбранными фильтрами (точка входа: шаг 4)
4.1. Система отображает сообщение «Ничего не найдено» и предлагает изменить фильтры.
Бизнес-правилаДля MVP запускаем для города Москва. Выбор города: автоматически Москва

UC-003: Просмотр детальной информации о ресторане и выбор столика

РазделОписание
IDUC-003
НазваниеПросмотр детальной информации и выбор столика
АкторыАвторизованный пользователь
ПредусловияПользователь перешёл на страницу ресторана
Основной поток1. Система отображает детальную страницу ресторана: описание, фотографии, контакты, часы работы.
2. Система показывает интерактивный план зала с отображением столиков.
3. При наведении на столик отображаются его характеристики: количество мест, расположение (у окна, на веранде и т.п.).
4. Пользователь выбирает столик и нажимает на него.
5. Система отображает календарь и временные слоты для выбранного столика (с учётом доступности, полученной от внешней системы ресторана).
ПостусловияПользователь выбрал столик

UC-004: Онлайн-бронирование столика

РазделОписание
IDUC-004
НазваниеОнлайн-бронирование столика
АкторыАвторизованный пользователь
ПредусловияПользователь аутентифицирован, выбрал ресторан и столик
Основной поток1. Пользователь выбирает дату и время и нажимает кнопку «Забронировать».
2. Система отображает экран подтверждения брони с деталями: ресторан, столик, дата, время, количество персон.
3. Система отправляет синхронный запрос на создание брони во внешнюю систему ресторана (API).
4. Внешняя система резервирует столик и возвращает подтверждение с уникальным номером брони.
5. Система сохраняет бронь в своей базе данных и отображает пользователю сообщение об успешном бронировании.
6. Система инициирует отправку email-подтверждения.
ПостусловияБронь создана в обеих системах, пользователь уведомлён
Альтернативный поток 1Выбранный слот занят (точка входа: шаг 4)
4.1. Система показывает сообщение «Столик занят. Выберите другое время».
Исключительный поток 1Внешняя система не отвечает или возвращает ошибку (точка входа: шаг 3)
3.1. Бронь не создаётся, пользователь видит сообщение: «Не удалось забронировать. Попробуйте позже или выберите другой ресторан».
Бизнес-правилаПользователь может иметь не более одной активной брони на одно и то же время в одном ресторане

UC-005: Просмотр бронирований

РазделОписание
IDUC-005
НазваниеПросмотр бронирований
АкторыАвторизованный пользователь
ПредусловияПользователь аутентифицирован
Основной поток1. Пользователь переходит в раздел «Мои бронирования».
2. Система отображает две вкладки: «Предстоящие» и «История».
3. На вкладке «Предстоящие» отображаются будущие брони с кнопкой «Отменить».
4. На вкладке «История» — завершённые и отменённые брони.
5. Пользователь может кликнуть на любую бронь для просмотра деталей.
ПостусловияПользователь ознакомился со своими бронями
Альтернативный поток 1Пустой список (точка входа: шаг 2)
2.1. Система показывает сообщение «У вас пока нет бронирований» и предлагает перейти к каталогу.

UC-006: Отмена брони пользователем

РазделОписание
IDUC-006
НазваниеОтмена брони пользователем
АкторыАвторизованный пользователь
ПредусловияПользователь находится в списке предстоящих броней и выбрал бронь для отмены
Основной поток1. Пользователь нажимает кнопку «Отменить» рядом с бронью.
2. Система запрашивает подтверждение.
3. Пользователь подтверждает отмену.
4. Система отправляет запрос на отмену во внешнюю систему ресторана.
5. Внешняя система подтверждает отмену.
6. Система обновляет статус брони на «Отменена пользователем».
7. Система отображает сообщение об успешной отмене и обновляет список.
8. Система отправляет email-уведомление об отмене.
ПостусловияБронь отменена, столик свободен для других бронирований
Альтернативный поток 1Пользователь отказался от отмены (точка входа: шаг 3)
3.1. Диалог закрывается, бронь сохраняется.
Исключительный поток 1Ошибка внешней системы (точка входа: шаг 4)
4.1. Пользователю показывается сообщение об ошибке и предлагается повторить попытку.

UC-007: Регистрация ресторана

РазделОписание
IDUC-007
НазваниеРегистрация ресторана
АкторыАдминистратор ресторана, администратор платформы
ПредусловияРесторан ещё не зарегистрирован
Основной поток1. Администратор ресторана заполняет заявку на сайте: название, ИНН, контактные данные, email, пароль.
2. Проверка корректности данных.
3. Система отправляет заявку на модерацию.
4. Администратор системы проверяет данные и активирует учётную запись.
5. Ресторан получает уведомление об активации (email) и может войти в личный кабинет.
ПостусловияРесторан зарегистрирован и может настраивать свой профиль
Альтернативный поток 1Отказ в регистрации (точка входа: шаг 3)
3.1. Администратор отклоняет заявку с указанием причины.
3.2. Ресторан получает уведомление.
Исключительный поток 1Ресторан с таким ИНН уже зарегистрирован (точка входа: шаг 2)
2.1. Система проверяет уникальность ИНН.
2.2. Найден ресторан с таким же ИНН.
2.3. Система отклоняет заявку и отображает сообщение: «Ресторан с таким ИНН уже зарегистрирован. Пожалуйста, проверьте данные или восстановите доступ к существующей учётной записи».

UC-008: Управление профилем ресторана

РазделОписание
IDUC-008
НазваниеУправление профилем ресторана
АкторыАдминистратор ресторана, авторизованный в системе
ПредусловияРесторан зарегистрирован, администратор ресторана вошёл в личный кабинет
Основной поток1. Представитель переходит в раздел «Профиль».
2. Редактирует описание, загружает фотографии, указывает тип кухни, средний чек, часы работы, контакты.
3. Сохраняет изменения.
4. Система обновляет данные на витрине для пользователей.
ПостусловияПрофиль обновлён

UC-009: Управление схемой зала и столиками

РазделОписание
IDUC-009
НазваниеУправление схемой зала и столиками
АкторыАдминистратор ресторана, авторизованный в системе
ПредусловияРесторан зарегистрирован
Основной поток1. Администратор использует визуальный редактор для расстановки столиков.
2. Для каждого столика указывает: номер, количество мест, расположение (у окна, на веранде и т.п.), подгружает фотографии столика.
3. Сохраняет схему.
4. Система проверяет корректность данных.
5. Система отображает актуальный план зала пользователям.
ПостусловияПлан зала сохранён и доступен для просмотра и бронирования
Исключительный поток 1Столик с таким номером уже существует (дублирование) (точка входа: шаг 4)
4.1. Система проверяет уникальность номеров столиков.
4.2. Обнаружен конфликт: два столика имеют одинаковый номер.
4.3. Система отображает сообщение: «Обнаружены ошибки в схеме: проверьте номера столиков».
4.4. Пользователя возвращают к редактору схемы столиков.

UC-010: Просмотр бронирований ресторана

РазделОписание
IDUC-010
НазваниеПросмотр бронирований ресторана
АкторыАдминистратор ресторана, авторизованный в системе
ПредусловияРесторан зарегистрирован
Основной поток1. Администратор переходит в раздел «Бронирования».
2. Система отображает список броней с возможностью фильтрации по дате, статусу, столику.
3. Для каждой брони видны: дата, время, столик, имя гостя, контактный телефон, количество персон.
4. Представитель может кликнуть на бронь для просмотра деталей.
ПостусловияРесторан владеет информацией о всех бронях
Исключительный поток 1Ошибка загрузки списка броней (точка входа: шаг 2)
2.1. Система выполняет запрос к базе данных для получения списка броней.
2.2. Происходит сбой (БД недоступна, таймаут).
2.3. Система отображает сообщение: «Не удалось загрузить список броней. Пожалуйста, обновите страницу или попробуйте позже».