编辑推荐: |
软件进行建模时,我们使用UML主要使用用例图,类图和序列图
。ArchiMate有一个专用于软件建模的层称为应用程序层,多ArchiMate元素都源自UML,例如应用程序组件或接口相关内容。
来自于architecture-center,由火龙果软件Anna译、推荐。 |
|
我们从符号之间的正面对比开始。首先是UML-统一建模语言-一种应用广泛的建模技术。于1997年出版,由Open
Management Group维护。它是具有单个元模型的图形符号标准,用于系统建模。它涵盖了多种类型的图,每种图都旨在涵盖用例的特定子集。由于UML的范围广,我们需要研究它的某些方面。本文将介绍其中之一,即软件建模。我们将探讨UML和ArchiMate在该领域的异同。
了解背景
首先,让我们描述上下文。在开放大学软件开发课程中,我们找到了一个合适的模型定义。模型是软件开发中经常采用的描述形式。它们是我们用来表示和传达重要内容的抽象。限于必要的细节,它们可以帮助开发人员应对复杂性。我们所说的软件建模是指技术解决方案和系统进行建模。我们创建这些产品是为了获得某种商业价值。您可能会想到以下系统或解决方案的示例:
IT的应用或特定功能
软件接口
使用许多应用构建的系统
为企业用户提供的软件服务
现在,由于我们已经确定了共同点,我们就来探讨这两种符号的基础。
UML中的软件建模
如前所述,我们在UML中有很多图类型。有14种独特的类型分为两类:行为和结构。不是所有的都像其他人那样经常使用。实际上,根据您需要了解的有关UML图的文章,在80%的情况下,开发人员仅使用三个,最常用的是:用例图,类图和序列图。
用例图向我们展示了我们拥有哪种用例以及用户如何参与其中。类图可以帮助我们定义对象及其属性。顺序图显示了与时间对齐的信息流。它有助于显示用例背后的逻辑。
ArchiMate中的软件建模-应用层
在ArchiMate中,我们没有图类型-我们有层和视点。我们将所有与软件建模相关的元素和关系放在应用层上。请注意,我们谈论的是支持业务的软件。系统软件(例如OS或DBMS)是技术层(通常称为基础结构层)的一部分。
下表显示了在该层上定义了哪些语言元素:
元素 |
定义 |
符号 |
应用组件 |
一个应用功能的封装体,对应到模块化的并且可以替换
的实现结构。这个封装体封装了行为和数据,对外提供
服务,外部可以通过接口访问他们。 |
|
应用协作 |
两个或多个应用程序组件的聚合体,这些应用组件共同
执行集体的应用程序行为。
|
|
应用接口 |
应用服务可以提供给用户、其他应用组件或者节点的访
问点。
|
|
应用功能 |
可以被应用组件执行的自动化的行为。 |
|
应用交互 |
一个应用行为的集合单元,它的行为被两个或者多个应
用组件执行。
|
|
应用过程 |
多个应用行为的执行而形成的一个序列,这个序列执行
完成后可以获得特定的结果。 |
|
应用事件 |
一个应用行为元素,它可以标示一个状态的变化。 |
|
应用服务 |
一个明确定义的对外可用的应用行为。 |
|
数据对象 |
结构化的数据,可以被计算机处理。 |
|
UML vs Archimate –组件图
现在,我们将重点关注在软件建模方面这两种表示法之间的比较。相比之下,UML和ArchiMate有很多相似之处,尤其是在软件建模方面。ArchiMate中的许多概念都直接源自UML。常见的主要元素是称为应用组件的主要活动结构元素。它与应用程序组件的UML概念相同。由于这一点,我们在企业架构模型和UML中的实现模型之间有了直接的关系。下面的示例显示了如何基于应用组件元素将ArchiMate和UML结合在一起。
基于应用程序组件的ArchiMate和UML
资料来源:www.uml-diagrams.org
您可以将UML组件图建模为ArchiMate中的单个应用组件。因此,您可以在更广泛的上下文中展示该应用程序。在构建体系结构存储库时,您可以添加对Online
Shop元素的引用,该引用指向带有详细UML模型的外部文档,该文档可用于实现目的。
ArchiMate与UML –用例图
关于用例图,也有一些小的相似之处。应用服务可以很容易地从UML映射到用例。因此,您可以在更广泛的上下文中描述用例。在下面的示例中,您将看到UML用例图和相应的ArchiMate模型。
UML用例图示例
在这个简单的示例中,您可能会注意到三个参与者:客户,酒店和一个名为Booking System的系统。在此图中,我们描述了客户想要预订酒店房间时的用例。如果Guest正在与酒店联系,那么他可以预订房间或检查其可用性。直接使用Booking
System时,他还可以获得建议地点的列表。现在,看看相同情况的相应ArchiMate示例
在ArchiMate视图上,您可以清楚地看到更多元素。我们使用业务层和应用层这两个层次来描述客户获得所需内容的两种方式。他可以通过电话联系酒店,使用预订和查询服务。他也可以直接使用预订系统及其Web前端接口来获得相同的服务和额外的建议地点服务。需要注意的是,业务层上的Book服务是由应用层上的相应服务实现的-它们具有相同的功能,但是上下文是不同的-一种服务正在使用业务接口为客户端提供服务,而另一种则通过应用程序接口来为客户提供服务。
其他例子
在应用功能元素和序列或活动图中可以找到另一个相似之处。例如,活动图可以建模为单个应用功能。
从ArchiMate的角度来看,UML中的类图非常详细。在ArchiMate中,我们可以使用数据对象元素创建类层次结构,但是要创建实现模型,这些对象需要参考适当的类图,如下例所示。
在ArchiMate中,您可以对数据结构进行建模。在UML中,您可以对其余部分进行建模-创建系统所需的解决方案和实现细节。
总结
总结一下,让我们看一下本文的主要内容:
在大多数情况下,在对软件进行建模时,我们使用UML。在80%的情况下,用户选择以下三个图之一:用例图,类图和序列图
ArchiMate有一个专用于软件建模的层称为应用层
许多ArchiMate元素都源自UML,例如应用组件或接口
ArchiMate中的应用程序组件可以表示以UML完成的整个组件图。因此,我们可以在企业体系结构和实施模型之间建立直接联系。
用例图可以使用ArchiMate中的服务和参与者进行建模
序列或活动图可以在ArchiMate中建模为应用功能
UML中的类可以使用ArchiMate中的数据对象来描述。
|