Файл: Разработка службы курьерской доставки в мобильном приложении.docx
Добавлен: 12.12.2023
Просмотров: 137
Скачиваний: 2
СОДЕРЖАНИЕ
Раздел 1. АНАЛИЗ ПРЕДМЕТНОЙ ОБЛАСТИ
1.1 Общая характеристика организации
1.3 Анализ существующих решений
Раздел 2. РАЗРАБОТКА СЦЕНАРИЕВ ПОВЕДЕНИЯ ПРИЛОЖЕНИЙ НА ЭТАПАХ ВЫПОЛНЕНИЯ КУРЬЕРСКОГО ЗАКАЗА
2.1 Алгоритм формирования заказа и поиска курьера
2.2 Алгоритм выполнения курьерского заказа
Раздел 3. ПРОЕКТИРОВАНИЕ АРХИТЕКТУРЫ СЕРВЕРНОЙ ЧАСТИ СИСТЕМЫ И МОБИЛЬНЫХ ПРИЛОЖЕНИЙ
3.1 Архитектура серверной части системы
3.2 Выбор оптимальной базы данных для разрабатываемой системы
3.3 Архитектура мобильных приложений
3.4 Средства разработки мобильных приложений
Раздел 4. ПРОГРАММНАЯ РЕАЛИЗАЦИЯ СЕРВЕРНОЙ ЧАСТИ СИСТЕМЫ И МОБИЛЬНЫХ ПРИЛОЖЕНИЙ
4.1 Разработка структуры базы данных
4.2 API для работы с мобильными приложениями
4.3 Структура Android приложения
4.4 Проверка выполнения разработанных сценариев для реализованной системы
Этот примитивный пример показывает структуру Android приложения в целом. В XML файле мы определили заголовок активности Toolbar и WebView для отображения веб страниц внутри приложения. Далее, в java файле мы описываем логику для этих View. По такому принципу строится весь графический интерфейс приложения.
4.4 Проверка выполнения разработанных сценариев для реализованной системы
Разработанная система предназначена для удобного взаимодействия клиентов службы курьерской доставки с курьерами.
Таким образом, разработанная система предоставляет следующие возможности:
Для клиента:
-
возможность редактировать профиль (ФИО, номер телефона, адрес электронной почты, способ оплаты по умолчанию), все данные используются для автоматической подстановки при заполнении формы заказа; -
управление заказами. В приложении предусмотрена возможность управлять несколькими заказами одновременно; -
добавлять избранные (любимые адреса); -
обратная связь с технической поддержкой.
Для курьера:
-
просматривать данные профиля (изменять данные профиля можно, но изменения вступают в силу только после модерации; -
управление своим статусом для поиска заказов (работаю/отдыхаю); -
просматривать историю выполненных заказов с подробной детализацией; -
управление заработком (курьер может привязать банковскую карту, на которую будут выведены денежные средства); -
обратная связь с технической поддержкой.
Рисунок 16 – Меню с функциями управления для клиентского и курьерского приложения
Рисунок 17 – Управление аккаунтами для клиентского и курьерского приложения
Далее следует сценарий выполнения заказа. Все начинается со стороны клиентского приложения, заполнения данных об отправителе и получателе. Если пользователь пожелает заполнить профиль пользователя, то эти данные будут автоматически подставляться в поля с информацией об отправителе. Есть возможность выбора номера телефона и имени из записной книжки. Адрес отправления, по умолчанию, текущие координаты пользователя.
Рисунок 18 – Экраны для заполнения информации об отправителе и получателе
Предусмотрен экран для заполнения подробной информации о предстоящем заказе. Какой груз, его вес и габариты, описание, фотография и т.д. Однако, все поля на этом экране являются не обязательными и заполняются по желанию.
Рисунок 19 – Экраны для заполнения более подробной информации о заказе
Далее по сценарию клиент подтверждает сформированный заказ. Либо по СМС, в случае если выбрана оплата курьеру наличными, либо по CVC привязанной банковской карты, в случае безналичной оплаты.
После чего в клиентском приложении начинается поиск курьера. На этом этапе клиент может отменить заказ, продолжать наблюдать за поиском курьера или перейти к заполнению новой формы.
Следующий этап сценария - «Курьер выехал в точку А», начинается после того как курьер принял заказ. Клиенту приходит соответствующее Push уведомление.
По прибытию на место, курьер должен взять у отправителя электронную подпись, а также сфотографировать груз. До того, как курьер не выполнит эти действия, он не сможет изменить статус выполнения заказа.
На этапе сценария - «Курьер получил посылку и выехал в точку Б», на экране у курьера акцентируется внимание на кнопках «Перейти в навигатор» и «Позвонить получателю». На всех этапах выполнения заказа курьер может связаться с отправителем и получателем, перейти в навигатор, а также написать в поддержку и посмотреть подробную информацию о заказе. На экране клиентского приложения статус поменяется на «Курьер получил посылку», а также он сможет увидеть его текущее местоположение.
На этапе «Курьер едет в точку Б» алгоритм работы приложений тот же что и при работе с получением посылки у отправителя. Курьер должен взять подпись отправителя и сфотографировать груз. После чего он сможет сменить статус на «Отправление доставлено».
На экранах приложений появиться экран с просьбой оценить друг друга. Это действие не является обязательным как для клиента, так и для курьера.
ЗАКЛЮЧЕНИЕ
Основной целью настоящего дипломного проекта было создание современной и высокотехнологичной службы курьерской доставки, интегрированной в мобильное приложение.
Для достижения указанной цели был произведен анализ существующих систем, выявлены их недостатки в контексте предъявленных требований. Было принято решение о необходимости разработки новой системы, решающей весь спектр поставленных задач.
В специальной части был произведен анализ использования системы: выделены основные роли пользователей, описаны сценарии их взаимодействия с системой. Были обозначены основные функции системы, намечены стратегии архитектурного решения и выбраны технологии, позволяющие реализовать требуемую функциональность. Для описания организации данных была разработана информационная модель, представляющая структуру организации данных на различных уровнях: концептуальном, логическом и физическом. Также была разработана архитектура системы, которая послужила основой для реализации алгоритмов, описывающих функциональность системы. С целью реализации взаимодействия с пользователя с системой был реализован удобный, понятный и дружественный интерфейс пользователя. Для проверки работоспособности отдельных составляющих системы проведено модульное тестирование.
Исходя из вышесказанного, можно сделать вывод о том, что поставленная цель достигнута. Программный комплекс является завершенным и работоспособным, однако в дальнейшей перспективе возможно внедрить мобильное приложение для iOS с использованием iOS SDK.
СПИСОК ИСПОЛЬЗОВАННЫХ ИСТОЧНИКОВ
-
Программирование на Visual C#: учебное пособие для среднего профессионального образования / А. А. Казанский. – 2 – е изд. -
Программирование. Объектно-ориентированный подход; учебник и практикум для вузов / С.В. Зыков. – Москва: Издательство Юрайт. -
Технологии программирования: учебно-методическое пособие для СПО / Л.Ф. Лебеденко, О.И. Моренкова. -
Разработка и эксплуатация автоматизированных информационных систем: учебник для студ. учреждения сред. проф. образование / Д.Э Фуфаев, Э.В.Фуфаев. – 2-е изд. -
Технология разработки программных продуктов. Практикум: учеб. Пособие для студ. учреждения сред. проф. образования / А.В. Рудаков, Г.Н. Федорова. – 4-е изд. -
Базы данных: учебник для сред. проф. образования / Б.Я. Советов, В.В. Цехановский, В.Д. Чертовский. – 3-е изд. -
Проектирование информационных систем: учебник и приктикум для сред. проф. образования / Д.В. Чистов, П.П. Мельников, А.В. Золотарюк, Н.Б. Ничепорук. -
https://learn.microsoft.com/ – Справочная система Microsoft Visual Studio -
Харди, Б., Филлипс, Б. Программирование под Android. Для профессионалов. СПБ.: Питер, 2019. 592 с. -
ISO/IEC/IEEE 42010:2011(E) Systems and software engineering – Architecture description. NY, 2018. 46 p. -
Википедия. MVP архитектура. https://ru.wikipedia.org/wiki/Model-View-Presenter. -
Википедия. MVC архитектура. https://ru.wikipedia.org/wiki/Model-View-Controller. -
Назначение и особенности этапов проектирования базы данных (БД). http://e-educ.ru/bd10.html. -
Fowler, M. Inversion of Control Containers and the Dependency Injection pattern / M. Fowler. http://martinfowler.com/articles/injection.html. -
SQLitevsMySQLvsPostgreSQL: сравнение систем управления базами данных – http://devacademy.ru/posts/sqlite-vs-mysql-vs-postgresql/. -
Android Architecture Components – https://developer.android.com/develop/index.html?hl=ru. -
MVP для Android. Перевод – https://tttzof351.blogspot.ru/2014/04/mvp-android.html.