如何画一张人见人爱的应用架构图?

这篇文章表达了我对应用架构的最新理解,并且采用Archimate架构工具进行建模,力图画出最漂亮而专业的应用架构图,为了画图还专门去学习了Archimate,大家进来欣赏一下吧。

下面也列出了我前期写的如何画业务架构数据架构技术架构图的文章,方便大家系统学习。

怎样画一张人见人爱的业务架构图?

如何画出一张清晰而专业的技术架构图?

始于业务,终于技术,敲开理解数据架构的大门!

一、企业架构全景图

TOGAF是一个工具集、术语集和流程集,提供了一个全面的方法来开发企业架构。TOGAF的中心是一个被称为"架构开发方法"(简称ADM)的流程,如下图所示:

977de7581d3877afd3bef62298af16b5.png

我们最关注的是业务架构、数据架构、应用架构及技术架构,这些架构层次的描述体现了从高层策略到低层实施的逐渐细化的逻辑。

737c385de5348c507f5492d2fbcc5e78.png

四种架构域是层层递进、相互关联的。

业务架构定义了“我们需要做什么”。

数据架构和应用架构描述了“我们将如何做到这一点”。

技术架构则提供了“我们需要哪些工具和技术来实现这一目标”的答案。

当一个组织制定企业架构策略时,这四个域通常需要协同工作,以确保策略的完整性和连续性。

二、应用架构的核心概念

在TOGAF中,应用架构是整个企业架构的一个子集。它专注于应用软件的设计和构建,以支持企业的业务目标和要求。

应用架构在TOGAF中的主要任务包括:

1、描述主要应用组件和它们的关系:这包括了不仅仅是单一应用程序内的组件,还包括了多个应用程序之间如何交互和协作。

2、界定与业务架构的关联:应用架构需要紧密地与业务架构相连接,确保应用程序能有效地支持业务流程和业务功能。

3、接口和交互:定义应用组件之间,以及应用组件与外部环境(包括其他应用、系统和用户)之间的接口和交互模式。

4、数据交换和数据模型:描述应用如何存储、访问、管理和交换数据。

5、技术和平台:选择合适的技术和平台以支持应用的运行和交互。

6、标准和指导方针:应用架构也涵盖了关于如何构建和维护应用的标准和最佳实践。

7、可持续性和可扩展性:确保应用架构能适应未来业务和技术环境的变化。

8、安全性和合规性:包括对数据访问和信息交流的安全控制,以及满足相关法规和标准。

三、应用架构目录、矩阵和视图详解

那么,应用架构具体长啥样呢?

TOGAF 提供了一个详细的架构工具模型,如下所示:

dcf1e741b3eb5c74905edaaa8aabb414.png

在阶段C,TOGAF定义了应用架构的主要交付物,共分目录、矩阵、图三类类型,总计14个制品:

1、:应用通信图、应用程序和用户位置图、应用程序用例图、软件工程图、软件分发图、流程/应用程序实现图、企业可管理性图、应用迁移图

2、目录:应用程序组合目录、接口目录

3、矩阵:应用交互矩阵、应用程序/功能矩阵、角色/应用程序矩阵、应用程序/组织矩阵

下面以案例的形式逐个说明这14个制品的具体内容,应用架构的最终交付物往往是这14个制品的编排组合:

1、应用通信图

应用程序通信图的目的是描述元模型实体中应用程序之间通信的所有模型和映射。它显示应用程序组件和组件之间的接口。接口可能与数据实体相关联,如果合适的话,应用程序可能与业务服务相关联。

下图示例了一个计费体系的应用通信图:

816c7dec8b048d244c90adef12b94f79.png

2、应用程序和用户位置图

应用程序和用户位置图显示应用程序的地理分布,目的是清楚地描述业务用户通常与应用程序交互的业务位置,但也是应用程序基础设施的托管位置。

下图显示了一家制造企业的应用程序和用户位置图:

dc32b2640debb5e0e9e373ed77465c2d.png

3、应用程序用例图

应用程序用例图显示应用程序服务的使用者和提供者之间的关系。应用程序服务由参与者或其他应用程序服务使用,应用程序用例图通过展示功能如何以及何时使用,提供了描述应用程序功能的丰富性。

应用程序用例图的目的是帮助描述和验证参与组合及其角色与应用程序之间的交互。随着架构的进展,用例可以从功能信息演变为包括技术实现细节。应用程序用例可以在更详细的系统设计工作中重复使用。

下图显示了银行系统的应用程序用例图:

f2bbe67173461861189066953f7152bb.png

4、软件工程图

软件工程图将应用程序划分为包、模块、服务和从开发角度看的操作。它使得在规划迁移阶段时能够进行更为详细的影响分析,以及分析机会和解决方案。对于应用程序开发团队和应用程序管理团队在管理复杂的开发环境时,这种图是理想的。

下图显示了支付应用组件的软件工程图示例,可以看到有服务,包和模块,模块其实可以进一步下钻到代码文件等等:

7ab06e9a0d24939b0c781d8976ad4992.png

5、软件分发图

软件分布图展示了应用软件如何在整个系统中被结构化和分布。它在系统升级或应用合并项目中非常有用。

该图展示了物理应用是如何分布在物理技术上以及这些技术的位置。这不仅能清晰地看到软件是如何被托管的,还能让运维人员了解一旦应用软件被安装后是如何维护的。

下图是典型的CRM系统的软件分发图示例:

1236b482bfb129ebc727afeb26e21904.png

6、流程/应用程序实现图

流程/应用程序实现图主要用于清晰地描述多个应用如何协同完成一个业务流程,并在执行过程中的何时何地发生交互。

该图表不仅展示应用间的通信,还进一步指定了这些通应用交互和执行任务的具体顺序或时间限制。它还明确标出了在哪些关键环节,任务或数据从批量处理方式切换到实时处理方式,或反之。

通过这种方式,流程/应用实现图可以帮助我们识别复杂流程中可以简化或优化的环节,并找出潜在的改进点,以更高效地为业务用户提供所需的信息。这一图表特别适用于那些旨在提高流程效率和减少应用间不必要交互的场景。

下图显示了股票买入业务流程对应的应用程序实现图示例:

2d398142b04c8bd9d3613b335e103686.png

7、企业可管理性图

企业可管理性图展示了一个或多个应用程序如何与支持解决方案运营管理的应用和技术组件进行交互。

这张图实际上是应用通信图的一个特定过滤器,专门用于企业级管理软件。通过分析,可以揭示重复和缺口,以及组织的IT服务管理运营中的机会。

下图示例了一个电商系统的企业可管理性图:

f08985a9deb012856cf9aba71d1e4166.png

8、应用迁移图

应用程序迁移图标识从基线到目标应用程序组件的应用程序迁移。通过准确显示需要在迁移阶段之间映射的应用程序和接口,它可以更准确地估计迁移成本。它将识别临时应用程序、分段区域以及支持迁移所需的基础设施(例如,并行运行环境等)。

下图示例了一个企业在收购了某些系统给出的应用迁移图:

0aff098d7581885399ae174afce10970.png

9、应用程序组合目录

这个目录的目的是识别和维护企业中的所有应用程序的列表。这个列表有助于定义可能影响特定类型应用程序的变更计划的水平范围。经过协商的应用程序组合允许定义和管理一组标准的应用程序。应用程序组合目录为其余矩阵和图表提供了基础。通常,它是应用架构阶段的起点。

应用程序组合目录包含以下元模型实体:

■信息系统服务

■逻辑应用程序组件

■物理应用程序组件

一个电商的应用程序组合目录如下所示:

9947db795d7a923d3e9a7986dd49f969.png

10、接口目录

接口目录的目的是确定和记录应用程序之间的接口,以尽早地确定应用程序之间的整体依赖关系。应用程序将在其他应用程序内部创建、读取、更新和删除数据;这将通过某种形式的接口实现,无论是通过定期加载的批处理文件,直接连接到另一个应用程序的数据库,还是通过某种形式的 API 或 Web 服务。

应用程序组件 - 应用程序组件实体关系的映射是一个重要的步骤,因为它使以下操作成为可能:

■了解应用程序之间的互动程度,识别那些在依赖于其他应用程序方面具有中心性的应用程序

■了解应用程序之间的接口数量和类型

■了解应用程序之间接口的重复程度

■在考虑目标应用程序组合时,识别接口简化的潜力

■支持差距分析,并确定是否缺少任何应用程序,因此需要创建

接口目录包含以下元模型实体:

■逻辑应用程序组件

■物理应用程序组件

■应用程序与应用程序关系

一个电商的接口目录如下所示:

1e1e67b1b962e520a23730e957330c7e.png

11、应用交互矩阵

应用交互矩阵的目的是展示应用程序之间的通信关系。该矩阵以表格形式映射应用程序之间的交互,相当于接口目录或应用通信图的等效表现。

下面是ERP的应用交互矩阵示例:

5ec5f6cc8aa71ecb3ed304bbf764e57e.png

12、应用程序/功能矩阵

应用程序/功能矩阵的目的是描述企业内应用程序与业务功能之间的关系。业务功能由组织单位执行。一些业务功能和服务将由应用程序支持。

应用程序组件 - 功能关系的映射是一个重要的步骤,因为它使以下操作成为可能:

■将应用程序的使用分配给由其支持的业务功能

■了解由其执行的业务服务和流程的应用程序支持需求

■支持差距分析,并确定是否缺少任何应用程序,因此需要创建

■定义由特定业务功能使用的应用程序集

一个电商的应用程序/功能矩阵可能如下所示:

4f34f37215502ab60ee1938d16575182.png

13、角色/应用程序矩阵

角色/应用程序矩阵的目的是描述企业内使用应用程序的业务角色之间的关系。组织中的人与应用程序互动。在这种互动过程中,这些人扮演特定的角色来执行任务,例如产品采购员。

应用程序组件 - 角色关系的映射是一个重要的步骤,因为它使以下操作成为可能:

■将应用程序的使用分配给组织中的特定角色

■了解支持该功能的业务服务和流程的应用程序安全性要求,并检查这些要求是否符合当前政策

■支持差距分析,并确定是否缺少任何应用程序,因此需要创建

■定义特定业务角色使用的应用程序集;在采用基于角色的计算方案时至关重要

一个ERP的角色/应用程序矩阵可能如下所示:

825a96b32bcfbd307ad0dd6e6cfae026.png

14、应用程序/组织矩阵

这个矩阵的目的是描述企业内应用程序与组织单位之间的关系。业务功能由组织单位执行。一些由这些组织单位执行的功能和服务将受到应用程序的支持。

应用程序组件 - 组织单位关系的映射是一个重要的步骤,因为它使以下操作成为可能:

■将应用程序的使用分配给执行业务功能的组织单位

■了解由组织单位执行的业务服务和流程的应用程序支持需求

■支持差距分析,并确定是否缺少任何应用程序,因此需要创建

■定义特定组织单位使用的应用程序集

一个可能的应用程序/组织矩阵如下所示:

d61bde0f7220081d07710a275e917585.png

四、与“4+1视图”的关系

4+1视图模型(View Model)是一种软件架构描述方法,由Philippe Kruchten首次提出。这个模型主要用于解释一个软件系统的不同方面,并通过五个不同的“视图”来描述这些方面。

这五个视图通常是:逻辑视图开发视图物理视图过程视图用例视图。用例视图通常是中心,其他四个视图围绕它展开。

c3359229ddd1f706a830d6b0358d1f2c.png

1、逻辑视图:关注系统的功能性。它描述了如何从概念上对系统进行组织,通常使用类图、对象图、状态图等来描述。

2、开发视图:关注软件的组织和模块化,在代码层面上描述软件的架构。这通常使用组件图或包图来表示。

3、物理视图:关注系统的部署和分布,描述了软件如何映射到硬件和网络架构上。通常使用部署图来描述。

4、过程视图:关注系统的并发和同步,描述了系统的进程和线程,以及它们是如何同步和互相通信的。这通常使用活动图或序列图来描述。

5、用例视图:这是中心视图,主要关注系统的外部用户交互。它描述了系统如何满足外部因素(通常是用户或其他系统)的业务或操作需求。用例图常用于这个视图。

这五种视图体现了我们从哪些视角去理解一个系统:

1、【白盒视图】逻辑视图(也叫结构视图):从结构化视角,描述该系统对用户提供的所需功能服务所具备的组件结构和数据结构,以及一些边界约束条件,清晰的描述给用户提供的功能需求服务是如何构建的。

2、【白盒视图】实现视图(也叫开发视图):从结构化视角+行为视角,去描述实现系统功能的各个组件和模块是如何实现的。

3、【白盒视图】行为视图(也叫过程视图、处理视图):从行为视角,描述系统各个组件和模块是如何进行通信的。

4、【黑盒视图】部署视图(也叫物理视图):从交互视角,描述系统可以部署在那些物理环境上(服务器、PC端、移动端等)和软件环境(虚拟机、容器、进程等)。

5、【黑盒视图】用例视图(也叫场景视图):从外部视角,描述系统的参与者(用户)与系统功能用例的关系。反映的是系统的最终用户需求和交互设计。

“4+1视图”描述的是软件架构,跟TOGAF的应用架构有对应之处:

逻辑视图<->应用程序/功能矩阵

开发视图<->软件工程图

物理视图<->软件分发图

用例视图<->应用程序用例图

运行视图<->应用通信图

五、应用架构实战

下面举些实践案例,看看应用架构这些制品与这些案例的对应关系。

1、应用程序/功能矩阵

下图是某企业客服系统的功能架构图,实际就是应用程序/功能矩阵,但图形表达更加直观易懂。TOGAF在业务架构中倒是给出了功能分解图。

2e9223b17d1a01229914273b9916bff2.png

2、软件工程图

下图是某系统组件架构图,实际就是软件工程图。

8c80f0654c176f70c933eb937c05907c.png

3、软件分发图

下图是某详单查询图,实际就是软件分发图。

d78d4c57c10d837d8ca0e5194db19c38.png

4、应用程序用例图

这是某校园课程系统的场景视图,其实就是应用程序用例图。

2f3d778680b9fe0d9ffa3b001fbc2f80.png

希望对你有所启示。

f5dda959b2dfe2642b959d0f1c0c5842.png

99c3368743830d2ee6b678eee2a6f18a.png

d32f5e55f8e38664c1afbe2974ab4a8e.png

0494d69d6cd3a5e2c9b95236d7323fd0.png

怎样画一张人见人爱的业务架构图?

始于业务,终于技术,敲开理解数据架构的大门!

死磕了半天,终于搞懂了应用架构!

埃森哲IT规划咨询方法论

把业务架构搞搞懂,才算敲开了理解业务的大门!

傅一平:一文讲透ERP的下一代架构!

如何成为架构师?

一文搞懂企业架构(业务架构、应用架构、数据架构...)

一文搞懂业务架构、应用架构、技术架构、数据架构(4A架构)

71页PPT | 业务架构应用架构数据架构技术架构设计方案

查看全部文章

点击左下角“阅读原文”查看更多精彩文章,公众号推送规则变了,如果您想及时收到推送,麻烦右下角点个在看或者把本号置顶

  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

傅一平

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值