考研论坛

 找回密码
 立即注册
查看: 107|回复: 1

2015考研:软件工程专业模拟题--第15章软件维护考题

[复制链接]

33万

主题

33万

帖子

100万

积分

论坛元老

Rank: 8Rank: 8

积分
1007237
发表于 2017-8-6 23:20:52 | 显示全部楼层 |阅读模式
2015考研暑期复习已经过半,新东方在线小编为大家整理了软件工程专业的考研模拟题,希望考研考生们多学多练,顺利考研。
    在软件的生命周期中,维护阶段是持续时间最长的一个阶段,所花费的精力和费用也是最多的一个阶段。所以如何提高可维护性、减少维护的工作量和费用,是软件工程的一个重要任务。
    软件工程这一章节的内容主要包括:软件维护的内容、软件维护的特点、软件维护的困难性、软件维护的费用、软件维护任务的实施以及软件可维护性等。
    一、相关试题
    1、什么是软件可维护性?可维护性度量的特性是什么
    2、提高可维护性的方法有哪些?
    3、软件维护有哪些内容?
    4、软件维护困难的原因是什么?
      二、参考答案
    1、软件可维护性是指软件能够被理解、校正、适应及增强功能的容易程度。软件的可维护性是软件开发阶段的关键目标。影响软件可维护性的因素较多,设计、编码及测试中的疏忽和低劣的软件配置、缺少文档等都对软件的可维护性产生不良的影响。软件可维护性可用下面七个质量特性来衡量,即可理解性、可测试性、可修改性、可靠性、可
    移植性、可使用性和效率。对于不同类型的维护,这七种特性的侧重点也不相同。这些质量特性通常体现在软件产品的许多方面。为使每一个相应的措施加以保证,即这些质量要求要渗透到各开发阶段的各个步骤中。因此,软件的可维护性是产品投入运行以前各阶段针对上述各质量特性要求进行开发的最终结果。
    日前有若干对软件可维护性进行综合度量的方法,但要对可维护性作出定量度量还是KI难的。还没有一种方法能够使用计算机对软件的可维护性进行综合性的定量评价。下面是度量一个可维护的软件的七种特性时常采用的方法,即质量检查表、质量测试、质量标难。
    2. 提高可维护性的方法有:
    (1)明确建立的软件质量目标。如果要程序满足可维护性七个特性的全部要求,要付出很大的代价,也是不现实的。实际上,有一些pJ维护性是相互促进的。例如.可理解性和可测试性,可理解性和可修改性。而另一些则是相互矛盾的,例如,效率和可移植性,效率和可修改性等:为保证程序的可维护性,应该在一定程度上满足可维护性的各个特性,但各个特性的重要性随着程序用途的不同或计算机环境的不同而改变。因此应明确软件所追求的质量目标。
    (2)利用先进的软件开发技术和工具。利用先进的软件开发技术能大大提高软件质量和减少软件费用。例如面向对象的软件开发方法就是一个非常实用而强有力的软件开发方法。面向对象方法并发出来的软件系统,稳定性好,比较容易修改,比较容易理解,易于测试和调试,因此,可维护性好。
    (3)建立明确的质量保证工作。这里提到的质量保证是指提高软件质量所做的各种植查工作。质量保证检查是非常有效的方法,不仅在软件开发的各阶段中得到了广泛使用,而且在软件维护中也是非常主要的工具。为了保证可维护性.以下四类检查是非常有用的:在检查点进行检查、验收检查、周期性的维护检查、对软件包的检查。
    (4)选择可维护的程序设计语言。程序设计语言的选择对维护影响很大。低级语言很难掌握.很难理解.因而很难维护。一般来说,高级语言比低级语言更容易理解。第四代由于容易理解,容易编程,程序容易修改,因此改进了可维护性。
    〔5)改进程序文档。程序文档是对程序功能、程序各组成部分之间的关系、程序设计策略、程序实现过程的历史数据等的说明和补充。程序文档对提高程序的可阅读性有重要作用。为了维护程序,人们必须阅读和理解程序文档。因此,好的文档对软件的可维护性是非常重要的。
    又 软件维护的内容有四种:校正性维护、适应性维护、完善性维护和预防性维护。
    (1)校正性维护。在软件交付使用后,由于在软件开发过程中产生的错误被带到维护阶段上来。这些隐含的错误在某些特定的使用环境下会暴露出来。为了识别和纠正铝误.修改软件性能上的缺陷,应进行确定和修改错误的过程,这个过程就称为校正性维护。
    (2)适应性维护。随着计算机的飞速发展,计算机硬件和软件环境也不断发生变化。数据环境也在不断发生变化。为了使应用软件适应这种变化而修改软件的过程称为适应性维护。例如,某个应用软件原来是在删环境下运行的,现在要把它移植到w1Edows环境下来运行;某个软件原来是在一种数据库环境下工作,现在要改到另一种安全性更高的数据库环境下工作,这些变动都需要对相应的软件作修改。
    (3)完善性维护。在软件漫长的运行时期中,用户往往会对软件提出新的功能要求和性能要求。这是因为用户的业务会发生变化,组织机构也会发生变化。为了适应这些变化,应用软件原来的功能和性能需要扩充和增强。这种增加软件功能、增强软件性能、提高软件运行效率而进行的维护活动称为完善性维护。例如,软件原来的查询响应速度较馒,要提高响应速度;软件原来没有帮助信息,使用不方便,现在要增加帮助信息。
    (4颁防性维护。为了提高软件的可维护性和可靠性对软件进行的修改称为预防性维护:
    这是为以后进一步的运行和维护打好基础。这需要采用先进的软件过程方法对需要维护的软
    件或软件中的某一部分进行设计、编码和测试。
                    
回复

使用道具 举报

0

主题

7652

帖子

1万

积分

论坛元老

Rank: 8Rank: 8

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

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Archiver|新都网

GMT+8, 2024-10-6 14:26 , Processed in 0.072827 second(s), 8 queries , WinCache On.

Powered by Discuz! X3.4

© 2001-2017 Comsenz Inc.

快速回复 返回顶部 返回列表