论文部分内容阅读
随着科学技术的迅速发展和经济的全球化,软件开发出现了新的特点,软件的需求经常发生变化,强烈的市场竞争要求快节奏地开发软件,从而导致敏捷软件开发的出现,相对重量级软件过程称为经量级软件过程。敏捷软件开发是一种面临迅速变化的需求快速开发软件的能力。极限编程是敏捷软件丌发方法中最著名的一个。它由一系列简单却互相依赖的实践组成。测试驱动开发作为极限编程的核心实践之一,同时也体现了敏捷软件开发宣言的第二个价值观一可以工作的软件胜过面面俱到的文档。测试驱动开发以单元测试作为开发过程的中心,它要求在编写任何产品代码之前,首先编写用于定义产品代码行为的测试,而编写的产品代码又要以使测试通过为目标。测试驱动开发要求测试可以完全自动化地运行,在对代码进行重构前后必须运行测试。本课题基于上海市公务员管理信息系统集成与应用的实现,研究了如何在电子政务系统中有效的应用测试驱动开发。上海市公务员管理信息系统项目是一个利用信息化手段服务于上海市组织人事主管部门、机关人事部门、公务员、大众的系统工程,采用了当今世界领先并且较为成熟的信息化手段,如:基于轻量级容器架构的应用开发和部署方式等。轻量级容器并没有和J2EE绑定,所以它既可以运行在WEB容器里,也可以在一个标准应用程序中运行,甚至还可以运行在EJB容器里。轻量级容器也没有和Servlet API绑定。轻量级容器的启动开销很小,而且无需EJB的部署步骤。轻量级容器的这些特性使得测试驱动开发的核心之一单元测试容易编写和实现。本文主要研究了测试驱动开发的实现方法,及其核心之一单元测试在轻量级容器架构中的实现方法,轻量级容器Spring的依赖注入机制在轻量级容器架构系统及其单元测试中的应用,单元测试的实现准则等。同时还研究了测试驱动开发对于软件开发流程的影响。本文的研究成果主要为使测试驱动开发在电子政务中得到有效的应用,并可以将其推广到大部分基于轻量级容器架构的B/S三层体系结构的系统中。如:在业务逻辑代码中抽取出DAO模式分离与数据库操作相关的业务逻辑,实现了这部分代码的单元测试并使其满足执行具有可重复性的特性。为DAO模式代码编写了代码生成器,实现了DAO模式代码及其单元测试的半自动化实现,减少了重复性编码工作,提高了软件的开发效率。