您的当前位置:首页第6章、软件维护

第6章、软件维护

2023-12-20 来源:乌哈旅游
第6章、软件维护

一、 软件维护的基本概念(教材6-1) 1. 软件维护的定义(教材6-1-1)

本质就是软件交付运行后所作出的修改。

2. 软件为什么需要维护(教材6-1-2)

软件存在错误

用户需求发生改变(变更/增加) 适应新的运行环境

3. 软件维护的分类(教材6-1-2)

纠错性维护 适应性维护 完善性维护 预防性维护

4. 软件维护的工作量(教材6-1-1、6-1-2、6-2-2) 1) 软件维护占整个生命周期工作量的比例(6-1-1)

教材给出的数字70%

2) 各类维护占整个软件维护工作量的比例(图6-1)

完善类型的维护为主

3) 评价维护工作量模型(6-2-2)

最重要的因素:①软件复杂程度,②维护人员对软件的熟悉程度。

4) 如何理解“与维护工作量有关的因素”(6-2-1)

教材所列举的因素都与“软件复杂度”因素有关

5. 软件工程针对“软件维护”到底包含哪些内容 1) 管理:规范软件维护流程

2) 技术:开发时需要考虑提高软件的可维护性

二、 软件维护过程与角色分工(教材6-2) 1. 维护组织与角色分工(教材6-2-3) 2. 维护流程(教材6-2-4)

3. 补充:某个大型软件企业的维护流程 步骤 1 2 内容 提出维护申请 分工 服务部门 评估维护申请,提出维护方案 开发部门/服务部门 3 4 5 6 审查维护方案,下达维护任务 负责人 修改设计文档 修改软件代码 测试 开发部门 开发部门 测试部门 9 10 11 12 13 提交维护结果 确认维护结果 对维护后版本进行配置审查 提交维护后的软件版本 交付用户 开发部门 负责人 配置管理员 配置管理员 服务部门 结合图6-2与图6-4理解上述过程

思考:维护过程不规范的不良后果(参考教材6-3)

4. 关于维护记录(教材6-2-6)

自行阅读教材

三、 维护面临的问题(教材6-3) 1. 软件维护的副作用(教材6-3-1)

阅读教材,如下为本人对“不当维护”的归纳: 1) 可能导致用户的业务瘫痪 2) 使软件性能变坏 3) 使软件的可维护性变坏

软件越来越难以理解 文档与软件越来越不匹配

4) 增加“软件版本管理”及“软件重用”的难度

2. 维护工作面临的问题(教材6-3-3)

首先,不愿意做

其次,读他人的程序困难 再次,没有合适的文档参考

四、 软件的可维护性(教材6-4-1)

软件的可维护性与哪些“软件质量因素”有关?

教材论述 可理解性 可靠性 可测试性 可修改性 可移植性 效率 可用性 讨论:上述质量因素的内涵与对软件可维护性的影响

五、 如何提高软件的维护性(教材6-4-2) 1. 教材的有关论述 2. 实践的观点

因素 内容 MaCall模型 简明性 一致性 检测性 模块化 自文档化 简单性 ISO模型 一致性 简单性 模块化 检测性 自描述性 简明性 开发管理 ▲ 减少不必要的维护 做好需求分析 做好测试 ▲ 方便日后的维护 提高设计水平(数据结构与模块划分) 规范编程风格 要有必要、而且规范的文档 经营策略 ▲ 软件项目产品化 减少维护负担、方便维护管理 开发手段 ▲ 选择合适的软件开发平台、软件重用 减少编程以方便维护 维护管理 ▲ 规范的维护管理流程 避免不当维护所导致的严重后果 补充 提高需求分析水平,由基于某个用户的现实模型,提升到基于领域的逻辑模型,实现软件的产品化

六、 关于软件“再工程”(教材6-5、略)

自行阅读

七、 重点知识

1. 软件维护的基本概念

定义、类型、所面临的问题与困难因素等 2. 软件维护的基本流程

3. 评价软件可维护性的主要因素 4. 做好软件维护的主要事项 作业:

用2-3页纸的篇幅,对课程1-6的内容进行综述,并且简述学习上述知识以后的收获。

因篇幅问题不能全部显示,请点此查看更多更全内容