软件开发流程实训教程 第9章 软件维护

软件开发流程实训教程 第9章 软件维护

ID:46883124

大小:92.00 KB

页数:28页

时间:2019-11-28

软件开发流程实训教程 第9章 软件维护_第1页
软件开发流程实训教程 第9章 软件维护_第2页
软件开发流程实训教程 第9章 软件维护_第3页
软件开发流程实训教程 第9章 软件维护_第4页
软件开发流程实训教程 第9章 软件维护_第5页
资源描述:

《软件开发流程实训教程 第9章 软件维护》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库

1、第9章软件维护【本章引言】如果希望软件系统能够长久使用,必须要对其进行维护活动。如果希望软件系统能够带来效益,必须设法降低维护的费用.【教学目标】了解软件维护活动的基础理论;掌握软件维护活动的过程;学会编写软件维护活动的相关文档。第九章软件维护9.1软件维护基础理论9.2软件维护活动的内容9.1软件维护基础理论1.系统维护的内容(1)硬件维护,具体包括:定期的设备保养性维护(保养周期不等):内容包括例行的设备检查与保养、易耗品的更换与安装等。突发性的故障维护(2)应用软件维护(3)数据维护数据库的安全性和完整性以及并发性控制代码维护9.1软件维护基

2、础理论2.系统维护的类型软件系统维护活动包括以下四种类型:(1)完善性维护完善性维护是根据客户的要求对现有软件产品进行功能扩充和性能改进。随着时间的推移、环境的变化,一个正在使用的软件系统需要不断完善和变化来增强软件性能、提高软件的可维护性,否则它的利用率会日益降低。例如,对某个信息管理系统修改数据库以适应新类型信息的不断出现。(2)适应性维护适应性维护是由于运行环境的改变而对软件进行修改的活动。运行环境包括硬件环境和软件环境。对于投入大量人力和资金开发的大型软件,如果其寿命短于10年,在经济上是不划算的。计算机技术发展迅速,硬件约每2~3年更新一

3、代,新版本的支撑软件不断出现,为了延长软件寿命,必须进行维护。9.1软件维护基础理论例如,将某个目标系统的软件运行环境由Unix改为WindowsVista。(3)纠错性维护纠错性维护是解决软件运行过程中出现的故障。设计再好的软件系统也难免有缺陷,隐藏的错误是必然的。在软件运行期间,这些隐藏的错误在某种特定的环境下有可能发生,所以就必须进行纠错性维护,用来诊断和改正隐藏的软件错误。软件测试阶段虽然能够尽量多地发现软件缺陷,但是不能够找出所有的缺陷。9.1软件维护基础理论(4)预防性维护有时候维护人员不应该总是等待用户的申请,要进行一些预先的维护活动

4、,特别是针对一些使用率较高、完善空间较大的软件系统。这种为了改善软件产品将来的可靠性或可维护性,或为以后的系统改进打下良好基础而对软件进行修改的活动称为预防性维护。如图9-1所示,在这四种类型的维护活动中,完善性维护所占比重最大,约占总的维护活动的50%。也就是说绝大部分维护活动是修改和加强软件功能,而不是纠错,相当于一种再开发活动。适应性维护活动约占25%,纠错性维护活动约占21%,预防性维护活动约占4%。总之,软件维护绝不仅仅是出现问题后的修补工作,更重要的是完善软件的功能,提高软件的适应性,增强软件的生命力。9.1软件维护基础理论图9-1维护

5、活动类型及分布9.1软件维护基础理论3.结构化与非结构化维护(1)结构化维护结构化维护是指当软件产品有完善的文档且文档与程序代码之间互相匹配时,维护活动就会顺利地进行,维护后可以用原来的测试用例进行回归测试,维护文档比较规范。例如,软件产品的版本号体现出系统及其文档的规范性。如果系统维护前的版本号为V1.40并且维护活动对系统进行的修改比较小,则维护后的版本号就为V1.41。如果维护活动对系统进行的修改比较大,则维护后的版本号可以定义为V1.50。9.1软件维护基础理论(2)非结构化维护非结构化维护是指当软件产品只有程序没有文档,或者文档不规范、不

6、齐全时所进行的维护活动。这样的维护活动很麻烦,费用高,效率低。(3)结构化维护和非结构化维护的比较如图9-2所示,结构化维护和非结构化维护的流程对比。图9-2结构化维护与非结构化维护的对比9.1软件维护基础理论4.可维护性的评价指标(1)可理解性:软件模块化、结构化,编码风格化,文档清晰;(2)可测试性:文档规范,代码有注释,可进行回归测试;(3)可修改性:模块的低耦合、高内聚、程序块的单入口和单出口,数据局部化等;(4)可移植性:例如,编写出在Windows操作系统下的软件,再在Linux操作系统下使用(即跨平台),需要修改的内容越少,可移植性越

7、好。软件系统达到上述四个指标的程度越高,其可维护性就越好;反之,则其可维护性较差。9.1软件维护基础理论5.维护活动的作用(1)解除现有故障问题;(2)防止隐藏故障的发生;(3)维护调节系统日常功能;(4)支持目标系统的更改;(5)使现有的功能完善,性能加强;(6)防止系统设计产生衰退甚至到不可接受的水平。9.1软件维护基础理论6.维护中遇到的困难软件维护是一项非常艰苦的工作,容易遇到以下困难:(1)软件开发人员的流动性大,维护阶段持续的时间长。当要求维护时,可能原来的开发人员已经调离。维护人员进行维护时需要亲自读懂开发人员所写的程序代码,往往找不

8、到可以咨询的原始设计者。如果只有程序代码却无完整的文档资料的软件,问题会变得很复杂、难以解决。(2)没有文档资料或缺乏完整

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。