强化习题
1下列描述中,不属于软件危机表现的是( )。
A.软件过程不规范
B.软件开发生产率低
C.软件质量难以控制
D.软件成本不断提高
【答案】A
【解析】软件的危机表现包括:①软件需求的增长得不到满足,用户对系统不满意的情况经常发生;②软件开发成本和进度无法控制;③软件质量难以保证;④软件不可维护或维护程度非常低;⑤软件的成本不断提高;⑥软件开发的生产效率的提高赶不上硬件的发展、生产率等问题。答案选择A选项。
2软件生命周期是指( )。
A.软件产品从提出、实现、使用维护到停止使用退役的过程
B.软件从需求分析、设计、实现到测试完成的过程
C.软件的开发过程
D.软件的运行维护过程
【答案】A
【解析】软件生命周期是指软件产品从提出、实现、使用、维护到停止使用、退役的过程。答案选择A选项。
3下列叙述中,不属于软件需求规格说明书的作用的是( )。
A.便于用户,开发人员进行理解和交流
B.反映出用户问题的结构,可以作为软件开发工作的基础和依据
C.作为确认测试和验收的依据
D.便于开发人员进行需求分析
【答案】D
【解析】软件需求说明书(SRS)的编制是为了:①便于用户、开发人员进行理解和交流;②反映出用户问题的结构,可以作为软件开发工作的基础和依据;③作为确认测试和验收的依据;④为成本估算和编制计划进度提供基础;⑤软件不断改进的基础。答案选择D选项。
4数据流图用于抽象描述一个软件的逻辑模型,数据流图由一些特定的图符构成。下列图符名标识的图符不属于数据流图合法图符的是( )。
A.控制流
B.加工
C.存储文件
D.源和潭
【答案】A
【解析】数据流图从数据传递和加工角度,以图形方式来表达系统的逻辑功能、数据在系统内部的逻辑流向和逻辑变换过程,其图符包括:①加工、②数据流、③存储文件、④源和潭。答案选择A选项。
5在结构化方法中,软件功能分解属于下列软件开发中的( )阶段。
A.详细设计
B.需求分析
C.总体设计
D.编程调试
【答案】C
【解析】总体设计过程通常由两个主要阶段组成:①系统设计,确定系统的具体实现方案;②结构设计,确定软件结构。为确定软件结构,首先需要从实现角度把复杂的功能进一步分解。分析员结合算法描述仔细分析数据流图中的每个处理,如果一个处理的功能过分复杂,必须把它的功能适当地分解成一系列比较简单的功能。答案选择C选项。
6软件详细设计产生的图如下:
该图是( )。
A.N-S图
B.PAD图
C.程序流程图
D.E-R图
【答案】C
【解析】N-S图是由若干基本框图构成的流程图,其特点是没有流程线;PAD图即问题分析图,它是一种由左往右展开的二维树形结构;程序流程图用于描述问题解决的过程和步骤,其中方框表示处理步骤,菱形框表示逻辑判断,箭头表示控制流向;E-R图即实体-联系图,用来描述现实世界的概念模型,构成元素有实体、属性和联系,分别用矩形、椭圆形和菱形表示。答案选择C选项。
7下列方法中,属于白盒法设计测试用例的方法的是( )。
A.错误推测
B.因果图
C.基本路径测试
D.边界值分析
【答案】C
【解析】白盒测试方法也称为结构测试或逻辑测试,用来检查软件内部的逻辑结构,主要方法有:①逻辑覆盖测试;②基本路径测试等。黑盒测试用于对软件的功能进行测试和验证,不需考虑程序内部的语句和逻辑结构。黑盒测试的方法主要包括:①等价类划分法;②边界值分析法;③错误推测法;④因果图。答案选择C选项。
8下列描述中正确的是( )。
A.软件测试的主要目的是发现程序中的错误
B.软件测试的主要目的是确定程序中错误的位置
C.为了提高软件测试的效率,最好由程序编制者自己来完成软件测试的工作
D.软件测试是证明软件没有错误
【答案】A
【解析】软件测试的目的是尽可能多的发现错误,程序调试任务是诊断和改正程序中的错误。由于思维定势等原因应尽量避免程序员检查自己的程序。答案选择A选项。
9程序调试的任务是( )。
A.设计测试用例
B.验证程序的正确性
C.发现程序中的错误
D.诊断和改正程序中的错误
【答案】D
【解析】软件测试的目的是尽可能多的发现错误。程序调试基于软件测试时发现的错误,其任务是诊断和改正程序中的错误。答案选择D选项。
10下列方法中,不属于软件调试方法的是( )。
A.回溯法
B.强行排错法
C.集成测试法
D.原因排除法
【答案】C
【解析】软件调试采用的主要方法包括:①强行排错法,其过程为设置断点、程序暂停、观察程序状态、继续运行程序;②回溯法,指一旦发现了错误,先分析错误征兆,确定最先发现“症状”的位置;③原因排除法,指通过演绎和归纳,以及二分法来排错。答案选择C选项。