配置管理基础知识

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
配置管理的实施 对机构的了解和评估-人员评估 了解大家的态度;沟通渠道是否通畅; 评估过程中会遇到的阻力和困难; 对机构的了解和评估-技术评估 了解计算机资源; 了解网络资源; 了解资源瓶颈;
知识简介 配置项及基线 配置项的识别是配置管理活动的基础,也是制定配置管理计 划的重要内容; 配置项分:为基线配置项和非基线配置项两类; 基线: “已经正式通过复审核批准的某规约或产品,它因此可作为 进一步开发的基础,并且只能通过正式的变化控制过程改 变。” ——IEEE
4
知识简介 配置项 你能识别出哪些配置项? 需求文档? 数据库? 代码?
知识简介
基线管理
基线是软件文档或源码(或其它产出物)的一个稳定版本,它是进一步开 发的基础。所以,当基线形成后,项目负责SCM的人需要通知相关人员基线已经 形成,并且哪儿可以找到这基线了的版本。这个过程可被认为内部的发布,通常 也就是大家类似于游戏当中的公测。至于对外的正式发布,更是应当从基线了的 版本中发布。——百度百科
配置管理过程中的角色
配置管理员(CMO) • 配置管理工具的日常管理与维护; • 提交配置管理计划; • 各配置项的管理与维护; • 执行版本控制和变更控制方案; • 完成配置审计并提交报告; • 对开发人员进行相关的培训; • 识别软件开发过程中存在的问题并拟就解决方案
系统集成员 • 集成修改; • 构建系统; • 完成对版本的日常维护; • 建立外部发布版本;
14
2010/7/28
配置管理过程中的角色
项目经理(PM) • 制定和修改项目的组织结构和配置管理策略; • 批准、发布配置管理计划; • 决定项目起始基线和开发里程碑; • 接受并审阅配置控制委员会的报告;
配置控制委员会(Configuration Control Board) • 建立、更改基线的设置,审核变更申请; • 根据配置管理员的报告决定相应的对策。; • 定制访问控制; • 制定常用策略;
*在你的工作中丢失过哪些配置项?
知识简介 基线的几种理解 配置项(如文档、代码)的一个快照;
达到一定质量级别的; 被明显标识出来的; 对后续的工作由意义的; 配置项的一个关联(有意义)的线; 发布给内部测试的; 达到一个重要里程碑的; 发布给客户的;
2010/7/28 5
2010/7/28
知识简介 基线Baseline 示意图
对于review的类型,及如何做?我们将在后面讲到。
12
2010/7/28
配置管理的一般流程 1、制定配置管理计划
配置管理员制定《配置管理计划》,主要内容包括配置 管理软硬件资源、配置项计划、基线计划、交付计划、备份 计划等。CCB审批该计划。 2、配置库管理
配置管理员为项目创建配置库,并给每个项目成员分配 权限。各项目成员根据自己的权限操作配置库。配置管理员 定期维护配置库,例如清楚垃圾文件、备份配置库等。
配置管理的一般流程 3、版本控制
在项目开发过程中,绝大部分的配置项都要经过多次的 修改才能最终确定下来。对配置项的任何修改都将产生新的 版本。由于我们不能保证新版本一定比老版本“好”,所以 不能抛弃老版本。版本控制的目的是按照一定的规则保存配 置项的所有版本,避免发生版本丢失或混淆等现象,并且可 以快速准确地查找到配置项的任何版本。
变更的方法。 • 可以利用基线重新建立基于某个特定发布版本的配置,这
样也可以重现被报告的错误。
6
2010/7/28
知识简介 基线的特征 • 通过正式的评审过程建立 • 基线存在于基线库中,对基线的变更接受更高权限的控制 • 基线是进一步开发和修改的基准和出发点 • 进入基线前,不对变化进行管理或者较少管理 • 进入基线后,对变化进行有效管理,而且这个基线作为后 继续工作的基础 • 不会变化的东西不要纳入基线 • 变化对其他没有影响的可以不纳入基线
知识简介 CCB 对变更进行控制的机构称为变更控制委员会 (Change Control Board,简称CCB)。变更控制委员会要 定期召开会议,对近期所产生的变更请求进行分析、整理, 并做出决定。而且要遵循一定的变更机制。
*CCB的组成可以由各个公司的状况、项目类型来决定
8
知识简介
典型变更流程
CCB评估
变更请求
CCB评估 接受 修改
测试/验证
变更关闭
拒绝
2010/7/28
知识简介
变更请求管理 变更请求管理就是对变更请求(Change Request,简称
CR)进行分类、追踪和管理的过程来实现的。变更的起源有 两种:功能变更和缺陷修补(Bug-Fix)。功能变更是为了增 加或者删除某些功能。缺陷修补则是对已存在的缺陷进行修补。
在做构建时,我们需要首先取出正确的配置,然后再做 构建。我们可以利用基线,可以取出某个基线的所有配置项, 也可以利用配置管理系统的构建功能直接在工作空间内做构 建。构建管理需要配置管理工具的支持。
知识简介 发布管理
软件产品的每个版本都是一组配置项(源代码、文档、 数据)的集合。举个例子来说,我们要发布软件的3.2版本, 那么我们就要把源代码、文档、数据中所有应该包含到这个 版本中的正确配置项检出。
2010/7/28
配置管理
基础知识
Louis 2010-07
目录 知识简介 配置管理一般流程 配置管理过程中的角色 配置管理的实施思路 配置管理的益处
1
2010/7/28
知识简介 配置管理的概念
在软件开发中,变更是不可避免的。从某种角度上讲, 软件开发过程就是一个变更的过程。有些变更是有益的,是 具有创造性的,但是,也有些变更是有害的,导致混乱的。
因此,软件配置管理就是管理变更的过程,它贯穿着 几乎软件的整个生命周期。成功的配置管理系统可以提高产 品的质量、项目开发效率,而且最大限度的减少对个别“英 雄”式人员的依赖。
知识简介 软件开发输出 软件开发过程的输出信息可以分为三个主要的类型: (1) 计算机程序(源代码、中间代码和可执行程序) (2) 描述计算机程序的文档(针对技术开发者和用户) (3) 数据(包含在程序内部或在程序的外部)
件及用户提供的软件
知识简介 配置管理的作用 • 它通过控制、记录、追踪对软件的修改和每个修改生成
的软件组成部件来实现对软件产品的管理功能。 • 一个好的配置管理过程能覆盖软件开发和维护的各个方
面, 同时对软件开过程的宏观管理,即项目管理,也有 重要的支持作用。良好的配置管理能使软件开发过程有 更好的可预测性, 使软件系统具有可重复性, 使用户和 主管部门用软件质量和开发小组有更强的信心。
所以如何管理每个版本中包含哪些配置项是非常重要的。
11
2010/7/28
知识简介 状态报告
状态报告要回答所谓4W 的问题: What:发生了什么事? Who:谁做的此事? When:此事是什么时候发生的? Why:为什么做此事? 状态报告要能够报告所有配置项以及变更请求的状态, 通过量化的数据和报表反映项目开发进度的状态。
16
2010/7/28
配置管理的实施 组建实施小组 初期的建设会花费较大的人力、物力; 负责公司的整个配置管理建设的工作;
包括了解本组织的现有开发、管理现状,选择配置管理工具,制 订配置管理规范,安排试验项目的实施,沟通部门间关系,获得 管理者支持和开发人员的认同;
角色:小组负责人、技术支持者、配置管理技术专家
15
2010/7/28
配置管理过程中的角色 开发人员(DEV)
• 根据配置管理获得的授权进行开发工作; • 按计划完成工作产品的入库; • 按配置管理的流程要求提出变更请求; 质量保证工程师(QA) • 检查当前项目的状态,测试,报告错误,并
验证其修复结果; • 监督和审查配置管理被严格实施;
项目过程各个阶段中的配置管理 项目计划/策划阶段
• 根据项目计划制定配置管理计划; • 提交CCB审批; • 提交项目经理审批及发布; 项目开发、维护阶段 • CMO对配置库进行管理和维护工作; • CCB、PM设定基线; • DEV根据权限进行研发工作; • SIO把开发成果进行构建,推进版本的演变; • 分发版本给测试或客户;
*配置管理工作一直被进行,直到项目消亡
3
2010/7/28
知识简介 配置管理的核心功能 配置项可以是文件级粒度的,也可以是文件版本级粒度。当 然,粒度越小管理的成本越高,但是配置的精度也就越高。 一个完整的SCM 系统要具有的核心功能:
配置标识 版本控制 变更控制 配置状态统计 配置审核
其中变更控制包括基线管理、变更请求管理、构建管理和发 布管理。
这些项包含了所有的在软件过程中产生的信息,总称 为软件配置。该集合中每一个元素称为该软件产品软件配置 中的一个配置项(CI, Configuration Item)。
2
2010/7/28
知识简介 定义
配置管理是对产品进行标识、存储和控制,以维护其 完整性、可追溯性以及正确性的学科。
配置管理的基本单位是配置项。软件配置项可以是: • 与合同、过程、计划和产品有关的文档和数据 • 源代码、目标代码和可执行代码 • 相关产品,包括软件工具、库内的可复用软件、外购软
知识简介 配置标识
配置标识就是识别产品的结构、产品的构件及其类型, 为其分配唯一的标识符,也就是说,每一个配置项要有一个 唯一标识。一般说来,标识包括两个方面:一是文件名,二 是版本,可用如下一个二元组来标识:<文件名,版本>。每 个项目首先要确定一套命名规则,例如,采用“系统.子系 统.模块.文件”的方式,</videoConference /audio /compressing /main.c , 2.1>就是一个唯一.标识。
正式版 Beta版 Αalpha版 内部测试版
Байду номын сангаас
3.1 3 2 1.2 1.1 1 配置项A
3.1 3 2 1.2 1.1 1 配置项B
3 2 1.2 1.1 1 配置项C
知识简介
基线的作用 • 基线为开发工件提供了一个定点和快照。新项目可以从基
线提供的定点之中建立。 • 当认为更新不稳定或不可信时,基线为团队提供一种取消
知识简介 配置审核
配置审核要审查整个配置管理过程是否符合规范,配置 项是否与需求一致,记录正确,配置的组成是否具有一致性等 等。比如,需求分析文档提交后,需要由一个由相关人组成的 小组进行正式评审,只有通过了评审才能基线化。对于源代码 也一样,一般说来,每行代码都要进行评审(Review),只有 通过评审才能交由测试人员进行测试。
7
2010/7/28
知识简介 版本控制
版本控制就是对在软件开发过程中所创建的配置对象 的不同版本进行管理,保证任何时候都能取到正确的版本以 及版本的组合。 变更控制
在软件开发过程,要产生许多变更,比如,配置项、 配置、基线、构建的版本、发布版本等。对于所有的变更, 都要有一个控制机制,以保证所有变更都是可控的、可跟踪 的、可重现的。
当配置项的状态成为“正式发布”,或者被“冻结”后, 此时任何人都不能随意修改,必须依据“申请-审批-执行 变更-再评审-结束”的规则执行。
配置管理的一般流程 5、配置审计
为了保证所有人员(包括项目成员、配置管理员和CCB) 都遵守配置管理规范,质量保证人员要定期审计配置管理工 作。配置审计是一种“过程质量检查”活动,是质量保证人 员的工作职责之一。
对变更请求的有效管理可以提高产品管理的透明度,经 理可以清楚的知道当前产品的进展情况,比如有多少个新产 生的CR,已经解决了多少CR 等等,有利于经理做出正确的 决策。
9
知识简介
变更请求管理的好处 • 提高软件产品质量; • 提高开发团队沟通效率; • 帮助项目管理人员对产品状态进行客观的评估;
2010/7/28
配置项的状态有三种:“草稿”、“正式发布”和“正 在修改”,本规程制定了配置项状态变迁与版本号的规则。
13
2010/7/28
配置管理的一般流程 4、变更控制
在项目开发过程中,配置项发生变更几乎是不可避免的。 变更控制的目的就是为了防止配置项被随意修改而导致混乱。
修改处于“草稿”状态的配置项不算是“变更”,无需 CCB的批准,修改者按照版本控制规则执行即可。
通过基线管理可以使用户能够通过对适当版本的选择来组 成特定属性(配置)的软件系统,这种灵活的“组装”策略使得配 置管理系统像搭积木似的使用已有的积木(版本)组装成各种各样、 不同功能的模型。基线的变更需要一个严格的流程,需要提出申请, 经过审批,然后才能进行。
10
2010/7/28
知识简介 构建管理
相关文档
最新文档