论文摘要
对于基于J2EE架构的Web项目,传统的软件开发方式以“明确需求”为核心,从需求分析、软件设计到系统实现,再进行集成和测试。这样,系统集成进行得比较晚,集成的时间周期比较长,集成时发现的缺陷也比较多。通常项目团队在软件部署之前才发布版本,而用户只有在部署之后才能看到真正的系统,因此,用户反馈的时候可能会提出许多修改意见,甚至包括流程方面的问题,这些问题可能会影响到整个系统的架构设计。如果开发团队对单元测试不够重视,或者缺乏有效的回归测试方法,那么对于用户提交的Bug,开发人员很难在短时间内进行定位,修改的周期也会比较长。敏捷软件开发方法可以很好地解决以上这些问题。持续集成可以解决系统集成时周期长、缺陷多的问题;小型发布可以及时获得用户的反馈;测试驱动开发可以解决Bug修改周期长的问题。本文对基于J2EE架构的敏捷开发进行了实践和研究,首先介绍了持续集成、测试驱动开发、代码检验和配置管理等敏捷开发相关的技术,以及应用非常普遍的Web应用框架和持久化框架;然后在熟练地使用各种开源软件工具的基础上对持续集成工具CruiseControl的设计与实现进行了剖析,并提出了一个将现有的多个开源软件工具集成在一起用于敏捷开发的平台;接着开始搭建该平台,并在搭建过程中解决了一些相关问题,包括持续集成的效率问题,代码规范的强制性问题;在介绍了文件资料管理系统项目的背景和概况之后,我们就基于敏捷开发平台并结合文件资料管理系统项目进行了实际的Web应用开发,对实际开发过程中的经验教训进行总结,最后指出了还需要进一步研究和解决的问题。