基于SVN校级统一信息系统版本管理系统设计与实现.docVIP

基于SVN校级统一信息系统版本管理系统设计与实现.doc

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
基于SVN校级统一信息系统版本管理系统设计与实现

基于SVN校级统一信息系统版本管理系统设计与实现   摘要:清华大学服务于校级统一信息建设的版本管理系统,以开源工具为基础,实现了对软件系统研发版本的有效管理。版本管理系统采用先进的subvcr$1013版本管理为基础平台,创新性地以基线加更新文件的版本管理模式,实现了清晰的更新管理、精确的版本定义和高效的自动编译,同时支持多分支并行开发,解决了清华大学在消除信息孤岛,建设校级统一信息系统的过程中,软件系统更新频繁、开发部署时间短、多系统并行开发整合等多方面困难,在清华大学的校园信息化建设实践中取得了良好的应用效果。   关键词:版本管理:基线:变更控制   中图分类号:TP399 文献标识码:A 文章编号:1673-8454(2011)23-0055-03   一、系统背景   清华大学信息系统建设目前正处于建设全局性统一信息系统阶段。信息系统建设正由各业务部门的独立业务系统建设,转变为全局信息化的统一信息系统建设,信息整合成为现阶段重要工作内容。   在统一信息系统不断合并原业务子系统的过程中,原有基于CVS的版本管理方式遇到了很多挑战。首先是代码库访问权限不满足要求。随着统一信息系统规模的扩大,研发人员数量在增多。各个研发人员的角色和负责模块都不尽相同,需要对每个研发人员精确地设置不同的权限。而CVS的权限认证只能到文件夹,不能满足复杂权限控制的要求。其次是版本定义过程耗时过长。CVS在给系统打标签的过程中需要依次处理文件夹下的所有文件,耗费了大量的时间,在信息系统业务范围扩大、更新频繁的情况下,定义版本效率低下的缺点愈加明显。再次是缺少对版本和缺陷的检索和统计功能。CVS没有缺陷管理功能,研发团队无法查询缺陷的修改时间、是否已经发布等信息,也无法从宏观上通过报表得知系统的更新频率和开发人员的工作效果。这些原因都促使必须要升级版本管理系统以适应新的要求。      开源软件SVN(Subversion)是CVS的替代产品,它在CVS的基础上加强了对目录版本的控制,在安全性方面也有了改善。但SVN系统也存在某些限制,如整体复制的版本定义方式虽然能很快完成标签。但无法直接将某个文件标定到特定版本上,没有版本状态、缺陷管理功能等。因此在SVN基础上,清华大学自主开发了版本管理系统,通过增加完整的版本定义、编译、发布和缺陷记录、检索和统计等功能,实现对版本的全面高效管理。   二、系统功能   基于SVN的校级统一信息系统版本管理系统实现了以下功能:   1.记录、检索与统计缺陷   SVN提交文件时可以填写注释,在注释中记录修复的缺陷描述,但是这种缺陷记录方式只能以文件或目录为视角,列出历史上曾对文件或目录所做的修改及注释。这无法满足日常的以缺陷为视角的,查询某个缺陷修改时间和是否已经部署上线的要求。为此,版本管理系统设计了规范的编译申请入口,要求开发人员在提交编译申请的同时必需填写修改说明、部署说明等信息。这些申请信息以固定格式的归档邮件存储在服务器上。版本管理系统提供归档邮件搜索服务,研发人员可方便地搜索缺陷信息。在此基础上,版本管理系统还提供了缺陷统计功能。使得版本管理员能直观地了解各个系统的升级频率。   2.编译发布自动化   学校正在运行的信息系统差异很大,有基于Java的B/S fBrowser/Server)应用,也有基于PowerBuilder的C/S(Client/Server)程序。甚至有些系统部分功能基于B/S,部分功能基于C/S。不同系统的编译方式不一样,但都须经过版本定义、编译构建、文档记录和提交归档等发布过程。为此,对不同系统的版本发布过程做了分析,抽象出不同系统在发布过程中的相同操作,将这些共同的操作编写成自动编译发布脚本,并将系统间的区别记录至配置文件,在版本管理系统中实现了一个自动化工具,能通过加载不同配置文件的方式对构架差异悬殊的系统统一进行编译和发布。统一的自动化编译发布替代了繁琐的人工操作,显著提高了版本管理的工作效率。   3.产出全量安装包和增量补丁   版本管理编译的结果通常是整个系统的全量安装包,而全量安装包在运行环境上的部署必须先暂停相关系统的服务,这样会影响在线用户的正常使用。如果只是修改某个功能的代码。可通过部署增量补丁的方式避免暂停整个系统服务,避免影响用户的使用。版本管理系统在编译后同时产出全量安装包和增量补丁。系统管理员可以选择以全量或者增量方式部署更新。增量补丁部署方式无需重启整个系统,增加了部署的灵活性。   4.支持多分支并行开发   统一信息系统划分为多个子业务模块,具体的子业务模块由多位研发人员共同开发和维护。从单个子系统的角度,版本管理系统提供了共用的存储池,使得子系统内部的开发人员能共享彼此的工作成果并完成任务。从

文档评论(0)

189****7685 + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档