Проектирование мобильного приложения 'Областные познавательные квесты'

  • Вид работы:
    Дипломная (ВКР)
  • Предмет:
    Информационное обеспечение, программирование
  • Язык:
    Русский
    ,
    Формат файла:
    MS Word
    37,71 Кб
  • Опубликовано:
    2017-08-12
Вы можете узнать стоимость помощи в написании студенческой работы.
Помощь в написании работы, которую точно примут!

Проектирование мобильного приложения 'Областные познавательные квесты'

СОДЕРЖАНИЕ

ВВЕДЕНИЕ

. АНАЛИТИЧЕСКИЙ ОБЗОР ПРИМЕНЕНИЯ ИНФОРМАЦИОННЫХ ТЕХНОЛОГИЙ В ТУРИЗМЕ

.1 Применение информационных технологий и виртуальных туров в туризме

.2 Культурно-туристические особенности Вологодской области

.3 Инструментальные средства разработки мобильных приложений

. ПРЕДМЕТНАЯ ОБЛАСТЬ АВТОМАТИЗАЦИИ И ПОСТАНОВКА ЗАДАЧИ

.1 Предметная область автоматизации

.2 Постановка задачи

.3 Требования к разрабатываемому приложению

.3.1 Требования к приложению в целом

.3.2 Требования к функциям

.3.3 Требования к видам обеспечения

. АВТОМАТИЗАЦИЯ ПРОЕКТИРОВАНИЯ ВИЗУАЛЬНОЙ МОДЕЛИ МОБИЛЬНОГО ПРИЛОЖЕНИЯ

.1 Построение диаграммы вариантов использования

.2 Построение диаграммы последовательности

.3 Построение диаграммы классов

.4 Построение диаграммы компонентов

.5 Оценка трудоемкости проекта

. РАЗРАБОТКА ИНФОРМАЦИОННОГО ОБЕСПЕЧЕНИЯ ПРИЛОЖЕНИЯ

.1 Информационный анализ предметной области и выделение информационных объектов

.2 Построение логической модели данных

.3 Описание таблиц данных

. РАЗРАБОТКА ПРОГРАММНОГО ОБЕСПЕЧЕНИЯ

.1 Описание программных средств

.2 Алгоритм решения задач

.2.1 Интерактивный блок

.2.2 Блок обработки информации

.2.3 Блок хранения информации

.3 Реализация структуры интерфейса

.4 Разработка квестов

.5 Тестирование и оценка надежности программного средства

.5.1 Структурное тестирование

.5.2 Функциональное тестирование

.5.3 Оценка надежности

. КОМПЬЮТЕРНАЯ РЕАЛИЗАЦИЯ МОБИЛЬНОГО ПРИЛОЖЕНИЯ

.1 Назначение приложения

.2 Основные принципы работы с приложением

ЗАКЛЮЧЕНИЕ

СПИСОК ИСПОЛЬЗОВАННЫХ ИСТОЧНИКОВ

ВВЕДЕНИЕ

На сегодняшний день рынок мобильных приложений стремительно развивается. Мобильные устройства являются неотъемлемой частью жизни человека.

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

Множество предприятий и фирм начинают использовать мобильные приложения, так как они способствуют увеличению границ взаимодействия с пользователями.

Целью выпускной квалификационной работы является проектирование и разработка мобильного приложения «Областные познавательные квесты». Данное приложение должно обеспечивать организацию квест - экскурсий по достопримечательностям Вологодской области. Под квест - экскурсией понимается процесс организации посещения пользователем экскурсионных объектов и их изучения путем решения задач, предоставляемых приложением.

Выпускная квалификационная работа включает в себя шесть разделов.

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

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

Третий раздел описывает автоматизацию проектирования визуальной модели мобильного приложения и оценку трудоемкости. В данном разделе представлено описание ряда диаграмм: вариантов использования, последовательности, классов, компонентов.

В четвертом разделе представлена разработка информационного обеспечения приложения. В разделе содержится информация о выделенных информационных объектах, логической модели данных, представлено описание таблиц базы данных.

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

В шестом разделе описано назначение мобильного приложения и рассмотрены основные принципы работы с приложением.

1. АНАЛИТИЧЕСКИЙ ОБЗОР ПРИМЕНЕНИЯ ИНФОРМАЦИОННЫХ ТЕХНОЛОГИЙ В ТУРИЗМЕ

.1 Применение информационных технологий и виртуальных туров в туризме

Прежде чем говорить о применении информационных технологий в сфере туризма, необходимо понять, что же такое ИТ. Под информационными технологиями понимают набор методов и средств, объединенных таким образом, что осуществляется сбор, хранение, обработка и вывод определенной информации[9].

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

Своевременное внедрение современных информационных технологий в туристический бизнес, повышает конкурентоспособность туристического предприятия в несколько раз. На данный момент можно выделить ряд информационных систем, которые используются в туризме. К таким системам относят системы, обеспечивающие резервирование и бронирование, ГИС системы, системы для менеджмента, системы, связанные с поддержкой и продвижением туризма в глобальной сети, мультимедиа технологии, системы электронной коммерции и системы управления гостиничным бизнесом [1].

Рассмотрим перечисленные системы подробнее.

Системы резервирования и бронирования оказали существенное влияние на развитие туристического направления, так как позволяют уменьшить время работы с клиентами, осуществляют резервирование в режиме онлайн и снижают стоимость предоставляемых услуг [1].

К таким системам относят компьютерные системы бронирования (CRS), которые позволяют пользователю найти подходящий для него туристический вариант и при необходимости забронировать или купить билеты [1].

Компьютерные системы бронирования в свою очередь объединяются в глобальные распределительные системы (GDS). Данные системы имеют доступ к базам данных почти всех туристических компаний, судоходных и авиакомпаний, к базам данных железных дорог, а также отелей и гостиниц [1].

Под мультимедийными технологиями понимается взаимодействие как визуальной, так и звуковой информации под управлением определенного программного обеспечения.

Данная технология получила большое применение в области туризма, так как теперь у туристических компаний появилась возможность наглядно презентовать туристические программы и туры, а также при необходимости реализовать виртуальные экскурсии.

Мультимедийные презентации в большинстве случаев используются для распространения информации о товарах или услугах. Причем, данная презентация направленна на определенную аудиторию.

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

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

Также к мультимедиа технологиям относят web - сайты и онлайн сервисы. Обычно сайты используются для привлечения клиентов и увеличения продаж, а онлайн сервисы в свою очередь используются для предоставления услуг, которыми занимается компания также в режиме онлайн.

Следующим видом систем являются системы менеджмента. Сфера туризма является сложной бизнес системой, в которой все время приходится обрабатывать и передавать большие объемы информации. В результате получаем, что для обеспечения управления всей этой системой, необходимо использовать специальные информационные технологии, связанные с управлением и менеджментом (ИСМ) [1].

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

Электронная коммерция на данный момент является одной из основных частей туристической деятельности. Под данным видом коммерции понимают деловые сделки, в которых стороны взаимодействуют друг с другом электронным способом т.е. без физического контакта или обмена [1].

Электронная коммерция включает в себя три направления. Первое направление это, бизнес для бизнеса (B2B). Втрое это, бизнес для потребителя (B2C). И третье направление это, бизнес администрирование (B2A).

В туризме электронная коммерция используется почти во всех бизнес - процессах, начиная от рекламы и поиска клиентов, заканчивая разработкой и продвижением турпродука.

Еще один вид информационных систем - это геоинформационные системы. Под ГИС понимается совокупность инструментов, которые используются для обработки и вывода географических данных [1].

В свою очередь, туризм тесно связан с геоинформационными системами. А именно данные, которые предоставляются ГИС, используются для оценки туристической привлекательности региона, города или конкретного туристического объекта или маршрута. Кроме этого, данные используются при анализе туристического развития, для оптимизации расходов.

Также ГИС-технологии предоставляют туристической отрасли инструменты для поиска и просмотра размещения объектов туризма на карте, средства, позволяющие работать с информацией, связанной с объектами туризма, справочную информацию, о туристических объектах, привязанную к картам.

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

Кроме этого в последнее время все чаще, стали появляться сервисы, которые предлагают услуги по бронированию отелей и покупке билетов через Интернет [1].

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

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

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

К таким каналам, можно отнести различные сервисы для рассылки электронных писем, сервисы для организации различных видов рекламы, собственные сайты, социальные сети, мобильные приложения.

.2 Культурно - туристические особенности Вологодской области

Туризм Вологодской области включает себя несколько видов туризма, а именно деловой, событийный, культурно - познавательный и теплоходный. Большая часть туристов посещает такие города как Вологда и Великий Устюг, а также особым вниманием оделен Кирилловский район [2].

К основным туристическим особенностям Вологодской области можно отнести выгодное географическое расположение и природные условия, культурно - исторические предпосылки, наличие народно - художественных промыслов, экологически чистых природных зон, а также наличие брендов, которые известны на международном уровне [3].

Рассмотрим перечисленные особенности подробнее.

Вологодская область, как экономически, так и географически выгодно расположена в северной части России и граничит с такими областями, как Архангельская, Костромская, Кировская, Ленинградская и Ярославская. Через область проходят пути из Москвы в Архангельск и из Санкт - Петербурга в Сибирь [4].

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

В области насчитывается большое количество рек и озер, наиболее крупные из них: река Сухона, река Юг, река Кубена, Онежское и Белое озера.

Также на территории области расположены крупные водохранилища, такие как Рыбинское и Шекснинское.

Что касается культурно-исторических предпосылок, то на территории региона находится большое число исторических памятников и памятников культуры. К ним относятся объекты зодчества и градостроительного искусства. К историческим памятникам относятся волоковые пути, мемориальные знаки, исторические села, места, связанные с известными людьми[4].

К наиболее известным достопримечательностям Вологодской области можно отнести: Кирилло - Белозерский монастырь, Ферапонтов монастырь, Усадьбу Брянчаниновых, архитектурно - этнографический музей, Великий Устюг [4].

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

Если говорить о таких городах, как Великий Устюг, Вологда и Белозерск, то можно заметить, что они являются своеобразными музеями. Это можно объяснить тем, что в этих городах сохранились усадьбы известных деятелей. А именно усадьбы Гальских, Качаловых и Батюшкова.

Также в этих городах можно встретить архитектуру разного стиля и эпох, начиная от московского и новгородского искусства, заканчивая постройками в стиле классицизма и барокко [4].

Особое значение на туризм оказывает Великий Устюг. Этот город является резиденцией Деда Мороза. Вотчина Деда Мороза, в свою очередь открыта для посещения круглый год.

В музеях, находящихся та территории Вологодской области, собраны редкие коллекции картин и старинной утвари.

Стоит отметить, что в области поддерживается народно-художественный промысел. На территории региона существует десять предприятий, производящих продукцию НПХ. Наиболее известное предприятие -это ЗАО «Вологодская кружевная фирма «Снежинка», занимающаяся производством вологодского кружева.

Кроме этого, в Вологодской области развивается узорное вязание, художественная резьба по дереву и многое другое.

Еще одной особенностью Вологодской области является наличие экологически чистых природных зон. К таким зонам в регионе относятся Дарвинский государственный заповедник и национальный парк «Русский север».

Что касается Дарвинского заповедника, то он является частью Рыбинского водохранилища, а его центральной усадьбой является поселок Борок [4].

Национальный парк «Русский Север», содержит большое количество культурных и архитектурных памятников. Например, таких как свайное поселение, Кирилло - Белозерский, Ферапонтов и Горицкий монастыри, а также Волго - Балтийский водный путь и Северо - Двинская водная система [4].

Одной из важных туристических особенностей Вологодской области является наличие брендов. Самыми популярными брендами среди туристов являются: Великий Устюг - Родина Деда Мороза, царство Золотой рыбки в Липином Бору, святая земля Руси в Кириллове, самобытный уголок Вологодчины в Сизьме.

Кроме этого, имеются такие бренды как Вологодское масло, представляющее молочный продукт, обладающий характерным только для него вкусом, который называется «ореховый» привкус.

Еще одним брендом региона является Вологодское кружево, обладающее собственной самобытной красотой.

В последнее время начал возрождаться бренд, как Вологодские валенки. Сейчас это бренд является всего лишь сувенирной продукцией.

Самый важный бренд для Вологодской области - это бренд «Вологодская область - Душа Русского Севера». Данный бренд используется не только как туристический, но и как социально - культурный, товарный и инвестиционный.

.3 Инструментальные средства разработки мобильных приложений

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

Под мобильным приложением понимается программа, устанавливаемая на мобильный телефон, смартфон или планшет, позволяющая пользователю получать интересующую его информацию, поддерживать контакт с клиентами и многое другое [5].

Мобильные приложения имеют ряд особенностей. К таким особенностям можно отнести то, что они способствуют решению маркетинговых задач, помогают взаимодействовать с клиентами и организовывать продажи, кроме этого способствуют работе с информацией, предоставляют пользователю выход в интернет и самое главное они всегда под рукой и содержат актуальные данные [6].

Можно заметить, что число приложений с каждым днем увеличивается, а также появляются новые и улучшаются уже существующие инструментальные средства, использующиеся для разработки приложений.

Рассмотрим средства разработки под наиболее популярные мобильные операционные системы, такие как Android, iOS и Windows Phone.

Вначале рассмотрим инструментальные средства, которые используются при разработке приложений под Android.

Для разработки приложений используют как, обязательные инструменты, без которых разработка приложения невозможна, и вспомогательные инструменты, использующиеся для упрощения проектирования и разработки.

К обязательным инструментам относят Android SDK. Данный SDK содержит средства программирования и инструменты, необходимые для разработки приложения.

Если рассматривать более подробно, то Android SDK состоит из таких компонентов как AVD и SDK Manager, Debug Monitor, Emulator и Debug Bridge[7].Manager представляет инструмент, использующийся для управления пакетами Android SDK.Monitor используется для анализа и отладки разрабатываемого приложения.применяется для создания виртуального устройства, необходимого для проведения тестирования и отладки разрабатываемого приложения.Manager представляет интерфейс, необходимый для создания виртуальных машин.Bridge это компонент, управляющий состоянием эмулятора или реального устройства.

На данный момент, для более быстрой и удобной разработки, используют интегрированные среды разработки (IDE). Интегрированные среды разработки предоставляют разработчику ряд преимуществ, а именно автоматизируют процессы, связанные с компиляцией, сборкой и запуском приложений.

К таким интегрированным средам разработки относятся: Eclipse, Intellij IDEA, Android IDE, Android Studio, Intel XDK, Xamarin, Beacon Mountain, PhoneGap.

Рассмотрим перечисленные выше среды разработки более подробно.

Eclipse представляет собой среду разработки, в которой в качестве сборщика проекта используется Ant. Стоит отметить, что данная среда разработки быстро настраивается и взаимодействует с необходимыми пакетами, а именно с Android SDK и JVM (java машиной).IDE это среда разработки приложений, основанная на базе Eclipse. Данное IDE быстро настраивается для разработки приложений путем подключения Android SDK и JVM. В качестве языка программирования в IDE используется java, а сборщиком проекта является Ant.

Компания Google рекомендует использовать Android Studio. Данная IDE в качестве базы использует IntelliJ IDEA от компании JetBrain. Она включает в себя инструменты необходимые для разработки и отладки приложений, языком программирования также является java.

Стоит отметить, что данная среда разработки имеет ряд преимуществ. В качестве сборщика проектов тут уже используется Gradle. Также в Android Studio встроены инструменты для рефакторинга и поиска проблем как с производительностью, так и юзабилити приложения. Кроме этого IDE может осуществлять оптимизацию кода.

По умолчанию Android Studio предлагает основные шаблоны для создания проектов и отдельных компонентов проекта.

Теперь рассмотрим инструментальные средства для разработки приложений под iOS. Базовой средой разработки под данную операционную систему является xCode, а необходимой библиотекой является SDK iOS, причем данная библиотека постоянно расширяется и дополняет функции xCode.

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

Для написания кода в данной IDE используется такой язык программирования, как Objective-C. Причем данный язык программирования ориентирован специально под разработку приложений для iOS.

Последней из наиболее популярных мобильных операционных систем является Windows Phone. Для разработки приложений под данную платформу используется Visual Studio с подключенной библиотекой Windows Phone SDK.

Данная среда разработки предоставляет все необходимые возможности для разработки и тестирования приложения.

Стоит отметить, что для создания интерфейса в данной среде разработки используется язык разметки XAML, а в качестве основного языка программирования используется C#.

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

В данном случае получается, что весь функционал приложения пишется только один раз или же большая часть написанного кода может использоваться повторно.

Рассмотрим IDE, которые позволяют выполнять кроссплатформенную разработку.XDK и Beacon Mountain, представляют собой среды разработки, которые позволяют разрабатывать кроссплатформенные приложения. Данные IDE содержат инструменты для создания, отладки и сборки приложений, а также эмуляторы, кроме этого они поддерживают разработку приложений на HTML5 и JavaScript.предоставляет возможность разрабатывать мобильные приложения на C#. Но тут стоит отметить, что в данном случае необходимо устанавливать SDK Xamarin в Microsoft Visual Studio и уже там в дальнейшем производить разработку. Xamarin позволяет вести кроссплатформенную разработку приложений.это фреймворк, позволяющий разрабатывать мобильные приложения под семь мобильных ОС. Причем разработка происходит на HTML5 и JavaScript.

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

К преимуществам данного метода можно отнести то, что при разработке мобильного приложения не надо разрабатывать несколько версий приложения под разные устройства и ОС.

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

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

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

В качестве примера рассмотрим Genymotion. Это эмулятор, который содержит заранее подготовленные образы мобильных Android устройств. Данный эмулятор представляет из себя виртуальную машину с установленным Android. Кроме этого, данный эмулятор позволяет имитировать подключение устройства к сети Wi-Fi, к интернету через GPRS, 3G, LTE. Также данный эмулятор позволяет имитировать вспышки, как задней, так и передней камер мобильного телефона.

информационный квест интерфейс тур

2. ПРЕДМЕТНАЯ ОБЛАСТЬ АВТОМАТИЗАЦИИ И ПОСТАНОВКА ЗАДАЧИ

.1 Предметная область автоматизации

Экскурсионно - познавательное мобильного приложение используется для автоматизации процесса проведения экскурсий и знакомства пользователей с достопримечательностями Вологодской области. Основной задачей приложения является организация квест - экскурсий по выбранным пользователем достопримечательностям.

Для решения данной задачи мобильное приложение использует следующие входные документы: города, достопримечательности и квесты.

В документе «Города», представлена информация о городах Вологодской области, а именно название города ссылка на изображение и краткая информация о городе. Данный документ представлен в форме 1.1.

Форма 1.1 - Форма города

Название ГородаСсылка на изображениеКраткая информация о городе

В документе «Достопримечательности», хранится информация о местах Вологодской области, которые будут интересны туристам. Данная информация представляет из себя название достопримечательности, ее описание, адрес и ссылку на изображение. Данный документ представлен в форме 1.2.

Форма 1.2 - Форма достопримечательности

Название достопримечательностиСсылка на изображениеОписаниеАдрес

Документ «Квесты», содержит информацию, необходимую для проведения квест - экскурсий, а именно вопросы, ответы и дополнительную информацию в виде текста и изображений, которые будут показываться пользователи при правильном ответе на вопрос. Данный документ представлен в форме 1.3.

Форма 1.3 - Форма квесты

ВопросОтветДополнительная информацияДополнительное изображение

.2 Постановка задачи

Разрабатываемое мобильное приложение должно обеспечивать организацию квест-экскурсий по достопримечательностям Вологодской области.

Под квест-экскурсией понимается процесс организации посещения пользователем экскурсионных объектов и их изучения путем решения задач, предоставляемых приложением.

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

Также мобильное приложение должно обеспечивать удобный поиск достопримечательностей в каждом городе.

Для правильной работы приложение необходимо постоянное подключение к сети интернет.

После анализа предметной области, была разработана функциональная структура разрабатываемой информационной системы. Функциональная структура приложения представлена на рисунке 2.1.

Информационная система состоит из двух основных частей. Первая часть, это само мобильное приложение, представляет собой графический интерфейс и набор функций, необходимых для получения и обработки данных с сервера.

Графический интерфейс предоставляет набор активностей (форм), которые используются для вывода необходимой информации, а также для организации взаимодействия пользователя с приложением.

Рисунок 2.1 - Функциональная структура приложения

Разработанное приложение состоит из пяти модулей (активностей). Под активностями надо понимать формы из обычного программного обеспечения. Простые приложения состоят из одной активности, более сложные приложения состоят из нескольких окон, т.е. из нескольких активностей, которые могут взаимодействовать между собой [6].

Первая активность используется для вывода информации при запуске приложения.

Вторая активность отправляет запрос на сервер и выводит список городов Вологодской области.

Третья активность используется для вывода списка достопримечательностей в выбранном городе.

Четвертая активность представляет собой форму для поиска.

Последняя активность выводит информацию о выбранной достопримечательности и предоставляет пользователю возможность прохождения квеста.

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

База данных содержит в себе всю информацию, которая необходима для организации квест-экскурсий.

В качестве сервера для работы приложения используется Apache. Информация, которая выводится в приложении, хранится в БД MySQL[8].

Работа приложения с сервером заключается в том, что приложение отправляет запросы, которые обрабатываются API, написанном на PHP, в ответ сервер отсылает json строку. Данная строка обрабатывается в приложении, а полученная информация выводится пользователю.

Обновление мобильного приложения осуществляется за счет подключения телефона к интернету и скачивания новой версии с серверов Google Store.

2.3 Требования к разрабатываемому приложению

Определим требования к разрабатываемому мобильному приложению. Рассмотрим, как общие требования, так и требования к функциям и обеспечению.

.3.1 Требования к приложению в целом

К мобильному приложению «Областные познавательные квесты» имеется ряд требований:

)приложение должно иметь удобный для использования интерфейс;

)приложение должно обеспечивать корректный ввод и вывод информации;

)приложение должно иметь постоянный доступ к интернету;

)разработанная система должна обеспечивать централизованное хранение информации;

5)приложение должно обрабатывать некорректные действия пользователя и сообщать о возникших проблемах;

6)разработанное приложение должно обеспечивать добавление, изменение и удаление информации в базе данных;

)база данных приложения должна быть защищена, от несанкционированного доступа;

)приложение должно использовать минимальное количество интернет трафика и ресурсов системы.

.3.2 Требования к функциям

Мобильное приложение состоит из ряда функций, которые должны выполнять следующие задачи:

)отправление запрос на сервер, для получение необходимой информации;

)обработка данных полученных с сервера;

)вывод списка городов;

)вывод списка достопримечательностей в выбранном городе;

)вывод информации о выбранной достопримечательности;

)кэширование изображений, для уменьшения трафика;

)вывод вопросов для квеста;

)проверка ответов пользователя;

)организация поиска, среди достопримечательностей;

)вывод всплывающих сообщений;

)проверка подключения к интернету.

.3.3 Требования к видам обеспечения

Разрабатываемое мобильное приложение имеет также ряд требований к обеспечению.

Во-первых, операционная система Android должна быть не ниже версии 4.1 Jelly Bean [7].

Во-вторых, мобильное устройство должно иметь хотя бы одноядерный процессор с частотой от 1 Ггц, оперативную память от 512 МБ, поддержку Wi - Fi стандартов 802.11 b / g / n или 3G стандарта HSDPA 7.2 Мбит/с HSDPA 5.76 Мбит/с, а также 10 Мб свободного места в памяти, для установки и сохранения кэшированных изображений.

В-третьих, для работы сервера необходим отдельный компьютер или VPS с операционной системой Debian или Ubuntu и CPU 2 ядра по 2000 МГц, RAM 2048 МБ и памятью от 20 ГБ.

В-четвертых, для организации БД на сервере должна быть установлена СУБД MySQL.

В-пятых, в качестве веб сервера должен быть установлен Apache HTTP-сервер.

Все взаимодействие с базой данных MySQL осуществляется с помощью API, написанном на языке PHP и SQL запросов. Работа с API осуществляется непосредственно приложением, написанном на языке java с использованием ряда библиотек.

3. АВТОМАТИЗАЦИЯ ПРОЕКТИРОВАНИЯ ВИЗУАЛЬНОЙ МОДЕЛИ МОБИЛЬНОГО ПРИЛОЖЕНИЯ

В настоящее время разработка крупных приложений невозможно без использования CASE систем. Данные системы способствуют сокращению времени разработки, автоматизируют рутинные задачи.

Чаще всего используют CASE системы, для визуального моделирования программных продуктов. Примером такой системы является Rational Rose.

Под визуальным моделированием понимается процесс представления разрабатываемого ПО в графическом виде.

3.1 Построение диаграммы вариантов использования

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

Диаграмма вариантов использования представлена на рисунке 3.1.

Как видно по рисунку, система имеет одного актера - пользователя. Базовыми вариантами использования являются: выбор города, просмотр списка достопримечательностей в городе, поиск достопримечательностей в городе, просмотр информации о выбранной достопримечательности, прохождение квеста.

Рисунок 3.1 - Диаграмма вариантов использования

Шаблон для написания отдельного сценария представлен в таблице 3.1.

Таблица 3.1 - Шаблон для написания сценария отдельного варианта использования

Главный разделРаздел «Типичный ход событий»Раздел «Исключения»Раздел «Примечания»Имя варианта использованияТипичный ход событийИсключение №1 Исключение №2ПримечанияАктерыЦельКраткое описаниеТипСсылки на другие варианты использования

Пример заполнения главного раздела, представлен в таблице 3.2.

Таблица 3.2 - Главный раздел

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

Описание раздела «Типичный ход событий» представлено в таблице 3.3

Таблица 3.3 - Раздел «Типичный ход событий»

Действия актеровОтклик системы1 Пользователь выбирает город из предоставленного списка Исключение №1: у пользователя отсутствует подключение к интернету2 Приложение предоставляет список достопримечательностей в выбранном городе3 Пользователь просматривает список мест в выбранном городе Исключение №1: у пользователя отсутствует подключение к интернету4 Приложение предоставляет минимальную информацию о достопримечательностях города5 Пользователь выбирает достопримечательность из предложенного списка Исключение №1: у пользователя отсутствует подключение к интернету6 Пользователю показывается описание выбранного места и предлагается пройти квест7 Пользователь возвращается к списку достопримечательностей и ищет интересующую его с помощью фильтра Исключение №1: у пользователя отсутствует подключение к интернету Исключение №2: искомая достопримечательность отсутствует в БД8 Приложение показывает список достопримечательностей, соответствующих требованиям пользователя9 Пользователь проходит квест в выбранной достопримечательности Исключение №1: у пользователя отсутствует подключение к интернету10 Пользователю предоставляется дополнительная информация о достопримечательности в виде изображения и текста

Описание исключений, встречающихся в ходе работы с приложением, представлено в таблице 3.4.

Таблица 3.4 - Раздел «Исключения»

Действия актеровОтклик системыИсключение №1: у пользователя отсутствует подключение к интернету1 Пользователь просматривает список городов 2 Пользователь просматривает список достопримечательностей в выбранном городе 3 Пользователь выбирает достопримечательность 4 Пользователь проходит квест 5 Пользователь ищет достопримечательность с помощью фильтраПриложение сообщает о отсутствии подключения к интернетуИсключение №2: искомая достопримечательность отсутствует в БД1 Пользователь ищет достопримечательность с помощью фильтраПриложение выдает сообщение что по запросу нет соответствий

.2 Построение диаграммы последовательности

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

Диаграмма последовательности представлена на рисунке 3.2.

Рисунок 3.2 - Диаграмма последовательности

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

.3 Построение диаграммы классов

Диаграмма классов используется для демонстрации классов, имеющихся в разрабатываемой системе, а также для описания атрибутов и методов, входящих в рассматриваемые классы. Диаграмма классов представлена на рисунке 3.3.

Рисунок 3.3 - Диаграмма классов

На диаграмме показано 5 классов: города - используется для получения списка городов, достопримечательности - используется для получения информации о достопримечательностях города, категории - используется при фильтрации списка достопримечательностей, квесты - для организации прохождения заданий пользователем и класс пользователи - реализует все функции взаимодействия с приложением. У всех классов есть свои атрибуты и определенные наборы операций.

3.4 Построение диаграммы компонентов

Диаграмма компонентов используется для того, чтобы показать, разделение системы на компоненты и зависимости между этими компонентами. Диаграмма представлена на рисунке 3.4.

Рисунок 3.4 - Диаграмма компонентов

На диаграмме представлены компоненты: main, filter, quest, landmark.

.5 Оценка трудоемкости проекта

Проведем оценку трудоемкости разработки проекта с использованием методики на основе вариантов использования. А именно проведем определение весовых показателей действующих лиц, определение весовых показателей вариантов использования, определение технической сложности проекта, определим уровень квалификации разработчиков и проведем оценку трудоемкости проекта.

Определение весовых показателей действующих лиц представлено в таблицах 3.5 и 3.6.

Таблица 3.5 - Весовые коэффициенты действующих лиц

Тип действующего лицаВесовой коэффициентПростое1Среднее2Сложное3

Таблица 3.6 - Типы действующих лиц для разрабатываемой системы

Действующее лицоТипПользовательСложноеРазработчикСложноеАдминистраторСреднее

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

Определение весовых показателей вариантов использования представлено в таблицах 3.7 и 3.8.

Таблица 3.7 - Весовые коэффициенты вариантов использования

Тип варианта использованияОписаниеВесовой коэффициентПростой3 или менее транзакций5Среднийот 4 до 7 транзакций10Сложныйболее 7 транзакций15

Таблица 3.8 - Сложность вариантов использования для разрабатываемой системы

Вариант использованияТип Поиск достопримечательностиСредний Просмотр списка городовПростой Просмотр списка достопримечательностейСложный Просмотр информации о достопримечательностиСложный Прохождение квестаСредний Добавление новой достопримечательностиСредний Изменение квестаСложный

Общий весовой показатель (UC) вычисляется умножением количества вариантов использования каждого типа на соответствующий весовой коэффициент. Выполнив расчеты, получим, что общий весовой показатель равен 80.

Рассчитаем показатель UUCP, по формуле:

(3.1)

Подставив значения, получим, что данный показатель равен 88.

Определение технической сложности проекта представлено в таблицах 3.9 и 3.10.

Таблица 3.9 - Показатели технической сложности проекта

ПоказательОписаниеВесТ1Распределенная система2Т2Высокая пропускная способность1Т3Работа конечных пользователей в режиме онлайн1Т4Сложная обработка данных1Т5Повторное использование кода1Т6Простота установки0,5Т7Простота использования0,5Т8Переносимость2Т9Простота внесения изменений1Т10Параллелизм1Т11Специальные требования к безопасности1Т12Непосредственный доступ к системе со стороны внешних пользователей1Т13Специальные требования к обучению пользователей1

Таблица 3.10 - Показатели технической сложности для рассматриваемой системы

ПоказательВесЗначениеЗначение с учетом веса1244T1246T2155T3155T4133T5122T60,531,5T70,542T8236T9133T10133T11144T12155T13111Сумма46.5

Техническая сложность проекта вычисляется по формуле:

(3.2)

Подставив значения, получим, что техническая сложность проекта (TCF) равна 0,279.

Определение уровня квалификации разработчиков представлено в таблицах 3.11 и 3.12.

Таблица 3.11 - Показатели уровня квалификации разработчиков

ПоказательОписаниеВесF1Знакомство с технологией1.5F2Опыт разработки приложений0.5F3Опыт использования объектно- ориентированного подхода1F4Наличие ведущего аналитика0,5F5Мотивация1F6Стабильность требований2F7Частичная занятость-1F8Сложные языки программирования-1

Таблица 3.12 - Показатели уровня квалификации разработчиков для системы

ПоказательВесЗначениеЗначение с учетом весаF11.534,5F20.531,5F3155F40,510,5F5155F6248F7-14-4F8-14-4Сумма16,5

Рассчитаем уровень квалификации разработчиков по формуле:

(3.3)

Подставив значения, получим, что уровень квалификации разработчиков (EF) равен 0,905.

С использованием полученных данных, можем определить показатель, по формуле:

(3.4)

Подставив все значения, получим, что UCP равен 22.3

Теперь по полученным данным определим трудоемкость проекта. В качестве начального значения предлагается использовать 20 человека - час на одну UCP, но, проведя уточнение, будем использовать 28 человека - час на одну UCP. Таким образом общее количество человеко - часов на весь проект равно 624.4, что составляет 26 - 27 дней разработки с учетом, что над проектом работает один человек.

4. РАЗРАБОТКА ИНФОРМАЦИОННОГО ОБЕСПЕЧЕНИЯ ПРИЛОЖЕНИЯ

Проведем анализ состава информации, установим функциональные зависимости реквизитов, установим между ними соответствия и определим структурные связи.

.1 Информационный анализ предметной области и выделение информационных объектов

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

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

Для разрабатываемого мобильного приложения, состав информационного обеспечения представлен в таблице 4.1.

Таблица 4.1 - Состав информационного обеспечения

Название информационного объекта (ИО)Обозначение ИОСемантика ИОГородаcityСодержит информацию о городахКатегорииcategoryСодержит информацию о категорияхКвестыquestСодержит информацию о квестахМестаplaceСодержит информацию о достопримечательностяхФункциональные зависимости реквизитов представлены в таблице 4.2.

Таблица 4.2 - Функциональные зависимости реквизитов

ДокументНаименование реквизитаИмя реквизитаФункциональная зависимостьГородаИД городаИДГНазваниеНГОписаниеОГИзображениеИГКатегорииИД категорииИДКНазваниеНКМестаИД местаИДМИД городаИДМГИД категорииИДМКНазваниеНМОписаниеОМИзображениеИМКвестыИД квестаИДКВИД местаИДМКВВопросВКВОтветОКВДополнительный текстТКВДополнительное изображениеИКВ

Соответствие описательных и ключевых реквизитов представлено в таблице 4.3.

Таблица 4.3 - Соответствие описательных и ключевых реквизитов

Описательный реквизитКлючевой реквизитВид ключаИмя ИО, включающего реквизит1234ГородаНГ ОГ ИГИДГП.,У(Простой универсальный) ГородаКатегорииНКИДК П.,У КатегорииКвестыИДМКВ ВКВ ОКВ ТКВ ИКВИДКВП.,У КвестыМестаИДМГ ИДМК НМ ОМ ИМИДМП.,У Места

Проведем группировку описанных выше реквизитов. Группировка реквизитов представлена в таблице 4.4.

Таблица 4.4 - Группировка реквизитов

РеквизитыПризнаки ключаИмя ИОСемантика ИОДокумент «Города»ИДГП.,У(Простой, универсальный) ГородаИнформация о городах Вологодской областиНГОГИГДокумент «Категории»ИДКП.,УКатегорииСведения о категориях достопримечательностейНКДокумент «Места»ИДМП.,УМестаИнформация о достопримечательностях Вологодской областиИДМКИДМГНМОМИМДокумент «Квесты»ИДКВП.,УКвестыКвесты и дополнительная информация о достопримечательностях Вологодской области ИДМКВВКВОКВТКВИКВРассмотрим связи между информационными объектами, связи представлены в таблице 4.5.

Таблица 4.5 - Связи ИО

Номер связи отношенияГлавный информационный объектПодчиненный информационный объектТип реализации отношения12341КатегорииМеста1:М2ГородаМеста1:М3МестаКвесты1:М

4.2 Построение логической модели данных

Существует три уровня логической модели данных. Каждый из уровней отличается степенью представления данных.

Верхним уровнем является диаграмма сущность связь, представленная на рисунке 4.1. Данная диаграмма состоит из сущностей и связей между ними. Данная модель используется для представления бизнес - процессов.

Второй уровень описывается моделью, основанной на ключах, представленной на рисунке 4.2. Данная модель содержит описание сущностей и ключей. Используется для представления сущностей и ключей, которые совпадают с описанием предметной области.

Последний уровень представляется полной атрибутивной моделью, представленной на рисунке 4.3. Полная атрибутивная модель используется для детального отображения структуры данных, которые используются в мобильном приложении.

Рисунок 4.1 - Модель сущность - связь

Рисунок 4.2 - Модель, основанная на ключах

Рисунок 4.3 - Полная атрибутивная модель

4.3 Описание таблиц данных

Проведем описание таблиц базы данных. Таблица «Города» содержит список городов Вологодской области. Таблица «Категории» содержит список категорий, на которые разделяются достопримечательности. Таблица «Места» содержит информацию о достопримечательностях Вологодской области. Таблица «Квесты» содержит информацию, которая показывается пользователю при прохождении предоставляемых заданий, а также сами задания. Описание таблиц реляционной базы данных представлено в таблице 4.6.

Таблица 4.6 - Описание таблиц реляционной базы данных

АтрибутПризнак ключаФормат поляОбозначениеНаименованиеТипДлинаТочность«Города»ИДГИД городаП.,У(Простой универсальный) числовойДлинное целоеНГНазваниетекстовый255ОГОписаниетекстовый255ИГИзображениетекстовый255«Квесты»ИДКВИД квестаП.,УчисловойДлинное целоеИДМКВИД местачисловойДлинное целоеВКВВопростекстовый255ОКВОтветтекстовый255ТКВДополнительный тексттекстовый255ИКВДополнительное изображениетекстовый255«Категории»ИДКИД категорииП.,УчисловойДлинное целоеНКНазвание категориитекстовый255«Места»ИДМИД местаП.,УчисловойДлинное целоеИДМКИД категориичисловойДлинное целоеИДМГИД городачисловойДлинное целоеНМНазваниетекстовый255ОМОписаниетекстовый255ИМИзображениетекстовый255

5. РАЗРАБОТКА ПРОГРАММНОГО ОБЕСПЕЧЕНИЯ

Под разработкой программного обеспечения понимается деятельность, направленная на получение нового программного продукта. Разработка ПО состоит из нескольких этапов.

На первом этапе определяются с требованиями к разрабатываемому продукту. Следующие этапы заключаются в проектировании и разработке ПО. После этого происходит тестирование получившегося программного средства, при выявлении на данном этапе ошибок программа отправляется на доработку. Последними этапами являются внедрение и сопровождение разработанного программного обеспечения.

.1 Описание программных средств

Для разработки мобильного приложения «Областные познавательные квесты» использовались такие программные средства как Android Studio, Adobe Photoshop, Sublime Text и WinSCP.

Android Studio представляет из себя среду разработки под мобильную операционную систему Android. Данная IDE в качестве базы использует IntelliJ IDEA от компании JetBrain. Она включает в себя инструменты необходимые для разработки и отладки приложений, языком программирования в данной среде является java [13].

Стоит отметить, что данная среда разработки имеет ряд преимуществ. В качестве сборщика проектов используется Gradle. Также в Android Studio встроены инструменты для рефакторинга и поиска проблем как с производительностью, так и юзабилити приложения. Кроме этого IDE может осуществлять оптимизацию кода.

По умолчанию Android Studio предлагает основные шаблоны для создания проектов и отдельных компонентов проекта.

Adobe Photoshop представляет из себя растровый графический редактор. Данное программное средство использовалось для обработки изображений и их оптимизации под web.

Выбран Adobe Photoshop, так как данный продукт является самым мощны графическим редактором, который имеет ряд операций, а именно: обработка фотографий, создание собственных изображений, создание постеров, коллажей, обложек и многое другое.

Sublime Text представляет из себя текстовый редактор, который специализирован на web - разработку. Данное программное средство использовалось для написания серверной части приложения, а именно API, для работы с базой данных.

Возможности Sublime Text легко расширяются за счет установки различных плагинов и расширений. Кроме это, данный текстовый редактор имеет уже ряд встроенных плагинов, например, emmet. Данные расширения ускоряют процесс написания и отладки кода.

WinSCP представляет из себя файловый менеджер, использующий протоколы SFTP и SCP. Данный менеджер осуществляет защищённое копирование файлов между компьютером и сервером.

Для работы с базой данных использовался phpMyAdmin. PhpMyAdmin представляет собой web - приложение, которое обеспечивает администрирование базы данных MySQL.

Вся работа с приложением осуществляется через браузер. Кроме этого, данное приложение позволяет не только осуществлять администрирование базы данных, но и выполнять SQL команды, просматривать содержимое таблиц и баз данных.

Приложение пользуется большой популярностью у веб-разработчиков, так как позволяет управлять MySQL без непосредственного ввода SQL команд, предоставляя дружественный интерфейс.

5.2 Алгоритм решения задач

Для осуществления разработки мобильного приложения необходимо решить набор различных задач (информационные, программные, технические, организационные).

На первом этапе разделим разрабатываемое мобильное приложение на функционально законченные и взаимосвязанные блоки.

В результате получим, что приложение включает в себя три основных блока: интерактивный блок, блок обработки информации и блок хранения данных. Данная структура приложения представлена на рисунке 5.1.

Рисунок 5.1 - Структурная схема программного обеспечения мобильного приложения

Разделение разрабатываемого мобильного приложения на отдельные взаимосвязанные блоки было сделано, чтобы:

)упростить процесс разработки и при необходимости сократить время на внесение изменений в уже существующие модули, при этом не влияя на работу других частей программы;

)так как система состоит из модулей, то возможен перенос, уже разработанных программных решений в другие проекты;

)при разбиении системы на модули, появляется возможность добавлять в нее сторонние модули, не влияя на работу системы;

)модульная система позволяет экономить ресурсы вычислительного средства;

)модульная структура делает приложение более гибким. Это объясняется тем, что каждый блок системы занимается выполнением отдельной задачи;

)данный подход, разбиения системы на модули, делает процесс разработки и управления приложением, намного упорядоченным и последовательным.

.2.1 Интерактивный блок

Задачей интерактивного блока является осуществление взаимодействия приложения с пользователями. Кроме этого, данный блок, должен адекватно обрабатывать, все возможные варианты взаимодействия с приложением и при возникновении ошибок сообщать о них.

Интерактивный блок включает в себя графический интерфейс, который в свою очередь состоит из ряда активностей, с которыми и взаимодействует пользователь. Структура интерактивного блока представлена на рисунке 5.2.

Рисунок 5.2 - Структурная схема интерактивного блока

.2.2 Блок обработки информации

Задачей блока обработки информации является обработка информации, которая поступает от пользователей в процессе прохождения квестов или выдача информации по запросу пользователей, а также обеспечение удаления, изменения или добавления информации администратором базы данных приложения.

Для реализации всех этих функций, данный блок включает себя два дополнительных блока. Первый блок отвечает за обработку и выдачу пользовательской информации, второй за обработку информации поступающей от администратора базы данных.

Блок обработки информации представлен на рисунке 5.3.

Рисунок 5.3 - Структурная схема блока обработки информации

.2.3 Блок хранения информации

Блок хранения информации используется для взаимодействия с API сервера т.е. для работы с базой данных как из приложения, так и с помощью специального web - приложения.

Другими словами, основной задачей блока хранения информации, является взаимодействие с системой управления базой данных.

Данный блок, включает в себя представления каждой таблицы, содержащейся в базе данных приложения, а именно: таблицы городов, таблицы достопримечательностей, таблицы категорий и таблицы квестов.

Структура блока хранения информации представлена на рисунке 5.4.

Рисунок 5.4 - Структурная схема блока хранения информации


С ростом числа мобильных устройств под операционной системой Android, все чаще стал возникать вопрос, по поводу стандартизации интерфейсов мобильных приложений. На данный момент компания Google, которая является разработчиком данной ОС, разработала Material Design[15].

Данный подход к дизайну мобильных приложений, программного обеспечения и web - сайтов заключается в том, что все графические элементы представляются в виде отдельных карточек, которые открываются и сворачиваются, используя эффекты теней [16].

Кроме этого, компания google разработала ряд принципов, которым должен соответствовать дизайн мобильных приложений:

)интерфейс должен быть простым и понятным для использования;

)необходимо использовать максимум экрана, при этом уменьшать его визуальную сложность;

)в результате работы с приложением пользователь должен понимать, что он делает и как сделать то, что ему необходимо.

Стоит отметить принципы организации структуры интерфейса в мобильных приложениях. Графический интерфейс приложения состоит из отдельных компонентов. Для каждого компонента содержащегося в активностях приложения имеется представление, на языке xml, с помощью иерархии объектов View и ViewGroup. Обычно объекты типа view представляют собой элементы управления и прочие виджеты, например, кнопки и текстовые поля, через которые пользователь взаимодействует с программой [15].

При разработке интерфейса мобильного приложения «Областные познавательные квесты» были учтены все требования для реализации удобного и интуитивно понятного приложения. Структурная схема интерфейса мобильного приложения представлена на рисунке 5.5.

Рисунок 5.5 - Структурная схема интерфейса мобильного приложения

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

С экрана результатов поиска можно также перейти на форму с описанием. Экран с описанием достопримечательности содержит модуль для прохождения квестов.

.4 Разработка квестов

Первоначально под словом квест понимался жанр компьютерных игры, основной задачей в которых было исследование мира и решение заданий.

На данный же момент, существует большое количество видов квестов. Рассмотрим наиболее часто встречающиеся квесты.

Классический квест - заключается в том, что игрокам нужно выбраться из замкнутого помещения решая набор заданий или ища подсказки.

Перформанс - данный вид квестов заключается в том, что в них кроме игроков участвуют актеры.

Экшен-квест - заключаются в том, что кроме отгадывания загадок игрокам необходимо прибегать к своим физическим способностям.

Квизы - представляет из себя командную игру в духе телевикторины «Что? Где? Когда?».

Городские квесты - действие в таких квестах, как правило разворачивается на улице. Квест можно проходить как пешком, так и на автомобиле. При прохождении квеста игроки ищут подсказки на вопросы, перемещаясь по городу. Обычно подсказки связаны и изучением истории города.

Так как разрабатываемое мобильное приложение «Областные познавательные квесты» направлено на изучение достопримечательностей Вологодской области, его можно отнести к приложению по организации городских квестов.

Можно выделить несколько вариантов вопросов, которые использовались в квестах. Все типы вопросов представлены в таблице 5.1.

Таблица 5.1 - Типы вопросов в квестах

Тип вопросаОписаниеПримерВопрос в открытой формеОтвет на вопрос включает в себя слово или словосочетание. Ответ чувствителен к регистру.Какую фреску можно увидеть внутри собора? Одна из крупных настенных росписей на эту тему в стране. Ответ - страшный судВопрос в закрытой формеПозволяет выбирать один или несколько правильных ответов из заданного списка.Выберите из списка промыслов, те, которые включены в выставку - Европейские кружевные центры - Кружево в крестьянском костюме - Вологодское масло - Путешествие в мир ископаемых - Лесные мотивыВерно/НеверноВ качестве ответа необходимо выбрать верно представленное утверждение или нет. Верно ли, что театр «Теремок», основан в 1937 году

В качестве примера рассмотрим квест, который можно найти при просмотре достопримечательности «Софийский собор» в Вологде. Пользователю после просмотра основной информации будет представлен вопрос «Какую фреску можно увидеть внутри собора?». При вводе ответа «страшный суд» появится изображение данной фрески с текстом «Традиционно изображение Страшного суда выполняли только в наиболее значимых и статусных храмах».

В разрабатываемом приложении квесты представляют собой систему «вопрос - ответ». Блок-схема, описывающая процесс прохождения квеста, представлена на рисунке 5.6.

Пользователю предлагается ответить на один или несколько вопросов, за каждый правильный ответ приложение будет показывать новую информацию о выбранной достопримечательности. Дополнительная информация состоит из текста и изображений.

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

Рисунок 5.6 - Блок-схема прохождения квестов

5.5 Тестирование и оценка надежности программного средства

Под тестированием программного средства понимается процесс использования ПО, для того чтобы определить ситуации при которых наблюдается некорректная работа продукта или же для того, чтобы убедится в том, что программа соответствует всем требованиям.

Обычно рассматривают два вида тестирования, а именно тестирование «белого» и «черного» ящиков.

Под надежностью понимается свойство объекта выполнять заданные функции, сохраняя во времени значения установленных эксплуатационных показателей в заданных пределах.

.5.1 Структурное тестирование

Структурное тестирование или тестирование «белого ящика», заключается в том, что исследуются внутренние элементы программы и связи между ними. Проверяется корректность построения всех элементов программы и правильность взаимодействия их друг с другом [10].

Выделяют несколько видов структурного тестирования:

) способ тестирования базового пути - даёт возможность получить оценку комплексной сложности программы и использует её для составления необходимого количества тестовых программ [11];

) способ тестирования условий - построение тестовых вариантов для проверки логических условий программ;

) способ тестирования потоков данных - при таком тестировании анализу подвергается информационная структура программ;

) тестирование циклов - проверяется правильность конструкций цикла.

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

public void checkAnswer(View view){

2 if (writeAns.getText().toString().equals(answer) ){

Toast.makeText(this, "Верно !!!", Toast.LENGTH_SHORT).show();

placeDop.setVisibility(View.VISIBLE);

}

else {

7 Toast.makeText(this,"Вы ввели неправильный ответ !!!",

Toast.LENGTH_SHORT).show();

}

}

На основе представленного кода составим потоковый граф, рассчитаем цикломатическую сложность, перечислим независимые маршруты и основные тестовые варианты. Потоковый граф представлен на рисунке 5.7.

Рисунок 5.7 - Потоковый граф

По представленному графу рассчитаем цикломатическую сложность тремя способами. Это необходимо для того, чтобы убедится в правильности построения графа.

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

Проведя расчеты получим следующие результаты:

)

)

)

Исходя из потокового графа определим независимые маршруты.

Маршрут 1: 1 - 2 - 3 - 4 - 5 - 10;

Маршрут 2: 1 - 2 - 6 - 7 - 8 - 9 - 10.

Следующим шагом будет, разработка основных тестовых вариантов.

ТВ1:

ИД: переходим в достопримечательности Вологды и выбираем Софийский собор, открываем модуль квеста и получаем вопрос, в качестве ответа вводим «страшный суд».

Ож.Рез: приложение показывает дополнительную информацию о соборе, всплывает сообщение о правильном ответе.

ТВ2:

ИД: переходим в достопримечательности Вологды и выбираем Софийский собор, открываем модуль квеста и получаем вопрос, в качестве ответа вводим «суд».

Ож.Рез: всплывает сообщение о том, что ответ не правильный, дополнительная информация не появляется.

5.5.2 Функциональное тестирование

Функциональное тестирование или тестирование «черного ящика» используется для проверки работоспособности каждой функции на всей области определения. При этом тестировании рассматриваются системные характеристики программы, игнорируется их внутренняя логическая структура [11].

Функциональное тестирование включает в себя ряд способов тестирования.

В способе разбиения по эквивалентности вся входная область данных делится на классы эквивалентности. Под классом эквивалентности понимается набор данных с общими свойствами. Для каждого класса разрабатывается один тестовый вариант.

Анализ граничных значений заключается в разработке тестовых вариантов, которые анализируют граничные значения.

Способ диаграмм причин-следствий обеспечивает формальную запись логических условий и соответствующих действий.

Проведем функциональное тестирование с помощью метода эквивалентных разбиений, для этого выделим классы эквивалентности. Выделенные классы эквивалентности представлены в таблице 5.2, тестовые наборы представлены в таблице 5.3.

Таблица 5.2 - Классы эквивалентности

ПоказательПравильный класс эквивалентностиНеправильный класс эквивалентностиОтвет пользователя на вопросДлина ответа на вопрос не превысила 50 символов.Длина ответа на вопрос превысила 50 символов.Ключевое слово или словосочетание для поискаДлина ключевого слова или словосочетания не превысила 100 символов.Длина ключевого слова или словосочетания превысила 100 символов.

Таблица 5.3- Тестовые наборы

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

5.5.3 Оценка надежности

Проведем оценку надежности разработанного программного средства по модели Миллса. Данная модель предполагает необходимость, перед началом тестирования, искусственно вносить в программу некоторое количество ошибок.

Ошибки вносятся случайным образом. Специалист, проводящий тестирование не знает ни количества, ни характера внесенных ошибок, до момента оценки показателя надежности.

Предполагается, что все ошибки имеют равную вероятность обнаружения в процессе тестирования. Первоначальное число ошибок в программе определяется по формуле:

, (5.1)

где S - количество внесенных ошибок, n - число найденных собственных ошибок и V - число обнаруженных, к моменту оценки внесенных ошибок.

Предположим, в нашем случае в программу было специально внесено 15 ошибок, к некоторому моменту времени, было обнаружено 8 собственных ошибок и 5 внесенных.

Проведя расчеты, получим, что первоначальное число ошибок в программе равно 24.

Второй частью модели Миллса, является проверка гипотезы об оценке первоначального числа ошибок в программе. А именно если допустить, что в программе имеется k собственных ошибок и S искусственно внесенных, то вероятность, с которой можно утверждать, что в программе первоначально было N = n ошибок, рассчитывается по формуле:

(5.2)

Предположим, что число собственных ошибок до начала проверки надежности равно 5. Тогда, исходя из формулы (5.2), получим, что вероятность того, что в программе первоначально было N = n ошибок равна 1.

6. КОМПЬЮТЕРНАЯ РЕАЛИЗАЦИЯ МОБИЛЬНОГО ПРИЛОЖЕНИЯ

.1 Назначение приложения

В настоящее время мобильные приложения оказывают большое влияние на сферу туризма. Анализ рынка мобильных приложений, связанных с туризмом, показывает, что из представленных приложений очень мало таких, которые связанны с проведением квестов. К относительно похожим можно отнести «Городские квесты Questery» - приложение для экскурсий по городам мира в формате городских квестов и «Questory» - приложение для проведения городских квестов.

Разрабатываемое мобильное приложение «Областные познавательные квесты» предоставляет возможность пользователю пройти квест-экскурсию по достопримечательностям Вологодской области.

Под квест-экскурсией понимается процесс организации посещения пользователем экскурсионных объектов и их изучения путем решения задач, предоставляемых приложением.

.2 Основные принципы работы с приложением

Для работы с приложением необходимо наличие у пользователя, мобильного устройства с операционной системой Android версии 4.1 Jelly Bean или выше. Также для работы с приложением необходимо иметь подключение к интернету, это может быть, как мобильный интернет вроде 3G или LTE, так и Wi - Fi соединение.

После установки приложения на мобильное устройство, в списке приложений появится новое, а именно приложение с названием «Квест - экскурсии». Пример списка приложений представлен на рисунке 6.1.

Если теперь, попытаться запустить приложение, то пользователю откроется стартовый экран, содержащий логотип и кнопку «начать». Стартовый экран приложения представлен на рисунке 6.2.

Рисунок 6.1 - Пример списка приложений

Рисунок 6.2 - Стартовый экран приложения

Если на данный момент на мобильном устройстве отсутствует подключение к Интернету, то при нажатии кнопки «начать» возникнет всплывающее сообщение о том, что данное устройство не имеет интернет подключения. Всплывающее сообщение представлено на рисунке 6.3.

Рисунок 6.3 - Всплывающее сообщение

Если же соединение с интернетом присутствует, то после нажатия кнопки пользователю представится список городов Вологодской области. Форма списка городов представлена на рисунке 6.4.

Рисунок 6.4 - Список городов

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

Рисунок 6.5 - Список достопримечательностей

Данная активность содержит список достопримечательностей и предоставляет начальную информацию о месте. К данной информации относится изображение, название и адрес достопримечательности.

Кроме этого, на рассматриваемой активности имеется поле для поиска. Поиск в приложении работает так, что ищутся достопримечательности только из списка всех достопримечательностей в выбранном городе.

При клике на поле «Поиск» откроется виртуальная клавиатура. После ввода текста, необходимо нажать кнопку «Найти» и тогда, произойдет переход на следующую активность, которая будет отображать результаты поиска.

Активность с примером поиска представлена на рисунке 6.6, а активность с результатами поиска на рисунке 6.7.

Рисунок 6.6 - Пример поиска

Активность с результатами поиска и активность со списком достопримечательностей в выбранном городе имеют одинаковый вид.

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

Рисунок 6.7 - Результаты поиска

Рисунок 6.8 - Информация о достопримечательности

Данная активность содержит в себе не только текстовое описание выбранной достопримечательности, но и модуль для прохождения квеста. Модуль состоит из текста вопроса, поля для ввода ответа и кнопки «ответить». Описываемый модуль представлен на рисунке 6.9.

Рисунок 6.9 - Модуль квеста

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

Всплывающее окно при неправильном ответе представлено на рисунке 6.10, а результаты работы приложения при правильном ответе на рисунке 6.11.

Рисунок 6.10 - Всплывающее окно при неправильном ответе

Рисунок 6.11 - Результаты работы приложения при правильном ответе

На данном этапе была рассмотрена работа с приложением «Областные познавательные квесты» со стороны обычного пользователя, но кроме этого с приложением может работать администратор.

Администратор отвечает за поддержание работы базы данных, за добавление новых городов, достопримечательностей и при необходимости для внесения изменений в уже имеющуюся информацию. Работа данного вида пользователя происходит в phpMyAdmin, интерфейс данной утилиты представлен на рисунке 6.12.

Рисунок 6.12 - Интерфейс phpMyAdmin

Администратору предоставляется список таблиц, использующихся в базе данных, при клике на любую из этих таблиц, открывается список данных, которые содержатся в этой таблице [8].

При необходимости администратор может удалить или редактировать конкретную запись, для этого ему необходимо кликнуть на соответствующие иконки.

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

Осталось рассмотреть, как будет работать с приложением разработчик. Для того чтобы вносить изменения в код приложения, необходимо, чтобы на компьютере разработчика была установлена среда разработки Android Studio, а сам разработчик знал язык программирования java и основы работы с Android [13].

После запуска проекта разработчику будет доступен список классов и пакетов, присутствующих в проекте. Данный список представлен на рисунке 6.13.

Рисунок 6.13 -Список файлов в проекте

Стоит рассмотреть основные пакеты и файлы, которые используются для разработки приложения. В папке res имеется папка layout. В данной папке содержится разметка всех активностей. Другими словами, данные файлы определяют, как будет выглядеть приложение.

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

Что касается программной части, то тут для разработки приложения использовался MVC подход. Если рассматривать в общем, то работа осуществляется следующим образом. Вид (view) обрабатывает события, возникающие при работе пользователя, передает сообщения контроллеру (controller). Контроллер, в свою очередь, производит изменения в модели (model). Модель отсылает сообщение о том, что необходимо произвести обновление вида, а вид производит отображение содержимое модели.

В данном проекте в качестве вида используются файлы, находящиеся в папке layout. В качестве модели используются файлы, находящиеся в папке model, а в качестве контроллера используются java классы, заканчивающиеся на слово Activity.

Для того, чтобы организовать вывод списка городов, достопримечательностей и результатов поиска, использовался компонент ListView. В свою очередь, по умолчанию данный компонент может выводить только небольшой текст, для решения данной проблемы используются переопределенные адаптеры, которые обеспечивают соответствующий вывод информации. Сами адаптеры находятся в папке adapter [13].

ЗАКЛЮЧЕНИЕ

В данной выпускной квалификационной работе разработано мобильное приложение «Областные познавательные квесты».

Было представлено описание культурно - исторических особенностей Вологодской области, рассмотрено применение информационных технологий и виртуальных туров в области туризма, описаны инструментальные средства, необходимые для разработки мобильных приложений.

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

Описаны основные требования к мобильному приложению в целом, а также к его функциям и видам обеспечения.

В процессе проектирования визуальной модели мобильного приложения разработаны и описаны диаграммы вариантов использования, последовательности, классов, компонентов. Проведена оценка трудоемкости проекта методом на основе вариантов использования.

На этапе разработки информационного обеспечения приложения были выделены основные информационные объекты, проведен информационный анализ предметной области. Спроектирована логическая модель данных и представлено описание всех таблиц, которые находятся в базе данных приложения.

Были рассмотрены основные программные средства, которые используются для проектирования и разработки мобильного приложения. Описан алгоритм решения поставленной задачи и описана реализация интерфейса.

В процессе разработки, приложение было разбито на три функционально законченных и взаимосвязанных блока: интерактивный блок, блок обработки информации и блок хранения данных.

При разработке интерфейса мобильного приложения, были учтены все требования для реализации удобного и интуитивно понятного приложения. Разработана структурная схема интерфейса мобильного приложения.

Разработаны квесты, для каждой достопримечательности, имеющейся в базе данных приложения. Квесты представляют собой систему «вопрос - ответ». Для описания процесс прохождения квеста спроектирована блок-схема.

Проведено функциональное тестирование приложения, основанное на способе разбиения на классы эквивалентности.

Проведено структурное тестирование, основанное на методе тестирования базового пути.

Проведена оценка надежности разработанного мобильного приложения, с помощью модели Миллса.

Описано назначение мобильного приложения «Областные познавательные квесты» и представлены основные принципы работы с ним.

СПИСОК ИСПОЛЬЗОВАННЫХ ИСТОЧНИКОВ

1. Применение информационных технологий в туризме [Электронный ресурс]: офиц. сайт

. Скотт, Б. Проектирование веб-интерфейсов / Б. Скотт. - Санкт-Петербург: Символ-Плюс, 2010. - 500с.

. Туризм и отдых в Вологодской области [Электронный ресурс]: офиц. сайт

. Стратегия развития туристского кластера Вологодской области [Электронный ресурс]: офиц. сайт

. Руководство по программированию Xamarin [Электронный ресурс]

. Разработка под Android [Электронный ресурс]: офиц. сайт

. Разработка приложений под Android [Электронный ресурс]

. Гольцман, В. MySql 5.0 / В. Гольцман. - Санкт - Петербург: Питер, 2009. - 431с.

. Грекул, В.И. Проектирование информационных систем / В.И. Грекул. - Москва: Интернет-Ун-т ИнформТехнологий, 2015. - 304с.

. Купер, А. Основы проектирования взаимодействия / А. Купер. - Москва: Символ-Плюс, 2009. - 688с.

. Тамре, Л. Введение в тестирование программного обеспечения / Л. Тамре. - Москва: Вильямс, 2013. - 368с.

. Котляров, В.П. Основы тестирования программного обеспечения / В.П. Котляров. - Москва: Интернет-Ун-т ИнформТехнологий, 2016. - 283с.

. Дейтел, П. Android для разработчиков / П. Дейтел. - Санкт-Петербург: Питер, 2016. - 512с.

. Ёранссон, А. Эффективное использование потоков в операционной системе Android. Технологии асинхронной обработки данных / А. Ёранссон. - Москва: ДМК Пресс, 2015. - 304с.

. Основы разработки интерфейсов мобильных приложений [Электронный ресурс]: электрон. учебник.

Похожие работы на - Проектирование мобильного приложения 'Областные познавательные квесты'

 

Не нашли материал для своей работы?
Поможем написать уникальную работу
Без плагиата!