书中所举的例子:A-7E航空电子系统的构架。
作者以三个构架层次上的结构进行讨论。
(一)分解结构
将工作划分为细小的模块单元。
目的是为了让系统中各个模块的功能具有独立性,那么好处就显而易见了,易于修改。
比如:
- 存在技术更新或者更替,不至于修改一处而牵引其它各处。
- 项目开发人员的更替,会让后来者更易进行工作。
- 处理问题,更易查找和针对。
(二)使用结构
软件系统中各个部分之间的关系。
自己的理解是工作人员了解了其中的关系(或者称之为使用关系),那么工作人员对使用方的针对性开发会更加明确。或者说在接口方面的设计会更加完善。
或者如同书中所说的(玩笑),已经列好的关系成为列表单,将系统的部分功能呈现出来(包含一些精彩的设计来作为加分项),交于投资方来获取肯定,也是可行的。
(三)进程结构
软件系统运行过程。
这就如同程序中的事件链。 触发事件——执行事件
我们需要利用这个解决一些问题:
- 软件系统运行的基本功能。
- 解决一些操作冲突问题,来进行有序执行,避免进入死循环。
- 建立错误解决机制。
此结构更多是对相关使用者有直接影响。所以考虑周全,对大体功能进行细化和设计(比如前端使用者是一个画面,后台计算是另一个执行动作),以达到目标。
综上所述:三个结构都是非常重要的,从系统的模块、关系、过程三大方面进行设计。便于更改,便于抽取自己,提高并行性或性能等不同的质量属性有着重要的影响。对系统的静态方面和动态方面都有系统化的完善,对其中的关系都有了更深的理解。