内聚类型(单模块内聚性:高到低)
功能内聚:完成一个单一功能,各个部分协同工作,缺一不可。
顺序内聚:处理元素相关,而且必须顺序执行。
通信内聚:所有处理元素集中在一个数据结构的区域上。
过程内聚:处理元素相关,而且必须按特定的次序执行。
时间内聚:所包含的任务必须在同一时间间隔内执行。
逻辑内聚:完成逻辑上相关的一组任务。
偶然内聚:完成一组没有关系或松散的任务。
耦合类型(模块间耦合性:低到高)
非直接耦合:两个模块之间没有直接关系,它们之间的联系完全是通过主模块的控制和调用实现的。
数据耦合:一组模块借助参数表传递简单数据。
标记耦合:一组模块通过参数表传递记录信息(数据耦合)。
控制耦合:模块之间传递的信息中包含用于控制模块内部逻辑的信息。
外部耦合:一组模块都访问同一全局简单变量,而且不是通过参数表传递该全局变量的信息。
公共耦合:多个模块都访问同一个公共数据环境。
内容耦合:一个模块直接访问另一个模块的内部数据;一个模块不通过正常入口转到另一个模块的内部;两个模块有一部分代码重叠;一个模块有多个入口。