Объектно-ориентированный подход к построению информационных систем в логистике

Внедрение информационных технологий в технологические процессы планирования и управления автомобильным транспортом на сегодняшний день является одним из условий повышения эффективности управления Л С. Здесь требуется переход от традиционных, привычных методов планирования и управления к таким методам, где применение информационных технологий даст наиболее ощутимый эффект. Одним из вариантов является переход от последовательных технологий оперативного планирования работы ПС к объектно-ориентированным. Действительно, если взять пример одной из наиболее быстро-развивающихся сфер экономики — информационных технологий, то здесь резко возросшая потребность в программном обеспечении вызвала переход от методов процедурного написания программного кода к объектно-ориентированному программированию (ООП). Отличительной чертой ООП является не описание последовательности выполнения операторов, а анализ состояния объекта и выполнение в зависимости от его результата определенных действий[1].

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

Традиционно в ООА выделяют три этапа:

  • 1) построение информационной модели, абстрагирование реальных сущностей в терминах объектов и атрибутов (свойств);
  • 2) построение модели состояний для формализации жизненных циклов объектов и отражение этой модели на диаграммах и таблицах переходов; взаимодействие между объектами осуществляется путем передачи сообщений о происходящих с ними событиях;
  • 3) разработка модели процессов, в которой действия в моделях состояний расчленяются на фундаментальные и многократно используемые процессы (методы).

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

  • • метода неформального описания, в котором выделяются существительные и глаголы в описании предметной области (существительные рассматриваются как кандидаты для образования классов, а глаголы — как кандидаты в операциях над классами);
  • • структурного анализа, при котором на основе модели системы, представленной диаграммами потоков данных, выделяются внешние события и объекты, база данных, поток управления, преобразования потока управления; далее, на основе анализа потока данных и потока управления, выделяются классы и методы классов.

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

Предметная область ООА может быть формально описана совокупностью трех множеств: множества данных Х множества функциональных связей (задач, решаемых в ЛС) F; множества связей по определению (ограничений) R.

Модуль ООА должен настраиваться на конкретную предметную область путем определения множеств X, F и R и подключения соответствующего набора методов (подпрограмм анализа) М, как это показано на рис. 4.12.

Предметная область объектно-ориентированного анализа

Рис. 4.12. Предметная область объектно-ориентированного анализа

Элементы перечисленных множеств находятся в определенных отношениях между собой. Элемент множества задач F использует элементы множества данных X для передачи с учетом ограничений R аргументов связанному с задачей модулю М. Элементы множества связей либо связывают между собой пары данных, либо описывают некоторый предикат, аргументами которого служат элементы множества данных.

Распространение принципов ООА на планирование и управление ЛС позволяет использовать информацию о состоянии объектов управления на основе анализа событий. В зависимости от этого, инициируя выполнение тех или иных методов, можно изменять процесс функционирования системы, добиваясь оптимальных характеристик ее работы.

Основой ООП служит модель наследования, которая позволяет в иерархическом порядке «клонировать» классы, сохраняя общие и одновременно придавая им свои специфические черты. Таким образом, для описания объектов ЛС используется та или иная иерархия классов.

Класс — это шаблон или проект, в котором описаны характеристики, определяющие «поведение» объекта, который будет на нем основан. Принимая в качестве объектов ЛС такие понятия, как склад, автопоезд, перегон дороги, контейнер, мы подразумеваем информационную модель физического объекта, которая используется в процессе планирования и оперативного управления процессом доставки. Описание класса формируется с помощью набора событий, свойств и методов, присущих данному классу. В манипулировании этими тремя характеристиками и заключается управление будущими объектами.

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

Классификация системы классов приведена на рис. 4.13. Все классы делятся на следующие две группы:

  • 1) классы элементов управления — используются для моделирования объектов, которые могут генерировать управляющие воздействия в ЛС;
  • 2) классы контейнеров — используются для моделирования объектов с закрытой сложной структурой типа «черный ящик» (сгенерированные на основе классов контейнеров объекты содержат в себе произвольный набор элементов управления, которые обеспечивают требуемую функциональность).

С точки зрения представления объектов в модели ЛС все классы делятся еще на две группы:

  • 1) визуальные классы — используются для моделирования объектов, которые могут быть визуально отражены в модели при ее реализации в виде компьютерной программы (это терминалы, ПС, груз и т.п.);
  • 2) невизуальные классы — позволяют моделировать функциональные объекты, которые должны обеспечивать только выполнение определенных действий, например, учетная система, система поддержания запасов и т.п.

Использование системы классов при моделировании ЛС базируется на схеме, приведенной на рис. 4.14. На основе базовых классов ООА создается система базовых классов моделируемой ЛС с учетом особенностей ее структуры и функционирования. Базовые классы ООА не могут корректироваться для сохранения универсальности своих характеристик, которая обеспечивает возможность использовать их для любой ЛС. На основе базовых классов ЛС создается структура подклассов, достаточная для моделирования всех объектов и процессов в ЛС. Объекты ЛС могут создаваться только на основе подклассов, но не базовых классов ЛС.

Система классов в объектно-ориентированном анализе

Рис. 4.13. Система классов в объектно-ориентированном анализе

Схема формирования структуры классов для моделирования

Рис. 4.14. Схема формирования структуры классов для моделирования

логистических систем

Характеристики классов, подклассов и, следовательно, созданных на их основе объектов определяются их свойствами. Свойства можно разделить на группы, как это показано на рис. 4.15:

  • • незащищенные свойства могут изменяться во время функционирования ЛС (это может быть остаток топлива в баке ТС, время доставки товара в магазин и т.п.);
  • • защищенные свойства сохраняют свои значения независимо от изменения условий моделирования ЛС, например, размеры стандартных контейнеров и поддонов, ограничения грузоподъемности или вместимости ПС и т.д.;
  • • свойства могут принимать отдельные числовые значения, такие как производительность крана или вместимость склада;
  • • свойства могут хранить массивы значений, например массив производительностей постов погрузки/разгрузки терминала или массив длин дуг транспортной сети;
  • • свойства могут использоваться только при функционировании объекта — Run time (это может быть расход топлива ПС, состав транспортных документов и т.п.);
  • • свойства могут использоваться только при разработке объекта — Design time (это могут быть характеристики технологической системы сортировки товаров в распределительном центре и т.д.).
Деление свойств на группы

Рис. 4.15. Деление свойств на группы

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

Инкапсуляция — возможность объединения связанных фрагментов данных или процессов в отдельный модуль — контейнер. Это дает возможность скрыть внутренние характеристики объекта и использовать принцип создания объекта или их группы как черного ящика. Такой объект будет работать, не раскрывая своей внутренней структуры, обеспечивающей его функциональность. Например, терминал может состоять из нескольких объектов, характеристики которых неизменны для внешней среды. Тогда система управления перевозками имеет доступ только к внешним характеристикам терминала.

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

Набор событий для каждого класса будет характеризовать возможные состояния объекта данного класса. После этого можно определить набор методов, с помощью которых происходит воздействие на объект. Для типичного процесса ЛС пример классов и соответствующий им набор свойств, событий и методов приведен в табл. 4.6. В качестве типичного процесса Л С примем доставку груза потребителям с терминала.

Таблица 4.6

Объектная характеристика типичного процесса логистической системы

Класс

Свойство

Событие

Метод

Оптовый

склад

Название

Прибытие груза

Заказ авготран- спорта

Начато погрузки

Адрес

Завершение

погрузки

Подготовка партии груза

Условия выполнения погрузочно-разгрузочных работ

Готовность принять груз

Выполнение погрузочно-разгрузочных работ

Автомобиль

Модель

Движение с грузом

Планирование марш- рута движения

Вместимость

Выполнение погрузочно-разгрузочных работ

Тариф

Простой по техническим причинам

Подготовка документов

Заказчик

Название фирмы

Заявка на перевозку

Выставление счета

Вид перевозимого груза

Прием заявки

Платежные реквизиты

Оплата перевозки

Извещение о состоянии груза

Если спроецировать принципы ООП на технологию оперативного планирования перевозок, то в первую очередь необходимо выделить классы объектов, которые формируют различные события, характеризующие процесс доставки груза. Пример фрагмента иерархии классов для ЛС приведен на рис. 4.16.

При моделировании ЛС важной особенностью является отнесение объекта к группе активных или пассивных. Активные объекты могут самостоятельно генерировать определенный набор событий, например прибытие ПС на терминал. Пассивные объекты могут реагировать только на события, генерируемые извне. Пример разделения объектов ЛС на эти две группы приведен на рис. 4.17.

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

Пример фрагмента иерархии классов для типичного процесса

Рис. 4.16. Пример фрагмента иерархии классов для типичного процесса

логистической системы

Активные и пассивные объекты логистических систем

Рис. 4.17. Активные и пассивные объекты логистических систем

Например, для каждого объекта набор методов можно объединить в четыре группы:

  • 1) планирование и (или) подготовка объекта к выполнению каких-либо действий;
  • 2) выполнение действия;
  • 3) проверка завершенности действия и правильности его выполнения;
  • 4) документальное оформление действия.

В этом случае выполнение методов всех четырех групп составит завершенный цикл функционирования объекта (рис. 4.18).

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

Цикл работы объекта

Рис. 4.18. Цикл работы объекта

Пример схемы планирования и управления доставкой груза, основанной на принципах объектно-ориентированного подхода

Рис. 4.19. Пример схемы планирования и управления доставкой груза, основанной на принципах объектно-ориентированного подхода

Таким образом, использование принципов ООП обеспечивает:

  • • автоматизацию управления внешними бизнес-операциями между различными субъектами Л С;
  • • оптимизацию ЛС за счет параллельного выполнения отдельных процессов;
  • • достоверную информацию о состоянии системы в реальном масштабе времени.

  • [1] Горев А. Э. Visual FoxPro 5.0. Книга для программистов. М.: FoxTalk ; Эдель, 1997.
 
Посмотреть оригинал
< Пред   СОДЕРЖАНИЕ   ОРИГИНАЛ     След >