UML 在业务流程建模中的不足
2009-11-06 10:53:23 作者:饕餮 来源:CIO 时代网 分享 |
摘要: BPMN 在业务流程建模方面比 UML 更胜一筹,有望成为业务流程建模的新标准。
关键词: BPMBPMNUML 业务流程建模
统一建建模模语言(UML)是一种由对象管理组织(OMG)创立的帮助开发人员对软件系统进行
特定化、可视化和文档化的模型。UML 定义了十二种类型的图例,分成三类:四种图形代表静态的应用
结构;五种代表动态的行为;三种代表组织和管理应用的模式。行为类型包括用例图、顺序图、活动图、
协作图以及状态图。这些行为图经常被用来给业务流程建模。业务流程建模符号(BPMN)定义了一种图
形化的符号用于给业务流程建模,从这一点上与 UML 的行为图是相关和类似的。尽管如此,BPMN 和
UML 在业务流程建模方法上有着明显的不同。
首先,UML 是将业界多种图形的最好实践集合在一起而发展起来的,这是它的优点,但也是它的缺
点。由于它是一种杂集,它从来没有考虑设计成一种可以一起工作的方式,因而没有规定它定义的这十二
种类型的图形之间的联合性问题。
因此,开发人员只能用 UML 来给他们的应用系统的某一部分建模,而其它部分则超出了 UML 规范的
范围之外,属于用实现级层来描述,而不是建模层。相反地 BPMN 定义了单一类型,但提供了同属于基
于可执行过程元模型的多种视图。因而,BPMN 只定义了一层——过程建模层,却可以输出可执行 BPML
语言,这种语言部署在业务流程管理系统上可以立即执行。
第二,UML 是以一种面向对象的方式来给应用系统建模,而 BPMN 是以面向流程的方式给应用系统
建模。虽然 UML 定义的十二种图形是等同的,但在 UML 最佳的实践中往往倾向于优先使用第一类图形即
所谓的结构图,它包括类图,对象图,组件图和部署图。由此而产生的结果便是:由 UML 定义的业务流
程不可避免地倾向于必须事先定义好商业对象然后才能进行事务过程这一狭隘的做法。这也许可以解释
UML 为什么在真实的业务流程中没有被商业人员广泛采纳的原因。
BPMN 采用了一种几乎完全相反的方式来给流程建模,它提倡这样一种方式:首先对控制流和消息流
建模,对象只是在流程建模中隐含地定义。这样做并没有防止显性地定义附加的商业对象,或者集成已经
存在的通过商业服务而暴露的商业对象,但由于大部分商业对象模型在核心流程模型中只是部分地被隐含
地定义,总体开发过程相当简单,并以戏剧性地简单方式来更改以应用到现有的过程当中。
第三,UML 的主要目标是系统架构师和软件工程师,而 BPMN 的目标是商业分析师,系统架构师和
软件工程师。一方面,UML 已经发展为一种使软件开发过程流水作业的方法,从架构设计到应用实现—
—这些任务都是由技术人员承担。在另一方面,BPMN 发展了一种贯穿整个商业过程的开发过程流水作业
方法,从流程设计到流程部署,前一个任务是由商业人员承担,而第二个任务是由技术人员承担。
最后,UML 并没有定义任何可执行的元数据模型来帮助业务流程建模,而且,这样一种可执行元数
据模型必须使用模型驱动框架(MDA)来定义。与此相反,BPMN 是建立在流程执行元数据模型语言
BPML 之上的,遵守着设计驱动框架(DDA)因而建立一种完全可执行过程并不需要任何附加的步骤。
综上所述,BPMN 在业务流程建模方面比 UML 更胜一筹,有望成为业务流程建模的新标准。
声明:凡注明 CIO 时代网(www.ciotimes.com)原创之作品(文字、图片、图表),转载请务
必注明出处,违者本网将依法追究责任。
评论0