模型耦合与模型内聚举例分析

模型耦合与模型内聚举例分析

ID:44434858

大小:113.78 KB

页数:4页

时间:2019-10-22

模型耦合与模型内聚举例分析_第1页
模型耦合与模型内聚举例分析_第2页
模型耦合与模型内聚举例分析_第3页
模型耦合与模型内聚举例分析_第4页
资源描述:

《模型耦合与模型内聚举例分析》由会员上传分享,免费在线阅读,更多相关内容在工程资料-天天文库

1、模型耦合与模型内聚举例分析耦合是程序结构内不同模块之间相互关联程度的度量。它是由模块间接口的复杂程度调用模块的方式及接口传递的信息类型决定的。模块之间的连接越紧密,联系越多,耦合性越高,而其模块独立性就越弱。模块化设计的目标是:建立模块间耦合尽可能松散的系统。其优点在于:(1)在设计、编码、测试和维护系统屮的任何一个模块时,不需要对系统中的其他模块有很多了解。(2)当某个模块岀错时,对系统的其他部分影响小。内聚性标志一个模块内部各元素彼此结合的紧密程度。理想情况下,一个内聚的模块只做一件事。在进

2、行概要设计时,要尽量采取高内聚。内聚与耦合呈反比关系,模块内的内聚越高,模块间的耦合度就越低。在概耍设计阶段,模块内聚更重要。只要做到各个模块的高内聚,模块间的耦合程度自然降低,模块的独立性也越高。下面举例分析1)耦合性耦合性是对一个软件结构内部不同模块间联系紧密程度的度量指标。决定耦合性高低的主要因素由于模块间的联系是通过模块接口实现的,因此,模块耦合性的高低主要取决于模块接口的复杂程度、调用模块的方式以及通过模块接口的数据。模块间的耦合性主要可划分为如下几种类型。低耦合咗k高数据公共控制内容

3、耦合耦合耦合耦合强'模块独立I性弱(1)数据耦合。若两个模块之间仅通过模块参数交换信息,且交换的信息全部为简单数据,则称这种耦合为数据耦合。数据耦合的耦合性最低,通常软件中都包含有数据耦合。数据耦合的例了如下所示:sum(inta,intb){intc;c=a+b;return(c);}main(){intx,y;printf("x+y=%d",sum(x,y));}/*主函数与sum函数Z间即为数据耦合关系*/(2)公共耦合。若两个或多个模块通过引用公共数据相互联系,则称这种耦合为公共耦合。例

4、如,在程序屮定义了全局变量,并在多个模块屮对全局变量进行了引用,则引用全局变量的多个模块间就具冇了公共耦合关系。全局数据区B.C、E为公共舉合(1)控制耦合。若模块之间交换的信息中包含有控制信息(尽管有时控制信息是以数据的形式出现的),则称这种耦合为控制耦合。控制耦合是屮等程度的耦合,它会増加程序的复杂性。控制耦合的例子如下所示:voidoutput(flag){if(flag)printf(HOK!n);elseprintf("NO!");}main(){intflag;output(flag

5、);}/*主函数与output函数之间即为控制耦合关系*/(2)内容耦合。若一个模块对另一模块中的内容(包括数据和程序段)进行了直接的引用其至修改,或通过非正常入口进入到另一模块内部,或一个模块具冇多个入口,或两个模块共享一部分代码,则称模块间的这种耦合为内容耦合。内容耦合是所有耦合关系屮程度最高的,会使因模块间的联系过于紧密而对后期的开发和维护工作带来很大的麻烦。2)内聚性内聚性是对一个模块内部各个组成元素之间相互结合的紧密程度的度量指标。模块屮组成兀素结合的越紧密,模块的内聚性就越高,模块的

6、独立性也就越高。理想的内聚性要求模块的功能应明确、单一,即一个模块只做一件事情。模块的内聚性和耦合性是两个相互对立且又密切相关的概念。经实践证明,保证模块的高内聚性比低耦合性更为重要,在软件设计时应将更多的注意力集中在提高模块的内聚性上。模块的内聚性主要可划分为如下几种不同的类型。(1)偶然内聚。若一个模块由多个完成不同任务的语句段组成,各语句段之间的联系十分松散或根本没有任何联系,则称此模块的内聚为偶然内聚。(2)逻辑内聚。这种模块是把几种功能组合在一起,每次调用时,则由传递给模块的判定参数来

7、确定该模块应执行哪一种功能。调用模块被调用模決(3)时间内聚。若一个模块包含了需要在同一时间段屮执行的多个任务,贝U称该模块的内聚为时间内聚。例如,将多个变量的初始化放在同一个模块中实现,或将需要同时使用的多个库文件的打开操作放在同一个模块中,都会产生时间内聚的模块。(4)过程内聚。若一个模块中的各个部分相关,并口必须按特定的次序执行,则称该模块的内聚为过程内聚。在结构化程序屮,通常采用程序流程图作为设计软件和确定模块划分的工具,因此,这样得到的模块往往具冇过程内聚的特性。(5)通信内聚。若一个

8、模块中的各个部分使用同一个输入数据或产生同一个输出数据,则称该模块的内聚为通信内聚。(6)顺序内聚。若一个模块中的各个部分都与同一个功能密切相关,并且必须按照先后顺序执行(通常前一个部分的输出数据就是后一个部分的输入数据),则称该模块的内聚为顺序内聚。(刀功能内聚。若一个模块中各个组成部分构成一个整体并共同完成一个单一的功能,则称该模块的内聚为功能内聚。高虫聚性低功能顺序通信过程时间逻辑耦合内聚文聚内聚丕聚艺聚衣聚内聚强模块独立性弱内聚性排列

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。