【问题2】 请指出下面关于软件可维护性有关叙述是否正确 (1)在进行需求分析时需同时考虑如何实现软件可维护性问题。 (2)完成测试作业后,为了缩短源程序的长度应删去程序中的注解。 (3)尽可能在软件生产过程中保证各阶段文档的正确性。 (4)编程时应尽可能使用全局变量。 (5)在程序易修改的前提下,选择时间效率和空间效率尽可能高的算法。 (6)尽可能考虑硬件的备件的供应。 (7)重视程序结构的设计,使程序具有较好的层次结构。 (8)使用维护工具或支撑环境。 (9)在进行概要设计时应加强模块间的联系。 (10)提高程序的可读性,尽可能使用高级语言编写程序。
参考答案:
正确的叙述有:(3)、(5)、(7)、(8)、(10)
解析:
[分析]: 正确的叙述为(3)、(5)、(7)、(8)和(10)。(3)尽可能在软件生产过程中保证各阶段文档的正确性,对于保证软件的可靠性、功能性等有相当大的作用,这样可减少用户捉出维护请求的可能,即使要更新,工作的难度和工作量也会降低。(5)选择时间效率和空间效率尽可能高的算法,可以让编程者把注意力集中在提供程序的正确性和可理解性、可修改性、可测试性和可使用性等方面,从而提高可维护性,不必为追求效率而把程序编写得让人看不懂。(7)如果程序结构设计得较好,层次结构合理,在维护时理解程序和修改程序容易,不易出错。(8)使用维护工具或支撑环境可以大大降低维护的工作量,(10)用高级语言编写程序,易读易懂,可以提高可维护性。 不正确的叙述为(1)、(2)、(4)、(6)、(9)和(11)。(1)在需求分析时主要考虑软件要“做什么”这一阶段对可维护性可以提出要求,要达到什么指标,而如何实现可维护性,是在设计和实现阶段考虑的问题。(2)在程序中加入注释,这是捉高程序可读性,从而提高可维护性的重要手段,不能因为测试通过就删去它们。(4)在编程时尽可能用参数表,而不应当用全局变量来传送信息。(6)尽可能利用硬件的特点,这样的程序可移植性很差,自然维护起来就相当困难了。(9)在软件概要设计时,对产生的程序模块结构的评价方法就是看模块之间的耦合(联系)是否松散。如果联系密切,这样的结构各部分牵连太多,是不好的。(11)增加维护人员会降低维护的生产率,有可能对维护进度带来不利的影响。