自动生成基于XUnit测试框架代码的ROSE插件设计开发

来源 :中国地质大学(武汉) | 被引量 : 0次 | 上传用户:hziyin
下载到本地 , 更方便阅读
声明 : 本文档内容版权归属内容提供方 , 如果您对本文有版权争议 , 可与客服联系进行内容授权或下架
论文部分内容阅读
当前,随着计算机的处理能力增大,导致用户对它的期望更多,软件的趋势是朝着更大更复杂的系统发展。这样使得RUP(Rational统一过程)以及UML(统一建模语言)在软件开发中得到越来越多的应用。统一建模语言(Unified ModelingLanguage,UML)是一种可视化的建模语言,它能让系统构造者用标准的、易于理解的方式建立起能够表达他们想象力的系统蓝图,并且提供了便于不同人之间有效地共享和交流设计结果的机制。 极限编程(XP)也在实际的软件开发过程当中与RUP相结合得到广泛应用。XP是由KentBeck在1996年提出的一种软件开发学科。它基于四个价值:沟通、简单、反馈和勇气。它通过持续重构代码并创建最小的非代码工件集合而体现简单。许多短期发布和持续单元测试建立了反馈机制。XP的一个重要组成部分就是测试驱动开发(Test-DrivenDevelopment/TDD).测试驱动开发(TDD)是以测试作为开发过程的中心,它坚持,在编写实际代码之前,先写好基于产品代码的测试代码。开发过程的目标就是首先使测试能够通过,然后再优化设计结构。 XUnit是一系列基于测试驱动开发的测试框架,它为我们在开发过程中使用测试驱动开发提供了一个方便的工具,使我们得以快速的进行单元测试。XUnit的成员有很多,如JUnit,PythonUnit,CPPUnit等。 Rational公司的旗舰产品之一Rational Rose提供了对UML语言的充分支持。Rose是一个面向对象的软件分析设计建模工具,可以创建基于UML标准的模型,图形化地对软件系统结构加以描述和定义,并且通过建立的模型直接生成代码框架。同时,还可以从开发者编的应用系统中直接逆向生成模型。Rose还提供了“Rose扩展接口”(RoseExtensibilityInterface/REI),该扩展接口由OLEautomationserver和Visual Basic for Applications(VBA)scripting接口(即:Rose Script)共同提供。使得我们根据自己的需求开发出Rose插件成为可能。 开发可以与软件系统模型产生互动的Rose插件通过对系统模型的分析自动生成基于XUnit测试框架的测试代码,在系统建模之后,编写实际代码之前,直接通过建模工具自动生成测试代码,实现测试驱动开发。减轻程序员编写测试用例的劳动,为测试驱动开发(TDD)提供了一个非常理想而简单的途径。推动单元测试在软件开发当中的使用,为开发大型软件的稳定性提供保证。
其他文献
随着国家信息化进程的发展,各政府部门也开始了政府部门电子化的过程。目前,我国政府的电子化进程已经处于世界中上等水平。 当今信息技术的发展,一方面给人们的生活带来了巨
本文结合基于关键点路径的地形跟踪系统的自身特点,以飞行物为模拟物体,研究实现基于关键点路径的地形跟踪系统所需的相关技术,并进行系统原型设计和技术实现。全文主要内容如下
本文对粒子群优化算法的产生、发展进行了介绍,讨论了多目标演化算法的相关重要策略,并分析了多目标粒子群优化的发展现状。在此基础上,借助多目标演化算法的相关策略,设计了两种
本文在分析考察传统的金融预测分析方法的基础上,提出了一套面向期货市场分析、预测和决策,针对实盘真实数据操作,由BP神经网络和ARIMA时间序列模型组合的系统应用模板。该系统
如何将测试工作量合理分配到软件模块以有效检测缺陷是软件开发组织面临的重要挑战。结构复杂性导向(SCA,structural-complexity-guided allocation)和缺陷预测模型导向(FPA,
本文首先从集群系统的基本技术入手,介绍了Beowulf集群的基本体系结构,之后分析了南开之星集群的体系结构和关键技术,针对科学计算集群的特点,提出了科学计算集群性能监测系统的
本文通过一个基于MVC(Model-View-Controller)模式的J2EE项目来探讨体系结构级重用的可行性及实用性。 MVC模式把应用程序拆分成三个部分:模型、视图和控制器。其中模型表
对特定场景中的目标进行识别作为图像理解领域的一个主要研究方向,具有重要的理论研究价值和应用场景。现实世界中的目标具有多变性,比如尺度变化、旋转、光照、物体遮挡等,复杂
需求的频繁变更为软件项目带来很多困难,模型驱动开发方法(ModelDrivenDevelopment,MDD)的出现则为这种情况带来了转机。本文首先介绍了软件开发中模型的概念和发展历程,以及什
近年来,随着计算机科学技术,特别是Internet技术的飞速发展,软件运行的平台正由传统的静态封闭走向现在的动态开放,软件的计算模式也由已往的单个个体之间的串行进行发展到今天多