Программа организации краткосрочных событий - дипломная работа готовая

ООО "Диплом777"

8:00–20:00 Ежедневно

Никольская, д. 10, оф. 118

Дипломная работа на тему Программа организации краткосрочных событий

Введение

В настоящее время, с появлением высоких технологий и повсеместно доступной сети интернета люди стали проводить все больше времени за компьютерами, телефонами и другими устройствами которые заменяют реальные отношения, следовательно, становится актуальной задача формирования мероприятий для небольших групп лиц незнакомых друг с другом, по имеющимся общим интересам. Наряду с проблемой формирования, также стоит проблема уменьшения времени на поиск желаемых мероприятий, которое является важнейшим человеческим ресурсом и которого всегда не хватает. Таким образом возникает необходимость в разработке программы, позволяющей решить эти проблемы.

Таким образом, в рамках данной выпускной квалификационной работы необходимо разработать мобильную программу организации краткосрочных событий. программа а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

да

Да

да

да

Синхронизация с календарем

нет

Да

нет

да

Сортировка по категориям

сейчас и в ближайшее время

по роду и виду деятельности

по популярн., роду и виду деятельности

по виду деятельности

Интеграция с социальными сетями:

Facebook

Facebook

Facebook

Facebook

Технология 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г.).

Поделиться работой
Поделиться в telegram
Поделиться в whatsapp
Поделиться в vk
Поделиться в facebook
Поделиться в twitter
Леонид Федотов
Леонид Федотов
Окончил НИУ ВШЭ факультет компьютерных наук. Сам являюсь кандидатом наук. По специальности работаю 13 лет, за это время создал 8 научных статей и 2 диссертации. В компании подрабатываю в свободное от работы время уже более 5 лет. Нравится помогать школьникам и студентам в решении контрольных работ и написании курсовых проектов. Люблю свою профессию за то, что это направление с каждым годом становится все более востребованным и актуальным.

Статьи по дипломным