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


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

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

    (一)分解结构

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

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

    比如:

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

    (二)使用结构

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

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

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

    (三)进程结构

    软件系统运行过程。

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

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

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

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

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

  • 相关阅读:
    SqlServer实现Oracle的wm_concat()函数功能
    WebApi异常过滤器
    C#DataTable转List<Models>
    C#访问Oracle或SqlServer数据库遍历添加参数
    C#+.netFrameWork4.5.2+WebAPI+Jquery+Ajax跨域请求问题
    VS2015+Windows服务简易教程+文件夹监听
    C# rpt 批量打印写法
    C#model序列化xml
    oracle em无法连接数据库实例
    childNodes与children
  • 原文地址:https://www.cnblogs.com/maplely/p/6379506.html
Copyright © 2020-2023  润新知