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

Евгений Кочуров03 октября 2011 г. 12:29

В комментариях к предыдущему посту Михаил Романов попросил привести пример, демонстрирующий преимущества подхода. Рассмотрим следующий, совершенно типичный, фрагмент схемы:

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

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

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

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

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

А там, где Исполнитель и Руководитель совпадают, еще проще:

Думаю, упрощение рассматриваемого фрагмента схемы заметно невооруженным глазом.

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


Тип: Записи блогов

 (3,99 - оценили 2 чел.)

Комментарии
  • Сохранить комментарий
  • Цитировать выделенное
  • Предпросмотр