《软件工程》习题集 下载本文

行改进?

六 程序设计语言和编码

一、选择题

1.程序设计语言可以分为()

A、面向过程的语言 B、机器语言 C、高级语言 D、汇编语言 2.程序效率包括()几个方面的内容。

A、代码效率 B、运行效率 C、存储效率 D、I/O效率 3.SP方法中的基本控制结构有() A、顺序结构 B、选择结构 C、重复结构 D、GOTO结构

4.内部文档可用注释语言书写,注释语言分为() A、序言性注释 B、描述性注释 C、功能性注释 D、状态性注释

5.为使程序中数据说明更易于理解和维护,必须遵循以下原则( )。 A、数据说明的次序应当规范化;

B、一个语句说明多个变量时,各变量名按字母顺序排列;

C、对于复杂的数据结构,要加注释,说明在程序实现时的特点; D、定义变量名应按字母顺序排列。

6.源程序的效率与()阶段确定的算法的效率直接有关。 A、概要设计 B、总体设计 C、单元设计 D、详细设计

7.在详细设计翻译转换成源程序代码后,算法效率反映为对程序的哪几个方面的要求() A、读写速度 B、代码长度 C、存储容量 D、执行速度 8.提高程序效率的根本途径在于( )

A.编程时对程序语句做调整; B.选择良好的设计方法;

C.使程序最大限度的简洁; D.选择良好的数据结构与算法。

二、简答题

1.编码阶段的主要任务是什么?

2.结构化程序设计的优点是什么?如何在编码中使用这种方法? 3.为何要进行程序的注释?应怎样进行程序的注释?

4.什么是应该提倡的编程风格?为了有良好的设计风格,应注意哪些方面的问题? 5.编码阶段的主要任务是什,应交付的结果是什么? 6.SP法的自顶向下,逐步求精方法的优点有哪些? 7.为了有良好的设计风格,应注意哪些方面的问题?

8.怎样评价程序的执行效率?它与程序清晰性的关系是怎样的?

9.假定:需要编一个求解一元二次方程根的子程序,加入到现有的子程序库中,供其他程序员使用。要求:

1)为该子程序写一个序言性注释;

2)用PASCAL语言或其它语言写出这个子程序(要把根的性质,如:实根、复根、降为一次方程等等有区别地通知调用者),并加上描述性注释。

七 软件测试

一、选择题

1.软件测试的主要特点是() A、软件测试的开销大 B、软件测试要依靠工具

C、软件测试要验证软件正确性 D、软件不能进行“穷举”测试

2.整体测试又称为组装测试,其主要内容包括() A、对整体的性能进行测试 B、设计测试用例进行功能测试 C、设计测试用例进行测试 D、对组装过程进行测试

3.渐增式是将模块一个一个的连入系统,每连入一个模块,() A、只需要对新连入的模块进行测试。 B、都不需要再进行测试。 C、都要对新子系统进行测试。 D、都要进行回归测试。

4.静态测试是以人工的、非形式化的方法对程序进行分析和测试。常用的静态测试方法有:()

A、状态图 B、流程图

C、数据流分析图 D、调用图

5.集成过程的原则是()

A、尽量将所有模块集成到系统中 B、尽早测试关键模块

C、集成尽早测试关键模块尽早测试包含I/O的模块 D、按照输入-处理-输出的次序进行集成 6.关于白盒法覆盖程度的论述中正确的是:()

A、语句覆盖:选择测试用例使程序中每条语句至少被执行一次

B、判定覆盖:选择测试用例使程序中每个判定至少都获得一次“真”值和一次“假”值。

C、条件覆盖:选择测试用例使每个条件都满足。

D、条件组合覆盖:将所有的判定条件的都组合起来执行。 7.软件测试的基本原则是() A、关键是注重测试用例的选择 B、选择尽可能多的测试用例 C、尽量不由程序设计者进行测试 D、充分注意测试中的群集现象 8.等价分类法的关键是() A、选择测试用例

B、找出等价类的边界条件 C、划分等价类

D、通过输入条件,确定无效等价类

二、判断题

1.单元测试通常应该先进行“人工走查”,再以白盒法为主,辅以黑盒法进行动态测试。 2.功能测试是系统测试的主要内容,检查系统的功能、性能是否与需求规格说明相同。

3.白盒法是一种静态测试方法,主要用于模块测试。 4.软件测试的目的是进一步对程序进行调试,发现错误。

5.在等价分类法中,为了提高测试效率,一个测试用例可以覆盖多个无效等价类。 6.白盒法是一种静态测试方法,主要用于模块测试。

7.在分析规范(因、果)的基础上画出因果图,再将其转换为有限项判断表,就容易得出测试用例。

8.系统测试的主要方法是白盒法,主要进行功能测试、性能测试、安全性测试及可靠性等测试。

9.有效性测试是在模拟的环境(或就是开发环境下)下运用黑盒法,验证软件特性是否与需求符合。

10.在发现错误后,则应按照一定的技术去纠正它。纠错的关键是“错误定位”。

三、简答题

1.渐增式与非渐增式各有何优、缺点?为什么通常采用渐增式? 2.自顶而下增值与自底而上增值各有何优、缺点? 3.等价分类法的基本思想是什么?

4.一般,驱动模块比桩模块容易设计,为什么? 5.什么是α测试和β测试?