资源描述
软件工程练习题
一、填空题
1. 软件生存周期普通可以划分为,问题定义、可行性研究、需求分析 、设计、编码、测试和运营与维护。
2. 可行性研究,应从经济可行性、技术可行性、运营可行性、法律可行性等方面研究。
3. 数据流图四种基本成分:数据输入源点和数据输出汇点、加工、
数据流 和 数据存储文献。
4. 构造化分析办法是面向_数据流 进行需求分析办法。
5. 构造化分析办法使用 数据流图DFD 与 数据字典DD来描述。
6. 软件详细设计重要任务是算法描述和数据构造设计。
7.为了在软件开发过程中保证软件质量,重要采用下述办法:审查_、复查和管理复审、测试。
8. 大型软件测试涉及 单元测试 、集成测试 、确认测试和 系统测试 四个环节。
9. 在软件开发过程中要产生大量信息,要进行大量修改,软件配备管理 能协调软件开发,并使混乱减到最低限度.
10.McCall提出软件质量模型涉及__13_个软件质量特性。
11.软件可维护性度量七个质量特性是可理解性、可测试性、可修改性、可靠性、可移植性 、 可使用性和效率。
12. 为了便于对照检查,测试用例应由输入数据和预期输出成果两某些构成。
13. 软件构造是以模块为基本而构成一种控制层次构造。
14. 在构造化分析中,用于描述加工逻辑重要工具备三种,即:构造化语言、鉴定表、鉴定树。
15. 构造化语言是介于自然语言和形式语言 之间一种半形式语言。
16.系统流程图是描述物理模型老式工具,用图形符号表达系统中各个元素表达了系统中各种元素之间信息流动 状况。
17.CASE技术是软件工具和软件开发办法结合。
18.数据字典有四类条目,分别是数据流、数据项、数据存储和基本加工。
19.各种软件系统数据流图普通可分为变换型和事务型两类。
20. 软件可维护性可用七种质量特性来衡量,分别是可理解性、可测试性、可修改性、可靠性、可移植性、可使用性和效率。
21. 面向对象分析中,动态模型使用状态图_作为描述工具,该图反映了状态与事件关系。
22.计算机程序及其阐明程序各种文档称为_软件。
23.面向对象分析办法是一种面向_对象 开发办法。
24.成本——效益分析目是从_ _ 角度评价开发一种新软件项目与否可行。
25.确认测试可以发现软件系统与否符合顾客经济_规定。
26.在算法描述工具中,PAD _是一种由左往右展开二维树型构造。
27.随着软硬件环境变化而修改软件维护活动称为适应性维护。
28. 面向对象办法是一种运用对象、类、继承、封装_、聚合、消息、多态性等概念来构造系统软件开发办法。其中,继承机制实现了子类自动地共享父类中定义数据和办法。
29.软件总体设计(概要设计)基本任务是设计初步软件构造图 ,它直接影响下一阶段详细设计和编码工作。
30.软件工程办法学涉及三个要素:办法、工具和过程。
31.一种程序员在编写程序时所体现出来特点、习惯、逻辑思路等就构成了这个程序员编程风格 。
32.软件开发是一种自顶向下逐渐细化和求精过程,而软件测试是一种由单元测试到集成测试,再到确认测试逐渐集成过程。
33.瀑布模型是以文档为驱动、适合于需求固定软件项目模型。
34.在进行软件项目人员组织上,当前比较流行组织机构重要有民主组织机构、主程序员组织构造 和当代程序员组。其中,在民主组织机构中如果一种小组有n个成员,则也许通信信道有n(n-1)/2条。
35. 需求分析最后成果是产生(需求规格阐明书 )
36. 软件详细设计重要任务是拟定每个模块( 算法和使用数据构造 )。
37. IPO图由输入、解决和输出三个框构成。这个图特点是可以直观显示三者之间关系。
38. 将下面关系按继承关系、汇集关系或普通关联进行分类。
小汽车-----红旗轿车 (继承) 小汽车------驾驶员( 普通关联)班级---------学生(汇集)
39. 将下列各项分为类或类实例
我汽车 ( 实例 ) 交通工具 (类 )
40.软件工程研究重要内容是软件开发技术和_软件工程管理_两个方面。
二、单项选取题
1.软件设计中划分模块一种准则是( C )。
A. 低内聚低耦合 B.低内聚高耦合 C.高内聚低耦合 D.高内聚高耦合
2. Jackson设计办法是由英国M. Jackson提出,它是一种面向( C )软件设计办法。
A.对象 B.数据流 C.数据构造 D.控制构造
3. 试判断下列论述中,哪 个(些)是对的( C )。
a、软件系统中所有信息流都可以以为是事务流
b、软件系统中所有信息流都可以以为是变换流
c、事务分析和变换分析设计环节是基本相似
A、a B、b C、c D、b和c
4.( A )是顾客和设计互换最频繁办法。
A、原型化办法 B、瀑布模型办法C、螺旋模型办法 D、构件组装模型
5. 软件工程办法学目是:使软件生产规范化和工程化,而软件工程办法得以实行重要保证是( C )。
A、硬件环境 B、软件开发环境
C、软件开发工具和软件开发环境 D、开发人员素质
6. 20世纪50年代以来,浮现了许多不同程序设计语言,下列语言中哪个语言是低档语言( D )。
A、PASCAL B、VISUAL BASIC C、C++ D、汇编语言
7. 软件测试目是?( D )
A、证明软件对的性 B、找出软件系统中存在所有错误
C、证明软件系统中存在错误 D、尽量多发现软件系统中错误
8. 使用白盒测试办法时,拟定测试数据应依照( A )和指定覆盖原则。
A、程序内部逻辑 B、程序复杂限度
C、该软件编辑人员 D、程序功能
9. 软件维护工作最重要某些是( C )。
A、校正性维护 B、适应性维护 C、完善性维护 D、防止性维护
10、PDL是( B )语言。
A、高档程序设计语言 B、伪码式 C、中级程序设计语言 D、低档程序设计语言
11. 数据字典定义数据流或数据存储构成时,使用了若干符号,其中{…}表达含义是(D )
A.可选 B.与 C.或 D.重复
12.可行性研究是在( A )之前
A、系统开发 B、测试 C、试运营 D、集成测试
13.构造化办法是一种基于( D )办法。
A.数据构造 B.程序构造 C.算法 D.数据流
14.软件可行性研究实质上是要进行一次( A )需求分析、设计过程。
A、简化、压缩 B、详细 C、彻底 D、进一步
15.可行性研究目是( D )
A、分析开发系统必要性 B、拟定系统建设方案
C、分析系统风险 D、拟定与否值得开发系统
16.需求规格阐明书作用不涉及( C )
A、软件验收根据 B、顾客与开发人员对软件要做什么共同理解
C、软件可行性研究根据 D、软件设计根据
17.数据字典是用来定义( D )中各个成分详细含义。
A、程序流程图B、功能构造图 C、系统构造图D、数据流程图
18.数据流程图是( A )办法中用于表达系统逻辑模型一种图形工具。
A、SA B、SD C、SP D、SC
19. DFD中每个加工至少有( A )。
A、一种输入流或一种输出流 B、一种输入流和一种输出流
C、一种输入流 D、一种输出流
20.需求分析阶段核心任务是拟定( D )
A、软件开发办法 B、软件开发工具C、软件开发费D、软件系统功能
21.在SD办法中全面指引模块划分最重要原则是(D )。
A、程序模块化B、模块高内聚C、模块低耦合D、模块独立性
22.模块耦合性可以按照耦合限度高低进行排序,如下哪一项符合从低到高对的顺序( D )。
A、数据构造耦合,公共耦合,控制耦合,内容耦合
B、数据耦合,控制耦合,数据构造耦合,公共耦合
C、无直接耦合,数据构造耦合,内容耦合,控制耦合
D、无直接耦合,数据耦合,控制耦合,内容耦合
23.PDL(过程设计语言)是描述解决过程( C )
A、做什么B、为什么做 C、怎么做D、对谁做
24.( D )工具在软件详细设计过程中不采用。
A、鉴定表 B、IPO图 C、PDL D、DFD图
25.为高质量地开发软件项目,在软件构造设计时,必要遵循( A )原则。
A.信息隐蔽 B、质量控制 C、程序优化D、数据共享
26.当一种模块直接使用另一种模块内部数据,这种模块之间耦合为( D )
A、数据耦合B、公共耦合C、标记耦合D、内容耦合
27.下列几种类型中,耦合性最弱是( D )。
A、内容型B、控制型C、公共型D、数据型
28.软件构造使用图形工具,普通采用( C )图。
A、DFD B、PAD C、SC D、ER
29.在七种偶合中,最低偶合是( D )。
A、内容偶合B、公共偶合C、数据偶合D、非直接偶合
30.构造化程序设计,重要强调是( C )
A.程序执行效率 B.模块内聚 C.程序可理解性 D.模块耦合
31.基线可作为软件生存期中各开发阶段一种检查点。当采用基线发生错误时,可以返回到近来和最恰当( C )上。
A.配备项 B.程序 C.基线 D.过程
32.在软件设计中应当保持模块独立性原则,( A )反映模块独立性。
A.耦合和内聚 B.数据和模块 C. 模块内部凝聚力 D.模块之间耦合
33.如下四种逻辑覆盖中,发现错误能力最弱是( A )
A.语句覆盖 B.条件覆盖C.鉴定覆盖 D.条件组合覆盖
34.软件工程领域中,与确认测试关于软件开发阶段是( D )
A.编码 B.详细设计C.概要设计 D.需求分析
35.为了使软件适应环境变换而修改软件维护活动称为( B )
A.校正性维护 B.适应性维护C.完善性维护 D.防止性维护
36.McCall质量度量模型中,与“顾客熟悉、使用及准备输入和解释输出所需工作量大小”所相应软件质量特性是( D )
A.对的性 B.完整性C.可靠性 D.可用性
37. 软件生存周期中,精确地拟定软件系统必要做什么阶段是( B )
A.可行性分析和项目开发筹划 B.需求分析 C.概要设计 D.详细设计
38. 把瀑布模型和专家系统结合在一起软件生存周期模型是( B )
A.增量模型 B.基于知识模型 C.螺旋模型 D.喷泉模型
39. 如下不属于项目开发筹划重要内容是( C )
A.实行筹划 B.交付期限 C.测试用例 D.人员组织及分工
40. 使用数据流图来表达系统逻辑模型是( D )
A.Jackson B.VDM C.OOA D.SA
41. 用于描述构造化分析中数据流加工逻辑是( A )
A.鉴定树 B.ER图 C.状态图 D.用例图
42.若一种模块中各个解决元素都密切有关于同一功能且必要顺序执行,前一功能元素输出就是下一功能元素输入,则该模块内聚性类型是( C )
A.时间内聚 B.偶尔内聚 C.顺序内聚 D.功能内聚
43.下列几种耦合类型,耦合性最高是( A )
A.公共耦合 B.控制耦合 C.标记耦合 D.数据耦合
44.确认测试也称为( A )
A.有效性测试 B.无效性测试 C.静态测试 D.动态测试
45.黑盒测试技术不涉及( B )
A.等价类划分 B.途径覆盖 C.边界值分析 D.错误推测
46.为每个模块完毕功能进行详细描述,把功能描述转变为精准、构造化过程描述阶段是( B )
A.概要设计 B.详细设计 C.编码 D.测试
47.软件开发环境是支持软件整个生存周期各阶段或某些阶段有关一组( D )
A.软件模型 B.软件过程 C.软件工程 D.软件工具
48.从构造化瀑布模型看,在软件生存周期几种阶段中,对软件影响最大是( C )
A.详细设计阶段 B.概要设计阶段 C.需求分析阶段 D.测试和运营阶段
49.数据字典是软件需求分析阶段所采用最重要工具之一,其最基本功能是( A)
A.数据定义 B.数据通讯 C.数据库设计 D.数据维护
50.软件构造化设计中,好软件构造应当力求做到( B )
A.顶层扇出较少,中间扇出较高,底层模块低扇入
B.顶层扇出较高,中间扇出较少,底层模块高扇入
C.顶层扇入较少,中间扇出较高,底层模块高扇入
D.顶层扇入较少,中间扇入较高,底层模块低扇入
51.两个模块都使用同一张数据表,模块间这种耦合称为( A )
A.公共耦合 B.内容耦合 C.数据耦合 D.控制耦合
52.与软件开发需求分析、设计及编码阶段相相应软件测试环节是( D )
A.组装测试、确认测试、单元测试 B.单元测试、组装测试、确认测试
C.单元测试、确认测试、组装测试 D.确认测试、组装测试、单元测试
53.软件维护产生副作用是指( C )
A.开发时错误 B.隐含错误C.因修改软件而导致错误 D.运营时误操作
54.面向对象建模得到三个模型,其中核心模型是( A )
A.对象模型 B.功能模型 C.逻辑模型 D.动态模型
55.原型化办法是顾客和设计者之间执行一种交互构成,合用于___A___系统。
A.需求不拟定性高 B.需求拟定 C.管理信息 D.实时
56.原型化办法是一种___A____型设计过程。
A.自外向内 B.自顶向下 C.自内向外 D.自底向上
57.为了提高测试效率,应当(D )
A.随机地选用测试数据 B.取一切也许输入数据作为测试数据
C.在完毕编码后来制定软件测试筹划
D.选取发现错误也许性大数据作为测试数据
58.数据流图中,当数据流向或流自文献时,(B )。
A、数据流要命名,文献不必命名 B、数据流不必命名,有文献名就足够了
C、数据流和文献均要命名,由于流出和流进数据流是不同
D、数据流和文献均不用命名,通过加工可自然反映出
59.数据流图(DFD)是用于描述构造化办法中( B)工作阶段工具。
A、可行性分析B、需求分析C、详细设计D、程序编码
60.数据流图是用于软件需求分析工具,下列元素( A )
Ⅰ.数据流 Ⅱ.加工Ⅲ.数据存储 Ⅳ.外部实体
A、Ⅰ,Ⅱ和Ⅲ B、Ⅰ和Ⅱ C、Ⅰ,Ⅲ和Ⅳ D、所有
三、判断题
1. 用黑盒法测试时,测试用例是依照程序内部逻辑设计。( × )
2.软件开发重要任务是编写程序。 (× )
3.模块化程序设计中,模块越小,模块化长处越明显。普通来说,模块大小都在10行如下。( × )
4.在编制程序时,一方面应当对程序构造充分考虑,不要急于开始编码,而要像写软件文档那样,较好地揣摩程序具备什么样功能,这些功能如何安排,等等。( √ )
5.软件生存周期是从软件开始开发到开发结束整个时期。(× )
6.系统流程图是一种典型描述逻辑系统老式工具。(× )
7.数据流图和数据字典共同构成系统逻辑模型。( √ )
8.扇出是一种模块直接调用模块数目,普通推荐扇出为3或4。( √ )
9.耦合用于衡量一种模块内部各个元素彼此结合紧密限度。(×)
10.程序运营过程中浮现错误叫做容错。 (× )
11.软件测试目是证明程序没有错误。 (× )
12.白盒测试法是将程序当作一种透明盒子,不需要理解程序内部构造和解决过程。( × )
13.软件质量好坏重要由验收人员负责,其她开发人员不必关怀。(× )
14.鉴定覆盖不一定包括条件覆盖,条件覆盖也不一定包括鉴定覆盖。(√ )
15.软件测试目是为了无一漏掉找出所有错误。 ( × )
16.软件概要设计涉及软件系统构造设计以及数据构造和数据库设计。(√ )
17.确认测试筹划应当在可行性研究阶段制定(× )
18.顾客需求经常是变化,由于软件是灵活,因此总可以满足顾客需求。(× )
四、简答题
1.什么是软件工程办法学?
2.耦合性和内聚性定义、类型?
3.黑盒测试法和白盒测试法定义?
4.软件生命期各阶段任务是什么?
5.什么是构造化办法?
6.什么是数据流图?其作用是什么?
7.可行性研究任务是什么?
8.详细设计任务是什么?描述详细设计工具备哪些?
9.什么是变换流?什么是事务流?
10.什么是需求分析?需求分析阶段基本任务是什么?
五、应用题
1. 纯熟掌握数据流图知识。
1)下图描述是某单位商品订单解决系统,在这个系统中,描述了货品在各个过程之间是如何流动,同步描述了其中数据存储(订单文献和预算文献)。请你完善订单系统数据流图。
答:
2)假设一家工厂采购部每天需要一张定货报表,报表按零件编号排序,表中列出所有需要再次定货零件。对于每个需要再次定货零件应当列出下述数据:零件编号,零件名称,定货数量,当前价格,重要供应者,次要供应者。零件入库或出库称为事务,通过放在仓库中CRT终端把事务报告给定货系统。当某种零件库存数量少于库存量临界值时就应当再次定货。规定:画出系统数据流图。
解答:
2. 纯熟掌握判断树和判断表画法
某航空公司规定,乘客可以免费托运重量不超过30kg行李。当行李重量超过30kg时,对头等舱国内乘客超重某些每公斤收费4元,对其她舱国内乘客超重某些每公斤收费6元,对外国乘客超重某些每公斤收费比国内乘客多一倍,对残疾乘客超重某些每公斤收费比正常乘客少一半。用鉴定树表达与上述每种条件组合相相应计算行李费算法.
解答:
3. 掌握等价类划分法测试用例设计
依照下列条件使用等价类划分法设计测试用例。
某一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
4. 依照逻辑覆盖鉴定规格,设计测试用例
依照下列程序流程图,设计不超过2组测试用例,使之满足语句覆盖,规定给出每组测试数据执行途径、输入值、输出值及两个鉴定(3)和(5)鉴定成果。
解答: 第一组语句覆盖测试数据: A=9 B=5 C=0
途径path1:1——2——3——4——5——7——8
(3)鉴定成果为真 (5)鉴定成果为假
第二组语句覆盖测试数据: A=21 b=1 C=0
途径:path2:1——2——3——5——6——7——8
(3)鉴定成果为假 (5)鉴定成果为真
5. 掌握N-S图和PAD图含义及画法
将下列伪码表达为N-S图和PAD图
void root ( float root1,float root2 ) {
i = 1; j = 0;
while ( i <= 10 ) {
输入一元二次方程系数a,b,c;
p = b*b – 4*a*c;
if ( p < 0 ) 输出“方程i无实数根”;
else if ( p > 0 ) 求出根并输出;
if ( p == 0 ) { 求出重根并输出;
j = j + 1;
}
i = i +1;
}
输出重根方程个数j;
}
【解答】
(1)N-S图
i = 1;j = 0;
while ( i <= 10 )
输入a,b,c;计算 p = b2 - 4ac;
p < 0 ?
输出“方程i”无实根
求出根并输出
â
p > 0 ?
p == 0 ?
求出重根并输出;j = j + 1;
â
i = i + 1;
输出重根方程个数i
T
T
T
F
F
F
(2)PAD图
i = 1;j = 0;
输出重根方程个数i
while ( i <= 10 )
输入a,b,c;计算 p = b2–4ac;
求出根并输出
p > 0 ?
p < 0 ?
输出方程i无实根
p = 0 ?
求出重根并输出;j = j+1;
i = i + 1;
展开阅读全文