软件工程期末试题(含答案) 下载本文

内容发布更新时间 : 2024/5/23 17:37:59星期一 下面是文章的全部内容请认真阅读。

一、 填空题(每空1分,共25分)

1. 2. 3. 4. 5. 6. 7. 8. 9.

软件生存周期一般可以划分为,问题定义、可行性研究、需求分析、设计、编码、测试和运行和维护。

基于软件的功能划分,软件可以划分成___系统软件_、支撑软件、应用软件__三种。

可行性研究,应从 经济可行性 、技术可行性、运行可行性、法律可行性和开放方案可行性等方面研究。

系统流程图是描绘 物理系统 的传统工具。它的基本思想是用图形符号以 黑盒子形式 描绘系统里面的每个部件

数据流图的基本四种成分:数据输入的源点和数据输出汇点、加工 、 数据流 和 数据存储文件。

结构化分析方法是面向_数据流_进行需求分析的方法。结构化分析方法使用_数据流图DFD_与_数据字典_来描述。

继承性 是自动地共享类、子类和对象中的方法和数据的机制。 软件详细设计工具可分为3类,即_图示工具_、_设计语言_和_表格工具_。

为了在软件开发过程中保证软件的质量,主要采取下述措施:_审查__、复查和管理复审、___测试_。

10. 大型软件测试包括 单元测试 、 集成测试 、确认测试和 系统测试四个步骤。 二、 单项选择题(每小题2分,共20分)

1. 2. 3.

软件设计中划分模块的一个准则是( C )。

A、 低内聚低耦合 B.低内聚高耦合 C.高内聚低耦合 D.高内聚高耦合

Jackson设计方法是由英国的M. Jackson提出的,它是一种面向( C )的软件设计方法。 A、 对象 B.数据流 C.数据结构 D.控制结构 试判断下列叙述中,哪 个(些)是正确的( C )。 a、软件系统中所有的信息流都可以认为是事务流 b、软件系统中所有的信息流都可以认为是变换流 c、事务分析和变换分析的设计步骤是基本相似的

A、a B、b C、c D、b和c 4. 5.

( A )是用户和设计交换最频繁的方法。

A、 原型化方法 B、瀑布模型方法 C. 螺旋模型方法 D、构件组装模型

软件工程方法学的目的是:使软件生产规范化和工程化,而软件工程方法得以实施的主要保证是( C )。

A、 硬件环境 B、软件开发的环境

C.软件开发工具和软件开发的环境 D、 开发人员的素质 6.

20世纪50年代以来,出现了许多不同的程序设计语言,下列语言中哪个语言是低级语言( D )。

A、 PASCAL B、 VISUAL BASIC C. C++ D、 汇编语言 7.

软件测试的目的是?( D )

A、 证明软件的正确性 B.找出软件系统中存在的所有错误 C.证明软件系统中存在错误 D.尽可能多的发现软件系统中的错误 8.

使用白盒测试方法时,确定测试数据应根据( A )和指定的覆盖标准。 A、程序的内部逻辑 B、程序的复杂程度 C、该软件的编辑人员 D、程序的功能 9.

软件维护工作的最主要部分是( C )。

A、 校正性维护 B、适应性维护 C.完善性维护 D、预防性维护

1

10. PDL是( B )语言。

A、 高级程序设计语言 B、伪码式 C、中级程序设计语言 D、低级程序设计语言

三、 判断题(正确的在括号内打上“√”,错误的打上“×”。每题2分,共20分)

1. 2. 3. 4. 5. 6. 7. 8. 9.

用黑盒法测试时,测试用例是根据程序内部逻辑设计的。( X ) 发现错误多的程序模块,残留在模块中的错误也多。( V )

为了加快软件维护作业的进度,应尽可能增加维护人员的数目。( X ) 软件维护就是改正软件中的错误。( X )

质量保证是为了保证产品和服务充分满足消费者要求的质量而进行的有计划,有组织的活动。( V )

软件开发的主要任务是写程序。 ( X )

测试只能证明程序有错误,不能证明程序没有错误。( V )

模块化程序设计中,模块越小,模块化的优点越明显。一般来说,模块的大小都在10行以下。( X )

在编制程序时,首先应该对程序的结构充分考虑,不要急于开始编码,而要像写软件文档那样,很好地琢磨程序具有什么样的功能,这些功能如何安排,等等。( X ) 10. 程序设计风格指导原则提出,尽量多使用临时变量。( X ) 三.程序设计与算法描述题(共15分)

1. IF C1

THEN

WHILE C2 DO f ENDDO ELSE BLOCK g p ENDBLOCK ENDIF

REPEAT UNTIL C3

q r ENDREP STOP

1) 2)

画出程序流程图(4分) 用N—S图描述(4分)

根据下面的伪代码程序,完成相应要求。(8分)

START

1)程序流程图如下:4分

2

(2)N-S图 如下:4分

2.

有下列伪码程序:

START INPUT (M,N) IF M>=10 THEN X=10 ELSE X=l ENDIF IF N>=20 THEN Y=20

3

ELSE Y=2 ENDIF PRINT(X,Y) STOP

设计该程序的语句覆盖和路径覆盖测试用例。(7分) 设计该程序的语句覆盖和路径覆盖测试用例。 1.M=9(或=10),N=20(或>=20) 路径覆盖的测试用例为 ① M=9,N=19; ② M=9、N=20; ③ M=l0,N=l9; ④ M=10,N=20 一、单项选择题

1、瀑布模型本质上是一种( C)

A、线性顺序模型 B、顺序迭代模型 C、线性迭代模型 D、及早见产品模型 2、使用程序设计的控制结构导出测试用例的测试方法是( B ) A、黑盒测试 B、白盒测试 C、边界测试 D、系统测试 3、软件结构图的形态特征能反映程序重用率的是( C ) A、深度 B、宽度 C、扇入 D、扇出

4、软件结构图中,模块框之间若有直线连接,表示它们之间存在( A )

A、调用关系 B、组成关系 C、链接关系 D、顺序执行关系 5、需求分析最终结果是产生( B )

A、项目开发计划 B、需求规格说明书 C、设计说明书 D、可行性分析报告 6、快速原型模型的主要特点之一是( D ) A、开发完毕才见到产品

B、及早提供全部完整的软件产品 D、及早提供工作软件

C、开发完毕后才见到工作软件

7、若有一个计算类型的程序,它的输入量只有一个X,其范围是[-1.0,1.0],现从输入的角度考虑一组测试用例:-1.001,-1.0,1.0,1.001。设计这组测试用例的方法是( C ) A、条件覆盖法 A、模块设计 A. 软件工程

B、等价分类法 C、边界值分析法 D、错误推测法 B、结构化设计 C、PDL语言 B. 软件周期 C. 软件危机

D、结构化程序设计

D. 软件产生

8、软件详细设计主要采用的方法是( C )

9、开发软件所需高成本和产品的低质量之间有着尖锐的矛盾,这种现象称做( B ) 10、按软件生命周期方法设计软件的过程中,画数据流图属于下面哪个阶段的工作( C)

A、需求分析 B、概要设计 C、详细设计 D、软件维护 11、在快速原型模型的开发过程中,仅作为需求说明的补充形式的原型是( A )

A、探索型模型 B、演化型模型 C、实验型模型 D、提交型模型 12、程序设计语言的工程特性之一为(C )

4

A、软件的可重用性 B、数据结构的描述性 C、抽象类型的描述性 D、数据库的易操作性 13、软件按照设计的要求,在规定时间和条件下达到不出故障,持续运行的要求的质量特性称为( A ) A.可用性

B.可靠性 C.正确性

D.完整性

14、模块设计中,最不希望的内聚是(C )

A、功能内聚 B、通信内聚 C、过程内聚 D、偶然内聚 15、实施快速原型模型方法开发软件的关键在于(D )

A、CASE工具的支持 B、如何开发演化型模型 C、项目主管的支持D、开发人员的素质 16、程序流程图(框图)中的箭头代表( A )。

A.数据流 B.控制流 C.调用关系 D.组成关系 17、一个只有顺序结构的程序,其环形复杂度是(B )。

A.0 B.1 C.3 D.不确定的

18、可行性分析是在系统开发的早期所做的一项重要的论证工作,它是决定该系统是否开发的决策依据, 因

此必须给出什么样的回答。( B )

A.确定 B.行或不行 C.正确 D.无二义 19、结构化程序设计主要强调的是( D )

A、程序的规模 B、程序的效率 C、程序设计语言的先进性 D、程序易读性 20、对象实现了数据和操作的结合, 使数据和操作( C )于对象的统一体中。 A、结合 B、隐藏 C、封装 D、抽象 21、软件概要设计结束后得到(B )

A、初始化的软件结构图 B、优化后的软件结构图 C、模块的接口图和详细算法 D、程序编码

22、软件需求是度量软件质量的基础,不符合需求的软件就不具备(B )

A、软件的特点 B、质量 C、软件产品 D、功能

23、软件特性中,程序能够满足规格说明和完成用户业务目标的程度,称作( A )

A、正确性 B、移植性 C、可靠性 D、完整性

24、为使得开发人员对软件产品的各个阶段工作都进行周密的思考,从而减少返工,所以( C )的编制是很重要的。

A、需求说明 B、概要说明 C、软件文档 D、测试计划

25、系统因错误而发生故障时,仍然能在一定程度上完成预期的功能,则把该软件称为( A )。

A、软件容错 B、系统软件 C、测试软件 D、恢复测试 一、选择题

1.软件产品的开发主要是( D )。

A.复制 B.再生产 C.拷贝 D.研制 2.作坊式小团体合作生产方式的时代是( C )时代。

A.程序设计 B.软件生产自动化 C.程序系统 D.软件工程 3.软件工程与计算机科学性质不同,软件工程着重于( C )。

A.理论研究 B.原理探讨 C.建造软件系统 D.原理的理论 4.将每个模块的控制结构转换成计算机可接受的程序代码是( A )阶段的任务。

5