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