论文部分内容阅读
随着软件产业的发展,软件的质量已经越来越成为软件产品成功的关键性因素,质量保证的一个重要方法就是通过测试活动来尽早的发现问题。测试的主要成果为测试报告,通常也称之为问题报告单或缺陷记录。缺陷跟踪管理系统主要完成对缺陷报告的记录、分析和状态更新等管理。一个完善的缺陷跟踪管理系统对于测试的成功实施是非常重要的。在项目或产品研发过程中,经常遇到以下问题:已经修改的错误重复出现;无法清晰的描述当前版本的缺陷状态;对测试中发现的问题,主要依靠记忆得方式来记录;能记录的数量有限,并且经常遗忘;采用了记录单或问题表单的方式来记录缺陷,但只是简单的记录了错误内容,没有分析和流程跟踪能力;研发经验教训得不到继承,重复同样的错误。缺陷跟踪管理系统可以规范项目中开发、测试、缺陷处理的流程。本课题正是在这样的背景条件下建立的。Web服务全称XML Web Service,是一种远程数据访问技术,它以XML可扩展标记语言为基础,通过SOAP协议进行传输,表现为一组分布于服务器端的接口,这些接口以一种松散耦合的方式组织,从而使Web服务具有可操作性强,灵活性高,易用性好的特点。由于采用了独立于平台、开发语言的XML可扩展标记语言,因此应用Web服务可以轻松构建平台无关的分布式系统。基于Web服务构建的缺陷跟踪管理系统,有以下特点:1、跨越防火墙通信:Web服务基于HTTP协议通信,相对TCP/IP协议的DCOM有跨越防火墙的能力。2、有利于应用程序集成:通过Web服务,服务器可以以一种松散耦合的形式将接口暴露给客户端,这种低耦合的组织结构带来巨大的灵活性,即使在系统需求发生改变时也可以通过最小的代码改动完成业务需求。3、跨平台操作:这是最重要的优势。Web服务一旦布置完成后,只需要客户来调用已经封装完成的业务逻辑接口,而无需考虑客户的系统环境和平台,使用什么开发语言,这样就使各种各样不同的资源通过互联网得到最大程度的整合。4、软件和数据重用:软件重用是一个很大的主题,重用的形式很多,重用的程度有大有小。最基本的形式是源代码模块或者类一级的重用,另一种形式是二进制形式的组件重用。Web服务在允许重用代码的同时,可以重用代码背后的数据。本文在对Web服务与缺陷跟踪管理系统的集成做了介绍与分析之后,总结了Web服务对于远程数据传输中性能的不足,这主要是由于Web服务基于XML语言,Web服务总是将传输的数据解析为XML格式,而在解析的过程中,会消耗很多时间,而且在数据复杂的时候,每次响应SOAP的COM接口也会给性能带来一定的影响。为解决在实际应用中Web服务性能不良的问题,本文引入了.Net框架下的Remoting远程组件技术,文章在对.Net Remoting技术的特点、性能、优缺点进行了全面深入的分析和研究之后,在本系统中应用Remoting技术部分替代Web服务实现远程数据访问,以提高性能。本文所做的主要工作、技术难点与创新如下:1、Web服务技术的研究:通过大量查阅Web服务的相关资料,分析SOAP协议及其传输原理,研究Web服务的特点、性能以及适用范围。2、基于MVC模型实现Web服务平台的缺陷管理系统:基于MVC模型,应用Web服务构建的缺陷跟踪管理系统,实现了跨平台,低耦合的构架,服务器端(Web服务端)为模型层,客户端为视图层,通过一个中间层次(控制器)进行调度,这样就将系统逻辑层次进行了抽象和剥离,只需要在服务端添加新增的接口而无需修改接口即可以实现需求的变更,具有良好的扩展性。3、Web服务的C++实现:C++语言没有对Web服务提供语言级的支持,特别是在非托管的C++代码中如何实现对Web服务端的访问,是本文的又一研究课题,系统中通过实现代理类(Proxy)来间接调用MFC中atlsoap类以实现对.Net WebService远程接口WebMethod的调用。4、运用.Net Remoting技术:本文在对.Net Remoting技术进行分析与研究后,将其应用于本缺陷管理系统中,有效的解决了Web服务性能不佳的问题。5、总结两种技术的优缺点:本文利用分别用上述两种技术实现的程序片段进行性能测试,在得到两组具体的测试数据之后,对Web服务和Remoting在不同情况下的性能表现进行了分析,最后对两种技术进行了总结。本文主要工作在.Net Frame work 2.0框架下实现,整个系统目前运转正常,客户主要为游戏开发软件公司,目前正根据客户需求进行相应的功能扩充和版本升级。作者在读研期间,已经在《计算机应用》学术刊物上发表一篇论文。