1、2015年5月第1题机器字长为n位的二进制数可以用补码来表示(1)个不同的有符号定点小数。(1)A.2nB.2n-1C.2n-1D.2n-1+1【答案】A【解析】本题考查计算机系统的基础知识。二进制数据在计算机系统中的表示方法是最基本的专业知识。补码本身是带符号位的,补码表示的数字中0是唯一的,不像原码有+0和-0之分,也就意味着n位进制编码可以表示2n个不同的数。2015年5月第2题计算机中CPU对其访问速度最快的是(2)。(2)A.内存B.CacheC.通用寄存器D.硬盘【答案】C【解析】本题考查计算机系统的基础知识。计算机系统中的CPU内部对通用寄存器的存取操作是速度最快的,其次是Cac
2、he,内存的存取速度再次,选项中访问速度最慢的就是作为外存的硬盘。它们共同组成分级存储体系来解决存储容量、成本和速度之间的矛盾。2015年5月第3题Cache的地址映像方式中,发生块冲突次数最小的是(3)。(3)A.全相联映像B.组相联映像C.直接映像D.无法确定【答案】A【解析】Cache工作时,需要拷贝主存信息到Cache中,就需要建变主存地址和Cache地址的映射关系。Cache的地址映射方法主要有三种,即全相联映像、直接映像和组相联映像。其中全相联方式意味着主存的任意一块可以映像到Cache中的任意一块,其特点是块冲突概率低,Cache空间利用率高,但是相联目录表容量大导致成本高、查表
3、速度慢; 直接映像方式是指主存的每一块只能映像到Cache的一个特定的块中,整个Cache地址与主存地址的低位部分完全相同,其特点是硬件简单,不需要相联存储器,访问速度快 (无须地址变换),但是Cache块冲突概率高导致Cache空间利用率很低;组相联方式是对上述两种方式的折中处理,对Cache分组,实现组间直接映射,组内全相联,从而获得较低的块冲突概率、较高的块利用率,同时得到较快的速度和较低的成本。2015年5月第4题计算机中CPU的中断响应时间指的是(4)的时间。(4)A.从发出中的请求到中断处理结束B.从中断处理开始到中断处理结束C.CPU分析判断中断请求D.从发出中断请求到开始进入中
4、断处理程序【答案】D【解析】本题考查计算机组成的基础知识。中断系统是计算机实现中断功能的软硬件总称。一般在CPU中设置中断机构,在外设接口中设置中断控制器,在软件上设置相应的中断服务程序。中断源在需要得到CPU服务时,请求CPU暂停现行工作转向为中断源服务,服务完成后,再让CPU回到原工作状态继续完成被打断的工作。中断的发生起始于中断源发出中断请求,中断处理过程中,中断系统需要解决一系列问题,包括中断响应的条件和时机,断点信息的保护与恢复,中断服务程序入口、中断处理等。中断响应时间,是指从发出中断请求到开始进入中断服务程序所需的时间。2015年5月第5题总线宽度为32bit,时钟频率为200M
5、Hz,若总线上每5个时钟周期传送一个32bit的字,则该总线的带宽为(5)MB/s。(5)A.40B.80C.160D.200【答案】C【解析】本题考查计算机系统的基础知识。总线宽度是指总线的线数,即数据信号的并行传输能力,也体现总线占用的物理空间和成本;总线的带宽是指总线的最大数据传输率,即每秒传输的数据总量。总线宽度与时钟频率共同决定了总线的带宽。32bit / 8=4 Byte, 200MHz/5 X 4 Byte = 160 MB/s2015年5月第6题以下关于指令流水线性能度量的叙述中,错误的是(6)。(6)A.最大吞吐率取决于流水线中最慢一段所需的时间B.如果流水线出现断流,加速比
6、会明显下降C.要使加速比和效率最大化应该对流水线各级采用相同的运行时间D.流水线采用异步控制会明显提高其性能【答案】D【解析】本题考查计算机系统结构的基础知识。对指令流水线性能的度量主要有吞吐率,加速比和效率等指标。吞吐率是指单位时间内流水线所完成的任务数或输出结果的数量,最太吞吐率则是流水线在达到稳定状态后所得到的吞吐率,它取决于流水线中最慢一段所需的时间,所以该段成为流水线的瓶颈。流水线的加速比定义为等功能的非流水线执行时间与流水线执行时间之比,加速比与吞吐率成正比,如果流水线断流,实际吞吐率将会明显下降,则加速比也会明显下降。 流水线的效率是指流水线的设备利用率,从时空图上看效率就是n个
7、任务所占的时空区与m个段总的时空区之比。因此要使加速比和效率最大化应该流水线各级采用相同的运行时间。另外,流水线釆用异步控制并不会给流水线性能带来改善,反而会增加控制电路的复杂性。2015年5月第7题(7)协议在终端设备与远程站点之间建立安全连接。(7)A.ARPB.TelnetC.SSHD.WEP【答案】C【解析】终端设备与远程站点之间建立安全连接的协议是SSH。SSH为Secure Shell的缩写, 是由IETF制定的建立在应用层和传输层基础上的安全协议。SSH是专为远程登录会话和其他网络服务提供安全性的协议。利用SSH协议可以有效防止远程管理过程中的信息泄露问题。SSH最初是UNIX上
8、的程序,后来又迅速扩展到其他操作平台。2015年5月第8题安全需求可划分为物理线路安全、网络安全、系统安全和应用安全。下面的安全需求中属于系统安全的是(8),属于应用安全的是(9)。(8)A.机房安全B.入侵检测C.漏洞补丁管理D.数据库安全(9)A.机房安全B.入侵检测C.漏洞补丁管理D.数据库安全【答案】C D【解析】机房安全属于物理安全,入侵检测属于网络安全,漏洞补丁管理属于系统安全,而数据库安全则是应用安全。2015年5月第10题王某是某公司的软件设计师,每当软件开发完成后均按公司规定编写软件文档,并提交公司存档。那么该软件文档的著作权(10)享有。(10)A.应由公司B.应由公司和王
9、某共同C.应由王某D.除署名权以外,著作权的其他权利由王某【答案】A【解析】本题考查知识产权的基本知识。依据著作权法第十一条、第十六条规定,职工为完成所在单位的工作任务而创作的作品属于职务作品。职务作品的著作权归属分为两种情况。虽是为完成工作任务而为,但非经法人或其他组织主持,不代表其意志创作, 也不由其承担责任的职务作品,如教师编写的教材,著作权应由作者享有,但法人或者其他组织在其业务范围内有优先使用的权利,期限为2年。由法人或者其他组织主持,代表法人或者其他组织意志创作,并由法人或者其他组织承担责任的职务作品,如工程设计、产品设计图纸及其说明、计算机软件、地图等职务作品,以及法律规定或合同
10、约定著作权由法人或非法人单位单独享有的职务作品, 作者享有署名权,其他权利由法人或者其他组织享有。2015年5月第11题甲、乙两公司的软件设计师分别完成了相同的计算机程序发明,甲公司先于乙公司完成,乙公司先于甲公司使用。甲、乙公司于同一天向专利局申请发明专利。此情形下,(11)可获得专利权。(11)A.甲公司B.甲、乙公司均C.乙公司D.由甲、乙公司协商确定谁【答案】D【解析】本题考查知识产权的基本知识。当两个以上的申请人分别就同样的发明创造申请专利的,专利权授给最先申请的人。如果两个以上申请人在同夸日分别就同样的发明创造申请专利的,应当在收到专利行政管理部门的通知后自行协商确定申请人。如果协
11、商不成,专利局将驳回所有申请人的申请,即均不授予专利权。我国专利法规定“两个以上的申请人分别就同样的发明创造申请专利的,专利权授予最先申请的人。”我国专利法实施细则规定:“同样的发明创造只能被授予一项专利。依照专利法第九条的规定,两个以上的申请人在同一日分别就同样的发明创造申请专利的,应当在收到国务院专利行政部门的通知后自行协商确定申请人。”2015年5月第12题以下媒体中,(12)是感觉媒体。(12)A.音箱B.声音编码C.电缆D.声音【答案】D【解析】本题考查多媒体的基本知识。感觉媒体指直接作用于人的感觉器官,使人产生直接感觉的媒体,如引起听觉反应的声音,引起视觉反应的图像等。2015年5
12、月第13题微型计算机系统中,显示器属于(13)。(13)A.表现媒体B.传输媒体C.表示媒体D.存储媒体【答案】A【解析】本题考查多媒体的基本知识。表现媒体是指进行信息输入和输出的媒体,如键盘、鼠标、话筒,以及显示器、打印机、_机等;表示媒体指传输感觉媒体的中介媒体,即用于数据交换的编码,如图像编码、文本编码和声音编码等;传输媒体指传输表示媒体的物理介质,如电缆、光缆、电磁波等;存储媒体指用于存储表示媒体的物理介质,如硬盘、光盘等。2015年5月第14题(14)是表示显示器在纵向(列)上具有的像素点数目指标。(14)A.显示分辨率B.水平分辨率C.垂直分辨率D.显示深度【答案】C【解析】本题考
13、查多媒体的基本知识。显示分辨率是指显示器上能够显示出的像素点数目,即显示器在横向和纵向上能够显示出的像素点数目。水乎分辨率表明显示器水平方向(横向)土显示出的像素点数目, 垂直分辨率表明显示器垂直方向(纵向)上显示出的像素点数目。例如,显示分辨率为1024X768则表明显示器水平方向上显示1024个像素点,垂直方向上显示768个像素点, 整个显示屏就含有796432个像素点。屏幕能够显示的像素越多,说明显示设备的分辨率越高,显示的图像质量越髙。显示深度是指显示器上显示每个像素点颜色的二进制位数。2015年5月第15题软件工程的基本要素包括方法、工具和(15)。(15)A.软件系统B.硬件系统C
14、.过程D.人员【答案】C【解析】本题考查软件工程的基本概念。软件工程是一种层次化的技术,从底向上分别为质量、过程、方法和工具。任何工程方法必须以有组织的质量承诺为基础。软件工程的基础是过程,过程是将技术结合在一起的凝聚力,使得计算机软件能够被合理地和及时地开发,过程定义了一组关键过程区域,构成了软件项目管理控制的基础;方法提供了建造软件在技术上需要“如何做”, 它覆盖了一系列的任务。方法也依赖于一些基本原则,这些原则控制了每一个技术区域 而且包含建模活动和其他描述技术;工具对过程和方法提供了自动或半自动的支持,如:计算机辅助软件工程(CASE)。软件工程的基本要素包括方
15、法、工具和过程。2015年5月第16题在(16)设计阶段选择适当的解决方案,将系统分解为若干个子系统,建立整个系统的体系结构。(16)A.概要B.详细C.结构化D.面向对象【答案】A【解析】本题考查软件工程的基本概念。软件设计的任务是基于需求分析的结果建立各种设计模型,给出问题的解决方案。从工程管理的角度,可以将软件设计分为两个阶段:概要设计阶段和详细设计阶段。结构化设计方法中,概要设计阶段进行软件体系结构的设计、数据设计和接口设计;详细设计阶段进行数据结构和算法的设计。面向对象设计方法中,概要设计阶段进行体系结构设计、初步的类设计/数据设计、结构设计;详细设计阶段进行构件设计。结构化设计和面
16、向对象设计是两种不同的设计方法,结构化设计根据系统的数据流图进行设计,模块体现为函数、过程及子程序;面向对象设计基于面向对象的基本概念进行,模块体现为类、对象和构件等。2015年5月第17题某项目包含的活动如下表所示,完成整个项目的最短时间为(17)周。不能通过缩短活动(18)的工期,来缩短整个项目的完成时间。(17)A.16B.17C.18D.19(18)A.AB.BC.DD.F【答案】D B【解析】本题考查软件项目管理的基础知识。活动图是描述一个项目中各个工作任务相互依赖关系的一种模型,项目的很多重要特性可以通过分析活动图得到,如估算项目完成时间,计算关键路径和关键活动等。根据上表给出的数
17、据,构建活动图,如下图所示。从上图很容易看出,关键路径为A-D-E-F-H,其长度为19,关键路径上的活动均为关键活动。2015年5月第19题风险的优先级通常是根据(19)设定。(19)A.风险影响(Risk Impact)B.风险概率(Risk Probability)C.风险暴露(Risk Exposure)D.风险控制(Risk Control)【答案】C【解析】本题考查软件项目管理的基础知识。风险是一种具有负面后果的、人们不希望发生的事件。风险管理是软件项目管理的一项重要任务。在进行风险管理时,根据风险的优先级来确定风险控制策略,而优先级是根据风险暴露来确定的。风险暴露是一种量化风险影
18、响的指标,等于风险影响乘以风险概率,风险影响是当风险发生时造成的损失。风险概率是风险发生的可能性。风险控制是风险管理的一个重要活动。 2015年5月第20题以下关于程序设计语言的叙述中,错误的是(20)。(20)A.程序设计语言的基本成分包括数据、运算、控制和传输等B.高级程序设计语言不依赖于具体的机器硬件C.程序中局部变量的值在运行时不能改变D.程序中常量的值在运行时不能改变【答案】C【解析】本题考查程序语言基础知识。选项A涉及程序语言的一般概念,程序设计语言的基本成分包括数据、运算、控制和传输等。选项B考查高级语言和低级语言的概念。对于程序设计语言高级语言和低级语言是指其相对于运行程序的机
19、器的抽象程度。低级语言在形式上更接近机器指令,汇编语 言就是与机器指令一一对应的。高级语言对底层操作进行了抽象和封装,其一条语句对应多条机器指令,使编写程序的过程更符合人类的思维习惯,并且极大简化了人力劳动。 高级语言不依赖于具体的机器硬件。选项C考查局部变量的概念,凡是在函数内部定义的变量都是局部变量(也称作内部变量),包括在函数内部复合语句中定义的变量和函数形参表中说明的形式参数。局部变量只能在函数内部使用,其作用域是从定义位置起至函数体或复合语句体结束为止。 局部变量的值通常在其生存期内是变化的。选项D考查常量的概念,程序中常量的值在运行时是不能改变的。2015年5月第21题与算术表达式
20、“(a+(b-c)*d“ 对应的树是(21)。 (21)A. B. C. D.【答案】B【解析】本题考查程序语言与数据结构基础知识。对算术表达式“(a+(b-c)*d”求值的运算处理顺序是:先进行b-c,然后与a相加, 最后再与d相乘。只有选项B所示的二叉树与其相符。2015年5月第22题C程序中全局变量的存储空间在(22)分配。(22)A.代码区B.静态数据区C.栈区D.堆区【答案】B【解析】本题考查程序语言基础知识。程序运行时的用户内存空间一般划分为代码区、静态数据区、栈区和堆区,其中栈区和堆区也称为动态数据区。全局变量的存储空间在静态数据区。2015年5月第23题进程P1、P2、P3、P
21、4和P5的前趋图如下所示:若用PV操作控制进程P1、P2、P3、P4 、P5并发执行的过程,则需要设置5个信号量S1、S2、S3、S4和S5,且信号量S1S5的初值都等于零。下图中a、b 和c处应分别填写(23);d和e处应分别填写(24),f和g处应分别填写(25)。(23)A.V(S1)、P(S1)和V(S2)V(S3)B.P(S1)、V (S1)和V(S2)V(S3)C.V(S1)、V(S2)和P(S1)V(S3)D.P(S1)、V(S2)和V(S1)V(S3)(24)A.V(S2)和P(S4)B.P(S2)和V(S4)C.P(S2)和P(S4)D.V(S2)和V(S4)(25)A.P(
22、S3)和V(S4)V(S5)B.V(S3)和P(S4)P(S5)C.P(S3)和P(S4)P(S5)D.V(S3)和V(S4)V(S5)【答案】A B C【解析】试题(23)的正确的答案为A。根据前驱图,P1进程执行完需要通知P2进程,故需要利用V (S1)操作通知P2进程,所以空a应填V (S1); P2进程需要等待P1进程的结果,故需要利用P (S1)操作测试P1进程是否运行完,所以空b应填P (S1);又 由于P2进程运行结束需要利用V (S2)、V (S3)操作分别通知P3、P4进程,所以空c应填V (S2)、V (S3)。试题(24)的正确的答案为B。根据前驱图,P3进程运行前需要等
23、待P2进程的结果,故需执行程序前要先利用1个P操作,根据排除法可选项只有选项B和选项C。又因为P3进程运行结束后需要利用1个V操作通知P5进程,根据排除法可选项只有选项B满足要求。试题(25)的正确的答案为C。根据前驱图,P4进程执行前需要等待P2进程的结果,故空f处需要1个P操作;P5进程执行前需要等待P3和P4进程的结果,故空g处需要2个P操作。根据排除法可选项只有选项C能满足要求。2015年5月第26题某进程有4个页面,页号为03,页面变换表及状态位、访问位和修改位的含义如下图所示。若系统给该进程分配了3个存储块,当访问前页面1不在内存时,淘汰表中页号为(26) 的页面代价最小。(26)
24、A.0B.1C.2D.3【答案】D【解析】根据题意,页面变换表中状态位等于0和1分别表示页面不在内存或在内存,所以0、2和3号页面在内存。当访问的页面1不在内存时。系统应该首先淘汰未被访问的页面,因为根据程序的局部性原理最近未被访问的页面下次被访问的概率更小;如果页面最近都被访问过,应该先淘汰未修改过的页面。因为未修改过的页面内存与辅存一致,故淘汰时无须写回辅存,使系统页面置换代价小。经上述分析,0、2和3号瓦面都是最近被访问过的,但0和2号页面都被修改过而3号页面未修改过,故应该淘汰3号页面。2015年5月第27题嵌入式系统初始化过程主要有3个环节,按照自底向上、从硬件到软件的次序依次为(2
25、7)。系统级初始化主要任务是(28)。(27)A.片级初始化系统级初始化板级初始化B.片级初始化板级初始化系统级初始化C.系统级初始化板级初始化片级初始化D.系统级初始化片级初始化板级初始化(28)A.完成嵌入式微处理器的初始化B.完成嵌入式微处理器以外的其他硬件设备的初始化C.以软件初始化为主,主要进行操作系统的初始化D.设置嵌入式微处理器的核心寄存器和控制寄存器工作状态【答案】B C【解析】本题考查应试者对嵌入式系统方面的基础知识。嵌入式系统初始化过程可以分为3个主要环节,按照自底向上、从硬件到软件的次序依次为:片级初始化、板级初始化和系统级初始化。片级初始化完成嵌入式微处理器的初始化,包
26、括设置嵌入式微处理器的核心寄存器和控制寄存器、嵌入式微处理器核心工作模式和嵌入式微处理器的局部总线模式等。片级初始化把嵌入式微处理器从上电时的默认状态逐步设置成系统所要求的工作状态。这是一个纯硬件的初始化过程。板级初始化完成嵌入式微处理器以外的其他硬件设备的初始化。另外,还需设置某些软件的数据结构和参数,为随后的系统级初始化和应用程序的运行建立硬件和软件环境。这是一个同时包含软硬件两部分在内的初始化过程。系统初始化过程以软件初始化为主,主要进行操作系统的初始化。BSP将对嵌入式微处理器的控制权转交给嵌入式操作系统,由操作系统完成余下的初始化操作,包含加载和初始化与硬件无关的设备驱动程序,建立系
27、统内存区,加载并初始化其他系统软件模块,如网络系统、文件系统等。最后,操作系统创建应用程序环境,并将控制权交给应用程序的入口。2015年5月第29题某公司计划开发一种产品,技术含量很高,与客户相关的风险也很多,则最适于采用(29)开发过程模型。(29)A.瀑布B.原型C.增量D.螺旋【答案】D【解析】本题考查软件过程模型的基础知识。瀑布模型将软件生存周期各个活动规定为线性顺序连接的若干阶段的模型,规定了由前至后,相互衔接的固定次序,如同瀑布流水,逐级下落。这种方法是一种理想的开发模式,缺乏灵活性,特别是无法解决软件需求不明确或不准确的问题。原型模型从初始的原型逐步演化成最终软件产品,特别适用于
28、对软件需求缺乏准确认识的情况。增量开发是把软件产品作为一系列的增量构件来设计、编码、集成和测试,可以在增量开发过程中逐步理解需求。螺旋将瀑布模型与快速原型模型结合起来,并且加入两种模型均忽略了的风险分析,适用于复杂的大型软件。2015年5月第30题在敏捷过程的方法中(30)认为每一个不同的项目都需要一套不同的策略、约定和方法论。(30)A.极限编程(XP)B.水晶法(Crystal)C.并列争球法(Scrum) D.自适应软件开发(ASD)【答案】B【解析】本题考查敏捷方法的基础知识。在20世纪90年代后期,一些开发人员抵制产格化软件开发过程,试图强调灵活性在快速有效的软件生产中的作用,提出了
29、敏捷宣言,即个人和交互胜过过程和工具;可 以运行的软件胜过面面俱到的文档;与客户合作胜过合同谈判;对变化的反应胜过遵循计划。基于这些基本思想,有很多敏捷过程的典型方法,其中:极限编程XP是激发开发人员创造性、使得管理负担最小的一组技术.。水晶法Crystal认为每个不同的项目都需要一套不同的策略、约定和方法论。并列争球法(Scram)使用迭代的方法,其中把每30天一次的迭代称为个冲刺, 并按需求的优先级来实现产品多个自组织和自治小组并行地递增实现产品,协调是通过简短的日常情况会议进行。自适应软件开发(ASD)有六个基本的原则:在自适应软件开发中,有一个使命作为指导,它设立了项目的目标,但不描述
30、如何达到这个目标;特征被视为客户键值的关键,因此,项目是围绕着构造的构件来组织并实现特征;过程中的迭代是很重要的,因此重做与做同样重要,变化也包含其中;变化不视为是一种更正,而是对软件开发实际情况的调整;确定的交付时间迫使开发人员认真考虑每一个生产版本的关键需求;风险也包含其中,它使开发人员首先跟踪最艰难的问题。2015年5月第31题软件配置管理的内容不包括(31)。(31)A.版本控制B.变更控制C.过程支持D.质量控制【答案】D【解析】本题考查软件配置管理的基础知识。软件配置管理SCM用于整个软件工程过程,其主要目标是标识变更、控制变更、确保变更正确的实现,报告变更。其主要内容包括版本管理
31、、配置支持、变更支持、过 程支持、团队支持、变化报告和审计支持等。2015年5月第32题某模块实现两个功能:向某个数据结构区域写数据和从该区域读数据。该模块的内聚类型为(32)内聚。(32)A.过程B.时间C.逻辑D.通信【答案】D【解析】本题考查软件设计的基础知识。模块独立性是创建良好设计的一个重要原则,一般采用模块间的耦合和模块的内聚两个准则来进行度量。耦合程度越低,内聚程度越高,则模块的独立性越好。存在多种模块内聚类型,从高到低依次为功能、通信、顺序、过程、时间、逻辑和偶然内聚。一个模块内的几个操作是相关的,而且必须以特定的次序执行,则该模块的内聚类型为过程内聚。模块的各个功能的执行与时
32、间有关,通常要求所有功能必须在同一时间段内执行, 则该模块的内聚类型为时间内聚。若一个模块的各个部分只是通过代码的逻辑结构相关联,则该模块的内聚类型为逻辑内聚。把访问或操作在同一数据结构的操作放在一个模块中,则该模块的内聚类型为通信内聚。2015年5月第33题正式技术评审的目标是(33)。(33)A.允许高级技术人员修改错误B.评价程序员的工作效率C.发现软件中的错误D.记录程序员的错误情况并与绩效挂钩【答案】C【解析】本题考查软件评审的基础知识。软件评审的内容包括设计质量评审、程序质量评审和与运行环境接口的评审。评审的主要目标是为了发现软件中的错误。2015年5月第34题自底向上的集成测试策
33、略的优点包括(34)。(34)A.主要的设计问题可以在测试早期处理B.不需要写驱动程序C.不需要写桩程序D.不需要进行回归测试【答案】C【解析】本题考查软件测试的基础知识。软件测试分为单元测试、集成测试和系统测试。集成测试把模块按系统设计说明书的要求组合起来进行测试。存在多种组合的集成测试策略:自底向上、自顶向下、一次性集成、明治集成等。其中,自底向上策略通过不断合并底层模块来测试更高层模块的方式进行。在该方法中,需要写驱动程序来调用待测试的底层模块,主要的设计问题需要到测试后期才能发现。由于从最底层的模块开始测试,因此过程中不需要写桩模块。当测试过程中发现错误时,需要进行回归测试。2015年
34、5月第35题采用McCabe度量法计算下列程序图的环路复杂性为(35)。(35)A.2B.3C.4D.5【答案】C【解析】本题考查软件度量的基础知识。软件复杂性主要表现在程序的复杂性,而程序的复杂性主要指模块内程序的复杂性。McCabe度量法是一种度量程序复杂性的方法,该方法用程序图来表示实际的程序, 如上图所示,用环路数来表示程序复杂性,即V(G) = m-n + 2p,其中m和n分别表示图中的边数和顶点数,p为1。本题中,m=10, n=8,因此V(G) = 10-8+2=4。2015年5月第36题以下关于软件可维护性的叙述中,不正确的是“可维护性(36)”。(36)A.是衡量软件质量的一
35、个重要特性B.不受软件开发文档的影响C.是软件开发阶段各个时期的关键目标D.可以从可理解性、可靠性、可测试性、可行性、可移植性等方面进行度量【答案】B【解析】本题考查维护方面的基础知识。软件交付给用户使用后到软件报废之前都属于软件维护阶段。软件系统的可维护性可以定义为:维护人员理解、改正、改动和改进该软件的难易程度。提供软件可维护性是开发软件系统所有步骤的关键目的,是衡量软件质量的一种重要特性,可以从可理解性、可靠性、可测试性、可行性、可移植性等方面进行度量。良好的软件开发文档可以有效地提高软件的可维护性。2015年5月第37题对象、类、继承和消息传递是面向对象的4个核心概念。其中对象是封装(
36、37)的整体。(37)A.命名空间B.要完成任务C.一组数据D.数据和行为【答案】D【解析】本题考查面向对象的基本知识。面向对象的4个核心概念是对象、类、继承和消息传递。其中,对象是基本的运行时的实体,它既包括数据(属性),也包括作用于数据的操作(行为)。所以,一个对象把属性和行为封装为一个整体。类定义了一组大体上相似的对象。一个类所包含的方法和数据描述一组对象的共同行为和属性。在进行类设计时,有些类之间存在一般和特殊关系,即一些类是某个类的特殊情况,某个类是一些类的一般情况,这就是继承关系。 消息是对象之间进行通信的一种构造,包含要求接收对象去执行某些活动的信息。2015年5月第38题面向对
37、象(38)选择合适的面向对象程序设计语言,将程序组织为相互协作的对象集合,每个对象表示某个类的实例,类通过继承等关系进行组织。(38)A.分析B.设计C.程序设计D.测试【答案】C【解析】本题考查面向对象的基本知识。在采用面向对象技术开发系统时,主要步骤有面向对象分析、面向对象设计、面向对象程序设计和面向对象测试。面向对象分析主要包括:认定对象、组织对象、描述对象间的相互作用、定义对象的操作、定义对象的内部信息。面向对象设计是设计分析模型和实现相应源代码。面向对象程序设计选择合适的面向对象程序设计语言,将程序组织为相互协作的对象集合,每个对象表示某个类的实例,类通过继承等关系进行组织。 面向对
38、象测试是尽可能早的开始进行系统测试,以发现系统中可能存在的错误并进行修复,进而保证系统质量。2015年5月第39题一个类可以具有多个同名而参数类型列表不同的方法,被称为方法(39)。(39)A.重载B.调用C.重置D.标记【答案】A【解析】本题考查面向对象的基本知识。在面向对象技术中,一个类可以具有多个同名而参数类型列表不同的方法,每个方法实现自己的特定行为,这种机制称为方法重载(Overloading)。对象协作过程中,对象给对象进行消息传递,通常通过方法调用进行。在继承关系中,子类重新定义父类中已经定义的方法,称为方法重置或覆盖(Overriding)。2015年5月第40题UML中有4种
39、关系:依赖、关联、泛化和实现。(40)是一种结构关系,描述了一组链,链是对象之间的连接;(41)是一种特殊一般关系,使子元素共享其父元素的结构和行为。(40)A.依赖B.关联C.泛化D.实现(41)A.依赖B.关联C.泛化D.实现【答案】B C【解析】本题考査统一建模语言(UML)的基本知识。UML是面向对象软件的标准化建模语言,由三个要素构成:UML的基本构造块、支配这些构造块如何放置在一起的规则和运用与整个语言的一些公共机制。UML的词汇表包含三种构造块:事物、关系和图。事物是对模型中最具有代表性的成分的抽象;关系把事物结合在一起;图聚集了相关的事物。其中关系包括4种:依赖、关联、泛化和实
40、现。依赖(Dependency)是两个事物间的语义关系,其中一个事物(独立事物)发生变化会影响另一个事物(依赖事物)的语义。关联(Association)是一种结构关系,它描述了一组链,链是对象之间的连接。泛化(Generalization)是一种特殊/一般关系,特殊元素(子元素)的对象可替代一般元素(父元素)的对象,用这种方法,子元素共享了父元素的结构和行为。实现(Realization)是类元之间的语义关系,其中一个类元指定了由另一个类元保证执行的契约。2015年5月第42题UML图中,对新开发系统的需求进行建模,规划开发什么功能或测试用例,采用(42)最适合。而展示交付系统的软件组件和硬
41、件之间的关系的图是(43)。(42)A.类图B.对象图C.用例图D.交互图(43)A.类图B.部署图C.组件图D.网络图【答案】C B【解析】本题考查统一建模语言(UML)的基本知识。UML中提供了多种建模系统需求的图,体现系统的静态方面和动态方面。类图(Class Diagram)展现了一组对象、接口、协作和它们之间的关系。在面向对象系统的建模中,最常见的就是类图,它给出系统的静态设计视图。对象图(Object Diagram)展现了某一时刻一组对象以及它们之间的关系。对象图描述了在类图中所建立的事物的实例的静态快照,给出系统的静态设计视图或静态进程视图。用例图(Use Case Diagr
42、am)展现了一组用例、参与者(Actor)以及它们之间的关系。这个视图主要支持系统的行为,即该系统在它的周边环境的语境中所提供的外部可见服务。用例图用于对一个系统的需求进行建模,包括说明这个系统应该做什么(从系统外部的一个视点出发), 而不考虑系统应该怎样做。交互图用于对系统的动态方面进行建模。一张交互图表现的是一个交互,由一组对象和它们之间的关系组成,包含它们之间可能传递的消息。交互图表现为序列图、通信图、交互概览图和时序图,每种针对不同的目的,能适用于不同的情况。序列图是强调消息时间顺序的交互图;通信图是强调接收和发送消息的对象的结构组织的交互图;交互概览图强调控制流的交互图。时序图(Ti
43、ming Diagram)关注沿着线性时间轴、生命线内部和生命线之间的条件改变。部署图(Deployment Diagram)是用来对面向对象系统的物理方面建模的方法,展现了运行时处理结点以及其中构件(制品)的配置。组件图(Component Diagram)展现了一组组件之间的组织和依赖。2015年5月第44题下图所示为(44)设计模式,属于(45)设计模式,适用于(46)。(44)A.代理(Proxy)B.生成器(Builder) C.组合(Composite) D.观察者(Observer)(45)A.创建型B.结构型 C.行为 D.结构型和行为(46)A.表示对象的部分一整体层次结构时
44、B.当一个对象必须通知其它对象,而它又不能假定其它对象是谁时C.当创建复杂对象的算法应该独立于该对象的组成部分及其装配方式时D.在需要比较通用和复杂的对象指针代替简单的指针时【答案】C B A【解析】本题考查设计模式的基本概念。每一个设计模式都集中于一个特定的面向对象设计问题或设计要点,描述了什么时 候使用它,在另一些设计约束条件下是否还能使用,以及使用的效果和如何取舍。按照设计模式的目的可以分为创建型、结构型和行为型三大类。创建型模式与对象的创建有关;结构型模式处理类或对象的组合;行为型模式对类或对象怎样交互和怎样分配职责进行描述。每种设计模式都有其适应性,描述适用于解决的问题场合。创建型模
45、式包括 Factory Method、Abstract Factory、Builder、Prototype 和 Singleton。 结构型模式包括 Adapter (类)、Adapter (对象)、Bridge、Composite、Decorator、Fafade、 Flyweight 和 Proxy。行为型模式包括 Interpreter、Template Method、Chain of Responsibility、 Command、Iterator、Mediator、Memento Observer State Strategy 和 Visitor。Proxy模式的结构图如下所示:Pr
46、oxy模式适用于在需要比较通用和复杂的对象指针代替简单的指针的时候,常见情况有:远程代理(Remote Proxy)为一个对象在不同地址空间提供据不代表;虚代理 (Virtual Proxy)根据需要创建开销很大的对象;保护代理(Protection Proxy)控制对原始对象的访问,用于对象应该有不同的访问权限的时候;智能指引(Smart Reference) 取代了简单的指针,它在访问对象时执行一些附加操作。Builder模式的结构图如下所示:Builder模式适用于当创建复杂对象的算法应该独立于该对象的组成部分以及它们的装配方式时;当构造过程必须允许被构造的对象有不同的表示时。Composite模式的结构图如下所示:Composite模式适用于:想表示对象的部分-整体层次结构;希望用户忽略组合对象与单个对象的不同,用户将统一地使用组合结构中的所有对象。Observer模式的结构图如下所示: Observer模式适用于:.当一个抽象模型