常见的耦合与内聚课件.ppt

上传人(卖家):ziliao2023 文档编号:6099363 上传时间:2023-05-28 格式:PPT 页数:14 大小:58KB
下载 相关 举报
常见的耦合与内聚课件.ppt_第1页
第1页 / 共14页
常见的耦合与内聚课件.ppt_第2页
第2页 / 共14页
常见的耦合与内聚课件.ppt_第3页
第3页 / 共14页
常见的耦合与内聚课件.ppt_第4页
第4页 / 共14页
常见的耦合与内聚课件.ppt_第5页
第5页 / 共14页
点击查看更多>>
资源描述

1、常见的耦合与内聚n非直接耦合:两个模块之间没有直接关系,它们之间的联系完全是通过主模块的控制和调用来实现的。n数据耦合:一个模块访问另一个模块时,彼此之间是通过简单数据参数(不是控制参数、公共数据结构或外部变量)来交换输入、输出信息的。n标记耦合:一组模块通过参数表传递记录信息,就是标记耦合。这个记录是某一数据结构的子结构,而不是简单变量。其实传递的是这个数据结构的地址;n控制耦合:如果一个模块通过传送开关、标志、名字等控制信息,明显地控制选择另一模块的功能,就是控制耦合。n外部耦合:一组模块都访问同一全局简单变量而不是同一全局数据结构,而且不是通过参数表传递该全局变量的信息,则称之为外部耦合

2、。n公共环境耦合:当两个或多个模块通过一个公共数据环境相互作用时,它们之间的耦合称为公共环境耦合。n内容耦合:当一个模块直接修改或操作另一个模块的数据时,或一个模块不通过不正常入口而转入另一个模块时,这样的耦合被称为内容耦合。内容耦合是最高程度的耦合,应该避免使用之。n偶然内聚:如果一个模块的各成分之间毫无关系,则称为偶然内聚,也就是说模块完成一组任务,这些任务之间的关系松散,实际上没有什么联系。n逻辑内聚:几个逻辑上相关的功能被放在同一模块中,则称为逻辑内聚。如一个模块读取各种不同类型外设的输入。尽管逻辑内聚比偶然内聚合理一些,但逻辑内聚的模块各成分在功能上并无关系,即使局部功能的修改有时也

3、会影响全局,因此这类模块的修改也比较困难。n时间内聚:如果一个模块完成的功能必须在同一时间内执行(如系统初始化),但这些功能只是因为时间因素关联在一起,则称为时间内聚。n通信内聚:如果一个模块的所有成分都操作同一数据集或生成同一数据集,则称为通信内聚。n顺序内聚:如果一个模块的各个成分和同一个功能密切相关,而且一个成分的输出作为另一个成分的输入,则称为顺序内聚。n过程内聚:如果一个模块内的处理元素是相关的,而且必须以特定次序执行。n功能内聚:如果模块内所有处理元素属于一个整体,完成一个单一的功能。计算多个地点的日平均温度初始化变量sum并打开文件创建新的温度记录存储温度记录关闭文件并打印平均温

4、度读取地点,时间和温度计算特定地点的日平均温度计算多地点日平均温度程序答:从上图的层次图可能看出,这个程序的功能是计算机若干个指定地点的每日平均温度。变量sum保存某地一天之内在指定的时间取样点的温度之和。程序运行时首先初始化变量sum并打开文件,然后读取地点,时间和温度等原始数据,创建用于保存这些数据的温度记录,接下来计算特定地点的日平均温度,存储温度记录。重复调用“读取地点,时间和温度”,“创建新的温度记录”“计算机特定地点的日平均温度”和“存储温度记录”等模块直至计算机出并保存好所有指定地点的日平均温度。最后,打印平均温度并并关闭文件。从上述叙述可知,“计算多个地点的日平均温度”,“读取

5、地点,时间和温度”,“创建新的温度记录”,“计算特定地点的日平均温度”和“存储温度记录”等5个模块,每个都完成一个单一的功能,模块内所有处理元素都为完成同一个功能服务,彼此结合得十分紧密,因此,这5个模块的内聚类型都是功能内聚。初看起来,由于初始化变量sum和打开文件这两个操作都是在程序运行的初始阶段完成的,“初始化变量sum并打开文件”这个模块的内聚类型似乎是时间内聚。但是,初始化变量sum是本程序特有的操作,而打开文件是硬件要求的操作,是任何使用文件的程序都包含的一个操作,并非本程序特有的操作。当可以分配两个或更多个不同级别的内聚类型给一个模块时,规则是分配最低级别的内聚类型给该模块。因此

6、,“初始化变量sum并打开文件”这个模块的内聚类型是偶然内聚。同理,“关闭文件并打印平均温度”这个模块的内聚类型也是偶然内聚。例2:分析下图,确定模块之间的耦合类型。pqutsr124356模块p,t和u更新同一个数据库n在上图中已经给模块之间的接口编了号码,下表描述了模块间的接口。编号输入输出1飞机类型状态标志2飞机零件清单3功能代码4飞机零件清单5零件编号零件制造商6零件编号零件名称n答:综合分析上图和上表所提供的信息可知各个模块之间的耦合情况。例如,当模块p调用模块q时(接口1),它传递了一个参数-飞机类型。当模块q把控制返还模块p时,它传回一个状态标志。n某些模块之间的耦合类型是明显的

7、,例如,模块p和q之间(接口1),模块r和t之间(接口5)及模块s和u之间(接口6)都是数据耦合,因为它们传递的都是一个简单变量。n如果两个模块中的一个模块给另一个模块传递控制元素,也就是说,如果一个模块明显地控制另一个模块的逻辑,则它们之间具有控制耦合。例如,当给具有逻辑内聚的模块传递功能代码时就传递了控制元素。另一个控制耦合的例子是把控制开关作为一个参数传递。上图中的模块q调用模块r时(接口3)传递一个功能代码,因此,这两个模块之间是控制耦合。n上图右侧文字说明,模块p,t和u更新同一个数据库,因此,它们之间具有公共环境耦合。n当模块p调用模块s时(接口2),如果模块s使用或更新模块p传递给它的零件清单中的所有元素,则模块p和s之间的耦合是数据耦合;但是,如果模块s只访问该清单中的一部分元素,则模块p和s之间的耦合是特征耦合。模块q和s之间(接口4)的耦合情况与此类似。由于上图与上表中给出的信息沿不足以准确地描述各个模块的功能,所以不能确定这两对模块之间的耦合是数据耦合还是特征耦合。

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 办公、行业 > 各类PPT课件(模板)
版权提示 | 免责声明

1,本文(常见的耦合与内聚课件.ppt)为本站会员(ziliao2023)主动上传,163文库仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。
2,用户下载本文档,所消耗的文币(积分)将全额增加到上传者的账号。
3, 若此文所含内容侵犯了您的版权或隐私,请立即通知163文库(发送邮件至3464097650@qq.com或直接QQ联系客服),我们立即给予删除!


侵权处理QQ:3464097650--上传资料QQ:3464097650

【声明】本站为“文档C2C交易模式”,即用户上传的文档直接卖给(下载)用户,本站只是网络空间服务平台,本站所有原创文档下载所得归上传人所有,如您发现上传作品侵犯了您的版权,请立刻联系我们并提供证据,我们将在3个工作日内予以改正。


163文库-Www.163Wenku.Com |网站地图|