Программа организации краткосрочных событий
Введение
В настоящее время, с появлением высоких технологий и повсеместно
доступной сети интернета люди стали проводить все больше времени за
компьютерами, телефонами и другими устройствами которые заменяют реальные
отношения, следовательно, становится актуальной задача формирования мероприятий
для небольших групп лиц незнакомых друг с другом, по имеющимся общим интересам.
Наряду с проблемой формирования, также стоит проблема уменьшения времени на
поиск желаемых мероприятий, которое является важнейшим человеческим ресурсом и
которого всегда не хватает. Таким образом возникает необходимость в разработке
программы, позволяющей решить эти проблемы.
Таким образом, в рамках данной выпускной квалификационной работы
необходимо разработать мобильную программу организации краткосрочных событий. программа аndroid мобильный руководство
Программа должна позволять просматривать имеющиеся и создавать
собственные события, отображать и добавлять эти события на интерактивной карте
в виде маркеров, делиться событиями в социальных сетях, синхронизировать эти
события с календарем, а также отправлять push-уведомления.
. Обзор и
сравнение существующих решений
.1 Nearify
Nearify
- программа, разработанная индийскими программистами, позволяющая искать и
создавать различные события, в большинстве своем события представляют собой
массовые мероприятия, такие как концерты, конференции, фестивали, спортивные
соревнования, выставки и т.д. По словам разработчиков, программой пользуются
более чем в двухстах городах по всему миру.
Скриншот главного окна представлен на рисунке 1.
Рисунок 1 - Скриншот главного окна программы Nearify
Достоинства программы:
возможность поиска событий, связанных с конкретными людьми,
например, с певцами, артистами кино, программистами и т.д.;
возможность подписки на зарегистрированного пользователя
программного средства, что позволяет следить за созданными им событиями;
возможность поиска по радиусу от определенного местоположения.
Основные характеристики:
операционная система - iOS, Android;
примерное количество скачиваний - 100 тыс.;
язык интерфейса - английский;
создание собственных событий - да;
поддержка карт Google Maps - да;
синхронизация с календарем - нет;
сортировка по категориям - сейчас и в ближайшее время;
возможность поделиться событием в социальных сетях - Facebook.
.2 All events in city
events in city - программа, также разработанная программистами из Индии,
позволяет производить поиск и создание собственных событий, обладает небольшим
количеством функций по сравнению с аналогичными решениями. Скриншот главного
окна представлен на рисунке 2.
Рисунок 2 - Скриншот главного окна программы All events in city
Достоинства программы:
возможность создания организации из нескольких
зарегистрированных пользователей;
возможность подписки на зарегистрированного пользователя.
Основные характеристики:
операционная система - iOS, Android;
примерное количество скачиваний - 100 тыс.;
язык интерфейса - английский;
создание собственных событий - да;
поддержка карт Google Maps -да;
синхронизация с календарем -да;
сортировка по категориям - по роду и виду занятия;
Возможность поделиться событием в социальных сетях - Facebook.
.3 Eventbrite
- очередная зарубежная программа, разработанная программистами из США,
позволяет просматривать и создавать собственные события, является самой
популярной из приведенных решений, исходя из данных, представленных в
официальном магазине приложений для ОС Android - App Store.
Скриншот главного окна представлен на рисунке 3.
Достоинства программы:
позволяет добавлять избранные категории событий для
зарегистрированных пользователей;
просмотр событий друзей из социальной сети Facebook.
Рисунок 3 - Скриншот главного окна программы Eventbrite
Основные характеристики:
операционная система - iOS, Android;
примерное количество скачиваний - 5 млн.;
язык интерфейса - английский;
создание собственных событий - да;
поддержка карт Google Maps - да;
синхронизация с календарем - нет;
сортировка по категориям - по популярности, по роду и виду
занятия;
возможность поделиться событием в социальных сетях - Facebook.
.4 Event near me
Event near me - зарубежная программа,
разработанная разработчиками из Америки, имеет такую особенность, что возможно
исключительно просматривать существующие события, информация о которых берется
с сайтов организаторов этих событий. Также стоит отметить что отсутствует
система аутентификации пользователя.
Скриншот главного окна представлен на рисунке 4.
Рисунок - 4 Скриншот главного окна программы Event near me
Особенности программы:
возможность перехода на сайт организатора события по прямой
ссылке.
Основные характеристики:
операционная система - iOS, Android;
примерное количество скачиваний - 10 тыс.;
язык интерфейса - английский;
создание собственных событий - нет;
поддержка карт Google Maps - да;
синхронизация с календарем - да;
сортировка по категориям - по роду и виду занятия;
возможность поделиться событием в социальных сетях - Facebook.
.5 Сравнение решений и вывод
Сравнение программ будет проводиться по следующим характеристикам:
операционная система: iOS, Android;
язык интерфейса: поддерживаемые языки;
создание собственных событий: да, нет;
поддержка карт 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
|
да
|
Да
|
да
|
да
|
Синхронизация с календарем
|
нет
|
Да
|
нет
|
да
|
Сортировка по категориям
|
сейчас и в ближайшее время
|
по роду и виду деятельности
|
по популярн., роду и виду деятельности
|
по виду деятельности
|
Интеграция с социальными сетями:
|
Facebook
|
Facebook
|
Facebook
|
Facebook
|
Технология Push
уведомл.
|
нет
|
Нет
|
нет
|
нет
|
На основе анализа таблицы 1, можно сделать следующие выводы:
ни у одной программы не имеется поддержка русского языка;
не все программы могут сохранят события в календарь;
у большинства программ лишь частично реализована сортировка
событий;
ни в одной программе не реализована технология Push уведомлений;
крайне низкая популярность в России.
Анализ популярности был проведен на основе количества имеющихся событий
на 25.01.2017 в самом многочисленном городе России - Москве, было найдено от 0
до нескольких десятков событий в зависимости от программы.
. Постановка
задачи
.1 Определение проблемы
После анализа существующих решений их сравнения и составленного вывода,
было выявлено, что существует необходимость в разработке программы, которая
устраняла бы недостатки имеющихся программ, а также предоставляла новые
возможности.
.2 Формальная постановка задачи
В данной ВКР, мобильная служба организации краткосрочных событий
подразумевает создание, управление, просмотр и другие возможности по работе с
событиями, которые выполняются пользователем. Для того чтобы правильно
сформулировать все понятия и определения, использующиеся в данной ВКР,
необходимо написать постановку задачи, которая давала бы наиболее ясное и
точное описание решаемой задачи. В формальной постановке задачи описываются все
процессы, происходящие при организации событий в мобильной службе.
где: P - множество пользователей мобильной
службы;
- конкретный пользователь;
n -
количество пользователей мобильной службы.
Предположим, что конкретный пользователь , который, например, решил набрать форму
перед предстоящем экстремальным путешествием посредством утренних пробежек. Так
как бег в компании предоставляет такие преимущества как: ответственность,
соревновательный настрой, наблюдения со стороны компании для выявления ошибок
при беге и т.д., у пользователя возникает желание в поиске той компании людей, вместе с
которой он совершал бы коллективную утреннюю пробежку. Решением данной задачи в
общем случае, будет выступать программа, разработанная в рамках данной ВКР, в
которой пользователь будет иметь следующие основные возможности:
производить поиск на основе существующих событий E, таких
событий, которые будут удовлетворять
критериям пользователя;
создавать собственные события , с целью получения отклика от других
пользователей.
В качестве примера разберем процесс поиска существующих событий , которые будут удовлетворять
заданным критериям пользователя .
Поиск событий по заданным критериям осуществляется на основе множества из
всех существующих событий E,
формула (2), и критериям поиска, по которым фильтруются события. В качестве
критериев поиска выступают такие фильтры как:
род занятия;
- вид занятия;
- радиус поиска событий;
- время действия события;
- количество участников события.
где: - конкретное событие;
E -
множество существующих событий;
n -
количество существующих событий.
Процесс поиска конкретных событий по заданным критериям можно представить
с помощью формулы (3).
После произведенного поиска событий из множества событий ,
удовлетворяющих заданным критериям, пользователю предоставляется
соответствующее множество событий удовлетворяющих критериям поиска.
где: E’ - множество существующих событий,
удовлетворяющих критериям поиска;
- конкретное событие, удовлетворяющее критериям поиска;
- время действия события;
R -
радиус поиска событий;
G -
род занятия, характеризующее событие;
H -
вид занятия, характеризующее событие;
N -
количество участников события.
После того, как пользователь получил множество событий удовлетворяющих
критериям поиска, он может посмотреть время прибытия до них и принять в них
участие. Время прибытия до событий вычисляется на основе расстояния до их места
назначения и способа передвижения (частный автомобиль, ходьба, общественный
транспорт). Функция подсчитывающая время прибытия до местонахождений событий
представлена в формуле (4).
где: - время прибытия до местонахождений конкретных событий;
l -
расстояние до события;
f -
способ передвижения до события.
Так-как наряду с проблемой поиска событий существует проблема сокращения
времени на их поиск, в данной работе была реализована поддержка технологии Push-уведомлений, которая решает эту
проблему.уведомления - это такой способ распространения информации, когда
уведомления отправляются от сервера клиенту по инициативе сервера на основе
определённых параметров. В отличие от обратной схемы «клиент-сервер»,
push-технология выгодна тем, что даёт пользователю целевую информацию, которая
может быть ему полезна в будущем времени.
В нашем случае, если интересующее пользователя событие не было найдено
изначально, пользователь может включить Push-уведомление, и как только событие будет найдено, ему
придет соответствующее уведомление.
Множество из всех будущих событий можно представить с помощью формулы
(5).
где: - множество будущих событий;
- множество будущих событий;
Функция поиска будущих событий, удовлетворяющих критериям поиска,
представлена с помощью формулы (6).
При поиске будущих событий, пользователь может задать время их поиска,
которое будет для него актуально, и каждый раз, когда событие, удовлетворяющее
условиям поиска, будет поступать в БД, оно будет доставляться с сервера, на Android - устройство пользователя с помощью Push-уведомлений.
где: - множество будущих событий, удовлетворяющих параметрам
поиска;
- множество будущих событий;
- актуальное время поиска будущего события
.3 Выработка требований
Для того чтобы определить функциональность системы необходимым этапом
является выработка требований. Эти требования были определены как из анализа
достоинств и недостатков существующих решений, так и из выдвинутых, собственных
идей.
В Итоге были сформулированы следующие требования к программе:
графический интерфейс пользователя;
поддержка как русского, так и английского языков;
аутентификация пользователя;
просмотр с и создание собственных событий E;
сортировка имеющихся событий ;
просмотр событий E на интерактивной карте;
добавление событий E на карту в виде маркеров;
возможность делиться событиями в социальных сетях;
сохранение событий в календарем;
возможность подписки на зарегистрированного пользователя;
поддержка технологии Push-уведомлений;
расчет времени прибытия до события.
. Разработка
архитектуры программы и ее алгоритмов
.1 Выбор состава средств разработки программы
Так как поиск краткосрочных событий требует своевременную
информированность, и геолокационные данные для определения точного
местоположения пользователя, выбор пал на мобильную платформу, так как именно
мобильная платформа имеет возможность доступа к интернету в большинстве случаев
и в практически любое время, а также позволяет получать точные данные о
местоположении пользователя. В свою очередь операционная система Android была выбрана по следующим причинам:
наиболее популярная ОС в мире;
быстро развивающаяся система;
удобная среда разработки;
- широкие возможности визуализации графического интерфейса;
большой инструментарий для работы с картами Google Maps.
В процессе разработке программы стало ясно, что в перспективе будет
разрабатываться сайт, который будет выполнять функции программы на OC Android,
из-за этого, было принято решение хранить данные в БД предоставляемой
хостингом, который является сервером, чтобы обращаться к единой БД для
программы и сайта, вместо отдельных БД для двух платформ.
Хостинг - услуга по предоставлению ресурсов для размещения информации на
сервере, постоянно находящемся в сети.
Обычно хостинг входит в пакет по обслуживанию сайта и подразумевает как
минимум услугу размещения файлов сайта на сервере, на котором запущено ПО,
необходимое для обработки запросов к этим файлам. Как правило, в обслуживание
уже входит предоставление места для почтовой корреспонденции, баз данных, DNS,
файлового хранилища на специально выделенном файл-сервере и т. Д., а также
поддержка функционирования соответствующих сервисов. Хостинг базы данных,
размещение файлов, хостинг электронной почты и услуги DNS могут предоставляться
отдельно как самостоятельные услуги, либо входить в комплексную услугу.
Непосредственно БД предназначена для хранения такой информации как:
пароли, логины и другая информация учетных записей
пользователей;
существующие события и информация о них;
события, созданные пользователем;
информация о макетах событий, которые отображаются на карте
Google Maps.
В качестве СУБД используется MySQL.
СУБД MyS QL была выбрана в следствии следующих причин:
высокая скорость работы;
высокая надежность данных;
наличие в большинстве хостингов;
удобство взаимодействия с БД;
не высокая стоимость за объем хранимой информации.
За взаимодействие сервера и клиента отвечают PHP-запросы, которые отправляют команды на
редактирование, добавление, удаление и выборку данных в БД.
.2 Разработка архитектуры программы
Одной из основных задач разработки архитектуры [3 - 4] программы,
является разработка единой системы из взаимодействующих служб, которые будут
наиболее эффективно, гибко и надежно выполнять свои функции.
Разработка архитектуры также включает в себя такие аспекты как:
организация программы;
организация данных;
пользовательский интерфейс;
производительность;
взаимодействие с другими системами;
обработка ошибок;
и т. д.
Архитектура программы была разработана на основе исследования в области
разработки программ на OC Android, учитывающая наиболее эффективное
взаимодействие модулей программы, надежность, гибкость и другие аспекты
архитектуры. Схема архитектуры программы представлена на рисунке 5.
Так как в данной работе используется такая технология как Push-уведомления, то схема
демонстрирующая принцип ее работы представлена на рисунке 6.
Когда пользователь включает функцию Push-уведомлений при поиске событий, он запускает фоновый
процесс, в котором, раз в определенный промежуток времени будет отправляется
запрос к БД на наличие новых событий, которые удовлетворяют критериям поиска.
Рисунок - 5 Схема архитектуры программы
Рисунок - 6 Схема принципа работы Push-уведомлений
Одной из задач разработки архитектуры программы является обеспечить
достаточный уровень гибкости ГИП и быструю навигацию среди окон графического
интерфейса.
Схема навигации среди окон графического интерфейса представлена на
рисунке 7.
Для наибольшей гибкости и удобства навигации среди окон ГИП, было
разработано навигационное меню состоящее из кнопок, соответствующих изображений
к кнопкам, а также подсказками, отображающими количество событий в той или иной
группе.
Рисунок - 7 Граф переходов ГИП
3.3 Разработанные алгоритмы
На этапе разработки прототипа программного средства, были разработаны три
алгоритма, первый - алгоритм аутентификации [10] пользователей, позволяющий
пользователям войти в программу под своей учетной записью с правами просмотра
имеющихся и создания собственных событий или зарегистрировать свою учетную
запись для получения вышеуказанных прав. Второй алгоритм - алгоритм просмотра
существующих и создания собственных событий, позволяющий загружать события из
БД и отображать их с на экране Android-устройства,
или же создавать собственные, с сохранением в БД. Третий алгоритм - алгоритм
работы внешнего исполняемого модуля, написанного на языке PHP, который выполняет который выполняет
роль курьера, передающего информацию от Android-устройства к серверу и наоборот.
.4 Разработанный алгоритм аутентификации пользователей
Для аутентификации пользователей был разработан следующий алгоритм,
представленный на рисунке 8.
Рисунок 8 - Блок схема алгоритма аутентификации пользователей
Входные данные при регистрации учетной записи:
логин;
имя пользователя;
адрес почтового ящика;
пароль.
Выходные данные при регистрации учетной записи:
ответ об успешной регистрации, либо отчет об ошибке.
После ввода входных данных в ГИП Android-устройства и нажатия на соответствующую кнопку, отправляется
POST-запрос к серверу с командами
проверки на существование аналогичной УЗ и сохранения новой, в случае ее
уникальности. После выполнения POST-запроса,
возвращается ответ об успешном добавлении нового пользователя, либо ответ
ошибки, с указанием проблемы.
Входные данные при входе под существующей учетной записью:
логин;
пароль.
Выходные данные при входе под существующей учетной записью:
ответ об успешном входе под своей УЗ, либо отчет об ошибке.
В процессе входа под существующей УЗ, после ввода входных данных в ГИП Android-устройства и нажатия на
соответствующую кнопку, отправляется POST-запрос к серверу с SQL-командами
проверки на существование соответствующей УЗ. После выполнения POST-запроса, возвращается ответ об
успешном входе в программу под своей УЗ, либо ответ ошибки, с указанием
проблемы.
.5 Разработанный алгоритм просмотра и создания событий
Для того чтобы просматривать имеющиеся и создавать собственные события,
был разработан алгоритм, представленный на рисунке 9.
Входные данные при создании собственного события:
название события;
род занятия;
вид занятия;
время действия события;
количество участников события;
координаты события.
Рисунок 9 - Блок схема алгоритма просмотра существующих и создания
собственных событий.
Выходные данные при создании собственного события:
ответ об успешном создании события, либо отчет об ошибке.
При создании события необходимо ввести характеристики события в ГИП Android-устройства и нажать на
соответствующую кнопку, после этого отправляется POST-запрос к серверу с командой сохранения нового
события. После выполнения POST-запроса,
возвращается ответ об успешном сохранении нового события, либо ответ ошибки, с
указанием проблемы.
Входные данные при поиске существующих событий: род занятия;
род занятия;
вид занятия;
время действия события;
количество участников события;
расстояние до события.
список событий, удовлетворяющих условиям поиска, либо отчет об
ошибке.
При поиске событий необходимо ввести характеристики события в ГИП Android-устройства и нажать на
соответствующую кнопку, после этого отправляется POST-запрос к серверу с командой поиска событий,
удовлетворяющих условиям поиска. После выполнения POST-запроса, возвращается список найденных событий, либо
ответ ошибки, с указанием проблемы.
.6 Процесс поиска событий по геолокационным данным
Процесс поиска пользователем событий в своем радиусе поиска можно
представить с помощью следующего уравнения, формула (7):
где: - координаты местонахождения пользователя;
- радиус поиска событий от местонахождения пользователя;
- координаты местоположения событий.
Например, если пользователь , с координатами x и y, производит поиск событий в радиусе от своего местоположения, то на
карту будут выведены все существующие события, местоположения которых входят в
область поиска пользователя . Процесс поиска пользователем событий можно представить в
виде диаграммы на рисунке 10.
Рисунок 10 - диаграмма иллюстрирующая процесс поиска событий
.7 Разработанный алгоритм работы PHP-запроса
PHP
запрос - запрос, отправляемый от клиента к серверу, для выборки, удаления,
редактирования и добавления данных. В данной работе в качестве сервера
выступает БД, задача которой - хранить учетные записи пользователей,
характеристики событий и маркеров на картах google maps. Основной задачей PHP запроса является передача данных между клиентом и
серверов, формирование запроса осуществляется на стороне клиента, а сервер его
принимает, выполняет переданные ему команды и формирует ответный запрос.
Можно выделить следующие функции PHP запроса, которые выполняются в данной программе:
отправка запроса серверу, для проверки на существование учетной
записи с введенными данными;
возвращение положительного или отрицательного ответа;
отправка запроса серверу, на сохранение новой учетной записи с
введенными данными;
получения положительного или отрицательного ответа после
отправленного запроса;
отправка запроса на выборку событий с конкретными параметрами;
отправка запроса на сохранение нового события с конкретными
параметрами;
Отправка запроса на добавление или выборку маркеров на картах google maps.
Для реализации вышеперечисленных функций был разработан алгоритм,
представленный на рисунке 11.
Входные данные при выполнении запроса регистрации учетной записи:
логин;
имя пользователя;
адрес почтового ящика;
пароль.
Выходные данные при выполнении запроса регистрации учетной записи:
ответ об успешном выполнении запроса регистрации, либо отчет об
ошибке.
После ввода входных данных в ГИП Android-устройства и нажатия на соответствующую кнопку,
отправляется POST-запрос к серверу с данными,
введенными в Android-устройстве. После выполнения POST-запроса к серверу, в данной работе
это PHP модуль, очередь переходит
непосредственно к PHP модулю,
отвечающего за соединение с БД и выполнение команд на языке SQL для записи
новой УЧ, если та прошла проверку на уникальность. В результате запроса, модуль
содержит информацию об успешной записи нового пользователя, либо ошибку, с
указанием проблемы.
Рисунок 11 - Алгоритм работы PHP модуля, выполняющего аутентификацию и
регистрацию УЗ
Входные данные при выполнении запроса на проверку данных УЗ:
логин;
пароль.
Выходные данные при выполнении запроса на проверку данных УЗ:
ответ об успешном подтверждении данных УЗ.
В данной ветви алгоритма выполняется аналогичное соединение с БД, но
команды на языке SQL не записывают новую УЗ, а проверяют ее на существование. В
результате запроса, модуль содержит информацию об успешной проверке данных УЗ,
либо ошибку, с указанием проблемы.
.8 Структура базы данных
Целью создания БД в данной ВКР было хранение такой информации как:
данные учетных записей пользователей;
множество событий с определенными характеристиками;
множество событий, которые будут отображаться на интерактивной
карте;
таблицы о роде и виде занятий, для сортировки событий.
Схема структуры БД представлена на рисунке 12.
Рисунок 12 - Схема структуры БД
В результате выполнения ВКР, была создана структура БД, хранящая всю
вышеперечисленную информацию, которая содержит 5 таблиц и в сумме 30 полей.
Разработанная БД полностью выполняет все возложенные на нее задачи, а
также поддерживает возможность расширения в случае необходимости.
.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
|
запрос, выполняющий регистрацию в программе своей УЗ.
|
. Отладка и
тестирование
В контрольном примере проведено тестирование работоспособности программы
в процессе аутентификации, где пользователь выполняет вход в программу, а также
в процессе создания событий.
логин;
- пароль.
Проверка будет осуществляться на основе сравнивания результатов работы
программы и соответствующих данных в БД. Для начала протестируем процесс входа
под своей учетной записью. Если программа отобразит успешный результат, а в БД
будут подтверждены существующие данные, то можно будет сделать вывод, что
программа работает корректно.
Для начала необходимо ввести исходные данные в окно программы, рисунок 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.
. Совершенный код. Практическое руководство по
разработке программного обеспечения / С. Макконнелл. - М.: Русская редакция,
2017. - 867 с.
. Архитектура компьютера / Э. Таненбаум, Т. Остин. -
М.: Русская редакция, 2016. - 640 c.
. Изучаем Java / К. Сиерра, Б. Бейтс. - М.: Эксмо,
2016. - 720 c.
. Java. Эффективное программирование / Д. Блох. - М.:
Лори, 2014. - 310 c.
. Изучаем SQL / Л. Бейли. - М.: Питер, 2012. - 592 c.
. Изучаем SQL / А. Бьюли. - М.: Символ-Плюс, 2012. - 312 c.
. PHP 7 / Д. Котеров, И. Симдянов. - М.: БХВ-Петербург,
2016. - 1088 c.
. Авторизация [Электронный ресурс] / Википедия. Режим
доступа: https://ru.wikipedia.org/wiki/Авторизация. (Дата обращения
20.02.2017г.).
. PHPMyAdmin [Электронный ресурс] / Википедия. Режим
доступа: https://ru.wikipedia.org/wiki/PhpMyAdmin. (Дата обращения
30.02.2017г.).
. Система управления базами данных [Электронный ресурс]
/ Википедия. Режим доступа:
https://ru.wikipedia.org/wiki/Система_управления_базами_данных. (Дата обращения
26.03.2017г.).
. MySQL [Электронный ресурс] / Википедия. Режим
доступа: https://ru.wikipedia.org/wiki/MySQL. (Дата обращения 22.04.2017г.).
. Android Studio [Электронный ресурс] / Википедия.
Режим доступа: https://ru.wikipedia.org/wiki/Android_Studio. (Дата обращения
11.01.2017г.).