摘要
计算机技术的快速发展促使用户对各类软件的功能和性能提出更高的期望和要求,软件开发和维护的成本也随之不断升高。随着软件功能需求变化以及所处环境的动态变化,软件演化必然发生。如何在演化过程中保证软件的性能指标不降低,是从非功能的角度保证软件质量的重要课题。目前,软件性能测试作为一种衡量软件性能表现的有效方法,可以通过模拟多种负载条件对系统的各项性能指标进行测试,能够从非功能角度对软件质量进行度量与评估。然而,当前仍缺乏针对软件演化过程中的性能变化进行度量和评估的方法和工具。因此,如何在软件演化中度量并评估软件的性能变化,找出导致性能大幅下降的根源是本文的研究重点。 本文在对软件演化、软件性能评估方法和性能监控工具进行调研的基础上,对现有性能评估方法进行改进,提出了基于软件演化的性能评估和分析方法及其相应的性能评估工具。具体如下:(1)通过对软件性能指标的调研,结合Java软件的特点,选取了要进行评估的软件性能指标(包括处理时间、CPU和内存的资源占用率);(2)提出了基于软件演化的软件性能评估和分析方法,通过对具有多个版本的Java软件进行性能评估与对比,确定性能变化的版本,然后通过相邻两个版本的性能指标差异和代码差异来分析并且定位造成软件性能变化的原因;(3)在此基础上,设计并实现了基于软件演化的,针对Windows操作系统中Java软件的性能评估工具,最后通过对开源软件的实验,验证了本文方法和工具的有效性和正确性。