软件配置管理(SCM)贯穿于整个软件生命周期,它为软件研发提供了一套管理办法和活动原则,无论是对于软件企业管理人员还是研发人员都有着重要的意义。\r\n\r\n 本书全面阐述软件配置管理的概念,介绍一种按规则实施的、管理软件研发和维护过程及其软件产品的方法。本书着重于介绍软件配置管理应用技术,从技术的角度说明软件配置管理过程,对配置管理模型、配置管理系统/工具和软件部署过程进行了详细的说明,并介绍了几个配置管理的实际案例。书中还描述了配置管理工具评估和选择的过程,列出了目前一些实用的配置管理工具,供读者参考。\r\n\r\n 本书适合于计算机从业人员、大专院校计算机专业师生和所有对配置管理感兴趣的读者阅读参考。\r\n\r\n\r\n
\r\n
第1章 概述 \r\n\r\n 1. l 什么是软件配置管理 \r\n\r\n 1. 1. l 配置管理 \r\n\r\n l. 1. 2 软件配置管理 \r\n\r\n 1. 2 软件配置管理的发展 \r\n\r\n 1. 2. l 软件配置管理的过去 \r\n\r\n 1. 2. 2 软件配置管理的现在 \r\n\r\n 1. 2. 3 软件配置管理的未来 \r\n\r\n l. 3 配置管理能解决的问题 \r\n\r\n 1. 3. l 程序员的问题 \r\n\r\n 1. 3. 2 项目经理的问题 \r\n\r\n 1. 3. 3 公司老板的问题 \r\n\r\n 1. 4 实施配置管理的益处 \r\n\r\n 1. 5 小结 \r\n\r\n 第2章 软件配置管理的主要内容 \r\n\r\n 2. l 基本概念 \r\n\r\n 2. l. l 软件配置项 \r\n\r\n 2. 1. 2 基线 \r\n\r\n 2. 1. 3 版本 \r\n\r\n 2. 1. 4 版本标识 \r\n\r\n 2. 1. 5 软件配置库 \r\n\r\n 2. 1. 6 配置状态报告 \r\n\r\n 2. 1. 7 配置审计 \r\n\r\n 2. 2 版本控制 \r\n\r\n 2. 2. l 版本的访问与同步控制 \r\n\r\n 2. 2. 2 版本分支和合并 \r\n\r\n 2. 2. 3 版本的历史记录 \r\n\r\n 2. 2. 4 发行管理 \r\n\r\n 2. 3 变更控制 \r\n\r\n 2. 3. l 变更类型 \r\n\r\n 2. 3. 2 变更请求 \r\n\r\n 2. 3. 3 变更许可 \r\n\r\n 2. 3. 4 变更实施 \r\n\r\n 2. 3. 5 变更机制 \r\n\r\n 2. 3. 6 末实行变更管理的历史教训 \r\n\r\n 2. 4 过程支持 \r\n\r\n 2. 4. l 组织的过程和CM的应用 \r\n\r\n 2. 4. 2 CM过程和软件生命周期 \r\n\r\n 2. 4. 3 过程模型表示法的影响 \r\n\r\n 2. 4. 4 过程发展进化 \r\n\r\n 2. 5 小给 \r\n\r\n 第3章 软件配置管理快速火门 \r\n\r\n 3. l 在开发组织中成立SCCB \r\n\r\n 3. 2 在开发组织中应用SCM \r\n\r\n 3. 2. l 获取足够的管理权 \r\n\r\n 3. 2. 2 评估当前过程 \r\n\r\n 3. 2. 3 分析需求 \r\n\r\n 3. 2. 4 选定角色并创建一个SCM小组 \r\n\r\n 3. 2. 5 控制SCM的风险 \r\n\r\n 3. 2. 6 记录SCM过程 \r\n\r\n 3. 2. 7 书写正式的SCM计划 \r\n\r\n 3. 3 软件配置管理方案 \r\n\r\n 3. 3. l 软件配置管理方案的构造 \r\n\r\n 3. 3. 2 软件配置管理方案的实施 \r\n\r\n 3. 4 自动软件配置管理 \r\n\r\n 3. 4. l 准备和计划 \r\n\r\n 3. 4. 2 过程定义 \r\n\r\n 3. 4. 3 工具评估 \r\n\r\n 3. 4. 4 试验项目实现 \r\n\r\n 3. 4. 5 向其他项目初次展示 \r\n\r\n 3. 4. 6 提高捕获和通信能力 \r\n\r\n 3. 5 配置管理模版 \r\n\r\n 3. 5. l 定制/裁剪计划模版 \r\n\r\n 3. 5. 2 配置标识模版 \r\n\r\n 3. 5. 3 配置控制模版 \r\n\r\n 3. 5. 4 配置状态报告模版 \r\n\r\n 3. 5. 5 配置审计模版 \r\n\r\n 3. 5. 6 产品和支持模版 \r\n\r\n 3. 5. 7 向产品过渡的模版 \r\n\r\n 3. 5. 8 软件/固件模版 \r\n\r\n 3. 5. 9 问题和决议模版 \r\n\r\n 3. 5. 10 自动化CM模版 \r\n\r\n 3. 6 小结 \r\n\r\n 第4章 软件配置管理的衡量尺度 \r\n\r\n 4. l 软件配置管理的相关标准 \r\n\r\n 4. 2 软件配置管理的度量和度量准则 \r\n\r\n 4. 3 软件配置管理与SW-CMM1. l \r\n\r\n 4. 3. 1 SW-CMM1. l简介 \r\n\r\n 4. 3. 2 软件配置管理在SW-CMM1. l中位置 \r\n\r\n 4. 4 软件配置管理和 ISO 9001 \r\n\r\n 4. 4. 1 软件配置管理 \r\n\r\n 4. 4. 2 ISO9001 \r\n\r\n 4. 4. 3 ISO 9001和CM \r\n\r\n 4. 4. 4 ISO 9001和配置管理的总结 \r\n\r\n 4. 5 软件配置管理和IEEE1074 \r\n\r\n 4. 6 小结 \r\n\r\n 第5章 软件配置管理方法论 \r\n\r\n 5. 1 CM机制 \r\n\r\n 5. 1. l 对象 \r\n\r\n 5. 1. 2 版本化的对象 \r\n\r\n 5. 1. 3 配置对象 \r\n\r\n 5. 1. 4 版本化对象的管理 \r\n\r\n 5. 1. 5 绝缘/隔离 \r\n\r\n 5. 1. 6 对象的生命周期 \r\n\r\n 5. 1. 7 配置组装 \r\n\r\n 5. 1. 8 安全和存取控制 \r\n\r\n 5. 1. 9 对象和方法 \r\n\r\n 5. 2 CM方法论 \r\n\r\n 5. 2. l 阶梯方法论 \r\n\r\n 5. 2. 2 变更集合方法论 \r\n\r\n 5. 2. 3 变化跟踪方法论 \r\n\r\n 5. 2. 4 并行开发模型 \r\n\r\n 5. 2. 5 过程改编 \r\n\r\n 5. 3 小结 \r\n\r\n 第6章 典型的配置管理模型 \r\n\r\n 6. 1 CICO模型 \r\n\r\n 6. 1. 1 CICO模型的概念 \r\n\r\n 6. 1. 2 CICO模型的使用 \r\n\r\n 6. 1. 3 CICO模型的总结 \r\n\r\n 6. 2 组织模型 \r\n\r\n 6. 2. l 组织模型中的概念 \r\n\r\n 6. 2. 2 组织模型的使用 \r\n\r\n 6. 2. 3 关于组织模型的总结 \r\n\r\n 6. 3 长事务模型 \r\n\r\n 6. 3. l 长事务模型中的概念 \r\n\r\n 6. 3. 2 长事务模型的使用 \r\n\r\n 6. 3. 3 长事务模型总结 \r\n\r\n 6. 4 变更集模型 \r\n\r\n 6. 4. l 变更集的概念 \r\n\r\n 6. 4. 2 变更集模型的使用 \r\n\r\n 6. 4. 3 变更集模型总结 \r\n\r\n 6. 5 统一CM模型:版本集模型 \r\n\r\n 6. 5. l 版本集模型的概念 \r\n\r\n 6. 5. 2 版本集模型与传统的CM模型 \r\n\r\n 6. 5. 3 版本集模型应用实例 \r\n\r\n 6. 5. 4 版本集模型使用经验 \r\n\r\n 6. 5. 5 版本集模型的总结 \r\n\r\n 6. 6 小结 \r\n\r\n 第7章 实用配置管理系统 \r\n\r\n 7. l 面向过程的配置管理系统CCC/HARVEST \r\n\r\n 7. 1. 1 CCC/HARVEST的重要概念 \r\n\r\n 7. 1. 2 建立CCC/HARVEST模型 \r\n\r\n 7. 2 基于构件复用的配置管理系统JBCM \r\n\r\n 7. 2. l 配置管理控制下的软件开发基本过程 \r\n\r\n 7. 2. 2 JBCM系统的结构及功能 \r\n\r\n 7. 2. 3 JBCM的软件开发模型--项目/构件结构 \r\n\r\n 7. 2. 4 项目/构件结构 \r\n\r\n 7. 2. 5 用户控制 \r\n\r\n 7. 2. 6 JBCM用户权限控制 \r\n\r\n 7. 2. 7 JBCM系统的数据(信息)分类 \r\n\r\n 7. 3 并发版本系统CVS \r\n\r\n 7. 3. 1 CVS概述 \r\n\r\n 7. 3. 2 构建 CVS服务器 \r\n\r\n 7. 3. 3 CVS服务器与应用实例 \r\n\r\n 7. 3. 4 管理中的相关技术 \r\n\r\n 7. 3. 5 简易命令集 \r\n\r\n 7. 3. 6 通过匿名CVS获取源代码 \r\n\r\n 7. 4 CM系统用户的问题 \r\n\r\n 7. 4. l 角色与需求 \r\n\r\n 7. 4. 2 何时开始使用CM系统. \r\n\r\n 7. 4. 3 配置管理控制的不同层次 \r\n\r\n 7. 4. 4 过程与产品支持的区别 \r\n\r\n 7. 4. 5 配置管理自动化的程度 \r\n\r\n 7. 4. 6 配置管理系统的功能 \r\n\r\n 7. 5 小结 \r\n\r\n 第8章 软件配置管理实践 \r\n\r\n 8. l 开发某编译系统的SCM支持环境 \r\n\r\n 8. 1. l 开发工作的特点 \r\n\r\n 8. 1. 2 CM环境定制 \r\n\r\n 8. l. 3 CM环境的优化 \r\n\r\n 8. 1. 4 与自动测试的结合 \r\n\r\n 8. 1. 5 基于配置管理系统的测试定位系统 \r\n\r\n 8. 2 利用NSE的工具版本管理 \r\n\r\n 8. 2. 1 问题 \r\n\r\n 8. 2. 2 网络软件环境技术 \r\n\r\n 8. 2. 3 上具版本的组织和选择 \r\n\r\n 8. 2. 4 工具配置的稳定性 \r\n\r\n 8. 2. 5 对工具应用环境的管理 \r\n\r\n 8. 2. 6 结论 \r\n\r\n 8. 3 C130J软件配置管理环境 \r\n\r\n 8. 3. 1 C130飞机综述 \r\n\r\n 8. 3. 2 C130飞机软件种类 \r\n\r\n 8. 3. 3 有效实现SCM的特征 \r\n\r\n 8. 3. 4 C130J SCM观点 \r\n\r\n 8. 3. 5 C130J SCM获得的好处 \r\n\r\n 8. 3. 6 C130J SCM改善计划 \r\n\r\n 8. 4 小结 \r\n\r\n 第9章 配置管理工具评估减择过程 \r\n\r\n 9. l 计划 \r\n\r\n 9. 1. l 需求分析 \r\n\r\n 9. 1. 2 市场分析 \r\n\r\n 9. 2 对配置管理工具/厂商的评估 \r\n\r\n 9. 2. 1 厂商演示 \r\n\r\n 9. 2. 2 亲手评估 \r\n\r\n 9. 2. 3 第三方工具 \r\n\r\n 9. 2. 4 工具定制和集成商 \r\n\r\n 9. 2. 5 顾问 \r\n\r\n 9. 3 SCMIPDM支持和工具采购 \r\n\r\n 9. 3. l 上作陈述 \r\n\r\n 9. 3. 2 认可测试计划 \r\n\r\n 9. 3. 3 分阶段地采购 \r\n\r\n 9. 3. 4 许可证供应 \r\n\r\n 9. 3. 5 长期支持 \r\n\r\n 9. 4 配置管理工具评估/选择模板 \r\n\r\n 9. 5 配置管理厂商评估/选择模板 \r\n\r\n 9. 6 小结 \r\n\r\n 第10章 软件配置管理工具 \r\n\r\n 10. 1 CCC/HARVEST \r\n\r\n 10. 2 ClearCase \r\n\r\n 10. 3 PVCS \r\n\r\n 10. 4 SCCS \r\n\r\n 10. 5 RCS \r\n\r\n 10. 6 CVS \r\n\r\n 10. 7 VSS \r\n\r\n 10. 8 Perforce \r\n\r\n 10. 9 TrueChange \r\n\r\n 10. 10 JBCM \r\n\r\n 10. 11 MKS Source Integrity \r\n\r\n 10. 12 小结 \r\n\r\n 第11章 计算机软件部署 \r\n\r\n 11. l 软件部署生命周期 \r\n\r\n 11. 2 软件部署系统分类 \r\n\r\n 11. 3 目前的部署解决方案 \r\n\r\n 11. 4 Colorado大学的研究进展 \r\n\r\n 11. 4. 1 SRM:软件发行管理器 \r\n\r\n 11. 4. 2 Software Dock:软件部署体系结构 \r\n\r\n 11. 5 小结 \r\n\r\n 结束语 \r\n\r\n 附录A 术语和缩写词 \r\n\r\n 附录B 计算机软件配置管理计划规范GB/T 12505-90 \r\n\r\n 附录C SW-CMM1. 1软件配置管理 \r\n\r\n 附录D SCM工具/厂商的详细列表 \r\n\r\n 参考文献 \r\n
\r\n
近年来软件工程方面的书增多了, 网上的专题讨论. 相关培训也应运而生, 这确实是件好事, 究其原因不外乎是为了ISO 9000认证. SW-CMM认证. 现在想在软件产业化方面有所作为的企业, 已经充分意识到加强软件质量管理的重要性和紧迫性. 这在客观上营造了我国目前软件行业标准化. 规范化的良好氛围.
在软件质量体系的诸多支持活动中, 软件配置管理处在支持活动的中心位置, 它有机地把其他支持活动结合起来, 形成一个整体, 相互促进, 相互影响, 有力地保证了质量体系的实施.
随着计算机应用的深入, 软件项目的需求日益复杂并且变更频繁, 传统的一两个人完成一个项目的情况越来越少. 从整个企业的发展战略来说, 如何在技术日新月异. 人员流动频繁的情况下, 建立本企业的知识库及经验库, 把个人的知识及经验转变为企业的知识和经验, 这对于提高工作效率. 缩短产品周期. 加强企业的竞争力具有至关重要的作用. 采用科学的配置管理思想, 辅之以先进的配置管理工具, 已经是必不可少的手段.
对于尚未通过ISO 9000认证的软件企业来说, 需要在员工中进行软件工程方面的素质培训, 最基础也是最重要的是有关软件配置管理方面的培训. 因为软件配置管理是软件开发走上有序的重要开端, 同时它与软件人员日常的活动密切相关, 容易被大众接受.
本书作者在参考了大量国内外资料文献的基础上, 结合实际工作中的亲身体验编写的《软件配置管理》, 全面介绍了软件配置管理的概念, 使读者能够理解软件配置管理的一套方法和机制, 从而有助于更好地实施软件配置管理, 进行软件研发过程中的管理工作.
该书侧重于对软件研发管理过程的一个重要组成部分——软件配置管理展开叙述, 以此洞察整个软件研发管理过程. 同时根据目前的软件配置管理技术水平, 阐述了软件配置管理的基本概念, 提炼出了配置管理的主要内容:版本控制. 变更控制和过程支持. 书中还给出了实施软件配置管理的步骤和衡量软件配置管理工作的尺度. 该书既从抽象的角度介绍配置管理, 也给出了配置管理的实施案例, 对配置管理工具及其评估和选择过程的介绍有助于读者按部就班地选用配置管理工具. 作为软件配置管理的延伸过程, 软件部署过程也在书中得到了体现. 其中第6章介绍的配置管理模型——CICO模型. 组织模型. 长事务模型. 变更集模型和版本集模型, 每一种模型中都蕴含了不同的配置管理思想和方法. 读者了解这些模型可以据此考察目前的工作, 确定是否需要进行过程改进, 有哪些方面需要改进. 第8章介绍的配置管理的实施案例, 其中包括了作者在实际工作中总结
的经验, 结合我国国情, 很值得一读.
国内有关软件工程. 软件项目管理. 软件成熟度模型方面的书已有不少, 其中都谈到软件配置管理, 但有关软件配置管理的专著难得见到, 《软件配置管理》一书内容丰富, 材料翔实, 易于理解, 是一本实用性很强的参考书. 我相信, 此书的出版对于促进我国软件开发走上标准化. 规范化的轨道, 将会是十分有益的.
江南计算技术研究所
漆锋滨
2002年5月
传统的“软件作坊”往往依赖于人们急于创造财富的激动情绪, 生产处于一种无序. 混炖的状态, 软件产品的质量得不能保证, 甚至中途撤消软件项目. 随着信息技术的发展, 软件规模越来越大, 这种传统的生产方式已经不能满足需求了. 研究管理的体制问题——是采用现代化的管理方式, 还是沿用传统的研究手段——已成为软件业发展的关键.
软件配置管理贯穿于整个软件生命周期, 它为软件开发提供了一套管理办法和活动原则. 配置管理的过程实际上是软件开发过程中质量管理的精髓所在——版本管理提高了开发人员的工作效率, 而变更控制则提高了整个开发团队的工作效率, 两者的紧密结合, 将为软件开发项目提供一道坚实的质量防火墙, 使软件开发项目的质量管理过程规范而有效. 有效的软件配置管理能够降低由于软件变更可能导致的风险, 无论是对于软件企业管理人员还是开发人员都有着重要的意义.
软件配置管理在软件质量管理中起着重要作用, 是CMM(软件能力成熟度模型)与ISO 9000质量管理体系的核心内容之一. 本书全面阐述软件配置管理的概念, 介绍一种按规则实施的. 管理软件研发和维护过程及其软件产品的方法. 本书着重于介绍软件配置管理应用技术, 从技术的角度说明软件配置管理过程, 对配置管理模型. 配置管理系统/工具和软件部署过程进行了详细的说明, 并介绍了几个配置管理的实际案例.
本书共11章. 第1章概括介绍软件配置管理的历史背景以及它的基本含义, 同时说明配置管理能够解决哪些问题. 第2章着重阐述软件配置管理的主要内容, 包括基本概念. 版本控制. 变更控制和过程支持方面的内容. 第3章是软件配置管理的快速入门, 主要讨论在一个组织中怎样实现配置管理和制定软件配置管理实施方案, 并给出了10个配置管理模版. 第4章介绍软件配置管理成功与否的衡量尺度. 第5章介绍软件配置管理的机制和方法论, 从一个抽象的层次解读软件配置管理的规则. 第6章介绍了5个典型的配置管理模型, 包括4种商业环境中的模型(CICO模型. 组织模型. 长事务模型和变更集模型)和1种试验模型(即试图将火种商业的配置管理模型统一起来的模型——版本集模型). 第7章介绍了3个实用的配置管理系统, 包括面向过程的CCC/HARVEST. 基于构件复用的JBCM和共发版本系统CVS. 第8竟是软件配置管理实践, 通过3个软件配置管理实际案例, 描绘了软件配置管理的基本过程. 第9章介绍了配置管理工具的评估和选择过程. 第10章简要介绍了一些配置管理工具. 第11章介绍了软件配置管理的延伸过程, 即软件部署过程. 为了方便读者阅读本书并进一步了解软件配置管理的有关内容, 本书最后提供的附录包括术语和缩写词. 计算机软件配置管理计划规范国家标准. CMM的软件配置管理规范和SCM工具/厂商的详细信息列表等.
本书第l~3. 5~8. 10. 11章和参考文献由徐晓春编写, 第4. 9章和附录A~D由李高健编写. 全书由徐晓春编排统稿.
在本书的编写过程中, 得到了中国工程院院士陈左宁的关心和支持, 江苏省计算机协会理事. 高级工程师漆锋滨为本书写作了序言, 北京大学谢冰博士也给予了很有益的帮助, 还有许多同志为本书的完成付出了宝贵的劳动, 在此表示衷心的感谢.
http://www. 8848 software. com/scmchina/和http://wind. prohosting. com/scmchina/index.asp网站提供了与本书相关的一些信息和配置管理的相关内容, 同时提供了国际上配置管理研究的最新进展情况, 有兴趣的读者可以参考.
由于作者水平和经验所限, 加之目前有关软件配置管理方面可供参考的资料不多, 本书的不足和纸漏在所难免, 恳请广大读者批评指正.
作者
2002年5月