软件工程概论题库

软件工程复习题

一、选择题:

  1. 开发软件所需高成本和产品的低质量之间有着尖锐的矛盾,这种现象称做(C)。

A.软件工程 B.软件周期 C.软件危机 D.软件产生

  1. 瀑布模型本质上是一种(A )模型。

A.线性顺序        B.顺序迭代      C.线性迭代     D.早期产品

  1. 瀑布模型存在的问题是(B )。

A.用户容易参与开发 B.缺乏灵活性C.用户与开发者易沟通 D.适用可变需求

  1. 螺旋模型是一种将瀑布模型和(A)结合起来的软件开发模型。

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

  1. 原型化方法是用户和设计者之间执行的一种交互构成,适用于(A)系统。

A.需求不确定性高的 B.需求确定的 C.管理信息 D.实时

  1. 下列有关软件工程的标准,属于国际标准的是(C )

A.GB  B.ANSI  C.ISO  D.IEEE

  1. 结构化方法是一种基于(D)的方法。

A.数据结构 B.程序结构 C.算法 D.数据流

  1. 软件可行性研究实质上是要进行一次( A)需求分析、设计过程。

A、简化、压缩的  B、详细的 C、彻底的 D、深入的

  1. 可行性研究的目的是(D)

A、分析开发系统的必要性 B、确定系统建设的方案

C、分析系统风险 D、确定是否值得开发系统

  1. 可行性研究是在(A)之前

A、系统开发 B、测试 C、试运行 D、集成测试

  1. 可行性研究需要的时间长短取决于系统的规模,一般来说,可行性研究的成本只是预期总成本的(C)。

A、1% B、20% C、8% D、50%

  1. 我国正式颁布实施的(B)对计算机病毒的定义具有法律性、权威性。

A.《计算机软件保护条例》

B.《中华人民共和国计算机信息系统安全保护条例》

C.《中华人民共和国著作权法》

D.《计算机病毒防治管理办法》

  1. 效率是一个性能要求,因此应当在以下哪个阶段规定

A、可行性分析B、需求分析C、概要设计D、详细设计

  1. 需求规格说明书的作用不包括(D)

A、软件验收的依据 B、用户与开发人员对软件要做什么的共同理解

C、软件可行性研究的依据 D、软件设计的依据

  1. 数据字典是用来定义(D)中的各个成份的具体含义的。

A、程序流程图B、功能结构图 C、系统结构图D、数据流程图

  1. 数据流程图是(A)方法中用于表示系统逻辑模型的一种图形工具。

A、SA B、SD C、SP D、SC

  1. DFD中的每个加工至少有(A)。

A、一个输入流或一个输出流 B、一个输入流和一个输出流

C、一个输入流 D、一个输出流

  1. 需求分析阶段的关键任务是确定(D)

A、软件开发方法 B、软件开发工具C、软件开发费D、软件系统的功能

  1. 在SD方法中全面指导模块划分的最重要的原则是(D)。

A、程序模块化B、模块高内聚C、模块低耦合D、模块独立性

  1. 在模块的3种基本属性中,反映模块内部特性的是(C)。

A、接口 B、功能 C、逻辑 D、状态

  1. 模块的耦合性可以按照耦合程度的高低进行排序,以下哪一项符合从低到高的正确次序(D)。

A、数据结构耦合,公共耦合,控制耦合,内容耦合

B、数据耦合,控制耦合,数据结构耦合,公共耦合

C、无直接耦合,数据结构耦合,内容耦合,控制耦合

D、无直接耦合,数据耦合,控制耦合,内容耦合

  1. PDL(过程设计语言)是描述处理过程( C )

A、做什么B、为什么做 C、怎么做D、对谁做

  1. (D)工具在软件详细设计过程中不采用。

A、判定表 B、IPO图 C、PDL D、DFD图

  1. 为高质量地开发软件项目,在软件结构设计时,必须遵循(A)原则。

A.信息隐蔽  B、质量控制 C、程序优化D、数据共享

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

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

  1. 详细设计与概要设计衔接的图形工具是(B)。

A、DFD图 B、SC图 C、PAD图 D、程序流程图

  1. 下列几种类型中,耦合性最弱的是(D)。

A、内容型B、控制型C、公共型D、数据型

  1. 软件结构使用的图形工具,一般采用(C)图。

A、DFD B、PAD C、SC D、ER

  1. 在七种偶合中,最低偶合是(D)。
  1. 内容偶合B、公共偶合C、数据偶合D、非直接偶合
  1. 结构化程序设计,主要强调的是(C)

A.程序的执行效率 B.模块的内聚

C.程序的可理解性 D.模块的耦合

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

A.配置项  B.程序  C.基线  D.过程

  1. 在软件设计中应该保持模块的独立性原则,( A )反映模块独立性。
  1. 耦合和内聚 B.数据和模块    C. 模块内部的凝聚力   D.模块之间的耦合
  1. 具有风险分析的软件生命周期模型是( C    )。

A. 瀑布模型                             B. 喷泉模型

C. 螺旋模型                             D. 增量模型

34. 软件工程的基本要素包括方法、工具和(   A )。

A. 过程                                 B. 软件系统

C. 硬件环境                             D. 人员

35.  在结构化分析方法中,(   C )表达系统内部数据运动的图形化技术。

A. 数据字典                             B. 实体关系图

C. 数据流图                             D. 状态转换图

36. “软件危机”是指(  C  )。

A. 计算机病毒的出现                     B.利用计算机进行经济犯罪活动

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

37. 软件的( A  )设计又称为总体设计,其主要任务是建立软件系统的总体结构。

A.概要                                 B.抽象          

C.逻辑                                 D.规划

38. 下列不属于数据字典组成部分的是 D  )

A. 数据项                               B. 数据流    

C. 数据文件                             D. 数据库

39. 下列不属于软件需求范畴的是A   )

A. 软件项目采用什么样的实现技术         B . 用户需要软件能做什么样的事情

C. 用户需要软件完成什么样的功能         D. 用户需要软件达到什么样的性能

40. 模块的内聚性最高的是(  D  )。

A. 逻辑内聚                             B. 时间内聚       

C. 偶然内聚                             D. 功能内聚

41. 在白盒测试技术测试用例的设计中,(  B   )是最强的覆盖标准。

A. 语句覆盖                            B. 路径覆盖      

C. 条件组合覆盖                        D. 判定覆盖

42. Jackson程序设计方法是一种面向( A    )的设计方法。

A. 数据结构                            B. 数据流图    

C. IPO图                               D. 系统流程图

43. 软件设计中划分模块的一个准则是(  C    )。

A. 低内聚低耦合                        B. 低内聚高耦合  

C. 高内聚低耦合                        D. 高内聚高耦合

44. 以文档作为驱动,适合于软件需求很明确的软件项目的生存周期模型是( C   )。

A. 喷泉模型                            B. 增量模型      

C. 瀑布模型                            D.螺旋模型

45. 类构件的重用方式有多态重用、继承重用和(  A  )。

A. 实例重用                            B. 重载重用       

C. 代码重用                            D. 方法重用

46. 软件维护工作的最主要部分是(  C    )。

A. 校正性维护                                B. 适应性维护

C. 完善性维护                                 D. 预防性维护

47. 一个模块的( C   )太大一般是因为缺乏中间层次,应当适当增加中间层次的控制模块。

A. 深度                                 B. 宽度         

C. 扇出                                 D. 扇入

 

  1. 从本质上说,面向对象是“先”确定(A)后确定执行的动作。

A.动作的主体 B.属性 C.关系 D.方法

49.(B)是对象的静态特征。

A.方法 B.属性 C.关系 D.操作

50. 对象的(D)使对象的动态特征

A.特征 B.属性 C.关系 D.操作

51. 属于某个类的一个具体对象称为该类的(A)。

A.实例 B.虚拟 C.继承 D.多态

52. UML是(A)。

  1. 一种可视化的建模语言
  2. 是一种可视化的程序设计语言
  3. 是一种过程
  4. 是一种方法
  1. 封装的的作用是(A)。

A.复用 B.对象 C.实例 D.方法

54. 面向对象分析的核心在于建立(B)模型。 

A. 建立正确的模型

B. 识别问题域对象

C.识别对象之间的关系

D.上面所有

55. 面向对象分析过程中建立的模型有(D )。 

    1. 数据模型、功能模型、活动模型
    2. 对象模型、功能模型、测试模型
    3. 属性模型、功能模型、对象模型
    4. 对象模型、功能模型、动态模型
  1. 下列的( C)不是分析建模的目的。 
    1. 定义可验证的软件需求 
    2. 描述客户需求 
    3. 开发一个简单的问题解决方案 
    4. 建立软件设计的基础 
  2. 下列的( C)不属于面向对象分析模型。 
    1. 用例图 
    2. 类图 
    3. 实体关系图 
    4. 顺序图 

58.(A )用于描述系统中概念层次的对象。 

A.分析类

B. 界面类

C.实体类

D.控制类

59. 在基于用例的面向对象分析过程中,定义交互行为的关键在于通过描述分析类实例之间的(A)将用例的职责分配到分析类中。

A. 消息传递

B  关联关系

C  继承关系

D  上下文关系

  1. 用例的实现细节不会在(B)描述。

A. 用例说明

B. 用例图

C.活动图

D.顺序图

61. 用例的职责通常分配给(D)的对象。

A. 发送消息

B. 接收消息

C.发送和接收双方

D.分析类

62. 组织机构图是(C)。

A. UML的一个最新图

B. 类图的一种

C.用于识别角色的辅助图

D.用例图的一种

63. 在图书馆系统中,假如已经构造了一个一般借书者类,后来发现图书馆的学生和教师在借书中有不同要求。请问在面向对象设计中用(B)方法可以方便地设计这两个类/p>

A.信息隐藏  B.继承  C.动态联编  D.代码复制

64. 框架是一组可用于不同应用的(A)集合

A. 类  B.对象  C.模块  D.代码 

65. 下面哪个选项不能描述子系统之间的关系。(D)

A. 请求——服务关系  B.继承关系  C.依赖关系  D.数据关系

66. 每个子系统的接口上定义了若干(B),体现了子系统的功能。

A. 说明  B.操作 C.属性  D.关系

67. 通常将具有共性的非功能要求设计在(B),以减少重新开发的工作量。

A. 接口层  B.中间层  C.最低层  D.最高层

68. 每个用例至少应该有一个(C),它通常没有属性而只有方法,只是起协调和控制作用。

A. 接口类  B.实体类  C.控制类  D.界面类

69. 类有三种类型即(A)。

A. 边界类、实体类、控制类 

B. 实体类、数据类、界面类

C. 控制类、实体类、数据类

D. 界面类、控制类、公共类

70. 下面那个选项不是正确的面向对象设计思想。(C)

A.对接口进行设计

B.发现变化并且封装它

C.先继承后组合

D.先组合后继承

71. 定义类的属性类型时尽量使用已有的类型,太多的自定义类型会降低系统的(A)指标。

A.可维护性  B.安全性 C.开发效率 D.可移植性

72. 从本质上说,面向对象是“先”确定动作的(  )“后”执行( D )。

A.数据结构/主体   B.主体/数据结构   C.动作/主体  D.主体/动作

 

  1. 结构化语言是介于自然语言和形式语言之间的一种(D)。

A.半形式语言B.计算机语言 C.低级语言 D.高级语言

74. 程序设计语言的技术特性不应包括(C)。

A、数据结构的描述性B、抽象类型的描述性

C、数据库的易操作性D、软件的可移植性

75. 程序的三种基本控制结构是(B)。

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

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

76. 结构化程序设计主要强调的是(D)。

A.程序的规模B.程序的效率 C.程序设计语言的先进性 D.程序易读性

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

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

B.注释用来说明程序段,需要在每一行都要加注释

C.可使用空行或缩进,以便很容易区分注释和程序

D.修改程序也应修改注释

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

A.效率是一个性能要求,其目标应该在需求分析时给出

B.提高程序效率的根本途径在于选择良好的设计方法,数据结构与算法

C.效率主要指处理机时间和存储器容量两个方面

D.程序的效率与程序的简单性无关

79. 结构化维护与非结构化维护的主要区别在于(B )。

A.软件是否结构化 B.软件配置是否完整 C.程序的完整性 D.文档的完整性

80. 关于JAVA语言下列说法不正确的是(B)。

A.跨平台的 B.动态指针 C.解释型的 D.面向对象的

81. 使用白盒测试方法时,确定测试数据应根据(A)和指定的覆盖标准。

A程序内部逻辑      B.程序复杂结构

C.使用说明书 D.程序的功能

82. 确认测试主要涉及的文档是(A)。

A、需求规格说明书B、概要设计说明书

C、详细设计说明书D、源程序

83. 测试的关键问题是(D)。

A.如何组织对软件的评审 B.如何验证程序的正确性

C.如何采用综合策略 D.如何选择测试用例

84. 黑盒测试在设计测试用例时,主要研究(A)。

A.需求规格说明 B.详细设计说明

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

85. 下面哪些测试属于黑盒测试(B)。

A、路径测试B、等价类划分 C、条件判断 D、循环测试

86. 在下述哪一种测试中,测试人员必须接触到源程序(B)。

A、功能测试 B、结构测试C、功能测试和结构测试 D、性能测试

87. 检查软件产品是否符合需求定义的过程称为(D)。

A、确认测试B、集成测试C、验收测试D、验证测试

88. 软件测试方法中,黑盒、白盒测试法是常用的方法,其中白盒测试主要用于测试(D)。

  1. 结构合理性B、软件外部功能C、程序正确性D、程序内部逻辑
  1. 软件维护中,因修改交互输入的顺序,没有正确的记录而引起的错误是(A)产生的副作用。

A、文档B、数据 C、编码D、设计

90. 以下属于软件维护阶段文档的是(C)。

A、软件需求说明B、操作手册C、软件问题报告D、测试分析报告

91. 产生软件维护的副作用,是指(C)。

A、开发时的错误 B、隐含的错误

C、因修改软件而造成的错误 D、运行时误操作

92. 维护中,因误删除一个标识符而引起的错误是(C)副作用。

A、文档 B、数据 C、编码 D、设计

93. 可维护性的特性中,相互促进的(A)。

A、可理解性和可测试性B、效率和可移植性

C、效率和可修改性 D、效率和结构好

94. 软件维护的困难主要原因是(C)

A、费用低 B、人员少 C、开发方法的缺陷 D、用户不配合

95. 软件维护费用高的主要原因是(C)。

A、人员少  B、人员多   C、生产率低D、生产率高

96. 为了适应软硬件环境变化而修改软件的过程是(C)。

A、校正性维护  B、完善性维护 C、适应性维护D、预防性维护

97. 可维护性的特性中,相互矛盾的是(B)

A.可理解性与可测试性 B.效率与可修改性

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

98. 各种不同的软件维护中,以(C)维护所占的维护量最小。

  1. 纠错性维护B、代码维护C、预防性维护D、文档维护
  1. 在变更控制中,(B)可以用来确保由不同用户所执行的并发变更。

A.异步控制B.同步控制C.存取控制D.基线控制

100. 变更控制是一项最重要的软件配置任务,其中“检出”和(A)处理实现了两个重要的变更控制要素,即存取控制和同步控制。

A.登入B.管理C.填写变更要求D.审查

101. 在整个软件维护阶段所花费的全部工作中,所占比例最大的是(   )

A.校正性维护 B.适应性维护  C.完善性维护 D.预防性维护

102. 下面关于文档的叙述,错误的是( B )

A.文档是软件产品的一部分,没有文档的软件就不成为软件。

B.文档是仅用于说明使用软件的操作命令,不包括软件设计和实现细节。

C.高质量文档对于转让、变更、修改、扩充和使用有重要的意义。

D.软件文档的编制在软件开发工作中占有突出的地位和相当大的工作量。

103. 在软件质量因素中,软件在异常条件下仍能运行的能力成为软件的(  B  )。

A. 安全性                                 B. 健壮性

C. 可用性                                 D. 可靠性

104. 在下列测试技术中,( D   )不属于黑盒测试技术。

A. 等价划分                               B. 边界值分析

C. 错误推测                               D. 逻辑覆盖

105. (  C  )是把对象的属性和操作结合在一起,构成一个独立的对象,其内部信息对外界是隐蔽的,外界只能通过有限的接口与对象发生联系。

A. 多态                                   B. 继承      

C. 封装                                   D. 消息

106. Jackson方法是在软件开发过程中常用的方法,使用Jackson方法时可以实现( A   )。

A. 从数据结构导出程序结构                 B. 从数据流图导出初始结构图

C. 从模块结构导出数据结构                 D. 从模块结构导出程序结构

107. 软件测试时为了(  B  )而执行程序的过程。

A. 纠正错误                               B. 发现错误

C. 避免错误                               D. 证明错误

108. 在软件系统中,一个模块应具有什么样的功能,这是由(  B  )决定的。

A. 总体设计                               B. 需求分析

C. 详细设计                               D. 程序设计

109. 软件文档是软件工程实施中的重要部分,它不仅是软件开发各阶段的重要依据,而且影响软件的(  B  )。

A. 可理解性                              B. 可维护性

C. 可扩展性                              D. 可移植

110. 模块内聚度越高,说明模块内各成分彼此结合的程序越(  B  )。

A. 松散                                  B. 紧密

C. 无法判断                              D. 相等

111. 常用的面向对象的软件过程模型是( B   )。

A. 瀑布模型                              B. 喷泉模型

C. 原型模型                              D. 增量模型

112. 面向对象的分析阶段建立的系统模型不包括(  D  )。

A. 对象模型                                 B. 动态模型

C. 功能模型                                 D. 数据模型

113. 瀑布模型的存在问题是( B   )。

A. 用户容易参与开发                         B. 缺乏灵活性

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

114. 以文档作为驱动,适合于软件需求很明确的软件项目的生存周期模型是( C   )。

A. 喷泉模型                                 B. 增量模型      

C. 瀑布模型                                 D. 螺旋模型

115. 类构件的重用方式有多态重用、继承重用和( A   )。

A. 实例重用                                 B. 重载重用       

C. 代码重用                                 D. 方法重用

116. 在白盒测试技术测试用例的设计中,(  A  )是最弱的覆盖标准。

A. 语句覆盖                                 B. 路径覆盖

C. 条件组合覆盖                             D. 判定覆盖

117. 开发软件所需高成本和产品的低质量之间有着尖锐的矛盾,这种现象称做( C   )。

  A.软件工程                                B.软件周期

  C.软件危机                                D.软件产生

 

 

 

二、填空题

 

1. 软件模块独立性的两个定性度量标准是(耦合和内聚 )。

2. 软件开发是一个自顶向下逐步细化和求精的过程,而软件测试是一个(由下而上)的过程。

3. (等价划分)是一种黑盒测试技术,这种技术把程序的输入域划分为若干个数据类,据此导出测试用例。

4. (数据流图)和数据字典共同构成了系统的逻辑模型。

5. 可行性研究主要集中在以下三个方面:经济可行性、(技术可行性)、法律可行性。

6. IPO图是  输入、处理和输出   _的简称,它是美国IBM公司发展完善起来的一种图形工具。。

7. 软件生命周期一般可分为问题定义、(可行性研究)、需求分析、设计编码、测试、运行与维护等阶段。

8. 可行性研究主要集中在以下三个方面:经济可行性、(技术可行性)、法律可行性。

9. 一般来说,可以从一致性、完整性、现实性和(有效性)四个方面验证软件需求的正确性。

10. 复杂问题的对象模型通常由下述五个层次组成:主题层、类与对象层、结构层、属性层和(服务层)。

11. 软件可维护性度量的七个质量特性是可理解性、可测试性、可修改性、可靠性、(可移植性)、可使用性和效率。

12. 软件一般由程序、数据和(文档)组成。

13. 面向对象模型主要由对象模型、动态模型、(功能模型)。

14. 软件需求分析过程应该建立数据模型、功能模型和(行为模型) 三种模型之上。

15. 需求分析的最终结果是(需求规格说明书)。

16. 常见的测试方法一般分为:白盒测试和(黑盒测试)。

17. 软件工程三要素包括方法、(工具)和过程,其中,过程是支持软件开发的各个环节的控制和管理。

18. 类构件的重用方式有实例重用、继承重用和(多态重用)三种。

19. 耦合和(内聚)是衡量模块独立性的两个定性的标准。

20. 软件测试的步骤按顺序分别是:(单元测试)、子系统测试、系统测试、__确认测试和系统测试。21. 数据库的“概念设计”与“逻辑设计”分别对应于系统开发中的“    ”与“    ”,而数据库的“物理设计”与模块的“    ”相对应。

解:需求分析  概要设计  详细设计

  1. 概要设计文档主要有                

解:概要设计说明书  数据库设计说明书  用户手册  组装测试计划

  1. 模块化指解决一个复杂问题时    逐层把软件系统划分成若干    的过程。解:自顶向下  模块24. 模块之间联系越紧密,其    就越强,模块的    则越差。解:耦合性  内聚性
  2. 软件结构往往用     结构的图形来表示。软件结构图是软件系统的      结构。解:树状或网状  模块层次
  3. 面向数据流的设计又称     ,它是以需求分析阶段产生的 &n

    来源:一曲无痕奈何

    声明:本站部分文章及图片转载于互联网,内容版权归原作者所有,如本站任何资料有侵权请您尽早请联系jinwei@zod.com.cn进行处理,非常感谢!

上一篇 2019年5月22日
下一篇 2019年5月22日

相关推荐