全国2013年1月高等教育自学考试
软件工程试题
课程代码:02333
请考生按规定用笔将所有试题的答案涂、写在答题纸上。
选择题部分
注意事项:
1.答题前,考生务必将自己的考试课程名称、姓名、准考证号用黑色字迹的签字笔或钢笔填写在答题纸规定的位置上。
2.每小题选出答案后,用2B铅笔把答题纸上对应题目的答案标号涂黑。如需改动,用橡皮擦干净后,再选涂其他答案标号。不能答在试题卷上。
一、单项选择题(本大题共l5小题,每小题2分,共30分)
在每小题列出的四个备选项中只有一个是符合题目要求的,请将其选出并将“答题纸”的相应代码涂黑。错涂、多涂或未涂均不得分。
1.运用所掌握的知识,通过抽象,给出该系统的结构,这就是
A.系统建模 B.软件开发
C.问题求解 D.验证确认
2.根据软件需求分类,下列选项中不属于设计约束的是
A.并发操作 B.握手协议
C.质量属性 D.硬件
3.在常见的耦合类型中,耦合程度最低的是
A.内容耦合 B.数据耦合
C.控制耦合 D.标记耦合
4.通过对大量软件系统研究,发现设计很好的软件结构图通常呈现的形状类似于
A.三角形 B.长方形
C.五角形 D.正方形
5.下列选项中,用作详细设计的工具是
A.层次图(概要设计阶段) B.数据流图(需求分析阶段)
C.模块结构图(概要设计阶段)与层次图类似 D.盒图(详细设计阶段)
6.UML表达关系的术语中,表达“整体/部分”关系的是
A.细化 B.依赖
C.继承 D.聚合
7.UML提供的图形化工具中,用于概念模型和软件模型的动态结构的是
A.用况图 B.部署图
C.对象图 D.构件图
8.根据RUP测试活动,输入为测试用况,活动为实现测试,则输出为
A.测试计划 B.测试构件
C.测试评价 D.测试过程
9.下列选项中,属于白盒测试技术的是
A.因果图 B.等价类划分
C.边界值分析 D.路径测试
10.假设月收入≤3500元者免税,现用3500元和3501元作为测试数据,所采用的是
A.边界值分析 B.等价类划分
C.条件覆盖 D.因果图
11.一般来说,单元测试往往采用
A.等价类测试 B.因果图测试
C.白盒测试 D.黑盒测试
12.相对于螺旋模型,演化模型缺少
A.制定计划 B.客户评估
C.实施工程 D.风险分析
13.支持面向对象技术的软件生存周期模型是
A.喷泉模型(典型面向对象技术的模型之一) B.螺旋模型
C.增量模型 D.瀑布模型
14.按照《ISO/IEC软件生存周期过程12207—1995》中,可归于基本过程的是
(基本过程,支持过程,组织过程)
A.文档过程 B.验证过程
C.维护过程 D.管理过程
15.CMMI成熟度等级中的第四级为
A.已定义级(第三级) B.已定量管理级(第四级)
C.持续优化级(第五级) D.已管理级(第二级)
非选择题部分
注意事项:
用黑色字迹的签字笔或钢笔将答案写在答题纸上,不能答在试题卷上。
二、填空题(本大题共20空,每空1分,共20分)
16.软件开发的本质,即实现问题空间的概念和处理逻辑到解空间的概念和处理逻辑之间的映射,实现这一映射的基本途径是系统建模。
l7.需求发现的常用技术中,可能被用户抵触的是观察。
18.需求阶段的主要任务一般包括需求发现、需求分析和需求验证,最终形成系统的软件需求规格说明书。
19.实施精化设计的目标是基于模块的“高内聚低耦合”的原则,提高模块的性。
20.根据结构化设计的启发式规则,重用率高的模块在模块结构图中的特征是扇入数较大。
21.在结构化设计中,HIPO图应用在总体设计(概要设计)阶段,由IPO图和H图(层次图)两部分组成。
22.UML图形化工具分为行为图和结构图两类,前者用于表达系统或系统成分的动态结构模型。
23.UML建模工具中,状态图可用于创建有关系统的行为生存周期模型,给出生存期内的阶段信息。
24.RUP利用UML提供的术语和工具定义了需求获取层、系统分析层、设计层和实现层,并给出了实现各层模型之间映射的基本活动以及相关指导。
25.RUP是一种以用况为驱动、以体系结构为中心的迭代、增量式开发。
26.从软件测试技术分类上看,基于事务流的测试被归于黑盒测试技术,它只通过外部输入、输出来发现问题,完全不考虑程序的内部结构。
27.自顶向下的集成测试是一种递增组装软件的方法,从主控模块(主程序)开始。
28.瀑布模型规定了各开发阶段的活动,并且自上而下具有相互衔接的固定顺序,还规定了每一阶段的输入以及本阶段的工作成果作为输出传到下一阶段。
29.CMMI模型基于过程途径(过程)思想,通过过程把软件质量的3个支撑点:受训人员、规程和方法、工具和设备(工具),以开发所期望的系统/产品。
30.CMMI提供了两种过程改善路径,一个称为能力等级,另一个称为成熟度等级。
三、简答题(本大题共6小题,每小题5分,共30分)
31.什么是需求规约?简述需求规约的作用。
答:需求规约是一个软件项/产品/系统所有需求陈述的正式文档,它表达了一个软件/产品/系统的概念模型。
需求规约的作用可概括为以下4点:
(1)需求规约是软件开发组织与用户之间一份事实上的技术合同书,是产品功能及其环境的体现。
(2)对于项目的其余大多数工作,需求规约是一个管理控制点。
(3)对于产品/系统设计,需求规约是一个正式的,受控的起始点。
(4)需求规约是创建产品验收测试计划和用户指南的基础。
32.通过长期的软件开发实践,人们总结出了哪些模块设计的启发式规则?
答:(1)改进软件结构,提高模块性。
(2)力求模块规模适中。
(3)力求深度宽度扇入扇出适中。
(4)尽力使模块的作用域在其控制范围之内。
(5)尽力降低模块接口的复杂度。
(6)力求模块功能可以预测。
33.什么是类?什么是对象?简述类在建模中的主要用途。
答:类是一种具有相同属性,操作,关系和语义的对象的描述。
对象是类的一个实例。
类在建模中的主要用途:模型化问题域中的概念,建立系统的职责分布模型,模型化建模中使用的基本类型。
34.为什么RUP要与UML一起才称得上是一种面向对象开发的方法学?
答:(1)一种软件开发方法学至少由3部分组成:用于表达基本信息的术语,用于组织基本信息的表达格式,用于在不同抽象层之间进行映射的过程指导。
(2)UML仅包括前面两方面的内容,因为它只是一种可视化的面向对象的建模语言,RUP给出的是一种基于UML的过程指导,满足软件开发方法学的第三项内容,因此RUP要与UML一起才称得上是一种面向对象开发的方法学。
35.简述软件测试和软件调试之间的区别。
答:软件测试和软件调试相比,在目的,技术和方法等方面都有着很大区别:
(1)测试是从一个侧面证明程序员的“失败”。测试是为证明程序员的正确。
(2)测试从已知条件开始,使用预先定义的程序且有预知的结果,不可预见的仅是程序是否通过测试。调试是以不可知的内部条件开始,结果很难预见。
(3)测试是有计划的,并要进行测试设计。调试是不受时间约束的。
(4)测试是一个发现错误,改正错误,重新测试的过程。调试是一个推理过程。
(5)测试的执行是有规程的。调试的执行往往要求程序员进行必要的推理。
(6)测试经常由的测试组在不了解软件设计的条件下完成的。调试必须由了解详细设计的程序员完成。
(7)大多数测试的执行和设计可由工具支持。调试时,程序员能用的工具主要是调试器。
36.简述演化模型以及可适应的情况。
答:(1)演化模型是一种迭代,增量式开发模型。在用户提出待开发系统的核心需求的基础上,软件开发人员按照这一需求,首先开发一个核心系统并投入运行,以便用户能够有效提出反馈,接着软件开发人员根据用户反馈,实施开发的迭代过程,每次迭代均由需求,编码,测试,集成等阶段组成,通过增加或修正,产生软件产品的增量,最终完成软件产品的开发。
(2)演化模型显式地把需求获取扩展到需求阶段,在一定程度上可减少软件开发活动的盲目性。
(3)该模型主要针对事先不能完整定义需求的软件开发的,通过不断的迭代,增量开发,最张得到软件产品。
四、综合应用题(本大题共2小题,每小题10分,共20分)
37.题37图是银行活期存取款业务处理系统的数据流图,请根据图示完成以下填空:
(1)数据源或数据潭包括:储户;
(2)加工包括:审查数据,业务分类,修改1A,修改2A,修改1B,修改2B;
(3)数据存储包括:账目文件,现金账;
(4)“业务分类”的输入流是:合格存储单,存折;
(5)“业务分类”的输出流是:合格存取单 存款单,取款单。
38.有一个程序:
输入3个整数ABC,把这3个数看成是一个三角形的3条边。这个程序要输出信息,来说明这个三角形的几种情况:是三边不等的、是等腰的、还是等边的。
请根据给出的说明,用等价类划分法设计该问题的测试用例(要求写出设计过程)。
答:(1)建立等价类表:
输入条件ABC | 有效等价类 | 无效等价类 |
ABC | 1.正整数 | 2.有非正整数 3.某两个数相加小于等于第三个数 4.有非数字字符 |
ABC | 5.三边相等 | |
ABC | 6.只有两边相等 | |
ABC | 7.三边都不等 |
测试用例 | 期望结果 | 覆盖范围 |
5,6,7 | 显示有效输入:一般三角形 | 1,7 |
5,5,6 | 显示有效输入:等腰三角形 | 1,6 |
5,5,5 | 显示有效输入:等边三角形 | 1,5 |
测试用例 | 期望结果 | 覆盖范围 |
-1 ,5,6 | 显示无效输入 | 2,3 |
3,6,10 | 显示无效输入 | 3 |
A,1,2 | 显示无效输入 | 4 |