Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Диплом, едрить его в корень.docx
Скачиваний:
0
Добавлен:
01.07.2025
Размер:
790.14 Кб
Скачать

2 Проектирование и реализация программного продукта

2.1 База данных программного продукта

Для функционирования приложения, была реализована база данных, содержащая следующие таблицы: “taball”, “tablenta”, “tabgigant”, “tabashan”.

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

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

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

Название поля

Тип

Описание

_id

integer

Уникальный номер поля

name

text

Название продукта

idex

integer

Номер категории товара

Таблица 2.1 – taball

  • Таблица 2.2 является шаблонной и на основе ее структуры возможно создание таблиц для нового магазина.

Таблица 2.2 – tablenta, tabgigant, tabashan

Название поля

Тип

Описание

_id

integer

Уникальный номер поля

idexitem

integer

Номер названия товара из таблицы taball

coast

integer

Цена товара

xpint

integer

Координата расположение товара по оси X

ypint

integer

Координата расположение товара по оси Y

presentitem

integer

Наличие товара в магазине

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

2.2 Структура приложения

Приложение “Помощник покупателя” включает в себя 6 Activity и 3 вспомогательных класса. Полную структуру можно увидеть на рисунки 2.1.

BoxAdapter

HelpActivity

MainActivity

ChooseActivity

SaveLoadActivity

MapActivity

OrderActivity

DB

Product

Рисунок 2.1 Структурная схема приложения “Помощник покупателя”.

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

  • Перейти в ChooseActivity и начать составлять новый список продуктов.

  • Перейти в SaveLoadActivity и загрузить уже готовый список.

  • Перейти в HelpActivity и получить справку по данному приложению.

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

HelpActivity – это Activity предоставляет помощь пользователям которые не знакомы с функционалом и особенностями данного приложения. На экран телефона будет выведена справка по работе с данным приложением. Так же из этого Activity, можно вернуться в главное меню (MainActivity).

SaveLoadActivity – это Activity позволит пользователю сохранять и загружать списки. Доступность функции загрузки или сохранения определяется тем, из какого Activity пришел сигнал Intent. Если это MainActivity, то будет доступна функция загрузки. Система проверит наличие сохранённых списков и в случае успешного поиска предложит загрузить один из них. Если пользователь захочет загрузить список, из памяти телефона будут считаны данные списка и сформирован Intent который переведет приложение в OrderActivity. Если сигнал пришел из OrderActivity, то будет доступна функция сохранения списка. Поля уже занятые сохранениями будут закрыты для сохранения списка, но будет доступна кнопка удаления уже существующих списков. В случае сохранения списка, система автоматически вернет приложение в OrderActivity.

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

ChooseActivity – это Activity представляет собой первый этап формирования списка. Пользователь должен будет выбрать способ поиска товара. И после того как пользователь задаст фильтры поиска, система запросит данные из базы данных. После получения, данные от сортируются по заданному фильтру, и используя классы BoxAdapter и Product будет сформирован ListView и данные будут выведены на экран устройства.

После формирования ListView пользователю будет дана возможность складывать товары в корзину, тем самым формируя список. Когда корзина будет сформирована, пользователь сможет перейти к следующему Activity, а именно к OrderActivity или же вернуться в главное меню (MainActivity), но тогда список продуктов будет утерян, о чем будет сообщено пользователю в диалоговом окне.

OrderActivity – это Activity представляет собой второй этап составления списка. При получении данных из ChooseActivity или SaveLoadActivity, система обратиться к базе данных и загрузит данные по выбранным товарам, а именно цену и их наличие. На основе полученных данных, будет определен оптимальный магазин по максимальному количеству товаров в наличии и самой низкой цене товара. В случае если товара нет в магазине данные об этом будут выведены в отдельном ListView.

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

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

MapActivity – это Activity показывает на карте города, магазины выбранные пользователем. Так же на карте отмечается местоположение пользователя (для функционирования данной опции, нужно подключение к сети интернет или GPS). Из данного Activity можно вернуться в OrderActivity.

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

Product – является вспомогательным классом. В нем описывается структура элемента Product.

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