电子科技大学《软件工程》自测题答案.docx
《电子科技大学《软件工程》自测题答案.docx》由会员分享,可在线阅读,更多相关《电子科技大学《软件工程》自测题答案.docx(21页珍藏版)》请在冰点文库上搜索。
电子科技大学《软件工程》自测题答案
软件工程自测题一
选择1、()是软件生存期中的一系列相关软件工程活动的集合,它由软件规格说明、软件设计与开发、软件确认、软件改进等活动组成。
A软件过程
B软件工具
C质量保证
D软件工程2、()是以追求更高的效益和效率为目标的持续性活动。
A质量策划
B质量控制
C质量保证
D质量改进3、CMM提供了一个框架,将软件过程改进的进化步骤组织成5个成熟度等级。
除第1级外,每一级都包含了实现这一级目标的若干关键过程域,每一个关键过程域又包含若干()。
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软件测试
(1).()在软件开发的过程中,若能推迟暴露其中的错误,则为修复和改正错误所花费的代价就会降低。
改正:
__
(2).()在需求分析中,分析员要从用户那里解决的最重要的问题是明确软件做什么。
改正:
__
(3).()软件需求规格说明书在软件开发中具有重要的作用,是软件可行性分析的依据。
改正:
__
(4).()模型是对现实的简化,建模是为了更好地理解所开发的系统。
改正:
(5).()UML语言支持面向对象的主要概念,并与具体的开发过程相关。
改正:
(6).()用例图定义了系统的功能需求,它是从系统的外部看系统功能,并不描述系统内部对功能的具体实现。
改正:
__(7).()好的测试用例应能证明软件是正确的。
改正:
(8).()白盒测试仅与程序的内部结构有关,完全可以不考虑程序的功能要求
改正:
(9).()当软件开发项目的进度有可能拖延时,增加开发人员并不能加快进度。
改正:
__
(10).()软件技术复审是由用户和测试人员实施的一种质量保证活动。
改正:
三简答
1、你认为一个好的软件开发人员应具备哪些基本素质?
2、需求工程包括哪些基本活动?
每一项活动的主要任务是什么?
3、为什么软件需要维护?
简述软件维护的过程。
四、根据下面给出的规格说明,利用等价类划分的方法,给出足够的测试用例。
"一个程序读入3个整数,它们分别代表一个三角形的3个边长。
该程序判断所输入的整数是否构成一个三角形,以及该三角形是一般的、等腰的或等边的,并将结果打印出来。
"要求:
设三角形的3条边分别为A、B、C,并且
(1)列出等价类表,格式如下:
输入条件
有效等价类
无效等价类
(注意:
将等价类编号)
(注意:
将等价类编号)
(2)设计测试用例,格式如下:
用例n:
输入【A,B,C】覆盖等价类⋯⋯(列出等价类序号),输出结果为⋯⋯。
五、下图显示了配置管理中的存取和控制,请选择合适的答案,将其对应的序号填入()中。
A(),B(),C(),D()。
供选择的答案:
A:
①软件工程人员②配置人员③质量保证人员
B:
④异步控制⑤同步控制⑥存取控制
C~D:
⑦管理⑧登入⑨检出⑩填写变更请求六、UML关系包括关联、聚合、泛化、实现、依赖等5种类型,请将合适的关系填写在下列描述的()中。
1用例及其协作之间是()关系。
2在学校中,一个学生可以选修多门课程,一门课程可以由多个学生选修,那么学生和课程之间是()关系。
3类A的一个操作调用类B的一个操作,且这两个类之间不存在其他关系,那么类A和类B之间是()关系。
4在MFC类库中,Window类和DialogBox类之间是()关系。
5森林和树木之间是()关系。
.答案
1、a
2、d
3、a
4、c
5、a
6、b
7、c
8、b
二、1、判断下列叙述的正确性,将结果(√正确,×错误)填入()中,并改正错误的说法。
(1).(×)改正:
在软件开发的过程中,一个错误修复和改正得越晚,为此所花费的代价就会越高。
(2).(√)
(3).(×)改正:
软件可行性分析应在需求分析之前,因此,软件需求规格说明书不应成为软件可行性分析的依据。
(4).(√)
(5).(×)改正:
UML语言支持面向对象的概念,并独立于具体的开发过程。
(6).(√)
(7).(×)改正:
好的测试用例在于能发现至今未发现的错误。
(8).(√)
(9).(√)
(10).(×)改正:
软件技术复审是由软件开发人员实施的一种质量保证活动。
1答:
(1)牢固掌握计算机软件的基本知识和技能;
(2)善于分析和综合问题,具有严密的逻辑思维能力;
(3)工作踏实细致,遵循标准和规范,具有严格的科学作风;
(4)工作有耐心、有毅力、有责任心;
(5)善于听取别人的意见,善于与周围人员团结协作,建立良好的人际关系;
(6)具有良好的书面和口头表达能力。
2、答:
(1)需求获取(问题识别):
采集、识别和提取用户的需求,对问题和需求形成文档化的描述,使各种人员达成一致的理解和认可。
(2)需求分析:
分析和综合所采集的信息,建立系统的详细逻辑模型。
(3)需求规格说明:
编写软件需求规格说明书,明确、完整和准确地描述已确定的需求。
(4)需求验证:
评审软件需求规格说明,以保证其正确性、一致性、完备性、准确性和清晰性。
(5)需求管理:
定义需求基线,在整个项目过程中跟踪需求状态及其变
更情况
3、答:
在软件开发完成交付用户使用后,为了保证软件在一个相当长的时期能够正常运行,就需要对软件进行维护。
软件维护的过程:
(1)确认维护要求。
(2)对于改正性维护申请,评价错误的严重性。
对于严重的错误,立即安排人员,分析问题原因,进行"救火"性的紧急维护;对于不严重的错误,根据任务情况和轻重缓急进行统一安排。
(3)对于适应性和完善性维护申请,需要确定申请的优先级,然后安排维护工作。
并不是所有的完善性维护申请都必须承担,需要考虑商业需要、现有资源、未来发展方向等进行决定。
四、答
:
(1)列出等价类表
输入条件
有效等价类
无效等价类
是否构成一个三角形
(1)A>0且B>0且C>0且
A+B>C且B+C>A且
A+C>B。
(2)A≤0或B≤0或C≤0(3)A+B≤C或A+C≤B或B+C≤A
是否等腰三角形
(4)A=B或A=C或B=C
(5)A≠B且A≠C且B≠C
是否等边三角形
(6)A=B且A=C且B=C
(7)A≠B或A≠C或B≠C
2)设计测试用例
用例1:
输入【3,4,5】覆盖等价类(1,2,3,4,5,6),输出结果为构成一般三角形。
用例2:
三者取一
输入【0,1,2】覆盖等价类
(2),输出结果为不构成三角形。
输入【1,0,2】覆盖等价类
(2),输出结果为不构成三角形。
输入【1,2,0】覆盖等价类
(2),输出结果为不构成三角形。
用例3:
三者取一
输入【1,2,3】覆盖等价类(3),输出结果为不构成三角形。
输入【1,3,2】覆盖等价类(3),输出结果为不构成三角形。
输入【3,1,2】覆盖等价类(3),输出结果为不构成三角形。
用例4:
三者取一
输入【3,3,4】覆盖等价类
(1)(4),输出结果为等腰三角形。
输入【3,4,4】覆盖等价类
(1)(4),输出结果为等腰三角形。
A①B⑥C⑨D⑧六、答:
①实现②关联③依赖④泛化⑤聚合
软件工程自测题二
一、单项选择题1.在下列工具与环境中()属于较早期的CASE。
A.基于信息工程CASE
B.人工智能CASE
C.结构的基于图形CASE
D.集成的CASE环境
2.Putnam成本估算模型是一个()模型。
A.静态单变量B.动态单变量C.静态多变量D.动态多变量3.在McCall软件质量度量模型中,()属于面向软件产品修改。
A.可靠性B.可重用性C.适应性D.可移植性
4.ISO的软件质量评价模型由3层组成,其中用于评价设计质量的准则是()
A.SQICB.SQMC
C.SQRC
D.
SQDC
5.软件复杂性度量的参数包括(
)
A.效率B.规模
C.
完整性
D.
容错性
6.对象实现了数据和操作的结合,使数据和操作(
)
于对象的统一
体中。
A.结合B.隐藏
C.
封装
D.
抽象
7.软件调试技术包括()
A.边界值分析B.演绎法
C.
循环覆盖
D.
集成测试
8.瀑布模型的存在问题是()
A.用户容易参与开发
B.缺乏灵活性
C.用户与开发者易沟通
D.适用可变需求
9.软件测试方法中的静态测试方法之一为(ABCD
10.
A护11.
A12.
A
B
C
D13.
.计算机辅助静态分析
.黑盒法
.路径覆盖
.边界值分析软件生命周期中所花费用最多的阶段是().详细设计B.软件编码C.软件测试
D.软件维
第一个体现结构化编程思想的程序设计语言是(.FORTRA语N言B.Pascal语言C程序的三种基本控制结构是().过程、.顺序、.递归、.调用、在详细设计阶段,经常采用的工具有(A.PADB.SAC
14.详细设计的结果基本决定了最终程序的(
A.代码的规模B.运行速度护性15.需求分析中开发人员要从用户那里了解(
A.软件做什么B.用户使用界面的规模
结构化程序设计主要强调的是(
A.
B.
C.D.
IDEF。
图反映系统(
A.怎么做B
子程序和分程序选择和重复堆栈和队列返回和转移
16.
17.
)
.C语言
D.PL/1语言
SC
)
.质量
.DFD
.可维
)
.输入的信息
.软件
程序的规模
程序的效率程序设计语言的先进性程序易读性
)
.对谁做
.何时做
.做什
么18.
A
19.可行性分析是在系统开发的早期所做的一项重要的论证工作,统是否开发的决策依据,因必须给出(
A.确定B.行或不行C20.需求分析阶段的任务是确定()
A.
B.
C.
经济可行性研究的范围包括(
.资源有效性B.管理制度
.效益分析
)的回答
.正确
.开发风险它是决定该系
.无二义
软件开发方法软件开发工具软件开发费
D.软件系统的功能
二、填空题(每空2分,共20分)。
21.在软件开发过程中要产生大量的信息,要进行大量的修改,能协调软件开发,并使混乱减到最低程度。
22.规定功能的软件,在一定程度上对自身错误的作用(软件错误)具有屏蔽能力,则称此软件具有的软件。
23.McCall提出的软件质量模型包括个软件质量特性。
24.软件可维护性度量的七个质量特性是可理解性、可测试性、可修改性、可靠性、、可使用性和效率。
25.为了便于对照检查,测试用例应由输入数据和预期的两部
分组成。
26.程序设计语言的心理特性主要表现在、简洁性、传统性、局部
性和顺序性。
27.软件结构是以为基础而组成的一种控制层次结构。
28.在结构化分析中,用于描述加工逻辑的主要工具有三种,即:
结构化语言、判定表、
29.结构化语言是介于自然语言和之间的一种半形式语言
30.若年利率为i,不计复利,n年后可得钱数为F,则现在的价值P=。
三、名词解释题每小题3分,共15分。
31.软件生存周期模型
32.数据字典(DD)
33.内聚性
34.JSP方法
35.多态性
四、简答题每小题5分,共20分。
36.简述容错技术的四种主要手段,并解释。
37.以G.J.Myers的观点,简述对软件测试的目的。
38.就程序设计语言的工程特性而言,对程序编码有哪些要求?
39.模块的内聚性包括哪些类型?
五、应用题第40小题7分,第41小题8分,第42小题10分,共25分。
40.下面是某程序的流程图:
(1)计算它的环路复杂性。
(2)为了完成基本路径测试,求它的一组独立的路径。
41.根据下列条件使用等价划分法设计测试用例。
某一8位微机,其十六进制常数定义为:
以0x或0X开头的数是十六进制整数,其值的范围是-7f~7f(表示十六进制的大小写字母不加区别),如0X13,0X6A,-0X3c。
答案
10.D11.B12.B13.A
19.B20.D
22.容错功能
、单项选择题每小题1分,共20分。
1.C2.D3.C4.D5.B6.C7.B8.B9.A14.C15.A16.D17.D18.C二、填空题(每空2分,共20分)。
21.软件配置管理
24.可移植性
26.歧义性
28.判定树
30.F/(1+(n*i))
23.11
25.输出结果
27.模块
29.形式语言、名词解释题每小题3分,共15分。
31.是描述软件开发过程中各种活动如何执行的模型。
32.数据字典是用来定义数据流图中的各个成分的具体含义的。
它以一种准
确的、无二义性的说明方式为系统的分析、设计及维护提供了有关元素的一致的定义和详细的描述。
33.内聚性是模块独立性的衡量标准之一,它是指模块的功能强度的度量,即一个模块内部各个元素彼此结合的紧密程度的度量。
34.JSP方法是面向数据结构的设计方法,其定义了一组以数据结构为指导的映射过程,它根据输入,输出的数据结构,按一定的规则映射成软件的过程描述,即程序结构。
35.指相同的操作或函数、过程可作用于多种类型的对象上并获得不同结果。
或(不同的对象,收到同一消息可以产生不同的结果。
)
四、简答题每小题5分,共20分。
36.结构冗余:
包括静态冗余、动态冗余和混合冗余。
信息冗余:
为检测或纠正信息在运算或传输中的错误,须外加一部分信息。
时间冗余:
指重复执行指令或程序来消除瞬时错误带来的影响。
冗余附加技术:
指为实现上述冗余技术所需的资源和技术。
37.软件测试是
(1)为了发现错误而执行程序的过程;
(2)一个好的用例能够发现至今尚未发现的错误的测试。
(3)一个成功的测试是发现至今尚未发现的错误的测试。
38.就程序设计语言的工程特性而言,对程序编码有如下要求:
(1)可移植性
(2)开发工具的可利用性
(3)软件的可重用性
(4)可维护性
39.模块的内聚性包括:
(1)偶然内聚
(2)逻辑内聚
(3)时间内聚
(4)通信内聚
(5)顺序内聚
(6)功能内聚
五、应用题共25分
40.解:
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)
41:
解答:
等价划分法①划分等价类并编号,如下表所示。
十六进制整型常量输入条件的等价类表
输入数据
合理等价类
不合理等价类
十六进制整数
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
软件工程自测题三判断题(每题3分,共15分)1.软件实际就是程序()2.成功的测试是没有发现错误的测试()3.软件工程的主要思想是从理论的角度来观察分析软件开发盒生产活动()
4.一个模块直接引用另一个模块中的数据,这两个模块之间的耦合不是内容耦合()
5.程序只要逻辑正确,能够被机器理解并执行就够了()
二.选择题(每题3分,共30分)
1.在软件质量因数中,软件在异常条件下人能运行的能力称为软件的()
A)可靠性B)健壮性C)可用性D)安全性
2.软件开发可行性研究,一般涉及经济,技术盒操作可行性,而进行可行性研究的基本依据是用户提出的软件()
A)系统质量B)系统目标C)系统功能D)系统性能
3.结构化程序设计中,一般包含3种基本结构,下列结构中哪个不属于基本结构
4.JACKSON方法是一种面向()的方法
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.程序控制的3种基本结构中,()结构可提供程序重复控制
A)遍历B)排列C)循环D)分支
.填空题(每空2分,共20分)
2.开发期的主要任务是(
)、(
)、(
)、(
)
()。
1.黑箱测试即(
)、白箱测试即(
)
名词解释(每题5分,共20分)数据字典
内聚性
3.软件生存周期模型
4.多态性
简答题(每题5分,共15分)数据字典具有的特点?
软件工程的内容是什么3.软件测试的目的是什么?
答案
判断题
全错
选择题BCBBBABBBC三.填空题功能测试结构测试需求分析总体设计详细设计编码测试
3.计划开发运行
名词解释
数据字典是用来定义数据流图中的各个成分的具体含义的。
它以一种准确的、无二义性的说明方式为系统的分析、设计及维护提供了有关元素的一致的定义和详细的描述。
内聚性是模块独立性的衡量标准之一,它是指模块的功能强度的度量,即一个模块内部各个元素彼此结合的紧密程度的度量。
是描述软件开发过程中各种活动如何执行的模型。
指相同的操作或函数、过程可作用于多种类型的对象上并获得不同结果。
或(不同的对象,收到同一消息可以产生不同的结果。
)
简答题
1.a.通过名字能方便地查阅数据的定义
b.没有冗余
c.尽量不重复其他部分已说明的信息
d.能单独处理描述每个名字的信息
e.书写方法简单方便而且严格,容易更新和修改
2.软件过程,软件开发方法,软件过程,软件工具,软件开发环境,计算机辅助软件工程,软件经济学
3.软件测试的目的是在软件投入生产性运行之前,尽可能多地发现软件中的错误,测试是对软件规格说明,设计和编码的最后复审。
所以软件测试贯穿在整个软件开发期的全过程。