




已阅读5页,还剩42页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
软件配置管理SCM SoftwareConfigurationManagement 概念 方法与任务主讲 郑人杰2001年8月 1 目录 什么是配置管理软件配置管理计划软件配置标识变更管理版本管理和发行管理配置审核配置状态报告软件配置管理工具结论 参考 国家标准GB T12505 90计算机软件配置管理计划规范 2 配置 Configuration 一词在其它领域中已有广泛的应用 只不过称呼有所不同 但都有其确切的含义 如原子结构的形态和组态 控制系统的配置以及计算机系统的配置等等 许多领域也把配置称为技术状态 1 什么是配置管理ConfigurationManagement 1 几种说法 ISO9000 3的4 8中给出 配置管理是一个管理学科 它对配置项 包括软件项 的开发和支持生存期给予技术上和管理上的指导 配置管理的应用取决于项目的规模 复杂程度的风险大小 3 W Babich认为 软件配置管理能协调软件开发 使得混乱减少到最小 软件配置管理是一种标识 组织和控制修改的技术 目的是最有效地提高生产率 GB T11457 1995 软件工程术语 对配置管理的解释 A 标识和确定系统中配置项的过程 在系统整个生存周期内控制这些项的投放和更动 记录并报告配置的状态和更动要求 验证配置项的完整性和正确性 B 对下列工作进行技术和行政指导与监督的一套规范 对一配置项的功能和物理特性进行标识和文件编制工作 控制这些特性的更动情况 记录并报告对这些更动进行的处理和实现的状态 4 2 什么是软件配置项 SoftwareConfigurationItem 含义 配置管理的对象 软件工程过程产生的所有信息项 包括 计算机可执行的源代码 目标码 数据库计算机不可执行的文档 源程序清单 测试用例 管理的产品 ISO9000 3的4 8 与合同 过程 计划和产品有关的文档和数据 源代码 目标代码和可执行代码 相关产品 包括 软件工具 包括库在内的可复用软件 外购软件和用户提供的软件 5 软件配置 所有以上产品在不同时期 出于不同要求的组合 该组合随着开发工作的进展而不断演化 可以说 软件配置是指一个软件产品在软件生存期各阶段的不同形式 机器可读或人工可读 和不同版本的文档 程序及其数据的集合 该集合中的每一个元素称为该软件产品软件配置中的一个配置项 如它可以是针对不同的硬件环境及软件环境的组合 例如 图1表示某一软件产品的初始系统展开出各种版本 配置标识 ConfigurationIdentification 配置标识包含了确定产品结构 选择配置项 将配置项的物理特性和功能特性以及接口和随后的变更形式文件 为配置项及相应文件分配标识符或编码的活动 6 3 软件配置管理的任务 制定配置管理计划 确定标识规则 实施变更控制 配置状态报告 配置审核 发行管理和版本管理 总之 软件配置管理是软件质量管理的一部分 它是对软件生存期过程中的各种阶级产品和最终产品演化或变更的管理 因此有人概括地说 软件配置管理是要解决软件地标识变更 控制变更和发布变更的问题 表1给出了国际标准ISO IEC软件生存期过程中规定的软件配置管理过程的活动和任务 7 2 软件配置管理计划 原则上 软件配置管理计划是软件开发计划的一个组成部分 按国家标准GB T12505 90计算机软件配置管理计划规范的规定 软件配置管理计划应包括以下重要内容 明确规定负责软件配置管理的机构及其任务 职责和有关接口的控制 要开展的配置管理活动 涉及到 配置标识配置控制 即变更控制配置状态的记录和报告配置审核和评审 8 配置管理所采用的工具 技术和方法 上述国家标准还附有软件配置管理计划的示例和配置管理报表及其格式 9 表1国际标准ISO IEC12207 1995 信息技术 软件生存周期过程中规定的软件配置管理过程 10 11 3 软件配置标识 1 确定配置项 大型软件项目在其开发过程中可能产生数十各 上百个 甚至上千个文档 其中有技术性的 也会有不少管理性的 技术性文档是在不断地变更着 依它们又是下个阶段工作的依据 管理性的如计划书 建议书 会议录 备忘录等等 也是需要认真保管好的 但需要加以区分 例如项目计划 需求规格说明 设计规格说明 源程序 测试数据等更为重要 被称为正式文档 确定配置项就是要从中做出选择 决定哪些是受控的 称之为配置项 图2给出了一个软件配置的层次图 表2则列出了R S Pressman推荐的软件配置项清单 12 2 制定命名规则 配置标识的一项重要工作就是为配置项命名 合理的命名将有利于管理 使之不致造成混乱 命名的要求是唯一性 不允许多个配置项命名 和可追溯性 即命名能够反映各配置项之间的相互关系 可追溯到相关的配置项 2 树状 层次式 命名规则 例 图3表明一个树状命名为了表明树结构中的叶结点CODE 需以根结点起 逐层连贯 直至该叶结点 PCL TOOLS EDIT FORMS DISPLAY AST INTERFACE CODE显然 这一命名方法是唯一 可追溯的 但在层次较多时 显得不够简洁 13 表2软件配置项清单 14 From RogerS PressmanSoftwareEngineering APractitioner sApproachFourthEdition McGraw Hill 15 16 4 变更管理 1 配置数据库 作用 a 用于记录与配置相关的所有信息b 评价系统变更的后果c 提供配置管理过程的管理信息 17 三类库开发库 DevelopmentLibrary 专供开发人员使用 其中的信息会频繁修改 对其控制相当宽松 受控库 ControlledLibrary 在生存期某一阶段的工作结束时 存放阶段产品而释放的 与软件开发工作有关的计算机可读信息和人工可读信息 软件配置管理就是对受控库中的各个软件项进行管理 也称软件配置管理库 产品库 ProductLibrary 在被开发的软件产品完成系统测试后 作为最终产品存放 等待交付用户运行或现场安装 18 典型的数据库查询问题 哪些客户已提取了某个特定的系统版本 运行一个给定的系统版本需要什么硬件和操作系统 一个系统已生成了多少个版本 何时生成的 若某个特定的组件变更了 会影响到系统的哪些版本 一个特定的版本有哪几个变更请求是最为重要的 一个特定的版本有多少已报告的错误 19 2 基线与变更控制 开发过程中的变更不可能完全避免 变更的来源 变更如果来自用户 即开发过程中用户提出变更要求 这应该由CMM的2级KPA 需求管理加以解决 变更如果来自开发一方 如开发人员要修改以前已确定的技术方案或设计细部 或者是管理人员要修改以前已确定的项目方案 就应由变更控制加以解决 变更的原因 随着开发工作的进展 人们掌握了更多的信息 或是对问题和方案有了更为深刻的认识 通常提出的变更有其理由 如经由控制的采纳 可能会使项目的开发趋于合理 20 c 变更管理的任务 分析变更 研究变更的重要性以及经济可行性 成本 效益 和技术可行性 记录及追踪变更保证变更在受控状态下进行 21 基线 baseline 基线是软件生存期各开发阶段末尾的特定点 也称为里程碑 milestone 在这些特定点上阶段工作已经结束 并已经取得的正式的阶段产品 建立基线的概念是为了把各开发阶段的工作划分的更加明确 使连续的开发工作在这些点上断开 使之利于检验和肯定阶段成果 对于变更控制来说 原则上规定 不允许跨越里程碑运河修改另一阶段的成果 认为该成果已告 冻结 图4给出了软件开发各阶段的配置基线 箭头指向各阶段得到的工作产品 22 计划 需求分析 设计 编码 测试 计划基线 需求基线 设计基线 编码基线 测试基线 项目开发计划 需求规格说明用户手册 设计规格说明 程序清单 测试报告 图4软件配置基线 23 2020 3 20 24 为实施配置管理通常使用以下三种基线 功能基线 最初通过的功能配置 功能基线是指在系统分析和软件定义阶段结束时 经过正式评审和批准的系统设计规格说明中对被开发软件系统的规格说明 或者是指经过项目委托单位和项目承办双方签字同意的协议书或合同中所规定的对被开发软件系统的规格说明 或是指由下级申请及上级同意或直接由上级下达的项目任务书中所规定的对待开发软件系统的规格说明 分配基线分配基线是指在软件需求分析阶段结束时 经正式评审和批准的软件需求规格说明 25 产品基线产品基线是指在软件组装与系统测试阶段结束时 经正式评审和批准的有关所开发的软件产品的全部配置项的规格说明 3 变更控制 变更请求 提出变更请求表 ChangeRequestForm 26 表3变更控制表 项目名 变更请求人 日期 编号 要求的变更描述 变更分析员 分析日期 受影响模块 变更评估 变更优先性 变更实现 估计工作量 CCB收到日期 CCB决定日期 CCB决定 变更实施负责人 变更日期 递交QA日期 QA决定 递交CM日期 表中 CCB是变更控制委员会 ChangeControlBoard QA是质量保证组 QualityAssurance CM是配置管理组 ConfigurationManagement 27 变更管理过程按表4进行 记录变更a 将CRF作为配置项在数据库中登录b 在变更了的模块代码上作变更记录 以反应变更的实际情况 如表5所示 28 表4变更控制过程 提交变更请求表CRF分析变更请求如果变更能成立则估计变更如何实现估算变更成本将CRF送交CCB如果变更获准则重复实施变更记录变更将变更的软件提交QA审查直到软件质量达到要求由CM人员生成系统的新版本否则拒绝变更请求否则拒绝变更请求 29 表5变更记录示例 PROTEUSProject ESPRIT PCL TOOLS EDIT FORMS DISPLAY AST INTERFACE Object PCL TOOL DESC 作者 陈 开发日期 1997 06 20 版权归属 清华同方软件与系统集成公司 变更记录 变更变更负责人日期变更概要变更理由 1 0王 98 1 1 1李 98 8 30 5 版本管理和发行管理 1 版本管理是对系统不同版本进行标识和跟踪的过程 版本标识的目的是便于对版本进行检索和跟踪 显示各版本的关系 一个版本是软件系统的一个实例 在功能和性能上与其他版本有所差别 或是修正了前一版本的不足 有些版本在功能上等价 但分别适用于不同的硬件配置 31 如果两个版本只有少量的差异 则互相称为变体 Variant 例 某软件的一个版本由5个组件构成 其中 组件4适用于彩色显示器组件5适用于单色显示器则它的两个版本 或称两个变体是Version1 组件1 2 3 4Version2 组件1 2 3 5 1 2 3 4 5 图5变体示例 版本管理可用软件工具支持 例如 RCS SCCS PVCSVersionManager 32 2 系统发行是分配给客户的一个版本 每次系统发行都应有新的功能或是针对不同的硬件平台 通常软件系统的版本数要比发行次数多 因为有的版本并未发行 例如 有的版本仅供公司内部使用或专供测试等 一次发行不仅是一个可执行程序 它还应包括 配置文件 规定发行应作的特定安装 数据文件 系统运行所需的数据 安装程序 系统如何安装到目标机上 电子文档或书面文档 对系统的描述 33 3 版本标识 版本的命名规则 号码版本标识a 线型 1 0 1 1 1 0 图6号码版本标识 b 系统发行一般提供的是基础版 即1 0 2 03 0等 34 问题 不易区分新版本和新发行若前一版本声出了多个新版本 怎么编号实际情况并非线型的 如图7所示 V1 0 V1 1 V1 1a V1 1b V1 2 V1 1 V2 0 V2 1 V2 2 图7非线型版本顺序 35 符号命名版本标识 不用V1 1 2形式 而用V1 VMS DBServer表示一个在VMS操作系统上运行的数据库服务器版本 优点示能够反映出版本的特性 比线型命名好 但仍不能完全反映导出的真实情况 属性版本标识 版本标识中反映的属性有 客户 开发语言 开发状态 硬件平台 生成日期 每个版本都由唯一的一组属性标识 即一组唯一的属性值 好处 容易加入新版本版本间关系容易保持易于检索 如问 最近生成的版本 在两个指定日期间生成的版本 36 4 发行管理 新版本与新发行新版本 修改报告出的软件缺陷 开发新的代码 构成新系统 新发行 除开发新代码 构成新系统外 还要为客户准备数据 配置文件 写新文档 作包装 比新版本开销大 三种维护工作后 配置管理人员都要分析变更影响的组件 确定何时生成新系统 何时作系统发行 37 通常系统改动越多 可能引入的错误越多 这就必须在下次发行时解决 为把出现问题的机会分散开 往往把修补性变更后的发行与系统变更功能的发行交叉起来 如图8所示 增强性发行 增强性发行 增强性发行 增强性发行 增强性发行 图8交叉的发行示例 38 6 配置审核 ConfigurationAudit 1 什么是配置审核 尽管已对软件配置项作了标识 实施了变更控制和版本控制 就不会发生混乱了吗 软件开发的实践表明 仍然会出问题 为解决这些问题 通常采用两个方法 即 正式技术评审 对所用的变更逐一检查一致性 遗漏 副作用 软件配置审核 作为评审的补充 39 2 配置审核提出的问题 已确定的变更完成了吗 有没有做任意附加的修改 是否进行了正式的技术评审 以便评估技术的正确性 是否遵循了软件工程标准 所作的变更是否遵循了软件配置管理规程 任一变更可能涉及到其他软件配置项 是否也相应作了变更 这些问题也可能在评审时提到 但若将配置管理作为一项正式活动 配置审核应由质量保证组 QA 单独进行 40 7 配置状态报告 ConfigurationStatusReporting 1 什么是配置状态报告 配置状态报告 也称StatusAccounting 的目的时及时 准确地给出软件配置项的当前状态 供相关人员了解 以加强配置管理工作 相当于
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 七年级生物下册 4.3.1《呼吸道对空气的处理》说课稿1 (新版)新人教版
- 挂车公司考试题及答案
- 工地推车考试题及答案大全
- 乡镇生活污水处理厂改造项目节能评估报告
- xx城供热站新建工程风险评估报告
- 2025融资租赁委托合同样本
- 路基工程基础试题及答案
- 120万千瓦光伏项目施工方案
- 2025民宿租赁合同范本下载
- 光伏玻璃砂生产项目经济效益和社会效益分析报告
- 2025年全国中小学校党组织书记网络培训示范班在线考试题库及答案
- 2025全国农业(水产)行业职业技能大赛(水生物病害防治员)选拔赛试题库(含答案)
- GB/T 20160-2006旋转电机绝缘电阻测试
- 结肠息肉课件培训课件
- 饮食营养与健康课件
- Unit 4 Reading and Thinking 学案-高中英语人教版(2019) 选择性必修第一册
- 广告及宣传印刷品制作服务方案
- 安全评价工作程序框图流程图
- 医共体成员单位人力资源工作制度
- 如何建立高效学习小组
- 汽车系统动力学与控制 教学大纲
评论
0/150
提交评论