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