2015年郑州大学软件学院软件工程期末试卷(自己整理的 - 很完整的) 下载本文

A.计算机辅助静态分析 B.黑盒法 C.路径覆盖 D.边界值分析 41.程序的三种基本控制结构是(B )

A.过程、子程序和分程序 B.顺序、选择和重复 C.递归、堆栈和队列 D.调用、返回和转移 43.详细设计的结果基本决定了最终程序的(C ) A.代码的规模 B.运行速度 C.质量 D.可维护性 44.结构化程序设计主要强调的是( D)

A. 程序的规模 B. 程序的效率 C. 程序设计语言的先进性 D. 程序易读性 46.黑盒测试在设计测试用例时,主要研究 ( A ) A.需求规格说明与概要设计说明 B.详细设计说明

C.项目开发计划 D.概要设计说明与详细设计说明

47.若有一个计算类型的程序,它的输入量只有一个,其范围是从输入的角度考虑一组测试用例, 设计这组测试用例的方法是(C )

A.条件覆盖法 B.等价分类法 C.边界值分析法 D.错误推测法 48.下列属于维护阶段的文档是( C )

A.软件规格说明 B.用户操作手册 C.软件问题报告 D.软件测试分析报告 49.快速原型模型的主要特点之一是(D )

A.开发完毕才见到产品 B.及早提供全部完整的软件产品 C.开发完毕后才见到工作软件 D.及早提供工作软件 52.下列模型属于成本估算方法的有( A)

A.COCOMO模型 B.McCall模型 C.McCabe度量法 D.时间估算法 53.能力成熟度模型可以( A )

A、使软件组织建立一个有规律的成熟的软件过程 B、使用软件没有错误 C、使软件开发人员掌握更多的技术 D、避免开发人员跳槽 55.数据字典是对数据定义信息的集合,它所定义的对象都包含于(A ) A.数据流图 B.程序框图 C.软件结构 D.方框图 56.需求分析阶段的任务是确定 ( D )。

A.软件开发方法 B.软件开发工具 C.软件开发费 D.软件系统的功能 58.软件详细设计的主要任务是确定每个模块的 A 。

A.算法和使用的数据结构 B.外部接口 C.功能 D.编程 59.程序的三种基本控制结构是( B )。

A.过程、子程序积分程序 B.顺序、选择和重复

C.递归、堆栈和队列 D.调用、返回和转移

60.软件测试方法中,黑盒测试方法和白盒测试方法是常用的方法,其中黑盒测试方法主要用于测试(B )。

A.结构合理性 B.软件外部功能 C.程序正确性 D.程序内部逻辑

61.在软件开发和维护的过程中,为了定量地评价软件质量,必须对软件特性进行 (B) A.测试 B.度量 C.评审 D.维护

64.对象是OO方法的核心,对象的类型有多种,通常把例如飞行、事故、演出、开会等等,称之为( C )

A.有形实体 B.作用 C.事件 D.性能说明

65.在面向对象软件开发方法中,类与类之间主要有以下结构关系(A) A.继承和聚集 B继承和一般 C 聚集和消息传递 D继承和方法调用 66.以下哪一项不是软件危机的表现形式(C)

A成本高 B生产率低 C技术发展快 D质量得不到保证 67.以下哪一项不是面向对象的特征(D) A)多态性 B)继承性 C封装性 D过程调用 68.面向对象模型主要由以下哪些模型组成(A)

A对象模型、动态模型、功能模型 B对象模型、数据模型、功能模型 C数据模型、动态模型、功能模型 D对象模型、动态模型、数据模型 69.软件项目计划一般不包括以下哪项内容(D)

A培训计划 B 人员安排 C 进度安排 D软件开发标准的选择和制定 三、简答

1. 简述软件工程方法学所包含的内容。

软件工程方法学包括三个要素, 这就是方法、工具和过程。其中,方法是完成软件开发的各项任务的技术方法,回答“如何做”的问题;工具是为方法的运用提供自动的或半自动的软件支撑,过程是为了获得高质量的软件所需要完成的一系列任务的框架,它规定了完成各项任务的工作步骤。

2.什么是软件过程?它与软件工程方法学有何关系?

(1)软件过程是为了获得高质量软件所需要完成的一系列任务的框架,它规定了完成各项任务的工作步骤。

(2) 软件过程是软件工程方法学的3个重要组成部分之一。 (3) 软件工程方法学包含三个要素:方法、工具和过程。 3.分析软件危机产生的主要原因有哪些?

答:导致软件危机的主要原因有:

(1)软件日益复杂和庞大(2)软件开发管理困难和复杂(3)软件开发技术落后(4)生产方式落后(5)开发工具落后(6)软件开发费用不断增加 4、说明结构化程序设计的主要思想是什么? 答:(1)自顶向下、逐步求精的程序设计方法

(2)使用3种基本控制结构、单入口、单出口来构造程序。 5、软件测试包括哪些步骤?说明这些步骤的测试对象是什么? 答:(1)单元测试:测试对象对单元模块

(2)集成测试:测试对象为组装后的程序模块 (3)确认测试:测试对象为可运行的目标软件系统 (4)系统测试:测试对象为计算机系统的各组成部分 6、需求分析与软件设计二个阶段任务的主要区别是什么? 答:需求分析定义软件的用户需求,即定义待开发软件能做什么

软件设计定义软件的实现细节以满足用户需求,即研究如何实现软件。 7、说明软件测试和调试的目的有何区别? 答:测试的目的是判断和发现软件是否有错误

调试的目的是定位软件错误并纠正错误。 四、综合应用

1、某“调整工资”处理模块接受一个“职称”的变量,根据职称的不同(助教,讲师,副教授,教授)作不同的处理,其中若是助教还必须输入工龄,只有工龄超过两年才能调整工资。请用等价类划分法设计测试用例。

输入条件 职称 合理等价类 ①教授 ②副教授 ③讲师 职称兼工龄 ④助教兼工龄大于2年 ⑥助教兼工龄等于两年 ⑦助教兼工龄小于两年

二、填空(20分)

1.增量模型适合于___软件需求_____不明确、设计方案有一定风险的软件项目。 2.结构化分析方法的分析策略是____自顶向下逐步求精______。

不合理等价类 ⑤四种职称之外任意一种 3.可行性研究实质上是要在较高层次上以较抽象的方式进行_____需求分析和设计______的过程。 4.衡量模块独立性的两个定性标准是____耦合性和内聚性_____。 5.Jackson方法是一种面向_____数据结构_________的设计方法。

6.软件集成测试的方法主要有两种,它们是____渐增式和非渐增式测试______。 7.维护阶段是软件生存周期中花费精力和费用_____最多________的阶段。 8.继承性是子类自动共享其父类的________数据结构和方法______机制。 9.在面向对象方法中,人们常用状态图描述类中对象的_______动态行为____。

10.规定功能的软件,在一定程度上能从错误状态自动恢复到正常状态,则称该软件为_____容错____软件。 三、选择(20分)

1.需求分析中,开发人员要从用户那里解决的最重要的问题是( A )。 A、要让软件做什么 B、要给该软件提供哪些信息 C、要求软件工作效率怎样 D、要让该软件具有何种结构 2.DFD中的每个加工至少有( B )。

A、一个输入流或一个输出流 B、一个输入流和一个输出流 C、一个输入流 D、一个输出流 3.详细设计与概要设计衔接的图形工具是( B )。

A、DFD图 B、SC图 C、PAD图 D、程序流程图 4.下列几种类型中,耦合性最弱的是( D )。

A、内容型 B、控制型 C、公共型 D、数据型 5.确认测试中,作为测试依据的文档是( A )。

A、需求规格说明书 B、设计说明书 C、源程序 D、开发计划 6.为了适应软硬件环境变化而修改软件的过程是( C )。

A、校正性维护 B、完善性维护 C、适应性维护 D、预防性维护 7.瀑布模型是一种( A )。

A、整体开发模型 B、非整体开发模型 C、风险驱动模型 D、对象驱动模型 8.用于描述对象模型的工具是( D )。

A、数据流图 B、结构图 C、状态图 D、对象图

9.基线可作为软件生存期中各开发阶段的一个检查点。当采用的基线发生错误时,可以返回到最近和最恰当 的( C )上

A.配置项 B.程序 C.基线 D.过程 10.软件质量保证应在( A )阶段开始。