Нотация EPC (Event-Driven Process Chain - событийная цепочка процессов) используется для описания процессов нижнего уровня. Диаграмма процесса в нотации EPC, представляет собой упорядоченную комбинацию событий и функций. Для каждой функции могут быть определены начальные и конечные события, участники, исполнители, материальные и документальные потоки, сопровождающие её, а также проведена декомпозиция на более низкие уровни. Декомпозиция может производиться в нотациях EPC или BPMN.
При декомпозиции процесса ЕРС, расположенного на диаграмме SADT, стрелки с диаграммы SADT на диаграмму ЕРС не переносятся.
Описание назначения графических символов, используемых в нотации EPC, приведено в Таблице 1.
Название | Графический символ | Описание |
---|---|---|
Процесс (функция) | ![]() | Блок представляет собой функцию - процесс, действие или набор действий, выполняемых над исходным объектом (документом, ТМЦ и прочим) с целью получения заданного результата. Внутри блока помещается наименование функции. Временная последовательность выполнения функций задается расположением функций на диаграмме процесса сверху вниз. |
Событие | ![]() | Событие - состояние, которое является существенным для целей управления бизнесом и оказывает влияние или контролирует дальнейшее развитие одного или более бизнес-процессов. Элемент отображает события, активизирующие функции или порождаемые функциями. Внутри блока помещается наименование события. |
Стрелка | ![]() | Стрелка отображает связи элементов диаграммы процесса EPC между собой. Связь может быть направленной и ненаправленной в зависимости от соединяемых элементов и типа связи. |
Оператор AND ("И") | ![]() | Оператор "И" используется для обозначения слияния/ветвления как функций, так и событий. Если завершение выполнения функции должно инициировать одновременно несколько событий, то это обозначается с помощью оператора "И", следующего после функции и перед событиями. На Рис. 1 завершение выполнения процесса "Функция" одновременно инициирует события: "Событие 1" и "Событие 2". ![]() Рисунок 1
Если событие происходит только после обязательного завершения выполнения нескольких функций, то это обозначается с помощью оператора "И", следующего после функций и перед одиночным событием. На Рис. 2 событие "Событие" произойдет только после обязательного завершения процессов "Функция 1" и "Функция 2". ![]() Рисунок 2
Если функция может начать выполняться только после того, как произойдут несколько событий, то это обозначается с помощью оператора "И", следующего после событий и перед функцией. На Рис. 3 процесс "Функция" начнет выполняться только после того, как произойдут событие "Событие 1" и событие "Событие 2". ![]() Рисунок 3 Если одно событие может инициировать одновременное выполнение нескольких функций, то это обозначается с помощью оператора "И", следующего после события и перед функциями. На Рис. 4 событие "Событие" одновременно инициирует выполнение процессов "Функция 1" и "Функция 2". ![]() Рисунок 4 |
Оператор OR ("ИЛИ") | ![]() | Оператор "ИЛИ" используется для обозначения слияния/ветвления функций и для слияния событий. По правилам нотации EPC после одиночного события не может следовать разветвляющий оператор "ИЛИ". Если завершение выполнения функции может инициировать одно или несколько событий, то это обозначается с помощью оператора "ИЛИ", следующего после функции и перед событиями. На Рис. 5 завершение выполнения процесса "Функция 1" может инициировать 3 вида ситуаций: возникнет только событие "Событие 1", возникнет только событие "Событие 2", возникнут одновременно и событие "Событие 1", и событие "Событие 2". ![]() Рисунок 5
Если событие происходит после завершения выполнения одной или нескольких функций, то это обозначается с помощью оператора "ИЛИ", следующего после функций и перед одиночным событием. На Рис. 6 событие "Событие" может произойти либо после завершения выполнения процесса "Функция 1", либо после завершения выполнения процесса "Функция 2", либо после завершения выполнения и процесса "Функция 1", и процесса "Функция 2". ![]() Рисунок 6 Если функция может начать выполняться после того, как произойдет одно или несколько событий, то это обозначается с помощью оператора "ИЛИ", следующего после событий и перед функцией. На Рис. 7 процесс "Функция" может начать выполняться либо после того, как произойдет событие "Событие 1", либо после того, как произойдет событие "Событие 2", либо после того, как произойдут оба события: "Событие 1" и "Событие 2". ![]() Рисунок 7 |
Оператор XOR ("Исключающее ИЛИ") | ![]() | Оператор "Исключающее ИЛИ" используется для обозначения слияния/ветвления функций и для слияния событий. По правилам нотации EPC после одиночного события не может следовать разветвляющий оператор "Исключающее ИЛИ". Если завершение выполнения функции может инициировать только одно из событий в зависимости от условия, то это обозначается с помощью оператора "Исключающее ИЛИ", следующего за функцией и перед событиями. На Рис. 8 процесс "Функция" инициирует либо только событие "Событие 1", либо только событие "Событие 2". ![]() Рисунок 8
Если событие происходит сразу после завершения выполнения либо одной функции, либо другой, то это обозначается с помощью оператора "Исключающее ИЛИ", следующего после функций и перед одиночным событием. На Рис. 9 событие "Событие" может произойти либо сразу после завершения выполнения процесса "Функция 1", либо сразу после завершения выполнения процесса "Функция 2". ![]() Рисунок 9 Если функция может начать выполняться сразу после того, как произойдет либо одно событие, либо другое, то это обозначается с помощью оператора "Исключающее ИЛИ", следующего после нескольких событий и перед функцией. На Рис. 10 процесс "Функция" может начать выполняться сразу после того, как произойдет либо событие "Событие 1", либо событие "Событие 2". ![]() Рисунок 10 |
Интерфейс процесса | ![]() | Элемент, обозначающий внешний (по отношению к текущей диаграмме) процесс или функцию. Используется для указания взаимосвязи процессов: - обозначает предыдущий или следующий процесс по отношению к диаграмме рассматриваемого процесса; - обозначает процесс, откуда поступил или куда передается объект. Внутри блока помещается наименование внешнего процесса. На Рис. 11 показано, что договор является результатом выполнения процесса "Заключение договора". ![]() Рисунок 11
На Рис. 12 показано, что после окончания процесса "Процесс 1" (и наступления события "Событие 1") начинает выполняться процесс "Процесс 2". ![]() Рисунок 12. Диаграмма процесса "Процесс 1" На диаграмме процесса "Процесс 2" (Рис. 13) показано, что перед началом процесса "Процесс 2" был завершен процесс "Процесс 1", инициировавший событие "Событие 1". ![]() Рисунок 13. Диаграмма процесса "Процесс 2" |
Субъект | ![]() | Используется для отображения на диаграмме организационных единиц (должности, подразделения, роли, внешнего субъекта) - исполнителей, владельцев или участников функций. Внутри блока помещается наименование организационной единицы. |
Бумажный документ | ![]() | Используется для отображения на диаграмме бумажных документов, сопровождающих выполнение функции. Внутри блока помещается наименование бумажного документа. |
Электронный документ | ![]() | Используется для отображения на диаграмме электронных документов, сопровождающих выполнение функции. Внутри блока помещается наименование электронного документа. |
ТМЦ | ![]() | Используется для отображения на диаграмме товарно-материальных ценностей (ТМЦ), сопровождающих выполнение функции. Внутри блока помещается наименование ТМЦ. |
Информация | ![]() | Используется для отображения на диаграмме информационных потоков, сопровождающих выполнение функции. Внутри блока помещается наименование информационного потока. |
Информационная система | ![]() | Используется для отображения на диаграмме информационной системы, поддерживающей выполнение функции. Внутри блока помещается наименование информационной системы. |
Модуль информационной системы | ![]() | Используется для отображения на диаграмме модуля информационной системы, поддерживающего выполнение функции. Внутри блока помещается наименование модуля информационной системы. |
Функция информационной системы | ![]() | Используется для отображения на диаграмме функции информационной системы, поддерживающей выполнение функции. Внутри блока помещается наименование функции информационной системы. |
База данных | ![]() | Используется для отображения на диаграмме базы данных, сопровождающей выполнение функции. Внутри блока помещается наименование базы данных. |
Термин | ![]() | Используется для отображения на диаграмме объектов, сопровождающих выполнение функции. Наименования этих объектов - термины, используемые в организации. Внутри блока помещается наименование термина. Элемент может быть использован для обозначения данных, передаваемых между процессами или обрабатываемых при выполнении процессов. Элемент может быть также использован для обозначения статусов бумажных/электронных документов и других элементов справочника "Объекты деятельности". На Рис. 14 статус документа "Акт выполненных работ" устанавливается с помощью термина "Подписанный". ![]() Рисунок 14 |
Набор объектов | ![]() | Используется для отображения на диаграмме наборов объектов, сопровождающих выполнение функции, например, "Документация по проекту". Внутри блока помещается наименование набора объектов. |
Прочее | ![]() | Используется для отображения на диаграмме потоков объектов, которые нельзя отнести ни к одной из предопределенных групп справочника "Объекты деятельности". Внутри блока помещается наименование прочего объекта. |
Описание назначения кнопок панели инструментов Окна диаграммы процесса в нотации EPC приведено в Таблице 2.
Кнопка | Название | Описание |
---|---|---|
![]() | Удалить тип связи по умолчанию | Кнопка предназначена для удаления типов связей, установленных пользователем по умолчанию. |
![]() | Показать/убрать все типы связей на диаграмме | Кнопка предназначена для показа наименований всех типов связей, наведенных на диаграмме. |
![]() | Переместить контекст функции с вышележащей диаграммы | Кнопка предназначена для перемещения с вышележащей диаграммы (если диаграмма представлена в нотации EPC) всех элементов, которые связаны с декомпозируемой функцией. |
Дополнительно к возможности показывать/убирать наименования типов связей на диаграмме с помощью кнопки Показать/убрать все типы связей на диаграмме в справочнике "Типы связей" существует возможность установить показ наименования того или иного типа связи на всех диаграммах, где эта связь наведена. Для этого необходимо проставить флажок в параметре "Видимость названия типа связи" для данной связи (Рис. 15).
Типы связей, которые могут быть наведены между элементами на диаграмме процесса в нотации EPC, перечислены в Табл. 3 - Табл. 12. При необходимости перечень типов связей может быть изменен.
Элемент, с которым устанавливается связь | Тип связи | Назначение связи | Пример использования связи |
---|---|---|---|
База данных | изменяет | Связь используется, если необходимо отобразить, что в рамках выполнения процесса в базу данных вносятся изменения. | ![]() |
имеет на выходе | Связь используется, если необходимо отобразить, что база данных передается из одного процесса в другой. | ![]() |
|
создает на выходе | Связь используется, если необходимо отобразить, что в результате выполнения процесса создается новая база данных. | ![]() |
|
Документ | изменяет | Связь используется, если необходимо отобразить, что в рамках выполнения процесса в документ вносятся изменения. | ![]() |
имеет на выходе | Связь используется, если необходимо отобразить, что документ передается из одного процесса в другой. | ![]() |
|
создает на выходе | Связь используется, если необходимо отобразить, что в результате выполнения процесса создается новый документ. | ![]() |
|
Информация | изменяет | Связь используется, если необходимо отобразить, что в рамках выполнения процесса изменяется информация. | ![]() |
имеет на выходе | Связь используется, если необходимо отобразить, что информация передается из одного процесса в другой. | ![]() |
|
создает на выходе | Связь используется, если необходимо отобразить, что в результате выполнения процесса появляется информация. | ![]() |
|
ТМЦ | изменяет | Связь используется, если необходимо отобразить, что в рамках выполнения процесса изменяется ТМЦ. | ![]() |
имеет на выходе | Связь используется, если необходимо отобразить, что ТМЦ передается из одного процесса в другой. | ![]() |
|
создает на выходе | Связь используется, если необходимо отобразить, что в результате выполнения процесса формируется ТМЦ. | ![]() |
|
Программный продукт | изменяет | Связь используется, если необходимо отобразить, что в рамках выполнения процесса изменяется Информационная система, ее модуль или функция. | ![]() |
имеет на выходе | Связь используется, если необходимо отобразить, что Информационная система, ее модуль или функция передается из одного процесса в другой. | ![]() |
|
создает на выходе | Связь используется, если необходимо отобразить, что в результате выполнения процесса создается Информационная система, ее модуль или функция. | ![]() |
|
Оператор | порождает событие через | Связь используется для отображения хода выполнения процесса. | ![]() |
Процесс | предшествует | Связь используется, если бизнес-аналитик принимает решение использовать для отображения хода выполнения процесса только функции, без событий. | ![]() |
Событие | порождает | Связь используется для отображения хода выполнения процесса. | ![]() |
Термин | изменяет | Связь используется, если необходимо отобразить, что в рамках выполнения процесса изменяется термин. | ![]() |
имеет на выходе | Связь используется, если необходимо отобразить, что термин передается из одного процесса в другой. | ![]() |
|
помещает в архив | Связь используется, если необходимо отобразить, что в результате выполнения процесса термин помещается в архив. | ![]() |
|
распределяет | Связь используется, если необходимо отобразить, что в рамках выполнения процесса термин распределяется между субъектами или процессами. | ![]() |
|
создает на выходе | Связь используется, если необходимо отобразить, что в результате выполнения процесса формируется термин. | ![]() |
|
считывает | Связь используется, если необходимо отобразить, что в рамках выполнения процесса считывается термин. | ![]() |
|
уничтожает | Связь используется, если необходимо отобразить, что в результате выполнения процесса термин уничтожается. | ![]() |
Элемент, с которым устанавливается связь | Тип связи | Назначение связи | Пример использования связи |
---|---|---|---|
Процесс | выполняет | Связи используются для отображения владельцев, исполнителей процесса или субъектов, принимающих участие в выполнении процесса. | ![]() |
д/б информирован о выполнении | |||
д/б информирован о нестандартном завершении | |||
должен информировать о результатах выполнения | |||
отвечает за техническую часть | |||
отвечает по ИТ за | |||
принимает решение по | |||
способствует при выполнении | |||
утверждает результат | |||
участвует в качестве консультанта | |||
является владельцем | |||
Событие | обеспечивает | Связь используется, если необходимо отобразить, что субъект способствует возникновению события. | ![]() |
является владельцем | Связь используется, если необходимо отобразить, что субъект является ответственным за возникновение события. | ![]() |
|
Термин | имеет доступ к | Связь используется, если необходимо отобразить, что субъект имеет доступ к термину (информации о термине). | ![]() |
является владельцем | Связь используется, если необходимо отобразить, что субъект является ответственным за формирование термина или актуализацию информации о термине. | ![]() |
|
База данных | обеспечивает | Связь используется, если необходимо отобразить, что субъект обеспечивает наличие актуальной информации в базе данных или является ответственным за формирование базы данных. | ![]() |
Документ | обеспечивает | Связь используется, если необходимо отобразить, что субъект является ответственным за формирование документа или поддержание документа в актуальном состоянии. | ![]() |
Информация | обеспечивает | Связь используется, если необходимо отобразить, что субъект является ответственным за предоставление актуальной информации. | ![]() |
ТМЦ | обеспечивает | Связь используется, если необходимо отобразить, что субъект обеспечивает наличие ТМЦ. | ![]() |
Программный продукт | отвечает за разработку | Связь используется, если необходимо отобразить, что субъект отвечает за разработку информационной системы, ее модуля или функции. | ![]() |
отвечает за техническую часть | Связь используется, если необходимо отобразить, что субъект отвечает за техническую часть (оборудование, системное ПО и т.д.) информационной системы, ее модуля или функции. | ![]() |
|
является пользователем | Связь используется, если необходимо отобразить, что субъект является пользователем информационной системы, ее модуля или функции. | ![]() |
Элемент, с которым устанавливается связь | Тип связи | Назначение связи | Пример использования связи |
---|---|---|---|
Процесс | активизирует | Связь используется для отображения хода выполнения процесса. | ![]() |
Субъект | используется | Связь используется, если необходимо отобразить, что субъект ориентируется на возникновение события для определения времени старта процесса. | ![]() |
Элемент, с которым устанавливается связь | Тип связи | Назначение связи | Пример использования связи |
---|---|---|---|
База данных | создает на выходе | Связь используется, если необходимо отобразить, что база данных формируется в результате работы в информационной системе. | ![]() |
Документ | создает на выходе | Связь используется, если необходимо отобразить, что документ автоматически формируется в информационной системе. | ![]() |
Информация | использует | Связь используется, если необходимо отобразить, что для внесения данных в информационную систему используется информация. | ![]() |
ТМЦ | использует | Связь используется, если необходимо отобразить, что для внесения данных в информационную систему используется ТМЦ. | ![]() |
Процесс | поддерживает | Связь используется, если необходимо отобразить, что процесс выполняется с использованием информационной системы, ее модуля или функции. | ![]() |
Термин | использует | Связь используется, если необходимо отобразить, что для внесения данных в информационную систему используется термин. | ![]() |
Элемент, с которым устанавливается связь | Тип связи | Назначение связи | Пример использования связи |
---|---|---|---|
Процесс | предоставляет входные данные для | Связь используется, если необходимо отобразить, что выполнение процесса осуществляется с использованием документа. | ![]() |
Событие | устанавливает | Связь используется, если необходимо отобразить, что поступление документа инициировало возникновение событие. | ![]() |
Субъект | используется | Связь используется, если необходимо отобразить, что для осуществления своей деятельности субъект использует документ. | ![]() |
База данных | предоставляет входные данные для | Связь используется, если необходимо отобразить, что заполнение базы данных осуществляется с использованием документа. | ![]() |
Элемент, с которым устанавливается связь | Тип связи | Назначение связи | Пример использования связи |
---|---|---|---|
Процесс | предоставляет входные данные для | Связь используется, если необходимо отобразить, что выполнение процесса осуществляется с использованием базы данных. | ![]() |
Событие | устанавливает | Связь используется, если необходимо отобразить, что возникновение события было инициировано базой данных. | ![]() |
Субъект | используется | Связь используется, если необходимо отобразить, что для осуществления своей деятельности субъект использует базу данных. | ![]() |
Программный продукт | предоставляет входные данные для | Связь используется, если необходимо отобразить, что работа в программном продукте осуществляется с использованием базы данных. | ![]() |
Документ | создает на выходе | Связь используется, если необходимо отобразить, что документ может быть сформирован из базы данных. | ![]() |
Элемент, с которым устанавливается связь | Тип связи | Назначение связи | Пример использования связи |
---|---|---|---|
Процесс | используется | Связь используется, если необходимо отобразить, что выполнение процесса осуществляется с использованием информации. | ![]() |
является входом для | Связь используется, если необходимо отобразить, что информация, поступившая на вход процесса, в результате выполнения процесса преобразуется в другую информацию, документ или объект. | ![]() |
|
Событие | устанавливает | Связь используется, если необходимо отобразить, что поступление информации инициировало возникновение события. | ![]() |
Субъект | используется | Связь используется, если необходимо отобразить, что для осуществления своей деятельности субъект использует информацию. | ![]() |
Элемент, с которым устанавливается связь | Тип связи | Назначение связи | Пример использования связи |
---|---|---|---|
Процесс | используется | Связь используется, если необходимо отобразить, что выполнение процесса осуществляется с использованием ТМЦ. | ![]() |
является входом для | Связь используется, если необходимо отобразить, что ТМЦ, поступившие на вход процесса, в результате выполнения процесса преобразуются из одного состояния в другое. | ![]() |
|
Событие | устанавливает | Связь используется, если необходимо отобразить, что возникновение события было инициировано ТМЦ. | ![]() |
Субъект | используется | Связь используется, если необходимо отобразить, что для осуществления своей деятельности субъект использует ТМЦ. | ![]() |
Элемент, с которым устанавливается связь | Тип связи | Назначение связи | Пример использования связи |
---|---|---|---|
Процесс | проверяется | Связь используется, если необходимо отобразить, что в рамках выполнения процесса проверяется термин. | ![]() |
утверждается (кем) | Связь используется, если необходимо отобразить, что в рамках выполнения процесса утверждается термин. | ![]() |
|
является входом для | Связь используется, если необходимо отобразить, что термин, поступивший на вход процесса, в результате выполнения процесса преобразуется из одного состояния в другое. | ![]() |
|
Событие | устанавливает | Связь используется, если необходимо отобразить, что возникновение события инициировано термином. | ![]() |
База данных | определяется | Связь используется, если необходимо отобразить, что значение термина определено в базе данных. | ![]() |
устанавливает статус | Связь используется для отображения статуса базы данных. | ![]() |
|
Документ | определяется | Связь используется, если необходимо отобразить, что значение термина определено в документе. | ![]() |
устанавливает статус | Связь используется для отображения статуса документа. | ![]() |
|
Информация | определяется | Связь используется, если необходимо отобразить, что значение термина определяется информацией. | ![]() |
устанавливает статус | Связь используется для отображения статуса информации. | ![]() |
|
ТМЦ | определяется | Связь используется, если необходимо отобразить, что значение термина определяется ТМЦ. | ![]() |
устанавливает статус | Связь используется для отображения статуса ТМЦ. | ![]() |
Элемент, с которым устанавливается связь | Тип связи | Назначение связи | Пример использования связи |
---|---|---|---|
Процесс | активизирует | Связь используется для отображения хода выполнения процесса. | ![]() |
Событие | порождает событие через | Связь используется для отображения хода выполнения процесса. | ![]() |
Оператор | предшествует | Связь используется для отображения хода выполнения процесса. | ![]() |
1. Диаграмма функции EPC должна начинаться как минимум одним стартовым событием (стартовое событие может следовать за интерфейсом процесса) и завершаться как минимум одним конечным событием (конечное событие может предшествовать интерфейсу процесса).
2. События и функции по ходу выполнения процесса должны чередоваться. Решения о дальнейшем ходе выполнения процесса принимаются функциями.
3. Рекомендуемое количество функций на диаграмме - не более 20. Если количество функций диаграммы значительно превышает 20, то существует вероятность, что неправильно выделены процессы на верхнем уровне и необходимо произвести корректировку модели.
4. События и функции должны содержать строго по одной входящей и одной исходящей связи, отражающей ход выполнения процесса.
5. События и операторы, окружавшие функцию на вышележащей диаграмме (Рис. 16), должны быть начальными/результирующими событиями и операторами на диаграмме декомпозиции функции (Рис. 17).
![]() | ![]() |
Рисунок 16. Диаграмма процесса, на которой встречается процесс "Функция 1" | Рисунок 17. Диаграмма декомпозиции процесса "Функция 1" |
6. На диаграмме не должны присутствовать объекты без единой связи.
7. Каждый оператор слияния должен обладать хотя бы двумя входящими связями и только одной исходящей, оператор ветвления - только одной входящей связью и хотя бы двумя исходящими. Операторы не могут обладать одновременно несколькими входящими и исходящими связями.
8. Если оператор обладает входящей связью от элемента "событие", то он должен обладать исходящей связью к элементу "функция" и наоборот.
9. За одиночным событием не должны следовать операторы "OR (ИЛИ)" или "XOR (Исключающее ИЛИ)".
10. Операторы могут объединять или разветвлять только функции или только события. Одновременное объединение/ветвление функции и события невозможно.
11. Оператор, разветвляющий ветки, и оператор, объединяющий эти ветки, должны совпадать. Допускается также ситуация, когда оператор ветвления "И", оператор объединения - "ИЛИ".
Примеры допустимых ситуаций (Рис. 18, Рис. 19, Рис. 20, Рис. 21):
![]() | ![]() | ![]() | ![]() |
Рисунок 18 | Рисунок 19 | Рисунок 20 | Рисунок 21 |
Пример недопустимой ситуации (Рис. 22):
Пример диаграммы процесса в нотации EPC приведен на Рис. 23:
Подробнее о формировании модели бизнес-процессов описано в главе Руководство пользователя → Создание модели деятельности организации.