编辑推荐: |
本文将介绍UML和ArchiMate基本架构建模领域中这两种技术的可能性和局限性。
来自于architecture-center,由火龙果软件Anna译、推荐。 |
|
ArchiMate和UML对比:软件建模
ArchiMate和UML对比:业务建模
本文第三篇:ArchiMate与UML:IT基本架构建模,正文如下:
我们认为什么是基本架构?
如果我们看一下Gartner的IT术语表,可以看到IT基本架构是:硬件,软件,工具和服务组件的系统,它们支持业务系统和支持IT的流程的交付。[2]
每当我们设计或构建基本架构时,我们都指的是硬件和软件,其位置和互连方式
UML中的IT基本架构建模
在UML中为基本架构建模的可能性有限。最接近基本架构的是部署图。该图使我们能够对软件组件的执行环境进行建模。但是,没有专门针对纯硬件基本架构和网络环境的图表。您可以在下面查看部署图示例。

[3]来源:visual-paradigm.com
ArchiMate中的IT基本架构建模–技术层
在上一篇文章中,我们探讨了ArchiMate的业务层元素,该元素用于对业务流程和用例进行建模。为了对基本架构进行建模,我们使用技术层。通过使用来自此层的元素,我们可以为软件以及执行环境建模。此外,您还可以非常简要地概述为应用程序或业务用户提供的硬件和技术服务(如数据库访问或消息传递系统)之间的网络和连接。在下面,您可以查看在该层上定义的一些语言元素。
元素 |
定义 |
符号 |
节点 |
一个计算机或者物理的资源,它可以驻留、操作或者与其他的计算机或者物理的资源交互。 |
 |
设备 |
一个物理的IT资源,在它的上面系统软件和部署的工件可以被存储或者部署,以便可以执行。
|
 |
系统软件 |
提供或者支持一个存储或者执行环境,以便让软件或者数据部署在上面。
|
 |
技术协作 |
一个两个或者多个节点的聚合体,这些节点一起工作以便执行共同的技术行为。 |
 |
技术接口 |
一个访问点,在这里一个提供技术服务的节点可以被访问。
|
 |
路径 |
在两个或者更多的节点之间的连接,通过这个连接这些节点可以交互数据或者资料。 |
 |
通信网络 |
一组结构和行为,它们连接计算机系统或者其他的电子设备,以便传输、 |
 |
技术功能 |
一个可以被一个节点执行的一组技术行为的集合 |
 |
技术过程 |
一个由多个技术行为组成的序列,这些技术行为可以获得一个特定的结果。 |
 |
技术交互 |
可以被执行的技术行为组成的集合单元,这些行为可以被两个或者多个协作的节点执行。 |
 |
技术事件 |
一个技术行为元素,它可以引发一个状态改变 |
 |
技术服务 |
一个明确定义的对外公开的技术行为。 |
 |
工件 |
一段数据,它可以在一个软件开发过程中被使用或者创建,也可能被一个系统部署和操作。 |
 |
[4]来源:pubs.opengroup.org
UML与ArchiMate
为了比较UML和ArchiMate,我们需要提出一些基本场景,我们尝试在两种表示法中进行建模。我们希望看到几个服务器连接到一个中央交换机。应该有两个专用服务器,以冗余方式托管某些应用程序–为确保安全,我们有一个随时可用的备份。
UML示例:

在上面的模型中,我们仅使用了两个元素:device(计数器元素的元类)和artifact(描述基本架构环境中的软件)。我们还使用了简单的关联和部署关系将元素连接在一起。
如果您查看ArchiMate示例,您会立即发现很多相似之处

这是因为ArchiMate技术层基于某些UML元素。节点和设备的含义与UML中的含义相同。ArchiMate中引入的新概念称为“通信网络”,它描述了一组结构和行为,它们连接计算机系统或者其他的电子设备,以便传输。
对于基本用例,选择UML而不是ArchiMate或其他方法没有任何好处。不过,由于通信网络,路径或位置等其他元素的存在,ArchiMate允许您进行更多的建模,以物理方式显示网络和基础设施是如何组织的。。
那么,ArchiMate到底如何增加价值呢?
ArchiMate的主要优点是它允许连接多个架构域。这意味着您可以在一个图上对物理基本架构,互连,部署和使用基本架构元素的应用程序进行建模。让我们看一下扩展的ArchiMate视图,在其中我们同时使用了业务,应用和技术层:
扩展的ArchiMate视图-业务,应用和技术层:

通过组合各层,我们确切知道支持业务功能所需的基本架构元素和应用。后台办公室团队负责四个业务功能。这些功能由三个应用组件支持,它们是更大的Back
Office Suite的一部分。Suite本身存储在位于两个独立位置的两个服务器集群中。
多亏了ArchiMate,我们可以在一个视图上组合多个域。UML仍可用于提供有关部署的实现细节,同样可以使用ArchiMate实现。
总结
让我们看一下本文的主要内容:
•在UML中,我们使用部署图对基本架构需求进行建模•ArchiMate为基本架构领域提供了一个称为技术层的专用层•对于部署视图,两种表示方式都同样适用•对于基本架构建模,除了部署外,还包括有关网络或/和物理的信息位置ArchiMate是更好的选择•两种表示法可以并行维护–
UML用于精确的低层部署图,ArchiMate用于确保基本架构到其他架构连接。
|