面向对象软件复杂性度量方法的研究

面向对象软件复杂性度量方法的研究

论文摘要

软件复杂性是软件质量的重要组成部分,其度量是软件度量的重要方面。当前,面向对象软件开发方法已经成为主流的软件开发方法但缺乏较为完善的面向对象软件复杂性度量方法。基于这样的现状,本文提出了面向对象软件复杂性度量方法的研究课题。本文将介绍软件度量基本理论及软件复杂性度量方法,以及度量方法评估准则。接着介绍面向对象方法的特性,以及此前已由其他学者提出的面向对象度量方法,对这些方法进行分析,并指出现有方法存在的不足之处,如C&K的DIT没有考虑所有继承路径、NOC没有考虑非直接子类、CBO没有考虑类间的耦合程度等。这些方法仅从面向对象的某些特性进行度量,不够全面。本文同时分析了面向对象度量与结构化度量的区别。在对传统软件复杂性度量方法、面向对象度量方法等进行分析的基础上,本文对面向对象软件复杂性进行分析,并提出复杂性分解的思想,将面向对象软件复杂性分解为类的复杂性、继承复杂性、多态复杂性、耦合复杂性和成员关系复杂性等多个复杂性分量。其中多态复杂性又可分解为强制多态、重载多态、参数多态和包含多态等复杂性。这些分量能较为全面地体现面向对象的特性。本文在分解的基础上分别为这些复杂性分量提出度量方法。其中,类的复杂性采用类所实现的成员的复杂性SIMC、类接口复杂性之和SCIC反映。继承复杂性可以通过继承图表示,由继承成员个数NIM、覆盖成员个数NOM、成员名重复数NRN、继承路径距离LIP和访问方式更改数NMA等几个方面反映,并采用加权合成的方式得到继承复杂性。多态复杂性可由四种类型的多态复杂性组合反映。类之间的耦合性可以通过耦合图表示,耦合复杂性可以通过耦合图中顶点间边的数量和耦合程度表示。类的成员关系使用伪二部图表示,成员关系复杂性由类成员间的交互程度表示。最后确定整体复杂性的组成成分并采用加权合成的方式得到面向对象软件的复杂性。为验证度量方法的有效性,本文随机选取3个VC++程序进行度量并对度量结果分析。结果表明本方法的度量结果与对这些程序复杂性的分析结果一致,从而从实际应用这个角度验证了该方法的合理性和可行性。

论文目录

  • 摘要
  • ABSTRACT
  • 1 绪论
  • 1.1 课题研究现状
  • 1.2 选题依据
  • 1.3 研究内容及章节安排
  • 1.4 课题研究意义
  • 2 软件度量及复杂性度量
  • 2.1 软件度量基本理论
  • 2.1.1 度量及软件度量
  • 2.1.2 度量表示理论
  • 2.1.3 软件度量评估准则
  • 2.2 软件复杂性度量
  • 2.3 结构化程序复杂性度量方法
  • 2.3.1 结构化程序复杂性
  • 2.3.2 代码行
  • 2.3.3 环形复杂性
  • 2.3.4 Halstead 的软件科学理论
  • 2.4 软件复杂性控制
  • 2.4.1 模块复杂性控制
  • 2.4.2 软件结构复杂性控制
  • 2.4.3 软件总体复杂性控制
  • 2.5 本章小结
  • 3 面向对象及其度量方法分析
  • 3.1 面向对象思想
  • 3.2 面向对象方法的特点
  • 3.3 面向对象度量方法分析
  • 3.2.1 C& K 面向对象量度集
  • 3.2.2 Lorenz&Kidd 量度组
  • 3.2.3 MOOD 量度组
  • 3.2.4 其他面向对象量度
  • 3.2.5 面向对象度量与结构化度量度量的区别
  • 3.4 本章小结
  • 4 面向对象软件复杂性度量方法
  • 4.1 类的复杂性
  • 4.1.1 成员复杂性
  • 4.1.2 类的封装性
  • 4.1.3 类复杂性的表示
  • 4.2 继承复杂性
  • 4.2.1 继承特性
  • 4.2.2 继承复杂性
  • 4.2.3 继承复杂性度量
  • 4.2.4 继承树复杂性
  • 4.3 多态复杂性
  • 4.3.1 多态分类
  • 4.3.2 强制多态
  • 4.3.3 重载多态
  • 4.3.4 参数多态
  • 4.3.5 包含多态
  • 4.4 耦合复杂性
  • 4.4.1 耦合图
  • 4.4.2 耦合复杂性
  • 4.5 类成员关系复杂性
  • 4.5.1 伪二部图
  • 4.5.2 类成员关系
  • 4.5.3 成员关系复杂性
  • 4.6 面向对象复杂性
  • 4.6.1 类复杂性
  • 4.6.2 系统复杂性
  • 4.7 本章小结
  • 5 方法应用及验证
  • 5.1 实例介绍
  • 5.2 度量过程
  • 5.3 结果分析
  • 5.4 本章小结
  • 6 结束语
  • 致谢
  • 参考文献
  • 附录
  • A:作者在攻读硕士学位期间发表的学术论文目录
  • B. 作者在攻读硕士学位期间取得的科研成果目录
  • 相关论文文献

    • [1].软件复杂性研究综述[J]. 计算机系统应用 2014(09)
    • [2].实施数据虚拟化应避免的十个常见错误[J]. 机械工业信息与网络 2009(06)
    • [3].嵌入设计相关的自由软件[J]. 电子设计技术 2008(11)
    • [4].对软件的复杂性和复杂网络特性的探讨[J]. 科技情报开发与经济 2011(32)
    • [5].基于投影寻踪的Web软件复杂性度量[J]. 计算机应用 2012(03)
    • [6].基于依赖矩阵的构件软件复杂性的度量模型[J]. 计算机应用与软件 2009(05)
    • [7].航天运输系统中软件复杂性度量与控制[J]. 航空制造技术 2008(22)
    • [8].基于LASSO-LARS的软件复杂性度量属性特征选择研究[J]. 计算机科学 2013(11)
    • [9].Photoshop在教学中的问题初探[J]. 中国教育技术装备 2011(09)
    • [10].基于软核结构的软件复杂性分析与度量[J]. 东北大学学报(自然科学版) 2011(09)
    • [11].软件系统的复杂网络之研究[J]. 科技创新与应用 2017(07)
    • [12].一种软件体系结构复杂性的评价方法[J]. 计算机应用研究 2008(08)
    • [13].基于复杂网络的软件结构度量方法综述[J]. 智能系统学报 2011(03)
    • [14].基于复杂网络的软件复杂性度量的研究[J]. 电子技术与软件工程 2015(17)
    • [15].复杂软件的级联故障建模[J]. 计算机学报 2011(06)
    • [16].基于模型的舰船作战系统工程方法研究与应用[J]. 舰船科学技术 2016(23)
    • [17].软件的“软”特点及其对策研究[J]. 聊城大学学报(自然科学版) 2010(02)
    • [18].低功耗单核汇聚处理器[J]. 今日电子 2008(12)
    • [19].构件技术研究及应用[J]. 福建电脑 2008(07)
    • [20].软件可靠性新模型研究(英文)[J]. 内蒙古大学学报(自然科学版) 2011(05)
    • [21].基于信息量的动态软件网络节点重要性研究[J]. 计算机应用研究 2015(07)
    • [22].ABC:一种全生命周期软件体系结构建模方法[J]. 中国科学:信息科学 2014(05)
    • [23].AOP和设计模式的综述[J]. 黑龙江科技信息 2009(35)
    • [24].基于UML的RUP系统模型构建[J]. 福建电脑 2012(01)
    • [25].面向对象类的复杂性的度量方法[J]. 计算机工程与应用 2010(12)
    • [26].基于复杂网络的大型软件复杂性度量[J]. 软件 2015(11)
    • [27].叶片型面测量仿真系统设计与实现[J]. 河南机电高等专科学校学报 2014(06)
    • [28].中小企业缺陷跟踪管理系统[J]. 西安文理学院学报(自然科学版) 2009(01)
    • [29].基于NIO和设计模式的应用服务器的设计与实现[J]. 微计算机信息 2009(21)

    标签:;  ;  ;  ;  

    面向对象软件复杂性度量方法的研究
    下载Doc文档

    猜你喜欢