分享
2013年上半年 软件设计师 详细答案(2).docx
下载文档

ID:3305062

大小:941.35KB

页数:98页

格式:DOCX

时间:2024-02-27

收藏 分享赚钱
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,汇文网负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。
网站客服:3074922707
2013年上半年 软件设计师 详细答案2 2013 上半年 软件 设计师 详细 答案
常用的虚拟存储器由(1)两级存储器组成。 (1)A.主存-辅存 B.主存-网盘 C.Cache-主存 D.Cache-硬盘 【答案】A 【解析】本题考查计算机系统存储系统基础知识。 在具有层次结构存储器的计算机中,虚拟存储器是为用户提供一个比主存储器大得多的可随机访问的地址空间的技术。虚拟存储技术使辅助存储器和主存储器密切配合, 对用户来说,好像计算机具有一个容量比实际主存大得多的主存可供使用,因此称为虚拟存储器。虚拟存储器的地址称为虚地址或逻辑地址。 中断向量可提供(2)。 (2)A.I/O设备的端口地址 B.所传送数据的起始地址 C.中断服务程序的入口地址 D.主程序的断点地址 【答案】C 【解析】本题考查计算机系统基础知识。 计算机在执行程序过程中,当遇到急需处理的事件时,暂停当前正在运行的程序, 转去执行有关服务程序,处理完后自动返回原程序,这个过程称为中断。 中断是一种非常重要的技术,输入输出设备和主机交换数据、分时操作、实时系统、计算机网络和分布式计算机系统中都要用到这种技术。为了提高响应中断的速度,通常把所有中断服务程序的入口地址(或称为中断向量)汇集为中断向量表。 为了便于实现多级中断嵌套,使用(3)来保护断点和现场最有效。 (3)A.ROM B.中断向量表 C.通用寄存器 D.堆栈 【答案】D 【解析】本题考查计算机系统基础知识。 当系统中有多个中断请求时,中断系统按优先级进行排队。若在处理低级中断过程中又有高级中断申请中断,则高级中断可以打断低级中断处理,转去处理高级中断,等处理完高级中断后再返回去处理原来的低级中断,称为中断嵌套。实现中断嵌套用后进先出的栈来保护断点和现场最有效. DMA工作方式下,在(4)之间建立了直接的数据通路。 (4)A.CPU与外设 B.CPU与主存 C.主存与外设 D.外设与外设 【答案】C 【解析】本题考查计算机系统基础知识。 计算机系统中主机与外设间的输入输出控制方式有多种,在DMA方式下,输入输出设备与内存储器直接相连,数据传送由DMA控制器而不是主机CPU控制。CPU除了传送开始和终了时进行必要的处理外,不参与数据传送的过程。 地址编号从80000H到BFFFFH且按字节编址的内存容量为(5)KB,若用16K*4bit的存储器芯片构成该内存,共需(6)片。 (5)A.128 B.256 C.512 D.1024 (6) A.8 B.16 C.32 D.64 【答案】B C 【解析】本题考查计算机系统基础知识。 从80000H到BFFFFH的编址单元共3FFFF (即218 )个,按字节编址的话,对应的容量为28KB,即256KB。若用16K*4bit的芯片构成该内存,构成一个16KB存储器需要2片,256÷16=16,因此共需要32片。 利用报文摘要算法生成报文主要的目的是(7)。 (7)A.验证通信对方的身份,防止假冒 B.对传输数据进行加密,防止数据被窃听C.防止发送言否认发送过数据 D.防止发送的报文被篡改 【答案】D 【解析】本题考查报文摘要的知识 报文摘要是指单向哈希函数算法将任意长度的输入报文经计算得出固定位的输出。报文摘要是用来保证数据完整性的。传输的数据一旦被修改, 那么计算出的摘要就不同,只要对比两次摘要就可确定数据是否被修改过。 防火墙通常分为内网、外网和DMZ三个区域,按照受保护程序,从高到低正确的排列次序为(8)。 (8)A.内网、外网和DMZ B.外网、内网和DMZ C.DMZ、内网和外网 D.内网、DMZ和外网 【答案】D 【解析】本题考查防火墙的基础知识。 通过防火墙我们可以将网络划分为三个区域:安全级别最高的LAN Area (内网), 安全级别中等的DMZ区域和安全级别最低的Internet区域(外网)。三个区域因担负不同的任务而拥有不同的访问策略。通常的规则如下: ①内网可以访问外网:内网的用户需要自由地访问外网。在这一策略中,防火墙需要执行NAT。 ②内网可以访问DMZ:此策略使内网用户可以使用或者管理DMZ中的服务器。 ③外网不能访问内网:这是防火墙的基本策略,内网中存放的是公司内部数据,显然这些数据是不允许外网的用户进行访问的。如果要访问,就要通过VPN方式来进行。 ④外网可以访问DMZ: DMZ中的服务器需要为外界提供服务,所以外网必须可以访问DMZ。同时,外网访问DMZ需要由防火墙完成对外地址到服务器实际地址的转换。 ⑤DMZ不能访问内网:如不执行此策略,则当入侵者攻陷DMZ时,内部网络将不会受保护。 ⑥DMZ不能访问外网:此条策略也有例外,可以根据需要设定某个特定的服务器可以访问外网,以保证该服务器可以正常工作。 综上所述,防火墙区域按照受保护程度从高到低正确的排列次序应为内网、DMZ和外网。 近年来,在我国出现各类病毒中,(9)病毒通过木马形式感染智能手机。 (9)A.欢乐时光 B.熊猫烧香 C.X卧底 D.CIH 【答案】C 【解析】本题考查病毒及其危害。 欢乐时光及熊猫烧香均为蠕虫病毒,CIH则为系统病毒,这3者均以感染台式机或服务器为主,且产生较早;X卧底则是新近产生的、通过木马形式传播、目标为智能手机的病毒。 王某是一名软件设计师,按公司规定编写软件文档,并上交公司存档。这些软件文档属于职务作品,且(10)。 (10)A.其著作权由公司享有 B.其著作权由软件设计师享有 C.除其署名权以处,著作权的其他权利由软件设计师享有 D.其著作权由公司和软件设计师共同享有 【答案】A 【解析】本题考查知识产权知识。 公民为完成法人或者其他组织工作任务所创作的作品是职务作品。职务作品可以是作品分类中的任何一种形式,如文字作品、电影作品、计算机软件等。职务作品的著作权归属分两种情形。 一般职务作品的著作权由作者享有。所谓一般职务作品是指虽是为完成工作任务而为,但非经法人或其他组织主持,不代表其意志创作,也不由其承担责任的职务作品。 对于一般职务作品,法人或其他组织享有在其业务范围内优先使用的权利,期限为两年。 优先使用权是专有的,未经单位同意,作者不得许可第三人以与法人或其他组织使用的相同方式使用该作品。在作品完成两年内,如单位在其业务范围内不使用,作者可以要求单位同意由第三人以与法人或其他组织使用的相同方式使用,所获报酬,由作者与单位按约定的比例分配。 特殊的职务作品,除署名权以外,著作权的其他权利由法人或者其他组织(单位) 享有。所谓特殊职务作品是指著作权法第16条第2款规定的两种情况:一是主要利用法人或者其他组织的物质技术条件创作,并由法人或者其他组织承担责任的工程设计、产品设计图、计算机软件、地图等科学技术作品;二是法律、法规规定或合同约定著作权由单位享有的职务作品。 甲经销商擅自复制并销售乙公司开发的OA软件光盘已构成侵权。丙企业在未知的情形下从甲经销商处购入10张并已安装使用。在丙企业知道了所使用的软件为侵权复制的情形下,以下说法正确的是(11)。 (11)A.丙企业的使用行为侵权,须承担赔偿责任 B.丙企业的使用行为不侵权,可以继续使用这10张软件光盘 C.丙企业的使用行为侵权,支付合理费用后可以继续使用这10张软件光盘 D.丙企业的使用行为不侵权,不需承担任何法律责任 【答案】C 【解析】本题考查知识产权知识。 我国计算机软件保护条例第30条规定“软件的复制品持有人不知道也没有合理理由应当知道该软件是侵权复制品的,不承担赔偿责任;但是,应当停止使用、销毁该侵权复制品。如果停止使用并销毁该侵权复制品将给复制品使用人造成重大损失的,复制品使用人可以在向软件著作权人支付合理费用后继续使用。”丙企业在获得软件复制品的形式上是合法的(向经销商购买),但是由于其没有得到真正软件权利人的授权,其取得的复制品仍是非法的,所以丙企业的使用行为属于侵权行为。 丙企业应当承担的法律责任种类和划分根据主观状态来确定。首先,法律确立了软件著作权人的权利进行绝对的保护原则,即软件复制品持有人不知道也没有合理理由应当知道该软件是侵权复制品的,也必须承担停止侵害的法律责任,只是在停止使用并销毁该侵权复制品将给复制品使用人造成重大损失的情况下,软件复制品使用人可继续使用,但前提是必须向软件著作权人支付合理费用。其次,如果软件复制品持有人能够证明自己确实不知道并且也没有合理理由应当知道该软件是侵权复制品的,软件复制品持有人除承担停止侵害外,不承担赔偿责任。 软件复制品持有人一旦知道了所使用的软件为侵权复制品时,应当履行停止使用、销毁该软件的义务。不履行该义务,软件著作权人可以诉请法院判决停止使用并销毁侵权软件。如果软件复制品持有人在知道所持有软件是非法复制品后继续使用给权利人造成损失的,应该承担赔偿责任。 声音信号数字化过程中首先要进行(12)。 (12)A.解码 B.D/A转换 C.编码 D.A/D转换 【答案】D 【解析】本题考查多媒体基础知识。 声音信号是一种模拟信号,计算机要对它进行处理,必须将它转换成为数字声音信号,即用二进制数字的编码形式来表示声音,通常将这一过程称为数字化过程。声音信号数字化过程中首先是将模拟信号转换成离散信号,即A/D 转换(模数转换)。 以下关于dpi的叙述中,正确的是(13)。 (13)A.每英寸的bit数 B.存储每个像素所用的位数 C.每英寸像素点 D.显示屏上能够显示出的像素数目 【答案】C 【解析】本题考查多媒体基础知识。 dpi是描述图像分辨率的单位,表示每英寸多少像素点, 即组成一幅图像的像素密度。它实质上是图像数字化的采样间隔,由它确立组成一幅图像的像素数目。对同样大小的一幅图,如果组成该图像的图像像素数目越多,则说明图像的分辨率越高,图像看起来就越逼真。相反,图像则显得越粗糙。因此,不同的分辨率会造成不同的图像清晰度。存储每个像素所用的位数是用来度量图像的分辨率的。像素深度确定彩色图像的每个像素可能有的颜色数,即确定彩色图像中可出现的最多颜色数。显示屏上能够显示出的像素数目是指显示分辨率 媒体可以分为感觉媒体、表示媒体、表现媒体、存储媒体、传输媒体,(14)属于表现媒体。 (14)A.打印机 B.硬盘 C.光缆 D.图像 【答案】A 【解析】本题考查多媒体基础知识。 表现媒体指实现信息输入和输出的媒体,如键盘、鼠标、 扫描仪、话筒、摄像机等为输入媒体;显示器、打印机、喇叭等为输出媒体。硬盘属于存储媒体;光缆属于传输媒体;图像属于感觉媒体 统一过程模型是一种“用例和风险驱动,以架构为中心,迭代并且增量”的开 发过程,定义了不同阶段及其制品,其中精化阶段关注(15)。 (15)A.项目的初始活动 B.需求分析和架构演进 C.系统的构建,产生实现模型 D.软件提交方面的工作,产生软件增量 【答案】B 【解析】本题考查软件开发过程模型的基本概念。 统一过程模型是一种“用例和风险驱动, 以架构为中心,迭代并且增量”的开发过程,由UML方法和工具支持,定义了不同阶段及其制品。 起始阶段专注于项目的初创活动。精化阶段理解了最初的领域范围之后,进行需求分析和架构演进。构建阶段关注系统的构建,产生实现模型。移交阶段关注于软件提交方面的工作,产生软件增量。产生阶段运行软件并监控软件的持续使用,提供运行环境的支持,提交并评估缺陷报告和变更请求。 在进行进度安排时,PERT图不能清晰地描述(16),但可以给出哪些任务完成后才能开始另一些任务。某项目X包含任务A.B....J,其PERT图如下图所示(A=1表示任务A 的持续时间是1天),则项目X的关键路径是(17)。 (16)A.每个任务从何时开始 B.每个任务到何时结束 C.各任务之间的并行情况 D.各任务之间的依赖关系 (17)A.A-D-H-J B.B-E-H-J C.B-F-J D.C-G-I-J 【答案】C B 【解析】本题考查项目管理及工具技术。 PERT图可以清晰地表示各任务的开始时间和结束时间以及各任务之间的依赖关系,但是无法很好地表示各任务之间的并行情况。 根据关键路径法,计算出项目X中的关键路径为B-E-H-J,关键路径长度为16。 “软件产品必须能够在3秒内对用户请求作出响应”属于软件需求中的(18)。 (18)A.功能需求 B.非功能需求 C.设计约束 D.逻辑需求 【答案】B 【解析】本题考查软件需求分类基础知识。 软件需求是软件系统必须完成的事以及必须具备的品质。软件需求包括功能需求、非功能需求和设计约束三个方面的内容。功能需求是所开发的软件必须具备什么样的功能:非功能需求是指产品必须具备的属性或品质,如可靠性、性能、响应时间和扩展性等等;设计约束通常对解决方案的一些约束说明。“软件产品必须能够在3秒内对用户请求作出响应”主要表述软件的响应时间,属于非功能需求。 某项目为了修正一个错误而进行了修改。错误修正后,还需要进行(19)以发现这一修正是否引起原本正确运行的代码出错。 (19)A.单元测试 B.接受测试 C.安装测试 D.回归测试 【答案】D 【解析】本题考查软件测试基础知识。 单元测试是在模块编写完成且无编译错误后进行,侧重于模块中的内部处理逻辑和数据结构;接受测试主要是用户为主的测试;安装测试是将软件系统安装在实际运行环境的测试;回归测试是在系统有任何修改的情况下,需要重新对整个软件系统进行的测试。 以下关于解释程序和编译程序的叙述中,正确的是(20)。 (20)A.编译程序和解释程序都生成源程序的目标程序 B.编译程序和解释程序都不生成源程序的目标程序 C.编译程序生成源程序的目标程序,而解释程序则不然 D.编译程序不生成源程序的目标程序,而解释程序反之 【答案】C 【解析】本题考查程序语言翻译基础知识。 编译和解释方式是翻译高级程序设计语言的两种基本方式。 解释程序也称为解释器,它或者直接解释执行源程序,或者将源程序翻译成某种中间表示形式后再加以执行;而编译程序(编译器)则首先将源程序翻译成目标语言程序, 然后在计算机上运行目标程序。这两种语言处理程序的根本区别是:在编译方式下,机器上运行的是与源程序等价的目标程序,源程序和编译程序都不再参与目标程序的执行过程;而在解释方式下,解释程序和源程序(或其某种等价表示)要参与到程序的运行过程中,运行程序的控制权在解释器。解释器翻译源程序时不产生独立的目标程序,而编译器则需将源程序翻译成独立的目标程序。 以下关于传值调用与引用调用的叙述中,正确的是(21)。 ①在传值调用方式下,可以实现形参和实参间双向传递数据的效果 ②在传值调用方式下,实参可以是变量,也可以是常量和表达式 ③在引用调用方式下,可以实现形参和实参间双向传递数据的效果 ④在引用调用方式下,实参可以是变量,也可以是常量和表达式 (21)A.①③ B.①④ C.②③ D.②④ 【答案】C 【解析】本题考查程序语言知识。 调用函数和被调用函数之间交换信息的方法主要有两种:一种是由被调用函数把返回值返回给主调函数,另一种是通过参数传递信息。函数调用时实参与形参间交换信息的基本方法有传值调用和引用调用两种。 若实现函数调用时实参向形参传递相应类型的值,则称为是传值调用。这种方式下形参不能向实参传递信息。实参可以是变量,也可以是常量和表达式。 引用调用的实质是将实参变量的地址传递给形参,因此,形参是指针类型,而实参必须具有左值。变量具有左值,常量没有左值。被调用函数对形参的访问和修改实际上就是针对相应实际参数所作的访问和改变,从而实现形参和实参间双向传递数据的效果。 在对高级语言源程序进行编译的过程中,为源程序中变量所分配的存储单元的地址属于(22)。 (22)A.逻辑地址 B.物理地址 C.接口地址 D.线性地址 【答案】A 【解析】本题考查程序语言基础知识。 编译过程中为变量分配存储单元所用的地址是逻辑地址,程序运行时再映射为物理地址。 假设某分时系统采用简单时片轮转法,当系统中的用户数为n、时间片为q时, 系统对每个用户的响应时间T=(23)。 (23)A.n B.q C.n*q D.n+q 【答案】C 【解析】 在分时系统中是将把CPU的时间分成很短的时间片轮流地分配给各个终端用户,当系统中的用户数为n、时间片为q时,那么系统对每个用户的响应时间等于n*q。 在支持多线程的操作系统中,假设进程P创建了若干个线程,那么(24)是不能 被这些线程共享的。 (24)A.该进程的代码段 B.该进程中打开的文件 C.该进程的全局变量 D.该进程中某线程的栈指针 【答案】D 【解析】 在同一进程中的各个线程都可以共享该进程所拥有的资源,如访问进程地址空间中的每一个虚地址;访问进程拥有已打开文件、定时器、信号量机构等,但是不能共享进程中某线程的栈指针。 进程资源图如图(a)和(b)所示,其中:图(a)中(25);图(b)中(26)。 (25)A.P1是非阻塞节点,P2是阻塞节点,所以该图不可以化简,是死锁的 B.P1、P2都是阻塞节点,所以该图不可以化简,是死锁的 C.P1、P2都是非阻塞节点,所以该图可以化简,是非死锁的 D.P1是阻塞节点,P2是非阻塞节点,所以该图不可以化简、是死锁的 (26)A.P1、P2、P3都是非阻塞节点,该图可以化简,是非死锁的 B.P1、P2、P3都是阻塞节点,该图不可以化简,是死锁的 C.P2是阻塞节点,P1、P3是非阻塞节点,该图可以化简,是非死锁的 D.P1、P2是非阻塞节点,P3是阻塞节点,该图不可以化简,是死锁的。 【答案】B C 【解析】 因为R1资源只有2个,P2申请该资源得不到满足,故进程P2是阻塞节点;同样R2资源只有3个,P1申请该资源得不到满足,故进程P1也是阻塞节点。可见进程资源图(a)是死锁的,该图不可以化简。 因为R2资源有3个,已分配2个,P3申请1个R2资源可以得到满足,故进程P3可以运行完毕释放其占有的资源。这样可以使得Pl、P2都变为非阻塞节点,得到所需资源运行完毕,因此,进程资源图(b)是可化简的。 假设内存管理采用可变式分区分配方案,系统中有五个进程P1~P5,且某一时刻内存使用情况如下图所示(图中空白处表示未使用分区)。此时,若P5进程运行完并释放其占有的空间,则释放后系统的空闲区数应(27);造成这种情况的原因是(28)。 (27)A.保持不变 B.减1 C.加1 D.置零 (28)A.无上邻空闲区,也无下邻空闲区 B.有上邻空闲区,但无下邻空闲区 C.有上邻空闲区,但无下邻空闲区 D.有上邻空闲区,也有下邻空闲区 【答案】B D 【解析】 (27)从图中不难看出,若p5进程运行完并释放其占有的空间,则由于其占用的分区有上邻空闲区,一旦释放后,就合并为一个空闲区,所以合并后系统空闲区数=3-1=2. (28) 若p5进程运行完并释放其占有的空间,则由于其占用的分区既有上邻空闲区又有下邻空闲区,一旦释放后,就合并为一个空闲区,所以合并后系统空闲区数=3-1=2 在如下所示的数据流图中,共存在(29)个错误。 (29)A.4 B.6 C.8 D.9 【答案】B 【解析】本题考查数据流图方面的基础知识。 结构化分析将数据和处理作为分析对象,数据的分析结果表示了现实世界中实体的属性及其之间的相互关系,而处理的结果则展现了系统对数据的加工和转换。面向数据流建模是目前仍然被广泛使用的方法之一,而DFD则是面向数据流建模中的重要工具,DFD将系统建模成输入一处理一输出的模型,即流入软件的数据对象,经由处理的转换,最后以结果数据对象的形式流出软件。在实际使用DFD进行数据流建模时,需要注意以下原则: ①加工处理和数据流的正确使用,如一个加工必须既有输入又有输出;数据流只能和加工相关,即从加工流向加工、数据源流向加工或加工流向数据源。 ②每个数据流和数据存储都要在数据字典中有定义,数据字典将包括各层数据流图中数据元素的定义。 ③数据流图中最底层的加工处理必须有加工处理说明。 ④父图和子图必须平衡,即父图中某加工的输入输出(数据流)和分解这个加工的子图的输入输出数据流必须完全一致,这种一致性不一定要求数据流的名称和个数一 一对应,但它们在数据字典中的定义必须一致,数据流或数据项既不能多也不能少。 ⑤加工处理说明和数据流图中加工处理涉及的元素保持一致。例如,在加丄处理说明中,输入数据流必须说明其如何使用,输出数据流说明如何产生或选取,数据存储说明如何选取、使用或修改。 ⑥一幅图中的图元个数控制在7+2以内。 在题目所示的DFD图中,数据流DF2、DF6和DF7的输入、输出均不是加工,这与“数据流只能和加工相关,即从加工流向加工、数据源流向加工或加工流向数据源”相违背。加工P1只有输出,没有输入;加工P3只有输入没有输出,这与“一个加工必须既有输入又有输出”相违背。数据流DF4经过加工P4之后没有发生任何改变,说明该数据对加工P4是没有作用的,根据数据守恒原理,这条数据流不应与P4有关联。综上,该DFD图中共有6个错误。 软件的复杂性主要体现在程序的复杂性。(30)是度量软件复杂性的一个主要参数。若采用McCabe度量法计算环路复杂性,则对于下图所示的程序图,其环路复杂度为(31)。 (30)A.代码行数 B.常量的数量 C.变量的数量 D.调用的库函数的数量 (31)A.2 B.3 C.4 D.5 【答案】A C 【解析】本题考查软件复杂性方面的基础知识。 软件复杂性度量是软件度量的一个重要分支。对于软件复杂性度量的主要参数有: •规模,即总共的指令数,或源程序行数。 •难度,通常由程序中出现的操作数的数目所决定的量来表示。 •结构,通常用与程序结构有关的度量来表示。 •智能度,即算法的难易程度。 软件复杂性主要表现在程序的复杂性。程序的复杂性主要指模块内程序的复杂性。McCabe度量法是一种基于程序控制流的复杂性度量方法。McCabe复杂性度量又称为环路度量,它认为程序的复杂性很大程度上取决于控制的复杂性。单一的顺序程序结构最为简单,循环和选择所构成的环路越多,程序就越复杂。这种方法以图论为工具,先画出程序图,然后用该图的环路数作为程序复杂性的度量值。程序图是退化的程序流程图,也就是说,把程序流程图中每个处理符号都退化成一个结点,原来连接不同处理符号的流线变成连接不同点的有向弧,这样得到的有向图就叫做程序图。程序图仅描述程序内部的控制流程,完全不表现对数据的具体操作以及分支和循环的具体条件。 根据图论,在一个强连通的有向图G中,环的个数V(G)由以下公式给出: V(G) = m - n + 2p 其中,V(G)是有向图G中的环路数,m是图G中弧的个数,n是图G中的结点数, P是G中的强连通分量个数。在一个程序中,从程序图的入口点总能到达图中的任何一个结点,因此,程序总是连通的,但不是强连通的。为了使程序图成为强连通图,从图的入口点到出口点加一条用虚线表示的有向边,使图成为强连通图,这样就可以使用上式计算环路复杂性了。对于题目中的程序图,其中结点数n = 9,弧数m=ll, p=l,则有: V(G) = m-n+2p =11-9+2 = 4 即McCabe环路复杂的度量值为4。 (32)不属于软件设计质量评审。 (32)A.功能与模块之间的对应关系 B.软件规格说明是否符合用户的要求 C.软件是否具有可测试性 D.软件是否具有良好的可靠性 【答案】A 【解析】本题考查软件评审方面的基础知识。 通常,把“质量”理解为“用户满意程度”。为了使得用户满意,有两个必要条件: ①设计的规格说明书符合用户的要求,这称为设计质量; ②程序按照设计规格说明所规定的情况正确执行,这称为程序质量。设计质量评审的对象是在需求分析阶段产生的软件需求规格说明、数据需求规格说明,在软件概要设计阶段产生的软件概要设计说明书等。通常从以下几个方面进行评审: ①评价软件的规格说明是否合乎用户的要求,即总体设计思想和设计方针是否明确;需求规格说明是否得到了用户或单位上级机关的批准;需求规格说明与软件的概要设计规格说明是否一致等。 ②评审可靠性,即是否能避免输入异常(错误或超载等)、硬件失效及软件失效所产生的失效,一旦发生应能及时采取代替手段或恢复手段。 ③评审保密措施实现情况,即是否对系统使用资格进行检查;是否对特定数据、特定功能的使用资格进行检查;在检查出有违反使用资格的情况后,能否向系统管理人员报告有关信息;是否提供对系统内重要数据加密的功能等。 ④评审操作特性实施情况,即操作命令和操作信息的恰当性,输入数据与输入控制语句的恰当性;输出数据的恰当性;应答时间的恰当性等。 ⑤评审性能实现情况,即是否达到所规定性能的目标值。 ⑥评审软件是否具有可修改性,可扩充性、可互换性和可移植性。 ⑦评审软件是否具有可测试性。 ⑧评审软件是否具有复用性。 在软件维护中,由于企业的外部市场环境和管理需求的变化而导致的维护工作,属于(33)维护。 (33)A.正确性 B.适应性 C.完善性 D.预防性 【答案】B 【解析】本题考查软件维护方面的基础知识。 软件维护主要是指根据需求变化或硬件环境的变化对应用程序进行部分或全部的修改。修改时应充分利用源程序,修改后要填写程序修改登记表,并在程序变更通知书上写明新老程序的不同之处。 软件维护的内容一般有以下几个方面: ①正确性维护,是指改正在系统开发阶段己发生而系统测试阶段尚未发现的错误。这方面的维护工作量要占整个维护工作量的17%〜21%。所发现的错误有的不太重要,不影响系统的正常运行,其维护工作可随时进行;而有的错误非常重要,甚至影响整个系统的止常运行,其维护工作必须制定计划,进行修改,并且要进行复查和控制。 ②适应性维护,是指使应用软件适应信息技术变化和管理需求变化而进行的修改。这方面的维护工作量占整个维护工作量的18%〜25%。由于目前计算机硬件价格的不断下降,各类系统软件层出不穷,人们常常为改善系统硬件环境和运行环境而产生系统更新换代的需求;企业的外部市场环境和管理需求的不断变化也使得各级管理人员不断提出新的信息需求。这些因素都将导致适应性维护工作的产生。进行这方面的维护工作也要像系统开发一样,有计划、有步骤地进行。 ③完善性维护,这是为扩充功能和改善性能而进行的修改,主要是指对已有的软件系统增加一些在系统分析和设计阶段中没有规定的功能与性能特征。这些功能对完善系统功能是非常必要的。另外还包括对处理效率和编写程序的改进,这方面的维护占整个维护工作的50%〜60%,比重较大,也是关系到系统开发质量的重要方面。这方面的维护除了要有计划、有步骤地完成外,还要注意将相关的文档资料加入到前面相应的文档中去。 ④预防性维护,为了改进应用软件的可靠性和可维护性,以及适应未来的软硬件环境的变化,应主动增加预防性的新的功能,以使应用系统适应各类变化而不被淘汰。比如将专用报表功能改成通用报表生成功能,以适应将来报表格式的变化。这方面的维护工作量占整个维护工作量的4%左右。 在对软件系统进行评价时,需要从信息系统的组成部分、评价对象和经济学角度出发进行综合考虑以建立起一套指标体系理论架构。从信息系统评价对象出发,对于用户方来说,他们所关心的是(34)。 (34)A.用户需求和运行质量 B.系统外部环境 C.系统内部结构 D.系统质量和技术水平 【答案】A 【解析】本题考查系统评价方面的基础知识。 在对软件系统进行评价时,需要从信息系统的组成部分、评价对象和经济学角度出发进行综合考虑,以建立起一套指标体系理论架构。 从信息系统的组成部分出发,信息系统是一个由人机共同组成的系统,所以可以按照运行效果和用户需求(人)、系统质量和技术条件(机)这两条线索构造指标。 从信息系统评价对象出发,对于用户方来说,他们所关心的是用户需求和运行质量; 对开发方而言,他们所关心的是系统质量和技术水平。系统外部环境则主要通过社会效益指标来反映。 从经济学角度出发,分别按系统成本、系统效益和财务指标等3条线索建立指标。 在设计测试用例时,应遵循(35)原则。 (35)A.仅确定测试用例的输入数据,无需考虑输出结果 B.只需检验程是否执行应有的功能,不需要考虑程序是否做了多余的功能 C.不仅要设计有效合理输入,也要包含不合理、失效的输入 D.测试用例应设计得尽可能复杂 【答案】C 【解析】本题考查系统测试方面的基础知识。 系统测试是保证系统质量和可靠性的关键步骤,是对系统开发过程中的系统分析、系统设计和实施的最后复查。根据测试的概念和目的,在进行信息系统测试时应遵循以下基本原则: ①应尽早并不断地进行测试。测试不是在应用系统开发完之后才进行的。由于原始问题的复杂性、开发各阶段的多样性以及参加人员之间的协调等因素,使得在开发各个阶段都有可能出现错误。因此,测试应贯穿在开发的各个阶段,尽早纠正错误,消除隐患。 ②测试工作应该避免由原开发软件的人或小组承担,一方面,开发人员往往不愿否认自己的工作,总认为自己开发的软件没有错误;另一方面,开发人员的错误很难由本人测试出来,很容易根据自己编程的思路来制定测试思路,具有局限性。测试工作应由专门人员来进行,会更客观,更有效。 ③设计测试方案的时候,不仅要确定输入数据,而且要根据系统功能确定预期输出结果。将实际输出结果与预期结果相比较就能发现测试对象是否正确。 ④在设计测试用例时,不仅要设计有效合理的输入条件,也要包含不合理、失效的输入条件。测试的时候,人们往往习惯按照合理的、正常的情况进行测试,而忽略了对异常、不合理、意想不到的情况进行测试,而这些可能就是隐患。 ⑤在测试程序时,不仅要检验程序是否做了该做的事,还要检验程序是否做了不该做的事。多余的工作会带来副作用,影响程序的效率,有时会带来潜在的危害或错误。 ⑥严格按照测试计划来进行,避免测试的随意性。测试计划应包括测试内容、进度安排、人员安排、测试环境、测试工具和测试资料等。严格地按照测试计划可以保证进度,使各方面都得以协调进行。 ⑦妥善保存测试计划、测试用例,作为软件文档的组成部分,为维护提供方便。 ⑧测试用例都是精心设计出来的,可以为重新测试或追加测试提供方便。当纠正错误、系统功能扩充后,都需要重新开始测试,而这些工作重复性很高,可以利用以前的测试用例,或在其基础上修改,然后进行测试。 单元测试中,检查模块接口时,不需要考虑(36)。 (36)A.测试模块的输入参数和形式参数的个数、属性、单位上是否一致 B.全局变量在各模块中的定义和用法是否一致 C.输入是否改变了形式参数 D.输入参数是否使用了尚未赋值或者尚未初始化的变量 【答案】D 【解析】本题考查单元测试方面的基础知识。 单元测试也称为模块测试,在模块编写完成且无编译错误后就可以进行。单元测试侧重于模块中的内部处理逻辑和数据结构。单元测试主要检查模块的以下5个特征:模块接口、局部数据结构、重要的执行路径、出错处理和边界条件。 ①模块接口。模块的接口保证了测试模块的数据流可以正确地流入、流出。在测试中应检査以下要点: •测试模块的输入参数和形式参数在个数、属性、单位上是否一致。 •调用其他模块时所给出的实际参数和被调用模块的形式参数在个数、属性、单位上是否一致。 •调用标准函数时所用的参数在属性、数目和顺序上是否正确。 •全局变量在各模块中的定义和用法是否一致。 •输入是否仅改变了形式参数。 •开/关的语句是否正确。 •规定的I/O格式是否与输入输出语句一致。 •在使用文件之前是否已经打开文件或是用文件之后是否己经关闭文件。 ②局部数据结构。在单元测试中,局部数据结构出错是比较常见的错误,在测试时应重点考虑以下因素: •变量的说明是否合适。 •是否使用了尚未赋值或尚未初始化的变量。 •变量的初始值或默认值是否正确。 •变量名是否有错(例如:拼写错误)。 ③重要的执行路径。在单元测试中,对路径的测试是最基本的任务。由于不能进行穷举测试,需要精心设计测试例子来发现是否有计算、比较或控制流等方面的错误。 •计算方面的错误:算术运算的优先次序不正确或理解错误;精度不够;运算对象的类型彼此不相容;算法错误;表达式的符号表示不正确等。 •比较和控制流的错误:本应相等的量由于精度造成不相等;不同类型进行比较; 逻辑运算符不正确或优先次序错误;循环终止不正确(如多循环一次或少循环一 次)、死循环;不恰当地修改循环变量;当遇到分支循环时,出口错误等。 ④出错处理。好的设计应该能预测到出错的条件并且有对出错处理的路径。虽然计算机可以显示出错信息的内容,但仍需要程序员对出错进行处理,保证其逻辑的正确性,以便于用户维护。 ⑤边界条件。边界条件的测试是单元测试的最后工作,也是非常重要的工作。软件容易在边界出现错误。 在多态的几种不同形式中,(37)多态是一种特定的多态,指同一个名字在不同上下文中可代表不同的含义。 (37)A.参数 B.包含 C.过载 D.强制 【答案】C 【解析】本题考查面向对象的基本知识。 在面向对象技术中,不同的对象收到同一消息可以产生完全不同的结果,这一现象叫做多态(polymorphism)。在使用多态的时候,用户可以发送一个通用的消息,而实现的细节则由接收对象自行决定。这样,同一消息就可以调用不同的方法。多态有参数多态、包含多态、过载多态和强制多态四类。参数多态是应用比较广泛的多态,被称为最纯的多态,包含多态在许多语言中都存在,最常见的例子就是子类型化,即一个类型是另一个类型的子类型。过载多态是同一个名字在不同的上下文中所代表的含义不同。 继承是父类和子类之间共享数据和方法的机制。以下关于继承的叙述中,不正确的是(38)。有关于图中doIt()方法的叙述中,正确的是(39)。 (38)A.一个父类可以有多个子类,这些子类都是父类的特例 B.父类描述了这些子类的公共属性和操作 C.子类可以继承它的父类(或祖先类)中的属性和操作而不必自己定义 D.子类中可以定义自己的新操作而不能定义和父类同名的操作 (39)A.doIt()必须由Thing3实现,同时可能由Thing4实现 B.doIt()必须由Thing5实现 C.doIt()必须由Thing2、Thing3、Thing4、Thing5实现 D.doIt()已经由Thing1实现,因为无需其它类实 【答案】D A 【解析】本题考查面向对象的基本知识。 面向对象技术中,继承关系是一种模仿现实世界中继承关系的一种类之间的关系, 是超类(父类)和子类之间共享数据和方法的机制。父类定义公共的属性和操作,一个父类可以有多个子类,即多个特例。子类可以继承其父类或祖先类中的属性和操作作为自己的内容而不必自己定义,也可以覆盖这些操作,并加入新的内容。 接口是一种特殊的抽象机制,其中的操作不实现,需要由实现类来加以实现。对实现类为抽象类的,仍然可以保持操作为抽象,而如果是一个具体实现类,其中操作必须实现。题图中在接口Thing l中声明了doIt(),在图中Thing3和Thing2作为Thingl的实现类,Thing3为具体类,必须

此文档下载收益归作者所有

下载文档
你可能关注的文档
收起
展开