软件工程期终考试复习题.docx

上传人:b****6 文档编号:8774635 上传时间:2023-02-01 格式:DOCX 页数:21 大小:171.67KB
下载 相关 举报
软件工程期终考试复习题.docx_第1页
第1页 / 共21页
软件工程期终考试复习题.docx_第2页
第2页 / 共21页
软件工程期终考试复习题.docx_第3页
第3页 / 共21页
软件工程期终考试复习题.docx_第4页
第4页 / 共21页
软件工程期终考试复习题.docx_第5页
第5页 / 共21页
点击查看更多>>
下载资源
资源描述

软件工程期终考试复习题.docx

《软件工程期终考试复习题.docx》由会员分享,可在线阅读,更多相关《软件工程期终考试复习题.docx(21页珍藏版)》请在冰豆网上搜索。

软件工程期终考试复习题.docx

软件工程期终考试复习题

软件工程期终考试复习题

一、单向选择题

1.一个模块把一个数值量作为参数传送给另一个模块。

这两种模块之间的耦合是(A)。

A.逻辑耦合     B.数据耦合

   C.控制耦合     D.内容耦合

2.下列有关内聚度由低到高的排列顺序,(C)是正确的。

A偶然性、时间性、功能性、通信性、逻辑性、顺序性、过程性

B过程性、时间性、顺序性、功能性、通信性、逻辑性、偶然性

C偶然性、逻辑性、时间性、过程性、通信性、顺序性、功能性

D时间性、逻辑性、顺序性、功能性、通信性、偶然性、过程性

3.好的软件结构应该是(B)

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

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

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

A.需求规格说明与概要设计说明

B.详细设计说明

C.项目开发计划

D.概要设计说明与详细设计说明

5.SA方法的基本思想是(C)

A自底向上逐步抽象B自底向上逐步分解

C自顶向下逐步分解D自顶向下逐步抽象

6.软件是一种(C)。

A.程序         B.数据

C.逻辑产品       D.物理产品

7、软件的发展经历了(D)个发展阶段。

A

A一B二C三D四

8、需求分析的任务不包括(B)。

A问题分析B系统设计C...需求描述D需求评审。

9、一个软件的宽度是指其控制的(C)。

A模块数B层数C跨度D厚度

10、当模块中包含复杂的条件组合,只有(A)能够清晰地表达出各种动作之间的对应关系。

A判定表和判定树B盒图C流程图D关系图

11、以下不属于逻辑覆盖的是(D)。

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

12、为适应软件运行环境的变化而修改软件的活动称为(B)。

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

13.适合于面向对象方法学的软件生存周期模型是(B)

A.瀑布模型B.喷泉模型C.螺旋模型D.增量模型

14.从实用角度看,数据规范化程度在大多数场合选用第(C)范式。

A.1B.2C.3D.5

15.可行性分析研究的目的是(A)。

A.项目值得开发否B.争取项目C.开发项目D.规划项目

16模块的内聚性最高的是(   D   )

 A.逻辑内聚         B.时间内聚C.偶然内聚         D.功能内聚

(C)17.    软件是()。

A.处理对象和处理规则的描述B.程序

C.程序及其文档D.计算机系统

(B)18.软件需求规格说明的内容不应包括()。

A.主要功能B.算法的详细描述

C.用户界面及运行环境D.软件的性能

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

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

C.递归、迭代和回溯D.调用、返回和转移

(D)20.面向对象的分析方法主要是建立三类模型,即()。

    A)系统模型、ER模型、应用模型

    B)对象模型、动态模型、应用模型

    C)E-R模型、对象模型、功能模型

    D)对象模型、动态模型、功能模型

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

    A)数据、对象、实体

    B)控制、联系、对象

    C)实体、联系、属性

    D)实体、属性、操作

 (A) 22.各种软件维护的类型中最重要的是()。

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

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

A.证明软件是正确的B.发现错误、降低错误带来的风险

C.排除软件中所有的错误D.与软件调试相同

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

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

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

-1.001,-1.0,1.0,1.001.设计这组测试用例的方法是()

A.条件覆盖法B.等价分类法C.边界值分析法D.错误推测法

(D)26、详细设计的基本任务是确定每个模块的()设计

A.功能B.调用关系C.输入输出数据D.算法

(A)27.设函数C(X)定义问题X的复杂程序,函数E(X)确定解决问题X需要的工作量(时间)。

对于两个问题P1和P2,如果C(P1)>C(P2)显然E(P1)>E(P2),则得出结论E(P1+P2)>E(P1)+E(P2)就是:

()

A.模块化的根据B.逐步求精的根据C.抽象的根据D.信息隐藏和局部化的根据

(D)28.下面几种白箱测试技术,哪种是最强的覆盖准则()

A.语句覆盖B.条件覆盖C.判定覆盖D.条件组合覆盖

(A)29.面向数据流的设计方法把()映射成软件结构。

A.数据流B.系统结构C.控制结构D.信息流

(A)30.内聚程度最低的是()内聚

A.偶然B.过程C.顺序D.时间

(A)31.确定测试计划是在()阶段制定的.

A.总体设计B.详细设计C.编码D.测试

(D)32.需求分析的产品是()

A.数据流程图案B.数据字典C.判定表D.需求规格说明书

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

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

(D)34.()引入了“风险驱动”的思想,适用于大规模的内部开发项目。

A.增量模型B.喷泉模型C.原型模型D.螺旋模型

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

A.逻辑内聚B.时间内聚C.偶然内聚D.功能内聚

(D)36.提高测试的有效性非常重要,成功的测试是指()

A.证明了被测试程序正确无误B.说明了被测试程序符合相应的要求

C.未发现被测程序的错误D.发现了至今为止尚未发现的错误

二、填空题

1.软件生存周期一般可分为__问题定义__、可行性研究、_需求分析_、设计编码、__测试______、运行与维护阶段。

2.按软件的功能进行划分,软件可以划分为系统软件、支撑软件和应用软件。

3.可行性研究主要集中在以下四个方面经济可行性、技术可行性   法律可行性和抉择。

4.用户界面的可使用性是用户界面设计最重要的也是最基本的目标。

5.常见的软件概要设计方法有3大类:

以数据流图为基础构造模块结构的___结构化设计方法___,以数据结构为基础构造模块的__jackson___方法,以对象、类、继承和通信为基础的__面向对象设计方法_____。

6.__数据流图_____和__数据字典___共同构成系统的逻辑模型。

7.软件测试的方法有__分析方法____和___非分析方法___(即黑盒法)。

8.单元测试一般以___白盒______测试为主,___黑盒______测试为辅。

9软件工程的发展可分为时期、软件=程序+文档、时期。

(程序软件产品)

10DFD中最低一层的包含了系统的全部数据和加工,从哪里开始分析呢?

W.Davis认为,一般应该从数据的开始。

因为的数据代表系统的输出,其要求是明确的。

由这里开始,沿着一步步向数据,较易看清楚数据流中每一个数据项的来龙去脉,有利于减少错误和遗漏。

(数据流图终点终点数据流图源点回溯)

11加工说明通常使用、或来描述。

(结构化语言判定表判定树)

12耦合越弱,则表明模块的越强。

(独立性)

13要把数据流图(DFD)转换成软件结构,首先必须研究DFD的类型。

各种软件系统,一般可分为和两类。

(事务型变换型)

14模块之间联系越紧密,其耦合性就越,模块的独立性就越。

(弱强)

15模块的独立性概括了把软件划分为时要遵守的准则。

(模块)

16一个模块的作用范围指受该模块内影响的所有模块的集合,一个模块的控制范围指及其的集合。

(的判定所模块本身下级模块)

17SD方法的中心任务是把用DFD图表示的系统分析模型转换为,使用的主要描述工具是。

(软件结构的设计模型SC图)

18详细设计常用的表达工具有

3

(流程图和N-S图伪代码和PDL语言判定表或判定树)

19要改善程序的清晰度必须从改善每个模块的控制结构入手,结构化的三种控制结构是、、。

(顺序结构、选择结构、循环结构)

20编码的目的是选定的,把模块的翻译为用书写的源程序。

(程序设计语言过程性描述)

21实现源程序的文档化主要包括以下三个方面的内容:

它们是:

4

(有意义的变量名适当的注释标准的书写格式)

22运行被测试程序的方法称为测试。

(动态)

23黑盒测试以程序功能为测试依据,可以采用如下的测试方法、、。

(等价分类法边界值分析法错误猜测法)

24语句覆盖是指设计足够的,使得被测试程序中至少执行一次。

语句覆盖是比较的覆盖标准。

(测试用例每条语句低)

25判定覆盖是指设计足够的测试用例,使得被测试程序中每个至少获得一次

和值,从而使程序中的每一个至少都通过一次。

(判定条件真值假值分支)

26条件覆盖指设计足够的测试用例,使得中的每个条件的值至少出现一次。

(每个判定表达式各种可能)

27黑盒法把被测对象看成一个,测试人员完全不考虑程序的和

只在软件的处进行测试。

(黑盒子内部结构处理过程接口)

28在单元测试中,测试一个模块时,需要设计。

(驱动模块和桩模块)

29软件测试依次由、、和系统测试四个层次的测试组成。

(单元测试集成测试确认测试)

30、瀑布模型把软件生命周期划分为8个阶段:

问题的定义、可行性研究、软件需求分析、系统总体设计、详细设计、编码、测试和运行、维护。

八个阶段又可归纳为三个大的阶段:

计划阶段、开发阶段和(运行阶段)。

31、从结构化的瀑布模型看,在它的生命周期中的八个阶段中,(需求分析阶段)出错,对软件的影响最大。

32、在结构化的瀑布模型中,(需求分析阶段)定义的标准将成为软件测试中的系统测试阶段的目标。

33、软件工程的出现主要是由于(软件危机的出现)。

34、软件开发常使用的两种基本方法是结构化和原型化方法,在实际的应用中,它们之间的关系表现为相互补充。

35、UML是软件开发中的一个重要工具,它主要应用于基于对象的(面向对象)的方法。

36、在下面的软件开发方法中,哪一个对软件设计和开发人员的开发要求最高(原型化方法)。

37、结构化分析方法是一种预先严格定义需求的方法,它在实施时强调的是分析对象的(数据流)。

38、软件开发的瀑布模型,一般都将开发过程划分为:

分析、设计、编码和测试等阶段,一般认为可能占用人员最多的阶段是(编码阶段)。

39、软件开发模型是指软件开发的全部过程、活动和任务的结构框架。

主要的开发模型有瀑布模型、演化模型、螺旋模型、喷泉模型和智能模型。

螺旋模型将瀑布模型和演化模型相结合,并增加了(风险分析),它建立在()的基础上,沿着螺线自内向外每旋转一圈,就得到(原型)的一个新版本。

喷泉模型描述了(面向对象)的开发模型,它体现了这种开发方法创建软件的过程所固有的(递归)和(开发各阶段之间无“间隙”)的特征。

40、以下不属于白盒测试技术的是(等价类划分)。

41、为改正软件系统中潜藏的错误而进行的维护活动称为(纠错性维护)。

42、保证软件质量的手段有复审、复查、管理复审和测试等。

其中复审发生在软件生命周期的(每个阶段结束之前)。

43、完整的系统设计应包括(计算机系统设计、应用软件设计、数据库设计和网络设计)。

44、在信息系统的物理模型中,表示系统各个物理组成部分之间的数据流动情况的工具是(系统流程图)。

45、系统流程图是描述物理模型的传统工具,用图形符号表示系统中各个元素表达了系统中各种元素之间的(信息流动)情况。

46、成本效益分析的目的是从(经济)角度评价开发一个项目是否可行。

47、自顶向下结合的渐增式测试法,在组合模块时有两种组合策略:

深度优先策略和(宽度优先策略)。

48、在JSP方法中解决结构冲突的具体办法是(中间数据结构或中间文件)。

49、详细设计的任务是确定每个模块的内部特性,即模块的算法、(使用的数据)。

50、所有软件维护申请报告要按规定方式提出,该报告也称(软件问题)报告。

51、独立路径是指包括一组以前没有处理的语句或条件的一条路径。

从程序图来看,一条独立路径是至少包含有一条(在其他独立路径中未有过)的边的路径。

52、设计任何一个人机界面,一般必须考虑(系统响应时间)、用户帮助机制、错误信息处理和命令方式四个方面。

53、在软件测试中,已知产品内部工作过程,通过测试检验产品内部动作是否按照产品规格说明的规定正常进行的方法称为(白盒)测试法。

54、(耦合度)是对软件结构中模快间关联程度的一种度量。

55软件工程方法学的目的:

使软件生产规范化和工程化,而软件工程方法得以实施的主要保证是(软件开发工具和软件开发的环境)。

三、判断题

1、缺乏有力的方法学的指导和有效的开发工具的支持,这往往是产生软件危机的原因之一。

(√)

2、一个好的开发人员应具备的素质和能力不包括具有良好的书面和口头表达能力。

(X)

3、在用户需求分析时观察用户手工操作过程不是为了模拟手工操作过程,而是为了获取第一手资料,并从中提取出有价值的需求。

(√)

4、快速原型技术适用于软件产品要求大量的用户交互、或产生大量的可视输出、或设计一些复杂的算法等场合。

(√)

5、流程图也称为程序(框图)是最常用的一种表示法。

(√)

6、面向数据设计方法一般都包括下列任务:

确定数据结构特征;用顺序、选择和重复三种基本形式表示数据等步骤。

(√)

7、理想的人机界面应针对具有典型个性的特定的一类用户设计。

(√)

8、数据输入的一般准则中包括尽量(增加)用户输入的动作。

(X)

9、用穷举测试是较现实的测试方法。

(X)

10、编码时应尽可能使用全局变量(X)

11、重视程序结构的设计,能使程序具有较好的层次结构(√)

12、程序中的注解越少越好(X)。

13、用户对软件需求的描述不精确,往往是产生软件危机的原因之一。

(√)

14、目前,软件项目的进度安排的两种比较常用的方法是程序评估与审查技术(PERT)和关键路径法(CPM)。

(√)

15、一个好的开发人员应具备的素质和能力包括善于与周围人员团结协作,建立良好的人际关系,善于听取别人的意见。

(√)

16、目前的绝大多数软件都不适合于快速原型技术。

(X)

17、面向数据的设计方法适用场合是具有明显的层次信息结构的应用如:

企事业的信息管理系统;系统软件(如操作系统)等。

(√)

18、缺乏处理大型软件项目的经验。

是产生软件危机的唯一原因。

(X)

19、通常紧致性好的语言一致性就好。

(X)

20、测试计划、测试用例、出错统计和有关的分析报告一般不用长期保存。

(X)

21、数据输入的一般准则中包括保证信息显示方式与数据输入方式的协调一致;允许用户定做输入格式等内容。

(√)

22、软件也会磨损和老化。

(X)

23、完善性维护是提高或完善软件的性能。

(√)

24、McCabe建议模块规模应满足:

V(G)≤20。

(X)

(×)25、开发软件就是编写程序。

(× )26、系统测试的主要方法是白盒法,主要进行功能测试、性能测试、安全性测试及可靠性等测试。

(×)27、编程序时应尽可能利用硬件特点以提高程序效率.

(×)28、软件需求分析的任务是建立软件模块结构图。

(√)29、尽可能使用高级语言编写程序

(×)30、以结构化分析方法建立的系统模型就是数据流图。

(×)31、进行总体设计时加强模块间的联系。

(×)32、编码时尽量多用全局变量.

(√)33、用CASE环境或程序自动生成工具来自动生成一部分程序.

(×)34、软件测试是要发现软件中的所有错误。

35.缺乏有力的方法学的指导和有效的开发工具的支持,这往往是产生软件危机的原因之一。

(T)

36一个好的开发人员应具备的素质和能力不包括具有良好的书面和口头表达能力。

(F)

37在用户需求分析时观察用户手工操作过程不是为了模拟手工操作过程,而是为了获取第一手资料,并从中提取出有价值的需求。

(F)

38快速原型技术的适用于软件产品要求大量的用户交互、或产生大量的可视输出、或设计一些复杂的算法等场合。

(T)

39流程图也称为程序框图是最常用的一种表示法。

(T)

40面向数据设计方法一般都包括下列任务:

确定数据结构特征;用顺序、选择和重复三种基本形式表示数据等步骤。

(T)

四、简答题

1什么叫软件工程?

软件工程三要素是什么?

解:

软件工程:

指导计算机软件开发和维护的一门学科,采用工程的概念、原理、技术和方法来开发与维护软件。

软件工程三个要素:

方法、工具、过程

2.衡量模块独立的两个标准是什么?

它们各表示什么含义?

解:

衡量模块独立性的两个定性的度量标准:

耦合性和内聚性。

耦合性和内聚性的概念(略)

耦合性与内聚性是模块独立性的两个定性的度量标准,将软件系统划分模块时,尽量做到高内聚、低耦合,提高模块的独立性,为设计高质量的软件结构奠定基础。

3.什么是白盒法?

它有哪两类测试法?

解:

以程序的结构为依据的测试方法

包括:

逻辑覆盖测试法和路径测试法。

其中,逻辑覆盖法包括:

语句覆盖、判定覆盖、条件覆盖、判定/条件覆盖和条件组合覆盖。

4.软件的可维护性与哪些因素有关?

解:

软件的可维护性与可理解性、可修改性、可测试性等因素有关。

5、程序设计语言的三种类型和特点是什么?

解:

1)机器语言、汇编语言:

依赖于机器,面向机器

2)高级语言:

独立于机器,面向过程或面向对象

3)面向问题语言:

独立于机器,非过程式语言(4GL)

6、什么是软件危机?

为什么会产生软件危机?

解:

软件危机是指软件在开发和维护过程中遇到的一系统严重问题,主要包含二方面的问题,一是如何开发利用软件,三是如何维护数量不断膨胀的已有软件。

产生软件危机的原因,一方面与软件本身的特点有关,另一方面和软件开发与维护的方法不正确有关。

7、耦合性有哪几种类型?

其耦合度的顺序如何

解:

低:

非直接耦合数据耦合标记耦合控制耦合外部耦合公共耦合内容耦合:

8、什么是黑盒测试法?

解:

黑盒测试法把程序看成一个黑盒子,完全不考虑程序的内部结构和处理过程,它只检查程序功能是否能按照规格说明书的规定正常使用,程序是否能适当地接收输入数据,产生正确地输出信息。

9.简述软件工程的概念。

答:

概括地说,软件工程是指导计算机软件开发和维护的一门工程学科。

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

10.简述典型的软件生命周期的各个阶段。

答:

软件生命周期(各阶段)软件生命周期由软件定义、软件开发和运行维护三个时期组成。

软件定义时期:

问题定义、可行性研究和需求分析

开发时期:

总体设计、详细设计、编码和单元测试、综合测试。

维护时期:

主要任务是使软件持久地满足用户的需要。

即每个有8个阶段及基本任务:

1问题定义:

回答要解决的问题是什么?

2可行性研究:

该问题有行的通的解决办法吗?

若有解决问题的办法,则需要多少费用、资源、时间?

3需求分析:

回答“为了解决这个问题,目标系统必须做什么”,确定目标系统的功能

4总体设计:

回答“概括地说,应如何解决这个问题”。

把确定的各项功能需求转换成需要的体系结构。

设计软件的结构,确定程序由哪些模块组成及模块间的关系,同时设计该项目的应用系统的总体数据结构和数据库结构。

5详细设计:

回答“应怎样具体地实现这个系统”。

为每个模块完成的功能进行具体描述,把功能描述转变为精确的、结构化的过程描述

6编码和单元测试:

把每个模块的控制结构转换成计算机可接受的程序代码。

写出的程序应是结构好,清晰易读,并且与设计一致。

7综合测试:

通过各种类型的测试使软件达到预定的要求。

8软件维护:

通过各种必要的维护活动使系统持久地满足用户需要。

11.简述传统方法学软件设计的基本原理及内容。

?

答:

传统方法学也称生命周期方法学或结构化范型。

原理:

采用结构化技术(结构化分析、结构化设计和结构化实现)来完成软件开发的各项任务,并使用适当的软件工具或软件工程环境来支持结构化技术的运用。

内容:

把软件生命周期的全过程依次划分为若干个阶段,然后顺序地完成每个阶段的任务。

采用生命周期方法学可以大大提高软件开发的成功率,软件开发的生产率也能明显提高。

12.以G.J.Myers的观点,简述对软件测试的定义。

?

答:

G.Myers给出了关于测试的一些规则,这些规则也可以看作是测试的目标或定义。

(1)测试是为了发现程序中的错误而执行程序的过程;

(2)好的测试方案是极可能发现迄今为止尚未发现的错误的测试方案;

(3)成功的测试是发现了至今为止尚未发现的错误的测试。

从上述规则可以看出,测试的正确定义是“为了发现程序中的错误而执行程序的过程”。

13.简述面向对象方法学的4个要点。

?

答:

.概括地说,面向对象方法学具有下述4个要点:

(1)把对象(object)作为融合了数据及在数据上的操作行为的统一的软件构件。

(2)把所有对象都划分成类(class)。

(3)按照父类(或称为基类)与子类(或称为派生类)的关系,把若干个相关类组成一个层次结构的系统(也称为类等级)。

(4)对象彼此间仅能通过发送消息互相联系。

14.列举出5个详细设计阶段的常用工具。

?

答:

程序流程图,盒图,PAD图(问题分析图),判定表,判定树,过程设计语言,

15向对象建模主要建立哪几种模型,其中哪种模型是最基本,最核心的?

答:

功能模型,动态模型,对象模型。

对象模型

16元测试着重从哪几个方面对模块进行测试?

答:

模块接口、局部数据结构、重要的执行通路、出错处理通路、边界条件

17么是模块独立?

为什么模块独立性很重要?

答:

模块独立是指软件系统中每个模块只涉及软件要求的具体的子功能,而和软件系统中其他模块的接口是简单的。

即功能专一,模块之间无过多的相互作用的模块。

  这种类型的模块可以并行开发,模块独立性越强,开发越容易。

独立性强的模块,还能减少错误的影响,使模块容易组合、修改及测试。

17.软件生命期各阶段的任务是什么?

    答:

软件生命期分为7个阶段:

    1、问题定义:

要解决的问题是什么

2、可行性研究:

确定问题是否值得解,技术可行性、经济可行性、操作可行性

3、需求分析:

系统必须做什么

4、总体设计:

系统如何实现,包括系统设计和结构设计

5、详细设计:

具体实现设计的系统

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 职业教育 > 其它

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1