在画业务流程的时候,对于复杂的业务流程,将相近的任务(tasks)组合成一个子流程是必须的。它可以简化整个流程,增强流程的可理解性,也有利于流程分析与优化。
在流程中加入子流程有两种方式,一种是加入local process,另一种是加入global process。两者达到的效果是一样的,主要的不同在于local process是属于process里的一个sub process,在project tree不会单独列出修改时也直接点sub process图标上的加号进行编辑;而global process则是单独的一个process,在project tree里有单独列出,它是被引用到某个流程里的。修改时仍需到global process里面去修改。
在具体使用这两种方法时还有一些细节上的差别,就是关于输出的处理。
对于sub process,其可结束于stop node ,但其输出仍可传递到下一个task。使用这种方法存在一个最大的不利之处,就是无法保证sub process的正确性。
对于使用global process作为子流程,其特殊之处在于这个子流程对下一个task或子流程有数据输出时,在处理其输出时有一点特别的地方。注意到每个流程是被一个黑色线框所包围的。如果流程起始于线框,表明流程是由数据驱动的(如果不是,则应该始于start node)。同样,如果要有数据输出,流程应结束于线框。但是如果只在线框上结束,则该流程无法单独模拟成功,在整个流程中当然也无法模拟成功。因为每一个流程可以没有开始结点(start node),但一定要有至少一个结束点(stop node)。所以必须在global process里加入至少一个stop node。
加入sub process可以通过画图区左边的工具箱里的add local process图标进行操作,也可以在画图区点右键菜单操作。但添加global process只能通过右键菜单操作。
温建明
2006-05-31