首页 > 代码库 > 21种工作流模式

21种工作流模式

流程模板管理--挂接

流程实例

代办任务

指派任务

会签

回退(自由流)

.....

================================================

基础控制过程:

模式所涉及流程的执行路径是在设计时即可确定的,不需运行时的信息。包括:Sequence(顺序模式)、Parallel split(并行分支模式) 、Synchronization(同步模式)、Exclusive choice(排他选择) 、Simple merge(简单合并模式)。

顺序(Sequence)

案例:“用户付款”后才能进行“发送货物”

平行拆分(Parallel Split)

案例: “用户付款”后激活了“发送货物”以及“通知用户”的执行。

同步(Synchronization)

案例:“发送货物”以及“通知用户”两个并行活动执行完毕后,激活“存档”活动。

排他选择(Exclusive Choice)

案例:“下完订单”后,可以选择“银行卡付款”或者“邮局汇款”,只要选择一种方式即可。

 简单合并(Single Merge)

案例:无论在何种方式的“付款”之后,进行“发送货物”。

多路选则(Multi-choice)

案例:“发起会签”之后,可以多种选则会签方式,但至少要选择一种。

同步合并(Synchronize Merge)

案例:要等待所有需要会签的活动都结束才进入“会签结束”,忽略不需要会签的活动。

多路合并(Multi-merge)

案例:报销过程中假如分为住宿费、交通费、飞机票特殊报销,每种类型都需要进行审批。如果飞机票的审批比较严格,拖得较久,可能就需要其他的费用先审批通过进入下一环节。

鉴别器(Discriminator) 

案例:M个“会签”活动中只要一个会签完成就立即进入“会签结束”。

M中N鉴别模式 (N out of M)

案例:M个“会签”活动中只要N个会签完成就立即进入“会签结束”。

结构化过程

模式所涉及流程的执行路径是由运行时决定的,而非设计时确定。包括:Arbitrary cycles(强制循环模式) 、Implicit termination(隐式终止模式)。

任意循环(Arbitrary Cycles)

案例: “修改提交”后进入“经理审批”,但未通过,又回到“修改提交”

 隐式终止(Implicit Termination)

案例: “主管审批”通过后进入“经理审批”,未通过则无下一个活动。

多实例过程

多实例”是指在流程图中,一个活动在同一时刻拥有多个可运行的、处于活动状态的实例。

非同步的多实例(Multiple Instances Without Synchronization)

案例:在网上订购书籍,以书为单位,每一本都会独立产生一个购书实例,并且每个实例之间不需要同步数据。

基于状态的模式

模式所涉及根据当前运行的流程状态来改变流程里的执行路径,包括:Deferred choice(延迟选择模式) 、Interleaved parallel routing(交替平行路由模式) 、Milestone(里程碑模式)

延迟选择(Deferred Choice)

案例: 在收到货物之后,可选择两种方法将其送到。选择取决于相关资源的可用性。如果资源均不可用,选择会被推迟到直到其中一个资源可用为止。

交替平行路由(Interleaved Parallel Routing)

案例: 体检流程中的活动有各种常规检查和血液检查,哪个在先哪个在后都可以,但是不可能同时检查。

19 里程碑(Milestone)

案例: 客户在确定交付的前两天是可以取消订单的。

取消模式

 模式所涉及的流程在运行时disables一个活动或者整个流程,包括:Cancel activity(活动取消模式)、Cancel case(实例取消模式)。

取消活动(Cancel Activity)

案例: 网上购书时已经下了订单,“支付货款”活动激活,这时如果取消了订单,那么相应的“支付货款”活动也要取消。

取消实例(Cancel Case)

案例: 网上购书时如果取消了购书的活动,所有因订单激活的购书流程实例都要取消。

转帖处;http://www.uml.org.cn/workclass/201209293.asp