Введение 5
1 Анализ туристической области и рынка её программных продуктов 7
1.1 Разработка описания информационной системы «Онлайн Гид» 7
1.2 Разработка диаграммы точек зрения 10
1.3 Разработка модели бизнес-процессов в методологии IDEF0 11
1.4 Моделирование базы данных приложения «Онлайн гид» 14
1.5 Моделирование движения потоков данных приложения в стандарте DFD 16
1.6 Описание последовательности выполняемых функций информационной
системы «Онлайн Гид» 19
2 Описание работы и реализация приложения «Онлайн Гид» 21
2.1 Выбор инструментов для разработки приложения «Онлайн Гид» 21
2.2 Разработка серверной части приложения «Онлайн Гид» 23
2.3 Описание математической модели модуля оптимизации маршрутов,
построенных в приложении «Онлайн Гид» 41
3 Оценка качества разработанной системы «Онлайн Гид» 46
3.1 Функциональное тестирование серверной части приложения «Онлайн
Гид» 46
3.2 Нефункциональное тестирование приложения «Онлайн Гид» 50
Заключение 53
Список используемой литературы 55
Приложение А Реализация метода для регистрации нового пользователя 58
Проблема непросвящённости населения в области знаний истории собственного города является как никогда актуальной именно в 21 веке. С появлением смартфонов и их дальнейшим усовершенствованием, всё внимание всех поколений устремилось в сторону этих устройств. Несмотря на общедоступность и лёгкость в поиске полезной информации, а также большой вычислительной мощности мобильных устройств, относительно своих предшественников, большая часть общества предпочитает коротать время в развлекательных приложениях.
Также в последние годы среди туристов набирает популярность самостоятельные путешествия. Для этого им требуется заранее собирать информацию и адреса интересующих культурных объектов и самостоятельно составлять маршрут следования. Вдобавок к этому им может потребоваться информация о билетах: их доступность, время сеанса, цена посещения.
Данная выпускная квалификационная работа предлагает решение вышеупомянутых проблем в проектировании и разработке мультимедийного приложения, совмещающего в себе полезную историческую и фактическую информацию об объектах города, а также объекты набирающей популярность дополненной реальности.
Объектом бакалаврской работы является поиск оптимального способа взаимодействия клиентской и серверной частей, ориентированного на передачу сущностей, содержащих не только различные типы данных, но и данные больших объёмов, включая 3D - объекты.
Предметом исследования в данной работе является разработка сервера, который будет способен не только обрабатывать запросы пользователей, но и будет актуальным по исполняемым функциям среди серверов для больших и популярных проектов в настоящее время.
Целью бакалаврской работы является разработка приложения «Онлайн Гид», которое поспособствует привлечению внимания общественности к истории собственного города, а так же может помочь гостям города изучить его самостоятельно.
Для достижения поставленной цели были установлены следующие задачи для исследования:
- изучить предметную область;
- описать требования к информационной системе;
- проанализировать актуальные архитектурные решения;
- изучить популярные технологии, используемые в больших проектах;
- реализовать серверную часть приложения;
- провести оценку качества разработанного приложения.
Бакалаврская работа содержит в себе 3 раздела. В первой описывается процесс проектирования информационной системы и формулируется описание её конечного вида и выполняемых ею функций. Во второй описываются выбранные для реализации спроектированной системы инструменты, а также математическая модель для модуля оптимизации маршрутов. Третий раздел содержит в себе сформированный план тестирования и их результаты.
Эта выпускная квалификационная работа состоит из пояснительной записки на 60 страниц, введения в две страницы, включая 14 рисунков, список из 25 используемых источников, включая 6 источников на иностранном языке и 1 приложение.
Завершающим разделом в бакалаврской работе является формулировка выводов, сложившихся в процессе её написания.
Прежде всего следует определить прогресс в достижении цели, поставленной для выполнение выпускной квалификационной работы. Для этого просмотрим все задачи, реализованные в процессе её написания.
Во-первых, в результате проектирования информационной системы, были получены необходимые знания в области онлайн туризма, которые позволили сформулировать требования к программному продукту, способному в конечном счёте конкурировать с наиболее популярными аналогами на рынке.
Во-вторых, был проведён анализ технологий, используемых в актуальных проектах, а также их изучение. Отталкиваясь от вычислительных мощностей, имеющихся в доступе, были подобраны соответствующие инструменты для дальнейшей реализации. Так же были проанализированы известные алгоритмы для построения деревьев принятия решений. Среди них был выбран алгоритм «CART», который отличался незамысловатым алгоритмом и был реализован в виде модуля оптимизации маршрутов.
В-третьих, произошло ознакомление с видами тестирований и на основе доступных для тестов ресурсов был составлен план тестирования. Тестирование проводилось для разработанного функционала серверной части, с целью определения его качества.
Таким образом, результатом проделанной работы является разработанное приложение «Онлайн гид», которое нацелено на привлечение внимания граждан к культурной стороне города, а также привлечение и ознакомление туристов с историей города и помощь в ориентации по нему.
Серверная часть имеет многослойную архитектуру, что в дальнейшем позволит заменять её составляющие. Слой бизнес-логики реализован на языке C# и имеет интеграцию со слоем доступа к базам данных посредством использования библиотеки Entity Framework. Доступ к бизнес-логике инкрементирован на уровне веб - API с RESTful архитектурой, что предоставляет разработчику унифицированный интерфейс, за счёт которого появляется возможность быстрого масштабирования. Веб - API взаимодействует с клиентской частью по протоколу HTTP, что гарантирует быструю обработку запросов сервером.
Клиентская часть реализована на платформе Xamarin, использующей язык C# для разработки, что позволило заметно уменьшить умственные и временные затраты на изучение стороннего языка для реализации.
Также на стороне клиентской части реализована интеграция с платформой Unity, которая реализует главную особенность разрабатываемой системы - объекты дополненной реальности. Для этого был использован плагин Vuforia, предоставляющий алгоритм для определения ровных поверхностей, пригодных для размещения объектов.
Поскольку разработанное приложение ориентировано только на город Тольятти, то его дальнейшее развитие может включать в себя адаптацию для других городов и добавление интеграций с платёжными системами, чтобы пользователи могли покупать билеты прямо на странице с описанием объекта.
1. Албахари Д., Албахари Б. C# 7.0 Карманный справочник / Д. Албахари, Б. Албахари. - СпБ.: ООО «Альфа-книга», 2017. - 224 с.
2. Гвоздева, В.А. Основы построения автоматизированных информационных систем / В.А. Гвоздева, И.Ю. Лаврентьева. - М.: Форум, Инфра-М, 2016. - 320 с.
3. Джепикс, Ф. Язык программирования C# 7 и платформы .NET и .NET Core / Ф. Джепикс, Э. Троелсен. - СПб.: ООО «Диалектика», 2018. - 1328 с.
4. Джонс, М. Программирование искусственного интеллекта в приложениях / М. Джонс. - ДМК Пресс, 2006. - 312 с.
5. Евдокимов, П.В. C# на примерах / П.В. Евдокимов. - СПб.: Наука и Техника, 2019. - 320с.
6. Зегжда, Д.П. Основы безопасности информационных систем / Д.П. Зегжда, А.М. Ивашко. - М.: Горячая линия - Телеком, 2017. - 452 с.
7. Ипатов, Ю.В. Методологии и технологии системного проектирования информационных систем / Ю.В. Ипатов, Э.Р. Ипатова. - М.: Флинта, 2016. - 256 с.
8. Коцюба, И.Ю. Основы проектирования информационных систем. Учебное пособие / И.Ю. Коцюба, А.В. Чунаев, А.Н. Шиков. - СПб: Университет ИТМО, 2015. - 206 с.
9. Куликов, С.С. Тестирование программного обеспечения. Базовый курс / С.С. Куликов. - Минск: Четыре Четверти, 2017. - 312 с.
10. Неруш, Ю.М. Проектирование логистических систем: Учебник и практикум для бакалавриата и магистратуры / Ю.М. Неруш, С.А. Панов, А.Ю. Неруш. - Люберцы: Юрайт, 2016. - 422 с.
11. Норвиг, П. Искусственный интеллект. Современный подход / П. Норвиг, С. Рассел. - Вильямс, 2006 - 1408 с.
12. Палто, В.С. Менеджер событий на языке C# в Unity3D: разработка, оценка удобства использования и производительности / В.С. Палто, П.Ф. Фролов, С.А. Фролов. - Московский финансово-промышленный университет «Синергия», 2016 - 98 с.
13. Прайс, М. Дж. C# 7 и .NET Core. Кросс-платформенная разработка для профессионалов / М.Дж. Прайс. - 3-е изд. - СПб.: Питер, 2018. - 640 с.
14. Пэкетт, Д. ASP.NET Core. Разработка приложений / Д. Пэкетт, С. Тиммс, Д. Чамберс. - СПб.: Питер, 2018. - 464 с.
15. Торн, А. Искусство создания сценариев в Unity / А. Торн. - ДМК пресс, 2015 - 362 с.
16. Фримен, А. ASP.NET Core MVC 2 с примерами на C# для профессионалов / А. Фримен. - 7-е изд. - Диалектика, 2019 - 1008 с.
17. Фримен, А. Entity Framework Core 2 для ASP.NET Core MVC для профессионалов / А. Фримен. - Диалектика, 2019 - 624 с.
18. Чистов, Д.В. Проектирование информационных систем : учебник и практикум для академического бакалавриата / Д. В. Чистов. — М. : Юрайт, 2016. — 258 с.
19. A Step by Step CART Decision Tree Example: сайт. — URL:
https://sefLks.com/2018/08/27/a-step-by-step-cart-decision-tree-example/ (дата
обращения: 17.02.2020). - Текст: электронный.
20. Albahari, B. C# 7.0 in a Nutshell / B. Albahari, J. Albahari. - O’Reilly Media, Inc. - 2018. - 1088 p.
21. Jin ,B. Designing Web APIs / B. Jin, Sahni S., Shevat A. - O’Reilly Media. - 2018. - 232 p.
22. Lauret, A. The Design of Web APIs / A. Lauret. - Manning Publications. - 2019. - 392 p.
23. Miles, R. C# Programming Yellow Book / R. Miles. - Department of Computer Science University of Hull. - 2015. - 408 p.
24. Nagel, C. Professional C# 7 and .NET Core 2.0 / C. Nagel. - John Wiles & Sons, Inc. - 2018. - 1440 p.
25. Petzold, C. Creating Mobile Apps with Xamarin.Forms. Cross-platform C# programming for iOS, Android, and Windows / C. Petzold - Microsoft Press. - 2016. - 438 p.