耦合性(Coupling) 模块之间的依赖关系,
控制关系、调用关系、数据传递关系
- 非直接耦合 Nondirect Coupling
独立性7 耦合性1
没有直接关系,主模块的控制和调用 - 数据耦合 Data Coupling
独立性6 耦合性2
只通过数据参数 -
印记(标记)耦合 Stamp Coupling
独立性 5 耦合性3
参数表传递 -
控制耦合 Control Coupling
独立性 4 耦合性4
通过开关、标志、名字等控制信息控制另一个模块的功能 - 外部耦合 External Coupling
独立性 3 耦合性5
一组模块都访问同一全局简单变量,而不是同一全局数据结构 - 公共耦合 Public Coupling
独立性 2 耦合性6
同一公共数据环境(全局数据结构,共享的通信区,内存的公共覆盖区)
严重影响软件的可靠性和适应性- 松散公共耦合: 一个往公共数据环境中输出,一个输入
- 紧密公共耦合: 都输出或者都输入
- 内容耦合 Content Coupling
独立性 1 耦合性7
- A直接访问B的内部数据
- A不通过正常入口转到B的内部
- AB代码重叠(汇编)
- 一个模块多个入口
一般出现在汇编语言,高级程序设计语言不允许出现内容耦合