软件维护
考试要求: 掌握     
知识路径:  > 信息系统开发与运行  > 系统运行  > 系统运行和维护


 
       软件经过测试,交付给用户后,在使用和运行过程中对软件产品进行的修改就是维护。
       软件可维护性是指纠正软件系统出现的错误和缺陷,以及为满足新的要求进行修改、扩展和裁剪的容易程度。目前广泛用来衡量程序可维护性的因素包括可理解性、可测试性和可修改性等。
       软件维护占整个软件生命周期的60%~80%,维护的类型主要有以下3种。
       (1)改正性维护:为了识别和纠正软件错误、改正软件性能上的缺陷、排除实施中的错误使用,应当进行的诊断和改正错误的过程就叫做改正性维护。
       (2)适应性维护:在使用过程中,外部环境(新的硬、软件配置)、数据环境(数据库、数据格式、数据输入/输出方式、数据存储介质)可能发生变化。为使软件适应这种变化,而去修改软件的过程就叫做适应性维护。
       (3)完善性维护:在软件的使用过程中,用户往往会对软件提出新的功能与性能要求。为了满足这些要求,需要修改或再开发软件,以扩充软件功能、增强软件性能、改进加工效率、提高软件的可维护性。这种情况下进行的维护活动叫做完善性维护。
       除了以上3类维护之外,还有一类维护活动,叫做预防性维护。这是指预先提高软件的可维护性、可靠性等,为以后进一步改进软件打下良好基础。通常,预防性维护可定义为“把今天的方法学用于昨天的系统以满足明天的需要”。也就是说,采用先进的软件工程方法对需要维护的软件或软件中的某一部分(重新)进行设计、编码和测试。
       以上各种维护类型占整个软件维护工作量的大致比例如下图所示。
       
       各种维护所占的比例
       影响维护工作量的因素主要有系统大小、程序设计语言、系统年龄、数据库技术的应用、软件开发技术等5个方面。
       程序修改的步骤为分析和理解程序、修改程序和重新验证程序。经过分析,全面、准确、迅速地理解程序是决定维护成败和质量好坏的关键。为了容易地理解程序,要求自顶向下地理解现有源程序的程序结构和数据结构,为此可采用如下方法:分析程序结构图、数据跟踪、控制跟踪、分析现有文档的合理性等。
       对程序的修改,必须事先做出计划,有预谋的、周密有效地实施修改。在修改时,要防止修改程序的副作用(修改代码的副作用、修改数据的副作用、修改文档的副作用)。在将修改后的程序提交用户之前,需要进行充分的确认和测试,以保证整个修改后的程序的正确性。这种验证可分为静态确认、计算机确认和维护后的验收。
       在软件开发过程中,错误纠正成本在逐步放大。也就是说,错误发现得越早,纠正错误所花费的成本就会越低,反之则越高。例如,如果在软件设计阶段有个错误未被发现,而待编码阶段时才发现,这时纠正这个设计错误比纠正源代码错误需要更大的成本。
 

更多复习资料
请登录电脑版软考在线 www.rkpass.cn

京B2-20210865 | 京ICP备2020040059号-5
京公网安备 11010502032051号 | 营业执照
 Copyright ©2000-2025 All Rights Reserved
软考在线版权所有