软件工程期末考试参考试题
-
软件工程期末考试参考试题
一、填空题
1
、软件生存周期一般可分为
问题定义
、
可行性研究
、
需求分析
、
设计编码
、
测试
、
运
行
与
维护
阶段。
2
、按软件的功能进行划分,软件可以划分为
系统软件
、
支撑软件
和应用软件。
3
、
可行性研究主要集中在以下四个方面
p>
经济可行性
、
技术可行性
< br>、
法律可行性
和
抉择
。
4
、用户界面的
可使用性
是用户界面设计最重要的也是最
基本的目标。
5
< br>、常见的软件概要设计方法有
3
大类:以数据流图为基础
构造模块结构的
结构化设计
方(
SD<
/p>
)
,以数据结构为基础构造模块的
Jac
kson
方法,以对象、类、继承和通信为
基础的
面向对象设计方法(
OOD
)
。
6
、
数据流图
和
数据字典
共同构成系统的逻
辑模型。
7
、软件测试的方法有
p>
分析方法
和
非分析方法
(即黑盒法)
。
8
、单元测试一般以
白盒
测试为主,
< br>黑盒
测试为辅。
9
、成本估计方法主要有
自底向上估计
、
自顶向下估计
和
算法模型估计
三种类型。
10.
文档(
p>
document
)—一种数据媒体和其上所记录的
(数据)
。
11
机器语言、汇编语言:依赖于机器,面向
(机器)
12.
软件有效性(
effic
iency
)
,指软件系统的时间和
(
空间)
效率。
13.
软件定义过程可通过软件系统的
(
可行性研究
)
和需求分析两个阶段
来完成。
14.
软件定义的基本任
务是确定软件系统的工程
(需求)
,也就是要搞清“做什么”<
/p>
。
15.
为
了使用户需求逐步精细化、完全化、一致化,通常采用
(需求建模技术)
。
16.
一个软件的深度
是指其控制的
(层数)
。
17.
以详细设计说明书为输入,
将
该输入用某种程序设计语言翻译成计算机可以理解并
最终可运行的代码的过程叫
(编码)
过程。
18.
软件维护是软件生命周期的
(
最后)
一个阶段
19.
软件工程由
(方法)
、工具和过程三部分组成,称
软件工程的三要素。
20.
基于计
算机系统的软件要素中的软部件由程序、数据和
(文档)
组成。
21.
数据流图就是用来刻画数据
流和转换的信息系统建模技术。
它用简单的图形记号分
别表示数据流、转换、
(数据源)
以及外部实
体。
22.
被继承的类我们称之为
基类
(父类)
,在基类的基础上新建立的类我们称之为派生
p>
类子类。
23.
流程图也称为程序框图是最常用的一种表示法,它有顺
序、
分支和
(循环)
三个基
本控制构件。
24.
机器语言和汇编语言,也称为
(低级)
语言。
25.
软件测试是执行程序发现并排除程序中潜伏的
(错误)
的过程。
26.
软件可维护性,
是指软件产品
交付使用后,
在实现改正潜伏的错误、
改进性能等属
性、适应环境变化等方面工作的
(难易)
程度。
27.
软件可理解性,指系统具有清晰的结构,能直接反映问题的
(需
求)
。
28
在实体
-
关系图简称
E-R
图中,数据对象实体用长方形、关系用
(菱形)
、属性用椭
圆表示。
29.
建立数据流模型要遵循的原则包括:
< br>每个加工至少应有一个输入数据流以反映被处
理数据的来源和一个
(输出)
数据流来反映加工的结果
30.
从工程管理的角度软件设计
可分为概要设计和
(详细)
设计两大步骤。
1
31.
通过向用户提供视觉和听觉上的反馈,
保持用户与界面间的双向通信,
是提高界面
可
(交互)
性的措施之一。
32.
程序设计语言的可靠性是指程序设计语言本身不出错或对错误的
(纠正)
能力。
33.
对发现错误较多的程序模块,应进行
(重点)
测试。
34.
测试用
例中,不仅要选择合理的输入数据,还要选择
(不合理)
的输入
数据。
二、单项选择题
1.
下列哪个阶段不属于软件生存周期的三大阶段(
C
)
。
A
、计划阶段
B
、开发阶段
C
、编码阶段
D
、维护阶段
2.
需求分析是(
A
)
。
A
、
软件开发工作的基础
B
、
软件生存周期的开始
C
、
由系统分析员单独完成的
D
、
由用户自己单独完成的
3.
原型化方法是软件开发中一类常
用的方法,
它与结构化方法相比较,
更需要
(
B
)
。
A
、
明确的需求定义
B
、完整的生命周期
C
、
较长的开发时间
D
、熟练的开发人员
4.
软件维护时,对测试阶段未发现
的错误进行测试、诊断、定位、纠错,直至修改的
回归测试过程称为(
< br>
A
)。
A
、改正性维护
B
、适应性维护
C
、完善性维护
D
、预防性维护
5.
一般说来,投入运行的软件系统中有错误(
A
)。
A
、不是不可以理解的
B
、是不能容忍的
C
、是要求退货的理由
D
、是必然的
6
、对在数据流图中每一个命令的图形元素均给以定义是(
B
)
A、条目定义
B、数据字典
C、数据定义
D、数据说明
7
、软件的可行性研究中不包括(
D
)
A、法律可行性
B、技术可行性
C、经济可行性
D、政治可行性
< br>8
、根据用户在软件使用过程中提出的建设性意见而进行的维护活动称为(
C
)
。
A.
纠错性维护
B.
适应性维护
C.
改善性维护
D.
预防性维护
9
、人机界面的风格大致经过了(<
/p>
B
)代的演变。
A.
三
B.
四
C.
五
D.
六
10
、以下不属于白盒测试技术的是(
D
)
A.
逻辑覆盖
B.
基本路径测试
C.
循环覆盖测试
D.
等价类划分
11
、为改正软件系统中潜藏的错误
而进行的维护活动称为(
A
)
。
A.
纠错性维护
B.
适应性维护
C.
改善性维护
D.
预防性维护
12
、从
事物的组成部件及每个部件的属性、功能来认识事物。这种方法被称为(
A
)的
方法。
A
、面向对象
B
、面向数据
C
、面向过程
D
、面向属性
13
、判定表由四部分组成:左上部
列出(
B
)
。
A.
条件组合与动作之间的对应关系
B.
所有条件
C.
所有可能的动作
D.
可能的条件组合
< br>14
、面向对象的分析和设计
(OOA&OOD)
方法出现在
20
世纪(
C
)年代中期。
A. 50
B. 60
C. 70
D. 80
2
15
、
耦合度也可以分为七级:其中最松散的耦合是(
A
)
。
A.
非直接耦合
B.
数据耦合
C.
特征耦合
D.
控制耦合
16
、面向对象方法是将现实世界的事物以对象的方式(
B
)到计算机世界的方法。
A.
对应
B.
映射
C.
反映
D.
反射
17
、盒图也称为(
D
)或
Chapin
图。这种表达方式取消了流程线,它强迫程序员以结构
化方式思考和解决问题。
A.
流程图
B.
框图
C.
判定表
D.
N-S
图
18
、描述静态数据结构的概念模式是(
A
)
。
A
、
E-R
图
B
、
DFD
C
、结构图
D
、框图
19
、结构化程序设计理论认为,实现良好的程序结构要应用(
A
)的分析方法。
A
、自顶向下
B
、自底向上
C
、面向对象
D
、基于组件
20
、在结构化程序设计当中,不建
议使用(
D
)
。
A
、分支语句
B
、循环语句
C
、子程序调用语句
D
、转向语句
21
、软件生产过程中,需求信息由
(
D
)给出。
A
、程序员
B
、项目管理者
C
、软件分析设计人员
D
、软件用户
22
、在下列的基本成分中,哪个不
是数据流程图的基本成分?(
D
)
A
、信息处理
B
、信息存储
C
、外部实体
D
、系统状态
23
、与
设计测试数据无关的文档是(
D
)
。
A
、需求说明书
B
、设计说明书
C
、源程序
D
、项目开发设计
三、多项选择题(每小题
2
分,共
10
分)
1.
下面哪些测试属于白盒测试(
AE
)。
A
、基本路径测试
< br>B
、等价类划分
C
、边界值分析
D
、错误推测
E
、逻辑覆盖测试
2.
下列哪些选项是属于内容耦合(
ABC
)
。
A
、一个模块直接访问另一个模块的内部数据
< br>
B
、一个模块有多个入口
<
/p>
C
、一个模块不通过正常入口转到另一模块内部
< br>
D
、一个模块只有一个入口
3.
下列属于度量效益方法的是(
ABC
)
。
A
、货币的时间价值
B
、投资回收期
C
、收入
D
、投资回报率
4.
数据流图是用于表示软件模型的
一种图示方法,在下列可采用的绘制方法中,
哪些是常采用的(
ACD
)
。
A
、自顶向下
B
、自底向上
C
、分层绘制
D
、逐步求精
5.
软件设计中一般将用到图形工具
,
下列哪种些可用作设计的图形工具
(
ACD
)
。
A
、结构图
B
、实体联系图
C
、
IPO
图
D
、层次图
四、判断题。
1
、在进行总体设计时应加强模块间的联系。
(×)
2
、系统结构图是精确表达程序结构的图形表示法。因此,有时也可以
将系统结构
图当作系统流程图使用。
(×)
3
、用黑盒法测试时,测试用例是根据程序内部逻辑设计
的。
(×)
4
、在程序调试时,找出错误的位置和性质比改正该错误更难。
(√)
< br>
5
、以对象、类、继承和通信为基础的面向对象设计方
法(
OOD
)也是常见的软件概
要设计
方法之一。
(√)
6
、如果通过软件测试没有发现错误,则说明软件是正确的。
(×)
3
7
、快速原型模型可以有效地适应用户需求的动态变化。
(√)
< br>
8
、模块化,信息隐藏,抽象和逐步求精的软件设计原
则有助于得到高内聚,低耦
合度的软件产品。
(√)
9
、集成测试主要由用户来完成。
(×)
10
、软件危机完
全是由于硬件问题引起的。
(×)
11.
缺乏有力的方法学的指导和有效的开发工具的支持,
这往往是产生软件危机的
原因之一。
(√)
p>
12.
一个
好的开发人员应具备的素质和能力不包括具有良好的书面和口头表达能力。
(×)
13.
在用户需求分析时观察用户手工操
作过程不是为了模拟手工操作过程,而是为
了获取第一手资料,并从中提取出有价值的需
求。
(√)
14.
快速原型技术适用于软件产品要求大量的用户交互、或产生大量的可视输出、
或
设计一些复杂的算法等场合。
(√)
15.
流程图也称为程序(框图)是最常用的一种表示法。<
/p>
(√)
16.
面向数据设计方法一般都包括下列任务:
确定数据结构特征;用顺序、选择和
重复三种基本形式表示数据等步骤。
(√)
17.
p>
理想的人机界面应针对具有典型个性的特定的一类用户设计。
(√)
18.
数据输入的一般准则中包括
尽量(增加)用户输入的动作。
(×)
19.
用穷举测试是较现实的测试方法。
(×)
20
、编码时应尽可能使
用全局变量
(×)
21
、重视程序结构的设计,能使程序具有较好的层次结构
(√)
22
、程序中的注解越少
越好
(×)
23.
纠错性维护是改正运行期间发现的潜伏错误。
(√)
24.
软件可移植性(
portab
ility
)
,是指软件从一个计算机系统或(环境)移植到另
一
个上去的难易程度。
(√)
25.
软件复杂性不能反映出软件的可理解性、模块化、简单
性等属性。
(×)
26.
当程序内的分支数和循环数增加时,
< br>V
(
G
)值将随之增加,即程序
的复杂性增大。
(√)
27.
p>
一般来说,设计软件时应尽量使用数据耦合,减少控制耦合,限制外部环境耦
合和公共数据耦合,杜绝内容耦合。
(√)
28.
设计用户界面只需要计算机
科学的理论和知识,而不一定需要认知心理学以及
人
-
机工程学、语言学等学科的知识。
(×)
29.
第四代语言(
4GL
)还局限在某些领域内,如数据库查询语言。
(√)
30.
< br>不同程序设计语言在程序的效率上的差异不大。
(×)
31.
编码的依据是详细设计说明书。
(√)
32.
程序文档应该包括代码的功
能、代码的完成者等内容。
(√)
33.
软件项目定义部分由制定软件项目开发计划、需求分析
2
个阶段组成。
(√)
34.
预防性维护是修
改软件,以适应软硬件环境的变化。
(×)
35.
开发大型软件易产生疏漏和错误,往往是产生软件危机
的原因之一。
(√)
36.
据统计,软件维护人员为了分析和理解原软件系统所花费的工作量约占整个维
< br>护工作量的
60%
以下。
(×)
37.
数据流图中各构成元素的名
称不一定必须具有明确的含义以代表对应元素的内
容或功能。
(
×)
38.
软件设计也可看作将需求规格说明逐步转换为软件源代码的过程。
(√)
39.
最高耦合度是数据耦合。
(×)
40.
人机界面(
Human-Computer Interfac
e
,简称
HCI
)又称人
-
机接口或用户界面。
4
(√)
41.
在同一用户界面中,所有的菜单选择、命令输入、数据
显示和其他功能应采用
不同的形式和风格。
(×)
42.
判定覆盖必然满足语句覆盖。
(√)
43.
为提高可交互性一般对大多数操作动作应允许用户恢复
。同时应尽量减少用户
记忆的信息量。
(√)
< br>
44.
编程中应采用统一的标准和约定,降低程序的
复杂性。
(√)
45.
软件在使用过程中维护不十分复杂。
(×)
46.
软件可重用性(
reusab
ility
)
,是指软部件可以在多种场合使用的程度。
(√)
47.
缺
乏有力的方法学的指导和有效的开发工具的支持,这往往是产生软件危机的
原因之一。<
/p>
(√)
48.
快速原型技术的适用于软件产品要求大量的用户交互、
或产生大量的可视输出、
或设计一些复杂的算法等场合。
(√)
49.
流程图也称为程序框图是最常用的一种表示法。
(√)
50.
面向数据设计方法一般都包括下列任务:确定数据结构
特征;用顺序、选择和
重复三种基本形式表示数据等步骤。
(√
)
51
、在软件维护过程中改善性维
护是为适应环境的变化而修改软件的活动。
(×)
52.
螺
旋模型是在瀑布模型和增量模型的基础上增加了风险分析活动。
(√)
< br>
53.
数据字典是对数据流图中的数据流,加工、数据
存储、数据的源和终点进行详细
定义。
(×)
< br>
V
A
语言编译器是一个
CASE
工具。<
/p>
(√)
55.
软件是指用程序设计语言(如
PASCAL ,C,VISUAL BASIC
等)编写的程序,软
件开发实际上就是编写程序代码。
(×)
56.
软件模块之间
的耦合性越弱越好。
(√)
57.
数据库设计说明书是一个软件配置项
(
√)
58.
在面向对象的软件开发方
法中,每个类都存在其相应的对象,类是对象的实例,
对象是生成类的模板。
(×)
59.
过程描述语言可以用于描述软件的系统结构。
(×)
< br>
60.
快速原型模型可以有效地适应用户需求的动态变
化。
(√)
61.
< br>模块化,信息隐藏,抽象和逐步求精的软件设计原则有助于得到高内聚,低耦合
度
的软件产品。
(√)
62
.可行性研究进一步研究问题分析阶段所确定的问题是否有可行的解。<
/p>
(√)
63
.
并发系统中遇到的一个主要问题是定时问题。
(√)
64
.面向对象建模得到的模型包含
系统的
3
个要素,即静态结构、交互次序和数据变换。
(√)
65
p>
.软件重用是提高软件开发生产率和目标系统质量的重要途径。
(√
)
66
.
判定覆盖不一定包含条件覆盖,条件覆盖也不一定包含判定覆盖。
(√)
67
.
Power Des
igner
是一个
CASE
工具。
p>
(√)
68<
/p>
.在进行需求分析时需同时考虑维护问题。
(×)
69
.
< br>UML
是一种面向对象的分析设计方法,即
OOA/OO
D
方法。
(×)
70
.<
/p>
在面向对象的软件开发方法中,
每个类都存在其相应的对象,
p>
对象是类的实例,
类是生成对象的模板。
(
√)
五、简答题
1
、什么是软件危机
?
为什么会产生软件危机
< br>?
答:
软件危机
是指软件在开
发和维护过程时所遇到的一系列问题。主要包含二方面
5