一种基于UMLJava类复杂性度量方法.docVIP

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
一种基于UMLJava类复杂性度量方法

一种基于UML的Java类复杂性度量方法   摘要:软件产品复杂度在软件度量领域是一个非常重要的方面。软件开发的成本、进度和潜伏的错误数量均与复杂度有密切的关联。由于OOA和OOD被广泛运用,度量面向对象的软件复杂性成为必然的需求。UML是一种面向对象分析与设计的建模语言,已经被接受为工业标准。为此,提出了一种适用于Java语言的根据UML类图对类的复杂性进行度量的方法,并用Weyuker提出的复杂性度量的评价标准对其进行了评价。   关键词:复杂性度量;面向对象;统一建模语言;Java   中图分类号:TP311文献标志码:A   文章编号:1001-3695(2007)07-0180-03      0引言??      20世纪80年代后,面向对象方法和技术已受到计算机领域的专家、学者、研究人员和工程人员越来越广泛的重视。相继出现的一系列描述能力强、执行效率高的编程语言,标志着面向对象的方法与技术开始走向实用。90年代以来,面向对象的开发方法学研究越来越活跃,各种成果大量涌现并被应用于实际开发中,特别是Visual C++、Delphi、Java等功能更强、效率更高、使用方便的面向对象语言的出现,使得面向对象方法和技术成为主流。??   软件开发过程是高度智力活动,如何高质量、高效地开发软件,不仅是软件开发商关心的,也是从事软件开发技术与方法研究的专家、学者努力的目标。软件度量理论、方法的发展正是顺应了这种要求。??   统一建模语言(UML)由Rational公司提出[1],它结合了Rumbaugh、Booch和Jacobson提出的三种面向对象分析与设计方法的优点,被OMG接受而成为事实上的面向对象建模语言的工业标准,并得到了广泛的应用。在软件的分析和设计阶段利用UML对类的复杂性进行度量,这种早期的度量可以给项目开发带来一些有用的信息,避免在软件开发的后期对软件的开发方案和设计原则进行重大调整。由于Internet的崛起和普及,Internet上的网际程序语言Java已颇受瞩目。Java是一种具备有异质平台执行能力、多线程,且支持网络、WWW与图形用户界面的纯粹面向对象编程语言。由于它的许多先进功能而被视为是WWW上的最佳网际用语言之一。以Java做WWW上系统开发工具已经成为发展的趋势[2]。由于Java具有典型的面向对象的特征,选择Java语言作为研究对象,开发针对Java语言的软件度量方法既有代表意义又有实际价值。      1面向对象度量的一些相关工作??      面向对象的软件开发方法与传统的软件开发方法之间存在较大的差异,因此要根据面向对象系统的特点来定义新的度量准则,或对传统的软件度量准则进行扩展以适应面向对象系统的度量。许多研究人员对面向对象的度量方法进行了研究。Morris[3]最早提出了对面向对象软件开发度量的一些度量准则。但这些准则没有经过验证。D.R.Morea等人[4]提出了对面向对象图形信息系统进行度量的三个度量准则,缺点是他们没有提供形式化和可测试的定义。S.R.Chidamber等人[5]提出了对面向对象设计进行度量的六个准则,它们是:①每个类的方法权重和(Weighted Methods per Class,WMC)。类中所有方法的复杂性之和。②继承树的深度(Depth of Inheritance Tree,DIT),即类的继承树的深度。在多重继承的情况下,它是从叶子节点到根节点的路径最大长度。③子类的个数(Number of Children,NOC)。在继承的情况下,一个类的直接子类的个数。④类耦合度(Coupling Between Object classes,CBO)。某一个类与其他类之间的耦合计数。⑤类的响应度(Response For a Class,RFC)。接受外部的消息而在类中激发的方法数。⑥类内方法间的聚合缺乏度(Lack of Cohesion in Methods,LCOM)。采用了两个项目中的类库,利用该度量方法得到一些经验数据。V.L.Basili等人[6]对Chidamber的度量方法进行了验证。Li[7]指出了Chidamber度量准则中的一些缺点,并提出了另外一套度量准则:①祖先类的个数(Number of Ancestor Classes,NAC)。一个类所继承的全部祖先类的数目。②子孙类的个数(Number of Descendent Classes,NDC)。一个类在继承树中所有子孙类的个数。③类中局部方法的个数(Number of Local Methods,NLM)。在类中定义的且可由外部访问的方法数(即可见性为Public的方法数)。④类方法的复杂性(Class Method Complexity,C

文档评论(0)

189****7685 + 关注
实名认证
文档贡献者

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

1亿VIP精品文档

相关文档