关键词:
软件开发
软件测试
程序语言
语言转换
摘要:
在软件开发的后期进行软件性能检查是通常的工业惯例,但是这种后来进行的改善往往会导致使用比预期使用更多昂贵的硬件设备或使用过多的时间进行设备更换;更有甚者由于软件性能不符,导致软件必须重新设计。为了避免上述的情况,自始至终的考虑软件的性能问题(系统的性能参数)就成为软件开发的必要规范。但是随着软件规模的巨大化,使用人工的软件性能评价方法在软件开发的过程中随时考虑性能问题是不现实的而且可能会对已形成的工作流程带来冲击。\n 本文以迭代开发作为研究的前提,采用UML和CPN这两种建模工具相结合的研究方法,提出了可快速、准确地提供软件性能评价的自动化平台。软件性能评价经历了从测量方法到模型方法的蜕变,而UML作为现行的工程建模标准语言,利用其所得文档来提取软件性能数据是软件性能评价模型方法的主流途径,在迭代生命周期的每一个阶段可以得到一系列完整的UML文档,根据这一系列的UML文档可以得到系统在此生命周期的详细性能描述,但是仅仅依靠UML文档是无法进行严格、直观的动态模拟和分析的,这就使得以此为基础的软件性能自动化评价十分困难,而要实现性能评价的自动化,我们要借助于具有坚实数学基础且具有强大的逻辑功能的CPN[2]。我们所建立的软件性能评价平台将使用UML对被测软件进行建模,而使用CPN对其性能进行评价分析。将反映业务流程发生顺序、概率的消息作为研究的主线,充分利用UML文档所提供的性能信息和CPN模型的层次性,采用多图组合的方式提供完整的系统架构,避免单一UML图描述系统的片面性。扩展后的UML模型携带软件性能评价所需的基础数据,且分类清晰易于自动化提取;经过完善的UML/CPN转换规则应该是易于自动化实现,另一方面,经转换得到的分层CPN模型,各层功能应该清晰明了,各层之间相互透明且接口明确,对同一系统可进行不同粒度的软件性能评价。最终,使用所得CPN模型进行仿真模拟获取所需的软件性能评价数据。最后介绍了以XML为桥梁实现的UML图组到CPN层次模型的转换工具,并且举例验证了平台的可行性。