http://ea.zhoujingen.cn/110.htmlhtml
作软件产品近二十多年了,“架构“真是一个重要而模糊的词,因范围太广,内容太深而很差理解。而要了解企业架构,那必然要先了解架构,因此今天我和你们来聊聊“架构”。编程
IT 这个行业中的词汇许多都来源于传统行业,例如“精益””架构“”。“架构”这个词也来源于建筑学。在建筑建造出来或者产品加工出来以前,设计人员用图纸来描述本身的设计意图。如今你要给软件画个图纸,这个图纸会有哪些要素组成?架构
在IEEE 1471中是这样描述架构元素及其关系的:框架
若是想要更多了解,你们能够本身上网查找一下这个图的讲解,在此我就很少说了。 工具
架构常常和框架有点关联,容易混淆,因此在讲架构时必定得说说框架。学习
由于我以前作过好几年的管理软件以及开发平台,因此接着我说下在软件产品线工程方法中如何对架构进行说明的。lua
IEEE 1471是对通用架构的描述,FEF是一个产品线评估框架,里面有对架构的评估。Family Evaluation Framework (FEF) 是欧洲工业界和学术界通过六年时间从众多项目整理出来的一个评估框架,以下图,该评估框架有5个级别, 覆盖了软件工程的四个评估维度(商业、架构、流程和组织),每一个维度有三到四个方面,本篇将介绍一下架构维度,这是咱们业务和开发人员最应该关注的维度。架构设计
BAPO对架构着重从如下三个方面考虑:设计
整体说明:只有针对单个系统的架构。orm
整体说明:重用集中在第三方基础设施。没有正式的可重用领域资产。
整体说明:捕获了领域通用性并在平台中实现,全部应用能够共用一个参考架构,经过配置平台能够适用与多个不一样的产品,可是对可变性管理仍是没有很好的支持。
整体说明:在产品线中明确提出可变性管理,可以很好的进行进行领域共性和可变性管理
整体说明:参考架构占主导,只有少许的应用架构,更多的是使用建模、脚本、工具和配置从参考架构自动生成产品。
愈来愈多的人发现,表述一个系统架构的方法不仅一种,一个系统中也可能有不少种不一样的架构,并且对于什么在架构上意义重大的见解也会随着系统的生命周期而变化,因此会出现不少词汇:软件架构(softwarearchitectures)、系统架构(system architectures)、企业架构(enterprisearchitectures)、信息架构(Information)、应用架构(Application)、IT架构(ITarchitectures)、业务架构(Business architectures)、技术架构(Technologyarchitectures)、应用架构(Solution Architectures)、基础架构(InfrastructureArchitectures)、领域架构(DomainArchitectures)等。
其中对于从软件开发出身的人来讲,要着重关注一下业务架构,因此我这里说下业务架构体系:业务架构体系是针对企事业信息管理系统中具备体系的、广泛性的问题而提供的通用解决方案,更确切的说,是基于业务导向和战略驱动的架构来理解、分析、设计、构建、集成、扩展、运行和管理信息系统,好比业务架构体系认为一个信息系统必须由组织机构、业务流程、业务信息、业务功能、和业务语义等层次构成。
这些架构有的还存在各自的社区力量,不一样架构之间可能还存在一些争斗,因此想要统一很难,而咱们须要作的就是先对对以上这些架构词汇所表明的知识进行学习,在掌握了基本概念之上再结合本身的实践和思考去逐步清晰架构的概念,整理出本身的理解。
虽然架构的定义难以统一,但做为架构师来讲,咱们仍是但愿能在某些角度上达成相对统一的理解。《企业应用架构模式》认为架构定义自己很难统一,可是可以统一的内容有两点:
如下为我认为对架构还不错的一些简单说明,可供参考:
架构是为软件产品服务的,而软件产品是由IT技术人员开发的,因此以前咱们谈到的架构基本上是这样的:
IT 专家们已经习惯于在信息系统开发和维护项目中处理应用、数据、技术和其余解决方案架构形式。全部解决方案架构领域被看做是“技术性的”,由于它们的范围内包括各类技术元素,例如,软件、数据和 IT 基础架构。这些领域都是由技术人员来处理 —— 也就是那些具备系统工程、软件工程或 IT 管理背景的人。
随着IT技术的发展,以及信息化水平的提升,在 90 年代业务架构做为单独的领域出现了,当时许多组织接受了业务架构师角色,也对业务架构框架中应该包含的组件的内容有了通常的共识:过程及信息、组织和绩效是相关联的。
后来你们基本接受在企业范围内的架构包括业务架构和解决方案架构两部分:
这两部分上接战略,下接项目实施,今后企业架构成为了企业的重要组成部分。
IT架构还能够再细分为:应用架构、数据架构和技术架构