软件工程学概述课件第7讲软件维护.ppt

软件工程学概述课件第7讲软件维护.ppt

ID:57036151

大小:236.00 KB

页数:55页

时间:2020-07-27

软件工程学概述课件第7讲软件维护.ppt_第1页
软件工程学概述课件第7讲软件维护.ppt_第2页
软件工程学概述课件第7讲软件维护.ppt_第3页
软件工程学概述课件第7讲软件维护.ppt_第4页
软件工程学概述课件第7讲软件维护.ppt_第5页
资源描述:

《软件工程学概述课件第7讲软件维护.ppt》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

1、软件维护主讲人:艾孜尔古丽·玉素甫2021/9/191主讲内容1.软件维护的定义和分类2.软件维护过程3.软件的可维护性4.维护活动5.维护的副作用6.逆向工程和重构工程2021/9/192软件生命周期可行性研究需求分析概要设计详细设计实现集成测试确认测试使用与维护退役软件定义软件开发维护2021/9/1931.1软件维护定义软件维护在软件运行/维护阶段对软件产品进行的修改。软件在交付给用户使用后,由于应用需求、环境变化以及自身问题,对它进行维护不可避免。软件维护是一个长期过程,耗费较大。2021/9/1941.2软件维护的分

2、类软件维护的类型:纠错性维护适应性维护改善性维护预防性维护2021/9/195(1)纠错性维护原因软件交付使用后,因开发时测试的不彻底,必然会有部分错误遗留到运行阶段。这些隐藏的错误在某些使用环境下会暴露出来。用户在使用软件过程中一旦发现错误,会向开发人员提出纠正性维护的请求。目的诊断和改正软件系统中潜藏的错误。2021/9/196(2)适应性维护原因软件运行于一定的环境之上。在使用过程中,外部环境(新的硬、软件配置)数据环境(数据库、数据格式、数据输入/输出方式、数据存储介质)可能发生变化。目的适应环境变化和发展而对软件进行

3、维护。2021/9/197(3)改善性维护原因在软件系统运行期间,用户可能要求增加新的功能、建议修改已有功能或提出其他改进意见。目的为满足用户的各种需求而对软件系统进行改善和补充,以扩充软件功能、增强软件性能、改进加工效率、提高软件的可维护性。2021/9/198(4)预防性维护原因为进一步改善软件系统的可维护性和可靠性,为以后的软件改进奠定基础。目的获取软件结构,重新改善软件结构。方法采用先进的软件工程方法对需要维护的软件或软件中的某一部分(重新)进行设计、编制和测试。2021/9/199软件维护在整个软件维护阶段所花费的全

4、部工作量中,完善性维护占了几乎一半的工作量。软件维护活动所花费的工作占整个生存期工作量的70%以上。2021/9/1910三类维护占维护在软件生存期 总维护比例所占比例2021/9/19112软件维护过程2021/9/19122.2软件维护成本维护成本不断增加70年代(35%-40%),80(60%),未来(??)软件维护工作量涉及二方面:助动性:用于理解代码功能,结构特征以及性能约束生产性:用于分析和评价、修改设计和代码2021/9/1913软件维护成本(2)有形的软件维护成本花费了多少钱无形的维护成本有更大的影响。合理的修

5、复或修改请求不能及时安排,使客户不满意;变更的结果引入新的故障,使得软件整体质量下降;把软件人员抽调到维护工作中,干扰了软件开发工作。2021/9/1914软件维护的代价是降低了生产率。例开发每一行源代码耗资25美元,维护每一行源代码需要耗资1000美元。维护工作量包括生产性活动如分析和评价、设计修改和实现“轮转”活动如力图理解代码在做什么、试图判明数据结构、接口特性、性能界限等。软件维护成本(3)2021/9/1915软件维护成本(4)软件维护工作量模型:M=P+K*e(c-d)M=维护总工作量P=生产性工作量K=经验常数C

6、=复杂度(表示设计好坏和文档完整程度)D=对欲维护软件的熟悉程度2021/9/1916软件维护成本(5)模型表明如果没有好的软件开发方法或者软件开发人员不能参与维护,那么软件维护工作量会指数上升2021/9/19172.3软件维护可能存在的问题软件版本控制--重要问题很难追踪软件的创建过程--文档不齐全理解他人的软件比较困难人员流动大,维护人员得不到开发人员的帮助软件修改困难,易出错缺乏成就感2021/9/19183软件的可维护性概念纠正软件系统出现的错误和缺陷,以及为满足新的要求进行修改、扩充或压缩的容易程度。可维护性、可使

7、用性、可靠性是衡量软件质量的主要质量特性。软件的可维护性是软件开发阶段各个时期的关键目标。2021/9/19193.1影响软件可维护性的因素软件开发方法结构化、OO、…...软件配置是否齐全开发人员素质软件系统结构是否清晰、易于理解标准的程序设计语言文档的结构是否标准化…...2021/9/19203.2衡量可维护性的质量特性衡量软件可维护性的特性可理解性可使用性可测试性可移植性可修改性效率可靠性对于不同类型的维护,这七种特性的侧重点不同。2021/9/1921这些质量特性通常体现在软件产品的许多方面;这些质量要求要渗透到每个

8、开发阶段的各个步骤当中。因此,软件的可维护性是产品投入运行以前各阶段面向上述各质量特性要求进行开发的最终结果。3.2衡量可维护性的质量特性(续)2021/9/1922复审是保证软件可维护性的一项重要工作保证软件质量的最佳方法:在软件开发的最初阶段把质量要求考虑进去;并在开发过

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

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

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