您的当前位置:首页正文

软件制造工程期末复习题及答案

2023-05-08 来源:步旅网
选择题

1. 软件工程的概念是哪年提出的( )。 A. 1988 B. 1968 C. 1948 D. 1928

2. 瀑布模型的关键不足在于( )。

A. 过于简单 B. 各个阶段需要进行评审 C. 过于灵活 D. 不能适应需求的动态变更 3. 以下哪一项不是软件危机的表现形式( )。

A. 开发的软件不满足用户需要 B. 开发的软件可维护性差 C. 开发的软件价格便宜 D. 开发的软件可靠性差 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. 高质量文档对于发挥软件产品的效益有着重要的意义

9. 一个项目是否开发,从经济上来说是否可行,归根结底是取决于( )。

A. 成本估算 B. 项目计划

1

C. 工程管理 D. 工程网络图

10. 在面向对象的设计中,我们应遵循的设计准则除了模块化、抽象、低耦合、高内聚以外,还有( )。 A. 隐藏复杂性 B. 信息隐蔽 C. 经常类的复用 D. 类的开发 11. 面向对象的主要特征除对象惟一性、封装、继承外,还有( )。 A. 多态性 B. 完整性 C. 可移植性 D. 兼容性

12. 在考察系统的一些涉及时序和改变的状况时,要用动态模型来表示。动态模型着重于系统的控制逻辑,它包括两个图:一个是事件追踪图,另一个是( )。

A. 数据流图 B. 状态图 C. 系统结构图 D. 用例图 13. 面说法正确的是( )。

A. 经过测试没有发现错误说明程序正确 B. 测试的目标是为了证明程序没有错误

C. 成功的测试是发现了迄今尚未发现的错误的测试 D. 成功的测试是没有发现错误的测试

14. ( )能够有效地检测输入条件的各种组合可能会引起的错误。 A. 等价类划分 B. 边界值分析 C. 错误推测 D. 因果图

15火车是一种陆上交通工具。火车和陆上交通工具之间的关系是( )关系。

A. 组装 B. 整体部分 C. has a D. 一般特殊 16、软件维护产生的副作用,是指( )

A、开发时的错误 B、隐含的错误 C、因修改软件而造成的错误 D、运行时误操作 17、使用程序设计的控制结构导出测试用例的测试方法是( ) A、黑盒测试 B、白盒测试 C、边界测试 D、系统测试

2

18、软件详细设计的主要任务是确定每个模块的( ) A、算法和使用的数据结构 B、外部接口 C、功能 D、编程

19、软件结构图的形态特征能反映程序重用率的是( ) A、深度 B、宽度 C、扇入 D、扇出

20、为了提高模块的独立性,模块内部最好是( ) A、逻辑内聚 B、时间内聚 C、功能内聚 D、通信内聚 21、软件是一种( )

A、程序 B、数据 C、逻辑产品 D、物理产品 22、需求分析最终结果是产生( )

A、项目开发计划 B、需求规格说明书 C、设计说明书 D、可行性分析报告 23、因计算机硬件和软件环境的变化而作出的修改软件的过程称为( )

A、纠正性维护 B、适应性维护 C、完善性维护 D、预防性维护 24、下列属于维护阶段的文档是( )

A、软件规格说明 B、用户操作手册 C、软件问题报告 D、软件测试分析报告

25、若有一个计算类型的程序,它的输入量只有一个X,其范围是[-1.0,1.0],现从输入的角度考虑一组测试用例:-1.001,-1.0,1.0,1.001。设计这组测试用例的方法是( ) A、条件覆盖法 B、等价分类法 C、边界值分析法 D、错误推测法

26、研究开发所需要的成本和资源是属于可行性研究中的( )研究的一方面。

A. 技术可行性 B. 经济可行性 C. 社会可行性 D. 法律可行性

3

28、经过严密的软件测试后所提交给用户的软件产品中( )

A、软件不再包含任何错误 B、还可能包含少量软件错误

C、所提交给用户的可执行文件不会含有错误 D、文档中不会含有错误。

29、等价划分测试方法属于( ) A、黑盒测试 B、白盒测试

C、边界测试 D、系统测试

30、软件按照设计的要求,在规定时间和条件下达到不出故障,持续运行的要求的质量特性称为( )

A.可用性 B.可靠性

C.正确性 D.完整性 31、确认软件的功能是否与需求规格说明书中所要求的功能相符的测试属于( )

A、集成测试 B、恢复测试 C、确认测试 D、单元测试

33、从心理学角度看,对数据流程图的数据处理泡进行分解,一次分解为多少个泡为宜。( )

A、3±1 B、7±2 C、15±1 D、18±2 34、结构化程序设计主要强调的是( ) A、程序的规模 B、程序的效率 C、程序设计语言的先进性 D、程序易读性 35、在用户界面层次上对软件进行测试属于哪种测试方法( ) A、黑盒测试 B、白盒测试

C、边界测试 D、系统测试 39、软件生存周期中时间最长的是( )阶段。

A、总体设计 B、需求分析 C、软件测试 D、软件维护

40、为了提高模块的独立性,模块之间的联系最好的是( )。

A、公共耦合 B、控制耦合

4

C、内容耦合 D、数据耦合 41、软件概要设计结束后得到( )

A、初始化的软件结构图 B、优化后的软件结构图

C、模块的接口图和详细算法 D、程序编码 42、为使得开发人员对软件产品的各个阶段工作都进行周密的思考,从而减少返工,所以( )的编制是很重要的。

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.瀑布模型的关键不足在于

5

A、过于简单 B、不能适应需求的动态变更C、过于灵活 D、各个阶段需要进行评审

51.在面向对象软件开发方法中,类与类之间主要有以下结构关系(1)

(1)继承和聚集(2)继承和一般(3)聚集和消息传递(4)继承和方法调用

52.以下哪一项不是软件危机的表现形式(3)

(1)成本高(2)生产率低(3)技术发展快(4)质量得不到保证 54.软件可行性研究一般不考虑(4)

(1)是否有足够的人员和相关的技术来支持系统开发(2)是否有足够的工具和相关的技术来支持系统开发(3)待开发软件是否有市场、经济上是否合算(4)待开发的软件是否会有质量问题

55.软件维护的副作用主要有以下哪几种(3)

(1)编码副作用、数据副作用、测试副作用(2)编码副作用、数据副作用、调试副作用(3)编码副作用、数据副作用、文档副作用(4)编码副作用、文档副作用、测试副作用 56.软件项目计划一般不包括以下哪项内容(4)

(1)培训计划(2)人员安排(3)进度安排(4)软件开发标准的选择和制定

58.以下哪种测试方法不属于白盒测试技术(2) (1)基本路径测试(2)边界值分析测试(3)循环覆盖测试(4)逻辑覆盖测试

59. “软件危机”是指( ) A. 计算机病毒的出现

B. 利用计算机进行经济犯罪活动

C. 软件开发和维护中出现的一系列问题 D. 人们过分迷恋计算机系统

61. 为了提高模块的独立性,模块之间最好是( )

A. 控制耦合 B. 公共耦合 C. 内容耦合 D. 数据耦合 62. 下面关于PDL语言不正确的说法是( )

6

A. PDL是描述处理过程怎么做 B. PDL是只描述加工做什么 C. PDL也称为伪码

D. PDL的外层语法应符合一般程序设计语言常用的语法规则 63. 详细设计与概要设计衔接的图形工具是( ) A. DFD图 B. 程序图 C. PAD图 D. SC图

64. 不适合作为数据处理与数据库应用的语言是( ) A. SQL B. Cobol C. 4GL D. Lisp

65. 下列关于功能性注释不正确的说法是( )

A. 功能性注释嵌在源程序中,用于说明程序段或语句的功能以及数据的状态

B. 注释用来说明程序段,需要在每一行都要加注释 C. 可使用空行或缩进,以便很容易区分注释和程序 D. 修改程序也应修改注释

66. 下列关于效率的说法不正确的是( )

A. 效率是一个性能要求,其目标应该在需求分析时给出 B. 提高程序效率的根本途径在于选择良好的设计方法,数据结构与算法

C. 效率主要指处理机时间和存储器容量两个方面 D. 程序的效率与程序的简单性无关 67. 测试的关键问题是( )

A. 如何组织对软件的评审 B. 如何验证程序的正确性 C. 如何采用综合策略 D. 如何选择测试用例

68. 结构化维护与非结构化维护的主要区别在于( ) A. 软件是否结构化 B. 软件配置是否完整 C. 程序的完整性 D. 文档的完整性 69. 软件维护困难的主要原因是( ) A. 费用低 B. 人员少

C. 开发方法的缺陷 D. 得不到用户支持 70. 可维护性的特性中,相互矛盾的是( ) A. 可理解性与可测试性 B. 效率与可修改性

7

C. 可修改性和可理解性 D. 可理解性与可读性

71. 快速原型是利用原型辅助软件开发的一种新思想,它是在研究( )的方法和技术中产生的。 A. 需求阶段 B. 设计阶段

C. 测试阶段 D. 软件开发的各个阶段

72. 从目前情况来看,增量模型存在的主要问题是( ) A. 用户很难适应这种系统开发方法 B. 该方法的成功率很低

C. 缺乏丰富而强有力的软件工具和开发环境

D. 缺乏对开发过程中的问题和错误具有应付变化的机制 73. 下列文档与维护人员有关的有( ) A. 软件需求说明书 B. 项目开发计划 C. 概要设计说明书 D. 操作手册 D. 实现错误检测和错误恢复的程序

74. ( )是为了确保每个开发过程的质量,防止把软件差错传递到下一个过程而进行的工作。

A. 质量检测 B. 软件容错 C. 软件维护 D. 系统容错 75. 表示对象相互行为的模型是( )模型。

A. 动态模型 B. 功能模型 C. 对象模型 D. 静态模型 76. CASE工具的表示集成是指CASE工具提供相同的( ) A. 编程环境 B. 用户界面

C. 过程模型 D. 硬件/操作系统

78. 软件开发过程来自用户方面的主要干扰是( ) A. 功能变化 B. 经费减少 C. 设备损坏 D. 人员变化

79. 软件复杂性度量的参数包括( ) A. 结构 B. 问题背景 C. 可重用性 D. 容错性

80. 在 McCall 软件质量度量模型中,( )属于面向软件产品操作。

A. 可维护性 B. 效率

8

C. 适应性 D. 可互操作性

81. 为了提高软件的可维护性或可靠性而对软件进行的修改称为( )

A. 纠错性维护 B. 适应性维护 C. 完善性维护 D. 预防性维护

82. 面向维护的技术涉及软件开发的( )阶段。 A. 设计 B. 编码 C. 测试 D. 所有

83. 用白盒技术设计测试用例的方法包括( ) A. 边界值分析 B. 条件组合覆盖 C. 因果图 D. 错误推测

84. 软件测试的目的是( ) A. 为了表明程序没有错误 B. 为了说明程序能正确地执行 C. 为了发现程序中的错误 D. 为了评价程序的质量

85. 针对软件需求分析所进行的软件测试是指( ) A. 集成测试 B. 确认测试 C. 黑盒子测试 D. 白盒子测试

86. 源程序文档化要求在每个模块之前加序言性注释。该注释内容不应有( )

A. 模块的功能 B. 语句的功能 C. 模块的接口 D. 开发历史

87. 结构化程序设计采用的三种基本控制结构是( ) A. 顺序、分支、选择 B. 选择、循环、重复 C. 顺序、选择、循环 D. 输入、变换、输出

88. 在软件设计中详细描述处理过程常用的三种工具是( ) A.SA , SD , SP B. 程序流程图, IPO , PAD C.SA , SC , SD D. 图形,表格,语言

89. 通信内聚、逻辑内聚、顺序内聚和时间内聚的内聚性从高到低顺序是( )

9

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 .在 McCall 软件质量度量模型中, _________ 属于面向软件产品操作。( ) A .正确性 B .可维护性 C .适应性 D .互操作性

96.在快速原型模型的开发过程中,用原型过程来代替全部开发阶段所用模型是 _________ 模型。( ) A .探索型原型 B .演化型原型 C .实验型原型 D .增量型原型

10

97 .维护中因删除一个标识符而引起的错识是 _________ 副作用。( ) A .文档 B .数据 C .编码 D .设计

98.软件维护的困难主要原因是( ) A .费用低 B .人员少

C .开发方法的缺陷 D .维护难

99 .用白盒法技术设计测试用例的方法包括( ) A .错误推测 B .因果图

C .基本路径测试 D .边界值分析

100.软件测试中根据测试用例设计的方法的不同可分为黑盒测试和白盒测试两种,它们( )

A .前者属于静态测试,后者属于动态测试 B .前者属于动态测试,后者属于静态测试 C .都属于静态测试 D .都属于动态测试

101.程序的三种基本控制结构的共同特点是( ) A .只能用来描述简单程序 B .不能嵌套使用 C .单入口,单出口 D .仅用于自动控制系统

103 .当一个模块直接使用另一个模块的内部数据,这种模块之间的耦合为( )

A .数据耦合 B .公共耦合 C .标记耦合 D .内容耦合

104 .软件设计的方法有多种, _________ 方法不属于面向数据流的设计方法。( )

A .基于 Jackson 图的设计 B .基于 IDEF 0 图的设计 C .交换分析设计 D .事务分析设计

105.为高质量地开发软件项目,在软件结构设计时,必须遵循 _________ 原则。( ) A .信息隐蔽 B .质量控制 C .程序优化 D .数据共享

11

106 .数据流图( DFD )是 _________ 方法中用于表示系统的逻辑模型的一种图形工具。( ) A . SA B . SD C . SP D . SC 107.螺旋模型是一种将瀑布模型和 _________ 结合起来的软件开发模型。( )

A .增量模型 B .专家系统 C .喷泉模型 D .变换模型

108.需求规格说明书的作用不包括( ) A .软件验收的依据

B .用户与开发人员对软件要做什么的共同理解 C .软件可行性研究的依据 D .软件设计的依据 109.数据字典是用来定义 _________ 中的各个成份的具体含义的。( )

A .流程图 B .功能结构图 C .系统结构图 D .数据流图 111 .在软件生产的程序系统时代由于软件规模扩大和软件复杂性提高等原因导致了( ) A .软件危机 B .软件工程

C .程序设计革命 D .结构化程序设计 115 .软件复杂性度量的参数包括( )

A .效率 B .规模 C .完整性 D .容错性 117 .软件调试技术包括( )

A .边界值分析 B .演绎法 C .循环覆盖 D .集成测试 118 .瀑布模型的存在问题是( ) A .用户容易参与开发 B .缺乏灵活性

C .用户与开发者易沟通 D .适用可变需求

119 .软件测试方法中的静态测试方法之一为( )

12

A .计算机辅助静态分析 B .黑盒法 C .路径覆盖 D .边界值分析

120 .软件生命周期中所花费用最多的阶段是( )

A .详细设计 B .软件编码 C .软件测试 D .软件维护 122 .程序的三种基本控制结构是( ) A .过程、子程序和分程序 B .顺序、选择和重复 C .递归、堆栈和队列 D .调用、返回和转移

123 .在详细设计阶段,经常采用的工具有( ) A . PAD B . SA C . SC D . DFD

124 .详细设计的结果基本决定了最终程序的( )

A .代码的规模 B .运行速度 C .质量 D .可维护性 125 .需求分析中开发人员要从用户那里了解( )

A .软件做什么 B .用户使用界面 C .输入的信息 D .软件的规模

126 .结构化程序设计主要强调的是( ) A.程序的规模 B . 程序的效率

C. 程序设计语言的先进性 D .程序易读性

130 .需求分析阶段的任务是确定( ) A. 软件开发方法 B. 软件开发工具 C. 软件开发费 D.软件系统的功能

133. 结构化分析方法是以数据流图、( )和加工说明等描述工具,即用直观的图和简洁的语言来描述软件系统模型。 A. DFD图 B. PAD图

13

C. IPO图 D. DD

134. 信息隐蔽概念与( )这一概念直接的相关。 A. 模块的独立性 B. 模块类型的划分 C. 软件结构定义 D. 软件生命周期

135. 在软件的概要设计中,不使用的图形工具是( )图。 A. SC B. IPO C. PAD D. IDEF0

136. 不属于详细设计的主要工具有( )。 A. IPO图 B. PAD图 C. PDL D. SC

137. 不属于序言性注释的有( )。 A. 模块设计者 B. 修改日期

C. 程序的整体说明 D. 语句功能

138. 单元测试阶段主要涉及( )的文档。 A. 需求设计 B. 编码和详细设计 C. 详细设计 D. 概要设计

139. 在软件测试中,白盒测试方法是通过分析程序的( )来设计测试用例的方法。

A. 应用范围 B. 内部逻辑 C. 功能 D. 输入数据

140. 需求分析是分析员经了解用户的要求,认真细致地调研、分析,最终建立目标系统的逻辑模型并写出( )的过程。 A. 模块说明书 B. 软件规格说明 C. 项目开发计划 D. 合同文档

141. 数据耦合和控制耦合相比,则( )成立。 A. 数据耦合的耦合性强 B. 控制耦合的耦合性强

C. 两者的耦合性相当 D. 两者的耦合性需要根据具体情况分析 142. 鱼是一种水生动物。鱼与水生生物之间的关系是( )。 A. 分类关系 B. 组装关系 C. 整体成员关系 D. has a

14

143. 进度安排的好坏往往会影响整个项目的按期完成,下列属于软件进度的方法有( )。 A. 程序结构图 B. 流程图 C. 工程网络图 D. E-R图

144. 系统因错误而发生错误时,仍然能在一定程度上完成预期的功能,则把该软件称为( )。 A. 容错软件 B. 系统软件 C. 测试软件 D. 操作系统

145. Putnam 成本估算模型是一个( )模型。

A .静态单变量 B .动态单变量 C .静态多变量 D .动态多变量

1 .软件工程管理的具体内容不包括对 _________ 管理。( )

A .开发人员 B .组织机构 C .经费控制 D .设备

146 .用白盒法技术设计测试用例的方法包括( ) A .错误推测 B .因果图

C .基本路径测试 D .边界值分析 147 .软件测试中根据测试用例设计的方法的不同可分为黑盒测试和白盒测试两种,它们( )

A .前者属于静态测试,后者属于动态测试 B .前者属于动态测试,后者属于静态测试 C .都属于静态测试 D .都属于动态测试 148 . JSP 方法是一种面向 _________ 的设计方法。( ) A .控制结构 B .对象 C .数据流 D .数据结构

149 .当一个模块直接使用另一个模块的内部数据,这种模块之间的耦合为( )

A .数据耦合 B .公共耦合 C .标记耦合 D .内容耦合

15

150.为高质量地开发软件项目,在软件结构设计时,必须遵循 _________ 原则。( ) A .信息隐蔽 B .质量控制 C .程序优化 D .数据共享

151 .螺旋模型是一种将瀑布模型和 _________ 结合起来的软件开发模型。( ) A .增量模型 B .专家系统 C .喷泉模型 D .变换模型

152 .需求规格说明书的作用不包括( ) A .软件验收的依据

B .用户与开发人员对软件要做什么的共同理解 C .软件可行性研究的依据 D .软件设计的依据

157. 单元测试阶段主要涉及( )的文档。 A. 需求设计 B. 编码和详细设计 C. 详细设计 D. 概要设计

158. 在软件测试中,白盒测试方法是通过分析程序的( )来设计测试用例的方法。

A. 应用范围 B. 内部逻辑 C. 功能 D. 输入数据

159. 需求分析是分析员经了解用户的要求,认真细致地调研、分析,最终建立目标系统的逻辑模型并写出( )的过程。 A. 模块说明书 B. 软件规格说明 C. 项目开发计划 D. 合同文档

16

填空题

1. 在信息处理和计算机领域内,一般认为软件是 _程序____、_文档____ 和_数据____ 。

2. 数据流图的基本组成部分有 _数据的源点与终点____、 数据流_____、 加工_____、 数据文件_____。

3. 数据流图和数据字典共同构成了系统的 _逻辑____模型,是需求规格说明书的主要组成部分。

4. 划分模块时尽量做到__高内聚、低耦合______,保持模块的独立性,尽量使用公共模块。 5. 类的实例化是_对象_______。

6. 人们常用硬件可靠性的定量度量方法来度量软件的可靠性和可用性,常用的度量软件可

7. 靠性的两个指标是_成功地运行的概率_______和_平均故障时间_______。

8. 将待开发的软件细化,分别估算每一个子任务所需要的开发工作量,然后将它们加起来,

9. 将得到软件的总开发量。这种成本估算方法称为_自底向上_______。

10. 如果一个模块被 n 个模块调用,其中直接的上级模块的个数是 m 个( m<=n )那么该模块的扇入数是 ____M______ 个。 11. 结构化设计以 __数据流图_________ 为基础,按一定的步骤映射成软件结构。

12. 软件的风险分析可包括风险识别、风险预测 和风险驾驭(或风险管理)等3项活动。 13. 软件著作权登记的3种主要类型:(1)著作权登记;(2)著作权延续登记;(3)权利转移备案登记。 14. 软件工程管理的主要内容有:项目经费管理,软件质量管理,项目进度管理和人员管理。

15. 面向对象分析的目的是对客观世界的系统进行 ___建模___ 。 16. 软件维护工作的生产性活动包括分析评价、修改设计和 ____编写程序代码_______ 等。

17

17. 为了使应用软件适应计算机环境的变化而 ___修改软件_______________ 的过程称为适应性维护。

18. 一个进行学生成绩统计的模块其功能是先对学生的成绩进行累加,然后求平均值,则该模块的内聚性是 __________顺序内聚________ 。

19. __极限编程_________是敏捷过程中最富盛名的一个。 20. 以下流图中,边的条数为____9_____,区域数为____4_____,判定结点的数目为____3_____,环形复杂度为____4_____。

1235764

21. 软件配置主要包括程序、__文档_______和数据等成分。 22. 如果模块内所有处理元素属于一个整体,完成一个单一的功能,则称为___功能_________内聚。

23. 软件测试的目的是___发现错误________________________。 24. 模块并不是一个独立的程序,因此必须为每个单元测试开发_____驱动____程序和存根程序。

25. 把诊断和改正错误的过程称为____改正性_________维护。 26. 投资回收期就是使累计的经济效益等于 __最初的投资费用______________ 所需的时间。

27. 软件生存周期是指一个软件从提出开发要求开始直到 __软件废弃____为止的整个时期。

28. 曾被誉为“程序设计方法的革命”的 结构化 程序设计,使程序设计从主要依赖于程序员个人的自由活动变成为有章可

18

循的一门科学。

29. 从结构化程序设计到 面向对象程序设计 ,是程序设计方法的又一次飞跃。

30. 软件工程方法学分为传统方法学和___面向对象_____________方法学。

31. 软件生命周期有___软件定义___________、软件开发和软件维护3个时期组成。

32. ____螺旋模型_________模型特别适用于庞大、复杂并具有高风险的系统。

33. 以下软件结构图中,深度为____3_____,宽度为____3_____,模块F的扇入为____2____、扇出为___0_____。

ABCDEF 34. ___耦合__________是对一个软件结构不同模块之间互联程度的度量。

35. 黑盒测试方法包括等价划分、____边界分析 ____________和错误推测。

36. 软件的___可维护性_____________定义为维护人员理解、改正或改进这个软件的难易程度。

37. 在单元测试时,需要为被测模块设计___测试用例_______。

19

名词解释

1. 数据词典——是描述数据信息的集合,它对数据流图中的各个元素按规定格式进行详细的描述和确切的解释,是数据流图的补充工具。

2. 数据流图——他以图形的方式反映系统的数据流程

3. 白盒测试——按照程序内部的结构测试程序,检验程序中的每条路径是否都能按预定要求正确工作。有两种测试法既逻辑覆盖测试法和路径测试法

4. 黑盒测试——按照程序的功能测试程序,检验与程序功能有关的输入、输出与程序执行是否正确。有四种方法既等价分类法、边界值分析法、错误猜测法和因果图法

5. 完善性维护——为了适应用户业务和机构的发展变化而对软件的功能、性能进行修改、扩充的过程称为完善性维护。因为各种用户的业务和机构在相当长的时期内不可能是一成不变的,所以功能、性能的增加是不可避免的,而且这种维护活动在整个维护工作中所占的比重很大

6. 软件可靠性——指在给定的时间内,程序按照规定的条件成功地运行的概率

7. 软件配置——是一个软件在生存周期内,他的各种形式、各种版本的文档与程序的总称

8. 软件再工程——运用逆向工程、重构等技术,在充分理解原有软件的基础上,进行分解、综合、并重新构建软件,用于提高软件的可理解性、可维护性可复用性或演化性。

9. α测试——是在一个受控的环境下,由用户在开发者的“指导”下进行的的测试,由开发者负责记录错误和使用中出现的问题。

10. β测试——是由软件的最终用户(多个)在一个或多个用户场所来进行。由用户负责记下遇到的所有问题,包括主观认定的和真实的问题,定期向开发者报告,开发者在综合用户的报告之后进行修改,最后将软件产品交付给全体用户使用。

20

简答题

1.软件工程的七条基本原理是什么? 答:软件工程的七条基本原理是:

(1) 用分阶段的是的生存周期计划严格管理; (2) 坚持进行阶段评审; (3) 严格实施的产品控制; (4) 采用现代程序技术; (5) 结果应能清楚地审查;

(6) 开发小组的成员应该少而精;

(7) 承认不断改进软件工程的必要性。

2.良好的编码风格应具备哪些条件? 答:应具备以下条件:

(1)使用标准的控制结构;

(2)有限制地使用GOTO语句;

(3)源程序的文档化 (应具备以下内容)

①有意义的变量名称 —— “匈牙利命名规则 ”。 ②适当的注释 ——“注释规范”。 ③标准的书写格式:

——用分层缩进的写法显示嵌套结构的层次(锯齿形风格); ——在注释段的周围加上边框;

——在注释段与程序段、以及不同程序段之间插入空行; ——每行只写一条语句;

——书写表达式时,适当使用空格或圆括号等作隔离符。

3.简述文档在软件工程中的作用。 答:

(1) 提高软件开发过程的能见度 (2) 提高开发效率

(3) 作为开发人员阶段工作成果和结束标志 (4) 记录开发过程的有关信息便于使用与维护;

21

(5) 提供软件运行、维护和培训有关资料; (6) 便于用户了解软件功能、性能。 4.可行性研究包括哪几方面的内容? 答:

(1)经济可行性:是否有经济效益,多长时间可以收回成本; (2)技术可行性:现有技术能否实现本系统,现有技术人员能否胜任,开发系统的资源能否满足;

(3)运行可行性:系统操作在用户内部行得通吗?

(4)法律可行性:新系统开发是否会侵犯他人、集体或国家利益,是否违反国家法律。

5.给出一组数从小到大的排序算法,分别用下列工具描述其详细过程:

(1)流程图;(2)N-S图;(3) PDL语言。

6.将下面给出的伪码转换为N-S图和PAD图。 void root ( float root1, float root2 ) {

22

i = 1; j = 0; while ( i <= 10 ) {

输入一元二次方程的系数a, b, c; p = b*b – 4*a*c;

if ( p < 0 ) 输出“方程i无实数根”; else if ( p > 0 ) 求出根并输出; if ( p == 0 ) { 求出重根并输出; j = j + 1; }

i = i +1; }

输出重根的方程的个数j; }

1)N-S图 i = 1; j = 0;

while ( i <= 10 )

输入p < 0 ?

a, b, c; 计算 p = b2F

- 4ac; T 输出“方程i”无F

p > 0 ?

T

 p == 0 ?

求出根并输出

F

T

i = i + 1;

求出重根并输出; j = j + 1; 输出重根的方程个数i

23

【解答】(

(2)PAD图 i = 1; j = 0;

输入a,b,c; 计算 p = b2–4ac;

p > 0 ?

求出根并输出

while ( i <= 10 )

p < 0 ?

输出方程i无实根

p = 0 ? 求出重根并输出; j = j+1;

输出重根的方程个数i

i = i + 1;

7.根据下列代码画出流程图并说明该代码的功能。

START n=1 INPUT max WHILE n<10 DO INPUT a

IF a>max THEN max=a ENDIF n=n+1 ENDDO PRINT max STOP 代码的功能:

24

输入10个数,求最大数 流程图:

开始n=1输入maxYn<10N输入aYa>maxNmax=an=n+1输出max结束

8.根据下列代码画出流程图并说明该代码的功能。START

代码的功能:

INPUT a,b,c 输入三个数,按大小顺序输出 IF a交换a,b 流程图:

END IF

开始IF a输入PRINT c,a,b a,b,cELSE

YaYa9.请将盒图转换为PAD图。

25

S1TX>5FS2S3i<1S4TY>2FS5S6

S1X>5S2S3S4While i<1S5Y>2S6

10.请将PAD图转换为N-S图。 26

p1While y=1p2i>2s=5Until x=2p3p4p5y=1p1p2TTp3i>2p4s=5Fp5x=2F

11.某网站出售商品,请分别画出判定表和判定树。 购买政策是:

(1)总价<100,不优惠;

(2)100<=总价<1000,江浙一带优惠8%;其余地区优惠5%;。

(3)总价>=1000,优惠10%。请分别画出判定表和判定树。 判定表:

27

总价<100 100<=总价<1000 总价>=1000 江浙 不优惠 优惠8% 优惠5% 优惠10% 1 T F F 2 F T F 3 F T F 4 F F T T F √ √ √ √ 判定树:

总价<100购买政策不优惠江浙优惠8%优惠5%100<=总价<1000其余总价>=1000优惠10%

12.招聘考试考核数学、英语、程序设计三门课程,请分别画出判定

表和判定树。 录取规则是:

(1)总分260分以上(含)录取;

(2)总分在260分以下(不含),190分以上(含)的,如果数学和英语成绩均在60分以上(含),需要参加面试;如果数学或英语中只有1门成绩在60分以下(不含)的,需复试;如果数学、英语均在60分以下(不含),不录取。

(3)总分小于190分不录取。

判定表:

总分>=260 190<=总分<260 总分<190 1 T F F 2 F T F 3 F T F 4 F T F 5 F T F 6 F F T 28

数学>=60 英语>=60 录取 面试 复试 不录取 T T √ √ T F F T F F √ √ √ √

判定树:

总分>=260录取规则录取数学>=60英语>=60英语<60英语>=60英语<60面试复试复试不录取190<=总分<260数学<60总分<190不录取

13.输入三整数,判断是否构成三角形,如构成三角形,则输出三条边的值,否则输出”不能构成三角形”. 要求:1.用程序流程图表示该问题的算法;2.计算程序复杂度; 3.设计路径覆盖的测试用例。

答:

① ②Ⅰ

开始 输入A,B,C ① A+B>C ② T A+C>B ③ T B+C>A ④ 输出ABC ⑤

⑦ Ⅳ

结束 T ⑤ 不能构成三角形 F F F ③Ⅱ

④Ⅲ

⑥ 路径:

29

1.①—②—③—④—⑥—⑦ 2.①—②—⑤—⑥—⑦ 3.①—⑤—⑥—⑦

4.①—②—③—⑤—⑥—⑦

程序复杂度=3+1=4

测试用例

路径 1 2 3 4 测试用例(A,B,C) A=3,B=4,C=5 A=5,B=8,C=2 A=2,B=2,C=5 A=5,B=2,C=2 结果 A=3,B=4,C=5 不能构成三角形 不能构成三角形 不能构成三角形 14.某航空公司规定,乘客可以免费托运重量不超过30kg的行李。当行李重量超过30kg时,对头等舱的国内乘客超重部分每公斤收费4元,对其他舱的国内乘客超重部分每公斤收费6元,对外国乘客超重部分每公斤收费比国内乘客多一倍,对残疾乘客超重部分每公斤收费比正常乘客少一半。用判定树表示与上述每种条件组合相对应的计算行李费的算法. 答案:

15.如图显示某程序的逻辑结构。

试为它设计足够的测试用例,分别实现对程序的判定覆概、条件覆概和条件组合覆概。

30

YN

N

覆盖种类 判定覆盖 条件覆盖 条件组合 覆盖 设计测试方案 需满足的条件 测试数据 A>1,B=0 A>1,B0或 A1,B=0或 A1,B0 A=2,B=0 A=2,B=1或 A=1,B=0或 A=1,B=1 期望结果 执行S1 执行S2 执行S1 执行S2 执行S1 执行S2 执行S2 执行S2 以下四种情况各出 现一次 A>1 B=0 A=2,B=0 A1 B0 A>1,B=0 A>1,B0 A1,B=0 A1,B0 A=1,B=1 A=2,B=0 A=2,B=1 A=1,B=0 A=1,B=1

16.某城市电话号码由三部分组成。它们的名称和内容分别是: 地区码:空白或三位数字;

前 缀:非‘0’或‘1’的三位数字; 后 缀:4位数字。

假定被测程序能接受一切符合上述规定的电话号码,拒绝所有不符合规定的电话号码。根据该程序的规格说明,作等价类的划分,并设计测试方案。 划分等价类 输入条

有效等价类 无效等价类 31

件 地区码 1.空白; 2.三位数; 1. 有非数字字符;2.少于三位数字; 3.多于三位数字。 前 缀 3.从200到999之4.有非数字字符;5.起始位为间的三位 ‘0’; 6.起始位为‘1’; 7.少于三位数字; 8.多于三位数字。 后 缀 4.四位数字。 9.有非数字字符;10.少于四位数字; 11.多于四位数字。 输 入 后缀 预期 输出 有效 有效 设计测试方案 方案 地区码 内容 前缀 1 空白 200~999四位数( )276-2345 之间的三字 2 三位数位数字 四位数(635)805-9321 字 字 3 有非数字字符 4 少于三位数字 5 多于三位数字 6 7 (20A)723-4567 有非数字 字符 起始位为 ‘0’ 无效 (33 )234-5678 无效 (5555)345-6789 无效 (345)5A2-3456 无效 (345)012-3456 无效 32

8 9 10 11 12 13

起始位为 ‘1’ 少于三位 数字 多于三位 数字 (345)132-3456 (345) 92-3456 无效 无效 (345)4562-3456 无效 无效 无效 无效 有非数(345)342-3A56 字字符 少于四(345)342- 356 位数字 多于四(345)562-34567 位数字 17. 某一程序的流程图如图所示,请分别使用语句覆盖、条件覆

盖标准设计它的测试用例。T、F分别表示真和假,设输入为(X,Y)。

ecX>0 AND Y>0s开始aX>2FTb语句1T语句2dF结束语句覆盖:

执行路径:sabcde

测试用例:x=1,y=1(>0) 条件覆盖:

分析(列出所有条件):

33

(1)x>2 (2)x<=2 (3)x>0 (4)x<=0 (5)y>0 (6)y<=0 测试用例:

(1)(3)(5) x=3(>2),y=1(>0) (2)(4)(6) x=0(<=0),y=0<=0)

18.某保险公司计算保险费率点数,如图所示。其中,年龄有效输入范围为1-100;性别有效输入值为‘M’、‘F’字符;婚姻有效输入值为‘已婚’、‘未婚’字符。要求用等价类划分方法写出等价类和测试用例。(8分) 年龄 性别 已1--29 30--59 60-100 M F 67点 5点 3点 4婚 未婚 婚姻 点 点 4点 6点 1)划分等价类: 输入条有效等价类 件 (1)1-29 年龄 (2)30-59 (3)60-100 性别 (6)‘M’ (7) ‘F’ 婚姻 (9)已婚 (10)未婚

2)测试用例:

用例编输入(年龄,性别,预期输覆盖等价无效等价类 (4)小于1岁 (5)大于100岁 (8)‘M’、 ‘F’外的其它字符 (11)‘已婚’、‘未婚’外的其它字符 34

号 1 婚姻) 21,M,已婚 出 有效 类 (1)(6)(9) 2 31,F,未婚 有效 (2)(7)(10) 3 61,M,已婚 有效 (3)(6)(9) 4 5 6 7 0,M,已婚 101,M,已婚 21,A,已婚 21,M,哈哈 无效 无效 无效 无效 (4) (5) (8) (11) 19.某一程序的流程图如图所示,请分别使用判定覆盖、条件组合覆盖标准设计它的测试用例。T、F分别表示真和假,设输入为(X,Y)。

cX>0 OR Y>0s开始aX>2FTb语句2语句1T语句3dF判定覆

e结束盖:

35

分析(列出所有判定分支):

(1)a为T (2)a为F (3)c为T (4)c为F 测试用例:

(1)(3)x=3(>2),y任意 (2)(4)x=0(<=0),y=0(<0)

条件组合覆盖:

列出所有条件组合:

分析(列出所有条件组合):

(1)x>2 (2)x<=2 (3)x>0,y>0 (4)x>0,y<=0 (5)x<=0,y>0 (6)x<=0,y<=0

测试用例:

(1)(3)x=3(>2),y=1(>0) (1)(4)x=3(>2),y=0(<=0) (2)(5)x=0(<=0),y=1(>0) (2)(6)x=0(<=0),y=0(<=0)

20.某函数要求输入三个变量year(代表年)、month(代表月)、day(代表日),其中,year年的取值范围为1900-2099,month的取值范围为1-12,day的取值范围为1-31,要求用等价类划分方法写出等价类和测试用例。(8分) 划分等价类:

输入条有效等价类 件 year (1)1900-2099 month day

36

无效等价类 (2)小于1900 (3)大于2099 (5)小于1 (6)大于12 (8)小于1 (9)大于31 (4)1-12 (7)1-31 测试用例: 用输入(year,预期输出 覆盖等价例 month,day) 类 1 1900,1,1 有效 (1)(4)(7) 2 1899,1,1 无效 (2) 3 2100,1,1 无效 (3) 4 1900,0,1 无效 (5) 5 1900,13,1 无效 (6) 6 1900,1,0 无效 (8) 7 1900,1,32 无效 (9)

30.软件的维护一般分为哪几类?

完善性维护:满足用户在使用过程中提出增加新的功能或修改已有功能,以满足用户日益增长的需要而进行的工作; 适应性维护:是软件适应新的运行环境而进行的工作; 纠错性维护:纠正开发期间未发现的遗留错误,即在程序使用期间发现的程序错误进行诊断和改正的过程; 预防性维护:为了改善未来的可维护性或可靠性而修改软件的工作。

31.决定软件可维护性的因素?

(1) 软件的可理解性、可测试性、可修改性;

(2) 文档描述符合要求、用户文档简洁明确、系统文档完整并且标准。

32.分析软件危机产生的主要原因有哪些? 答:导致软件危机的主要原因有:

(1)软件日益复杂和庞大(2)软件开发管理困难和复杂(3)软件开发技术落后(4)生产方式落后(5)开发工具落后(6)软件开发费用不断增加

37

1 个要点1分,只要答上5个要点得5分! 33.说明结构化程序设计的主要思想是什么?

答:(1)自顶向下、逐步求精的程序设计方法(2分)(2)使用3种基本控制结构、单入口、单出口来构造程序。(3分)

34、软件测试的基本任务是什么?测试与纠错有什么区别? 答:软件测试的基本任务是通过在计算机上执行程序,暴露程序中潜在的错误。测试和纠错目的和任务都不相同,测试是为了发现程序的错误,纠错是为了定位和纠正错误,从而消除软件故障,保证程序的可靠运行。

35.软件测试包括哪些步骤?同时说明这些步骤的测试目的是什么?

答:(1)单元测试,目的是代码达到模块说明书的要求(2)集成测试,目的是将经过单元测试的模块逐步组装成具有良好一致性的完整的程序(3)确认测试,目的是确认程序系统是否满足软件需求规格说明书的要求(4)系统测试,目的是检查能否与系统的其余部分协调运行,并且完成SRS对他的要求。

37.说明软件测试和调试的目的有何区别?

答:测试的目的是判断和发现软件是否有错误(2。5分)调试的目的是定位软件错误并纠

38. 根据以下被测试的流程图,选择相应的答案。(8分)

(1) A=2, B=0, X=4 (2)A=2, B=1, X=1 (3)A=2, B=0, X=1

A=1, B=1, X=1 A=3, B=0, X=3 A=1, B=1, X=2 ①在1-3的答案中满足判定覆盖的测试用例是___1_____ (2分) ②在1-3的答案中满足条件覆盖的测试用例是___3_____ (2分) ③在1-3的答案中满足判定/条件覆盖的测试用例是______2__ (2分)

38

39

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