耦合度模型的建立.docVIP

  1. 1、本文档共9页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  5. 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  6. 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  7. 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  8. 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
耦合度模型的建立   摘要:该文从影响耦合度的因素出发,对其分析研究,给出度量模块耦合度的计算公式并建立模型。   关键词:模块;耦合度   中图分类号:TP311文献标识码:A文章编号:1009-3044(2008)36-2805-03   Coupling Degree Measure Model   ZHENG Lu-liang   (Fujian Medical University, Fuzhou 350001, China)   Abstract: Starting from the factors influencing the coupling degree, this article analyses and research them, puts forward the computing formula for measuring module coupling degree.   Key words: Module; coupling degree   1 引言   传统的软件度量学和当时的面向功能分解的设计方法相联系,大多以模块度量为主。Yourdon和Constantine提出影响软件质量的主要因素:耦合性、内聚性、复杂性、模块化及规模大小.Froy和Zweben利用软件模块结构图进行分析,从中提取21个特性作为度量依据,它们是模块间传递数据量的最大值、平均值、总数,公用数据数目,扇入、扇出平均值和最大值、条件调用、循环调用数目及最大深度(层数)等。面向对象技术采用数据抽象、封装、继承、多态性、信息隐藏、重用等机制,增强了软件可维护性、可靠性,提高了生产效率等。由于面向对象设计与面向功能分解的传统设计的巨大差异,传统的软件度量方法无法适应面向对象技术.数据抽象、封装、继承、多态性、信息隐藏、重用机制等新概念的出现,必然需要新的面向对象软件的度量学理论和方法来与之适应。   2 模块   面向对象设计就是基于四个重要的软件设计概念-抽象、信息隐蔽、功能独立性、模块性建造系统的能力,所有的设计方法均力图建造有这些基本特征的软件,面向对象设计可分为两个阶段,即高层设计和低层设计。高层设计建立应用的体系结果,低层设计集中于类的详细设计,面向对象设计的必需步骤是划分模块,而划分模块的原则是高内聚度低耦合度。   目前,几乎所有的软件体系结构都体现了模块化的思想,即把软件划分为可独立命名和编址的部件,每个部件称为一个模块,每个模块都完成一个子功能,当把所有模块组装到一起就成为一个整体时,便可以完成指定的功能。模块是数据说明、可执行语句等程序对象的集合,它是单独命名的而且可通过名字来访问的。例如,过程、函数、宏、子程序等等都可作为模块。而模块化就是把程序划分成若干个模块,各个击破。(模块是具有一定功能的可以用名词调用的程序语句集合)。   对于一个给定的问题,当模块总数增加时,每个模块的规模将减少,开发单个模块需要的成本(工作量)确实减少了;但随着模块数目的增加,设计模块间的接口所需代价却将增加,致使软件总耗费呈一抛物线。因为,实际上,模块的大小与模块的复杂性直接成正比,模块划分小了,每个模块的复杂性就下降,成本下降;但是增加了模块之间接口的复杂性。所以对每一问题都存在着某个最佳模块的数目,它能使软件成本最小。   那么,怎样保证模块数,使得可以获得最小开发成本呢?到底要依据什么标准划分模块?这些问题就将涉及到信息隐藏、内聚与耦合的概念。读者可以自己去查询相关书籍。   在当今软件业中,存在一些有关耦合度的度量,如CK度量方法和MOOD度量方法。其中,在CK度量方法中,它是从类的角度对程序的面向对象特征进行度量,它将对象类之间的耦合CBO(Coupling Between Object Classes)定义成某个类使用其他类的属性或方法的次数,也就是说一个类的CBO是它与其它类有耦合关系的类的数目。若CBO越大,则类的可重用性可能减弱,且修改和测试越复杂,但实际上存在多种不同的耦合关系,它们对软件质量的影响也不尽相同,对有耦合关系的两个类的影响也是不一样的。CK的耦合度定义对这些进行了简化,这虽然使得耦合度的意义变得有些模糊,但使得这个指标的计算方便了许多。在MOOD度量方法中,它是从面向对象系统的角度对程序的面向对象特征进行度量,对耦合性的度量可以通过对耦合因子CF(Coupling Factor)进行度量来表示。CF定义如下:      CF表示系统中所有类间的耦合程度,其值在0~1之间。若CF越大,则类间发生耦合越频繁。   由于面向对象软件度量仍处于发展阶段,这些方法仅揭示了软件的内部属性,如文本、数据流、控制流等特性,其结果还未与软件的外部属性,如复杂性、可理解性、

文档评论(0)

heroliuguan + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

版权声明书
用户编号:8073070133000003

1亿VIP精品文档

相关文档