外部耦合(External Coupling):一组模块都访问同一全局简单变量而不是同一全局数据结构,而且不是通过参数表传递该全局变量的信息,则称之为外部耦合
公共耦合:(Common Coupling) 若一组模块都访问同一个公共数据环境,则它们之间的耦合就称为公共耦合 –公共耦合有两种情况,松散公共耦合和紧密公共耦合
内容耦合 (Content Coupling)
尽量使用数据耦合,少用控制耦合,限制公共耦合,完全不用内容耦合
模块内聚:与独立性对应,内聚性越高,模块独立性越强
功能内聚:(Functional Cohesion):一个模块中各个部分都是完成某一具体功能必不可少的组成部分,是不可分割的
信息内聚(Informational Cohesion):这种模块完成多个功能,各个功能都在一个数据结构上操作,每一项功能有一个唯一的入口点
通信内聚(Communication Cohesion):如果一个模块内各个功能部分都使用了相同的输入数据,或产生了相同的输出数据,则称之为通信内聚模块
过程内聚(Procedural Cohesion):使用流程图作为工具设计程序时,把流程图中的某一部分划出组成模块,就得到过程内聚模块
时间内聚(Classical Cohesion):时间内聚模块的各个功能的执行与时间有关,通常要求所有功能必须在同一时间段内执行
逻辑内聚(Logical Cohesion):这种模块把几种相关的功能组合在一起
巧合内聚:(Coincidental Cohesion):巧合内聚模块中各部分之间没有任何联系,或者即使有联系,这种联系也很松散