摘要 :软件工程其不仅是要设计软件而更是要设计高质量的软件,而高质量的软件其可维护性是一个关键的环节,
有着重要的作用。计算机工业目前快速的发展,高质量、低成本以及软件升级和维护等已经成为计算机软件行业的中
心问题,因此,软件工程中必须以更容易维护为前提设计更好的软件。本文介绍了软件可维护性的概念以及度量方法,
并简要探讨了计算机软件可维护性的技术方法。
关键词:计算机软件;可维护性
中图分类号:TP31 文献标识码 :A 文章编号:1007-9599 (2013) 02-0193-02
1 引言 的原始测试方案进行回归测试。
当前电子产品快速的发展,已经进入了完全信息化计 可理解性。软件的可理解性主要是对于外来者而言
算机时代,计算机已经无从不在,计算机技术不断的更 的,是软件其接口、功能、结构和内部处理过程对外来读
新,而作为其内在灵活的软件更是神速更新发展。程序软 者的理解的难易程度。软件的可理解性主要在于其详细的
件实现了计算机的高度集成化以及智能化,继而软件质量 设计文档、程序内部的文档、结构化设计和良好的高级程
的要求也是越来越高,而软件的可维护性在其中极为重 序设计语言以及模块化(模块松耦合、高内聚、结构良好)
要。软件开发的整个过程中都要以可维护性贯穿于其中, 等等,这些都是很好的促进了对软件的可理解性。
并且要掌握好软件的可维护性方法以保证高质量的软件受 可靠性。可靠性是对按照用户的要求而完成软件的设
益计算机整个行业。 计目标,并在其规定的时间内稳定可靠的执行的情况。
2 计算机软件的可维护性 可修改性。软件可修改的难易程度与软件的设计启发
维护计算机的软件是非常困难的一件事,为了使计算 的规则和设计原理有着密切的关系。影响软件可修改性的
机软件便于维护,这就使得在软件开发设计的时候就要考 主要包括内聚、耦合、局部化、信息隐藏以及作用域与控
虑到其可维护性。 制域的关系等等。
2.1 可维护性定义。软件的可维护性是指在软件出现 可使用性。软件的可使用性对于用户来说,主要是程
缺陷或者错误时维护人员能够及时给予纠正,并且对系统软 序软件的易使用、实用以及方便的整体综合程度。一个程
件的修改、理解以及完善而达到新的需求的难易程度。软件 序的可使用性主要在于他的易使用上以及程序的稳定性和
的可维护性对软件工程有着重大的意义,他是软件工程的关 允许用户的改变和时常的出错,以至于不会造成用户程序
键目标和软件长久发展的决定性因素。 混 乱 。
软件的质量好坏主要可通过软件的可使用性、可维护 可移植性。软件的可移植性主要是指程序能够在不同
性和可靠稳定性等几个主要特性来衡量的,对于用户来说 的计算机硬件配置和操作系统环境中相互移植运用的难易
也非常关心着几个特性。软件开发阶段软件的可维护性是 程度。为提高软件的可移植性,在移植过程中能够在较少
其最关键的目标。软件的可维护性受到很多因素的的影 的模块中进行修改必须修改的程序降低修改难度,而要使
响,在诸多因素中主要的是软件的编码、设计、低劣的配 得与计算机外部设备以及操作系统和硬件有关的程序代码
置以及测试中的疏忽和文档的缺少都会对软件的可维护性 在特定的程序模块中集中存放。对于一个良好的可移植性
带来很不良的影响。 程序软件首先不依赖于计算机以及其操作系统的性能,其
所有的软件首要的特点就是可维护性,系统软件的可 次是要有良好的结构和灵活性。
维护性应该在软件工程的每一个阶段都要注重和加以提 效率。效率是计算机程序执行操作命令时,能够按预
高,并加强对阶段结束后的审查尤其是可维护性的审查。 定功能进行而不浪费计算机资源的程度。这些资源包括所
2.2 可维护性的度量。当前综合度量系统软件可维护 谓的外存容量、内存容量以及执行时间和通道容量。
性的方法很多,但定量度量系统软件的可维护性还存在着很 3 软件维护的方法
多困难。目前有以下七个质量特性来衡量软件的可维护性, 3.1 使用先进的软件开发技术和工具。先进的软件开
即可测试性、可理解性、可靠性、可修改性、可使用性、可移植 发技术的利用和发展大大减少了程序软件的开发成本以及
性和效率。在不同的维护类型中,其特性的主要侧重点也有 质量大大的提高。当前主流的面向对象的软件开发技术,所
所不同 。 开发出来的软件系统有着稳定、易于测试、较容易理解以及
可测试性。软件能够理解的难易程度决定着软件的测 较容易修改和调试,是一个非常强大而且实用的软件开发技
试和诊断的难易程度。在测试和诊断过程中良好的文档时至 术。在开发软件时,要有主程序员小组,而且要有严格规范的
关重要的,另外,其他重要的方面包括软件之前设计测试的 组织结构,智能分工,这样既能改善通信又能提高效率;在检
过程、软件结构以及其可用调试工具和测试工具。首先在软 测程序质量时,要分工合作,分工明确的结构普查,有助于对
件工程中设计人员应该把软件设计成比较容易诊断和测试 产品进行全面的质量检查。同样,在维护软件的过程中,也要
的软件,其次是维护人员在软件维护时应该先拿到开发阶段 成立专门的维护小组,采取和主程序小组同样的检查方式,
|