面向对象软件中的包耦合度量.pdfVIP

  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文档。上传文档
查看更多
Gupta V, Chhabra JK. Package coupling measurement in object-oriented software. JOURNAL OF COMPUTER SCIENCE AND TECHNOLOGY 24(2): 273-283 Mar. 2009 面向对象软件中的包耦合度量 包用于表示若干类组成的集合,这些类可能是层次结构的并且执行一系列相互关联的任 务。包可以被用来统一大型软件开发中的重要方面:系统结构,存储管理,编译和配置管理 等。这样的统一简化了开发者的任务,并且提供了系统组件可靠性和可重用性的保证。包的 重要性已经得到了软件业界的认可,也已成为现代面向对象程序语言中不可或缺的一部分, 例如 Java ,C#等。从理论上说,包是一个独立的单元,但实际上包通常依赖于其他的包, 它们或者为其他的包提供服务,或者从其他的包中获取服务。因此,包之间的耦合关系只能 控制而无法完全避免。包之间的耦合是从多个方面影响软件质量的一个重要因素,包括其可 理解性、可靠性、可重用性以及容错能力等。但是,针对包级别上的耦合的实际应用,目前 只有少量的定量化的研究。在本文中,提出了一些度量包级别上的耦合性的指标,以获得高 质量的软件系统。 在本文中,提出了一些与包的概念相关的若干定义,讨论了面向对象应用中关于包结构 的一些性质,这些性质对于所提出的包耦合指标的定义是有用的。包由类(或者Java 应用 中的接口)和子包组成。进一步讲,这些子包又可能包含了类和子包。这导致了软件系统中 包的层次化结构。一个包中可能包含另一个包元素,它出现在层次结构中的下一层。如前所 述,每个包可以被视为一个由元素(类和子包)所组成的集合和这些元素之间的关系。同一 层级上的不同包之间的关系形成了包间耦合。如果两个包之间存在某种关系,则称它们是连 接的,这种关系可以是继承关系、聚合关系或者简单的引用关系。用r(e , e )来表示两个包之 i j 间的连接或者关系。如果e 和e 之间存在连接,则r(e , e ) = 1 。两个元素之间的连接也可以 i j i j 用e → e 来表示,这种连接是具有方向性的,表示e 被连接至e ,但是e 并不一定被连接 i j i j j 至ei 。因为某一元素可能依赖于另外一个元素,反之则未必。因此,一对元素之间的连接实 际上是非对称的,也即r(ei, ej) ≠ r(e , e ) 。包之间的耦合就是其子元素(类或者子包)之间的 j i 所有有向连接。元素的不同类型导致了其间连接的不同类型,例如类——类、子包——子包、 类——子包、子包——类。这些连接都是有向连接。因此,处于层次i 的、分别含有n 和m 个元素的两个包p ai 和p bi 之间的耦合被定义为: 0, (n 0= or m 0) ⎧ i i ⎪ Coup( p , p ) ⎨ n m i+1 i+1 m n i+1 i+1 a b x y + y x ≥ ∧ ≥ ∑∑r(e , e ) ∑∑r(e , e ), (n 1 m 1) ⎪ ⎩ 1 1 1 1 x y y x 其中n 表示包p ai 内第i + 1 层中所含的元素(类或者子包)的数目;m 表示包p bi 内第 i + 1 层中所含的元素(类或者子包)的数目。 另外有ex i+1 ∈ pa i ,ey i+1 ∈ pbi 。exi + 1 表示出现在包p a 内第i + l 层中的一个元素;ey i + 1 表示出现在包p b 内第i

文档评论(0)

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

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

1亿VIP精品文档

相关文档