一种面向对象软件的伪动态复杂性度量的方法.pdfVIP

一种面向对象软件的伪动态复杂性度量的方法.pdf

  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文档。上传文档
查看更多
第 26卷第 3期 安 徽 工 程 大 学 学 报 Vo1.26.No.3 2011年 9月 Journa】ofAnhuiPolytechnicUniversity Sep.,2011 文章编号 :16722—477(2011)030039—04 一 种面 向对象软件 的伪动态复杂性度量 的方法 范莉莉 (安徽工程大学 计算机与信息学院,安徽 芜湖 241000) 摘要 :着眼于对象 的继承和交互两个正交方面 ,提 出一种面 向对象 的伪动态复杂性度量方法.该方法集成了继 承和消息路径的度量 ,借助于简化消息交互图和继承扩展图较全面度量 了软件复杂性 .最后使用一个实例说 明和验证 了方法的有效性 . 关 键 词 :交互复杂性 ;继承复杂性 ;复杂性度量 中图分类号 :TP311.5 文献标 识码 :A 在面向对象方法 中,用对象 、类来抽象各种实体 ,借助消息交互等动态行为来实现软件的功能,其复杂 性 已有较多的研究,文献[1—3]从继承复杂性 、类 图结构 、类 间关系等方面进行软件复杂性的度量 ,这些属 于软件静态复杂性的度量 ,着眼于软件的动态行为和代码的运行轨迹 ,文献[4,5]进行 了软件动态复杂性 的度量.尽管动态复杂性度量 比静态复杂性度量更精确,但是困难更大,成本更高[6].它们的共 同性是仅仅 从某个方面对软件复杂性进行度量.本文从对象的继承和交互两个方面,集成 了横向关系的对象间的消息 交互和纵 向关系的对象间的继承带来的复杂性.定义了简化消息交互 图和继承扩展图以及生成过程 ,借助 它们实现对面向对象软件的复杂性进行较全面的度量. 1 面 向对象伪动态复杂性模型 1.1 正交复杂性模型 文献[6]对象级的复杂性进行 了,但是 由动态行为模型实现的用例的复杂性是软件复杂性度量必须考 虑的.我们从体现对象间交互的横向复杂性和对象问继承的纵 向复杂性两个 正交面来考虑软件的复杂性. 由于参与交互对象的属性或者方法可能继承于其某个层次的父类 ,使得对其复杂性 的度量更加复杂.其正 交复杂性模型如图 1所示 ,水平面表示对象间简化消息交互 图,虚线表示对象间存在依赖和交互 ;垂直面 表示类 的继承图,实线表示类的继承关系 ,点 V表示顶层父类 ,有子类 E,G和C.注意点 E、G、C分别出现 在简化消息交互 图中,为了简便点 E、G、C同时表示各 自的例化对象. 对象间的继承是由类 间继承所形成 的,表现在属性间、方法 间、属性一方法 3种依赖关系 ,其复杂性可 用继承扩展图来描述 ,称为继承复杂性.对象间的消息传递涉及消息传递的类型、传递次数 、传递对象的对 数等方面,其复杂性可用简化消息交互图来描述 ,称为横 向复杂性.但更为重要的是 ,完成用例的交互对象 是某个类 的例化 ,该类存在继承关系 ,即属于某个层次 的子类其属性和方法可能继承于其某个层次的父 类 ,那么完成该交互功能的对象属性或者方法实际上来源于该层次的父类 . 图2为顺序图,a、b、C、d分别是类A、B、C、D的例化对象.图中表示的消息传递过程为 :a首先给 b发送 消息 ml,其 中调用了对象b的方法 mB ();b收到消息ml后给d发送消息m2;d收到消息m2后给C发消 息 3;c收到 m3后给 b发消息 4;b收到消息 4后给 a发确认消息 m5;a收到消息m5后最后给 c发消 息 m6.对象 a、b、c、d之间存在的信息交互关系能从横向交互方面进行描述. 图 3为 图2中对象 的所属类 图.类 A为类 A 的子类 ,类 A的属性 。A和方法 柳A ()来 自类 A ;类 B为 类 B 的子类 ,类 B的属性 aB和方法mB ()来 自类 B ;类 C和类 D为类 M 的子类 ,类 C的属性 aM及方法 mM()和类 D的属性aM及方法mM ()均来 自父类 M.类A和类 B间不直接存在耦合关系 ,但是因为类A 的父类 A 和类 B的父类 B 之间存在方法调用 ,因此导致系统运行时对象 a、b之间存在方法间依赖.类 C 收稿 日期 :2010—10—28 基金项 目:安徽工程大学青年基金 资助项 目(2008yq025zd) 作者简介 :范莉莉 (1982一),女 ,山东莱芜人 ,讲师 ,硕士.

文档评论(0)

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

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

1亿VIP精品文档

相关文档