软件水平考试(中级)软件设计师综合(习题卷4)
第1部分:单项选择题,共100题,每题只有一个正确答案,多选或少选均不得分。
1.[单选题]与地址220.11
2.179.92匹配的路由表的表项是( )。
A)220.112.145.32/22
B)220.112.145.64/22
C)220.112.147.64/22
D)220.112.177.64/22
答案:D
解析:地址220.112.179.92中179的二制码为1011 0011,假如网络号采用22位,与该地址匹配的路由表项则为
220.112.177.64/22。
2.[单选题]在面向对象方法中,多态指的是( )。
A)客户类无需知道所调用方法的特定子类的实现
B)对象动态地修改类
C)一个对象对应多张数据库表
D)子类只能够覆盖父类中非抽象的方法
答案:A
解析:多态按字面的意思就是“多种状态”在面向对象语言中,接口的多种不同的实现方式即为多态例如不同的足球运动员在都进行射门这个动作时,会产生不同的结果在运行时,可以通过指向基类的指针,来调用实现派生类中的方法也就是说客户类其实在调用方法时,并不需要知道特定子类的实现,都会用统一的方式来调用
3.[单选题]给定关系模式R(A1,A2,A3,A4)上的函数依赖集F={A1A3->A2,A2->A3}。若将R分解为
p={(A1,A2),(A1,A3)},则该分解是(52)的。
A)无损联接且不保持函数依赖
B)无损联接且保持函数依赖
C)有损联接且保持函数依赖
D)有损联接且不保持函数依赖
答案:D
解析:本题考查数据库知识点。设关系模式R(A1,A2,…,An),R的一个分解ρ={R1,R2,…,R },是否无损联接分解的判断方法如下:第一步.构造一张k行n列的表格,每列对应一个属性Aj(1≤j≤n),每行对应一个模式Ri(1≤i≤k)。如果
Aj在Ri中,那么在表格的第i行第j列处填上aj,否则填上符号bij。根据此步骤,画出本题的初始表格如下(本题中n为4,k为2,所以表格核心部分为2行4列):
上表中,11号格子对应的列标A1在第1行的行标R1(A1, 2)中,故11号格子的值为a1;12号格子对应的列标A2在第1行的行标R1(A1, 2)中,故12号格子的值为a2;13号格子对应的列标A3不在第1行的行标R1(A1, 2)中,故13号格子的值为
b13;14号格子对应的列标A4不在第1行的行标R1(A1, 2)中,故14号格子的值为b14;21号格子对应的列标A1在第2行的行标R2(A1, 3)中,故21号格子的值为a1;22号格子对应的列标A2不在第2行的行标R2(A1, 3)中,故22号格子的值为
b22;23号格子对应的列标A3在第2行的行标R2(A1, 3)中,故23号格子的值为a3;24号格子对应的列标A4不在第2行的行标R2(A1, 3)中,故24号格子的值为b24。第二步.把表格看成模式R的一个关系,反复检查F中每个FD(函数依赖式)在表
格中是否成立,若不成立,则修改表格中的元素。修改方法如下:对于F中一个FD“X->Y”,如果表格中有行在X分量上相等,在Y分量上不相等,那么把对应行在Y分量上改成相等。如果Y的分量中有一个是aj,那么另一个也改成aj;如果没有aj,那么用其中的一个bij替换另一个(尽量把ij改成较小的数),一直到表格不能修改为止。根据本题
F={A1A3→A2,A2→A3},依赖式A1A3→A2中的左部对应第1步中画出的初始表格的第1列和第3列的组合,即A1A3两列,两列对应的行值组合分别是a1b13与a1a3,两行值明显不相等,则依赖式A1A3→A2
右边A2对应的表格列值不需要修改;再看依赖式A2→A3,A2列的值为a2和b22,两值不相等,故A3的值也不需要进行修改。经过本步骤的处理,表格内容依然不变。第三步.若修改的最后一张表格中有一行全为a,即a1,a2,a3,……,a ,那么ρ相对于F是无损连接分解,否则是有损连接分解。本题对应的表格中,可看出没有任何一行的值全为a,故ρ相对于F是有损连接分解。
4.[单选题]某二叉树的先序遍历序列为c a b f e d g,中序遍历序列为a b c d e f g,则该二叉树是( )。
A)完全二叉树
B)最优二叉树
C)平衡二叉树
D)满二叉树
答案:C
解析:本题考查数据结构基础知识。二叉树的遍历主要有四种:前序遍历(先根遍历、先序遍历):遵循“根-左-右
”的递归遍历思想,根一定是当前子二叉树先序遍历序列的第一个元素;中序遍历(中根遍历):遵循“左-根-右”的递归遍历思想,根位于是当前子二叉树中序遍历序列的中部位置,左边是当前根的左二叉树,右边是当前根的右二叉树;后序遍历(后根遍历):遵循“左-右-根”的递归遍历思想,根一定是遍历序列的最后一个元素;层次遍历:遵循从上到下,直左而右的遍历思想,根一定是遍历序列的第一个元素。根据题意,本二叉树为:
平衡二叉树或者是一棵空树,或者是具有下列性质的二叉树:它的左子树和右子树都是平衡二叉树,且左子树和右子树的深度之差的绝对值不超过1。本题的二叉树满足平衡二叉树的特点要求,故本题选择C选项
5.[单选题]Software entities are more complex fortheir size than perhaps any other human construct, because no two parts arealike (at least above the statement level). If they are, we make the twosimilar
parts into one, a(71 ), open or closed. In this respect software systems differprofoundly from computers,buildings, or automobiles, where repeated elementsabound.Digital computers are themselves morecomplex than most things people build; they have very large numbers of states.This makes conceiving, describing, and testing them hard. Software systems haveorders of magnitude more (72 )than computers do.Likewise, a scaling-up of a software entityis not merely a repetition of the same elements in larger size; it is necessarily an increase inthe number of different elements. In most cases, the elements interact witheach other in some( 73 )fashion,andthe complexity of the whole increases much more than linearly.The complexity of software is a(an)(74 )property, notan accidental one. Hence descriptions of a software entity that abstract awayits complexity often abstract away its essence.Mathematics and the physicalsciences made great strides for three centuries by constructing simplifiedmodels of complex phenomena, deriving properties from the models, and verifyingthose properties experimentally. This worked because the complexities(75 )in the modelswere not the essential properties of the phenomena.
It does not work when thecomplexities are the essence.Many of the classical problems ofdeveloping software products derive from this essential complexity and its nonlinear increases withsize. Not only
technical problems but management problems as well come from the complexity.
A)states
B)parts
C)conditions
D)expressions
答案:A
解析:
6.[单选题]设一个包含N个顶点、E条边的简单无向图采用邻接矩阵存储结构(矩阵元素A[i][j]等于I/O分别表示顶点
i与顶点j之间有/无边),则该矩阵中的非零元素数目为( )。
A)N
B)E
C)2E
D)N+E
答案:C
解析:本题考查数据结构的基础知识。无向图的邻接矩阵是一个对称矩阵,每条边会表示两次,因此矩阵中的非零元素数目为2E。
7.[单选题]请回答46,下图所示为(44)设计模式,属于(45)设计模式,适用于(46)。
A)表示对象的部分-整体层次结构时
B)当一个对象必须通知其它对象,而它又不能假定其它对象是谁时
C)当创建复杂对象的算法应该独立于该对象的组成部分及其装配方式时
D)在需要比较通用和复杂的对象指针代替简单的指针时
答案:A
解析:本题考查面向对象设计模式知识点设计模式是一套被反复使用、经过分类编目的代码设计经验的总结使用设计模式是为了复用成功的设计和体系结构、复用相似问题的相同解决方案,保证代码可靠性,使代码编制真正工程化,能够适应需求的变化共有23种设计模式组合(Composite)模式将对象组合成树形结构以表示“部分-整体”的层次结构它使得客户对单个对象和复合对象的使用具有一致性设计模式有如下的分类:1.创建型模式单独对对象的创建进行研究,从而能够高效地创建对象6个创建型模式:简单工厂模式(SimpleFactory)、工厂方法模式(FactoryMethod)、抽象工厂模式(AbstractFactory)、创建者模式(Builder)、原型模式(Prototype)、单例模式(Singleton)2.结构型模式研究对象的组成以及对象之间的依赖关系,如何设计对象的结构、继承和依赖关系会影响到后续程序的维护性、代码的健壮性、耦合性等有7个具体的结构型模式可供研究,它们分别是:外观模式(Facade)、适配器模式(Adapter)、代理模式(Proxy)、装饰模式(Decorator)、桥接模式(Bridge)、组合模式(Composite)、享元模式(Flyweight)3.行为型模式行为型设计模式是对对象的行为进行研究,它们分别是:模板方法模式(TemplateMethod)、观察者模式(Observer)、状态
模式(State)、策模式(Strategy)、职责链模式(ChainofResponsibility)、命令模式(Command)、访问者模式(Visitor)、调停者模式(Mediator)、备忘录模
式(Memento)、迭代器模式(Iterator)、解释器模式(Interpreter)从本题图中可看出,类Leaf表示叶子节点(部分节点),类Composite表示组合节点(整体节点),它们同时继承于父类Component,同时实现了相同的操作Operation,这使得客户对单个对象(Leaf类对象)和复合对象(Composite类对象)的使用具有一致性,试题(44)选择
C选项组合模式将对象组合成树形结构以表示“部分-整体”的层次结构关系,故试题(45)选择B选项,试题(46)选择A选项
8.[单选题]GB/T 18905.5《软件工程产品评价》中,分别规定了开发者用、需方用、评价者用的过程,以下理解正确的是______
A)计划开发新产品的厂商,该标准中规定不允许利用他们自己的技术人员进行产品评价
B)软件产品的一般评价过程是:确立评价需求,规定、设计和执行评价
C)该标准不适用于对软件产品执行独立评估的第三方评测机构
D)该标准可用来决定从众多可选产品中选择某个产品,但该产品不可以是较大产品的一部分
答案:B
解析:本题考查对GB/T 18905标准各部分分工的掌握。 有关内容见《软件评测师教程》。 选项A:计划开发新产品或增强现有的产品,以及打算利用他们自己的技术人员进行产品评价的组织应使用GB/T 18905.3。 选项C:使用GB/T 18905.5对软件产品执行独立评估的评价者通常为第三方组织工作。 选项D:计划获取或复用某个已有的软件产品或预先开发的软件产品的组织应使用GB/T18905.4。该部分可用来决定接受产品或者从众多可选产品中选择某个产品(产品可以是自包含的,或是系统的一部分,或者是较大产品的一部分)
9.[单选题]某模块实现两个功能:向某个数据结构区域写数据和从该区域读数据。该模块的内聚类型为( )内聚。
A)过程
B)时间
C)逻辑
D)通信
答案:D
解析:题考查软件工程内聚度知识点。内聚是指一个模块内各个元素彼此结合的紧密程度,它是信息隐蔽和局部的概念的自然扩展。设计时应该力求高内聚,理想内聚的模块应当恰好做一件事情。 偶然内聚:一个模块的各成分之间毫无关系。比如:一组语句在程序的多处出现,为了节省内存空间,这些语句放在一个模块中,该模块的内聚是偶然内聚的。逻辑内聚:把几种逻辑上相关的功能组放在同一模块中。瞬时内聚(时间内聚):一个模块所包含的任务必须在同一时间间隔内执行,例如初始化模块。过程内聚:一个模块的处理元素是相关的,而且必须按特定的次序执行。通信内聚:一个模块的所有成分都结合在同一个数据结构上。顺序内聚:模块的成分同一个功能密切相关,且输出,作为另外一个成分的输入。功能内聚:模块内的所有成分属于一个整体,完成单一的功能。在以上的内聚中,内聚度从低到高,偶然内聚度最低,功能内聚度最高。模块的高内聚、低耦合的原则称为模块独立原则,也称为模块设计的原则。本题选择D选项
10.[单选题]UML图中,对新开发系统的需求进行建模,规划开发什么功能或测试用例,采用( )最适合。
A)类图
计算机软件水平考试B)对象图
C)用例图
D)交互图
答案:C
解析:本题考查面向对象UML建模语言知识点在UML中,有9种基本的图形其中,用例图:用例图以图形化的方式描述系统与外部系统及用户的交互,其以图形化的方式描述了谁将使用系统,以及用户期望以什么方式与系统交互,主要用在面向对象需求分析阶段部署图:部署图描述系统中硬件和软件的物理架构,它描述构成系统架构的软件结构、处理器和设备
11.[单选题]软件工程的基本要素包括方法、工具和( )
A)软件系统
B)硬件系统
C)过程
D)人员
答案:C
解析:本题考查软件工程的基本概念。软件工程是一种层次化的技术,从底向上分别为质量、过程、方法和工具。任何工程方法必须以有组织的质量承诺为基础。软件工程的基础是过程,过程是将技术结合在一起的凝聚力,使得计算机软件能够被合理地和及时地开发,过程定义了一组关键过程区域,构成了软件项目管理控制的基础;方法提供了建造软件在技术上需要“如何做”,它覆盖了一系列的任务。方法也依赖于一些基本原则,这些原则控制了每一个技术区域而且包含建模活动和其他描述技术;工具对过程和方法提供了自动或半自动的支持,如:计算机辅助软件工程(CASE)。软件工程的基本要素包括方法、工具和过程
12.[单选题]以下关于二叉排序树(或二叉查树、二叉搜索树)的叙述中,正确的是( )。
A)对二叉排序树进行先序、中序和后序遍历,都得到结点关键字的有序序列
B)含有n个结点的二叉排序树高度为 log2n +1
C)从根到任意一个叶子结点的路径上,结点的关键字呈现有序排列的特点
D)从左到右排列同层次的结点,其关键字呈现有序排列的特点
答案:D
解析:
13.[单选题]( )不是数字签名的作用。
A)接收者可验证消息来源的真实性
B)发送者无法否认发送过该消息
C)接收者无法伪造或篡改消息
D)可验证接收者合法性
答案:D
解析:数字签名是信息的发送者才能产生的别人无法伪造的一段数字串,这段数字串同时也是对信息的发送者发送信息真实性的一个有效证明。不能验证接收者的合法性。
14.[单选题]假设系统中有n个进程共享3台打印机,任一进程在任一时刻最多只能使用1台打印机。若用PV操作控制n个进程使用打印机,则相应信号量s的取值范围为( );若信号量S的值为-3,则系统中有(请作答此空)个进程等待使用打印机。
A)0
B)1
C)2
D)3
答案:D
解析:试题(1)的正确答案为选项B。根据题意,假设系统中有n个进程共享3台打印机,意味着每次只允许3个进程进入互斥段,那么信号量的初值应为3。可见,根据排除法只有选项B中含有3。试题(2)的正确答案为选项D。信号量S的物理意义为:当S≥0时,表示资源的可用数;当S小于0时,其绝对值表示等待资源的进程数。
15.[单选题](请作答此空)设计模式允许一个对象在其内部状态改变时改变它的行为。下图为这种设计模式的类图
,已知类State为抽象类,则类( )的实例代表Context对象的状态。
A)单件(Singleton)
B)桥接(Bridge)
C)组合(Composite)
D)状态(State)
答案:D
解析:本题考查面向对象中的设计模式该类图描述的是状态设计模式State的子类 ConcreteStateA和ConcreteStateB都表示Context对象在运行过程中可能转换的状态
16.[单选题]在采用结构化开发方法进行软件开发时,设计阶段接口设计主要依据需求分析阶段的( )。接口设计的任务主要是(请作答此空)。
A)定义软件的主要结构元素及其之间的关系
B)确定软件涉及的文件系统的结构及数据库的表结构