软件工程复习题.docx

上传人:b****4 文档编号:3736062 上传时间:2022-11-25 格式:DOCX 页数:25 大小:68.40KB
下载 相关 举报
软件工程复习题.docx_第1页
第1页 / 共25页
软件工程复习题.docx_第2页
第2页 / 共25页
软件工程复习题.docx_第3页
第3页 / 共25页
软件工程复习题.docx_第4页
第4页 / 共25页
软件工程复习题.docx_第5页
第5页 / 共25页
点击查看更多>>
下载资源
资源描述

软件工程复习题.docx

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

软件工程复习题.docx

软件工程复习题

软件工程复习题

一、名词解释

1、软件危机

2、耦合

3、编码风格

4、模块

5、原型

6、信息隐蔽

7、集成测试

8、CASE

9、增量模型

10、抽象

11、纯收入

12、BROOKS定律

 

1.指在计算机软件的开发和维护过程中所遇到的一系列严重问题。

2.耦合是对一个软件结构内各个模块之间互连程度的度量。

3.编码风格又称程序设计风格或编程风格。

4.是数据说明、可执行语句等程序对象的集合。

5.是使用样机,使用户通过实践获得对未来系统的的概念,可以更准确提出要求。

6、信息隐蔽是指在设计和确定模块时,使得一个模块内包含的信息(过程或数据),对于不需要这些信息的其他模块来说是不能访问的。

7、集成测试也称组装测试或联合测试。

是指在单元测试的基础上,将所有模块按照设计要求组装成一个完整的系统进行的测试。

8、CASE是一组工具和方法的集合,可以辅助软件开发生命周期各阶段进行软件开发。

9、是在项目的开发工程中以一系列的增量方式开发系统。

10、是认识复杂现象过程中使用的思维工具,即抽出事物本质的共同的特征而暂不考虑它的细节,不考虑其它因素。

11.在整个生命周期内系统的累计经济效益(折合成现在值)与投资之差。

12.向一个已经延晚的项目追加开发人员,可能使它完成的更晚

二、单项选择题

1.系统定义明确之后,应对系统的可行性进行研究。

可行性研究应包括()。

A.软件环境可行性、技术可行性、经济可行性、社会可行性

B.经济可行性、技术可行性、操作可行性

C.经济可行性、社会可行性、系统可行性

D.经济可行性、实用性、社会可行性

2.通过()可以完成数据流图的细化。

A.结构分解B、功能分解C、数据分解D、系统分解

3.模块(),则说明模块的独立性越强。

A.耦合越强B、扇入数越高C、耦合越弱D、扇入数越低

4.模块()定义为受该模块内一个判断影响的所有模块集合。

A.控制域B、作用域C、宽度D、接口

5.面向数据结构的设计方法(Jackson方法)是进行()的形式化的方法。

A.系统设计B、详细设计C、软件设计D、编码

6.指出PDL是下列哪种语言()。

A.伪码B、高级程序设计语言

C.中级程序设计语言D、低级程序设计语言

7.在进行软件测试时,首先应当进行(),然后再进行组装测试,最后再进行有效性测试。

A.单元测试B、集成测试C、确认测试D、组合测试

8.制定进度计划的两个重要工具和方法是()。

A.Gantt图B、CoCoMoC、工程网络图D、HIPO图

9.软件测试的目的是()。

A.评价软件的质量B.发现软件的错误

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.产品修改D.产品转移

16.在设计测试用例时,()是用得最多的一种黑盒测试方法。

A.等价类划分B.边界值分析C.因果图D.判定表

17.DFD中每个加工至少有()。

A,一个输入流B,一个输出流

C,多个输入输出流D,一个输入输出流

18.数据字典包括()个条目。

A,2B,3C,4D,5

19.在对数据流的分析中,主要是找到中心变换,这是从()导出结构图的关键。

A.数据结构B.实体关系C.数据流图D.E—R图

20.结构分析方法就是面向()自顶向下逐步求精进行需求分析的方法。

A.目标B.数据流C.功能D.对象

1.B2.B3.C4.B5.B6.A7.A8.AC9.B10.C

11.C12.A13.D14.A15.B16.A17.D18.C19C20.B

1。

软件需求分析阶段的工作,可以分为4个方面:

需求获取,需求分析,编写需求规格说明书以及(B)

A).用户

B).需求审评

C).总结

D).都不正确

2。

在原型法中称(A)为用户/设计者,开发人员根据用户需求不断修改原型,直到满足用户要求为止。

A).用户

B).开发人员

C).系统分析员

D).程序员

3。

下面不属于软件工程的3个要素是(D)

A).工具

B).过程

C).方法

D).环境

4检查软件产品是否符合需求定义的过程称为(A)

A).确认测试

B).集成测试

C).验证测试

D).验收测试

5.数据存储和数据流都是(D),仅仅是所处的状态不同。

A).分析结果

B).事件

C).动作

D).数据

6。

数据流图和(C)共同组成系统的逻辑模型。

A).HIPO图

B).PD)L

C).数据字典

D).层次图

7。

数据元素组成数据的方式的基本类型(D)

A).顺序

B).选择

C).循环

D).以上全部

8。

数据流图用于抽象描述一个软件的逻辑模型,数据流图由一些特定的图符构成。

下列图符名标识的图符不属于数据流图合法图符的是(A)。

A).控制流

B).加工

C).数据存储

D).源和潭

9。

结构化分析方法就是面向(B)的自顶向下逐步求精进行需求分析的方法。

A).目标

B).数据流

C).功能

D).对象

10。

通过(B)可以完成数据流图的细化。

A).结构分解

B).功能分解

C).数据分解

D).系统分解

11。

下面不属于软件工程原则的是(C)

A).抽象

B).模块化

C).自底向上

D).信息隐蔽

12。

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

A).模块化

B).抽象

C).精化

D).模块

13。

(C)是指让一些关系密切的软件元素在物理上彼此靠近。

A).信息隐蔽

B).内聚

C).局部化

D).模块独立

14。

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

A).数据流

B).系统结构

C).控制结构

D).信息流

15。

程序流程图(PDF)中的箭头代表的是(B)。

A).数据流

B).控制流

C).调用关系

D).组成关系

16。

在进行软件结构设计时应该遵循的最主要的原理是(C)

A).抽象

B).模块化

C).模块独立

D).信息隐蔽

17。

在结构化方法中,软件功能分解属于软件开发中的(C)阶段。

A).详细设计

B).需求分析

C).总体设计

D).编程调试

18。

在测试中,下列说法错误的是(B)

A).测试是为了发现程序中的错误而执行程序的过程

B).测试是为了表明程序的正确性

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

D).成功的测试是发现了至今为止尚未发现的错误的测试

19。

下列工具中为需求分析常用工具是(D)

A).PA)D)

B).PFD)

C).N-S

D).D)FD)

20软件调试的目的是(B)

A).发现错误

B).改正错误

C).改善软件的性能

D).挖掘软件的潜能

21。

软件工程师一种(B)分阶段实现的软件程序开发的方法。

A).自底向上

B).自顶向下

C).逐步求精

D).面向数据流

22。

通过(B)机制,各种软件工具用统一的数据接口规范存取环境信息库的的信息。

A).软件工具箱

B).环境集成

C).软件管理和软件支持工具

D).软件开发环境

23。

在软件生命周期法中,用户的参与主要在(A)。

A)。

软件定义期

B).软件开发期

C).软件维护期

D).整个软件生命周期过程中

24。

软件定义期问题定义阶段涉及的人员有(D)。

A).用户、使用部门负责人

B).软件开发人员、用户、使用部门负责人

C).系统分析员、软件开发人员

D).系统分析员、软件开发人员、用户、使用部门负责人

25。

软件详细设计主要采用的方法是(A)。

A).结构化程序设计

B).模型设计

C).结构化设计

D).流程图设计

26。

(C)应考虑对模块相联和资源共享问题进行描述和制约。

A).系统设计

B).详细设计

C).接口控制

D).结构化编辑工具

27。

(A)是程序中一个能逻辑分开的部分,也就是离散的程序单位。

A).模块

B).复合语句

C).循环结构

D).数据块

28。

软件开发的原型化方法是一种动态定义软件需求的方法,下述条件中,(A)是实施原型化方法所必需的。

Ⅰ成熟的原型化人员

Ⅱ快速的成型工具

Ⅲ需求了解的正确性

A).Ⅰ和Ⅱ

B).Ⅱ和Ⅲ

C).Ⅰ、Ⅱ和Ⅲ

D).Ⅲ

29。

判定树和判定表示用于描述结构化分析方法中的(B)环节的工具。

A).功能说明

B).数据加工

C).流程描述

D).性能说明

30。

概要设计的结果是提供一份(A)。

A).模块说明书

B).框图

C).程序

D).数据流图

31。

模块本身的内聚是模块独立性的重要性度量因素之一。

在7类内聚中,具有最强内聚的一类是(D)。

A).顺序性内聚

B).过程性内聚

C).逻辑性内聚

D).功能性内聚

32。

计算机软件(A)。

A).计算机系统的组成部分

B).不能作为商品参与交易

C).是在计算机硬件设备生产过程中生产出来的

D).只存在于计算机系统工作时

33。

数据字典是对数据定义信息的集合,它所定义的对象都包含在(A)。

A).数据流图v

B).程序框图

C).软件结构

D).方框图

34.程序流程图是一种传统的程序设计表示工具,有其优点和缺点,使用该工具是应注意(C)。

A).支持逐步求精

B).考虑控制流程

C).遵守结构化设计原则

D).数据结构表示

35。

软件设计中设计复审是和设计本身一样重要的环节,其主要目的和作用是(B)。

A).减少测试工作量

B).减免后期付出高代价

C).保证软件质量

D).缩短软件开发周期

36。

软件开发的结构化分析方法,常用的描述软件功能需求的工具是(C)。

A).业务流程图、处理说明

B).软件流程图、模块说明

C).数据流程图、数据字典

D).系统流程图、程序编码

37。

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

A).模块高内聚

B).模块低耦合

C).模块独立性

D).程序模块化

38。

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

A).数据流与事务流

B).交换流和事务流

C).信息流与控制流

D).交换流和数据流

39。

软件设计中,可应用于详细设计的工具有(A)。

A).程序流程图、PA)D)、方框图和伪码

B).数据流程图、PA)D)、结构图和伪码

C).业务流程图、N-S图和伪码

D).数据流程图、PA)D)、N-S图和伪码

40。

软件工程方法的提出起源于软件危机,而其目的应该是最终解决软件的(D)问题。

A).产生危机

B).质量保证

C).开发效率

D).生产工程化

41。

软件开发的结构生命周期法的基本假定是认为软件需求能做到(C).

A).严格定义

B).初步定义

C).早期冻结

D).动态改变

42。

软件工程的结构化分析方法强调的是分析开发对象的(C)。

A).数据流

B).控制流

C).时间限制

D).进程通信

43。

瀑布模型将软件生命周期归纳为个时期,即计划期、开发期和运行期。

下列(D)不属于开发期内的工作。

A).总体设计

B).详细设计

C).程序设计

D).维护

44。

软件开发的可行性研究,一般涉及经济、技术和操作的可能性,而进行可行性研究的基本依据则是用户提出的软件(B)。

A).系统质量

B).系统目标

C).系统功能

D).系统性能

45。

软件可行性分析是着重确定系统的目标和规模。

对功能、性能以及约束条件的分析应属于下列之中的(B)任务。

A).分析

B).估价

C).制定制度

D).进度分配

46。

软件可行性分析是着重确定系统的目标和规模。

对功能、性能以及约束条件的分析应属于下列之中的(A)。

A).经济可行性分析

B).技术可行性分析

C).操作可行性分析

D).开发可行性分析

47。

结构化方法将软件生命周期分为计划、开发和运行3个时期,下列任务中(B)属于计划时期的任务。

A).需求分析

B).问题定义

C).总体设计

D)编码

48。

耦合是软件各个模块间连接的一种度量。

一组模块都访问同一数据结构应属于(B)方式。

A).内容耦合

B).公共耦合

C).外部耦合

D).控制耦合

49。

内聚是从功能角度来度量模块内的联系,按照特定次序执行元素的模块属于(C)方式。

A).逻辑内聚

B).时间内聚

C).过程内聚

D).顺序内聚

50。

软件测试基本方法中,下列(D)不用测试实例。

A).白盒测试法

B).动态测试法

C).黑盒测试法

D).静态测试法

51。

软件管理中,需要对软件进行配置,各阶段文档的管理属于(D)。

A).组织管理

B).资源管理

C).计划管理

D).版本管理

52。

软件开发的结构化方法中,常用数据字典技术,其中数据加工是其组成内容之一,下述方法(D)是常采用编写加工说明的方法。

Ⅰ结构化语言

Ⅱ判定树

Ⅲ判定表

A).Ⅰ

B).Ⅱ

C).Ⅱ、Ⅲ

D)..都是

53.软件工程方法的产生源于软件危机,下列(A)是产生软件危机的内在原因。

Ⅰ软件的复杂性

Ⅱ软件维护困难

Ⅲ软件成本太高

Ⅳ软件质量难保证

A).Ⅰ

B).Ⅲ

C).Ⅰ、Ⅳ

D).Ⅲ、Ⅳ

54。

在软件工程实施中,产生软件生命周期的概念是由(A)。

A).方法论所决定的

B).开发技术划分

C).软件开发规律

D).软件工程管理

55。

结构化软件开发期将软件开发划分为3个阶段,其中关键的是(B)。

A).编码的正确性

B).需求的准确性

C).测试的严格性

D).设计的科学性

56。

在结构化方法的软件需求定义中,可采用分析工具来辅助完成。

下列工具中,(D)是常用的工具。

Ⅰ数据流图Ⅱ结构图Ⅲ数据字典Ⅳ判定表

A).Ⅰ、Ⅲ

B).Ⅱ、Ⅲ

C).Ⅰ、Ⅱ、Ⅳ

D).Ⅰ、Ⅲ、Ⅳ

57。

软件工程的结构化分析方法具有自身的特征,下列可选内容中,(B)不具有其特征。

A).书写大量文档

B).详细的界面表示C).对数据流进行分析

D).冻结应用需求

58.详细设计是软件总体设计滞后的工作。

下列可选内容中,(C)不属于详细设计内容。

A).算法设计

B).模块设计

C).屏幕设计

D).功能设计

59。

软件评审时保证软件质量的重要措施,它是对软件开发阶段成果的复审。

下列(A)是复审的必须内容。

Ⅰ需求复审Ⅱ总体设计复审Ⅲ详细设计复审Ⅳ程序复审

A).Ⅰ、Ⅱ、Ⅲ

B).Ⅱ、Ⅲ、Ⅳ

C).Ⅰ、Ⅲ、Ⅳ

D)全部

60。

提高软件的可维护性可采取很多措施,下列(A)不在措施之列。

A).提供没有错误的程序

B).建立质量保证制度

C).改进程序文档质量

D).明确软件质量标准

61。

在软件开发过程中,软件结构设计是描述(B).

A).数据存储结构

B).软件模块体系

C).软件结构测试

D).软件控制过程

三、判断题(本大题共5小题,每小题2分,共10分)

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

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

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

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

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

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

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

(×)8、编码时尽量多用全局变量。

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

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

1.对于软件项目,投资回收期越长,越快获得利润。

()

2.一个实时系统必须在严格的时间范围内响应。

如果响应时间被过分延迟,将带来灾难性的后果。

()

3.模块接口简单是软件发生错误的一个主要原因。

()

4.软件的质量保证工作一般在编码工作结束后才开始。

()

5.现在人们普遍认为优秀的程序除了功能正确,性能优良之外,还应该容易看懂、容易使用、容易修改和扩充。

()

1.X2.√3.X4.X5.√

四、简答题(本大题共5小题,每小题6分,共30分)

1.什么是软件工程?

基本原理有哪些?

答:

软件工程是指导计算机软件开发和维护的工程学科。

用分阶段的生命周期计划管理、坚持阶段评审、实行严格产品控制、采用现代设计技术、结果审查、开发小组人员少而精、并不断改进方法。

2.非渐增式测试与渐增式测试有什么区别?

答:

两种都用于集成测试。

渐增式是把下一个要测试的摸块同已经测试好的模块结合起来进行测试,每次增加一个模块。

非渐增式先分别测每个模块,再把所有模块按设计要求放在一起结合成所要的程序。

3、软件生命各阶段的任务是什么?

答:

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

1)问题定义:

要解决的问题是什么。

2)可行性研究:

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

3)需求分析:

系统必须什么?

4)总体设计:

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

5)详细设计:

具体实现设计的系统。

6)实现:

编码和测试。

7)运行维护:

保证软件正常运行。

1.什么是软件工程?

基本原理有哪些?

2.成本—效益分析可用哪些指标进行度量?

(写出公式)

3.什么是数据流图?

其中的基本符号各表示什么含义?

画出定货系统基本数据流图。

4.非渐增式测试与渐增式测试有什么区别?

5.试从基本符号和设计方法分析HC图与JACKSON图异同点

1.软件工程是指导计算机软件开发和维护的工程学科。

用分阶段的生命周期计划管理、坚持阶段评审、实行严格产品控制、采用现代设计技术、结果审查、开发小组人员少而精、并不断改进方法。

2.可用投资回收期、纯收入、投资回收率指标,通过P=F/(1+i)n计算求得。

3.用符号描绘信息在系统中流动的情况,源点、终点、处理、数据存储、数据流。

4.两种都用于集成测试。

渐增式是把下一个要测试的摸块同已经测试好的模块结合起来进行测试,每次增加一个模块。

非渐增式先分别测每个模块,再把所有模块按设计要求放在一起结合成所要的程序。

5..答:

HC图是面向DFD,而JACKSON图是面向数据结构的。

符号省略。

6、软件生命各阶段的任务是什么?

答:

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

1)问题定义:

要解决的问题是什么。

2)可行性研究:

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

3)需求分析:

系统必须什么?

4)总体设计:

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

5)详细设计:

具体实现设计的系统。

6)实现:

编码和测试。

7)运行维护:

保证软件正常运行。

7、软件重用的效益是什么?

答:

1)软件重用可以显著地改善软件的质量和可靠性。

2)软件重用可以极大地提高软件开发的效率。

3)节省软件开发的成本,避免不必要的重复劳动和人力、财力的浪费。

4、软件重用的效益是什么?

答:

1)软件重用可以显著地改善软件的质量和可靠性。

2)软件重用可以极大地提高软件开发的效率。

3)节省软件开发的成本,避免不必要的重复劳动和人力、财力的浪费。

5、在划分软件生存周期阶段时,应遵循的基本原则是什么?

答:

软件生存周期的各个阶段有不同的划分。

软件规模、种类、开发方式、开发环境以及开发使用方法都影响软件生存周期的划分。

在划分软件生存周期阶段时,应遵循的一条基本原则是各阶段的任务应尽可能相对独立,同一阶段各项目任务的性质尽可能相同,从而降低每个阶段任务的复杂程度,简化不同阶段之间的联系,有利于软件项目开发的组织管理。

4、什么是模块的影响范围?

什么是模块的控制范围?

他们之间应该建立什么关系?

答:

一个模块的作用范围(或称影响范围)指受该模块内一个判定影响的所有模块的集合。

一个模块的控制范围指模块本身以及其所有下属模块(直接或间接从属于它的模块)的集合。

一个模块的作用范围应在其控制范围之内,且判定所在的模块应在其影响的模块在层次上尽量靠近。

如果再设计过程中,发现模块作用范围不在其控制范围之内,可以用“上移判点”或“下移受判断影响的模块,将它下移到判断所在模块的控制范围内”的方法加以改进。

5、采用黑盒技术设计测试用例有哪几种方法?

这些方法各有什么特点?

答:

㈠等价类划分。

等价类划分是将输入数据域按有效的或无效的(也称合理的或不合理的)划分成若干个等价类,测试每个等价类的代表值就等于对该类其它值的测试。

㈡边界值分析。

该方法是将测试边界情况作为重点目标,选取正好等于,刚刚大于或刚刚小于边界值的情况,根据这些情况选择测试用例。

㈢错误推测。

错误推测法没有确定的步骤,凭检验进行。

它的基本思想是列出程序中可能发生错误的情况,根据这些情况选择测试用例。

㈣因果图。

因果图能有效的检测输入条件的各种组合可能会引起的错误。

因果图的基本原理是通过画因果图,把用自然语言描述的功能说明转换为判定表,最后为判定表的每一列设计一个测试用例。

6、什么是确认测试?

该阶段有哪些工作?

答:

确认测试又称有效性测试。

它的任务是检查软件的功能与性能是否与需求规格说明书中确定的指标相符合。

确认测试阶段有两项工作,进行确认测试与软件配置审查。

<1>确认测试一般是在模拟环境中运用黑盒测试方法,由专门测试人员和用户参加的测试。

<2>软件配置审查的任务是检查软件的所有文档资料的完整性、正确性。

如果发现遗漏和错误,应补充和改正,同时要编排好目录,为以后的软件维护工作奠定基础。

7、在划分软件生存周期阶段时,应遵循的基本原则是什么?

答:

软件生存周期的各个阶段有不同的划分。

软件规模、种类、开发方式、开发

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

当前位置:首页 > 人文社科 > 法律资料

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

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