- •Раздел 3.3 посвящен оценке качества бизнес-процесса с общесистемных позиций, позволяющей на основе ряда критериев и метрик оценить, насколько хорош спроектированный вариант и можно мл его улучшить.
- •3.1. Проектирование (планирование) бизнес-процесса
- •3.1.1. Введение в теорию формальных языков и грамматик
- •3.1.2. Грамматика бизнес-процесса и его порождение
- •3.1.5. Организация параллелизма при планировании бизнес-процесса
- •3.2. Тестирование бизнес-процесса
- •3.2.1. Специфика тестирования бизнес-процесса -
- •3.2.2. Модель потоков данных'бизнес-процесса
- •3.2.3. Критерии тестирования бизнес-процессов
- •3.3. Оценка качества бизнес-процесса
- •3.3.1. Критерий сцепления оизнес-процесса
- •3.3.2. Критерий связности бизнес-процесса
- •3.3.3. Порождение вариантов выполнения :к[ бизнес-процесса с учетом типа связности «'?*"
- •3.4. Анализ бизнес-процессов
- •3.4.1. Метод статического анализа потоков данных бизнес-процесса
- •3.4.2. Методы динамического анализа щ
- •Дайте определение грамматики бизнес-процесса.
- •Постройте грамматику бизнес-процесса «Прием на работу нового сотрудника». Выберите и аргументируйте вариант его исполнения.
- •Постройте грамматику бизнес-процесса «Увольнение сотрудника». Выберите вариант его (исполнения и синхронизируйте его с вариантом исполнения процесса «Прием на работу нового сотрудника».
- •4.1. Понятие реорганизации
3.3.3. Порождение вариантов выполнения :к[ бизнес-процесса с учетом типа связности «'?*"
Введенные критерии сцепления и связности и ранжирование их типов позволяют оценивать качество спроектированных бизнес-процессов путем определения имеющих место типов сцепле-. ния и связности и оценки возможности их улучшения.
Веденный в.разд. 3.1.2 аппарат порождающих бизнес-процесс грамматик позволяет строить возможные варианты выполнения бизнес-процесса, учитывая заданный тип его связности. Для решения этой задачи используется механизм синтезируемых атрибутов и специальных (вводимых в данном параграфе) методов их
синтеза.
Для порождения вариантов выполнения бизнес-процесса, имеющего последовательную или информационную связность, введем в его грамматику понятие использования и накопления ресурсов. В общем случае с любым ресурсом связаны две группы функций его изменения: использование и накопление, соответ-
ственно уменьшающие и увеличивающие его количество. Следу ет отметить, что в случае рассмотрения информационных ресур- - сов понятия использования и накопления преобразуются в пеня- , тия чтения и записи. - -\
Обозначим использование некоторого ресурса гг через да(/>), а '% его накопление через р(г,). Значением функций тир будет I являться величина, на которую уменьшается или увеличивается .'«• совокупное для рассматриваемого бизнес-процесса количество .1 ресурса*). ■.-... - - f
' Расширим множество синтезируемых атрибутов Нерассмот ренной в главе 2 грамматике бизнес-процесса. Пусть теперь -, А, — {m(r,)} u {/>(/>)}, где г{ € Л (множество ресурсов предприятия). .' Тогда порождающие правила грамматики бизнес-процесса при- "'; мут следующий вид: 'Л
\)А=*АВ {(г,, z2,.... Zk)) {о,} или A{Oj} =*A{Oj)B {(г,, z2, -, Z$ \ {o£, где А, В - бизнес-функции; z„ - m(rm) j p(rm); rm - значение т-то ресурса, требуемого при исполнении функции В (1 £ т < к); Oj,o{ — идентификаторы подразделений в рамках оргштатной структуры, исполняющих функции Ли В соответственно.
2) А' => АВ {(г„ z2,..., zk)} {о/^и Л{о/ => Aty В {(г„ z2,.... zk)} . {о,}, где символ ' означает возможность параллельного исполне ния бизнес-функции, для чего необходимо наличие еще по край ней мере одного правила: А' =>.*4С (или А\о}}' => А{о})С соот ветственно). -■ '>-
3)s0=>A{(zt,z2,....zk)) {о,-} или V => A {(zi,z2,...,z*)} {о,), где
При этом предполагается, что бизнес-функция В не может одновременно использовать и накапливать один и тот же ресурс, что с очевидностью следует из введенного в главе 2 графа бизнес-процесса (на уровне бизнес-операций).
Отметим, что выбор значения Zm определяется направлением соответствующего ребра использования ресурса из множества ЕЯ: при наличии ребра (В, rm) z„ = p(rm), а при наличии ребра
Определим теперь методы синтеза атрибутов, обеспечивающие последовательную и информационную связность порождаемого бизнес-процесса. В общем случае эти методы теперь имеют вид
mst-<ZiW, -, V) = tfi%'-l),/2'(z2'-'), ...,fkWX))Bmi> 1.
ллл
При 1=1 msx:(z\,z2 ,..., zk) - (г, ,z2 ,..., zkl), mcz„'=0,если не существует ни одного из ребер (1, rm), (rm,l), принадлежащих множеству ER.
Определим функции ./J* метода ms(, обеспечивающие последовательную связность, следующим образом:
если $м.= mflrj), raffa") ~р' (rj) шш//(^л) = т'ф);
если V ~PiA (*>), TO/V')ш *' (Tj) или f, %") -j»'<0);
если^"1 «O.TOjyV )*^'<0>или^'<г/ > ==|«/<'у)или
/fa")-о:\
Таким образом, к каждому порождающему правилу фактически привязывается семейство методов мощностью от 2* до 3* (к = j R\). При этом для всех без исключения правил это семейство методов является одним и тем же.
Приведенный в разд. 3.1.2 алгоритм автоматического порождения вариантов исполнения бизнес-процесса, т.е. всех возможных цепочек, порождаемых соответствующей грамматикой, может быть легко модифицирован для порождения всех правильных цепочек языка, удовлетворяющих требованиям критерия последовательной связности. Для этой цели в шаги 2.1 и 3 должны быть включены внутренние циклы по числу методов синтеза.
Определим теперь функции /■ метода msh обеспечивающие информационную связность, следующим образом:
если*/1»*'-1 (rj), to f/(z/-1) =т1(фти//(ъ'1) = т'(Щ;
еслиz/-x =piA (^то J5V1)"°;
• если ZjiA = 0, to fj%iA) = т' (/у) или^Чг/1) = 0.
Таким образом, к каждому порождающему правилу фактически привязывается семейство методов мощностью до 2 . При этом для всех^ез исключения правил это семейство методов является
одним и тем же.
Из тех же соображений, что и в случае последовательной связности, алгоритм автоматического порождения вариантов исполнения бизнес-процесса из раздела 3.1.2 также может быть легко модифицирован для порождения всех правильных цепочек языка, удовлетворяющих требованиям критерия информационной связности.
Для порождения вариантов выполнения бизнес-процесса, имеющего функциональную, процедурную или логическую связ-
ность, использование механизма синтезируемых атрибутов и со ответствующих методов синтеза нецелесообразно, поскольку зги методы будут основаны на переборе и попарном сравнении сим волов порождаемой в данный момент и всех уже порожденных цепочек при каждом применении любого из порождающих пра вил. . Гораздо проще осуществить такой перебор и уравнение однохржгно после построения всех возможных вариантов вьптол- • нения бизнес-процесса. Это можно осуществить также за счет расширения алгоритма автоматического порождения вариантов исполнения бизнес-процесса из разд. 3.1.2 путем введения спе циального блока анализа цепочек (шага 6 алгоритма), предшест вующего блоку завершения алгоритма. , ,У
Блок анализа для порождения всех правильных цепочек языка, удовлетворяющих требованиям критерия процедурной связности, выглядит следующим образом:
Шаг 6. -.:.-',
6.1. Выбор очередной порожденной цепочки. Бели множество цепочек исчерпано, то переход к шагу 7.
62. Построение множества символов CS, входяидах в состав иепочки. Ж
У-&3. Сравнение множества СУ с множеством vJ$VP Щ.А. Если CS = Vnkj V-f, то переход к подшагу &$&' %£.Если CS*Vn\j VT, то вычеркивание цепочк** м переход к подяшуб.1. "*
Шаг 7. Завершение работы алгоритма.
Бшж анализа для порождения всех правильных цепочек языка, удовлетворяющих требованиям критерия функциональной связяоега, выглядит следующим образом:
Швгй.
6.1. Выбор очередной порожденной цепочки. Если множество цеяпек исчерпано, то переход к шагу 7.
6JL Построение множества символов CS, входящих в состав цепочка.
63.Сравнение множества CS с множеством VNu VT. 6.4.Бели CS = Vnkj VT, то переход к подшагу 6.6.
65.&ЛИ CSV VN*u VT, то вычеркивание цепочки и переход к подшагуб.1.
€£. Построение множества пар CR - {{А, В)} из рядом стоящих самолов, входящих в состав цепочки.
Сравнение множестваCR с множеством управляющих ребер графа бизнес-процесса Е.
Если CR = Е, то переход к подшагу 6.1.
Если CR ф £, то вычеркивание цепочки и переход к подшагу 6.1.
Шаг 7. Завершение работы алгоритма.
Блок анализа для порождения всех правильных цепочек языка, удовлетворяющих требованиям критерия логической связности, выглядит следующим образом:
Шаг 6.
Выделение символов аир, соответственно начинающих и завершающих логический вариант.
Выбор очередной порожденной цепочки. Если множество цепочек исчерпано, то переход к шагу 7.
6.3. Проверка вхождения в состав цепочки подцепочки
(а,...,р).
6.4. Если вхождение подтверждается, то переход к под шагу 6.2.
6.5. Если вхождение не подтверждается, то вычеркивание це почки и переход к подшагу 6.2.
Шаг 7. Завершение работы алгоритма.
Для порождения вариантов выполнения бизнес-процесса, имеющего временнуйшвязность, также воспользуемся расширением алгоритма автоматического порождения вариантов исполнения бизнес-процесса из главы 2 за счет введения блока анализа цепочек {шага 6 алгоритма), предшествующего блоку завершения алгоритма. Для этой цели обозначим через t(A) время начала выполнения функции А, а через £ — значение временного порога, критичного для критерия временной связности. Тогда блок анализа для порождения всех правильных цепочек языка, удовлетворяющих требованиям критерия временной связности, выглядит следующим образом:
Шаг 6.
6.1. Выбор очередной порожденной цепочки сцо^... ая. Если множество цепочек исчерпано, то переход к шагу 7.
6.2./= 1.
к =/+1.
Выбор очередного символа цепочки ак. Если цепочка исчерпана, то/ =/ + 1.
6.5. Если.; < п, то переход к подшагу 6.3, иначе переход к под- -шагуб.1.
Проверка неравенства J t(aj) — i(ak) j < е.
Если неравенство выполняется, то к = к + J и переход к подшагу 6.4.
Если неравенство не выполняется, то вычеркивание це-: почки и перйход к подшагу 6.1. . '
Ща г 7. Завершение работы алгоритма.
Таким образом, существуют по крайней мере два способа порождения вариантов выполнения бизнес-процесса, удовлетворяющих заданному типу связности (или типам связности, поскольку возможно требование одновременного соответствия нескольким типам связности, например, последовательной, временной и процедурной):
• способ с использованием механизма синтезируемых атрибутов
и соответствующих методов синтеза, позволяющий при порож-
. дении исключать цепочки, не удовлетворяющие соответствующему типу связности;
• способ модификации алгоритма вывода, состоящего из этапа построения всех возможных правильных цепочек без учеШги- па связности и этапа анализа построенного множества цевдаек на предмет удовлетворения соответствующему типу связности.
След^Ь'т отметить, что в принципе для решения поставленной задачи можно применять как первый, так и второй способ порождения вариантов выполнения бизнес-процесса для каждого из введенных типов связности. Однако для типов связности, основанных на потоках данных (последовательная и информационная) и отражающих последовательности использования и/или накопления ресурсов, целесообразно' использовать первый способ, а для типов связности, основанных на потоках управления и отражающих состав и последовательность выполнения компонент бизнес-процесса, — второй способ.