软件工程课件 课第7章 维护(20081208)

软件工程课件 课第7章 维护(20081208)

ID:21328975

大小:1.62 MB

页数:23页

时间:2018-10-21

软件工程课件 课第7章 维护(20081208)_第1页
软件工程课件 课第7章 维护(20081208)_第2页
软件工程课件 课第7章 维护(20081208)_第3页
软件工程课件 课第7章 维护(20081208)_第4页
软件工程课件 课第7章 维护(20081208)_第5页
资源描述:

《软件工程课件 课第7章 维护(20081208)》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

1、LOADINGLOADINGDGIL第7章维护软件维护的特点软件维护的定义软件维护过程教学单位教师介绍南京信息工程大学NANJINGUNIVERSITYOFINFORMATIONSCIENCE&TECHNOLOGYInstructor:BiShuoben(毕硕本)Email:bishuoben@163.comTel:025-58699833(H)SoftwareEngineering7.37.17.27.1软件维护的定义软件的运行维护阶段是软件生命周期的最后一个阶段,所谓软件维护就是在软件已经交付使用之后,为了改

2、正错误或满足新的需要而修改软件的过程。软件维护的基本任务是保证软件在一个相当长的时期能够正常运行。软件维护需要的工作量很大,平均说来,大型软件的维护成本高达开发成本的4倍左右。目前国外许多软件开发组织把60%以上的人力用于维护已有的软件,而且随着软件数量增多和使用寿命延长,这个百分比还在持续上升。7.1软件维护的定义改正性维护在任何大型程序的使用期间,用户必然会发现程序错误,并且把他们遇到的问题报告给维护人员。把诊断和改正错误的过程称为改正性维护。适应性维护就是为了和变化了的环境适当地配合而进行的修改软件的活动,

3、是既必要又经常的维护活动。7.1软件维护的定义完善性维护在使用软件的过程中用户往往提出增加新功能或修改已有功能的建议,还可能提出一般性的改进意见,为此进行的维护称完善性维护。这项维护活动通常占软件维护工作的大部分。预防性维护当为了改进未来的可维护性或可靠性,或为了给未来的改进奠定更好的基础而修改软件时,而进行的维护活动。7.1软件维护的定义国外的统计数字表明,完善性维护占全部维护活动的50%~66%,改正性维护占17%~21%,适应性维护占18%~25%,其他维护活动只占4%左右。上述4类维护活动都必须应用于整个

4、软件配置,维护软件文档和维护软件的可执行代码是同样重要的。7.2软件维护的特点7.2.1结构化维护与非结构化维护差别巨大如果有一个完整的软件配置存在,那么维护工作从评价设计文档开始。确定软件重要特点;估量要求的改动将带来的影响,计划实施途径修改设计并且对所做的修改进行仔细复查;编写相应的源程序代码;进行回归测试;把修改后的软件再次交付使用。非结构化维护结构化维护如果软件配置的惟一成分是程序代码,那么维护活动从评价程序开始,而且常常由于程序内部文档不足而使评价更困难,对于软件结构、性能和设计约束等经常会产生误解。非

5、结构化维护需要付出很大代价,是没有使用良好定义的方法学开发出来的软件的必然结果。7.2软件维护的特点7.2.2维护的代价高昂70%~80%40%~60%35%~40%1990年1980年1970年用于维护已有软件的费用占软件总预算的百分比7.2软件维护的特点维护费用只不过是软件维护的最明显的代价,其他一些现在还不明显的代价将来可能更为人们所关注。例如,可用的资源必须供维护任务使用,以致耽误甚至丧失了开发的良机,这是软件维护的一个无形的代价。7.2软件维护的特点用于维护工作的劳动可以分成生产性活动(例如,分析评价,

6、修改设计和编写程序代码等)和非生产性活动(例如,理解程序代码的功能,解释数据结构、接口特点和性能限度等)。下述表达式给出维护工作量的一个模型:M=P+K×exp(c-d)M是维护用的总工作量P是生产性工作量,K是经验常数,c是复杂程度(非结构化设计和缺少文档都会增加软件的复杂程度),d是维护人员对软件的熟悉程度。如果没有使用软件工程方法学,而且原来的开发人员不能参加维护工作,那么维护工作量和费用将指数地增加。7.2软件维护的特点在软件生命周期中没有严格而又科学的管理和规划,几乎必然会导致在最后阶段出现问题。理解别

7、人写的程序通常非常困难,而且困难程度随着软件配置成分的减少而迅速增加。如果仅有程序代码没有说明文档,则会出现严重的问题。需要维护的软件往往没有合格的文档,或者文档资料显著不足。认识到软件必须有文档仅仅是第一步,容易理解的并且和程序代码完全一致的文档才真正有价值。7.2.3维护的问题很多7.2软件维护的特点当要求对软件进行维护时,不能指望由开发人员给我们仔细说明软件。绝大多数软件在设计时没有考虑将来的修改。除非使用强调模块独立原理的设计方法学,否则修改软件既困难又容易发生差错。软件维护不是一项吸引人的工作,形成这种

8、观念很大程度上是因为维护工作经常遭受挫折。7.3软件维护过程维护过程本质上是修改和压缩了的软件定义和开发过程,而且远在提出一项维护要求之前,与软件维护有关的工作应该开始了。1.建立一个维护组织2.确定报告和评价的过程3.规定事件序列4.建立记录保管过程5.评价维护活动7.3软件维护过程每个维护要求都通过维护管理员转交给相应的系统管理员去评价。系统管理员对维护任务做出评价之

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

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

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