Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:

системная автоматизация

.pdf
Скачиваний:
44
Добавлен:
16.02.2016
Размер:
6.21 Mб
Скачать

в эксплуатацию за минимальные сроки (порядка 1 недели). Кардинальным моментом является оценка функциональных

возможностей системы. Выполнение основных операций на каждом складе имеет свои индивидуальные особенности. Это может касаться форм хранения товаров (в контейнерах, в ячейках, напольное и др.), методов приема и отгрузки (например, взвешивание товара при приеме), состава и форм сопроводительных документов и т. д. Для коммерческих складов должна быть предусмотрена возможность хранения информации о владельцах товаров. Если приобретенную систему удастся адаптировать под требования вашего конкретного склада, вы сможете ею пользоваться, хотя возможно, не самым эффективным образом. В противном случае затраты будут неоправданными. Современные программные системы автоматизации работы складов должны быть настраиваемыми (кастомизируемыми) под требования конкретного пользователя. Кастомизация может достигаться путем настройки системы на основе предусмотренных в ней средств. Примером может служить создание форм документов, отвечающих принятой у пользователя технологии, а для коммерческих складов – форм сопроводительных документов, отвечающих требованиям заказчиков (причем у каждого заказчика могут быть свои требования к этим документам). Подобные настройки предусматриваются практически любой системой. Другая форма кастомизации – это доработка системы под конкретные требования заказчика. Она выполняется разработчиком за небольшую дополнительную плату.

Выбирая программную систему автоматизации склада, нельзя упускать из виду основные вопросы, связанные с ее эксплуатацией:

Требуется ли специально обученный персонал для поддержки работы системы?

Необходимо ли для пользователей системы знание каких-либо дополнительных программных средств (например, таких программ, как MS Word, Excel и др.)?

Осуществляет ли внедряемая в России система диалог с пользователем на русском языке?

Системы учета товаров

Системы учета товаров, называемые также инвенторными системами, призваны предоставлять работникам склада полную и достоверную

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

11

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

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

оперативно позволяют сотрудникам “видеть” весь склад и принимать правильные решения,

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

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

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

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

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

12

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

Состав книги

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

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

какие возможности они предоставляют различным участникам складского бизнеса,

как в системах автоматизации используются переносные устройства коммуникации (радиотерминалы и Batch терминалы) при выполнении складских операций,

как выполняется кастомизация (на конкретных примерах),

как работают Web-базированные системы автоматизации складов, обеспечивающие доступ через интернет.

Книга состоит и четырех глав.

Глава 1 содержит описание основных понятий складского бизнеса с

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

идиапазон поддерживаемых температур.

Вглаве детально описываются сущности, используемые в складских

13

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

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

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

Глава 3 посвящена описанию системы CoreIMS Enterprise Edition (CoreIMS EE), которая является развитием CoreIMS и обеспечивает возможность выполнения складских операций через интернет.

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

ивыгоды от ее использования.

Книга содержит большое количество иллюстраций. Представление системных функций сопровождается примерами экранных и отчетных форм. Описание основных понятий (товар, склад и др.), а также складских процессов иллюстрируется с помощью диаграмм на языке UML [6]. Читатель, знакомый с UML, или желающий разобраться в диаграммах “на месте” (а они весьма просты и легко понимаемы даже без предварительной подготовки), может сразу перейти к главе 1. Ниже приводится краткое описание используемых в книге диаграмм UML.

Элементы языка UML

UML – это Унифицированный язык моделирования для описания, визуализации, конструирования и документирования систем, в которых большая роль принадлежит

14

программному обеспечению [6]. Язык создан по запросу OMG - Object Management Group – консорциума поставщиков объектных технологий, ответственного за внедрение стандартов в этой области. В 1997 г. UML утвержден OMG в качестве стандарта представления объектноориентированных моделей. В настоящее время он широко распространен во всем мире и поддерживается практически всеми инструментальными средствами визуального моделирования.

В языке UML определен набор диаграмм и базовая нотация, что позволяет представлять модели различных систем в удобном для человека графическом виде. В этой книге используются три вида диаграмм – классов, деятельностей и вариантов использования.

На диаграммах классов (см., например, рис. 1.5, 4.12) показываются классы и отношения между ними. В контексте данной книги классы – это основные сущности рассматриваемой предметной области. Класс на диаграмме показывается в виде прямоугольника, разделенного на 3 области. В верхней содержится имя сущности, в средней – имена атрибутов (свойств) сущности, в нижней – названия операций – услуг, предоставляемых объектами этого класса. На рис. 4.12 показано, что сущность Палета имеет атрибуты Тип палеты и штрихкод. Это означает, что на складе могут использоваться палеты разных типов и каждая палета может быть помечена своим штрихкодом. На той же диаграмме имеется класс Склад, содержащий операцию Схема склада. Услуга, предоставляемая этой операцией, заключается в выводе на экран топологической схемы склада.

Сущности на диаграммах классов могут быть связаны различными отношениями. Отношение обобщения (“от частного к общему”), показываемое стрелкой в виде треугольника, означает, что сущность, из которой стрелка исходит, является разновидностью сущности, на которую она указывает. Обратившись к рис. 1.5, мы видим, что Комплект является разновидностью Товара, то есть, Комплект обладает всеми свойствами Товара, но может иметь и дополнительные свойства. Там же показано, что есть две разновидности Заказа – Заказ на поставку и Заказ на отгрузку.

Отношение вида “целое – часть” показывается в виде линии с ромбом на конце со стороны сущности, которая включает другую. На рис. 4.12 отношения такого вида соединяют сущность Склад с сущностями Ячейка и Зоны склада, то есть последние являются частями склада.

Все остальные отношения на диаграммах классов, приведенных в этой книге, являются ассоциациями. Они показывают, что две сущности логически связаны. Например, ассоциация между классами Ячейка и Палета на рис. 4.12 означает, что для каждой конкретной ячейки склада программная система должна уметь находить все палеты, которые в ней хранятся, для каждой конкретной палеты – ячейку (единственную), где она находится. С большой долей условности можно считать, что каждой ассоциации в системе соответствует программа, которая для исходного объекта находит все объекты другого класса, связанные с ним этой ассоциацией. Множественность ассоциации показывает, сколько для каждого объекта может быть найдено связанных с ним объектов. На рис. 4.2 показано отношение между классами Ячейка и Тип ячейки. Значение множественности 1 со стороны класса Тип ячейки означает, что любая ячейка на складе может принадлежать только одному типу, зато значение *, означающее любое число, начиная с нуля, проставленное со стороны сущности Ячейка, говорит о том, что может быть сколько угодно ячеек одного типа.

Диаграммы вариантов использования показывают, кто использует систему (актеры) и выполнение каких работ (вариантов использования) она должна обеспечивать. На рис. 1.12 приведена диаграмма вариантов использования системы автоматизации при приеме товаров. На диаграмме показаны два типа актеров – Сотрудник склада и Владелец товара – и виды выполняемых ими работ. Сотрудник склада может выполнять (используя систему) все показанные виды работ, Владелец же – только один (создание заказа на поставку).

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

15

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

Диаграммы деятельностей (см. рис. 1.13, 1.15, 1.17) представляют собой, по сути, обычные блок-схемы и служат для наглядного представления процессов. На такой диаграмме показываются деятельности и поток управления – переход от одной деятельности к другой. Диаграмма может включать ветвление по условию (обозначается в виде ромба) и распараллеливание потока управления (обозначается жирными прямыми линиями – см. рис. 1.13). Диаграмма деятельностей может быть разделена на вертикальные полосы, которые показывают, кто выполняет те или иные деятельности. Так, например, на рис. 1.15 в соответствующих полосах показаны действия пользователя и программной системы при выполнении операции перемещения товара.

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

кто работает с системой;

виды работ, выполняемых системой;

логическую структуру системы;

взаимодействие элементов системы при выполнении ею своих функций;

алгоритмы и правила выполнения действий;

обрабатываемые данные

и т. д.

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

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

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

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

Построенные модели уточняются и развиваются в течение всего жизненного цикла

16

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

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

17

Глава 1. Основные понятия

В данной главе выполняется бизнес-анализ складской деятельности. Мы рассмотрим основные сущности (объекты), которые используются в складском бизнесе, определим основные процессы, которые могут быть автоматизированы, а также актеров – пользователей складской системы.

В складской деятельности есть два основных класса объектовсущностей: склад и товар. Именно они играют ключевую роль в основных складских процессах – приеме, хранении и отгрузке товара. Все прочие сущности либо детализируют описание этих объектов, определяя отдельные свойства товара или склада (например, допустимый диапазон температур при хранении товара или зона отгрузки для склада), либо являются производными от этих понятий, определяющими способы группирования товаров, например, комплект товаров, палета, заказ на поставку.

Товар

Будем использовать термин «товары» как собирательное обозначение различных предметов, которые хранились, хранятся или могут храниться на складе. Товары могут иметь различную природу – продовольственные и промышленные, жидкие и сыпучие и т. д. Складские системы, которые рассматриваются в этой книге, призваны обеспечивать работу с различными складами, а следовательно – и с любыми товарами. Для этой цели в складской системе заводится основной класс – Товар1 . Объекты этого класса в программной системе содержат информацию о конкретных экземплярах товаров, например о хранимых в данный момент на складе.

Атрибуты Товара

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

Все основные складские процессы основываются на использовании текущих значений атрибутов Товаров, а результатом их выполнения

1Здесь и далее мы будем писать названия классов и объектов программной системы с заглавной буквы. Таким образом, «Товар» – это название класса, а «товар» - обиходное, неформальное понятие.

18

является изменение значений атрибутов Товаров. На входе такой процесс обязан найти Товары с заданными значениями атрибутов и проверить значения атрибутов, определяющих состояние Товара, на выходе – проверить изменения атрибутов и/или установить новые значения определенных атрибутов. Например, процесс инвентаризации в общем случае приводит к изменению количества Товара, процесс перемещения –

кизменению значения атрибута хранения Товара.

Вскладской деятельности используется информация не только о Товарах, хранимых на складе в текущий момент времени, но и об ожидаемых поступлениях Товара и об отправленных Товарах. Способ описания Товара через его атрибуты обеспечивает независимость от того, хранится ли Товар в данный момент, или ожидается его поступление на склад, или Товар отправлен Заказчику. Например, если Товар хранится в данный момент на складе, значения атрибутов, которые определяют место его хранения, будут ненулевыми и наоборот, если данного Товара на складе еще (уже) нет, эти атрибуты будут иметь пустые значения.

Вобщем случае каждый атрибут Товара – это отдельный класс. Можно выделить три вида атрибутов Товара – справочные, общие и индивидуальные.

Справочные атрибуты

Основные свойства товара, не зависящие от того, хранится он на складе или нет, называются справочными атрибутами товара. Для каждого конкретного Товара, с которым имеет дело склад, должен быть определен набор конкретных значений справочных атрибутов. Если у двух объектов Товаров отличаются значения хотя бы одного справочного атрибута, то они соответствуют разным товарам. В программной системе автоматизации деятельности склада обычно заводится объект «Справочник Товаров», где для каждого Товара хранится набор значений справочных атрибутов. Ниже приведены некоторые справочные атрибуты.

Наименование товара. Служит для идентификации Товара.

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

Стандартная единица измерения. Определяет, в каких единицах измеряется данный Товар по умолчанию.

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

Допустимый диапазон температур. Задает диапазон температур, при котором должен храниться Товар. Если температура хранения не попадает

19

в этот диапазон, товар может потерять свои свойства.

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

Сорт. Значение этого атрибута определяет сорт Товара. Один товар, но разных сортов – это разные Товары.

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

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

Общие атрибуты

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

Количество. Определяет количество хранимого на складе товара. Значение этого атрибута задается в стандартных для данного Товара единицах измерения (см. выше). Это значение может быть выражено, например, в штуках для штучного товара или в литрах – для жидкого.

Дата и время поступления товара на склад.

Срок годности товара. Определяет временной интервал, в течение которого Товар сохраняет свои свойства.

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

Партия товара. Задает принадлежность Товара той или иной партии. Владелец. Содержит информацию о владельце данного Товара. Поставщик. Содержит информацию о поставщике данного Товара. Делимость. Признак, определяющий возможность деления экземпляра

товара на части. Например, от рулона ковролина длиной 30 м можно отрезать указанные в заказе на отгрузку 10 м.

Объединяемость. Признак, обратный к предыдущему. Например, можно выполнить заказ на отгрузку 20 м ковролина, имея два рулона 15 и 5 м, а для электропровода это может быть запрещено.

20