软件工程复习题.docx
《软件工程复习题.docx》由会员分享,可在线阅读,更多相关《软件工程复习题.docx(15页珍藏版)》请在冰豆网上搜索。
软件工程复习题
复习题一
一、选择填空题(每空1分,共40分)(注:
答案写在本题后的答题处)
1) 在完成软件概要设计,并编写相关文档之后应当组织对概要设计工作的评审。
评审的内容包括:
分析该软件的系统结构、子系统结构,确认该软件设计是否覆盖了所有已确定的软件需求,软件每一成分是否可
(1)到某一项需求。
分析软件各部分之间的联系,确认该软件的内部接口与外部接口是否已经明确定义。
模块是否满足
(2)和(3)的要求。
模块(4)是否在其(5)之内。
供选择的答案:
1:
A、覆盖B、演化C、追溯D、等同E、连接
2:
A、多功能B、高内聚C、高耦合D、高效率E、可读性
3:
A、多入口B、低内聚C、低耦合D、低复杂度E、低强度
4,5:
A、作用范围B、高内聚C、低内聚D、取值范围E、控制范围
2) 软件工程是采用(6)的概念、原理、技术和方法指导计算机(7)的工程学科。
把经过时间考验而证明正确的(8)和当前能够得到的最好的(9)结合起来。
供选择的答案:
6:
A、工程B、程序C、体系结构
7:
A、软件开发和维护B、程序设计C、系统工程开发D、软件开发
8,9:
A、管理技术B、开发工具C、开发环境D、技术方法
3) 可行性研究从经济可行性,技术可行性,法律可行性、(10)和开发方案可行性等方面进行。
供选择的答案:
10:
A、资源可行性B、效益可行性C、运行可行性D、政策可行性
4) 软件需求分析的任务不应包括(11)。
进行需求分析可使用多种工具,但(12)是不适用的。
在需求分析中,分析员要从用户那里解决的最重要的问题是(13)。
需求规格说明书的内容不应当包括(14)。
该文档在软件开发中具有重要的作用,但其作用不应当包括(15)。
供选择的答案:
11:
A、问题分析B、信息域分析C、结构化程序分析D、确定逻辑模型
12:
A、数据流图B、判定表C、PAD图D、数据词典
13:
A、要让软件做什么B、要给该软件提供哪些信息
C、要求软件工作效率如何D、要让软件具有什么样的结构
14:
A、对重要功能的描述B、对算法的详细过程性描述
C、软件确认准则D、软件的性能
15:
A、软件设计的依据B、用户和开发人员对软件要“做什么”的共同理解
C、软件验收的依据D、软件可行性分析的依据
5) 块间联系和块内联系是评价程序模块结构质量的重要标准。
联系的方式、共用信息的数量和接口(16)等因素决定了块间联系的大小。
在块内联系中,(17)的块内联系最强。
SD方法的总原则是使每个模块执行(18)功能,模块间的传送(19)参数,模块通过(20)语句调用其他模块,而且模块间传送的参数应尽量(21)。
此外,SD方法还提出了判定的作用范围和模块的控制范围等概念。
SD方法认为,(22)应该是(23)的子集。
供选择的答案:
16:
A、友好性B、健壮性C、简单性D、安全性
17:
A、巧合内聚B、功能内聚C、通信内聚D、信息内聚
18:
A、一个B、多个
19:
A、数据型B、控制型C、混合型
20:
A、直接引用B、标准调用C、中断D、宏调用
21:
A、少B、多
22、23:
A、作用范围B、控制范围
6) 下述有关模块独立性的各种模块内聚,是按其内聚强度(24)排列起来。
功能内聚→信息内聚→通信内聚→过程内聚→时间内聚→逻辑内聚→巧合内聚
供选择的答案:
24:
A、从低到高B、从高到低C、无序
7) 集成测试也叫做(25)或(26).通常,在(27)的基础上,将所有模块按照设计要求组装成为系统.子系统的集成测试特别称为(28),它所做的工作是要找出子系统和系统需求规格说明之间的(29).需要考虑的问题是在把各个模块连接起来的时候,穿越模块接口的数据是否会(30);一个模块的功能是否会对另一个模块的功能产生不利的影响;各个(31)组合起来,能否达到预期要求的(32);(33)是否有问题;单个模块的误差累积起来是否会放大。
供选择的答案:
25~28:
A、单元测试 B、部件测试 C、组装测试
D、系统测试 E、确认测试 F、联合测试
29~33:
A、子功能 B、丢失 C、父功能 D、局部数据结构
E、全局数据结构 F、不一致 G、一致
8) 程序的3种基本控制结构是(34)(35)(36).它们的共同点是(37).结构化程序设计的一种基本方法是(38).软件测试的目的是(39).软件调试的目的是(40).
供选择的答案:
34~36:
:
A、过程B、顺序C、条件D、子程序
E、循环 F、递归G、堆栈 H、调用
37:
A、不能嵌套使用 B、只能用来写简单的程序
C、已经用硬件实现 D、只有一个入口和一个出口
38:
A、筛选法 B、递归法 C、归纳法 D、逐步求精法
39:
A、证明程序中没有错误 B、发现程序中的错误
C、测量程序的动态特性 D、检查程序中的语法错误
40:
A、找出错误所在并改正之 B、排除存在错误的可能性
C、统计出错的次数
答题:
1______2______3______4______5______6______7______8______9______10______
11_____12_____13_____14_____15_____16_____17_____18_____19_____20______
21_____22_____23_____24_____25_____26_____27______28_____29_____30______
31______32______33____34_____35_____36_____37______38____39_____40______
二、判断下列说法的对错(20分,每小题2分)
1.()软件工程的概念是1968年在NASA的一次会议上提出来的。
2.()增量模型属于演化软件过程模型。
3.()可行性研究活动是一次简化的分析与设计过程。
4.()开发软件时,对于提高软件开发人员工作效率至关重要的是开发程序人员的数量。
5.()模块越小,模块化的优点越明显。
一般来说,模块的大小都在10行以下。
6.()在编制程序时,首先应该对程序的结构充分考虑,不要急于开始编码,而要像写软件文档那样,很好地琢磨程序具有什么样的功能,这些功能如何安排,等等。
7.()软件开发的主要任务是写程序。
8.()在进行总体设计时应加强模块联系。
9.()尽量用公共过程或子程序去代替重复的代码段。
10.()模块间的单向调用关系叫做模块的层次结构。
三、问答题(40分,每小题5分)
1.软件危机的表现有哪些?
2.建立数据流模型的原则是什么?
3.耦合性和内聚性有几种类型?
其耦合度、内聚强度的顺序如何?
4.什么是对象模型?
如何表示?
5.面向对象设计有哪五个层次?
那四个部分?
6.OO软件的单元测试,集成测试及确认测试与系统测试的主要任务是什么?
7.可行性研究主要注意哪些方面?
各个方面的任务是什么?
8.软件需求规格说明书一般由哪几部分构成?
各部分的作用分别是什么?
复习题二
一、选择填空题(每空1分,共40分)(注:
答案写在本题后的答题处)
1) 软件的集成测试工作最好由
(1)承担,以提高集成测试的效果.
供选择的答案:
1:
A、该软件的设计人员 B、该软件开发组的负责人
C、该软件的编程人员 D、不属于该软件开发组的软件设计人员
2) 面向对象建模得到的模型包括对象的三个要素:
(2)、(3)和(4)。
供选择的答案:
2~4:
A、数据模型B、功能模型C、行为模型D、信息模型原型
E、动态模型F、对象模型G、逻辑模型H、控制模型I、仿真模型
3) 开发软件时,对于提高软件开发人员工作效率至关重要的是(5)。
软件工程中描述软件生存周期的瀑布模型一般包括问题定义、可行性研究、(6)、设计、编码、测试、维护等几个阶段。
其中,设计阶段在管理上又可以分成(7)和(8)两个步骤。
供选择的答案:
5:
A、程序开发环境B、操作系统的资源管理功能
C、开发程序人员的数量D、计算机的并行处理能力
6:
A、需求分析B、需求调查C、可行性分析D、问题定义
7、8:
A、方案设计B、代码设计C、概要设计D、数据设计
E、运行设计F、详细设计G、故障处理设计H、软件体系结构设计
4) 常见的软件概要设计方法有3大类:
以数据流图为基础构造模块结构的(9),以数据结构为基础构造模块的(10)。
以对象、类、继承和通信为基础的(11)
供选择的答案:
9~11:
A、Jackson方法和LCP(Wanier)逻辑构造方法B、结构化设计方法(SD)
C、面向对象设计方法(OOD)D、快速原型法
5) 在众多的设计方法中,SD方法是最受人注意的,也是最广泛应用的一种,这种方法可以同分析阶段的(12)方法及编程阶段的(13)方法前后衔接,SD方法考虑如何建立一个结构良好的程序结构,它提出了评价模块结构质量的两个具体标准——块内联系和块间联系。
SD方法的最终目标是(14),用于表示模块间调用关系的图叫(15)。
供选择的答案:
12、13:
A、JacksonB、SA(结构化分析)C、SCD、ParnasE、SP
14:
A、块间联系大、块内联系大B、块间联系大、块内联系小
C、块间联系小、块内联系大D、块间联系小、块内联系小
15:
A、PADB、HCPC、SCD、SADTE、HIPOF、NS
6) 软件设计中划分程序模块通常遵循的原则是使各模块间的耦合尽可能(16)。
3种可能的模块耦合是:
(17),例如,一个模块直接引用另一个模块中的数据。
(18),例如,一个模块把开关量作为参数传送给另一个模块。
(19),例如,一个模块通过公共数据结构把数据传送给另一个模块。
其中,(20)的耦合性最强。
供选择的答案:
16:
A、强B、适中C、弱
17~20:
A、公共耦合B、数据耦合C、逻辑耦合
D、外部耦合E、内容耦合F、控制耦合
7) 为高质量地开发软件项目,在软件结构设计时必须遵循(21)的原则,(22)建立软件系统的模块结构。
并且应根据(23)评价系统模块划分的质量。
此外在模块设计时,应从5种基本的(24)出发,利用它们组合成一个模块的程序块结构。
要求每个(25)的结构时单入口和单出口。
供选择的答案:
21:
A、质量控制B、程序优化C、信息屏蔽D、数据共享E、模块通信
22:
A、自底向上B、自顶向下C、衍变的自顶向下D、随机E、回归
23:
A、数据独立性B、程序独立性C、模块独立性
D、可修改性E、可理解性
24:
A、数据结构B、处理结构C、功能结构D、成分E、控制结构
25:
A、程序块B、公共块C、数据块D、记录块E、通信块
8) 软件详细设计工具可分为3类,即图示工具、设计语言和表格工具,图示工具中,(26)简单而应用广泛。
(27)表示法中,每个处理过程用一个盒子表示,盒子可以嵌套。
(28)可以纵横延伸,图形的空间效果好。
(2)是一种设计和描述程序的语言,它是一种面向(30)的语言。
供选择的答案:
26~28:
A、NS图B、流程图C、HIPO图D、PAD图
29:
A、CB、