.
1234123412软件工程试题及答案
第一部分 选择题
一、单项选择题 每小题1分,共20分。(在每小题的四个选项中只有一个选项是符合题目要求的,请将正确选项前的字母填在题后的括号内)
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.SQIC B.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.软件测试方法中的静态测试方法之一为( )
A.计算机辅助静态分析 B.黑盒法 C.路径覆盖 D.边界值分析 10.软件生命周期中所花费用最多的阶段是( )
A.详细设计 B.软件编码 C.软件测试 D.软件维护 11.第一个体现结构化编程思想的程序设计语言是( )
A.FORTRAN语言 B.Pascal语言 C.C语言 D.PL/1语言 12.程序的三种基本控制结构是( )
A.过程、子程序和分程序 B.顺序、选择和重复 C.递归、堆栈和队列 D.调用、返回和转移 13.在详细设计阶段,经常采用的工具有( )
A.PAD B.SA C.SC D.DFD 14.详细设计的结果基本决定了最终程序的( )
A.代码的规模 B.运行速度 C.质量 D.可维护性 15.需求分析中开发人员要从用户那里了解( )
A.软件做什么 B.用户使用界面 C.输入的信息 D.软件的规模 16.结构化程序设计主要强调的是( )
A. 程序的规模 B. 程序的效率C. 程序设计语言的先进性 D. 程序易读性 17.IDEF。图反映系统( )
A.怎么做 B.对谁做 C.何时做 D.做什么 18.经济可行性研究的范围包括( )
A.资源有效性 B.管理制度 C.效益分析 D.开发风险
19.可行性分析是在系统开发的早期所做的一项重要的论证工作,它是决定该系统是否开 发的决策依据,因必须给出
( )的回答。
A.确定 B.行或不行 C.正确 D.无二义 20.需求分析阶段的任务是确定( )
A. 软件开发方法B. 软件开发工具C. 软件开发费 D. 软件系统的功能
.
.
二、填空题(每空2分,共20分)。
21.在软件开发过程中要产生大量的信息,要进行大量的修改, 软件配置管理 能协调软件开发,并使混乱减到最
低程度。
22.规定功能的软件,在一定程度上对自身错误的作用(软件错误)具有屏蔽能力,则称此软件具有 容错
功能的软件。
23.McCall提出的软件质量模型包括11 个软件质量特性。
24.软件可维护性度量的七个质量特性是可理解性、可测试性、可修改性、可靠性、可移植性、 可使用性和效率。 25.为了便于对照检查,测试用例应由输入数据和预期的输出结果两部分组成。
26.程序设计语言的心理特性主要表现在 歧义性 、简洁性、传统性、局部性和顺序性。 27.软件结构是以 模块 为基础而组成的一种控制层次结构。
28.在结构化分析中,用于描述加工逻辑的主要工具有三种,即:结构化语言、判定表、 判定树 。
29.结构化语言是介于自然语言和形式语言之间的一种半形式语言。
30.若年利率为i,不计复利,n年后可得钱数为F,则现在的价值P=F/(1+(n*i)。 三、名词解释题 每小题3分,共15分。 31.软件生存周期模型
描述软件开发过程中各种活动如何执行的模型 32.数据字典(DD)
数据字典是用来定义数据流图中的各个成分的具体含义的。它以一种准确的、无二义性的说明方式为系统的分析、设计及维护提供了有关元素的一致的定义和详细的描述。 33.内聚性
内聚性是模块独立性的衡量标准之一,它是指模块的功能强度的度量,即一个模块内部各个元素彼此结合的紧密程度的度量
34.JSP方法
JSP方法是面向数据结构的设计方法,其定义了一组以数据结构为指导的映射过程,它根据输入,输出的数据结构,按一定的规则映射成软件的过程描述,即程序结构。 35.多态性
指相同的操作或函数、过程可作用于多种类型的对象上并获得不同结果。或(不同的对象,收到同一消息可以产生不同的结果。)
四、简答题 每小题5分,共20分。
36.简述容错技术的四种主要手段,并解释。
结构冗余:包括静态冗余、动态冗余和混合冗余。
信息冗余:为检测或纠正信息在运算或传输中的错误,须外加一部分信息。 时间冗余:指重复执行指令或程序来消除瞬时错误带来的影响。 冗余附加技术:指为实现上述冗余技术所需的资源和技术。 37.以G.J.Myers的观点,简述对软件测试的目的。
软件测试是(1)为了发现错误而执行程序的过程;(2)一个好的用例能够发现至今尚未发现的错误的测试。(3)一个成功的测试是发现至今尚未发现的错误的测试。
38.就程序设计语言的工程特性而言,对程序编码有哪些要求?
就程序设计语言的工程特性而言,对程序编码有如下要求:
(1)可移植性 (2)开发工具的可利用性 (3)软件的可重用性 (4)可维护性
39.模块的内聚性包括哪些类型?
模块的内聚性包括:
(1)偶然内聚(2)逻辑内聚(3)时间内聚(4)通信内聚(5)顺序内聚(6)功能内聚
.
.
五、应用题 第40小题7分,第41小题8分,第42小题10分,共25分。 41.根据下列条件使用等价划分法设计测试用例。
某一8位微机,其十六进制常数定义为:以0x或0X开头的数是十六进制整数,其值的范围是-7f~7f(表示十六进制的大小写字母不加区别),如0X13,0X6A,-0X3c。
解答:等价划分法 ①划分等价类并编号,如下表所示。
十六进制整型常量输入条件的等价类表
输入数据 合理等价类 不合理等价类 3. 非0x或非-打头的串 4. 含有非数字且(a,b,c,d,e,f)以外字符 5. 多于5个字符 6. -后跟非0的多位串 7. -0后跟数字串 8. -后多于3个数字 10.小于-7f 11.大于7f 覆盖范围 1,9 2,9 十六进制整数 1. 0x或0X开头1~2位数字串 2. 以-0x打头的1~2位数字串 十六进制数范围 9.在-7f~7f之间 ②为合理等价类设计测试用例,表中有三个合理等价类,设计两个例子 测试数据 0×23 -0×15 期望结果 显示有效输入 显示有效输入 ③为每个不合理等价类至少设计一个测试用例 测试数据 2 G12 123311 -1012 -011 -0134 -0x777 0x87 期望结果 显示无效输入 显示无效输入 显示无效输入 显示无效输入 显示无效输入 显示无效输入 显示无效输入 显示无效输入 覆盖范围 3 4 5 6 7 8 10 11 软件工程导论预测题
一,单项选择题(本大题共20小题,每小题1分,共20分)
在每小题列出的四个选项中只有一个选项是符合题目要求的,请将正确选项前的字母填在题后的横线上。 1.可行性研究要进行一次_____需求分析。
A.详细的 B.全面的 C.简化的、压缩的 D.彻底的
[解析]软件的可行性研究的目的就是用最小的代价在尽可能短的时间内确定该软件项目是否能够开发,是否值得去开发。其实质是要进行一次简化、压缩了的需求分析、设计过程,要在较高层次上以较抽象的方式进行需求分析和设计过程。因此答案为C。
2.系统流程图用于可行性分析中的_____的描述。
A.当前运行系统 B.当前逻辑模型 C.目标系统 D.新系统
[解析]可行性研究首先要确定项目的规模和目标,然后就需要对当前运行的系统进行研究了,在考察系统的基础上,通过描绘现有系统的高层系统流程图,与有关人员一起审查该系统流程图是否正确。描述的对象是当前正在运行的系统,因此选择A。
.
.
3.系统流程图是描述_____的工具。
A.逻辑系统 B.程序系统 C.体系结构 D.物理系统
[解析]系统流程图是用图形符号来表示系统中的各个元素,例如人工处理、数据库、设备等,流程图表达了系统中各个元素之间的信息流动情况。是描绘物理系统的传统工具。 4._______工具在软件详细设计过程中不采用。 A.判定表 B.IPO图 C.PDL D.DFD图
[解析]详细描述处理过程常用三种工具:图形、表格和语言。其中图形工具有结构化流程图、盒图和问题分析图三种,答案中的判定表是用来表示复杂的条件组合与应做的动作之间的对应关系。IPO图用来描述每个模块输入/输出数据、处理功能及模块调用的详细情况。PDL是过程设计语言的缩写,也称程序描述语言,用于描述模块算法设计和处理细节的语言,这三种都可以在软件详细设计过程中使用,而DFD图则是数据流图,是以图形的方式描绘数据在系统中流动和处理的过程,只反映系统必须完成的逻辑功能,所以它只是一种功能模型,不能在详细设计过程中使用。 5.程序的三种基本控制结构是
A.过程、子程序和分程序 B.顺序、选择和重复 C.递归、堆栈和队列 D.调用、返回和转移
[解析]程序的三种基本控制结构是顺序、选择和循环(重复)。子程序只是程序设计一种方法,递归则是一种算法,都算不上是控制结构。
6.程序的三种基本控制结构的共同特点是
A.不能嵌套使用 B.只能用来写简单程序 C.已经用硬件实现 D.只有一个入口和一个出口
[解析]程序的特点就是从一个入口开始,最终以一个出口结束,其间可以用顺序,选择和循环方式对程序的流向进行控制。三种结构可以写出非常复杂的程序,而且选择和循环都可以嵌套设计。 7.产生软件维护的副作用,是指
A.开发时的错误 B.隐含的错误 C.因修改软件而造成的错误 D.运行时误操作
[解析]因修改软件而造成的错误或其他不希望出现的情况称为维护的副作用,包括编码副作用、数据副作用、文档副作用三种。只有答案C是正确的表述。
8.维护中,因误删除一个标识符而引起的错误是_________副作用。 A.文档 B.数据 C.编码 D.设计
[解析]编码副作用指的是在使用程序设计语言修改源代码时可能引入错误,比如删除或修改一个子程序、一个标号、一个标识符,改变程序代码的时序关系,修改文件的打开或关闭等。因此本题答案为C。 9.可维护性的特性中相互促进的是
A.可理解性和可测试性 B.效率和可移植性 C.效率和可修改性 D.效率和结构好
[解析]软件的可维护性可用七个质量特性来衡量,分别是:可理解性、可测试性、可修改性、可靠性、可移植性、可使用性和效率。对于不同类型的维护,这些特性的侧重点也不相同,有一些可维护特性是可以相互促进的,比如可理解性和可测试性,可理解性和可修改性,另外一些则是相互矛盾的,如答案中的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.软件开发过程中,抽取和整理用户需求并建立问题域精确模型的过程叫 A.生存期 B.面向对象设计 C.面向对象程序设计 D.面向对象分析
[解析]面向对象的分析的过程就是认识客观世界的过程,其目的就是建立对客观世界的精确、简洁、可理解的正确模型,也就是所谓的建模。因此本题答案为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.系统流程图是描述物理模型的传统工具,用图形符号表示系统中各个元素表达了系统中各种元素之间的( 信息流动 )情况。
[解析]系统流程图是描述物理系统的传统工具,用图形符号表示系统中的各个元素,如人工处理、数据处理、数据库、文件、设备等,表达了元素之间的信息流动的情况。
.