. . .
即时练习
第 1 讲
一、 填空题
1. 软件危机是指在计算机软件的_开发和维护_过程
中所遇到的一系列严重问题。
2. 软件危机包含下述两个方面的问题:一是 _如何
开发软件,以满足对软件日益增长的需求;二是 _如何维
护数量不断膨胀的已有软件_ 。
3. 软件不同于硬件,它是计算机系统中的 _逻辑部
件_ 而不是物理部件。
4. 一个软件从定义、开发、使用和维护,直到最终
被废弃,要经历一个漫长的时期,通常把这个漫长的时期
称为 __生命周期__ 。
5.软件配置主要包括 __程序、 文档_和_数据_ 等成分。
6. 软件工程学的一个重要目标就是提高软件的 _可
维护性 、减少 _软件维护_ 的代价。
7. 软件工程是指导计算机软件 __软件开发_ 和 __
维护_ 的一门工程学科。
8. 软件工程包括 _技术_ 和 __管理__ 两方面的
容,是技术与管理紧密结合所形成的工程学科。
9. 通常把在软件生命周期全过程中使用的一整套技
术方法的集合称为 _方法学_ ,也称为型。
10. 软件工程方法学包含_方法、工具 和_过程_ 三个
要素。
11. 目前使用最广泛的软件工程方法学,分别是 _
传统方法学 和 面向对象方法学__ 。
12. 概括地说,软件生命周期由 _软件定义_ 、 __
软件开发_ 和 __运行维护(软件维护)__ 3个时期组成,
每个时期又进一步划分为若干个阶段。
13. 软件定义时期通常进一步划分为3个阶段,即
_问题定义__ 、 __可行性研究__ 和需求分析。、
14. 螺旋模型将 _瀑布、_ 模型和 __快速原型_ 模
型结合起来,加入了两种模型均忽略了的风险分析,弥补
了这两种模型的不足。
15. 瀑布模型 _不能_ 适应需求可变的软件开发,
只有到 _开发结束_ 才能见到整个软件系统。
二、 选择题:
1. 软件是一种( )产品。
A、有形 B、逻辑 C、物质 D、消耗
2. 与计算机科学的理论研究不同,软件工程是一门
( )学科。
A、理论性 B、工程性 C、原理性 D、心理性
3. 软件工程学科出现的主要原因是( )。
A、计算机的发展 B、其他工程学科的影响
C、软件危机的出现 D、程序设计方法学的影响
4. 由于软件生产的复杂性和高成本性,使大型软件
的生存出现危机,软件危机的主要表现包括了下述( )
.. ..
方面。
①生产成本过高 ②需求增长难以满足
③进度难以控制 ④质量难以保证
A、①② B、②③ C、④ D、全部
5. 有关计算机程序功能、设计、编制、使用的文字或图
形资料称为( )。
A、软件 B、文档 C、程序 D、数据
6. ( )是计算机程序及期说明程序的各种文档。
A、软件 B、文档 C、程序 D、数据
7. 问题定义阶段必须回答的关键问题是( )。
A、要解决的问题是什么 B、确定目标系统必须具备哪些
功能 C、怎样实现目标系统 D、如何具体实现系统
三、 问答题
1. 简述软件危机的典型表现。
答:(1)对软件开发成本和进度的估计常常很不准确;
(2)用户对“已完成的”软件系统不满意的现象经
常发生;(3)软件产品的质量往往靠不住;
(4)软件常常是不可维护的;
(5)软件通常没有适当的文档资料;
(6)软件成本在计算机系统总成本中所占的比例逐
渐上升;
(7)软件开发生产率提高的速度,远远跟不上计算
机应用迅速普及深入的趋势。
2.什么是软件过程?它与软件工程方法学有何关系?
答:软件过程是为了开发出高质量的软件产品所需完
成的一系列任务的框架,它规定了完成各项任务的工作步
骤。软件过程定义了运用技术方法的顺序、应该交付的文
档资料、为保证软件质量和协调软件变化必须采取的管理
措施,以及标志完成了相应开发活动的里程碑。
软件过程是软件工程方法学的3个重要组成部分之一。
3.假设要求你开发一个软件,该软件的功能是把读入的
浮点数开平方,所得到的结果应该精确到小数点后4位。
一旦实现并测试完之后,该产品将被抛弃。你打算选用哪
种软件生命周期模型?请说明你作出选择的理由。
答:对这个软件的需求很明确,实现开平方功能的算
法也很成熟,因此,既无须通过原型来分析需求也无须用
原型来验证设计方案。此外,一旦实现并测试完之后,该
产品将被抛弃,因此也无须使用有助开提高软件可维护性
的增量模型或螺旋模型来开发该软件。
综上所述,为了开发这个简单的软件,使用大多数人
所熟悉的瀑布模型就可以了。
4. 瀑布模型有什么优缺点?
答:瀑布模型的优点:可强迫开发人员采用规的方法(例
如,结构化技术);严格地规定了每个阶段必须提交的文档;
要求每个阶段交出的所有产品都必须经过质量保证小组的