新闻动态
软件模块耦合度类型
https://www.sytm.net 发布日期:2013/12/20 16:09:48

一般模块之间的耦合度有下面7种类型:内容耦合、公共耦合、外部耦合、控制耦合、标记耦合、数据耦合和非直接耦合,他们之间的高低和模块独立性直接的强弱关系如图7-2所示。

(1)非直接耦合。如果两个模块之间没有直接关系,它们之间的联系完全是通过主模块的控制和调用来实现的、这就是非直接耦合。非直接耦合的模块之间独立性最强。

(2)数据耦合。如果一个模块访问另一个模块时,彼此之间是通过数据参数(不是控制参数、公共数据结构或外部变量)来交换输入、输出信息助,则称这种耦合为数据耦合。

数据耦合时,两个模块之间有调用父系,传递的是简单的数据值,相当于高级语有的佰传递,按数据耦合开发的程序界面简单、安全可靠。因此,数据积合是松散的稠合,模块之间的独立性比较强。在软件程厅结构小必须有这类耦合。

(3)标记藕合。如果一组模块通过参数表来传递记录信息,就是标记耦合。此时,两个模块之间传递的是数据结构,如高级语言中的数组名、记录名和文件名等标记,并实传递的是这个数据结构的地址,gp按结构名对此记录进行操作。内于标记耦合会使数据结构上的操作复杂化,因此,在设汁中应尽量避免这种耦合。采取“信息隐藏”的方法把对数据结构和加在它上面的操作全部集中在一个模块中,可以消除这种精合。

(4)控制耦合。如果一个模块通过控制信息(如开关、标志等)来选择另一模块的功能,就是控制耦合。控制耦合的实质是在单—接口上选择多功能模块中的某项功能。

对于控制耦合来说,一方面,它意味着控制模块必须知道所控制模块内部的一些逻辑关系;另一方面,所控制模块的任何修改,都会对控制模块产生影响。这些都会降低模块的独立件:

(5)外部耦合。一组模块都访问同一全局简单变量而不是同一全局数据结构,而且不是通过参数表传递该全局变量的信息,称之为外部耦合。例如,c语言程序中各个模块都访问被说明为extern类型的外部变量。外部耦合引起的问题类似于公共耦合,区别在于在外部耦合中不存在依赖于一个数据结构内部各项的物理安排。

(6)公共耦合。若一组模块都访问同一个公共数据环境进行相互作用,则它们之间的耦合就称为公共耦合。公共的数据环境可以是全局数据结构、内存的公共覆盖区、共享的通信区等。


更多阅读
返回列表
© 2010 TianMei Technology All rights reserved. ICP:辽B2-20150138辽公网安备 21010202000010号  目录概览