中级软件设计师上半年上午试题及答案解析 下载本文

该线程放弃CPU的使用,暂停运行,只有等到导致阻塞的原因消除之后才回复运行。或者是被其他的线程中断,该线程也会退出阻塞状态,同时抛出InterruptedException。

中断:处理机处理程序运行中出现的紧急事件的整个过程.程序运行过程中,系统外部、系统内部或者现行程序本身若出现紧急事件,处理机立即中止现行程序的运行,自动转入相应的处理程序(中断服务程序),待处理完后,再返回原来的程序运行,这整个过程称为程序中断;当处理机接受中断时,只需暂停一个或几个周期而不执行处理程序的中断,称为简单中断.中断又可分为屏蔽中断和非屏蔽中断两类。 把一个方法与其所在的类/对象关联起来叫做方法的绑定。绑定分为静态绑定(前期绑定)和动态绑定(后期绑定)。静态绑定(前期绑定)是指在程序运行前就已经知道方法是属于那个类的,在编译的时候就可以连接到类的中,定位到这个方法。动态绑定(后期绑定)是指在程序运行过程中,根据具体的实例对象才能具体确定是哪个方法。

静态绑定发生于数据结构和数据结构间,程序执行之前。静态绑定发生于编译期,因此不能利用任何运行期的信息。它针对函数调用与函数的主体,或变量与内存中的区块。动态绑定则针对运行期产生的访问请求,只用到运行期的可用信息。在面向对象的代码中,动态绑定意味着决定哪个方法被调用或哪个属性被访问,将基于这个类本身而不基于访问范围。

中断保存现场:指的是进入中断服务程序或子程序后,由于寄存器有限,主程序和中断服务程序或子程序中用到相同的寄存器,所以为防止冲突,在中断服务程序前或在子程序前用进栈指令保护那些可能受到冲突的寄存器,然后在返回前恢复。

4-5 D B 汉明码也利用了奇偶位校验的概念,通过在数据位后面增加一些比特,可以验证数据的有效性。利用一个以上的校验位,汉明码不仅可以验证数据是否有效,还能在数据出错的情况下指明错误位置。2P≥P+D+1,其中P代表汉明码的个数,D代表数据位的个数。D=32,所以P=6;

奇偶校验是一种添加一个奇偶位用来指示之前的数据中包含有奇数还是偶数个1的检验方式。如果在传输的过程中,有奇数个位发生了改变,那么这个错误将被检测出来(注意奇偶位本身也可能改变)。一般来说,如果数据中包含有奇数个1的话,则将奇偶位设定为1;反之,如果数据中有偶数个1的话,则将奇偶位设定为0。换句话说,原始数据和奇偶位组成的新数据中,将总共包含偶数个1. 奇偶校验并不总是有效,如果数据中有偶数个位发生变化,则奇偶位仍将是正确的,因此不能检测出错误。而且,即使奇偶校验检测出了错误,它也不能指出哪一位出现了错误,从而难以进行更正。数据必须整体丢弃并且重新传输。在一个噪音较大的媒介中,成功传输数据可能需要很长时间甚至不可能完成。虽然奇偶校验的效果不佳,但是由于他只需要一位额外的空间开销,因此这是开销最小的检测方式。并且,如果知道了发生错误的位,奇偶校验还可以恢复数据。 如果一条信息中包含更多用于纠错的位,且通过妥善安排这些纠错位使得不同的出错位产生不同的错误结果,那么我们就可以找出出错位了。在一个7位的信息中,单个数据位出错有7种可能,因此3个错误控制位就足以确定是否出错及哪一位出错了。 6 C

当流水线达到稳定时,经过最长流水段操作时间后,会出来一个新的产品。用总产品数除以对

应时间。就是吞吐率。

7 D AUX接口(Auxiliary)是指音频输入接口,可以输出包括mp3在内的电子声频设备的音频(一般的耳机插孔),可通过车上的音响来输出这些设备内的音乐。

Telnet协议是TCP/IP协议族中的一员,是Internet远程登陆服务的标准协议和主要方式。它为用户提供了在本地计算机上完成远程主机工作的能力。在终端使用者的电脑上使用telnet程序,用它连接到服务器。终端使用者可以在telnet程序中输入命令,这些命令会在服务器上运行,就像直接在服务器的控制台上输入一样。可以在本地就能控制服务器。要开始一个telnet会话,必须输入用户名和密码来登录服务器。Telnet是常用的远程控制Web服务器的方法。

SSH 为 Secure Shell 的缩写,由 IETF 的网络小组(Network Working Group)所制定;SSH 为建立在应用层基础上的安全协议。SSH 是目前较可靠,专为远程登录会话和其他网络服务提供安全性的协议。利用 SSH 协议可以有效防止远程管理过程中的信息泄露问题。SSH最初是UNIX系统上的一个程序,后来又迅速扩展到其他操作平台。SSH在正确使用时可弥补网络中的漏洞。SSH客户端适用于多种平台。几乎

所有UNIX平台—包括HP-UX、Linux、AIX、Solaris、Digital UNIX、Irix,以及其他平台,都可运行SSH。 8-9 B A 数字签名保证信息传输的完整性、发送者的身份认证、防止交易中的抵赖发生。

数字签名技术是将摘要信息用发送者的私钥加密,与原文一起传送给接收者。接收者只有用发送者的公钥才能解密被加密的摘要信息,然后用HASH函数对收到的原文产生一个摘要信息,与解密的摘要信息对比。如果相同,则说明收到的信息是完整的,在传输过程中没有被修改,否则说明信息被修改过,因此数字签名能够验证信息的完整性。

数字签名是个加密的过程,数字签名验证是个解密的过程。

10 D 内务内控管理,主要是为了管理内部网络,防止越权访问,以及内部泄露信息。 11 A

重放攻击(Replay Attacks)又称重播攻击、回放攻击或新鲜性攻击(Freshness Attacks),是指攻击者发送一个目的主机已接收过的包,来达到欺骗系统的目的,主要用于身份认证过程,破坏认证的正确性。 它是一种攻击类型,这种攻击会不断恶意或欺诈性地重复一个有效的数据传输,重放攻击可以由发起者,也可以由拦截并重发该数据的敌方进行。攻击者利用网络监听或者其他方式盗取认证凭据,之后再把它重新发给认证服务器。从这个解释上理解,加密可以有效防止会话劫持,但是却防止不了重放攻击。重放攻击任何网络通讯过程中都可能发生。重放攻击是计算机世界黑客常用的攻击方式之一,它的书面定义对不了解密码学的人来说比较抽象。

拒绝服务(英文名称denial of service;DoS)是指通过向服务器发送大量垃圾信息或干扰信息的方式,导致服务器无法向正常用户提供服务的现象。

利用域名解析服务器不验证请求源的弱点,攻击者伪装成攻击目标域名向全世界数以百万计的域名解析服务器发送查询请求,域名服务器返回的数据要远大于请求的数据,导致目标遭受了放大数十倍的DDoS攻击。被利用的域名服务器因此每天会收到大量的恶意请求,它也不断的遭受较小规模的DDoS攻击。

数据截获,就是通过一个网络设备或软件,窃取通信双方的交流信息。 数据流分析,就是对网络中的流量信息等进行检测。

12 C 国务院于1991年6月4日发布了《计算机软件保护条例》。该条例指出:计算机软件是指计算机程序及有关文档。受保护的软件必须由开发者独立开发,即必须具备原创性,同时,必须是已固定在某种有形物体上而非存在于开发者的头脑中。新条例自2002年1月1日起施行。1991年6月4日国务院发布的《计算机软件保护条例》同时废止。

软件开发者的开发者身份权保护期不受限制。软件著作权的其他权利保护期为25年,截止于软件首次发表后第25年的12月31日,保护期满前,软件著作权人可以向软件登记机关申请续展25年,但保护期最长不超过50年。因继承或单位分立、合并等法律行为使著作权人主体发生合法变更时,不改变相应软件著作权的保护期。因依法签订使用权或使用权许可合同而转让有关权利时,转让活动的发生不改变有关软件著作权的保护期。当拥有软件著作权的单位终止或拥有软件著作权的公民死亡而无合法继承者时,除开发者身份权外,有关软件的其他各项权利在保护期满之前进入公有领域。

计算机软件所有人应向软件登记机构办理软件著作权登记。软件登记机构发放的登记证明文件,是软件著作权有效或者登记申请文件中所述事实确定的初步证明。

凡已办登记的软件,在软件权利发生转让活动时,受让方应当在转让合同正式签订后3个月内向软件登记管理机构备案,否则不能对抗第三者的侵权活动。中国藉的软件著作权人将其在中国境内开发的软件权利向外国人许可或转让时,应当报请国务院有关主管部门批准并向软件登记管理机构备案。

软件著作权人,是指依法享有软件著作权的自然人、法人或者其他组织。软件著作权自软件开发完成之日起产生。除法律另有规定外,软件著作权属于软件开发者,即实际组织开发、直接进行开发,并对开发完成的软件承担责任的法人或者其他组织;或者依靠自己具有的条件独立完成软件开发,并对软件承担责任的自然人。如无相反证据,在软件上署名的自然人、法人或者其他组织为开发者。

委托开发、合作开发软件著作权的归属及行使原则与一般作品著作权归属及行使原则一样,但职务计算机软件的著作权归属有一定的特殊性。自然人在法人或者其他组织中任职期间所开发的软件有下列情形

之一的,该软件著作权由该法人或者其他组织享有,该法人或者其他组织可以对开发软件的自然人进行奖励:

(1)针对本职工作中明确指定的开发目标所开发的软件;

(2)开发的软件是从事本职工作活动所预见的结果或者自然的结果;

(3)主要使用了法人或者其他组织的资金、专用设备、未公开的专门信息等物质技术条件所开发并由法人或者其他组织承担责任的软件。

用户购买了具有版权的软件,仅仅有了使用权,想想正版的windows系统,只能安装一次。 13 B 在12中有解释 14 C 在12中有解释

15 A 数据字典有以下4类条目:数据流,数据项,数据存储和基本加工。 16 B 解析:if(金额小于5000元){}

slse if(欠款时间大于60天){}

slse if(欠款时间小于60天){}

17-18 D C 关键路径为A-B-D-G-I-K-L 从A到H共需要12天(只有一条路径),从A到L最长为22天,在不影响H到L的前提之下,EH可以推迟22-12-6=5天。同理IJ的松弛时间为3天。

19 C COCOMOⅡ中规模表示为源代码千行数(KSLOC)。常用的方法有工作分解结构、类比评估技术、Parkson法则、专家判定技术、功能点分析法等。其中功能点分析法 是基于数学理论、适用于项目的各个阶段,是COCOMO I1提倡的一种方法。有三种不同的规模估算选择:对象点,功能点和代码行。

20AProlog(ProgramminginLogic的缩写)是一种逻辑编程语言。Python,Java/C++都是一种面向对象的解释型计算机程序设计语言,Lisp是一种函数式编程语言。

21C在编译方式下,机器上运行的是与源程序等价的目标程序,源程序和编译程序不在参与目标程序的执行过程。在解释方式下,解释程序和源程序(或其某种等价表示)要参与到程序的运行过程当中,运行程序的控制权在解释程序中。

22B后缀表达式就是二叉树的后序遍历。左树→右树→中树的顺序。

23-24CD P操作是S自减一,S≥0时,继续执行;V是S自加一,S>0,继续执行。

25A 目录文件是长度固定的记录式文件。大多数操作系统如UNIX,DOS采用多级目录机构 ,称为树型目录结构。 从根目录出发到任一非叶结点或树页结点都有且只有一条路径。系统为用户提供一个目前使用的工作目录,称为当前目录。 目录分解法:将目录项分为:名号目录项,基本目录项。 目录文件也分为名号目录文件和基本目录文件。 文件存取控制通过文件的共享,保护和保密三方面体现。 文件的共享是一个文件可以允许多个用户共同使用。空闲块也就是用户没有用到的部分。用户程序和用户数据对系统的影响相对来说比较小。

26D 这个题比较好理解,硬件设备和用户程序之间通过系统交互,而设备驱动程序就相当于设备的接口。中断程序是硬件处理程序。

27-28CB 这里的全文件名是指在根目录下如何打开这个文档,就是绝对路径加上文档全名。 绝对路径:是从盘符开始的路径;相对路径:是从当前路径开始的路径

29 D 对于增量模型:优点1)第一个可交付版本所需要的成本和时间是较少的,从而可减少开发由增量表示的小系统承担的风险2)由于很快发布第一个版本,因此可以减少用户需求的变更3)允许增量投资,即在项目开始时可以仅对一个或两个增量投资

缺点:1)如果没有对用户的变更要求进行规划,那么产生的初始增量可能会造成后来增量的不稳定2)如果需求不像早期思考的那样稳定和完整,那么一些增量就可能需要重新开发,重新发布3)由于进度和配置的复杂性,可能会增大管理成本,超出组织的能力。

30A CL0(未完成的):过程域未执行或未得到CL1中定义的所有目标。

CL1(已执行的):其共性目标是过程将可标识的输入工作产品转换成可标识的输出工作产品,以实现

支持过程域的特定目标。

CL2(已管理的):其共性目标集中于已管理的过程的制度化。 CL3(已定义级的):其共性目标集中于已定义的过程制度化。 CL4(定量管理的):其共性目标集中于可定量管理的过程的制度化。

CL5(优化的);使用量化(统计学)手段改变和优化过程域,以满足客户要求的改变和持续改进计划中的过程域的功效。

31B 辅助软件维护过程中的活动的软件称为“软件维护工具”,它辅助维护人员对软件代码及其文档进行各种维护活动。软件维护工具主要有:1、版本控制工具;2、文档分析工具;3、开发信息库工具;、4、逆向工程工具;5、再工程工具;6、配置管理支持工具。

32C 概要设计文档主要包括:软件体系总体结构设计;数据结构及数据库设计。

33D耦合度,是对模块间关联程度的度量。耦合的强弱取决于模块间接口的复杂性、调用模块的方式以及通过界面传送数据的多少。模块间的耦合度是指模块之间的依赖关系,包括控制关系、调用关系、数据传递关系。模块间联系越多,其耦合性越强,同时表明其独立性越差(降低耦合性,可以提高其独立性)。软件设计中通常用耦合度和内聚度作为衡量模块独立程度的标准。划分模块的一个准则就是高内聚低耦合。

34-35AB覆盖测试就是要使测试用例可以走完所有的之路,也就是所有的语句都要执行一遍。在本题中,至少需要两个测试用例就可以啦;计算环形复杂度:

(1)流图中的区域数等于环形复杂度。

(2)流图G的环形复杂度V(G)=E-N+2,其中,E是流图中边的条数,N是结点数。 (3)流图G的环形复杂度V(G)=P+1,其中,P是流图中判定结点的数目。 一般采用方法(2)。边的条数指流程线,结点数为各种框的总和

36C 归纳法:是指从测试所暴露的问题出发,收集所有正确或不正确的数据,分析他们之间的关系,提出假想的错误原因,用这些数据来证明或反驳,从而查出错误所在。

试探法:调试人员分析错误的症状,猜测问题所在的位置,利用在程序中设置输出语句,分析寄存器,存储器的内容等手段获得错误的线索,一步步地试探和分析错误的所在。这种方法效率低,适合结构比较简单的程序。

回溯法:调试人员从发现错误的位置开始,人工沿着程序的控制流程往回跟踪代码,直到找出错误根源为止。这种方法适合于小型程序,对于大规模程序,由于其需要回溯的路径太多而不可操作。

对分查找法:这种方法主要用于缩小错误范围,如果已经知道程序中的变量在若干位置的正确取值,可以在这些位置上给这些变量以正确值,观察程序运行的输出结果,如果没有发现问题,则说明赋予变量一个正确值开始到输出结果之间程序没有错误,问题可能在除此之外的程序中,否则错误就在所观察的这部分程序中,对含有错误的程序段再使用这种方法,直接把故障范围缩小到比较容易诊断为止。

演绎法:根据测试结果,列出所有可能的错误;分析已有的数据,排除不可能和彼此矛盾的原因;对其余的原因,选择可能性最大的,利用已有的数据完善该假设,使假设更具体;用假设来解释所有的原始测试结果,如果能解释这一切,则假设得以证实,也就找出错误,否则,要么是假设不完备或不成立,要么有多个错误同时存在,需要重新分析,提出新的假设知道发现错误为止。

37A对象的状态一般都是指属性,对象的行为一般是指操作方法。 38D 39C 消息传递是指消息在两个不同应用程序或对象之间内容的传递。 类型检查是指对数据以及对象的类型进行检查,主要用于排错。 静态绑定是在编译时绑定;动态绑定是在运行过程中绑定。 40D 类型转换是指把一种数据类型转换成另外一种数据类型。 映射:类似于函数,是指一种一对一的关系。

多态:同一消息可以调用多种不同种类的对象的方法, 41C 42A 43D

类图:就是举了一个例子,有父类,有子类。组件图:各个组件之间的依赖关系。通信图:有路径有