Введение
Существенную роль в сфере торговли, в наше время, играют информационные системы, которые позволяют осуществлять автоматизирование бизнеспроцессов предприятия. Более того, в связи с пандемией COVID-19, во много раз увеличился спрос на интернет-торговлю. Существует большое количество готовых решений для автоматизации деятельности магазинов розничной торговли. В тоже время, обзор функционала готовых решений высвечивает некоторые проблемы [5]. Прогнозирование запасов — серьезная проблема в молодой сфере интернетторговли. Жизненно-важным вопросом является предвидение изменения спроса, тенденций маркетинга и предпочтений клиентов, чтобы избежать затоваривания склада или дефицита. Для решения этой проблемы логично использовать возможности анализа данных и инструментарий прогнозирования о продажах в динамике за прошлые периоды на основе искусственного интеллекта. Это позволит поддерживать баланс запасов и продаж, уменьшить риск дефицита. Рост популярности интернет-торговли за последние 5 лет, как показывают маркетинговые исследования, порождает проблему масштабируемости. Для того чтобы одновременно с расширением бизнеса обеспечить эффективную обработку возросших объемов информации и адаптировать при возросших требованиях клиентуры необходимые бизнес-процессы можно использовать несколько стратегий. Возможное решение, использующее нереляционные базы данных, части этих проблем было разработано и описано авторами данной статьи.
Цель данного исследования состоит в проектировании и реализации информационной системы на основе нереляционных баз данных для автоматизации работы сети магазинов.
Ниже описаны задачи, которые ставит данное исследование.
1. Анализ специфики бизнес-процессов сети магазинов розничной торговли.
2. Исследование существующих решений по автоматизированию работы пред приятий розничной торговли.
3. Концептуальное проектирование приложения.
4. Компьютерная реализация гетерогенной ИС.
5. Описание интерфейса разработанной ИС.
6. Тестирование разработанной ИС.
Материалы и методы
Методами исследования являются системный анализ процессов управления сетью магазинов в сфере розничной торговли и сравнительный анализ с уже существующими приложениями.
Технологиями и механизмами, применяемых в ИС, являются: использование библиотеки NextJS (на базе языка программирования JavaScript), разработка и проектирование базы данных NoSQL (MongoDB,иRedis).
Для обоснования актуальности разработки web-приложения рассмотрены преимущества и недостатки уже существующих платформ, решающих аналогичную задачу (табл. 1).| Характеристики продукта | 1С: Управление Торговлей | Frontol 5 | ШТРИХ-М: Торговое-Предприятие | S-market | АСТОР: Торговый Дом PROF |
|---|---|---|---|---|---|
| Универсальность | + | +/- | +/- | +/- | +/- |
| Поддержка | + | +/- | - | +/- | + |
| Быстродействие | - | - | - | - | - |
| Масштабируемость | - | - | - | - | - |
| Гибкость | - | - | - | - | - |
Из обзора видно, что даже наиболее популярные фирменные системы автоматизации для предприятий сферы розничной торговли имеют недостаточно высокое быстродействие и не являются легко масштабируемыми и гибкими. Все эти проблемы возникают из-за того, что существующие решения используют реляционные базы данных для хранения и обработки информации. Поэтому модернизация приложений в соответствии с требованиями сегодняшнего дня, такими как быстродействие, гибкость, масштабируемость является острой необходимостью в исследуемой сфере. Кроме того, все современные системы не являются кроссплатформенными, то есть они работают на ограниченном количестве операционных систем. Из этого следует, что существует высокая потребность в создании системы для сети магазинов, основанной на нереляционных базах данных [1,2].
Системный анализ бизнесу предполагает его рассмотрение как комплекса бизнес-процессов [3]. Применительно к деятельности розничного торгового предприятия в составе комплекса присутствуют следующие процессы:
- закупка товара;
- работа с оборудованием;
- обслуживание клиентов;
- бухгалтерский учет.
Результаты и обсуждение.
На рис. 1 представлена IDEF0 диаграмма для деятельности сети магазинов.
Рис. 1 — IDEF0 диаграмма деятельности сети магазинов
Декомпозиция контекстной IDEF0 диаграммы для деятельности сети розничной торговли позволяет представить наглядно динамику процессов и процедур предприятия розничной торговли. На рис. 2 представлен первый уровень декомпозиции контекстной диаграммы.
Рис. 2 — Декомпозиция контекстной IDEF0 диаграммы для деятельности сети розничной торговли
В качестве СУБД выбрана MongoDB. Это нереляционная СУБД построена на масштабируемой архитектуре, которая стала популярной среди разработчиков всех видов для разработки масштабируемых приложений с развивающимися схемами данных [2, 3]. Также эта СУБД является документно-ориентированной, что прекрасно подходит для ее применений в области розничной торговли.
Для того, чтобы повысить производительность системы и улучшить быстродействие была разработана архитектура «двух слоев», где первый слой получает данные напрямую из БД, а ко второму данные приходят из кэш. Лучше всего для хранения и обработки кэшированных данных подходит нереляционная СУБД Redis. На рисунке 3 представлена схема работы кэширования.
Рис. 3 — Схема кэширования
Операции создания, чтения, обновления и удаления(CRUD) осуществляются при помощи базы данных (MongoDB), к которой посредством HTTP запросов обращается приложение. Далее, как видно из рисунка, между сервисным слоем и базой данных существует слой кэширования (Redis): данные, получаемые из БД, параллельно сохраняются в Redis и при последующем обращении к данным (если ничего не изменилось) выгружаются из кэша. Таким образом, приложению не нужно постоянно обращаться за одними и теми же данными к БД, что увеличивает производительность приложение и улучшает пользовательский опыт (UserExperience).
ER-диаграмма (EntityRelationship) — это тип диаграммы, которая иллюстрирует как сущности (entities), такие как люди, продукты относятся друг к другу [1, 3]. Такие диаграммы чащи всего используются для проектирования и разработки реляционных баз данных. Но они также могут быть полезны и в проектировании нереляционных баз данных, например, таких как MongoDB.
Рис. 4 — Диаграмма сущностей
На рис. 4 можно видеть следующие сущности:
- Vendor (поставщик);
- Order (заказ у поставщика), который включает дату заказа, наименование, цену, которую заплатили за заказ, поставщика, магазин для которого был осуществлен заказ, номер платежа.
- CostType (тип расходов);
- Cost (расход) — объект который ссылается на один из типов расходов (обязательный и на закупки);
- Payment (платеж поставщику) — номер платежа и коллекция из продуктов, которые были куплены;
- Bill (обязательный платеж) включает в себя наименование и номер платежа;
- Store (магазин) хранит данные для инициации предприятия — наименование и местоположение магазина;
- Sale (продажа) -коллекция купленных продуктов, с ссылками на магазин и транзакцию;
- Transaction (транзакция) — данные о транзакциях совершенных при покупках в магазинах: дату проводки и сумму в рублях;
- Product (продукт) включает в себя наименования продукта, его номер и цену.
Использование MongoDB в качестве СУБД позволяет сделать приложение более гибким и дает возможность горизонтального роста данных. На рис. 5 видна форма добавление товара интерфейса приложения.
Рис. 5 — Форма добавления продукта
Из рис. 5 видно, что помимо основных полей ввода есть возможность добавления дополнительного. При нажатии на значок плюса, появляется дополнительное поле ввода (рис. 6). Такое поле можно добавить неограниченное число раз.
Рис. 6 — Дополнительное поле
Из рис. 6, можно видеть, что интерфейс приложения позволяет добавлять неограниченное количество дополнительных полей. Такая возможность является очень важной для системы автоматизирования работы магазинов и онлайн-магазинов, потому что данные, обрабатываемые такими системами, не являются однородными и стандартизируемыми. Например, в зависимости от сезонности могут меняться поля у продуктов питания. Также, такой функционал, позволяет расширить возможные варианты продукции и может быть удобен при интеграции с уже работающими системами.
Заключение
В результате проведенной работы был произведен системный анализ предметной области розничная торговля. На основе анализа различных решений для разработки НРБД были выбраны базы данных MongoDB (для хранения и обработки данных) и Redis (для осуществления кэширования). На основе анализа предметной области был выбрана модель данных — документно-ориентированная, так как при такой модели данных имеется возможность динамически менять поля элементов (например, продуктов) так как в области ритейла это является существенным фактором (у разных продуктов могут быть разные поля и это может меняться со временем).
Разработана не реляционная модель, спроектировано и реализовано webприложение для сети маленьких магазинов с использованием не реляционных баз данных как. гетерогенная информационная система, т. е. разработаны алгоритмы и структуры базы данных в выбранной среде разработки и интерфейс web приложения разработанной базы данных.
Так как приложение выполняет две разные группы функций (интерфейс для интернет-магазина и система управления бизнес-процессами сети магазинов), то оно было реализовано при помощи NextJS, таким образом получилось объединить код для пользовательского интерфейса и API в единое целое.
В результате, была разработано приложение, которое эффективно решает обе поставленные задачи, кроме того, созданное приложение может быть интегрировано в уже существующие программные решения клиента (за счет гибкости нереляционных баз данных и того факта, что оно основано на технологиях web).
Использование такого типа приложения является оправданным шагом для сети маленьких магазинов, так как такая архитектура упрощает и удешевляет разработку, а также делает работу более удобной и простой.
В рамках статьи невозможно рассмотреть все аспекты такой обширной информационной системы, как приложения для анализа, учета и управления бизнес-процессами в сфере розничной торговли. Поэтому, для спроектированной в данной работе системы есть множество возможных улучшений. Например, для удобства пользователей и более эффективного маркетинга можно интегрировать в приложение рекомендательную систему, основанную на машинном обучении. Такая система будет анализировать интересы и возможности пользователей, а также обстановку на рынке (сезонность, спрос) для более точных прогнозов и вспомогательных аналитических отчетов.
Для всех современных систем производительность является ключевым показателем. Современные web-приложения должны быстро запускаться и обрабатывать информацию на всех видах устройств. В данной статье была разработана архитектура приложения, использующая нереляционную базу данных Redis в качестве буфера для слоя кэширования. С помощью Chrome Developer Tools был проведен анализ производительности web-приложения с использованием слоя кэширования и без. Кэширование существенно уменьшает задержку при загрузке приложения. Более того, самый большой скачек в быстродействии наблюдается у страниц с самым большим объемом обрабатываемых данных — страниц продуктов. Быстродействие увеличивается более чем 35 раз по сравнению с загрузкой без кэширования.
Примечания
- Мартишин С. А., Симонов В. Л., Храпченко М. В. Базы данных. Практическое применение СУБД SQL и NoSQL-типа для проектирования информационных систем. Москва : Форум : ИНФРА-М, 2019. 368 с.
- Моделирование экономического развития региона на примере республик / З. У. Блягоз, Ю. С. Иващук, Н. П. Орлянская, В. А. Тешев // Политематический сетевой электронный научный журнал Кубанского государственного аграрного университета. 2013. № 91. С. 1409–1419.
- 10 наиболее распространенных проблем электронной коммерции и решений для онлайн-бизнеса в 2023 году. URL: https://www.simpleglobal.com/ru/10-most-common ecommerce-fulfillment-challenges-and-solutions-for-online-businesses-in-2023/ (дата обращения: 14.07.2024).
References
- Martyshyn S. A., Simonov V. L., Khrapchenko M. V. Databases. Practical application of SQL and NoSQL DBMS for designing information systems. Moscow, Forum: INFRA-M, 2019.P. 368.
- Modeling of regional economic development using the example of republics / Z. U. Blagoz, Yu. S. Ivashchuk, N. P. Orlyanskaya, V. A. Teshev // Polythematic network electronic scientific journal of the Kuban State Agrarian University. 2013. No. 91. Pp. 1409–1419.
- 10 Most Common Ecommerce Fulfillment Challenges and Solutions for Online Businesses in 2023. URL: https://www.simpleglobal.com/ru/10-most-common-ecommerce-fulfillmentchallenges-and-solutions-for-online-businesses-in-2023/ (accessed: 14.07.2024)
Конфликт интересов: авторы заявляют об отсутствии конфликта интересов.
Статья поступила в редакцию 18.07.2024; одобрена после рецензирования 27.07.2024; принята к публикации 05.08.2024.
The authors declare no conflicts of interests.
The paper was submitted 18.07.2024; approved after reviewing 27.07.2024; accepted for publication 05.08.2024.
© Н. П. Орлянская, В. А. Тешев, В. В. Ткаченко, 2024