Разработка автоматизированной информационной системы «Управление транспортом»
|
Введение
1 Разработка серверных приложений приема навигационных данных и мониторинга
1.1 Предпроектное исследование серверной части АИС 16
1.2 Техническое задание на разработку сервера 18
1.3 Разработка архитектуры АИС 19
1.4 Выбор технологий, методов и средств разработки 22
1.4.1 Язык программирования C++ 22
1.4.2 Фреймворк QT 23
1.4.3 RabbitMQ 24
1.4.4 PostgreSQL 25
1.4.5 PostGIS 26
1.4.6 Протоколы обмена телеметрическими данными 27
1.5 Проектирование серверных приложений 40
1.6 Разработка серверных приложений 44
1.6.1 Подготовка к разработке 44
1.6.2 Разработка модуль менеджера 45
1.6.3 Разработка модуля конфигурации 48
1.6.4 Разработка модуля ведения логов 49
1.6.5 Разработка модуля для работы с очередью сообщений 50
1.6.6 Разработка модуля подключения к базе данных 51
1.6.7 Реализация модуля для сохранения навигационных данных 52
1.6.8 Разработка модуля для работы с протоколом EGTS 53
1.6.9 Разработка модуля для работы по протоколу NavTelecom 60
1.6.10 Проверка работоспособности программы 62
2 Разработка API обмена данными между клиентскими и серверными приложениями АИС «Управление транспортом» 65
2.1 Теоретический анализ. Разработка базы данных 65
2.1.1 Теория и анализ необходимых средств разработки REST API 65
2.1.2 Описание данных. Проектирование и разработка базы данных 78
2.2 Описание процессов извлечения и обработки данных. Разработка алгоритмов обработки данных 85
2.3 Разработка API обмена данными 94
3 Разработка клиентского приложения АИС «Управление транспортом» 111
3.1 Предпроектное исследование клиентской части АИС «Управление транспортом»
3.2 Составление частного ТЗ разработки клиентской приложения АИС 121
3.3 Проектирование клиентского приложения АИС 128
3.4 Разработка клиентского приложения АИС 137
3.4.1 Разработка модуля «Регулятор» 137
3.4.3 Разработка модуля «Карта» 158
3.4.4 Управление состоянием приложения на примере компонента элементов управления картой
3.4.5 Разработка компонента «Контрольная точка» 172
3.4.6 Разработка компонента «Маршруты» 179
4.1 Предпроектное исследование модуля составления расписания пассажирских перевозок 187
4.1.1 Алгоритмы составления расписания для городского транспорта 187
4.1.2 Анализ алгоритмов составления расписания для междугородних пассажирских перевозок ..195
4.2 Разработка технического задания модуля составления расписания пассажирских перевозок ..210
4.3 Проектирование модуля 213
4.3.1 Разработка диаграмм: UML, IDEF 213
4.3.2 Проектирование базы данных 226
4.4 Разработка программного средства прогнозирования расписания общественного транспорта 239
4.4.1 Проектирование структуры и функционала модуля 239
4.4.2 Выбор архитектурного решения 244
4.5.1 Создание базы данных проекта 253
4.5.2 Реализация модулей программного средства 258
4.5.3 Тестирования разработанной системы 261
Заключение к главе 4 268
Список использованных источников 269
ПРИЛОЖЕНИЕ А 275
ПРИЛОЖЕНИЕ Б 279
1 Разработка серверных приложений приема навигационных данных и мониторинга
1.1 Предпроектное исследование серверной части АИС 16
1.2 Техническое задание на разработку сервера 18
1.3 Разработка архитектуры АИС 19
1.4 Выбор технологий, методов и средств разработки 22
1.4.1 Язык программирования C++ 22
1.4.2 Фреймворк QT 23
1.4.3 RabbitMQ 24
1.4.4 PostgreSQL 25
1.4.5 PostGIS 26
1.4.6 Протоколы обмена телеметрическими данными 27
1.5 Проектирование серверных приложений 40
1.6 Разработка серверных приложений 44
1.6.1 Подготовка к разработке 44
1.6.2 Разработка модуль менеджера 45
1.6.3 Разработка модуля конфигурации 48
1.6.4 Разработка модуля ведения логов 49
1.6.5 Разработка модуля для работы с очередью сообщений 50
1.6.6 Разработка модуля подключения к базе данных 51
1.6.7 Реализация модуля для сохранения навигационных данных 52
1.6.8 Разработка модуля для работы с протоколом EGTS 53
1.6.9 Разработка модуля для работы по протоколу NavTelecom 60
1.6.10 Проверка работоспособности программы 62
2 Разработка API обмена данными между клиентскими и серверными приложениями АИС «Управление транспортом» 65
2.1 Теоретический анализ. Разработка базы данных 65
2.1.1 Теория и анализ необходимых средств разработки REST API 65
2.1.2 Описание данных. Проектирование и разработка базы данных 78
2.2 Описание процессов извлечения и обработки данных. Разработка алгоритмов обработки данных 85
2.3 Разработка API обмена данными 94
3 Разработка клиентского приложения АИС «Управление транспортом» 111
3.1 Предпроектное исследование клиентской части АИС «Управление транспортом»
3.2 Составление частного ТЗ разработки клиентской приложения АИС 121
3.3 Проектирование клиентского приложения АИС 128
3.4 Разработка клиентского приложения АИС 137
3.4.1 Разработка модуля «Регулятор» 137
3.4.3 Разработка модуля «Карта» 158
3.4.4 Управление состоянием приложения на примере компонента элементов управления картой
3.4.5 Разработка компонента «Контрольная точка» 172
3.4.6 Разработка компонента «Маршруты» 179
4.1 Предпроектное исследование модуля составления расписания пассажирских перевозок 187
4.1.1 Алгоритмы составления расписания для городского транспорта 187
4.1.2 Анализ алгоритмов составления расписания для междугородних пассажирских перевозок ..195
4.2 Разработка технического задания модуля составления расписания пассажирских перевозок ..210
4.3 Проектирование модуля 213
4.3.1 Разработка диаграмм: UML, IDEF 213
4.3.2 Проектирование базы данных 226
4.4 Разработка программного средства прогнозирования расписания общественного транспорта 239
4.4.1 Проектирование структуры и функционала модуля 239
4.4.2 Выбор архитектурного решения 244
4.5.1 Создание базы данных проекта 253
4.5.2 Реализация модулей программного средства 258
4.5.3 Тестирования разработанной системы 261
Заключение к главе 4 268
Список использованных источников 269
ПРИЛОЖЕНИЕ А 275
ПРИЛОЖЕНИЕ Б 279
В данной комплексной работе рассматривается проектирование и разработка АИС «Управление транспортом». Каждый раздел посвящен определенному модулю системы и подробно рассматривает каждый этап её разработки, от анализа предметной области до её реализации. Объектом, рассматриваемым в данной работе, является транспортная система. АИС не привязана к определенному городу и должна быть достаточно гибкой в отношении географического местоположения.
Актуальность данной работы достаточно высока. Современный мир продолжает осваивать и использовать информационные технологии все большими темпами. Каждая кампания и предприятие стараются опередить своих конкурентов и использование передовых программ стало уже не просто преимуществом, но и необходимостью.
Реализация приложения подобного масштаба позволит существенно упростить работу как управленческого персонала транспортной системы, так и водителей. Простой и легкий в освоении интерфейс позволит быстро изучить данную АИС и запустить в эксплуатацию.
Задачами данной работы являются:
- сбор, анализ научно-технической информации, отечественного и зарубежного опыта по тематике исследования;
- углубление знаний и навыков по проектированию, внедрению и сопровождению информационных систем и технологий на производстве;
- исследование процессов функционирования АИС «Управление транспортом»;
- выбор методов и средств моделирования процессов функционирования АИС «Управления транспортом»;
Целями выполнения данной работы являются:
- Теоретический анализ предметной области;
- Выбор среды разработки;
- Моделирование и построение алгоритмов;
- Разработка серверных приложений приема навигационных данных и мониторинга;
- Разработка API обмена данными между клиентскими и серверными приложениями АИС «Управление транспортом»;
- Разработка базы данных для АИС «Управления транспортом»;
- Разработка клиентского приложения АИС «Управление транспортом»;
- Разработка модуля составления расписания.
Разрабатываемая система должна соответствовать государственным и международным стандартам, а также требованиям, предъявляемым заказчиком.
В ходе выполнения работы необходимо использовать материал, полученный в ходе обучения и приобрести новые навыки разработки приложений. Необходимо проанализировать существующие решения и методики реализации поставленных задач и выбрать наиболее оптимальное решение.
Данная дипломная работа состоит из четырех частей. Первая часть описывает реализацию серверного приложения, направленного на прием, хранение и сортировку данных о перемещении транспортных средств. Вторая часть описывает API, направленный на прием и обработку запросов со стороны WEB-клиента. В третьей части работы описывается клиентская WEB-часть со всем её обширным функционалом. Четвертая часть описывает разработку интерфейса модуля составления расписания.
Актуальность данной работы достаточно высока. Современный мир продолжает осваивать и использовать информационные технологии все большими темпами. Каждая кампания и предприятие стараются опередить своих конкурентов и использование передовых программ стало уже не просто преимуществом, но и необходимостью.
Реализация приложения подобного масштаба позволит существенно упростить работу как управленческого персонала транспортной системы, так и водителей. Простой и легкий в освоении интерфейс позволит быстро изучить данную АИС и запустить в эксплуатацию.
Задачами данной работы являются:
- сбор, анализ научно-технической информации, отечественного и зарубежного опыта по тематике исследования;
- углубление знаний и навыков по проектированию, внедрению и сопровождению информационных систем и технологий на производстве;
- исследование процессов функционирования АИС «Управление транспортом»;
- выбор методов и средств моделирования процессов функционирования АИС «Управления транспортом»;
Целями выполнения данной работы являются:
- Теоретический анализ предметной области;
- Выбор среды разработки;
- Моделирование и построение алгоритмов;
- Разработка серверных приложений приема навигационных данных и мониторинга;
- Разработка API обмена данными между клиентскими и серверными приложениями АИС «Управление транспортом»;
- Разработка базы данных для АИС «Управления транспортом»;
- Разработка клиентского приложения АИС «Управление транспортом»;
- Разработка модуля составления расписания.
Разрабатываемая система должна соответствовать государственным и международным стандартам, а также требованиям, предъявляемым заказчиком.
В ходе выполнения работы необходимо использовать материал, полученный в ходе обучения и приобрести новые навыки разработки приложений. Необходимо проанализировать существующие решения и методики реализации поставленных задач и выбрать наиболее оптимальное решение.
Данная дипломная работа состоит из четырех частей. Первая часть описывает реализацию серверного приложения, направленного на прием, хранение и сортировку данных о перемещении транспортных средств. Вторая часть описывает API, направленный на прием и обработку запросов со стороны WEB-клиента. В третьей части работы описывается клиентская WEB-часть со всем её обширным функционалом. Четвертая часть описывает разработку интерфейса модуля составления расписания.
В результате выполнения работы достигнута поставленная цель: разработан модуль расписания общественного транспорта. При достижении цели решены следующие задачи:
проведен анализ алгоритмов составления расписания пассажирских перевозок;
разработан проект модуля расписания общественного транспорта;
реализован прототип программного средства прогнозирования расписания общественного транспорта.
Основными технологиями создания модуля выбраны: язык гипертекстовой разметки HTML, который служит для наглядного и хорошо структурированного представления информации; SQL - универсальный компьютерный язык, применяемый для создания, модификации и управления данными в реляционных базах данных; Docker – как инструмент организации окружения для реализации проекта; phpMyAdmin - веб-приложение с открытым кодом, написанное на языке PHP, представляющее собой веб-интерфейс для администрирования СУБД MySQL.
проведен анализ алгоритмов составления расписания пассажирских перевозок;
разработан проект модуля расписания общественного транспорта;
реализован прототип программного средства прогнозирования расписания общественного транспорта.
Основными технологиями создания модуля выбраны: язык гипертекстовой разметки HTML, который служит для наглядного и хорошо структурированного представления информации; SQL - универсальный компьютерный язык, применяемый для создания, модификации и управления данными в реляционных базах данных; Docker – как инструмент организации окружения для реализации проекта; phpMyAdmin - веб-приложение с открытым кодом, написанное на языке PHP, представляющее собой веб-интерфейс для администрирования СУБД MySQL.



