软件工程试题
一、单项选择题(本大题共20小题,每小题1分,共20分)
在每小题列出的四个备选项中只有一个是符合题目要求的,请将其代码填写在题后的括号内。错选、多选或未选均无分。
1.软件开发环境按解决的问题分类包含
A.程序设计环境 B.工具箱环境
C.基于方法的环境 D.以语言为中心的环境
( A )
A.容错技术 B.避开错误技术
C.检测技术 D.排错技术
( A )
3.软件复杂性的常用度量方法包括
A.BOEHM度量法 B.可扩充度量法C.线性度量法 D.代码行度量法
( D )
A.对象的唯一性 B.抽象
C.继承性 D.分类性
( B )
A.全部功能 B.原型要体现的特征
C.全部细节 D.全部要求
( B )
6.维护中,因修改文件的打开或关闭而引起的错误是
A.文档副作用 B.数据副作用C.编码副作用 D.设计副作用
( C )
A.校正性维护 B.适应性维护
C.完善性维护 D.预防性维护
( A )
A.语句覆盖 B.判定/条件覆盖
C.条件组合覆盖 D.判定覆盖
( C )
A.回溯法调试 B.循环覆盖调试
C.边界值分析调试 D.集成测试调试
(A )
10.在软件测试中,首先对每个模块分别进行单元测试,然后再把所有的模块按设计要求组装在一起测试,
称为
A.确认测试 B.系统测试C.渐增式测试 D.非渐增式测试
( D )
A.心理特性 B.工程特性
C.技术特性 D.传统特性
( B )
A.BASIC B.SQL
C.LISP D.FORTRAN
( D )
A.引入中间数据结构或中间文件 B.删除某个输入数据结构
C.删除某个输出数据结构 D.增加某个输入或输出数据结构
( A )
14.模块的内聚性可以按照内聚程度的高低进行排序,以下排列中属于从低到高的正确次序是A.偶然内聚,时间内聚,逻辑内聚
B.通信内聚,时间内聚,逻辑内聚
C.逻辑内聚,通信内聚,顺序内聚
D.功能内聚,通信内聚,时间内聚
( C )
A.测试用例设计 B.概要设计
C.程序设计 D.详细设计
( B )
A.结构化语言 B.PAD图
C.判定表 D.程序流程图
( C )
判定表:
1、判定表是一个表格,分为四个部分,其左部是条件或数组元素的名称,右上部是所有条件的组合,左下部是处理中活动的名称,右下部标明条件组合和相应的活动的对应关系。
2、判定表是分析和表达 多逻辑条件下执行不同操作的情况的工具。
1 | 2 | 3 | 4 | |||
条件 | 觉得疲倦? | Y | Y | N | N | |
感兴趣吗? | N | Y | Y | N | ||
动作 | 重读 | |||||
继续 | √ | |||||
跳下一章 | √ | |||||
休息 | √ | √ |
17.需求分析方法必须能够表达和理解问题的数据域和
A.数据流 B.用户类型
C.功能域 D.应用领域
( C )
A.瀑布模型 B.基于知识的模型
C.喷泉模型 D.增量模型
(C )
A.软件项目管理 B.软件工程
C.软件项目计划 D.软件生存期
( D )
A.需求分析阶段 B.设计阶段
C.测试阶段 D.维护阶段
( D )
A. 详细设计B.软件编码C.软件测试D.软件维护
(D)
的决策依据,因必须给出的回答。
A.确定B.行或不行C.正确D.无二义
(B)
A. 瀑布模型的核心是按照软件开发的时间顺序将问题简化。
B. 瀑布模型具由于良好的灵活性。
C. 瀑布模型采用结构化的分析与设计方法,将逻辑实现与物理实现分开。
D. 利用瀑布模型,如果发现问题则修改的代价很低。
(C)
A.代码的规模B.运行速度C.质量D.可维护性
(C)
A. 程序的规模B. 程序的效率C. 程序设计语言的先进性D. 程序
易读性
(D)
A.过程、子程序和分程序B.顺序、选择和重复C.递归、堆栈和队列D.调用、返回和转移
(B)
A、集成测试B、恢复测试C、验收测试D、单元测试
(C)
A. 标识 B. 规则 C. 封装D. 消息
(A)、
A. 键盘、鼠标、通信端口、网络等设备一有变化,就会产生消息
B.操作系统不断向应用程序发送消息,但应用程序不能向操作系统发送消息
C. 应用程序之间可以相互发送消息
D.发送与接收消息的通信机制与传统的子程序调用机制不同
(B)
A. 输入数据必须输入保密口令
B.数据经过加密处理
C. 对象内部数据结构上建有防火墙
D.对象内部数据结构的不可访问性
D。
答案:①D ②B ③C ④C ⑤D ⑥B ⑦C ⑧A ⑨B ⑩D
A、设计B、编程C、实现D、编码
( C)
和模块化的过程。
A、数据流B、数据流图C、数据库D、数据结构
(A)
A、效率B、速度C、可读性D、大小
( C)。
A、户中系统的直接使用者B、用户和软件人员的中间人
C、软件的编程人员D、用户和软件人员的领导
(B )
A、不能嵌套使用B、只能用来写简单的程序
C、已经用硬件实现D、只有一个入口和一个出口
(D )。
A、程序员B、项目管理者C、软件分析设计人员D、软件用户
( D)
A、需求说明书B、设计说明书C、源程序D、项目开发设计
( B)
A、DFD 图B、数据字典C、IPO 图D、PAD 图
如何理解结构化分析SA的基本思想?
解析:
其基本思想是将系统开发看成工程项目,有计划、有步骤地进行工作,是一种应用很广的开发方法,适应于分析大型信息系统。
结构化分析方法采用“自顶向下,逐层分解”的开发策略。按照这种策略,再复杂的系统也可以有条不紊地进行,只要将复杂的系统适当分层,每层的复杂程序即可降低,这就是结构化分析研究的特点。
( B)
A、数据流和事务流B、交换流和事务流
C、信息流和控制流D、交换流和数据流
(B)
A、模块说明书B、框图C、程序D、数据结构
(A )。
答案:1. C 2. A 3. C 4. B 5. D 6. D 7. D 8. B 9. B 10. A
1. 软件是
A. 处理对象和处理规则的描述 B. 程序
C. 程序及其文档 D. 计算机系统
( C)。
A. 主要功能 B. 算法的详细描述
C. 用户界面及运行环境 D. 软件的性能
(B )。
A. 过程、子程序和分程序 B. 顺序、选择和重复
C. 递归、迭代和回溯 D. 调用、返回和转移
( B)
A) 系统模型、ER 模型、应用模型
B) 对象模型、动态模型、应用模型
C) E-R模型、对象模型、功能模型
D) 对象模型、动态模型、功能模型
(D )
A) 数据、对象、实体
B) 控制、联系、对象
C) 实体、联系、属性
D) 实体、属性、操作
( C)。
A) 完善性维护B) 纠错性维护C) 适应性维护D) 预防性维护
(A )。
A. 证明软件是正确的 B. 发现错误、降低错误带来的风险
C. 排除软件中所有的错误 D. 与软件调试相同
(B )。
A.详细设计B.软件编码C.软件测试D.软件维护
(D )
输入的角度考虑一组测试用例:-1.001, -1.0, 1.0, 1.001.设计这组测试用例的方法是
A.条件覆盖法B.等价分类法C.边界值分析法D.错误推测法
( C)
A.功能B.调用关系C.输入输出数据D.算法
( D)
11.设
函数C(X)定义问题X 的复杂程序,
函数E(X)确定解决问题X 需要的工作量(时间)。
对于两个问题P1 和P2,如果C(P1)>C(P2)显然E(P1)>E(P2),则得
出结论E(P1+P2)>E(P1)+E(P2)就是:A.模块化的根据B.逐步求精的根据C.抽象的根据D.信息隐藏和局部化的根据
(A )
A.语句覆盖B.条件覆盖C.判定覆盖D.条件组合覆盖
( D)
A.数据流B.系统结构C.控制结构D.信息流
(A )
A.偶然B.过程C.顺序D.时间
( A)
A.总体设计B.详细设计C.编码D.测试
(A )
A.数据流程图案B.数据字典C.判定表D.需求规格说明书
( D)
A.数据库设计B.数据通信C.数据定义D.数据维护
(C )
A.增量模型B.喷泉模型C.原型模型D.螺旋模型
(D )
A.逻辑内聚B.时间内聚C.偶然内聚D.功能内聚
(D )
A.证明了被测试程序正确无误B. 说明了被测试程序符合相应的要求
C.未发现被测程序的错误D.发现了至今为止尚未发现的错误
( D)
答案:1.C 2.B 3.B 4.D 5.C 6.A 7.B 8.D 9.C 10.D 11.A 12.D 13.A 14.A 15.A 16.D 17.C 18.D 19.D 20.D
二、填空题(本大题共10小题,每空2分,共20分)
请在每小题的空格中填上正确答案。错填、不填均无分。
21.软件工具通常由工具、工具接口和____工具用户接口___________三部分构成。
22.软件工程管理中的控制包括进度控制、人员控制、经费控制和___质量控制____________。
23.软件开发的原型模型可以分为三类,它们是:探索型原型、实验型原型和____演化型原型__________。
24.软件复杂性主要表现在程序的复杂性。程序的复杂性主要指____模块内___________程序的复杂性。
25.白盒法中,___基本路径测试____________首先以详细设计或源程序为基础,导出控制流程图的拓扑结构(程序图)。
26.在软件的详细设计中,根据控制流程从上到下,从左到右展开的设计工具是________PAD图_______。
27.一个模块通过传递开关、标志对某一模块的多种功能进行选择,则这两个模块之间的耦合方式是_控制耦合______________。
28.结构化分析是面向 _数据流______________进行需求分析的方法。
29.有效的模块化是通过定义一组___相互独立____________的模块来实现信息隐蔽的,这些模块彼此之间仅交换那些为了完成系统功能所必须的信息。
30.在软件生产中,_软件工程过程______________的作用是规定了获取、供应、开发、操作和维护软件时,要实施的过程、活动和任务。
三、名词解释题(本大题共5小题,每小题3分,共15分)
31.软件开发环境
32.错误推测法
33.黑盒测试法
34.软件质量保证
35.瀑布模型
四、简答题(本大题共4小题,每小题5分,共20分)
36.增量构造模型有什么特点?
37.软件测试要经过哪些步骤?简述这些测试的基本任务。
38.简述需求分析方法应遵循的基本原则。
39.模块间的耦合性包括哪些类型?
五、应用题(本大题共3小题,第40小题7分,第41小题8分,第42小题10分,共25分)
40.设有如下程序流程图
x y
测试数据组1 0 0
测试数据组2 0 3
测试数据组3 3 -1
测试数据组4 4 -2
测试数据组5 4 1
根据表中的测试数据回答如下问题:
(1)满足语句覆盖的最少测试组合是什么?
(2)满足判定覆盖的最少测试组合是什么?
(3)满足条件组合覆盖的最少测试组合是什么?
41.有一个处理单价为5角钱的饮料的自动售货机软件,其规格说明如下:
(1)若投入5角钱或1元钱的硬币,按下饮料的按钮,则相应的饮料就送出来。
(2)若售货机没有零钱找,则一个显示零钱找完的红灯亮,这时投入1元硬币并按下按钮后,饮料不送出来并且1元硬币也退出来;
(3)若有零钱找,则显示零钱找完的红灯灭,在送出饮料的同时退还5角硬币。
试用判定表描述加工逻辑。(要求用单条件,不允许用复合条件)
42.一实时监护系统的中央处理机的功能如下:
(1)由定时检测系统取得各个监护病员的生理数据(脉搏,体温,血压)经合法性检查后,与预先保存的每一病号生理临界数据进行比较;
(2)如发现超越临界则启动自动报警装置发出警报信号;
(3)定时检测的数据将被格式化并被记入日志文件;
试根据要求画出该问题的数据流图,并将其转换为软件结构图。
软件工程答案: