Введение
В настоящее время, с появлением высоких технологий и повсеместно доступной сети интернета люди стали проводить все больше времени за компьютерами, телефонами и другими устройствами которые заменяют реальные отношения, следовательно, становится актуальной задача формирования мероприятий для небольших групп лиц незнакомых друг с другом, по имеющимся общим интересам. Наряду с проблемой формирования, также стоит проблема уменьшения времени на поиск желаемых мероприятий, которое является важнейшим человеческим ресурсом и которого всегда не хватает. Таким образом возникает необходимость в разработке программы, позволяющей решить эти проблемы.
Таким образом, в рамках данной выпускной квалификационной работы необходимо разработать мобильную программу организации краткосрочных событий. программа аndroid мобильный руководство
Программа должна позволять просматривать имеющиеся и создавать собственные события, отображать и добавлять эти события на интерактивной карте в виде маркеров, делиться событиями в социальных сетях, синхронизировать эти события с календарем, а также отправлять push-уведомления.
1. Обзор и сравнение существующих решений
1.1 Nearify
Nearify — программа, разработанная индийскими программистами, позволяющая искать и создавать различные события, в большинстве своем события представляют собой массовые мероприятия, такие как концерты, конференции, фестивали, спортивные соревнования, выставки и т.д. По словам разработчиков, программой пользуются более чем в двухстах городах по всему миру.
Скриншот главного окна представлен на рисунке 1.
Рисунок 1 – Скриншот главного окна программы Nearify
Достоинства программы:
– возможность поиска событий, связанных с конкретными людьми, например, с певцами, артистами кино, программистами и т.д.;
– возможность подписки на зарегистрированного пользователя программного средства, что позволяет следить за созданными им событиями;
– возможность поиска по радиусу от определенного местоположения.
Основные характеристики:
– операционная система – iOS, Android;
– примерное количество скачиваний – 100 тыс.;
– язык интерфейса – английский;
– создание собственных событий – да;
– поддержка карт Google Maps – да;
– синхронизация с календарем – нет;
– сортировка по категориям – сейчас и в ближайшее время;
– возможность поделиться событием в социальных сетях – Facebook.
1.2 All events in city
All events in city — программа, также разработанная программистами из Индии, позволяет производить поиск и создание собственных событий, обладает небольшим количеством функций по сравнению с аналогичными решениями. Скриншот главного окна представлен на рисунке 2.
Рисунок 2 – Скриншот главного окна программы All events in city
Достоинства программы:
– возможность создания организации из нескольких зарегистрированных пользователей;
– возможность подписки на зарегистрированного пользователя.
Основные характеристики:
– операционная система – iOS, Android;
– примерное количество скачиваний – 100 тыс.;
– язык интерфейса – английский;
– создание собственных событий – да;
– поддержка карт Google Maps -да;
– синхронизация с календарем -да;
– сортировка по категориям – по роду и виду занятия;
Возможность поделиться событием в социальных сетях – Facebook.
1.3 Eventbrite
Eventbrite – очередная зарубежная программа, разработанная программистами из США, позволяет просматривать и создавать собственные события, является самой популярной из приведенных решений, исходя из данных, представленных в официальном магазине приложений для ОС Android – App Store.
Скриншот главного окна представлен на рисунке 3.
Достоинства программы:
– позволяет добавлять избранные категории событий для зарегистрированных пользователей;
– просмотр событий друзей из социальной сети Facebook.
Рисунок 3 – Скриншот главного окна программы Eventbrite
Основные характеристики:
– операционная система – iOS, Android;
– примерное количество скачиваний – 5 млн.;
– язык интерфейса – английский;
– создание собственных событий – да;
– поддержка карт Google Maps – да;
– синхронизация с календарем – нет;
– сортировка по категориям – по популярности, по роду и виду занятия;
– возможность поделиться событием в социальных сетях – Facebook.
1.4 Event near me
Event near me — зарубежная программа, разработанная разработчиками из Америки, имеет такую особенность, что возможно исключительно просматривать существующие события, информация о которых берется с сайтов организаторов этих событий. Также стоит отметить что отсутствует система аутентификации пользователя.
Скриншот главного окна представлен на рисунке 4.
Рисунок – 4 Скриншот главного окна программы Event near me
Особенности программы:
– возможность перехода на сайт организатора события по прямой ссылке.
– Основные характеристики:
– операционная система – iOS, Android;
– примерное количество скачиваний – 10 тыс.;
– язык интерфейса – английский;
– создание собственных событий – нет;
– поддержка карт Google Maps – да;
– синхронизация с календарем – да;
– сортировка по категориям – по роду и виду занятия;
– возможность поделиться событием в социальных сетях – Facebook.
1.5 Сравнение решений и вывод
Сравнение программ будет проводиться по следующим характеристикам:
– операционная система: iOS, Android;
– примерное количество скачиваний: n скачиваний;
– язык интерфейса: поддерживаемые языки;
– создание собственных событий: да, нет;
– поддержка карт Google Maps: да, нет;
– синхронизация с календарем: да, нет;
– сортировка по категориям: имеющиеся сортировки;
– возможность поделиться событием в социальных сетях: поддерживаемые социальные сети;
– поддержка технологии Push уведомлений.
Для наглядности сравнения программных средств, создадим таблицу, куда занесем вышеперечисленные характеристики.
Таблица 1 – Сравнение существующих решений
Программа и характеристики |
Nearify |
All events in city |
Eventbrite |
Events near me |
|
Операционные система |
iOS, Android |
iOS, Android |
iOS, Android |
iOS, Android |
|
Примерное количество скачиваний |
100 тыс. |
100 тыс. |
5 млн. |
10 тыс. |
|
Язык интерфейса |
английский |
английский |
английский |
английский |
|
Создание собственных событий |
да |
Да |
да |
нет |
|
Поддержка карт Google Maps |
да |
Да |
да |
да |
|
Синхронизация с календарем |
нет |
Да |
нет |
да |
|
Сортировка по категориям |
сейчас и в ближайшее время |
по роду и виду деятельности |
по популярн., роду и виду деятельности |
по виду деятельности |
|
Интеграция с социальными сетями: |
|
|
|
|
|
Технология Push уведомл. |
нет |
Нет |
нет |
нет |
На основе анализа таблицы 1, можно сделать следующие выводы:
– ни у одной программы не имеется поддержка русского языка;
– не все программы могут сохранят события в календарь;
– у большинства программ лишь частично реализована сортировка событий;
– ни в одной программе не реализована технология Push уведомлений;
– крайне низкая популярность в России.
Анализ популярности был проведен на основе количества имеющихся событий на 25.01.2017 в самом многочисленном городе России – Москве, было найдено от 0 до нескольких десятков событий в зависимости от программы.
2. Постановка задачи
2.1 Определение проблемы
После анализа существующих решений их сравнения и составленного вывода, было выявлено, что существует необходимость в разработке программы, которая устраняла бы недостатки имеющихся программ, а также предоставляла новые возможности.
2.2 Формальная постановка задачи
В данной ВКР, мобильная служба организации краткосрочных событий подразумевает создание, управление, просмотр и другие возможности по работе с событиями, которые выполняются пользователем. Для того чтобы правильно сформулировать все понятия и определения, использующиеся в данной ВКР, необходимо написать постановку задачи, которая давала бы наиболее ясное и точное описание решаемой задачи. В формальной постановке задачи описываются все процессы, происходящие при организации событий в мобильной службе.
Пусть имеется множество пользователей P состоящее из конкретных пользователей , формула (1).
где: P – множество пользователей мобильной службы;
– конкретный пользователь;
n – количество пользователей мобильной службы.
Предположим, что конкретный пользователь , который, например, решил набрать форму перед предстоящем экстремальным путешествием посредством утренних пробежек. Так как бег в компании предоставляет такие преимущества как: ответственность, соревновательный настрой, наблюдения со стороны компании для выявления ошибок при беге и т.д., у пользователя возникает желание в поиске той компании людей, вместе с которой он совершал бы коллективную утреннюю пробежку. Решением данной задачи в общем случае, будет выступать программа, разработанная в рамках данной ВКР, в которой пользователь будет иметь следующие основные возможности:
– производить поиск на основе существующих событий E, таких событий, которые будут удовлетворять критериям пользователя;
– создавать собственные события , с целью получения отклика от других пользователей.
В качестве примера разберем процесс поиска существующих событий , которые будут удовлетворять заданным критериям пользователя .
Поиск событий по заданным критериям осуществляется на основе множества из всех существующих событий E, формула (2), и критериям поиска, по которым фильтруются события. В качестве критериев поиска выступают такие фильтры как:
– род занятия;
– вид занятия;
– радиус поиска событий;
– время действия события;
– количество участников события.
где: – конкретное событие;
E – множество существующих событий;
n – количество существующих событий.
Процесс поиска конкретных событий по заданным критериям можно представить с помощью формулы (3).
После произведенного поиска событий из множества событий , удовлетворяющих заданным критериям, пользователю предоставляется соответствующее множество событий удовлетворяющих критериям поиска.
где: E’ – множество существующих событий, удовлетворяющих критериям поиска;
– конкретное событие, удовлетворяющее критериям поиска;
– время действия события;
R – радиус поиска событий;
G – род занятия, характеризующее событие;
H – вид занятия, характеризующее событие;
N – количество участников события.
После того, как пользователь получил множество событий удовлетворяющих критериям поиска, он может посмотреть время прибытия до них и принять в них участие. Время прибытия до событий вычисляется на основе расстояния до их места назначения и способа передвижения (частный автомобиль, ходьба, общественный транспорт). Функция подсчитывающая время прибытия до местонахождений событий представлена в формуле (4).
где: – время прибытия до местонахождений конкретных событий;
l – расстояние до события;
f – способ передвижения до события.
Так-как наряду с проблемой поиска событий существует проблема сокращения времени на их поиск, в данной работе была реализована поддержка технологии Push-уведомлений, которая решает эту проблему.
Push-уведомления – это такой способ распространения информации, когда уведомления отправляются от сервера клиенту по инициативе сервера на основе определённых параметров. В отличие от обратной схемы «клиент-сервер», push-технология выгодна тем, что даёт пользователю целевую информацию, которая может быть ему полезна в будущем времени.
В нашем случае, если интересующее пользователя событие не было найдено изначально, пользователь может включить Push-уведомление, и как только событие будет найдено, ему придет соответствующее уведомление.
Множество из всех будущих событий можно представить с помощью формулы (5).
где: – множество будущих событий;
– множество будущих событий;
Функция поиска будущих событий, удовлетворяющих критериям поиска, представлена с помощью формулы (6).
При поиске будущих событий, пользователь может задать время их поиска, которое будет для него актуально, и каждый раз, когда событие, удовлетворяющее условиям поиска, будет поступать в БД, оно будет доставляться с сервера, на Android – устройство пользователя с помощью Push-уведомлений.
где: – множество будущих событий, удовлетворяющих параметрам поиска;
– множество будущих событий;
– актуальное время поиска будущего события
2.3 Выработка требований
Для того чтобы определить функциональность системы необходимым этапом является выработка требований. Эти требования были определены как из анализа достоинств и недостатков существующих решений, так и из выдвинутых, собственных идей.
В Итоге были сформулированы следующие требования к программе:
– графический интерфейс пользователя;
– поддержка как русского, так и английского языков;
– аутентификация пользователя;
– просмотр с и создание собственных событий E;
– сортировка имеющихся событий ;
– просмотр событий E на интерактивной карте;
– добавление событий E на карту в виде маркеров;
– возможность делиться событиями в социальных сетях;
– сохранение событий в календарем;
– возможность подписки на зарегистрированного пользователя;
– поддержка технологии Push-уведомлений;
– расчет времени прибытия до события.
3. Разработка архитектуры программы и ее алгоритмов
3.1 Выбор состава средств разработки программы
Так как поиск краткосрочных событий требует своевременную информированность, и геолокационные данные для определения точного местоположения пользователя, выбор пал на мобильную платформу, так как именно мобильная платформа имеет возможность доступа к интернету в большинстве случаев и в практически любое время, а также позволяет получать точные данные о местоположении пользователя. В свою очередь операционная система Android была выбрана по следующим причинам:
– наиболее популярная ОС в мире;
– быстро развивающаяся система;
– удобная среда разработки;
– широкие возможности визуализации графического интерфейса;
– большой инструментарий для работы с картами Google Maps.
В процессе разработке программы стало ясно, что в перспективе будет разрабатываться сайт, который будет выполнять функции программы на OC Android, из-за этого, было принято решение хранить данные в БД предоставляемой хостингом, который является сервером, чтобы обращаться к единой БД для программы и сайта, вместо отдельных БД для двух платформ.
Хостинг – услуга по предоставлению ресурсов для размещения информации на сервере, постоянно находящемся в сети.
Обычно хостинг входит в пакет по обслуживанию сайта и подразумевает как минимум услугу размещения файлов сайта на сервере, на котором запущено ПО, необходимое для обработки запросов к этим файлам. Как правило, в обслуживание уже входит предоставление места для почтовой корреспонденции, баз данных, DNS, файлового хранилища на специально выделенном файл-сервере и т. Д., а также поддержка функционирования соответствующих сервисов. Хостинг базы данных, размещение файлов, хостинг электронной почты и услуги DNS могут предоставляться отдельно как самостоятельные услуги, либо входить в комплексную услугу.
Как упоминалось ранее, в данной работе, в качестве сервера используется хостинг базы данных, включающий в себя СУБД, а также веб-интерфейс PHPMyAdmin [11], с помощью которого мы выполняем администрирование СУБД.
PHPMyAdmin – веб-приложение с открытым кодом, написанное на языке PHP и представляющее собой веб-интерфейс для администрирования СУБД [12] MySQL [13]. PHPMyAdmin позволяет через браузер и не только осуществлять администрирование сервера MySQL, запускать команды SQL и просматривать содержимое таблиц и баз данных. Приложение пользуется большой популярностью у веб-разработчиков, так как позволяет управлять СУБД MySQL без непосредственного ввода SQL команд, предоставляя дружественный интерфейс.
Непосредственно БД предназначена для хранения такой информации как:
– пароли, логины и другая информация учетных записей пользователей;
– существующие события и информация о них;
– события, созданные пользователем;
– информация о макетах событий, которые отображаются на карте Google Maps.
В качестве СУБД используется MySQL.
СУБД MyS QL была выбрана в следствии следующих причин:
– высокая скорость работы;
– высокая надежность данных;
– наличие в большинстве хостингов;
– удобство взаимодействия с БД;
– не высокая стоимость за объем хранимой информации.
За взаимодействие сервера и клиента отвечают PHP-запросы, которые отправляют команды на редактирование, добавление, удаление и выборку данных в БД.
3.2 Разработка архитектуры программы
Одной из основных задач разработки архитектуры [3 – 4] программы, является разработка единой системы из взаимодействующих служб, которые будут наиболее эффективно, гибко и надежно выполнять свои функции.
Разработка архитектуры также включает в себя такие аспекты как:
– организация программы;
– организация данных;
– пользовательский интерфейс;
– производительность;
– взаимодействие с другими системами;
– обработка ошибок;
– и т. д.
Архитектура программы была разработана на основе исследования в области разработки программ на OC Android, учитывающая наиболее эффективное взаимодействие модулей программы, надежность, гибкость и другие аспекты архитектуры. Схема архитектуры программы представлена на рисунке 5.
Так как в данной работе используется такая технология как Push-уведомления, то схема демонстрирующая принцип ее работы представлена на рисунке 6.
Когда пользователь включает функцию Push-уведомлений при поиске событий, он запускает фоновый процесс, в котором, раз в определенный промежуток времени будет отправляется запрос к БД на наличие новых событий, которые удовлетворяют критериям поиска.
Рисунок – 5 Схема архитектуры программы
Рисунок – 6 Схема принципа работы Push-уведомлений
Одной из задач разработки архитектуры программы является обеспечить достаточный уровень гибкости ГИП и быструю навигацию среди окон графического интерфейса.
Схема навигации среди окон графического интерфейса представлена на рисунке 7.
Для наибольшей гибкости и удобства навигации среди окон ГИП, было разработано навигационное меню состоящее из кнопок, соответствующих изображений к кнопкам, а также подсказками, отображающими количество событий в той или иной группе.
Рисунок – 7 Граф переходов ГИП
3.3 Разработанные алгоритмы
На этапе разработки прототипа программного средства, были разработаны три алгоритма, первый – алгоритм аутентификации [10] пользователей, позволяющий пользователям войти в программу под своей учетной записью с правами просмотра имеющихся и создания собственных событий или зарегистрировать свою учетную запись для получения вышеуказанных прав. Второй алгоритм – алгоритм просмотра существующих и создания собственных событий, позволяющий загружать события из БД и отображать их с на экране Android-устройства, или же создавать собственные, с сохранением в БД. Третий алгоритм – алгоритм работы внешнего исполняемого модуля, написанного на языке PHP, который выполняет который выполняет роль курьера, передающего информацию от Android-устройства к серверу и наоборот.
3.4 Разработанный алгоритм аутентификации пользователей
Для аутентификации пользователей был разработан следующий алгоритм, представленный на рисунке 8.
Рисунок 8 – Блок схема алгоритма аутентификации пользователей
Входные данные при регистрации учетной записи:
– логин;
– имя пользователя;
– адрес почтового ящика;
– пароль.
Выходные данные при регистрации учетной записи:
– ответ об успешной регистрации, либо отчет об ошибке.
После ввода входных данных в ГИП Android-устройства и нажатия на соответствующую кнопку, отправляется POST-запрос к серверу с командами проверки на существование аналогичной УЗ и сохранения новой, в случае ее уникальности. После выполнения POST-запроса, возвращается ответ об успешном добавлении нового пользователя, либо ответ ошибки, с указанием проблемы.
Входные данные при входе под существующей учетной записью:
– логин;
– пароль.
Выходные данные при входе под существующей учетной записью:
– ответ об успешном входе под своей УЗ, либо отчет об ошибке.
В процессе входа под существующей УЗ, после ввода входных данных в ГИП Android-устройства и нажатия на соответствующую кнопку, отправляется POST-запрос к серверу с SQL-командами проверки на существование соответствующей УЗ. После выполнения POST-запроса, возвращается ответ об успешном входе в программу под своей УЗ, либо ответ ошибки, с указанием проблемы.
3.5 Разработанный алгоритм просмотра и создания событий
Для того чтобы просматривать имеющиеся и создавать собственные события, был разработан алгоритм, представленный на рисунке 9.
Входные данные при создании собственного события:
– название события;
– род занятия;
– вид занятия;
– время действия события;
– количество участников события;
– координаты события.
Рисунок 9 – Блок схема алгоритма просмотра существующих и создания собственных событий.
Выходные данные при создании собственного события:
– ответ об успешном создании события, либо отчет об ошибке.
При создании события необходимо ввести характеристики события в ГИП Android-устройства и нажать на соответствующую кнопку, после этого отправляется POST-запрос к серверу с командой сохранения нового события. После выполнения POST-запроса, возвращается ответ об успешном сохранении нового события, либо ответ ошибки, с указанием проблемы.
Входные данные при поиске существующих событий: род занятия;
– род занятия;
– вид занятия;
– время действия события;
– количество участников события;
– расстояние до события.
Выходные данные при создании собственного события:
– список событий, удовлетворяющих условиям поиска, либо отчет об ошибке.
При поиске событий необходимо ввести характеристики события в ГИП Android-устройства и нажать на соответствующую кнопку, после этого отправляется POST-запрос к серверу с командой поиска событий, удовлетворяющих условиям поиска. После выполнения POST-запроса, возвращается список найденных событий, либо ответ ошибки, с указанием проблемы.
3.6 Процесс поиска событий по геолокационным данным
Процесс поиска пользователем событий в своем радиусе поиска можно представить с помощью следующего уравнения, формула (7):
где: – координаты местонахождения пользователя;
– радиус поиска событий от местонахождения пользователя;
– координаты местоположения событий.
Например, если пользователь , с координатами x и y, производит поиск событий в радиусе от своего местоположения, то на карту будут выведены все существующие события, местоположения которых входят в область поиска пользователя . Процесс поиска пользователем событий можно представить в виде диаграммы на рисунке 10.
Рисунок 10 – диаграмма иллюстрирующая процесс поиска событий
3.7 Разработанный алгоритм работы PHP–запроса
PHP запрос – запрос, отправляемый от клиента к серверу, для выборки, удаления, редактирования и добавления данных. В данной работе в качестве сервера выступает БД, задача которой – хранить учетные записи пользователей, характеристики событий и маркеров на картах google maps. Основной задачей PHP запроса является передача данных между клиентом и серверов, формирование запроса осуществляется на стороне клиента, а сервер его принимает, выполняет переданные ему команды и формирует ответный запрос.
Можно выделить следующие функции PHP запроса, которые выполняются в данной программе:
– отправка запроса серверу, для проверки на существование учетной записи с введенными данными;
– возвращение положительного или отрицательного ответа;
– отправка запроса серверу, на сохранение новой учетной записи с введенными данными;
– получения положительного или отрицательного ответа после отправленного запроса;
– отправка запроса на выборку событий с конкретными параметрами;
– отправка запроса на сохранение нового события с конкретными параметрами;
– Отправка запроса на добавление или выборку маркеров на картах google maps.
Для реализации вышеперечисленных функций был разработан алгоритм, представленный на рисунке 11.
Входные данные при выполнении запроса регистрации учетной записи:
– логин;
– имя пользователя;
– адрес почтового ящика;
– пароль.
Выходные данные при выполнении запроса регистрации учетной записи:
– ответ об успешном выполнении запроса регистрации, либо отчет об ошибке.
– После ввода входных данных в ГИП Android-устройства и нажатия на соответствующую кнопку, отправляется POST-запрос к серверу с данными, введенными в Android-устройстве. После выполнения POST-запроса к серверу, в данной работе это PHP модуль, очередь переходит непосредственно к PHP модулю, отвечающего за соединение с БД и выполнение команд на языке SQL для записи новой УЧ, если та прошла проверку на уникальность. В результате запроса, модуль содержит информацию об успешной записи нового пользователя, либо ошибку, с указанием проблемы.
Рисунок 11 – Алгоритм работы PHP модуля, выполняющего аутентификацию и регистрацию УЗ
Входные данные при выполнении запроса на проверку данных УЗ:
– логин;
– пароль.
Выходные данные при выполнении запроса на проверку данных УЗ:
– ответ об успешном подтверждении данных УЗ.
В данной ветви алгоритма выполняется аналогичное соединение с БД, но команды на языке SQL не записывают новую УЗ, а проверяют ее на существование. В результате запроса, модуль содержит информацию об успешной проверке данных УЗ, либо ошибку, с указанием проблемы.
3.8 Структура базы данных
Целью создания БД в данной ВКР было хранение такой информации как:
– данные учетных записей пользователей;
– множество событий с определенными характеристиками;
– множество событий, которые будут отображаться на интерактивной карте;
– таблицы о роде и виде занятий, для сортировки событий.
Схема структуры БД представлена на рисунке 12.
Рисунок 12 – Схема структуры БД
В результате выполнения ВКР, была создана структура БД, хранящая всю вышеперечисленную информацию, которая содержит 5 таблиц и в сумме 30 полей.
Разработанная БД полностью выполняет все возложенные на нее задачи, а также поддерживает возможность расширения в случае необходимости.
3.9 Структура программы
В таблице 2 дано перечисление и описание файлов программы.
Таблица 2 – Описание файлов программы
ActivityMain.java |
Главная активность программы, включающее навигационное меню. |
|
ActivityLogin.java |
активность программы, отвечающее за вход пользователя под своей учетной записью. |
|
ActivityRegister.java |
активность программы, отвечающее за регистрацию пользователя. |
|
BackGroundWorker.java |
выполняет post запрос и действует в зависимости от ответа. |
|
MapsActivity.java |
активность, отображающая и добавляющая маркеры на карты google maps |
|
EventsListFragment.java |
фрагмент программы, который отображает список существующих событий |
|
CreateEventsFragment.java |
фрагмент, с помощью которого пользователь заполняет поля события и сохраняет его в БД. |
|
Connect.php |
PHP запрос, выполняющий соединение с БД |
|
Login.php |
запрос, выполняющий вход в программу под своей УЗ |
|
Register.php |
запрос, выполняющий регистрацию в программе своей УЗ. |
4. Отладка и тестирование
В контрольном примере проведено тестирование работоспособности программы в процессе аутентификации, где пользователь выполняет вход в программу, а также в процессе создания событий.
Набор исходных данных для аутентификации учетной записи:
– логин;
– пароль.
Проверка будет осуществляться на основе сравнивания результатов работы программы и соответствующих данных в БД. Для начала протестируем процесс входа под своей учетной записью. Если программа отобразит успешный результат, а в БД будут подтверждены существующие данные, то можно будет сделать вывод, что программа работает корректно.
Для начала необходимо ввести исходные данные в окно программы, рисунок 13 (а). Если данные УЗ корректны, то отобразится соответствующее сообщение, рисунок 13 (б).
а) б)
Рисунок 13 – Окна входа под своей учетной записью
а) б)
Рисунок 14 – Окна входа под своей учетной записью
На рисунке 14 (б) видно, что после ввода исходных данных, программа отобразила успешный вход в программу. Если же введенные данные отсутствуют в БД, рисунок 14 (а), то отобразится ошибка, представленная на рисунке 14 (б). После отображения успешного входа, необходимо проверить исходные данные на существование аналогичных записей в БД.
Рисунок 15 – Скриншот данных, хранящихся в БД, в таблице «пользователи»
На рисунке 15 можно увидеть, что данные, которые вводились в программе существуют и в БД, на основе этого можно сделать вывод, что процесс аутентификации работает корректно как при корректных, так и некорректных данных.
Методика тестирования для процесса создания событий аналогична с методикой тестирования процесса входа под своей учетной записью.
Исходные данные при создании события:
– заголовок события;
– описание события;
– род и вид деятельности;
– изображение;
– дата наступления события.
После ввода всех полей, необходимо нажать на кнопку сохранить. Скриншот окна создания события представлен на рисунке 16.
Рисунок 16 – Окно создания события
После введенных исходных данных, необходимо нажать на кнопку с изображением стрелки в панели инструментов. Как только пользователь нажмет на кнопку, программа сохранит данное событие в БД. Для того чтобы проверить корректную работоспособность программы, сравним данные введенные в программе и данные хранящиеся в БД.
Рисунок 17 – Скриншот данных, хранящихся в БД, в таблице «события»
На основе совпадения данных события находящихся БД и созданных события созданных ранее в программе, можно сделать вывод, что процесс создания событий работает корректно.
Заключение
Результатом выполнения ВКР является реализация мобильной программы организации краткосрочных событий
В первом разделе проделанной работы проведен анализ существующих аналогов программы, произведено их сравнение и вывод.
Во втором разделе – определена проблема, описана постановка задачи и выработаны требования к программе
В третьем разделе – разработаны архитектура системы, структура и функционал программы, разработаны алгоритмы работы программы и его программная реализация.
В четвертом разделе производится отладка и тестирование программы.
Для реализации программы были выбраны и обоснован их выбор. Программная реализация выполнена в среде программирования Visual Studio 2.2 на языке программирования высокого уровня Java, графический интерфейс написан на языке XML, взаимодействие между сервером и Android-устройством осуществлялось на языке PHP 5.6.
В ходе выполнения выпускной квалификационной работы были проанализированы существующие программы организации событий, произведены их сравнения по заданным критериям. В результате чего, был сделан вывод, что существующие решения имеют ряд недостатков и не удовлетворяют требованиям, которые поставлены в данной работе.
На основе требований и проведенного анализа, была поставлена и сформулирована задача на разработку мобильной программы организации краткосрочных событий, были разработаны архитектура системы, структура программы, алгоритмы работы программы, а также программная реализация.
Таким образом, поставленная задача успешно решена и все цели ВКР успешно достигнуты.
Апробация работы проводилась на XII конкурсе научно-практических работ студентов учебного центра «Интеграция» МАИ при МОУ «ИИФ», где была удостоена грамоты за высокое качество работы. Также апробация проводилась на международной молодёжной научной конференции «Гагаринские чтения», в результате которой, работу опубликовали в сборнике тезисов конференции.
Список использованных источников
1. Android для разработчиков / П. Дейтел, Х. Дейтел. – М.: Питер, 2016. – 512 c.
2. Android. Программирование для профессионалов / Б. Харди, Б. Филлипс. – М.: Питер, 2016. – 640 c.
3. Совершенный код. Практическое руководство по разработке программного обеспечения / С. Макконнелл. – М.: Русская редакция, 2017. – 867 с.
4. Архитектура компьютера / Э. Таненбаум, Т. Остин. – М.: Русская редакция, 2016. – 640 c.
5. Изучаем Java / К. Сиерра, Б. Бейтс. – М.: Эксмо, 2016. – 720 c.
6. Java. Эффективное программирование / Д. Блох. – М.: Лори, 2014. – 310 c.
7. Изучаем SQL / Л. Бейли. – М.: Питер, 2012. – 592 c.
8. Изучаем SQL / А. Бьюли. – М.: Символ-Плюс, 2012. – 312 c.
9. PHP 7 / Д. Котеров, И. Симдянов. – М.: БХВ-Петербург, 2016. – 1088 c.
10. Авторизация [Электронный ресурс] / Википедия. Режим доступа: https://ru.wikipedia.org/wiki/Авторизация. (Дата обращения 20.02.2017г.).
11. PHPMyAdmin [Электронный ресурс] / Википедия. Режим доступа: https://ru.wikipedia.org/wiki/PhpMyAdmin. (Дата обращения 30.02.2017г.).
12. Система управления базами данных [Электронный ресурс] / Википедия. Режим доступа: https://ru.wikipedia.org/wiki/Система_управления_базами_данных. (Дата обращения 26.03.2017г.).
13. MySQL [Электронный ресурс] / Википедия. Режим доступа: https://ru.wikipedia.org/wiki/MySQL. (Дата обращения 22.04.2017г.).
14. Android Studio [Электронный ресурс] / Википедия. Режим доступа: https://ru.wikipedia.org/wiki/Android_Studio. (Дата обращения 11.01.2017г.).