95652

Создание приложения «Помощник покупателя»

Дипломная

Информатика, кибернетика и программирование

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

Русский

2015-09-25

771.62 KB

4 чел.

Введение

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

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

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

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

1 Формирование требований к программному продукту

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

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

Для достижения данной цели, следует выполнить следующие пункты:

  1. Анализ аналогов на рынке – данный этап позволит оценить функционал уж имеющихся на рынке приложений, а так же выявить их достоинства и недостатки.
  2. Исследование предметной области – позволит собрать нужные данные для начала разработки.
  3. Формирование требований к разрабатываемому приложению – На основе полученных данных из первого и второго пункта, можно установить требования к функционалу приложения.
  4. Выбор средств разработки – данный пункт позволит проанализировать и выбрать возможные варианты платформ, среды разработки и языка программирования.
  5. Разработка приложения – результатом решения данного пункта, станет готовое приложение.

1.2 Анализ аналогов на рынке

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

Вследствие чего, мною был выбран ряд приложений, которые схожи по свойствам с данной задачей, такие как «Купи батон!», «Ol Shopping List» и «Купи меня».

1.2.1 Приложение «Купи батон!»

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

Плюсы:

  1.  Большая база данных с названиями продуктов.
  2.  Возможность указывать их количество.
  3.  Автоматически группирует позиции в списке.

Рисунок 1.1 – приложение «Купи батон!»

Минусы:

  1.  Нельзя указать цену продукта.
  2.  Нет информации о том, где можно приобрести данные товары.
  3.  Нет информации о том, сколько будут стоить данные продукты.

1.2.2 Приложение «Ol Shopping List»

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

Плюсы:

  1.  Возможность удалять уже купленные товары.
  2.  Гибкое составление списка, не зависящее от базы данных.
  3.  Возможность указать цену и количество.

Рисунок 1.2 – приложение «Ol Shopping List»

Минусы:

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

1.2.3 Приложение «Купи меня»

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

Плюсы:

  1.  Большая база данных.
  2.  Красочное оформление списка.
  3.  Возможность указать количество.
  4.  Возможность вычеркнуть купленные товары.

Рисунок 1.3 – приложение « Купи меня »

Минусы:

  1.  Нельзя указать цену продукта.
  2.  Нет информации о том, где можно приобрести данные товары.
  3. Нет информации о том, сколько будет стоить данные продукты.

1.2.4 Вывод

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

1.3 Исследование предметной области

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

Вследствие чего, были получены следующие входные данные:

  1.  Список продуктов
  2.  Местоположение товаров в магазине
  3.  Цены товаров
  4.  Местоположение магазинов

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

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

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

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

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

Возможность сразу определить местоположение магазинов и их адреса. Что позволит выбрать оптимальный магазин.

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

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

1.4 Формирование требований к разрабатываемому приложению

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

  1.  Возможность формировать список на основе базы данных       продуктов реального магазина
  2.  Приложение должно указывать какие товары есть в магазине, а каких нету.
  3.  Возможность редактировать полученный список (изменение количества выбранных продуктов, удаление элементов, добавление новых элементов).
  4.  Возможность сохранять и загружать списки.
  5.  Приложение должно указывать, ценны товаров и их общую стоимость.
  6.  Возможность выбирать различные магазины представление в приложении.
  7.  Приложение должно указывать на карте выбранные магазины в городе Новосибирске и их адреса.

1.5 Выбор средств разработки

На основе поставленных задач, мной была выбрана платформа Android, среда разработки Android Studio, язык программирования Java, реляционная СУБД SQLite.

Android – Операционная система для смартфонов, планшетов, электронных книг и других устройств. Основано на  ядре Linux.

Android Studio - это интегрированная среда разработки (IDE) для работы с платформой Android. Является бесплатной начиная с версии 0.1 и основано на программном обеспечении Intellij Idea. С 8 декабря 2014 Google признал эту платформу официальной средой разработки под Android.

Java – Объектно ориентированный язык программирования, который лежит в основе многих приложений и веб-сайтов. В частности, java используется для написания приложений для платформы Android, при этом программы компилируются в нестандартный байт-код, для использования их в виртуальной машине. Для такой компиляции используется дополнительный инструмент, а именно Software Development Kit (SDK).

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

SQLite – комплексная встраиваемая реляционная база данных. Существует большое количество привязок к другим языкам, таким как C++, Java и т.д. SQLite используется в Skype, Фреймворк Qt и в частности в Android API.

Поскольку данное приложение является мобильным, нужно было выбрать платформу, под которую будет написано приложение. Сейчас на рынке мобильных устройств существует три крупные мобильные платформы, это Android, IOS и Windows Phone.

Рисунок 1.4 – диаграмма доли платформ на мировом рынке на 2015 год.

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

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

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

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

После выбора платформы, нужно было выбрать среду разработки. Основными вариантами были Android Studio, Eclipse, Intellij Idea.

Причина выбора Android Studio заключается в неоспоримых плюсах, которые предоставляет данная среда разработки. В ней сразу интегрированы ряд функций, которые предоставляет Google, такие как “Map API” и “Google Play”, для работы с ними нужно получить ключ разработчика на официальном сайте Google. Так же Android Studio является бесплатным приложением, которое можно скачать вместе с SDK, который потребуется для работы в любой среде разработки. Ранее вместе с SDK шел Eclipse, но с определенного момента, он был заменен на Android Studio.

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

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

Далее следовало выбрать язык разработки. Поскольку работать в Android Studio можно только на языке программирования Java, то он и был использован в написании данного приложения. Так же Android Studio поддерживает встроенный язык работы с базами данных SQLite, который и будет использоваться для работы с БД.

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

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

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

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

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

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

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

Тип

Описание

_id

integer

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

name

text

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

idex

integer

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

Таблица 2.1 – taball

  1.  Таблица 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 представляет собой главное меню и предоставляет выбор дальнейшей работы с приложением, а именно:

  1. Перейти в ChooseActivity и начать составлять новый список продуктов.
  2. Перейти в SaveLoadActivity и загрузить уже готовый список.
  3. Перейти в 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 – в этом классе реализована база данных данного приложения. В ней формируются и заполняются таблицы. Так же к данному классу обращаются для получения данных из таблиц.

2.3 Руководство пользователя

2.3.1 Главное меню

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

Рисунок 2.2 “Главное меню”

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

Для создания нового списка пользователь должен нажать на кнопку “Создание списка”. При нажатии приложение отобразит на устройстве новое окно с созданием списка.

Для загрузки уже сохраненных ранее списков, следует нажать на кнопку “Загрузить готовый список”, данная кнопка отобразит на устройстве окно загрузки списков (Подробнее о загрузки списка, можно узнать из пункта 2.3.3).

Для получения помощи, пользователь может нажать на кнопку “Помощь”, данная кнопка отобразит на устройстве окно с кратким руководством пользователя (Подробнее можно узнать из пункта 2.3.2).  

2.3.2 Помощь

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

Рисунок 2.3 – “Помощь”

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

При нажатии на кнопку “Назад”, приложение выведет на экран предыдущие окно.

2.3.3 Загрузка списка

Окно “Загрузки списка”, позволит пользователю загрузить сохраненные в памяти списки, если такие есть. Пример данного окна приведен на рисунке 2.4.

Рисунок 2.4 – “Загрузка списков”, все ячейки сохранения пусты.

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

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

Рисунок 2.5 – “Загрузка списков”, с отображением найденных сохранений.

Ячейка, в которой было написано “Пустая ячейка”, будет заменена на текст, который соответствует названию сохранения. Так же будет доступна кнопка загрузки, при нажатии на которую будет загружен сохраненный список и на экране устройства отобразиться окно “Редактирования списка” (Подробнее можно узнать из пункта 2.3.5).

2.3.4 Создание списка

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

Рисунок 2.6 – “Создание списка”

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

Рисунок 2.7 – Выведены все доступные товары в базе данных.

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

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

После нажатия на кнопку “Поиск” в пункте “Поиск по категории”, на экран выведутся товары которые входят в заданную категорию, как показано на рисунке 2.8

Рисунок 2.8 – Вывод товаров по заданной категории.

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

После выбора всех продуктов, пользователь может нажать на кнопку “Корзина”, что бы перейти к окну редактирование списка (Подробнее можно узнать из пункта 2.3.5).

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

Рисунок 2.9 – Вывод сообщения о том, что в корзине нет товаров.

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

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

Рисунок 2.11 – Предупреждение об утрате данных при переходе.

2.3.5 Редактирование списка

На экране устройства будет, будет выведено окно редактирования списка, как показано на рисунке 2.12.

Рисунок 2.12 – “Редактирование списка”.

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

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

Рисунок 2.13 - Выбран магазин Гигант.

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

  1. Добавить 10 – Данное действие увеличит количество данного товара на десять штук. При этом будет проведен перерасчет общей цены.
  2. Добавить 1 – Данное действие аналогично предыдущему, за исключением того что будет увеличено количество данного товара на один.
  3. Удалить запись – Данное действие удалит товар из списка, при этом будет проведен перерасчет общей суммы товаров.
  4. Убрать 1 – Данное действие уменьшит количество товара на один и будет проведен перерасчет общей цены. Если количество товара уменьшиться до нуля, то данный товар будет удален.
  5. Убрать 10 – Данное действие аналогично предыдущему, за исключением того что, количество товара уменьшиться на десять.

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

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

При нажатии на кнопку “В главное меню”, на экране устройства будет показано предупреждение как на рисунке 2.11. В случае положительного ответа, на экране устройства будет отображаться окно главного меню.

Рисунок 2.14 – Контекстное меню, товаров в наличии.

Если пользователю нужно будет сохранить созданный список, ему следует нажать на кнопку “Сохранить”. При нажатии на экране устройства будет отображаться окно сохранения списка  (Подробнее можно узнать из пункта 2.3.6).

Когда пользователь окончательно определится с конфигурациями списка, следует нажать на кнопку “Показать на карте”. При нажатии на экране устройства будет отображаться окно карты (Подробнее можно узнать из пункта 2.3.7).

Рисунок 2.15 – Контекстное меню, отсутствующих товаров.

2.3.6 Сохранение списка

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

Для сохранения списка, следует ввести название сохранения в соответствующее поле. Если не ввести название или ввести слишком большое название, то будет выведено предупреждение, как показано на рисунке 2.17, о том что каждое сохранение должно иметь название и не должно превышать 20 символов. Так же запрещено  использовать название сохранения “0”, так как данное название зарезервировано системой, о чем и сообщит сообщение представленное на рисунке 2.18.

Рисунок 2.16 – “Сохранение”.

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

При нажатии на кнопку “Назад”, программа отобразит на экране устройства окно редактирования списка.

Рисунок 2.17 – Предупреждение о несоответствии в названии сохранения.

Рисунок 2.18 – Предупреждение о запрете использования названия “0”.

Рисунок 2.19 – Наличие сохранения “Список”.

2.3.7 Карта

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

Рисунок 2.20 – Карта, с маркерами магазинов и маркером пользователя.

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

Красные маркеры обозначают местоположение магазинов.

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

При нажатии на кнопку “Назад”. На экране устройства отобразиться окно редактирования списка.

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

Заключение

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

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

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

В итоге в приложении были реализованы ряд функций таких как:

  1. Работа со списками (Создание, хранение, удаление, загрузка и редактирование), данная функция в полной мере позволяет работать со списками и настраивать их под свои нужды.
  2. Работа с базой данных реальных магазинов. Данная функция позволит пользователям работать с реальными данными, а в следствии упрощает процесс выбора и покупки товаров.
  3. Карта города. Эта функция позволит найти нужный магазин, без помощи вспомогательных приложений.

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

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

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

Во-вторых, это ограниченная версия базы данных магазинов.

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

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

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


 

А также другие работы, которые могут Вас заинтересовать

30510. Определение иерархической и реляционной модели, их достоинства и недостатки. Основные операции реляционной алгебры. Общий процесс преобразования ER-диаграммы в реляционную схему 87.94 KB
  Пример табличной формы представления отношения Номер зачетной книжки Дисциплина Оценка C12298 Программирование 5 C1229891 Дискретная математика 4 C14407 Программирование 3 . Элементы отношения называют кортежами или записями. Каждый кортеж отношения соответствует одному экземпляру сущности определённого типа. Операции реляционной алгебры ВЫБОРКАНа входе используется одно отношение результат новое отношение построенное по той же схеме содержащее подмножество кортежей исходного отношения удовлетворяющих условию выборки.
30511. Структурированный язык запросов SQL. История создания языка SQL. Подмножество SQL - Data Definition Language (DDL). Модификация схем базы данных . Стандартные типы данных. Вычисляемые столбцы. Подмножество SQL - Data Query Language (DQL) 65.5 KB
  Модификация схем базы данных . Стандартные типы данных. Доска то что выделено курсивом устно Язык SQL имеет два основных компонента: язык DDL Dt Definition Lnguge предназначенный для определения структур базы данных; язык DML Dt Mnipultion Lnguge предназначенный для выборки и обновления данных. Для определения данных символьного типа используется следующий формат: CHRCTER [VRYING] [length] Битовые данные тип bit Битовый тип данных используется для определения битовых строк т.
30512. Синтаксис оператора SELECT. Обзор его подразделов (списка выборки, секций FROM, WHERE, GROUP BY, HAVING, OREDER BY).. Способы упорядочивания итогового набора в секции OREDER BY 23.79 KB
  SELECT селект оператор DML языка SQL возвращающий набор данных выборку из базы данных удовлетворяющих заданному условию. При формировании запроса SELECT пользователь описывает ожидаемый набор данных: его вид набор столбцов и его содержимое критерий попадания записи в набор группировка значений порядок вывода записей и т. Синтаксис оператора SELECT SELECT column_list FROM tble_nme [WHERE условие] [GROUP BY условие] [HVING условие] [ORDER BY условие] SELECT Ключевое слово которое сообщает базе данных о том что оператор является...
30513. Разделение ресурса 68.3 KB
  Способы решения проблемы гонок: Локальная копия Синхронизация Метод блокирующей переменной Метод строгого чередования Алгоритм Деккера Алгоритм Петерсона Комбинированный способ Локальная копия Самый простой способ решения копирование переменной x в локальную переменную. В общем виде алгоритм выглядит следующим образом: Поток: while stop { synchronizedSomeObject { {criticl_section} } } Метод блокирующей переменной Суть метода состоит в том что если значение этой переменной равно например 1 то ресурс занят другим...
30515. Средства синхронизации потоков в ОС Windows. Функции и объекты ожидания. Критические секции 25.71 KB
  При создании многопоточных приложений необходимо контролировать взаимодействие отдельных потоков. Большинство ошибок при работе с потоками возникает из-за того, что во время работы приложения различные потоки пытаются обратиться к одним и тем же данным. Для предотвращения подобной ситуации в ОС Windows (как впрочем и в других операционных системах) существуют средства синхронизации, которые позволяют контролировать доступ к разделяемым ресурсам.
30517. Понятие файловой системы. Логическая и физическая организация файловой системы FAT 37.17 KB
  В широком смысле понятие файловая система включает: совокупность всех файлов на диске наборы структур данных используемых для управления файлами такие например как каталоги файлов дескрипторы файлов таблицы распределения свободного и занятого пространства на диске комплекс системных программных средств реализующих управление файлами в частности: создание уничтожение чтение запись именование поиск и другие операции над файлами. Двоичные файлы не используют SCIIкоды они часто имеют сложную внутреннюю структуру например...
30518. Ключи криптосистемы. Жизненный цикл ключей. Требования к обеспечению безопасности жизненного цикла ключей. Управление ключами в криптографических системах 34.39 KB
  Методы разграничения доступа: Разграничение доступа по спискам; Использование матрицы установления полномочий; Разграничение доступа по уровням секретности и категориям; Парольное разграничение доступа.; управление сроком действия паролей их периодическая смена; ограничение доступа к файлу паролей; ограничение числа неудачных попыток входа в систему это затруднит применение метода грубой силы ; обучение пользователей; использование программных генераторов паролей такая программа основываясь на несложных правилах может...