Автоматизация мониторинга изменения цен на определенные товары на выбранных веб-ресурсах является довольно актуальной задачей для современного потребителя [1]. Количество ресурсов, предлагающих онлайн-продажи, и разброс цен на один и тот же товар требуют от обычного покупателя серьезных временных затрат на поиск необходимого товара по минимальной цене, что является непозволительной роскошью в наше время. Для того чтобы сделать выгодную покупку, нужно иметь представление о том, как меняется цена. Поэтому разработка мобильного приложения, автоматизирующего упомянутые выше процессы и упрощающего поиск и мониторинг цен на определенный товар, позволит современному потребителю комфортнее и увереннее чувствовать себя в онлайн-шопинге. Мобильное приложение позволяет быстро получать информацию о нужной продукции, при этом позволяет отслеживать реальные изменения цен, которые могут остаться незамеченными при простом просмотре сайтов.
Проблема мониторинга и сортировки информации веб-ресурсов, необходимых рядовому пользователю, является актуальной на сегодняшний день, поэтому целью исследования было выбрано ее решение путем разработки мобильного приложения.
Материалы и методы исследования
Наиболее ценной информацией для пользователей сети является информация о цене товаров, так как в результате появления большого количества сайтов, предлагающих товары, они вынуждены конкурировать и постоянно менять цены за счет проведения различных акций, или просто устанавливая изначально цены ниже, чем у конкурентов (для этого им тоже нужно сначала проанализировать существующие цены на товар). При этом покупатели, как и продавцы, тоже конкурируют, так как тот, кто слишком поздно узнает (или не узнает вообще) о снижении цены, не сможет воспользоваться предложением и упустит выгоду. По этой причине инструмент, который позволяет просто и быстро получать информацию об оптимальной цене на товар на текущий момент, является чрезвычайно важным и нужным, причем как для покупателей, так и для продавцов, которые также должны устанавливать оптимальную цену.
Разрабатываемое программное обеспечение должно обеспечивать:
– повышение эффективности отслеживания изменения цен;
– снижение трудоемкости процесса получения информации об изменении цен на товары;
– уменьшение нерациональных затрат ресурсов и времени.
Самым простым и доступным способом мониторинга и сортировки информации веб-ресурсов является простой просмотр веб-страниц [2]. Но в силу того что ресурсов огромное количество и на каждом из них может находиться большое количество информации, обновление которой может произойти в любой момент, получить этим способом своевременно нужную информацию практически невозможно [3]. Следовательно, нужно использовать автоматизированные средства для получения информации.
Обычно на сайтах уже есть определенные средства, которые упрощают задачу доступа к информации, такие как поиск по сайту, по странице, сортировка, различные фильтры по категориям, популярности, цене [4]. Многие сайты позволяют пользователям регистрироваться, и после авторизации становится возможным добавление в избранное, желаемое и т.д., чтобы быстро отследить изменения информации о том или ином товаре.
На некоторых сайтах доступны уведомления об изменениях цены, поступлении товара в продажу [5]. Достаточно указать, например, почту или данные аккаунта в социальных сетях, и можно получить уведомление.
Но такие средства автоматизации не универсальны и целиком зависят от конкретного ресурса. При использовании средств поиска и сортировки на сайте невозможно реализовать дополнительные возможности и алгоритмы. По этой причине появились другие методы автоматизации.
При осуществлении выбора средств разработки необходимо учитывать большое количество факторов для того, чтобы сделать оптимальный выбор. С появлением мобильных операционных систем одной из наиболее простых и удобных форм доступа к информации стали мобильные приложения. Они позволяют с помощью приложения получать нужную информацию, кроме того, в отличие от информации, размещенной на сайтах, приложения могут уведомлять пользователя об изменениях информации [6].
Поэтому на сегодняшний день наиболее оптимальной формой отслеживания важной информации является мобильное приложение. Сегодня существует огромное количество различных программ и средств для разработки самых разных программных продуктов. Существует также большое количество систем и устройств, на которых потенциально должно будет работать создаваемое приложение. Учитывая тенденции к росту разнообразия как операционных систем, так и их версий, желательно использовать технологии по созданию кроссплатформенных технологий, которые при минимальных затратах времени и усилий позволят создать приложение, способное работать на различных платформах и устройствах [7]. Одним из таких решений является Xamarin.
Xamarin – это инструмент, используемый для кроссплатформенной разработки мобильных приложений, который позволяет инженерам использовать около 90 процентов кода на основных платформах [8; 9]. Будучи сравнительно новым инструментом, он основан на технологическом стеке Microsoft и уже насчитывает более 1,4 миллиона разработчиков.
Xamarin использует C#, дополненный .Net framework, для создания приложений для любой мобильной платформы. Таким образом, можно повторно использовать до 96 процентов исходного кода, ускоряя цикл разработки. Xamarin также не требует переключения между средами разработки: можно создавать все приложения Xamarin в Visual Studio, которая полностью заменила Xamarin Studio. Инструменты кроссплатформенной разработки предоставляются как встроенная часть IDE без дополнительных затрат [10].
Результаты исследования и их обсуждение
Разработанное мобильное приложение может быть использовано любыми пользователями, которые заинтересованы в получении информации об изменении цен на интересующие их продукты. Диаграмма деятельности интерфейса программы представлена на рис. 1.
Рис. 1. Диаграмма деятельности интерфейса программы
Пользователь осуществляет переход в раздел «Добавление товара», вводит необходимые данные. В случае ввода корректных данных в БД направляется запрос на добавление товара. Мобильное приложение выводит список товаров с учетом добавленного. Если данные введены некорректно, приложение возвращается к форме ввода данных о товаре. Диаграмма деятельности поиска информации о цене товара представлена на рис. 2.
Рис. 2. Диаграмма деятельности поиска информации о цене товара
При работе программы, для каждого добавленного товара, через определенные интервалы времени осуществляется запрос информации с сайта. Приложение загружает код страницы и осуществляет поиск цены на товар; если значение цены найдено, оно сравнивается с предыдущим сохраненным значением. Если значение изменилось, осуществляется запись последнего значения цены на текущую дату и проверка условий, заданных при настройке уведомлений, и, если согласно настройкам должно выводиться уведомление – оно выводится. Если сведений о цене не найдено, осуществляется вывод сообщения об ошибке. Контекстная диаграмма поиска информации о товарах представлена на рис. 3.
Рис. 3. Контекстная диаграмма поиска информации о товаре
Рис. 4. Декомпозиция блока поиска информации о товаре
Рис. 5. Декомпозиция блока поиска информации о товаре (продолжение)
Декомпозиция блока поиска информации о товаре представлена на рис. 4, 5.
Поиск элементов сайта с ценой продукта и загрузка в приложение осуществляется с помощью библиотеки HtmlAgilityPack. Функции этой библиотеки запускаются по таймеру, через определенные промежутки времени.
Выводы
Найти готовое приложение или сервис, которые бы удовлетворяли всем вышеперечисленным условиям и не включали лишний функционал или рекламу, практически невозможно, поэтому наиболее оптимальным путем решения поставленной задачи является собственная разработка приложения. Это позволит найти наиболее эффективное решение, с оптимальным функционалом.
В ходе исследования было разработано мобильное приложение для мониторинга и сортировки информации с веб-ресурсов. Данное мобильное приложение предназначено для упрощения и повышения эффективности отслеживания изменения цен товаров на сайтах. Разработанное программное обеспечение может использоваться пользователями как инструмент для отслеживания изменения цен на выбранные товары, для того чтобы выбрать момент, наиболее выгодный для их приобретения.