为每一种类型的模块耦合类型有哪些举一个具体例子

VIP专享文档是百度文库认证用户/机構上传的专业性文档文库VIP用户或购买VIP专享文档下载特权礼包的其他会员用户可用VIP专享文档下载特权免费下载VIP专享文档。只要带有以下“VIP專享文档”标识的文档便是该类文档

VIP免费文档是特定的一类共享文档,会员用户可以免费随意获取非会员用户需要消耗下载券/积分获取。只要带有以下“VIP免费文档”标识的文档便是该类文档

VIP专享8折文档是特定的一类付费文档,会员用户可以通过设定价的8折获取非会員用户需要原价获取。只要带有以下“VIP专享8折优惠”标识的文档便是该类文档

付费文档是百度文库认证用户/机构上传的专业性文档,需偠文库用户支付人民币获取具体价格由上传人自由设定。只要带有以下“付费文档”标识的文档便是该类文档

共享文档是百度文库用戶免费上传的可与其他用户免费共享的文档,具体共享方式由上传人自由设定只要带有以下“共享文档”标识的文档便是该类文档。

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

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

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

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

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

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

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

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

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

我要回帖

更多关于 模块耦合类型有哪些 的文章

 

随机推荐