《软件工程教程》(第2版) 主编:吴迪 马宏茹 丁万宁 第七章课后习题参考答案

文章详细介绍了软件维护的不同类型,包括面向缺陷和功能的维护,以及完善性、适应性、纠错性和预防性维护。强调了软件维护作为服务的重要性,讨论了结构化和非结构化维护的区别,并指出良好的可维护性需具备可理解性、可测试性和可修改性。此外,文章还阐述了软件维护的流程和UML对维护工作的影响。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

                       第7章   软件维护  课后习题参考答案

简答题

(1)面向缺陷维护的内容是什么?

答:面向缺陷维护(程序级维护):软件产品能够正常运转,可以满足用户的功能、性能、接口需求,只是个别地方存在缺陷,使用户感到不便。缺陷发生在程序实现的级别上。克服缺陷的方法是修改程序,而不是修改分析与设计,也就是通常说的只修改编码,不修改数据结构。

(2)传统软件维护分哪几大类?

答:完善性维护:满足用户在使用过程中提出增加新的功能或修改已有功能,以满足用户日益增长的需要而进行的工作;

适应性维护:是软件适应新的运行环境而进行的工作;

纠错性维护:纠正开发期间未发现的遗留错误,即在程序使用期间发现的程序错误进行诊断和改正的过程;

预防性维护:为了改善未来的可维护性或可靠性而修改软件的工作。

(3)怎样理解“软件维护是一种面向用户提供的服务”?

答:激烈的软件产品市场竞争中,同类软件产品的价格、功能、性能、接口都是不相上下的,那么用户如何选择呢? 软件厂商要推销自己的产品,推销的焦点就是服务。谁的售后服务及时、到位,谁的产品就可能占领市场。现在流行一句话:“卖软件就是卖服务”。

(4)什么叫结构化维护和非结构化维护?

答:结构化维护的前提是:软件产品或软件项目必须有完善的文档,并且文档与程序代码互相匹配。反之为非结构化维护。

(5)可维护性的软件应具备什么性质?

答:主要有可理解性、可测试性和可修改性。可理解性被定义为人们通过阅读源代码和文档了解软件系统的结构、接口、功能、内部过程以及如何运行的难易程度;可测试性被定义为诊断和测试系统的难易程度;可修改性被定义为修改软件系统的难易程度;它们是密切相关的。

(6)软件维护的副作用表现在哪4个方面?

答:①修改编码:使编码更加混乱,程序结构更不清晰,可读性更差,而且有连锁反应。

②修改数据结构:数据结构是系统的骨架,修改数据结构是对系统伤筋动骨的大手术,在数据冗余与数据不一致方面,可能顾此失彼。

③修改用户数据:需要与用户协商,一旦有疏忽,可使系统发生意外。

④修改文档:对非结构化维护不适应,对结构化维护要严防程序与文档的不匹配。

(7)面向功能维护的内容是什么?

答:面向功能维护(设计级维护):软件产品在功能、性能、接口上存在某些不足。不维护就不能正常运转。维护即要修改分析与设计,又要修改程序,也就是既修改数据结构,又修改编码。

(8)简述软件维护的流程。

答:软件维护的流程:

1.制定申请维护报告;

2.审查申请报告并批准;

3.进行维护并作详细记录;

4.覆审。

软件维护的工作程序:

1.维护需求分析;

2.维护设计;

3.程序代码修改;

4.维护后测试;

5.维护后试运行;

6.维护后正式运行;

7.维护过程的评审和审核。

(9)怎么理解UMILCMOMI对软件维护的影响?

答:UML把软件生存周期定义为4个主要阶段:初始、细化、构造、移交。经过这四个阶段的历程被称为一个开发周期,自动产生一个周期内的所有文档,从而生成一个软件产品。

首次经历这四个阶段称为该产品的初始开发周期,除非该产品的生命终止,否则它将重复初始、细化、构造、移交这4个阶段,从而演化为下一代产品,这就是旧产品的维护,也是新产品的升级换代,这就是UML对软件维护工作的影响。由此可见,在软件开发中,若采用UML建模技术和相应的CASET具Rose,高额的软件维护费用将会较快地降下来。

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值