软件工程复习.docx
《软件工程复习.docx》由会员分享,可在线阅读,更多相关《软件工程复习.docx(14页珍藏版)》请在冰豆网上搜索。
软件工程复习
H计0418
软件工程复习
一、单项选择题(在每小题的四个备选答案中,选出一个正确答案,并将正确答案的序号填在题干的括号内。
1开发软件所需高成本和产品的低质量之间有着尖锐的矛盾,这种现象称做( C )
A软件工程B软件周期
C软件危机D软件产生
2总体设计阶段确定了( A )
A 系统的具体实现方案B 系统的逻辑模型
C 程序每个模块的处理过程 D 系统的数据要求
3在McCall软件质量度量模型中,( C )属于面向软件产品修改。
A可靠性B可重用性C适应性D可移植性
4模块的内聚性最高的是( D )
A逻辑内聚B时间内聚
C偶然内聚D功能内聚
5影响软件可维护性的决定因素是( A )
A 文档B 可理解性C 可测试性D 可修改性
6对象实现了数据和操作的结合,使数据和操作( C )于对象的统一体中。
A结合B隐藏C封装D抽象
7下列关于JSP方法不正确的说法是( D )
AJSP方法主要用于规模不大的数据处理系统
BJSP方法不明确的划分软件概要设计和详细设计的两个阶段
CJSP方法适用于输入数据和输出数据之间有对应关系的问题求解
DJSP方法根据输入、输出的数据结构,按一定的规则映射成软件的体系结构。
因此它只适用于详细设计阶段
8系统流程图是用来( D )
A 描绘程序结构的B 描绘系统的逻辑模型
C 表示信息层次结构的图形工具D 描绘物理系统的
9软件测试方法中的静态测试方法之一为( A )
A计算机辅助静态分析B黑盒法
C路径覆盖D边界值分析
10若有一个计算类型的程序,它的输入量只有一个X,其范围是[-1.0,1.0],现从输入的角度考虑一组测试用例:
-1.001,-1.0,1.0,1.001。
设计这组测试用例的方法是( C )
A条件覆盖法B等价分类法
C边界值分析法D错误推测法
11.可行性研究实质上是进行了一次( C )
A 大大压缩简化了的系统分析和设计过程 B 详尽的系统分析和设计过程
C 彻底的系统设计过程D 深入的需求分析
12程序的三种基本控制结构是( B )
A过程、子程序和分程序B顺序、选择和重复
C递归、堆栈和队列D调用、返回和转移
13因计算机硬件和软件环境的变化而作出的修改软件的过程称为( B )
A教正性维护B适应性维护
C完善性维护D预防性维护
14软件开发和维护过程中出现的一系列严重问题称为( D )
A 软件工程 B 软件开发 C 软件周期 D 软件危机
15需求分析中开发人员要从用户那里了解( A )
A软件做什么B用户使用界面C输入的信息D软件的规模
16在屏蔽硬件错误的冗错技术中,冗余附加技术有( D )
A三模冗余B信息冗余
C冗余备份程序的存储及调用D关键程序和数据的冗余存储和调用
17通常发现系统需求说明书中的错误的测试步骤是( C )
A 模块测试 B 子系统测试 C 验收测试D 平行运行
18经济可行性研究的范围包括( C )
A资源有效性B管理制度C效益分析D开发风险
19采用Gantt图表示软件项目进度安排,下列说法中正确的是( D )
A能够反映多个任务之间的复杂关系
B能够直观表示任务之间相互依赖制约关系
C能够表示哪些任务是关键任务
D能够表示子任务之间的并行和串行关系
20.维护活动必须应用于( B )
A 软件文档 B 整个软件配置 C 可执行代码D 数据
21.总体设计阶段确定了( A )
A系统的具体实现方案B 系统的逻辑模型
C 程序每个模块的处理过程 D 系统的数据要求
22.Putnam成本估算模型是一个( D )模型。
A静态单变量B动态单变量C静态多变量D动态多变量
23.IDEF0图不反映出系统( B )
A系统做什么B系统功能如何实现
C系统由谁来做D系统实现的约束条件
24.设计测试方案最困难的问题是( D )
A 确定要测试的功能B 确定预期的正确输出
C 确定要测试的对象D 设计测试用例
25.软件复杂性度量的参数包括( B )
A效率B规模C完整性D容错性
26.软件详细设计主要采用的方法是( D )
A模块设计B结构化设计CPDL语言D结构化程序设计
27.需求分析的任务是( B )
A 确定系统怎样完成工作B 确定系统必须完成哪些工作
C 研究系统的软件结构D 确定软件开发费用
28.瀑布模型的存在问题是( B )
A用户容易参与开发B缺乏灵活性
C用户与开发者易沟通D适用可变需求
29.黑盒测试在设计测试用例时,主要需要研究( A )
A需求规格说明与概要设计说明B详细设计说明
C项目开发计划D概要设计说明与详细设计说明
30.ER模型中的基本成分不包含( D )
A 实体B 联系C 属性D 处理
31.第一个体现结构化编程思想的程序设计语言是( B )
AFORTRAN语言BPascal语言CC语言DPL/1语言
32.快速原型模型的主要特点之一是( D )
A开发完毕才见到产品B及早提供全部完整的软件产品
C开发完毕后才见到工作软件D及早提供工作软件
33.白盒测试主要用于测试( A )
A 程序的内部逻辑B 程序的正确性
C 程序的外部功能D结构合理性
34.详细设计的结果基本决定了最终程序的( C )
A代码的规模B运行速度C质量D可维护性
35.只有单重继承的类层次结构是( C )层次结构。
A网状型B星型C树型D环型
36.COCOMO模型可用来( B )
A 度量程序复杂程度B 计算软件开发成本
C 估计程序的故障总数 D 估计软件开发所需时间
37.IDEF。
图反映系统( D )
A怎么做B对谁做C何时做D做什么
38.下列文档与维护人员有关的有( C )
A软件需求说明书B项目开发计划
C概要设计说明书D操作手册
39.根据程序流程图划分的模块通常是( D )
A 时间内聚的 B 逻辑内聚的
C 顺序内聚的 D 过程内聚的
40.需求分析阶段的任务是确定(D)
A 软件开发方法B软件开发工具
C软件开发费D软件系统的功能
二、填空题
21.瀑布模型是以文档为驱动、适合于软件需求明确的软件项目的模型。
22.纯收入是指在整个生存周期之内的累计经济效益(折合成现在值)与投资之差。
23.数据项是指不可再分解的数据单元。
24.软件概要设计的主要任务就是软件结构的设计。
25.结构化程序设计方法是使用三种基本控制结构构造程序。
26.程序设计语言的心理特性主要表现在歧义性、简洁性、传统性、局部性和顺序性。
27.软件结构是以模块为基础而组成的一种控制层次结构。
28.在结构化分析中,用于描述加工逻辑的主要工具有三种,即:
结构化语言、判定表、判定树。
29.结构化语言是介于自然语言和形式语言之间的一种半形式语言。
30.若年利率为i,不计复利,n年后可得钱数为F,则现在的价值P=F/(1+(n*i))。
21.在软件开发过程中要产生大量的信息,要进行大量的修改,软件配置管理能协调软件开发,并使混乱减到最低程度。
22.规定功能的软件,在一定程度上对自身错误的作用(软件错误)具有屏蔽能力,则称此软件具有容错功能的软件。
23.McCall提出的软件质量模型包括11个软件质量特性。
24.软件可维护性度量的七个质量特性是可理解性、可测试性、可修改性、可靠性、可移植性、可使用性和效率。
25.为了便于对照检查,测试用例应由输入数据和预期的输出结果两部分组成。
26.软件开发是一个自顶向下逐步细化和求精过程,而软件测试是一个自底向上或相反顺序集成的过程。
27.软件维护的内容包括校正性维持,适应性维护、完善性维护和预防性维护。
28.CASE工具的平台集成指工具运行在相同的硬件/操作系统平台上。
29.在建立对象的功能模型时,使用的数据流图中包含有处理、数据流、动作对象和数据存储对象。
30.将开发项目与一个或多个已完成的类似项目进行比较,找出与某个相类似项目的若干不同之处,并估算每个不同之处对成本的影响,得出开发项目的总成本。
这种成本估算方法称为差别估算法。
二、名词解释题
31.数据流图数据流图描绘系统的逻辑模型,图中没有任何具体的物理元素,只是描绘信息在系统中流动和处理的情况。
32.信息隐信息隐蔽是指在设计和确定模块时,使得一个模块内包含的信息(过程或数据),对于不需要这些信息的其他模块来说是不能访问的。
33.内聚性内聚性是模块独立性的衡量标准之一,它是指模块的功能强度的度量,即一个模块内部各个元素彼此结合的紧密程度的度量。
34.集成测试集成测试也称组装测试或联合测试。
是指在单元测试的基础上,将所有模块按照设计要求组装成一个完整的系统进行的测试。
组装模块的方式有两种:
渐增式测试和非渐增式测试。
35.CASECASE是一组工具和方法的集合,可以辅助软件开发生命周期各阶段进行软件开发。
CASE把软件开发技术、软件工具和软件开发方法集成到一个统一而一致的框架中,并且吸收了CAD(计算机辅助设计)、软件工程、操作系统、数据库、网络和许多其他计算机领域的原理和技术。
因而,CASE领域是一个应用、继承和综合的领域。
31.数据字典(DD)
数据字典是用来定义数据流图中的各个成分的具体含义的。
它以一种准确的、无二义性的说明方式为系统的分析、设计及维护提供了有关元素的一致的定义和详细的描述。
32.多态性
多态性是指相同的操作或函数、过程可作用于多种类型的对象上并获得不同结果。
不同的对象,收到同一消息可以产生不同的结果,这种现象称为多态性。
33.JSP方法
JSP方法是面向数据结构的设计方法,其定义了一组以数据结构为指导的映射过程,它根据输入,输出的数据结构,按一定的规则映射成软件的过程描述,即程序结构。
34.适应性维护
适应性维护也就是为了和变化了的环境适当地配合而进行的修改软件的活动,是既必要又经常的维护活动。
35.SA
.结构化分析方法是需求分析中使用最多的方法之一,适用于数据处理类型软件的需求分析。
基本思想是采用自顶向下,逐步分解的方法分析整个系统,有效地控制系统开发的复杂性。
四、简答题
36.简述软件工程目标和面临的主要问题。
软件工程是一门工程性的学科,其目标主要是成功地建造一个大型软件系统。
包括:
付出较低的开发成本;达到要求的软件功能;取得较好的软件性能;开发的软件易于移植;需要较低的维护费用;能按时完成开发任务,及时交付使用;开发的软件可靠性高。
面临的主要问题是:
软件费用软件可靠性软件维护软件生产率软件重用。
37.Jackson图有哪些优点?
(1)便于表示层次结构,而且是对结构进行自顶向下分解的有力工具;
(2)形象直观可读性好;
(3)既能表示数据结构也能表示程序结构。
38.就程序设计语言的工程特性而言,对程序编码有哪些要求?
(1)可移植性
(2)开发工具的可利用性
(3)软件的可重用性
(4)可维护性
36.需求分析的过程是什么?
(1)沿数据流图回溯;
(2)用户复查;(3)细化数据流图;
(4)修正开发计划; (5)书写文档;(6)审查和复审。
37.简述容错技术的四种主要手段,并解释。
结构冗余:
包括静态冗余、动态冗余和混合冗余。
信息冗余:
为检测或纠正信息在运算或传输中的错误,须外加一部分信息。
时间冗余:
指重复执行指令或程序来消除瞬时错误带来的影响。
冗余附加技术:
指为实现上述冗余技术所需的资源和技术。
38.模块的内聚性包括哪些类型?
模块的内聚性包括:
(1)偶然内聚
(2)逻辑内聚(3)时间内聚(4)通信内聚(5)顺序内聚(6)功能内聚
39.简述提高可维护性的方法。
提高可维护性的方法:
(1)建立明确的软件质量目标
(2)利用先进的软件开发技术和工具
(3)建立明确的质量保证工作
(4)选择可维护的程序设计语言
(5)改进程序文档
39.简述文档在软件工程中的作用。
(1)提高软件开发过程的能见度
(2)提高开发效率
(3)作为开发人员阶段工作成果和结束标志
(4)记录开发过程的有关信息便于使用与维护;
(5)提供软件运行、维护和培训有关资料;
(6)便于用户了解软件功能、性能。
五、应用题
40.根据下列条件使用等价划分法设计测试用例。
某一8位微机,其十六进制常数定义为:
以0x或0X开头的数是十六进制整数,其值的范围是-7f~7f(表示十六进制的大小写字母不加区别),如0X13,0X6A,-0X3c。
解答:
等价划分法
①划分等价类并编号,如下表所示。
十六进制整型常量输入条件的等价类表
输入数据
合理等价类
不合理等价类
十六进制整数
1. 0x或0X开头1~2位数字串
2. 以-0x打头的1~2位数字串
3. 非0x或非-打头的串
4. 含有非数字且(a,b,c,d,e,f)以外字符
5. 多于5个字符
6. -后跟非0的多位串
7. -0后跟数字串
8. -后多于3个数字
十六进制数范围
9.在-7f~7f之间
10.小于-7f
11.大于7f
②为合理等价类设计测试用例,表中有三个合理等价类,设计两个例子
测试数据
期望结果
覆盖范围
0×23
显示有效输入
1,9
-0×15
显示有效输入
2,9
③为每个不合理等价类至少设计一个测试用例
测试数据
期望结果
覆盖范围
2
显示无效输入
3
G12
显示无效输入
4
123311
显示无效输入
5
-1012
显示无效输入
6
-011
显示无效输入
7
-0134
显示无效输入
8
-0x777
显示无效输入
10
0x87
显示无效输入
11
41.某旅馆的电话服务如下:
可以拨分机号和外线号码。
分机号是从7201至7299。
外线号码先拨9,然后是市话号码或长话号码。
长话号码是以区号和市话号码组成。
区号是从100到300中任意的数字串。
市话号码是以局号和分局号组成。
局号可以是455,466,888,552中任意一个号码。
分局号是任意长度为4的数字串。
要求:
写出在数据字典中,电话号码的数据条目的定义(即组成)。
解:
电话号码=分机号|外线号码
分机号=7201...7299
外线号码=9+[市话号码|长话号码]
长话号码=区号+市话号码
区号=100...300
市话号码=局号+分局号
局号=[455|466|888|552]
分局号=4{数字}4
42.下面是某程序的流程图:
(1)计算它的环路复杂性。
(2)为了完成基本路径测试,求它的一组独立的路径。
解:
(1)环路复杂性=判断数+1=6+1=7(个)
(2)路径1:
(0)—①—(13)—(19)
路径2:
(0)—②—③—(14)—(19)
路径3:
(0)—②—④—⑤—(15)—(19)
路径4:
(0)—②—④—⑥—⑦—(16)—(19)
路径5:
(0)—②—④—⑥—⑧—⑨—(17)—(19)
路径6:
(0)—②—④—⑥—⑧—⑩—(18)—(19)
路径7:
(0)—②—④—⑥—⑧—⑩—(12)—(19)
43.某公司为本科以上学历的人重新分配工作,分配原则如下:
(1)如果年龄不满18岁,学历是本科,男性要求报考研究生,女性则担任行政工作;
(2)如果年龄满18岁不满50岁,学历本科,不分男女,任中层领导职务,学历是硕士不分男女,任课题组组长;
(3)如果年龄满50岁,学历本科,男性任科研人员,女性则担任资料员,学历是硕士不分男女,任课题组组长。
要求:
画出分析过程,得出判定表,并进行化简。
解:
(1)判定条件可能取值表:
条件名称
取值
符号
取值数
性别
男
M
M1=2
女
F
年龄
不满18岁
C
M2=3
满18岁小于50岁
Y
超过50岁
L
文化程度
硕士
G
M3=2
本科
U
(2)计算组合数2*3*2=12;
(3)初步判定表
1
2
3
4
5
6
7
8
9
10
11
12
性别
M
M
M
M
M
M
F
F
F
F
F
F
文化程度
G
G
G
U
U
U
G
G
G
U
U
U
年龄
L
Y
C
L
Y
C
L
Y
C
L
Y
C
组长
√
√
√
√
√
√
领导
√
√