软件工程--软件设计(耦合与内聚)

what

  • 耦合
    模块间互相连接的紧密程度的度量。

  • 内聚
    模块内部各个元素彼此连接的紧密程度的度量

  • 相同

    耦合和内聚都是描述紧密程度度量情况

  • 不同
    耦合描述模块与模块间的紧密程度
    内聚描述模块内部的紧密程度
    (可以参考他们的名字,内聚,内部,也就是模块内部)

耦合

在这里插入图片描述

  • 非直接耦合:
    两个模块间没有直接关系

  • 数据耦合
    彼此之间进行简单的数据传输

  • 标记耦合
    通过参数传递记录信息

  • 控制耦合
    通过传递控制信息控制另一模块的功能

  • 外部耦合
    模块与软件的外部设备相连,共享外部资源

  • 内耦合
    模块之间的存在公用的模块变量,模块与弄快的代码有重叠
    可以参考为变量/代码重合,类于公因数

  • 公共耦合
    一组模块访问同一个公众数据环境
    分为松散的公众耦合和紧密的公众耦合

  • 松散的公众耦合和紧密的公众耦合的区别:
    紧密的公众耦合:
    与公共耦合的关系密集,存在相互调用的关系
    松散耦合:
    与公共耦合的关系不密集,单向调用

结论:
多使用数据耦合,少使用控制耦合
限制公众耦合,完全不用内耦合

内聚

在这里插入图片描述

  • 功能内聚
    模块的各个部分各司其职

  • 信息内聚
    按一定数据及逆行,功能有唯一的入点

  • 通信内聚
    有相同输入/输出的数据

  • 过程内聚
    将流程图的某一部分划分为模块,上一个是下一个的开始

  • 时间内聚
    功能的执行与时间有关

  • 逻辑内聚
    将相关功能组合在一起

  • 巧合内聚
    各部分之间无联系/联系松散

猜你喜欢

转载自blog.csdn.net/weixin_41851906/article/details/86617304
今日推荐