Спецификация проекта

Система «Туристическое бюро» предназначена для автоматизации управления экскурсионными маршрутами, автобусами, экипажами и рейсами. Приложение обеспечивает хранение данных, выполнение операций над ними и формирование отчётов.

Диаграмма классов

Диаграмма классов отражает архитектуру системы и взаимодействие между пользовательским интерфейсом, сервисным слоем, базой данных и структурами данных.

Диаграмма классов

Основные классы

Управляющий уровень

  • Menu — отвечает за взаимодействие с пользователем, обработку ввода и вызов сервисов в зависимости от роли пользователя.

Сервисный уровень

  • AuthService — выполняет аутентификацию пользователей и формирует сессию пользователя.
  • TripService — управляет рейсами.
  • BusService — управляет автобусами.
  • RouteService — управляет маршрутами.
  • ReportService — формирует отчёты и выполняет аналитические запросы.

Уровень доступа к данным

  • Database — обеспечивает подключение к базе данных SQLite, выполнение SQL-запросов и управление транзакциями.

Структуры данных

  • Trip — рейс.
  • Route — маршрут.
  • Bus — автобус.
  • UserSession — информация о текущей сессии пользователя.

Связи между классами

Особенности архитектуры

Диаграмма деятельности

Диаграмма деятельности

Диаграмма деятельности отражает процесс формирования и вывода отчёта по автобусам за указанный период.

Основные этапы

  1. Пользователь задаёт параметры отчёта.
  2. Система проверяет корректность введённых данных.
  3. При ошибке выводится сообщение, и процесс завершается.
  4. При корректных данных формируется запрос к базе данных.
  5. База данных возвращает данные, система вычисляет статистику и формирует текстовый отчёт.
  6. Результат выводится пользователю.

Диаграмма последовательности

Диаграмма последовательности

Диаграмма последовательности показывает взаимодействие компонентов системы при формировании и выводе отчёта по автобусам за указанный период.

Основной сценарий

Альтернативный сценарий

Диаграмма компонентов

Диаграмма компонентов

Диаграмма компонентов отражает архитектуру системы и взаимодействие между её основными частями.

Основные компоненты

Общая логика работы

  1. Пользователь взаимодействует с компонентом Menu.
  2. Menu вызывает соответствующий сервис.
  3. Сервис обрабатывает запрос и при необходимости обращается к Database.
  4. Результат возвращается пользователю через Menu.

Диаграмма развертывания

Диаграмма развертывания

Диаграмма развертывания показывает физическое размещение компонентов системы и их взаимодействие в процессе выполнения.

Основные элементы

Взаимодействие компонентов

Вывод

Разработанная спецификация описывает архитектуру системы, её структуру и поведение. UML-диаграммы наглядно показывают взаимодействие компонентов и служат основой для дальнейшей реализации проекта.