软件工程维护.ppt
《软件工程维护.ppt》由会员分享,可在线阅读,更多相关《软件工程维护.ppt(33页珍藏版)》请在优知文库上搜索。
1、第第8章章 软件维护软件维护2学时学时引言o 例子:某药厂的设备管理信息系统已交付用户运行了1年,工厂购置了小型机,需要将原来的在Windows下运行的系统移植到Unix操作系统下运行。o 软件在交付给用户使用后,由于应用环境、业务需求变化以及软件自身问题,对它进行维护不可避免。o 软件维护是一个长期过程,耗费较大。主要内容1. 软件维护的概念2. 软件维护过程3. 软件维护工作的管理方法掌握理解 了解要求要求7.1 软件维护概念o 软件维护在软件交付使用之后对软件进行的任何改变工作。o 引起软件改变的原因为了纠正运行中出现的错误;为了使软件适应新的运行环境;用户增加新的需求;为了提高软件可靠
2、性。 软件维护分类o 纠正性维护o 完善性维护o 适应性维护o 预防性维护改正性维护o 什么是改正性维护改正软件中的错误o 起因软件运行过程中一旦发现错误,用户会向开发人员提出改正性维护的请求。o 目的诊断和改正软件系统中出现和潜藏的错误。o 出现概率占整个维护工作量21%。 o 通常遇到的错误有设计错误、逻辑错误、编码错误、文档错误、数据错误 。适应性维护o 什么是适应性维护对软件进行改造以便适应新的环境和平台。o 起因软件运行硬件、OS、网络等环境发生变化。o 目的适应环境变化和发展而对软件进行维护。o 出现频率占整个维护量的25% 。o 环境变化主要包括影响系统的规定、法律和规则发生了变
3、化;硬件配置发生了变化,例如机型、终端、打印机等;数据格式和文件结构发生变化;系统软件发生变化,例如操作系统、编译系统或实用程序包的变化。 完善性维护o 什么是完善性维护对软件进行完善以增加新的功能、修改已有功能。o 起因用户要求增加新的功能、修改已有功能,或提出其他改进意见o 目的满足用户日益增长的各种需求而对软件系统进行的改善和补充。o 出现频率占整个维护量50%。o 常见的完善要求用户的业务会发生变化,组织机构也会发生变化。 预防性维护o 什么是预防性维护对软件的结构进行改造以便提高软件的可靠性和可维护性等o 起因改进软件质量属性,为以后的软件改进奠定基础的维护活动。o 目的提高软件的质
4、量。o 出现频率占整个维护量的4%。7.1.1 影响维护的因素o软件规模:维护工作量与软件规模成正比。软件的规模可以由源程序的语句数量、模块数、输入输出文件数、数据库的规模,以及输出的报表数等指标来衡量。软件规模越大,复杂程度越高,其维护就越困难。o程序设计语言:通常高级语言编写的程序比低级语言编写的程序易于维护。o先进的软件开发技术:使用先进稳定的开发技术会提高软件的质量,例如,使用数据库技术、面向对象技术、构件技术和中间件技术可以提高软件的质量,减少维护费用。o软件年限:软件越老,其维护越困难。老的软件不断被修改,结构可能越来越混乱。随着时间的增长,原来的开发和维护人员不断离去,了解软件结
5、构的人越来越少,如果文档不全就更加难以维护。7.1.1 影响维护的因素(续)o文档质量:许多软件项目在开发过程中不断地修改需求和设计,但是对文档却不进行同步修改,造成交付的文档与实际系统不一致,使人们在后来参考文档对软件进行维护时无从下手。软件维护阶段利用历史文档可以简化维护工作,历史文档有下面3种。n软件开发日志:它记录了软件开发原则、目标、功能的优先次序、选择设计方案的理由、使用的测试技术和工具,计划的成功和失败之处,开发过程中出现的问题。n错误记载:记录了出错历史,对于预测今后可能发生的错误类型及出错频率有很大帮助,可以更合理地评价软件质量。n系统维护日志:记录了维护信息,包括修改目的和
6、策略、修改内容和位置、注意事项、新版本说明等信息。7.1.1 影响维护的因素(续)o软件的应用领域:有些软件用于一些特殊领域,涉及到一些复杂的计算和模型工具,这类软件的维护需要专门的业务知识和计算机软件知识。o软件结构:在进行概要设计时,遵循软件设计的高内聚、低耦合、信息隐藏等设计原则,使设计的软件具有优良的结构,会为今后的维护带来方便。o编程习惯:因为软件维护通常要理解别人写的程序,这是很困难的,如果仅有源程序没有说明的文档,则会使维护工作更加困难。如果开发人员都按照编程规范编写程序,并且程序思路清晰、结构简单,则程序易于维护。o人员的变动:由原来的开发人员参与维护是比较好的策略,可提高维护
7、效率。但是在软件的生命周期中人员变动是不可避免的,有时候这也是造成一个软件彻底报废的原因之一。7.1.2.软件维护策略 o针对软件的4种主要维护活动,James Martin提出了一些维护策略。1)改正性维护通过新技术和好的开发策略提高软件可靠性,减少改正性维护活动。2)适应性维护在设计时就把硬件和操作系统以及其他相关因素的可能变化考虑在内,可以减少某些适应性维护。 将与硬件、操作系统、其他外部设备相关的程序归纳到特定的程序模块中,一旦需要适应新的环境变化,只要修改几个相关的模块就可以了。 使用内部程序列表、外部文件为适应性维护提供方便。7.1.2.软件维护策略(续)3)完善性维护利用面向对象
8、方法的继承、封装和多态性技术减少因变动带来的影响。 采用原型法开发,使用户通过研究原型进一步完善系统的功能,对于减少完善性维护非常有益。4)预防性维护将自检能力引入程序,通过非正常状态的检查发现程序问题。对于重要软件通过周期性维护检查进行预防性维护。7.2 维护过程维护过程o 软件的可维护性常常随着时间的推移而降低,如果没有为软件维护工作制定严格的条例,许多软件系统都将蜕变到无法维护的地步。o 介绍一个典型的软件维护过程,见下图。用户维护人员001评价申请002判断维护类型003评价严重程度006评价优先级005安排改正性维护004开始问题分析D1错误改正计划D2 安排工作计划007开始问题分
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 软件工程 维护
