
- •Содержание
- •Введение
- •1 Анализ предметной области
- •2 Определение способа реализации
- •2.1 Выбор аппаратной платформы
- •2.2 Выбор операционной системы
- •2.2.1 Особенности архитектуры ос Android
- •2.3 Выбор средств разработки и тестирования
- •2.3.1 Язык Java
- •2.3.3 Интегрированная среда разработки Eclipse
- •3 Функциональные требования к системе
- •4 Разработка проекта
- •4.1 Обзор и решение ключевых задач
- •4.1.1 Определения текущего местоположения
- •4.1.2 Прокладка оптимального маршрута
- •4.1.3 Особенности построения графа дорог в OpenStreetMap
- •4.1.4 Поиск оптимального маршрута
- •4.1.5 Прогнозирование времени прохождения маршрута
- •4.1.6 Диспетчеризация
- •4.2 Графический интерфейс системы
- •4.2.1 Интерфейс арм Курьера
- •4.2.2 Интерфейс арм Диспетчера
- •4.3 Развертывание системы
- •5 Технико-экономическое обоснование дипломного проекта
- •5.1 Swot-анализ
- •5.2 Pest-анализ
- •5.3 Расчет экономических показателей
- •5.4 Расчет затрат на разработку программы
- •5.5 Расчет цены разработанной программы
- •5.6 Расчет капитальных вложений
- •5.7 Расчет эксплуатационных расходов
- •5.8 Расчет денежного годового экономического эффекта
- •6 Безопасность и экологичность дипломного проекта
- •6.1 Электробезопасность
- •6.2 Электромагнитные излучения
- •6.3 Требования к эргономике, освещенности, уровню шума и
- •6.4 Пожарная безопасность
- •Заключение
- •Список использованных источников
- •Приложение а
- •Исходний код программы. Курьерская часть
- •Приложение б
- •Исходний код программы. Диспетчерская часть
- •Приложение в
- •Графический материал
4.2.2 Интерфейс арм Диспетчера
Автоматизированное рабочее место диспетчера функционирует как web-приложение. Существенное преимущество построения web-приложений для поддержки стандартных функций браузера заключается в том, что функции должны выполняться независимо от операционной системы данного клиента. Вместо того чтобы писать различные версии для Microsoft Windows, Mac OS X, GNU/Linux и других операционных систем, приложение создается один раз для произвольно выбранной платформы и на ней разворачивается.
Для работы с АРМ Диспетчера подойдет любой современный браузер (Internet Explorer, Mozilla Firefox, Google Chrome, Safari, Opera). Для мониторинга состояния перевозок выводится карта с отмечеттными на ней маркерами местоположениями курьеров. Под картой располагается удобная таблица, в поторой сведены все сотрудники фирмы, входящие в систему. Указывается их имя, контактный телефон, статус, статусное сообщение и дата последнего обновления местоположения (Рисунок 14).
Рисунок 14 – Мониторинг состояния перевозок в городе Саранск
В правом верхнем углу находится кнопка смены темы отображения, позволяющая выбрать наиболее наглядный вариант (Рисунок 15).
Рисунок 15 – Тема «Night View» отображения карты
По щелчку на соответствующем маркере будет выведено соответствующее облако. В нем будет написано жирным шрифтом имя курьера и статусное сообщения. Сам маркер помечается определенным цветом в зависимости от статуса: зеленый – «Свободен» (Рисунок 16), синий – «Выполняю заказ», желтый – «Перерыв в работе», красный – «Авария» (Рисунок 17).
Рисунок 16 – Свободный курьер обозначен зеленым цветом
Рисунок 17 – Выполняющий заказ курьер помечен синим маркером
4.3 Развертывание системы
АРМ Курьера размещается на коммуникаторах с ОС Android c версией API не ниже 8 (Android 2.2). Для каждого мажорного релиза платформы выпускается новая версия API, к примеру, для Android версии API 2.3.1 – 9, для Android 2.3.3 – 10, и разработанная система будет на них в полной мере функционировать. Детально характеристики платформы Android уже рассмотрены ранее.
Обязательным требованием к устройству является наличие приемника GPS сигнала.
Интерфейс обмена данными GPS приемников реализован в соответствии со спецификацией NMEA, разработанной Национальной Ассоциацией Морской Электроники (National Marine Electronics Association - NMEA), как специальный протокол для поддержания совместимости морского навигационного оборудования различных производителей. Все NMEA сообщения состоят из последовательного набора данных, разделенных запятыми. Каждое отдельное сообщение не зависит от других и является полностью «завершенным». NMEA cообщение включает заголовок, набор данных, представленных ASCII символами, и поле «чексуммы» для проверки достоверности переданной информации.
Каждое NMEA сообщение начинается с «$», заканчивается «n» ( «перевод строки») и не может быть длиннее 80-и символов. Все данные содержаться в одной строке и отделены друг от друга запятыми. Информация представлена в виде ASCII текста и не требует специального декодирования. Если данные не умещаются в выделенные 80 символов, то они «разбиваются» на несколько NMEA сообщений. Такой формат позволяет не ограничивать точность и количество символов в отдельных полях данных.
Спутники, находящиеся на орбите (высота орбиты GPS – 20000 км) беспрерывно передают в эфир маломощные (мощность сигналов GPS – 50 Вт) псевдослучайные сигналы на частотах L1=1575,42 МГц , L2=1227,6 МГц, L5= 1176.5 МГц. Соответственно приемник оконечного пользователя принимает сигналы спутников, для определения координат и точного времени достаточно получать сигналы минимум от 4 спутников.
Зная точное время и координаты спутников (а они передаются в навигационном сообщении), мы можем определить расстояние до этих спутников. И после этого математическими методами рассчитать наше местоположение.
Принимая сигналы от одного спутника GPS, зная расстояние до него, мы можем сказать, что мы находимся на сфере, радиус которой составляет наше расстояние до спутника, а в центре сферы находится спутник расстояние, до которого мы знаем [5].
Например, если мы отдалены от спутника на 11000 миль то – имеем сферу радиусом 11000 миль. И площадью 1 519 760 000 миль.
Принимая сигналы от двух спутников GPS, мы знаем расстояния до них, и соответственно можем сказать, что мы находимся на площади образованной пересечением двух сфер (Рисунок 18).
Рисунок 18 – Определение местоположения при наличии двух спутников
Площадь пересечения двух сфер, конечно же, в несколько раз меньше, нежели площадь одной сферы, но все равно достаточно большая, то есть мы не сможем точно определить свое местоположение.
Принимая сигналы от трех GPS спутников, мы получаем всего две точки нашего возможного местоположения, ненужную можно исключить с помощью математики (Рисунок 19).
Рисунок 19 – Определение местоположения при наличии трех спутников
Четвертый GPS спутник нужен для определения точной ошибки по времени.
Получая сигналы от большего количества спутников GPS мы можем узнать наши координаты более точно, поскольку вся система GPS находится в постоянном движении.
Передача данных от коммуникатора к диспетчеру осуществляется посредством GPRS (General Packet Radio Service – «пакетная радиосвязь общего пользования»). Это надстройка над технологией мобильной связи GSM, осуществляющая пакетную передачу данных. GPRS позволяет пользователю сети сотовой связи производить обмен данными с другими устройствами в сети GSM и с внешними сетями, в том числе Интернет.
При использовании GPRS информация собирается в пакеты и передаётся через неиспользуемые в данный момент голосовые каналы, такая технология предполагает более эффективное использование ресурсов сети GSM. При этом, что является приоритетом передачи – голосовой трафик или передача данных – выбирается оператором связи. Возможность использования сразу нескольких каналов обеспечивает достаточно высокие скорости передачи данных, теоретический максимум при всех занятых таймслотах TDMA составляет 171,2 кбит/c. Существуют различные классы GPRS, различающиеся скоростью передачи данных и возможностью совмещения передачи данных с одновременным голосовым вызовом.
АРМ Диспетчера имеет трехуровневую архитектуру и имеет следующие основные компоненты: клиентское приложение (тонкий клиент), подключенное к серверу приложений, который в свою очередь подключен к серверу базы данных [12].
- клиент – интерфейсный, графический компонент, который представляет приложение для конечного пользователя. Он не имеет связи с базой данных (по требованиям безопасности) и не нагружен бизнес-логикой (по требованиям масштабируемости). Работа с интерфейсом осуществляется через браузер. Для организации внешнего вида выводимой информации использованы HTML и CSS. Динамичное и асинхронное обновление данных возможно благодаря технологии AJAX.
- сервер приложений располагается на втором уровне, где сосредоточена большая часть бизнес-логики. Здесь обрабатываются данные, получаемые от коммуникаторов курьеров, происходит обращение к базе данных для получения структурированной информации, которая будет отображаться на клиенте. Приложения этого уровня разработаны на языке PHP [24].
- сервер базы данных обеспечивает хранение данных и выносится на третий уровень. В качестве системы управления базами данных использована MySQL [25].
В простейшей конфигурации физически сервер приложений может быть совмещён с сервером базы данных на одном компьютере, к которому по сети подключается ряд клиентов.
В «правильной» (с точки зрения безопасности, надёжности, масштабирования) конфигурации сервер базы данных находится на выделенном компьютере (или кластере), к которому по сети подключены один или несколько серверов приложений, к которым, в свою очередь, по сети подключаются терминалы.
Диаграмма развертывания системы представлена на рисунке 20.
Рисунок 20 – Диаграмма развертывания системы
Пре-альфа версия программы получила название Windrose 2012 (Роза ветров).