一、选择题(每题2分,共40分)
1.软件工程学科出现的主要原因是( C )。
A.计算机的发展 B.其他工程科学的影响
C.软件危机的出现 D.程序设计方法学的出现
2.判定表由四部分组成:左上部列出( B )。
A.条件组合与动作之间的对应关系 B. 所有条件
C. 所有可能的动作 D. 可能的条件组合
3. SA方法的基本思想是( C )。
A.自底向上逐步抽象 B.自底向上逐步分解
C.自顶向下逐步分解 D.自顶向下逐步抽象
4.结构化程序设计主要强调的是( C )。 A.程序的效率 B.程序的执行速度 C.程序的易读性 D.程序的规模
5. 数据说明为了使数据定义更易于理解维护,以下原则中错误的是( D)。
A. 数据说明顺序应规范,使数据的属性更易于查找,从而有利于测试、纠错与维护。
B. 一个语句说明多个变量时,各变量名按字典顺序排列。
C. 对于复杂的数据结构,要加注释,说明在程序实现时的特点。
D. 注释是程序员与读者之间通信的重要工具,但是可有可无的。
6. 软件测试中,白盒法是通过分析程序的( B )来设计测试用例的。 A.应用范围 B.内部逻辑 C.功能 D.输入数据7.为了提高软件测试的效率,应该( D )。 A. 在完成编码以后制定软件的测试计划 B.取一切可能的输入数据作为测试数据 C. 随机地选取测试数据 D.选择发现错误可能性较大的数据作为测试用例
8.在软件生命周期中,工作量所占比例最大的阶段是( D )阶段。
A.需求分析 B.设计 C.测试 D.维护
9.对象是面向对象开发方法的基本成分,每个对象可用它本身的一组( C )和它可以执行的一组操作来定义。
A. 服务 B. 参数 C. 属性 D. 调用
10. 面向对象程序设计中,基于父类创建的子类具有父类的所有特性(属性和方法),这一特点称为类的( C )。
A. 多态性 B. 封装性 C . 继承性 D. 重用性
11. 面向对象方法中,对象信息的隐藏主要是通过( A )实现的。
A. 对象的封装性 B. 子类的继承性
C. 系统模块化 D. 模块的可重用
12.软件复用可以分为横向复用和( C )。
A.逻辑复用 B.代码复用 C.纵向复用 D.文档复用
13.( D )工具在软件详细设计过程中不采用。
A.判定表 B.N-S图 C.PDL D.DFD图
14.程序的三种基本控制结构的共同特点是( D )
A.不能嵌套使用 B.只能用来写简单程序
C.已经用硬件实现 D.只有一个入口和一个出口
15.一个模块的(B )是指能直接控制该模块的模块数。
A.扇出数 B.扇入数 C.宽度 D.深度
16.按照软件工程的原则,模块的作用域和模块的控制域之间的关系是:(A )
A.模块的作用域应在模块的控制域之内。
B.模块的控制域应在模块的作用域之内。
C.模块的控制域与模块的作用域互相独立。
D.以上说法都不对。
17.软件纠错技术包括( B)
A.边界值分析 B.演绎法 C.循环覆盖 D.集成测试
18.瀑布模型的存在问题是( B )
A.用户容易参与开发 B.缺乏灵活性
C.用户与开发者易沟通 D.适用可变需求
19. 可维护性的特性中相互促进的是( A)
A.可理解性和可测试性 B.效率和可移植性
C.效率和可修改性 D.效率和结构好
20.软件需求分析是保证软件质量的重要步骤,它的实施应该是在(C )。 A.编码阶段 B.软件开发全过程 C.软件定义阶段 D.软件设计阶段
二、问答题(每题4分,共16分)
1. 简述维护的四种类型。
答:软件维护包括纠错性维护、