模块独立(2)
4)功能性内聚是最高程度的内聚,它的优点是她们的功能明确,模块间耦合简单。
耦合
一般模块之间可能的连接方式有七种,从而构成了耦合性的七种类型。
1、非直接耦合:如果两个模块之间没有直接关系,它们之间的联系是通过主模块的控制和调用实现的。
2、数 据 耦 合 :如果两个模块彼此间通过参数交换信息,而且交换的信息仅仅是数据。
3、特 征 耦 合 : 如果一组模块通过参数表传递记录信息。
4、控 制 耦 合 : 模块通过传递开关、标志、名字等控制信息,明显地控制选择另一模块的功能
5、外 部 耦 合 :允许一组模块都访问同一全局简单变量。
6、公 共 耦 合 :允许一组模块访问同一全局性的数据结构。
7、内 容 耦 合 :如果一个模块可以直接调用另一模块中的 数据,或者允许个亿模块直接转移到另一模块中去,则称它们为内容耦合。
公共耦合是模块耦合中算很强的一种模块连接方式,它的强弱程度为 6,也就是说,模块之间的联系是十分密切的。
如上图所示,这是一个多个模块引用一个全程数据区的公共耦合模块,B 、C和E都要存取全程数据区中的一个数据项。比如一个磁盘文件等。假设B读该项时,要调用模块C并对该项重新计算并进行写操作,如果C要是错误的写入时,则往下的处理模块中模块E读该项时,那么就发生错误。所以造成错误原因是模块C,而不是模块E。所以在多模块的公共耦合的结构中,设计时要特别小心,尽量少用或不用公共耦合。
![](http://hi.csdn.net/attachment/201010/23/0_1287800982G1CE.gif)