中级软件评测师押题密卷4_第1页
中级软件评测师押题密卷4_第2页
中级软件评测师押题密卷4_第3页
中级软件评测师押题密卷4_第4页
中级软件评测师押题密卷4_第5页
已阅读5页,还剩28页未读 继续免费阅读

付费下载

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

中级软件评测师押题密卷4单选题(共72题,共72分)(1.)()不属于主动攻击A.流量分析B.重放C.IP地址欺骗D.拒绝服务正确答案:A(江南博哥)参考解析:本题考查网络攻击的基础知识。网络攻击有主动攻击和被动攻击两类。其中主动攻击是指通过一系列的方法,主动地向被攻击对象实施破坏的一种攻击方式,例如重放攻击、IP地址欺骗、拒绝服务攻击等均属于攻击者主动向攻击对象发起破坏性攻击的方式。流量分析攻击是通过持续检测现有网络中的流量变化或者变化趋势,从而得到相应信息的一种被动攻击方式。(2.)王某是某公司的软件设计师,完成某项软件开发后按公司规定进行软件归档。以下有关该软件的著作权的叙述中,正确的是()。A.著作权应由公司和王某共同享有B.著作权应由公司享有C.著作权应由王某享有D.除署名权以外,著作权的其它权利由王某享有正确答案:B参考解析:根据《著作权法》第十六条公民为完成法人或者其他组织工作任务所创作的作品是职务作品,除本条第二款的规定以外,著作权由作者享有,但法人或者其他组织有权在其业务范围内优先使用。作品完成两年内,未经单位同意,作者不得许可第三人以与单位使用的相同方式使用该作品。有下列情形之一的职务作品,作者享有署名权,著作权的其他权利由法人或者其他组织享有,法人或者其他组织可以给予作者奖励:(一)主要是利用法人或者其他组织的物质技术条件创作,并由法人或者其他组织承担责任的工程设计图、产品设计图、地图、计算机软件等职务作品;(二)法律、行政法规规定或者合同约定著作权由法人或者其他组织享有的职务作品。(3.)以下有关计算机软件著作权的叙述中,正确的是()。A.非法进行拷贝、发布或更改软件的人被称为软件盗版者B.《计算机软件保护条例》是国家知识产权局颁布的,用来保护软件著作权人的权益C.软件著作权属于软件开发者,软件著作权自软件开发完成之日起产生D.用户购买了具有版权的软件,则具有对该软件的使用权和复制权正确答案:A参考解析:选项B《计算机软件保护条例》是由国务院颁布的。选项C根据《计算机软件保护条例》第十一条接受他人委托开发的软件,其著作权的归属由委托人与受托人签订书面合同约定;无书面合同或者合同未作明确约定的,其著作权由受托人享有。选项D只有使用权。(4.)已知函数f()、g()的定义如下所示,执行表达式”x=f(5)”的运算时,若函数调用g(a)是引用调用(callbyreference)方式,则执行”x=f(5)”后x的值为(请作答此空);若函数调用g(a)是值调用(callbyvalue)方式,则执行”x=f(5)”后x的值为()。A.20B.25C.60D.75正确答案:D参考解析:本题考查程序语言基础知识。若实现函数调用时,将实参的值传递给对应的形参,则称为是传值调用。这种方式下形式参数不能向实参传递信息。引用调用的本质是将实参的地址传给形参,函数中对形参的访问和修改实际上就是针对相应实际参数变量所作的访问和改变。根据题目说明,调用函数f时,实参的值为5,也就是在函数f中,x的初始值为5,接下来先通过“a=x-1”将a的值设置为4,再调用函数g(a)。函数g()执行时,形参y的初始值为4,经过“y=y*y-1”运算后,y的值就修改为15。在引用调用方式下,g函数中y是f函数中a的引用(可视为形参y与实参a是同一对象),也就是说函数f中a的值被改为15,因此,返回函数f中再执行“a*x”运算后得到75(x=5,a=15),因此第一空应填入的值为75。在值调用方式下,g函数中y只获得f函数中a的值(形参y与实参a是两个不同的对象),也就是说在函数g中修改y的值与函数f中a的值已经没有关系了,因此,返回函数f再执行“a*x”运算后得到20(x=5,a=4),因此第二空应填入的值为20。(5.)下面关于漏洞扫描系统的叙述,错误的是()。A.漏洞扫描系统是一种自动检测目标主机安全弱点的程序B.黑客利用漏洞扫描系统可以发现目标主机的安全漏洞C.漏洞扫描系统可以用于发现网络入侵者D.漏洞扫描系统的实现依赖于系统漏洞库的完善正确答案:C参考解析:检测网络入侵者应该使用入侵检测系统。(6.)某个应用中,需要对输入数据进行排序,输入数据序列基本有序(如输入为1,2,5,3,4,6,8,7)。在这种情况下,采用(请作答此空)排序算法最好,时间复杂度为()。A.插入B.归并C.堆D.快速正确答案:A参考解析:当序列基本有序时,使用插入排序效率是最高的,能达到这种算法的最优效果,O(n)。(7.)软件设计要遵循的基本原则包括()。①模块化②抽象③封装④信息隐蔽A.①②③④B.①②④C.②③④D.①②③正确答案:B参考解析:本题考查对软件设计相关知识的了解。软件设计需要遵循一些基本的原则,如:软件设计是把许多事物和问题进行抽象,并且需要不同层次和角度的抽象,所以软件设计的基本原则之一是抽象:软件设计应当模块化,也就是说,软件应在逻辑上分割为实现特定的功能和子功能的部分;软件设计的基本原则还应该遵循信息隐蔽(InformationHiding),即包含在模块内部且其他模块不可访问的内容对其他模块来说是透明的。信息隐蔽意味着有效的模块性能能够通过定义一套独立的模块来实现,这些模块相互之间的通信仅仅包括实现软件功能所必需的信息。封装是手段,它的目的是要达到信息隐蔽。(8.)在各种不同的软件需求中,()描述了用户使用产品必须要完成的任务,可以用UML建模语言的(请作答此空)表示。A.用例图B.类图C.状态图D.序列图正确答案:A参考解析:本题考查软件需求的基础知识。功能需求描述了用户使用产品必须要完成的任务,UML的用例图可以用来对功能需求建模。非功能需求描述软件解决方案必须具有的质量特性,如性能、安全等。过程约束是对用于构建系统的技术和资源的限制。设计约束是已经做出的设计决策或限制问题解决方案集的设计决策(9.)模块A的功能为:从数据库中读出产品信息,修改后存回数据库,然后将修改记录写到维护文件中。该模块内聚类型为(请作答此空)内聚。以下关于该类内聚的叙述中,正确的是()。A.逻辑B.时间C.过程D.功能正确答案:C参考解析:偶然聚合:模块完成的动作之间没有任何关系,或者仅仅足一种非常松散的关系。逻辑聚合:模块内部的各个组成在逻辑上具有相似的处理动作,但功能用途上彼此无关。时间聚合:模块内部的各个组成部分所包含的处理动作必须在同一时间内执行。过程聚合:模块内部各个组成部分所要完成的动作虽然没有关系,但必须按特定的次序执行。通信聚合:模块的各个组成部分所完成的动作都使用了同一个数据或产生同一输出数据。顺序聚合:模块内部的各个部分,前一部分处理动作的最后输出是后一部分处理动作的输入。功能聚合:模块内部各个部分全部属于一个整体,并执行同一功能,且各部分对实现该功能都必不可少。本题中模块A内部的各个部分处理成分是需要按照特定的次序来执行的,结合题干的选择项来看,选择过程聚合比较符合题意,这种聚合不利于模块的重用。(10.)以下关于软件测试原则的叙述中,不正确的是()。A.测试阶段在实现阶段之后,因此实现完成后再开始进行测试B.测试用例需要完善和修订C.发现错误越多的地方应进行更多的测试D.测试用例本身也需要测试正确答案:A参考解析:本题考查软件测试的原则。软件测试应遵循的原则包括:测试贯穿于全部软件生命周期;应当把“尽早和不断地测试”作为开发者的座右铭;程序员应该避免检查自己的程序,测试工作应该由独立的专业的软件测试机构来完成;设计测试用例时,应该考虑到合法的输入和不合法的输入,以及各种边界条件;测试用例本身也应该经过测试;设计好测试用例后还需要逐步完善和修订;一定要注意测试中的错误集中发生现象,应对错误群集的程序段进行重点测试;对测试错误结果一定要有一个确认的过程;制定严格的测试计划,并把测试时间安排得尽量宽松,不要希望在极短的时间内完成一个高水平的测试;回归测试的关联性一定要引起充分的注意,修改一个错误而引起更多错误出现的现象并不少见;妥善保存一切测试过程文档;穷举测试是不能实现的。根据上述描述,测试贯穿于全部软件生命周期,而不仅仅是实现之后的一个阶段。(11.)模块A的功能为:从数据库中读出产品信息,修改后存回数据库,然后将修改记录写到维护文件中。该模块内聚类型为()内聚。以下关于该类内聚的叙述中,正确的是(请作答此空)。A.是最低的内聚类型B.是最高的内聚类型C.不易于重用D.模块独立性好正确答案:C参考解析:偶然聚合:模块完成的动作之间没有任何关系,或者仅仅足一种非常松散的关系。逻辑聚合:模块内部的各个组成在逻辑上具有相似的处理动作,但功能用途上彼此无关。时间聚合:模块内部的各个组成部分所包含的处理动作必须在同一时间内执行。过程聚合:模块内部各个组成部分所要完成的动作虽然没有关系,但必须按特定的次序执行。通信聚合:模块的各个组成部分所完成的动作都使用了同一个数据或产生同一输出数据。顺序聚合:模块内部的各个部分,前一部分处理动作的最后输出是后一部分处理动作的输入。功能聚合:模块内部各个部分全部属于一个整体,并执行同一功能,且各部分对实现该功能都必不可少。本题中模块A内部的各个部分处理成分是需要按照特定的次序来执行的,结合题干的选择项来看,选择过程聚合比较符合题意,这种聚合不利于模块的重用。(12.)对现有软件系统中一些数据处理的算法进行改进,以提高效率,从而更快地响应用户的服务要求。这种行为属于()维护。A.正确性B.适应性C.完善性D.预防性正确答案:C参考解析:本题考查软件维护的基础知识。软件维护一般包括四种类型:正确性维护,是指改正在系统开发阶段已发生而系统测试阶段尚未发现的错误;适应性维护,是指使应用软件适应新技术变化和管理需求变化而进行的修改;完善性维护,是指为扩充功能和改善性能而进行的修改,主要是指对已有的软件系统增加一些在系统分析和设计阶段中没有规定的功能与性能特征;预防性维护,是指为了改进应用软件的可靠性和可维护性,为了适应未来的软硬件环境的变化,主动增加预防性的新功能,以使应用系统适应各类变化而不被淘汰。根据题干和四种维护类型的定义,很容易判断该处理属于完善性维护。(13.)在结构化分析中,用数据流图描述(请作答此空)。当采用数据流图对银行客户关系管理进行分析时,()是一个加工。A.数据对象之间的关系,用于对数据建模B.数据在系统中如何被传送或变换,以及如何对数据流进行变换C.系统对外部事件如何响应,如何动作,用于对行为建模D.系统中的数据对象和控制信息的特性正确答案:B参考解析:数据流图(DataFlowDiagram,DFD):是一种最常用的结构化分析工具,从数椐传递和加工的角度,以图形的方式刻画系统内数据的运动情况。DFD摆脱了系统的物理内容,精确地在逻辑上描述系统的功能、输入、输出和数椐存储等,是系统逻辑模型的重要组部分。加工:描述了输入数据流到输出数据流之间的变换,也就是输入数据流经过什么处理后变成了输出数据流。(14.)在面向对象分析和设计中,用类图给出系统的静态设计视图,其应用场合不包括()。下图是一个UML类图,其中类University和类School之间是()关系,类Person和类PersonRecord之间是()关系,表示Person与PersonRecord(请作答此空)。A.之间的语义关系,其中PersonRecord发生变化会影响Person的语义B.之间的一种结构关系,描述了一组链,即对象之间的连接C.是整体和部分的关系D.是一般和特殊的关系正确答案:A参考解析:本题考查面向对象技术的基础知识。考生应该了解UML的典型模型,包括用例图、类图、序列图、活动图等。本题考查类图,类图主要是对系统的词汇建模,或者对简单的协作建模,或者对逻辑数据库模式建模,而用例图对系统的需求建模。类图中,类和类之间的关系有依赖关系、关联关系、聚集关系、组合关系和泛化关系,其中聚集关系和组合关系是表示更强的关联关系,表示整体和部分的关系,而组合关系的类之间具有相同的生命周期。图中类University和类School之间是聚集关系,类Person和类PersonRecord之间是依赖关系,表示Person与PersonRecord之间的语义关系,其中PersonRecord发生变化会影响Person的语义。(15.)已知函数f()、g()的定义如下所示,调用函数f时传递给形参x的值是5。若g(a)采用引用调用(callbyreference)方式传递参数,则函数f的返回值为();若g(a)采用值调用(callbyvalue)的方式传递参数,则函数f的返回值(请作答此空)。其中,表达式“x>>1”的含义是将x的值右移1位,相当于x除以2。A.35B.32C.11D.7正确答案:D参考解析:传值调用:形参取的是实参的值,形参的改变不会导致调用点所传的实参的值发生改变。引用(传址)调用:形参取的是实参的地址,即相当于实参存储单元的地址引用,因此其值的改变同时就改变了实参的值。本题中,a=x>>1,x值为5,则a=2;采用传值调用时,由于g(a)对数据x的运算不会影响原来x的值,所以a+x=5+2=7;采用传值调用时,由于g(a)对数据x的运算会影响原来x的值,当执行g(a)后x的值为6,所以a+x=5+6=11。(16.)算术表达式(a-b)*c+d的后缀式是()(-、+、*表示算术的减、加、乘运算,运算符的优先级和结合性遵循惯例)。A.abcd-*+B.abc-*d+C.abc-d*+D.ab-cd*+正确答案:B参考解析:本题考查程序语言基础知识。后缀式(逆波兰式)是波兰逻辑学家卢卡西维奇发明的一种表示表达式的方法。这种表示方式把运算符写在运算对象的后面,例如,把a+b写成ab+,所以也称为后缀式。算术表达式“a*(b-c)+d”的后缀式是“abc-*d+”。(17.)设数组a[1..n,1..m](n>1,m>1)中的元素以列为主序存放,每个元素占用1个存储单元,则数组元素a[i,j](1≤i≤n,i≤j≤m)相对于数组空间首地址的偏移量为()。A.(i-1)*m+j-1B.(i-1)*n+j-1C.(j-1)*m+i-1D.(j-1)*n+i-1正确答案:D参考解析:数组a[1..n,1..m](n>1,m>1)如图所示:数组元素的存储地址=数组空间首地址+偏移量。其中偏移量的计算方式为排列在所访问元素之前的元素个数乘以每个元素占用的存储单元数。对于元素a[i,j],在按列存储(以列为主序存放)方式下,该元素之前的元素个数为(j-1)*n+i-1。(18.)请根据下面叙述的场景选用适当的设计模式。若某面向对象系统中的某些类有且只有一个实例,那么采用()设计模式能够有效达到该目的:该系统中的某子模块需要为其他模块捉供访问不同数据库系统(如Oracle、SQLServer和DB2UDB等)的功能,这些数据库系统提供的访问接口有一定的差异,但访问过程却都是相同的,例如,先连接数据库、再打开数据库、最后对数据进行查询,(请作答此空)设计模式可抽象出相同的数据库访问过程;系统中的文本显示类(TextView)和图片显示类(PictureView)都继承了组件类(Component),分别显示文本和图片内容,现需要构造带有滚动条、或者带有黑色边框、或者既有滚动条又有黑色边框的文本显示控件和图片显示控件,但希望最多只增加三个类,()计模式可以实现该目的。A.外观B.装饰C.单件D.模板方法正确答案:D参考解析:本题考查设计模式的基本应用。面向对象系统中的某些类有且只有一个实例,该场景的描述与单件模式的定义相同。系统中的某子模块需要为其他模块提供访问不同数据库系统(如Oracle、SQLServer和DB2UDB等),的功能,这些数据库系统提供的访问接口有一定的差异,但访问过程却都是相同的,例如,先连接数据库,再打开数据库,最后对数据进行查询,该场景描述了对数据库进行操作的步骤是相同的。但是,具体的每个步骤根据不同的数据库系统会存在一定差异,例如数据库提供的接口函数不同,模板方法正是将步骤过程抽象出来,而每个具体操作步骤的差异留到具体的子类去实现。系统中的文本显示类(TextView)和图片显示类(PictureView)都继承了组件类(Component),分别显示文本和图片内容,现需要构造带有滚动条、或者带有黑色边框、或者既有滚动条又有黑色边框的文本显示控件和图片显示控件,但希望最多只增加三个类,该场景限定了能够增加的类的数量。可以通过新增加三个类,分别继承组件类并实现给组件增加黑色边框、滚动条以及增加黑色边框和滚动条功能,因为文本显示类和图片显示类都属于组件类,因此,新增加的三个类能够给文本显示对象和图片显示对象增加额外的显示功能,该实现手段采用的就是装饰模式。(19.)请根据下面叙述的场景选用适当的设计模式。若某面向对象系统中的某些类有且只有一个实例,那么采用()设计模式能够有效达到该目的:该系统中的某子模块需要为其他模块捉供访问不同数据库系统(如Oracle、SQLServer和DB2UDB等)的功能,这些数据库系统提供的访问接口有一定的差异,但访问过程却都是相同的,例如,先连接数据库、再打开数据库、最后对数据进行查询,()设计模式可抽象出相同的数据库访问过程;系统中的文本显示类(TextView)和图片显示类(PictureView)都继承了组件类(Component),分别显示文本和图片内容,现需要构造带有滚动条、或者带有黑色边框、或者既有滚动条又有黑色边框的文本显示控件和图片显示控件,但希望最多只增加三个类,(请作答此空)设计模式可以实现该目的。A.外观B.装饰C.单件D.模板方法正确答案:B参考解析:本题考查设计模式的基本应用。面向对象系统中的某些类有且只有一个实例,该场景的描述与单件模式的定义相同。系统中的某子模块需要为其他模块提供访问不同数据库系统(如Oracle、SQLServer和DB2UDB等),的功能,这些数据库系统提供的访问接口有一定的差异,但访问过程却都是相同的,例如,先连接数据库,再打开数据库,最后对数据进行查询,该场景描述了对数据库进行操作的步骤是相同的。但是,具体的每个步骤根据不同的数据库系统会存在一定差异,例如数据库提供的接口函数不同,模板方法正是将步骤过程抽象出来,而每个具体操作步骤的差异留到具体的子类去实现。系统中的文本显示类(TextView)和图片显示类(PictureView)都继承了组件类(Component),分别显示文本和图片内容,现需要构造带有滚动条、或者带有黑色边框、或者既有滚动条又有黑色边框的文本显示控件和图片显示控件,但希望最多只增加三个类,该场景限定了能够增加的类的数量。可以通过新增加三个类,分别继承组件类并实现给组件增加黑色边框、滚动条以及增加黑色边框和滚动条功能,因为文本显示类和图片显示类都属于组件类,因此,新增加的三个类能够给文本显示对象和图片显示对象增加额外的显示功能,该实现手段采用的就是装饰模式。(20.)在面向对象方法中,采用()可将对象的内部进行隐藏,一个对象通常由(请作答此空)组成。A.属性及其值和方法B.对象标识、属性及其值C.对象名、方法及其参数D.对象标识、属性和方法正确答案:D参考解析:在面向对象的系统中,对象是基本的运行时实体,它既包括数据(属性),也包括作用于数据的操作(行为)。所以,一个对象把属性和行为封装为一个整体。对象有三种成份:对象标识、属性和方法(或操作)。每个对象都有自己的属性值,表示该对象的状态。对象中的属性只能够通过该对象所提供的操作来存取或修改。操作也称为方法或服务,它规定了对象的行为,表示对象所提供的服务。(21.)同一消息可以调用多种不同类的对象的方法,这些类有某个相同的超类,这种现象是(请作答此空)。可以使得子类具有父类的属性和方法的现象是()。A.封装B.继承C.多态D.参数正确答案:C参考解析:继承是面向对象软件技术当中的一个概念,与多态、封装共为面向对象的三个基本特征。继承可以使得子类具有父类的属性和方法或者重新定义、追加属性和方法等。多态按字面的意思就是“多种状态”。在面向对象语言中,接口的多种不同的实现方式即为多态。同一操作作用于不同的对象,可以有不同的解释,产生不同的执行结果。(22.)设数组a[0..n-1,0..m-1](n>0,m>0)中的元素以列为主序存放,每个元素占用1个存储单元,则数组元素a[i,j](0≤i≤n-1,0≤j≤m-1)相对于数组空间首地址的偏移量为()。A.i*m+jB.(i-1)*n+j-1C.j*n+iD.(j-1)*n+i-1正确答案:C参考解析:数组a[0..n-1,0..m-1](n>0,m>0)表示有n行m列,数组元素的存储地址=数组空间首地址+偏移量。其中偏移量的计算方式为排列在所访问元素之前的元素个数乘以每个元素占用的存储单元数。对于元素a[i,j],在按列存储(以列为主序存放)方式下,该元素之前有j列完整(因为首列编号为0)的元素,每一列n个元素,在第j列之前有i个元素(因为首行编号为0),所以偏移量为j*n+i。(23.)在函数调用中,引用调用方式将(请作答此空)。下面所定义的函数foo为值调用方式,函数g()的第一个参数采用值调用、第二个参数采用引用调用方式传递数据。若有表达式y=foo(2),则foo调用执行之后,y被赋值为()。A.实参的值传给形参B.形参的值传给实参C.实参的地址传给形参D.形参的地址传给实参正确答案:C参考解析:传值调用:形参取的是实参的值,形参的改变不会导致调用点所传的实参的值发生改变。引用(传址)调用:形参取的是实参的地址,即相当于实参存储单元的地址引用,因此其值的改变同时就改变了实参的值。在本题中,首先在foo()函数中,传入给x的值为2,然后b的值为1,接下来调用g()函数,x的值为2,所以g()函数b的值为2(值传递),b的值为1,所以g()函数x的值为1(地址传递,故x的值变化,会引起foo()函数中b值的变化)。经过g()函数的一系列语句,b=3,x=5。则foo()中b值变成5,最终foo()函数的返回值为5+2=7。(24.)在函数调用中,引用调用方式将()。下面所定义的函数foo为值调用方式,函数g()的第一个参数采用值调用、第二个参数采用引用调用方式传递数据。若有表达式y=foo(2),则foo调用执行之后,y被赋值为(请作答此空)。A.5B.6C.7D.8正确答案:C参考解析:传值调用:形参取的是实参的值,形参的改变不会导致调用点所传的实参的值发生改变。引用(传址)调用:形参取的是实参的地址,即相当于实参存储单元的地址引用,因此其值的改变同时就改变了实参的值。在本题中,首先在foo()函数中,传入给x的值为2,然后b的值为1,接下来调用g()函数,x的值为2,所以g()函数b的值为2(值传递),b的值为1,所以g()函数x的值为1(地址传递,故x的值变化,会引起foo()函数中b值的变化)。经过g()函数的一系列语句,b=3,x=5。则foo()中b值变成5,最终foo()函数的返回值为5+2=7。(25.)通用的高级程序设计语言一般都会提供描述数据、运算、控和数据传输的语言成分,其中,控制包括顺序、()和循环结构。A.选择B.递归C.函数D.递推正确答案:A参考解析:语句间的结构:顺序语句、选择语句和循环语句。(26.)已知函数F()、G()的定义如下所示,执行表达式”x=F(3)”的运算时,若函数调用G(a)是引用调用方式,则执行”x=F(3)”后x的值为(请作答此空);若函数调用G(a)是值调用方式,则执行”x=F(3)”后x的值为()。A.6B.7C.8D.9正确答案:D参考解析:传值调用:形参取的是实参的值,形参的改变不会导致调用点所传的实参的值发生改变。引用(传址)调用:形参取的是实参的地址,即相当于实参存储单元的地址引用,因此其值的改变同时就改变了实参的值。本题的第一问:采用的是引用调用方式执行,x=3,a=2,G(a)中y=y*y-1=3,即a这时的值被修改为3,最后a*x=3*3=9;本题的第二问:采用的是传值调用方式执行,x=3,a=2;G(a)中y=y*y-1=3,即a这时的值仍然为2,最后a*x=2*3=6;(27.)通用的高级程序设计语言一般都会提供描述数据、运算、控和数据传输的语言成分,其中,控制包括顺序、选择和()结构A.循环B.递归C.函数D.跳转正确答案:A参考解析:语句间的结构:顺序语句、选择语句和循环语句。(28.)软件能力成熟度模型(CMM)将软件能力成熟度自低到高依次划分为5级。目前,达到CMM第3级(已定义级)是许多组织努力的目标,该级的核心是()。A.建立基本的项目管理和实践来跟踪项目费用、进度和功能特性B.使用标准开发过程(或方法论)构建(或集成)系统C.管理层寻求更主动地应对系统的开发问题D.连续地监督和改进标准化的系统开发过程正确答案:B参考解析:本题考查软件成熟度模型(CMM)的基本概念。建立基本的项目管理和实践来跟踪项目费用、进度和功能特性为可重复级的核心;使用标准开发过程(或方法论)构建(或集成)系统为已定义级的核心;管理层寻求更主动地应对系统的开发问题为已管理级的核心;连续地监督和改进标准化的系统开发过程为优化级的核心。(29.)软件工程的基本目标是()A.消除软件固有的复杂性B.开发高质量的软件C.努力发挥开发人员的创造性潜能D.推动软件理论和技术的发展正确答案:B参考解析:本题考查软件工程的基础知识。软件工程是指导计算机软件开发和维护的工程学科,其最根本的目标就是开发出高质量的软件并有效地维护它。(30.)以下关于软件工程的叙述中,不正确的是()。A.软件工程是开发、运行、维护软件的系统方法B.软件工程把系统的、规范的、可度量的途径应用于软件开发、运行、维护过程C.软件工程将工程技术、工程管理和工程经济融入软件开发过程D.软件工程就是以工业流水线生产方式开发软件的过程正确答案:D参考解析:现阶段的软件开发方法有很多种,并不都是以流水线生产方式,所以D描述是错误的。(31.)在各种不同的软件需求中,()指所开发的软件必须具备什么样的功能。A.功能需求B.非功能需求C.质量需求D.设计约束正确答案:A参考解析:软件需求包括:功能需求、非功能需求和设计约束。功能需求:所开发的软件必须具备什么样的功能;非功能需求:是指产品必须具备的属性或品质,如可靠性、性能、响应时间、容错性和扩展性等;设计约束:也称为限制条件、补充规约,这通常是对解决方案的一些约束说明。(32.)一个模块通过传送开关、标志、名字等控制信息,明显地控制选择另一模块的功能的耦合类型为()耦合。A.数据B.标记C.控制D.内容正确答案:C参考解析:一般来说,模块之间的耦合有七种类型,根据耦合性从低到高为非直接耦合、数据耦合、标记耦合、控制耦合、外部耦合、公共耦合和内容耦合。数据耦合:若一个模块访问另一个模块时,彼此之间是通过数据参数(不是控制参数,公共数据结构或外部变量)来交换输入、输出信息。标记耦合:模块通过参数表传递记录信息,两个以上的模块都需要其余某一数据结构子结构时,不使用全局变量方式,而是使用记录传递的方式。控制耦合:一个模块通过传送开关、标志、名字等控制信息,明显地控制选择另一模块的功能。内容耦合:一个模块直接访问另一个模块的内部数据,或者通过非正常入口转入另一个模块内部,或者两个模块有一部分程序代码重叠,又或者一个模块有多种入口。标记耦合指两个模块之间传递的是数据结构,如高级语言中的数组名、记录名、文件名等这些名字即标记,其实传递的是这个数据结构的地址。(33.)在各种不同的软件需求中,()指产品必须具备的属性或品质,如可靠性、性能、响应时间、容错性和扩展性等。A.功能需求B.非功能需求C.质量需求D.设计约束正确答案:B参考解析:软件需求包括:功能需求、非功能需求和设计约束。功能需求:所开发的软件必须具备什么样的功能;非功能需求:是指产品必须具备的属性或品质,如可靠性、性能、响应时间、容错性和扩展性等;设计约束:也称为限制条件、补充规约,这通常是对解决方案的一些约束说明。(34.)系统交付用户使用了一段时间后发现,系统的某个功能响应非常慢。修改了某模块的一个算法,使其运行速度得到了提升。则该行为属于()维护。A.正确性B.适应性C.完善性D.预防性正确答案:C参考解析:系统维护分为以下四方面:正确性维护:是指改正在系统开发阶段已发生而系统测试阶段尚未发现的错误。适应性维护:是指使应用软件适应信息技术变化和管理需求变化而进行的修改。完善性维护:是为了扩充功能和改善性能而进行的修改,主要是指对已有的软件系统增加一些在系统分析和设计阶段中没有规定的功能与性能特性。这些功能对完善系统功能是非常必要的。预防性维护:为了改进应用软的可靠性和可维护性,为了适应未来的软硬件环境的变化,应主动增加预防性的新的功能,以使应用系统适用各类变化而不被淘汰。题干中“使其运行速度得到提升”是对性能的提升,所以这里应该选择完善性维护。(35.)GB/T16260-2006《软件工程产品质量》规定的软件产品使用质量特性包括()。A.适应性、生产率、可靠性、满意度B.有效性、生产率、安全性、满意度C.有效性、可靠性、适应性、满意度D.适应性、适用性、效率、满意度正确答案:B参考解析:本题考查GB/T16260中使用质量的概念。正确的理解是:GB/T16260-2006《软件工程产品质量》规定的软件产品使用质量特性包括有效性、生产率、安全性、满意度。(36.)修改在系统开发阶段已发生而系统测试阶段尚未发现的错误。则该行为属于()维护。A.正确性B.适应性C.完善性D.预防性正确答案:A参考解析:系统维护分为以下四方面:正确性维护:是指改正在系统开发阶段已发生而系统测试阶段尚未发现的错误。适应性维护:是指使应用软件适应信息技术变化和管理需求变化而进行的修改。完善性维护:是为了扩充功能和改善性能而进行的修改,主要是指对已有的软件系统增加一些在系统分析和设计阶段中没有规定的功能与性能特性。这些功能对完善系统功能是非常必要的。预防性维护:为了改进应用软的可靠性和可维护性,为了适应未来的软硬件环境的变化,应主动增加预防性的新的功能,以使应用系统适用各类变化而不被淘汰。(37.)A模块通过简单数据类型(如整型)参数访问B模块,该参数在B模块内用于数据计算,则A、B模块之间存在()。A.数据耦合B.标记耦合C.控制耦合D.外部耦合正确答案:A参考解析:本题考查软件设计的相关知识。模块独立性是指软件系统中每个模块只涉及软件要求的具体的子功能,而与软件系统中其他模块的接口是简单的。一般采用两个准则度量模块独立性,即模块间的耦合和模块的内聚。本题考查模块间的耦合。若一个模块在访问另一个模块时,通过简单数据参数来交换输入、输出信息,则这种耦合称为数据耦合。若一组模块通过参数表传递记录信息,则这些模块之间存在标记耦合。若一个模块通过传送开关、标志和名字等控制信息,明显地控制另一个模块的功能,则这两个模块之间的耦合为控制耦合。若一组模块都访问同一个全局简单变量,则这组模块之间存在外部耦合。根据上述说明,模块A和模块B之间的耦合关系为数据耦合。(38.)在各种不同的软件需求中,()指对解决方案的一些约束说明,也称为限制条件、补充规约。A.功能需求B.非功能需求C.质量需求D.设计约束正确答案:D参考解析:软件需求包括:功能需求、非功能需求和设计约束。功能需求:所开发的软件必须具备什么样的功能;非功能需求:是指产品必须具备的属性或品质,如可靠性、性能、响应时间、容错性和扩展性等;设计约束:也称为限制条件、补充规约,这通常是对解决方案的一些约束说明。(39.)模块的各个组成部分所完成的动作都使用了同一个公用数据或产生同一输出数据,则该模块的内聚类型为()内聚。A.时间B.过程C.通信D.功能正确答案:C参考解析:模块内聚分类(由弱到强)分别为:1、偶然(巧合)内聚:模块完成的动作之间没有任何关系,或者仅仅是一种非常松散的关系;2、逻辑内聚:模块内部的各个组成在逻辑上具有相似的处理动作,但功能用途上彼此无关;3、瞬时(时间)内聚:模块内部的各个组成部分所包含的处理动作必须在同一时间间隔内执行,例如初始化模块;4、过程内聚:模块内部各个组成部分所要完成的动作虽然没有关系,但必须按特定的次序执行;5、通信(信息)内聚:模块的各个组成部分所完成的动作都使用了同一个公用数据或产生同一输出数据;6、顺序内聚:模块内部的各个部分是相关的,前一部分处理动作的最后输出是后一部分处理动作的输入;7、功能内聚:模块内部各个部分全部属于一个整体,并执行同一功能,且各部分对实现该功能都必不可少;(40.)以下过程模型中,明确地考虑了开发中的风险的是()。A.瀑布模型B.快速原型C.V模型D.螺旋模型正确答案:D参考解析:本题考查软件过程模型的基础知识。瀑布模型从一种非常高层的角度描述了软件开发过程中进行的活动,并且提出了要求开发人员经过的事件序列。原型模型允许开发人员快速地构造整个系统或系统的一部分以理解或澄清问题。V模型是瀑布模型的变种,它说明测试活动是如何与分析和设计相联系的。螺旋模型把开发活动和风险管理结合起来,以将风险减到最小并控制风险,在该过程模型中,风险被明确地提了出来。(41.)以下关于瀑布模型的优点的叙述中,不正确的是()。A.为项目提供了按阶段划分的检查点。B.严格地规定了每个阶段必须提交的文档C.当前一阶段完成后,就不需要去关注后续阶段。D.它提供了一个模板,这个模板使得分析、设计、编码、测试和支持的方法可以在该模板下有一个共同的指导。正确答案:C参考解析:瀑布模型:是一个项目开发架构,开发过程是通过设计一系列阶段顺序展开的,从系统需求分析开始直到产品发布和维护,每个阶段都会产生循环反馈,因此,如果有信息未被覆盖或者发现了问题,那么最好“返回”上一个阶段并进行适当的修改,项目开发进程从一个阶段“流动”到下一个阶段,这也是瀑布模型名称的由来。瀑布模型有以下优点:1、为项目提供了按阶段划分的检查点。2、当前一阶段完成后,您只需要去关注后续阶段。3、可在迭代模型中应用瀑布模型。4、它提供了一个模板,这个模板使得分析、设计、编码、测试和支持的方法可以在该模板下有一个共同的指导。瀑布模型有以下缺点:1、各个阶段的划分完全固定,阶段之间产生大量的文档,极大地增加了工作量。2、由于开发模型是线性的,用户只有等到整个过程的末期才能见到开发成果,从而增加了开发风险。3、通过过多的强制完成日期和里程碑来跟踪各个项目阶段。4、瀑布模型的突出缺点是不适应用户需求的变化。(42.)数据流图建模应遵循()的原则。A.自顶向下、从具体到抽象B.自顶向下、从抽象到具体C.自底向上、从具体到抽象D.自底向上、从抽象到具体正确答案:B参考解析:数据流图的基本原则:从基本系统模型出发,自顶向下、从抽象到具体分层次地画。(43.)以下过程模型中,当需求不明确时最合适使用的是()。A.瀑布模型B.快速原型C.V模型D.螺旋模型正确答案:B参考解析:本题考查软件过程模型的基础知识。瀑布模型从一种非常高层的角度描述了软件开发过程中进行的活动,并且提出了要求开发人员经过的事件序列。原型模型允许开发人员快速地构造整个系统或系统的一部分以理解或澄清问题,适用于需求不明确的开发过程。V模型是瀑布模型的变种,它说明测试活动是如何与分析和设计相联系的。螺旋模型把开发活动和风险管理结合起来,以将风险减到最小并控制风险,在该过程模型中,风险被明确地提了出来。(44.)行为型设计模式描述类或对象如何交互和如何分配职责。以下()模式是行为型设计模式A.单例B.抽象工厂C.装饰器D.命令正确答案:D参考解析:本题考查设计模式的基础知识。设计模式:是一套被反复使用、多数人知晓的、经过分类的、代码设计经验的总结。使用设计模式的目的:为了代码可重用性、让代码更容易被他人理解、保证代码可靠性。设计模式使代码编写真正工程化;设计模式是软件工程的基石脉络,如同大厦的结构一样。设计模式分为三种类型,共23种。1、创建型模式:单例模式、抽象工厂模式、建造者(构建)模式、工厂模式、原型模式。2、结构型模式:适配器模式、桥接模式、装饰(器)模式、组合模式、外观模式、享元模式、代理模式。3、行为型模式:模版方法模式、命令模式、迭代器模式、观察者模式、中介者模式、备忘录模式、解释器模式(Interpreter模式)、状态模式、策略模式、职责链模式(责任链模式)、访问者模式。AC为结构型设计模式,B为创建型设计模式。故正确答案为:D(45.)以下各类敏捷开发方法的叙述中,描述的是水晶法Crystal的是()。A.激发开发人员创造性、使管理负担最小的一组技术B.每一个不同的项目都需要一套不同的策略、约定和方法论C.多个自组织和自治小组并行地递增实现产品D.有一个使命作为指导,它设立了项目的目标,但并不描述如何达到这个目标正确答案:B参考解析:本题考查敏捷方法的基础知识。极限编程XP是激发开发人员创造性、使得管理负担最小的一组技术。水晶法Crystal认为每—个不同的项目都需要一套不同的策略、约定和方法论。并列争球法(Scrum)使用迭代的方法,其中把每30天一次的迭代称为个冲刺,并按需求的优先级来实现产品多个自组织和自治小组并行地递增实现产品,协调是通过简短的日常情况会议进行。自适应软件开发(ASD)有六个基本的原则:①在自适应软件开发中,有一个使命作为指导,它设立了项目的目标,但不描述如何达到这个目标;②特征被视为客户键值的关键,因此,项目是围绕着构造的构件来组织并实现特征;③过程中的迭代是很重要的,因此重做与做同样重要,变化也包含其中;④变化不视为是一种更正,而是对软件开发实际情况的调整;⑤确定的交付时间迫使开发人员认真考虑每一个生产版本的关键需求;⑥风险也包含其中,它使开发人员首先跟踪最艰难的问题。(46.)()过程模型给出了软件生存周期各阶段的固定顺序,上一个阶段完成后才能进入下一个阶段。A.瀑布B.原型C.增量D.螺旋正确答案:A参考解析:瀑布模型:给出了软件生存周期各阶段的固定顺序,上一个阶段完成后才能进入下一个阶段,瀑布模型的缺点是缺乏灵活性。原型模型:是逐步演化成最终软件产品的过程,特别适用于对软件需求缺乏准确认识的情况。原型模型适宜于需求不明确,且变化。增量模型:采用随着日程时间的进展而交错的线性序列,每一个线性序列产生软件的一个可发布的“增量”。当使用增量模型时,第1个增量往往是核心的产品,即第1个增量实现了基本的需求,但很多补充的特征还没有发布。客户对每一个增量的使用和评估都作为下一个增量发布的新特征和功能,这个过程在每一个增量发布后不断重复,直到产生了最终的完善产品。螺旋模型:提出于1988年,由瀑布模型和原型模型相结合而成,综合了二者的优点,并增加了风险分析。(47.)数据字典是结构化分析的一个重要输出。数据字典的条目不包括()。A.基本加工B.数据存储C.外部实体D.数据项正确答案:C参考解析:数据字典就是为数据流图中的每个数据流、文件、加工,以及组成数据流或文件的数据项做出说明。数据字典有4类条目:数据流、数据项、数据存储和基本加工。(48.)以下过程模型中,从一种非常高层的角度描述了软件开发过程中进行的活动,并且提出了要求开发人员经过的事件序列的是()。A.瀑布模型B.快速原型C.V模型D.螺旋模型正确答案:A参考解析:本题考查软件过程模型的基础知识。瀑布模型从一种非常高层的角度描述了软件开发过程中进行的活动,并且提出了要求开发人员经过的事件序列。原型模型允许开发人员快速地构造整个系统或系统的一部分以理解或澄清问题。V模型是瀑布模型的变种,它说明测试活动是如何与分析和设计相联系的。螺旋模型把开发活动和风险管理结合起来,以将风险减到最小并控制风险,在该过程模型中,风险被明确地提了出来。(49.)行为型设计模式描述类或对象如何交互和如何分配职责。以下()模式是行为型设计模式A.桥接B.原型C.代理D.迭代器正确答案:D参考解析:本题考查设计模式的基础知识。设计模式:是一套被反复使用、多数人知晓的、经过分类的、代码设计经验的总结。使用设计模式的目的:为了代码可重用性、让代码更容易被他人理解、保证代码可靠性。设计模式使代码编写真正工程化;设计模式是软件工程的基石脉络,如同大厦的结构一样。设计模式分为三种类型,共23种。1、创建型模式:单例模式、抽象工厂模式、建造者(构建)模式、工厂模式、原型模式。2、结构型模式:适配器模式、桥接模式、装饰(器)模式、组合模式、外观模式、享元模式、代理模式。3、行为型模式:模版方法模式、命令模式、迭代器模式、观察者模式、中介者模式、备忘录模式、解释器模式(Interpreter模式)、状态模式、策略模式、职责链模式(责任链模式)、访问者模式。(50.)以下各类敏捷开发方法的叙述中,描述的是自适应软件开发(ASD)原则的是()。A.XP是激发开发人员创造性、使管理负担最小的一组技术B.每一个不同的项目都需要一套不同的策略、约定和方法论C.多个自组织和自治小组并行地递增实现产品D.有一个使命作为指导,它设立了项目的目标,但并不描述如何达到这个目标正确答案:D参考解析:本题考查敏捷方法的基础知识。极限编程XP是激发开发人员创造性、使得管理负担最小的一组技术。水晶法Crystal认为每—个不同的项目都需要一套不同的策略、约定和方法论。并列争球法(Scrum)使用迭代的方法,其中把每30天一次的迭代称为个冲刺,并按需求的优先级来实现产品多个自组织和自治小组并行地递增实现产品,协调是通过简短的日常情况会议进行。自适应软件开发(ASD)有六个基本的原则:①在自适应软件开发中,有一个使命作为指导,它设立了项目的目标,但不描述如何达到这个目标;②特征被视为客户键值的关键,因此,项目是围绕着构造的构件来组织并实现特征;③过程中的迭代是很重要的,因此重做与做同样重要,变化也包含其中;④变化不视为是一种更正,而是对软件开发实际情况的调整;⑤确定的交付时间迫使开发人员认真考虑每一个生产版本的关键需求;⑥风险也包含其中,它使开发人员首先跟踪最艰难的问题。(51.)下列过程模型中,()模型增加了风险分析。A.瀑布B.原型C.增量D.螺旋正确答案:D参考解析:瀑布模型:给出了软件生存周期各阶段的固定顺序,上一个阶段完成后才能进入下一个阶段,瀑布模型的缺点是缺乏灵活性。原型模型:是逐步演化成最终软件产品的过程,特别适用于对软件需求缺乏准确认识的情况。原型模型适宜于需求不明确,且变化。增量模型:采用随着日程时间的进展而交错的线性序列,每一个线性序列产生软件的一个可发布的“增量”。当使用增量模型时,第1个增量往往是核心的产品,即第1个增量实现了基本的需求,但很多补充的特征还没有发布。客户对每一个增量的使用和评估都作为下一个增量发布的新特征和功能,这个过程在每一个增量发布后不断重复,直到产生了最终的完善产品。螺旋模型:提出于1988年,由瀑布模型和原型模型相结合而成,综合了二者的优点,并增加了风险分析。(52.)在进行可用性测试时关注的问题应包括()。①安装过程是否困难②错误提示是否明确③GUI接口是否标准④登录是否方便⑤帮助文本是否上下文敏感A.①②B.①②③C.①②③④D.①②③④⑤正确答案:D参考解析:本题考查可用性测试的基础知识。可用性测试的目的是对软件的可用程度进行评估,看是否到达了可用性标准。在评估过程中,软件的安装过程、错误提示、GUI接口、登录过程、帮助文本等所有与软件"可用"相关的都属于测试的关注点。根据上述描述,题目中这5项都属于可用性测试关注的问题,应选择选项D。(53.)以下不正确的软件测试原则是()。A.软件测试可以发现软件潜在的缺陷B.所有的软件测试都可追溯到用户需求C.测试应尽早不断地执行D.程序员应避免测试自己的程序正确答案:A参考解析:本题考查软件测试原则。软件测试不一定能够发现软件潜在的缺陷,这不是软件测试的原则。软件测试原则如下:所有的软件测试都应该追溯到用户需求。测试应尽早不断地执行。程序员应避免测试自己的程序。(54.)以下关于测试的叙述中,正确的是()。A.实际上可以采用穷举测试来发现软件中的所有错误。B.错误很多的程序段在修改后错误一般会非常少。C.测试可以用来证明软件没有错误。D.白盒测试技术中路径覆盖法往往能比语言覆盖法发现更多的错误。正确答案:D参考解析:本题考查软件测试的基本知识。穷举测试是无法实现的,经常在修改了一个错误之后,又会带出新的bug,测试是用来证明软件是有错误的。只有D选项描述正确。(55.)缺陷探测率DDP是衡量一个公司测试工作效率的软件质量成本的指标。在某公司开发一个软件产品的过程中,开发人员自行发现并修正的缺陷数量为80个,测试人员A发现的缺陷数量为50个,测试人员B发现的缺陷数为50个,测试人员A和测试人员B发现的缺陷不重复,客户反馈缺陷数量为50个,则该公司针对本产品的缺陷探测率为()。A.56.5%B.78.3%C.43.5%D.34.8%正确答案:B参考解析:本题考查缺陷探测率DDP的概念。缺陷探测率DDP是另一个衡量测试工作效率的软件质量成本的指标,计算公式如下:其中,Bugstester为测试者发现的错误数;Bugscustomer为客户发现并反馈技术支持人员进行修复的错误数。(56.)在软件测试中,高效的测试是指()。A.用较多的测试用例说明程序的正确性。B.用较多的测试用例说明程序符合要求。C.用较少的测试用例发现尽可能多的错误。D.用较少的测试用例纠正尽可能多的错误。正确答案:C参考解析:本题考查软件测试的基本知识。高效的软件测试是以较少的测试用例发现尽可能多的错误。(57.)以下作品中,不适用或不受著作权法保护的是()。A.某教师在课堂上的讲课B.某作家的作品《红河谷》C.最高人民法院组织编写的《行政诉讼案例选编》D.国务院颁布的《计算机软件保护条例》正确答案:D参考解析:本题考查应试者知识产权方面的基础知识。选项D"国务院颁布的《计算机软件保护条例》"的说法显然是错误的。因为,国务院颁布的《计算机软件保护条例》是国家为了管理需要制定的政策法规,故不适用著作权法保护。(58.)以下说法中,错误的是()。A.工程师小王和小李合作完成一款软件,他们可以约定申请专利的权利只属于小王B.张某和王某共同完成了一项发明创造,在没有约定的情况下,如果张某要对其单独申请专利就必须征得王某的同意C.张某临时借调到某软件公司工作,在执行该公司交付的任务的过程中,张某完成的发明创造的所有权完全归自己所有D.小王委托小李开发了一款软件,在没有约定的情况下,软件著作权属于小李正确答案:C参考解析:本题考查计算机软件保护条例的基础知识。C选项中的张某完成的发明创造属于职务发明,其所属权归公司所有。(59.)计算机软件著作权的保护对象是指()。A.软件开发思想与设计方案B.软件著作权权利人C.计算机程序及算法D.计算机程序及其文档正确答案:D参考解析:计算机软件著作权的客体是指著作权法保护的计算机软件著作权的范围(受保护的对象)。根据《著作权法》第三条和《计算机软件保护条例》第二条的规定,著作权法保护的计算机软件是指计算机程序及其有关文档。故正确答案为D。(60.)软件测评相关的标准一般可以分为国际标准、国家标准、行业标准以及企业标准。一般情况下,技术要求最高的是()。A.国际标准B.国家标准C.行业标准D.企业标准正确答案:D参考解析:本题考查对软件测试相关标准的了解。企业标准是参照并基于相关行业标准、国家标准和国际标准,并针对自有产品所采用的特定技术而制定的。这些技术包括企业拥有的专利、不公开的科研成果等,反映了企业的核心竞争力,通常技术性较高。(61.)模拟攻击试验是一种基本的软件安全性测试方法,以下关于模拟攻击试验的叙述中,正确的是______。A.模拟攻击试验必须借助于特定的漏洞扫描器才能完成B.对安全测试来说,模拟攻击试验是一组特殊的白盒测试案例,必须在充分了解系统安全机制的软件组成基础上,才能进行相应攻击试验的设计与试验C.缓冲区溢出攻击是一种常见的模拟攻击试验,此类攻击者通常通过截获含有身份鉴别信息或授权请求的有效消息,将该消息进行重演D.服务拒绝攻击是一种常见的模拟攻击试验,此类攻击者通常通过向服务器发送大量虚假请求,使得服务器功能不能正常执行正确答案:D参考解析:本题考查模拟攻击试验的基本原理。模拟攻击试验是一组特殊的墨盒测试案例,以模拟攻击来验证软件或信息系统的安全防护能力,因为是墨盒测试,所以通常可在不借助漏洞扫描器的前提下完成,因此选项A与选项B是均是错误的;而选项C描述的应为模拟重演攻击的基本原理,因此也是错误的;选项D描述的是服务拒绝攻击的基本原理,因此本题正确答案应为D。(62.)若要求对大小为n的数组进行排序的平均时间复杂度为O(n^2)??,且是不稳定的(即如果待排序的序列中两个数据元素具有相同的值,在排序前后它们的相对位置有可能发生改变),则可选择的排序方法是()A.快速排序B.归并排序C.直接选择排序D.冒泡排序正确答案:C参考解析:常见的排序方法的基本情况如图所示,选项中满足平均时间复杂度且是不稳定的方法只有直接插入排序符合要求。(63.)在C程序中,若表达式中的算术运算对象的类型不同,则需要先统一为相同类型后再进行计算。例如,表达式"a-b"中,若a是双精度浮点型变量,b是整型变量,为了尽可能保证运算精度,通常进行的处理是()。A.读取b的值并转换为双精度浮点型数据,然后进行两个浮点数的相减运算,变量b的值不变B.读取a的值并转换为整型数据,然后进行两个整数的相减运算,变量a的值不变C.将b重新定义为双精度浮点型变量(其值自动转换为双精度型数据),再进行两个浮点数的相减运算D.将a重新定义为整型变量(其值自动转换为整型数据),再进行两个整数的相减运算正确答案:A参考解析:本题考查程序语言基础知识。在表达式的求值过程中,若参与运算的数据类型不一致,则编译系统自动进行相应数据的类型转换(隐式类型转换),类型转换的一般规则是:为防止精度损失,如果必要的话,类型总是被提升为较宽的类型;所有含有小于整型的有序类型的算术表达式在计算之前其类型都会被转换成整型。最宽的类型为longdouble,运算时另一个操作数无论是什么类型都将被转换成longdouble。如果两个操作数都不是longdouble型,那么若其中一个操作数的类型是double型,则另一个就被转换成double型。类似地,如果两个操作数都不是double型而其中一个操作float型,则另一个被转换成float型。否则如果两个操作数都不是3种浮点类型之一,它们一定是某种整值类型。在确定共同的目标提升类型之前,编译器将在所有小于int的整值类型上施加一个被称为整值提升的过程。在进行整值提升时类型char、signedchar、unsignedchar和shortint都被提升为类型int。C/C++语言编译系统提供的内部数据类型的自动隐式转换规则如下:①程序在执行算术运算时,低类型可以转换为高类型。②在赋值表达式中,右边表达式的值自动隐式转换为左边变量的类型,并赋值给它。⑨当在函数调用时,将实参值赋给形参,系统隐式地将实参转换为形参的类型后,赋给形参。④函数有返回值时,系统将自动地将返回表达式类型转换为函数类型后,赋值给调用函数。(64.)在结构化分析方法中,依据()来进行接口设计。A.数据流图B.实体-关系图C.数据字典D.状态-迁移图正确答案:A参考解析:本题考查结构化分析与设计方法相关知识。软件设计必须依据软件的需求来进行,结构化分析的结果为结构化设计提供了最基本的输入信息,其关系为:根据加工规格说明和控制规格说明进行过程设计;根据数据字典和实体关系图进行数据设计;根据数据流图进行接口设计;根据数据流图进行体系结构设计。(65.)下图是()设计模式的类图,该设计模式的目的是(),图中,ConcreteCommand和Command之间是()关系,Invoker和Command之间是(请作答此空)关系。A.依赖B.关联C.继承D.聚合正确答案:D参考解析:适配器模式:将一个类的接口适配成用户所期待的。一个适配允许通常因为接口不兼容而不能在一起工作的类工作在一起,做法是将类自己的接口包裹在一个已存在的类中。命令模式:将一个请求封装成一个对象,从而使得可以用不同的请求对客户进行参数化,队请求排队或记录请求日志,以及支持可撤销的操作。装饰模式:指的是在不必改变原类文件和使用继承的情况下,动态地扩展一个对象的功能。它是通过创建一个包装对象,也就是装饰来包裹真实的对象。代理模式:为一个对象提供代理以控制该对象的访问。类之间的关系主要有以下几种:(1)继承关系:是指子类自动地具有其父类的全部属性与操作,也称为父类对子类的泛化。在UML建模语言中,采用空心三角形表示,从子类指向父类。(2)关联关系:是指两个或多个类之间的一种静态关系,表现为一个类是另一个类的成员变量。在UML类图中,双向的关联可以有两个箭头或者没有箭头,单向的关联有一个箭头,带普通箭头的实心线指向被拥有者。(3)聚合关系:是整体与部分之间的关系,是强的关联关系。在UML中,聚合关系用带空心菱形的实心线,菱形指向整体。(4)依赖关系:也是类之间的一种静态关系,表现为一个类是另外一个类的局部变量。在UML中,依赖关系用带箭头的虚线表示,由依赖的一方指向被依赖的一方。(66.)以下关于极限编程XP的叙述中,不正确的是()。A.由价值观、原则、实践和行为四个部分组成B.每一个不同的项目都需要一套不同的策略、约定和方法论C.有四个价值观,即沟通、简单性、反馈和勇气D.有五大原则,即快速反馈、简单性假设、逐步修改、提倡更改和优质工作正确答案:B参考解析:本题考查敏捷开发过程的基础知识。存在很多敏捷过程的典型方法,每一种方法都基于一套原则,这些原则实现了敏捷宣言。其中极限编程xP是敏捷方法中最普遍的一种,由价值观、原则、实践和行为四个部分组成,有四个价值观,即沟通、简单性、反馈和勇气,有五大原则,即快速反馈、简单性假设、逐步修改、提倡更改和优质工作。而每一个不同的项目都需要一套不同的策略、约定和方法论则是水晶法的原则。(67.)下图是(请作答此空)设计模式的类图,该设计模式的目的是(),图中,Subject和Proxy之间是()关系,Proxy和RealSubject之间是()关系。A.适配器B.桥接C.装饰D.代理正确答案:D参考解析:适配器模式:将一个类的接口适配成用户所期待的。一个适配允许通常因为接口不兼容而不能在一起工作的类工作在一起,做法是将类自己的接口包裹在一个已存在的类中。桥接模式:将抽象部分与它的实现部分分离,使它们都可以独立地变化。装饰模式:指的是在不必改变原类文件和使用继承的情况下,动态地扩展一个对象的功能。它是通过创建一个包装对象,也就是装饰来包裹真实的对象。代理模式:为一个对象提供代理以控制该对象的访问。类之间的关系主要有以下几种:(1)继承关系:是指子类自动地具有其父类的全部属性与操作,也称为父类对子类的泛化。在UML建模语言中,采用空心三角形表示,从子类指向父类。(2)关联关系:是指两个或多个类之间的一种静态关系,表现为一个类是另一个类的成员变量。在UML类图中,双向的关联可以有两个箭头或者没有箭头,单向的关联有一个箭头,带普通箭头的实心线指向被拥有者。(3)聚合关系:是整体与部分之间的关系,是强的关联关系。在UML中,聚合关系用带空心菱形的实心线,菱形指向整体。(4)依赖关系:也是类之间的一种静态关系,表现为一个类是另外一个类的局部变量。在UML中,依赖关系用带箭头的虚线表示,由依赖的一方指向被依赖的一方。(68.)下图是()设计模式的类图,该设计模式的目的是(),图中,Subject和Proxy之间是()关系,Proxy和RealSubject之间是(请作答此空)关系。A.依赖B.关联C.继承D.聚合正确答案:B参考解析:适配器模式:将一个类的接口适配成用户所期待的。一个适配允许通常因为接口不兼容而不能在一起工作的类工作在一起,做法是将类自己的接口包裹在一个已存在的类中。桥接模式:将抽象部分与它的实现部分分离,使它们都可以独立地变化。装饰模式:指的是在不必改变原类文件和使用继承的情况下,动态地扩展一个对象的功能。它是通过创建一个包装对象,也就是装饰来包裹真实的对象。代理模式:为一个对象提供代理以控制该对象的访问。类之间的关系主要有以下几种:(1)继承关系:是指子类自动地具有其父类的全部属性与操作,也称为父类对子类的泛化。在UML建模语言中,采用空心三角形表示,从子类指向父类。(2)关联关系:是指两个或多个类之间的一种静态关系,表现为一个类是另一个类的成员变量。在UML类图中,双向的关联可以有两个箭头或者没有箭头,单向的关联有一个箭头,带普通箭头的实心线指向被拥有者。(3)聚合关系:是整体与部分之间的关系,是强的关联关系。在UML中,聚合关系用带空心菱形的实心线,菱形指向整体。(4)依赖关系:也是类之间的一种静态关系,表现为一个类是另外一个类的局部变量。在UML中,依赖关系用带箭头的虚线表示,由依赖的一方指向被依赖的一方。(69.)下图是(

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论