编辑推荐: |
本文将介绍UML和ArchiMate分别在你们对业务流程进行建模的,UML
vs ArchiMate –活动图等相关内容。
来自于architecture-center,由火龙果软件Anna译、推荐。 |
|
上一篇文章ArchiMate和UML对比:软件建模我们探讨了UML和ArchiMate在建模软件解决方案方面的区别。本文将介绍ArchiMate和UML之间的业务流程建模比较。
什么是业务流程?
要对业务领域进行建模,我们需要了解基本的术语。最基本的是业务流程。根据BusinessDictionary.com
[2],它是“一系列逻辑上相关的活动或任务(例如计划,生产或销售)一起执行以产生一组定义的结果”。在现实生活中,我们会考虑许多并行发生的业务流程。在大多数情况下,他们被设定为实现许多目标。组织越大,过程与结果之间的关系就越复杂。迫切需要使用清晰的模型以图形方式解释复杂的过程。
UML中的业务流程建模
如UML先前文章中所提到的,我们有各种类型的图。为了对业务流程和业务域进行建模,我们通常使用其中的一些。图有两大类,我们使用结构图来分析给定系统的结构和行为图,从而可以分析系统中的行为,参与者和事件。在行为图之外,可以使用活动图对业务流程进行建模。他们描述了正在发生的事情,何时发生和由谁做的。
在下面,您可以看到活动图的经典示例。该用例显示了文档管理过程,其中有4个参与者参与了文档生命周期。
资料来源:www.uml-diagrams.org
在ArchiMate业务层中的业务流程建模
在上一篇文章中,我们探讨了ArchiMate的应用层,该层用于对软件进行建模。为了对业务领域建模,我们使用业务层。通过使用这一层的元素,我们可以对业务流程,组织,参与者,产品和系统的其他与业务相关的方面进行建模。下面您可以查看该层上定义的一些语言元素。这些元素用于对业务流程和其他行为进行建模:
元素 |
定义 |
符号 |
业务主角 |
一个能够执行行为的业务实体 |
|
业务角色 |
执行特定行为的职责体,业务主角可以被分配多个业务角色,此时该业务角色代表该执行者的特定行为。
|
|
业务协作 |
两个或多个业务内部主动结构元素的集合,它们共同执行集体行为。
|
|
业务接口 |
向环境提供业务服务的访问点. |
|
业务过程 |
实现特定结果(如一组已定义的产品或业务服务)的一系列业务行为
|
|
业务功能 |
一个业务行为集合,这些业务行为式基于一组所选的条件(通常需要业务资源和/或能力)而得到的。 |
|
业务交互 |
一个共同的业务行为单元(被一组协作的两个或多个业务角色执行) |
|
业务事件 |
一个引起组织状态变化的业务行为。它可以起源于组织内部或者外部,也可以在组织内部或者外部解决。 |
|
业务服务 |
一个明确定义的对外公开的业务行为。 |
|
业务对象 |
一个在特定领域中使用的概念,一般用于代表被处理的实物或者数据。 |
|
资料来源:pubs.opengroup.org
UML vs ArchiMate –活动图
为了比较业务流程建模的方法,我们将使用两种技术建模相同的用例:通过使用UML的活动图。让我们考虑以下场景:
LetsInsure是一家领先的保险销售公司。考虑客户发起的保险订购流程。在订单结算过程中,LetsInsure必须评估客户的信誉,并决定是否愿意为客户投保。如果决定是肯定的,客户必须支付保险费。无论做出何种决定,公司必须告知客户最终决定和下一步活动。
首先,让我们考虑以下UML活动图的建议:
在下图中,我们可以看到每个参与者的两个分区和流程,清楚地表明下一步是什么。
现在,在ArchiMate中建模的确切场景:
你可以看到,这两个视图是相似的-唯一的决定因素可能是个人观点:UML和ArchiMate都需要相似数量的元素来表示用例。那么,为什么还要引入ArchiMate呢?
那么,ArchiMate究竟能增加多少价值呢?
ArchiMate的主要优点是它可以促进业务与IT的一致性。假设您被要求对业务流程进行建模,但还包括在给定场景中需要什么样的IT支持的信息。在ArchiMate中,可以很容易地将两层结合在一起。让我们看一下扩展的ArchiMate视图,在其中我们同时使用了业务层和应用程序层:
通过组合层,我们可以清楚地了解此业务流程所需的应用服务。系统应用组件实现了两个服务:自动客户评估和客户沟通,这两种方法都用于客户订购保险。外部银行系统实现了客户使用的支付服务。多亏了ArchiMate,我们可以在一个视图上组合多个域。UML仍可用于提供流程详细信息(尽管BPMN可能是更好的选择),而ArchiMate模型可用于组织中流程的高级概述。
总结
让我们看一下本文的主要内容:
在UML中,大多数情况下,我们使用活动图来建模业务流程
ArchiMate有一个专用于业务领域的层,称为业务层
对于纯过程建模,两种表示法都很好。UML可以提供更详细的模型。
ArchiMate能够使业务与其他领域保持一致,以显示高层次的概述和应用/基础架构要求
两种表示法可以并行维护– UML用于低级流程建模,ArchiMate用于将这些流程与其他域对齐
|