Автоматизация расчетов, связанных с подбором ассортимента для сети продовольственных магазинов

Товарные группы продовольственных товаров, принципы формирования ассортимента товаров в них. Эффективность использования площади торгового зала. Расчет плавающего эталона для групп охлажденного ассортимента. Схема системы Автоподбор и ее структура.

Рубрика Программирование, компьютеры и кибернетика
Вид дипломная работа
Язык русский
Дата добавления 20.07.2015
Размер файла 1,6 M

Отправить свою хорошую работу в базу знаний просто. Используйте форму, расположенную ниже

Студенты, аспиранты, молодые ученые, использующие базу знаний в своей учебе и работе, будут вам очень благодарны.

Select Case

Конструкция If… Then

Конструкция If… Then применяется, когда необходимо выполнить один или группу операторов в зависимости от некоторого условия. Синтаксис этой конструкции позволяет задавать ее в одной строке или в нескольких строках программы:

If условие Then выражение

If условие Then

выражение

End If

Обычно условие является простым сравнением, но оно может быть любым выражением с вычисляемым значением. Это значение интерпретируется как False (Ложь), если оно нулевое, а любое ненулевое рассматривается как True (Истина). Если условие истинно, то выполняются все выражения, стоящие после ключевого слова Then. Для условного выполнения одного оператора можно использовать как синтаксис для одной строки, так и синтаксис для нескольких строк (блоковую конструкцию) [3].

Следующие два оператора эквивалентны:

If anyDate < Now Then anyDate = Now

If anyDate < Now Then

anyDate = Now

End If

Заметим, что синтаксис оператора If… Then для одной строки не использует оператор End If. Чтобы выполнить последовательность операторов, если условие истинно, следует использовать блоковую конструкцию If… Then… End If.

If anyDate < Now Then

anyDate = Now

Timer. Enabled = False ' Запретить таймер.

End If

Если условие ложно, то операторы после ключевого слова Then не выполняется, а управление передается на следующую строку (или строку после оператора End If в блочной конструкции).

Конструкция If… Then… Else

определяет несколько блоков операторов, один из которых будет выполняться в зависимости от условия:

If условие1 Then

выражение1

ElseIf условие2 Then

выражение2

Else

выражение-n

End If

При выполнении сначала проверяется условие1. Если оно ложно, VBA проверяет следующее условие2 и т.д., пока не найдет истинного условия. Найдя его, VBA выполняет соответствующий блок операторов и затем передает управление инструкции, следующей за оператором End if. В данную конструкцию можно включить блок оператора Else, который VBA выполняет, если не выполнено ни одно из условий [16].

Конструкция If… Then… ElseIf в действительности всего лишь специальный случай конструкции If… Then… Else. Заметим, что в данной конструкции может быть любое число блоков ElseIf, или даже ни одного. Блок Else можно включать независимо от присутствия или, наоборот, отсутствия блоков ElseIf.

Рассмотрим пример вычисления функции

Sub пример1 ()

Dim a As Single, b As Single, x As Single

Dim z As Double

Call read («A1», a)

Call read («B1», b)

Let x = CSng (InputBox(«введи x», «Ввод данных», 0))

If x <= a Then

z = Sin(x)

ElseIf x >= b Then

z = Tan(x)

Else: z = Cos(x)

End If

Call out («C1», z)

End Sub

Заметим, что можно добавить любое число блоков Elself в конструкцию If… Then. Однако количество блоков Elself может стать настолько большим, что конструкция If… Then станет очень громоздкой и неудобной. В подобной ситуации следует применять другую конструкцию принятия решения - Select Case.

Конструкция Select Case

Конструкция Select Case является альтернативой конструкции If… Then… Else в случае выполнения блока, состоящего из большого набора операторов. Конструкция Select Case предоставляет возможность, похожую на возможность конструкции If… Then… Else, но в отличие от нее она делает код более читаемым при наличии нескольких вариантов выбора.

Конструкция Select Case работает с единственным проверяемым выражением, которое вычисляется один раз при входе в эту конструкцию. Затем VBA сравнивает полученный результат со значениями, задаваемыми в операторах Case конструкции. Если найдено совпадение, выполняется блок операторов, ассоциированный с оператором Case:

Select Case проверяемое_выражение

[Case список_выражений1

[блок_операторов1]]

[Case список_выражений2

[блок_операторов2]]

[Case Else

[блок_операторовn]]

End Select

Каждый список выражений является списком из одного или более значений. Если в одном списке больше одного значения, они отделяются запятыми. Каждый блок операторов содержит несколько операторов или ни одного. Если окажется, что вычисленному значению проверяемого выражения соответствуют значения из нескольких операторов Case, то выполняется блок операторов, ассоциированный с первым оператором Case из всех найденных соответствий. VBA выполняет блок операторов, ассоциированный с оператором Case Else (заметим, что он необязателен), если не найдено ни одного соответствия проверяемого значения выражения и значений из всех списков операторов Case [3].

Рассмотрим пример вычисления функции

Sub пример2 ()

Const pi2 = 1.57

Dim x As Single

Dim z As Double

Let x = CSng (InputBox(«введи x», «Ввод данных», 0))

Select Case x

Case - pi2

z = Sin(x)

Case 0

z = Cos(x)

Case pi2

z = Tan(x)

Case Else

MsgBox «Неверные исходные данные!»

Exit Sub

End Select

Call out («D1», z)

End Sub

Заметим, что конструкция Select Case вычисляет выражение только один раз при входе в нее, а в конструкции If… Then… Else вычисляются различные выражения для каждого оператора Elself. Конструкцию If… Then… Else можно заменить конструкцией Select Case, только если оператор If и каждый оператор Elself вычисляют одно и то же выражение.

Операторы цикла:

Циклы позволяют выполнить одну или несколько строк кода несколько раз. VBA поддерживает следующие циклы:

For…Next

For Each…Next

Do… Loop

Конструкция For… Next. Когда число повторений известно заранее, используют цикл For… Next. В цикле For используется переменная, называемая переменной цикла или счетчиком цикла, которая увеличивается или уменьшается на заданную величину при каждом повторении цикла. Синтаксис этой конструкции следующий:

For counter = start To end [Step increment]

операторы

Next [counter]

Параметры counter (счетчик), start (начало цикла), end (конец цикла) и increment (приращение) являются числовыми.

Примечание. Параметр increment может быть как положительным, так и отрицательным. Если он положителен, параметр start должен быть меньше или равен параметру end, иначе цикл не будет выполняться. Если параметр increment отрицателен, то параметр start должен быть больше или равен значению параметра end, чтобы выполнялось тело цикла. Если параметр Step не задан, то значение параметра increment по умолчанию равно 1.

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

1 Устанавливает значение переменной цикла counter в значение start.

2 Сравнивает значение переменной цикла counter и значение параметра end. Если переменная counter больше, VBA завершает выполнение цикла. (Если значение параметра increment отрицательно, то VBA прекращает выполнение цикла при условии, что значение переменной цикла counter меньше значения параметра end.)

1 Выполняет операторы тела цикла statements.

2 Увеличивает значение переменной цикла counter на 1 или на величину значения параметра increment, если он задан.

3 Повторяет шаги со 2 по 4.

Рассмотрим пример: Вычислить значение функции f(t)

при заданных a, b, n, если t изменяется от a до b с шагом Dt=(b-a)/(n-1).

Sub пример3 ()

Dim f() As Single

Dim a As Single, b As Single, t As Single, dt As Single

Dim i As Integer, n As Integer

Call read («a1», a): Call read («b1», b): Call read («c1», n)

ReDim f (1 To n - 1)

dt = (b - a) / (n - 1): t = a

Call out («a2», «i»): Call out («b2», «t»): Call out («c2», «f(t)»)

For i = 1 To n - 1

t = t + dt

If t <= -1 Then

f(i) = -1

ElseIf t > 1 Then

f(i) = 1

Else

f(i) = t

End If

Call out («a» & (2 + i), i): Call out («b» & (2 + i), t): Call out («c» & (2 + i), f(i))

Next i

End Sub

Конструкция For Each… Next

Цикл For Each… Next похож на цикл For… Next, но он повторяет группу операторов для каждого элемента из набора объектов или из массива, вместо повторения операторов заданное число раз. Он особенно полезен, когда неизвестно, сколько элементов содержится в наборе.

Синтаксис конструкции цикла For Each… Next таков:

For Each element In group

операторы

Next element

Следует помнить следующие ограничения при использовании цикла For Each… Next:

Для наборов параметр element может быть только переменной типа variant, общей переменной типа object или объектом, перечисленным в Object Browser

Для массивов параметр element может быть только переменной типа Variant

Нельзя использовать цикл For Each… Next с массивом, имеющим определенный пользователем тип, так как переменная типа variant не может содержать значение определенного пользователем типа

Конструкция Do…Loop

Цикл Do применяется для выполнения блока операторов неограниченное число раз. Существует несколько разновидностей конструкции Do… Loop, но каждая из них вычисляет выражение-условие, чтобы определить момент выхода из цикла. Как и в случае конструкции If… Then условие должно быть величиной или выражением, принимающими значение False (нуль) или True

(не нуль).

В следующей конструкции Do… Loop операторы выполняются до тех пор, пока значением условия является True (Истина):

Do While условие

операторы

Loop

Выполняя этот цикл, VBA сначала проверяет условие. Если условие ложно (False), он пропускает все операторы цикла. Если оно истинно (True), VBA выполняет операторы цикла, снова возвращается к оператору Do While и снова проверяет условие.

Следовательно, цикл, представленный данной конструкцией, может выполняться любое число раз, пока значением условия является не нуль или True (Истина). Отметим, что операторы тела цикла не выполняются ни разу, если при первой проверке условия оно оказывается ложным (False).

Рассмотрим пример: Вычислить сумму ряда с заданной точностью.

Sub пример4 ()

Dim e As Single, x As Single, s As Single

Dim m As Single, p As Single, i As Single

Call read («a1», x): Call read («b1», e)

s = 0: i = 1: m = 1: p = -1

Call out («a2», «i»): Call out («b2», «m»): Call out («c2», «s»)

Do While Abs(m) >= e

p = - p * x

m = p / i

s = s + m

Call out («a» & (2 + i), i): Call out («b» & (2 + i), Abs(m)): Call out («c» &

(2 + i), s)

i = i + 1

Loop

End Sub

Другая разновидность конструкции Do… Loop сначала выполняет операторы тела цикла, а затем проверяет условие после каждого выполнения. Эта разновидность гарантирует, что операторы тела цикла выполнятся по крайней мере один раз:

Do

операторы

Loop

While условие

Две другие разновидности конструкции цикла аналогичны предыдущим, за исключением того, что цикл выполняется, пока условие ложно (False):

Цикл не выполняется вообще или выполняется много раз:

Do Until условие

операторы Loop

Цикл выполняется по крайней мере один раз:

Do

операторы

Loop Until условие

Вложенные циклы:

Можно помещать структуры управления внутрь других структур управления (например, блок If… Then внутрь цикла For… Next). Говорят, что структура управления, помещенная внутрь другой структуры управления, является вложенной.

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

При вложении в цикл одного или несколько других циклов говорят о вложенных циклах, в которых различают внешние (охватывающие) и внутренние (вложенные) циклы.

Рассмотрим пример суммирования элементов Aij матрицы A (n, m) построчно.

Sub пример5 ()

Dim a() As Single, s() As Single

Dim n As Integer, m As Integer

Dim i As Integer, j As Integer

Call read («a1», n): Call read («b1», m)

ReDim a (1 To n, 1 To m), s (1 To n)

'Чтение матрицы

For i = 1 To n

For j = 1 To m

Call readcell (i + 1, j, a (i, j))

Next j

Next i

'Вычисление

For i = 1 To n

s(i) = 0

For j = 1 To m

s(i) = s(i) + a (i, j)

Next j

Call outcell (i + 1, m + 1, s(i))

Next i

End Sub

Заметим, что первый оператор Next закрывает внутренний цикл For, а последний оператор Next закрывает внешний цикл For. Точно так же и для вложенных операторов If, операторы End If автоматически применяются для закрытия ближайшего к нему оператора If. Вложенные структуры Do… Loop работают подобным же образом: самый дальний оператор Loop соответствует самому дальнему оператору Do.

При вводе / выводе элементов двумерного массива на рабочий лист Microsoft Excel удобно применять пользовательские процедуры ввода / вывода:

Sub readcell (i As Integer, j As Integer, val As Variant)

val = Лист1. Cells (i, j).Value

End Sub

Sub outcell (i As Integer, j As Integer, val As Variant)

Лист1. Cells (i, j).Value = val

End Sub

где I - номер строки, j - номер столбца рабочего листа.

Выход из структур управления

Оператор Exit позволяет выходить непосредственно из цикла For, цикла Do, процедуры Sub или процедуры Function. Синтаксис оператора Exit прост:

For counter = start To end [Step - increment]

[блок операторов]

[Exit For]

[блок операторов]

Next [counter]

Do [(While | Until) условие]

[блок операторов]

[Exit Do]

[блок операторов]

Loop

Exit For внутри цикла For и Exit Do внутри цикла Do могут появиться сколько угодно раз.

Оператор Exit Do работает со всеми разновидностями синтаксиса цикла Do.

Операторы Exit For и Exit Do применяются, если необходимо завершить цикл немедленно, не продолжая дальнейших итераций или не ожидая выполнения блока операторов в теле цикла.

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

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

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

При завершении цикла по концу набора переменная цикла имеет значение Nothing (Ничего), если она является переменной типа object (Объект), или значение Empty (Пусто), если она является переменной типа Variant [4].

2.2 Встроенные библиотеки JAMA, JExcelAPI

JAMA - это основной пакет линейной алгебры для JAVA. Он представляет пользователю классы для построения и работы с матрицами. Предназначается для обеспечения достаточной функциональностью в объемных задачах, созданный таким образом, чтобы быть понятным для непрофессионалов. Служит стандартным классом матрицы на JAVA [15].

JAMA состоит из шести классов JAVA: Matrix, CholeskyDecomposition, LUDecomposition, QRDecomposition, SingularValueDecomposition и EigenvalueDecomposition.

Умеет функции разложения:

- Разложение Холецкого симметричной, положительно определенныой матрицы

- LU разложение (Гаусса) прямоугольных матриц

- QR-разложение прямоугольной матрицы

- Разложения по собственным значениям обоих симметричной и несимметричной квадратных матриц

- Сингулярного разложения прямоугольной матрицы

Элементарные операции:

- Вычитание и сложение

- Умножение

- Скалярное умножение

- Поэлементное умножение

- Поэлементное деление

- Унарный минус

- Транспонирование

- Нормирование

Конструкция JAMA представляет собой компромисс между потребностью в чистых и элегантных методах объектно-ориентированного программирования и необходимостью обеспечения высокой производительности.

JExcelAPI

Java API Excel является основной библиотекой, с открытым исходным кодом Java API, которая позволяет разработчикам читать, писать и редактировать таблицы Excel динамически. Java разработчики могут читать таблицы Excel, изменять их с удобным и простым API, и записывать изменения в любой выходной ресурс (например, диск, HTTP, базу данных или любой сокет) [14].

Любая операционная система, которая может работать с виртуальной машиной Java (то есть, не только Windows) может использовать возможности библиотеки. Некоторые особенности:

1 Читает данные из Excel 95, 97, 2000, XP, 2003 книг;

2 Чтение и запись формул (Excel 97 и более поздних версий);

3 Создает электронные таблицы Excel 2000 формат;

4 Поддержка шрифтов, номера и даты форматирования [14];

5 Поддерживает затенение, границы, и окраску клеток;

6 Изменяет существующие листы;

7 Работает с разными языками, что позволяет обработку практически в любой стране, любого языка или кодировки (формулы в настоящее время поддерживается только на английском, французском, испанском и немецком языке, но другие могут быть добавлены в переводе);

8 Поддержка копирования диаграмм;

9 Поддерживает вставку и копирование изображения в электронные таблицы;

10 Поддерживает запись с Jakarta Commons Logging, log4j, JDK 1.4 Logger, и т.д.

3. Описание прикладного решения

После проведения анализа разработанного метода и построения принципов формирования эталона описанного ранее, было составлено техническое задание, а также была проведена автоматизация процесса расчёта

3.1 Описание сети продовольственных магазинов «Надежда»

Сеть продовольственных магазинов «Надежда» появилась на рынке в 2008 году. На сегодняшний день сеть насчитывает 540 торговых точек в центральном федеральном округе.

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

Ассортимент магазинов насчитывает порядка 2-3 тыс. наименований товаров. Компания сотрудничает более чем с 160 поставщиками. За свежестью товаров на прилавках в «Надежде» тщательно следят, регулярно обновляя ассортимент так, чтобы покупатель имел возможность приобрести только лучшие продукты по низким ценам.

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

3.2 Техническое задание

1 Наименование системы:

1.2 Полное наименование системы:

Система автоматического подбора ассортимента;

1.3 Краткое наименование системы:

Система Автоподбор;

2 Заказчик: Сеть продовольственных магазинов «Надежда»;

3 Назначение системы Автоподбор - эффективное использование торгового пространства при минимально возможных трудозатратах путем своевременного формирования ассортиментных матриц магазинов компании через подбор позиций из доступного ассортимента с учетом набора оборудования каждого магазина;

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

5 Объектом автоматизации являются бизнес-процессы, выполняемые в департаменте маркетинга;

6 Требования к системе: система Автоподбор должна быть простой в использовании, легко модифицируема. В качестве языка разработки может выступать язык VBA, а также могут использоваться различные JAVA библиотеки для обработки больших массивов данных. Прикладное решение должно работать в операционной системе Windows. Все вычисления должны проводиться на стороне клиента, за исключением получения входных данных из базы данных сервера;

7 Требования к квалификации персонала: конечному пользователю необходимо иметь базовые знания офисного пакета от компании Microsoft, в частности Microsoft Excel. Предполагается использование прикладного решения аналитиками, а так же менеджерами различных департаментов компании;

8 Другие требования: в качестве источника данных должна использоваться база данных Microsoft Access (*.mdb). Результат работы должен быть легко сохраняем в различных форматах, а также необходимо обеспечить свободный доступ к конечному результату;

9 Разработка системы должна осуществляться с использованием стандартных методологий функционального моделирования;

10 Для работы с БД должнен использоваться язык запросов SQL в рамках стандарта ANSI SQL-92;

11 Для разработки пользовательских интерфейсов и средств генерации отчетов (любых твердых копий) должны использоваться встроенные возможности ПО;

12 Должна прилагаться краткая инструкция к пользованию;

13 Прикладное решение должно работать при следующих технических характеристиках (Таблица 5):

Таблица 5 - Системные требования

Минимальные системные требования

Для сервера

Процессор

1000 MHz

3000 MHz или выше

Оперативная память

512 Мб RAM (могут быть ограничены некоторые возможности)

4 Гб RAM или выше

Видеоадаптер и монитор

VGA (640 x 480)

-

Свободное место на HDD

1.5 Гб

1.5 Тб или больше

Оптические накопители

CD-ROM (требуется для установки)

CD-ROM или DVD-ROM

Другие устройства

-

-

3.3 Схема системы Автоподбор

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

3.4 Разработанное прикладное решение

Прежде чем начать работу с программой, необходимо убедиться в доступности базы данных. База данных должна располагаться в следующем каталоге: E:\Расчет эталона\. Имя базы данных: Для расчета долей.mdb

Для того, чтобы начать работу с программой, необходимо запустить файл Шаблон сортировки долей_BIG (обновление кнопкой)_1.xls

На вкладке «Главная» (Рисунок 1) расположена кнопка «Начать работу в программе», по нажатию которой открывается главная форма приложения.

Рисунок 1 - Главная страница программы

Окно приложения содержит три вкладки (Рисунок 2):

1 Вкладка «Главная»;

2 Вкладка «О программе»;

3 Вкладка «Параметры»;

Рисунок 2 - Вкладки основной формы приложения

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

Вкладка «Главная» содержит основные элементы управления в приложении. Из этого окна виден тот функционал, который реализует данный программный продукт. Это основные этапы алгоритма формирования ассортимента.

Вкладка «Параметры» содержит основные настраиваемые параметры необходимые для расчета кластерного эталона.

Начинать корректно работу программы необходимо с выбора закладки «О программе», чтобы ознакомиться с инструкцией. Окно в данном случае будет выглядеть следующим образом (Рисунок 3)

После ознакомления с инструкцией, убедившись в доступности базы данных необходимо перейти во вкладку «Главная» и нажать кнопку «Получить данные» (Рисунок 4).

Рисунок 3 - Пункт меню «Получить данные»

После нажатия на кнопку «Получить данные» программа выполняет запрос (Рисунок 4) на подключение к базе данных Microsoft Access.

Рисунок 4 - Запрос на подключение к БД

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

В зависимости от даты выполнения запроса, определяется за какой период выбирать данные. Если это четвертый, пятый, шестой, седьмой, восьмой, девятый месяц года, то данные берутся за зимний период. Если это десятый, одиннадцатый, двенадцатый, первый, второй, третий месяцы-то берутся летние данные. Пример запроса (Рисунок 5)

Рисунок 5 - Запрос к БД (лето)

Данные, получаемые из БД заносятся во вкладки (Данные(i)), где I - порядковый номер страницы данных.

Поля таблицы следующие:

1 BRANCH - Филиал магазина;

2 ROOT_NAME - корневая группа;

3 LVL1_NAME - подгруппа уровня 1;

4 LVL2_NAME - подгруппа уровня 2;

5 LVL3_NAME - подгруппа уровня 3;

6 ART_ID - артикульный номер товарной позиции;

7 SUM-Оборот - суммарный оборот товарной позиции;

После импорта данных об обороте продукции можно переходить к следующему этапу. Для этого необходимо нажать на кнопку «Подготовить данные к использованию» (Рисунок 6)

Рисунок 6 - Пункт меню «Подготовить данные к использованию»

Где SKU1 - Суммарный оборот по Товарной группе 1 по всем филиалам по позиции с МАКСИМАЛЬНЫМ ОБОРОТОМ, SKU2 - суммарный оборот по Товарной группе 1 по всем филиалам по позиции с МАКСИМАЛЬНЫМ ОБОРОТОМ НЕ СЧИТАЯ SKU1, и т.д. SKU(N) - суммарный оборот позиции с минимальным оборотом для данной группы.

СКЮ - SKU (Stock Keeping Unit) [skew] - идентификатор товарной позиции, единица учёта запасов, складской номер, используемый в торговле для отслеживания статистики по реализованным товарам / услугам. Каждой продаваемой позиции, будь то товар, вариант товара, комплект товаров (продаваемых вместе), услуга или некий взнос, назначается свой SKU. SKU не всегда ассоциируется с физическим товаром, являясь скорее идентификатором сущности, представляемой к оплате. Срочная доставка, членские взносы, плата за соединение нематериальны, могут иметь свои SKU, если по ним выставляется счет.

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

Таким образом, преобразованные данные записываются в табличном виде во вкладке «Итоги» (Рисунок 7)

Рисунок 7 - Таблица «Итоги» после обработки данных

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

Для этого необходимо нажать кнопку «Настроить параметры», которая переключит пользователя на вкладку «ПАРАМЕТРЫ» (Рисунок 8)

Рисунок 8 - Вкладка «ПАРАМЕТРЫ»

При нажатии кнопки «КЛАСТЕРЫ» открывается вкладка Кластеры (рисунок 9) для настройки количества кластеров, соответствия кластера оборудованию, а также вместимости каждого кластера для каждого типа оборудования. Вместимость оборудования не рассчитывается программой, а определяется маркетинговой политикой компании (см. Фейсинг, выкладка).

В поле «кластеры» необходимо указать кластеры, для которых будет рассчитываться эталон (вместимость ТГ), в поле «Оборудование» указывается соответствующее оборудование, а в поле «кол-во позиций» требуется указать сколько всего СКЮ может располагаться в соответствующем кластере.

Рисунок 9 - Настройка кластеров, оборудования и вместимости

После того, как мы настроили необходимые нам кластеры, оборудование и вместимость, необходимо указать допустимое минимальное количество СКЮ для каждой товарной группы, которое обязательно должно присутствовать в ЛЮБОМ магазине сети.

Для этого во вкладке «ПАРАМЕТРЫ» необходимо нажать кнопку «МИНИМУМЫ ТГ», чтобы перейти на страницу настройки минимумов (Рисунок 10). В этом случае откроется файл СуперРасчет_Шаблон_tst.xls, в котором собраны все основные настройки для расчета эталона.

Рисунок 10 - Настройка минимумов для товарных групп

В данном окне определяются минимумы для каждой товарной группы, которая будет участвовать в расчете. Для этого необходимо указать требуемое количество СКЮ в поле «MIN».

Аналогично определяются максимумы для каждой товарной группы. Для их определения необходимо нажать кнопку «МАКСИМУМЫ ТГ» во вкладке «ПАРАМЕТРЫ». Нажатие этой кнопки откроет окно настройки максимумов (Рисунок 11)

Рисунок 11 - Настройка максимумов для товарных групп

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

После настройки максимумов следует обратить внимание на том, в каком оборудовании выставляется та или иная товарная группа. Для этого указывается соответствие группы и оборудования на форме «Расположение» (Рисунок 12). Чтобы активировать эту форму необходимо во вкладке «ПАРАМЕТРЫ» нажать кнопку «РАСПОЛОЖЕНИЕ ТГ».

В поле «Проверка» контролируется попадание группы в несколько типов оборудования, в этом случае индикатор напротив группы будет показывать число типов оборудования, отличное от «1».

Коэффициент заменяемости групп определяется во вкладке «КоефЗамен»

Связанность групп определяется во вкладке «Связи».

Доля рынка определяется во вкладке «Ращот», по формулам описанным в разработанном методе.

Рисунок 12 - Форма «Расположение» для настройки соответствия товарной группы и оборудования

После того как все параметры настроены, необходимо в форме приложения во вкладке «ПАРАМЕТРЫ» нажать кнопку «Сохранить» (Рисунок 13)

Приложение вернется во вкладку «Главная», где необходимо будет продолжить расчет. Чтобы это сделать, необходимо нажать кнопку «Рассчитать кластеры по оборудованию» (Рисунок 14).

Рисунок 13 - Кнопка «Сохранить»

Рисунок 14 - Кнопка «Рассчитать кластеры по оборудованию

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

1 Доля в потребительской корзине, занимаемая данной категорией

2 Доли на рынке, занимаемые позициями данной категории

3 Коэффициент заменяемости в данной категории

4 Наличие связанной категории и степень связи

5 Вместимость торгового оборудования, в котором размещается данная категория, и его наличие в магазине.

6 Корректировки вместимости в виде минимумов и максимумов товарных групп

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

После отработки алгоритма создадутся файлы вида СуперРасчёт_[имя кластера].xls и Результат [общая вместимость]_[имя кластера].xls, а также выведется окно уведомления об окончании алгоритма (Рисунок 15):

Рисунок 15 - Уведомление о завершении расчета кластеров

Чтобы удобно пользоваться рассчитанными данными необходимо перейти к следующему пункту, нажав кнопку «Сформировать сводку кластеров» (Рисунок 16)

Алгоритм ищет все файлы Результат [общая вместимость]_[имя кластера].xls в рабочем каталоге программы, ищет в них соответствие товарной группы и вместимости и переносит данные о вновь рассчитанном кластере во вкладку «Сводка кластеров» (Рисунок 18).

Рисунок 16 - Пункт «Сформировать сводку кластеров»

Рисунок 17 - Сводка кластеров успешна создана

Рисунок 18 - Отчет «Сводка кластеров»

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

Для того, чтобы определить необходимый ассортимент индивидуально для каждого магазина, необходимо добавить магазин, а также информацию об оборудовании в базу данных. Это можно сделать, нажав кнопку «Добавить данные по оборудованию» (Рисунок 19)

Рисунок 19 - Кнопка «Добавить данные по оборудованию»

В открывшемся окне (Рисунок 20) необходимо заполнить все необходимые поля:

1 Название магазина (должно быть уникальным);

2 Метраж полки стеллажной;

3 Количество горок;

4 Количество бонет для замороженной продукции;

5 Количество бонет для мороженого;

6 Наличие бонеты под охлажденную продукцию;

7 Наличие хлебного стеллажа;

8 Наличие гриля;

9 Наличие печи;

10 Наличие стеллажа под фрукты и овощи;

11 Наличие прикассового оборудования;

Рисунок 20 - Форма добавления данных по оборудованию магазина

После того, как вся информация введена, необходимо нажать кнопку «Добавить», в случае корректного заполнения и добавления появится соответствующее сообщение (рисунок 21)

Рисунок 21 - Данные успешно добавлены

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

Для этого необходимо открыть форму, нажав кнопку «Просмотреть информацию по магазину» (Рисунок 22).

Рисунок 22 - Кнопка «Просмотреть информацию по магазину»

Откроется окно «Кластеры магазина» (Рисунок 24) в котором можно выбрать интересующий нас магазин и просмотреть информацию о присвоенном ему кластеру, о количестве товарных позиций (СКЮ), которые необходимо поставить на каждый тип оборудования, об общем количестве товара, необходимого для оптимального наполнения потребительской корзины.

В окне «Кластеры магазина» имеется кнопка «ПОДРОБНЕЕ», которая становится доступной при выборе любого магазина. Эта кнопка служит для создания отчета «О вместимости ТГ магазина» (Рисунок 23), в котором содержится полная информация о том, сколько СКЮ каждой товарной группы надо поставлять на конкретный магазин. Эти данные передаются в департамент маркетинга для раскройки магазина, а также в департамент логистики, для оптимального наполнения складской площади.

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

Рисунок 23 - Отчет «О вместимости ТГ магазина»

Рисунок 24 - Форма «Кластеры магазина»

Заключение

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

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

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

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

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

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

Цель дипломной работы была достигнута, а также решены следующие задачи:

Проведен анализ проблем автоматизации расчетов, связанных с подбором ассортимента, а так же создан метод подбора ассортимента.

Кроме того проведен анализ среды разработки прикладного решения.

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

Прикладное решение имеет следующие функциональные возможности:

- Расчет кластерного эталона для сети продовольственных магазинов

- Генерация отчета «Сводка кластеров»

- Добавление новых магазинов в базу оборудования

- Генерация отчета «О вместимости ТГ магазина», в котором содержится полная информация по ассортименту необходимого магазина

Список использованных источников

1 Слепцова Л.Д. - Программирование на VBA в Microsoft Office 2010 - М.: Диалектика, 2010

2 Харис М. Программирование для Microsoft Excel 2000 за 21 день. - М.: Вильямс, 2000.

3 Могилев А.В., Пак Н.И., Хеннер Е.К. Информатика. - М.: ACADEMIA, 2000.

4 С.А. Малышев-Самоучитель VBA. Как это делается в Word, Excel, Access, 2001

5 Зиглар З. Искусство продаж. М.: - Попурри, 2007. - 412 с.

6 Дихтль Е., Хёршин Х. Практический маркетинг. - М.: Высшая школа, 1995

7 Ланкастер Дж., Джоббер Д. Продажи и управление продажами. - М.: ЮНИТИ, 2007. - 416 с.

8 Дейан А. Изучение рынка. М.: Олма-Пресс, 2007. - 362 с.

9 Дейян А., Троадек А. Стимулирование сбыта и реклама на месте продажи - М.: Прогресс, 2007. - 189 с.

10 Галицкий Е.Б. Методы маркетинговых исследований. - М.: Институт Фонда Общественное мнение, 2008. - 85 с.

11 Хисрик Р.Д. Торговля и менеджмент продаж М.: Финансы и статистика, 2008. - 215 с.

12 Шаповалов В.А. Управление маркетингом и маркетинговый анализ: учебное пособие/В.А. шаповалов. - Ростов н/Д: Феникс, 2008. - 345 с. - (Высшее образование)

Размещено на Allbest.ru


Подобные документы

  • Автоматизация ведения учета товаров в программе "1С: Предприятие". Учет товаров для фирмы, занимающейся куплей-продажей продовольственных товаров. Ввод сведений об организации. Настройка параметров учета. Оформление поступления в организацию товаров.

    дипломная работа [2,0 M], добавлен 02.07.2014

  • Характеристика магазина по реализации продовольственных товаров населению и его документооборот. Создание электронного документооборота на предприятии в MS Access, его преимущества. Формирование реляционной модели данных. Главная кнопочная форма.

    контрольная работа [34,5 K], добавлен 15.08.2009

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

    курсовая работа [1,2 M], добавлен 24.11.2013

  • Cоздание базы данных "Договора" для сети компьютерных магазинов "Вега" в целях автоматизации процессов учета поставки товаров, обеспечения уверенного поиска поставщиков (комплектующих) по заданным условиям. Организация работы базы данных в локальной сети.

    курсовая работа [1,9 M], добавлен 05.06.2013

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

    курсовая работа [309,9 K], добавлен 02.02.2011

  • Технико-экономическая характеристика интернет-магазина. Организационная структура управления. Программная архитектура информационной системы предприятия. Выбор стратегии автоматизации учета, программное обеспечение. Расчёт экономической эффективности.

    дипломная работа [2,1 M], добавлен 14.10.2017

  • Проектирование и реализация комплекса задач автоматизации учета движения товаров на складе в ЗАО "ГРЕЦ" и технико-экономические расчеты. Обоснование выбора программно-технических средств, блок-схема алгоритма. Описание программного обеспечения системы.

    дипломная работа [3,0 M], добавлен 05.12.2011

  • Программная реализация алгоритма составления каталога товаров из сети электронных магазинов с выявлением одинаковых, используя сравнение по изображениям. SURF-метод в основе алгоритма: поиск особых точек на изображении и составление их дескрипторов.

    дипломная работа [3,1 M], добавлен 27.06.2012

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

    дипломная работа [2,5 M], добавлен 14.02.2010

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

    курсовая работа [3,9 M], добавлен 29.05.2013

Работы в архивах красиво оформлены согласно требованиям ВУЗов и содержат рисунки, диаграммы, формулы и т.д.
PPT, PPTX и PDF-файлы представлены только в архивах.
Рекомендуем скачать работу.