Статья: Моделирование бизнес-процессов в цифровую эпоху

Внимание! Если размещение файла нарушает Ваши авторские права, то обязательно сообщите нам

Санкт-Петербургский государственный университет

Моделирование бизнес-процессов в цифровую эпоху

А.Н. Терехов

Прогресс в сфере информационных техно- годня ИТ вовсе не являются вспомогатель- логий (ИТ) оказал огромное влияние на ным средством, а составляют базу актив- развитие экономики [Лонский, 2015]. Се- ных производственных процессов. История создания автоматических систем управления (АСУ) насчитывает уже много десятилетий, но реальные успехи не столь многочисленны. На наш взгляд, основная часть проблем была связана с недостаточным уровнем формализации производственных процессов, что давало большой простор волюнтаристским решениям. Существует необходимость в создании средств формального описания производственных процессов, выраженных в цифровой, т. е. доступной компьютерам, форме.

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

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

В рамках утвержденной российским правительством программы цифровой экономики поставлено множество различных задач, среди них -- автоматизация производства [Плотников, 2018]. В данной области выделяют различные направления деятельности, к примеру, графическое представление производственных процессов, что подразумевает описание некой совокупности действий в виде одной или нескольких диаграмм [Alotaibi, 2017]. Для этих целей популярно использование международного стандарта BPMN (Business Process Model and Notation).

У диаграммного представления производственных процессов есть и другая крайность -- «картинка для начальника». На наш взгляд, визуализация не только должна решать задачу наглядности, но и служить средством формализованного контроля корректности процессов, в том числе проверки их исполнения, т. е. стать полноценной платформой проектирования с использованием диаграмм. Такие диаграммы доступны для понимания всем заинтересованными лицам и упрощают дальнейшую работу с процессами, так как именно визуализация способствует улучшению понимания и осмысления необходимых сведений [Шеер, 2000; Полякова, 2012; Афанасьев, 2014]. При этом средства визуализации процессов способны обеспечить возможность симуляции и автоматической генерации кода исполняемой программы [Vasilecas, Kalibatiene, Lavbic, 2016]. Соответственно, создание решения для визуализации процессов с возможностью последующей генерации кода является актуальной задачей не только для области ИТ, но и для экономической и управленческой сфер деятельности.

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

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

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

На кафедре системного программирования математико-механического факультета СПбГУ уже проводилась схожая работа по созданию средства для графического описания бизнес-процессов с возможностью автоматической генерации кода. Основываясь на предыдущем опыте, можно отметить, что использование малораспространенного, сложного или имеющего много ограничений инструментария может привести к проблемам с развитием и поддержкой продукта. Нами используется популярная среда разработки Eclipse -- бесплатная кроссплатформенная система, постоянно развивающаяся и охватывающая большое сообщество разработчиков, что облегчает решение возникающих проблем. Кроме того, важно учитывать различия между существующими лицензиями при использовании уже готовых продуктов. Например, General Public License (GPL) подразумевает сохранение статуса open- source для нового продукта, т. е. не разрешает создание на его основе коммерческих продуктов. Вместе с тем лицензия Apache 2.0 не предусматривает подобных требований, ограничивающих ее применение. В связи с этим в настоящей работе используются сторонние продукты, имеющие только эту лицензию.

МЕЖДУНАРОДНЫЙ СТАНДАРТ BPMN

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

объекты потока (flow objects);

данные (data);

зоны ответственности (swimlanes);

соединяющие элементы (connecting objects);

артефакты (artifacts).

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

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

С учетом особенностей лицензирования мы остановили свой выбор на редакторе Activiti-Designer, который является частью системы Activiti, предназначенной для моделирования бизнес-процессов в виде BPMN-диаграмм и имеющей открытый исходный код (распространяется в рамках лицензии Apache). Activiti обладает не всеми желаемыми и необходимыми функциями, поэтому потребовалось расширение возможностей редактора. Рисунок 2 демонстрирует пример диаграммы, выполненной в редакторе Activiti-Designer.

Рис. 1. Пример BPMN-диаграммы (управление выдачей банковских карт)

ДОРАБОТКА ГРАФИЧЕСКОГО РЕДАКТОРА

Удобство использования разработанного инструмента особенно важно для непрофессионалов в сфере ИТ.

В графический редактор Activiti нами были добавлены две основные функции: быстрый доступ и видимость элементов. 1. Быстрый доступ. Эта функция позволяет отображать на холсте элементы, не перемещая их из панели элементов. Пользователю предоставляется набор комбинаций «СТ^І, + M» и «СТ^І, + N (где M -- номер категории, в которой расположен элемент, а N -- номер элемента внутри категории). Таким образом, применяя какую-либо комбинацию клавиш из данного набора, соответствующий элемент добавляется на диаграмму в то место, где находится курсор мыши.

Рис. 2. Пример диаграммы в редакторе Activiti-Designer (скриншот окна Eclipse)

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

Пример использования данной функции приведен на рис. 3.

Рис. 3. Пример использования функции «Видимость элементов» примеры применения платформы

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

В последние годы на производственных предприятиях становится все больше станков с числовым программным управлением (ЧПУ) [Ловыгин, Теверовский, 2015], что значительно повышает автоматизацию производства и позволяет гарантировать качество продукции. Полная автоматизация таких процессов возможна за счет использования на ряду со станками с ЧПУ складских роботов (робот-тележка, робот- манипулятор и др.), основная задача которых -- передача необходимых материалов и инструментов от одного станка к другому. Система, состоящая из таких станков и роботов, образует гибкое автоматическое производство (ГАП).

Как программировать и контролировать работу ГАП? Необходимо не только задать всю последовательность действий, но и описать реакцию на сбойные ситуации, ведь из-за наличия случайного мусора или неровностей поверхности робот может сойти с пути или упасть, что способно вызвать нарушение корректной работы системы или даже поломку перевозимого груза.

Функционирование ГАП, включая работу станков с ЧПУ и роботов, может быть описано в виде BPMN-диаграмм (рис. 4). Кроме того, таким способом удобно задавать в том числе и ветки отказов роботов, что позволит быстро реагировать на проблемы и восстанавливать работу производства. Ситуации сбоев в имплементации процесса могут считываться при помощи различных сенсоров и камер [Yousfi et al., 2016].

Легкий документооборот

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

Данный процесс продемонстрирован в виде BPMN-диаграммы (рис. 5). Диаграмма позволит без особых усилий отслеживать нахождение документа и его текущий статус, так как его движение происходит по построенному графу. Важно учитывать, что во многих компаниях существует система иерархии; при помощи такого представления движения документа можно контролировать, чтобы доступ к нему имели только сотрудники с необходимыми полномочиями.

Управление поставками и рисками

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

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

Рис. 5. Пример реализации легкого документооборота в виде BPMN-диаграммы

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

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

Одна из ключевых задач настоящей статьи -- представление логической модели. Удобный и быстрый доступ к данным значительно упрощает последующие действия, связанные с генерацией исполняемой программы, а также разбором и анализом модели [Dos Santos et al., 2019].

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

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

Учитывая особенности требуемого графа, была выбрана определенная модель его представления. Рассмотрим подробнее полученную структуру.

Базовый тип

Каждый элемент графа имеет уникальный идентификатор (id) и дополнительную информацию об элементе (info). Параметр id задается при создании элемента и записывается в info. В info хранятся имя, тип и множество других компонентов элемента. Невозможно не заметить важности этих данных, и именно поэтому id и info легли в основу базового класса -- Baseltem. визуализация логический компьютерный код

Граф состоит из элементов трех типов: Container -- контейнер, Node -- узел, Edge -- ребро. Соответствующие им классы предоставляют всю необходимую информацию об элементах и их связях с другими элементами графа. Следует отметить, что хранение всей информации может быть избыточным и неэффективным, поэтому в качестве связей между элементами используется только id.

Источник: https://otherreferats.allbest.ru/download/1196504/