Общественный транспорт играет важную роль в современном обществе. Даже несмотря на рост обеспеченности населения личными автомобилями, он остается одной из важнейших составляющих городской инфраструктуры и выполняет ряд важнейших социальных функций [1].
Транспортная система и информационные технологии (ИТ) неразрывно связаны между собой. Благодаря ИТ ускоряются различные процессы: получение заказа или же доставка груза, обеспечение безопасности перевозки пассажиров, сокращение затрат на топливо и т.д. [2].
Основанием для данного исследования является находящееся на достаточно низком уровне справочно-информационное обслуживание пассажиров общественного транспорта. Разработка и внедрение автоматизированной справочной системы даст следующие преимущества: значительное повышение удобства за счет единой информационной системы; повышение качества и скорости получения необходимых данных; обеспечение достоверности информации.
Целью данной работы является разработка автоматизированной справочной системы общественного транспорта, предоставляющая возможность составления расписания, просмотра данных о маршруте, поиска маршрута общественного транспорта, получения информации об остановках и т.д.
Перед тем как разработать любое программное обеспечение, требуется сначала произвести анализ уже существующих решений. Для решения проблем автоматизации информационных систем, предоставляющих актуальную информацию о передвижении общественного транспорта для граждан, используются такие системы, как:
1. Moovitapp – приложение для получения информации об общественном транспорте и навигации. Пользователи могут увидеть близлежащие остановки и станции на карте, а также планировать поездки на всех видах транспорта на основе данных в реальном времени. Приложение постоянно взаимодействует с GPS-модулем устройства и сообщает подробную информацию о местонахождении. Сервис использует собственные базы данных, а также активно контактирует с постоянными пользователями.
2. Routes – сервис, помогающий спланировать наилучший маршрут для поездок по городу с учетом всех видов транспорта, их графика движения и сбоев. Основные возможности приложения – это отслеживание передвижения автобусов, трамваев и троллейбусов, а также пригородных электричек и метрополитена. Из полезных функций следует отметить расчет времени, необходимого для того, чтобы дойти до остановки.
3. Карты Google, Yandex и др. Карты позволяют прокладывать маршруты не только автомобилистам, но и пешеходам. Они позволяют отслеживать местоположение, прокладывать маршруты, искать объекты на карте, а также получать информацию о трафике и общественном транспорте.
Перечисленные в анализе программные продукты при своих больших достоинствах имеют также и недостатки. Среди недостатков можно выделить то, что многие сервисы бесплатны для физических лиц, а юридическим лицам обходятся дорого, многие из них являются импортными программными продуктами, что также сказывается и на достоверности предоставляемой информации. Все эти факты подтверждают актуальность разработки отечественных программных продуктов автоматизации информационных систем общественного транспорта.
Для достижения поставленной в данной работе цели требуется решить следующие задачи: выбрать архитектуру разрабатываемой системы; привести требования к системе; обосновать выбор инструментов разработки; привести описание разработанной системы.
В разработанной информационной системе основной структурный элемент составляет прикладное программное обеспечение для операционной системы Windows, параллельно функционирующее с веб-приложением. Обе части системы взаимодействуют через общую базу данных, обеспечивая единую информационную платформу. Такая архитектура позволяет эффективно управлять данными и обеспечивает согласованность информационного обмена между локальным программным обеспечением и веб-приложением, создавая единую и целостную информационную среду.
Требования к функциональным характеристикам:
− вывод данных о маршрутах городского транспорта;
− предоставление удобного пользовательского интерфейса для работы с программой;
− обеспечение быстрого доступа к информации;
− возможность построить маршрут из точки А в точку Б;
− поиск автобусных рейсов;
− поиск по всем маршрутам в системе.
Модуль администрирования должен решать следующие задачи:
− добавление новых маршрутов в базы данных;
− добавление автобусных рейсов в базы данных;
− ввод данных;
− редактирование данных;
− удаление данных.
В роли связующего звена в данной информационной системе выступает база данных, которая реализуется средствами системы управления базами данных «Microsoft SQL Server». Поэтому следует уделить большое внимание проработке данной части разработки. Проектирование баз данных обычно разделяется на три основных уровня: концептуальное, логическое и физическое.
Самое точное и детализированное проектирование базы данных происходит на уровне физического проектирования. Этот уровень предоставляет спецификации, необходимые для создания реальной базы данных, учитывая конкретные особенности СУБД и требования к производительности. Очевидная задача, которую необходимо выполнить при создании автоматизированной информационной системы – построение структуры базы данных. Структурирование данных является одним из важных аспектов проектирования БД, важно для обеспечения эффективного хранения и обработки информации. Одним из ключевых инструментов достижения этой цели являются нормальные формы, которые определяют, каким образом данные должны быть структурированы и организованы в базе данных. Нормальные формы являются формальными правилами, которые определяют, какие типы зависимостей должны существовать между атрибутами таблицы, чтобы база данных была эффективной, надежной и безопасной [3]. Учитывая вышеизложенное, логично будет представить структуру базы данных в форме физического проектирования. Структура проектируемой базы данных, соответствующая первым трем нормальным формам, представлена на рис. 1.
Структура базы данных, представленная на рис. 1, содержит в себе следующие таблицы:
1. Таблица «Users» содержит информацию о пользователях системы, включая их идентификаторы, имена, фамилии, электронные адреса, пароли и типы пользователей.
2. Таблица «Routes» хранит данные о маршрутах, предоставляя информацию об их идентификаторах, названиях, времени начала и окончания, стоимости, типах транспорта, а также идентификаторах начальных и конечных остановок.
3. Таблица «Stops» содержит информацию об остановках, включая уникальные идентификаторы, названия и координаты.
4. Таблица «RouteStops» предоставляет связи между маршрутами и остановками, включая уникальные идентификаторы, идентификаторы маршрутов и остановок.
5. Таблица «TransportTypes» содержит данные о типах транспорта, включая их уникальные идентификаторы и названия.
Эти таблицы представляют основную структуру базы данных, обеспечивая необходимую функциональность для взаимодействия между приложениями под Windows и веб-приложением в рамках данного проекта.
Рис. 1. Структура базы данных
Рис. 2. Главное окно desktop-приложения
Для разработки desktop-приложения в данном проекте использовалась среда разработки Visual Studio 2019 и язык программирования С#.
Visual Studio – это мощное средство разработчика, которое можно использовать для выполнения всего цикла разработки в одном месте [4, c. 11].
Язык программирования C# – современный объектно-ориентированный и типобезопасный язык программирования. C# широко применяется для разработки разнообразных приложений и входит в выбранную интегрированную среду Visual Studio 2019.
На рис. 2 представлено главное окно desktop-приложения.
Данный интерфейс программы предоставляет возможность динамического взаимодействия с базой данных для управления маршрутами общественного транспорта. Пользователи имеют возможность добавления новых маршрутов и автобусных рейсов, а также просмотра уже существующих маршрутов в системе.
Если требуется добавить новый маршрут, пользователю нужно нажать на кнопку «Добавить новый маршрут», и откроется окно, представленное на рис. 3.
В левой части окна представлены поля, в которые необходимо внести данные о маршруте. Checkbox «Поставить галочку, если маршрут сейчас не работает» уведомляет пользователей о том, что маршрут временно не функционирует. В правой части расположена группа «Маршрут следования», с полями «Начальный пункт (А)», «Конечный пункт (В)» и «Остановки». Группа «Маршрут следования» предназначена для нанесения на карту линий (маршрута) и меток (остановок). После ввода начального и конечного пункта на карте рисуется линия следования маршрута, а после ввода номеров остановок – наносятся метки с информацией об остановке.
Программный модуль веб-приложения разработан с применением современных технологий веб-программирования. Использование веб-приложений обеспечивает широкий доступ пользователей из любого устройства с подключением к интернету. Пользователи могут использовать разные устройства на различных операционных системах, что делает веб-приложения адаптивными. Обслуживание и масштабирование веб-приложений обычно более удобны, что делает их привлекательными для разработки и использования в современной среде [5, c. 27].
Рис. 3. Окно добавления маршрута
Рис. 4. Главная страница веб-приложения
Рис. 5. Сведения об остановке
В процессе разработки веб-приложения использовались: HTML – для структурирования содержимого веб-страниц; CSS – для оформления визуального представления; JavaScript – для добавления интерактивности и динамичности; PHP – для серверной части приложения. Также для облегчения разработки был использован фреймворк Bootstrap. На рис. 4 представлена главная страница веб-приложения проекта.
Главная страница веб-приложения представляет собой интерфейс, где номера маршрутов разделены по видам общественного транспорта. В верхней части страницы реализовано меню, предоставляющее переключение между модулями веб-версии приложения. Пункты меню иллюстрированы иконками, что не только облегчает визуальное восприятие интерфейса, но и помогает пользователю ориентироваться в содержании. Ниже располагаются фильтры и поиск маршрутов. При использовании фильтров выделяется активированный пункт меню, а данные о маршрутах, не соответствующие выбранному фильтру, скрываются. В правой части интерфейса находится поиск по базе маршрутов, который позволяет пользователю быстро найти конкретный маршрут, скрывая остальные результаты.
В случае если человеку требуется просмотреть информацию о проезжающем через определенную остановку маршрутном транспорте, то можно воспользоваться формой, представленной на рис. 5.
В заключение следует отметить, что представленная автоматизированная справочная система, состоящая из desktop-приложения для управления и веб-приложения для предоставления информации гражданам, представляет собой сбалансированную и интегрированную систему для эффективного управления и обслуживания общественного транспорта. Разработанный проект не только облегчит оперативные процессы, но и улучшит общественный сервис в сфере общественного транспорта.