软件的耦合与内聚
软件的耦合
软件模块之间的耦合性,从低到高为:
非直接耦合:两个模块之间没有直接关系,它们之间的联系完全是通过主模块的控制和调用来实现的。
数据耦合:一组模块借助参数表传递简单数据。
标记耦合(特征耦合):一组模块通过参数表传递记录信息(数据结构)。
控制耦合:模块之间传递的信息中包含用于控制模块内部逻辑的信息。
外部耦合:一组模块都访问同一全局简单变量,而且不是通过参数表传递该全局变量的信息。
公共耦合:多个模块都访问同一个公共数据环境。
内部耦合(内容耦合):指一个模块直接访问另一个模块的内部数据;一个模块不通过正常入口转到另一个模块的内部;两个模块有一部分程序代码重叠;一个模块有多个入口。
软件的内聚
软件模块内聚按高到低排列为:
功能内聚:完成一个单一功能,各个部分协同工作,缺一不可。
顺序内聚:处理元素相关,而且必须顺序执行。
通信内聚:所有处理元素集中在一个数据结构的区域上。
过程内聚:处理元素相关,而且必须按特定的次序执行。
瞬时内聚(时间内聚):所包含的任务必须在同一时间间隔内执行。
逻辑内聚:完成逻辑上相关的一组任务。
偶然内聚(巧合内聚):完成一组没有关系或松散关系的任务。
最高的为功能内聚。
本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来自 Warms!