Введение в профессию бизнес-аналитика. Отправная точка для приобретения опыта — страница 9 из 17

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

Модель процесса – это визуальное представление последовательного потока и логики управления набором взаимосвязанных мероприятий или действий.

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

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


Структурные модели – нотация IDEF

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

Для построения структурных моделей лучше всего подходит нотация IDEF (сокр. от англ. Integrated DEFinition) – стандартизированная система бизнес-моделирования, представленная целым семейством методик. Если вам интересно, можете отдельно почитать о семействе нотаций IDEF и месте в нем нотации IDEF0: с ней вам придется работать с вероятностью 99 %.

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

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

2. Управление (Control) – правила и лимиты, в которых существует процесс, или правила применения функции преобразования входов в выходы.

3. Механизм (Mechanism) – некоторый исполняющий ресурс. То, что фактически применяет к входу функцию для получения выхода.

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

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

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

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

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

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

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

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



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

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

• стрелки, входящие в левую сторону блока, – входы;

• стрелки, входящие в блок сверху, – управления;

• стрелки, покидающие процесс справа, – выходы;

• стрелки, подключенные к нижней стороне блока, – механизмы.

Ниже приведен пример описания функции в нотации IDEF0.



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

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

В IDEF0 с точки зрения декомпозиции как приема есть всего два типа диаграмм: диаграмма с одним функциональным блоком – контекстная диаграмма и диаграммы декомпозиции, на которых в зависимости от детализации и разделения на сферы или подпроцессы может быть один или множество функциональных блоков. Основное отличие контекстной (также называемой А‐0) диаграммы – в создаваемой модели бизнес-процесса она представляет наиболее укрупненное ви´дение исследуемой системы, организации или процесса. Диаграммы декомпозиции являются дочерними по отношению к этой диаграмме и всегда представляют собой более детализированный разрез, в котором рассматриваются составляющие процесса.

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

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

2. К каждому функциональному блоку рекомендуется приводить не более 2–3 входов, выходов, механизмов и управлений. В противном случае следует проверить, действительно ли все дуги соответствуют данному уровню детализации, и при необходимости создать дополнительный «слой» модели, включающий неподходящие дуги.

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

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

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

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


Пример контекстной диаграммы А‐0

Строительство металлургического завода

Пример диаграммы декомпозиции процесса «Изготовление детали»


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

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

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

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

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

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

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

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



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



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



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



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



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



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



Текст или описание – свободный текстовый комментарий к одному из элементов или диаграмме в целом без сноски.

Используя дополнительные элементы на диаграмме, не переусердствуйте. Минимализм нотации IDEF0 сделал ее популярной, а прозрачность и читаемость модели, которую создадите вы как бизнес-аналитик, сделает успешным вас.

Главные достоинства нотации IDEF0.

1. Возможность наглядно отразить функциональную структуру исследуемого объекта: действия, которые производятся, и связи между ними. Для анализа организации как системы становится легко проследить логику и взаимодействие ее процессов.

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

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

Слабые стороны нотации как инструмента для описания процесса.

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

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

3. Невозможно описать процесс как четкую последовательность действий и расширить модель достаточным количеством деталей, добавить контрольные точки процесса и т. д.

Модели потоков работ – нотация eEPC

Нотация eEPC – «расширенная цепочка процесса, управляемого событиями» – это одна из частей общей методологии ARIS, подход, используемый для представления организации с позиции состава ее бизнес-процессов.

eEPC (extended Event-driven Process Chain – «расширенная событийная процессная цепочка») – нотация, основывающаяся на использовании событий в качестве состояний процесса и функций в качестве шагов процесса. Процессно-событийная модель в нотации еЕРС предназначена для описания процессов, выполняемых в рамках одного подразделения, несколькими подразделениями или конкретными сотрудниками. Она описывает некий бизнес-процесс низкого уровня в формате workflow (последовательность задач).

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

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

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



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



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



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

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




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



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



Оператор «Исключающее ИЛИ» используетcя аналогично оператору «ИЛИ»: для обозначения слияния или ветвления функций и только для слияния событий, однако при помощи этого оператора указывается, что при выполнении процесса может быть использована только одна ветвь. Например, если завершение выполнения функции может инициировать только одно из событий в зависимости от условия, это обозначается с помощью оператора «Исключающее ИЛИ».


Нотация eEPC имеет приставку e – extended именно благодаря тому, что помимо основных элементов нотации, составляющих ее базу, аналитику предоставляется возможность использовать множество других элементов, которые могут пояснять и детализировать функции и события, описывающие основные шаги процесса. Часто набор элементов ограничен самим ПО, которое используется для изображения процесса, как, например, моделер ARIS Express. Но при использовании инструментов, не осуществляющих автоматизированных проверок на разрабатываемую модель и дающих возможность использовать любые элементы, аналитик сам может выбрать необходимое. Ниже представлены лишь некоторые элементы, которые чаще всего используются при описании процессов в eEPC, и их обозначения для модели БП.



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

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



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



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



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


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

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

Чередование «Событие – функция»

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

Именно поэтому основа моделирования в нотации eEPC при описании шагов бизнес-процесса – соблюдение последовательности «событие – функция». Каждая функция должна также завершаться событием, которое указывает новое состояние системы после выполнения функции, то есть фактически оно указывает результат выполнения функции.

Использование операторов

➤ Оператор «И»

Оператор «И» обозначает слияние или ветвление функций и событий в процессе. Поэтому по правилам он используется:

• после функции и перед событиями, если завершение выполнения функции должно инициировать одновременно несколько событий;

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

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

• после события и перед функциями, если одно событие может инициировать одновременное выполнение нескольких функций.

Таким образом, корректным будет использование оператора «И» в следующих случаях:



➤ Оператор «ИЛИ»

Оператор «ИЛИ» используется для обозначения слияния или ветвления функций и только для слияния событий. Соответственно, по правилам он будет использоваться:

• после функции и перед событиями, если завершение выполнения функции может инициировать одно или несколько событий;

• после функций и перед одиночным событием, если событие происходит после завершения выполнения одной или нескольких функций;

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

Оператор «ИЛИ» не может следовать после одиночного события.

Таким образом, корректно будет использовать оператор «ИЛИ» в следующих случаях:



➤ Оператор «Исключающее ИЛИ»

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

• за функцией и перед событиями, если завершение выполнения функции может инициировать только одно из событий в зависимости от какого-то условия;

• после функций и перед одиночным событием, если событие происходит сразу после завершения выполнения либо одной функции, либо другой;

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

Таким образом, корректно будет использовать оператор «исключающее ИЛИ» в подобных случаях:


Оператор «Исключающее ИЛИ» не может следовать после одиночного события

Дополнение модели процесса деталями

➤ Исполнители

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

1. Элементы субъектов должны соотноситься с помощью ненаправленного отношения (дуги) с конкретной функцией, которую они выполняют. Если используемая программа для моделирования позволяет выбрать определенный тип связи, необходимо выбрать связь типа «Выполняет».

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

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

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

5. Любые другие отношения или взаимодействия между субъектами на диаграмме бизнес-процесса в нотации eEPC изображаться не должны (обмен документами или данными, подчинение и т. д.).

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

➤ Данные и документы

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

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

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

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

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

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

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

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

➤ Другие дополнительные элементы

Помимо документов распространены следующие дополнительные элементы диаграмм eEPC.

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

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

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

Использование интерфейсов для связывания процессов

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

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

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



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

Пример части диаграммы бизнес-процесса в нотации eEPC на стр. 123.

Связь между бизнес-процессами в модели

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

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

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

Пример диаграммы процессов верхнего уровня.


Пример части диаграммы бизнес-процесса в нотации eEPC



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

Особенности построения модели

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

1. Использование большого количества дополнительных описательных элементов.

2. Отсутствие комментариев или описания диаграммы с легендой.

3. Множество возникающих при выполнении процесса ветвлений.

4. Необходимость формального использования логических операторов для следования правилам нотации.

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

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

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


Пример диаграммы функционального дерева


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

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

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

6. Для одного типа дополнительных элементов следует использовать один рекомендованный цвет.

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

Отличия eEPC от IDEF0, сравнительный анализ

Сравним две нотации моделирования бизнес-процессов организации – IDEF0 и eEPC, чтобы понять, что их объединяет, в чем их различия и для какой задачи анализа какая модель будет более наглядной.

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

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

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

В то же время на моделях в IDEF0 не предусмотрено использование символов, представляющих логику выполнения процесса: операторов «И», «ИЛИ», «Исключающее ИЛИ». Это существенно ограничивает возможность наполнить картину процесса четким ветвлением, которое позволяет отразить влияние различных условий на выполнение процесса. Процесс в IDEF0 выглядит очень плоско и зачастую трудно читается, если аналитик постарался отразить все связи и множественные контроли и механизмы, используемые разными функциями.

Еще одна слабая сторона IDEF0 по сравнению с eEPC – неочевидность последовательности выполнения функций. Их расположение на диаграммах, а также ограничение по количеству функциональных блоков на одной диаграмме заставляет аналитиков создавать множество диаграмм, изощряться с аллокацией блоков, что делает общую картину процесса менее наглядной. Легко читать процесс сверху вниз, как это доступно при моделировании в eEPC, не получится. Соответственно, и наглядно воспроизвести имитационное моделирование с помощью IDEF0-моделей будет невозможно.

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

Варианты для выбора нотаций IDEF или eEPC.

1. Если перед аналитиком стоит задача максимально детально проработать сложные и длинные процессы, то подойдет eEPC.

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

3. Если требуется описать лишь несколько несвязанных процессов, но сразу детально, то сделать это поможет eEPC.

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

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

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

Сильные и слабые стороны нотации eEPC

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

Преимущества нотации eEPC.

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

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

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

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

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

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

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

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

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

Типичные ошибки при построении модели в нотации eEPC

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

При подготовке к моделированию бизнес-процесса и проверке модели после ее создания необходимо помнить, что ошибки в модели приводят к непониманию реальной ситуации в организации и неспособности корректно определить возможности как процесса AS-IS, так и TO-BE.

Рассмотрим самые распространенные ошибки при работе в этой нотации.

Некорректное изображение самой цепочки работ.

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

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

Некорректное использование операторов.

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



2. Пропуск логических операторов в том случае, когда событие имеет две исходящие связи, или функция – две входящие связи. Это, пожалуй, самая распространенная ошибка, возникающая в ряде нотаций моделирования бизнес-процессов, где используются операторы. Для любых входящих или исходящих связей в случаях, когда их больше одной, обязательно использование одного из операторов: «И» (единственно допустимое, когда событие имеет две исходящие связи на функции), «ИЛИ», «Исключающее ИЛИ». К этой же ошибке относится и нарушение отображения обратной связи, когда из какого-либо шага n+k необходимо вернуться на шаг n, образуя цикл. В таких случаях перед функцией n для слияния связей допустимо использование только оператора «Исключающее ИЛИ».




Некорректное использование дополнительных элементов.

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

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

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

Модели исполняемых процессов – нотация BPMN

Методология BPM и нотация BPMN основаны на понятии бизнес-процесса и процессном подходе.

Управление процессом в методологии BPM – это управление целым (организацией) через управление его частями (процессами).

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

Методология BPM (Business Process Management) – концепция процессного управления организацией при помощи управления бизнес-процессами.

Нотация BPMN (Business Process Model and Notation) – нотация (система условных обозначений) для построения моделей процессов на основе методологии BPM, а также исполняемых с помощью систем BPMS.

Система BPMS (Business Process Management System) – IT-система для моделирования в методологии BPM, а также автоматизации исполняемых экземпляров процессов на основе построенных BPMN-моделей.

Если проводить аналогию с наукой,

BPM – это прежде всего подход, своего рода мировоззрение.

BPMN – методы и алгоритмы решения конкретных задач. Например, набор методов для создания проекта обеспечения электричеством производства или многоквартирного дома.

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

BPMS-системы реализуют следующие возможности:

• создание, изменение, воспроизведение моделей процессов организации;

• быстрое и легкое управление последовательностью действий внутри процесса и их оптимизация;

• управления взаимодействиями между разными этапами и операциями;

• полноценный реинжиниринг процессов в организации при необходимости коренных изменений;

• сбор статистики по выполнению процессов для последующего анализа;

• выявление отклонений и задержек при исполнении процессов;

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

Отличия процессного и функционального подходов

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

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

Существует два подхода к управлению организацией.



При этом необходимо знать:

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

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

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

Необходимо понимать следующее.

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

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

a. Если при функциональном подходе очень важны объекты на входе и выходе, то в самой функции, «черном ящике», важна обработка объектов для получения необходимого результата. И здесь управление бизнесом ориентировано на «Что именно мы хотим получить?», то есть подход скорее стратегический.

b. При процессном подходе мы получаем ответ на вопрос «Как это лучше выполнить?», то есть концентрируемся на тактическом, оперативном управлении. А потому здесь при изменении отдельных элементов между «входом и «выходом» меняется весь процесс.

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

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

Основные элементы нотации

В нотации BPMN выделяют пять главных категорий элементов.

Основные:

• элементы потока: события, процессы и шлюзы;

• соединяющие элементы: потоки управления, потоки сообщений и ассоциации;

• данные: объекты данных и базы данных.

Дополнительные:

• зоны ответственности: пулы и дорожки;

• артефакты: сноски.

















Рассмотрим существующие в BPMN виды диаграмм.

1. Процесс (Process Diagram)

2. Взаимодействие (Collaboration Diagram)

3. Хореография (Choreography Diagram)

4. Диалог (Conversation Diagram)

Первые три вида диаграмм основные, а четвертый – дополнительный: он появился лишь в BPMN2.0. На практике чаще всего используют два вида: «Процесс» и «Взаимодействие». Рассмотрим назначение всех видов диаграмм.

1. Процесс (Process Diagram) описывает содержание и логику бизнес-процесса BPMN в виде потока задач, условий и событий. Это самый распространенный вид диаграмм, он применяется чаще других и является основой нотации BPMN. Пример диаграммы «Процесс»:



2. Взаимодействие (Collaboration Diagram) позволяет моделировать взаимодействие (обмен данными) между двумя или более бизнес-процессами BPMN. Для графического отображения такого взаимодействия используются потоки сообщений (message flow). Пример диаграммы «Взаимодействие»: на стр. 154.

3. Хореография (Choreography Diagram). Иногда диаграммы «Взаимодействие» оказываются слишком сложными для восприятия и требуют более наглядного представления. В этом случае применяют диаграммы «Хореография». Они описывают последовательность взаимодействий участников при выполнении бизнес-процессов.

4. Диалог (Conversation Diagram) – еще один вариант диаграммы для визуализации взаимодействий бизнес-процессов BPMN и их участников. Диаграмма «Диалог» описывает процессный ландшафт и взаимодействия верхнего уровня между вовлеченными сторонами. Пример диаграммы «Диалог»: на с. 155.


Пример диаграммы «Взаимодействие»


Пример диаграммы «Хореография»


Пример диаграммы «Диалог»

Типы связей между элементами диаграммы BPMN

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




Декомпозиция и подпроцесс

Нередко даже в профессиональной среде путают два понятия – декомпозицию и подпроцесс. Важно понимать разницу между ними.

Декомпозиция – это разложение задачи на более простые элементы. Может использоваться как в функциональном, так и в процессном моделировании.

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

Пример декомпозиции сущности А:



Для понимания работы компании в целом вы используете функциональную модель в IDEF0, где вводите понятие функции «Продажа». Для изучения работы бизнеса в целом лишние подробности не нужны: они только усложнят поиск решений.

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

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

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

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

Подпроцесс А внутри процесса:



Основное различие: декомпозиция допускает больше свобод, здесь вы можете совмещать различные подходы к изучению бизнеса. А подпроцесс – неотъемлемая часть BPMN-нотации. В нем еще на уровне процесса жестко заданы все точки входа, выхода, исполнители, инструменты, и вы не можете выйти за эти рамки.

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

В практике описания бизнес-процессов элемент нотации BPMN «Подпроцессы» используется в основном в двух случаях.

1. Для декомпозиции и повышения читаемости и наглядности схем (диаграмм).

2. Для описания повторяющихся действий. Единожды описанный подпроцесс может многократно вызываться (использоваться) внутри различных процессов.

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



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

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

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

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


Графическое изображение задачи – свернутый подпроцесс


Декомпозиция процесса (разбивка на подпроцессы) позволяет моделировать и вносить изменения в рамках каждого подпроцесса, не изменяя весь основный процесс целиком.

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

При детализации подпроцессов приведенного примера – процесса «Наем персонала» – получим следующие процессы.

1. Поиск кандидатов на вакансию.

2. Оформление документов нового сотрудника.

3. Обучение нового сотрудника.

Рассмотрим каждый подпроцесс отдельно.


Подпроцесс «Поиск кандидатов на вакансию»


Подпроцесс «Оформление документов»


Подпроцесс «Обучение нового сотрудника»


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

Правила построения модели

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

Бизнес-процесс в компании выстроен так.

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

2. Заявка проверяется на необходимость менеджером в системе.

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

4. Если заявка согласована, сотрудник отдела закупок создает заказ для поставщика. В противном случае бизнес-процесс закупки завершается.

5. После получения товаров от поставщика кладовщик приходует их и выдает сотруднику со склада заказанные наименования.

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

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



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

Какие преимущества дает такое описание бизнес-процесса?

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

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

Распространенные ошибки при моделировании в нотации BPMN

Ошибки в BPMN бывают трех видов.

1. Формальные – когда диаграмма не соответствует правилам BPMN.

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

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

Рассмотрим наиболее распространенные ошибки при моделировании.

➤ События используются неправильно

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

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

На схеме на стр. 166 изображено большинство событий, используемых в схемах BPMN.

➤ Элементы ничем не заканчиваются

Формально в BPMN могут использоваться брошенные элементы:



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

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



События, используемые в схемах BPMN


➤ Перепутаны типы потоков

Иногда бывает так, что в рамках одной дорожки процесса мы видим изменение типов потоков, например:



Потоки управления можно использовать только внутри пула или дорожки: они не могут выходить за границы пула.

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

(Поток ассоциаций вообще используется только для улучшения читаемости и определяет поведение процесса.)

➤ Не сходится количество потоков на входе и на выходе



Мы можем исправить это, добавив эксклюзивный шлюз перед вторым параллельным:



➤ Не учитывается скорость выполнения зависимых процессов



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

Поэтому в подобных случаях важно обозначать обязательное условие выполнения задачи:



➤ Разный уровень задач в процессе

Это ситуация, когда на одной схеме находятся задачи абсолютно разных уровней:



➤ Использование условных потоков (conditional flow)


Страх «сложных» символов

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



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


Инструкция, а не процесс

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



Такие задачи лучше рисовать с помощью одного события:



То же самое касается технических процессов:



Не представляйте действие бизнеса как технологическое, пишите явно, что происходит:



➤ Одна задача для множественной обработки

В BPMN есть элементы, которые показывают итерирование по набору сущностей. Аналитики создают задачу, в названии которой пишут массовую операцию:



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



➤ Переход в межпроцессное взаимодействие там, где это не нужно

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



Такое отображение только усложняет схему и не отличается от такого:



➤ Приведение всех вариантов завершения процесса к одному завершающему событию

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



Лучше изобразить схему так:



➤ Не учитывается скорость выполнения зависимых процессов («Гонка» сигналов)

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



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

Чек-лист для моделирования процесса

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

1. Тип модели процесса определяемый и соответствует поставленной задаче моделирования.

Можно условно выделить три типа моделей процессов:

• аналитическая – показывает общую логику процесса. Она нужна для анализа и регламентации, зачастую содержит некоторые упрощения из расчета, что человек сможет додумать, как надо выполнять работу, с учетом своего опыта и компетенции;

• имитационная – позволяет выполнять имитационное моделирование процесса для определения времени выполнения, загрузки исполнителей, стоимости результатов выполнения процесса;

• исполняемая – может быть экспортирована для автоматизации в системе класса BPMS или запущена на выполнение прямо из среды моделирования.

2. Соответствие стандартам нотации моделирования.

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

3. Корректность формулировок названий объектов на схеме.

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

4. Корректность описания входящих и выходящих дополнительных элементов.

Входящие и исходящие дополнительные элементы могут быть информационными и материальными.

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

5. Корректность описания событий.

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

6. Отсутствие логических и содержательных ошибок.

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

7. Аккуратность исполнения схемы. Визуальная наглядность.

Стоит обратить внимание на такие моменты:

• наличие объектов одного типа, но разного размера;

• выход надписей за границы объектов;

• наложение стрелок, надписей друг на друга;

• чрезмерное количество элементов на схеме.

8. Отсутствие физической нереализуемости.

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

9. Отсутствие возвратов (переделок работы).

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

10. Отсутствие дублирования операций (прямого или косвенного).

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

11. Выявление пропущенных важных операций.

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

12. Отсутствие чрезмерного контроля.

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

13. Отсутствие узких мест («бутылочные горлышки»).

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

14. Отсутствие возвратов в прошлое.

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

15. Отсутствие смешения единичного потока и накопления (объектов обработки).

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

16. Отсутствие «процессной грыжи».

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

17. Отсутствие неоднородности масштаба операций.

Это выявляется довольно просто. Например, на одной схеме процесса представлены операции под названиями «Получить сменное задание у начальника» и «Изготовить продукцию». Первую делает мастер, а вторую выполняет весь цех численностью 30 человек.

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

Сильные и слабые стороны нотации

Плюсы использования BPM.

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

2. Графические нотации наглядны, что позволяет понять особенности процессов в компании и увидеть их слабые места.

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

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

5. Методология BPM прекрасно проработана и стандартизирована благодаря BPMN. Наличие стандартов и правил позволяет избегать ошибок при разработке и создавать в системе BPMS исполняемые нотации – готовые элементы автоматизации бизнеса.

Минусы BPM, как это часто бывает, находятся рядом с плюсами.

1. Высокая степень детализации процессов мешает восприятию работы бизнеса для стратегического планирования.

2. На разработчиках процессной модели лежит очень большая ответственность. Любая ошибка может привести к печальным результатам. Например, при разработке функциональной модели есть данные на входе, результат на выходе, инструменты, которые предоставляет компания исполнителю, и сам исполнитель. Пока исполнитель на выходе выдает ожидаемый результат, он может самостоятельно выбирать оптимальный метод достижения цели в рамках этой функции. При процессном подходе исполнитель лишается «свободы маневра». У него появляется четко заданная последовательность действий, учитывающая все возможные условия. И он не имеет права отступать от нее, даже если полученный результат отличается от ожидаемого.

3. Бизнес-процесс статичен и практически не подлежит корректировкам «изнутри». Исполнитель получает четкую последовательность действий и не может проявлять инициативу. В результате любую ошибку исполнители будут повторять из раза в раз, пока разработчики не исправят ее в самом бизнес-процессе.

Модели потоков данных – нотация DFD

В отличие от IDEF0, предназначенной для проектирования систем в целом, DFD создана для проектирования информационных систем. Ориентированность этой методологии на проектирование автоматизированных систем делает ее удобным и более выгодным инструментом для построения функциональной модели TO-BE. Это может быть полезно:

• при разработке информационной системы;

• при интеграции системы;

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

• в проектах, связанных с Data Management;

• в процессе построения аналитического хранилища, BI-решения.

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

Элементы DFD-диаграммы

В диаграмме выделяют четыре элемента.

1. Процесс.

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

2. Внешняя сущность.

Сущность (объект), которая получает или отправляет данные при взаимодействии с описанным процессом.

3. Хранилище данных.

Все хранилища данных или отдельные файлы, которые хранят исходные или выходные данные, а также все промежуточные хранилища.

4. Поток данных.

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

Несколько правил построения диаграмм:

• процесс должен иметь входной и выходной поток данных;

• хранилища данных также должны иметь входные и выходные потоки данных;

• данные с внешних сущностей должны пройти через процесс, чтобы попасть в хранилище.

Исторически синтаксис этой нотации применяется в двух вариантах – Гейна-Сарсона (Gane-Sarson) и Йордана (Yourdon). Различия между ними – на рисунке ниже:


Уровни DFD-диаграммы

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

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

• Концептуальный (или контекстный)

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



• Логический

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



• Физический

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



Также в других источниках часто можно увидеть разделение уровней диаграммы на 0,1, 2, 3 и так далее, в зависимости от уровня детализации.

Если мы говорим про разработку нового решения, то важно понять, что мы имеем сейчас (AS-IS) и что желаем получить (TO-BE). Другими словами, мы разделяем наше текущее состояние и желаемое, которое хотим получить с помощью нашего решения.

➤ AS-IS

Описываем текущую логическую диаграмму.

➤ TO-BE

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

Модели потоков данных – нотация UML

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

Объектно-ориентированный (далее – ОО) анализ – метод анализа, который исследует требования к системе с точки зрения классов и объектов, относящихся к словарю предметной области. Определение дано в соответствии с трудами Г. Буча.

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

В одной из основополагающих книг «Объектно-ориентированный анализ и проектирование» (1991 г.) Майкл Блаха и Джеймс Рамбо определяют ОО-подход как метод, при котором мы рассматриваем систему в виде набора отдельных объектов, включающих в себя одновременно структуру данных и «поведение» (операции).

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

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


Различие структурного и объектно-ориентированного подходов


Авторы выделяют стадии моделирования, на которых применяется ОО-подход.

1. Анализ. На этой стадии объекты относятся к области применения, а не к информационным системам. Модель не зависит от конкретного внедряемого решения.

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

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

4. Внедрение. На этом этапе модель приводится в соответствие с конкретным языком программирования, выбранной БД и инфраструктурой.

Модели OO-анализа в дальнейшем преобразуются в объектно-ориентированный проект. Г. Буч дает следующее определение объектно-ориентированного проектирования (дизайна): это методология проектирования, соединяющая в себе процесс объектной декомпозиции и приемы представления логической (структуры классов) и физической (архитектура модулей и процессов), а также статической и динамической моделей проектируемой системы.

Цель ОО-проектирования – правильно и эффективно структурировать сложную систему для последующей разработки.

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

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

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

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

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

Более подробно о понятии объекта и о том, как выделять сущности, читайте у основоположников. Вы найдете ссылку на материал в «Используемых источниках» – Буч, Рамбо, Блаха.

Основные принципы объектной модели

1. Абстрагирование – способ выделить набор значимых характеристик объекта методом исключения из рассмотрения незначимых.

2. Инкапсуляция – свойство системы, позволяющее объединить данные и методы, работающие с ними, в классы и скрыть детали реализации от пользователя.

3. Полиморфизм – свойство системы использовать объекты с одинаковым интерфейсом без информации о типе и внутренней структуре объекта.

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

Далее мы еще поговорим о классах и отношениях между ними.

Язык UML

Унифицированный язык моделирования (Unified Modeling Language) – язык визуального моделирования (чаще всего для ОО-анализа). Основная идея UML – возможность моделировать программное обеспечение и другие системы, такие как наборы взаимодействующих объектов.



UML – это язык, первичным же остается процесс ОО-анализа и моделирования. Используя доступные на рынке CASE-средства, позволяющие работать на языке UML, вы можете создавать модели. UML служит для «сверки часов», чтобы разные аналитики понимали друг друга.

Применение UML

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

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

a. выбранный инструментарий: контроль версий, репозиторий объектов, связь между диаграммами;

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

3. Еще более глубоких знаний и больших усилий требуют проекты, в которых UML используется в качестве языка программирования. Существуют инструменты, позволяющие на основе диаграмм скомпилировать исполняемый код (программу), например Visual Paradigm. Часто в этом контексте упоминают термин MDA (Model Driven Architecture – архитектура, управляемая моделью). Этот стандарт находится под управлением группы OMG, как и сам UML.

MDA разделяет процесс разработки на две основные части. Сначала аналитики создают PIM (Platform Independent Model – модель, не зависящая от платформы). PIM – это модель UML, не зависящая от какой-то конкретной технологии. Затем инструменты могут превратить PIM в PSM (Platform Specific Model – модель, зависящая от платформы). PSM – это модель системы, нацеленная на определенную среду выполнения. Другие инструменты берут PSM и генерируют код для этой платформы. В качестве PSM можно использовать UML, но это не обязательно.

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

Из чего состоит UML

Язык UML в своем нынешнем состоянии определяет нотацию и метамодель.

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

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

UML 2.0 описывает типы диаграмм. Давайте рассмотрим основные.

➤ Структурные диаграммы

Структурные диаграммы – статический аспект системы.

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

1. Диаграмма классов (Class diagram).

2. Диаграмма объектов (Object diagram).

3. Диаграмма компонентов (Component diagram).

4. Диаграмма развертывания (Deployment diagram).

➤ Поведенческие диаграммы

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

В UML есть следующие типы поведенческих диаграмм.

1. Диаграмма вариантов использования (прецедентов) (Use case diagram).

2. Диаграмма последовательности (Sequence diagram).

3. Диаграмма сотрудничества (Collaboration diagram).

4. Диаграмма состояний (State diagram).

5. Диаграмма деятельности (Activity diagram).

Унифицированный процесс разработки (Unified Process)

Когда говорят о UML, часто упоминают RUP (Rational Unified Process – унифицированный процесс, созданный компанией Rational). Он не имеет особого отношения к UML, хотя тоже создавался сотрудниками фирмы Rational и в его названии есть слово «унифицированный». Язык UML можно использовать с любыми процессами, которые не рассматриваются в этом уроке. RUP – это коммерческий продукт, расширяющий UP.

Унифицированный процесс разработки ПО (Unified Software Development Process, USDP) – это SEP, процесс производства ПО (Software Engineering Process) от авторов UML. Обычно его называют унифицированным процессом, или UP. Это универсальный процесс разработки ПО, который должен настраиваться для определенной организации и для каждого конкретного проекта.

Следует заметить, что UML был стандартизован OMG, а UP – нет, поэтому до сих пор не существует стандартного процесса для UML.

UP базируется на трех аксиомах. Он:

• управляется требованиями и риском;

• архитектуроцентричный;

• итеративный и инкрементный.

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

• определение требований – сбор данных о том, что должна делать система;

• анализ – уточнение и структурирование требований;

• проектирование – реализация требований в архитектуре системы;

• реализация – построение программного обеспечения;

• тестирование – проверка, в результате которой выявляется, отвечает ли реализация предъявляемым требованиям.


Структура UP

Основные принципы моделирования

Рассмотрим основные рекомендации для ОО-проектирования на UML. Этот список можно расширять бесконечно. Но это именно то, из чего постепенно складывается ваш опыт проектирования на UML.

1. Не спешите строить диаграмму классов. Сначала поймите проблему, которую необходимо решить.

2. Старайтесь делать модель простой, без излишних усложнений.

3. Осторожно выбирайте названия классов, атрибутов и ассоциаций.

4. Не спешите выбирать отношение генерализации, потому как зачастую его можно представить другим способом, декомпозировав задачу.

5. Не старайтесь сразу обозначить множественность для ассоциаций.

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

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

8. Обращайтесь к паттернам проектирования.

9. Проводите ревизию модели. Уточнения могут возникать на любом этапе проекта.

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

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

➤ Классы и отношения между ними

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

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

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

Класс (class) служит для обозначения множества объектов, обладающих одинаковой структурой, поведением и отношениями с объектами из других классов. Обязательный элемент обозначения класса – его имя. Оно должно быть уникальным в пределах пакета объектов, который описывается совокупностью диаграмм классов (или одной диаграммой).

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

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


Пример диаграммы классов


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

1. Символ «+» обозначает атрибут с областью видимости типа «общедоступный» (public). Атрибут с этой областью видимости доступен или виден из любого другого класса пакета, в котором определена диаграмма.

2. Символ «#» обозначает атрибут с областью видимости типа «защищенный» (protected). Атрибут с такой областью видимости недоступен или не виден для всех других классов, за исключением подклассов этого класса.

3. И, наконец, знак «-» обозначает атрибут с областью видимости типа «закрытый» (private). Атрибут с этой областью видимости недоступен или не виден для всех классов без исключения.

Если квантор видимости не указан, это означает, что видимость атрибута не указывается.

Рассмотрим варианты задания кратности атрибутов.

1. [0..1] означает, что кратность атрибута может принимать значение 0 или 1. При этом 0 означает отсутствие значения для данного атрибута.

2. [0..*] означает, что кратность атрибута может принимать любое положительное целое значение, большее или равное 0. Эта кратность может записываться в более короткой форме – в виде простого символа [*].

3. [1.:*] означает, что кратность атрибута может принимать любое положительное целое значение, большее или равное 1.

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

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

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

Базовые отношения (связи) в языке UML:

• отношение зависимости (dependency relationship);

• отношение ассоциации (association relationship);

• отношение обобщения (generalization relationship);

• отношение реализации (realization relationship).

Для начала, пока вы не определили детали, используйте отношение ассоциации.

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

Отдельный класс ассоциации играет определенную роль в соответствующем отношении, которую можно изобразить графически на диаграмме классов. С этой целью в языке UML вводится в рассмотрение специальный элемент – конец ассоциации (Association End), который графически соответствует точке соединения линии ассоциации с отдельным классом. Конец ассоциации – часть ассоциации, но не класса. У каждой ассоциации два или больше концов. Наиболее важные свойства ассоциации указываются на диаграмме рядом с этими элементами и должны перемещаться вместе с ними.

Для любого отношения, кроме зависимости, принято указывать кратность отдельного класса. Кратность обозначается в виде интервала целых чисел, аналогично кратности атрибутов и операций классов. Интервал записывается рядом с концом ассоциации и для N-арной ассоциации означает потенциальное число отдельных экземпляров или значений кортежей этой ассоциации, которые могут иметь место, когда остальные N‐1 экземпляров или значений классов фиксированы. Кратность для отношения определяется аналогично кратности атрибутов (см. выше).

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

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

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

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

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

Диаграммы последовательностей (sequence diagram) описывают отношения объектов в различных условиях. Это разновидность диаграмм взаимодействия языка UML, которая широко используется в качестве эскизов: например, на рабочих встречах при обсуждении задач по разработке информационных систем.

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

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

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

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


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


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

Линия жизни объекта (object lifeline) – вертикальная линия на диаграмме последовательности, которая представляет существование объекта в течение определенного периода времени.

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

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

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

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

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



➤ Типы сообщений

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

2. Асинхронные сообщения – передача такого сообщения обычно не сопровождается получением фокуса управления объектом-получателем.

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

4. Найденное сообщение (found message) – у первого сообщения нет участника, который его послал, поскольку оно приходит из неизвестного источника.

5. Потерянное сообщение (lost message) – сообщение, для которого существует событие передачи и отсутствует событие приема. Изображается в форме небольшого черного круга на конце стрелки сообщения. Оно интерпретируется как сообщение, которое никогда не достигнет своего места назначения.

➤ Правила построения диаграмм последовательностей

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

2. Помните, что диаграмма должна оставаться читаемой.

3. Чрезмерное ветвление использовать не рекомендуется, так как для изображения деталей алгоритмов в языке UML есть диаграммы деятельности. Общее правило – визуализировать каждый поток управления на отдельной диаграмме последовательности.

Фреймы взаимодействия

На рисунке ниже отображен более сложный вариант диаграммы последовательностей, на котором показаны фреймы взаимодействия. Каждый фрейм – область диаграммы, разделенная на несколько фрагментов; у нее есть оператор для обозначения условной логики.


Пример отображения фреймов взаимодействия


1. alt – несколько альтернативных фрагментов (alternative). Выполняется только тот фрагмент, условие которого истинно.

2. opt – необязательный (optional) фрагмент. Выполняется, только если условие истинно. Эквивалентен alt с одной веткой.

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

4. loop – цикл (loop). Фрагмент может выполняться несколько раз.

5. region – критическая область (critical region). Фрагмент может иметь только один поток, выполняющийся за один прием.

6. neg – отрицательный (negative) фрагмент. Обозначает неверное взаимодействие.

7.ref – ссылка (reference). Ссылается на взаимодействие, определенное на другой диаграмме. Фрейм рисуют, чтобы охватить линии жизни, вовлеченные во взаимодействие. Позволяет определять параметры и возвращать значение. Фрейм ref может показывать предусловия, то есть требования, которые необходимо выполнить перед началом выполнения действий.

8. sd – диаграмма последовательности (sequence diagram). Используется для очерчивания всей диаграммы последовательности, если это необходимо.


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

Диаграмма прецедентов (use case)

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

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

Прецеденты – лучший выбор для фиксирования требований в тех случаях, когда:

• в системе преобладают функциональные требования;

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

• в системе много интерфейсов.

Диаграммы вариантов использования позволяют:

• определить общие границы и контекст моделируемой предметной области на начальных этапах проектирования системы;

• сформулировать общие требования к функциональному поведению проектируемой системы;

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

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

➤ Элементы диаграммы прецедентов



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

Далее следует определить акторов (кто или что использует систему) и функции, которые предоставляет для них система (варианты использования или прецеденты).

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

Прецедент – то, что должна делать система. Это «вариант использования» системы конкретным актором:

• прецеденты всегда инициируются актером;

• прецеденты всегда описываются с точки зрения актеров.

Моделирование прецедентов, как и системы в целом, – это итеративный процесс. Вначале описывается концепция в целом, затем добавляются детали.

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

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

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

➤ Виды отношений между акторами и вариантами использования




Пример построения диаграммы прецедентов

Диаграмма деятельности (activity)

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

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

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

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



➤ Элементы диаграммы деятельности




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

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


Пример построения диаграммы деятельности

Диаграмма компонентов (component)

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

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

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

1. Визуализация общей структуры исходного кода программной системы.

2. Спецификация исполняемого варианта программной системы.

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

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




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

Компоненты могут иметь атрибуты и операции, участвовать в отношениях ассоциации и обобщения.


Пример внутренней структуры компонента


В языке UML для компонентов определены различные стереотипы.

1. Библиотека (<>) определяет первую разновидность компонента, который представляется в форме динамической или статической библиотеки.

2. Таблица (<

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

3. Файл (<>) определяет вторую разновидность компонента, который представляется в виде файлов с исходными текстами программ.

4. Документ (<>) также определяет вторую разновидность компонента, который представляется в форме документа.

5. Исполняемый (<>) определяет третий вид компонента, который может исполняться в узле.

6. Сервис (<>) – функциональный компонент без состояния, вычисляющий значение.

7. Подсистема (<>) – подсистема, элемент для декомпозиции больших систем.

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


Пример построения диаграммы компонентов


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

Диаграмма развертывания (deployment)

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

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

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

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

Существует две формы диаграмм развертывания.

1. Дескрипторная форма (descriptor form) содержит узлы, отношения между узлами и артефакты. Используется для моделирования типа физической архитектуры.

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




Существует два стандартных стереотипа для узлов:

• device (устройство) – узел, представляющий тип физического устройcтва, например ПК или сервер;

• execution environment (среда выполнения) – узел, представляющий тип среды выполнения программного обеспечения, например веб-сервер Apache.

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

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

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

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


Пример построения диаграммы развертывания


➤ Типы диаграмм Flowchart

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

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


Пример простой диаграммы (блок-схемы) процесса


2. Диаграмма кросс-функционального процесса (Swimlane Flowchart) показывает последовательное выполнение процесса от начала до конца, а также исполнителей тех или иных шагов процесса. Она отображает на схеме действия в разных дорожках, которые объединяют шаги процесса под одним ответственным исполнителем. «Плавательные дорожки» расположены либо по горизонтали, либо по вертикали и используются для группировки процессов или задач в соответствии с обязанностями этих ресурсов, ролей или отделов.


Пример блок-схемы кросс-функционального процесса


➤ Основные элементы нотации

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

Рассмотрим основные элементы нотации Basic Flowchart.



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



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



Решение – элемент, символизирующий вопрос, на который требуется ответ, – как правило, «да/нет» или «истина/ложь». Далее процесс разделяется на несколько ветвей в зависимости от количества ответов. В отличие от BPMN и eEPC, нотация Flowchart не указывает для решения, какую именно опцию ветвления процесса оно несет. В этой нотации решение лишь разделяет процесс, не собирая несколько ветвей в одну. Особенного элемента для этого в нотации Flowchart не предусмотрено.



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



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



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



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



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


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

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



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



➤ Дополнительные элементы нотации

Помимо основных элементов нотации Flowchart, которые составляют основу моделирования бизнес-процесса (при использовании нотации Basic Flowchart используются только они), есть дополнительные элементы. Они позволяют расширить схему, добавив в нее детали.



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



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



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



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



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



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



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

➤ Правила построения модели в нотации Flowchart

Так как Flowchart относится к нотациям типа Workflow, для нее, как и для eEPC и BPMN, характерны общие правила построения модели. Они очень просты.

1. При изображении процесса обязательно использование только одного терминатора-начала. Количество терминаторов-окончаний процесса может быть любым. Терминаторы обычно именуются «Начало» и «Конец».

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

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

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

5. Стрелки, соединяющие элементы, должны отображать:

a. направление основного потока выполнения процесса от терминатора-начала через все необходимые элементы и шаги ко всем терминаторам-окончаниям;

b. обозначение входа или выхода дополнительного элемента по отношению к действию или вводу/выводу данных.

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

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

7. Для кросс-функциональных блок-схем на диаграмме обязательно наличие:

a. одного бассейна процесса (пула), который обозначает сам процесс и именует его кратко и емко;

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

c. переключения блоков процесса между различными дорожками-исполнителями. Связь шагов разных исполнителей осуществляется обычным образом – при помощи стрелки с направлением от шага, выполняемого раньше по процессу, к шагу, выполняемому после него. Если переключать процесс между исполнителями не нужно, то нет никаких оснований для выбора типа диаграммы Swimlane Flowchart.

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

9. Как следует из пункта 7 и сути нотации Workflow, декомпозиция по уровням уточнения процессов не используется. Модель в нотации Flowchart сразу изображается на определенном уровне, обычно самом детальном. В случае необходимости процесс делится на последовательные крупные шаги-листы – отдельные диаграммы, именуемые в соответствии с их наполнением.

Пример модели, изображающей процесс подбора поставщика на простой диаграмме Flowchart на стр. 212.


Пример модели, изображающей процесс подбора поставщика на простой диаграмме Flowchart


➤ Особенности моделирования в нотации Flowchart

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

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

Однако при этом часто упускают из виду то, что блок-схема предполагает.

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

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

Помимо этого использование нотации Flowchart характеризует простота поиска инструментов для моделирования. Сегодня есть много доступных программ, которые подойдут для описания процессов с помощью блок-схем. Для моделирования в этой нотации можно использовать и графические редакторы, даже MS Word. Почти полное отсутствие правил моделирования в нотации предполагает, что при работе с ней вам не понадобятся специальные проверки синтаксиса модели, а базовые элементы вы сможете графически изобразить почти в любом приложении для записей. Тем не менее такая особенность использования Flowchart облегчает лишь задачу создания одной-двух моделей для кратковременного использования или добавления в какую-либо презентацию или документ. Масштабное же использование в компании блок-схем без современного средства моделирования неэффективно, так как не позволяет унифицировать:

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

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

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

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

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

⸰ внутренний стандарт использования этой нотации для команды аналитиков;

⸰ внутренний стандарт формирования, хранения и актуализации файлов со схемами процессов;

• проводить ознакомление всех новых членов команды аналитиков с этими стандартами;

• регулярно контролировать следование стандартам для обеспечения консистентности портфолио моделей.

➤ Сильные и слабые стороны нотации Flowchart

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

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

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

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

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

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

Несмотря на все свои сильные стороны, другие свойства Flowchart делают ее менее подходящей для решения ряда задач бизнес-анализа.

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

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

Соответствие нотаций уровням бизнес-процессов

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



Уровень 0 – процесс верхнего уровня в нотации IDEF0


Первый уровень декомпозиции – процессы модели А‐0 в нотации IDEF0


Второй уровень декомпозиции – процессы модели А‐1 в нотации FlowChart

Основные цели и этапы моделирования бизнес-процессов

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

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

➤ Описание процессов

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

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

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

➤ Установление взаимосвязей в процессах

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

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

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

➤ Нормирование и приведение процессов к желаемому состоянию

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

Моделирование бизнес-процессов задает правила их выполнения, то есть описывает то, каким образом они должны быть выполнены. Если следовать установленным в моделях правилам, руководящим указаниям или требованиям, то можно достичь желаемой производительности процессов. Именно поэтому, чтобы достичь определенных показателей эффективности, выполняются отдельные проекты с целями типа «оптимизировать деятельность организации и / или производство продукта /сервиса для сокращения расходов / увеличения производительности / повышения прибыльности организации». В рамках бизнес-анализа для таких проектов обычно проводят подготовку и анализ текущего состояния процесса (AS-IS), имитационное моделирование и / или тестирование процесса (business process validation), производят поиск дефектов, а эксперты предлагают и выбирают возможные пути их устранения. В ряде ситуаций процесс корректируют и на выходе получают новую версию процесса (TO-BE).

Однако в зависимости от задач, которые встают перед организацией, помимо проектов улучшения существующих процессов создаются также проекты с целями типа «начать выпускать новый продукт и/или предоставлять новый для компании сервис и/или подчинить деятельность компании изменениям в законодательстве/новым тенденциям». В таких случаях сразу после создания моделей AS-IS следует разработка моделей процесса TO-BE. Они демонстрируют состояние процесса, которое позволит организации достичь цели проекта. Проводится анализ различий этих двух состояний, составляется план по переходу из состояния AS-IS в TO-BE, а также критерии для оценки того, что переход состоялся успешно и состояние TO-BE действительно позволило организации достичь поставленной цели.

В обоих случаях моделирование дает возможность получить «внешний» взгляд на процессы и определить необходимые улучшения или изменения, введение которых повысит эффективность процессов или приведет к получению нового продукта благодаря работе с моделями процесса в двух его состояниях: AS-IS и TO-BE.

➤ Этапы моделирования

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

1. Выявление бизнес-процессов и построение исходной модели «Как есть» (AS-IS). Чтобы зафиксировать процесс в описании, проследить необходимые взаимосвязи или улучшить процесс, в первую очередь нужно понять, как он работает в данный момент. На этой стадии определяются границы процесса, выявляются его ключевые элементы, собираются данные о шагах процесса. В результате создается исходная модель процесса AS-IS. Эта модель не всегда полностью отражает работу и логику процесса, поэтому ее можно назвать первым драфтом или исходной моделью AS-IS.

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

3. Разработка модели «Как должно быть». В зависимости от подхода и цели проекта после анализа существующей ситуации необходимо определить желаемое состояние процесса или провести анализ существующей ситуации на предмет дефектов, выделить их и разработать модель, в которой эти дефекты будут устранены. Это желаемое состояние в модели представляется «Как должно быть» (TO-BE). Такая модель показывает, как процесс должен выглядеть в будущем со всеми необходимыми улучшениями или изменениями.

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

5. Улучшение модели TO-BE и/или проектирование целевого состояния процесса. Моделирование бизнес-процессов не ограничивается только созданием модели TO-BE. Каждый из процессов по ходу работы продолжает изменяться и совершенствоваться. Если организация в обозримой перспективе планирует завершить все изменения и на первом этапе внедряет только основное и главное, то разрабатывается модель целевого состояния процесса. Помимо этого, модели процессов должны регулярно пересматриваться и улучшаться в течение жизни организации. Таким образом, эта стадия моделирования предполагает постоянное улучшение процессов и постановку целевого состояния бизнес-процесса при наличии известных для этого требований.

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

Дефекты бизнес-процессов

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

➤ Узкие места

Понятие «бутылочное горлышко» (от англ. bottleneck) или более привычный для нас вариант «узкое место» – центральный элемент теории ограничений систем (TOC) Элияху Голдратта и один из столпов концепции бережливого производства Lean. По сути, узкое место – это место в производственной системе или процессе, в котором возникает перегрузка. Поток материалов или любой другой входящий поток поступает слишком быстро и не может быть столь же быстро переработан. Часто это шаг с меньшей мощностью, чем предыдущий узел. Он похож на узкое горлышко бутылки, которое замедляет путь жидкости наружу. На производстве и в любых других процессах эффект бутылочного горлышка вызывает простои и издержки, снижает общую эффективность и увеличивает сроки выполнения всего процесса.

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

➤ Процесс «Продажи»



Выше приведен обобщенный процесс «Продажи». Как видно, самая длительная операция – «Заключение сделки». Она и есть слабое звено этого процесса: можно сколько угодно ускорять другие операции, но это не повлияет на скорость выполнения всего процесса. Для большей наглядности возьмем ситуацию, когда операции по выявлению потребностей, презентации продукта и отработке возражений выполняются параллельно несколькими людьми, а оформление сделки – всего одним человеком. Мы сразу увидим, что очередь будет собираться именно на этом шаге.



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

Все узкие места можно разделить на две группы.

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

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

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

Есть несколько способов поиска узких мест в процессе. Не всегда для такого анализа создаются именно модели процесса.

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

2. Моделирование процесса AS-IS и выполнение экземпляров процессов (имитация реального выполнения процесса на различных входных условиях). На этом этапе используются моделеры и BPMS-системы. Они помогают собрать дополнительную информацию о процессе на основе истории его выполнения и «проиграть» тот или иной сценарий развития событий с помощью модели, заранее заданных частот попадания процесса в ту или иную ветвь или частот событий, а также различных наборов входных данных. Такое проигрывание процесса обычно визуализируется в системе, и прогресс выполнения отдельного экземпляра процесса изображается в формате токенов, «путешествующих» по модели. При таком подходе аналитик также может наглядно увидеть, на какой этап приходится ожидание того или иного токена, какие циклы выполняются по нескольку раз, а где токены собираются в очередь, потому что шлюз или условие принимает решение по каждому из них, и т. д.

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


Пример сбора и анализа показателей бизнес-процесса с помощью электронных таблиц Excel


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


Пример сбора несоответствий при выполнении бизнес-процесса

Проблемы логики бизнес-процесса

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

Наиболее частые проблемы логики процесса следующие.

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

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

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

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

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

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

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

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

Проверка бизнес-процесса на наличие слабых мест и дефектов

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

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

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

Валидация бизнес-процессов может выполняться в различных ситуациях.

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

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

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

➤ Подходы к валидации бизнес-процессов

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

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

Автоматизированная проверка бизнес-процессов выполняется специальным ПО или модулями BPMS-систем для тестирования процессов в автоматическом режиме. ПО использует стандартные наборы данных бизнес-процесса, имитирует работу эксперта, запускает механизмы и воспроизводит аварии, интерпретирует правильность каждой последовательности действий и их результатов. При этом дефекты могут быть распознаны только в том случае, если для каждого шага и результата процессов определены ожидаемые значения. Фактические результаты выполнения процесса в таком случае сравниваются с установленными нормативами. При использовании ПО BPV или модулей тестирования BPMS бизнес-процесс сначала должен быть зафиксирован в системе, выполняющей проверку, в формате описания последовательностей шагов или модели процесса. Для процесса должны быть установлены нормы и KPI, введены данные для выполнения имитационных «прогонов».

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

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

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

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

➤ Улучшение, оптимизация и реинжиниринг бизнес-процесса: определения и методы

Улучшение, или совершенствование бизнес-процесса, – совокупность методов и подходов, которые дают руководителям компании возможность повысить эффективность ее работы. Как следует из наименования процедуры, также иногда называемой менеджментом бизнес-процессов, ее цель – улучшение бизнес-процессов, которое помогает сделать их более эффективными («Руководство по улучшению бизнес-процессов», Альпина Паблишер, М.: 2022.).

Формальные методики и стандарты совершенствования бизнес-процессов.

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

2. Всеобщее управление качеством (Total Quality Management, TQM) – стратегия менеджмента, которая направлена на внедрение заботы о качестве в каждый шаг и процесс, осуществляемый в организации, а также на всемерное поощрение действий сотрудников, ориентированных на повышение удовлетворенности клиентов и снижение издержек в рамках процесса.

3. ISO 9000 – серия стандартов систем управления качеством (ISO). Эти стандарты и изменение процессов согласно им не гарантируют качество конечного товара или услуги. Они просто подтверждают, что компания использует сертифицированные бизнес-процессы, которые соответствуют общепринятым или отраслевым стандартам. Сами стандарты ISO 9000 находятся в ведении структур, отвечающих за аккредитацию и сертификацию организаций.

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

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

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

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

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

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

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

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

• дополнительные ручные проверки;

• согласования;

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

• дублирующие действия.

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

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

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

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

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

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

7. Объединение операций во времени и/или пространстве. Обычно объединение нескольких шагов проводится для того, чтобы избежать лишних издержек на координацию использования результатов, которые должны быть совместно задействованы в дальнейшем процессе. Также объединение упрощает логистику, то есть перенос результатов одного и второго действия в единое место для дальнейшего совокупного использования. Такой прием позволяет не только сократить стоимость и время выполнения блока процесса, но и в некоторых случаях создает новые возможности, благодаря синергии. Это «усиливающий эффект взаимодействия двух или более факторов, характеризующийся тем, что совместное действие этих факторов существенно превосходит простую сумму действий каждого из указанных факторов» («Википедия»).

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

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

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

Стремительный взлет этой методики пришелся на начало 1990-х годов, когда Майкл Хаммер и Джеймс Чампи опубликовали свой революционный бестселлер «Реинжиниринг корпорации». Реинжиниринг бизнес-процессов используется в тех случаях, когда принято обоснованное решение о реорганизации деятельности: радикальных преобразованиях, реструктуризации бизнеса, замене действующих структур управления на новые. А с учетом быстрого развития экономики, конкуренции и технологий предприятие, стремящееся выжить или улучшить свое положение на рынке, должно постоянно совершенствовать технологии производства, набор производимых продуктов и способы организации деловых процессов. Именно на волне роста и развития экономик реинжиниринг как методика стал основным подходом к достижению необходимых изменений в организации.

В отличие от оптимизации бизнес-процессов, проект реинжиниринга бизнеса обычно включает четыре этапа.

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

2. Анализ существующего бизнеса. На этом этапе проводится исследование текущего состояния организации, составляются модели бизнес-процессов AS-IS.

3. Разработка нового образа бизнеса. В соответствии с поставленной целью создаются новые и/или изменяются прежние бизнес-процессы (подготавливаются модели TO-BE), при необходимости разрабатываются требования и спецификации на поддерживающие их информационные системы.

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

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

1. Интегрирование бизнес-процессов. Наиболее характерное свойство перепроектированных процессов – отсутствие промежуточных сборочных конвейеров как способа координации работы персонала. На практике, конечно, не всегда удается свести все этапы процесса к работе, выполняемой в едином потоке, но в таком случае можно создать новую команду, которая будет нести ответственность за все этапы мегапроцесса и оперировать ими. В ходе поддержки нового процесса возможны сбои и ошибки, но если у него один владелец, то потери будут значительно меньше, чем при традиционной организации работ «со стыками».

2. Горизонтальное сжатие бизнес-процессов. Сравнительные оценки, выполненные компаниями, которые провели реинжиниринг, показывают: в ряде случаев переход от традиционной организации работ с разделением обязанностей и менеджментом для координации действий к выполнению всего процесса одним человеком позволяет снизить численность персонала и ускорить выполнение процесса примерно в 10 раз. При таком подходе уменьшается количество ошибок и отпадает необходимость в найме специалистов для устранения этих ошибок. За счет уменьшения численности работников и четкого распределения ответственности между ними улучшается управляемость.

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

4. Смена логики реализации бизнес-процессов. Линейное выполнение работ заменяется логическим порядком, то есть работы организуются для выполнения в параллель. Это экономит время, которое ранее затрачивалось на взаимоувязку работ на разных участках.

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

6. Рационализация горизонтальных связей – создание линейных функциональных подразделений. Работа при таком подходе выполняется в том месте, где это наиболее целесообразно. Раньше в компаниях работа отделов была организована по «тематическому» принципу: расчетный отдел, транспортный отдел, отдел снабжения и т. д. Если расчетному отделу требовались карандаши, то он обращался в отдел снабжения с заявкой. Этот отдел находил производителя, договаривался о цене, размещал заказ, осматривал товар, оплачивал его и передавал в расчетный отдел. Такой подход к осуществлению процесса может быть длительным и неэкономичным. При реинжиниринге чаще всего создаются горизонтальные управленческие связи между подразделениями, что позволяет устранить излишнюю интеграцию между отделами.

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

8. Рационализация связей «компания – заказчик». Совершенствование организационной структуры фирмы предполагает создание условий, при которых уполномоченный менеджер обеспечивает единый канал связей с заказчиками или с каждым отдельным заказчиком.

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

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

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

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

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

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

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

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

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

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

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

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

2. Добавленная ценность или соотношение добавленной стоимости и потребительской ценности результатов выполнения процесса. Критерий увеличения составляющей добавленной ценности процесса может использоваться в качестве основы для оптимизации бизнес-процессов компании. Более того, этот критерий может быть выбран как определяющий принцип для упрощения любого бизнес-процесса. Когда продукт (товар) проходит по цепочке бизнес-процессов компании, то с его ценностью происходит следующее: в процессе производства продукт вбирает стоимость затраченного на него труда, материалов, энергии, а также другие сопутствующие затраты. Однако добавленная ценность продукции напрямую не зависит от этих затрат. Ценность продукта увеличивается при добавлении в продукцию таких качеств, как функциональность, эстетичность, фирменный бренд и тому подобные аспекты, важные для клиента. Таким образом, добавленная ценность – теоретическая концепция, выражающая соотношение рыночной стоимости и фактически понесенных затрат на продукт.

3. Затраты ресурсов на конечный продукт и на брак. Временные: цикл, длительность, производительность, скорость выполнения заказов. Материальные: расход средств и материалов, активы, используемые в виде дебиторки, складские запасы и т. д.

4. Затраты на обучение или освоение процесса, подготовку и повышение квалификации сотрудников.

5. Эффективность использования ресурсов на единицу продукции: коэффициенты использования оборудования, коэффициенты использования ресурсов, сырья и материалов, затраты времени на проведение единицы работ или услуг.

6. Показатели стоимости процесса – затраты на осуществление однократного цикла этого процесса, а также активы, используемые для его осуществления.

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

Документирование требований