第 3 章 2013 下半年软件设计师上午试题分析与解答 试题(1) 在程序执行过程中,Cache 与主存的地址映像由 (1) 。 (1)A.硬件自动完成 B.程序员调度 C.操作系统管理 D.程序员与操作系统协同完成 试题(1)分析 本题考查计算机系统基础知识。 Cache 的工作是建立在程序与数据访问的局部性原理上。经过对大量程序执行情况 的结果分析:在一段较短的时间间隔内程序集中在某一较小的内存地址空间执行,这就 是程序执行的局部性原理。同样,对数据的访问也存在局部性现象。 为了提高系统处理速度才将主存部分存储空间中的内容复制到工作速度更快的 Cache 中,同样为了提高速度的原因,Cache 系统都是由硬件实现的。 参考答案 (1)A 试题(2) 指令寄存器的位数取决于 (2) 。 (2)A.存储器的容量 B.指令字长 C.数据总线的宽度 D.地址总线的宽度 试题(2)分析 本题考查计算机系统基础知识。 指令寄存器是 CPU 中的关键寄存器,其内容为正在执行的指令,显然其位数取决于 指令字长。 参考答案 (2)B 试题(3) 若计算机存储数据采用的是双符号位(00 表示正号、11 表示负号),两个符号相同 的数相加时,如果运算结果的两个符号位经 (3) 运算得 1,则可断定这两个数相加的 结果产生了溢出。 (3)A.逻辑与 B.逻辑或 C.逻辑同或 D.逻辑异或 试题(3)分析 本题考查计算机系统基础知识。 软件设计师 2013 至 2018 54 年试题分析与解答 当表示数据时并规定了位数后,其能表示的数值范围就确定了,在两个数进行相加 运算的结果超出了该范围后,就发生了溢出。在二进制情况下,溢出时符号位将变反, 即两个正数相加,结果的符号位是负数,或者两个负数相加,结果的符号位是正数。采 用两个符号位时,溢出发生后两个符号位就不一致了,这两位进行异或的结果一定为 1。 参考答案 (3)D 试题(4) 某指令流水线由 4 段组成,各段所需要的时间如下图所示。连续输入 8 条指令时的 吞吐率(单位时间内流水线所完成的任务数或输出的结果数)为 (4) 。 (4)A.8/56Δt B.8/32Δt C.8/28Δt D.8/24Δt 试题(4)分析 本题考查计算机系统基础知识。 流水线的吞吐率指的是计算机中的流水线在特定的时间内可以处理的任务或输出 数据的结果数量。流水线的吞吐率可以进一步分为最大吞吐率和实际吞吐率。该题目中 要求解的是实际吞吐率,以流水方式执行 8 条指令的执行时间是 28Δt,因此吞吐率为 8/28Δt。 参考答案 (4)C 试题(5) (5) 不是 RISC 的特点。 (5)A.指令种类丰富 B.高效的流水线操作 C.寻址方式较少 D.硬布线控制 试题(5)分析 本题考查计算机系统基础知识。 RISC(Reduced Instruction Set Computer,精简指令集计算机)的主要特点是重叠寄 存器窗口技术;优化编译技术。RISC 使用了大量的寄存器,如何合理分配寄存器、提高 寄存器的使用效率及减少访存次数等,都应通过编译技术的优化来实现;超流水及超标 量技术。为了进一步提高流水线速度而采用的技术;硬布线逻辑与微程序相结合在微程 序技术中。 参考答案 (5)A 第 3 章 2013 下半年软件设计师上午试题分析与解答 55 试题(6) 若某计算机字长为 32 位,内存容量为 2GB,按字编址,则可寻址范围为 (6) 。 (6)A.1024M B.1GB C.512M D.2GB 试题(6)分析 本题考查计算机系统基础知识。 内存容量 2GB=2*1024*1024*1024*8 位,按字编址时,存储单元的个数为 2*1024* 1024*1024*8/32=512*1024*1024,即可寻址范围为 512MB。 参考答案 (6)C 试题(7) 下列网络攻击行为中,属于 DoS 攻击的是 (7) 。 (7)A.特洛伊木马攻击 B.SYN Flooding 攻击 C.端口欺骗攻击 D.IP 欺骗攻击 试题(7)分析 本题考查网络安全相关知识。 特洛伊木马是附着在应用程序中或者单独存在的一些恶意程序,它可以利用网络远 程控制网络另一端的安装有服务端程序的主机,实现对被植入了木马程序的计算机的控 制,或者窃取被植入了木马程序的计算机上的机密资料。 拒绝服务攻击通过网络的内外部用户来发动攻击。内部用户可以通过长时间占用系 统的内存、CPU 处理时间使其他用户不能及时得到这些资源,而引起拒绝服务攻击;外 部黑客也可以通过占用网络连接使其他用户得不到网络服务。SYN Flooding 攻击以多个 随机的源主机地址向目的路由器发送 SYN 包,在收到目的路由器的 SYN ACK 后并不回 应,于是目的路由器就为这些源主机建立大量的连接队列,由于没有收到 ACK 一直维 护着这些队列,造成了资源的大量消耗而不能向正常请求提供服务,甚至导致路由器崩 溃。服务器要等待超时才能断开已分配的资源,所以 SYN Flooding 攻击是一种 DoS 攻击。 端口欺骗攻击是采用端口扫描找到系统漏洞从而实施攻击。 IP 欺骗攻击是产生的 IP 数据包为伪造的源 IP 地址,以便冒充其他系统或发件人的 身份。 参考答案 (7)B 试题(8) PKI 体制中,保证数字证书不被篡改的方法是 (8) 。 (8)A.用 CA 的私钥对数字证书签名 B.用 CA 的公钥对数字证书签名 软件设计师 2013 至 2018 56 年试题分析与解答 C.用证书主人的私钥对数字证书签名 D.用证书主人的公钥对数字证书签名 试题(8)分析 本题考查 PKI 体制。 PKI 体制中,为保障数字证书不被篡改而且要发送到证书主人手中,需要用 CA 的 私钥对数字证书签名,防伪造,不可抵赖。 参考答案 (8)A 试题(9) 下列算法中,不属于公开密钥加密算法的是 (9) 。 (9)A.ECC B.DSA C.RSA D.DES 试题(9)分析 本题考查加密算法的基础知识。 常用的加密算法依据所使用的秘钥数分为单钥和双钥加密体制,也称私钥和公钥加 密算法。ECC、DSA 和 RSA 都属于公开密钥加密算法,DES 是典型的私钥加密体制。 参考答案 (9)D 试题(10) 矢量图是常用的图形图像表示形式, (10) 是描述矢量图的基本组成单位。 (10)A.像素 B.像素点 C.图元 D.二进制位 试题(10)分析 本题考查多媒体方面的基础知识。 矢量图形是用一系列计算机指令来描述和记录的一幅图的内容,即通过指令描述构 成一幅图的所有直线、曲线、圆、圆弧、矩形等图元的位置、维数和形状,也可以用更 为复杂的形式表示图像中的曲面、光照、材质等效果。矢量图法实质上是用数学的方式 (算法和特征)来描述一幅图形图像,在处理图形图像时根据图元对应的数学表达式进行 编辑和处理。在屏幕上显示一幅图形图像时,首先要解释这些指令,然后将描述图形图 像的指令转换成屏幕上显示的形状和颜色。编辑矢量图的软件通常称为绘图软件,如适 于绘制机械图、电路图的 AutoCAD 软件等。 参考答案 (10)C 试题(11) 视频信息是连续的图像序列, (11) 是构成视频信息的基本单元。 (11)A.帧 B.场 C.幅 D.像素 第 3 章 2013 下半年软件设计师上午试题分析与解答 57 试题(11)分析 本题考查多媒体方面的基础知识。 视频信息是指活动的、连续的图像序列。一幅图像称为一帧,帧是构成视频信息的 基本单元。 参考答案 (11)A 试题(12) 以下多媒体素材编辑软件中, (12) 主要用于动画编辑和处理。 (12)A.WPS B.Xara3D C.Photoshop D.Cool Edit Pro 试题(12)分析 本题考查多媒体编辑软件方面的知识。 多媒体编辑软件分为:文本工具、图形/图像工具、动画工具、视频工具、音频工 具和播放工具。选项 A 属于文本工具类软件,主要用于文字编辑和处理;选项 B 属 于动画工具类软件,主要用于动画编辑和处理;选项 C 属于图形/图像工具类软件, 主要用于显示图形/图像、图形/图像编辑、图像压缩、图像捕捉、图形/图像素材库; 选项 D 属于音频工具类软件,主要用于音频播放、音频编辑、音频录制和声音素材 库 4 个功能。 参考答案 (12)B 试题(13) 为说明某一问题,在学术论文中需要引用某些资料。以下叙述中, (13) 是不正 确的。 (13)A.既可引用发表的作品,也可引用未发表的作品 B.只能限于介绍、评论作品 C.只要不构成自己作品的主要部分,可适当引用资料 D.不必征得原作者的同意,不需要向他支付报酬 试题(13)分析 本题考查知识产权方面的基础知识。 选项 A 的说法显然是错误的。因为,为说明某一问题,在学术论文中需要引用某些 资料必须是已发表的作品,但只能限于介绍、评论作品,只要不构成自己作品的主要部 分,可适当引用资料,而不必征得原作者的同意,不需要向他支付报酬。 参考答案 (13)A 试题(14) 以下作品中,不适用或不受著作权法保护的是 (14) 。 软件设计师 2013 至 2018 58 年试题分析与解答 (14)A.某教师在课堂上的讲课 B.某作家的作品《红河谷》 C.最高人民法院组织编写的《行政诉讼案例选编》 D.国务院颁布的《计算机软件保护条例》 试题(14)分析 本题考查知识产权方面的基础知识。 选项 D 的说法显然是错误的。因为,国务院颁布的《计算机软件保护条例》是国家 为了管理需要制定的政策法规,故不适用著作权法保护。 参考答案 (14)D 试题(15) 以下关于数据流图中基本加工的叙述,不正确的是 (15) 。 (15)A.对每一个基本加工,必须有一个加工规格说明 B.加工规格说明必须描述把输入数据流变换为输出数据流的加工规则 C.加工规格说明必须描述实现加工的具体流程 D.决策表可以用来表示加工规格说明 试题(15)分析 本题考查结构化分析方法的基础知识。 分层的数据流图是结构化分析方法的重要组成部分。对数据流图中的每个基本加 工,需要有一个加工规格说明,描述把输入数据流变换为输出数据流的加工规则,但不 需要描述实现加工的具体流程。可以用结构化语言、判定表和判定树来表达基本加工。 参考答案 (15)C 试题(16) 在划分模块时,一个模块的作用范围应该在其控制范围之内。若发现其作用范围不 在其控制范围内,则 (16) 不是适当的处理方法。 (16)A.将判定所在模块合并到父模块中,使判定处于较高层次 B.将受判定影响的模块下移到控制范围内 C.将判定上移到层次较高的位置 D.将父模块下移,使该判定处于较高层次 试题(16)分析 本题考查软件设计的基础知识。 模块的控制范围包括模块本身及其所有的从属模块。模块的作用范围是指模块一个 判定的作用范围,凡是受这个判定影响的所有模块都属于这个判定的作用范围。原则上 一个模块的作用范围应该在其控制范围之内,若没有,则可以将判定所在模块合并到父 第 3 章 2013 下半年软件设计师上午试题分析与解答 59 模块中,使判定处于较高层次。 参考答案 (16)D 试题(17)、(18) 下图是一个软件项目的活动图,其中顶点表示项目里程碑,连接顶点的边表示包含 的活动,则里程碑 (17) 在关键路径上。若在实际项目进展中,活动 AD 在活动 AC 开始 3 天后才开始,而完成活动 DG 过程中,由于有临时事件发生,实际需要 15 天才能 完成,则完成该项目的最短时间比原计划多了 (18) 天。 (17)A.B B.C C.D D.I (18)A.8 B.3 C.5 D.6 试题(17)、(18)分析 本题考查软件项目管理的基础知识。 根据关键路径法,计算出关键路径为 A-C-G-I-K,关键路径长度为 65。因此里程碑 C 在关键路径上,而里程碑 B、D 和 I 不在关键路径上。 若完成活动 DG 需要 15 天,则相当于 A-D-G-I-K 也是一个关键路径,而且活动 AD 推迟了三天才能完成,此时,完成项目的最短时间应该是 68 天,比原来的最短时间 65 天多了 3 天。 参考答案 (17)B (18)B 试题(19) 针对“关键职员在项目未完成时就跳槽”的风险,最不合适的风险管理策略是 (19) 。 (19)A.对每一个关键性的技术人员,要培养后备人员 B.建立项目组,以使大家都了解有关开发活动的信息 C.临时招聘具有相关能力的新职员 D.对所有工作组织细致的评审 试题(19)分析 本题考查软件项目管理的基础知识。 软件设计师 2013 至 2018 60 年试题分析与解答 软件开发过程中不可避免会遇到风险,有效地管理软件风险对项目管理具有重要的 意义。 对不同的风险采取不同的风险管理策略。如对关键职员在项目未完成时就跳槽的风 险,可以通过培养后备人员、让项目组人员了解开发信息、评审开发工作等来降低风险。 通过临时招聘新职员,即使新职员具有相关的能力,由于对项目的开发进展、团队组成 等多种情况不了解,并不能很好地降低风险。 参考答案 (19)C 试题(20) 程序运行过程中常使用参数在函数(过程)间传递信息,引用调用传递的是实参 的 (20) 。 (20)A.地址 B.类型 C.名称 D.值 试题(20)分析 本题考查程序语言基础知识。 进行函数调用时,常需要在调用环境中的数据传递给被调用函数,作为输入参数由 被调用函数处理,基本的调用方式为值调用(或传值调用)和引用调用。其中,值调用 方式下是将实参的值单向地传递给被调用函数的形参,引用调用方式下通过将实参的地 址传递给形参,在被调用函数中通过指针实现对实参变量数据的间接访问和修改,从而 达到将修改后的值“传回来”的效果。 参考答案 (20)A 试题(21) 已知文法 G:S→A0|B1,A→S1|1,B→S0|0,其中 S 是开始符号。从 S 出发可以推 导出 (21) 。 (21)A.所有由 0 构成的字符串 B.所有由 1 构成的字符串 C.某些 0 和 1 个数相等的字符串 D.所有 0 和 1 个数不同的字符串 试题(21)分析 本题考查程序语言基础知识。 用文法表示语言的语法规则时,推导是产生语言句子的基本方式。以题目中的文法 为例,推导出 1010 的过程为 S=>A0=>S10=>A010=>1010,推导出 0110 的过程为 S=>A0=>S10=>B110=>0110,对于 0000、1111、1100、0011 等则推导不出。因为由 S 先 推导出 A0 后,再去推导 A 则必然产生一个与 0 相邻(在 0 的左边)的 1,而由 S 先推 导出 B1,则下一步必然要推导出一个与 1 相邻(在 1 的左边)的 0。这保证了当 1 出现 时,马上就会出现 0,或者反之,且 0 和 1 的距离很近。分析更多的例子发现,仅有“某 些 0 和 1 个数相等的字符串”是正确的。 第 3 章 2013 下半年软件设计师上午试题分析与解答 61 参考答案 (21)C 试题(22) 算术表达式 a+(b–c)*d 的后缀式是 (22) (–、+、*表示算术的减、加、乘运算, 运算符的优先级和结合性遵循惯例)。 (22)A.bc–d*a+ B.abc – d*+ C.ab+c–d* D.abcd–*+ 试题(22)分析 本题考查程序语言基础知识。 后缀式的特点是将运算符号写在运算数的后面。对于表达式,其计算次序是相减、 相乘、相加,其后缀式为“abc–d*+”。 参考答案 (22)B 试题(23) 假设系统采用 PV 操作实现进程同步与互斥,若有 n 个进程共享一台扫描仪,那么 当信号量 S 的值为–3 时,表示系统中有 (23) 个进程等待使用扫描仪。 (23)A.0 B.n–3 C.3 D.n 试题(23)分析 本题考查操作系统 PV 操作方面的基本知识。 系统采用 PV 操作实现进程的同步与互斥,当执行一次 P 操作表示申请一个资源, 信号量 S 减 1,如果 S<0,其绝对值表示等待该资源的进程数。本题信号量 S 的值为–3, 表示系统中有 3 个等扫描仪的进程。 参考答案 (23)C 试题(24) 假设段页式存储管理系统中的地址结构如下图所示,则系统中 (24) 。 31 24 23 12 11 0 段 号 页 号 页内地址 (24)A.页的大小为 4K,每个段的大小均为 4096 个页,最多可有 256 个段 B.页的大小为 4K,每个段最大允许有 4096 个页,最多可有 256 个段 C.页的大小为 8K,每个段的大小均为 2048 个页,最多可有 128 个段 D.页的大小为 8K,每个段最大允许有 2048 个页,最多可有 128 个段 软件设计师 2013 至 2018 62 年试题分析与解答 试题(24)分析 本题考查操作系统页式存储管理方面的基础知识。 从图中可见,页内地址的长度是 12 位,212 =4096,即 4K;页号部分的地址长度 是 12 位,每个段最大允许有 4096 个页;段号部分的地址长度是 8 位,28 =256,最多 可有 256 个段。 参考答案 (24)B 试题(25)、(26) 某文件管理系统采用位示图(bitmap)记录磁盘的使用情况。如果系统的字长为 32 位,磁盘物理块的大小为 4MB,物理块依次编号为:0、1、2、…,位示图字依次编号 为:0、1、2、…,那么 16385 号物理块的使用情况在位示图中的第 (25) 个字中描述; 如果磁盘的容量为 1000GB,那么位示图需要 (26) 个字来表示。 (25)A.128 B.256 C.512 D.1024 (26)A.1200 B.3200 C.6400 D.8000 试题(25)、(26)分析 本题考查操作系统文件管理方面的基本知识。 文件管理系统是在外存上建立一张位示图(bitmap),记录文件存储器的使用情 况。每一位对应文件存储器上的一个物理块,取值 0 和 1 分别表示空闲和占用,如下 图所示。 由于系统中字长为 32 位,所以每个字可以表示 32 个物理块的使用情况。又因为文 件存储器上的物理块依次编号为:0、1、2、…,位示图表示物理块的情况如下,从下图 可见,16385 号物理块应该在位示图的第 512 个字中描述。 又因为磁盘物理块的大小为 4MB,1GB=1024M=256 个物理块,需要 8 个字表示, 故磁盘的容量为 1000GB,那么位示图需要 1000×8=8000 个字表示。 第 3 章 2013 下半年软件设计师上午试题分析与解答 63 参考答案 (25)C (26)D 试题(27)、(28) 假设系统中有三类互斥资源 R1、R2 和 R3,可用资源数分别为 10、5 和 3。在 T0 时刻系统中有 P1、P2、P3、P4 和 P5 五个进程,这些进程对资源的最大需求量和已分配 资源数如下表所示,此时系统剩余的可用资源数分别为 (27) 。如果进程按 (28) 序 列执行,那么系统状态是安全的。 资源 进程 最大需求量 R1 R2 R3 已分配资源数 R1 R2 R3 P1 P2 P3 P4 P5 5 3 1 3 2 0 6 1 1 3 3 2 2 1 1 1 1 1 2 1 0 3 1 0 1 1 1 1 1 0 (27)A.1、1 和0 B.1、1 和 1 C.2、1 和 0 D.2、0 和 1 (28)A.P1→P2→P4→P5→P3 B.P5→P2→P4→P3→P1 C.P4→P2→P1→P5→P3 D.P5→P1→P4→P2→P3 试题(27)、(28)分析 初始时系统的可用资源数分别为 10、5 和 3。在 T0 时刻已分配资源数分别为 8、5 和 2,因此系统剩余的可用资源数分别为 2、0 和 1。 安全状态是指系统能按某种进程顺序(P1,P2,…,Pn),为每个进程 Pi 分配其所需的 资源,直到满足每个进程对资源的最大需求,使每个进程都可以顺利完成。如果无法找 到这样的一个安全序列,则称系统处于不安全状态。 本题进程的执行序列已经给出,我们只需将四个选项按其顺序执行一遍,便可以判 断出现死锁的三个序列。 软件设计师 2013 至 2018 64 年试题分析与解答 资源 进程 最大需求量 R1 R2 R3 已分配资源数 R1 R2 R3 尚需资源数 R1 R2 R3 P1 P2 P3 P4 P5 5 3 1 3 2 1 6 1 1 3 3 2 2 1 1 1 1 1 2 1 0 3 1 0 1 1 1 1 1 0 4 2 0 1 1 1 3 0 1 2 2 1 1 0 1 选项 A P1→P2→P4→P5→P3 是不安全的序列。因为在该序列中,进程 P1 先运行, P1 尚需资源数为(4,2,0),假设将资源 R1 分配 2 台给进程 P1,则系统剩余的可用资 源数为(0,0,1),将导致系统所有的进程都不能标上能完成标志“True”,故选项 A 是不安全的序列。 选项 B P5→P2→P4→P3→P1 是安全的序列。因为所有的进程都能标上能完成标志 “True”,如下表所示。 资源 进程 可用资源数 R1 R2 R3 已分配资源数 R1 R2 R3 尚需资源数 R1 R2 R3 可用+已分 R1 R2 R3 能否完 成标志 P5 P2 P4 P3 P1 2 0 1 3 1 1 5 2 1 6 3 2 9 4 2 1 1 0 2 1 0 1 1 1 3 1 0 1 1 1 1 0 1 1 1 1 2 2 1 3 0 1 4 2 0 3 1 1 5 2 1 6 3 2 9 4 2 10 5 3 True True True True True 对序列 P5→P2→P4→P3→P1 的具体分析如下: ① 进程 P5 运行,系统剩余的可用资源数为(2,0,1),P5 尚需资源数为(1,0,1), 系统可进行分配,故进程 P5 能标上能完成标志“True”,释放 P5 占有的资源数(1,1,0), 系统可用资源数为(3,1,1)。 ② 进程 P2 运行,系统剩余的可用资源数为(3,1,1),P2 尚需资源数为(1,1,1), 系统可进行分配,故进程 P2 能标上能完成标志“True”,释放 P2 占有的资源数(2,1,0), 系统可用资源数为(5,2,1)。 ③ 进程 P4 运行,系统剩余的可用资源数为(5,2,1),P4 尚需资源数为(2,2,1), 系统可进行分配,故进程 P4 能标上能完成标志“True”,释放 P4 占有的资源数(1,1,1), 系统可用资源数为(6,3,2)。 ④ 进程 P3 运行,系统剩余的可用资源数为(6,3,2),P3 尚需资源数为(3,0,1), 系统可进行分配,故进程 P3 能标上能完成标志“True”,释放 P3 占有的资源数(3,1,0), 系统可用资源数为(9,4,2)。 ⑤ 进程 P1 运行,系统剩余的可用资源数为(9,4,2),P1 尚需资源数为(4,2,0), 系统可进行分配,故进程 P1 能标上能完成标志“True”,释放 P1 占有的资源数(1,1,1), 第 3 章 2013 下半年软件设计师上午试题分析与解答 65 系统可用资源数为(10,5,3)。 P4→P2→P1→P5→P3 是不安全的序列。因为在该序列中,进程 P4 先运行,P4 尚需 资源数为(2,2,1),假设将资源 R1 分配 2 台给进程 P4,则系统剩余的可用资源数为 (0,0,1),将导致系统所有的进程都不能标完成标志“True”。 P5→P1→P4→P2→P3 是不安全的序列。因为在该序列中,进程 P5 先运行,系统剩 余的可用资源数为(2,0,1),P5 尚需资源数为(1,0,1),系统可进行分配,故进程 P5 能标上能完成标志“True”,释放 P5 占有的资源数(1,1,0),系统可用资源数为 (3,1,1)。进程 P1 运行,P1 尚需资源数为(4,2,0),假设将资源 R1 分配 3 台给进程 P1,则系统剩余的可用资源数为(0,1,1),将导致系统中的进程 P1、P2、P3 和 P4 都不 能标上能完成标志“True”。 参考答案 (27)D (28)B 试题(29) (29) 开发过程模型最不适用于开发初期对软件需求缺乏准确全面认识的情况。 (29)A.瀑布 B.演化 C.螺旋 D.增量 试题(29)分析 本题考查软件过程模型的基础知识。 瀑布模型将软件生存周期各个活动规定为线性顺序连接的若干阶段的模型,规定了 由前至后,相互衔接的固定次序,如同瀑布流水,逐级下落。这种方法是一种理想的现 象开发模式,缺乏灵活性,特别是无法解决软件需求不明确或不准确的问题。演化模型 从初始的原型逐步演化成最终软件产品,特别适用于对软件需求缺乏准确认识的情况。 螺旋将瀑布模型与快速原型模型结合起来,并且加入两种模型均忽略了的风险分析,适 用于复杂的大型软件。增量开发是把软件产品作为一系列的增量构件来设计、编码、集 成和测试,可以在增量开发过程中逐步理解需求。 参考答案 (29)A 试题(30) (30) 不是增量式开发的优势。 (30)A.软件可以快速地交付 B.早期的增量作为原型,从而可以加强对系统后续开发需求的理解 C.具有最高优先级的功能首先交付,随着后续的增量不断加入,这就使得更 重要的功能得到更多的测试 D.很容易将客户需求划分为多个增量 试题(30)分析 本题考查过程模型的基础知识。 软件设计师 2013 至 2018 66 年试题分析与解答 增量开发是把软件产品作为一系列的增量构件来设计、编码、集成和测试。每个构 件由多个相互作用的模块构成,并且能够完成特定的功能。其优点包括:能在较短时间 内向用户提交可完成一些有用的工作产品;逐步增加产品的功能可以使用户有较充裕的 时间学习和适应新产品;项目失败的风险较低;优先级高的服务首先交付,使得最重要 的系统服务将接受最多的测试。 参考答案 (30)D 试题(31) 在对程序质量进行评审时,模块结构是一个重要的评审项,评审内容中不包括 (31) 。 (31)A.数据结构 B.数据流结构 C.控制流结构 D.模块结构与功能结构之间的对应关系 试题(31)分析 本题考查软件质量的基础知识。 程序质量评审通常是从开发者的角度进行,与开发技术直接相关,考虑软件本身的 结构、与运行环境的接口以及变更带来的影响等。其中,软件结构包括功能结构、功能 的通用性、模块的层次性、模块结构和处理过程的结构,而模块结构包括控制流结构、 数据流结构、模块结构与功能结构之间的对应关系。 参考答案 (31)A 试题(32) SEI 能力成熟度模型(SEI CMM)把软件开发企业分为 5 个成熟度级别,其中 (32) 重 点关注产品和过程质量。 (32)A.级别 2:重复级 B.级别 3:确定级 C.级别 4:管理级 D.级别 5:优化级 试题(32)分析 本题考查软件过程和软件过程改进的基础知识。 CMM 是指软件开发能力成熟度模型,该模型给出了从混乱的个别的过程达到成熟 的规范化过程的一个框架,分成 5 个等级,从 1 级到 5 级成熟度逐步提高。级别 1 为初 始级,特点是混乱和不可预测;级别 2 为重复级级别,特点是项目得到管理监控和跟踪, 有稳定的策划和产品基线;级别 3 为确定级级别,通过软件过程的定义和制度化确保对 产品质量的控制;级别 4 为管理级级别,特点是产品质量得到策划,软件过程基于度量 的跟踪;级别 5 为优化级,特点是持续的过程能力改进。 第 3 章 2013 下半年软件设计师上午试题分析与解答 67 参考答案 (32)C 试题(33) 系统可维护性的评价指标不包括 (33) 。 (33)A.可理解性 B.可测试性 C.可移植性 D.可修改性 试题(33)分析 本题考查软件质量的基础知识。 软件的可维护性是指纠正软件系统出现的错误和缺陷,以及为满足新的要求进行修 改、扩充或压缩的容易程度,是软件开发阶段各个时期的关键目标。其中,可理解性、 可测试性和可修改性是衡量可维护性的重要指标。 参考答案 (33)C 试题(34) 逆向工程从源代码或目标代码中提取设计信息,通常在原软件生命周期的 (34) 阶段 进行。 (34)A.需求分析 B.软件设计 C.软件实现 D.软件维护 试题(34)分析 本题考查软件工程的基础知识。 逆向工程从详细的源代码实现中抽取抽象规格说明,一般来说是在原软件交付用户 使用之后进行的,即在原软件的维护阶段进行。 参考答案 (34)D 试题(35) 一个程序根据输入的年份和月份计算该年中该月的天数,输入参数包括年份(正整 数)、月份(用 1~12 表示)。若用等价类划分测试方法进行测试,则 (35) 不是一个 合适的测试用例(分号后表示测试的输出)。 (35)A.(2013,1; 31) B.(0,1; ‘错误’) C.(0,13; ‘错误’) D.(2000, –1; ‘错误’) 试题(35)分析 本题考查软件测试的基础知识。 常用的测试技术包括白盒测试和黑盒测试。白盒测试是利用程序内部的逻辑结构及有 关信息,设计或选择测试用例,对程序所在逻辑路径进行测试,又称为结构测试或逻辑驱 动测试。黑盒测试根据程序的需求规格说明书,检查程序的功能是否符合它的功能说明。 等价类划分是一类黑盒测试技术,该方法把输入数据分为若干个等价类,包括有效 的和无效的等价类。基于等价类设计测试用例时,每个测试用例至多覆盖一个无效等价 软件设计师 2013 至 2018 68 年试题分析与解答 类,选项 C 包含两个无效等价类,故不是一个好的测试用例。 参考答案 (35)C 试题(36) (36) 不是单元测试主要检查的内容。 (36)A.模块接口 B.局部数据结构 C.全局数据结构 D.重要的执行路径 试题(36)分析 本题考查软件测试的基础知识。 单元测试又称为模块测试,是针对软件设计的最小单元(程序模块),进行正确性 检验的测试。其目的在于发现个模块内不可能存在的各种问题和错误。单元测试需要从 程序的内部结构出发设计测试用例。模块可以单独进行单元测试。单元测试测试以下几 个方面:模块接口、局部数据结构、执行路径、错误处理和边界。 参考答案 (36)C 试题(37) 在领域类模型中不包含 (37) 。 (37)A.属性 B.操作 C.关联 D.领域对象 试题(37)分析 本题考查面向对象的基本知识。 定义领域模型是面向对象分析的关键步骤之一。领域模型是从按对象分类的角度来创 建对象领域的描述,包括定义概念、属性和重要的关联,其结果用一组显示领域概念和对象 的图形——类图来组织,图中还包括多重性、关联关系、泛化/特化关系以及聚合关系等。 参考答案 (37)D 试题(38) 在执行如下所示的 UML 活动图时,能同时运行的最大线程数为 (38) 。 (38)A.4 B.3 C.2 D.1 第 3 章 2013 下半年软件设计师上午试题分析与解答 69 试题(38)分析 本题考查统一建模语言(UML)的基本知识。 UML 活动图用于构建系统的活动。建模用例执行过程中对象如何通过消息相互交 互,将系统作为一个整体或者几个子系统进行考虑。对象在运行时可能会存在两个或多 个并发运行的控制流,为了对并发控制流进行建模,UML 中引入同步的概念,用同步 棒——黑色粗线条表示并发分支与汇合。 参考答案 (38)C 试题(39)、(40) 下图所示的 UML 序列图中, (39) 表示返回消息,Account 应该实现的方法 有 (40) 。 (39)A.xfer B.check C.evaluation D.minus (40)A.xfer() B.xfer()、plus()和 minus() C.check()、plus()和 minus() D.xfer()、evaluation()、plus()和 minus() 试题(39)、(40)分析 本题考查统一建模语言(UML)的基本知识。 UML 序列图(Sequence Diagram)以二维图的形式显示对象之间交互的图,纵轴自 上而下表示时间,横轴表示要交互的对象,主要体现对象间消息传递的时间顺序,强调 参与交互的对象及其间消息交互的时序。序列图中包括的建模元素主要有:活动者 (Actor)、对象(Object)、生命线(Lifeline)、控制焦点(Focus of control)和消息(Message) 等。其中对象名标有下画线;生命线表示为虚线,沿竖线向下延伸;消息在序列图中标 记为箭头;控制焦点由薄矩形表示。 第 3 章 2013 下半年软件设计师上午试题分析与解答 71 在其内部状态改变时通过调用另一个类中的方法改变其行为,使这个对象看起来如同修 改了它的类。 参考答案 (44)A 试题(45) 在发布-订阅(Publish-Subscribe)消息模型中,订阅者订阅一个主题后,当该主题 有新消息到达时,所有订阅者都会收到通知。 (45) 设计模式最适合这一模型。 (45)A.适配器(Adapter) B.通知(Notifier) C.状态(State) D.观察者(Observer) 试题(45)分析 本题考查设计模式的基本概念。 适配器(Adapter)模式将一个类的接口转换成客户希望的另外一个接口,使得原本 由于接口不兼容而不能一起工作的那些类可以一起工作。观察者(Observer)模式定义 对象间的一种一对多的依赖关系,当一个对象的状态发生改变时,所有依赖于它的对象 都得到通知并被自动更新,其别名为发布-订阅(Publish-Subscribe)模式。状态(State) 模式是使得一个对象在其内部状态改变时通过调用另一个类中的方法改变其行为,使这 个对象看起来如同修改了它的类。 参考答案 (45)D 试题(46)、(47) 下图所示为 (46) 设计模式,适用于: (47) 。 (46)A.组件(Component) B.适配器(Adapter) C.组合(Composite) D.装饰器(Decorator) (47)A.表示对象的部分―整体层次结构 B.不希望在抽象和它的实现部分之间有一个固定的绑定关系 软件设计师 2013 至 2018 72 年试题分析与解答 C.在不影响其他对象的情况下,以动态、透明的方式给单个对象添加职责 D.使所有接口不兼容类可以一起工作 试题(46)、(47)分析 本题考查设计模式的基本概念。 每种设计模式都有特定的意图,描述一个在我们周围不断重复发生的问题,以及该 问题的解决方案的核心,使该方案能够重用而不必做重复劳动。 适配器(Adapter)模式将一个类的接口转换成客户希望的另外一个接口,使得原本 由于接口不兼容而不能一起工作的那些类可以一起工作。 组合(Composite)模式将对象组合成树形结构以表示“部分-整体”的层次结构, 使得用户对单个对象和组合对象的使用具有一致性。组件 Component 为组合的对象声明 接口,通常定义父组件引用,Leaf 和 Composite 类可以继承这个引用以及管理这个应用 的那些操作。 装饰器(Decorator)模式描述了以透明围栏来支持修饰的类和对象的关系,动态地 给一个对象添加一些额外的职责,从增加功能的角度来看,装饰器模式相比生成子类更 加灵活。 参考答案 (46)C (47)A 试题(48) 将高级语言程序翻译为机器语言程序的过程中,常引入中间代码,其好处是 (48) 。 (48)A.有利于进行反编译处理 B.有利于进行与机器无关的优化处理 C.尽早发现语法错误 D.可以简化语法和语义分析 试题(48)分析 本题考查程序语言基础知识。 “中间代码”是一种简单且含义明确的记号系统,可以有若干种形式,它们的共同 特征是与具体的机器无关,此时所作的优化一般建立在对程序的控制流和数据流分析的 基础之上,与具体的机器无关。 参考答案 (48)B 试题(49) 对高级语言源程序进行编译的过程中,有穷自动机(NFA 或 DFA)是进行 (49) 的 适当工具。 (49)A.词法分析 B.语法分析 C.语义分析 D.出错处理 试题(49)分析 本题考查程序语言基础知识。 语言中具有独立含义的最小语法单位是符号(单词),如标识符、无符号常数与界 第 3 章 2013 下半年软件设计师上午试题分析与解答 73 限符等。词法分析的任务是把构成源程序的字符串转换成单词符号序列。 有限自动机是一种识别装置的抽象概念,它能准确地识别正规集。有限自动机分为 两类:确定的有限自动机(DFA)和不确定的有限自动机(NFA)。 参考答案 (49)A 试题(50) 弱类型语言(动态类型语言)是指不需要进行变量/对象类型声明的语言。 (50) 属 于弱类型语言。 (50)A.Java B.C/C++ C.Python D.C# 试题(50)分析 本题考查程序语言基础知识。 弱/强类型指的是语言类型系统的类型检查的严格程度,动态类型和静态类型则指变 量与类型的绑定方法。 静态类型指编译器在编译源程序期间执行类型检查,动态类型指编译器(虚拟机) 在程序运行时执行类型检查。简单地说,在声明了一个变量之后,不能改变其类型的语 言,是静态语言;能够随时改变其类型的语言,是动态语言。 弱类型相对于强类型来说类型检查更不严格,例如说允许变量类型的隐式转换,允 许强制类型转换等等。 参考答案 (50)C 试题(51)~(54) 若有关系 R(A,B,C,D,E)和 S(B,C,F,G),则 R 与 S 自然联结运算后的 属性列有 (51) 个,与表达式π 1,3,6,7 (σ 3<6 (R .... S)) 等价的 SQL 语句如下: SELECT (52) FROM (53) WHERE (54) ; (51)A.5 B.6 C.7 D.9 (52)A.A, R.C, F, G B.A, C, S.B, S.F C.A, C, S.B, S.C D.R.A, R.C, S.B, S.C (53)A.R B.S C.RS D.R, S (54)A.R.B = S.B AND R.C = S.C AND R.C < S.B B.R.B = S.B AND R.C = S.C AND R.C < S.F C.R.B = S.B OR R.C = S.C OR R.C < S.B D.R.B = S.B OR R.C = S.C OR R.C < S.F 试题(51)~(54)分析 本题考查关系代数运算与 SQL 查询方面的基础知识。 软件设计师 2013 至 2018 74 年试题分析与解答 在 1,3,6,7 ( 3<6 (R .... S)) π σ 中,自然联结R .... S 运算后去掉右边重复的属性列名 S.B、 S.C 后为:R.A、R.B、R.C、R.D、R.E、S.F 和 S.G,因此空(51)的正确答案为 7。 π 1,3,6,7 (σ 3<6 (R .... S)) 的含义是从R .... S 结果集中选取 R.C < S.F 的元组,再进行 R.A、 R.C、S.F 和 S.G 投影,因此,空(52)的正确答案为选项 A。显然,空(53)的答案 为 R, S。 空(54)的正确答案为选项 B。因为,自然联结R .... S 需要用条件“WHERE R.B =S.B AND R.C =S.C”来限定,选取运算σ 3<6 需要用条件“WHERE R.C B.一定存在弧 C.可能存在 vi 到 vj 的路径,而不可能存在 vj 到 vi 的路径 D.可能存在 vj 到 vi 的路径,而不可能存在 vi 到 vj 的路径 试题(59)分析 本题考查数据结构基础知识。 对一个有向图 G 进行拓扑排序的方法如下。 ① G 中选择一个入度为 0(没有前驱)的顶点且输出它; ② 从网中删除该顶点及其与该顶点有关的所有弧; ③ 重复上述两步,直至网中不存在入度为 0 的顶点为止。 显然,若存在弧,则 vj 的入度就不为 0,而要删除该弧,则 vi 的入度应为 0, 因此在拓扑序列中,vi 必然在 vj 之前。另外,进行拓扑排序时,可能存在 vi 和 vj 的入度 同时为 0 的情形,此时,在第①步可先输出 vi ,后输出 vj 。因此在拓扑序列中,顶点 vi 排列在 vj 之前,不一定存在弧,一定不存在弧 ,也一定不存在 vj 到 vi 的 路径,而可能存在 vi 到 vj 的路径。 参考答案 (59)C 试题(60) 以下关于哈夫曼树的叙述,正确的是 (60) 。 (60)A.哈夫曼树一定是满二叉树,其每层结点数都达到最大值 B.哈夫曼树一定是平衡二叉树,其每个结点左右子树的高度差为-1、0 或 1 第 3 章 2013 下半年软件设计师上午试题分析与解答 77 C.哈夫曼树中左孩子结点的权值小于父结点、右孩子结点的权值大于父结点 D.哈夫曼树中叶子结点的权值越小则距离树根越远、叶子结点的权值越大则 距离树根越近 试题(60)分析 本题考查数据结构基础知识。 哈夫曼树是一类带权路径长度最短的树,根据一组权值构造出来。构造过程为: ① 根据给定的 n 个权值{w1,w2,…,wn},构成 n 棵二叉树的集合 F={T1,T2,…, Tn},其中每棵树 Ti 中只有一个带权为 wi 的根结点,其左右子树均空。 ② 在 F 中选取两棵权值最小的树作为左、右子树构造一棵新的二叉树,置新构造 二叉树的根结点的权值为其左、右子树根结点的权值之和。 ③ 从 F 中删除这两棵树,同时将新得到的二叉树加入到 F 中。 根据权值集合{0.25,0.30,0.08,0.25,0.12}构造的哈夫曼树如下图所示,从中可以知道, 哈夫曼树中叶子结点的权值越小则距离树根越远、叶子结点的权值越大则距离树根越近。 参考答案 (60)D 试题(61) 某哈希表(散列表)的长度为 n,设散列函数为 H(Key)=Key mod p,采用线性探测 法解决冲突。以下关于 p 值的叙述中,正确的是 (61) 。 (61)A.p 的值一般为不大于 n 且最接近 n 的质数 B.p 的值一般为大于 n 的任意整数 C.p 的值必须为小于 n 的合数 D.p 的值必须等于 n 试题(61)分析 本题考查数据结构基础知识。 在应用散列函数构造哈希表(或散列表)时,由于设计散列函数的目标是:作为一 软件设计师 2013 至 2018 78 年试题分析与解答 个压缩映像函数,它应具有较大的压缩性,以节省存储空间;哈希函数应具有较好的散 列性,虽然冲突是不可避免的,但应尽量减少。题中所给是常用的除留余数法,p 值一 般为不大于 n 且最接近 n 的质数。 参考答案 (61)A 试题(62)、(63) 对 n 个基本有序的整数进行排序,若采用插入排序算法,则时间和空间复杂度分别 为 (62) ;若采用快速排序算法,则时间和空间复杂度分别为 (63) 。 (62)A.O(n2)和 O(n) B.O(n)和 O(n) C.O(n2)和 O(1) D.O(n)和 O(1) (63)A.O(n2)和 O(n) B.O(nlgn)和 O(n) C.O(n2)和 O(1) D.O(nlgn)和 O(1) 试题(62)、(63)分析 本题考查算法分析的基础知识。 排序和查找是基本的计算问题,存在很多相关的算法,不同的算法适用于不同的场 合。不同的数据输入特点相同的算法也有不同的计算时间。若数据基本有序,对插入排 序算法而言,则可以在近似线性时间内完成排序,即 O(n);而对于快速排序而已,则是 其最坏情况,需要二次时间才能完成排序,即 O(n2)。两个算法在排序时仅需要一个额外 的存储空间,即空间复杂度均为常数时间复杂度 O(1)。 参考答案 (62)D (63)C 试题(64)、(65) 在求解某问题时,经过分析发现该问题具有最优子结构性质,求解过程中子问题被 重复求解,则采用 (64) 算法设计策略;若定义问题的解空间,以深度优先的方式搜 索解空间,则采用 (65) 算法设计策略。 (64)A.分治 B.动态规划 C.贪心 D.回溯 (65)A.动态规划 B.贪心 C.回溯 D.分支限界 试题(64)、(65)分析 本题考查算法设计的基础知识。 存在几种常用的算法设计策略:分治法、动态规划、贪心、回溯发和分支限界法等。 其中,分治法一般用于将大问题分解为一个或多个规模较小的子问题,通常采用自顶向 下的递归方法来求解。动态规划求解问题的特征是,问题具有最优子结构和重叠子问题, 求解时一般采用自底向上的方法来进行。贪心法求解问题的特征是,问题具有最有子结 构和贪心选择性质,求解时可以用自底向上或自顶向下的方法进行。回溯法和分支限界 法是系统搜索解空间来求解问题的方法,一般先定义解空间,前者以深度优先的方式搜 第 3 章 2013 下半年软件设计师上午试题分析与解答 79 索,后者通常以广度优先的方式搜索。 参考答案 (64)B (65)C 试题(66) 某单位的局域网配置如下图所示, PC2 发送到 Internet 上的报文的源 IP 地址 为 66) 。 (66)A.192.168.0.2 B.192.168.0.1 C.202.117.112.1 D.202.117.112.2 试题(66)分析 本题考查局域网配置中 IP 地址设置相关问题。 PC2 发送到 Internet 上的报文经代理服务器转换后,源 IP 地址变成代理服务器的出 口 IP 地址,即 202.117.112.2。 参考答案 (66)D 试题(67)、(68) 在 IPv4 向 IPv6 过渡期间,如果要使得两个 IPv6 结点可以通过现有的 IPv4 网络进 行通信,则应该使用 (67) ;如果要使得纯 IPv6 结点可以与纯 IPv4 结点进行通信, 则需要使用 (68) 。 (67)A.堆栈技术 B.双协议栈技术 C.隧道技术 D.翻译技术 (68)A.堆栈技术 B.双协议栈技术 C.隧道技术 D.翻译技术 试题(67)、(68)分析 如果要使得两个 IPv6 结点可以通过现有的 IPv4 网络进行通信,则应该使用隧道技 软件设计师 2013 至 2018 80 年试题分析与解答 术,如果要使得纯 IPv6 结点可以与纯 IPv4 结点进行通信,则需要使用翻译技术。 参考答案 (67)C (68)D 试题(69)、(70) POP3 协议采用 (69) 模式进行通信,当客户机需要服务时,客户端软件与 POP3 服务器建立 (70) 连接。 (69)A.Browser/Server B.Client/Server C.Peer to Peer D.Peer to Server (70)A.TCP B.UDP C.PHP D.IP 试题(69)、(70)分析 POP3 协议采用 C/S 模式进行通信,POP3 需要 TCP 连接的支持,当客户机需要服 务时,客户端软件与 POP3 服务器建立 TCP 连接。 参考答案 (69)B (70)A 试题(71)~(75) There is nothing in this world constant but inconstancy. —SWIFT Project after project designs a set of algorithms and then plunges into construction of customer-deliverable software on a schedule that demands delivery of the first thing built. In most projects, the first system built is (71) usable. It may be too slow, too big, awkward to use, or all three. There is no (72) but to start again, smarting but smarter, and build a redesigned version in which these problems are solved. The discard and (73) may be done in one lump, or it may be done piece-by-piece. But all large-system experience shows that it will be done. Where a new system concept or new technology is used, one has to build a system to throw away, for even the best planning is not so omniscient (全知的) as to get it right the first time. The management question, therefore, is not whether to build a pilot system and throw it away. You will do that. The only question is whether to plan in advance to build a (74) , or to promise to deliver the throwaway to customers. Seen this way, the answer is much clearer. Delivering that throwaway to customers buys time, but it does so only at the (75) of agony (极大痛苦) for the user, distraction for the builders while they do the redesign, and a bad reputation for the product that the best redesign will find hard to live down. Hence plan to throw one away; you will, anyhow. (71)A.almost B.often C.usually D.barely (72)A.alternative B.need C.possibility D.solution 第 3 章 2013 下半年软件设计师上午试题分析与解答 81 (73)A.design B.redesign C.plan D.build (74)A.throwaway B.system C.software D.product (75)A.worth B.value C.cost D.invaluable 参考译文 不变只是愿望,变化才是永恒。——SWIFT 一个接一个的软件项目都是一开始设计算法,然后将算法应用到待发布的软件中, 接着根据时间进度把第一次开发的产品发布给客户。 对于大多数项目,第一个开发的系统并不适用。它可能太慢、太大、难以使用,或 者三者兼有。要解决所有的问题,除了重新开始以外,没有其他的办法——即开发一个 更灵巧或者更好的系统。系统的丢弃和重新设计可以一步完成,也可以一块块地实现。 所有大型系统的经验都显示,这是必须完成的步骤。而且,新的系统概念或新技术会不 断出现,因此开发的系统必须被抛弃,但即使是最优秀的项目计划也不能无所不知地在 最开始就解决这些问题。 因此,管理上的问题不再是“是否构建一个实验性的系统,然后抛弃它”,你必须 这样做。现在的问题是“是否预先计划抛弃原型的开发,或者是否将该原型发布给用户”。 从这个角度看待问题,答案更加清晰。将原型发布给用户,虽然可以获得时间,但是其 代价高昂——对于用户,使用极度痛苦;对于重新开发的人员,分散了精力;对于产品, 影响了声誉,即使是最好的再设计也难以挽回名声。 因此,为舍弃而计划,无论如何,你一定要这样做。 参考答案 (71)D (72)A (73)B (74)A (75)C 第 5 章 2014 上半年软件设计师上午试题分析与解答 试题(1) 在 CPU 中,常用来为 ALU 执行算术逻辑运算提供数据并暂存运算结果的寄存器是 (1) 。 (1)A.程序计数器 B.状态寄存器 C.通用寄存器 D.累加寄存器 试题(1)分析 本题考查计算机系统基础知识。 CPU 中有一些重要的寄存器,程序计数器(PC)用于存放指令的地址。当程序顺序 执行时,每取出一条指令,PC 内容自动增加一个值,指向下一条要取的指令。当程序出 现转移时,则将转移地址送入 PC,然后由 PC 给出新的指令地址。 状态寄存器用于记录运算中产生的标志信息。状态寄存器中的每一位单独使用,称 为标志位。标志位的取值反映了 ALU 当前的工作状态,可以作为条件转移指令的转移 条件。典型的标志位有以下几种: 进位标志位(C)、 零标志位(Z)、 符号标志位(S)、 溢出标志位(V)、奇偶标志位(P)。 通用寄存器组是 CPU 中的一组工作寄存器,运算时用于暂存操作数或地址。在程序 中使用通用寄存器可以减少访问内存的次数,提高运算速度。累加器(accumulator)是 一个数据寄存器,在运算过程中暂时存放操作数和中间运算结果,不能用于长时间地保 存一个数据。 参考答案 (1)D 试题(2) 某机器字长为 n,最高位是符号位,其定点整数的最大值为 (2) 。 (2)A. 2n .1 B.2n.1 .1 C. 2n D. 2n.1 试题(2)分析 本题考查计算机系统中数据表示基础知识。 机器字长为 n,最高位为符号位,则剩余的 n-1 位用来表示数值,其最大值是这 n-1 位都为 1,也就是2n.1 .1。 参考答案 (2)B 第 5 章 2014 上半年软件设计师上午试题分析与解答 103 试题(3) 海明码利用奇偶性检错和纠错,通过在 n 个数据位之间插入 k 个校验位,扩大数据 编码的码距。若 n=48,则 k 应为 (3) 。 (3)A.4 B.5 C.6 D.7 试题(3)分析 本题考查数据校验基础知识。 设数据位是 n 位,校验位是 k 位,则 n 和 k 必须满足以下关系:2k.1≥n+k。 若 n=48,则 k 为 6 时可满足26 .1≥48+6。 海明码的编码规则如下。 设 k 个校验位为 Pk,Pk–1,…,P1,n 个数据位为 Dn–1,Dn–2,…,D1,D0,对应的 海明码为 Hn+k,Hn+k–1,…,H1,那么: ① Pi 在海明码的第 2i–1 位置,即 Hj=Pi,且 j=2i–1;数据位则依序从低到高占据海明 码中剩下的位置。 ② 海明码中的任一位都是由若干个校验位来校验的。其对应关系如下:被校验的 海明位的下标等于所有参与校验该位的校验位的下标之和,而校验位则由自身校验。 参考答案 (3)C 试题(4)、(5) 通常可以将计算机系统中执行一条指令的过程分为取指令、分析和执行指令 3 步, 若取指令时间为 4 Δ t,分析时间为 2 Δ t,执行时间为 3 Δ t,按顺序方式从头到尾执行完 600 条指令所需时间为 (4) Δ t;若按照执行第 i 条、分析第 i+1 条、读取第 i+2 条重 叠的流水线方式执行指令,则从头到尾执行完 600 条指令所需时间为 (5) Δ t。 (4)A.2400 B.3000 C.3600 D.5400 (5)A.2400 B.2405 C.3000 D.3009 试题(4)、(5)分析 本题考查指令系统基础知识。 指令顺序执行时,每条指令需要 9 Δ t(4 Δ t+2 Δ t+3 Δ t),执行完 600 条指令需要 5400 Δ t,若采用流水方式,则在分析和执行第 1 条指令时,就可以读取第 2 条指令,当 第 1 条指令执行完成,第 2 条指令进行分析和执行,而第 3 条指令可进行读取操作。因 此,第 1 条指令执行完成后,每 4 Δ t 就可以完成 1 条指令,600 条指令的总执行时间为 9 Δ t+599×4 Δ t=2405 Δ t。 参考答案 (4)D (5)B 试题(6) 若用 256K×8bit 的存储器芯片,构成地址 40000000H 到 400FFFFFH 且按字节编址 软件设计师 2013 至 2018 104 年试题分析与解答 的内存区域,则需 (6) 片芯片。 (6)A.4 B.8 C.16 D.32 试题(6)分析 本题考查计算机系统中存储器知识。 地址 400000000H 到 4000FFFFFH 共 FFFFFH(即 220)个以字节为单位的编址单元, 而 256K×8bit 的存储器芯片可提供 218 个以字节为单位的编址单元,因此需要 4 片 (220/218)这种芯片来构成上述内存区域。 参考答案 (6)A 试题(7) 以下关于木马程序的叙述中,正确的是 (7) 。 (7)A.木马程序主要通过移动磁盘传播 B.木马程序的客户端运行在攻击者的机器上 C.木马程序的目的是使计算机或网络无法提供正常的服务 D.Sniffer 是典型的木马程序 试题(7)分析 本题考查木马程序的基础知识。 木马程序一般分为服务器端(Server)和客户端(Client),服务器端是攻击者传到 目标机器上的部分,用来在目标机上监听等待客户端连接过来。客户端是用来控制目标 机器的部分,放在攻击者的机器上。 木马(Trojans)程序常被伪装成工具程序或游戏,一旦用户打开了带有特洛伊木马 程序的邮件附件或从网上直接下载,或执行了这些程序之后,当你连接到互联网上时, 这个程序就会通知黑客用户的 IP 地址及被预先设定的端口。黑客在收到这些资料后,再 利用这个潜伏其中的程序,就可以恣意修改用户的计算机设定、复制任何文件、窥视用 户整个硬盘内的资料等,从而达到控制用户的计算机的目的。 现在有许多这样的程序,国外的此类软件有 Back Office、Netbus 等,国内的此类软 件有 Netspy、YAI、SubSeven、冰河、“广外女生”等。Sniffer 是一种基于被动侦听原理 的网络分析软件。使用这种软件,可以监视网络的状态、数据流动情况以及网络上传输 的信息,其不属于木马程序。 参考答案 (7)B 试题(8) 防火墙的工作层次是决定防火墙效率及安全的主要因素,以下叙述中,正确的 是 (8) 。 (8)A.防火墙工作层次越低,工作效率越高,安全性越高 第 5 章 2014 上半年软件设计师上午试题分析与解答 105 B.防火墙工作层次越低,工作效率越低,安全性越低 C.防火墙工作层次越高,工作效率越高,安全性越低 D.防火墙工作层次越高,工作效率越低,安全性越高 试题(8)分析 本题考查防火墙的基础知识。 防火墙的性能及特点主要由以下两方面所决定。 ① 工作层次。这是决定防火墙效率及安全的主要因素。一般来说,工作层次越低, 则工作效率越高,但安全性就低了;反之,工作层次越高,工作效率越低,则安全性 越高。 ② 防火墙采用的机制。如果采用代理机制,则防火墙具有内部信息隐藏的特点, 相对而言,安全性高,效率低;如果采用过滤机制,则效率高,安全性却降低了。 参考答案 (8)D 试题(9) 以下关于包过滤防火墙和代理服务防火墙的叙述中,正确的是 (9) 。 (9)A.包过滤技术实现成本较高,所以安全性能高 B.包过滤技术对应用和用户是透明的 C.代理服务技术安全性较高,可以提高网络整体性能 D.代理服务技术只能配置成用户认证后才建立连接 试题(9)分析 本题考查防火墙的基础知识。 显然,包过滤防火墙采用包过滤技术对应用和用户是透明的。 参考答案 (9)B 试题(10) 王某买了一幅美术作品原件,则他享有该美术作品的 (10) 。 (10)A.著作权 B.所有权 C.展览权 D.所有权与其展览权 试题(10)分析 本题考查知识产权基本知识。 绘画、书法、雕塑等美术作品的原件可以买卖、赠与。但获得一件美术作品并不意 味着获得该作品的著作权。我国著作权法规定:“美术等作品原件所有权的转移,不视为 作品著作权的转移,但美术作品原件的展览权由原件所有人享有。”这就是说作品物转移 的事实并不引起作品著作权的转移,受让人只是取得物的所有权和作品原件的展览权, 作品的著作权仍然由作者享有。 软件设计师 2013 至 2018 106 年试题分析与解答 参考答案 (10)D 试题(11) 甲、乙两软件公司于 2012 年 7 月 12 日就其财务软件产品分别申请“用友”和“用 有”商标注册。两财务软件相似,甲第一次使用时间为 2009 年 7 月,乙第一次使用时间 为 2009 年 5 月。此情形下, (11) 能获准注册。 (11)A.“用友” B.“用友”与“用有”都 C.“用有” D.由甲、乙抽签结果确定谁 试题(11)分析 我国商标注册采取“申请在先”的审查原则,当两个或两个以上申请人在同一种或 者类似商品上申请注册相同或者近似商标时,商标主管机关根据申请时间的先后,决定 商标权的归属,申请在先的人可以获得注册。对于同日申请的情况,使用在先的人可以 获得注册。如果同日使用或均未使用,则采取申请人之间协商解决,协商不成的,由各 申请人抽签决定。 参考答案 (11)C 试题(12)、(13) 以下媒体中, (12) 是表示媒体, (13) 是表现媒体。 (12)A.图像 B.图像编码 C.电磁波 D.鼠标 (13)A.图像 B.图像编码 C.电磁波 D.鼠标 试题(12)、(13)分析 本题考查多媒体基础知识。 国际电话电报咨询委员会(CCITT)将媒体分为感觉媒体、表示媒体、表现媒体、 存储媒体和传输媒体 5 类,其中感觉媒体指直接作用于人的感觉器官,使人产生直接感 觉的媒体,如引起听觉反应的声音,引起视觉反应的图像等;传输媒体指传输表示媒体 的物理介质,如电缆、光缆、电磁波等;表示媒体指传输感觉媒体的中介媒体,即用于 数据交换的编码,如图像编码、文本编码和声音编码等;表现媒体是指进行信息输入和 输出的媒体,如键盘、鼠标、话筒,以及显示器、打印机、喇叭等;存储媒体指用于存 储表示媒体的物理介质,如硬盘、光盘等。 参考答案 (12)B (13)D 试题(14) (14) 表示显示器在横向(行)上具有的像素点数目。 (14)A.显示分辨率 B.水平分辨率 C.垂直分辨率 D.显示深度 第 5 章 2014 上半年软件设计师上午试题分析与解答 107 试题(14)分析 本题考查多媒体基础知识。 显示分辨率是指显示器上能够显示出的像素点数目,即显示器在横向和纵向上能够 显示出的像素点数目。水平分辨率表明显示器水平方向(横向)上显示出的像素点数目, 垂直分辨率表明显示器垂直方向(纵向)上显示出的像素点数目。例如,显示分辨率为 1024×768 则表明显示器水平方向上显示 1024 个像素点,垂直方向上显示 768 个像素点, 整个显示屏就含有 796432 个像素点。屏幕能够显示的像素越多,说明显示设备的分辨率 越高,显示的图像质量越高。显示深度是指显示器上显示每个像素点颜色的二进制位数。 参考答案 (14)B 试题(15) 以下关于结构化开发方法的叙述中,不正确的是 (15) 。 (15)A.将数据流映射为软件系统的模块结构 B.一般情况下,数据流类型包括变换流型和事务流型 C.不同类型的数据流有不同的映射方法 D.一个软件系统只有一种数据流类型 试题(15)分析 本题考查结构化开发方法的结构化设计。 结构化设计方法是一种面向数据流的设计方法,与结构化分析方法衔接。在需求分 析阶段,结构化分析方法产生了数据流图,而在设计阶段,结构化设计方法将数据流映 射为软件系统的模块结构。数据流图中从系统的输入数据流到系统的输出数据流的一连 串变换形成了一条信息流。其中的信息流一般情况下包括变换流型和事物流型。不同类 型的数据流到程序模块的映射方法不同。一个软件系统往往不仅仅有一种数据流类型。 参考答案 (15)D 试题(16) 模块 A 提供某个班级某门课程的成绩给模块 B,模块 B 计算平均成绩、最高分和最 低分,将计算结果返回给模块 A,则模块 B 在软件结构图中属于 (16) 模块。 (16)A.传入 B.传出 C.变换 D.协调 试题(16)分析 本题考查结构化开发方法的基础知识。 通常,可以按照在软件系统中的功能将模块分为四种类型。①传入模块:取得数据 或输入数据,经过某些处理,再将其传送给其他模块。②传出模块:输出数据,在输出 之前可能进行某些处理,数据可能被输出到系统的外部,或者会输出到其他模块进行进 一步处理。③变换模块:从上级调用模块得到数据,进行特定的处理,转换成其他形式, 软件设计师 2013 至 2018 108 年试题分析与解答 在将加工结果返回给调用模块。④协调模块 一般不对数据进行加工,主要是通过调用、 协调和管理其他模块来完成特定的功能。 参考答案 (16)C 试题(17) (17) 软件成本估算模型是一种静态单变量模型,用于对整个软件系统进行估算。 (17)A.Putnam B.基本 COCOMO C.中级 COCOMO D.详细 COCOMO 试题(17)分析 本题考查软件项目管理的基础知识。 Putnam 和 COCOMO 都是软件成本估算模型。Putnam 模型是一种动态多变量模型, 假设在软件开发的整个生存期中工作量有特定的分布。结构性成本模型 COCOMO 模型 分为基本 COCOMO 模型、中级 COCOMO 模型和详细 COCOMO。基本 COCOMO 模型 是一个静态单变量模型,对整个软件系统进行估算;中级 COCOMO 模型是一个静态多 变量模型,将软件系统模型分为系统和部件两个层次,系统由部件构成;详细 COCOMO 模型将软件系统模型分为系统、子系统和模块三个层次,除了包括中级模型所考虑的因 素外,还考虑了在需求分析、软件设计等每一步的成本驱动属性的影响。 参考答案 (17)B 试题(18) 以下关于进度管理工具 Gantt 图的叙述中,不正确的是 (18) 。 (18)A.能清晰地表达每个任务的开始时间、结束时间和持续时间 B.能清晰地表达任务之间的并行关系 C.不能清晰地确定任务之间的依赖关系 D.能清晰地确定影响进度的关键任务 试题(18)分析 本题考查软件项目管理的基础知识。 Gantt 图是一种简单的水平条形图,以日历为基准描述项目任务。水平轴表示日历 时间线,如日、周和月等,每个条形表示一个任务,任务名称垂直的列在左边的列中, 图中水平条的起点和终点对应水平轴上的时间,分别表示该任务的开始时间和结束时间, 水平条的长度表示完成该任务所持续的时间。当日历中同一时段存在多个水平条时,表 示任务之间的并发。 Gantt 图能清晰地描述每个任务从何时开始,到何时结束,任务的进展情况以及各 个任务之间的并行性。但它不能清晰地反映出各任务之间的依赖关系,难以确定整个项 目的关键所在,也不能反映计划中有潜力的部分。 第 5 章 2014 上半年软件设计师上午试题分析与解答 109 参考答案 (18)D 试题(19) 项目复杂性、规模和结构的不确定性属于 (19) 风险。 (19)A.项目 B.技术 C.经济 D.商业 试题(19)分析 本题考查软件项目管理的基础知识。 项目经理需要尽早预测项目中的风险,这样就可以制订有效的风险管理计划以减少 风险的影响,所以,早期的风险识别是非常重要的。一般来说,影响软件项目的风险主 要有三种类别:项目风险涉及各种形式的预算、进度、人员、资源以及和客户相关的问 题;技术风险涉及到潜在的设计、实现、对接、测试即维护问题;业务风险包括建立一 个无人想要的优秀产品的风险、失去预算或人员承诺的风险等;商业风险包括如市场风 险、策略风险、管理风险和预算风险等。 参考答案 (19)A 试题(20) 以下程序设计语言中, (20) 更适合用来进行动态网页处理。 (20)A.HTML B.LISP C.PHP D.Java/C++ 试题(20)分析 本题考查程序语言基础知识。 网页文件本身是一种文本文件,通过在其中添加标记符,可以告诉浏览器如何显示 其中的内容。HTML 是超文本标记语言,超文本是指页面内可以包含图片、链接,甚至 音乐、程序等非文字元素。 PHP(超文本预处理器)是一种通用开源脚本语言,它将程序嵌入到 HTML 文档中 去执行,从而产生动态网页。 参考答案 (20)C 试题(21) 在引用调用方式下进行函数调用,是将 (21) 。 (21)A.实参的值传递给形参 B.实参的地址传递给形参 C.形参的值传递给实参 D.形参的地址传递给实参 试题(21)分析 本题考查程序语言基础知识。 值调用和引用调用是实现函数调用时传递参数的两种基本方式。在值调用方式下, 是将实参的值传给形参,在引用调用方式下,是将实参的地址传递给形参。 软件设计师 2013 至 2018 110 年试题分析与解答 参考答案 (21)B 试题(22) 编译程序对高级语言源程序进行编译的过程中,要不断收集、记录和使用源程序中 一些相关符号的类型和特征等信息,并将其存入 (22) 中。 (22)A.符号表 B.哈希表 C.动态查找表 D.栈和队列 试题(22)分析 本题考查程序语言基础知识。 编译是实现高级程序设计语言的一种方式,编译过程可分为词法分析、语法分析、 语义分析、中间代码生成、代码优化和目标代码生成等阶段,还需要进行出错处理和符 号表管理。符号表的作用是记录源程序中各个符号的必要信息,以辅助语义的正确性检 查和代码生成,在编译过程中需要对符号表进行快速有效地查找、插入、修改和删除等 操作。符号表的建立可以始于词法分析阶段,也可以放到语法分析和语义分析阶段,但 符号表的使用有时会延续到目标代码的运行阶段。 参考答案 (22)A 试题(23) 设计操作系统时不需要考虑的问题是 (23) 。 (23)A.计算机系统中硬件资源的管理 B.计算机系统中软件资源的管理 C.用户与计算机之间的接口 D.语言编译器的设计实现 试题(23)分析 操作系统设计的目的是管理计算机系统中的软硬件资源,为用户与计算机之间提供 方便的接口。 参考答案 (23)D 试题(24)、(25) 假设某计算机系统中资源 R 的可用数为 6,系统中有 3 个进程竞争 R,且每个进程 都需要 i 个 R,该系统可能会发生死锁的最小 i 值是 (24) 。若信号量 S 的当前值为 .2,则 R 的可用数和等待 R 的进程数分别为 (25) 。 (24)A.1 B.2 C.3 D.4 (25)A.0、0 B.0、1 C.1、0 D.0、2 试题(24)、(25)分析 本题考查对操作系统进程管理信号量方面的基础知识。 选项 A 是错误的,因为每个进程都需要 1 个资源 R,系统为 3 个进程各分配 1 个, 系统中资源 R 的可用数为 3,3 个进程都能得到所需资源,故不发生死锁;选项 B 是错 第 5 章 2014 上半年软件设计师上午试题分析与解答 111 误的,因为,每个进程都需要 2 个资源 R,系统为 3 个进程各分配 2 个,系统中资源 R 的可用数为 6,3 个进程都能得到所需资源,故也不发生死锁;选项 C 是正确的,因为, 每个进程都需要 3 个资源 R,系统为 3 个进程各分配 2 个,系统中资源 R 的可用数为 6, 3 个进程再申请 1 个资源 R 得不到满足,故发生死锁;选项 D 显然是错误的,分析略。 试题(25)的正确的答案为选项 D。因为,早在 1965 年荷兰学者 Dijkstra 提出信号 量机制是一种有效的进程同步与互斥工具。目前,信号量机制有了很大的发展,主要有 整型信号量、记录型信号量和信号量集机制。 对于整型信号量,可以根据控制对象的不同被赋予不同的值。通常将信号量分为公 用信号量和私用信号量两类。其中,公用信号量用于实现进程间的互斥,初值为 1 或资 源的数目;私用信号量用于实现进程间的同步,初值为 0 或某个正整数。信号量 S 的物 理意义是:S≥0 表示某资源的可用数,若 S<0,则其绝对值表示阻塞队列中等待该资源 的进程数。本题由于信号量 S 的当前值为–2,则意味着系统中资源 R 的可用个数 M=0, 等待资源 R 的进程数 N=2。 参考答案 (24)C (25)D 试题(26) 某计算机系统页面大小为 4K,若进程的页面变换表如下所示,逻辑地址为十六进 制 1D16H。该地址经过变换后,其物理地址应为十六进制 (26) 。 页号 物理块号 0 1 1 3 2 4 3 6 (26)A.1024H B.3D16H C.4D16H D.6D16H 试题(26)分析 根据题意页面大小为 4K,逻辑地址为十六进制 1D16H 其页号为 1,页内地址为 D16H,查页表后可知物理块号为 3,该地址经过变换后,其物理地址应为物理块号 3 拼 上页内地址 C16H,即十六进制 3D16H。 参考答案 (26)B 试题(27)、(28) 若某文件系统的目录结构如下图所示,假设用户要访问文件 fault.swf,且当前工作 目录为 swshare,则该文件的全文件名为 (27) ,相对路径和绝对路径分别为 (28) 。 软件设计师 2013 至 2018 112 年试题分析与解答 (27)A.fault.swf B.flash\fault.swf C.swshare\flash\fault.swf D.\swshare\flash\fault.swf (28)A.swshare\flash\和\flash\ B.flash\和\swshare\flash\ C.\swshare\flash\和 flash\ D.\flash\和\swshare\flash\ 试题(27)、(28)分析 本题考查对操作系统文件管理方面的基础知识。 路径名是指操作系统查找文件所经过的目录名以及目录名之间的分隔符构成的。通 常,操作系统中全文件名是指路径名+文件名。 按查找文件的起点不同可以将路径分为:绝对路径和相对路径。从根目录开始的路 径称为绝对路径;从用户当前工作目录开始的路径称为相对路径,相对路径是随着当前 工作目录的变化而改变的。 参考答案 (27)D (28)B 试题(29) 以下关于统一过程 UP 的叙述中,不正确的是 (29) 。 (29)A.UP 是以用例和风险为驱动,以架构为中心,迭代并且增量的开发过程 B.UP 定义了四个阶段,即起始、精化、构建和确认阶段 C.每次迭代都包含计划、分析、设计、构造、集成、测试以及内部和外部发布 D.每个迭代有五个核心工作流 试题(29)分析 本题考查软件过程模型的基础知识。 UP(统一过程)模型是一种以用例和风险为驱动、以架构为中心、迭代并且增量的 开发过程,由 UML 方法和工具支持。UP 过程定义了五个阶段,起始阶段、精化阶段、 构建阶段、移交阶段和产生阶段。开发过程中有多次迭代,每次迭代都包含计划、分析、 设计、构造、集成和测试,以及内部和外部发布。每个迭代有五个核心工作流,捕获系 统应该做什么的需求工作流、精化和结构化需求的分析工作流、在系统结构内实现需求 的设计工作流、构造软件的实现工作流和验证是否如期望那样工作的测试工作流。 第 5 章 2014 上半年软件设计师上午试题分析与解答 113 参考答案 (29)B 试题(30) 某公司要开发一个软件产品,产品的某些需求是明确的,而某些需求则需要进 一步细化。由于市场竞争的压力,产品需要尽快上市,则开发该软件产品最不适合 采用 (30) 模型。 (30)A.瀑布 B.原型 C.增量 D.螺旋 试题(30)分析 本题考查软件过程模型的基础知识。 瀑布模型将软件生存周期各个活动规定为线性顺序连接的若干阶段的模型,规定了 由前至后,相互衔接的固定次序,如同瀑布流水,逐级下落。这种方法是一种理想的开 发模式,缺乏灵活性,特别是无法解决软件需求不明确或不准确的问题。原型模型从初 始的原型逐步演化成最终软件产品,特别适用于对软件需求缺乏准确认识的情况。螺旋 将瀑布模型与快速原型模型结合起来,并且加入两种模型均忽略了的风险分析,适用于 复杂的大型软件。增量是开发把软件产品作为一系列的增量构件来设计、编码、集成和 测试,可以在增量开发过程中逐步理解需求。 参考答案 (30)A 试题(31) 在屏蔽软件错误的容错系统中,冗余附加技术的构成不包括 (31) 。 (31)A.关键程序和数据的冗余存储及调用 B.冗余备份程序的存储及调用 C.实现错误检测和错误恢复的程序 D.实现容错软件所需的固化程序 试题(31)分析 本题考查软件容错技术的基础知识。 容错技术是对某些无法避开的差错,使其影响减至最小的技术。通常冗余技术分为 四类,结构冗余、信息冗余、时间冗余和冗余附加技术。其中冗余附加技术是指为实现 其他类型冗余技术所需要的资源和技术,包括程序指令、数据、存放和调动它们的空间 和通道等。在屏蔽硬件错误的容错技术中,冗余附加技术包括:关键程序和数据的冗余 存储及调用;检测、表决、切换、重构、纠错和复算的实现。在屏蔽软件错误的容错技 术中,冗余附加技术包括:冗余备份程序的存储及调用;实现错误检测和错误恢复的程 序;实现容错软件所需的固化程序。 参考答案 (31)A 软件设计师 2013 至 2018 114 年试题分析与解答 试题(32) 采用 McCabe 度量法计算下列程序图的环路复杂性为 (32) 。 (32)A.2 B.3 C.4 D.5 试题(32)分析 本题考查软件质量的基础知识。 McCabe 度量法是一种基于程序控制流的复杂性度量方法,环路复杂性为 V(G) = m – n + 2,图中 m = 8, n = 6,V(G) = 8 – 6 + 2 = 4。 参考答案 (32)C 试题(33) 以下关于文档的叙述中,不正确的是 (33) 。 (33)A.文档仅仅描述和规定了软件的使用范围及相关的操作命令 B.文档也是软件产品的一部分,没有文档的软件就不能称之为软件 C.软件文档的编制在软件开发工作中占有突出的地位和相当大的工作量 D.高质量文档对于发挥软件产品的效益有着重要的意义 试题(33)分析 本题考查软件文档的基础知识。 软件文档不仅仅描述和规定了软件的使用范围及相关的操作命令,还包括硬件采购 和网络设计中形成的文档。文档是软件产品的重要组成部分。软件文档的编制在软件开 第 5 章 2014 上半年软件设计师上午试题分析与解答 115 发工作中占有突出的地位和相当大的工作量,对发挥软件产品的效益具有重要的意义。 参考答案 (33)A 试题(34) 某搜索引擎在使用过程中,若要增加接受语音输入的功能,使得用户可以通过语音 输入来进行搜索,此时应对系统进行 (34) 维护。 (34)A.正确性 B.适应性 C.完善性 D.预防性 试题(34)分析 本题考查软件维护的基础知识。 软件维护一般包括四种类型: 正确性维护是指改正在系统开发阶段已发生而系统测试阶段尚未发现的错误; 适应性维护是指使应用软件适应新型技术变化和管理需求变化而进行的修改; 完善性维护是指为扩充功能和改善性能而进行的修改,主要是指对已有的软件系统 增加一些在系统分析和设计阶段中没有规定的功能与性能特征; 预防性维护是指为了改进应用软件的可靠性和可维护性,为了适应未来的软硬件环 境的变化,主动增加预防性的功能,以使应用系统适应各类变化而不被淘汰。 参考答案 (34)B 试题(35)、(36) 采用白盒测试方法对下图进行测试,设计了 4 个测试用例:①(x=0, y=3),②(x=1, y=2),③(x=-1, y=2),④(x=3, y=1)。至少需要测试用例①②才能完成 (35) 覆盖, 至少需要测试用例①②③或①②④才能完成 (36) 覆盖。 (35)A.语句 B.条件 C.判定/条件 D.路径 (36)A.语句 B.条件 C.判定/条件 D.路径 软件设计师 2013 至 2018 116 年试题分析与解答 试题(35)、(36)分析 本题考查软件测试的基础知识。 测试用例①(x=0, y=3)在第一个判断结果为 Y,执行语句 A;测试用例②(x=1, y=2) 在第一个判断结果为 N,第二个判断结果为 N,执行语句 B;测试用例③(x=-1, y=2) 和④(x=3, y=1)在第一个判断结果为 N,第二个判断结果为 Y。至少需要测试用例① ②才能完成语句覆盖,至少需要测试用例①②③或①②④才能完成路径覆盖。 参考答案 (35)A (36)D 试题(37) (37) 是一个类与它的一个或多个细化类之间的关系,即一般与特殊的关系。 (37)A.泛化 B.关联 C.聚集 D.组合 试题(37)分析 本题考查面向对象的基本知识。 泛化是一个类与它的一个或多个细化类之间的关系,表达一般与特殊的关系。关联 是类与类之间的一种结构关系。聚集是一种关系,其中一个较大的整体类包含一个或多 个较小的部分类;相反地,一个较小的部分类是一个较大的整体类的一部分。组合是一 种聚合关系,其中整体负责其部分的创建和销毁,如果整体不存在了,部分也将不存在。 参考答案 (37)A 试题(38) 某些程序设计语言中,在运行过程中当一个对象发送消息请求服务时,根据接收对 象的具体情况将请求的操作与实现的方法进行连接,称为 (38) 。 (38)A.静态绑定 B.通用绑定 C.动态绑定 D.过载绑定 试题(38)分析 本题考查面向对象的基本知识。 绑定是一个把过程调用和响应调用所需要执行的代码加以结合的过程。在一般的程 序设计语言中,绑定是在编译时进行的,叫做静态绑定。动态绑定则是在运行时进行的, 因此,一个给定的过程调用和代码的结合直到调用发生时才进行。 参考答案 (38)C 试题(39)、(40) 在面向对象技术中,不同的对象在收到同一消息时可以产生完全不同的结果,这一 现象称为 (39) ,它由 (40) 机制来支持。利用类的层次关系,把具有通用功能的 消息存放在高层次,而不同的实现这一功能的行为放在较低层次,在这些低层次上生成 的对象能够给通用消息以不同的响应。