模块独立 - wolai 笔记

1.耦合

1.1 定义

软件结构中不同模块间互连程度度量
取决模块间接口复杂程度,通过接口数据
追求尽可能松散耦合系统

1.2原则

尽量使用数据耦合,少用控制耦合,限制公共环境耦合, 完全不用内容耦合。

1.3常见耦合(松散→紧密)

(1)非直接耦合

两个模块分别能独立地工作不需要另一模块存在

(2)数据耦合

两模块通过参数交换数据信息

(3)控制耦合

两模块通过参数交换控制信息(包括数字形式)

(4)公共环境耦合

两个或多个模块通过一公共数据环境作用。
两种可能:
  1. 一模块送数据,另一模块取,等价数据耦合。
  2. 两模块既往公共环境送又从里面取,介于数据耦合和控制耦合之间。

(5)内容耦合

  1. 一模块访问另一模块内部数据;
  2. 一模块不通过正常入口转到另一模块内部;
  3. 两模块有部分程序代码重叠(汇编程序);
  4. 一模块有多个入口。

2.内聚

2.1定义

模块内各元素彼此结合紧密程度。

2.2常见内聚(好→差)

(1)功能内聚(10分)

一模块中各部分是完成某一功能必不可少组成部分

(2)顺序内聚(9分)

模块内处理元素同某功能密切相关,顺序执行

(3)通信内聚(7分)

一模块内各功能部分都使用相同输入数据,或产生相同输出数据

(4)过程内聚(5分)

模块内处理元素相关,特定次序执行。如把流程图中循环部分、判定部分、计算部分分成三个模块,这三个模块都是过程内聚模块。

(5)时间内聚(3分)

多为多功能模块,要求所有功能在同一时间内执行。如初始化模块和终止模块及紧急故障处理模块。

(6)逻辑内聚(1分)

一模块完成功能在逻辑上属相同相似一类

(7)偶然内聚(0分)

模块内各部分间没有联系,即使有也很松散。




Comment