Таблица 2.5
Наименование товара | Товар1 | . . . | Товар N |
Номер поставщика | номер1 | . . . | номерN |
4) Таким образом, для формирования оптимального заказа необходимо минимизировать функцию:
(2.1)
Минимизировать функцию 2.1 можно с помощью генетического алгоритма (обоснование см. в пункте 1.3.3).
При выборке оптимального заказа также могут учитываться неформальные факторы: качество товаров, срок годности и т.д. Поэтому необходимо разработать алгоритм генерации различных вариантов заказа, выбрать лучшие варианты. При этом окончательный выбор остается за руководителем.
Общая структура проекта
Вначале опишем общую структуру программы, реализующей работу системы поддержки принятия решений для формирования заказа на торгово-закупочном предприятии.
Структура программы "СППР для формирования заказа на торгово-закупочном предприятии" представлена на рисунке 2.1.
Любая система не может работать без наличия на ее входе входной информации. Поэтому, первой задачей дипломного проекта является разработка и реализация подсистемы базы входных данных, состоящей из двух подбаз: базы данных прайс-листов и базы данных листов заказа. В эти базы поступает информация в виде прайс-листов поставщиков и листов заказа заказчиков.
Информация на вход программы может приходить в различном виде, например в виде файлов различных форматов и структуры. Для того, чтобы занести ее в базы входных данных ее необходимо обработать: преобразовать файлы в единый формат и структуру. Это происходит в блоках, называемых "конвертирование", которые входят в подсистему конвертирования.
Обработанная информация затем заносится в базы входных данных.
Из базы входных данных информация поступает на вход подсистемы формирования заказа, где на основе полученных данных в результате взаимодействия пользователя и программы формируется оптимальный заказ на поставку товаров, и заказы, необходимые для оценки экономии за счет использования оптимального заказа.
Полученный заказ заносится в базу выходных данных, которая содержит в себе базу данных заказов и базу данных разнарядок на поставку и получение продукции. Сформированные заказы пользователь может просмотреть, отредактировать. Он может выбрать интересующий его заказ и просмотреть разнарядки на поставку и получение товаров этого заказа. Пользователь может вывести на принтер любой заказ и разнарядку.
Информация из базы данных прайс-листов может использоваться для просмотра пользователем состояния рынка: по отмеченным поставщикам и товарам выводится информация о том, предлагает ли каждый из поставщиков отмеченные товары и по каким ценам. Эта информация также может выводиться на принтер.
Информация из базы данных листов заказа может использоваться для анализа спроса на рынке: по каждому из отмеченных заказчиков выдается информация какие из отмеченных товаров ему необходимы и в каком количестве. Эта информация по желанию пользователя может быть выведена на печать.
Представление проекта в модульных диаграммах
Вследствие того, что выбранный инструмент разработки (Delphi) представляет собой среду, базирующуюся на объектно-ориентированной методологии построения программ, то целесообразно провести проектирование основных компонент программы в соответствие с этой методологией. Для описания общей структуры программы будем использовать диаграммы Гради Буча, а именно: высокоуровневые и обычные модульные диаграммы.
На рисунке 2.2 представлена высокоуровневая модульная диаграмма всего проекта – СППР для формирования заказа на торгово-закупочном предприятии.
|
В функции СППР для формирования заказа на торгово-закупочном предприятии входит решение следующих подзадач:
1. ввод и обработка входных данных системы : прайс-листов поставщиков, листов заказа заказчиков;
2. формирование на основе введенных данных общего заказа поставщикам по одному из выбранных пользователем методов : по минимальным ценам, по максимальным ценам, на одно предприятие, генетический алгоритм по минимальной стоимости заказа и поставки; формирование разнарядок на поставку и получение товаров по сформированному заказу.
3. просмотр состояния рынка и анализ спроса на рынке;
4. вывод на экран и на принтер разнарядок на поставку и на получение товаров;
5. сравнение результатов применения различных методов формирования заказа на столбчатой диаграмме итоговых стоимостей и скидок.
Для реализации этих функций система включает в себя и использует подсистему конвертирования и наполнения базы входных данных (подзадача 1), подсистему формирования заказов на товары (подзадача 2) и базу данных, которая используется для хранения входных и выходных данных системы, поставляемых подсистемами, а также используется подсистемой конвертирования и наполнения базы входных данных (см. п. 2.3.4).
Детализируем систему и ее подсистемы, представив их на модульных диаграммах, где стрелками между модулями обозначается отношение видимости и использования модуля, к которому направлена стрелка, модулем от которого она исходит.
На рисунке 2.3 представлена модульная диаграмма СППР для формирования заказа на торгово-закупочном предприятии (обозначим ее СППР).
Главный модуль (СППР) по сути является модулем, в котором происходят вызовы подпрограмм и использование результатов работы других модулей, выполняющих необходимые в данный момент действия. Этот модуль связан с главной формой проекта, которая появляется после запуска программы.
Модули "Ввод входных данных" и "Работа со справочниками" отвечают за введение данных, необходимых для решения основной задачи системы, реализуемого в подсистеме формирования заказов на товары – и решения остальных подзадач, которые представлены на рисунке 2.3.