论文部分内容阅读
软件性能(Software Performance)是影响软件质量的重要指标之一,它属于软件的非功能属性。随着软件规模的扩大和软件复杂度的增加,越来越多的软件产品中存在性能问题。传统的“事后”测量的方法,基于对已经构造完成的软件系统性能的监测发现性能问题,并通过各种途径进行性能调优。这样方法虽然能够发现性能问题,并对其进行一定程度的改进,但是其代价高昂且不能从根本上解决性能问题。因此,在软件开发早期进行性能预测就成为一个重要的、具有研究价值的课题。基于模型的性能预测方法向软件体系结构模型中添加性能注释,使其包含性能数据,再将体系结构模型转换成性能模型,最后使用性能模型自动求解工具获取性能预测数据。由于软件设计人员缺少性能建模的领域知识,早期性能预测能够成功应用的关键因素是预测过程的自动化。这意味着必须具有有效的工具支持性能预测过程的自动化。本文研究并实现了一个基于构件的软件系统性能预测工具,该工具能够有效的支持性能预测过程的自动化。大量的软件系统通过构件组装完成,运行在某些中间件平台之上,其性能势必受到中间件平台的影响。然而,中间件平台对设计人员是透明的,让设计人员对其建模是不现实的。本文所述的自动化性能预测工具提供一个中间件性能影响因素库,在进行性能预测时引入中间件影响因素对系统性能的影响。本文所述自动化性能预测工具通过面向方面技术将横切整个系统的影响因素(诸如安全性、事务管理、日志等)进行分离,建立横切关注点性能影响因素库。在进行性能预测时利用编织技术将横切关注点影响因素织入原始体系结构模型,分析其对软件系统整体性能的影响。实验证明该工具能够将软件原始体系结构模型自动转换为性能模型,并在转换过程中自动引入中间件和横切关注点性能影响因素。该工具输出的预测数据能够有效预测系统性能,对不同设计方案进行比较,辅助设计人员构造性能内建于软件结构的高质量的软件产品。