Диссертация (1152223), страница 46
Текст из файла (страница 46)
Во-вторых, как показано на рисунке 3.27-Б, ненаправленная ассоциация связывает объект данных с потоком управления, такая форма подчёркивает, что потокиуправления и данных суть одно и то же. Если в ходе моделирования процесса возникает желание отобразить статус обработки, можно опционально описать состояние объекта данных, оноизображается в квадратных скобках, как показано на рисунке 3.27-В. К сожалению, из описаниястандарта остаётся не ясно, идёт ли речь о моделировании дискретного потока, образующегопоток управления, или о моделировании постоянного потока, образованного глобальными переменными.
Можно сделать вывод, что диаграмма WFD позволяет описать трансформации исобытия, однако у неё наблюдается дефицит выразительных возможностей при моделированииинформационных объектов и их состояний. Диаграмму работ, по аналогии с диаграммой потоков данных, называют трансформирующей, что не верно, т.к. она изображает не только операции, которые преобразуют входной поток, но ещё и работы, которые данные не изменяют, номаршрутизируют. Операции трансформируют объект, его состояния на входе и выходе различаются. Логические операторы и события объект не изменяют, но маршрутизируют, первыесинхронно с потоком управления, а вторые асинхронно.Рисунок 3.27 - Моделирование объектов данныхИсточник: составлено автором.Рассмотрим действие логического оператора «И». Этот логический оператор расщепляетпоток управления, однако стандарт не специфицирует, что происходит с потоком данных.
Возможны две ситуации, во-первых, поток данных дублируется, так что каждая ветвь работает сосвоей копией данных. Во-вторых, данные не дублируются, так что обе ветви имеют доступ кобщему потоку данных. Обсудим оба варианта более подробно.В первом случае, когда данные дублируется, возникают несколько независимых информационных потоков. Следовательно, каждую ветвь можно рассматривать как подпроцесс, образованный отдельным объектом управления, и моделировать отдельной диаграммы состоянийSTD. Таким образом, ЛО ветвления «И» может увеличивать число объектов управления процесса.
Если на узле слияния «И» параллельные потоки объединяются, то понадобится объединить данные из параллельных ветвей, при этом число потоков уменьшается. Поскольку сквоз-177ной процесс генерирует один отклик на каждое входное воздействие, мы можем сделать предположение, что число дополнительно порождённых потоков и количество терминированныхпотоков должны совпадать.Для иллюстрации рассмотрим пример организации, в которой выполняется бумажный документооборот. Поскольку документ существует в единственном экземпляре, его параллельнаяобработка разными специалистами невозможна. Чтобы разрешить параллельную обработку, сбумажного документа изготавливаются копии, которые учитываются как отдельные документы.
Теперь сотрудники могут одновременно работать, каждый со своим экземпляром документа. Когда параллельная обработка завершается, результаты работы этих сотрудников объединяются, все визы и пометки сводятся в оригинал. Далее работа идёт с оригиналом, а сделанныеранее копии более не используются. Теперь представим, что та же организации перешла наэлектронный документооборот. В этом случае необходимо создать нужное число электронныхкопий документа, а затем, после выполнения параллельных ветвей, обработать все экземпляры,чтобы собрать внесённые участниками замечания и комментарии.
Итак, можно сделать важныйвывод, если поток данных процесса разделяется, то каждый отдельный поток следует учитывать, как отдельный подпроцесс.Теперь рассмотрим второй случай, потоки данных не дублируются, при этом возможныследующие проблемы. Так как параллельные ветви могут одновременно вносить изменения водин поток, то возможно возникнет коллизия, связанная с недетерминированностью состоянияобъекта из-за взаимных блокировок при попытке изменения этого объекта.
Рассмотрим пример,представим, что экономист и технический специалист согласуют договор, причём имеют параллельный доступ к одному документу. Если один специалист внёс свои коррективы раньшедругого, то второй увидит замечания первого, но первый не увидит результаты работы второгоТаким образом, одновременный доступ из параллельных ветвей к одному объекту данных может привести к коллизии.К сожалению, стандарт моделирования BPMN не специфицирует работу логического узла«И» с данными, так что различные реализации программных продуктов на базе этого стандартапо-своему осуществят работу этого узла с данными.
Аналитик вынужден руководствоваться нетребованиями стандарта, а особенностям реализации конкретного программного продукта.Семантика исполнения операций процесса определяется следующим образом. Если процесс образован работами, трансформирующими один, общий для них информационный объект,то поток управления образуется в результате движения этого информационного объекта. Еслипо ходу обработки объект сменяется, следует разделить сквозной процесс на подпроцессы, укаждого своего объекта управления.
Таким образом, выбранный нами информационный объектиграет роль переменной состояния, которая определяет статус обработки на некотором времен-178ном интервале. Прибытие потока управления инициирует исполнение операции процесса.Каждый подпроцесс, образованный одним объектом, имеет одно начальное состояние.Если с ним связано несколько стартовых событий, то они должны быть альтернативными. Ксожалению, с точки рения стандарта BPMN 2.0, это требование не является обязательным [223],что может стать причиной возможных ошибок. Каждый подпроцесс может иметь несколькотерминальных состояний, но все они должны быть альтернативными, поскольку соответствуютразным статусам завершения процесса.
Мы можем рассматривать одно из них как нормальноезавершение, а остальные как ошибочные, они будут различаться статусом завершения. С каждым терминальным состоянием связано событие, оно является одновременно внутренним дляданного процесса и внешним для следующего процесса в цепочке, инициируя его исполнение.Пример, изображённый на рисунке 3.28, показывает процесс 1, который имеет две точки окончания, одна соответствует нормальному завершению, другая соответствует ошибочной ситуации. Выбор варианта продолжения определяется статусом завершения.Процесс 1Процесс 2 (нормальное завершение)Внешнее событие,инициирующеепроцессПроцесс 3 (обработка ошибки)Рисунок 3.28 - Процесс с двумя альтернативными точками окончанияИсточник: составлено автором.Модель данныхМодель данных не описывает процесс, но показывает структуру информационного объекта.
В данном случае речь идёт об инфологической модели, описывающей понятия предметной области и связи между ними, а не о даталогической модели хранения информации. Подинформационным объектом принято понимать совокупность логически взаимосвязанных реквизитов, представляющих качественные и количественные характеристики сущности [224]. Таким образом, каждый реквизит отображает одно из свойств объекта.
Чтобы узнать наборсвойств объекта следует рассмотреть его модель данных. Таким образом, модель данных изображает объект и его структуру, однако не показывает состояния объекта, выполняемые над нимтрансформации и события.Обсуждение проблемы дефицита выразительностиРанее мы предположили, что нотации и языки, используемые для моделирования бизнеспроцессов не способны без потерь передать все свойства окружающей реальности, только частьиз них. Проведённый нами анализ подтвердил эту гипотезу, позволил сделать вывод о дефиците179выразительности таких языков и нотаций как: SRD, DFD, WFD, PERT, сети Петри, EPC, BPMN.Для полноты, в исследование включена инфологическая модель данных процесса.Таблица 3.4 суммирует результат исследования.
Можем увидеть, что ни одна из перечисленных в таблице моделей не позволяет отобразить сразу все четыре концепта онтологическоймодели Бунге-Ванда-Вебера, а только некоторое их подмножество. Чтобы отобразить все концепты необходимо использовать моделирование сразу нескольких диаграмм, выбирая их такимобразом, чтобы вместе они изобразили все четыре концепта, как показано на рисунке 3.29.STDDFDWFDPERTPetri NetsEPCBPMNER++++++++++Источник: составлено автором.А) онтологическая модель процессаАтрибутыобъектаСобытиевнутреннее внешнееТрансформацияСостояниеобъектаОбъектТипы диаграммСтруктураобъектаТаблица 3.4 - Дефицит выразительности языков и нотаций моделирования бизнес-процессов+++++-++++-В) диаграмма состояний STD <S1,T2,S2>S3СостояниеT2,E2exS1T1,E2exS2T2,E2exS4Г) диаграмма потоков данных DFD <T1,S1,T2>ОбъектТранформацияЛогическийоператорS3Событие(Внутреннее)S1T1S2T2S4Д) Сеть Петри PetriNet <S1T1,T2>S1Событие(внешнее)ORS2T1Е) Модифицированная диаграмма Ганта Gant <T1,E1in,E2ex,T2>ЗаказE0inТоварT2T1T0СуммаS4T2Б) Диаграмма сущность связь ERКлиентS3E1inE1exОжиданиеДлительность T1E2exОжиданиеE1inДлительность T2Рисунок 3.29 - Пример, иллюстрирующий состав интегрированной модели процессаИсточник: составлено автором.Рассмотрим метод структурного проектирования, предложенный Э.
Йорданом [108], который предложил проводить моделирование последовательно в нескольких частных моделях:180ER, STD, DFD, осуществлять балансировку диаграмм. Структура объекта данных раскрываетсяна ER диаграмме, трансформации, выполняемые над этим объектом, изображаются на диаграмме DFD, состояния объекта в результате обработки показываются на диаграмме STD. Балансировка предполагает, что однотипные объекты на всех диаграммах совпадают. Таким образом, каждая модель по отдельности обладает дефицитом выразительности, но вместе они способны отобразить все концепты онтологии Бунге-Ванда-Вебера. Можно заметить, что методЙордана не предназначен для описания систем «реального времени», поэтому он опускает временной аспект, не предполагает моделировать временные характеристики исполнения программы, не использует ни диаграмм потоков работ WFD, ни сетевых графиков PERT.