论文部分内容阅读
近年来,随着网络技术和数据库技术的发展,使得软件规模越来越庞大:多单位、多团队的协作开发使得开发队伍的离散化程度增加;多种开发工具、多种数据库和多种开发平台的应用以及软件需求不确定性的增加,使得软件开发过程越来越复杂,作为软件开发基石的配置管理面临着更多的挑战,使得单纯的版本控制系统在面对复杂多交的开发环境时显得力不从心。为了应对这种情况,在配置管理中,需要将需求管理、版本管理、变更管理、测试、构建、发布等过程完整的结合在一起,做到自动化和集成化,同时又能够将所有的开发过程整合起来,形成一个统一的协同平台已经成为配置管理系统发展的趋势。今天,开源软件版本控制系统SVN(Subversion)的出现,受到人们越来越多的青睐,承载着人们的期望;但是,随着对版本控制系统SVN认识的加深也感觉到它的功能简单、单一,还没有能力对软件开发工作的全过程进行较好的管理,还需要进一步扩展其功能,使其顺应配置管理系统发展的趋势,向自动化、集成化方向发展。本论文就是在这一趋势下,在开源版本控制系统SVN的基础上进行二次开发并扩展其功能,使其能与其它开源工具(Eclipse、Mantis、Ant)进行集成构成UCP统一协作平台系统;本文主要完成UCP统一协作平台系统的集成和二次开发工作,实现对SVN版本控制功能的扩展和备份功能的优化,实现变更管理、软件构建和发布功能。本文通过对目前比较流行的开源版本控制系统工具SVN和CVS的分析对比,确定以SVN作为研究的对象;通过分析当前软件项目开发过程中相互独立的工具存在的问题,提出了解决方案,即:基于开放源代码的版本控制工具SVN来开发一套集成了缺陷追踪与管理和构建工具的UCP统一协作平台系统,并设计了系统的体系结构,提出了系统的三大功能(版本控制、变更管理和软件发布)模块的详细需求。在确定了统一协作平台系统的详细需求后,分别给出了各个功能模块的总体设计;在以SVN作为统一协作平台系统的版本控制功能中,详细设计并实现了SVN与Apache的集成模式服务器下的邮件自动通知、强制填写注释和修改日志功能;通过对SVN进行二次开发实现了版本库自动化备份功能。在变更管理部分,通过对SVN和目前比较流行的开源缺陷追踪与管理系统Mantis进行集成实现了变更管理功能,通过对Mantis缺陷追踪与管理系统进行二次开发实现了自定义缺陷流程状态、输出日志和邮件通知功能。在软件发布部分,通过SVN与Ecilpse+Ant+Tomcat集成并对它们进行开发实现了自动获取源码、自动编译、打包、部署、发布和备份功能。最后对本阶段的工作进行了总结,同时对本课题的下一步研究工作做了展望。