软件配置管理
9.3 软件配置中对象的标识
每个对象均具有一组唯一地标识它的独特 的特征:名字、描述、资源表、以及“ 的特征:名字、描述、资源表、以及“现 实”。对象名是无二义性地标识对象的一 个字符串
对象描述是一个数据项的列表,它们标识: 对象描述是一个数据项的列表,它们标识: 该对象所表示的SCI类型(如文档、程序、 该对象所表示的SCI类型(如文档、程序、 SCI类型 数据) 数据) 项目标识符 变更和/ 变更和/或版本信息
9.6 配置审计
• 软件配置审计通过评估配置对象的通常 不在复审中考虑的特征, 不在复审中考虑的特征,而形成正式复 审的补充。 审的补充。
9.7 状态报告
配置状态报告是一个SCM任务, 配置状态报告是一个SCM任务,它回答下 SCM任务 列问题: 列问题: (1)发生了什么事? (1)发生了什么事? 发生了什么事 (2)谁做的此事? (2)谁做的此事? 谁做的此事 (3)此事是什么时候发生的? (3)此事是什么时候发生的? 此事是什么时候发生的 (4) 将影响别的什么吗? 将影响别的什么吗?
9.1.2 软件配置项
• 我们已经将软件配置项定义为部分软件工
程过程中创建的信息,在极端情况下,一 程过程中创建的信息,在极端情况下, 个SCI可被考虑为某个大的规约中的某个 SCI可被考虑为某个大的规约中的某个 单独段落,或在某个大的测试用例集中的 单独段落, 某种测试用例 。
9.2 SCM过程 SCM过程
9.1 软件配置管理
软件过程的输出信息三个主要类别: 软件过程的输出信息三个主要类别: (1)计算机程序(源代码和可执行程序) (1)计算机程序 源代码和可执行程序) 计算机程序( (2)描述计算机程序的文档(针对技术开发者和用户) (2)描述计算机程序的文档 针对技术开发者和用户) 描述计算机程序的文档( (3)数据(包含在程序内部或在程序外部) (3)数据 包含在程序内部或在程序外部) 数据( 这些项包含了所有在软件过程中产生的信息,总 这些项包含了所有在软件过程中产生的信息, 称为软件配置。 称为软件配置。
软件配置管理是软件质量保证的重要一环, 软件配置管理是软件质量保证的重要一环, 其主要责任是控制变化。然而,SCM也负 其主要责任是控制变化。然而,SCM也负 责个体SCI和软件的各种版本的标识 责个体SCI和软件的各种版本的标识、软件 和软件的各种版本的标识、 配置的审计(以保证它已被适当地开发) 配置的审计(以保证它已被适当地开发)、以 及配置中所有变更的报告。 及配置中所有变更的报告。
9.3 软件配置中对象的标识
两种类型的对象可以被标识: 两种类型的对象可以被标识:基本对象和 聚集对象 基本对象是软件工程师在分析、设计、编 基本对象是软件工程师在分析、设计、 码或测试中创建的“文本单元(unit text)” 码或测试中创建的“文本单元(unit of text)” 一个聚集对象是基本对象和其他聚集对象 的集合
9.9 小结
软件配置管理是应用于整个软件过程中的庇护性 活动。SCM标识、控制、审计和报告在软件开发 标识、 活动。SCM标识 控制、 过程中及在它已被发布给客户之后发生修改。所 过程中及在它已被发布给客户之后发生修改。 有作为软件过程的一部分而产生的信息成为软件 配置的一部分,配置被适当地组织, 配置的一部分,配置被适当地组织,使得可以进 行有秩序的变化控制 。
软件工程
第9章 软件配置管理 章
第9章 软件配置管理
9.1 软件配置管理 9.2 SCM过程 SCM过程 9.4 版本控制 9.5 变更控制 9.6 配置审计 9.7 状态报告 9.9 小结
9.3 软件配置中对象的标识 9.8 SCM标准 SCM标准
软件配置管理(SCM) 软件配置管理(SCM)活动是被应用于整个软 (SCM)活动是被应用于整个软 件过程中的庇护性活动。 件过程中的庇护性活动。因为变更可能发 生在任意时间,SCM被设计以便: 被设计以便: 生在任意时间,SCM被设计以便 (1)标识变更 (1)标识变更 (2)控制变更 (2)控制变更 (3)保证变更被适当地实现 (3)保证变更被适当地实现 (4)向其他可能有兴趣的人员报告变化 (4)向其他可能有兴趣的人员报告变化 SCM的主要目标是改进变更可以被适应的容易程度, SCM的主要目标是改进变更可以被适应的容易程度, 的主要目标是改进变更可以被适应的容易程度 并减少当变更必须发生时所需花费的工作量。 并减少当.1 基线
• 基线是一个软件配置管理的概念,它帮助 基线是一个软件配置管理的概念,
我们在不严重阻碍合理变化的情况下来控 制变化。 制变化。
• 基线是软件开发中的里程碑,其标记是通 基线是软件开发中的里程碑,
过一个或多个软件配置项的交付且这些 SCI已经过正式技术评审而获得认可 已经过正式技术评审而获得认可。 SCI已经过正式技术评审而获得认可。
SCM标准 9.8 SCM标准
• 很多早期的SCM标准,如MIL—STD—483, 很多早期的 标准, , 标准 DOD—STD—480A,和MIL—STD—1521A,主 , , 要用于为军事用途而开发的软件。然而,最近的 要用于为军事用途而开发的软件。然而, ANSI/IEEE标准,如ANSI/IEEE Std.No.828-1983, 标准, 标准 , No.1042-1987,和Std.No.1028-1988[IEE94], , [ ], 可应用于商业软件, 可应用于商业软件,并被向大型的和小型的软件 工程组织推荐。 工程组织推荐。
9.4 版本控制
版本控制结合了规程和工具以管理在软件工 程过程中所创建的配置对象的不同版本。 程过程中所创建的配置对象的不同版本。
9.5 变更控制 • 对于大型的软件开发项目,无控制 对于大型的软件开发项目, 的变化将迅速导致混乱,变更控制 的变化将迅速导致混乱, 结合人的规程和自动化工具以提供 一个变化控制的机制。 一个变化控制的机制。