АННОТАЦИЯ 2
ВВЕДЕНИЕ 8
1 АНАЛИЗ ПРЕДМЕТНОЙ ОБЛАСТИ 10
1.2 Обзор аналогов 12
1.3 Анализ основных технологических решений 13
1.3.1 Подключение мобильного устройства к сети Интернет 14
1.3.2 Bluetooth 15
1.3.3 NFC 15
1.3.4 SMS 15
1.4 Вывод 16
2 ОПРЕДЕЛЕНИЕ ТРЕБОВАНИЙ 17
2.1 Функциональные требования 17
2.2 Нефункциональные требования 17
2.2.1 Требования к пользователям 17
2.2.2 Требования к системе безопасности 18
2.2.3 Требования к системе уведомлений 18
3 ПРОЕКТИРОВАНИЕ 19
3.1 Потоки данных 19
3.2 Основные технические решения 21
3.3 Архитектура модуля репликации 22
3.3.1 Этап сбора данных 23
3.3.2 Этап преобразования данных для отправки 23
3.3.3 Этап отправки данных на другое устройство 24
4 РЕАЛИЗАЦИЯ 25
4.1 Реализация модуля репликации 25
4.1.1 Класс SQLiteReplicationHelper 25
4.1.2 Класс SingleLine 29
4.2. Реализация демонстрационного мобильного приложения 31
5 ТЕСТИРОВАНИЕ 34
5.1 Методология тестирования 34
5.2 Проведение процедуры тестирования 34
6 РУКОВОДСТВО ПО ИСПОЛЬЗОВАНИЮ 36
6.1 Скачивание и внедрение 36
6.2 Обзор функционала модуля 39
6.3 Расширение функционала 43
6.3.1 Отправка и получение SMS 43
6.3.2 Выбор периода репликации 48
6. ЗАКЛЮЧЕНИЕ 53
БИБЛИОГРАФИЧЕСКИЙ СПИСОК 54
ПРИЛОЖЕНИЕ А Исходный код класса SQLiteReplicationHelper 55
ПРИЛОЖЕНИЕ Б Исходный класса SingleLine 64
ПРИЛОЖЕНИЕ В Исходный код класса главного окна мобильного
приложения MainActivity 67
ПРИЛОЖЕНИЕ Г Исходный код класса окна вывода информации из базы
данных мобильного приложения DemoActivity 78
ПРИЛОЖЕНИЕ Д Исходный код класса обработки входящих СМС
SmsReceiver 79
ПРИЛОЖЕНИЕ Е Исходный код класса создания базы данных
DBHelper 80
Каждое устройство в современном мире ежесекундно принимает, отправляет и обрабатывает огромный массив данных, предоставляя пользователю различные виды услуг, начиная от связи, заканчивая облачными вычислениями. Мы привыкли, что главным каналом передачи данных является Интернет с его огромными возможностями. Но главным вопросом остается проблема информационной безопасности, обеспечения конфиденциальности данных, доступности и целостности, а также недопущения какой-либо их компрометации. Для мобильных устройств этот вопрос стоит особенно остро, так как на них нередко хранят больше личной информации, чем на остальных устройствах пользователя.
Существует ряд задач, где требуется контроль выполнения каких-либо действий, которые должен выполнить абонент. Как правило, такие задачи имеют издателя, дистрибьютора, который может быть совмещен с издателем, а также подписчика, который должен выполнять требуемые действия и предоставлять обратную связь издателю о их выполнении. В большинстве случаев такие задачи решаются за счет централизованной базы данных. Однако при наличии мобильных устройств или наличии гетерогенной среды, состоящей из мобильных устройств и стационарных, такое решение не совсем удобно, так как требует размещения централизованной базы данных на каком-либо ресурсе.
Передача данных осуществляется с помощью разных каналов, основным является интернет трафик. Для этой цели разработчики мобильных приложений пользуются услугами хостинга. Крупные компании пользуются платными сервисами по размещению своих данных, компании поменьше, из-за недостатка средств, вынуждены использовать бесплатные сервисы, которые обладают рядом недостатков таких, как наличие рекламы на ресурсах, ограниченный функционал и отсутствие гарантий по сохранности данных.
Актуальность создания средств передачи данных мобильных приложений без использования хостинг сервисов заключается в том, что безопасность личных данных в современном мире является важной задачей для разработчиков программного обеспечения и пользователей, но не все готовы оплачивать предоставление доступа к персональному выделенному серверу.
Целью представленной выпускной квалификационной работы является разработка средства репликации для СУБД SQLite на базе операционной системы Android с целью организации передачи изменений в базе данных по среде передачи данных без использования хостинг сервера в качестве посредника.
Для достижения поставленной цели, необходимо решить следующие задачи:
1. Рассмотреть современные способы передачи данных между мобильными устройствами.
2. Провести детальный анализ каждого из средств по критериям радиуса действия, скорости передачи данных и использования хостинг сервисов.
3. Разработать модуль для разработчиков мобильных приложений, который осуществляет репликацию базы данных на двух мобильных устройствах.
4. Разработать мобильное приложение для демонстрации функционала разработанного модуля репликации.
5. Оценить работоспособность разработанного программного комплекса.
В рамках выпускной квалификационной работы был спроектирован и реализован модуль репликации для системы управления базами данных SQLite.
Для достижения поставленной цели были решены следующие задачи:
1) выполнена постановка и анализ задачи;
2) выполнен анализ-обзор существующих решений;
3) определены требования к системе;
4) разработана архитектура модуля репликации;
5) реализован модуль репликации и демонстрационное мобильное приложение с учетом необходимых функциональных и нефункциональных требований;
6) проведено тестирование мобильного приложения с использованием интеграционного тестирования и системного тестирования.
7) составлена подробная документация на разработанные средства, оформленная в виде руководства программисту, даны рекомендации для полноценной реализации всех возможностей программного обеспечения в мобильном приложении.