Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Пояснительная записка ТГТУ.230201.036 ДЭ.doc
Скачиваний:
29
Добавлен:
21.05.2015
Размер:
2.57 Mб
Скачать

2.2 Информационное обеспечение задачи

2.2.1 Выбор средств управления данными

Разрабатываемая система предполагает взаимодействие между клиентским устройством и сервером базы данных API Яндекс.Карт. Так как API Карт является собственностью ООО «Яндекс», параметры серверов конфиденциальны и не подлежат разглашению. Тем не менее, так как взаимодействие с ними ведется с помощью обычных HTTP-запросов, в данном случае не требуется каких-либо специфических средств обработки и хранения получаемой информации.

Клиентское устройств, представляет собой мобильное устройство Android. В Android есть несколько способов хранения данных [33, 44]:

1) Preferences – настройки. Этот способ используется для сохранения настроек программ, таких как размер шрифта, оформление, подсветка экрана, и является узконаправленным, не позволяя хранить данные геокодирования или произвольную текстовую информацию.

2) Обычные файлы – внутренние и внешние (на SD-карте). Этот способ позволяет хранить достаточно большие объемы произвольных данных. Тем не менее, осуществление доступа к подобным данным является затруднительным, так как требует установления дополнительных разрешений для приложения, разработки пользовательских методов индексации и корректного получения информации.

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

Помимо скорости и эффективности у SQLite есть ряд других преимуществ, которые делают её идеальным решением для многих задач. Так как база данных SQLite по сути своей – обычные файлы, нет ни какой необходимости в дополнительных средствах администрирования требующих много времени на создание сложной структуры прав доступа для защиты пользовательских баз данных. Всё это уже автоматически поддерживается организацией прав доступа в самой файловой системе, это также подразумевает (в области ограничения пространства), что не требуется ни каких специальных правил для отслеживания заполнения дискового пространства пользователем. Преимущество для пользователей в том, что есть возможность создать такое количество баз данных, какое они себе пожелают и поддерживать полный контроль над всеми этими базами данных. Факт, что база данных – это единственный файл, делает её легко переносимой. SQLite и устраняет необходимость в запуске дополнительных служебных процессов, которые могли бы занимать значительное количество памяти и других ресурсов, даже в случае умеренного использования базы данных [45].

2.2.2 Проектирование базы данных

База данных состоит из шести таблиц: «Маршруты», «Карта маршрутов» «Цели», «Локации», «Типы» и «Карта типов».

Более подробно взаимосвязь между элементами базы данных представлена на рис. 2.7.

Рисунок 2.7 – Модель базы данных информационной системы

Таблица «Цели» связана с таблицей «Маршруты» ключевым полем «ID маршрута». Каждая цель уникальна и связана только с одним маршрутом.

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

Таблицы «Цели» и «Локации» связаны через ключевое поле «ID локации». Каждая локация уникальна, но может быть привязана к множеству целей.

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

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