第八章维护 ■软件维护的定义 ■维护的特点 维护过程 可维护性
第八章 维护 ◼ 软件维护的定义 ◼ 维护的特点 ◼ 维护过程 ◼ 可维护性
软件维护的定义 在软件已经交付使用之后,为了改正错误 或满足新的需要而修改软件的过程 改正性维护 诊断和改正错误—约占全部维护活动的 17~20 ■适应性维护 为了和变化了的环境(如软\硬件升级、新数据 库等)适当地配合而修改软件,约占全部维护 活动的18~25
软件维护的定义 ◼ 在软件已经交付使用之后,为了改正错误 或满足新的需要而修改软件的过程 ◼ 改正性维护 ◼ 诊断和改正错误 ——约占全部维护活动的 17~20% ◼ 适应性维护 ◼ 为了和变化了的环境(如软\硬件升级、新数据 库等)适当地配合而修改软件,约占全部维护 活动的18~25%
软件维护的定义 ■完善性维护 ■为了增加新功能,修改已有功能,改造界面 增加HEIP等,而修改软件,约占全部维护活 动的50~66% 预防性维护 为了改进未来的可维护性或可靠性,或为了给 未来的改进奠定更好的基础而修改软件,与其 它维护活动共占总维护的4%左右
软件维护的定义 ◼ 完善性维护 ◼ 为了增加新功能,修改已有功能,改造界面, 增加HELP等,而修改软件,约占全部维护活 动的50~66% ◼ 预防性维护 ◼ 为了改进未来的可维护性或可靠性,或为了给 未来的改进奠定更好的基础而修改软件,与其 它维护活动共占总维护的4%左右
维护的特点 ■821结构化维护与非结构化维护的对比 ■822维护的代价 ■82.3维护的问题
维护的特点 ◼ 8.2.1 结构化维护与非结构化维护的对比 ◼ 8.2.2 维护的代价 ◼ 8.2.3 维护的问题
维护的特点 结构化维护非 结构化维护的 维护要求 对比 敦件 配于 代码 匚评价没计 评价代码1 计划途径1 修改设计} 宜編程序 [靈编程序一 复查 复查 交付使用 图8.1结树化维护与非结构化维护的对比
维护的特点 ◼ 结构化维护非 结构化维护的 对比
维护的特点 维护的代价 ■有形代价 费用已上升至总预算的8090 ■无形代价 占用瓷源以致延误开发 修改不及时引起用户不满 ■维护引入新错误,降低了软件质量
维护的特点 ◼ 维护的代价 ◼ 有形代价 ◼ 费用已上升至总预算的80% ◼ 无形代价 ◼ 占用资源以致延误开发 ◼ 修改不及时引起用户不满 ◼ 维护引入新错误,降低了软件质量
维护的特点 ■维护的问题 别人的程序很难读懂 文档与代码不一致 开发人员往往不参加维护 大多数软件在设计时没有考虑将来的修改
维护的特点 ◼ 维护的问题 ◼ 别人的程序很难读懂 ◼ 文档与代码不一致 ◼ 开发人员往往不参加维护 ◼ 大多数软件在设计时没有考虑将来的修改
维护过程 ■8.3.1维护组: ■8.3.2维护报告 ■8.33维护的事件流 ■834保存维护记录 ■8.3.5评价维护活动
维护过程 ◼ 8.3.1 维护组织 ◼ 8.3.2 维护报告 ◼ 8.3.3 维护的事件流 ◼ 8.3.4 保存维护记录 ◼ 8.3.5 评价维护活动
维护过程 维护组织 ■维护报告 维护申请报告 由用户填写的外部文件,提供错误情况说明(输入 数据,错误清单等),或修改说明书等 ■软件修改报告 所需修改变动的性质 申请修改的优先级 为满足某个维护申请报告,所需的工作量 ■预计修改后的状况
维护过程 ◼ 维护组织 ◼ 维护报告 ◼ 维护申请报告 ◼ 由用户填写的外部文件,提供错误情况说明(输入 数据,错误清单等),或修改说明书等 ◼ 软件修改报告 ◼ 所需修改变动的性质 ◼ 申请修改的优先级 ◼ 为满足某个维护申请报告,所需的工作量 ◼ 预计修改后的状况
维护过程 维护的事件流 维护 严成 开始 要求 错误严重 程度/ 问题分析 类型 适应 计划 改 改正进度 进 评价 维护 优先度 倦改后的教件配量 低 带误正目、任务 开始 开发盲录 分析 复审后供使用的 软件配量 图8.3维护阶段的事件流
维护过程 ◼ 维护的事件流