TOGAF是什么

  TOGAF(The Open Group Architecture Framework)是当前最为流行的企业架构框架理论之一,它为一个企业或组织对于企业架构的接受、创建、使用和维护提供了一系列辅助方法和工具基于迭代过程模型的企业架构框架理论,包括了各种最佳实践,以及一系列可重用的现有企业资产。由国际标准权威组织The Open Group制定,ADM重视架构开发过程和方法,2009年发布的第九版中引入了内容框架Content Framework,填补了架构内容描述和指导方面的空白。借助TOGAF理论体系帮助企业建设企业级架构,有助于企业节约成本,增加业务模式的灵活性,更加的个性化、随需应变,并提高信息系统应用水平,同时还可以对客户的业务模式创新起到推动作用。

TOGAF包含哪些内容

从上图TOGAF的内容结构示意图可以看出,TOGAF所包含的各种企业架构相关方法与工具在“企业的业务愿景及驱动力与“业务能力之间建立起了一座沟通的桥梁,主要分为四个部分:

  • 能力框架(Capability Framework):为了在一个企业中有效地操作企业架构并使其发挥最大的效能,一系列适当的组织结构、流程、技能、角色和责任需要被定义并结合起来,为如何组织好这些元素提供了指南。
  • 架构开发方法(ADMArchitecture Development Method:TOGAF的核心部分,是TOGAF针对企业架构建设方法的论述,它以一个循环迭代模型为基础将企业架构的建设过程划分为前后衔接的若干步骤,并对每个步骤的输入、输出以及所采用方法都进行了详尽的阐述。着重于帮助企业更好地使用企业架构。
  • 内容框架Content Framework):TOGAF的核心部分,针对企业架构中所包含的各种工作产品以及他们之间的关系作出了详细的描述。着重于帮助企业提高其企业架构建设和维护过程的标准化水平和执行效率。
  • 企业连续体和工具(Enterprise Continuum and Tools):企业连续体是企业架构资源库的一张视图,它为企业中的各种架构和解决方案制品提供了一种随着企业架构演进而动态变化分类和组织方法。还提供了几个用于帮助企业架构建设的参考模型以及其他的一些辅助工具。着重于为企业在企业架构的开发、使用和维护过程中提供参考和最佳实践。
  企业架构分为两大部分:
  • 业务架构:把企业的业务战略转化为日常运作的渠道,业务战略决定业务架构,它包括业务的运营模式、流程体系、组织结构、地域分布等内容。
  • IT架构:指导IT投资和设计决策的IT框架,是建立企业信息系统的综合蓝图,包括数据架构、应用架构和技术架构三部分

  TOGAF描述了如何定义业务架构,数据架构,应用架构、技术架构:

  TOGAF利用其核心架构开发方法(ADM:Architecture Development Method)来实现对上述架构的构建。ADM是一套经过高度抽象的方法论,用来指导企业如何建立和维护其企业架构的一套流程化的架构开发步骤,特别为应对业务需求而设计;同时也是一种可靠的、经过验证的开发和使用企业架构的方式,帮助架构师在不同层次(业务、应用、数据、技术)上进行架构设计,使架构师能够确保各种复杂的需求都能被充分考虑到,同时对过程中使用到的架构开发工具提出了一些指导策略。ADM实施过程如下图:     

  ADM将架构过程看成一个循环迭代的过程,并且此迭代过程可以是分为三层,第一层整体循环即一个阶段的架构工作完成后的成果直接输入到架构工作的后续阶段中去;第二层阶段之间的循环即跨阶段迭代的概念(例如,在技术架构完成之后再返回到业务架构阶段去);第三层单个阶段的循环即作为一种细化架构内容的技术,支持单个ADM阶段内活动的重复执行。如上图所示,ADM一共定义了十个步骤,除了“需求管理”这一步骤位于各个步骤中心作为其他各步骤的驱劢和管理办法外,其余九个步骤还是有着先后关系的,即前面步骤的输出作为后面步骤的输入。各步骤具体内容如下:

分类 ADM阶段 活动 裁剪后的流程和交付物
架构上下文 预备阶段

1.了解业务环境

2.高级管理层的承诺

3.同意将采取的方法

4.建立架构原则

5.建立治理结构

6.组建架构团队

1.企业范围

2.架构团队

3.架构原则

A架构愿景

1.设置范围、约束、期望

2.创建架构愿景

3.验证业务上下文

4.创建架构工作说明书

1.涉众分析

2.热图分析

3.方案概念

架构定义 B业务架构

1.组织(who),企业静态特征:业务组织特征、业务角色

2.动机(why),组织如何满足业务目标

3.功能(what),企业动态特征:流程、功能、服务

1.组织分解

2.流程分解

3.功能分解

C信息系统架构

1.IT系统如何满足企业的业务目标

2.数据及之间关系

3.应用系统及之间关系

1.数据结构

2.应用结构

3.应用协作

D技术架构

1.物理硬件

2.软件逻辑

3.通信技术

1.基础设施

2.实现部署

转换规划 E机会及解决方案

1.初步实施规划

2.确定在前序阶段中识别出的构建块的交付载体

(开发途径:外包、COTS、开源代码)

3.确定主要实施项目

4.评估项目依赖性(项目分组,组成各过渡架构)

组合管理:

1.项目管理

2.特征模型

设计开发:

1.产品backlog

2.方案文档

F迁移规则

1.成本/收益分析

2.风险评估

3.制定详细的实施和迁移计划

架构治理 G实施治理

为实施提供架构监管

实施治理委员会制定并发布架构契约

确保实施的项目与架构一致

H架构变更管理

进行持续监控并建立变更管理流程

以确保架构能对企业需求快速响应,对业务价值最大化

中心 需求管理

1.适用于ADM所有阶段

2.需求的识别、分析和交付

3.差距分析

1.市场需求文档

2.原型

3.差距分析

4.术语表

5.业务规则

  

  ADM采用了自上而下的原则通过逐步细化的方式将企业高层的策略过渡到详细的技术实施,从而构建涵盖所有干系人角度的企业架构,企业可以使用一个小组负责整个企业架构的迭代开发,也可以由多个架构开发小组针对每一部份进行迭代开发,并最终归为一体。需要注意的是,虽然ADM中的各大步骤在表面上有着先后依赖的关系,但是这种关系并不是硬性规定的,一个企业可以根据自己的需要调换这些步骤的顺序,甚至是跳过某些步骤,而这也是TOGAF所提倡的。各个阶段的交付物如下图所示:

 

【TOGAF】总体认知的更多相关文章

  1. 【0.2】【MySQL】常用监控指标及监控方法(转)

    [MySQL]常用监控指标及监控方法 转自:https://www.cnblogs.com/wwcom123/p/10759494.html  对之前生产中使用过的MySQL数据库监控指标做个小结. ...

  2. Python入门指南(超详细)

    Python 是一门非常容易上手的语言,通过查阅资料和教程,也许一晚上就能写出一个简单的爬虫.但 Python 也是一门很难精通的语言,因为简洁的语法背后隐藏了许多黑科技.本文主要针对的读者是: 毫无 ...

  3. Python - 关于代码阅读的一些建议

    初始能力 让阅读思路保持清晰连贯,主力关注在流程架构和逻辑实现上,不被语法.技巧和业务流程等频繁地阻碍和打断. 建议基本满足以下条件,再开始进行代码阅读: 具备一定的语言基础:熟悉基础语法,常用的函数 ...

  4. Python 简单入门指北(二)

    Python 简单入门指北(二) 2 函数 2.1 函数是一等公民 一等公民指的是 Python 的函数能够动态创建,能赋值给别的变量,能作为参传给函数,也能作为函数的返回值.总而言之,函数和普通变量 ...

  5. Tools - 一些代码阅读的方法

    1 初始能力 让阅读思路清晰连贯,保持在程序的流程架构和逻辑实现上,不被语法.编程技巧和业务流程等频繁地阻碍和打断. 语言基础:熟悉基础语法,常用的函数.库.编程技巧等: 了解设计模式.构建工具.代码 ...

  6. Java生鲜电商平台-订单中心服务架构与异常订单逻辑

    Java生鲜电商平台-订单中心服务架构与异常订单逻辑 订单架构实战中阐述了订单系统的重要性,并从订单系统的信息架构和流程上对订单系统有了总体认知,同时还穿插着一些常见的订单业务规则和逻辑.上文写到订单 ...

  7. Gamma阶段事后分析

    设想和目标 我们的软件要解决什么问题?是否定义得很清楚?是否对典型用户和典型场景有清晰的描述? 我们的软件要解决的是安卓游戏的自动化异常检测问题,定义的足够清楚,对于典型用户的描述和典型场景的描述也足 ...

  8. Transformer 和 Transformer-XL——从基础框架理解BERT与XLNet

    目录写在前面1. Transformer1.1 从哪里来?1.2 有什么不同?1.2.1 Scaled Dot-Product Attention1.2.2 Multi-Head Attention1 ...

  9. Deep Learning论文翻译(Nature Deep Review)

    原论文出处:https://www.nature.com/articles/nature14539 by Yann LeCun, Yoshua Bengio & Geoffrey Hinton ...

随机推荐

  1. Docker中mysql大小写敏感配置不起作用的问题排查

    由于linux中mysql的的表名是区分大小写的.所以需要配置my.conf. 所以在docker中需要把配置文件带进去.在宿主机的目录中新建my.conf文件,然后写入如下配置. [mysqld]u ...

  2. django信号浅谈

    Django中提供了“信号调度”,用于在框架执行操作时解耦.通俗来讲,就是一些动作发生的时候,信号允许特定的发送者去提醒一些接受者. 1.Django内置信号 Model signals pre_in ...

  3. C#学习-接口与抽象类

    接口与抽象类的区别 1.抽象类中可以包含虚方法.非抽象方法和静态成员: 当接口中不能包含虚方法和任何静态成员,并且接口中只能定义方法,不能有具体事项,方法的具体实现由实现类完成. 2.抽象类不能实现多 ...

  4. ASP.NET Core快速入门学习笔记(第3章:依赖注入)

    课程链接:http://video.jessetalk.cn/course/explore 良心课程,大家一起来学习哈! 任务16:介绍 1.依赖注入概念详解 从UML和软件建模来理解 从单元测试来理 ...

  5. MongoDB,从数组中删除对象

    { _id: 5150a1199fac0e6910000002, name: 'some name, items: [{ id: 23, name: 'item name 23' },{ id: 24 ...

  6. 2018-2019-2 网络对抗技术 20165319 Exp3 免杀原理与实践

    免杀原理及基础问题回答 免杀原理: 免杀指的是一种能使病毒木马免于被杀毒软件查杀的技术.由于免杀技术的涉猎面非常广,其中包含反汇编.逆向工程.系统漏洞等黑客技术,所以难度很高,一般人不会或没能力接触这 ...

  7. Android进阶:四、RxJava2 源码解析 1

    本文适合使用过Rxjava2或者了解Rxjava2的基本用法的同学阅读 一.Rxjava是什么 Rxjava在GitHub 主页上的自我介绍是 "a library for composin ...

  8. Hive的DDL操作

    DDL:data definittion language 数据定义语言 主要是定义或改变表的结构.数据类型.表之间的链接和约束等初始化操作 DML:data manipulation languag ...

  9. 用DFS求连通块(种子填充)

    [问题] 输入一个m行n列的字符矩阵,统计字符“@”组成多少个八连块.如果两个字符“@”所在的格子相邻(横.竖或者对角线方向),就说它们属于同一个八连块.例如,图6-9中有两个八连块. 图6-9 [分 ...

  10. PBRT笔记(11)——光源

    自发光灯光 至今为止,人们发明了很多光源,现在被广泛使用的有: 白炽灯的钨丝很小.电流通过灯丝时,使得灯丝升温,从而使灯丝发出电磁波,其波长的分布取决于灯丝的温度.但大部分能量都被转化为热能而不是光能 ...