知识卡片

架构组成论:子系统、通信、验证三部件的必然性

结构图卡

内容

当”系统”从泛义概念(第1章讨论的、任何规模都可能的认知对象)收窄成一个规模用词时,作者提出理解”系统架构”这个构件的第一种模型——架构组成论,把架构看作在空间视角上的求解,其部件必须包括子系统、通信、验证这三者。这三者的必然性不是随意假定的,而是各自有一条简单但严密的反证推论:若不存在子系统,那就没有所谓”系统架构(之整体)”可言(整体必须由部分构成,没有子系统,”系统架构”这个词本身就失去了对象);若不存在通信,那么子系统之于整体就是无意义的——它不必存在于这个系统架构中(一个和其他部分毫无交互的子系统,实质上是游离在系统之外的孤立体,不能算作这个系统架构的一部分);若不存在验证,那么子系统之于整体就是不确定的——它在系统架构中是或有或无的(没有办法验证一个子系统是否真的按预期发挥作用,就无法确定它究竟属不属于这个系统)。这三条推论呈现出一种递进的必要性论证:子系统回答”系统由什么构成”,通信回答”这些构成部分凭什么算作一个整体而非互不相干的孤立个体”,验证回答”我们凭什么确定这些构成部分真的在按整体的方式运作”。与架构组成论相对的是架构形成论——在时间视角上的求解,部件是各个架构阶段(书中第5章重点讨论)。可迁移启发:判断一份”系统架构”文档是否完整,可以用这三个必然性反证逐条检验——它有没有清楚说明系统由哪些子系统构成?有没有说明这些子系统之间如何通信?有没有说明如何验证这些子系统确实在按整体设计运作?如果某一项完全空白,那么对应的子系统在这份架构里的地位就是可疑的——要么它其实不该被划进这个架构,要么架构本身还没有想清楚。

结构图

flowchart TB
  A["架构组成论(空间视角)"]
  A --> S["子系统<br/>反证:若不存在,则无所谓'系统架构整体'"]
  A --> C["通信<br/>反证:若不存在,子系统之于整体无意义(可有可无)"]
  A --> V["验证<br/>反证:若不存在,子系统之于整体不确定(是否属于整体无从判断)"]
  A2["架构形成论(时间视角)<br/>部件=各个架构阶段"] -.->|"与组成论相对的另一维度"| A

参考来源

- 位置:《我的架构思想:基本模型、理论与原则》编二导言《架构是过程,而非结果》(源文件:_epub-src/ch013.xhtml) - 结论依据:原文说明"就这一系统架构的构件而言,有两种可能的模型。第一种可以理解为架构组成论,它可以看成架构在空间视角上的求解,其部件应当包括:子系统、通信与验证。关于这三个构件的必然性,是基于几点简单的推论:若不存在子系统,则没有所谓'系统架构(之整体)';若不存在通信,则子系统之于整体是无意义的,即它不必存在于该系统架构;若不存在验证,则子系统之于整体是不确定的,即它在系统架构中是或有或无的", 直接支撑本卡关于架构组成论三部件必然性的结构图。 - 原始内容:第二种可以理解为架构形成论,它可以看成架构在时间视角的求解,其部件应当包括各种架构阶段。