Файл: Ккэп 09. 02. 07 0110 пз изм. Лист докум. Подпись Дата Разраб.pdf
ВУЗ: Не указан
Категория: Не указан
Дисциплина: Не указана
Добавлен: 03.12.2023
Просмотров: 203
Скачиваний: 1
ВНИМАНИЕ! Если данный файл нарушает Ваши авторские права, то обязательно сообщите нам.
19
ККЭП 09.02.07
0110
ПЗ
Лист
Изм. Лист
№ докум.
Подпись Дата
Таблица 6 – Описание таблиц
Название таблицы
Краткое описание
User
Предназначена для хранения информации о пользователях
UserTokens
Предназначена для хранения информации о ключах доступа пользователей
Attachment
Предназначена для хранения информации о фиксациях специалистов по монтажу
Task
Предназначена для хранения информации о задачах
Object
Предназначена для хранения информации об объектах
Statuses
Предназначена для хранения информации о статусах задач
Photos
Предназначена для хранения фотографий, прикрепленных к задаче
Для данной базы данных было разработано API, с помощью которого мобильное приложение взаимодействует с сервером.
3.3 Описание программных модулей
В мобильном приложение реализована так называемая «чистая архитектура» и паттерн MVP. Задача архитектуры программного обеспечения — минимизация человеческих ресурсов, необходимых для создания и обслуживания требуемой системы. Проект Android приложения требует разделения понятий между пользовательским интерфейсом, логикой функционирования и моделью данных. Поэтому приложение разделено на 3 слоя: домен, данные и слой представления [3].
20
ККЭП 09.02.07
0110
ПЗ
Лист
Изм. Лист
№ докум.
Подпись Дата
Домен: содержит определения логики функционирования приложения, модели данных сервера, абстрактное определение репозиториев и определение сценариев использования. На рисунке 12 представлена структура слоя «domain».
Рисунок 12 – Структура слоя «domain»
Данные: содержит реализацию абстрактных определений доменного слоя.
Он содержит репозитории и реализации источников данных, определение базы данных и ее DAO (Data Access Object - паттерн проектирования, смысл которого в создании специальной прослойки, которая будет отвечать исключительно за доступ к данным), определения сетевых API, некоторые средства преобразования для конвертации моделей сетевого API в модели базы данных и наоборот. На рисунке
13 представлена структура слоя «data».
21
ККЭП 09.02.07
0110
ПЗ
Лист
Изм. Лист
№ докум.
Подпись Дата
Рисунок 13 – Структура слоя «data»
Слой представления: содержит фрагменты, модели представления, адаптеры, активности, а также реализацию паттерна MVP представленную в пакетах
«repositories», «presenters» и «contracts». На рисунке 14 представлена структура слоя представления.
Рисунок 14 – Структура слоя представления
22
ККЭП 09.02.07
0110
ПЗ
Лист
Изм. Лист
№ докум.
Подпись Дата
Кроме трех слоев приложения, также присутствует модуль «cache» для работы с локальным хранилищем и базой данных. На рисунке 15 представлена структура модуля «cache».
Рисунок 15 – Структура модуля «cache»
В таблице 7 представлено описание назначение пакетов модуля «cache».
Таблица 7 – Назначение пакетов модуля «cache»
Название пакета
Назначение database
Содержит все классы, взаимодействующие с локальной базой данных database.dao
Хранит прослойки, которые отвечают за доступ к данным в локальной базе данных database.model
Хранит модель данных, хранящейся в локальной базе datasource
Отвечает за связь модуля «cache» и слоя «data» localdata
Содержит все классы, взаимодействующие с постоянным хранилищем платформы Android localdata.dao
Хранит прослойки, которые отвечают за доступ к данным, находящимся в постоянном хранилище
23
ККЭП 09.02.07
0110
ПЗ
Лист
Изм. Лист
№ докум.
Подпись Дата
Таким образом, приложение независимо от всего: от интерфейса, от работы с локальной базой данных, от работы сервера и от других элементов окружения.
Независимость архитектуры от окружения очень важна, так как это позволяет менять различные компоненты окружения без изменения самой архитектуры.
В процессе разработки мобильного приложения, некоторые макеты экранов, утвержденных заказчиком, были видоизменены в целях удобства для пользователей и расширения функционала. Таким образом, при первом открытии приложения открывается экран авторизации, представленный на рисунке 16. На данном экране специалист по монтажу вводит логин и пароль, полученные от менеджера
Рисунок 16 – Экран авторизации
При успешной авторизации, открывается основной экран со списком задач.
Если учетные данные неверные, то появляется всплывающее уведомление о том,
24
ККЭП 09.02.07
0110
ПЗ
Лист
Изм. Лист
№ докум.
Подпись Дата
что необходимо ввести правильные данные [6]. На рисунке Б.1 представлен код отправки данных на сервер для получения токена. На рисунке 17 изображен главный экран, на котором есть возможность просмотра, поиска и фильтрации назначенных на пользователя задач, которые находятся в процессе выполнения.
Красным цветом выделяются просроченные задания. Фильтрация осуществляется по объектам, к которым привязаны задачи. Поиск работает по названию и адресу задач.
Рисунок 17 – Экран с задачами, которые находятся в процессе выполнения
В правом верхнем углу рядом со строкой поиска находится кнопка, при нажатии на которую открывается новый экран, представленный на рисунке 18, с информацией о том, как пользоваться приложением, а также требования к прикладываемым к задачам фотографиям и версия текущего приложения.
25
ККЭП 09.02.07
0110
ПЗ
Лист
Изм. Лист
№ докум.
Подпись Дата
Рисунок 18 – Экран с информацией для пользователя
При нажатии на задачу, которая находится в процессе выполнения, открывается новый экран с подробным описанием задачи и возможностью добавления фотографий и комментария [7]. На рисунке 19 представлен экран задачи.
26
ККЭП 09.02.07
0110
ПЗ
Лист
Изм. Лист
№ докум.
Подпись Дата
Рисунок 19 – Экран с подробным описанием задачи
На рисунке 19 видно, что есть поле «Разрешено использовать галерею», данный функционал был дополнительно добавлен для возможности прикреплять фотографии из галереи для некоторых задач. На рисунке Б.2 представлен код обработчика кнопки «Выполнить». Если использование галереи разрешено, то при нажатии на кнопку «Добавить фото» появится диалоговое окно с выбором галереи или камеры. Если использование галереи запрещено, то при нажатии на ту же кнопку, сразу открывается экран с камерой, представленный на рисунке 20. На данном экране в верхнем правом углу отображается количество прикрепленных фотографий к задаче и необходимое количество фотографий, внизу слева направо три кнопки: кнопка работы вспышки, кнопка «сфотографировать» и кнопка подтверждения прикрепления фотографий к задаче.
27
ККЭП 09.02.07
0110
ПЗ
Лист
Изм. Лист
№ докум.
Подпись Дата
Рисунок 20 – Экран для работы с камерой
После прикрепления фотографий, снова открывается экран с описанием задачи, только теперь туда добавлены прикрепленные фотографии. При нажатии на крестик фотография удаляется [10]. Если выйти из приложения, то прикрепленные фотографии сохранятся, так как они сохраняются в локальную базу данных. Специалист по монтажу может добавить комментарий в поле ввода при необходимости. После нажатия на кнопку «Выполнить» задача отправляется на сервер, после чего выводится уведомление о том, что задача выполнена, и переходит в статус «Готово». Если количество прикрепленных фотографий меньше, чем требуется в задаче, то выводится всплывающее сообщение о том, что необходимо добавить больше фотографий. На рисунке 21 представлен экран задачи с прикрепленными фотографиями.
28
ККЭП 09.02.07
0110
ПЗ
Лист
Изм. Лист
№ докум.
Подпись Дата
Рисунок 21 – Экран задачи с прикрепленными фотографиями
Разработанное мобильное приложение удовлетворяет всем требованиям технического задания, сформулированным совместно с заказчиком.
29
ККЭП 09.02.07
0110
ПЗ
Лист
Изм. Лист
№ докум.
Подпись Дата
4 Тестирование
4.1 Интеграционное тестирование
Необходимо протестировать способность мобильного приложения FixPhoto обрабатывать различные ответы сервера, ведь сервер может отключится на некоторое время, поэтому приложение должно быть устойчиво к сбоям со стороны сервера. Сбои трудно эмулировать с реальными серверами, поэтому я воспользовался библиотекой «MockWebServer», которая позволяет легко проверить, правильно ли приложение делает вызовы HTTP и HTTPS [9]. Это позволяет указать какие ответы возвращать, а затем проверить, что запросы были сделаны так, как ожидалось. Таким образом были составлены два ответа JSON. На рисунке 22 представлен пример ответа сервера.
Рисунок 22 – Пример ответа сервера, используемый в тестировании
Были составлены тесты, которые позволяют эмулировать работу сервера и проверять различные коды состояния HTTP. На рисунке 23 приведены примеры тестирования положительного и отрицательного случаев.
30
ККЭП 09.02.07
0110
ПЗ
Лист
Изм. Лист
№ докум.
Подпись Дата
Рисунок 23 – Примеры положительного и отрицательного тестов
Тест-кейсы представлены в Приложении Д.
31
ККЭП 09.02.07
0110
ПЗ
Лист
Изм. Лист
№ докум.
Подпись Дата
5 Эксплуатационная документация
5.1 Руководство пользователя
При первом открытии приложения необходимо дать доступ к запрашиваемым разрешениям: доступ к камере, доступ к местоположению и доступ к хранилищу данных. После этого появляется окно авторизации, где необходимо ввести учетные данные, полученные от менеджера. После успешной авторизации открывается главный экран. Внизу данного экрана располагается меню с вкладками: «В процессе», «В ожидании» и «Готово», а также кнопка
«Выйти». На вкладках появляется список задач, которые находятся в работе, в ожидании и уже выполнены соответственно. Для удобной работы со списком задач присутствует возможность фильтрации по объектам и поиск по названию и адресу.
Для того чтобы выполнить задачу необходимо нажать на нее в списке, после чего откроется новый экран с подробным описанием задачи и возможностью добавить или сделать фотографии и написать комментарий при необходимости.
Выполненная задача переводится в статус «Готово». Требования к фотографиям объектов:
- производится съемка площадки до монтажа/демонтажа, с целью фиксации повреждения/отсутствия повреждения поверхности (плитки, газона, асфальта и т.д.);
- производится фото каждого этапа монтажа/демонтажа, в том числе работа спецтехники, с отражением деревянных подкладок под аутригерами, работа монтажников в средствах индивидуальной защиты и т.д.;
- по окончании монтажа/демонтажа делается фотография конструкции в смонтированном виде, а также окружающей территории с целью фиксации отсутствия/наличия повреждений поверхности, следов масла, мусора и т.д.;
32
ККЭП 09.02.07
0110
ПЗ
Лист
Изм. Лист
№ докум.
Подпись Дата
- по окончании монтажа фото конструкции должно: быть горизонтальным, конструкция должна полностью попадать в кадр. В кадре не должно быть никаких людей и предметов.
5.2 Руководство программиста
Специальное мобильное приложение «FixPhoto» входит в состав системы
«FixPhoto» и обеспечивает полноценную работу специалиста по монтажу, имеет 10 экранов, которые описаны в таблице 8.
Таблица 8 – Экраны приложения
Название
Описание
AuthActivity
Экран авторизации, на котором располагаются поля для ввода логина и пароля, а также кнопка «Войти».
MenuActivity
Главный экран приложения, на котором располагается нижнее меню и
3 вкладки:
CompleteTasksFragment,
ProcessingTasksFramgent, WaitingTasksFragment.
Completed-
TasksFragment
Вкладка со списком выполненных задач
Processing-
TasksFramgent
Вкладка со списком назначенных задач, находящихся в процессе выполнения (либо просроченные задачи), с полем для поиска задач.
Waiting-
TasksFragment
Вкладка со списком назначенных задач, находящихся в процессе ожидания.
InfoActivity
Экран с информацией об использовании приложения.
33
ККЭП 09.02.07
0110
ПЗ
Лист
Изм. Лист
№ докум.
Подпись Дата
Продолжение таблицы 8
Название
Описание
Completed-
TaskActivity
Экран с описанием выполненной задачи и отправленными фотографиями.
TaskActivity
Экран с подробным описанием задачи. Здесь находится список приложенных ранее фотографий, поле для ввода комментария, кнопка для добавления фотографий, а также кнопка для выполнения задачи.
PhotoActivity
Экран для просмотра фотографий, с возможностью приближения, а также присутствуют «свайпы» (жесты смахивания), чтобы просматривать несколько фотографий одновременно.
CameraActivity
Экран для создания фотографий, на котором находятся кнопка для управления вспышкой, кнопка для добавления фотографий, кнопка для сохранения и счетчик с количеством фотографий.
На рисунке 24 представлена карта переходов экранов.
Рисунок 24 – Карта переходов
Таким образом, все основные данные об экранах представлены в сводной таблице, последовательность этих экранов показана на карте переходов.
34
ККЭП 09.02.07
0110
ПЗ
Лист
Изм. Лист
№ докум.
Подпись Дата
Заключение
В результате выполнения выпускной квалификационной работы было разработано мобильное приложение «FixPhoto» с помощью средств разработки языка программирования Java и среды разработки Android Studio.
Мобильное приложение соответствует требованиям заказчика и обладает следующими функциональными возможностями:
- просмотр назначенных задач, в том числе просроченных;
- просмотр выполненных задач;
- выполнение задач, включающее в себя отправку фотографий объекта и комментария;
- поиск и фильтрация задач;
- просмотр справочной информации об использовании приложения;
- возможность добавить фотографии к задаче и сохранить их, для выполнения задачи через время.
Разработанное мобильное приложения можно рассматривать как удобное средство для автоматизации работы специалиста по монтажу.