计算机软件及应用ppt课件
合集下载
相关主题
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
第6章 软件配置管理
1
§6.1 概述
配置的概念来源于制造系统管理,目标是 识别和管理组成复杂系统的各个部分——工件
随着软件复杂性的大幅提升,将软件看作 单一产品面临许多无法解决的问题,而将其分 解为子系统、模块、构件等“工件”并实施配 置管理是富有成效和现实的技术
2
• IEEE将SCM定义为:
软件配置管理由适于所有软件开发项目的最佳工程实践 组成,通过以下手段来提高软件的可靠性和质量:
要求任何进行配置管理的软件产品变更都要经过 相应的授权与批准才能实施 ④ 产品发布:保证提交给客户的软件产品是完整的、 正确的
8
6.2.3 配置项标识
软件配置项标识是管理配置的前提。
标识包括文件名和版本。
确定配置项:软件项目在开发过程中会产生成千上百 个配置项,那么确定配置项是很重要的
明确配置项标识的要求:项目组人员按照标识规则对 配置项进行标识,最后提交给配置管理员纳入配置库统 一管理
◇ 复用和共享 ◇ 增强沟通能力 – 可以提高软件开发管理的水平 ◇ 管理和改进过程,提高成熟度等级 ◇ 管理工作空间,实现变更控制 ◇ 管理工作量 ◇ 管理沟通 – 可以保护企业的知识财富 建立完善的知识管理体系:代码、经验、安全性、 可靠性……
5
§6.2 配置项SCI
所有在软件过程中产生的信息,总称为软 件配置项(Software Configuration Item,SCI),主 要包括:
配置项命名:
(1) 唯一性:在一个项目内不能出现重名 (2) 可追溯性:名字应能体现相邻配置项之间的关系
9
命名ห้องสมุดไป่ตู้例
• 程序实体的标识
程序名.扩展名: DataVerified.java
• 文档的标识:必须统一
– 项目管理PM • 立项说明PM-prj • 开发计划PM-plan
– 项目设计PD • 需求说明PD-req • 概要设计PD-prldsg • 详细设计PD-dtldsg
10
§6.3 基线baseline
• IEEE关于软件基线的定义
基线是已经通过正式技术评审的某种产品, 可以作为进一步开发的基础,并且只能通过正式 的变更控制而改变
– 基线是项目库中每个工件的版本快照snapshot – 基线标识软件过程阶段的里程碑milestone
11
常用软件基线
系统工程
需求分析
系统规格说明书
软件设计
软件需求规格说明书
源代码
代码
设计规格说明书
测试计划
测试
过程/数据
可操作的系统
12
基线的属性
• 通过正式评审过程建立 • 存在于基线库,对基线的变更接受更高权限的控制 • 基线是进一步开发和修改的基准和出发点 • 进入基线前,不对变化进行管理;进入基线后,对
变化进行有效管理
• 不会变化的内容不纳入基线,变化对其它无影响的
① 计算机程序(源代码和可执行程序) ② 描述计算机程序的文档(针对开发者和用户) ③ 数据(包含在程序内部或外部)
6
6.2.1 配置项的内容
配置项
包含内容
项目任务书
个人日报和周报
项目管理过程文档 项目计划
项目会议纪要
项目周报
培训记录和培训文档
QA不符合报告
QA过程文档
QA周报
评审记录
需求文档
测试文档
获得复制文件,当“读”操作结束,该复制文件被删 除 – 仅当软件库中的内容发生更改时,才发生交互,而不 是每次“读”操作都与软件库中的文件发生交互
• 版本的同步控制
– 检入Checkin:将软件配置项从用户的工作环境存入到 软件配置库的过程
– 在整个软件生命周期中提供标识和控制文档、源代 码、接口定义和数据库等工件机制
– 提供满足需求、符合标准、适应项目管理及其他组 织策略的软件开发和维护的方法学
– 为管理和产品发布提供支持信息,如基线状态、变 更控制、测试、发布、审计等
3
• 实施SCM的目的
目的是在软件生命周期内建立和维护软件产品的 完整性,保证团队的有效协作
也不纳入基线
• 基线具有名称、标识符、版本、日期等属性 • 交付给客户的基线成为一个Release,内部开发用
的基线为一个Build
13
基线的优点
• 重现性
当更新不稳定或不可信时,基线提供 一种取消变更的方法
• 可追溯性
建立项目工件之间的前后继承关系
• 版本隔离 • 新项目与随后对原始项目所进的变更
所有文件系统对象,如文件、目录、链接 等
• 版本控制的目的在于跟踪控制对象的变更,
防止丢失,提供访问授权,实现并行开 发……
17
6.4.1 版本的控制与同步 控制
• 版本的访问控制
工作区中的源文件是从库中恢复得到的一个复制文件。 一般有两种工作模式: – 在工作区域一旦有“读”请求,就做一次恢复操作,
15
软件过程中的配置 基线
需求规格分析 概要设计说明书 项目开发计划 用户手册 详细设计说明书 源代码 测试报告
计划
需求分析
设计
编码
测试
计划 基线
需求 基线
设计 基线
编码 基线
测试 基线
16
§6.4 版本控制
• 版本控制是对系统不同版本进行标识和跟
踪管理的过程,是SCM的核心
• 版本控制的对象是软件开发过程中涉及的
目标是标识变更、控制变更、确保变更正确实现 并向其他人员报告变更
• SCM要解决的问题
– 多人同时修改程序或文档 – 人员流动 – 软件维护中的历史重现 – 控制软件的复杂性 – 影响项目进度的特殊因素 – 已修复的错误仍然存在 – 协同开发中的工作重复
4
• SCM的益处
– 可以解决一些常见的问题 – 可以节约用户资金
工作产品
设计文档
软件说明书和手册
代码
第三方产品
例如:Oracle, Java等
7
6.2.2 软件配置控制
配置控制是配置管理的核心工作,主要包括: ① 存取控制:设定软件开发人员对软件基准库的存
取权限,保证软件开发过程及软件产品的安全性 ② 版本控制:是配置管理的基本要求,使得组织在
任何时刻都可以获得配置项的任何一个版本 ③ 变更控制:为软件产品变更提供一个明确的流程,
进行隔离
14
基线的种类
• 功能基线(Functional Baseline)
– 系统分析、软件定义阶段的系统规格说明
• 指派基线(Allocated Baseline)
– 软件需求分析阶段的需求规格说明
• 产品基线(Production Baseline)
– 组装和测试阶段有关产品的规格说明
• 其他基线
1
§6.1 概述
配置的概念来源于制造系统管理,目标是 识别和管理组成复杂系统的各个部分——工件
随着软件复杂性的大幅提升,将软件看作 单一产品面临许多无法解决的问题,而将其分 解为子系统、模块、构件等“工件”并实施配 置管理是富有成效和现实的技术
2
• IEEE将SCM定义为:
软件配置管理由适于所有软件开发项目的最佳工程实践 组成,通过以下手段来提高软件的可靠性和质量:
要求任何进行配置管理的软件产品变更都要经过 相应的授权与批准才能实施 ④ 产品发布:保证提交给客户的软件产品是完整的、 正确的
8
6.2.3 配置项标识
软件配置项标识是管理配置的前提。
标识包括文件名和版本。
确定配置项:软件项目在开发过程中会产生成千上百 个配置项,那么确定配置项是很重要的
明确配置项标识的要求:项目组人员按照标识规则对 配置项进行标识,最后提交给配置管理员纳入配置库统 一管理
◇ 复用和共享 ◇ 增强沟通能力 – 可以提高软件开发管理的水平 ◇ 管理和改进过程,提高成熟度等级 ◇ 管理工作空间,实现变更控制 ◇ 管理工作量 ◇ 管理沟通 – 可以保护企业的知识财富 建立完善的知识管理体系:代码、经验、安全性、 可靠性……
5
§6.2 配置项SCI
所有在软件过程中产生的信息,总称为软 件配置项(Software Configuration Item,SCI),主 要包括:
配置项命名:
(1) 唯一性:在一个项目内不能出现重名 (2) 可追溯性:名字应能体现相邻配置项之间的关系
9
命名ห้องสมุดไป่ตู้例
• 程序实体的标识
程序名.扩展名: DataVerified.java
• 文档的标识:必须统一
– 项目管理PM • 立项说明PM-prj • 开发计划PM-plan
– 项目设计PD • 需求说明PD-req • 概要设计PD-prldsg • 详细设计PD-dtldsg
10
§6.3 基线baseline
• IEEE关于软件基线的定义
基线是已经通过正式技术评审的某种产品, 可以作为进一步开发的基础,并且只能通过正式 的变更控制而改变
– 基线是项目库中每个工件的版本快照snapshot – 基线标识软件过程阶段的里程碑milestone
11
常用软件基线
系统工程
需求分析
系统规格说明书
软件设计
软件需求规格说明书
源代码
代码
设计规格说明书
测试计划
测试
过程/数据
可操作的系统
12
基线的属性
• 通过正式评审过程建立 • 存在于基线库,对基线的变更接受更高权限的控制 • 基线是进一步开发和修改的基准和出发点 • 进入基线前,不对变化进行管理;进入基线后,对
变化进行有效管理
• 不会变化的内容不纳入基线,变化对其它无影响的
① 计算机程序(源代码和可执行程序) ② 描述计算机程序的文档(针对开发者和用户) ③ 数据(包含在程序内部或外部)
6
6.2.1 配置项的内容
配置项
包含内容
项目任务书
个人日报和周报
项目管理过程文档 项目计划
项目会议纪要
项目周报
培训记录和培训文档
QA不符合报告
QA过程文档
QA周报
评审记录
需求文档
测试文档
获得复制文件,当“读”操作结束,该复制文件被删 除 – 仅当软件库中的内容发生更改时,才发生交互,而不 是每次“读”操作都与软件库中的文件发生交互
• 版本的同步控制
– 检入Checkin:将软件配置项从用户的工作环境存入到 软件配置库的过程
– 在整个软件生命周期中提供标识和控制文档、源代 码、接口定义和数据库等工件机制
– 提供满足需求、符合标准、适应项目管理及其他组 织策略的软件开发和维护的方法学
– 为管理和产品发布提供支持信息,如基线状态、变 更控制、测试、发布、审计等
3
• 实施SCM的目的
目的是在软件生命周期内建立和维护软件产品的 完整性,保证团队的有效协作
也不纳入基线
• 基线具有名称、标识符、版本、日期等属性 • 交付给客户的基线成为一个Release,内部开发用
的基线为一个Build
13
基线的优点
• 重现性
当更新不稳定或不可信时,基线提供 一种取消变更的方法
• 可追溯性
建立项目工件之间的前后继承关系
• 版本隔离 • 新项目与随后对原始项目所进的变更
所有文件系统对象,如文件、目录、链接 等
• 版本控制的目的在于跟踪控制对象的变更,
防止丢失,提供访问授权,实现并行开 发……
17
6.4.1 版本的控制与同步 控制
• 版本的访问控制
工作区中的源文件是从库中恢复得到的一个复制文件。 一般有两种工作模式: – 在工作区域一旦有“读”请求,就做一次恢复操作,
15
软件过程中的配置 基线
需求规格分析 概要设计说明书 项目开发计划 用户手册 详细设计说明书 源代码 测试报告
计划
需求分析
设计
编码
测试
计划 基线
需求 基线
设计 基线
编码 基线
测试 基线
16
§6.4 版本控制
• 版本控制是对系统不同版本进行标识和跟
踪管理的过程,是SCM的核心
• 版本控制的对象是软件开发过程中涉及的
目标是标识变更、控制变更、确保变更正确实现 并向其他人员报告变更
• SCM要解决的问题
– 多人同时修改程序或文档 – 人员流动 – 软件维护中的历史重现 – 控制软件的复杂性 – 影响项目进度的特殊因素 – 已修复的错误仍然存在 – 协同开发中的工作重复
4
• SCM的益处
– 可以解决一些常见的问题 – 可以节约用户资金
工作产品
设计文档
软件说明书和手册
代码
第三方产品
例如:Oracle, Java等
7
6.2.2 软件配置控制
配置控制是配置管理的核心工作,主要包括: ① 存取控制:设定软件开发人员对软件基准库的存
取权限,保证软件开发过程及软件产品的安全性 ② 版本控制:是配置管理的基本要求,使得组织在
任何时刻都可以获得配置项的任何一个版本 ③ 变更控制:为软件产品变更提供一个明确的流程,
进行隔离
14
基线的种类
• 功能基线(Functional Baseline)
– 系统分析、软件定义阶段的系统规格说明
• 指派基线(Allocated Baseline)
– 软件需求分析阶段的需求规格说明
• 产品基线(Production Baseline)
– 组装和测试阶段有关产品的规格说明
• 其他基线