软件工程复习题答案.docx

上传人:b****6 文档编号:16424046 上传时间:2023-07-13 格式:DOCX 页数:11 大小:21.64KB
下载 相关 举报
软件工程复习题答案.docx_第1页
第1页 / 共11页
软件工程复习题答案.docx_第2页
第2页 / 共11页
软件工程复习题答案.docx_第3页
第3页 / 共11页
软件工程复习题答案.docx_第4页
第4页 / 共11页
软件工程复习题答案.docx_第5页
第5页 / 共11页
软件工程复习题答案.docx_第6页
第6页 / 共11页
软件工程复习题答案.docx_第7页
第7页 / 共11页
软件工程复习题答案.docx_第8页
第8页 / 共11页
软件工程复习题答案.docx_第9页
第9页 / 共11页
软件工程复习题答案.docx_第10页
第10页 / 共11页
软件工程复习题答案.docx_第11页
第11页 / 共11页
亲,该文档总共11页,全部预览完了,如果喜欢就下载吧!
下载资源
资源描述

软件工程复习题答案.docx

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

软件工程复习题答案.docx

软件工程复习题答案

一、选择题

1.软件工程研究的主要内容有(ABCD)

2.A.软件开发方法、技术B.软件开发工具及环境

3.C.软件管理技术D.软件规范(国际规范)

4.目前典型的软件开发模型有(ABCD):

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

6.包含风险分析的软件工程模型是(C):

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

8.软件危机的主要表现是(BD)

9.A.软件成本太高B.软件产品的质量低劣

10.C.软件开发人员明显不足D.软件生产率低下

11.以下属于非功能需求的有(ABC)

12.A.机构需求B.产品需求C.外部需求D.领域需求

13.需求分析的作用是(ABCD)

14.A.定义软件的范围及必须满足的约束

15.B.确定软件的功能和性能及与其他系统成分的接口

16.C.建立数据模型、功能模型和行为模型

17.D.最终提供需求规格说明,并用于作为评估软件质量的依据

18.需求工程的基本活动包括(ABCD)

19.A.获取需求B.需求分析与建模C.确认需求D.进化需求

20.需求获取之所以困难,其主要原因有(ABCD)

21.A.缺乏领域知识B.存在默认的知识

22.C.存在多个知识源D.客户可能的偏见

23.常用的需求分析方法有(BCD)

24.A.功能分析方法B.结构化分析方法

25.C.信息建模法D.面向对象的分析方法

26.数据词典中可包含的条目有(ABCD)

27.A.数据流B.数据项C.文件D.加工

28.属于分布式的软件体系结构有(B)

29.A.仓库模型B.客户/服务器模型C.分布式对象结构D.中间件

30.对于以下给出的几种类型的耦合,按照耦合性由高到低排列的是(A)

31.

(1)内容耦合

(2)公共耦合(3)控制耦合(4)复合耦合(5)数据耦合

32.A.12345B.13425C.12534D.54321

33.对于块内部联系的类型,内聚性由弱到强的是(A)

34.

(1)偶然型

(2)逻辑型(3)瞬时型(4)通信型(5)顺序型(6)功能型

35.A.123456B.124536C.324156D.654321

36.(C)是指相同的操作(或函数、过程)作用于不同的对象上并获得不同的结果

37.A.继承性B.封装性C.多态性D.动态绑定

38.以下UML的几种图中,属于动态模型的有(ACD)

39.A.状态图B.类图C.合作图D.顺序图

40.以下软件复用中,抽象程度最低的是(A)

41.A.代码的复用B.设计结果的复用C.分析结果的复用D.测试信息的复用

42.以下软件复用中,抽象程度最高的是(D)

43.A.代码的复用B.设计结果的复用C.分析结果的复用D.测试信息的复用

44.可复用构件必须具备的条件有(ABD)

45.A.功能上的独立性和完整性B.较高的通用性和灵活性

46.C.严格的质量保证D.较高的标准化程度

47.大多数的构件分类模式可以归纳为(ABC)

48.A.枚举分类B.刻面分类C.属性值分类D.聚集分类

49.软件测试的基本原则有(BD)

50.A.尽量由程序设计者自己进行测试B.注重测试用例的选择

51.C.尽早地和不断地进行软件测试D.充分注意测试中的群集现象

52.以下测试方法中属于静态分析方法的有(ABD)

53.A.桌前检查B.代码会审C.白盒法D.步行检查

54.步行检查时,常使用的分析方法有(AB)

55.A.调用图B.数据流分析图C.数据流图D.状态图

56.下面6种常用的逻辑覆盖测试方法,按发现错误能力由弱到强排列的是(A)

57.

(1)语句覆盖

(2)判定覆盖(3)条件覆盖

58.(4)判定-条件覆盖(5)条件组合覆盖(6)路径覆盖

59.A.123456B.654321C.143265D.162345

60.属于黑盒法的测试方法有(ABCD)

61.A.等价分类法B.边值分析法C.错误推测法D.因果图法

62.描述软件开发计划进度的主要工具有(ABCD)

63.A.一般的表格工具B.甘特图C.时标网状图D.PERT技术与CPM方法

64.CMM表示(A)

65.A.软件过程成熟度模型B.软件过程工业化控制

66.C.国际软件质量认证D.软件统一性标准

67.软件过程和产品质量有详细的度量标准,并且得到了定量的认识和控制。

以下哪一级具有上述特征(C)

68.A.可重复级B.已定义级C.已管理级D.优化级

二、填空题

1.软件工程是在克服1960年代末所出现的软件危机的过程中逐渐形成与发展的。

2.软件工程的发展已经历了四个重要阶段:

传统的软件工程,对象工程,过程工程,构件工程

3.软件生命周期包括的阶段有:

问题定义,可行性研究,需求分析,软件设计,编码,测试,运行与维护。

4.软件开发方法可分为两大类:

面向过程的开发方法,面向对象的开发方法

5.对系统应该提供的服务和所受到的约束进行理解、分析、建立文档、检验的过程称作需求工程

6.软件系统的需求分为用户需求和系统需求两类。

7.系统需求分为功能需求,非功能需求和领域需求。

8.需求验证的内容包括:

有效性检查,一致性检查,完备性检查和可检验性检查

9.画分层DFD图应遵循的基本原则有:

数据守恒与数据封闭原则,加工分解的原则,子图与父图的平衡,合理使用文件

10.对数据流图中包含的所有元素的定义的集合构成了数据词典

11.对基本加工说明有三种描述方式:

结构化语言,判定表,判定树

12.软件设计阶段的主要任务有:

软件体系结构的设计,用户界面的设计,数据结构的设计,算法的设计

13.软件设计准则有:

软件结构的准则,模块化准则,软件独立性准则

14.软件独立性的度量标准是两个定性指标:

耦合性用于描述模块之间联系的紧密程度,内聚性用于描述模块内部联系的紧密程度

15.对象的最基本的特征是封装性和继承性

16.动态绑定是在运行时根据对象接收的消息动态地确定要连接的服务代码

17.一个系统应从不同的角度进行描述,从一个角度观察到的系统称为一个视图

18.UML语言定义的图有:

用例图、类图、对象图、包图、状态图、活动图、顺序图、合作图、构件图和部署图。

19.UML中,模型元素与模型元素之间的连接关系常见的有,关联、泛化、依赖和聚合,其中聚合是关联的一种特殊形式

20.状态图用来描述一个特定对象的所有可能的状态及其引起状态转移的事件

21.顺序图用来描述对象之间动态的交互行为,着重体现对象间消息传递的时间顺序

22.结构化程序设计方法的基本思想是自顶向下、逐步求精

23.按照复用活动所跨越的应用领域的类型分,软件复用可分为:

横向复用和纵向复用

24.基于软件复用的软件开发过程的角度分,软件复用可分为:

生产者复用和消费者复用

25.基于构件的软件的开发过程包括两个并发的子过程,一个是领域工程,另一个是基于构件的开发

26.构件库系统应提供的主要功能:

构件的存储、管理、检索以及库的浏览与维护等

27.软件系统中的错误和缺陷通常不是均匀地分布在整个软件系统的各个部分的,而是成群集中出现的,这种现象称作群集现象。

28.软件测试按先后顺序可分为:

单元测试、集成测试、确认测试、系统测试和验收测试。

29.软件测试方法可分为两类:

静态分析和动态测试

30.动态测试常用的方法有白盒法和黑盒法

31.模块测试时,需要使用的2类辅助模块是驱动模块和桩模块。

32.常用的软件调试策略有:

试探法、归纳法、演绎法、回溯法和对分查找法调试。

33.软件维护可分为:

完善性维护、纠错性维护、适应性维护和预防性维护

34.软件项目管理过程主要包括:

项目启动、项目规划、项目实施和项目收尾

35.CMM将软件过程的成熟度分为5个级别,从低到高分别是:

初始级、可重复级、已定义级、已管理级和优化级。

36.CMM实施软件过程改进采用的方法称为IDEAL模型,分五步:

初始化、诊断、建立、行动和推进

三、判断题

1.软件就是程序,编写软件就是编写程序(×)

2.瀑布模型的最大优点是将软件开发的各个阶段划分得十分清晰(√)

3.面向对象的开发方法有面向对象的分析与设计,以及面向对象的程序设计组成(√)

4.用户需求通常只描述系统的外部行为,而不涉及系统内部的特性,往往是较模糊的。

(√)

5.系统需求较详细的给出系统将要提供的服务,以及系统所受到的约束,对系统的需求文档的描述应该是精确的。

(√)

6.领域需求是由软件系统的应用领域所决定的特有的功能需求,或是对功能的约束(√)

7.问卷调查法是对面谈法的补充,是从多个用户中收集需求信息的有效方式(√)

8.信息建模法是从数据的角度对现实世界建立系统的信息模型,基本工具是ER图。

(√)

9.结构化分析方法是一种以数据、数据的封闭性为基础,从问题空间到某种表示的映射方法,由数据流图(DFD图)表示(√)

10.软件设计的目标就是构造一个高内聚低耦合的软件模型(√)

11.采用分布式对象结构,每个对象在逻辑上是平等的,它们可以互相为对方提供所需的服务(√)

12.软件独立性的含义是指开发具有功能专一,模块之间无过多相互作用的模块(√)

13.对模块图中每个模块的过程进行描述,常用的描述的方式有:

伪代码,流程图,N-S图,PAD图等。

(√)

14.MVC的意思是“模型-视图-控制器”,该设计模式的主要优点是可以为一个模型在运行时同时建立和使用多个视图。

(√)

15.传统软件开发方法无法实现从问题空间到解空间的直接映射(√)

16.传统软件开发方法无法实现高效的软件复用(√)

17.对象可以是事、物、或抽象概念,是将一组数据和使用该数据的一组基本操作或过程封装在一起的实体(√)

18.活动图描述了系统中各种活动的执行的顺序。

刻化一个方法中所要进行的各项活动的执行流程。

(√)

19.构成状态图的模型元素有:

活动、转移、对象、信号、泳道等(×)

20.活动图中只有一个起点一个终点(√)

21.状态图的终态则可以有多个(√)

22.软件复用不仅是对程序的复用,它包括对软件生产过程中任何活动所产生的制成品的复用(√)

23.代码的复用既包括目标代码的复用,也包括文本形式的源代码的复用(√)

24.领域分析是特定领域内软件重用的基础,它的目标就是:

发现和挖掘在特定领域内可以被复用的构件。

(√)

25.领域分析不是针对某个特定的软件系统,而是针对一类软件系统的共同的特征、知识和需求。

比需求分析更一般、更抽象、更广泛的特征(√)

26.软件测试的目的是为了发现和改正错误(√)

27.驱动模块模拟主程序功能,用于向被测模块传递数据,接收、打印从被测模块返回的数据(√)

28.桩模块用于模拟那些由被测模块所调用的下属模块功能(√)

29.将经过确认测试的软件,与计算机硬件、外设、支持软件等一起,在实际运行环境下进行的测试,称作为系统测试(√)

30.在开发过程中增加人员,一般可以提高软件生产率。

(×)

四、问答题

1.设有一图书销售系统,其中一加工为“优惠处理”,条件是:

顾客的营业额大于1000元,同时必须信誉好,或者虽然信誉不好,但是20年以上的老主顾。

答:

请分别用判定表和判定树描述该加工

1

2

3

4

5

6

7

8

>1000元

Y

Y

Y

Y

N

N

N

N

信誉好

Y

Y

N

N

Y

Y

N

N

>20年

Y

N

Y

N

Y

N

Y

N

优惠

X

X

X

正常

X

X

X

X

X

Y-满足条件N-不满足条件X-选中判断的结论

1

2

3

4

>1000元

Y

Y

Y

N

信誉好

Y

N

N

-

>20年

-

Y

N

-

优惠

X

X

正常

X

X

2.渐增式组装测试方案中,自顶而下增值与自底而上增值各有何优、缺点?

自顶而下增值

优点:

能够尽早发现系统主控方面的问题。

缺点:

无法验证桩模块是否完全模拟了下属模块的功能。

自底而上增值

优点:

驱动模块较容易编写桩模块,能够尽早查出底层涉及较复杂的算法和实际的I/O模块中的错误。

3.什么是α测试和β测试?

答:

alpha测试是由一个用户在开发者的场所来进行的,软件在开发者对用户的"指导"下进行测试,开发者负责记录错误和使用中出现的问题,alpha测试是在一个受控的环境中进行的。

Beta测试是软件的多个用户在一个或多个用户的实际使用环境下进行的测试。

开发者通常不在测试现场,Beta测试不能由程序员或测试员完成。

因而,Beta测试是在开发者无法控制的环境下进行的软件现场应用。

在Beta测试中,由用户记下遇到的所有问题,包括真实的以及主管认定的,定期向开发者报告,开发者在综合用户的报告后,做出修改,最后将软件产品交付给全体用户使用。

Beta测试着重于产品的支持性,包括文档、客户培训和支持产品的生产能力。

只有当Alpha测试达到一定的可靠程度后,才能开始Beta测试。

由于Beta测试的主要目标是测试可支持性,所以Beta测试应该尽可能由主持产品发行的人员来管理。

α测试,β测试两大主要区别:

1、测试地点

2、测试技术人员是否在场

4.什么是判定覆盖测试方法?

请按判定覆盖标准为以下被测程序段选择测试用例。

测试用例格式为:

[输入(A,B,X),输出(A,B,X)]

答:

覆盖情况:

应执行路径

ace∧abd或:

acd∧abe

⑴[(2,0,4),(2,0,3)]ace

[(1,1,1),(1,1,1)]abd

⑵[(2,1,1),(2,1,2)]abe

[(3,0,3),(3,1,1)]acd

5.什么是条件覆盖测试方法?

请按条件覆盖标准为以下被测程序段选择测试用例。

测试用例格式为:

[输入(A,B,X),输出(A,B,X)]

答:

应满足以下覆盖情况:

判定一:

A>1,A≤1,B=0,B≠0

判定二:

A=2,A≠2,X>1,X≤1

选择用例:

[(2,0,4),(2,0,3)]

[(1,1,1),(1,1,1)]

 

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

当前位置:首页 > 求职职场 > 简历

copyright@ 2008-2023 冰点文库 网站版权所有

经营许可证编号:鄂ICP备19020893号-2