一、TOGAF概述

TOGAF(The Open Group Architecture Framework) 可以说是当前最为流行的企业架构框架理论了,可以说是企业架构理论从政府进入到社会各研究机构的一个典型案例。

  • 发展历史:它起源于美国国防部的信息管理技术架构框架(TAFIM,Technical Architecture Framework for Information Management),并在获得美国国防部的允许和鼓励之后,借助于美国政府大笔资金的投入,并经过多年的努力最终于1995年发布了TOGAF的第一版。发展至今TOGAF已经发布到了第九个版本,即TOGAF 9(目前最新的版本是2018年4月发布的TOGAF 9.2),而这也正是这一章节所要描述的对象。

按照TOGAF规范中的定义:

  • TOGAF是众多企业架构框架理论中的一种,它为一个企业或组织对于企业架构的接受、创建、使用和维护提供了一系列辅助方法和工具。
  • TOGAF还是一个基于迭代过程模型的企业架构框架理论,而作为支持该过程模型的重要基石包括了各种最佳实践,以及一系列可重用的现有企业资产。

1、概述

总的来说,TOGAF的内容涵盖了企业架构生命周期中的方方面面,尤其是通过在2009年发布的第九版中引入了内容框架,TOGAF一改往昔只重视架构开发过程和方法的风格,在有关架构内容描述和指导方面填补了以往的空白。在TOGAF 9中,The Open Group将TOGAF的各部分内容以及他们之间的关系通过如下的示意图进行了表述:

图1 TOGAF内容结构

分析:TOGAF所包含的各种企业架构相关方法与工具在企业的业务愿景、驱动力和业务能力之间建立起了一座沟通的桥梁,即在TOGAF中各部分内容的帮助下,这两个原本沟通不畅的部分得以被联系在一起,从而使得作为企业发展蓝图的业务愿景与各种驱动力可以一起通过一种有条理的方式促进企业业务能力的实现和发展,而且经过长期的运营,企业的业务能力又为企业的业务愿景反馈了新的需求和发展推动力。从图中我们可以看出,TOGAF的内容被分为三个主要部分:

  • TOGAF能力框架(TOGAF Capability Framework):为了在一个企业中有效地操作企业架构并使其发挥最大的效能,一系列适当的组织结构、流程、技能、角色和责任需要被定义并结合起来,而TOGAF的能力框架正为如何组织好这些元素提供了指南。
  • TOGAF架构开发方法和内容框架(TOGAF ADM(Architecture Development Method)& Content Framework):核心部分,包含两个方面:
    1. 架构开发方法:针对企业架构建设方法的论述,它以一个循环迭代模型为基础将企业架构的建设过程划分为前后衔接的若干步骤,并对每个步骤的输入、输出以及所采用方法都进行了详尽的阐述;
    2. 内容框架:它针对企业架构中所包含的各种工作产品以及他们之间的关系作出了详细的描述。
  • TOGAF企业连续体和工具(TOGAF Enterprise Continuum and Tools)
    1. 企业连续体是企业架构资源库的一张视图,它为企业中的各种架构和解决方案制品提供了一种分类和组织的方法。企业架构过程是一个动态的过程,因而这一针对工作制品进行组织分类的方式也不仅仅是一个静态方法,还是一种能够随着企业架构演进而变化其分类方式的动态方法。在此方法的视角中,随着企业架构的演进发展,其内容也从通用走向特化,其详细程度也由简略转为详尽,而随着实践的沉淀,原来特化的架构或解决方案制品也可能成为在更广泛范围内通用制品。
    2. 除此之外,该部分内容还提供了几个用于帮助企业架构建设的参考模型以及其他的一些辅助工具

三个主要部分关系

  • 三个部分的内容相对比较独立,其中能力框架方面的内容着重于帮助企业更好地使用企业架构,架构开发方法和内容框架着重于帮助企业提高其企业架构建设和维护过程的标准化水平和执行效率,而企业连续体以及各种方法工具则更关注于为企业在企业架构的开发、使用和维护过程中提供参考和最佳实践。
  • 虽然这三个部分相对独立,但是一个优良的企业架构的创建、使用和维护是他们三者紧密配合、相互作用的结果
  • 按需选择:不过作为一个开放且灵活的企业架构框架标准,TOGAF并不要求所有引入它的企业都必须一个不漏的照搬这三个部分的内容,而是可以根据各自的需要选择相应的部分进行采用,即便是已经建立了企业架构的组织(哪怕他采用别的框架理论来创建其企业架构)也可以将TOGAF中的内容与当前企业架构进行融合。

本章接下来将对这几部分的内容分别进行详细阐述。

二、架构开发方法(ADM)

1、概述

架构开发方法(ADM,Architecture Development Method) 为开发企业架构所需要执行各个步骤以及他们之间的关系进行详细的定义,同时它也是TOGAF规范中最为核心的内容。

  • 架构开发方法的作用:是企业连续体得以顺利演进(从基础架构开始,历经通用基础架构和行业架构阶段而最终达到组织特定架构)的保障。
  • 企业架构资源库与架构开发方法:企业架构资源库是企业连续体在现实中的实现形式或信息载体,与架构开发方法有着千丝万缕的联系。企业架构资源库为架构开发方法的执行过程提供了各种可重用的信息资源和参考资料,而企业架构开发方法中各步骤所产生的交付物和制品也会不停地填充和刷新企业架构资源库中的内容,因此在刚开始执行企业架构开发方法时,各个企业或组织常常会因为企业架构资源库中内容的缺乏和简略而举步维艰,但随着一个又一个架构开发循环的持续进行,企业架构资源库中的内容将日趋丰富和成熟,从而企业架构的开发也会越发明快。
图2 架构开发方法各阶段

架构开发方法建立在一个循环迭代的模型基础之上,并且TOGAF还通过定义一系列按指定顺序排列的阶段和步骤来对这一迭代过程进行了更加详尽和标准的描述。

  • 注意:该迭代过程中的各个阶段以及每个阶段所包含的各个实施步骤并不是一个绝对不变的存在,鉴于 TOGAF本身的开放性和灵活性,针对架构开发方法中各步骤的执行也具备着很高的灵活性,而这一灵活性通常表现为:

    • 由于TOGAF并不排斥组织中对其他企业架构框架理论的引入和使用,因而在多个企业架构框架同时并存的情况下,企业架构开发方法各阶段的输入与输出可以不拘泥于企业架构开发方法的定义,而可采用适合组织自身情况的其他框架中所定义的相关内容。
    • 企业架构开发方法中各阶段之间的先后顺序也并不是绝对的,各组织可以按照自己的实际情况进行适当的修改。
    • 由于各组织的规模和特性千差万别,因而他们对企业架构开发方法的适应程度也各不相同。对于一个中小型企业来讲,如果严格按照上述架构开发方法的阶段定义来执行,其繁琐程度可能会将人们的热情迅速冷却,因而针对企业架构开发方法进行适当的裁剪并使其符合组织自身情况对于各个组织来讲是非常必要的。
    • 架构开发是一个循环迭代的过程,但是并不意味着每次循环都要走完图中所有的步骤,而且如果必要的话,在任何一个步骤的执行过程中都可以根据遇到的情况而开展一个新的循环过程。

2、企业架构的限制

企业架构开发方法为组织中企业架构的开发制定了一个循环迭代的流程,并且随着每个架构开发循环过程的完成,组织中企业架构的范围以及交付物的深度和广度都得以演进,但对于企业架构范围的决定却应独立于这一企业架构开发方法的执行过程。在每一次架构开发方法迭代过程开始之前,组织都需要针对如下几点进行考虑,来制约着企业架构以及相关架构活动的范围:

  • 组织将要在什么范围内进行架构定义和建设?
  • 需要采用何种详细度进行架构描述?
  • 需要建设的企业架构的目标时间区间是什么?
  • 所能够使用的架构资产(包括上次迭代过程中产生的各种架构资产以及存在于组织外的行业通用资产)都有哪些?

以上四个要点制约着企业架构以及相关架构活动的范围。理论上来将,为整个组织的方方面面进行全面的建模是企业架构的终极目标,而在现实生活中如此理想的目标往往会成为不可能的任务,而更加理性的做法应该是立足于当前的状况对每次架构工作的范围进行约定,并通过一次次的工作迭代逐步丰富企业架构内容的深度和广度,从而逐渐接近于理想状态。这种方式对于结构复杂的大型组织来说尤为重要,这种组织往往是由若干业务单元通过联邦的方式组合而成,而在这种情况下一个有效的企业架构过程应该是对架构的范围和活动进行明晰的划分,并在最后进行有效的整合的过程(美国联邦政府的FEA就是一个很好的例子,虽然具有着独特的架构建设和维护方法,但是在如何应对繁杂组织的复杂度方面,其与TOGAF有着相通的见解)。总的来说,TOGAF的企业架构开发方法的基础是对企业架构的范围进行适当限定和定义,而这些限定和定义的方面包括:

  • 企业范围或着眼点:用于表述企业的整体范围,以及架构活动所涵盖的范围。
  • 架构领域:一个完备的架构描述需要涵盖四个架构领域中的内容,即业务、数据、应用和技术,而这也正是限定架构内容范围的维度之一。
  • 详细度:用于表述架构内容的详细程度,即何种程度的架构描述才是足够的。
  • 时间段:用于表述架构愿景所描述的是在未来哪个时间段的目标,以及此目标是否可以在指定的详细度上被描述清楚,如果不能则需要对中间过渡状态进行制定,并且对每个过渡状态的描述所采用的详细度应符合指定的需要。

一般来讲,企业架构范围的定义和限定首先需要明确企业范围或着眼点、详细度和时间段这三个方面。在这三个方面被确定之后,组织需要根据所面对的问题开展针对各种架构领域的选择和组合,从而实现针对企业架构范围的最终确定。需要注意的是,之所以架构范围需要被限定,是因为现实中的资源不是无限的,这些限制一般包括如下方面:

  • 架构开发团队的权力有一定限制。
  • 企业中不同角度的干系人的关注点千差万别。
  • 人力、资金等资源的限制。

综上所述,企业架构开发方法是一种非常灵活的架构开发指导方法,任何组织不论其身处何种行业或是具备什么样的规模都可以将其作为指导自身企业架构建设的方法。需要注意的是,企业架构开发虽然能够指导企业架构的建设,但是企业架构的范围则需要组织自身根据实际情况来进行定义和限定,也只有这样才能让企业架构开发方法的进行得以处在一个现实可行的环境当中。那企业架构方法具体如何进行呢?为了解答这个问题,本节随后的内容将会对企业架构开发方法的各阶段和步骤进行详细描述。

企业架构(六)——TOGAF总论及架构开发方法(ADM)概述相关推荐

  1. 软件过程开发方法(RUP、AP、MP、HP) CMMI/SPCA业务介绍

    软件开发一个复杂的活动, 它包含了需求调研, 系统设计, 开发, 部署, 维护等活动.  而且现有规范和流程目的并不是让你去完成文档,  而是通过这些文档, 让软件的质量更能得到保证.组成软件开发和系 ...

  2. Web服务常用的几种开发方法

    Web服务常用的几种开发方法 1.概述 Web服务,即通过程序实现网页服务,服务启动后,一般用户可通过访问URL获取到网站提供的网页服务,如网页浏览.留言.商品购买等.开发Web服务的技术有很多,有J ...

  3. 软件过程开发方法(RUP、AP、MP、HP)

    软件开发一个复杂的活动 , 它包含了需求调研 , 系统设计 , 开发 , 部署 , 维护等活动 .  而且现有规范和流程目的并不是让你去完成文档 ,  而是通过这些文档 , 让软件的质量更能得到保证. ...

  4. 企业架构研究总结(24)——TOGAF架构开发方法(ADM)之机会及解决方案阶段

    企业架构研究总结(24)--TOGAF架构开发方法(ADM)之机会及解决方案阶段 参考文章: (1)企业架构研究总结(24)--TOGAF架构开发方法(ADM)之机会及解决方案阶段 (2)https: ...

  5. 企业业务架构的需求管理与软件开发的供求曲线

    世事唯有变化不变,架构亦如此.企业架构因其庞大的体量,必然蕴含众多引致其变化的因素,即便是一个被仔细切分过的服务也很难保证自己不会变化,何况包罗万象的架构.架构设计并不是为了一味的追求稳定,甚至不是为 ...

  6. TOGAF架构开发方法 - 使用Visual Paradigm 自动化 过程

    www.visual-paradigm.com 什么是TOGAF? 如何使用TOGAF ADM工具Visual Paradigm 执行EA ? 企业架构对于每一个企业都是必不可少的,但掌握起来并不容易 ...

  7. 软件工程结构化建模的方法和工具_系统架构师之——软件开发方法

    不管你是开发人员,还是互联网行业人员,基本上经常看到各种各样的软件相关的图,如什么架构图什么设计图什么模式图甘特图等.很多时候总是傻傻分不清.对此,我们很有必要对系统开发基础知识有认知.对于一名程序员 ...

  8. 基于企业级业务架构的需求管理与软件开发的供求曲线

    世事唯有变化不变,架构亦如此.企业架构因其庞大的体量,必然蕴含众多引致其变化的因素,即便是一个被仔细切分过的服务也很难保证自己不会变化,何况包罗万象的架构.架构设计并不是为了一味的追求稳定,甚至不是为 ...

  9. ADM(架构开发方法)

    ADM(架构开发方法)是TOGAF中的核心,架构开发方法为开发企业架构所需要执行的各个阶段以及他们之间的关系进行了详细的定义,为架构设计提供了技术指引,是架构设计的总体流程模板 转存失败重新上传取消 ...

最新文章

  1. 15张图来了解【树】,面试再也不怕被刷了
  2. 千锋python全套视频教程400全集-千锋出品全套python视频教程,400大全集,你了解吗?...
  3. shiro自定义Realm
  4. Windows UWP开发系列 – RelativePanel
  5. (80)Verilog HDL测试激励:保存波形文件
  6. 《Essential C++》笔记之设计一个泛型算法(二)
  7. 【SQL】电商网站各模块指标的统计以及分析
  8. NUC1003 Hangover【数学计算+水题】
  9. Intellij idea创建(包、文件)javaWeb以及Servlet简单实现(Tomcat)
  10. 简述计算机网络的五层协议体系结构,计算机网络五层协议体系结构分别是什么...
  11. PHP + 小程序开发过程
  12. 真正决定人生高度的,是你做事的速度
  13. C# Excel 条件格式
  14. gmx editconf命令
  15. matlab 为双y轴加标签,[转载]matlab双y轴添加误差棒(转载)
  16. xshell 6查看测试日志
  17. Android7.0 分屏多窗口
  18. chef infra安装和使用入门
  19. 备受瞩目 | Conflux频频亮相2019上海区块链国际周
  20. 【FPGA】SCCB通信协议

热门文章

  1. java http参数传递_Java在HTTP请求中传递数组参数的方法
  2. windows 应用开机自启动方法总结
  3. WMI CIM studio无法连接解决 在XP下wmi取不到值可巧用wmic取值
  4. matlab硬接触,abaqus中的关于硬接触(Hard contact)、及其他接触
  5. checksum linux 命令_linux常用命令总结
  6. 分类变量 哑变量矩阵 指标矩阵_不懂数据集重排序?分类变量转换苦难?4种python方法,不再难!...
  7. 支持javascript的ppt软件_github重磅推荐!一个很好用的PPT生成工具
  8. mysql引擎机制_关于MySQL中的InnoDB引擎的MVCC机制的理解
  9. 计算机程序中断方式有几种,奥鹏离线作业计算机组成原理一、简答题1、请说明程序查询方式与中断方式各自的特点.2、提高存储器速度可采用哪些措施,请说出...
  10. 迁移学习与微调的区别