- •Раздел 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.2.3. Критерии тестирования бизнес-процессов
Для решения задачи построения маршрутов тестирования ;hji основе введенной в предыдущем параграфе модели потоков данных бизнес-процесса для различных этапов (уровней) ее построения предлагаются три критерия тестирования, обеспечивающие обнаружение рассматриваемых ошибок.
Введенная модель потоков данных отражает отношения между определениями (инициализациями и любыми последующими изменениями) и использованиями (любыми выборками для ознакомления, согласования и т.п.) атрибутов ИО для всех операций бизнес-процесса независимо от их типов. При этом для бизнес-процесса введены новые типы определений/использований каждого ИО: определение маски, регламентирующей права доступа к атрибутам конкретного ИО, определение/использование атрибутов при заданной маске. Построение модели осуществляется в Tpifl. этапа, каждому из которых соотнесено множеству, названное соответственно средой, контекстом и упорядоченным контекстом данных и содержащее в качестве элементов наборы определений атрибутов ИО. Критерием принадлежностирсаждо-го из элементов конкретному множеству является существование маршрута выполнения бизнес-процесса, на котором входящие в этот элемент определения действуют при выполнении рассматриваемой бизнес-операции.
Рассмотренным трем этапам построения модели потоков данных соответствуют три следующих критерия тестирования, ориентированные на проверку отдельных операций бизнес-процесса:
Критерий 1 требует, чтобы каждый элемент среды данных тестируемой бизнес-операции был проверен по крайней мере однажды.
Критерий 2 требует, чтобы каждый элемент контекста данных тестируемой бизнес-операции был проверен по крайней мере однажды.
Критерий 3 требует, чтобы каждый элемент упорядоченного контекста данных тестируемой бизнес-операции был проверен
по крайней мере однажды.
ill
Отметим, что обычно нельзя выбрать единственное множество маршрутов, определяемых данными критериями, без некоторого дополнительного условия, например, требования самого короткого маршрута.
Предложенные критерии тестирования являются универсаль ными в смысле применимости к бизнес-операции произвольно го типа в отличие от существующих критериев выборочного тес тирования отдельных операторов компьютерной программы, за висящих от типа тестируемого оператора. Так; при тестировании условного оператора обычно требуется проверка каждой из двух порождаемых им ветвей, при тестировании оператора цикла типа пересчета рекомендуется проверять выполнение цикла при на чальном значении управляющей переменной, конечном значе нии управляющей переменной и хотя бы одном из ее промежу точных значений. ; ; !t',v .;..-
Оценим число маршрутов, выбй]раешлс jpj1 сЧютветствии с требованиями критериев 1-3, при тестирований операции <р, имеющей К аргументов XI, XI,..., ХК. Пусть во всём бизнес-процессе имеется л; определений каждого i-го аргумента (1 <, i < К).
Утверждение. Число возможных маршрутов Р\, F2, РЗ, выбранных в соответствии с требованиями критериев 1, 2, 3, оценивается по следующим формулам:
PUIrfA/rZ^/i, (3.3)
F2<\dM\K*Ul=xKnt (3.4)
Pb<R*\dM\K*Ui=iKni, (3.5)
где | dM | — мощность множества dM.
Отметим, что неравенства (3.3)—(3.5) оценивают число возможных маршрутов достаточно грубо. В табл. 3.6 приводится сравнение фактического и оцененного числа маршрутов для примера, приведенного на рис. 3.3. Для данного примера К = 2, \4М\^2,п{ = 2, и2 = 2.
Различия в столбцах «Мощность модели» (число элементов среды, контекста и упорядоченного контекста данных) и «Фактическое число маршрутов» обусловливаются тем, что некоторые маршруты проверяют одновременно несколько элементов модели. Например, для проверки элементарного контекста данных
(х2', у21) требуется выполнение-маршрута (1,2,3,4,5,6,7,4,5,8,4,5), который также проверяет и элементарные контексты (хД у, ) и
Таблица 3.6
Номер критерия |
Оцененное число маршрутов |
Мощность модели |
Фактическое число маршрутов |
Проверяемые элементы модели |
1 |
8 |
6 |
4 |
х2 «х2 >Уг гУг |
, 2 |
16 |
7 |
3 |
(Х2в,Лв),(^,,й'), {х2\Уг) |
3 |
32 |
8 |
4 |
(хг\У11),<Уг0,х2«) |
Заметим, что для данного примера при применении наиболее часто используемых критериев тестирования компьютерных программ, требующих по крайней мере однократной проверки каждого оператора илн.каждой ветви программы, необходимо, соответственно, два Л<1,2,3,4,5,8), (1,2,3,4,5,6,7)} и три {(1,2,3,4,5,8), (1,2,3,4,5,|,7), (1,2,3,4,5,7)} маршрута.
Предложенные критерии возможно обобщить для-тестирования всего бизнес-процесса в целом. В этом случае они будут выглядеть следующим образом.
Критерий Г требует, чтобы каждый элемент среды данных каждой бизнес-операции был проверен по крайней мере однажды.
Критерий 2' требует, чтобы кажды й элемент контекста данных каждой бизнес-операции был проверен по крайней мере однажды.
Критерий 3' требует, чтобы каждый элемент упорядоченного контекста данных каждой бизнес-операции был проверен по крайней мере однажды.
В табл. 3.7 приведены статистические результаты тестирования бизнес-Лроцессов автотранспортного предприятия. На основе этих результатов и аналогичных результатов для предприятий других типов можно сделать вывод о том, что общее число маршрутов тестирования в соответствии с требованиями предложенных критериев возрастает незначительно (приблизительно на
5-10%) по сравнению с наиболее часто используемым критерием тестирования компьютерных программ Cj (требующим проверки каждой ветви программы по крайней мере однажды), при этом может существенно увеличиться длина и сложность этих марш- . РУтов. [
Таблица 3.7 j
|
|
|
Бизнес-процесс |
Критерий 1 |
Критерий Ci |
Перевозки |
31 |
29 |
Ремонты и техническое обслуживание |
78 |
75 |
Обеспечение безопасности движения |
12 |
12 |
Материально-техническое снабжение |
68 |
61 |
Продемонстрируем преимущества предложенных критериев на примере, приведенном на рис. 3.3. Для наглядности предположим, что информационные объекты X и Y содержат по два атри-. бута, т.е. X = (х[1], х[2]), Y = (у[Ц, у[2]) соответственно. Реально эти объекты могут содержать следующую информацию:
х[ 1 ] — планируемый объем поставляемого товара;
x[2J) — фактический объем поставляемого товара;
y[lj — планируемый платеж за поставленный товар;
у[2] — фактический платеж за поставленный товар.
Пусть т0 = (1,0), j»j = (1,1) — данные маски определяют разделение доступа к формированию и использованию планируемой и фактической информации, a F(X, Y) — некоторая функция контроля и согласования поставок и платежей.
При выполнении бизнес-процесса (фрагмент графа которого анализируется) на любом маршруте, проверяющем элемент контекста данных (х2', у?), например, на маршруте (1,2,3,4,5,6,7,4,5), обнаруживается ошибка в потоках данных, проявляющаяся как попытка использования в узле 5 неопределенного элемента данных по фактическим платежам у[2]. Причем данная ошибка обнаруживается при выборе произвольного множества маршрутов, удовлетворяющих требованиям критерия 1 (Г), так как при проверке контекста (х2, У]0) ни одно из определений ИО Y не может производиться при маске т, по определению.
С другой стороны, критерий тестирования компьютерных программ, требующий проверки каждой ветви программы по крайней мере однажды, не гарантирует обнаружение данной
ошибки. Например, множество маршрутов {(1,2,3,4,5,6,7,4,9), (1,2,3,4,5,7,4,9), (1,2,3,4,5,8,4,9)} удовлетворяет требованиям этого критерия тестирования, но не выявляет данную ошибку. Выбранное множество маршрутов тем более удовлетворяет требованию по крайней мере однократной проверки каждого оператора программы, следовательно, соответствующий критерий также не гарантирует обнаружения данной ошибки.
Для удобства исследования предложенных критериев пронумеруем их следующим образом: С2 - критерий Г, С3 - критерий 2', С4 - критерий 3'. Известные критерии тестирования компьютерных программ, требующие проверки каждой ветви или каждого функционального узла (оператора) графа по крайней мере однажды, обозначим традиционно Cj и С0 соответственно.
Пусть Мв — множество, элементами которого являются все возможные подмножества множества маршрутов в некотором бизнес-процессе В. Тот факт, что некоторое Mk e Мв, удовлетворяет требованиям некоторого критерия тестирования Ci5 обозначим следующим образом: Мк <-► Q. ^.
Будем говорить, что некоторый ИО ярляется определенным в бизнес-процессе, если на каждом использующем его маршруте по крайней мере одному из его атрибутов присваивается некото-• рое значение. Тогда для бизнес-процессов, в которых отсутству-ютнеопредеяенные и неиспользуемые ИЪ, а также конструкции типа skip, справедлива следующая теорема иерархии критериев.
Теорема. Любое множество маршрутов Мк е Мв, удовлетворяющее требованиям критерия Cj для 1 < i < 4, также удовлетворяет и требованиям любого из критериев Cj при 1 < j < i.
Из введенных моделей и теоремы неформально следует, что предложенные критерии обеспечивают более тщательное тестирование бизнес-процесса по сравнению с наиболее часто используемыми критериями тестирования компьютерных программ, основанных на анализе потоков их управления, за счет выделения дополнительных маршрутов, связанных со структурой потоков данных бизнес-процесса. Появление таких дополнительных маршрутов обуславливается комбинированием следующих причин.
1. Учет в моделях потоков данных различных определений ИО и их одновременного использования, а также порядка выполнения этих определений, что позволяет обнаруживать более тон-
кие ошибки при обработке данных в бизнес-процессе за счет выделения более сложных маршрутов тестирования.
2. Учет в моделях потоков данных определений маски, моделирующей права и уровни доступа к MQ, что обеспечивает более тщательное тестирование и обнаружение широкого класса наиболее типичных для бизнес-процесса ошибок.
Будем говорить, что некоторый критерий Q не хуже критерия Cj для некоторого бизнес-процесса В, если V Мк е Мв: Мк <-> Q => Мк <-> Cj. Если при этом 3 Мк е Мв: Мк «-> Q -i => Мк о CJ, то будем считать, что критерий С, лучше критерия Cj. Cj эквивалентен Cj, если Cj не хуже Cj, a Cj не хуже Cj.
Следствие 1. Для бизнес-процессов, удовлетворяющих условиям теоремы, критерий С; не хуже Cj при 0 < j < i £ A.
Займемся теперь исследованием ациклических фрагментов бизнес-процессов, которые по оценкам восьми проектов, выполненных под руководством и при участии'автора, составляют около 60% от общего числа перепроектированных бизнес-процессов на отечественных предприятиях и в учреждениях.
На рис. 3.4 приведены четыре регулярные абстрактные графовые структуры, охватывающие наиболее типовые варианты фрагментов бизнес-процессов. Анализируемые графы различаются шириной, наличием симметрии и структурированности. Графы G1 и G3 — структурированы и симметричны, граф G2 -структурирован и асимметричен. Асимметричный неструктурированный граф G4 довольно часто встречается в реальных бизнес-процессах.
Следствие 2. Для бизнес-процессов, представленных графом G1, все критерии тестирования Cj для 0 <, i <, 4 эквивалентны.
Следствие 3, Для бизнес-процессов, представленных графом G2, все критерии тестирования Cj для 1 < / < 4 эквивалентны и лучше критерия С0.
Следствие 4. Для бизнес-процессов, представленных графами G3 иС4, любой из критериев тестирования Cj при i = 2,3,4 лучше любого из критериев Cj при j = 0,1.
Таким образом, предложенные критерии тестирования позволяют:
• обеспечить обнаружение специфических для бизнес-процессов ошибок в потоках данных, связанных с их обработкой под различными масками, обеспечивающими регламенты доступа;
• обеспечить выявление всех тех ошибок, обнаружение кото-., рых может производиться с помощью традиционных критериев, основанных на анализе программных графов и применяемых к бизнес-процессам.
Рис. 3.4. Типовые варианты фрагментов бизнес-процесса