原地址:http://gocom.primeton.com/modules/newbb/item40732_40732.htm?PHPSESSID=b3d40a5147b401adc250801cdef036cf&referer=csdn&utm_campaign=gocom&utm_source=csdn&utm_medium=lks 摘要:介绍几种工作流的模式 作者:刘航 工作流的基本模式 1、顺序(Sequence)模式 描述:只有当前一个活动结束后,后一个活动才会被触发,即按照预定的任务列表,有序的执行。
举例:对于一个BUG的处理就满足该模式。
2、并行(Parallel Split)模式 描述:一个活动的结束能够触发若干个活动的开始,这些被触发的活动能以并行的方式同时或按任意顺序进行。
举例:当提交一个BUG时会分别向BUG信息表和BUG日志表中添加相应记录
3、同步(Synchronization)模式 描述:如果不考虑超时(一般流程会设定任务执行期限)和异常等情况,流程必须在聚合点等待所有的分支都执行完(到达And 汇聚点)才能激活后继任务,才能正确的往下运行。
举例:支持人员分派的问题由开发人员修改,然后不仅要经过测试人员验证通过还要再次经支持人员验证通过才能Close该BUG。
4 独占式选择(Exclusive Choice)模式 该模式分为显式独占模型(explic Exclusive Choice )和隐式独占选择模式(implicit Exclusive Choice) 1)显式独占选模型(explic Exclusive Choice ) 描述:当一个活动处理完后,其后有若干个分支流程可供选择,但根据工作流控制数据(workflow control data)只允许选择其中某一个分支运行。
如上图所示,虽然在任务Task A 后可以三个不同的活动流程可被选择,但是仅Task D 满足条件,造成后续的流程中,走了A——D 分支,而另外的分支被抛弃。 举例:当PSO人员提交一个问题时,该问题的类型需要被确定。如果是产品的错误而引起的那么问题类型即为BUG;如果是由于客户的操作失误而引起的那么问题类型即为ISSUE;如是对产品的有价值的建议,那么问题的类型即为ADVICE;由上可知,当确定问题类型时三种只能选其一。
2)隐式独占选模型(implicit Exclusive Choice ) 描述:同为XOR 模型,隐式和显式的区别不是太大。唯一的不同点就是,隐式独占选模型在可供选择的分支中存在存在若干个分支满足条件,但最终,依然仅有一个分支运行。
如上图所示,存在分支A—C 和分支A—D 都满足条件,但最终也依然只能有一个分支被激活。至于哪一个分支被激活,这可能是人为的操作,也可能是某种随即的自动选择。不论哪种方式,人须保证一个分支被激活后,其他分支被抛弃。 举例:PSO的人员在提交问题的时候,他会根据问题的来源将它提交给负责相应区域的支持人员。但是,具体提交给负责该区域的哪一位支持者,就由PSO的人员自己决定或系统随机产生。不管如何选择都必须有一位支持人员要接收该问题。
不管是显式独占模型(explic Exclusive Choice )还是隐式独占选择模式(implicit Exclusive Choice)他们的执行流程都是一样的。 5、简单聚合(Simple Merge)模型 描述:前面的若干个分支,只要有一个活动被执行(假定不存在两个分支同时被执行),后面的活动就会被触发。当然,一旦某一个分支被通过。则余下的分支则被终止,或者运行到聚合点就结束。
举例:如果产品中存在某个BUG那么可能会被不同地方的用户发现,但只要有一个地方的PSO人员提出这个问题BUG就会得到处理。当其它地方的PSO再次提出该问题的时候就不会重复处理了
|