Введение
АО «Торговый дом «Перекресток» является дочерней компанией X5 Group, возникшей более 25 лет назад. X5 Group – это российская рознично-торговая компания, управляющая продуктовыми торговыми сетями «Пятёрочка», «Перекрёсток», дискаунтером «Чижик», а также цифровыми бизнесами «Vprok.ru Перекрёсток», 5Post, «Около» и медиаплатформой Food.ru. Доля по выручке на российском рынке продуктовой розницы - 12,8 %. Современные логистические процессы связаны с динамичными изменениями на рынке товаров и услуг, непрерывным развитием транспортной сети, расширением ассортимента и расширением взаимодействия с поставщиками и клиентами. Логистика нацелена на оптимальное управление потоками товаров и услуг от производителя до конечного потребителя. Этот процесс включает в себя организацию маркетинга, получение заказов, налаживание производства, хранение и разработку оптимальных транспортных маршрутов [2]. Проектирование реляционной базы данных начинается с создания концептуальной модели. Концептуальная модель данных представляет обобщенное представление данных в предметной области и не зависит от конкретной системы управления базами данных (СУБД). Она содержит условные обозначения и описания сущностей, атрибутов и связей. Главная цель концептуальной модели – полный учет требований пользователей к данным.
Методология
Разработка концептуальной модели включает следующие шаги: Создание сущностей – определение основных объектов, о которых будут храниться данные. Определение атрибутов для каждой сущности – указание свойств, которые будут храниться в каждой сущности. Определение первичных ключей – выбор атрибутов, которые однозначно идентифицируют записи в таблице сущности. Определение связей между сущностями – установление связей и зависимостей между различными сущностями. Первичный ключ (Primary Key) – это уникальный идентификатор, который однозначно определяет каждую запись в таблице базы данных (БД) для соответствующей сущности. Альтернативный ключ (Alternate Key) – это потенциальный ключ, который не стал первичным. Атрибуты альтернативных ключей могут быть выделены, и при создании схемы БД им будет назначен отдельный уникальный индекс. Связи между сущностями в концептуальной модели данных представляются линией, соединяющей сущности. На линии записывается содержание отношения, а алфавитно-цифровые обозначения указывают количественные соотношения между данными сущностями (кардинальные числа) [4]. Построенная концептуальная модель представлена на рисунке 1.
Результаты
Рисунок 1 – Концептуальная модель Таким образом, в результате анализа предметной области выделены сущности: «Единицы измерения», «Товары», «Хранение», «Отгрузка», «Склады», «Магазины», «Транспортные расходы». Данные сущности связаны следующим образом: «Единицы измерения» содержатся в «Товары», когда продукция привозится поставщиками на склад, то «Товары» переходят на хранение в «Хранение», «Хранение» содержит информацию о «Склады», во время отгрузки в магазины продукция из «Хранение» переходит в «Отгрузка», «Отгрузка» содержит информацию о «Магазины» и «Транспортные расходы» включает в себя «Склады» и «Магазины». После построения концептуальной модели необходимо построить логическую модель. Логическая модель данных – это модель данных логического уровня, не привязанная ни к какой конкретной СУБД Процесс создания логической модели включает: преобразование концептуальной модели в логическую; генерация внешних ключей; проверка целостности модели; определение правил поддержки ссылочной целостности; создание физических имен атрибутов сущностей. В результате была построена логическая модель, представленная на рисунке 2. Рисунок 2 – Логическая модель После построения логической модели необходимо построить физическую модель. Физическая модель данных строится на основе логической с учетом ограничений, накладываемых возможностями выбранной СУБД. Построенная физическая модель представлена на рисунке 3.
Результаты
Рисунок 3 – Физическая модель В результате разработки физической модели данных в качестве СУБД был выбран SQL Server. SQL Server и Microsoft Visual Studio обладают множеством интеграционных возможностей, что делает их совместное использование удобным при программировании. Вот несколько преимуществ использования SQL Server в качестве СУБД при программировании через Microsoft Visual Studio: Нативная поддержка: SQL Server является основным продуктом СУБД от Microsoft, и он тесно интегрирован с Microsoft Visual Studio. Visual Studio предоставляет инструменты и расширения для работы с SQL Server, такие как дизайнер баз данных, окно запросов, мастер создания таблиц и другие. Удобная разработка баз данных: в Visual Studio можно создавать, изменять и управлять базами данных SQL Server прямо из среды разработки. Он предоставляет интуитивный пользовательский интерфейс для создания таблиц, представлений, хранимых процедур и других объектов базы данных. Отладка запросов: Visual Studio позволяет отлаживать SQL-запросы, выполнять их пошагово, анализировать выполнение запросов и исследовать данные во время выполнения. Это удобно при оптимизации и отладке запросов базы данных. В целом, использование SQL Server как СУБД вместе с Microsoft Visual Studio упрощает разработку, управление и интеграцию баз данных в приложениях, разрабатываемых с использованием Visual Studio [3]. Модель реализации представлена в виде пользовательского интерфейса проектируемой системы (рисунок 4). Главное меню включает в себя следующие пункты: справочники; оптимизация; отгрузка; отчет. Рисунок 4 – Интерфейс главной формы Первый пункт главного меню информационной системы «Файл» позволяет закрыть приложение. Следующий пункт «Справочники» включает в себя такие справочники: «Продукция»; «Склады»; «Магазины»; «Транспортные расходы». Помимо функции перехода в другие разделы, главное меню отображает информацию о хранимой продукции на складе, которую можно редактировать с помощью кнопок «Добавить», «Обновить» и «Удалить». Редактировать данные о продукции можно в справочнике «Продукция». В разделе справочника «Транспортные расходы» можно узнать транспортные затраты при отгрузке от каждого склада в каждый магазин. Данную информацию сотрудник может актуализировать. Далее рассмотрим пользовательскую форму «Оптимизация», которая позволяет сотруднику рассчитать оптимальный план перевозок. Для начала пользователю необходимо указать вид продукции и выбрать сегодняшнюю дату. Форма выгрузки остатков на складах по виду продукции представлена на рисунке 5.
Обсуждение
Рисунок 5 – Пользовательская форма «Оптимизация» при выгрузке остатков Информация об остатке на складах по выбранной продукции выгружается в Excel при помощи кнопки «Занести информацию». После того, как выгружены заказы, поступившие от магазинов, а также остатки, пользователь может рассчитать оптимальный план перевозок при помощи кнопки «Оптимизировать». Расчет производится при помощи макроса в Excel для применения встроенной функции «Поиск решения» [1]. Для того чтобы получить информацию об оптимальной перевозке с учетом остатков на складах и потребности магазинов, а также транспортными затратами, необходимо нажать на кнопку «Считать оптимальный маршрут».
Обсуждение
После полученного оптимального плана перевозки, сотрудник переходит на пользовательскую форму «Отгрузка». В данную форму пользователь заносит данные по отгрузке продукции в магазины, на основе расчетов, полученных после считывания оптимального плана маршрута. Также есть специальная форма для получения отчета о прибыли и расходах по каждому виду продукции за определенный период.
Выводы
Таким образом, описанные объекты информационной системы отражают технологию работы с ней. Дальнейшим развитием информационной системы может быть реализовано через добавление новых функциональных возможностей в виде интеграции с внешними системами, добавление списка заказов, поступающих от магазинов, а также управления транспортным парком для учета свободных количеств машин при формировании оптимального плана грузоперевозок.