您的当前位置:首页正文

软件可维护性探讨

来源:爱站旅游
导读软件可维护性探讨
龙源期刊网 http://www.qikan.com.cn

软件可维护性探讨

作者:杨辉

来源:《计算机光盘软件与应用》2013年第02期

摘要:为提高软件开发的质量,延长软件的生命周期,降低软件维护阶段的费用,需在软件开发各阶段保证软件的可维护性。介绍了软件维护的内容,分析了影响软件可维护性的因素,给出了提高软件可维护性的方法。

关键词:软件维护;软件的可维护性;可维护性复审

中图分类号:TP311.53 文献标识码:A 文章编号:1007-9599 (2013) 02-0000-02 软件维护工作处于软件生存周期的最后阶段,所有活动都发生在软件交付并投入使用之后,其费用有时高达软件总费用的80%。软件在运行过程中,测试阶段未能发现的潜在软件错误和设计缺陷、增加与其他程序的良好接口、新功能的添加、软件运行环境的变化等原因,都要求对软件进行维护。因此,应充分认识到软件维护工作的重要性,提高软件的可维护性,减少维护的工作量和费用,延长软件的使用寿命,让其创造更多的价值。 1 软件维护概述 1.1 软件维护

所谓软件维护是指软件系统交付使用后,为改正软件运行过程中发现的错误,或因满足新的需求而加入新功能的修改软件的过程。所有软件的维护申请都应采用标准化的格式,软件维护人员通常提供统一的维护申请单,由用户根据需要进行填写。维护人员将申请单提交给系统管理员进行评估,核准后,将之视为本次维护任务规划的依据。维护任务完成后,应保存好各项维护记录,利用这些记录可以构成一个维护数据库。 1.2 软件维护的内容

软件维护的内容根据起因可分为四类。

(1)正确性维护。是指纠正软件在系统开发阶段已存在但系统测试阶段未能发现的错误。软件测试时,不可能排除软件系统中的所有错误,软件交付后,用户将成为新的测试人员,在使用过程中,一旦发现错误,可向维护人员报告并要求维护。该维护工作占维护总工作量的约五分之一。

(2)适应性维护。是指为适应环境的变化而进行的软件修改。一般应用软件的使用寿命较长,但计算机科学技术却发展迅速,硬件基本是一年半就一代,操作系统不断推出新版本,

龙源期刊网 http://www.qikan.com.cn

外部设备和系统其它元素也是频繁升级换代,这些都使得适应性维护工作成为必要且经常发生的行为。

(3)完善性维护。这是为扩充功能和改善性能而进行的软件修改。主要是对已有的软件增加一些原来在需求分析阶段中没有涉及到的新功能和性能特征。此外,还包括为提高软件处理效率,而进行的程序改进和优化工作。该方面的维护通常占整个维护工作量的一半以上。 (4)预防性维护。这是为了进一步改善应用软件的可靠性和可维护性,为今后进一步改进软件奠定基础。这类维护活动包括逆向工程和重构工程。目前该类维护工作相对较少,占全部维护工作的大约4%左右。 2 软件的可维护性

软件的可维护性是指软件能够被理解,并纠正其中出现的错误和缺陷,以及为满足新的需求进行修改和扩充的容易程度。它是指导软件工程各阶段工作的一项基本原则。 2.1 影响软件可维护性的因素

软件的可维护性是软件开发各阶段的关键目标,主要由三个方面的因素影响。

(1)可理解性。是指人们通过阅读程序源代码和软件相关文档,就能理解软件的结构、接口、功能和内部过程的容易程度。模块化和结构化的设计、详细的文档资料以及良好的高级程序设计语言等,都对改进软件可理解性有重要贡献。

(2)可测试性。是指人们论证软件正确与否的容易程度。它取决于软件容易理解的程度。良好的文档资料有利于测试,此外,软件的结构、高性能的测试工具以及周密计划的测试工序也是至关重要的。维护人员应能得到软件开发阶段用过的测试方案和用例,以便进行回归测试。

(3)可修改性。是指软件容易修改的程度。它与软件的设计原理和规则有直接关系,耦合、内聚、局部化、作用域与控制域等,都影响软件的可修改性。

以上三个可维护性因素关系密切。维护人员只有在正确理解程序的基础上才能对其进行修改,并且,如果不能进行完善的测试,则看似正确的修改也可能会引出其他故障。 2.2 提高软件可维护性的方法

一个可维护的软件应是可理解的、可测试的、可修改的。但要同时很好地实现这三个目标,需要付出相当大的努力,而且也不一定能成功,因为这三个可维护性因素的相对重要性会随软件的用途和应用环境的变化而变化。因而,应对软件的可维护性因素赋予不同的优先级。这样不仅有助于提高软件的质量,也对软件生存周期的费用产生较大的影响。

龙源期刊网 http://www.qikan.com.cn

(1)使用结构化程序设计技术。结构化程序设计可使软件各模块的结构和模块间的关系都相对标准化。

(2)选择维护性能好的程序设计语言。选择不同的程序设计语言,对软件的可维护性也有产生较大地影响。明显地,高级语言比低级语言更容易理解,但同样是高级语言,可理解性也有较大差异。比如,用户使用第四代编程语言开发应用软件和使用普通高级语言相比具有质量高、效率高、易理解、易扩展的优势。第四代编程语言采用面向对象思想设计的结构,因而可读性好,且由于继承特性的存在,即使需求发生变化,维护工作也只是在局部模块中进行,因而维护起来方便也成本低。

(3)健全文档。文档是影响软件可维护性的决定因素,一般包括用户文档和系统文档。由于软件系统在长期的使用过程中必然会经历多次修改,因而文档比程序代码更重要。文档结构要标准化、容易理解。对软件的任何修改都应在相应的文档中反映出来,即文档应与软件当前状况相对应,否则在以后的维护工作中,会增加维护工作的难度。

(4)可维护性复审。可维护性是所有软件都努力追求的一个基本特征,在软件工程的每一个阶段都应考虑提高软件可维护性的可能,在每个阶段结束前的技术审查和管理复审中,应着重对维护性进行复审。在需求分析阶段的复审中,应对将来可能修改和可以改进的部分加以注释和说明,对软件的可移植性加以讨论并考虑可能影响软件维护的系统界面;在设计阶段复审期间,应该从易于维护和提高设计总体质量的角度出发,全面评审总体结构设计、数据结构设计、过程设计和人机界面设计;代码复审阶段主要强调编程风格和内部文档这两个因素;测试复审中应注意暗示程序中可能需要做预防性维护的部分。正式的可维护性复审放在系统测试完成之后,称为配置复审。其目的是减少混乱,提高软件生存率。同时在完成每项维护工作之后,都应对软件维护本身进行仔细的复审。 3 结束语

软件维护是软件生存周期的最后阶段,也是耗费时间和精力最多的阶段。在软件运行时,需有计划地对其进行改正性、适应性、完善性或预防性维护。软件的可维护性是衡量软件质量的重要指标,也是延长软件寿命的重要因素,本文在分析了影响软件可维护性因素的基础上,给出了提高软件可维护性的方法。 参考文献:

[1]张海藩.软件工程导论[M].北京:清华大学出版社,2003.7 [2]陈平,褚华.软件设计师教程[M].北京:清华大学出版社,2004.7 [3]韩最蛟.软件工程基础[M].北京:北京大学出版社,2009.9

龙源期刊网 http://www.qikan.com.cn

[作者简介]杨辉(1982-),女,湖北交通职业技术学院讲师,工程硕士学位,研究方向为计算机应用。

因篇幅问题不能全部显示,请点此查看更多更全内容

Top