当我们说“架构”的时候,我们在说什么?---解读《ISO/IEC/IEEE 42010》国际标准

当我们说“架构”的时候,你想到的是什么?

程序员听到“架构”的时候,想到的是SSH、SSM三层架构,或者是SOA架构,或者是微服务架构等。

人力资源专业人员听到架构的时候想到可能是企业组织架构。

几乎每个行业专业都会对架构有特定行业的理解和认识,如昨天的文章荐读:《GB/T 8566-2022/ISO/IEC/IEEE:系统与软件工程生存周期过程》国家标准解读,只有当我面写标准的时候,才会追本溯源的问?什么是架构?当我们说架构的时候,或者为架构争吵的时候,有没有在一个维度上讨论?关于“架构”一词,业界有一个国际标准:ISO/IEC/IEEE 42010《软件与系统工程-架构体系》。

图片

所以当我们谈架构的时候,应该有一个对于架构的普遍理解,或者说有一个关于“架构”的上下文。

在《ISO/IEC/IEEE 42010》标准中,定义了架构的解释和架构的上下文。

(1)架构:

    一个系统在其所处环境中的(系统的)基础概念或属性,其内容包括它的元素、关系和它的设计和演进的原则。

《GB/T 8566-2022/ISO/IEC/IEEE:系统与软件工程生存周期过程》对架构的定义也来源于此。

简单的说:架构 = 元素 + 元素关系 & 设计演进原则

无论4A架构,还是分层分域架构,都是对元素维度的不同方面和粒度的梳理,元素和元素之间的关系则需要基于设计原则,这是一种对架构的高度抽象概括,单纯的说概念可能感触并不多,那么可以结合架构上下文来讨论。

图片

(2)架构的上下文

    架构是系统的展示。

我们经常说架构是组织的反映,有什么样的组织就有什么样的架构,从这个层面上讲,架构不是做出来的,架构说明是组织的展示,脱离开组织单纯讲架构也是一种耍流氓,所以很多企业抄华为的4A架构没法抄,所谓千企千面,每个企业也要根据自身实际情况进行架构的TOBE设计。

在《ISO/IEC/IEEE 42010》标准中,对系统也做了明确的定义:“系统是人工制造的,可由在此列出的一个或多个事物构成:硬件、软件、数据、人、过程(例如为用户提供服务的过程)、规程(例如操作指令)、设施、材料和自然发生的实体”。简化一点描述可以理解成为“软件产品和服务”(software products and services)

而企业的“系统”位于一个环境中。环境决定了整个生命周期中施加于系统的所有影响,包括系统在环境中,与环境的交互。这里的“环境”和我们口语表达中的“企业组织”相似。

一个系统的环境中可以包含其他系统。同一系统可以通过几种不同的架构来理解(例如,在不同环境中进行考虑时,可以使用不同的架构视角对同一系统进行架构说明)。

一个架构可以通过几种不同的架构说明来表达(例如,当采用不同的架构框架时,同样一个数据架构,华为的数据架构理解与其他公司也不相同,Togaf的数据架构和埃森哲的数据架构也不尽相同)。

相同的架构可以表征多个系统(例如,公用一个共同架构的系统系列)。

我们日常所说的“架构”或者“架构设计”或者4A架构,实际上是架构设计的输出物。在《ISO/IEC/IEEE 42010》标准中,架构是抽象的,由概念和属性组成,而架构说明是一种工作产品,也就是架构工作的输出物。

图片

所以当我们谈架构的时候,我们谈的是图中的哪一块?

参考:《ISO/IEC/IEEE 42010》

 下载地址:

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值