1、软件水平考试(中级)软件设计师上午(基础知识)试题模拟试卷 87及答案与解析 0 给定关系模式 R(A, B, C, D)、 S(C, D, E),与 1,3,5(2=软件工程 )等价的 SQL语句如下: SETECT (53) FROM R, s WHERE (54) ;下列查询 B=“信息 ”且E=“北京 ”的 A、 B、 E的关系代数表达式中,查询效率最高的是 (55) 。 1 (53) ( A) A, C, S C ( B) A, B, E ( C) A, R C, E ( D) A, R C, S D 2 (54) ( A) B=软件工程 OR R C=S C AND R D=S-D
2、 ( B) B=软件工程 OR R C=S C AND R D=S D ( C) B=软件工程 OR R C=S C OR R D=S D ( D) B=软件工程 AND R C: S CAND R D=S D 3 (55) 3 以下媒体中, (12) 是表示媒体, (13)是表现媒体。 4 (12) ( A)声音 ( B)声音编码 ( C)超声波 ( D)喇叭 5 (13) ( A)声音 ( B)声音编码 ( C)超声波 ( D)喇叭 5 下图是一个软件 项目的活动图,其中顶点表示项目里程碑,连接顶点的边表示活动,边的权重表示活动的持续时间,则里程碑 (19)在关键路径上。活动 GH的松弛时
3、间是 (20) 。 6 (19) ( A) B ( B) E ( C) C ( D) K 7 (20) ( A) 0 ( B) 1 ( C) 2 ( D) 3 7 假设磁盘块与缓冲区大小相同,每个盘块读入缓冲区的时间为 10s,由缓冲区送至用户区的时间是 5s,系统对每个磁盘块数据的处理时间为 2s。若用户需要将大小为 10个磁盘块的 Docl文件逐块从磁盘读入缓冲区,并送至用户区进 行处理,那么采用单缓冲区需要花费的时间为 (25) s;采用双缓冲区需要花费的时间为 (26)s。 8 (25) ( A) 100 ( B) 107 ( C) 1 52 ( D) 170 9 (26) ( A)
4、100 ( B) 107 ( C) 152 ( D) 170 9 在如下所示的进程资源图中, (27) :该进程资源图是 (28) 。10 (27) ( A) P1、 P2、 P3都是阻塞节点 ( B) P1是阻塞节点、 P2、 P3是非阻塞节点 ( C) P1、 P2是阻塞节点、 P3是非阻塞节点 ( D) P1、 P2是非阻塞节点、 P3是阻塞节点 11 (28) ( A)可以化简的,其化简顺序为 P1一 P2一 P3 ( B)可以化简的,其化简顺序为 P3一 P1一 P2 ( C)可以化简的,其化简顺序为 P2一 P1一 P3 ( D)不可以化简的,因为 P1、 P2、 P3申请的资源都
5、不能得到满足 11 下图所示的程序流程图中有 (34) 条不同的简单路径。采用 McCabe度量法计算该程序图的环路复杂性为 (35) 。12 (34) ( A) 3 ( B) 4 ( C) 5 ( D) 6 13 (35) ( A) 3 ( B) 4 ( C) 5 ( D) 6 13 在面向对象程序设计语言中,对象之间通过 (39) 方式进行通信。以下关于好的面向对象程序设计语言的叙述中,不正确的是 (40) 。 14 (39) ( A)消息传递 ( B)继承 ( C)引用 ( D)多态 15 (40) ( A)应该支持被封装的对象 ( B)应该支持类与实例的概念 ( C)应该支持通过指针进
6、行引用 ( D)应该支持继承和多态 15 UML中有 4种事物:结构事物、行为事物、分组事物和注释事物。类、接口、构件属于 (41) 事物;一 个依附于一个元素或一组元素之上对其进行约束或解释的简单符号为 (42) 事物。 16 (41) ( A)结构 ( B)行为 ( C)分组 ( D)注释 17 (42) ( A)结构 ( B)行为 ( C)分组 ( D)注释 17 一组对象以定义良好但是复杂的方式进行通信,产生的相互依赖关系结构混乱且难以理解。采用 (43) 模式,用一个中介对象来封装一系列的对象交互,从而使各对象不需要显式地相互引用,使其耦合松散,而且可以独立地改变它们之间的交互。此模
7、式与 (44) 模式是相 互竞争的模式,主要差别是:前者的中介对象封装了其他对象间的通信,而后者通过引入其他对象来分布通信。 18 (43) ( A)解释器 (Interpreter) ( B)策略 (Strategy) ( C)中介者 (Mediator) ( D)观察者 (Observer) 19 (44) ( A)解释器 (Interpreter) ( B)策略 (Strategy) ( C)中介者 (Mediator) ( D)观察者 (Observer) 20 UML图中,一张交互图显示一个交互,由一组对象及其之间的关系组成, 包含它们之间可能传递的消息。 ( )不是交互图。 ( A
8、)序列图 ( B)对象图 ( C)通信图 ( D)时序图 20 下图所示为 (46) 设计模式,适用于 (47) 。21 (46) ( A)抽象工厂 (Abstract Factory) ( B)生成器 (Builder) ( C)工厂方法 (Factory Method) ( D)原型 (Prototype) 22 (47) ( A)一个系统要由多个产品系列中的一个来配置时 ( B)当一个类希望由它的子类来指定它所创建的对象时 ( C)当创建 复杂对象的算法应该独立于该对象的组成部分及其装配方式时 ( D)当一个系统应该独立于它的产品创建、构成和表示时 22 在数据库逻辑结构设计阶段,需要
9、(51) 阶段形成的 (52) 作为设计依据。 23 (51) ( A)需求分析 ( B)概念结构设计 ( C)物理结构设计 ( D)数据库运行和维护 24 (52) ( A)程序文档、数据字典和数据流图 ( B)需求说明文档、程序文档和数据流图 ( C)需求说明文档、数据字典和数据流图 ( D)需求说明文档、数据字典和程序文档 24 快速排序算 法在排序过程中,在待排序数组中确定一个元素为基准元素,根据基准元素把待排序数组划分成两个部分,前面一部分元素值小于等于基准元素,而后面一部分元素值大于基准元素。然后再分别对前后两个部分进一步进行划分。根据上述描述,快速排序算法采用了 (61) 算法设
10、计策略。已知确定基准元素操作的时间复杂度为 (n),则快速排序算法的最好和最坏情况下的时间复杂度为 (62) 。 25 (61) ( A)分治 ( B)动态规划 ( C)贪心 ( D)回溯 26 (62) ( A) (n)和 (nlgn) ( B) (n)和 (n2) ( C) (nlgn)和 (nlgn) ( D) (nlgn)和 (n2) 26 已知一个文件中出现的各字符及其对应的频率如下表所示。若采用定长编码,则该文件中字符的码长应为 (64) 。若采用 Huffi-nan编码,则字符序列 “face”的编码应为 (65) 。 27 (64) ( A) 2 ( B) 3 ( C) 4 (
11、 D) 5 28 (65) ( A) 110001001101 ( B) 001110110011 ( C) 101000010100 ( D) 010111101011 28 ICMP协议属于因特网中的 (67)协议, ICMP协议数据单元封装在 (68) 中传送。 29 (67) ( A)数据链路层 ( B)网络层 ( C)传输层 ( D)会话层 30 (68) ( A)以太帧 ( B) TCP段 ( C) UDP数据报 ( D) IP数据报 31 三总线结构的计算机总线系统由 ( )组成。 ( A) CPU总线、内存总线和 IO总线 ( B)数据总线、地址总线和控制总线 ( C)系统总线
12、、内部总线和外部总线 ( D)串行总线、并行总线和 PCI总线 32 计算机采用分级存储体系的主要目的是为了解决 ( )的问题。 ( A)主存容量不足 ( B)存储器读写可靠性 ( C)外设访问效率 ( D)存储容量、成本和速度之间的矛盾 33 属于 CPU中算术逻辑单元的部件是 ( )。 ( A)程序计数器 ( B)加法器 ( C)指令寄存器 ( D)指令译码器 34 内存按字节编址从 A5000H到 DCFFFH的区域其存储容量为 ( )。 ( A) 123KB ( B) 180KB ( C) 223KB ( D) 224KB 35 以下关于 RISC和 CISC的 叙述中,不正确的是 (
13、 )。 ( A) RISC通常比 CISC的指令系统更复杂 ( B) RISC通常会比 CISC配置更多的寄存器 ( C) RISC编译器的子程序库通常要比 CISC编译器的子程序库大得多 ( D) RISC比 CISC更加适合 VLSI工艺的规整性要求 36 Flynn分类法基于信息流特征将计算机分成 4类,其中 ( )只有理论意义而无实例。 ( A) SISD ( B) MISD ( C) SIMD ( D) MIMD 37 网络系统中,通常把 ( )置于 DMZ区。 ( A)网络管理服务器 ( B) Web服务器 ( C)入侵检测服务器 ( D)财务管理服务器 38 以下关于拒绝服务攻击
14、的叙述中,不正确的是 ( )。 ( A)拒绝服务攻击的目的是使计算机或者网络无法提供正常的服务 ( B)拒绝服务攻击是不断向计算机发起请求来实现的 ( C)拒绝服务攻击会造成用户密码的泄漏 ( D) DDoS是一种拒绝服务攻击形式 39 ( )不是蠕虫病毒。 ( A)熊猫烧香 ( B)红色代码 ( C)冰河 ( D)爱虫病毒 40 甲公司接受乙公司委托开发了一项应用软件,双方没有订立任何书面合同。在此情 形下, ( )享有该软件的著作权。 ( A)甲公司 ( B)甲、乙公司共同 ( C)乙公司 ( D)甲、乙公司均不 41 甲、乙软件公司于 2013年 9月 12日就其财务软件产品分别申请 “
15、大堂 ”和 “大唐 ”商标注册。两财务软件相似,且经协商双方均不同意放弃使用其申请注册的商标标识。此情形下, ( )获准注册。 ( A) “大堂 ” ( B) “大堂 ”与 “大唐 ”都能 ( C) “大唐 ” ( D)由甲、乙抽签结果确定谁能 42 显示深度、图像深度是图像显示的重要指标。当 ( )时,显示器不能完全反映数字图像中使 用的全部颜色。 ( A)显示深度 =图像深度 ( B)显示深度图像深度 ( C)显示深度 图像深度 ( D)显示深度图像深度 43 以下关于结构化开发方法的叙述中,不正确的是 ( )。 ( A)总的指导思想是自顶向下,逐层分解 ( B)基本原则是功能的分解与抽象
16、 ( C)与面向对象开发方法相比,更适合于大规模、特别复杂的项目 ( D)特别适合于数据处理领域的项目 44 模块 A、 B和 C都包含相同的 5个语句,这些语句之间没有联系。为了避免重复,把这 5个语句抽取出来组成一个模块 D,则模块 D的内聚类型为 ( )内聚。 ( A)功能 ( B)通信 ( C)逻辑 ( D)巧合 45 某个项目在开发时采用了不成熟的前沿技术,由此而带来的风险属于 ( )风险。 ( A)市场 ( B)技术 ( C)经济 ( D)商业 46 属于面向对象、解释型程序设计语言的是 ( )。 ( A) XML ( B) Python ( C) Prolog ( D) C+ 4
17、7 算术表达式 “(a-b)*(c+d)”的后缀式是 ( ) 。 ( A) ab-cd+* ( B) abed-*+ ( C) ab-*cd+ ( D) ab-c+d* 48 将高级语言源程序翻译成机器语言程序的过程中,常引入中间代码。以下关于中间代码的叙述中,不正确的是 ( )。 ( A)中间代码不依赖于具体的机器 ( B)使用中间代码可提高编译程序的可移植性 ( C)中间代码可以用树或图表示 ( D)中间代码可以用栈和队列表示 49 假设系统采用 PV操作实现进程同步与互斥。若 n个进程共享两台打印机,那么信号量 S的取值范围为 ( )。 ( A)一 2 n ( B) -(n一 1) 1
18、( C) -(n-1) 2 ( D) -(n一 2) 2 50 假设段页式存储管 理系统中的地址结构如下图所示,则系统 ( )。( A)最多可有 2048个段,每个段的大小均为 2048个页,页的大小为 2K ( B)最多可有 2048个段,每个段最大允许有 2048个页,页的大小为 2K ( C)最多可有 1024个段,每个段的大小均为 1024个页,页的大小为 4K ( D)最多可有 1024个段,每个段最大允许有 1024个页,页的大小为 4K 51 以下关于增量模型的叙述中,正确的是 ( )。 ( A)需求被清晰定义 ( B)可以快速构造核心产品 ( C)每个增量必须要进行风险评估 (
19、 D)不适 宜商业产品的开发 52 以下关于 CMM的叙述中,不正确的是 ( )。 ( A) CMM是指软件过程能力成熟度模型 ( B) CMM根据软件过程的不同成熟度划分了 5个等级,其中, 1级被认为成熟度最高, 5级被认为成熟度最低 ( C) CMMI的任务是将已有的几个 CMM模型结合在一起,使之构造成为 “集成模型 ” ( D)采用更成熟的 CMM模型,一般来说可以提高最终产品的质量 53 在 ISO IEC软件质量模型中,可靠性是指在规定的一段时间内和规定的条件下,软件维持在其性能水平的能力,其子特性不包括 ( )。 ( A)成熟性 ( B)容错性 ( C)易恢复 ( D)可移植性
20、 54 在软件开发过程中,系统测试阶段的测试目标来自于 ( ) 阶段。 ( A)需求分析 ( B)概要设计 ( C)详细设计 ( D)软件实现 55 以下关于文档的叙述中,不正确的是 ( )。 ( A)项目相关人员可以通过文档进行沟通 ( B)编写文档会降低软件开发的效率 ( C)编写高质量文档可以提高软件开发的质量 ( D)文档是软件的不可或缺的部分 56 以下关于软件维护和可维护性的叙述中,不正确的是 ( ) 。 ( A)软件维护要解决软件产品交付用户之后运行中发生的各种问题 ( B)软件的维护期通常比开发期长得多,其投入也大得多 ( C)进行质量保证审查可以提高软件产品的可维护性 ( D
21、)提高可维护性是在软件维护阶段考虑的问题 57 类 ( ) 之间存在着一般和特殊的关系。 ( A)汽车与轮船 ( B)交通工具与飞机 ( C)轮船与飞机 ( D)汽车与飞机 58 多态分为参数多态、包含多态、过载多态和强制多态四种不同形式,其中 ( )多态在许多语言中都存在,最常见的例子就是子类型化。 ( A)参数 ( B)包含 ( C)过载 ( D)强制 59 对高级语言源程序进行编译的过程可以分为多个阶段,分配寄存器的工作在 ( )阶段进行。 ( A)词法分析 ( B)语法分析 ( C)语义分析 ( D)目标代码生成 60 以下关于下图所示有限自动机的叙述中,不正确的是 ( )。 ( A)
22、该自动机识别的字符串中 a不能连续出现 ( B)该自动机识别的字符串中 b不能连续出现 ( C)该自动机识别的非空字符串必须以 a结尾 ( D)该自动机识别的字符串可以为空串 61 对于大多数通用程序设计语言,用 ( ) 描述其语法即可。 ( A)正规文法 ( B)上下文无关文法 ( C)上下文有关文法 ( D)短语结构文法 62 给定关系模式 R(U, F), U=A, B, C, D, E, H,函数依赖集 F=AB ,AC , CD , AEH 。关系模式 R的候选关键字为 ( )。 ( A) AC ( B) AB ( C) AE ( D) DE 63 对于线性表,相对于顺序存储,采用链
23、表存储的缺点是 ( )。 ( A)数据元素之间的关系需要占用存储空间,导致存储密度不高 ( B)表中结点必须占用地址连续的存储单元,存储密度不高 ( C)插入新元素时需要遍历整个链表,运算的时间效率不高 ( D)删除元素时需要遍历整个链表,运算的时间效率不高 64 若一个栈初始为空,其输入序列是 1, 2, 3, , n-1, n,其输出序列的第一个元素为 k(1kn 2),则输出序列的最后一个元素是 ( )。 ( A)值为 n的元素 ( B)值为 1的元素 ( C)值为 n-k的元素 ( D)不确定的 65 在某个二叉查找树 (即二叉排序树 )中进行查找时,效率最差的情形是该二叉查找树是 (
24、 )。 ( A)完全二叉树 ( B)平衡二叉树 ( C)单枝 树 ( D)满二叉树 66 在字符串的 KMP模式匹配算法中,需先求解模式串的 next函数值,其定义如下式所示, j表示模式串中字符的序号 (从 1开始 )。若模式串 p为 “abaac”,则其next函数值为 ( )。 ( A) 01234 ( B) 01122 ( C) 01211 ( D) 1111 67 对一待排序序列分别进行直接插入排序和简单选择排序,若待排序序列中有两个元素的值相同,则 ( ) 保证这两个元素在排序前后的相对位置不变。 ( A)直接插入排序和简单选择排序都可以 ( B)直接插入排序和简单选择排 序都不能
25、 ( C)只有直接插入排序可以 ( D)只有简单选择排序可以 68 PPP中的安全认证协议是 ( ),它使用三次握手的会话过程传送密文。 ( A) MD5 ( B) PAP ( C) CHAP ( D) HASH 69 DHCP客户端可从 DHCP服务器获得 ( )。 ( A) DHCP服务器的地址和 Web服务器的地址 ( B) DNS服务器的地址和 DHCP服务器的地址 ( C)客户端地址和邮件服务器地址 ( D)默认网关的地址和邮件服务器地址 70 分配给某公司网络的地址块是 210 115 192 0 20,该网络可以被划分为 ( )个 C类子网。 ( A) 4 ( B) 8 ( C)
26、 1 6 ( D) 32 70 Teams are required for most engineering projects Although some small hardware or software products can be developed by individuals, the scale and complexity of modem systems is such, and the demand for short schedules SO great, that it is no longer (71) for one person to do most engi
27、neering jobs Systems development is a team (72), and the effectiveness of the team largely determines the (73) of the engineering Development teams often behave much like baseball or basketball teams Even thoughthey may have multiple specialties, all the members work toward (74) However, on systems
28、maintenance and enhancement teams, the engineers often work relatively independently,much like wrestling and track teams A team is (75) just a group of people who happen to work together Teamwork takes practice and it involves special skills Teams require common processes; they need agreedupon goals
29、; and they need effective guidance and leadership The methods for guiding and leading such teams are well known, but they are not obvious 71 (71) ( A) convenient ( B) existing ( C) practical ( D) real 72 (72) ( A) activity ( B) job ( C) process ( D) application 73 (73) ( A) size ( B) quality ( C) sc
30、ale ( D) complexity 74 (74) ( A) multiple objectives ( B) different objectives ( C) a single objective ( D) independent obj ectives 75 (75) ( A) relatively ( B) ( C) only ( D) more than 软件水平考试(中级)软件设计师上午(基础知识)试题模拟试卷 87答案与解析 1 【正确答案】 C 2 【正确答案】 D 3 【正确答案】 B 【试题解析】 本题考查关系代数运算与 SQL查询方面 的基础知识。 试题 (53)的正
31、确答案为选项 C。 的含义是从 结果集中选取 B=软件工程 的元组,再进行 R A、 R C和 S E投影。 试题 (54)的正确答案为选项 D。自然联结 中的公共属性为 C、 D,所以在 SQL中可以用条件“WHERE R C=S C AND R D=S D”来限定。对于选取运算 2=信息化 在 SQL中可以用条件 “WHERE B=软件工程 ”来限定。 试题 (55)的正确答案为选项 B。关系代数表达式查询优化的原则如下: 提早执行选取运算。对于有选择运算的表达式,应优化成尽可能先执行选择运算 的等价表达式,以得到较小的中间结果,减少运算量和从外存读块的次数。 合并乘积与其后的选择运算为连
32、接运算。在表达式中,当乘积运算后面是选择运算时,应该合并为连接运算,使选择与乘积一道完成,以避免做完乘积后,需再扫描一个大的乘积关系进行选择运算。 将投影运算与其后的其他运算同时进行,以避免重复扫描关系。 将投影运算和其前后的二目运算结合起来,使得没有必要为去掉某些字段再扫描一遍关系。 在执行连接前对关系适当地预处理,就能快速地找到要连接的元组。方法有两种:索引连接法、排序合并连接法。 存储公共子表达式。 对于有公共子表达式的结果应存于外存 (中间结果 ),这样,当从外存读出它的时间比计算的时间少时,就可节约操作时间。 显然,根据原则 尽量提早执行选取运算,正确的选项是 B。 4 【正确答案】
33、 B 5 【正确答案】 D 【试题解析】 本题考查多媒体基础知识。传输媒体指传输表示媒体的物理介质,如电缆、光缆、电磁波等;表示媒体指传输感觉媒体,如声音、图像等的中介媒体,即用于数据交换的编码,如文本编码、声音编码和图像编码等;表现媒体是指进行信息输入和输出的媒体,如键盘、鼠标、话筒以及显示器、打印机、喇叭等; 存储媒体指用于存储表示媒体的物理介质,如硬盘、光盘等。声音信号的两个基本参数是幅度和频率。幅度是指声波的振幅,通常用动态范围表示,一般用分贝 (dB)为单位来计量。频率是指声波每秒钟变化的次数,用 Hz表示。人们把频率小于 20Hz声波信号称为亚音信号 (也称次音信号 );频率范围为
34、 20Hz-20kHz的声波信号称为音频信号;高于 20kHz的信号称为超音频信号 (也称超声波 )。 6 【正确答案】 A 7 【正确答案】 D 【试题解析】 本题考查活动图的基础知识。根据关键路径法,计算出关键路径为A-B-DI一 J-L,关键路径长度为 20,因此里程碑 B在关键路径上,而里程碑E、 C和 K不在关键路径上。包含活动 GH的最长路径是 A-EG-HK一 L,长度为 17,因此该活动的松弛时间为 20一 17=3。 8 【正确答案】 C 9 【正确答案】 B 【试题解析】 试题 (25)的正确的答案为 C。在块设备输入时,假定从磁盘把一块数据输入到缓冲区的时间为 T,缓冲区
35、中的数据传送到用户工作区的时间为 M,而系统处理 (计算 )的时间为 C,如图 (a)所示。当第一块数据送入用户工作区后,缓冲区是空闲的,可以传送第 二块数据。这样第一块数据的处理 C1与第二块数据的输入 T2是可以并行的,如图 (b)所示,依次类推。系统对每一块数据的处理时间为: Max(C, T)+M。因为当 T C时,处理时间为 M+T;当 T C时,处理时间为 M+C。本题每一块数据的处理时间为 10+5=15, Docl文件的处理时间为 15*10+2。 试题 (26)的正确答案为 B。双缓冲工作方式基本方法是在设备输入时,先将数据输入到缓冲区 1,装满后便转向缓冲区 2。此时系统可
36、以从缓冲区 1中提取数据传送到用户区,最后由系统对数据进行处理,如图 (c)所示。双缓冲可以 实现对缓冲区中数据的输入 T和提取 M,与 CPU的计算 C,三者并行工作,如图 (c)所示。从图中可以看出,双缓冲进一步加快了 I O的速度,提高了设备的利用率。在双缓冲时,系统处理一块数据的时间可以粗略地认为是 Max(C, T)。如果 C T,可使块设备连续输入;如果 C T,则可使系统不必等待设备输入。本题每一块数据的处理时间为 10,采用双缓冲需要花费的时间为 10*10+5+2=107。10 【正确答案】 C 【试题解析】 图中 R1资源只有 2个, P2进程申请该资源得不到满足,故 P2
37、进程是阻塞节点; R2资源 只有 3个, P1申请该资源得不到满足,故 P1进程也是阻塞节点; R3资源只有 2个,分配给 P1进程 1个, P3申请 1个该资源可以得到满足,故 P3是非阻塞节点。 11 【正确答案】 B 【试题解析】 R3资源有 2个,已分配 1个, P3申请 1个 R2资源可以得到满足,故进程 P3可以运行完毕释放其占有的资源。这样可以使得 P1、 P2都变为非阻塞节点,得到所需资源运行完毕,因此,进程资源图是可化简的。其化简顺序可以为 P3P1P2 或 P3P2P1 。 12 【正确答案】 A 13 【正确答案】 A 【试题解 析】 本题考查程序结构和复杂性的基本概念和
38、相关知识。重新画出上述流程图,给相关的操作加上编号,并给出对应的等价图,如下图 (a)和 (b)所示。从图 (a)可知,共有 3条简单路径,即 ; ; 。根据图 (b)计算程序复杂性,得到 n=7, e=8,因此复杂性为 e-n+2=3。 14 【正确答案】 A 15 【正确答案】 C 【试题解析】 本题考查面向对象的基本知识。在面向对象技术中,继承关系是一种模仿现实世界中继承关系的一种类之间的关系,是超类 (父类 )和子类之间共享数据和方 法的机制。面向对象语言中对象通过消息传递的方式进行相互通信。在继承的支持下,不同的对象收到同一消息可以进行不同的响应,并且会产生完全不同的结果,这种现象称
39、为多态。 好的面向对象程序设计语言一般应该支持被封装的对象、类与实例的概念、支持继承和多态等面向对象技术中的概念。 16 【正确答案】 A 17 【正确答案】 D 【试题解析】 本题考查统一建模语言 (UML)的基本知识。 UML是面向对象软件的标准化建模语言,由三个要素构成: UML的基本构造块、支配这些构造块如何放置在一起的规则和运用与 整个语言的一些公共机制。 UML的词汇表包含三种构造块:事物、关系和图。事物是对模型中最具有代表性的成分的抽象;关系把事物结合在一起;图聚集了相关的事物。 UML中有 4种事物:结构事物、行为事物、分组事物和注释事物。结构事物是LYML模型中的名词,它们通
40、常是模型的静态部分,描述概念或物理元素。结构事物包括类 (class)、接口 (interface)、协作 (collaboration)、用例 (use case)、主动类(active class)、构件 (component)、制品 (artifact)和结 点 (node)。行为事物是 UML模型的动态部分,它们是模型中的动词,描述了跨越时间和空间的行为。行为事物包括:交互 (interaction)、状态机 (state machine)和活动 (activity)。分组事物是UML,模型的组织部分,是一些由模型分解成的 “盒子 ”。在所有的分组事物中最主要的分组事物是包 (pack
41、age)。注释事物是 UML模型的解释部分。这些注释事物用来描述、说明和标注模型的任何元素。注解 (note)是一种主要的注释事物。注解是一个依附于一个元素或者一组元素之上,对它进行约束或解释的简单 符号。 18 【正确答案】 C 19 【正确答案】 D 【试题解析】 本题考查设计模式的基本概念。 解释器 (Interpreter)设计模式是给定一个语言,定义它的文法的一种表示,并定义一个解释器,这个解释器使用该表示来解释语言中的句子。策略 (Strategy)设计模式定义一系列算法,把它们一个个封装起来,并且使它们可相互替换。这一模式使得算法可独立于它的客户而变化。中介者 (Mediator)用一个中介对象来封装一系列的对象交互。中介者使各对象不需要显式地相互引用,从而使其耦合松散,而 且可以独立地改变它们之间的交互。观察者 (Observer)模式定义对象间的一种一对多的依赖关系,当一个对象的状态发生改变时,所有依赖于它的对象都得到通知并被自动更新。 以上四种设计模式都是行为设计模式。行为设计模式大多注重封装变化,当一个程序的某个方面的特征经常发生改变时,这些模式就定义一个封装这个方面的对象。这样,当该程序的其他部分依赖于这个方面时,它们都可以与此对象协