Комплекс мобильных приложений по оказанию автомобильной помощи на дорогах - Программирование, компьютеры и кибернетика дипломная работа

Комплекс мобильных приложений по оказанию автомобильной помощи на дорогах - Программирование, компьютеры и кибернетика дипломная работа




































Главная

Программирование, компьютеры и кибернетика
Комплекс мобильных приложений по оказанию автомобильной помощи на дорогах

Обзор существующих приложений в сфере оказания автомобильной помощи. Рассмотрение алгоритмического конструирования комплекса мобильных приложений по оказанию автомобильной помощи на дорогах. Оценка тестирования авторизации в приложении для водителя.


посмотреть текст работы


скачать работу можно здесь


полная информация о работе


весь список подобных работ


Нужна помощь с учёбой? Наши эксперты готовы помочь!
Нажимая на кнопку, вы соглашаетесь с
политикой обработки персональных данных

Студенты, аспиранты, молодые ученые, использующие базу знаний в своей учебе и работе, будут вам очень благодарны.
Размещено на http://www.allbest.ru/
МИНИСТЕРСТВО ОБРАЗОВАНИЯ И НАУКИ РОССИЙСКОЙ ФЕДЕРАЦИИ
ФЕДЕРАЛЬНОЕ ГОСУДАРСТВЕННОЕ БЮДЖЕТНОЕ
ОБРАЗОВАТЕЛЬНОЕ УЧРЕЖДЕНИЕ ВЫСШЕГО ОБРАЗОВАНИЯ
«ДОНСКОЙ ГОСУДАРСТВЕННЫЙ ТЕХНИЧЕСКИЙ УНИВЕРСИТЕТ» (ДГТУ)
Факультет «Информатика и вычислительная техника»
Кафедра «Программное обеспечение вычислительной техники и автоматизированных систем»
к выпускной квалификационной работе бакалавра на тему:
Комплекс мобильных приложений по оказанию автомобильной помощи на дорогах
1. Аналитический обзор сферы интернет заказов автомобилей
1.1 Обзор процесса заказа эвакуатора
1.2 Обзор существующих приложений в сфере оказания автомобильной помощи
1.2.2 Приложение «Все эвакуаторы Петербурга»
2. Алгоритмическое конструирование комплекса мобильных приложений по оказанию автомобильной помощи на дорогах
2.1 Алгоритм авторизации пользователя
2.3 Алгоритм обновления информации о текущем местоположении
2.4 Алгоритм получения заказа оператором эвакуатора
3. Программное конструирование комплекса мобильных приложений по оказанию автомобильной помощи на дорогах
3.1 Обоснование выбора языка и среды разработки
3.2 Классы приложения для водителя автомобиля
3.2.1 Класс NavigationDrawerActivity
3.2.4 Класс CheckOrderStatusService
3.3 Классы приложения для оператора эвакуатора
3.3.3 Класс NavigationDrawerActivity
3.4 UML - диаграмма классов приложения для водителя автомобиля
3.5 UML - диаграмма классов приложения для оператора эвакуатора
4. Тестирование работы комплекса мобильных приложений по оказанию автомобильной помощи на дорогах
4.1 Тестирование авторизации в приложении для водителя
5. Экономическое обоснование работы
5.1 Основные аспекты реализации работы
5.2 Оценка потенциальной социально-экономической результативности внедрения разработки
5.3 Планирование разработки с использованием сетевого графика
5.4 Стратегический маркетинговый анализ целесообразности внедрения
5.5 Определение себестоимости разработки
6. Безопасность и экологичность работы
6.1 Анализ опасных и вредных производственных факторов
6.1.4 Защита от электромагнитных полей, лазерных и ионизирующих излучений
6.2 Расчет системы искусственного освещения помещения
6.4 Устойчивость к чрезвычайным ситуациям. Пожарная безопасность
автомобильный помощь приложение мобильный
С развитием мобильных устройств, таких как смартфоны и планшеты, жизнь людей сильно изменилась. Мобильные устройства упростили выполнение ряда задач. На сегодняшний день существует огромное количество мобильных приложений, которые применяются в самых разнообразных сферах человеческой деятельности.
В социальной сфере приложения позволяют всегда оставаться на связи, общаться людям, которые находятся друг от друга на очень большом расстоянии и даже видеть друг друга благодаря функции видео связи. Новостные приложения с помощью своевременных уведомлений позволяют пользователю всегда быть в курсе последних произошедших событий.
Современные мобильные приложения предоставляют пользователям большие возможности для совершения покупок. Покупка с помощью смартфона перестала быть чем-то необычным. Теперь необязательно носить с собой множество пластиковых банковских карт. Можно оплатить покупку при помощи современных технологий защищенной беспроводной передачи данных. Приобрести товар можно в любом месте, где есть интернет и заказать удобное для вас время и место доставки.
Отправляясь в дорогу, многие туристы обязательно берут с собой какие-нибудь мобильные устройства. И это не удивительно, потому что обилие мобильных приложений в сочетании с аппаратными возможностями устройства дают пользователю такие возможности как определение своего текущего местоположения, отображение его на карте, отображение ближайших магазинов, автозаправочных станций, центров по оказанию медицинской помощи и так далее.
Использование мобильных приложений в повседневной жизни не обошло стороной и водителей автомобилей. Смартфон или планшет служит отличным навигатором, который строит маршрут до пункта назначения и с помощью голосовых подсказок озвучивает направление движения.
Однако, может произойти ситуация, когда автомобиль может выйти из строя по какой-либо причине и такой автомобиль необходимо доставить на станцию технического обслуживания. В данной ситуации водителю сломанного автомобиля необходимо найти компанию, предоставляющую услуги эвакуации автомобиля, при этом ему тяжело ориентироваться в многообразии таких фирм и их ценовой политики. Водителю будет не известно время прибытия эвакуатора, точный тариф, а также возможна ситуация, когда ему будет тяжело сформулировать свое текущее местоположение.
Поэтому будет актуальной задачей произвести анализ процесса заказа эвакуатора, разбиение его на этапы, и выполнить автоматизацию этих этапов, что позволит уменьшить человеческий фактор и повысить эффективность взаимодействия автомобилиста и оператора эвакуатора.
Создание мобильного приложения для автомобилиста и мобильного приложения для оператора эвакуатора может значительно упростить процесс взаимодействия сторон, путем снижения временных и денежных затрат, а также предоставления всей необходимой информацию для каждой из сторон.
Разрабатываемый комплекс мобильных приложений может найти применение в сфере заказов услуг эвакуирования автотранспортных средств.
1. Аналитический обзор сферы интернет заказов автомобилей
В данном разделе рассматриваются существующие приложения в сфере оказания автомобильной помощи, приводятся их особенности и недостатки. Определяется цель работы и задачи, которые необходимо решить для ее достижения.
1.1 Обзор процесса заказа эвакуатора
На сегодняшний день чтобы вызвать эвакуатор автомобилисту, у которого сломался автомобиль, необходимо выполнить несколько действий, которые включают в себя поиск компании, которая предоставляет услуги эвакуации, совершить звонок в эту компанию, узнать ценовой тариф и предоставить информацию о своем текущем местоположении. После того, как диспетчер компании получит необходимую информацию от водителя, он направляет ее свободному оператору эвакуатора, чтобы тот мог отправиться к месту назначения. Весь этот процесс занимает много времени и не очень удобен для водителя сломанного автомобиля.
В вышеописанной схеме взаимодействия существует ряд проблем. Во-первых, предоставление информации для водителя сломанного автомобиля. Водителю необходимо самостоятельно найти номер фирмы, при этом фирм, оказывающих необходимые услуги может быть несколько, позвонить в каждую из этих фирм, узнать и запомнить ценовой тариф. Выполнение данных действий занимает много времени и является не самым удобным способом получения нужной информации для водителя.
Во-вторых, во время звонка водителя диспетчеру, диспетчер не может предоставить информацию об ориентировочном времени прибытия эвакуатора. Данная информация станет доступна диспетчеру только после того как он передаст сведения о местоположении водителя сломанного автомобиля оператору эвакуатора. Затем диспетчер должен перезвонить водителю сломанного автомобиля, чтобы сообщить ориентировочное время прибытия эвакуатора. Так же после совершения заказа, водитель не имеет в своем распоряжении никакой информации о текущем местоположении эвакуатора.
В-третьих, водитель сломанного автомобиля не всегда может точно определить и описать свое текущее местоположение. Такая ситуация вполне возможна, если водитель находится, например, на трассе. В таком случае, при передаче информации от диспетчера фирмы оператору эвакуатора, может возникнуть недопонимание и водителю эвакуатора придется узнать у диспетчера номер телефона водителя сломанного автомобиля и самостоятельно позвонить ему, чтобы уточнить детали его местоположения.
Существуют смежные области, в которых подобные проблемы уже решены. Для решения этих проблем компании используют интернет сервисы, которые предоставляют пользователю всю необходимую информацию, а также возможность совершить заказ без участия посредника между пользователем и водителем такси. Одним из способов решения проблем, возникающих при заказе, являются мобильные приложения, которые в удобном и понятном виде отображают всю необходимую информацию для каждой стороны.
1.2 Обзор существующих приложений в сфере оказания автомобильной помощи
В ходе работы проанализированы бесплатно распространяемые мобильные приложения для операционной системы Android, такие как «Эвакуатор» и «Все эвакуаторы Петербурга». Для каждого приложения показаны его характерные особенности и присущие ему недостатки. Приведены скриншоты работы для каждого приложения.
Данное приложение определяет ваше текущее местоположение и отображает список ближайших к вам операторов эвакуаторов, их номер телефона и расстояние между вами как показано на рисунке 1.1.
Рисунок 1.1 - Список ближайших операторов эвакуаторов
Недостатками данного приложения являются:
невозможно уточнить свое текущее местоположение на карте;
отсутствует возможность совершить заказ из приложения;
местоположение эвакуатора не отображается на карте;
отсутствует информация о ценовом тарифе.
1.2.2 Приложение «Все эвакуаторы Петербурга»
Данное приложение предоставляет список фирм как показано на рисунке 1.2, которые предоставляют услуги эвакуации автомобилей, с возможностью совершить звонок в фирму, чтобы заказать эвакуатор. Для каждой фирмы указан минимальный ценовой тариф при совершении заказа.
Рисунок 1.2 - Список фирм приложения «Все эвакуаторы Петербурга»
Особенностью приложения является функция расширенного поиска, отображенная на рисунке 1.3, которая позволяет указать район, в котором вы находитесь, и район, в который будет необходимо эвакуировать автомобиль, а также отметить обязательное наличие у эвакуатора крана-манипулятора.
Рисунок 1.3 - Расширенный поиск приложения «Все эвакуаторы Петербурга»
Недостатками данного приложения являются:
отсутствует возможность указать свое точное местоположение;
отсутствует возможность произвести заказ из приложения;
отсутствует информация о расстоянии до ближайшего эвакуатора для каждой фирмы;
местоположение эвакуатора при выполнении заказа не отображается на карте;
приложение отображает информацию только для одного города.
Рассмотренные приложения для вызова эвакуатора имеют общий недостаток. Этим недостатком является отсутствие связующего мобильного приложения для оператора эвакуатора, которое бы позволило ему получать заказы на эвакуацию и всю необходимую о заказе информацию, а также получать данные о его текущем местоположении для того, чтобы эти данные были переданы водителю сломанного автомобиля, который ожидает эвакуатор.
В связи с этим, принято решение разработать комплекс мобильных приложений, который бы позволил удобно взаимодействовать водителю сломанного автомобиля и оператору эвакуатора. Для этого сформулирована постановка задачи.
Проанализировав возможные аналоги в виде мобильных приложений, а также приложения из смежных областей, было выявлено, что каждый сервис реализован через клиент серверную систему и не имеет в своем распоряжении клиентского приложения для оператора эвакуатора. Все рассмотренные приложения не предоставляют расчет итоговой стоимости услуги эвакуации и не полностью автоматизируют процесс заказа.
Целью данной разработки является автоматизация процесса вызова эвакуатора, снижение денежных и временных затрат, путем предоставления наилучших предложений на рынке как по цене, так и по времени, а также уменьшение количества участников процесса и их взаимодействия между собой.
Для достижения поставленной цели, необходимо решение ряда следующих задач:
провести анализ рынка существующих приложений;
сформировать требования к программному средству;
изучить способы взаимодействия со службами геолокации;
выполнить алгоритмическое конструирование приложений;
построить схему взаимодействия между приложениями;
выполнить программное конструирование приложений;
разработать модули программного средства, реализующие функциональные характеристики приложений;
провести тестирование приложений на выполнение заказа с помощью эмулятора мобильного устройства.
2. Алгоритмическое конструирование комплекса мобильных приложений по оказанию автомобильной помощи на дорогах
В данном разделе рассматриваются такие алгоритмы как алгоритм авторизации пользователя, алгоритм заказа эвакуатора, алгоритм обновления информации о текущем местоположении, алгоритм получения заказа оператором эвакуатора. Приведено их описание и схема работы.
2.1 Алгоритм авторизации пользователя
В начале работы с приложением пользователь вводит свой номер телефона. При этом существует ряд проверок вводимого номера телефона. Допускается ввод номера, состоящего только из цифр.
Если пользователь использует приложение впервые, то ему будет предложено ввести свое имя, марку и цвет своего автомобиля, а также подтверждающий код из отправленного ему смс сообщения. После успешного ввода всех данных пользователь авторизуется в приложении. Если пользователь уже был зарегистрирован, то после ввода своего номера телефона ему нужно будет ввести только подтверждающий код из смс сообщения. После успешного ввода кода, пользователь авторизуется в приложении.
Подход с использованием одноразового смс кода для авторизации является более удобным для пользователя, ведь ему не нужно придумывать и запоминать логин и пароль. Логином по факту является его номер телефона, а пароль он получает на свой мобильный телефон каждый раз новый, что является достаточно надежным способом авторизации. Работа алгоритма представлена на рисунке 2.1.
Рисунок 2.1 - Алгоритм авторизации пользователя
Пользователь отправляет свое текущее местоположение на сервер. Сервер подбирает список фирм, в каждой из которой есть хотя бы один оператор эвакуатора готовый принять заказ, и отправляет их обратно клиенту. Пользователь выбирает фирму из списка и нажимает кнопку «заказать». После этого пользователь ожидает либо подтверждения заказа оператором эвакуатора, либо отмены заказа. При поступлении заказа, оператор эвакуатора получает уведомление в статусной строке своего мобильного устройства. Если оператор эвакуатора подтвердил заказ, то пользователю отображается на карте его текущее местоположение и текущее местоположение оператора эвакуатора. Если заказ был отменен оператором эвакуатора, то пользователю выводится сообщение об этом. Работа алгоритма представлена на рисунке 2.2.
Рисунок 2.2 - Алгоритм заказа эвакуатора
2.3 Алгоритм обновления информации о текущем местоположении
Приложение циклично через каждые 10 секунд запрашивает от службы геопозиционирования, которая предоставляет информацию о местоположении мобильного устройства, координаты его текущего местоположения. Координаты в данном случае представляют собой пару вещественных чисел. Первое число показывает значение широты, второе число значение долготы местоположения.
Затем, происходит проверка информации о предыдущих сохраненных координатах. Если предыдущие сохраненные координаты отсутствуют, то новые полученные координаты сохраняются как предыдущие и отправляются на сервер. Если предыдущие сохраненные координаты есть, то координаты сравниваются между собой. Сравнение координат между собой происходит по значениям широты и долготы. Если новые полученные координаты отличаются от предыдущих координат, то новые значения записываются в предыдущие и отправляются на сервер. Если не отличаются, то отправка координат на сервер не происходит.
Данный алгоритм используется для обновления информации на сервере о текущем местоположении оператора эвакуатора. При этом, алгоритм учитывает, что если оператор эвакуатора находится на одном месте, то постоянного обновления его местоположения на сервере не происходит, а происходит только в том случае, если оператор эвакуатора находиться в движении.
Такой подход позволяет отправлять на сервер только изменения в текущем местоположении оператора эвакуатора, а также обеспечивает меньшее количество отправляемых запросов на сервер и как следствие меньшую нагрузку на него. Работа алгоритмы представлена на рисунке 2.3.
Рисунок 2.3 - Алгоритм обновления информации о текущем местоположении
2.4 Алгоритм получения заказа оператором эвакуатора
Данный алгоритм позволяет оператору эвакуатора получать информацию о заказе. Работа алгоритма представлена на рисунке 2.4.
Рисунок 2.4 - Алгоритм получения заказа оператором эвакуатора
Оператор эвакуатора отправляет запрос на сервер об изменении своего текущего статуса на «готов работать» Затем каждые 4 секунды на сервер отправляется запрос о наличии заказа для данного оператора эвакуатора.
Если заказ есть, то отображается информация о заказе, на основе которой оператор эвакуатора принимает решение о подтверждении или отмене заказа. Если оператора эвакуатора принял заказ, то отправляется запрос на сервер, который изменяет его статус.
После этого происходит отображение маршрута до места назначения на карте. Если оператор эвакуатора отменил заказ, то об этом отправляется запрос на сервер и выводится сообщение о том, что заказ был отменен.
В данном разделе были обозначены основные вопросы, касающиеся алгоритмического конструирования комплекса мобильных приложений по оказанию автомобильной помощи на дорогах.
Разработанные алгоритмы позволят корректно реализовать программное средство, которое будет удовлетворять всем необходимым требованиям. Представлены основные механизмы и алгоритмы работы, реализация которых рассматривается в следующем разделе.
3. Программное конструирование комплекса мобильных приложений по оказанию автомобильной помощи на дорогах
В данном разделе проводится описание структуры программного средства, описание классов и методов классов, которые реализуют необходимый функционал.
3.1 Обоснование выбора языка и среды разработки
Разрабатываемое программное средство является мобильными приложениями для операционной системы Android. Для написания удобных в использовании приложений, обладающих плавным интерфейсом, для данной операционной системы был выбран язык программирования Java [1].
Java - объектно-ориентированный язык программирования, разработанный компанией Sun MicroSystems. Язык Java подходит для широкого круга задач таких как создание веб-приложений, графических пользовательских приложений, игр и многого другого [2]. Java обладает большой стандартной библиотекой, обеспечивающей функциональность от стандартного ввода/вывода и сетевых протоколов до графических пользовательских интерфейсов. Также активно используется для создания мобильных приложений под операционную систему Android [3]. При этом программы компилируются в нестандартный байт-код, для использования их виртуальной машиной Dalvik (начиная с Android 5.0 Lollipop виртуальная машина заменена на ART) [4]. Для такой компиляции используется дополнительный инструмент, а именно Android SDK.
Для написания приложений для операционной системы Android была выбрана интегрированная среда разработки Android Studio. Android Studio, основанная на программном обеспечении IntelliJ IDEA от компании JetBrains является официальным средством разработки Android приложений [5].
Android Studio обладает рядом удобных в использовании функций, таких как [6]:
способность работать с UI компонентами при помощи Drag-and-Drop;
cтатический анализатор кода, позволяющий находить проблемы производительности, несовместимости версий и другое;
шаблоны основных макетов и компонентов Android.
В данной работе также использованы библиотека Maps Android API для работы с картографическим сервисом Google Maps и библиотек Retrofit 2 для создания и отправки запросов на сервер [7].
3.2 Классы приложения для водителя автомобиля
3.2.1 Класс NavigationDrawerActivity
Данные класс отвечает за отображение выдвигающегося бокового меню приложения.
Поля класса NavigationDrawerActivity представлены в таблице 3.1
Таблица 3.1 - Поля класса NavigationDrawerActivity
Используется для выполнения транзакций фрагментов
Используется для изменения настроек приложения
Используется для работы с уведомлениями в строке состояния
Методы класса NavigationDrawerActivity представлены в таблице 3.2.
Таблица 3.2 - Методы класса NavigationDrawerActivity
Меняет отображаемый экран, если GPS модуль выключен
Данный класс отвечает за связывание данных с интерфейсом для отображения списка компаний, которые могут принять заказ.
Поля класса CompaniesAdapter представлены в таблице 3.3.
Таблица 3.3 - Поля класса CompaniesAdapter
Используется для изменений настроек приложения
Методы класса CompaniesAdapter представлены в таблице 3.4.
Таблица 3.4 - Методы класса CompaniesAdapter
Связывает элементы интерфейса с данным
Заполняет данными каждый элемент списка
Данный класс отвечает за работу с отображаемой картой. Является наследником класса Fragment. Реализует всю логику работы с геолокацией и определение текущего местоположения, отрисовку объектов на карте и изменение положения камеры карты [8].
Поля класса MianMapFragment представлены в таблице 3.5.
Таблица 3.5 - Поля класса MainMapFragment
Ссылка на объект отображаемой карты
Объект настрое для взаимодействия с Play Services
Объект настроек информации о местоположении
Хранит состояние местоположения пользователя
Кнопка по определению текущего местоположения
Используется для выполнения транзакций фрагментов
Используется для изменения настроек приложения
Ссылка на объект Clinet, который хранит информацию о клиенте
Ссылка на объект Worker, который хранит информацию об операторе эвакуатора
Методы класса MainMapFragment представлены в таблице 3.6.
Таблица 3.6 - Методы класса MainMapFragment
Вызывается при полной загрузке карты
Проверяет разрешения для работы с геолокацией
Проверяет доступны ли Play Services на устройстве
Задает настройки работы с данными о местоположении
Запускает сервис по получению информации о текущем местоположении
Останавливает сервис по получению информации о местоположении
Перемещает камеру карты к текущему местоположению
Отображает текущую позицию оператора эвакуатора
Отображает текущую позицию оператора эвакуатора во время выполнения заказа
Вызывается при изменении текущего местоположения
3.2.4 Класс CheckOrderStatusService
Данный класс предназначен для проверки статуса заказа в фоновом режиме. В зависимости от статуса заказа, создается то или иное событие для карты.
Поля класса CheckOrderStatusService представлены в таблице 3.7.
Таблица 3.7 - Поля класса CheckOrderStatusService
Используется для цикличного выполнения задачи TimerTask
Задает задачу для цикличного выполнения
Ссылка на объект, который хранит информацию о операторе эвакуатора
Номер заказа, чей статус проверяется
Используется для изменения настроек приложения
Используется для отправки уведомлений в строку состояния
Методы класса CheckOrderStatusService представлены в таблице 3.8.
Таблица 3.8 - Методы класса CheckOrderStatusService
Вызывается при создании сервиса и инициализирует все поля класса
Intent intent, int flags, int startId
Данный класс отвечает за асинхронный запрос на создание заказа.
Поля класса CreateOrderAsync представлены в таблице 3.9
Таблица 3.9 - Поля класса CreateOrderAsync
Ссылка на объект, который хранит информацию о водителе
Хранит информацию об операторе эвакуатора
Методы класс представлены в таблице 3.10.
Таблица 3.10 - Методы класса CreateOrderAsync
Выполняет настройку элемента интерфейса progressDialog
Выполняет запрос на сервер в отдельном потоке
Данный класс отвечает за асинхронный запрос по получению списка компаний, предоставляющих услуги эвакуации автомобилей.
Поля класса GetCompaniesAsync представлены в таблице 3.11.
Таблица 3.11 - Поля класса GetCompaniesAsync
Ссылка на объект, который хранит информацию о водителе
Методы класса GetCompaniesAsync представлены в таблице 3.12.
Таблица 3.12 - Методы класса GetCompaniesAsync
Выполняет настройку элемента progressDialog
Выполняет запрос на сервер в отдельном потоке
Response> resultResponse
3.3 Классы приложения для оператора эвакуатора
Данный класс отвечает за работу с отображаемой картой. Является наследником класса Fragment. Реализует всю логику работы с геолокацией и определение текущего местоположения, отрисовку объектов на карте и изменение положения камеры карты.
Поля класса MainMapFragment представлены в таблице 3.13.
Таблица 3.13 - Поля класса MainMapFragment
Ссылка на объект отображаемой карты
Объект настроr для взаимодействия с Play Services
Объект настроек информации о местоположении
Кнопка по определению текущего местоположения
Используется для выполнения транзакций фрагментов
Используется для изменения настроек приложения
Хранит информацию о местоположении оператора эвакуатора
Список линий для отрисовки маршрута
Методы класса MainMapFragment представлены в таблице 3.14.
Таблица 3.14 - Методы класса MainMapFragment
Вызывается при полной загрузке карты
Проверяет разрешения для работы с геолокацией
Проверяет доступны ли Play Services на устройстве
Задает настройки работы с данными о местоположении
Запускает сервис для работы геолокации
Останавливает сервис для работы геолокации
Перемещает камеру к текущему местоположению на карте
Вызывается при изменении местоположения
Данный класс реализует сервис для получения заказа в фоновом режиме. Является наследником базового класса Service [9].
Поля класса GetOrderService представлены в таблице 3.15.
Таблица 3.15 - Поля класса GetOrderService
Используется для цикличного выполнения задачи TimerTask
Задает задачу для цикличного выполнения
Используется для изменения настроек приложения
Используется для отправки уведомлений в строку состояния
Объект, который хранит информацию о заказе
Методы класса GetOrderService представлены в таблице 3.16.
Таблица 3.16 - Методы класса GetOrderService
Вызывается при создании сервиса и инициализирует все поля класса
Intent intent, int flags, int startId
Метод для получения заказа с сервера
3.3.3 Класс NavigationDrawerActivity
Данный класс отвечает за отображение выдвигающегося бокового меню приложения.
Поля класса NavigationDrawerActivity представлены в таблице 3.17
Таблица 3.17 - Поля класса NavigationDrawerActivity
Используется для выполнения транзакций фрагментов
Используется для управления уведомлением в статусной строке
Методы класса NavigationDrawerActivity представлены в таблице 3.18.
Таблица 3.18 - Методы класса NavigationDrawerActivity
Вызывается, когда пользователь выбирает элемент меню
Меняет отображаемый экран, если GPS модуль выключен
Выполняет выход из учетной записи пользователя
Данный класс реализует паттерн проектирования singleton. Предназначен для хранения информации о текущем местоположении и статусе координат.
Поля класса MyLocation представлены в таблице 3.19.
Таблица 3.19 - Поля класса MyLocation
Значение широты текущего местоположения
Значение долготы текущего местоположения
Методы класса MyLocation представлены в таблице 3.20.
Таблица 3.20 - Методы класса MyLocation
3.4 UML - диаграмма классов приложения для водителя автомобиля
UML - диаграмма классов приложения для водителя автомобиля представлена на рисунке 3.1.
Рисунок 3.1 - UML - диаграмма классов приложения для водителя автомобиля
3.5 UML - диаграмма классов приложения для оператора эвакуатора
UML - диаграмма классов приложения для оператора эвакуатора представлена на рисунке 3.2.
Рисунок 3.2 - UML - диаграмма классов приложения для оператора эвакуатора
В данном разделе были описаны классы для каждого мобильного приложения. Их основные поля и методы, благодаря которым реализуется корректная работа приложений и обработка разных сценарий использования.
4. Тестирование работы комплекса мобильных приложений по оказанию автомобильной помощи на дорогах
Для запуска приложений необходимы мобильные устройства с операционной системой Android 4.4.4 или выше. Тестирование приложений осуществлено на эмуляторах таких устройств с возможностью самостоятельно изменять информацию о текущем местоположении.
4.1 Тестирование авторизации в приложении для водителя
Запустив приложение первый раз, пользователь увидит начальный экран, предлагающий ему начать использование приложения. Для этого ему необходимо ввести номер своего телефона как показано на рисунке Б.1.
После того, как пользователь введет свой номер телефона перед ним в зависимости от того, был ли он зарегистрирован в приложении ранее или нет отобразится форма регистрации, представленная на рисунке Б.2 или форма для входа.
После того, как пользователь корректно ввел все необходимые данные, выполняется вход в приложение и отображается карта, отображающая его текущее местоположение и кнопка для поиска эвакуатора, как показано на рисунке Б.3.
Если пользователь ввел некорректные данные или оставил хотя бы одно поле не заполненным, то ему высветиться уведомление как показано на рисунке Б.4 о том, что для авторизации необходимо заполнить все поля.
Первоначальным этапом формирования заказа является выбор водителем категории его автомобиля и указание его марки и цвета как показано на рисунке Б.5. Затем, нажав кнопку «найти эвакуатора», водителю предоставляется список фирм, показанный на рисунке Б.6, с информацией о ценовом тарифе, рейтингом фирмы и временем прибытия ближайшего эвакуатора от данной фирмы. Нажав кнопку «заказать», водитель будет ожидать подтверждения заказа от оператора эвакуатора как показано на рисунке Б.7.
Для того, чтобы оператор эвакуатора мог получать заказы, ему необходимо нажать кнопку «начать работать», чтобы его статус изменился на сервере как показано на рисунке Б.8.
После того, как для оператора эвакуатора появился заказ, ему высвечивает информация о заказе такая как дистанция до заказа, марка и цвет автомобиля. У оператора эвакуатора есть возможность принять заказ или отказаться от него, что продемонстрированно на рисунке Б.9.
Приняв заказ, оператору эвакуатора отображается метка и маршрут до водителя сломанного автомобиля как показано на рисунке Б.10. В этот момент водителю сломанного автомобиля отображается карта, которая изображена на рисунке Б.11, с меткой текущего местоположения оператора
Комплекс мобильных приложений по оказанию автомобильной помощи на дорогах дипломная работа. Программирование, компьютеры и кибернетика.
Промежуточная Контрольная Работа Вариант 1
Реферат: Character Sketch Of Chaucer
Курсовая работа: Антиинфляционная политика Республики Беларусь на современном этапе. Роль банковской системы в ее
Курсовая работа по теме Технические расчеты процессов плавки стали в кислородных конвертерах
Реферат: Артезианские воды
Я И Другие Матренин Двор Сочинение
Современные Местные Биологические Гемостатические Материалы Реферат
Курсовая Работа Разработка Печатной Продукции
Доклад по теме Раны, укусы
Реферат На Тему Борис Годунов - Реформатор России
Сочинение На Тему Мой Любимый Современный Исполнитель
Как Избавиться От Речевых Ошибок В Сочинении
Всегда Ли Право Защищает Человека Эссе
Реферат Спортсмены
Курсовая Работа На Тему Активизация Познавательной Деятельности
Сочинение Левитана Золотая Учеником
Реферат На Тему Истоки Римской Цивилизации
Курсовая работа по теме Технологии уборки помещений номерного фонда гостиницы и способы их совершенствования
Основания Возникновения Права Пользования Участками Недр Реферат
Курсовая работа по теме Формирование и использование финансовых результатов предприятия ОАО 'Дымков' г. Краснодар
Ораторское искусство - Иностранные языки и языкознание реферат
Оценка реформаторской деятельности Петра I - История и исторические личности курсовая работа
Государственная гражданская служба - Государство и право контрольная работа


Report Page