软件工程复习题答案

判断题:  

1.软件是一种抽象的逻辑产品。(√)  

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

4.软件危机就是大量软件出现严重问题不能继续再使用。(×) 

6.结构化软件开发期将软件开发划分为3个阶段,其中关键的是需求的准确性。(√)  

7.瀑布模型存在的最主要的问题是缺乏灵活性。(√)  

9.软件就是指程序。(×)  

11.瀑布模型也称为是基于文档驱动的模型。(√)

12.快速原型模型也称为是基于文档驱动的模型。(×) 

13.软件生存周期是指开发软件的全部时间。(×) 

14.软件工程在软件设计时把软件的效率放在第一位。(√)  

15.可行性分析研究的目的是规划如何开发项目。(×) 

16.可行性分析研究的目的是探讨项目值得开发否。(√)  

19.在可行性研究中最具挑战性的,难度最大是技术可行性分析。(√) 

21.数据流图和数据字典共同组成目标系统的逻辑(功能)模型。(√) 

22.SA(结构化分析)方法中目标软件的逻辑模型是由数据流图和数据字典共同组成。(√)  

23.数据流图中可以有控制流。(×)  

26.结构化分析方法是一种面向数据流的自顶向下逐步求精进行需求分析的方法。(√)  

27.结构化分析方法是一种面向数据结构的需求分析的方法(×) 

28.需求分析最终结果是产生SRS(软件需求规格说明书)。(√) 

29.需求分析最终结果是产生项目开发计划。(×) 

30.软件设计基本原理中不包括自底向上的设计思路。(√) 

31.软件设计基本原理中包括自底向上的设计思路。(×) 

32.模块的的独立性高意味着模块的内聚弱,耦合高。(×)  

33.模块是数据说明、可执行语句等程序对象的集合,它是单独命名的而且可以通过名字来访问。(√)   

37.模块本身的内聚是模块独立性的重要性度量因素之一。在7类内聚中,具有最强内聚的一类是过程性内聚。(×)  

40.模块化中的信息隐藏原则是指使模块内部的私有信息对软件开发人员隐藏。(×)  

41.内聚和藕合都是用于度量模块复杂性的两个定性指标。(×) 

45.程序的三种基本控制结构是顺序、选择和重复。(√)  

46.程序的三种基本控制结构的共同特点是只有一个入口和一个出口。(√) 

47.结构化程序设计主要强调的是程序的清晰易读性。(√)

48.软件详细设计的主要任务是确定每个模块的功能。(×) 

49.检查软件产品是否符合需求定义的测试过程称为集成测试。(×) 

50.测试是为了证明程序中没有错误而执行程序的过程。(×) 

56.软件调试的目的是改正软件中存在错误。(√) 

57.测试用例就是一组测试用的数据。(×)  

58.测试用例就是一组测试用的数据及其预期结果。(√)  

59.使用白盒测试方法时,确定测试数据应根据程序的输入输出关系。(×)   

60.测试的关键问题是如何选择测试用例。(√)   

63.为了适应软硬件环境变化而修改软件的过程是预防性维护。(×)  

64.软件在给定的时间间隔内和给定的条件下,按照规格说明书的规定成功地运行的概率称为软件的可靠性。(×)  

65.UML是统一建模语言的英文简写。(√)   

 

 

选择题

1. 软件开发瀑布模型中的软件定义时期各个阶段依次是:(B)  

A) 可行性研究,问题定义,需求分析。 

B) 问题定义,可行性研究,需求分析。 

C) 可行性研究,需求分析,问题定义。 

D) 以上顺序都不对。  

4. 在详细设计阶段所使用到的设计工具是:(C)  

A) 程序流程图,PAD图,N-S图,HIPO图,判定表,判定树.  

B) 数据流程图,Yourdon 图,程序流程图,PAD图,N-S图,HIPO图。  

C) 判定表,判定树,PDL,程序流程图,PAD图,N-S图。  

D) 判定表,判定树,数据流程图,系统流程图,程序流程图,层次图。

6.在软件生命周期中,能准确确定软件系统的体系结构的功能阶段是(C)  

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

7.下面不是软件工程的3个要素的是(C)  

A过程 B.方法 C.环境 D.工具  

8.下面不属于软件的组成的是(B)  

A程序 B.记录 C.文档 D.数据 

软件=程序+数据+文档+服务  

10.在瀑布模型中,下面(C)是其突出的缺点。 

A.不适应平台的变动 

B.不适应算法的变动 

C.不适应用户需求的变动 

D.不适应程序语言的变动  

11下面不属于软件的特点的是(D)。 

A软件是一种软件产品  

B软件产品不会用坏,不存在磨损、消耗问题 

C软件产品的生产主要是研制 

D软件产品非常便宜  

13.下列叙述中不属于软件生命周期模型的是(D)。 

A.原型模型 B.瀑布模型 C.螺旋模型 D.快速组装模型

15软件生命周期中所花费用最多的阶段是(D)。 

A.详细设计 B.软件编码 C.概要设计 D.软件测试和维护

16.开发软件时对提高开发人员工作效率至关重要的是(B)。 

A.操作系统的资源管理功能 

B.先进的软件开发工具和环境 

C.程序人员的数量 

D.计算机的并行处理能力  

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

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

19.软件工程的理论和技术性研究的内容主要包括软件开发技术和(B)。 

A.消除软件危机 B.软件工程管理 

C.程序设计自动化 D.实现软件可重用

21.在软件生命周期中,能准确地确定软件系统必须做什么和必须具备哪些功能的阶段是(D)。 

A.概要设计 B.详细设计 

C.问题定义 D.需求分析  

25软件从一个计算机系统或环境转换到另一个计算机和环境的容易程度称为(D)。 

A.可用性 B.兼容性 C.可靠性 D.可移植性

28.软件可行性分析是着重确定系统的目标和规模。对成本-效益进行发现应属于下列选项中的(A)。 

A.经济可行性B.操作可行性C.技术可行性D. 会可行性

33下面描述中,不符合结构化程序设计风格的是(B)。  

A使用顺序、选择和重复(循环)三种基本控制结构表示程序的控制逻辑 

B模块只有一个入口,可以有多个出口 

C注重提高程序的执行效率 

D不使用goto语句  

41.数据字典是软件需求分析阶段的重要工具之一,它的基本功能是(A) 

A.数据定义B.数据维护C.数据通讯D.数据库设计

42.以下(A)不是详细设计中常用的图形描述工具。 

A.数据流图B.程序流图C.盒图(N-S)D.问题分析图(PAD)

43.在结构图的有关术语中,用于表示软件结构中控制的层数的是 (C) 

A.扇入B扇出C深度D宽度

44. 模块的独立程度是评价设计好坏的重要标准。(A)是衡量软件的模块独立性的两个定性度量标准。 

A耦合性和内聚性B内聚性和可靠性 

C耦合性和独立性D可靠性和独立性 

45. 软件设计包括(B)两个阶段。  

A.接口设计和结构设计B.概要设计和详细设计 

C.数据设计和概要设计D.结构设计和过程设计

49.下面不属于软件设计原则的是(C)。 

A抽象B模块化C自底向上D信息隐蔽  

51软件测试按照功能划分可以分为(B)。 

A黑盒测试和单元测试 B白盒测试和黑盒测试 

C集成测试和单元测试 D白盒测试和静态测试 

软件测试按照功能划分可以分为白盒测试和黑盒测试  

按照开发阶段划分,软件测试可分为单元测试、集成测试,系统测试和验收测试  

白盒测试方法:逻辑覆盖、循环测试、基本路径测试  

黑盒测试方法:等价分类法,边界值分析法、错误推断法,因果图法,场景法. 

53黑盒测试法属于( C)。  

A集成测试B系统测试C动态测试D静态测试  

静态测试(不实际运行软件,对软件的格式和结构进行评估)包括:代码规则检查、程序结构分析、代码质量度量(程序复杂度分析) 

动态测试:功能确认与接口测试、覆盖率分析、性能分析、内存分析  

54下列叙述中错误的是(C)。 

A测试是为了寻找错误而运行程序的过程  

B一个成功的测试是揭示了迄今为止尚未发现的错误的测试  

C测试的目的是为了证明程序是正确的  

D一个好的测试用例是指很可能找到迄今为止尚未发现的错误的测试 

55.有一组测试用例使得每一个被测试用例的分支覆盖至少被执行一次,它满足的覆盖标准___________。(B)  

A. 语句覆盖 B.判定覆盖 C.条件覆盖 D.路径覆盖 

6.关于白盒测试与黑盒测试的最主要区别,正确的是__。(A)  

A.白盒测试侧重于程序结构,黑盒测试侧重于功能     

B.白盒测试可以使用测试工具,黑盒测试不能使用工具    

C.白盒测试需要程序参与,黑盒测试不需要     

D.黑盒测试比白盒测试应用更广泛 

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

A. 过程、子程序和分程序 

C. 递归、迭代和回溯 

B. 顺序、选择和重复  

D. 调用、返回和转移  

58. 在E-R模型中,包含以下基本成分(C)。 

A) 数据、对象、实体 B) 控制、联系、对象 

C) 实体、联系、属性 D) 数据、对象、属性

59.软件测试的目标是(B)。 

A. 证明软件是正确的   

B. 发现错误、降低错误带来的风险 

C. 排除软件中所有的错误  

D. 与软件调试相同  

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

A.详细设计 B.软件编码 C.软件测试 D.软件维护  

62.瀑布模型(Waterfall Model)突出的缺点是不适应 (D)的变动。 

A、算法 B、平台 C、程序语言 D、用户需求 

63.结构化分析方法(SA)的一个重要指导思想是(C) 。 

A.自顶向下,逐步抽象 

B.自底向上,逐步抽象 

C.自顶向下,逐步分解 

D.自底向上,逐步分解  

65.软件危机具有下列表现(D) 

I、对软件开发成本估计不准确 

II、软件产品的质量往往不可靠 

III、软件常常不可维护 

IV、软件成本逐年上升  

A.I、II和III B.I、III和IV    

C.II、III和IV D.以上都正确 

66. 产生软件危机的原因可能有(D) 

I、用户需求描述不精确、不准确  

II、对大型软件项目的开发缺乏有力的组织与管理 

III、缺乏有力的方法学和工具的支持 

IV、软件产品的特殊性和人类智力的局限性 

A.I和II B.I、II和IV    

C.II、III和IV D.以上都正确

68. (A)分批地逐步向用户提交产品,每次提交一个满足用户需求子集的可运行的产品。  

A.增量模型 (分批) B.喷泉模型(重叠) C.原型模型 D.螺旋模型(迭代,风险分析)  

70. 具有风险分析的软件生存周期模型是(C)  

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

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

71.瀑布模型的关键不足在于(B)  

A.过于简单 B.不能适应需求的动态变更 

C.过于灵活 D.各个阶段需要进行评审

75. 快速原型模型的主要特点之一是 (D)   

A. 开发完毕才见到产品 B. 及早提供全部完整的软件产品  

C. 开发完毕后才见到工作软件 D. 及早提供工作软件  

77. 软件生存周期模型不包括:(B)  

A.瀑布模型 B.对象模型 C.增量模型 D.喷泉模型

96 结构化程序设计思想的核心是要求程序只由顺序、循环和(A)三种结构组成。   

A. 选择 B. 单入口 C. 单出口 D. 有规则 GOTO  

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

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

[解析] 耦合分为以下几种,按照耦合度由高到低排列是: 

内容耦合――一个模块直接访问另一个模块的内容。 

公共耦合――组模块都访问同一全局数据结构。 

外部耦合――组模块都访问同一个数据项。  

控制耦合――一个模块明显地把开关量、名字等信息送入另一模块,控制另一模块的功能 

103、软件维护的副作用,是指(C)。 

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

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

105.面向对象分析是对系统进行(A)的一种方法。  

A.需求建模 B.程序设计 C.设计评审 D.测试验收  

154. 软件开发的结构化设计方法(SD方法),全面指导模块化分的最重要的原则应该是(C)。   

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

155. 面向数据流的软件设计方法,一般是把数据流图中得数据流化分为(B)两种流,再将数据流图映射为软件结构。   

A)数据流与事务流 B)交换流和事务流 

C)信息流与控制流 D)交换流和数据流  

159. 耦合是软件各个模块间连接的一种度量。一组模块都访问同一数据结构应属于(B)方式。   

A) 内容耦合 B)公共耦合 C)外部耦合 D)控制耦合  

[解析] 耦合分为以下几种,按照耦合度由高到低排列是: 

内容耦合――一个模块直接访问另一个模块的内容。 

公共耦合――组模块都访问同一全局数据结构。 

外部耦合――组模块都访问同一个数据项。  

控制耦合――一个模块明显地把开关量、名字等信息送入另一模块,控制另一模块的功能  

167. UML是(A)。    

A) 一种可视化的建模语言  

B) 是一种可视化的程序设计语言  

C)是一种过程  

D) 是一种方法  

168. 下列的(C)不属于面向对象分析模型。     

A. 用例图 B. 类图 C. 实体关系图 D. 顺序图

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

A.程序内部逻辑 B.程序复杂结构 C.使用说明书 D.程序的功能 

174. 下面哪个测试属于黑盒测试(B)。    

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

185. 以下分析模型的结构成员中,属于行为模型的是(C)。 

A) 数据流图 B) 实体-关系图 C) 状态转换图 D) 数据字典 

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

A) 语句 B) 条件 C) 判定 D) 条件组合 

187. 模块化中的信息隐藏原则是指(B)。  

A) 使信息对用户隐藏 B) 使信息对其它模块隐藏 

C) 使信息对软件隐藏 D) 使信息对操作系统隐藏

190. 若有一个计算类型的程序,它的输入量只有一个X,其范围是[-1.0,1.0],现从输入的角度考虑一组测试用例:-1.001,-1.0,1.0,1.001。设计这组测试用例的方法是(C)  

A)条件覆盖法 B)等价分类法   

C)边界值分析法 D)错误推测法  

191. 模块的扇入是指(A)。  

A)本模块的所有上层模块数 B)本模块的所有下层模块数 

C)调用本模块的所有模块数 D)本模块调用的所有模块数

193. 测试用例是指(C)。  

A)被测对象 B)测试的输入数据     

C)测试数据+预期结果 D)测试的预期结果 

199. 目前最流行的面向对象建模语言是(C)。 

A)HTML B)XML C)UML D)VML 

 

 

简答题

1.软件工程  

软件工程是指导计算机软件开发和维护的工程学科。采用工程的概念、原理、技术和方法来开发与维护软件,把经过时间考验而证明正确的管理技术和当前能够得到的最好技术方法结合起来,经济的开发出高质量的软件并有效维护他。

2. 黑盒测试法

3.需求分析

4.模块化

5.软件危机

6.条件覆盖法

7.程序环形复杂度

8.面向对象方法学

 

 

数据模型,行为模型,功能模型p62

模块设计基本原理,模块设计的启发规则p113

什么叫软件维护后他有哪几种类型/p>

UML图

p114  10 / 12

p152 15

 

18.对比瀑布模型、快速原型模型、增量模与螺旋模型,简述各自特点与异同。  

瀑布模型:主要体现了分阶段、有控制的思想。活动间强调按顺序、文档化;存在的问题是过于理想化,每一步的工作必须完整准确,否则无法进行下一步的工作。  

原型模型:需求分析入手快速、表达直观、容易交流。重点解决瀑布模型的需求分析入手难的问题。  

增量模型:对于需求复杂的系统,采用分块开发、逐步集成的开发策略。增量体现了演进、迭代思想,每一块就是一个增量。每个增量是一次迭代。增量模型的新版本叫做“极限编程”。  

螺旋模型:融合了上述三种模型,融进了循环往复、强化了演进迭代思想,增加了风险控制环节。但是,风险分析的正确性是左右软件演进的关键因素。   

19.请简述黑盒测试与白盒测试各自特点。 

 黑盒测试:优点:1、适用于各个阶段测试 

     2、从产品功能角度测试 

     3、易入手生成测试用例 

     缺点:1、某些代码得不到测试 

     2、如果规格说明有误,则无法发现 

     3、易进行充分性测试  

白盒测试:优点:1、可构成测试数据、使特定程序部分得到测试 

    2、有一定充分性度量手段 

    3、可有较多工具支持 

     缺点:1、通常不易生成测试数据 

     2、无法对未实现规格说明的部分进行测试 

     3、工作量大,通常用于单元测试,有应用局限

 

 

 

声明:本站部分文章及图片源自用户投稿,如本站任何资料有侵权请您尽早请联系jinwei@zod.com.cn进行处理,非常感谢!

上一篇 2022年5月1日
下一篇 2022年5月1日

相关推荐