Данная работа посвящена созданию мобильного Android-приложения, предназначенного для водителей эвакуаторов. Задачи, которые решались в ходе разработки:
1.Анализ существующих решений;
2.Выбор инструментов разработки;
3.Разработка требований к приложению;
4.Разработка структурной схемы системы;
5.Разработка приложения с заявленным функционалом;
6.Проведение тестирования;
7.Анализ проделанной работы и оценка возможности дальнейшего развития.
Разработка велась на языке Kotlin в Android Studio. Клиентская часть реализована по архитектуре MVVM с использованием Room и Retrofit. Серверная часть построена на Ktor с использованием PostgreSQL и Ngrok. Интерфейс оформлен средствами XML с учётом принципов Material Design.
Результатом данной работы является разработанное приложение для водителей эвакуаторов, позволяющее выполнять регистрацию, вести заказы с маршрутом и услугами, рассчитывать стоимость, отображать трек на карте, просматривать историю, управлять профилем и настраивать параметры карты.
СОДЕРЖАНИЕ
СПИСОК ОБОЗНАЧЕНИЙ И СОКРАЩЕНИЙ ................................................ 8
ВВЕДЕНИЕ ................................................................................................................. 9
ГЛАВА 1. АНАЛИЗ ПРЕДМЕТНОЙ ОБЛАСТИ И ОБЗОР СУЩЕСТВУЮЩИХ РЕШЕНИЙ ....................................................................... 10
1.1. Обзор предметной области ...................................................................... 10
1.2. Обзор существующих программных средств ...................................... 11
1.2.1. Cartaxi ..................................................................................................... 11
1.2.2. Эвакуатор Добровоз ............................................................................. 11
1.2.3. Эвакуатор............................................................................................... 12
1.2.4. Анализ рассмотренных приложений .................................................. 12
1.3. Выводы ........................................................................................................ 13
ГЛАВА 2. СТРУКТУРНАЯ СХЕМА СИСТЕМЫ ............................................ 14
2.1. Техническое задание ................................................................................. 14
2.1.1. Организация входных и выходных данных ....................................... 14
2.1.2. Требования к функциональным характеристикам ............................ 15
2.1.3. Требования к временным характеристикам ...................................... 16
2.1.4. Требования к надежности .................................................................... 17
2.1.5. Условия эксплуатации ......................................................................... 18
2.1.6. Требования к составу и параметрам технических средств .............. 18
2.1.7. Требования к информационной и программной совместимости .... 19
2.2. Объяснение выбора инструментов разработки .................................. 20
2.2.1. Язык программирования ...................................................................... 20
2.2.2. Система сборки проекта ...................................................................... 20
2.2.3. Операционная система ......................................................................... 21
2.2.4. Среда разработки на клиентской части .............................................. 21
2.2.5. Среда разработки на серверной части ................................................ 22
2.2.6. Фреймворк для создания сервера ....................................................... 23
2.2.7. Организация доступа к серверу .......................................................... 23
2.2.8. Инструмент для тестирования нагрузки ............................................ 24
2.3. Структурная схема системы ................................................................... 24
2.3.1. Клиентская часть .................................................................................. 24
2.3.2. Серверная часть .................................................................................... 29
2.4. Выводы ........................................................................................................ 33
ГЛАВА 3. РЕАЛИЗАЦИЯ ...................................................................................... 34
3.1. Модуль работы с картой (Map) .............................................................. 34
3.2. Модуль Track.............................................................................................. 36
3.3. Модуль UserProfile .................................................................................... 38
3.4. Выводы ........................................................................................................ 40
ГЛАВА 4. ТЕСТИРОВАНИЕ ................................................................................ 41
4.1. Функциональное тестирование .............................................................. 41
4.1.1. Тестирование работы карты в отсутствии интернета ....................... 41
4.1.2. Тестирование сохранения маршрута в отсутствии интернета ......... 43
4.1.3. Тестирование неверного ввода старого пароля ................................. 44
4.1.4. Тестирование добавления услуги без указания цены ....................... 45
4.1.5. Тестирование экрана профиля в отсутствии интернета ................... 47
4.1.6. Тестирование формата E-mail ............................................................. 48
4.2. Нагрузочное тестирование ...................................................................... 49
4.2.1. Тестирование загрузки страницы истории ........................................ 49
4.2.2. Тестирование регистрации пользователей и смены пароля ............ 50
4.3. Выводы ........................................................................................................ 51
ЗАКЛЮЧЕНИЕ ....................................................................................................... 52
СПИСОК ИСПОЛЬЗОВАННЫХ ИСТОЧНИКОВ ......................................... 54
СПИСОК ИСПОЛЬЗОВАННЫХ ИСТОЧНИКОВ
1.Как работает Nominatim: геокодирование и обратное геокодирование // OpenStreetMap Wiki [Электронный ресурс]. – URL: (дата обращения: 15.01.2025).
2.Репозиторий с клиентской частью приложения [Электронный ресурс]. – URL: (дата обращения: 03.04.2025).
3.Репозиторий с серверной частью приложения [Электронный ресурс]. – URL: (дата обращения: 03.04.2025).
4.Эвакуатор — официальный сайт приложения [Электронный ресурс] – URL: (дата обращения: 10.11.2024).
5.Эвакуатор Добровоз — официальный сайт приложения [Электронный ре-сурс] – URL: (дата обращения: 10.11.2024).
6.Android Developers — официальный сайт Android-разработки [Электрон-ный ресурс]. – URL: (дата обращения: 10.12.2024).
7.Android Studio — официальный сайт среды разработки [Электронный ре-сурс]. – URL: (дата обращения: 10.12.2024
всего 24 источника