2004-07-27
传统的流程模型是由活动及其逻辑关系组成,重在对活动关系的描述而不是角色之间的承诺(commitment),对参与者的角色定位和合理配置重视不够。一个角色通常负责流程的多个活动。在传统的流程模型中,它们交错分布在一个模型中,对于复杂的流程不易从整体上把握角色的责任及其合作关系(这里的角色属于层次型概念,它是对流程参与者的目标、能力、责任、约束和协议等属性和行为的封装)。流程的角色模型强调组成流程的角色模块及其关系,下图是基于角色的流程对象分析图。
基于角色的流程描述,目前已出现了几种描述方法,它们多是从基于活动的流程描述方法扩充而来,突出了角色之间的交互。总体上这些方法又可分为非形式化的图形表示和形式化的语言脚本表示,非形式化的图形表示方法相对较多。经常采用的跨功能流程图就是一种初级的基于角色的流程模型,下表中的RAD表示方法就是根据它演化而来,从中可以看出流程的角色模型把活动包含在角色之间的交互中。
流程的角色模型: 常用的基于角色的流程描述方法
流程的角色模型: 描述方法
|
概述
|
特点
|
RAD(role
activity diagram)【1】
|
RAD的基本思想是组成流程的活动按角色聚类,以便能从各角色执行的活动集把握它们的责任,而且可以把注意力集中在角色之间的交互活动上。因此RAD可以由传统基于活动的流程图派生而来。从组成元素上看,除活动外,RAD还包括状态和控制等元素,状态表明活动的原因和结果,控制表示路径选择等。也有学者用Petri网做类似的表示。
|
RAD表示法扩展了基于活动的流程表示,虽然它使角色的交互明晰化,但也增加表示的复杂性,因此不便于表达复杂的流程。
|
Communication-based
techniques[2]
|
强调了角色之间的交互。把交互的两个角色看成客户和服务者的关系,每个交互过程被分解为四个阶段(例2图中用带有箭头的椭圆形表示)。整个流程由角色的交互环组成。
|
本质上是基于活动的流程描述的扩展,因在各活动点增加了角色交互的详细描述而变得复杂化。
|
流程的角色模型: UML
(unified modelling
language)
|
UML给出了两种形式的交互图:顺序图和协作图。顺序图展示对象按时间顺序进行的交互,而协作图表示的是角色之间的协作关系,以及为产生所要求结果所交换的一组消息,但不强调协作的顺序关系。
|
表达简洁,但比较抽象,需要对UML的语法比较了解。
|
流程的角色模型: 例1:贷款审批流程的RAD图
例2:基于通讯技术(communication-based
technique)的采购流程
流程的角色模型: 例3:贷款审批的消息顺序图
从上述例子可见,流程的角色模型是以角色为中心,由多个角色构成的“客户服务”链,便于理解、实施以顾客为中心的战略。它不是排斥基于活动的流程管理,相反在寻求两者的结合。流程的动态变化,如活动的增删、顺序的调整、合并以及串行活动并行化等可以映射到角色及其关系的调整。
参考文献 [1] Ould M A, Roberts C. Modelling iteration in the
software process. Proceedings of the Third International Software Process
Workshop, Breckenridge, Colorado, USA, IEEE Computer Society Press,
1986:17-19 [2] Gregory Mentzas, Christos, Stylianos Kavadias. Modeling
business process with workflow systems: an evaluation of alternative approaches.
International Journal of Information Management,
2001,21:123-135
|