- 1、本文档共45页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
第6章 软件配置管理 Software Configuration Management §6.1 概述 配置的概念来源于制造系统管理,目标是识别和管理组成复杂系统的各个部分——工件 随着软件复杂性的大幅提升,将软件看作单一产品面临许多无法解决的问题,而将其分解为子系统、模块、构件等“工件”并实施配置管理是富有成效和现实的技术 IEEE将SCM定义为: 软件配置管理由适于所有软件开发项目的最佳工程实践组成,通过以下手段来提高软件的可靠性和质量: 在整个软件生命周期中提供标识和控制文档、源代码、接口定义和数据库等工件机制 提供满足需求、符合标准、适应项目管理及其他组织策略的软件开发和维护的方法学 为管理和产品发布提供支持信息,如基线状态、变更控制、测试、发布、审计等 实施SCM的目的 目的是在软件生命周期内建立和维护软件产品的完整性,保证团队的有效协作 目标是标识变更、控制变更、确保变更正确实现并向其他人员报告变更 SCM要解决的问题 多人同时修改程序或文档 人员流动 软件维护中的历史重现 控制软件的复杂性 影响项目进度的特殊因素 已修复的错误仍然存在 协同开发中的工作重复 SCM的益处 可以解决一些常见的问题 可以节约用户资金◇ 复用和共享◇ 增强沟通能力 可以提高软件开发管理的水平◇ 管理和改进过程,提高成熟度等级◇ 管理工作空间,实现变更控制◇ 管理工作量◇ 管理沟通 可以保护企业的知识财富建立完善的知识管理体系:代码、经验、安全性、可靠性…… §6.2 配置项SCI 所有在软件过程中产生的信息,总称为软件配置项(Software Configuration Item,SCI),主要包括: 计算机程序(源代码和可执行程序) 描述计算机程序的文档(针对开发者和用户) 数据(包含在程序内部或外部) 6.2.1 配置项的内容 6.2.2 软件配置控制 6.2.3 配置项标识 命名实例 程序实体的标识 程序名.扩展名: DataVerified.java 文档的标识:必须统一 项目管理PM 立项说明PM-prj 开发计划PM-plan 项目设计PD 需求说明PD-req 概要设计PD-prldsg 详细设计PD-dtldsg §6.3 基线baseline IEEE关于软件基线的定义 基线是已经通过正式技术评审的某种产品,可以作为进一步开发的基础,并且只能通过正式的变更控制而改变 基线是项目库中每个工件的版本快照snapshot 基线标识软件过程阶段的里程碑milestone 常用软件基线 基线的属性 通过正式评审过程建立 存在于基线库,对基线的变更接受更高权限的控制 基线是进一步开发和修改的基准和出发点 进入基线前,不对变化进行管理;进入基线后,对变化进行有效管理 不会变化的内容不纳入基线,变化对其它无影响的也不纳入基线 基线具有名称、标识符、版本、日期等属性 交付给客户的基线成为一个Release,内部开发用的基线为一个Build 基线的优点 重现性当更新不稳定或不可信时,基线提供一种取消变更的方法 可追溯性建立项目工件之间的前后继承关系 版本隔离 新项目与随后对原始项目所进的变更进行隔离 基线的种类 功能基线(Functional Baseline) 系统分析、软件定义阶段的系统规格说明 指派基线(Allocated Baseline) 软件需求分析阶段的需求规格说明 产品基线(Production Baseline) 组装和测试阶段有关产品的规格说明 其他基线 软件过程中的配置基线 §6.4 版本控制 版本控制是对系统不同版本进行标识和跟踪管理的过程,是SCM的核心 版本控制的对象是软件开发过程中涉及的所有文件系统对象,如文件、目录、链接等 版本控制的目的在于跟踪控制对象的变更,防止丢失,提供访问授权,实现并行开发…… 6.4.1 版本的控制与同步控制 版本的访问控制 工作区中的源文件是从库中恢复得到的一个复制文件。一般有两种工作模式: 在工作区域一旦有“读”请求,就做一次恢复操作,获得复制文件,当“读”操作结束,该复制文件被删除 仅当软件库中的内容发生更改时,才发生交互,而不是每次“读”操作都与软件库中的文件发生交互 版本的同步控制 检入Checkin:将软件配置项从用户的工作环境存入到软件配置库的过程 检出Checkout:将软件配置项从软件配置库中取出的过程 访问和同步控制的流程图 6.4.2 版本分支和合并 版本分支 人工方法是从主版本复制一份文件,做上标记。实行版本控制之后,版本的分支是一份复制文件,复制过程和标记动作由版本系统自动完成 版本合并 版本合并通过对文件的比较来进行,有两种途径: 将版本A的内容附加到版本B中 合并A和B的内容,形成新的C 后一种途
文档评论(0)