
软件工程试卷
课程代码:02333
一、单项选择题(本大题共20小题,每小题1分,共20分)
在每小题列出的四个备选项中只有一个是符合题目要求的,请将其代码填写在题后的括号内。错选、多选或未选均不得分。
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.系统定义明确之后,应对系统的可行性进行研究;可行性研究包括( )
A.软件环境可行性、技术可行性、经济可行性、社会可行性
B.经济可行性、技术可行性、社会可行性
C.经济可行性、社会可行性、系统可行性
D.经济可行性、实用性、社会可行性
7.模块内聚性最好的是( )
A.逻辑内聚 B.时间内聚
C.功能内聚 D.通信内聚
8.设计软件结构一般不确定( )
A.模块之间的接口 B.模块间的调用关系
C.模块的功能 D.模块内的局部数据
9.软件结构化设计中,好的软件结构应该力求做到( )
A.顶层扇出较少,中间扇出较高,底层模块低扇入
B.顶层扇出较高,中间扇出较少,底层模块高扇入
C.顶层扇入较少,中间扇出较高,底层模块高扇入
D.顶层扇入较少,中间扇入较高,底层模块低扇入
10.两个模块都使用同一张数据表,模块间的这种耦合称为( )
A.公共耦合 B.内容耦合
C.数据耦合 D.控制耦合
11.软件可靠性是软件在给定的时间内,在规定的环境条件下系统完成所指定功能的( )
A.可用性 B.适应性
C.概率 D.可移植性
12.划分模块时,下列说法正确的是( )
A.作用范围应在其控制范围之内
B.控制范围应在其作用范围之内
C.作用范围与控制范围互不包含
D.作用范围与控制范围不受
13.重用率高的模块在软件结构图中的特征是( )
A.扇出数大 B.扇入数大
C.扇出数小 D.内聚性高
14.构造原型时,主要考虑( )
A.全部功能 B.原型要体现的特征
C.全部细节 D.全部需求
15.快速原型模型的主要特点之一是( )
A.开发完毕才见到产品 B.及早提供全部完整的软件产品
C.开发完毕后才见到工作软件 D.及早提供工作软件
16.COCOMO估算模型是( )
A.模块性成本模型 B.结构性成本模型
C.动态单变量模型 D.动态多变量模型
17.与软件开发需求分析、设计及编码阶段相对应的软件测试步骤是( )
A.组装测试、确认测试、单元测试
B.单元测试、组装测试、确认测试
C.单元测试、确认测试、组装测试
D.确认测试、组装测试、单元测试
18.软件维护产生的副作用是指( )
A.开发时的错误 B.隐含的错误
C.因修改软件而造成的错误 D.运行时的误操作
19.比较理想的可重用软件结构是( )
A.子程序库 B.源代码及文件
C.对象 D.类
20.面向对象建模得到的三个模型,其中核心的模型是( )
A.对象模型 B.功能模型
C.逻辑模型 D.动态模型
二、填空题(本大题共10小题,每小题2分,共20分)
请在每小题的空格中填上正确答案。错填、不填均不得分。
21.计算机程序及其说明程序的各种文档称为_____。
22.IDEF0用来描述系统的功能活动及其联系,建立系统的_____。
23.结构化分析方法是一种面向_____的开发方法。
24.成本——效益分析的目的是从_____角度评价开发一个新的软件项目是否可行。
25.模块有四个基本属性,其中反映它的内部特性的是_____。
26.确认测试可以发现软件系统是否符合用户的_____要求。
27.在算法描述工具中,_____是一种由左往右展开的二维树型结构。
28.动态模型是与时间和变化有关的系统性质,它描述了系统的_____结构。
29.成本估算方法中,有自顶向下估算方法、自底向上估算方法和_____方法。
30.随着软硬件环境变化而修改软件的维护活动称为_____。
三、名词解释题(本大题共5小题,每小题3分,共15分)
31.软件生存周期模型
32.模块
33.可维护性
34.继承性
35.投资回收期
四、简答题(本大题共4小题,每小题5分,共20分)
36.简述软件危机产生的原因。
37.简述需求分析的概念及需求分析的基本任务。
38.简述数据流图的分类及每一类的特点。
39.简述建立对象模型的过程。
五、应用题(本大题共2小题,第40小题l3分,第41小题12分,共25分)
40.某公司承担空中和地面运输业务。计算货物托运费的比率规定如下:
空运:如果货物重量小于等于2kg,则一律收费6元;如果货物重量大于2kg而又小于等于20kg,则收费3元/kg;如果货物重量大于20kg,则收费4元/kg。
地运:若为慢件,收费为1元/kg。若为快件,当重量小于等于20kg时,收费为2元/kg;当货物重量大于20kg时,则收费为3元/kg。
下列步骤是应用判定表方法描述以上案例的过程。请根据题意,在条件取值表的“取值”列中填入相应内容,并在初步判定表和简化后的判定表中填入条件取值表中规定的符号。
(1)条件取值表
| 取值 | 符号 | 取值个数 | |
| 运输方式 | A | M1=2 | |
| G | |||
| 重量 | S | M2=3 | |
| M | |||
| L | |||
| 是否快件? | Y | M3=2 | |
| N |
| l | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | |
| 运输方式 | ||||||||||||
| 重量 | ||||||||||||
| 是否快件? | Y | N | Y | N | Y | N | Y | N | Y | N | Y | N |
| 托运费比率 | 6元 | 6元 | 3元/kg | 3元/kg | 4元/kg | 4元/kg | 2元/kg | l元/kg | 2元/kg | 1元/kg | 3元/kg | 1元/kg |
| l | 2 | 3 | 4 | 5 | 6 | 7 | |
| 运输方式 | |||||||
| 重量 | |||||||
| 是否快件? | N | Y | Y | Y | |||
| 托运费比率 | 6元 | 3元/kg | 4元/kg | 1元/Kg | 2元/kg | 2元/kg | 3元/kg |
下列步骤是应用等价类划分法设计上述案例测试用例的过程。请根据题意,在划分等价类表中的编号⑩和编号处填入相应内容,并在合理等价类测试用例表和不合理等价类测试用例表中的“期望结果”与“覆盖范围”二列中填入相应的内容。
(1)划分等价类并编号
| 输入数据 | 合理等价类 | 不合理等价类 |
| 八进制整数 | ①2~4位以0开头的数字串 | ④以非0非一开头的串 |
| ②3~5位以-0开头的数字串 | ⑤0开头含有非数字字符串 | |
| ⑥-0开头含有非数字字符串 | ||
| ⑦0开头多于4个字符 | ||
| ⑧-后非0的多位串 | ||
| ⑨-0开头多于5个数字 | ||
| 八进制数范围 | ③在-177~177之间 | ⑩ |
| 测试数据 | 期望结果 | 覆盖范围 |
| 023 | ||
| -0156 |
| 测试数据 | 期望结果 | 覆盖范围 |
| 102 | ||
| 0f23 | ||
| -03x3 | ||
| 01765 | ||
| -124 | ||
| -01246 | ||
| -0200 | ||
| 0223 |
全国2009年10月高等教育自学考试
软件工程试题
课程代码:02333
一、单项选择题(本大题共20小题,每小题1分,共20分)
在每小题列出的四个备选项中只有一个是符合题目要求的,请将其代码填写在题后的括号内。错选、多选或未选均无分。
1.软件危机产生的时期是(D)
A.“程序设计时代”初期
B.“程序设计时代”末期
C.“程序系统时代”初期
D.“程序系统时代”末期
2.以下属于面向数据结构的开发方法是(B )
A.结构化方法
B.Jackson方法
C.维也纳开发方法
D.面向对象的开发方法
3.数据字典定义数据流或数据存储组成时,使用了若干符号,其中{…}表示的含义是(D )
A.可选
B.与
C.或
D.重复
4.IDEF0是IDEF方法的一部分,用于建立系统的(A )
A.功能模型
B.信息模型
C.动态模型
D.关系模型
5.若模块内部所有处理元素都在同一个数据结构上操作,则该模块的内聚性类型是(C)
A.时间内聚
B.偶然内聚
C.通信内聚
D.功能内聚
6.若软件结构中两个模块之间传递的是数据结构,如高级语言中的数组名,则这两个模块的耦合性类型是(D )
A.公共耦合
B.控制耦合
C.数据耦合
D.标记耦合
7.下列描述中,不属于程序流程图优点的是(B)
A.历史最悠久,使用最广泛
B.容易表示数据结构
C.支持程序的三种基本控制结构
D.直观清晰,易于使用
8.设计人工智能领域内的系统,程序设计语言最好选择(D )
A.Cobol语言
B.C语言
C.Pascal语言
D.Prolog语言
9.以下四种逻辑覆盖中,发现错误能力最弱的是(A)
A.语句覆盖
B.条件覆盖
C.判定覆盖
D.条件组合覆盖
10.软件工程领域中,与确认测试有关的软件开发阶段是( D)
A.编码
B.详细设计
C.概要设计
D.需求分析
11.对某个学生成绩系统进行测试,输入值是学生的成绩,范围为0~100,根据黑盒测试的等价类划分技术,下列划分正确的是(B )
A.1个合理等价类,1个不合理等价类
B.1个合理等价类,2个不合理等价类
C.2个合理等价类,1个不合理等价类
D.2个合理等价类,2个不合理等价类
12.为了使软件适应环境的变换而修改软件的维护活动称为(B )
A.校正性维护
B.适应性维护
C.完善性维护
D.预防性维护
13.根据原型的不同作用,快速原型模型有三类模型,分别为(C )
A.探索型原型、归纳型原型、演化型原型
B.归纳型原型、实验型原型、演化型原型
C.探索型原型、实验型原型、演化型原型
D.探索型原型、实验型原型、归纳型原型
14.面向对象开发方法中,动态模型使用的描述工具是(A )
A.状态图
B.对象图
C.数据流图
D.类图
15.在面向对象方法建立的对象模型中,类之间的关联具有多重性,其中小空心圆表示的重数是(A)
A.0或1
B.1
C.0到多
D.1到多
16.McCall质量度量模型中,与“用户熟悉、使用及准备输入和解释输出所需的工作量的大小”所对应的软件质量特性是( D)
A.正确性
B.完整性
C.可靠性
D.可用性
17.软件工程标准中,GIB属于(C )
A.国际标准
B.国家标准
C.行业标准
D.企业规范
18.与“可行性研究报告”文档有关的人员是(A )
A.管理人员和开发人员
B.开发人员和维护人员
C.开发人员和用户
D.管理人员和用户
19.软件工具中,“编辑程序”属于(C )
A.需求分析工具
B.需求追踪工具
C.设计工具
D.文档工具
20.“与程序结构有关的度量”对应的软件复杂性度量参数是( C)
A.规模
B.难度
C.结构
D.智能度
二、填空题(本大题共10小题,每小题2分,共20分)
请在每小题的空格中填上正确答案。错填、不填均无分。
21.螺旋模型是将两种软件生存周期模型结合起来,加入了风险分析,这两种模型是指瀑布模型和___增量模型____。
22.在软件项目的经济可行性分析中,所谓投资回收期指的是:使开发项目累计的经济效益等于__最初投资_____所需的时间。
23.数据流图中描述加工逻辑一般使用三种工具,分别是___DFD_____、判定表、判定树。
24.变换型的DFD是由输入、___变换_____和输出三部分组成。
25.Jackson开发方法中,Jackson结构图由___顺序结构_____、选择结构和重复结构这三种基本结构组合而成。
26.为开发一个特定项目选择程序设计语言时,必须从技术特性、_工程特征 ____和心理特
性几方面考虑。
27.软件产品在交付使用之前一般要经过以下四步测试:___单元测试__、集成测试、确认测
试和系统测试。
28.软件维护的副作用有三种,分别是编码副作用、____数据副作用____、文档副作用。
29.面向对象设计可以细分为系统设计和__对象设计____。
30.面向对象分析要建立三个模型,其中___建立对象_____模型是三个模型的核心,也是其他两个模型的框架。
三、名词解释题(本大题共5小题,每小题3分,共15分)
31.软件开发方法:一种使用早已定义好的技术集及符号表示习惯来组织软件生产的过程.
32.数据字典: 简称DD,就是用来定义数据流图中的各个成分具体含义的,它以一种准确的、无二义性的说明方式为系统的分析、设计及维护提供了有关元素的一致的定义和详细的描述.
33.黑盒测试法:将程序当成是黑盒子以设计中的功能为标准在程序的接口出进行测试看它能否达到功能要求。
34.软件质量保证:向用户及社会提供满意的高质量的产品,确保软件产品从诞生到消亡为止的所有阶段的质量活动,即确定、达到和维护需要的软件质量而进行的所有有计划、有系统的管理活动。
35.模块的作用范围:一个模块的控制范围是指它本身及其所有下属模块的集合。这里下属模块包括直接下属模块及下属模块的下属模块
四、简答题(本大题共4小题,每小题5分,共20分)
36.简述软件产品的特性。
答:1.软件产品是一种逻辑产品。
2.软件产品的生产主是研制,软件产品的成本主要体现在软件的开发和研制上,软件开发完成后,复制就产生了大量软件产品。
3 .软件产品不会用坏,不存在磨损、消耗问题。
4.软件产品的生产主要是脑力劳动,还未完全摆脱手工开发方式,而且碰分是"定做"的。
5.软件费用不断增加,成本相当昂贵。
37.简述在需求分析基本任务中,对问题的综合需求包括哪几个方面。
答: 一.确定对系统的综合要求
1. 功能需求
这方面的需求指定系统必须提供的服务。通过需求分析应该划分出系统必须完成的所有功能。
2. 性能需求
性能需求指定系统必须满足的定时约束或容量约束,通常包括速度(响应时间)、信息量速率、主存容量、磁盘容量、安全性等方面的需求。
3. 可靠性和可用性需求
可靠性需求定量地指定系统的可靠性。
可用性与可靠性密切相关,它量化了用户可以使用系统的程度。
4. 出错处理需求
这类需求说明系统对环境错误应该怎样响应。例如,如果它接收到从另一个系统发来的违反协议格式的消息,应该做什么?注意,上述这类错误并不是由该应用系统本身造成的。
5. 接口需求
接口需求描述应用系统与它的环境通信的格式。常见的接口需求有:用户接口需求;硬件接口需求;软件接口需求;通信接口需求。
6. 约束
设计约束或实现约束描述在设计或实现应用系统时应遵守的条件。在需求分析阶段提出这类需求,并不是要取代设计(或实现)过程,只是说明用户或环境强加给项目的条件。常见的约束有:精度;工具和语言约束;设计约束;应该使用的标准;应该使用的硬件平台。
7. 逆向需求
逆向需求说明软件系统不应该做什么。理论上有无限多个逆向需求,我们应该仅选取能澄清真实需求且可消除可能发生的误解的那些逆向需求。
8. 将来可能提出的要求
应该明确地列出那些虽然不属于当前系统开发范畴,但是据分析将来很可能会提出来的要求。
二 .分析系统的数据要求
任何一个软件系统本质上都是信息处理系统,系统必须处理的信息和系统应该产生的信息在很大程度上决定了系统的面貌,对软件设计有深远影响,因此,必须分析系统的数据要求,这是软件需求分析的一个重要任务。
三. 导出系统的逻辑模型
综合上述两项分析的结果可以导出系统的详细的逻辑模型,通常用数据流图、实体-联系图、状态转换图、数据字典和主要的处理算法描述这个逻辑模型。
四.修正系统开发计划
根据在分析过程中获得的对系统的更深入更具体的了解,可以比较准确地估计系统的成本和进度,修正以前制定的开发计划。
38.简述结构化程序设计的基本要点。
答: (1)设计软件系统结构(简称软件结构)
a.采用某种设计方法,将一个复杂的系统按功能划分成模块(划分)
b.确定模块的功能。 (功能)
c.确定模块之间的调用关系。 (调用)
d.确定模块之间的接口,即模块之间传递的信息。 (接口)
e.评价模块结构的质量。 (质量)
(2)数据结构及数据库设计
a.数据结构设计
b.数据库设计:(概念设计、逻辑设计、物理设计)
(3)编写概要设计文档(文档主要有:概要设计说明书、数据库设计说明书、用户手册、修订测试计划)
(4)评审
39.简述提高软件可维护性的方法。
A、建立明确的软件质量目标。B、利用先进的软件开发技术和工具。
C、建立明确的质量保证工作。D、选择可维护的程序设计语言。
E、改进程序文档。
五、应用题(本大题共2小题,第40小题13分,第41小题12分,共25分)
40.根据下列变换型的数据流图,设计出初始软件结构图。
解:
f5 f5 f9 f9
f3 f4 f3\\f4 f5 f10 f9
f5 f7/f6 f6f8 f8/f7 f9 f10
f1 f3 f1 f2 f4 f2
题40图
41.根据下列程序流程图,设计不超过2组的测试用例,使之满足语句覆盖,要求给出每组测试数据的执行路径、输入值、输出值及两个判定(3)和(5)的判定结果。
题41图
解:
第一组语句覆盖测试数据:
A=9 B=5 C=0
路径path1: 1——2——3——4——5——7——8
第二组语句覆盖测试数据:
A=21 b=1 C=0
路径:path2:1——2——3——5——6——7——8
