
- •Содержание
- •Введение
- •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 Пожарная безопасность
- •Заключение
- •Список использованных источников
- •Приложение а
- •Исходний код программы. Курьерская часть
- •Приложение б
- •Исходний код программы. Диспетчерская часть
- •Приложение в
- •Графический материал
2 Определение способа реализации
Перед тем, как приступить к разработке автоматизированной системы расчета оптимального маршрута необходимо определиться с целым рядом аспектов ее реализации, начиная с выбора аппаратной платформы, на базе которой разместится создаваемый программный комплекс. Здесь на первый план выступают следующие требования: устройство, обеспечивающее необходимый функционал должно обладать возможностью получения и отслеживания текущего местоположения пользователя, предоставлять необходимые вычислительные ресурсы для выполнения различных алгоритмических задач, иметь возможность выхода в интернет для получения и передачи данных. Кроме того, оно должно быть достаточно мобильным и взаимодействие с ним не должно мешать свободному перемещению по городскому пространству.
Целый ряд требований необходимо предъявить и к выбору операционной системы – комплекса программных средств, предназначенных для управления устройством, вычислительными процессами, эффективного распределения вычислительных ресурсов, а так же выступающих как интерфейс между устройствами вычислительной системы и прикладной программой. Необходимо детально проанализировать рынок существующих операционных систем и выявить наиболее подходящую из них для реализации поставленной задачи.
Особый акцент стоит сделать на выборе средств, применяемых для разработки и тестирования. Тот факт, что создаваемая система должна функционировать на мобильном устройстве, в разы усложняет эти задачи. Разработку удобно вести с использованием персонального компьютера и для отладки понадобятся специальные программы-эмуляторы, ведь использование в этих целях реальных устройств весьма затратно и проблематично. На финальных этапах тестирование должно проводиться уже на реальных аппаратах в полевых условиях. Должен быть выбран современный объектно-ориентированный язык программирования, работающий с базами данных, динамично развивающийся в данное время и предоставлять для разработки все необходимые средства.
Согласно анализу требований, необходимо выделить основные функции, которые должна выполнять система. Разрабатываемый программный комплекс должен декомпозироваться на модули, главным образом, по принципу реализации данных функций.
Необходимо решить, как создаваемые модули будут друг с другом взаимодействовать в плане передачи управления и работы с общей базой данных. Обращение к ним пользователем должно осуществляться посредством детально проработанного графического интерфейса. Задачи должны выполняться без задержек и за приемлемое в рабочих условиях время.
2.1 Выбор аппаратной платформы
Для начала необходимо определиться, на каких устройствах будет функционировать разрабатываемая система. Для этого целесообразно выдвинуть ряд требований к аппаратной платформе и найти решение, которое в наибольшей степени им удовлетворяет.
Во-первых, устройство должно предоставлять оперативный и надежный доступ к определению текущего положения. Речь здесь идет не только о наличии GPS чипсета – процессора обеспечивающего обработку спутникового сигнала и GPS-антенны настроенной на частоты, на которых передаются данные навигационных спутников. Широко используемые приемники GPS отлично работают под открытым небом, но плохо принимают сигнал вблизи зданий и абсолютно не принимают внутри них. В условиях городской инфраструктуры эта проблема часто встает на передний план. Поэтому желательно, чтобы устройство имело возможность определения местоположения и в выше обозначенных проблемных условиях.
Во-вторых, необходимо наличие довольно мощного процессора и оперативной памяти для осуществления необходимых вычислений и достижения необходимого быстродействия. Встроенная память, используемая для хранения операционной системы, программного комплекса и пользовательских данных должна быть достаточно большой. Желательно наличие слота для подключения карты памяти в целях увеличения объема памяти.
В-третьих, важна поддержка стандарта GSM для оперативной организации мобильной сотовой связи и наличие GPRS-модуля для обеспечения пакетной передачи данных по протоколу TCP/IP.
В-четвертых, устройство должно так же обладать хорошим дисплеем для отображения информации в дневное и ночное время. Батарея должна держать заряд довольно длительное время.
Всем перечисленным требованиям в достаточной степени удовлетворяют цифровые устройства, называемые коммуникаторами или смартфонами.
Смартфоны отличаются наличием достаточно развитой операционной системы, открытой для разработки программного обеспечения сторонними разработчиками. В настоящее время на рынке представлен целый ряд операционных систем для мобильных устройств. Из него необходимо выбрать наиболее надежный, динамично развивающийся вариант. Кроме того для выбранной операционной системы должны существовать удобные и развитые инструменты разработки приложений.
О выборе операционной системы речь пойдет далее.