Leo赠书活动-24期 【三大层次学习企业架构框架TOGAF】文末送书

✅作者简介:大家好,我是Leo,热爱Java后端开发者,一个想要与大家共同进步的男人😉😉
🍎个人主页:Leo的博客
💞当前专栏: 赠书活动专栏
✨特色专栏: MySQL学习
🥭本文内容: Leo赠书活动-24期 【三大层次学习企业架构框架TOGAF】文末送书
📚个人知识库: Leo知识库,欢迎大家访问

目录

    • 1. 前言
    • 2. 掌握TOGAF的三个层次
    • 3. 层次1:怎么学?
    • 4. 层次2:怎么用?
    • 5. 层次3:怎么思?
    • 6. 结束语
    • 7. 直播推荐
    • 8. 总结
    • 9. 🥇赠书活动规则

1. 前言

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

目前国内绝大多数企业采用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的三个层次。然后,对每个层次的主要内容进行简要讲解。

2. 掌握TOGAF的三个层次

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

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

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

图片

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

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

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

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

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

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

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

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

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

3. 层次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。

4. 层次2:怎么用?

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

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

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

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

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

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

图片

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

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

图片

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

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

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

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

5. 层次3:怎么思?

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

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

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

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

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

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

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

6. 结束语

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

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

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

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

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

7. 直播推荐

图片

8. 总结

以上便是本文的全部内容,本人才疏学浅,文章有什么错误的地方,欢迎大佬们批评指正!我是Leo,一个在互联网行业的小白,立志成为更好的自己。

如果你想了解更多关于Leo,可以关注公众号-程序员Leo,后面文章会首先同步至公众号。

公众号封面

9. 🥇赠书活动规则

🌟关注我的博客:关注我的博客,所有新鲜的博客文章和活动信息都不会错过。
📲添加博主wx:添加Leocisyam,如果添加不了,请私信博主。
💬参与方式:关注公众号程序员Leo或者文末扫码关注,回复抽奖,即可参与抽奖,记住要加Leo哥微信哈,方便通知,记得备注抽奖,否则抽奖无效
🎁公布结果:2024年4月20日晚,我会亲自抽取2名幸运读者,并在微信私信通知,请大家注意查收哈。

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

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

自定义Centos的终端的命令提示符

背景 当我们使用终端登陆Centos时,就自动打开了ssh终端。这个终端的命令提示符一般是这样的: 这个以#号结束的一行字,就是我们说的命令提示符了。 这个是腾讯云的服务器的提示符,可以看到主机名是VM-4-7-centos。 但是这个看起…

STL库 —— priority_queue 的编写

目录 一、 优先级队列的介绍 二、优先级队列的使用 2.1 建大堆 less 2.2 建小堆 greater 2.3 详解 greater 与 less 三、 priority_queue 的模拟实现 3.1 编写框架 3.2 编写简单函数 3.2 进堆 向上调整 3.3 出堆 向下调整 四、完整代码 一、 优先级队列的介绍 1.…

web轮播图

思路: 例如:有5张轮播的图片,每张图片的宽度为1024px、高度为512px.那么轮播的窗口大小就应该为一张图片的尺寸,即为:1024512。之后将这5张图片0px水平相接组成一张宽度为:5120px,高度依然为:5…

守望先锋2怎么在steam上玩 守望先锋归来steam下载安装

守望先锋2怎么在steam上玩 守望先锋归来steam下载安装 《守望先锋2》是知名游戏开发商暴雪娱乐开发的团队射击游戏。与第一部相比,守望先锋2加入了更多元素和新特性。游戏设定在未来的世界,玩家可以选择不同的英雄(heroes)加入战…

python聊天室

python聊天室 文章目录 python聊天室chat_serverchat_client使用方式1.局域网聊天2.公网聊天 下面是一个简单的示例,包含了chat_client.py和chat_server.py的代码。 chat_server chat_server.py监听指定的端口,并接收来自客户端的消息,并将消…

WdatePicker异常,无法弹出日期选择框

官网:My97日期控件官方网站 My97 DatePickerhttp://www.my97.net/ 可能使版本太老了,可以更新一下,然后根据官方的文件进行使用。 我的异常是因为在网上找的包里面缺少文件,去官网拉了一下最新的就行了。

AR地图导览小程序是怎么开发出来的?

在移动互联网时代,AR技术的发展为地图导览提供了全新的可能性。AR地图导览小程序结合了虚拟现实技术和地图导航功能,为用户提供了更加沉浸式、直观的导览体验。本文将从专业性和思考深度两个方面,探讨AR地图导览小程序的开发方案。 编辑搜图 …

数据结构之排序了如指掌(二)

目录 题外话 正题 选择排序 选择排序思路 选择排序代码详解 选择排序复杂度 双向选择排序 双向选择排序思路 双向选择排序代码详解 堆排序 堆排序思路 堆排序代码详解 堆排序复杂度 冒泡排序 冒泡排序思路 冒泡排序代码详解 冒泡排序复杂度 小结 题外话 今天…

变配电场所智能综合监控系统无人化与自动化升级改造

一 项目背景 国家电力建设飞速发展,为了提高管理水平,智能化建设迫在眉睫。变配电场所作为电网中的核心单元,数量巨大,是智能化建设的中坚部分。但由于变配电场所分布的地理位置过于分散,且配电网的自动化水平有待提高,单纯依靠人力来对变配电场所进行巡视,不仅增加…

【canvas】canvas综合运用:心形图案

#简言 利用canvas画出心形图案。 心形 心形图案可以两个椭圆相交组合&#xff0c;也可以直接画路径实现。 <!DOCTYPE html> <html lang"en"><head><meta charset"UTF-8"><meta http-equiv"X-UA-Compatible" conte…

labelimg安装和使用(解决闪退问题)

&#x1f308;个人主页&#xff1a;Rookie Maker &#x1f525; 系列专栏&#xff1a;计算机视觉 &#x1f3c6;&#x1f3c6;关注博主&#xff0c;随时获取更多关于IT的优质内容&#xff01;&#x1f3c6;&#x1f3c6; &#x1f600;欢迎来到我的代码世界~ &#x1f601; 喜…

图与图搜索算法

图搜索算法是一个非常重要的概念&#xff0c;它是计算机科学中图论和算法设计的基础部分。在开始讨论图搜索算法之前&#xff0c;我们需要先理解什么是图以及图的基本结构。 什么是图&#xff1f; 图&#xff08;Graph&#xff09;是一种非线性数据结构&#xff0c;它由一组点…

点云的投影------PCL

点云的投影 /// <summary> /// 参数化模型投影点云 /// </summary> /// <param name"cloud">点云</param> /// <param name"x">投影平面x面的系数</param> /// <param name"y"></param> /// &…

Python下利用Selenium获取动态页面数据

&#x1f525; 交流讨论&#xff1a;欢迎加入我们一起学习&#xff01; &#x1f525; 资源分享&#xff1a;耗时200小时精选的「软件测试」资料包 &#x1f525; 教程推荐&#xff1a;火遍全网的《软件测试》教程 &#x1f4e2;欢迎点赞 &#x1f44d; 收藏 ⭐留言 &#x1…

使用python进行网站答题操作

介绍&#xff1a; 使用Python和DrissionPage模块编写自动化脚本&#xff0c;以模拟人的行为访问网站并获取题目答案进行自动答题。这个脚本似乎是为答题网站设计的&#xff0c;通过监控特定数据包地址来获取题目答案&#xff0c;并模拟点击正确答案进行答题。 代码中的逻辑包…

C++奇迹之旅:探索C++拷贝构造函数

文章目录 &#x1f4dd;拷贝构造函数&#x1f320; 概念&#x1f309;特征 &#x1f320;浅拷贝(值拷贝)&#x1f309;深拷贝 &#x1f320;拷贝构造函数典型调用场景&#x1f320;应用时效率的思考&#x1f6a9;总结 &#x1f4dd;拷贝构造函数 &#x1f320; 概念 在现实生…

京西商城——前端项目的创建以及前后端联调

创建VUE项目 在jingxi_shop_project文件夹中再创建一个 frontend 文件夹用来存放前端项目 /jingxi_shop_project/backend/jingxi_shop_project....../frontend/jingxi_shop_web......首先要安装 node.js 和 VUE cli&#xff0c;进入到项目目录内创建项目 vue create jingxi_…

前端css中transition的使用

前端css中transition的使用 一、前言二、transition的4个属性三、例子1.源码12.源码1运行效果 四、结语五、定位日期 一、前言 CSS中的transition&#xff08;过渡&#xff09;&#xff0c;根据字面意思就可以理解成一种变化状态的过程。当我们有一个方形&#xff0c;我们想让…

Ubuntu 22最新dockers部署redis哨兵模式,并整合spring boot的详细记录(含spring boot项目包)

dockers部署redis哨兵模式&#xff0c;并整合spring boot 环境说明相关学习博客一、在docker中安装redis1、下载dockers镜像包和redis配置文件&#xff08;主从一样&#xff09;2、编辑配置文件&#xff08;主从一样&#xff09;3、启动redis&#xff08;主从一样&#xff09;4…

Flutter MQTT通信(实现聊天功能)

MQTT协议简介&#xff1a; MQTT&#xff08;Message Queuing Telemetry Transport&#xff09;是一种轻量级的、开放的、基于发布/订阅模式的消息传输协议&#xff0c;最初由IBM开发。它专门设计用于在低带宽、不稳定的网络环境下进行高效的消息传输。 学习完本篇文章&#x…