🔍 Поиск готовых работ

🔍 Поиск работ

Разработка системы организации конференции

Работа №202332

Тип работы

Дипломные работы, ВКР

Предмет

программирование

Объем работы78
Год сдачи2019
Стоимость4780 руб.
ПУБЛИКУЕТСЯ ВПЕРВЫЕ
Просмотрено
16
Не подходит работа?

Узнай цену на написание


АННОТАЦИЯ 2
ВВЕДЕНИЕ 5
1 ТЕХНОЛОГИИ СОЗДАНИЯ ВЕБ-ПРИЛОЖЕНИЙ И МОДЕЛЬ УГРОЗ 7
1.1 OWASP TOP 10 7
1.2 Технология JWT 11
1.3 Технология OAuth 2.0 15
1.4 Платформа Android 16
1.5 Веб-сервер Apache Tomcat 16
1.6 СУБД PostgreSQL 18
1.7 Технология Push 19
1.8 Выводы по главе 20
2 СТРУКТУРА СИСТЕМЫ ОРГАНИЗАЦИИ КОНФЕРЕНЦИЙ 21
2.1 Регистрация и авторизация в системе 22
2.2 Создание конференции 23
2.3 Подтверждение и отклонение докладов 24
2.4 Рассылка сообщений участникам конференции 25
2.5 Просмотр информации о конференциях 25
2.6 Регистрация доклада 26
2.7 Получение уведомлений 27
2.8 Выводы по главе 27
3 ПРОГРАММНАЯ РЕАЛИЗАЦИЯ СИСТЕМЫ ОРГАНИЗАЦИИ
КОНФЕРЕНЦИЙ 29
3.1 База данных 29
3.2 Веб-сервер 35
3.3 Android - приложение 40
3.4 Выводы по главе 45
4 ТЕСТИРОВАНИЕ СИСТЕМЫ 48
4.1 Тестирование защиты от SQL-инъекций 48
4.2 Тестирование проверки прав при попытке доступа по ссылке 49
4.3 Тестирование проверки прав при изменении объектов 50
4.4 Выводы по главе 50
ЗАКЛЮЧЕНИЕ 51
БИБЛИОГРАФИЧЕСКИЙ СПИСОК 54
ПРИЛОЖЕНИЕ 1 Текст программы 56

При организации любого мероприятия остро встает вопрос о составлении его расписания. Эта задача всегда была и до сих пор остается очень трудоемким занятием, и зачастую решается интуитивно. Подобный подход приводит к множеству проблем, таких как повышение расходов на проведение мероприятия и недовольству его участников. Между тем, данную задачу можно решить довольно рационально, используя современные технологии.
Теория расписаний является одним из разделов исследования операций. Термин теория расписаний предложил Р. Беллман в 1956 году. Методы и алгоритмы решения задач теории расписаний применяются для решения задач комбинаторной оптимизации [1].
Для составления грамотного расписания конференции, необходимо учесть такие факторы, как количество участников, время их приезда и отъезда, аудиторный фонд, имеющиеся секции, доступное время для проведения докладов, сроки работы конференции.
Автоматизированная система сбора и обработки данных сможет составить максимально эффективное расписание. Основными её частями должны быть система сбора данных от участников конференции и система их обработки, т.е. система составления расписания. Первой частью такой системы может являться мобильное приложение, а второй - сервер.
Актуальность данной темы обусловлена необходимостью составления расписания с учетом множества факторов. Правильно составленное расписание позволит более рационально использовать время, сократить сроки проведения конференции, тем самым уменьшить затраты на её проведение, сократить затраты на перемещение и проживание участников конференции. Так же такая система позволит повысить удовлетворенность участников конференции её организацией.
Объектами исследования является расписание работы конференции, создаваемое участниками конференции в процессе обмена данными с сервером.
Предметом исследования являются данные о конференции, такие, как доступные аудитории, время, существующие секции, а также зарегистрированные участники и их доклады, хранящиеся на сервере.
Целью работы является разработка мобильного приложения для связи участников конференции и оргкомитета и обеспечения передачи данных о докладах и времени выступления между мобильным устройством и сервером баз данных.
В работе поставлены и решены следующие задачи:
- анализ существующих программных продуктов, направленных на информационную поддержку участников конференции;
- реализация серверной части, осуществляющей обработку и хранение данных;
- реализация Android-приложения, осуществляющего сбор данных с пользователей и отправку их на сервер, а также отображение полученной с сервера информации;
- тестирование реализованной системы.


Возникли сложности?

Нужна помощь преподавателя?

Помощь в написании работ!


Данная работа посвящена разработке мобильного приложения для системы организации конференций. Входе работы был проведен анализ наиболее распространенных уязвимостей веб-приложений, к которым относятся и мобильные приложения, что позволило составить список требований к системе, для увеличения степени её защищённости, а именно:
- запросы к базе данных должны производиться через вызовы процедур внутри СУБД, что позволит проводить контроль типов, передаваемых данных, а также экранировать символы, которые могут быть восприняты как часть запроса;
- при регистрации пользователей их пароли не должны сохраняться в открытом виде;
- систему управления сессиями желательно организовать с использованием технологии JWT, что позволит не хранить на сервере токены доступа к системе;
- для построения системы следует применять известные, широко распространённые решения, т. к. в случае обнаружения в них уязвимостей, они будут быстро устранены;
- при запросе любых объектов на сервере, необходимо проверять права пользователя на доступ к ним.
Далее был разработан алгоритм работы системы, определены варианты её использования, в частности:
- создание и редактирование конференций организаторами;
- просмотр подробной информации о конференции участниками;
- регистрация докладов участниками системы;
- подтверждение или отклонение докладов организаторами;
- рассылка сообщений участникам конференции от организаторов;
- возможность подписываться на уведомления об определённой конфе - ренции.
На основе определенных требований безопасности была разработана система регистрации и авторизации пользователей, основанная на открытом протоколе OAuth 2.0 и определены внешние сервисы - поставщики учетных данных: Google и ВКонтакте.
На основе разработанного алгоритма работы системы, а также принятых требований безопасности, была спроектирована архитектура системы, состоящая из 3-х компонентов: мобильного приложения, веб-сервера и сервера баз данных.
Сервер баз данных построен на системе управления базами данных PostgreSQL и состоит из 9 таблиц:
- таблица конференций «conferences»;
- таблица секций «sections»;
- таблица докладов «reports»;
- таблица пользователей «users»;
- таблица сообщений рассылки «messages»;
- таблица токенов уведомлений «push_tokens»;
- таблица доступа к конференциям «conference_access»;
- таблицы избранных конференций «favorites»;
- таблица пользовательских уведомлений «notifications».
Веб-сервер основан на сервере Apache Tomcat. Он содержит 3 класса- обработчика пользовательских запросов: LoginServlet, GetDataServlet и CreateConfereceServlet, а также классы, предназначенные для работы с базой данных, и модельные классы данных. При этом запросы к базе данных реализованы через вызов функций непосредственно в СУБД, что позволяет осуществлять контроль типов и не допускать возможность встраивать SQL-код в запросы.
Мобильное приложение в свою очередь состоит из 9 экранов:
- главный экран;
- экран списка конференций;
- экран регистрации и авторизации;
- «Личный кабинет»;
- экран регистрации конференции;
- экран регистрации доклада;
- экран уведомлений;
- экран просмотра информации о конференции.
Помимо этого, оно имеет модельные классы данных полностью аналогичные соответствующим классам на сервере, что существенно упрощает их сериализацию для передачи по сети и последующую десериализацю.
В конце было проведено тестирование защищенности приложения от наиболее распространенных уязвимостей, применимых к мобильному приложению. По результатам тестирования можно сделать вывод, что приложение обладает необходимой защитой от наиболее распространенных атак, среди которых SQL-инъекции, проверка доступности объектов по прямым ссылкам, отсутствие проверки прав доступа.



1. Лазарев, А.А. «Теория расписаний. Оценки абсолютной погрешности и схема приближённого решения задач теории расписаний» / А.А. Лазарев - М.: МФТИ, 2008. - 222 с.
2. Актуальные киберугрозы 2018. Тренды и прогнозы - Дата обновления: 20.05.2018. - URL: https://www.ptsecurity.com/ru-ru/research/analytics/cybersecurity- threatscape-2018 (дата обращения 14.02.2019)
3. OWASP TOP-10: практический взгляд на безопасность веб-приложений - Дата обновления: 21.05.2015. URL: http://habrahabr.ru/company/simplepay/blog/ 258499/
4. Пять простых шагов для понимания JSON Web Tokens (JWT) - Дата обновления: 20.05.2018. URL: https://habr.com/ru/post/340146/ (дата обращения 15.02.2019)
5. OAuth 2.0 простым и понятным языком - Дата обновления: 9.03.2017 URL: http: //habrahabr.ru/company/mailru/blog/115163
6. Android Platform - URL: https://developer.android.com/about (дата обращения 28.05.2019).
7. Доля ОС Android на мировом рынке смартфонов слегка снизилась - Дата обновления: 30.05.2018 URL: http://www.dailycomm.ru/m/43799/
8. Tomcat в Java - Дата обновления 7.06.2019 URL:
https: //j avarush.ru/groups/
posts/tomcat-v-j ava
9. PostgreSQL: Документация: 9.6: 1. Что такое PostgreSQL? : Компания Postgres Professional - URL: https://postgrespro.ru/docs/postgresql/9.6/intro-whatis (дата обращения 30.05.2019).
10. PostgreSQL - URL: https://www.postgresql.org/about/ (дата обращения 24.05.2019).
11. Postman - URL: https://www.getpostman.com (дата обращения
24.05.2019)
12. OWASP Top 10 - 2017 The Ten Most Critical Web Application Security Risks - Дата обновления 20.05.2019: URL: https://www.owasp.org/images/7/72/ OWASP_Top_10-2017_%28en%29.pdf.pdf
13. Federal Information Processing Standards Publication 197 - URL:
https://nvlpubs.nist.gov/nistpubs/FIPS/NIST.FIPS.197.pdf (дата обращения 25.05.19)
14. Безопасность Android-приложений. Лекция в Яндексе - Дата обновления: 25.09.2016 URL: https: //habr.com/ru/company/yandex/blog/310926/
15. Проблемы безопасности Android-приложений: классификация и анализ - Дата обновления 12.07.2017 URL: https: //habr.com/ru/company/ pt/blog/332904/



Работу высылаем на протяжении 30 минут после оплаты.




©2025 Cервис помощи студентам в выполнении работ