软件工程基础与案例教程 习题及答案 第4部分.pdf
第11章习题答案
1.阐述软件维护是不可避免的原因。
无论一个软件的规模怎样,开发一个全不需要改变的软件是不可能的。即使到了软件
运行阶段,软件还是在不断进化以适应变化的需求。所以,软件维护是•个不可避免的过程。
2.解释软件维护成本“居高不卜”的原因。
软件维护是软件生产性活动中延续时间最长、工作量最大的活动。大、中型软件产品,
开发周期一般为1~3年,运行周期可达5~10年。在这么长的软件运行过程中,需要不断改
正软件中残留的错误和缺陷,适应新的环境和用户新的要求等。这些工作需要花费大量的精
力和时间。据资料统计,软件维护所花费的工作量通常占整个软件生存周期工作量的60%
以上,•些特大型软件的维护费用甚至高达开发费用的40〜50倍。所以,软件维护是软件成
本大幅度上升的重要因素,
3.软件M维护性与哪些因素有关?应该采取哪些措施樨高软件可维护性?
若一个软件没有采用软件工程方法进行开发,也没有任何的文档,仅有的只是成百上千
个程序源代码,这样的软件维护起来非常困难。由于这里维护只有源代码,没有或只有少量
的文档,维护活动只能从阅读、理解、分析程序源代码开始。通过阅读和分析程序源代码来
理解系统的功能、结构、数据、接口、设计约束等。这样做势必要花费大量的人力、物力,
而且很容易出错,很难保证程序的正确性。
只体的提高软件可维护性的技术途径主要有以下4个方面.
1.建土整的文档
2.明确质量标准
3.采用易于维护的技术和工具
4.加强可维护性复审
4.阐述软件文档和软件可维护性的关系。
文档是影响软件可维护性的决定因素,如软件开发文档和用户文档,没有文档使得维护
更加困难。由于文档是对软件的总目标、程序各组成部分之间的关系、程序设计策略,以及
程序实现过程的历史数据等的说明和补充,因此,文档对遑高程序的可理解性有着重要作用。
即使是一个十分简单的程序,要想有效地、高效率地维护它,也需要编制文档来解释其目的
及任务。
5.述软件维护的工作过程。为什么说软件维护过程是一个化的软件开发过程?
软件维护过程包括维护申请、制定维护计划、执行维护活动、建立维护文档和复审/评
价维护等。
软件维护活动实际是一个修改和化了的软件开发过程。软件开发的所有环节,例如,
分析、设计、实现和测试等过程几乎都要在维护活动中用到。
6.假设你是•家软件公司的软件项目负责人,现在的任务是要找出有哪些因素影响公司开发
的软件的可维护性。说明你将采用什么方法来分析维护过程,从而发现公司软件的可维护性
的度量。
每项软件维护任务完成之后,最好进行维护工作结果的评审,对以下问题进行总结:
(I)在目前情况下,设计、编码、测试中的哪些方面可以改进?
(2)缺少哪些维护资源?
(3)工作中主要的或次要的障碍是什么?
(4)从维护申请的类型来看,是否应当有预防性维护?
维护评审对将来的维护工作如何讲行会产牛重要的影响,也可为软件机构的有效管理提
供重要的反馈信息。
第12章习题答案
1.阐述软件项目规模度量方法。
常用的软件项目规模度量技术有代码行、软件科学、可测量数据和功能点等
2.述软件风险分析活均
软件项目风险分析包括风险识别、风险预测和风险管理3项活动
3.述软件配置管理过程。
软件配置管理主要包括配置管理规划、变更管理、版本和发布管理等一系列软件配置管
理活动。
4.述中级COCOMO模型的特点。
中级COCOMO估算模型实际上也是种层次结构的估算模型,主要运用丁应用组装模
型、早期设计阶段模型和体系结构后阶段模型。和所有的软件估算模型一样,中级COCOMO
估算模型也需要使用规模估算信息,如对象点、功能点和代码行。
5.基于对象点的中级COCOMO模型估算的步骤是什么?假设一个基于构件的开发项目的
对象点给出如下:界面数为30;报表数为10;构件数为7;构件复用百分比是30%。请估
算该项FI的工作量。
中级COCOMO估算模型的应用组装模型,使用的是对象点信息;然后将每个对象实例