软 件 工 程(软件维护)
合集下载
相关主题
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
2.3 编写维护报告
申请表编号:
项目编号 改正性 维 软 件 维 护 完善性 适应性 预防性 硬 件 维 护 维修要求: 项目名称
申请日期: 年 月 日
问题说明:
护 类
别
系统设备
外围设备 申请评价结论: 远程/现场
评价负责人: 评价时间:
维修优先级
维护方式
申请人
2、软件维护过程
2.4 进行软件修改
作业
对于ATM系统,分析一下该系统主要的维 护项目有哪些?应该采用哪些维护策略?
回归测试
确定未修改程序的正确性 确定未修改功能的正确性
Hale Waihona Puke Baidu
小结
本章介绍软件维护的特点、软件维护活动的类型 和维护过程,以及提高软件可维护性的技术。 软件维护是软件生存周期的最后一个阶段,也是 持续时间最长、工作量最大的一项不可避免的过 程。软件维护的基本目标和任务是改正错误、增 加功能、提高质量、优化软件、延长软件寿命, 提高软件产品价值。 软件维护活动分为改正性维护、完善性维护、适 应性维护和预防性维护四种类型。
留下开发人员做维护 公司建立单独的维护部门进行维护
维护外包
维护的三个层次
客户自己维护 技术支持人员维护 开发人员维护
2、软件维护过程
2.2 维护管理流程
系统 用户
申请否决
申请批准
结果反馈
维护申请
申请评价
维护实施
软件测试
软件检查
交付使用
维护 人员
填写维护记录
2、软件维护过程
新环境下的老问题
维护的价值
软件维护是软件的成本的重要组成部分 不堪重负的维护 维护也是商机
1、软件维护概述
1.2 软件维护的定义
定义
在软件运行/维护阶段对软件产品进行的修改
就是所谓的维护,以保障软件能够正常运行。
维护的类型
改正性维护。纠正在使用过程中暴露出来的错
1、软件维护概述
1.5 软件维护的内容
程序维护
文件备份及修复 查杀病毒
硬件维护
系统优化
1、软件维护概述
1.6 软件维护工作的特点
软件维护耗时费力
软件维护的代价昂贵 远程维护是现代软件维护的新途径 软件复用技术简化了软件维护
1、软件维护概述
1.7 软件的可维护性
每类型的维护 活动的总人数
3 逆向工程
逆向工程是通过源程序,甚至是目标程序,由此导 出设计模型、分析模型的过程。 逆向工程被用到了软件维护上,通过从老化系统的 源代码中提取程序流程设计、系统结构设计,甚至 数据流图,由此而给老化系统的维护带来方便。
4 程序修改的步骤
4.1 分析和理解程序
4.2 修改程序 4.3 重新验证程序
4、程序修改
4.1 分析和理解程序
理解程序的功能和目标; 掌握程序的结构信息,即从程序中细分出 若干结构成分。如程序系统结构、 控制结 构、数据结构和输入/输出结构等; 了解数据流信息,即涉及到的数据来源何 处,在哪里被使用; 了解控制流信息,即执行每条路径的结果; 理解程序的操作(使用)要求。
(1)由系统管理员提出软件修改请求报告;
(2)由有关领导审批请求报告;
(3)手续完备后,实施软件的修改; (4)进行软件修改后的测试与试运行; (5) 作总结调整并修改文档资料; (6)交付修改的软件
(7)软件做新的备份,并同定稿的文档资料一起存档,这里的文档
主要应包括以下内容: 维护的审批人、提请人、维护人的姓名、维护时间、修改原因、 修改的内容、修改后的现状。
可理解性 可靠性 可测试性 可修改性 可移植性 可使用性
2 软件维护过程
2.1 建立维护的机构 2.2 规范维护流程
2.3 编写维护报告
2.4 进行软件修改 2.5 保存维护记录 2.6 评价维护结果
2、软件维护过程
2.1 维护机构
三种常用的软件维护组织方式
4.2 修改程序
设计程序的修改计划 修改代码,以适应变化 修改程序的副作用
修改代码的副作用 在修改源代码时,都可能引入错误。
修改数据的副作用 可能造成软件设计与数据结构不匹配 文档的副作用。 软件文档不能反映软件的当前状态。
4.3 重新验证程序
确定测试
确定修改程序的正确性 确定满足维护的请求
误 适应性维护。适应外部环境的变化 完善性维护。改进原有的软件 预防性维护。提高可维护性和可靠性
1、软件维护概述
1.3 维护的工作量分配
1、软件维护概述
1.4 软件维护中存在的主要问题
程序的源代码或算法可读性差,加大了软件维护 的难度。 文档丢失或文档不全。 软件的开发人员和软件维护人员分离,软件维护 的逆向工程花费软件维护人员的大量时间和精力。 软件本身可修改性差,无法二次开发。 开发方和出资方对软件维护的认识不足,资金追 加不够,软件维护工作无法深入。 软件维护工作繁琐,时间长,影响软件的正常使 用,容易导致用户对软件维护人员和软件系统的 不信任。
2、软件维护过程
2.5 保存维护记录
维护请求
变动的程序和文档 维护日志
维护效果
客户确定
2、软件维护过程
2.6 评价维护结果
单位维护要求 表 周转时间
平均每个程序、每种语 言、每种维护所作的程 序变动数
不同语言花费 人时数
各种维护比例
软件维护评价
单位源语句增 减花费人时数
每次程序运行 平均失效次数
软 件 工 程
第21讲:软件维护
主讲人:阳王东 Email:yangwangdong@126.com
主要内容
1、软件维护概述
2、软件维护过程 3、逆向工程 4、程序修改的步骤及修改的副作用
1、软件系统概述
1.1 背景知识
软件的生命周期
维护是延长软件生命周期的途径
千年虫问题