1、第八章软件配置管理与软件维护 重点 软件配置管理 软件维护的概念 软件配置管理在软件开发中的意义 软件配置管理的常用工具 软件维护的注意事项 软件配置管理与维护是不同的 软件配置管理是软件项目一开始就发生的 它着眼于对软件开发中的各种产品及其修改进行控制和管理 软件维护发生在软件交付后 它着眼于软件交付后的修改本身 8 1软件配置管理 1 概念 软件配置管理就是对正在开发的软件的代码 数据 文档的修改进行标识 保存 组织和工作 软件配置 计算机程序 描述计算机程序的文档 数据 软件配置中的成员 称为软件配置项 CI 每个配置项的主要属性有名称 标识符 文件状态 版本 作者 日期等 随着软件项目
2、的进展 一个软件项目的配置会迅速增加 2 基线 Baseline 基线是一组配置项 这些配置项不能被随便修改和变更 通常将交给客户的基线称为Release 内部开发用的基线称为Build 一个产品可以有多个基线 也可以只有一个基线 基线的主要属性有名称 标识符 版本 日期等 8 1 2软件配置管理的组织与计划配置管理计划模板 见教材127页表8 1起草配置管理计划 一般是配置管理员的工作 配置管理计划要由CCB负责人审批 通常CCB负责人就是项目经理 8 1 3软件配置管理过程完成软件配置有五个基本任务 标识 版本控制 变更控制 配置库操作 配置审计 具体见教材128页 8 1 4配置管理工具
3、Sourcesafe CVS ClearCase 8 2软件维护概念 开发的软件交付给客户投入运行后 为了改正错误或满足新的要求 必须对软件进行改造或升级 这个过程称为软件维护 8 2 1软件维护的基本内容 1 源程序维护 2 数据维护 3 代码维护 4 环境维护 8 2 2软件维护的类型 1 纠错性维护 2 完善性维护 3 适应性维护 4 预防性维护8 2 3软件维护代价有形代价 无形代价 生产率代价见教材 130页8 2 4软件维护实施1 维护准备2 接收并相应请求3 执行维护4 记录和评价 8 2 5程序修改软件维护最核心的问题是程序修改 包括 修改软件设计 设计修改方案 方案复审 对源程序进行修改 单元测试和集成测试 验收测试和维护复审 8 2 6软件的可维护性可理解性 可测试性 可修改性 8 2 7软件再工程对已有软件进行全部或部分改造 赋予软件新的功能 这就是软件再工程 它是软件维护的延伸 软件再工程分为重构 逆向工程 前向工程