【正确答案】软件维护的困难性是由于软件需求分析和开发方法的缺陷。软件生存周期中的开发阶段如果没有严格而又科学的管理和规划,就会引起软件运行时的维护困难。这种困难表现在如下几个方面。
(1)读懂别人的程序是困难的。要修改别人编写的程序,首先要看懂、理解别人的程序,而理解别人的程序是非常困难的。这种困难程度随着程序文档的减少而很快地增加,如果没有相应的文档,困难就达到非常严重的地步。一般程序员都有这样的体会:修改别人的程序,还不如自己重新编写程序。
(2)文档的不一致性。不一致表现在各种文档之间的不一致以及文档与程序之间的不一致,使维护人员不知所措,不知根据什么进行修改。这种不一致是由于开发过程中文档管理不严格所造成的。在开发中经常会出现修改程序却遗忘了修改与其相关的文档,和某一文档做了修改,却没有修改与其相关的另一文档这类现象。要解决文档不一致性,就要加强开发工作中的文档版本管理工作。
(3)软件开发和软件维护在人员和时间上的差异。如果软件维护工作是由软件的开发人员来进行,则维护工作就变得容易,因为他们熟悉软件的功能、结构等。但通常开发人员与维护人员是不同的,这种差异会导致维护的困难。由于维护阶段持续时间很长,正在运行的软件可能是十几年、二十年前开发的,开发的工具、方法、技术与当前的工具、方法、技术差异很大,这又是维护困难的另一种因素。
(4)软件维护不是一项吸引人的工作。由于维护工作的困难性,维护工作经常遭受到挫折,而且很难做出成果,不像软件开发工作那样吸引人。
【答案解析】