软件工程复习题.docx

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

软件工程复习题.docx

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

软件工程复习题.docx

软件工程复习题

复习题

一,填空题

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

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

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

4.划分模块时尽量做到__高内聚、低耦合______,保持模块的独立性,尽量使用公共模块。

5.类的实例化是_对象_______。

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

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

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

9.将得到软件的总开发量。

这种成本估算方法称为_自底向上_______。

10.结构化设计以__数据流图_________为基础,按一定的步骤映射成软件结构。

11.软件的风险分析可包括风险识别、风险预测和风险驾驭(或风险管理)等3项活动。

12.软件著作权登记的3种主要类型:

(1)著作权登记;

(2)著作权延续登记;(3)权利转移备案登记。

13.软件工程管理的主要内容有:

项目经费管理,软件质量管理,项目进度管理和人员管理。

14.面向对象分析的目的是对客观世界的系统进行___建模_______________。

15.软件维护工作的生产性活动包括分析评价、修改设计和____编写程序代码_______等。

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

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

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

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

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

二,名词解释

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

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

3.白盒测试——按照程序内部的结构测试程序,检验程序中的每条路径是否都能按预定要求正确工作。

有两种测试法既逻辑覆盖测试法和路径测试法

4.黑盒测试——按照程序的功能测试程序,检验与程序功能有关的输入、输出与程序执行是否正确。

有四种方法既等价分类法、边界值分析法、错误猜测法和因果图法

5.完善性维护——为了适应用户业务和机构的发展变化而对软件的功能、性能进行修改、扩充的过程称为完善性维护。

因为各种用户的业务和机构在相当长的时期内不可能是一成不变的,所以功能、性能的增加是不可避免的,而且这种维护活动在整个维护工作中所占的比重很大

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

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

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

9.聚集关系——表示类或对象之间的整体与部分的关系

10.泛化关系——表示类或对象之间的一般与特殊的关系

11.内聚——一个模块内部各个元素彼此结合的紧密程度的度量。

12.耦合——一一个软件结构内不同模块之间互连程度的度量。

 

简答题

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

答:

软件工程的七条基本原理是:

(1)用分阶段的是的生存周期计划严格管理;

(2)坚持进行阶段评审;

(3)严格实施的产品控制;

(4)采用现代程序技术;

(5)结果应能清楚地审查;

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

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

2.简述文档在软件工程中的作用。

答:

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

(2)提高开发效率

(3)作为开发人员阶段工作成果和结束标志

(4)记录开发过程的有关信息便于使用与维护;

(5)提供软件运行、维护和培训有关资料;

(6)便于用户了解软件功能、性能。

3.可行性研究包括哪几方面的内容?

 

答:

 

(1)经济可行性:

是否有经济效益,多长时间可以收回成本; 

 

(2)技术可行性:

现有技术能否实现本系统,现有技术人员能否胜任,开发系统的资源能否满足;

 (3)运行可行性:

系统操作在用户内部行得通吗?

 (4)法律可行性:

新系统开发是否会侵犯他人、集体或国家利益,是否违反国家法律。

4.结构化的需求分析描述工具有哪些?

答:

有数据流图(DFD)、数据字典(DD)、判定表、判定树、结构化语言(PDL)、层次方框图、Warnier图、IPO图、控制流图(CFD)、控制说明(CSPEC)、状态转换图(STD)和实体—关系图(E—R)等。

5.什么是模块化?

模块设计的准则?

  模块化是按规定的原则将一个大型软件划分为一个个较小的、相对独立但又相关的模块。

  模块设计的准则:

  

(1)改进软件结构,提高模块独立性:

在对初步模块进行合并、分解和移动的分析、精化过程中力求提高模块的内聚,降低藕合。

  

(2)模块大小要适中:

大约50行语句的代码,过大的模块应分解以提高理解性和可维护性;过小的模块,合并到上级模块中。

  (3)软件结构图的深度、宽度、扇入和扇出要适当。

一般模块的调用个数不要超过5个。

  (4)尽量降低模块接口的复杂程度;

  (5)设计单入口、单出口的模块。

  (6)模块的作用域应在控制域之内。

6.什么是模块独立性?

用什么度量?

答:

模块独立性概括了把软件划分为模块时要遵守的准则,也是判断模块构造是不是合理的标准。

独立性可以从两个方面来度量:

即模块本身的内聚和模块之间的耦合。

7.变换型数据流由哪几部分组成?

  变换型结构由三部分组成:

传入路径、变换(加工)中心和传出路径。

8.变换分析设计的步骤?

  

(1)区分传入、传出和变换中心三部分,划分DFD图的分界线;

  

(2)完成第一级分解:

建立初始SC图的框架;

  (3)完成第二级分解:

分解SC图的各个分支;

  (4)对初始结构图按照设计准则进行精化与改进。

9.事务分析设计的步骤?

  

(1)在DFD图中确定事务中心、接收部分(包含全部接收路径)和发送部分(包含全部动作路径);

  

(2)画出SC图框架,把DFD图的三部分,分别映射"为事务控制模块,接收模块和动作发送模块.一般得到SC图的顶层和第一层(如果第一层简单可以并入顶层);

  (3)分解和细化接收分支和动作分支,完成初始的SC图;

  (4)对初始结构图按照设计准则进行精化与改进。

10.数据字典包括哪些内容?

数据字典是描述数据流图中数据的信息的集合。

它对数据流图上每一个成分:

数据项、文件(数据结构)、数据流、数据存储、加工和外部项等给以定义和说明;它主要由数据流描述、加工描述和文件描述三部分组成。

11.什么是软件生存周期?

把生存周期划分为阶段的目的是什么?

答:

一个软件从开始计划起,到废弃不用止,成为软件的生存周期。

把整个生存周期划分为较小的阶段,给每个阶段赋予确定而有限的任务,能够简化每一步的工作内容,使因为软件规模增长而大大增加了的软件复杂性变得较易控制和管理。

12.详细设计的任务是什么?

(1)为每个模块确定采用的算法;

(2)确定每一模块使用的数据结构;

(3)确定模块接口的细节;

(4)编写过程设计说明书;

(5)设计每一模块的测试用例。

 13.为什么说软件的维护是不可避免的?

  因为软件的开发过程中,一般很难检测到所有的错误,其次软件在应用过程中需要随用户新的要求或运行环境的变化而进行软件的修改或完成功能的增删等,为了提高软件的应用水平和使用寿命,软件的维护是不可避免的。

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

   完善性维护:

满足用户在使用过程中提出增加新的功能或修改已有功能,以满足用户日益增长的需要而进行的工作;

  适应性维护:

是软件适应新的运行环境而进行的工作;

纠错性维护:

纠正开发期间未发现的遗留错误,即在程序使用期间发现的程序错误进行诊断和改正的过程;

  预防性维护:

为了改善未来的可维护性或可靠性而修改软件的工作。

15.分析软件危机产生的主要原因有哪些?

答:

导致软件危机的主要原因有:

(1)软件日益复杂和庞大

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

16、软件测试的基本任务是什么?

测试与纠错有什么区别?

答:

软件测试的基本任务是通过在计算机上执行程序,暴露程序中潜在的错误。

测试和纠错目的和任务都不相同,测试是为了发现程序的错误,纠错是为了定位和纠正错误,从而消除软件故障,保证程序的可靠运行。

画图题

1.试由程序流程图导出程序图

F

TT

F

T

F

T

F

 

(a)程序流程图(b)导出程序图

2.工资计算系统中的一个子系统有如下功能:

(1)计算扣除部分—由基本工资计算出应扣除(比如水电费、缺勤)的部分;

(2)计算奖金部分—根据职工的出勤情况计算出奖励金;

(3)计算工资总额部分—根据输入的扣除额及奖金计算出总额;

(4)计算税金部分—由工资总额中计算出应扣除各种税金;

(5)生成工资表—根据计算总额部分和计算税金部分传递来的有关职工工资的详细信息生成工资表。

试根据要求画出该问题的数据流程图。

 

3.把事务型数据流图映射成软件结构图:

4..把变换型数据流图映射成软件结构图:

 

选择题

1.软件工程的概念是哪年提出的()。

A.1988B.1968

C.1948D.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.项目计划  

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.hasaD.一般特殊

16、软件维护产生的副作用,是指()

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

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

17、使用程序设计的控制结构导出测试用例的测试方法是()

A、黑盒测试B、白盒测试

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

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.法律可行性

27、按软件生命周期方法设计软件的过程中,画数据流图属于下面哪个阶段的工作()

A、需求分析B、程序设计

C、详细设计D、软件维护

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

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

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

29、等价划分测试方法属于()

 A、黑盒测试B、白盒测试

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

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

A.可用性B.可靠性

C.正确性D.完整性

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

A、集成测试B、恢复测试

C、确认测试D、单元测试

32、要显示描绘软件开发项目各作业的依赖关系,应选择( )。

A. Gantt图  B.工程网络 

C. COCOMO模型  D.数据流图 

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

()

A、3±1B、7±2

C、15±1D、18±2

34、结构化程序设计主要强调的是()

A、程序的规模B、程序的效率

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

35、在用户界面层次上对软件进行测试属于哪种测试方法()

 A、黑盒测试B、白盒测试

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

36、对象实现了数据和操作的结合,使数据和操作()于对象的统一体中。

A、结合B、隐藏

C、封装D、抽象

37、( )是比较理想的可重用软构件。

A.子程序库 B.源代码包含文件

C.对象 D.类 

38、下列模型属于成本估算方法的有()

A、COCOMO模型B、McCall模型

C、McCabe度量法D、时间估算法

39、软件生存周期中时间最长的是()阶段。

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

C、软件测试D、软件维护

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

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

C、内容耦合D、数据耦合

41、软件概要设计结束后得到()

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

C、模块的接口图和详细算法D、程序编码

42、为使得开发人员对软件产品的各个阶段工作都进行周密的思考,从而减少返工,所以()的编制是很重要的。

A、需求说明B、概要说明

C、软件文档D、测试计划

43、汽车有一个发动机,因而汽车与发动机之间的关系是()关系。

A、一般与特殊B、整体与部分

C、分类关系D、isa关系

44、软件部件的内部实现与外部可访问性的分离,是指软件的()。

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

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

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

(1)

(1)继承和聚集

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

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

(1)成本高

(2)生产率低(3)技术发展快(4)质量得不到保证

53.以下哪一项不是面向对象的特征(4)

(1)多态性

(2)继承性(3)封装性(4)过程调用

54.软件可行性研究一般不考虑(4)

(1)是否有足够的人员和相关的技术来支持系统开发

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

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

(1)编码副作用、数据副作用、测试副作用

(2)编码副作用、数据副作用、调试副作用(3)编码副作用、数据副作用、文档副作用(4)编码副作用、文档副作用、测试副作用

56.软件项目计划一般不包括以下哪项内容(4)

(1)培训计划

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

57.以下哪一项不属于面向对象的软件开发方法(3)

(1)coad方法

(2)booch方法(3)jackson方法(4)omt方法

58.以下哪种测试方法不属于白盒测试技术

(2)

(1)基本路径测试

(2)边界值分析测试(3)循环覆盖测试(4)逻辑覆盖测试

59.“软件危机”是指()

A.计算机病毒的出现

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

C.软件开发和维护中出现的一系列问题

D.人们过分迷恋计算机系统

60.DFD中的每个加工至少需要()

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

C.一个输入或输出流D.一个输入流和一个输出流

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

A.控制耦合B.公共耦合C.内容耦合D.数据耦合

62.下面关于PDL语言不正确的说法是()

A.PDL是描述处理过程怎么做

B.PDL是只描述加工做什么

C.PDL也称为伪码

D.PDL的外层语法应符合一般程序设计语言常用的语法规则

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

A.DFD图B.程序图C.PAD图D.SC图

64.不适合作为数据处理与数据库应用的语言是()

A.SQLB.CobolC.4GLD.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.效率与可修改性

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

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

A.需求阶段B.设计阶段

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

72.从目前情况来看,增量模型存在的主要问题是()

A.用户很难适应这种系统开发方法

B.该方法的成功率很低

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

D.缺乏对开发过程中的问题和错误具有应付变化的机制

73.下列文档与维护人员有关的有()

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

当前位置:首页 > 解决方案 > 学习计划

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

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