楼主: bmccbj

[参考文档] clearcaselt配置

[复制链接]
论坛徽章:
2
11#
 楼主| 发表于 2006-7-30 01:26 | 只看该作者
11
加快投资回报。SCM是通往ISO9000和SEI CMM标准的一块基石。
在软件开发团队中,正确地采用、实施软件配置管理系统,必将提
高生产力,增强对整个项目的控制,改善软件产品的质量,从容面对快
速面市和产品质量的双重压力。软件配置管理系统的实施,一般来讲要
考虑两个方面的因素:流程和工具。流程和工具是相辅相成的,流程起
决定性作用,它确定了管理的规则和方法,工具用来将变更存储在一个
中央存储库中,可以重现任一时期的历史版本,一个好的工具可以提高
效率,是贯彻实施流程的必要手段。
因此,在一个开发团队中,实施配置管理流程比采用配置管理工
具更重要,我们需要充分考虑,制定出适合自己企业的配置管理流程,
该流程必须与公司的开发规范、质量系统等完全结合。
2.2 配置管理的功能
配置管理系统应该具备以下主要功能:
并行开发支持:因开发和维护的原因,要求能够实现开发人员同
时在同一个软件模块上工作,同时对同一个代码部分作不同的修改,即
使是跨地域分布的开发团队也能互不干扰,协同工作,而又不失去控制
修订版管理:跟踪每一个变更的创造者、时间和原因,从而加快
问题和缺陷的确定
版本控制:能够简单、明确地重现软件系统的任何一个历史版本
产品发布管理:管理、计划软件的变更,与软件的发布计划、预
先定制好的生命周期或相关的质量过程保持一致;项目经理能够随时清
晰地了解项目的状态
建立管理:基于软件存储库的版本控制功能,实现建立(build)

使用道具 举报

回复
论坛徽章:
2
12#
 楼主| 发表于 2006-7-30 01:26 | 只看该作者
12
过程自动化
过程控制:贯彻实施开发规范,包括访问权限控制、开发规则的
实施等
变更请求管理:跟踪、管理开发过程中出现的缺陷(Defect)、
功能增强请求(RFE)或任务(Task),加强沟通和协作,能够随时了
解变更的状态
代码共享:提供良好的存储和访问机制,开发人员可以共享各自
的开发资源
2.3 配置管理的实施
实施配置管理系统,一般的步骤和需要考虑的问题如下:
2.3.1 规划、调整网络开发环境
一个规划良好的开发环境,是实施配置管理系统的前提。在此
阶段我们要对配置管理系统做出规划,主要考虑以下问题:
网络的带宽、拓扑结构
服务器的选择、命名规范
存储区的定位
开发人员及组的命名规约等
2.3.2 设计配置管理库
根据项目开发的要求,设计开发资源的存储模式,良好的存储模式
有利于减轻管理上的负担,增强配置管理库的访问性能,同时便于控制
访问权限,保护软件资产。

使用道具 举报

回复
论坛徽章:
2
13#
 楼主| 发表于 2006-7-30 01:27 | 只看该作者
13
2.3.3 定义配置管理系统的角色
在此阶段,我们需要确定与配置管理相关的所有角色,包括他们的
相应的活动。在开发过程中,一个开发人员可能兼任多种角色,但一项
任务在同一时刻只能由一个角色来执行。
一般配置管理中的角色主要包括:
项目经理:项目经理在配置管理方面的职责是依靠配置管理员、
系统管理员和系统体系结构设计人员的帮助,制定项目的组织结构和配
置管理策略。这些工作包括: 定制开发子系统,定制访问控制,制定
常用策略,制定集成里程碑,以及进行系统集成
配置管理员:配置管理员的职责是根据项目经理制定的开发组织
结构和策略,实施、维护配置管理的环境。其主要职责如下:创建配置
管理库,对存储库进行日常备份和恢复,维护配置管理环境,及管理配
置管理相关的用户
软件开发人员:软件开发人员依据项目的开发和配置管理策略,
创建、修改和测试开发工件
集成人员:对软件进行归并,形成相应的基线或发布版本
QA 人员:需要对软件配置管理有较深的认识,其主要工作是跟踪
当前项目的状态,测试,报告错误,并验证其修复结果
2.3.4 制定配置管理流程
这是配置管理实施的一个重要阶段,其主要目的是根据项目开发的
需要,制定相应的配置管理流程,以更好地支持开发,主要活动包括:
定制并行开发策略:合理的并行开发策略应该具有以下特点:协

使用道具 举报

回复
论坛徽章:
2
14#
 楼主| 发表于 2006-7-30 01:27 | 只看该作者
14
调项目的复杂性和需求,统一创建分支类型和元数据,为开发过程中的
变更集成制定有效的规范,适时反映开发过程中方法和需求的变化
发布版本管理:软件开发过程中的一个关键活动是提取工件的相
关版本,以形成软件系统的阶段版本或发布版本,我们一般将其称为稳
定基线。一个稳定基线代表新开发活动的开始,而一系列定制良好的活
动之后又会产生一个新的稳定基线。有效地利用此项功能,在项目开发
过程中可以至始至终管理、跟踪工件版本间的关联。
2.3.5 相关人员的培训
一般来讲,实施配置管理系统,相关人员需要接受一下培训:
管理员培训:针对配置管理员,主要学习配置管理工具管理相关
内容
开发人员培训:针对开发人员,主要学习配置管理工具与开发相
关的常用操作
管理流程培训:针对全体人员,目的是了解配置管理策略和流程,
以及如何与开发管理、项目管理相结合
以上只是简单地介绍了配置管理系统实施的相关内容,软件配置管
理作为软件开发过程的必要环节和软件开发管理的基础,支持和控制着
整个软件生命周期。若要有效的实施软件配置管理,首先要通过一系列
的培训,培养软件开发者的管理参与意识,同时更重要的是借助已有的
经验教训,建立起真正适合自己团队的管理流程。
3 SCM 的意义
提到软件配置管理,作为从事软件的人来讲,想必都不陌生。要想

使用道具 举报

回复
论坛徽章:
2
15#
 楼主| 发表于 2006-7-30 01:27 | 只看该作者
15
真正做到实施好配置管理,对于软件配置管理的意义及其重要性我想应
该有必要的认识和理解。
软件配置管理,software configuration management,简称 SCM;
在软件配置管理中,有一个关键的一环就是变更管理,而变更管理
的基础是配置项的确定与版本管理。要正确理解这些问题,我们不能仅

将SCM作为一个管理工具或者在项目洽谈与执行中一种合行规定的
义务来履行。如果这样,在开展工作的过程中很容易使这种工作变成一

官僚式的绊脚石。往往在我们开展项目时,很多合同对配置管理提
出了明确的要求,需要认识的是,我们所需要进行配置管理的目的是为
软件开发过程中的不同的角色控制和跟踪管理自己的工作提供支
持与帮助。
很多软件开发过程中遇到的问题都是因配置管理不善而造成的。而
发生这些问题需要时间去确定,而且有可能很多可能是重复的问题。
有的是不必要的麻烦。比如说一个已花费较大精力和成本解决的高
难度的软件错误突然再次出现,已经开发或完成测试的一个特性神秘的
消失,一个已经通过完全测试的软件系统突然间无法运行。配置管理通
过对同一项目中不同人员的所产生的工作产品来帮助我们减少和消除
这些问题。
问题主要体现在:
-- 现在项目的开发大部分都是以叠迭式,渐进式的模型进行开发。
在一个版本交付的同时,另一个版本可能还是进行测试,而进行同步开
发的后续版本可能还在进行设计与开发阶段。在这个循环的过程中,如

使用道具 举报

回复
论坛徽章:
2
16#
 楼主| 发表于 2006-7-30 01:27 | 只看该作者
16
果客户发现错误,那么不单只是针对客户的错误在现有的版本上进行修
改完成就可以,同时要在后续的版本中体现。另外,如果在测试或开发
的过程中发现了新的问题,那么对于以前正在使用的版本也需要考虑进
行修改。在大系统开发的过程中,问题与修改问题的人,版本都会比较
多,很容易出现混乱的情况。
--核心代码,或者公用构件和代码。在系统的开发过程中,当涉及
到公用构件或代码的修改时,需要使与此相关的人都需要知道。如果
没有有效的代码管理与报告与协调机制,对于修改的代码如何使相
关人员都提到通知就存在一个问题了。
--现在的软件项目,大多都是由一个团体协作完成的,那么,涉及
到,对于最后某人对其所作的工作或输出很容易损害到其它相关人员的
工作。如在一个应该系统的开发过程中,数据流程比较密集,如果其接
口的变化,可能会引起很多相关地方的变化。
这些问题是由什么而引的呢,不言而明,在软件开发过程中的缺少
规范的管理而导致出这些问题。需要我们花费很大的精力与时间来处
理。
那么怎么来对这些问题来形成一个有效的解决方案呢,需要我们对
以下的问题进行明确:
--在公司,目前的配置管理是什么,做了些什么?
--目前公司配置管理的状态是何状态?
--如何去控制配置的变更项?
--对于配置变更,怎么样通知相关的个人和组?
--公司的软件项目都有哪些类型的变更?
--如果在公司或同一项目组,其它人所做的变更会不会影响你所写

使用道具 举报

回复
论坛徽章:
2
17#
 楼主| 发表于 2006-7-30 01:28 | 只看该作者
18
大限度的减少对个别“英雄”式人员的依赖。
软件开发过程的输出信息可以分为三个主要的类型:(1)计算机程
序(源代码、中间代码和可执行程序),(2)描述计算机程序的文档
(针对技术开发者和用户),(3)数据(包含在程序内部或在程序的
外部)。这些项包含了所有的在软件过程中产生的信息,总称为软件配
置。该集合中每一个元素称为该软件产品软件配置中的一个配置项(CI,
Configuration Item)。
尽管配置管理(Configuration Management )这个概念被提出有
几十年了,但是,业内还没有一个全面而权威的定义。Configuration 的
意思是“使成形”,它来源于拉丁语的com-(表示“与”或者“一起”)
和figurate (形成)。它还有一个意思是“组成部件或元素的相对排列”。
因此,配置管理(Configuration Management )指的是管理组成部件
或者元素的相对排列。配置管理的概念来自于硬件领域,美国国防部最
早使用了配置管理的概念。
我们知道一架飞机的构成非常复杂,比如机头、机身、机翼和机尾
等。不同型号飞机的各个部分是不能随便组装的。因此,我们只有把相
匹配的部件组装在一起,才能构成了一个功能完备的飞机整体。随着技
术的提高,各个部件可能还要进行功能改善,我们还要使得不同版本的
部件能够正确无误组合在一起。
准确地说:
配置管理是对产品进行标识、存储和控制,以维护其完整性、可追
溯性以及正确性的学科。
从上面的描述,我们知道,配置管理的基本单位是配置项。软件配

使用道具 举报

回复
论坛徽章:
2
18#
 楼主| 发表于 2006-7-30 01:28 | 只看该作者
19
置项可以是:
与合同、过程、计划和产品有关的文档和数据
源代码、目标代码和可执行代码
相关产品,包括软件工具、库内的可复用软件、外购软件及用户
提供的软件
从“哲学”意义上讲,配置管理记录配置项的三个方面:
从哪里来?此项可归结为WWW 的问题,(Who)谁创建的?(When)
什么时间创建的?(Why)为什么创建此配置项?
当前在哪里?此项纪录配置项当前的存储位置以及状态。
将到哪里去?通过配置控制来把配置项“组装”到正确的版本中
去。
配置项可以是大粒度的,也可以是小粒度的。如果跟踪个别需求,
那么不必要把整个需求规格说明文档定义为一个配置项,可以把每个需
求定义为配置项;如果把软件开发工具也放入配置管理系统,那么把配
置项定义为文件级就不合适了,只需要跟踪开发工具的版本,即把整个
配置工具定义为一个配置项就足够了。简而言之,配置项可以是文件级
粒度的,也可以使文件版本级粒度的。当然,粒度越小管理的成本越高,
但是配置的精度也就越高。一个完整的SCM 系统要具有三个核心功能:
配置标识、版本控制、变更控制、配置状态统计和配置审核。其中变更
控制包括基线管理、变更请求管理、构建管理和发布管理。如下图所示。

使用道具 举报

回复
论坛徽章:
2
19#
 楼主| 发表于 2006-7-30 01:28 | 只看该作者
20
下面,我们来具体理解这些概念。
配置标识
配置标识就是识别产品的结构、产品的构件及其类型,为其分配唯
一的标识符,也就是说,每一个配置项要有一个唯一标识。一般说来,
标识包括两个方面:一是文件名,二是版本,可用如下一个二元组来标
识:<文件名,版本>。每个项目首先要确定一套命名规则,例如,采用
“系统.子系统.模块.文件”的方式,</videoConference /audio
/compressing /main.c , 2.1>就是一个唯
一.标识。
版本控制
版本控制就是对在软件开发过程中所创建的配置对象的不同版本
进行管理,保证任何时候都能取到正确的版本以及版本的组合。
软件配置管理
基线管理 变更请求管理 发布管理 构建管理
配置标识 版本控制 变更控制 配置状态统配置审核

使用道具 举报

回复
论坛徽章:
2
20#
 楼主| 发表于 2006-7-30 01:28 | 只看该作者
21
当前,这方面典型的工具有如VSS 和CVS。
变更控制
在软件开发过程,要产生许多变更,比如,配置项、配置、基线、
构建的版本、发布版本等。对于所有的变更,都要有一个控制机制,以
保证所有变更都是可控的、可跟踪的、可重现的。对变更进行控制的机
构称为变更控制委员会(Change Control Board,简称CCB)。变更控
制委员会要定期召开会议,对近期所产生的变更请求进行分析、整理,
并做出决定。而且要遵循一定的变更机制。
下面是一个典型的变更机制:
接受 拒绝
提交
变更请求管理
变更请求管理就是对变更请求(Change Request,简称CR)进行分
类、追踪和管理的过程来实现的。
变更的起源有两种:功能变更和缺陷修补(Bug-Fix)。功能变更
是为了增加或者删除某些功能。缺陷修补则是对已存在的缺陷进行修
CR
CCB 评估
修改
测试或验证
关闭CR

使用道具 举报

回复

您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

TOP技术积分榜 社区积分榜 徽章 团队 统计 知识索引树 积分竞拍 文本模式 帮助
  ITPUB首页 | ITPUB论坛 | 数据库技术 | 企业信息化 | 开发技术 | 微软技术 | 软件工程与项目管理 | IBM技术园地 | 行业纵向讨论 | IT招聘 | IT文档
  ChinaUnix | ChinaUnix博客 | ChinaUnix论坛
CopyRight 1999-2011 itpub.net All Right Reserved. 北京盛拓优讯信息技术有限公司版权所有 联系我们 未成年人举报专区 
京ICP备16024965号-8  北京市公安局海淀分局网监中心备案编号:11010802021510 广播电视节目制作经营许可证:编号(京)字第1149号
  
快速回复 返回顶部 返回列表