A 判断 B 功能1 功能2 功能1 功能2 (b) 图41改控制耦合为数据耦合的方法示意图
A B f x (a) (b) 判 断 功 能1 功 能2 (c) A 功 能1 功 能2 图4.1 改控制耦合为数据耦合的方法示意图
在绝大多数情况下,控制耦合是可以避免的,对于图4.1中 的例子,可以采取如下的方法: ①将被调用模块B中的判定上移到模块A中去。 ②将被调用模块B中包含的两种功能分为两个模块。 经过这样处理后,控制耦合改变为数据耦合,图4.1(c)是改 变后的模块调用示意图。 5)外部耦合 外部耦合是指模块与外部环境之间的联系,例如输入输出 模块,只有当需要的外部设备正常工作时,这些模块才能正常 工作
在绝大多数情况下,控制耦合是可以避免的,对于图4.1中 的例子,可以采取如下的方法: ① 将被调用模块B中的判定上移到模块A中去。 ② 将被调用模块B中包含的两种功能分为两个模块。 经过这样处理后,控制耦合改变为数据耦合,图4.1(c)是改 变后的模块调用示意图。 5) 外部耦合 外部耦合是指模块与外部环境之间的联系,例如输入输出 模块,只有当需要的外部设备正常工作时,这些模块才能正常 工作
6)公共耦合 公共耦合是指多个模块共享全局数据区,如C语言中的共 用外部变量、 FORTRAN语言中的 COMMON共用数据区等。公 共耦合的耦合程度较高,属于强耦合,设计时应该避免使用。 7)内容耦合 内容耦合指一个模块直接访问另一个模块的内部信息 (程序代码或内部数据)。这是最不好的耦合形式,它对模 块的独立性破坏最大
6) 公共耦合 公共耦合是指多个模块共享全局数据区,如C语言中的共 用外部变量、FORTRAN语言中的COMMON共用数据区等。公 共耦合的耦合程度较高,属于强耦合,设计时应该避免使用。 7) 内容耦合 内容耦合指一个模块直接访问另一个模块的内部信息 (程序代码或内部数据)。这是最不好的耦合形式,它对模 块的独立性破坏最大
3.模块的内聚性 内聚性是一个模块内软件成分之间联系的强弱程度的 定性度量,是模块内部特征的表现。内聚性越高,表明各 成分之间的联系强度越大。模块的内聚性好,一般与其它 模块的关联程度也相对较弱,模块的独立性也较好
3. 模块的内聚性 内聚性是一个模块内软件成分之间联系的强弱程度的 定性度量,是模块内部特征的表现。内聚性越高,表明各 成分之间的联系强度越大。模块的内聚性好,一般与其它 模块的关联程度也相对较弱,模块的独立性也较好
1)偶然内聚 偶然内聚是指模块中各软件成分之间没有有意义的联系。 有时若干个模块中存在若干相同的语句序列,程序员为了节省 存储空间将它们抽取出来形成一个单独的模块。这些语句只有 与调用它们的模块放在一起时才具有意义,这些语句本身相互 之间并没有有意义的联系,这个新的模块是偶然内聚的。 偶然内聚的可理解性差,难于修改,内聚程度最低,设计 时应该尽量避免使用
1) 偶然内聚 偶然内聚是指模块中各软件成分之间没有有意义的联系。 有时若干个模块中存在若干相同的语句序列,程序员为了节省 存储空间将它们抽取出来形成一个单独的模块。这些语句只有 与调用它们的模块放在一起时才具有意义,这些语句本身相互 之间并没有有意义的联系,这个新的模块是偶然内聚的。 偶然内聚的可理解性差,难于修改,内聚程度最低,设计 时应该尽量避免使用