基于程序聚类的软件模块化质量演化监控技术研究

来源 :复旦大学 | 被引量 : 0次 | 上传用户:qq3743
下载到本地 , 更方便阅读
声明 : 本文档内容版权归属内容提供方 , 如果您对本文有版权争议 , 可与客服联系进行内容授权或下架
论文部分内容阅读
随着软件系统的演化,系统的模块化结构会逐渐偏离其最初设计,并且这种偏离的不断积累通常会降低软件的可维护性,损害软件的整体质量,甚至使软件更容易引入缺陷或错误,进而导致严重的软件灾难。因此,如何客观地评价软件系统的模块化质量,以及如何发现和改正软件模块化结构中可能存在的问题,已经成为一个非常重要的研究课题。本文讨论了持续监控软件系统模块化质量演化状况的方法,帮助项目管理者更及时、全面地掌握软件系统的演化现状,同时还探讨了分析软件模块重构风险的方法,该方法可以帮助维护者更具针对性地进行系统维护。观察软件模块结构的角度有很多,每个角度所关注的内容各不相同。不同模块化视图之间的一致性越高,往往预示软件的可维护性也更高。因此,软件演化过程中各种模块化视图之间的偏离程度,是估计软件模块化质量的重要线索。本文中我们考虑了三种模块化视图,即:包结构视图、语义聚类视图、以及结构聚类视图,并尝试通过比较各种模块化视图之间的差异,对软件模块化质量进行评估。通过采用基于分散度的方法可以分析系统中各个模块的重构风险。对演化中的软件系统进行持续的模块化质量评估,还可以尽早发现软件演化过程中可能存在的模块化质量问题,甚至预测软件模块化质量的演化趋势。为了验证本文方法的有效性,我们在三个开源软件项目的124个演化版本上进行了实验。通过与传统的模块度量方法进行比较,表明采用本文方法获得的重构风险预测结果与实际重构活动有较好的吻合度,从而证实了该方法的有效性。另外,我们通过使用历史演化数据重现软件的演化过程,以实际发生的演化行为和相关记录作为预测结果的评判标准,最终也证实了本文所提模块化质量监控方法和演化模式的合理性。
其他文献
随着高速铁路的快速发展,高速移动通信网络成为高速铁路信息化建设的重要方向之一。高铁移动通信网主要分为铁路专网和用户开放式网络。本文根据特定的用户开放式高铁移动通
现在移动手机的使用已经在我们日常生活中广泛地传播,我们利用移动手机作为照相机,收音机,随身听以及浏览网络的工具。由于大部分的网页是为桌面计算机设计的,很难用小的屏幕设备
支持向量机是在统计学理论基础上发展起来的一种新型学习算法,已在机器学习、模式识别等领域取得了较好的应用效果,然而随着训练数据集规模的不断增大,支持向量机也表现出学习效
三线性分解算法因能对复杂多组分体系中的各组分同时进行定量分析而在众多领域得到应用。然而在嵌入式环境下,该算法因平台优化不足而性能不佳。三线性分解算法计算复杂,如何
近年来,随着云计算技术的广泛应用,数据中心网络的规模不断扩大。数据中心网络的路由方法作为影响数据中心各项性能指标的重要因素之一,一直是相关研究中的热点问题。目前,数
在移动Ad Hoc网络(Mobile Ad Hoc Network,MANET)中,节点的移动特性将直接影响网络性能。因此构建一个真实、合理的移动模型以仿真节点在实际场景中的运动过程是研究MANET的重要
社会网络是近年来快速发展的社会实时新媒体,它日益影响着人们的生活和学习,帮助人们更好的进行信息的交流和分享。在社会网络上,存在着一些非常活跃的用户,他们关注了成百甚至上
随着信息科技时代的来临,许多曾经需要人工收集数据信息、操作的系统和流程如今已经计算机化,产生了许多信息管理系统例如图书管理系统,然而许多信息管理系统都面临处理速度
WebGIS是Internet技术应用于GIS开发的产物。随着互联网技术的快速发展,WebGIS越来越流行,已经成为大众不可或缺的工具。但是传统的WebGIS客户端依赖于Html,与用户的交互性差
当今世界正处于一个信息爆炸的时代,用户查询信息时常常被信息淹没,迷失在信息中,这大大降低了检索的效率。如何快速高效的进行信息的分类管理,为用户提供准确有用的信息,是一个需