原创 精进学思行 精进学思行
在系统架构8 概念|需求和具体方案的探索空间中,我们介绍了概念是建立意图和架构之间的桥梁,那么我们如何从桥上走到桥的那头呢?就想概念车毕竟是概念,如何变成真正的量产车呢?
本文会从三个方面分享这个话题:
如何从概念到1级架构?
如何从1级机构到2级架构?
如何选择架构中模块化的要素?
1 从概念到1级架构
在中,我们提到概念是对功能的一个初步构思,比如设计一种交通工具,飞机、汽车还是轮船是三种不同的概念。如果选择了汽车这个概念,那么具体怎么实现?就需要进一步构思这个汽车需要具备的功能,比如它肯定要能动,所以肯定要具备提供动力的功能;动起来后还要能控制方向,就需要有转向功能;能动还要能停下,就需要制动功能,依此类推,逐步识别汽车这个概念所需要考虑的功能,功能确定后,选择实现它的形式,比如为了实现动力功能(功能),可以用内燃机或者电机(形式),它们共同就构成了第一级的结构,具体的映射方式,可以参考系统架构7:功能和形式如何映射?。
2 从1级架构到2级架构
确定了1级架构,如何确定2级架构呢?这里有个很重要的概念——递归。什么是递归?它在软件程序中用的比较多,指的是运行中调用自己。你估计听过一个典型故事:
从前有座山,山里有座庙,庙里有个和尚,和尚在讲故事,从前有座山,山里有座庙,庙里有个和尚,和尚在讲故事,从前有座山...”,
把这个故事加一个结束条件,就是典型的递归。这种现象在层级制的组织中也比较常见,总裁管着几个副总裁,几个副总裁管着几个总监,总监再管几个经理,经理再……,当然每一层级的管理方式可能有些差异。
这和系统机构的分解有什么关系?从1级架构到2级架构的分解过程,也是类似递归的过程。比如上面汽车一级架构分解到了动力系统,选择了电机,那么二级架构就可以通过相似的方式,先识别电机应该具备的功能,以及其对应的形式是什么。
3 架构中的模块化
按照递归原理,可以继续进行第三级和第四级的分解,这个要看目的和必要性。正如在系统架构2:分解-管理复杂的利器提到的"2下1上"原理,下一级分解是为了确认上一级的分解是否合理;其次,还有一个重要的目的,通过分解到2级,可以更好对1级进行模块化,后面会介绍。还有一个重要原因,通常分解到3-4级后,对应的实体很可能超过几百个,很难理解和管理。
接下来,我们简单介绍一下模块化的一个工具和三个步骤。
3.1 一个工具:DSM
DSM可以是对三个不同内容的缩写:Design Structure Matrix(设计结构矩阵),Decision Structure Matrix(决策结构矩阵),或者是Dependency Structure Matrix. 无论哪种简写,共同的特点是通过矩阵表格的形式来描述要素的关系,在系统架构中,根据行和列的不同,可以表示三种不同类型关系:形式-形式,形式-过程,过程-过程,其中前两者最常见。
形式-形式常常用来表示要素间连接关系,比如下图泵结构中的连接关系:
形式-过程可以用来表示实现过程的工具和载体,比如在系统架构8 概念|需求和具体方案的探索空间中的下图:
3.2 模块化的3步
结合前面的2级架构的分解,以及DSM,我们可以对1级架构进行模块化,更准确说是分组,把架构中紧密联系的实体归为一组,为什么要这样?这样可以尽量缩小模块之间的交互,并增大模块的内聚性。那怎么利用DSM进行分组?有如下的三步:
步骤1:选定分组的标准;
在系统架构中,分组的常常按照过程或形式来划分。以汽车为例,如果按照形式分,我们可以将其分为车身,底盘、动力总成等,如果按照过程,可以分为启动、行驶、转向、制动等。
步骤2:表达相关信息;
相关信息指的是形式之间的静态连接关系;或者是通过过程和操作数建立的链接;或者是过程之间通过操作数形成的链接,可以用数字表示链接的数量或强弱,用于下一步计算。
步骤3:进行信息计算,确定分组。
当把2级架构表达为包含相关信息的DSM后,就可以通过算法进行归类和分组,常用的是“聚类算法”(Clustering Algorithm),有机会单独介绍。其目的就是对DSM中的实体进行重新排列,目的是把联系紧密的放在一组。
这种模块处理方式,在工作中也很常见,比如在进行部门划分的时候,常常会把业务紧密度高的放到一起,比如“市场&品牌”,“产品开发”,“生产制造”,而在产品开发中,可以按照相同的逻辑,比如汽车企业会有车身、底盘、动力总成部门的划分。
而以我的专业NVH(噪声振动)为例,仿真和试验常常是需要紧密配合的,所以划分在一起也有利于工作的开展。
总结
概念是连接意图和架构的桥梁,但是要走过桥梁,让构想接近现实,需要进行细化,就像要把概念车转化为量产车,需要更多更加具体的落地动作。这个过程可以通过多级架构分解得到,不同级的分解方式(功能-形式)可以遵循“递归原理”。
考虑到必要性和复杂性,常常会将架构分解到2级,通过2级来判断1级的合理性,更重要的是基于二级对一级进行模块化分组,分组的方向是增强模块的“内聚性”。如何分组?问题提到的DSM工具和三个步骤可供参考。
网友评论