软件工程期末试题(含答案)
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
一、填空题(每空1分,共25分)
1.软件生存周期一般可以划分为,问题定义、可行性研究、需求分析、设计、编码、测试和运行
和维护。
2.基于软件的功能划分,软件可以划分成___系统软件_、支撑软件、应用软件__三种。
3.可行性研究,应从经济可行性、技术可行性、运行可行性、法律可行性和开放方
案可行性等方面研究。
4.系统流程图是描绘物理系统的传统工具。它的基本思想是用图形符号以黑盒子
形式描绘系统里面的每个部件
5.数据流图的基本四种成分:数据输入的源点和数据输出汇点、加工、数据流和数据存储文
件。
6.结构化分析方法是面向_数据流_进行需求分析的方法。结构化分析方法使用_数据流图DFD_与_
数据字典_来描述。
7.继承性是自动地共享类、子类和对象中的方法和数据的机制。
8.软件详细设计工具可分为3类,即_图示工具_、_设计语言_和_表格工具_。
9.为了在软件开发过程中保证软件的质量,主要采取下述措施:_审查__、复查和管理复审、___
测试_。
10.大型软件测试包括单元测试、集成测试、确认测试和系统测试四个步骤。
二、单项选择题(每小题2分,共20分)
1.软件设计中划分模块的一个准则是(C )。
A、低内聚低耦合 B.低内聚高耦合C.高内聚低耦合 D.高内聚高耦合
2.Jackson设计方法是由英国的M. Jackson提出的,它是一种面向( C )的软件设计方法。
A、对象 B.数据流 C.数据结构 D.控制结构
3.试判断下列叙述中,哪个(些)是正确的( C )。
a、软件系统中所有的信息流都可以认为是事务流
b、软件系统中所有的信息流都可以认为是变换流
c、事务分析和变换分析的设计步骤是基本相似的
A、a
B、b
C、c
D、b和c
4.( A )是用户和设计交换最频繁的方法。
A、原型化方法
B、瀑布模型方法 C. 螺旋模型方法D、构件组装模型
5.软件工程方法学的目的是:使软件生产规范化和工程化,而软件工程方法得以实施的主要保证
是( 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、预防性维护
10.PDL是( B )语言。
A、高级程序设计语言
B、伪码式
C、中级程序设计语言
D、低级程序设计语言3.程序设计与算法描述题(共15分)
11.根据下面的伪代码程序,完成相应要求。(8分)
START
IF C1
THEN
WHILE C2 DO
f
ENDDO
ELSE
BLOCK
g
p
ENDBLOCK
ENDIF
REPEAT UNTIL C3
q
r
ENDREP
STOP
1)画出程序流程图(4分)
2)用N—S图描述(4分)
1)程序流程图如下:4分
(2)N-S图如下:4分
12.有下列伪码程序: START
INPUT (M,N)
IF M>=10
THEN X=10
ELSE X=l
ENDIF
IF N>=20
THEN Y=20
ELSE Y=2
ENDIF
PRINT(X,Y)
STOP
设计该程序的语句覆盖和路径覆盖测试用例。(7分)
设计该程序的语句覆盖和路径覆盖测试用例。
1.M=9(或 2.M=l0(或>=10),N=20(或>=20) 路径覆盖的测试用例为 ①M=9,N=19; ②M=9、N=20; ③M=l0,N=l9; ④M=10,N=20 一、选择题 1.软件产品的开发主要是(D )。 A.复制 B.再生产 C.拷贝 D.研制 2.作坊式小团体合作生产方式的时代是(C )时代。 A.程序设计 B.软件生产自动化 C.程序系统 D.软件工程 3.软件工程与计算机科学性质不同,软件工程着重于( C )。 A.理论研究 B.原理探讨 C.建造软件系统 D.原理的理论 4.将每个模块的控制结构转换成计算机可接受的程序代码是( A )阶段的任务。 A.编码 B.需求分析 C.详细设计 D.测试 5.可行性研究的目的是决定( B )。 A.开发项目 B.项目值得开发否 C.规划项目 D.维护项目 6.SA方法用DFD描述( D ) 。 A.系统的控制流程 B.系统的数据结构 C.系统的基本加工 D.系统的功能 7.软件概要设计结束后得到( B )。 A.初始化的软件结构图 B.优化后的软件结构图 C.模块详细的算法 D.程序编码 8.软件设计阶段一般又可分为( B )。 A.逻辑设计与功能设计 B.概要设计与详细设计 C.概念设计与物理设计 D.模型设计与程序设计 9.软件设计中划分模块的一个准则是( C )。 A.低内聚低耦合 B.低内聚高耦合 C.高内聚低耦合 D.高内聚高耦合 10.PDL是软件开发过程中用于( C )阶段的描述工具。 A.需求分析 B.概要设计 C.详细设计 D.编程 11.软件测试的目的是( B )。 A.试验性运行软件 B.发现软件错误 C.证明软件正确 D.找出软件中全部错误 12.软件测试中,白盒法是通过分析程序的(B )来设计测试用例的。 A.应用范围 B.内部逻辑 C.功能 D.输入数据 13.黑盒法是根据程序的(C )来设计测试用例的。 A.应用范围 B.内部逻辑 C.功能 D.输入数据 14.下面的逻辑测试覆盖中,测试覆盖最弱的是( C ) A.条件覆盖 B.条件组合覆盖 C.语句覆盖 D.条件及判定覆盖 15.把一组具有相似特性的对象组合在一起,称之为( C )。 A、多态性 B、继承性 C、类 D、消息