admin 管理员组

文章数量: 1086019


2024年12月31日发(作者:yii2手册)

国家开放大学《软件工程》章节自测参考答案

模块一 软件工程概述

一、选择题

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. 实时

8.原型化方法是一种()型的设计过程。

A. 自底向上

B. 自顶向下

C. 自外向内

D. 自内向外

9.下列有关软件工程的标准,属于国际标准的是( )

A. IEEE

B. GB

C. ISO

D. DIN

10.结构化方法是一种基于()的方法。

A. 程序结构

B. 数据结构

C. 算法

D. 数据流

二、简答题

1.什么是软件危机?软件危机表现在哪几个方面?

参考答案:

由于软件具有上述这些特点,长期以来一直没有发明一种高效的开发方法,

从而导致软件生产效率非常低,交付期一拖再拖,最终交付的软件产品在质量上

很难保障。这种现象早在20世纪60年代被定义为“软件危机”。它的具体表现

如下:

(1)“已完成”的软件不满足用户的需求。

(2)开发进度不能保障,交付时间一再拖延。

(3)软件开发成本难以准确估算,开发过程控制困难造成开发成本超出预

算。

(4)软件产品的质量没有保证,运算结果出错、操作死机等现象屡屡出现。

(5)软件通常没有适当的文档资料,或文档与最终交付的软件产品不符,

软件的可维护程度非常低。

2.试述产生软件危机的主要原因?

参考答案:

软件的特点是导致软件危机的客观因素,而软件开发和软件维护过程中使用

的不正确方法是主观因素,主要表现为:忽视软件开发前期的调研和分析工作,

没有统一的、规范的方法论指导,文档资料不齐全,忽视人员之间的交流,忽视

测试工作,轻视软件的维护。

3.什么是软件工程?软件工程的目标是什么?

参考答案:

软件工程是:① 将系统化的、规范的、可度量的方法应用于软件的开发、

运行和维护过程,也就是说将工程化应用于软件开发和管理之中;② 对①中所

选方法的研究”。

软件工程旨在开发满足用户需要、及时交付、不超过预算和无故障的软件,

其主要目标如下:

(1)实现预期的软件功能,达到较好的软件性能,满足用户的需求。

(2)增强软件过程的可见性和可控性,保证软件的质量。

(3)提高所开发软件的可维护性,降低维护费用。

(4)提高软件开发生产率,及时交付使用。

(5)合理预算开发成本,付出较低的开发费用。

4.软件工程为什么要强调规范化和文档化?

参考答案:

软件工程强调规范化和文档化。规范化的目的是使众多的开发者遵守相同的

规范,使软件生产摆脱个人生产方式,进入标准化、工程化的生产方式。文档化

是将软件的设计思想、设计过程和实现过程完整地记录下来,以便于后人的使用

和维护,在开发过程中各类相关人员借助于文档进行交流和沟通。另外,在开发

过程中产生的各类文档使得软件的生产过程由不可见变为可见,便于管理者对软

件生产进度和开发过程进行管理。在用户最终验收时可以通过对提交的文档进行

技术审查和管理审查,保证软件的质量。

5.软件工程层次是如何划分的?

参考答案:

软件工程的研究内容具有层次化结构,它的最底层是质量保证层,中间是过

程层和方法层,最上层是工具层。

全面的质量管理和质量需求是推动软件工程过程不断改进的动力,正是这

种改进的动力导致了更加成熟的软件工程方法不断涌现。过程层定义了一组关键

过程域,目的是保证软件开发过程的规范性和可控性。方法层提供了软件开发的

各种方法,包括如何进行软件需求分析和设计,如何实现设计,如何测试和维护

等方法。工具层为软件工程方法和过程提供了自动或半自动的支撑环境。目前市

场上已经有许多不错的软件工程工具,应用效果良好。

6.什么是软件生存周期模型?

参考答案:

软件生命周期模型反映的是软件开发过程、活动和任务的结构框架。它能够

清晰、直观地表达软件开发全过程,明确规定要完成的主要活动和任务。对于不

同的软件系统,可能采用不同的开发方法,使用不同的程序设计语言、不同的管

理方法和手段、以及各种具有不同技能的人员参与工作,但是对于软件生命周期

模型来说都应该是稳定有效和普遍适用的。到目前为止,已经提出了多种模型,

主要有瀑布模型、演化模型、喷泉模型、螺旋模型、智能模型。模型的选择是基

于软件的特点和应用领域。

7.软件工程的发展至今为止经历了哪几个阶段?各阶段的特征是什么?

参考答案:

在20世纪70年代基本形成了软件工程的概念、框架、方法和手段,被称之

为第一代软件工程,即传统软件工程。结构化分析、结构化设计和结构化编程方

法是这个时期的代表。

80年代出现的Smalltalk 80程序设计语言标志着面向对象程序设计进入了实

用阶段,从80年代中到90年代中,研究的重点转移到面向对象分析和设计上来,

从而演化成软件工程的第二代,称之为对象工程。

90年代后期,软件工程的一个重要进展就是基于组件的开发方法。为了提

高软件生产力,避免草率地开发应用程序,尽可能地利用可复用组件来组装成新

的应用软件系统。到目前为止,组件技术的研究和发展形成了新一代软件工程,

即第三代软件工程,也有不少人称之为组件工程。

软件工程至今还在不断发展,无论是组件工程还是对象工程都在不断发展,

即使是传统软件工程的一些基本概念、框架,也随着技术的进步在发生变化。总

之,软件工程代与代之间并没有鸿沟,它们不仅交叉重叠,也携手并进。

8.指出瀑布模型中下列任务的顺序:验收测试,项目计划,单元测试,需

求评审,成本估计,概要设计,详细设计,系统测试,设计评审,编码,需求

规格说明书。

参考答案:

项目计划->成本估计->需求规格说明书->需求评审->概要设计->详细设计->设

计评审->编码->单元测试->系统测试->验收测试

9.请比较软件生命周期瀑布模型和螺旋模型的特点。

参考答案:

瀑布模型最重要的特点:只有当一个阶段的任务完成、交付相应的文档、通

过审查小组的审查合格后,才能开始下一个阶段的工作。瀑布模型的优点:有利

于大型软件开发过程中人员的组织、管理,有利于软件开发方法和工具的研究,

从而提高了大型软件项目开发的质量和效率。瀑布模型的缺点:(1)开发过程

一般不能逆转,否则代价太大;(2)实际的项目开发很难严格按该模型进行;

(3)客户往往很难清楚地给出所有的需求,而该模型却要求如此。(4)软件的

实际情况必须到项目开发的后期客户才能看到,这要求客户有足够的耐心。


本文标签: 软件 模型 过程 开发