您的当前位置:首页广西大学软件工程期末考试复习题及参考答案

广西大学软件工程期末考试复习题及参考答案

2024-02-05 来源:世旅网
软件工程期末考试复习题

一.单选题(共26题,59.8分)

1、决定软件系统中各个模块的外特性,即其输入输出和功能是()的任务。 A、需求分析 B、概要设计 C、详细设计 D、编程阶段 正确答案: B

2、快速构建软件原型的的方法和工具主要有( )。 A、 第四代技术

B、可重用的软件构件

C、形式化规格说明和原型环境 D、以上都是 正确答案: D

3、软件可行性研究一般不考虑( )。

A、是否有足够的人员和相关的技术来支持系统开发 B、是否有足够的工具和相关的技术来支持系统开发 C、待开发软件是否有市场、经济上是否合算 D、待开发的软件是否会有质量问题 正确答案: D

4、在 E-R 模型中,包含以下基本成分( )。 A、数据、对象、实体 B、控制、联系、对象 C、实体、联系、属性 D、实体、属性、操作 正确答案: C

5、软件工程的出现主要是由于( )。 A、程序设计方法学的影响 B、其它工程科学的影响 C、软件危机的出现 D、计算机的发展 正确答案: C 6、 下列关于编码表述错误的是( )。 A、汇编语言优于高级语言

B、汇编语言编码需要把软件设计翻译成机器操作的序列,既困难又容易出差错; C、用高级语言写的程序容易阅读、容易测试、容易调试、容易维护 D、高级语言写程序比用汇编语言写程序生产率可以提高好几倍; 正确答案: A

7、关于软件文档描述错误的是( )。

A、必须描述如何使用这个系统,没有这种描述时即使是最简单的系统也无法使 用

B、必须描述怎样安装和管理这个系统

C、系统需求和设计是非必须描述的

D、必须描述系统的实现和测试,以便使系统成为可维护的 正确答案: C

8、典型的软件再工程过程模型定义的活动包括( )。 A、 目录分析 B、文档重构 C、逆向工程 D、以上都是 正确答案: D

9、为了提高软件的可维护性,在编码阶段应注意( )。 A、保存测试用例和数据 B、提高模块的独立性 C、文档的副作用

D、养成好的程序设计风格 正确答案:D

10、 确定测试计划是在( )阶段制定的. A、总体设计 B、详细设计 C、编码 D、测试 正确答案: A 11、 系统流程图是描绘()的传统工具。 A、逻辑系统 B、数据结构 C、状态变迁 D、物理系统 正确答案: D

12、需求分析是软件定义时期的最后一个阶段,它的基本任务是准确地回答( ) 这个问题。 A、 系统是什么

B、系统的作用是什么 C、系统必须做什么 D、该如何做系统 正确答案: C 13、 软件需求不包括 A、功能需求 B、环境需求

C、标准实现的空间需求 D、用户界面要求 正确答案:B

14、 软件测试的目标是( )。 A、证明软件是正确的

B、发现错误、降低错误带来的风险 C、排除软件中所有的错误

D、与软件调试相同 正确答案: B

15、下列文档与维护人员有关的有( )。 A、 软件需求说明书 B、项目开发计划 C、概要设计说明书 D、操作手册 正确答案: D

16、 下列说法不正确的是( )。 A、 功能需求指定系统必须提供的服务

B、可靠性需求定量地指定系统的可靠性,可用性与可靠性密切相关,它量化了 用户可以使用系统的程度。

C 、出错处理需求说明系统对环境错误应该怎样响应

D、接口需求描述在设计或实现应用系统时应遵守的限制条件。 正确答案: D

17、数据耦合、公共耦合、标记耦合、控制耦合的耦合性从低到高的顺序是( )。 A、数据、公共、标记、控制 B、数据、标记、控制、公共 C、控制、数据、标记、公共 D、控制、数据、公共、标记 正确答案: B 18、 开发软件所需高成本和产品的低质量之间有着尖锐的矛盾,这种现象称做 ( )

A、软件工程 B、软件周期 C、软件危机 D、软件产生 正确答案: C

19、瀑布模型的存在问题是( )。 A、用户容易参与开发 B、缺乏灵活性

C、用户与开发者易沟通 D、适用可变需求 正确答案: B

20、 下列说法不正确的是( )。 A、可行性研究的目的是解决问题

B 、 数据字典是关于数据的信息的集合,也就是对数据流图中包含的所有元素 的定义的集合。

C、数据字典最重要的用途是作为分析阶段的工具

D、软件开发成本主要表现为人力消耗(乘以平均工资则得到开发费用)。 正确答案: A

21、下列说法不正确的是

A、软件中使用的可重用构件越多,适应性和完善性维护也就越容易。

B、所谓重用是指同一事物不做修改或稍加改动就在相同环境中多次重复使用

C 、 软件可移植性指的是,把程序从一种计算环境(硬件配置和操作系统) 转移到另一种计算环境的难易程度。

D、模块的环形复杂度越大,可执行的路径就越多,因此,全面测试它的难度就 越高。

正确答案: B

22、 需求分析最终的结果是产生( )。 A、项目开发计划书 B、需求规格说明书 C、设计说明书 D、可行性报告分析 正确答案: B

23、软件生命周期中所花费用最多的阶段是( )。 A、详细设计 B、软件编码 C、软件测试 D、软件维护 正确答案: D

24、下列关于软件过程描述不正确的是( )。 A、快速原型模型是带反馈环的

B、螺旋模型的基本思想是,使用原型及其他方法来尽量降低风险。 C 、 “喷泉”这个词体现了面向对象软件开发过程迭代和无缝的特性。 D、RUP 把软件生命周期划分成4个连续的阶段。 正确答案: A

25、 面向对象技术中,对象是类的实例。对象有三种成份( )、属性和方法(或 操作)。 A、标识 B、规则 C、封装 D、消息 正确答案: A

26、 以下哪一项不是软件危机的表现形式( )。 A、成本高 B、生产率低 C、技术发展快

D、质量得不到保证 正确答案: C

二.填空题(共7题,16.1分)

1、一旦完成了面向对象程序设计,就开始对每个类进行单元测试、集成测试、 确认测试,并设计测试用例。主要测试方法 和基于故障的测试。 正确答案:

第一空:集成测试 第二空: 确认测试

2、开发时期具体设计和实现在前一个时期定义的软件,它通常由下述4个阶段

组成 _, — ° 正确答案:

第一空: 总体设计 第二空:详细设计

第三空: 编码和单元测试 第四空: 综合测试

3、软件生命周期由 和 3 个时期组成,每个 时期又进一步划分成若干个阶段。 正确答案:

第一空:软件定义 第二空:软件开发

第三空:运行维护;软件维护

4、 有 穷 状 态 机 方 法 采 用 了 一 种 简 单 的 格 式 来 描 述 规 格 说 明 : + +谓词=> 正确答案:

第一空: 当前状态 第二空: 事件 第三空: 下个状态

5、静态单变量模型总体结构形式 正确答案: 第 一 空: E=A+B×(ev)C

6、 就是把软件设计结果翻译成用某种程序设计语言书写的程序, 是对设计的进一步具体化。 正确答案: 第一空: 编码

7、代码复审应该强调 和内部 这两个影响可维护性的 因素

正确答案:

第一空: 编码风格 第二空:说明文档

三.简答题(共8题,18.4分) 1、面向对象方法学的基本原则

正确答案: 尽量模拟人类习惯的思维方式,使开发软件的方法与过程尽可能接近 人类认识世界、解决问题的方法与过程,从而使描述问题的问题空间(也称为问 题域)与实现解法的解空间(也称为求解域)在结构上尽可能一致。 2、什么是增量模型?

正确答案:增量模型也称为渐增模型。使用增量模型开发软件时,把软件产品作 为一系列的增量构件来设计、编码、集成和测试。每个构件由多个相互作用的模 块构成,并且能够完成特定的功能。使用增量模型时,第一个增量构件往往实现 软件的基本需求,提供最核心的功能。 3、一个有穷状态机包括哪些部分?

正确答案: 一个有穷状态机包括下述5个部分:状态集J 、输入集 K、由当前状 态和当前输入确定下一个状态(次态)的转换函数T 、初始态S 和终态集 F。 4、有穷状态机方法的缺点

正确答案:在开发一个大系统时三元组(即状态、事件、谓词)的数量会迅速增长。 此外,和数据流图方法一样,形式化的有穷状态机方法也没有处理定时需求。 5、瀑布模型的优点有哪些?

正确答案:1 .可强迫开发人员采用规范的方法(例如,结构化技术); 2.严格地规定了每个阶段必须提交的文档;

3.要求每个阶段交出的所有产品都必须经过质量保证小组的仔细验证。 6、什么是白盒测试?

正确答案: 白盒测试(又称结构测试)是把程序看成装在一个透明的白盒子里, 测试者完全知道程序的结构和处理算法。这种方法按照程序内部的逻辑测试程 序,检测程序中的主要执行通路是否都能按预定要求正确工作。 7、PSL/PSA 系统的功能主要有的四种功能; 正确答案:

描述任何应用领域的信息系统。

创建一个数据库保存对该信息系统的描述符。 对描述符施加增加、删除和更改等操作。

产生格式化的文档和关于规格说明书的各种分析报告。 8、什么是验收测试?

正确答案: 验收测试把软件系统作为单一的实体进行测试,测试内容与系统测试 基本类似,但是它是在用户积极参与下进行的,而且可能主要使用实际数据(系 统将来要处理的信息)进行测试。 四 .论述题(共2题,5.7分) 1、软件危机产生的原因

正确答案: 一、与软件本身特点有关

1.软件不同于硬件,管理和控制软件开发过程相当困难。

2.软件在运行过程中不会因为使用时间过长而被“用坏“如果运行中发现了错 误,很可能是遇到了一个在开发时期引入的在测试阶段没能检测出来的错误。 3.软件不同于一般程序,它的一个显著特点是规模庞大,而且程序复杂性将随 着程序规模的增加而呈指数上升。

4.事实上,对用户要求没有完整准确的认识就匆忙着手编写程序是许多软件开 发工程失败的主要原因之一。

5.目前相当多的软件专业人员对软件开发和维护还有不少糊涂观念。在实践过 程中或多或少地采用了错误的方法和技术,这可能是使软件问题发展成软件危机 的主要原因。

6.错误的认识和做法主要表现为忽视软件需求分析的重要性,认为软件开发就是 写程序并设法使之运行,轻视软件维护等 二.软件开发与维护的方法不正确有关

只重视程序而忽视软件配置其余成分的糊涂观念

软件开发人员在定义时期没有正确全面地理解用户需求,直到测试阶段或软件交 付使用后才发现“已完成的”软件不完全符合用户的需要。

严重的问题是在软件开发的不同阶段进行修改需要付出的代价是很不相同的,如 下图所示。

2、功能模型、动态模型和对象模型之间的关系是什么?

正确答案: 功能模型指明了系统应该“做什么”;动态模型明确规定了什么时候 (即在何种状态下接受了什么事件的触发)做;对象模型则定义了做事情的实体。

1.针对每个类建立的动态模型,描述了类实例的生命周期或运行周期。

2.状态转换驱使行为发生,这些行为在数据流图中被映射成处理,在用例图中被 映射成用例,它们同时与类图中的服务相对应。

3.功能模型中的处理(或用例)对应于对象模型中的类所提供的服务。通常,复 杂的处理(或用例)对应于复杂对象提供的服务,简单的处理(或用例)对应于 更基本的对象提供的服务。有时一个处理(或用例)对应多个服务,也有一个服 务对应多个处理(或用例)的时候。

4.数据流图中的数据存储,以及数据的源点/终点,通常是对象模型中的对象。 5.数据流图中的数据流,往往是对象模型中对象的属性值,也可能是整个对象。 6.用例图中的行为者,可能是对象模型中的对象。

7.功能模型中的处理(或用例)可能产生动态模型中的事件。

8.对象模型描述了数据流图中的数据流、数据存储以及数据源点/终点的结构。

因篇幅问题不能全部显示,请点此查看更多更全内容