Files
StationManager/SPEC.md
2026-04-05 16:14:54 +03:00

3.2 KiB
Raw Blame History

Система учета работы вокзала - Спецификация

1. Обзор

Название: StationManager
Тип: Десктопное приложение (Qt6 + SQLite)
Назначение: Учет продажи билетов на железнодорожном вокзале

2. Функциональность

2.1 Авторизация

  • Форма входа с логином и паролем
  • Хранение пользователей в БД
  • Роли: Администратор, Кассир
  • Админ может добавлять пользователей

2.2 Продажа билетов

  • Выбор рейса из списка
  • Ввод данных пассажира (ФИО, номер документа)
  • Выбор количества билетов
  • Автоматический расчет стоимости
  • Сохранение в базу данных

2.3 Управление рейсами

  • Добавление новых рейсов (маршрут, дата/время, цена, количество мест)
  • Просмотр списка рейсов
  • Редактирование/удаление рейсов

2.4 Печать билетов

  • Фильтрация по номеру рейса
  • Отображение списка проданных билетов
  • Экспорт в текстовый файл для печати

3. Архитектура БД

Таблица users

Поле Тип Описание
id INTEGER PK ID пользователя
username TEXT Логин
password TEXT Пароль (хеш)
role TEXT Роль (admin/cashier)

Таблица routes

Поле Тип Описание
id INTEGER PK ID рейса
route_name TEXT Название маршрута
departure_time TEXT Дата/время отправления
price REAL Цена билета
total_seats INTEGER Всего мест
available_seats INTEGER Свободных мест

Таблица tickets

Поле Тип Описание
id INTEGER PK ID билета
route_id INTEGER FK ID рейса
passenger_name TEXT ФИО пассажира
document_number TEXT Номер документа
seat_count INTEGER Количество билетов
total_price REAL Общая стоимость
seller_id INTEGER FK ID кассира
sale_date TEXT Дата продажи

4. Интерфейс

Окна:

  1. LoginWindow - авторизация
  2. MainWindow - главное окно с меню
  3. RoutesWidget - управление рейсами
  4. TicketsWidget - продажа билетов
  5. PrintWidget - печать списка билетов
  6. UsersWidget - управление пользователями (admin)

Навигация:

  • Боковое меню с переключением между виджетами
  • Строка состояния с информацией о текущем пользователе