《软件构架实践》(二) —— 理解

书中所举的例子:A-7E航空电子系统的构架。

作者以三个构架层次上的结构进行讨论。

(一)分解结构

将工作划分为细小的模块单元。

目的是为了让系统中各个模块的功能具有独立性,那么好处就显而易见了,易于修改。

比如:

  • 存在技术更新或者更替,不至于修改一处而牵引其它各处。
  • 项目开发人员的更替,会让后来者更易进行工作。
  • 处理问题,更易查找和针对。

(二)使用结构

软件系统中各个部分之间的关系。

自己的理解是工作人员了解了其中的关系(或者称之为使用关系),那么工作人员对使用方的针对性开发会更加明确。或者说在接口方面的设计会更加完善。

或者如同书中所说的(玩笑),已经列好的关系成为列表单,将系统的部分功能呈现出来(包含一些精彩的设计来作为加分项),交于投资方来获取肯定,也是可行的。

(三)进程结构

软件系统运行过程。

这就如同程序中的事件链。  触发事件——执行事件

我们需要利用这个解决一些问题:

  • 软件系统运行的基本功能。
  • 解决一些操作冲突问题,来进行有序执行,避免进入死循环。
  • 建立错误解决机制。

此结构更多是对相关使用者有直接影响。所以考虑周全,对大体功能进行细化和设计(比如前端使用者是一个画面,后台计算是另一个执行动作),以达到目标。

综上所述:三个结构都是非常重要的,从系统的模块、关系、过程三大方面进行设计。便于更改,便于抽取自己,提高并行性或性能等不同的质量属性有着重要的影响。对系统的静态方面和动态方面都有系统化的完善,对其中的关系都有了更深的理解。

原文地址:https://www.cnblogs.com/maplely/p/6379506.html