从三大层次学习企业架构框架TOGAF

目录

前言

掌握TOGAF的三个层次

层次1:怎么学?

层次2:怎么用?

层次3:怎么思?

结束语


前言

对于一名架构师来讲,如果说编程语言是知识库层次中的入门石,那么企业架构框架则相当于知识库层次中的金字塔尖。如果想成长为企业级的架构师,企业架构框架是必须要攀登的高塔。

目前国内绝大多数企业采用TOGAF标准,因此我们的讨论主要围绕TOGAF展开,涉及主流版本9.1和9.2。在这个过程中,笔者还会广泛运用摩天轮学习法,以便更清晰地呈现相关内容。

在本文中,笔者将首先讨论企业架构框架TOGAF的学习方法。目前,关于TOGAF的学习材料主要以官方手册为主,网上的资料大多不成体系。然而,官方手册本身存在几个较大缺点可能影响学习质量,以下是笔者总结出来的几个主要缺点:

1、作为企业级的架构框架,与企业、企业战略、企业愿景、业务战略等都有很多关联。此外,还有一个重要概念叫做无边界信息流,它源自于无边界组织。这些作为与TOGAF密切相关的外部环境因素,在TOGAF官方手册中仅仅轻描淡写地提及或者根本不提,这会给理解TOGAF带来困惑。例如,如果不了解企业战略和愿景,就很难理解架构愿景;不理解无边界组织就很难理解无边界信息流,同时也难以领会企业基于能力的规划、业务能力、业务价值、业务功能,以及企业为什么要采用SOA、微服务等架构。总之,在TOGAF官方手册中省略了大量关键外部环境知识,而这些知识对于正确理解TOGAF却具有重要价值;

2、TOGAF官方手册在内容组织上存在不够完善的地方,导致读者难以形成对TOGAF整体性的理解。实际上,在详细介绍TOGAF核心ADM方法之前,应该先对TOGAF进行一个相对全面的概述。尽管有些读者可能认为目前TOGAF标准结构中的六大部分已经提供了概述,但其实这仅仅是技术视角下的整合,并非从企业或架构视角出发进行的整合。因此,在阅读TOGAF手册时,会让人感觉内容比较零散,难以形成一个统一而完整的认知框架;

3、TOGAF中的核心ADM方法本身是一个具体的指导流程,TOGAF中也花了很大的篇幅来进行介绍。但是,存在的最大问题是学完之后仍然不会用。这里面最主要的原因在于ADM中将太多东西糅杂在一起,没有按照不同场景进行分层或分类。举个简单的例子,在ADM中的业务架构阶段,其中建模可以包括价值流、结构化分析、用例分析、过程建模等方式,这些不同的方式实际上适用于不同的项目的规模或层次。因此,TOGAF在这方面存在问题是内容涵盖太广泛,反而让人难以聚焦;

4、初次接触TOGAF时,有人可能觉得它内容繁杂,文字也较为正式晦涩,因此很多人选择放弃学习或者干脆不去了解。然而真实情况是,TOGAF中蕴含着深邃博大的思想。比如说,对于架构而言,其本质在于解决现实世界或系统的复杂性问题。在TOGAF中就明确提到了一些应对复杂性的通用方法,比如分层、迭代、架构连续性、能力增量、模式、互操作性和分区等。总体来说,TOGAF实际上是一个蕴藏着许多重要架构思想的宝库。如果TOGAF手册能够更好地提炼和升华这些思想,将会给读者带来更大的价值。

那么,TOGAF到底应该如何学呢?接下来,首先整体介绍一下学习TOGAF的三个层次。然后,对每个层次的主要内容进行简要讲解。

掌握TOGAF的三个层次

上述TOGAF官方手册的四个缺点实际上可以归纳为三类问题。 第一类是如何学习TOGAF ,对应于前面提到的问题1和问题2。

第二类是如何应用TOGAF ,对应于前面提到的问题3。 第三类则是如何思考TOGAF ,对应于前面提到的问题4。

实际上,这三大类问题恰好对应着学习TOGAF的三个主要层次,具体可参见下图所示。

第一层是“怎么学 ”?其主要目标是“ 知识为我所知 ”,即寻找到好的学习方法或途径,全面理解并掌握TOGAF体系的知识。

第二层是“怎么用”? 其主要目标是是“ 知识为我所用 ”,即不仅能够掌握知识,并且能够根据不同的环境灵活地组合运用。

第三层是“怎么思” ?其主要目标是“ 思想为我所用” 。即不仅能将TOGAF知识活灵活用,并且能将其背后蕴含的思想提炼出来,应用于架构设计等其他场景中。

如上所述,这三个层次是一个逐步递进的关系。著名数学家华罗庚曾说过:“ 先把书读厚,再把书读薄 ”,这恰好对应着三个层次的递进过程。

首先,第一个层次 “怎么学” 类似于 “先把书读厚” 的过程。在这一阶段,不仅需要学习TOGAF理论本身的内容,还需要通过大量外部环境知识的学习来全面理解和掌握TOGAF。

其次,第二个层次 “怎么用” 和第三个层次 “怎么思” 则都类似于 “再把书读薄” 的过程。

只是相较而言,“怎么用”要求能够在已经掌握知识的基础上提炼出一些 通用规则或模式 ,并在特定环境中灵活组合运用。

而“怎么思”则要求更高一些,要求在“ 会用 ”的基础之上,再抽象出一些 通用的思维方式 出来,并扩展到更广泛的应用场景。

在本篇文章的下面部分,将简要介绍一下三个层次的内容结构框架。

层次1:怎么学?

关于目前TOGAF官方手册的组织方式和问题,在本篇中将略过不提,笔者将在后续系列文章中进行具体介绍。

在“怎么学”部分,大致的内容框架如下图所示,类似于“ 剥洋葱 ”的过程,从企业的外部环境开始逐层剥开,最终再深入讲解TOGAF。

从上图中可以发现,企业架构框架TOGAF的直接外部环境就是企业。因此,可以将学习企业架构框架TOGAF的过程分成两大部分: 企业和企业架构框架TOGAF。

第一部分先讲企业 ,这部分又分成三块内容来进行阐述。

(1)企业外部环境: 将企业视为一个黑盒,并以企业的“有边界组织”到“无边界组织”的演变为轴,探讨无边界组织的含义,最后延伸介绍无边界信息流。

(2)企业边界: 从某种意义上来讲,企业战略的本质可以理解为是将外部环境与企业内部能力进行匹配的过程。因此,这一部分主要讲解企业战略,包括企业战略的十大学派、三大层次,以及与愿景、使命、文化的关系等。

(3)企业内部: 即企业通常为了实施战略,内部是如何组织的。在此过程中,会逐步介绍价值系统、价值链、核心流程、组织结构等内容。

第二部分开始讲企业架构框架TOGAF, 这部分也大致分为三块内容来进行阐述。

(1)TOGAF的整体性概述: 在这部分内容中,会首先介绍TOGAF官方手册的内容组织方式及存在的主要问题。

针对已有问题,通过构建一个“ 双飞轮模型 ”来重新组织内容,如下图所示。

这里需要提醒一下,上图中的组织和工具,其涵盖的范围比TOGAF官方手册中提到的概念要大。

大致来讲,TOGAF官方手册中第二部分(架构开发方法)属于上图中的方法部分;官方手册中的第三(ADM指南和技术)、第四(架构内容框架)和第五部分(企业连续统一体和工具)大体划分到上图中的工具部分;最后,官方手册中的第六部分(架构能力框架)划分到组织部分。

此外,在这一部分中,还会通过多个层次元模型的讲解,以对TOGAF整体有一个清晰的整体性认识。

(2)TOGAF核心ADM方法介绍: 这部分内容相比TOGAF官方手册中的介绍方式主要有两个区别。

第一个区别是ADM每个阶段的步骤会统一按照摩天轮方法中的目标、环境(含输入和输出)、结构和过程的方式来进行 ,这样会更加简洁清晰。

第二个区别是在讲ADM每一个阶段时,会将TOGAF官方手册中二、三、四部分的相关内容一并讲解。 因为这些部分的主要内容已经分解到“双飞轮模型”中的组织和工具的结构中。因此,在介绍ADM的每一个阶段时,会一并介绍方法与组织和工具部分之间的交互。在这种方式下,内容不会像原来那样存在割裂感,而且一个阶段会将所有相关内容都囊括在内。

(3)TOGAF其他内容专题介绍: 比如架构治理、连续统一体等,这些内容在上面一、二块内容中并没有完全覆盖。

通过以上对第一个层次内容的学习,目标是让读者能够清晰地理解并且掌握TOGAF。

层次2:怎么用?

学习TOGAF的一个主要目标是为了能够用于实际架构实践当中。上面提过,TOGAF的核心方法ADM都是将很多内容糅杂在一起全部呈现出来,让读者自己去从中挑选合适的部分。

这种难度主要在于两个地方 :一是需要对业务架构、应用架构、数据架构和技术架构等相关方法论非常熟悉,这样才能挑选出适合自身场景的技术;二是各个阶段挑选的部分还需要能够保持前后的连贯一致性。

因此,在“怎么用”的第一部分,笔者将首先对TOGAF核心方法ADM进行一些分析探讨,主要包括两部分内容。

一是探讨企业架构 ,以及ADM方法中涉及的业务架构、数据架构、应用架构和技术架构的本质是什么。

二是探讨ADM方法中业务架构、数据架构、应用架构和技术架构中隐含的方法论有哪些? 尤其是业务架构部分,由于业务架构指导数据架构和应用架构的实现,业务架构的方法论是最重要的。

接着,在“怎么用”的第二部分,笔者将详细讲解 ADM方法在实际架构实践中的应用 。如TOGAF中所说企业架构本身是分层的,如下图所示。

因此,在这部分中,首先将从企业架构整体层面介绍ADM方法的应用。其次,再分别介绍ADM方法在战略架构、分部架构和能力架构三大层次上的应用。在不同层次的架构中,ADM方法每个阶段所要做的工作也有较大差异。

在讲解企业架构整体、战略架构、分部架构和能力架构各个部分内容时,我们也将采用摩天轮学习法中的四要素来进行,如下图所示。

首先,介绍该架构所处的 环境 ,随后介绍该架构的实现 目标 ;接着,在 结构 部分介绍该架构所涉及的主要模型,包括元模型及其他模型等;最后,在 过程 环节,则主要按照ADM方法中的业务架构、数据架构、应用架构和技术架构来详细介绍执行过程。并且,在讲解过程中,会列举大量的实践案例来帮助读者掌握。

最后,在“怎么用”的第三部分,还将 讲解企业架构作为一个整体在企业中的应用。 在TOGAF手册中,只讲述了ADM这一个核心过程,这实际上是一个偏技术视角的过程。

在本部分中,笔者将尝试 融合企业架构框架与PACE产品开发过程 ,探讨架构治理等组织方式、工具和方法相互融入的过程。

通过以上对第二个层次内容的学习,读者可以掌握战略、分部和能力三个层级架构的具体落地方法。在这个过程中,读者也会更深入理解一些架构方法论,包括 过程驱动方法 、 对象驱动方法 、 数据驱动方法 、 领域驱动方法 以及TOGAF中的 价值驱动方法 等,同时还涉及到需求有效管理、敏捷和DevOps、PACE等相关方法论。

层次3:怎么思?

前两个层次更多是关于TOGAF官方手册纸面上教给我们的东西。然而,笔者认为 TOGAF背后所蕴藏的一些思想更为珍贵 ,比如分层、迭代、能力增量、模式、互操作性、分区、无边界信息流、连续统一体、广度/深度/时间区间、原则、开放性、企业应用综合、透明性等。

然而,单独地逐一对这些概念进行讲解会有些零碎。对架构师来说, 架构设计的过程其实就是一个应对复杂性挑战的过程 。因此,笔者将以“复杂性”为中心,将与其相关的思想都融入进来。

不过,复杂性这个词本身就非常抽象,也很难以准确解释。在之前的文章《一切系统的本质是什么》中,笔者总结出一切系统的本质是由环境、目标、过程和目标四个核心要素组成的。

基于这一理论,笔者将 复杂性也视为一个系统,并将探讨复杂性在结构、过程、环境和目标四个方面存在的问题 ,例如,结构方面存在元素或实体数量过多,交互混乱等复杂性问题,过程方面存在通信的不确定性、滞后性、动态性等复杂性问题,这些复杂性问题同样是架构设计中常常碰到的。

接下来,笔者将进一步抽象这些TOGAF思想,并提炼出一些 通用的思维模式 ,包括 本体思维、还原思维、进化思维、系统思维和管理思维 等。举例来说,在进化思维中包含了分层、迭代和开放性等思想。

这些通用的思维模式都是人类文明在发展过程中为解决复杂性问题而演变出来的普适性方法。除了介绍思维模式之外,还会探讨这些模式在架构设计领域的应用。

通过以上对第三个层次内容的学习,读者相当于掌握了 一套解决通用复杂性问题的通用思维方式 ,也可以将这些从TOGAF抽象提炼出来的思想,应用于更广泛的架构设计 中。

结束语

在本篇关于企业架构框架TOGAF的第一篇文章中,我们简要介绍了目前TOGAF官方手册存在的三大类问题,并针对这些问题提出了一种三个层次学习TOGAF的方法。随后,我们简要介绍了每个层次下的主要内容框架。

可以看出,不论是第一个层次“怎么学”中对于ADM方法每个阶段的介绍,还是第二个层次“怎么用”中对于各个层级架构内容的介绍,或者是第三个层次“怎么思”中对于思维本质的探讨,基本都采用了摩天轮学习法中的框架进行讲解。

通过本次课程,可以加深大家对摩天轮学习法的理解,它不仅可以讲解Java语言这种简单的技术,也可以用于拆解像企业架构框架这种处于金字塔尖的技术。

后续,我们也将陆续推出更多运用摩天轮学习法的系列课程,包括设计模式、开发框架、各类中间件、架构、大模型技术等,希望大家持续关注。

另外,  《架构师启示录》 已由机械工业出版社最近出版。书中主要介绍了一个架构师能力模型,涵盖架构知识模型、架构落地方法、架构思维模式三大维度,是一本非常实用的架构学习书籍,欢迎大家订阅。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mfbz.cn/a/554129.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

【微信小程序从入门到精通(项目实战)】——微电影小程序

👨‍💻个人主页:开发者-曼亿点 👨‍💻 hallo 欢迎 点赞👍 收藏⭐ 留言📝 加关注✅! 👨‍💻 本文由 曼亿点 原创 👨‍💻 收录于专栏&#xff1a…

Modelsim自动化仿真脚本(TCL)——简单实例

目录 1. Modelsim与TCL脚本的关系 2.实验文件 2.1设计文件 2.2仿真测试文件 2.3. 脚本文件 3. 实验步骤 3.1. 创建文件夹 3.2. 指定路径 3.3. 创建工程 3.4. 运行命令 3.4. 实验效果 1. Modelsim与TCL脚本的关系 TCL(Tool Command Language)是…

吴恩达深度学习笔记:深度学习的 实践层面 (Practical aspects of Deep Learning)1.4-1.5

目录 第一门课:第二门课 改善深层神经网络:超参数调试、正 则 化 以 及 优 化 (Improving Deep Neural Networks:Hyperparameter tuning, Regularization and Optimization)第一周:深度学习的 实践层面 (Practical aspects of Deep Learning)…

[C++][算法基础]分解质因数(试除法)

给定 n 个正整数 ai,将每个数分解质因数,并按照质因数从小到大的顺序输出每个质因数的底数和指数。 输入格式 第一行包含整数 n。 接下来 n 行,每行包含一个正整数 ai。 输出格式 对于每个正整数 ai,按照从小到大的顺序输出其…

同城O2O跑腿系统源码:外卖配送APP的技术架构与设计思路解析

今天,我将为大家详解同城O2O跑腿系统源码,剖析外卖配送APP的技术架构与设计思路。 一、用户端与商家端 用户端提供用户注册、登录、浏览菜单、下单、支付等功能,而商家端则负责商家入驻、菜单管理、订单处理等。这两个端的技术架构相对独立…

在Linux操作系统中文件目录特殊权限

管理员用户和普通用户都可以使用passwd命令来给用户设置密码 用户密码保存在/etc/shadow suid 4 sgid 2 sticky bit 1 suid(只要是针对可执行文件进行设置。) {当没有操作要求时,不可以擅自对shell,python脚本加上suid权…

java动态代理--cglib代理

1.概述 CGLIB动态代理是针对类实现代理(无需实现接口),为了弥补jdk的不足, Cglib 不基于接口,是基于父子的继承关系(被代理的对象是代理对象的父类),通过重写的形式扩展方法 2.定…

带头循环双向链表专题

1. 双向链表的结构 带头链表⾥的头节点,实际为“哨兵位”,哨兵位节点不存储任何有效元素,只是站在这⾥“放哨 的” “哨兵位”存在的意义: 遍历循环链表避免死循环。 2. 双向链表的实现 2.1双向链表结构 typedef int DataTyp…

【光伏科普】光伏软件都有些什么功能?

光伏软件是为满足光伏行业特定需求而设计的工具,它涵盖了多个方面的功能,以支持光伏系统的设计、分析、优化和运营。以下是光伏软件通常具备的一些核心功能: 1.光伏系统设计 组件布局优化:根据地理位置、光照条件、阴影遮挡等因素…

开源在线表单工具 HeyForm 使用教程

HeyForm 是一个非常出色的开源在线表单工具,可以通过直观的拖拽式编辑器,快速构建出美观实用的表单。 HeyForm 的功能非常丰富: 支持丰富的输入类型,从基础的文本、数字到高级的图片选择、日期选择、文件上传等,一应俱…

Java web第三次作业

springboot入门程序撰写并启动 2.使用postman练习参数的获取。 简单参数 复杂参数 数组参数 日期参数 json参数 路径参数 3、体会前端页面向后端发送数据的过程。并且自己尝试将之前的注册页面的信息发送到服务端。 (1)、product.html的操作代码&#…

后端返回的数据中含有Null的则不在前端展示

方式 1:application 上加配置 只需要在配置文件 上,增加 如下配置。 application 格式配置: spring.jackson.default-property-inclusionnon_null yml 格式配置: spring:jackson:default-property-inclusion: non_null注意&a…

数字逻辑课程实验环境配置与使用说明

文章目录 I.虚拟机搭建1.1 Vmware安装1.2 Win XP安装1.3 xftp7安装 I. Quartus II安装II. 使用说明2.1 新建工程2.2 在工程中加入代码2.3 代码编译波形仿真 I.虚拟机搭建 1.1 Vmware安装 Vmware17安装教程 1.2 Win XP安装 Win XP安装教程 1.3 xftp7安装 给虚拟机添加FTP …

【团体程序设计天梯赛 往年关键真题 详细分析完整AC代码】L2-009 抢红包(排序) L2-010 排座位 (dfs)

【团体程序设计天梯赛 往年关键真题 详细分析&完整AC代码】搞懂了赛场上拿下就稳 【团体程序设计天梯赛 往年关键真题 25分题合集 详细分析&完整AC代码】(L2-001 - L2-024)搞懂了赛场上拿下就稳了 【团体程序设计天梯赛 往年关键真题 25分题合…

MCU最小系统的电源模块设计和复位模块的设计

最小操作系统就是一个电路,这个电路里面必须要的东西(如人需要喝水吃饭温度等情况,才能或者) 现在我们要解决这三个问题 这里V开头的,都是电源管脚 这里解释一下: 这里要注意哪些是电路电压,哪…

盲人导航功能特点:革新出行体验的实时避障应用深度解析

作为一名资深记者,我有幸亲历并详尽报道一款专为盲人群体设计的导航应用叫做蝙蝠避障,它不仅提供了精准的路线指引,更创新性地融入了实时避障功能。这款应用凭借其盲人导航功能特点,正以前所未有的方式提升盲人的出行自由度与安全…

YOLOv9最新改进系列:YOLOv9改进加入新型高效的多尺度注意力(EMA)模块保留每个通道的信息并减少计算成本!助力v9检测性能遥遥领先!

YOLOv9最新改进系列:YOLOv9改进加入新型高效的多尺度注意力(EMA)模块保留每个通道的信息并减少计算成本!助力v9检测性能遥遥领先! YOLOv9原文链接戳这里,原文全文翻译请关注B站Ai学术叫叫首er 详细的改进…

SqlServer专题

目录 1,连接数据库 2,连接池 1.何为连接池? 2.连接池运行原理。 3.如何查看连接池? 4.连接池注意事项。 3,一般SQL语句。 4,控制语句 1.判断语句 2.循环语句 5,视图 1.使用…

Java高阶私房菜:快速学会异步编程CompletableFuture

为了使主程代码不受阻塞之苦,一般使用异步编程,而异步编程架构在JDK1.5便已有了雏形,主要通过Future和Callable实现,但其操作方法十分繁琐,想要异步获取结果,通常要以轮询的方式去获取结果,具体如下&#x…

电脑开不了机?不要慌,三招教你快速解决!

电脑开不了机是我们在日常使用中可能遇到的一个严重问题,它会影响我们的工作和生活。了解如何解决电脑开不了机的问题对于维护电脑正常运行至关重要。本文将介绍三种常见的解决电脑开不了机的方法,帮助您快速恢复电脑的正常使用。 方法1:检查…
最新文章