UML软件工程组织

如何从SCM获益?
选择自 计算机世界

配置管理系统应具备的主要功能

● 并行开发支持:开发和维护工作要求实现开发人员同时在同一个软件模块上工作,同时对同一个代码部分作不同的修改,即使是跨地域分布的开发团队也能互不干扰,协同工作,而又不失去控制。

● 修订版管理:跟踪每一个变更的创造者、时间和原因,从而加快问题和缺陷的确定。

● 版本控制:能够简单、明确地重现软件系统的任何一个历史版本。

● 产品发布管理:管理和计划软件的变更,使其与软件的发布计划、预先定制好的生命周期或相关的质量过程保持一致;帮助项目经理随时清晰地了解项目的状态。

● 建立管理:基于软件存储库的版本控制功能,实现建立(build)过程自动化。

● 过程控制:贯彻实施开发规范,包括访问权限控制、开发规则的实施等。

● 变更请求管理:跟踪、管理开发过程中出现的缺陷(Defect)、功能增强请求(RFE)或任务(Task),加强沟通和协作,随时了解变更的状态。

● 代码共享:提供良好的存储和访问机制,开发人员可以共享各自的开发资源。

配置管理的关键问题

引入和实施配置管理系统,一般的步骤和需要考虑的问题如下:

1.规划、调整网络开发环境

一个规划良好的开发环境是实施配置管理系统的前提。在此阶段要对配置管理系统做出规划,主要考虑以下问题:

● 网络的带宽、拓扑结构;

● 服务器的选择、命名规范;

● 存储区的定位;

● 开发人员及组的命名规约等。

2.设计配置管理库

根据项目开发的要求,设计开发资源的存储模式。良好的存储模式有利于减轻管理上的负担,增强配置管理库的访问性能,同时便于控制访问权限,保护软件资产。

3.定义配置管理系统的角色

在此阶段,需要确定与配置管理相关的所有角色,包括相应的活动。在开发过程中,一个开发人员可能兼任多种角色,但一项任务在同一时刻只能由一个角色来执行。一般配置管理中的角色主要包括:

● 项目经理:项目经理在配置管理方面的职责是:依靠配置管理员、系统管理员和系统体系结构设计人员的帮助,制定项目的组织结构和配置管理策略。这些工作包括:定制开发子系统;定制访问控制;制定常用策略;制定集成里程碑;进行系统集成。

● 配置管理员:配置管理员的职责是根据项目经理制定的开发组织结构和策略,实施和维护配置管理的环境。其主要职责为:创建配置管理库,对存储库进行日常备份和恢复;维护配置管理环境;管理配置管理相关的用户。

● 软件开发人员:软件开发人员依据项目的开发和配置管理策略,创建、修改和测试开发工件。

● 集成人员:对软件进行归并,形成相应的基线或发布版本。

● QA人员:这些人员需要对软件配置管理有较深的认识,其主要工作是跟踪当前项目的状态,测试、报告错误并验证其修复结果。

4.制定配置管理流程

这是配置管理实施的一个重要阶段,其主要目的是根据项目开发的需要,制定相应的配置管理流程,以便更好地支持开发工作,主要活动包括:

● 定制并行开发策略:合理的并行开发策略应该具有以下特点:协调项目的复杂性和需求;统一创建分支类型和元数据;为开发过程中的变更集成制定有效的规范;适时反映开发过程中方法和需求的变化。

● 发布版本管理:软件开发过程中的一个关键活动是提取工件的相关版本,以便形成软件系统的阶段版本或发布版本,一般将其称为稳定基线。一个稳定基线代表新开发活动的开始,而一系列定制良好的活动之后又会产生一个新的稳定基线。有效地利用此项功能,在项目开发过程中可以自始至终地管理、跟踪工件版本间的关联。

5.相关人员的培训

一般来讲,实施配置管理系统,相关人员需要接受以下培训:

● 管理员培训:针对配置管理员,主要学习配置管理工具相关内容。

● 开发人员培训:针对开发人员,主要学习配置管理工具与开发相关的常用操作。

● 管理流程培训:针对全体人员,目的是了解配置管理策略和流程以及如何与开发管理、项目管理相结合。

以上只是简单地介绍了配置管理系统实施的相关内容。软件配置管理作为软件开发过程的必要环节和软件开发管理的基础,支持和控制着整个软件生命周期。要有效实施软件配置管理,首先要通过一系列的培训,培养软件开发者的管理参与意识,同时更重要的是借助已有的经验教训,建立起真正适合自己团队的管理流程。(刘晓)

(计算机世界报 第17期 B20)

 

 

版权所有:UML软件工程组织