协作式软件开发团队能否取得成功取决于一种称为 source control (也称为 版本控制、源代码管理 和 版本修订控制 )的概念。源代码控制可帮助您管理与开发项目有关的对各种信息集合(代码、组件、资源、工件和需求)的更改。
鉴于开发项目的复杂性,必须使用版本和源代码控制工具。在自动化项目管理系统中,源代码控制功能与其他应用程序开发生命周期工具紧密集成,比如构建、跟踪以及变更和配置工具。
“ Rational Team Concert 提供了敏捷的协作变更管理功能;每个功能都可以独立部署并与流行的源代码控制系统相集成。 ”
源代码控制系统主要有两种类型:
- 在传统的 集中式 系统中,所有版本控制功能都发生在一个共享服务器上。如果两名开发人员试图在同一时间对相同的代码进行更改,那么他们可能会覆盖彼此的工作。并发访问的问题可以通过以下方式解决:
- 文件锁定 :一名开发人员一次只能访问一个文件。
- 版本合并 :允许多名开发人员同时对一个文件进行操作;首先 “登记” 到中央存储库的更新后的文件版本通常会变为参考版本。由于存在潜在的逻辑错误,通常只会进行非常小的 自动 版本合并。
- 分布式 源代码控制使用一种点对点的方法,其中每个点的代码库工作副本是一个经过认证的库,每个库通过交换变更集进行直接同步。永远不会存在代码库的引用副本。直接同步意味着常见的协同项目操作(比如提交)可以快速发生,因为操作之间不需要经历额外的步骤(中间服务器)。
那么源代码控制如何工作呢?
- 它将各项可以进行版本化控制的内容(文件和文件夹)组成组件和流。
- 它提供了工作区,可以在其中查看并修改文件和文件夹。
组件、流和工作区代表所开发的系统的配置;这三项内容的任意配置都可以进行搜索、检索、各项或构建。
敏捷编程工具 IBM Rational Team Concert 提供了自动化的技术,帮助您高效地管理软件开发项目中的变更和重新配置。您可以在 Jazz 社区网站了解 Rational Team Concert 。
敏捷式源代码控制系统包含四个常见组件:
- 存储库: 存储库就是一个安全的数据库,可以通过 URL 进行访问,它保存了变更流程管理对象,比如流、工作项和工作区,以及文件或文件夹形式的可控工件,而且可以在文件系统中作为文件或文件夹进行检索。(一个可控工件就是指客户机文件系统中的一个普通工件、文件或目录,它被登记到存储库工作区,并被保存为一系列不同版本。开发人员通常会处理可控工件和普通工件。) 了解这一概念
- 工作区和沙箱: 在存储库工作区可以查看或修改组件;它将组件保存为工件版本,以便可以将它们加载到客户机上的沙箱中。工作区是一个对象;沙箱是一个文件系统目录。 了解这一概念
- 流和组件: 流是包含一个或多个组件的存储库对象;组件是相关联的工件的集合,比如相关的插件。在源代码控制下,任何共享共用根的工件都被划分为组件;而流是指一个或多个组件的集合。 了解这一概念
- 变更集和变更流程: 变更集是一个存储库对象,它集合了一个组件内的相关的文件、文件夹和符号链接更改。变更集在存储库工作区和流之间流动。工作区的流程目标制定了进入和出去的变更集的源头和目的地。 了解这一概念
了解 Rational Team Concert
阅读本文后,您应当对源代码控制在基于敏捷方法的管理工具中以及在整个开发项目中扮演的角色及其结构有了基本的了解。