软件配置管理

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

(2)制定命名规则 配置标识的一项重要工作就是为配置项命名。合理的命 名将有利于管理,使之不致造成混乱。 命名的要求是唯一性(不允许多个配置项命名)和可追 溯性(即命名能够反映各配置项之间的相互关系,可追 溯到相关的配置项)。 (2)树状(层次式)命名规则 例:图3表明一个树状命名 为了表明树结构中的叶结点CODE,需以根结点起,逐 层连贯,直至该叶结点:
• 产品基线 产品基线是指在软件组装与系统测试阶段结束时, 经正式评审和批准的有关所开发的软件产品的全 部配置项的规格说明。
(3) 变更控制 ——变更请求:提出变更请求表(Change Request Form)
表3 变更控制表 项目名--------- 变更请求人--------- 日期-------- 编号-------要求的变更描述--------变更分析员-------分析日期--------受影响模块-------变更评估-------变更优先性-------变更实现-------估计工作量---------CCB收到日期--------CCB决定日期------------CCB决定---------------------------------------变更实施负责人----------变更日期---------递交QA日期-----------QA决定---------递交CM日期-----------表中:CCB是变更控制委员会(Change Control Board) QA是质量保证组(Quality Assurance) CM是配置管理组(Configuration Management)
软件配置管理
SCM---Software Configuration Management
------概念、方法与任务
主讲:郑人杰
2001年8月


1. 什么是配置管理 2. 软件配置管理计划
3. 软件配置标识
4. 变更管理 5. 版本管理和发行管理 6. 配置审核 7. 配置状态报告
8. 软件配置管理工具
(2)什么是软件配置项 (Software Configuration Item) ——含义:配置管理的对象,软件工程过程产生的所有 信息项。 ——包括:计算机可执行的源代码、目标码、数据库 计算机不可执行的文档、源程序清单、测试用例。 ——管理的产品(ISO9000-3的4.8) • 与合同、过程、计划和产品有关的文档和数据; • 源代码、目标代码和可执行代码; • 相关产品,包括:软件工具、包括库在内的可复 用软件、外购软件和用户提供的软件。
(3)软件配置管理的任务
——制定配置管理计划 ——确定标识规则
——实施变更控制
——配置状态报告 ——配置审核 ——发行管理和版本管理
总之,软件配置管理是软件质量管理的一部分。它 是对软件生存期过程中的各种阶级产品和最终产品演化 或变更的管理。因此有人概括地说,软件配置管理是要 解决软件地标识变更、控制变更和发布变更的问题。
受控库(Controlled Library)
• 在生存期某一阶段的工作结束时,存放阶段产品而释放的、与 软件开发工作有关的计算机可读信息和人工可读信息。 • 软件配置管理就是对受控库中的各个软件项进行管理,也称软 件配置管理库。
产品库(Product Library)
• 在被开发的软件产品完成系统测试后,作为最终产品存放,等 待交付用户运行或现场安装。
表1给出了国际标准ISO/IEC软件生存期过程中规定的软件配置管 理过程的活动和任务。
2,软件配置管理计划 原则上,软件配置管理计划是软件开发计划的一个 组成部分。按国家标准GB/T 12505-90计算机软件配置管 理计划规范的规定,软件配置管理计划应包括以下重要 内容: ——明确规定负责软件配置管理的机构及其任务、职责 和有关接口的控制。 ——要开展的配置管理活动,涉及到: • 配置标识 • 配置控制,即变更控制 • 配置状态的记录和报告 • 配置审核和评审
(1)几种说法 ——ISO9000-3的4.8中给出:配置管理是一个管理学 科,它对配置项(包括软件项)的开发和支持生 存期给予技术上和管理上的指导。配置管理的应 用取决于项目的规模、复杂程度的风险大小。
百度文库
——W.Babich认为,软件配置管理能协调软件开发,使 得混乱减少到最小。软件配置管理是一种标识、组 织和控制修改的技术,目的是最有效地提高生产率。 ——GB/T 11457:1995(软件工程术语)对配置管理的解释: A.标识和确定系统中配置项的过程,在系统整个生存 周期内控制这些项的投放和更动,记录并报告配置 的状态和更动要求,验证配置项的完整性和正确性。 B.对下列工作进行技术和行政指导与监督的一套规范: ——对一配置项的功能和物理特性进行标识和文件编 制工作; ——控制这些特性的更动情况; ——记录并报告对这些更动进行的处理和实现的状态。
• 表明受控项(包括基线)的状态
4.配置状态报告
• 编制管理记录和状态报告
和历史 • 状态报告应包括变更号、最新 版本、发行标识、版本号及各版 本比较
5.配置评价
• 确定和保证软件项的功能
完整性、物理完整性
• 有效控制软件产品和文档
6.发行管理和交付
的发行和交付 • 在产品的生存期内保存代 码、文档的主拷贝
• 以控制软件项及其版本
2.配置标识
• 规定标识规则
• 标识并记录变更申请 • 分析与评价变更
• 标识内容包括:基线文档、版
本基准号、其它。
3。配置控制
• 批准(或不批准)申请
• 实现、验证和发行已变更
的软件项 • 审核跟踪变更 • 控制并审核受控制软件项
• 跟踪变更原因、变更授权 • 以保证重要功能的安全或保密
PCL_TOOLS/EDIT/FORMS/DISPLAY/AST_INTERFACE/CODE
显然,这一命名方法是唯一,可追溯的,但在层次较多 时,显得不够简洁。
表2 软件配置项清单 1,系统规格说明 2,软件项目计划 3,软件需求规格说明 a. 图形分析模型 b. 处理规格说明 c. 原型 d. 数学规格说明 4,初步用户手册 5,设计规格说明 a. 数据设计描述 b. 体系结构设计描述 c. 模块设计描述 d. 接口设计描述 e. 对象描述(采用面向对象技术时)
——变更管理过程按表4进行
6,源代码清单 7,测试规格说明 a. 测试计划和步骤 b. 测试用例和记录的结果 8,操作和安装手册 9,可执行程序 a. 模块可执行代码 b. 链接的模块 10,数据库描述 a. 模式和文件结构 b. 初始内容 11,联机用户手册
——————————
From:Roger S.Pressman Software Engineering –A Practitioner’s Approach Fourth Edition, McGraw-Hill ————————————— —
——软件配置:所有以上产品在不同时期,出于不同要 求的组合,该组合随着开发工作的进展而不断演化。 可以说,软件配置是指一个软件产品在软件生存期 各阶段的不同形式(机器可读或人工可读)和不同 版本的文档、程序及其数据的集合。该集合中的每 一个元素称为该软件产品软件配置中的一个配置项。 如它可以是针对不同的硬件环境及软件环境的组合。 例如,图1表示某一软件产品的初始系统展开出各种 版本。 ——配置标识(Configuration Identification) 配置标识包含了确定产品结构,选择配置项,将配 置项的物理特性和功能特性以及接口和随后的变更 形式文件,为配置项及相应文件分配标识符或编码 的活动。
——配置管理所采用的工具、技术和方法。
上述国家标准还附有软件配置管理计划的示例和配置管 理报表及其格式。
表1 国际标准ISO/IEC 12207 (1995)
信息技术——软件生存周期过程中规定的软件配置管理过程
活动
1.过程实施
任务
• 开发配置管理计划
解释
• 计划描述:配置活动、这些活
动的规程、进度、配置管理组织 及与其它组织的管理 • 计划应形成文件
(2)基线与变更控制 ——开发过程中的变更不可能完全避免
a) 变更的来源:变更如果来自用户,即开发过程中 用户提出变更要求,这应该由CMM的2级KPA:需求 管理加以解决。变更如果来自开发一方,如开发 人员要修改以前已确定的技术方案或设计细部; 或者是管理人员要修改以前已确定的项目方案, 就应由变更控制加以解决。 b) 变更的原因:随着开发工作的进展,人们掌握了 更多的信息,或是对问题和方案有了更为深刻的 认识,通常提出的变更有其理由,如经由控制的 采纳,可能会使项目的开发趋于合理。
图4 软件配置基线
需求规格 说明 用户手册
项目开发计划
设计规格说明
程序清单
测试报告
计划
需求分析
设计
编码
测试
计划 基线
需求 基线
设计 基线
编码 基线
测试 基线
b) 为实施配置管理通常使用以下三种基线: • 功能基线——最初通过的功能配置: 功能基线是指在系统分析和软件定义阶段结束时, 经过正式评审和批准的系统设计规格说明中对被 开发软件系统的规格说明;或者是指经过项目委 托单位和项目承办双方签字同意的协议书或合同 中所规定的对被开发软件系统的规格说明;或是 指由下级申请及上级同意或直接由上级下达的项 目任务书中所规定的对待开发软件系统的规格说 明。 • 分配基线 分配基线是指在软件需求分析阶段结束时,经正 式评审和批准的软件需求规格说明。
——典型的数据库查询问题
• 哪些客户已提取了某个特定的系统版本?
• 运行一个给定的系统版本需要什么硬件和操作系统?
• 一个系统已生成了多少个版本,何时生成的? • 若某个特定的组件变更了,会影响到系统的哪些版本? • 一个特定的版本有哪几个变更请求是最为重要的? • 一个特定的版本有多少已报告的错误?
c) 变更管理的任务: • 分析变更: 研究变更的重要性以及经济可行性(成 本-效益)和技术可行性. • 记录及追踪变更
• 保证变更在受控状态下进行
——基线(baseline)
a) 基线是软件生存期各开发阶段末尾的特定点,也称 为里程碑(milestone)。在这些特定点上阶段工作 已经结束,并已经取得的正式的阶段产品。 建立基线的概念是为了把各开发阶段的工作划分 的更加明确,使连续的开发工作在这些点上断开, 使之利于检验和肯定阶段成果。对于变更控制来 说,原则上规定,不允许跨越里程碑运河修改另 一阶段的成果,认为该成果已告“冻结”。 图4给出了软件开发各阶段的配置基线,箭头指向各阶段 得到的工作产品。
包含重要的安全或保密功能的代 码和文档应按组织的方针处理、 储存、包装和交付
3,软件配置标识 (1)确定配置项 大型软件项目在其开发过程中可能产生数十各,上百个, 甚至上千个文档,其中有技术性的,也会有不少管理性 的。技术性文档是在不断地变更着,依它们又是下个阶 段工作的依据。管理性的如计划书、建议书、会议录、 备忘录等等,也是需要认真保管好的,但需要加以区分, 例如项目计划、需求规格说明、设计规格说明、源程序、 测试数据等更为重要,被称为正式文档。确定配置项就 是要从中做出选择,决定哪些是受控的,称之为配置项。 图2给出了一个软件配置的层次图,表2则列出了 R.S.Pressman 推荐的软件配置项清单。
12,维护文档 a. 软件问题报告 b. 维护请求 c. 工程变更指令 13,软件工程标准和规程
4,变更管理 (1)配置数据库 ——作用: a. 用于记录与配置相关的所有信息
b. 评价系统变更的后果
c. 提供配置管理过程的管理信息
——三类库 开发库(Development Library)
• 专供开发人员使用,其中的信息会频繁修改,对其控制相当宽 松。
9. 结论
参考:国家标准GB/T 12505-90计算机软件配置管理计划规范
配置(Configuration)一词在其它领域中已有广泛的 应用,只不过称呼有所不同,但都有其确切的含义。如原 子结构的形态和组态,控制系统的配置以及计算机系统的 配置等等。许多领域也把配置称为技术状态。
1,什么是配置管理Configuration Management
相关文档
最新文档