《软件工程模拟试题及参考答案》(五)
一、单向选择题(四选一、每小题2分,共18分)
1、统计表明,软件测试工作往往占软件开发总工作量的(B)%以上。 A. 20 B. 40 C. 60 D. 80
2、单元测试的测试对象是(B)。1403 A. 系统
B. 程序模块。 C. 模块接口 D. 系统功能
3、软件总体设计是指软件总体结构设计和数据设计,该阶段的主要任务不包括(D)。0801 A. 设计软件的模块结构 B. 定义接口并建立数据结构
C. 生成概要设计规格说明和组装测试计划 D. 模块设计
4、软件开发部分的任务是将系统对软件的需求转换成可操作的系统要素,即(A)0101 A. 软件 B. 硬件 C. 文本 D. 说明
5、维护工作量的估算模型为:M=P+Ke(c-d)其中:M代表(A)。1502 A. 维护所用工作量 B. 生产性工作量 C. 助动性工作量 D. 经验常数
6、维护的副作用可分三类,不包括(D)。1504 A. 代码副作用 B. 数据副作用 C. 文档副作用 D. 人员副作用
二、填空题(每空2分,共18分)
1. 软件工程由(方法)、工具和过程三部分组成,称软件工程的三要素。0103 2. 基于计算机系统的软件要素中的软部件由程序、数据和(文档)组成。0301
3. 数据流图就是用来刻画数据流和转换的信息系统建模技术。它用简单的图形记号分别表示数据流、转换、(数据源)以
及外部实体。0501
4. 被继承的类我们称之为基类(父类),在基类的基础上新建立的类我们称之为派生类子类。0701
5. 流程图也称为程序框图是最常用的一种表示法,它有顺序、分支和(循环)三个基本控制构件。0802 6. 机器语言和汇编语言,也称为(低级)语言。1301
7. 软件测试是执行程序发现并排除程序中潜伏的(错误)的过程。1401 8. 动态测试有两种测试方法:黑盒测试和(白盒)测试。1401
9. 软件可维护性,是指软件产品交付使用后,在实现改正潜伏的错误、改进性能等属性、适应环境变化等方面工作的(难
易)程度。0103
三、判断题(每小题2分,共24分,错误打X、正确打√)
1. 文档记录软件开发活动和阶段成果,具有永久性,可供人或机器阅读。(√)0101 2. 生产高质量的软件产品是软件工程的首要目标。(√)0203
3. 软件开发人员对用户需求的理解有偏差,这将导致软件产品与用户的需求不一致,是产生软件危机的唯一原因。(X)0102 4. 开发一个软件项目总存在某些不确定性,即存在风险。有些风险如果控制得不好,可能导致灾难性的后果。(√)0206 5. 面向对象设计是将面向对象分析所创建的分析模型进一步细化形成软件设计模型的过程。(√)1101 6. 只有了解用户、了解任务,才能设计出好的用户界面。(√)1202
7. 8. 9. 10. 11.
结构化维护用于待维护的软件的配置是完整的维护。(√)1501
用户本身的技能,个性上的差异,行为方式的不同,不会对人机界面使用造成影响。(X)1201 程序的可靠性、可维护性和效率通常由程序设计语言、源代码的质量、和语言的实现机制决定的。(√)1302 程序文档一般指以注释的形式嵌入程序中的代码描述。(√)1303
为提高可交互性一般应提高用户对话、移动和思考的效率,即最大可能地减少击键次数,缩短鼠标移动的距离,避免使用户产生无所适从的感觉。(√)1204
12. 一般单元测试不可以并行进行。(X)1403
四、简答题(每小题4分,共20分)
1、软件工程的原则有抽象、信息隐藏、模块化和其他那些内容? 局部化 一致性 完全性 可验证性
2、常用的软件项目的估算方法主要有哪4种? 1.自顶向下的估算方法 2.自底向上的估算方法 3.差别估算法
4.根据经验估算公式
3、一个PDL的原型,它可以建立在任意一个通用的结构化程序设计语言之上。其基本成分包括:子程序定义、界面描述、数据说明和其它那些内容?0802 块结构 分支结构 循环结构 I/O结构 4、人机界面设计过程可分为创建系统功能的外部模型;确定为完成此系统功能人和计算机应分别完成的任务及另外哪4个步骤?1202
1)考虑界面设计中的典型问题 2)借助CASE工具构造界面原型 3)实现设计模型 4)评估界面质量
5、软件测试过程一般可划分为哪几个主要阶段? 单元测试 集成测试 验收测试 系统测试
五、综合题(每小题10分,共20分) 1、请简述编码原则
1)编写易于修改和维护的代码 2)编写易于测试的代码 3)编写详细的程序文档
4)编程中采用统一的标准和约定,降低程序的复杂性 5)分离功能独立的代码块形成新的模块
2、什么是条件覆盖?并为以下程序流程图设计条件覆盖测试用例并标明程序执行路径。
开始a(x>1) AND (y=0)Fc(x=2) OR (z>1)Fe结束TTbd语句段1语句段2
解:1)条件覆盖——条件覆盖是指设计足够的测试用例,使每个判定表达式中的每个条件的每种可能值都至少出现一次。 设计如下两组测试用例,可以满足条件覆盖的标准: x=2,y=0,z=3
(覆盖x>1,y=0,x=2,z>1,通过路径abcde); x=1,y=1,z=1
(覆盖x≤1,y≠0,x≠2,z≤1,通过路径ace)。