软件工程导论复习题目汇总

文档以上传,可免费自行下载!

  • 单选题(共97题,38.8分)

1. (单选题)本讲我们将软件工程和建筑工程进行了类比,将建筑工程归纳为以下几个步骤:建筑设计调研分析、建筑方案设计、建筑施工设计、建筑施工建设、以及建筑工程竣工交付。请问以下选项中的哪一项软件相关工作与建筑工程中的建筑施工建设相类似?

A.软件需求分析

B.软件设计

C.软件实现(又称软件构造)

D.软件交付

3. (单选题)

在软件开发过程中,客户告诉软件开发者他们的日常业务流程,提出了他们对于软件系统的期望(即软件系统如何支撑或协助他们完成日常工作),软件开发人员将这些细节记录下来,并用一系列的模型对客户的叙述进行描述和表达。上述的工作属于软件相关工作中的哪一项工作?

A. 软件需求分析

B. 软件设计

C. 软件实现

D. 软件交付

6. (单选题)以下不属于应用软件的是

A. 行业应用软件

B. 文字与媒体处理软件

C. 微软操作系统

D. 工业控制软件

7. (单选题)

本讲给出了关于软件工程的各类定义,例如,软件工程(经典定义):应用计算机科学理论和技术以及工程管理原则和方法,按预算和进度实现满足用户要求的软件产品的工程,或以此为研究对象的学科。那么通过对这些定义的理解,请判断以下关于软件工程的叙述中有误的是

A. 软件工程的目标是生产具有正确性、可用性以及成本合适的软件产品

B. 软件工程的过程是生产一个最终能满足需求且达到工程目标的软件产品所需要的步骤

C. 软件工程的过程只包括设计并构建计算机程序

D.软件工程的原则是围绕工程设计、工程支持以及工程管理在软件开发过程中必须遵循的原则

10. (单选题)本讲中我们用了一则black cat的例子,形象地描述了软件的特性,那么以下不属于这则幽默所描绘的软件特性是

A. 不可视性与主观性

B. 软件规模与复杂性

C. 易变性与不确定性

D. 灵活性与易用性

11. (单选题)软件工程方法发展历程的正确顺序是:

A. 结构化方法->面向对象的方法->构件化方法和Web Services->面向服务的SOA方法->基于互联网与云计算的软件开发方法

B. 面向对象的方法->结构化方法->构件化方法和Web Services->面向服务的SOA方法->基于互联网与云计算的软件开发方法

C. 面向对象的方法->结构化方法->面向服务的SOA方法->构件化方法和Web Services->基于互联网与云计算的软件开发方法

D. 结构化方法->面向对象的方法->面向服务的SOA方法->构件化方法和Web Services->基于互联网与云计算的软件开发方法

13. (单选题)本讲介绍的软件工程技术的主要发展趋势是

A. 新型软件体系结构及开发方法

B. 软件构件化、软件服务化

C. 软件需求工程、软件领域化

D. 本题所有选项及其他

15. (单选题)软件工程科学技术范畴有:

A. 软件过程、软件开发方法

B. 软件需求工程、软件体系结构

C. 软件开发工具与环境、软件复用与软构件

D. 本题所有选项及其他

17. (单选题)由IEEE CS发布的SWEBOK 3.0版,成为软件工程知识体系的样板,其内容都是被普遍接受的,并应用与大多数软件项目的知识。有能力的软件工程人员,为了胜任潜在的应用应该具有的这些知识。该知识体系包含的知识领域有:

A. 软件需求、软件设计、软件构造、软件测试、软件维护

B. 软件质量、软件工程管理、软件配置管理、软件工程模型与方法

C. 软件工程过程、软件工程经济学、软件工程职业实践、计算基础、工程基础、数学基础

D.本题所有选项

19. (单选题)面向中国软件工程教育需要,基于SWEBOK 3.0及相关知识体系, 结合中国软件工程教育的实践经验,中国软件工程教指委提出面向中国的软件工程知识体系C-SWEBOK,支持中国高校的软件工程专业教育。该知识体系新增了2个知识领域,改造和扩充了1个知识领域。请问以下哪个不属于这三个新增或改动的知识领域?

A. 软件服务工程

B. 软件工程典型应用

C. 软件工程模型与方法

D. 软件工程职业实践

21. (单选题)下列选项中,不属于结构化编程语言的是:

A. Java语言

B. Fortran语言

C. Pascal语言

D. C语言

23. (单选题)下列选项中,不属于面向对象编程语言的是

A. C语言

B. C++

C. Java

D. C#

25. (单选题)上讲我们将软件工程和建筑工程进行了类比,将建筑工程归纳为以下几个步骤:建筑设计调研分析、建筑方案设计、建筑施工设计、建筑施工建设、以及建筑工程竣工交付。请问以下选项中的哪一项软件相关工作与建筑工程中的建筑施工建设相类似?

A. 软件需求分析

B. 软件设计

C. 软件实现(又称软件构造)

D. 软件交付

26. (单选题)在软件开发过程中,客户告诉软件开发者他们的日常业务流程,提出了他们对于软件系统的期望(即软件系统如何支撑或协助他们完成日常工作),软件开发人员将这些细节记录下来,并用一系列的模型对客户的叙述进行描述和表达。上述的工作属于软件相关工作中的哪一项工作?

A. 软件需求分析

B. 软件设计

C. 软件实现

D. 软件交付

27. (单选题)本讲给出了关于软件工程的各类定义,例如,软件工程(经典定义):应用计算机科学理论和技术以及工程管理原则和方法,按预算和进度实现满足用户要求的软件产品的工程,或以此为研究对象的学科。那么通过对这些定义的理解,请判断以下关于软件工程的叙述中有误的是________

A. 软件工程的目标是生产具有正确性、可用性以及成本合适的软件产品

B. 软件工程的过程是生产一个最终能满足需求且达到工程目标的软件产品所需要的步骤

C. 软件工程的过程只包括设计并构建计算机程序

D. 软件工程的原则是围绕工程设计、工程支持以及工程管理在软件开发过程中必须遵循的原则

28. (单选题)可行性研究阶段的成果形式是

A. 可行性研究报告

B. 用户操作手册

C.软件问题报告

D. 软件需求分析报告

29. (单选题)

在进行可行性研究的过程中,以下步骤顺序正确的是(   )

①推荐行动方针②研究目前正在使用的系统③导出新系统的高层逻辑模型④进一步定义问题⑤导出和评价供选择的解法⑥复查系统规模和目标⑦草拟开发计划⑧书写文档提交审查

A.⑥②③④⑤①⑦⑧

B.①③⑤②⑥④⑦⑧

C.①⑥②③④⑤⑦⑧

D. ②⑤③④①⑥⑦⑧

30. (单选题)

在数据字典中,描述数据元素组成数据的关系时,中括号“[  ]”的意思是(   )

A.和

B.或

C.重复

D. 可选

31. (单选题)数据字典中的定义就是对数据(               )分解

A. 自顶向下

B. 自下向上

C. 平行分解

D. 没有顺序

32. (单选题)结构化分析方法遵守的准则之一——理解并描述问题的信息域,需要建立的模型是

A. 功能模型

B. 数据模型

C. 行为模型

D. 动态模型

33. (单选题)数据流图的四个基本符号是下列哪一组

A. 数据源点,数据终点,处理,数据存储

B. 数据源点,处理,数据存储,数据流

C. 外部实体,处理,数据终点,数据流

D. 外部实体,数据存储,处理,数据流

34. (单选题)下列哪一项的作用是“用来明确系统和环境的界限”的?

A. 数据源点

B. 数据存储

C. 外部实体

D. 数据终点

35. (单选题)在下列的基本成分中,哪个不是数据流程图的基本成分?

A. 信息处理

B. 信息存储

C. 外部实体

D. 系统状态

36. (单选题)在使用数据字典对数据流进行定义时,需要额外定义下列那一项?

A. 编号

B. 来源、去向

C. 简述

D. 名称

37. (单选题)在下列的范式中,哪个的目标是确保每列的原子性(  )

A. 第一范式

B. 第二范式

C. 第三范式

D. 第四范式

38. (单选题)在实体联系图中,用椭圆形或圆角矩形表示

A. 实体

B. 属性

C. 联系

D. 重数关系

39. (单选题)在实体联系图中,下列说法错误的是

A. 实体可以有属性,也可以没有属性。

B. 联系也可能有属性

C. 属性定义了数据对象的性质

D. 数据对象彼此间是有关联的

40. (单选题)在下列的范式中,哪个消除了对主键的传递依赖?

A. 第一范式

B. 第二范式

C. 第三范式

D. 第四范式

41. (单选题)在下列的范式中,哪个消除了对主键的部分依赖?

A. 第一范式

B. 第二范式

C. 第三范式

D. 第四范式

42. (单选题)在软件生产的程序系统时代由于软件规模扩大和软件复杂性提高等原因导致了

A.软件危机

B. 软件工程

C. 程序设计革命

D. 结构化程序设计

43. (单选题)快速原型是利用原型辅助软件开发的一种新思想,它是在研究(     )的方法和技术中产生的。

A.需求阶段

B. 设计阶段

C. 测试阶段

D. 软件开发的各个阶段

44. (单选题)以下哪个选项的内容可以描述概要设计的目的。

A. 实现功能所需的具体方法函数

B. 描述系统的实现方式

C. 整体划分功能模块

D. 各模块详细说明

45. (单选题)在软件结构中,下列哪个选项用来完成对数据的一个具体处理。

A. 顶层模块

B. 中间模块

C. 协调模块

D. 底层模块

46. (单选题)总体设计阶段把系统抽象为。

A. 功能

B. 模块的处理过程

C. 结构

D. 程序

47. (单选题)耦合度也可以分为七级:其中最松散的耦合是(  )。

A. 非直接耦合

B. 数据耦合

C. 特征耦合

D. 控制耦合

48. (单选题)数据耦合、公共耦合、标记耦合、控制耦合的耦合性从低到高的顺序是(  )

A. 数据、公共、标记、控制

B. 数据、标记、控制、公共

C. 控制、数据、标记、公共

D. 控制、数据、公共、标记

49. (单选题)为了提高模块的独立性,模块之间最好是(   )

A. 控制耦合

B. 公共耦合

C. 内容耦合

D. 数据耦合

50. (单选题)下列模块内聚中,内聚性最强的是(   )。

A. 功能内聚

B. 偶然内聚

C. 过程内聚

D. 顺序内聚

51. (单选题)通信内聚、过程内聚、顺序内聚和时间内聚的内聚性从高到低顺序是(  )

A. 通信、过程、顺序、时间

B. 通信、时间、顺序、过程

C. 顺序、通信、时间、过程

D. 顺序、通信、过程、时间

52. (单选题)一个进行学生成绩统计的模块其功能是先对学生的成绩进行累加,然后求平均值,则该模块的内聚性是(  )。

A. 通信内聚

B. 顺序内聚

C. 偶然内聚

D. 功能内聚

53. (单选题)什么是耦合?

A. 软件中不同模块的互连程度

B. 软件中不同模块的独立程度

C.软件中不同模块的内聚程度

D. 软件中不同模块的复杂程度

54. (单选题)以下哪个最能正确地描述松散耦合的优点?

A. 可以降低系统的可维护性

B.可以增加系统的复杂性

C.可以提高系统的灵活性和可扩展性

D. 可以降低系统的安全性

55. (单选题)以下哪个最能正确地描述软件工程中的耦合原则?

A. 尽量使用数据耦合,少用控制耦合,限制公共环境耦合,完全不用内容耦合。

B. 尽量使用控制耦合,少用数据耦合,限制公共环境耦合,完全不用内容耦合。

C.尽量使用公共环境耦合,少用数据耦合和控制耦合,完全不用内容耦合。

D. 尽量使用内容耦合,少用数据耦合和控制耦合,限制公共环境耦合。

56. (单选题)下面那个是用来描述模块内各元素彼此结合紧密程度?

A. 耦合

B. 内聚

C.耦合与内聚

D. 耦合或内聚

57. (单选题)以下哪一种内聚是内聚程度最高的?

A. 顺序内聚

B. 通信内聚

C. 过程内聚

D. 时间内聚

58. (单选题)以下哪一种内聚是内聚程度最低的?

A. 顺序内聚

B. 通信内聚

C.过程内聚

D.时间内聚

59. (单选题)一模块中各部分是完成某一功能必不可少组成部分的内聚,是哪一种内聚?

A. 功能内聚

B. 顺序内聚

C.通信内聚

D. 过程内聚

60. (单选题)以下哪个工具可以用于表示系统的行为模型?

A. 数据流图

B. 状态图

C.ER图

D.时序图

61. (单选题)分析和绘制状态转换图的主要目的是什么?

A. 全面和系统地理解系统的行为变化

B.描述系统的数据模型及数据实体之间的关系

C.规定系统对事件的响应方式

D. 描绘系统的用户界面及用户操作过程

62. (单选题)状态转换图的行为本质指的是什么?

A.描绘系统的数据模型及数据实体之间的关系

B.描绘系统的数据流动及数据处理过程

C.描绘系统的状态及引起系统状态转换的事件

D. 描绘系统的用户界面及用户操作过程

63. (单选题)在状态图中,定义的状态主要包括以下哪些?

A. 初态、终态和中间态

B. 初态、中间态和循环态

C.初态、终态和并发态

D. 初态、终态和分支态

64. (单选题)在软件工程中,事件的定义是什么?

A. 事件是用于描述系统输入输出的数据流。

B. 事件是描述系统状态之间转换关系的图形符号。

C. 事件是引起系统做动作或(和)从一个状态转换到另一个状态的外界事件的抽象。

D. 事件是指系统中的错误或异常情况。

65. (单选题)在状态转换图中,行为是什么?

A.进入某状态所作动作

B.事件的动作

C.条件和动作

D.被观察到的系统行为模式

66. (单选题)在状态转换图中,状态是什么?

A.进入某状态所作动作

B.事件的动作

C.条件和动作

D. 被观察到的系统行为模式

67. (单选题)活动表的语法格式中,常用的标准事件包括哪些?

A.start, end和run

B.entry, exit和do

C.input, output和process

D.create, update和delete

68. (单选题)在状态图中,初始状态和结束状态的符号特征分别是什么?

A.初始状态用一个双圆圈表示,结束状态用一个实心的黑圆圈表示

B.初始状态用一个实心的黑圆圈表示,结束状态用一个双圆圈表示

C.初始状态用一个三角形表示,结束状态用一个菱形表示

D. 初始状态用一个菱形表示,结束状态用一个三角形表示

69. (单选题)在软件的行为模型中,状态、事件和行为的含义分别是什么?

A.状态是被观察到的系统行为模式,事件表示引起状态转换的外界事件抽象,行为表示进入某状态所作的动作。

B.状态表示系统的输入和输出,事件表示系统的内部处理过程,行为表示系统的数据结构和算法。

C.状态表示系统的行为模式,事件表示系统的数据流动过程,行为表示系统的测试用例。

D.状态表示系统的算法和数据结构,事件表示系统的异常处理,行为表示系统的用户界面设计。

70. (单选题)在绘制状态转换图时,下列哪个步骤是最后完成的?

A.列出产品/系统的所有状态

B.确认并绘制出引起状态发生转换的事件

C.列出每个状态须执行的动作

D. 标注初态和终态并细化状态图

71. (单选题)内聚是衡量模块内部聚合能力的量度。内聚越高,说明模块内各成分彼此联系的程度(    )

A.没有联系

B. 越紧密 

C. 彼此相等

D. 越松散

72. (单选题)需求规格说明书的作用不包括(     )

A. 软件可行性研究的依据

B. 软件设计的依据

C. 用户与开发人员对软件要做什么的共同理解 

D. 软件验收的依据

73. (单选题)模块内部的算法设计在结构化方法的(   )阶段进行。

A. 可行性分析

B. 详细设计

C. 系统分析

D. 概要设计

74. (单选题)

模块独立的两个定性的度量标准是(  )

A.信息隐藏和局部化

B.抽象和求精

C.耦合和内聚

D.松散与紧密

75. (单选题)

以下哪个是比控制耦合耦合性更低的耦合?

A.数据耦合

B.公共耦合

C.内容耦合

D. 中等耦合

76. (单选题)以下哪些是结构化设计的五大原则?

A. 模块化、抽象、逐步求精、信息隐蔽、模块独立

B.需求分析、设计、编码、测试、维护

C. 面向对象、继承、封装、多态、抽象

D. 数据库设计、网络架构、软件工程、人机交互、算法分析

77. (单选题)以下哪些是模块的举例?

A. 函数、子程序、宏、过程、对象、对象的方法等

B. 数据库、表、字段、记录、索引等

C. 网络协议、数据传输、加密算法、安全认证

D. 用户需求、功能规格、系统架构、接口设计

78. (单选题)

以下哪个是比控制耦合耦合性更高的耦合?

A.数据耦合

B.低等耦合

C.内容耦合

D.中等耦合

79. (单选题)程序流程图中表示处理的图形是(    )。

A. 圆角矩形

B. 平行四边形

C. 矩形

D. 菱形

80. (单选题)扩展的结构程序设计中,不允许使用(   )

A. BREAK结构

B. IF-THEN-ELSE型分支

C. WHILE型循环

D.UNTIL型循环

81. (单选题)程序流程图的优点是(   )

A. 不易表示数据结构

B. 随意转移控制

C. 本质上不是逐步求精的好工具

D. 对控制流程的描绘很直观

82. (单选题)下列说法不正确的是(   )

A. 流程图既可以表示二分支结构,又可以表示多分支结构

B. 流程图既可以表示while循环,也可以表示until循环

C. 流程图不可以随意转移控制

D. 流程图不易表示数据结构

83. (单选题)流程图中的菱形表示(   )

A. 输入输出

B. 开始

C. 处理

D. 分支

84. (单选题)下列关于盒图的说法,不正确的是(   )

A. 不可任意转移控制

B. 容易表现嵌套关系

C. 很容易确定局部和全程数据的作用域

D. 不可表示模块的层次结构

85. (单选题)关于PAD图,以下哪个说法是错误的(   )

A. 使用PAD符号所设计出来的程序必然是结构化程序

B. 可用于表示程序逻辑,但不可用于描绘数据结构

C. PAD图所描绘的程序结构十分清晰

D. 容易将PAD图转换成高级语言源程序。

86. (单选题)判定表由四部分组成,左上部列出的是下列哪一项(  )

A. 条件组合与动作之间的对应关系

B. 所有条件

C. 所有可能的动作

D. 可能的条件组合

87. (单选题)

对建立良好的程序设计风格,下面描述正确的是()

A. 程序应简单、清晰、可读性好

B. 只要符号名的命名符合语法

C. 充分考虑程序的执行效率,越高越好

D. 程序的注释可有可无

88. (单选题)

一个成功的测试是___________

A. 发现错误码

B. 发现了至今尚未发现的错误

C. 没有发现错误码

D. 证明发现不了错误

89. (单选题)以程序的内部结构为基础的测试用例技术属于(  )

A. 灰盒测试

B. 数据测试

C. 黑盒测试

D. 白盒测试

90. (单选题)软件测试是采用(  )执行软件的活动。

A. 测试用例

B. 输入数据

C. 测试环境

D. 输入条件

91. (单选题)___________的目的是对最终软件系统进行全面的测试确保最终软件系统产品满足需求。

A. 系统测试

B. 集成测试

C. 单元测试

D. 功能测试

92. (单选题)有一组测试用例使得每一个被测试用例的条件至少被执行一次,它满足的覆盖标准(        )。

A. 语句覆盖

B. 判定覆盖

C. 条件覆盖

D. 路径覆盖

93. (单选题)一个程序中所含有的路径数与________________有着直接的关系。

A. 程序的复杂程度

B. 程序语句行数

C. 程序模块数

D. 程序指令执行时间

94. (单选题)路径测试中的点覆盖,等价于逻辑覆盖中的( )

A. 语句覆盖

B. 判定覆盖

C. 条件组合覆盖

D. 条件覆盖

95. (单选题)测试程序时,不可能遍历所有可能的输入数据,而只能是选择一个子集进行测试,那么最好的选择方法是(   )。

A. 随机选择

B. 划分等价类

C. 根据接口进行选择

D. 根据数据大小进行选择

96. (单选题)

不属于白盒测试的技术是 (      ) 。

A. 语句覆盖

B. 判定覆盖

C. 边界值分析

D. 基本路径测试

97. (单选题)在边界值分析中,下列数据通常不用来做数据测试的是(        )。

A. 正好等于边界的值

B. 等价类中的等价值

C. 刚刚大于边界的值

D. 刚刚小于边界的值

二. 多选题(共29题,12.2分)

98. (多选题)当今世界处于信息化时代,需要运用计算机、各类软件、软件工程来完成对自然/社会现象的计算化和问题求解,因此,作为软件工程专业的学生需要了解相关的概念有

A. 计算机系统

B. 计算机软件

C. 软件系统

D. 软件工程

100. (多选题)本讲教师介绍的软件工程关注点包括:

A. 软件开发过程

B. 软件开发方法

C. 软件开发工具

D. 软件开发质量

102. (多选题)软件工程学科设置中包括

A. 软件科学理论

B. 软件服务工程

C. 软件工程技术

D.领域软件工程

104. (多选题)一般来说,可行性研究应该从下述哪些方面研究每种解法的可行性。(        )

A. 技术可行性

B. 经济可行性

C.操作可行性

D.法津、社会效益可行性

105. (多选题)对数据流图(DFD)描述正确的是(   )。

A.是一种图形化技术

B.数据在软件中流动

C.数据在软件中的处理

D.是一个物理过程

106. (多选题)由数据元素组成数据的方式有下述(       ) 的基本类型。

A.顺序

B.选择

C.循环

D. 重复

107. (多选题)数据流图的用途包括以下哪几项?

A. 利用它作为交流信息的工具

B. 作为建立系统功能模型的工具

C. 作为详细设计的工具

D. 作为分析和设计的工具

108. (多选题)画分层DFD图的基本原则包括下列哪些选项?

A. 加工分解的原则

B. 数据守恒原则

C. 数据封闭原则

D. 父图与子图“平衡”原则

109. (多选题)数据字典可以定义以下哪些选项内容?

A. 数据项的定义

B. 数据流的定义

C. 数据结构的定义

D. 数据存储的定义

110. (多选题)在使用数据字典对数据流进行定义时,需要额外定义下列那一项?

A. 处理频率

B. 输出/入的数据流去向简述

C. 处理内容

D. 名称

111. (多选题)数据模型中包含3种相互关联的信息是

A. 数据对象

B. 数据对象的属性

C. 数据对象的关系

D. 对象个数

112. (多选题)模块具有3个基本属性是(  )。

A. 状态

B. 功能

C. 方法

D. 逻辑

113. (多选题)软件结构设计的任务包括以下哪些选项?

A. 将系统划分成模块

B. 决定每个模块的功能

C. 决定模块间的调用关系

D. 决定模块之间的接口

114. (多选题)采用模块化的优点包括以下哪些选项?

A. 使软件结构清晰

B. 减少代码编写量

C. 提高软件的可修改性

D. 有助于软件开发工程的组织管理

115. (多选题)下列关于层次图和结构图的说法,正确的是(  )

A. 层次图和结构图并不严格表示模块的调用次序

B. 层次图和结构图只表明一个模块调用那些模块

C. 层次图既能表示模块间的数据信息、控制信息,也能表示选择调用和循环调用关系

D. 在结构图中通常还用带注释的箭头表示模块调用过程中来回传递的信息

116. (多选题){在描述系统结构的图形工具中使用带注释的箭头表示模块调用过程中来回传递的信息。下列说法正确的是(  )}

A. 空心圆表示传递的是数据

B. 实心圆表示传递的是数据

C. 空心圆表示传递的是控制信息

D. 实心圆表示传递的是控制信息

117. (多选题)信息隐藏和局部化的好处是(  )

A.多人分别编写系统的不同模块,可以根据需要自由命名局部变量

B.防止把一个模块的错误扩散到其他模块

C.一个模块内包含的信息对于不需要这些信息的模块来说,也可访问

D.保证块独立性

118. (多选题)下列选项可用于评估软件质量的属性有(    )

A. 功能性

B. 易用性

C. 性能

D. 可靠性

119. (多选题)接口设计应包括(         )

A. 软件结构设计

B. 软件和使用人员之间的交互方式

C. 软件和其它协作系统之间的接口

D. 软件内部各组成部分之间的接口

120. (多选题)下列关于设计的描述正确的是(             )

A. 设计必须实现需求分析模型中描述的所有显性需求。

B. 设计应从现实的角度出发,给出与数据、功能和行为相关的软件全貌

C. 设计必须满足用户希望的所有隐性需求。

D. 设计必须是可读的、可理解的、易于编码实现的、易于测试的、易于维护的。

121. (多选题)下列关于软件设计的抽象原则描述正确的是(      )

A. 抽象的最底层就是实现该软件的源程序代码。

B. 过程抽象是对软件要执行的动作进行抽象。

C. 最高抽象层次的模块常常用数据模型方式表示。

D. 较低抽象层次的模块是对较高抽象层次模块的进一步细化。

122. (多选题)模块化的优点是(              )

A. 可以使软件程序的结构更清晰;

B. 更容易实施变更、也更容易有效的开展测试和调试;

C. 可以方便的定义和交付软件增量;

D. 使开发工作更易于规划、更容易阅读和理解;

123. (多选题)下列关于内聚与耦合描述正确的是(     )

A. 在程序结构中,各模块的内聚性越强,则耦合性越强。

B. 一个模块与其他模块的耦合性越强,则该模块与其它模块的相互依赖性就越强。

C. 内聚与耦合是度量软件模块功能独立性的两个标准。

D. 低内聚高耦合,是一个好的设计标准。

124. (多选题)通过观察,设计得好的软件结构通常

A. 顶层扇出比较高

B. 中层扇出比较少

C. 底层模块有高扇入

D. 中层扇出比较高

125. (多选题)经典的结构程序设计中,只能有以下哪些结构存在(   )

A. 顺序

B. 分支

C. WHILE型循环

D. UNTIL型循环

126. (多选题)下列哪个是伪码的缺点(   )

A. 不如图形工具形象直观

B. 可以嵌入在源程序中一起作为程序文档

C. 描述复杂的条件组合与动作间的对应关系时,不如判定表清晰简单。

D. 可自动生成程序代码

  • 填空题(共28题,14分)

128. (填空题)可行性研究的目的是用(         )在(         )内确定问题是否能够解决。

(1) 最小的代价

(2)  尽可能短的时间

129. (填空题)系统流程图表达的是(        )在系统各部件之间流动的情况

(1) 数据

130. (填空题)面对一个复杂的系统 时,一个比较好的方法是(      )地描绘这个系统。

(1) 分层次

131. (填空题) 是解决软件危机的最有效方法。

(1) 软件工程

  1. (填空题)软件工程方法学包含3个要素:                                    。

(1) 方法

(2) 工具

(3) 过程

  1. (填空题)数据模型中包含3种相互关联的信息:                              

                                                                   。               

(1) 数据对象

(2) 数据对象的属性

(3) 数据对象彼此间相互连接的关系

134. (填空题)通常用______________描绘信息在系统中加工和流动的情况

(1) 数据流图

135. (填空题)面向数据流的设计方法定义了一些不同的“映射”,利用这些映射可以把数据流图变换成_________________。

(1) 软件结构

136. (填空题)通常所说的结构化设计方法(简称SD方法),也就是基于______________的设计方法

  1. 数据流

137. (填空题)面向数据流的设计方法是把__________映射成______________,_________________类型决定了映射的方法

(1) 数据流

(2) 软件结构

(3) 信息流

138. (填空题)

接口复杂或不一致,是________耦合或________内聚的征兆,应该重新分析这个模块的独立性

(1)

(2) 低

139. (填空题)结构化程序的3种基本控制结构是___________、______________和_____________。

(1) 顺序

(2) 选择

(3) 循环

140. (填空题)开发系统软件时,常用的高级语言是(      )

(1) C语言

141. (填空题)软件测试是为发现程序中的______________而执行程序的______________。

(1) 错误

(2) 过程

142. (填空题)测试用例是由______________和预期的______________两部分组成。

(1) 测试输入数据

(2) 输出数据

143. (填空题)设计测试用例时应该考虑到合法的输入和                         输入以及各种边界条件。

(1) 不合法的

144. (填空题)单元测试是以____________说明书为指导,测试源程序代码。

(1) 详细设计

145. (填空题)集成测试以____________说明书指导,测试软件结构。

(1) 概要设计

146. (填空题)验收测试以____________说明书为指导。

(1) 需求分析

147. (填空题)代码会审属于____________,不实际运行程序。

(1) 静态测试

148. (填空题)黑盒测试又称之为___________测试,只依据程序的功能来设计测试用例。

(1) 功能

149. (填空题)白盒测试又称为______________测试,以程序内部逻辑结构为基础设计测试用例。

(1) 结构

150. (填空题)判定覆盖设计足够多的测试用例,使得被测试程序中的每个判断的“真”、“假”分支______________被执行一次。

(1) 至少

151. (填空题)根据覆盖目标的不同,逻辑覆盖又可分为:________________、_____________、_______________,判断/条件覆盖,条件组合覆盖。

(1) 语句覆盖

(2) 判定覆盖

(3) 条件覆盖

152. (填空题)等价类划分有两种不同的情况:____________和____________。

(1) 有效等价类

(2) 无效等价类

153. (填空题)等价类的基本思想是:将所有可能的输入数据划分成若干个等价类,然后从每一类中选取                    的数据作为测试用例。

(1) 少数有代表性

154. (填空题)边界值分析法属于____________。

(1) 黑盒测试

  • 判断题(共55题,27.5分)

155. (判断题)指令是指挥计算机工作的指示和命令,在计算机内部用二进制表示,由操作码(操作类型)与操作数(地址)组成。而程序是为实现特定目标或解决特定问题而用计算机语言编写的命令(指令)序列的集合。

A. 对

B. 错

157. (判断题)1948年, Von Neumann领导发明了世界上第一部通用计算机,他提出的冯•诺依曼结构采用了“存储程序”和“程序控制”原理,对计算机体系结构的影响一直延续至今。以上的叙述是否正确?

A. 对

B. 错

159. (判断题)

随着集成电路技术的发展和成熟,(超大规模)集成电路逐步取代了电子管和晶体管成为了计算机的主要元器件,从而使得计算机的运算速度不断提高。以上的叙述是否正确?

A. 对

B. 错

161. (判断题)本讲介绍了催生软件工程技术领域的软件危机,请判断以下对该危机的叙述是否正确。1960年代后期爆发的软件危机暴露了软件开发中的一系列问题,例如,对软件开发工作量和成本估计不准,软件开发进度难以控制,软件产品质量与可靠性差强人意等,为此人们开始考虑按照工程化原则和方法组织软件开发工作

A. 对

B. 错

163. (判断题)

下面的比喻是否正确正确

Mechanical Engineering is like looking for a cat in a lighted room

Chemical Engineering is  like looking for a black cat in a dark roon

Software Engineering is  like looking for a black cat in a dark room in which there is no cat

System Engineering is  like looking for a black cat in a dark room in which there is no cat and some one yells ,"I got it ".

A. 对

B. 错

165. (判断题)数据流图和数据字典共同定义了新系统的物理模型。

A. 对

B. 错

166. (判断题)可行性研究需要的时间长短和所研究系统的规模关系不大。

A. 对

B. 错

167. (判断题)把可行性研究各个步骤的工作结果写成清晰的文档,请用户、客户组织的负责人及评审组审查,以决定是否继续这项工程及是否接受分析员推荐的方案。

A. 对

B. 错

168. (判断题)投资回收期就是使累计的经济效益等于最初投资所需要的时间

A. 对

B. 错

169. (判断题)可行性研究的成本只是预期工程总成本的5%~10%。

A. 对

B. 错

170. (判断题)可行性研究实质上是要进行一次大大压缩简化了的系统分析和设计的过程。

A. 对

B. 错

171. (判断题)系统流程图是对数据进行加工处理的控制过程

A. 对

B. 错

172. (判断题)系统流程图和程序流程图的符号相同,它就是程序流程图。

A. 对

B. 错

173. (判断题)数据流图的基本要点是描绘“做什么”,而不是考虑“怎么做”。

A. 对

B. 错

174. (判断题)数据存储是处于运动中的数据,数据流是处于静止状态的数据。

A. 对

B. 错

175. (判断题)在需求分析阶段提出设计约束或实现约束是要取代设计(或实现)过程

A. 对

B. 错

176. (判断题)数据流图中,每个处理至少有一个输入数据流和一个输出数据流。

A. 对

B. 错

177. (判断题)数据存储不能向外部实体发送数据流,但是外部实体可以向数据存储发送数据流。

A. 对

B. 错

178. (判断题)数据字典是开发数据库的最后一步。

A. 对

B. 错

179. (判断题)数据字典不能进行处理逻辑的定义。

A. 对

B. 错

180. (判断题)信息隐藏指的是一个模块内包含的信息(过程和数据) 对于不需要这些信息的模块来说,是不能访问的(隐藏)。

A. 对

B. 错

181. (判断题)局部化与信息隐藏是相互独立的。

A. 对

B. 错

182. (判断题)需求分析阶段已经解决了待开发软件究竟要“做什么”的问题,软件设计阶段开始着手解决“如何做”的问题。(        )

A. 对

B. 错

183. (判断题)从技术的角度看,软件设计通常分为概要设计、体系结构设计以及接口设计

A. 对

B. 错

184. (判断题)可以通过系统设计文档来评估软件质量。

A. 对

B. 错

185. (判断题)软件系统设计的依据是软件需求规格说明书。

A. 对

B. 错

186. (判断题)‌软件设计是一个迭代的过程。

A. 对

B. 错

187. (判断题)信息隐藏是指每个模块的实现细节对于每个模块来说都是隐藏起来的、不可见的。

A. 对

B. 错

188. (判断题)模块化就是采用分而治之的原则把一个复杂系统划分成若干个不同模块的

A. 对

B. 错

189. (判断题)抽象和精化是两个互补的设计原则。

A. 对

B. 错

190. (判断题)概要设计也称为总体设计或接口设计。

A. 对

B. 错

191. (判断题)在软件设计过程中,常用的抽象方法有过程抽象和数据抽象。

A. 对

B. 错

192. (判断题)精化就是一个细化的过程,有助于设计人员在设计过程中揭示底层的细节。

A. 对

B. 错

193. (判断题)功能独立是指软件系统中每个模块具有单一的功能,并与其它模块没有太多联系。

A. 对

B. 错

194. (判断题)系统设计时,模块划分得越细越好,这样实现起来也就越简单。

A. 对

B. 错

195. (判断题)面向数据流的设计方法理论上可以设计任何软件的结构

A. 对​​​​​​​

B. 错

196. (判断题)内聚和耦合是密切相关的,模块内的高内聚往往意味着模块间的松耦合。

A. 对

B. 错

197. (判断题)

在一个设计得很好的系统中,所有受判定影响的模块应该都从属于做出判定的那个模块,最好局限于做出判定的那个模块本身及它的直属下级模块

A. 对

B. 错

198. (判断题)界面规模及组织的复杂程度。应该愈简单愈好。

A. 对

B. 错

199. (判断题)系统响应时间应该是越快越好。

A. 对

B. 错

200. (判断题)盒图是不允许违背结构程序设计精神的图形工具。

A. 对

B. 错

201. (判断题)使用PAD符号所设计出来的程序必然是结构化程序

A. 对

B. 错

202. (判断题)伪码具有严格的关键字外语法,用于定义控制结构和数据结构。

A. 对

B. 错

203. (判断题)程序流程图必须有一个入口和一个出口

A. 对

B. 错

204. (判断题)用户进行数据输入时,尽量减少用户的输入动作

A. 对

B. 错

205. (判断题)用户与系统进行交互操作时,系统应尽量减少用户的记忆量。

A. 对

B. 错

206. (判断题)标识符的命名应该采用有实际意义的名字

A. 对

B. 错

207. (判断题)在正规的程序文件中,注释行的数量占整个源程序的1/5到1/3,甚至更多。

A. 对

B. 错

208. (判断题)选择编程语言只需求考虑用户的要求。

A. 对

B. 错

209. (判断题)等价类测试技术具备完备性和无冗余性。(      )

A. 对

B. 错

  • 简答题(共15题,7.5分)

  1. (简答题)什么是软件生命周期模型?试比较瀑布模型、快速原型模型、增量模型和螺旋模型的优缺点,说明每种模型的适用范围

  软件生命周期模型是指软件开发过程中按照一定的流程和阶段进行管理和控制的模型

(1)瀑布模型

优点:

· 强迫开发人员使用规范的方法

· 严格规定了每个阶段提交的文档

· 要求每个阶段交出的所有产品都必须经过质量保证小组的仔细验证

· 对文档的约束,使软件维护变得容易一些,且能降低软件预算

缺点:

· 在软件开发的初期阶段就要求作出正确的、全面的、完整的需求分析对许多应用软件来说是极其困难的

· 在需求分析阶段,当需求确定后,无法及时验证需求是否正确、完整

· 作为整体开发的瀑布模型,由于不支持产品的演化,缺乏灵活性,对开发过程中很难发现的错误,只有在最终产品运行时才能暴露出来,从而使软件产品难以维护

适用范围

· 用户的需求非常清楚全面,且在开发过程中没有或很少变化;

· 开发人员对软件的应用领域很熟悉;

· 用户的使用环境非常稳定;

· 开发工作对用户参与的要求很低

  1. 快速原型模型

优点:

开发的软件产品通常满足用户需求

软件产品开发基本是线性过程

缺点:

准确原型设计困难

原型理解可能不同

不利于开发人员创新

适用范围

对所开发的领域比较熟悉而且有快速的原型开发工具;

项目招投标时,可以以原型模型作为软件的开发模型;

进行产品移植或升级时,或对已有产品原型进行客户化工作时。

(3)增量模型

优点:

短时间内可提交完成部分功能

逐渐增加产品功能,用户适应产品快

缺点:

增量构件划分以及集成困难

容易退化为边做边改模型

适用范围

需求不明确或变化频繁的项目

系统开发周期较长的项目

需要快速响应市场变化的项目

(4)螺旋模型

优点:

利于把软件质量作为软件的开发目标

减少测试

维护和开发不分开

缺点:

风险估计困难

适用范围

大型、复杂的项目,尤其是软件开发项目

需要不断进行风险评估和风险管理的项目,以便在项目周期内及时处理和解决问题

在项目进行过程中需要逐步确定需求和解决方案的项目

212. (简答题)软件工程的基本原理是什么?

用分阶段的生命周期计划 严格管理

坚持进行阶段评审

实行严格的产品控制

采用现代程序设计技术

结果应能清楚地审查

开发小组的人员应该少而精

承认不断改进软件工程实践的必要性

213. (简答题)什么是软件危机?为什么会出现软件危机?

软件危机:是指在计算机的开发和维护过程中所遇到的一系列严重问题。这些问题决不仅仅是不能正常运行的软件才具有的,实际上,几乎所有软件都不同程度地存在这些问题。

出现软件危机的原因:一方面与软件本身的特点有关,另一方面也和软件开发与维护的方法不正确有关。软件不同于硬件,它是计算机系统中逻辑件而不是物理部件。管理和控制软件开发过程相当困难。软件是规模庞大,而且程序复杂性将随着程序规模的增加而呈指数上升。目前相当多的软件专业人员对软件开发和维护还有不少糊涂观念,在实践过程中或多或少地采用了错误的方法和技术,这是使软件问题发展成软件危机的主要原因。总结如下:

1)      取得正确的用户需求和正确地描述需求很困难

2)      开发人员对需求的正确理解也有困难

3)      常常在没有正确理解之前就仓促开始编程

4)      软件项目缺乏有效的组织、管理和内部交流

5)      缺乏软件开发方法、模型和工具的支持

6)      软件维护的困难性

214. (简答题)通常对软件系统有哪些需求?

功能需求、性能需求、可靠性和可用性需求、出错处理需求、接口需求、约束、逆向需求和将来可能提出的需求。

215. (简答题)有二元函数f(x,y),其中x的取值范围为:[1,21],y的取值范围为:[1,31];请写出该函数采用边界值分析法设计的测试用例。

 { <1,15>,<2,15>,<11,15>,<12,15>,<6,15>,<6,1>,<6,2>,<6,30>,<6,31> }

216. (简答题)软件定义时期的任务是什么?

确定软件开发工程必须完成的总目标;确定工程的可行性;导出实现工程目标应该采用的策略及系统必须完成的功能;估计完成该工程需要的资源和成本,并且制定工程进度表。

217. (简答题)面向对象方法学的4个要点是什么?用方程式概括,并简要概述。

面向对象方法=对象+类+继承+用消息通信

即:面向对象方法学是既使用对象又使用类和继承等机制,并且对象之间仅能通过传递消息实现彼此通信的方法

218. (简答题)在软件开发的早期 ,至少应该从那3个方面研究目标系统的可行性,并简要概述

技术可行性:使用现有的技术能实现这个系统吗?

经济可生性:这个系统的经济效益能超过它的开发成本吗?

操作可行性:系统的操作方式在这个用户组织内行得通吗?

219. (简答题)可行性研究的基本目的是什么?

是用较小的成本在较短的时间内确定是否存在可行的解法。

220. (简答题)总体设计过程通常由哪两个主要阶段组成,并简要说明。

系统设计阶段,确定系统的具体实现方案;结构设计阶段,确定软件结构

221. (简答题)典型的总体设计过程的9个步骤是什么?

设想供选择的方案,选取合理的方案,推荐最佳方案,功能分解,设计软件结构,设计数据库,制定测试计划,书写文档,审查和复审。

222. (简答题)什么是白盒测试?白盒测试主要测试软件的什么

把程序看成装在一个透明的白盒子里,测试者完全知道程序的结构和处理算法。白盒测试按照程序内容的逻辑测试程序,检测程序中的主要执行通路是否都能按预定要求正确工作。白盒测试又称为结构测试。

223. (简答题)什么是黑盒测试,黑盒测试主要测试软件的什么?

黑盒测试:黑盒测试法把程序看作一个黑盒子,完全不考虑程序的内部结构和处理过程。

黑盒测试只检查程序功能是否能按照规格说明书的规定正常使用,程序是否能适当地接收输入数据并产生正确的输出信息,程序运行过程中能否保持外部信息的完整性。因此黑盒测试又称为功能测试。

224. (简答题)大型软件系统的测试过程基本上由那5个步骤组成 ?

模块测试、子系统测度、系统测度、验收测试和平行测试。

  • 3
    点赞
  • 23
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

lwgwl

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值