- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
第5 章 软 件 维 护
软件维护(Software Maintenance )就是指在软件产品交付之后对其进行修改,以排除
故障,或改进性能和其他属性,或使产品适应改变了的环境。
软件维护阶段是软件生命周期中持续时间最长的一个阶段,也是需要花费的精力和费
用最多的一个阶段。
软件的可维护性指软件被理解、改正、调整和改进的难易程度。可维护性是指导软件
工程各阶段工作的一条基本原则,提高可维护性、减少维护的工作量、降低软件的总成本
是软件工程的一个重要任务。
本章重点:
如何提高软件的可维护性。
5.1 软件维护的种类、过程和副作用
5.1.1 软件维护的种类
软件维护是软件生命期的最后一个阶段。说来也许令人难以相信,软件的维护可以占
到软件开发全部工作量的一半以上。在软件运行过程中,由于种种原因,计算机程序经常
需要改变。除了要纠正程序中的错误外,还要增加功能及进行优化。而在修改程序解决现
有问题的时候,程序变动本身又会不断产生新的问题,还需要对软件进行修改。
软件维护分为以下4 种。
1.改正性维护
软件测试不大可能找出一个大型软件系统的全部隐含错误。也就是说,几乎每一个大
型程序在运行过程中都会不可避免地出现各种错误。为克服现有软件故障而进行的维护叫
做改正性维护(Corrective Maintenance )。
2 .适应性维护
计算机技术的发展十分迅速,计算机的软件、硬件环境在不断发生变化,而应用软件
的使用寿命往往比原先开发时的系统环境更为长久,因此,常常需要对软件加以修改,使
之适应改变了的环境。为使软件产品适应环境的变化而进行的软件维护称为适应性维护
(Adaptive Maintenance )。
3 .完善性维护
软件交给用户使用后,用户往往会因为工作流程、应用环境的变化,要求增加新的功
能和完善性能等。这些为增加软件功能、增强软件性能、提高软件运行效率而进行的维护
是完善性维护(Perfective Maintenance )。
4 .预防性维护
为了进一步提高软件的可维护性和可
靠性,为改进创造条件,需要对软件进行
的其他维护称为预防性维护。
综上所述,所谓软件维护就是指在软
件交付使用之后,为了改正错误或满足新
的需要而修改软件的过程。
据有关资料统计,各类维护的工作量占
总的维护工作量的百分比大致如图5.1所示。
图5.1 各类维护工作量占总的维护工作量的百分比
5.1.2 软件维护的特点
进行软件维护时常见的问题有:根据软件设计时是否有文档,软件的维护分为结构化
维护和非结构化维护两类;软件的维护有可以量化的费用和不明显的代价;维护会产生其
他一些问题。
1.结构化维护与非结构化维护
图5.2 描绘了因维护要求而引起的可能的事件流程。
图5.2 结构化维护与非结构化维护流程图
图5.2 中右边的流程表示的是“非结构化维护”。在这种情况下,由于所掌握的软件文
件只有源程序,维护工作只能从分析源程序开始。源程序内部注解和说明一般不会很详尽, 119
而软件结构、全程数据结构、系统接口、性能和设计约束等细微的特征往往很难完全搞清。 第
令人遗憾的是,维护工作往往正是在进行这种非结构化维护,并为此而付出代价。这种代 5
章
软件维护
实用软件工程(第 3 版)
价是因没有使用良好定义的方法论来开发软件而造成的。
文档评论(0)