【软考软件评估师】2013年综合知识真题
2013年软件评估师综合知识历年真题
-
- 【软考软件评估师】2013年综合知识真题
01.在程序执行过程中,Cache由主存的地址图像( )。 A.自动完成硬件 B.程序员调度 C.操作系统管理 D.程序员与操作系统协同完成
答案:答案选择A。送分题。 Cache工作是基于程序和数据访问的局部原理。也就是说,在分析了大量程序执行的结果后,程序集中在一个较小的内存地址空间内,这是程序执行的局部原理。同样,数据访问也存在局部现象。为了提高系统处理速度,将主存储空间中的内容复制到工作速度更快Cache为了提高速度,Cache硬件实现了系统。
02.指令寄存器的位数取决于( )。 A.存储容量 B.指令字长 C.数据总线的宽度 D.地址总线的宽度
答案:答案选择B。蒙对。 指令寄存器是CPU关键寄存器的内容是正在执行的指令,其位数显然取决于指令的长度
03.若计算机存储数据采用的是双符号位(00表示正号、11表示负号),两个符号相同的数相加时,如果运算结果的两个符号位经( )如果计算得1,则可以得出这两个数相加的结果产生溢出。 A.逻辑与 B.逻辑或 C.逻辑同或 D.逻辑异或
答案:答案选择D。蒙对。 表示数据时规定位数后,确定可表示值的范围,两个数加计算结果超过该范围后溢出。在二进制条件下,溢出时符号位会变反,即两个正数相加,结果的符号位为负数,或两个负数相加,结果的符号位为正数。当使用两个符号位时,溢出发生后两个符号位不一致,两个符号位同或结果必须为1。
04.指令装配线由四段组成,每段所需时间如下图所示。连续输入8个指令时的吞吐率(单位时间内装配线完成的任务数或输出结果数)为( )。
A.8/56 △t B.8/32 △t C.8/28 △t D.8/24 △t
解答:答案选择C。 装配线的吞吐率是指计算机中装配线在特定时间内可以处理的任务或输出数据的数量。装配线的吞吐率可进一步分为最大吞吐率和实际吞吐率。本问题要求解决实际吞吐率,以装配方式执行8个指令的指令时间为(1 2 3 1)△t (8-1)*3△t=28 △t,所以吞吐率是8/28 △t。
05.( )不是RISC的特点。 A.指令种类繁多 B.高效的装配线操作 C.寻址方式较少 D.硬布线控制
答案:答案选择A。 RISC与CISC是两种常见的指令系统。RISC其特点是:指令数量少,使用频率接近,格式长,多为单周期指令,操作寄存器,Load/Store操作内存;寻址少;并增加了通用寄存器;硬布线逻辑控制为主;适用于流水线。CISC特点是:指令数量多,使用频率差异大,格式可变长;搜索网站的方微程序控制技术(微码)经常使用。
06.在程序运行过程中,通常使用参数在函数(过程)之间传递信息,引用调用传递实际参数( )。 A.地址 B.类型 C.名称 D.值
答案:答案选择A。送分题。 传值调用:在按值调用时,过程的形式参数取得的是实际参数的值。在这种情况下,形式参数实际上是过程中的局部数量,其值的变化不会导致调用点传输的实际参数值的变化,即数据传输是单向引用调用:在引用调用过程中,实际参数所在的单元地址是通过形式参数获得的。在此过程中,引用该形式参数相当于引用实际参数所在存储单元的地址。任何变形参数值的操作都会反映在存储单元中,即实际参数中,因此数据传输是双向的
07.( )不是单元测试的主要检查内容。 A.模块接口 B.局部数据结构 C.全局数据结构 D.重要的执行路径
答案:答案选择C。 单元测试内容:模块接口测试、局部数据结构测试、路径测试、错误处理测试、边界测试
08.PKI在系统中,确保数字证书不被篡改的方法是( )。 A.用CA私钥签名数字证书 B.用CA公钥对数字证书签名 C.用证书主人的私钥对数字证书签名 D.用证书所有人的公钥签名数字证书
答案:答案选择A。 在PKI在系统中,通过一种机制来识别数字证书的颁发机构和通过该机构验证证书的有效性,以了解证书是否被篡改——数字签名。数字签名将由CA机构使用自己的私钥。
09.在以下算法中,不属于公共密钥加密算法的是( )。 A.ECC B.DSA C.RSA D.DES
答案:答案选择D。 常用的加密算法分为单钥和双钥加密系统,也称为私钥和公钥加密算法。ECC、DSA和RSA都属于公开密钥加密算法,DES是典型的私钥加密系统。
10.为了解释某个问题,需要在学术论文中引用一些信息。下面的描述,( )不正确。 A.既可引用发表作品,也可引用未发表作品 B.只能限于介绍和评论作品 C.只要不构成自己作品的主要部分,就可以适当引用资料 D.不需要得到原作者的同意,也不需要向他支付报酬
答案:答案选择A。 引用发表的作品或未发表的作品显然是错误的。因为,为了解释一个问题,在学术论文中需要引用一些材料必须是已发表的作品,但只能局限于介绍、评论作品,只要不构成作品的主要部分,可以适当引用信息,不需要得到原作者的同意,不需要向他支付报酬
11.在以下作品中,不适用或不受作权法保护( )。 A.某老师在课堂上讲课 B.作家作品《红河谷》 C.最高人民法院编制的《行政诉讼案件选择》 D.国务院颁布的《计算机软件保护条例》
答案:答案选择D。 根据我国《着作权法》的规定,有三种作品不受法律保护。 一是依法禁止出版、传播的作品。二是不适用于《作权法》的作品。它们包括下列作品:1. 法律、法规、国家决议、决定、命令等具有立法、行政、司法性质的文件正式翻译;2. 时事新闻;3. 历法、通用数表、通用表格和公式。国务院颁布的《计算机软件保护条例》属于法律法规,不受作权法保护
12.己知文法G:S→A0|B1,A→S1|1,B→S0|0.S是开始符号。可以从S开始推导出来( )。 A.所有由0组成的字符串 B.所有由1组成的字符串 C.某些0和1个数相等的字符串 D.所有0和1个数不同的字符串
答案:答案选择C。 在用语法表达语言语法规则时,推导是产生语言句子的基本途径。以题目中的文法为例,推导出1010的过程S=>A0=>S10=>A010=>推导0110的过程为10S=>A0=>S10=>B110=>0110,0000、1111、1100、011等。由S先推导出来A0后,再推导A,必然会产生一个与0相邻(在0左侧)的1,由S先推导B1.下一步必须推导出与1相邻(在1左侧)的0。这保证了0,或者反之亦然,0和1的距离很近。通过分析更多的例子,发现只有某些0和1个数相等的字符串是正确的。
13.算术表达式a (b-c)*d的后缀式是( ) (、+、*表示算术的减、加.乘运算,运算符的优先级和结合性遵循惯例)。 A.b c - d * a + B.a b c - d * + C.a b + c - d * D.a b c d - * +
解答:答案选择B。送分题。 后缀式(逆波兰式)是波兰逻辑学家卢卡西维奇发明的一种表示表达式的方法。这种表示方式把运算符写在运算对象的后面,例如把a+b写成ab+,所以也称为后缀式。算术表达式“a+(b-c)*d的后缀式是“a b c - d * +”。 第一步:按照运算符的优先级对所有的运算单位加括号:式子变成:(a+((b-c)d)) 第二步:把运算符号移动到对应的括号后面:(a((bc)-d))+ 第三步:去掉括号:a b c - d * +
14.将高级语言程序翻译为机器语言程序的过程中,常引入中间代码,其好处是( )。 A.有利于进行反编译处理 B.有利于进行与机器无关的优化处理 C.尽早发现语法错误 D.可以简化语法和语义分析
解答:答案选择B。 中间代码”是一种简单且含义明确的记号系统,可以有若干种形式,它们的共同特征是与具体的机器无关,此时所作的优化一般建立在对程序的控制流和数据流分析的基础之上,与具体的机器无关。
15.假设某公司营销系统有营销点关系S(营销点,负责人姓名,联系方式)、商品关系P(商品名,条形码,型号,产地,数量,价格),其中,营销点唯一标识S中的每一a元组。每个营销点可以销售多种商品,每一种商品可以由不同的营销点销售。关系S和P的主键分别为( ),S和P的之间联系类型属于( )。 A.营销点、商品名 B.营销点、条形码 C.负责人姓名、商品名 D.负责人姓名、条形码 》 A.1:1 B.1:n C.n:1 D.n:m
解答:答案选择B|D。 主码是能唯一标识关系中每一元组,并不含多余属性的属性或属性组。在关系S中营销点唯一标识S中的每一个元组,并且不含有多余的属性,而且其它的属性都不能唯一标识每一元组,所以关系S的主键为 营销点;在关系P中,条形码是唯一能标识一种商品的,而商品名则可能因有不同产地而导致重复,所以关系P中的主键应该为 条形码。题干中:“每个营销点可以销售多种商品,每一种商品可以由不同的营销点销售”说明关系S和P之间应为多对多的关系。
16.若有关系 R(A,B,C,D,E)和S(B,C,F,G),则R与S自然联结运算后的属性列有( )个,与表达式π1,3,6,7(σ3<6 (R ▷◁ S))等价的SQL语句如下: SELECT( ) FROM( )WHERE( ); A.5 B.6 C.7 D.9 》 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 》 A.R B.S C.RS D.R,S 》 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
解答:答案选择C|A|D|B。 在π1,3,6,7(σ3<6 (R ▷◁ S))中,自然联结RS运算后去掉右边重复的属性列名S.B、S.C后为:R.A、R.B、R.C、R.D、R.E、S.F和S.G,第一空的正确答案为7。 π1,3,6,7(σ3<6 (R ▷◁ S))的含义是从RS结果集中选取R.C<S.F的元组,再进行R.A、R.C、S.F和S.G投影,因此,第二空的正确答案为A,R.C,F,G。显然,第三空的答案为R,S。 第四空的正确答案为R.B=S.B AND R.C=S.C AND R.C<S.F。因为,自然联结RS需要用条件“WHERE R.B=S.B AND R.C=S.C”来限定,选取运算σ3<6需要用条件“WHERE R.C<S.F”来限定。
17.假设段页式存储管理系统中的地址结构如下图所示,则系统中( )。 A.页的大小为4K,每个段的大小均为4096个页,最多可有255个段 B.页的大小为4K,每个段最大允许有4096个页,最多可有256个段 C.页的大小为8K,每个段的大小均为2048个页,最多可有128个段 D.页的大小为8K,每个段最大允许有2048个页,最多可有128个段
解答:答案选择B。AB之间还是有点纠结。 从图中可见,页内地址的长度是12位,212=4096,即4K;页号部分的地址长度是12位,每个段最大允许有4096个页;段号部分的地址长度是8位,28=256,最多可有256个段。
18.假设系统中有三类互斥资源R1、R2和R3,可用资源数分别为10、5和3。在T0时刻系统中有P1、P2、P3、P4和P5五个进程,这些进程对资源的最大需求量和已分配资源数如下表所示,此时系统剩余的可用资源数分别为( )。如果进程按( )序列执行,那么系统状态是安全的。 A.1、1和0 B.1、1和1 C.2、1和0 D.2、0和1 》 A.P1→P2→P4→P5→P3 B.P5→P2→P4→P3→P1 C.P4→P2→P1→P5→P3 D.P5→P1→P4→P2→P3
解答:答案选择D|B。送分题。 安全状态是指系统能按某种进程顺序(P1,P2,…,Pn),来为每个进程Pi分配其所需的资源,直到满足每个进程对资源的最大需求,使每个进程都可以顺利完成。如果无法找到这样的一个安全序列,则称系统处于不安全状态。 本题进程的执行序列己经给出,我们只需将四个选项按其顺序执行一遍,便可以判断出现死锁的三个序列。 P1→P2→P4→P5→P3是不安全的序列。因为在该序列中,进程P1先运行,P1尚需资源数为(4,2,0),假设将资源R1分配2台给进程P1,则系统剩余的可用资源数为(0,0,1),将导致系统所有的进程都不能作上能完成标志“True”。 P5→P2→P4→P3→P1是安全的序列。因为所有的进程都能作上能完成标志“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),系统可用资源数为(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。
19.某文件管理系统采用位示图(bitmap)记录磁盘的使用情况。如果系统的字长为32位,磁盘物理块的大小为4MB,物理块依次编号为:0、1、2、…,位示图字依次编号为:0、1、2、…,那么16385号物理块的使用情况在位示图中的第( )个字中描述:如果磁盘的容量为1000GB,那么位示图需要( )个字来表示。 A.128 B.256 C.512 D.1024 》 A.1200 B.3200 C.6400 D.8000
解答:答案选择C|D。 文件管理系统是在外存上建立一张位示图(bitmap),记录文件存储器的使用情况。每一位对应文件存储器上的一个物理块,取值0和1分别表示空闲和占用,如下图所示。 由于系统中字长为32位,所以每个字可以表示32个物理块的使用情况。又因为文件存储器上的物理块依次编号为:0、1、2、…,位示图表示物理块的情况如下,从下图可见,16385号物理块应该在位示图的第512个字中描述。 又因为磁盘物理块的大小为4MB,1GB=1024M=256个物理块,需要8个字表示,故磁盘的容量为1000GB,那么位示图需要1000×8=8000个字表示。
20.某单位局域网配置如下图所示,PC2发送到Internet上的报文的源IP地址为( )。 A.192.168.0.2 B.192.168.0.1 C.202.117.112.1 D.202.117.112.2
解答:答案选择D。 PC2发送到Internet上的报文经代理服务器转换后,源IP地址变成代理服务器的出口IP地址,即202.117.112.2。
21.在IPv4向IPv6的过渡期间,如果要使得两个IPv6结点可以通过现有的IPv4网络进行通信,则应该使用( );如果要使得纯IPv6结点可以与纯IPv4结点进行通信,则需要使用( )。 A.堆栈技术 B.双协议栈技术 C.隧道技术 D.翻译技术
解答:答案选择B|D。 如果要使得两个IPv6结点可以通过现有的IPv4网络进行通信,则应该使用隧道技术;如果要使得纯IPv6结点可以与纯IPv4结点进行通信,则需要使用翻译技术。
22.POP3协议采用( )模式进行通信,当客户机需要服务时,客户端软件与POP3服务器建立( )连接。 A.Browser/Server B.Client/Server C.PeertoPeer D.PeertoServer 》 A.TCP B.UDP C.PHP D.IF
解答:答案选择B|A。 POP3协议采用C/S模式进行通信,POP3需要TCP连接的支持,当客户机需要服务时,客户端软件与POP3服务器建立TCP连接。
22.采用插入排序算法对n个整数排序,其基本思想是:在插入第i个整数时,前i-1个整数已经排好序,将第i个整数依次和第i-1,i-2,…个整数进行比较,找到应该插入的位置。现采用插入排序算法对6个整数{5,2,4,6,1,3}进行从小到大排序,则需要进行( )次整数之间的比较。对于该排序算法,输入数据具有(/)特点时,对整数进行从小到大排序,所需的比较次数最多。 A.9 B.10 C.12 D.13 》 A.从小到大 B.从大到小 C.所有元素相同 D.随机分布
解答:答案选择C|B。 采用插入排序算法对6个整数{5,2,4,6,1,3}进行从小到大排序的过程如表所示。 综上,元素间共比较12次。从上表中的第4步可看出,当待插入的元素比已排序部分的所有元素都要小时,需要比较和移动的元素最多,因此当输入数据序列正好从大到小排列,而需要将其从小到大排序时,元素间的比较次数最多。
23.软件工程的基本目标是( )。 A.消除软件固有的复杂性 B.开发高质量的软件 C.努力发挥开发人员的创造性潜能 D.推动软件理论和技术的发展
解答:答案选择B。 软件工程是指应用计算机科学、数学及管理科学等原理,以工程化的原则和方法来解决软件问题的工程,其目的是提高软件生产率、提高软件质量、降低软件成本。
24.( )过程模型明确地考虑了开发中的风险。 A.瀑布 B.快速原型 C.V D.螺旋
解答:答案选择D。送分题。 螺旋模型将瀑布模型和演化模型结合起来,加入了两种模型均忽略的风险分析,弥补了这两种模型的不足。螺旋模型将开发过程分为几个螺旋周期,每个螺旋周期大致和瀑布模型相符合。在每个螺旋周期分为如下4个工作步。
- 制定计划。确定软件的目标,选定实施方案,明确项目开发的限制条件
- 风险分析。分析所选的方案,识别风险,消除风险
- 实施工程。实施软件开发,验证阶段性产品
- 用户评估。评价开发工作,提出修正建议,建立下一个周期的开发计划
23.在开发一个字处理软件时,首先快速发布了一个提供基本文件管理、编缉和文档生成功能的版本,接着发布提供更完善的编辑和文档生成功能的版本,最后发布提供拼写和语法检查功能的版本,这里采用了( )过程模型。 A.瀑布 B.快速原型 C.增量 D.螺旋
解答:答案选择C。 增量模型:允许客户的需求可以逐步提出来;软件产品被增量式的一块块开发,每一个增量均发布一个可操作产品。
24.在各种不同的软件需求中,( )描述了用户使用产品必须要完成的任务,可以用UML建模语言的( )表示。 A.功能需求 B.非功能需求 C.过程约束 D.设计约束 》 A.用例图 B.类图 C.状态图 D.序列图
解答:答案选择A|A。 功能需求:也称行为需求;规定了开发人员必须在系统中实现的软件功能;通常是通过系统特性的描述表现出来的;特性:指一组逻辑上相关的功能需求,表示系统为用户提供某项功能(服务),使用户的业务目标得以满足非功能需求:指系统必须具备的属性和品质;可细分为: 软件质量属性(如:可维护性、可靠性、效率等)和其他的非功能需求设计约束:限制条件或补充规约;通常是对系统的一些约束说明;如:必须采用国有自主知识产权的数据库系统,必须运行在UNIX操作系统之下等用例图:从用户角度描述系统功能,并指出各功能的操作者类图:描述系统中类的静态结构状态图:描述类的对象所有可能的状态以及事件发生时状态的转移条件序列图:显示对象之间的动态合作关系,强调对象之间消息发生的顺序,同时显示对象之间的交互。
25.在结构化分析方法中,数据流图描述数据在系统中如何被传送或变换,反映系统必须完成的逻辑功能,用于( )建模。在绘制数据流图时,( )。 A.数据 B.功能 C.结构 D.行为 》 A.每个加工至少有一个输入数据流,可以没有输出数据流 B.不允许一个加工有多条数据流流向另一个加工 C.不允许一个加工有两个相同的输出数据流流向两个不同的加工 D.必须保持父图与子图平衡
解答:答案选择B|D。 数据流图包含外部实体(数据源)、加工、数据存储和数据流。每个加工必须既有输入流又有输出流;一个加工可以有多个数据流流向另一个加工,一个加工可以有两个相同的输出数据流流向两个不同的加工。在将父图分解为子图时,必须要保持数据流的平衡。
26.确定采用哪种软件体系结构是在( )阶段进行的。 A.需求分析 B.概要设计 C.详细设计 D.软件实现
解答:答案选择B。AB二选一错。 软件体系结构:是对子系统、软件系统组件以及它们之间相互关系的描述。系统分析阶段的主要任务之一就是确定系统逻辑模型,形成系统分析报告:在调查和分析中得出新系统的功能需求,并给出明确地描述。根据需要与实现可能性,确定新系统的功能,用一系列图表和文字给出新系统功能的逻辑描述,进而形成系统的逻辑模型。概要设计:主要任务是完成对系统总体结构和基础框架的设计软件设计:是以系统的软件体系结构为目标的软件开发者所执行的活动,是在功能属性和非功能属性内指定软件系统的组件和组件之间的关系;软件设计可分为概要设计和详细设计两个阶段。
27.以下关于模块化的叙述中,正确的是( )。 A.每个模块的规模越小越好,这样开发每个模块的成本就可以降低了 B.每个模块的规模越大越好,这样模块之间的通信开销就会降低了 C.应具有高内聚和低耦合的性质 D.仅适用于结构化开发方法
解答:答案选择C。 模块化是将系统划分为若干模块的工作。模块化设计可以使整个系统设计简单,结构清晰,可维护性增强。模块化设计的目标是:每个模块完成一个相对独立的特定功能;模块之间的结构简单。简而言之就是要保证模块之间的独立性,提高每个模块的独立程度。模块的独立程度可以使用聚合和耦合两个定性标准度量。聚合衡量模块内部各元素结合的紧密程度。耦合度量不同模块间相互依赖的程度。功能模块设计原则:提高聚合程度,降低模块之间的耦合程度是模块设计应该遵循的最重要的两个原则。除此之外,系统模块设计的过程中,还应该考虑其他方面的一些要求,遵循如下原则。1. 系统分解有层次:首先从系统的整体出发,根据系统的目标以功能划分模块。各个模块即互相配合,又各自具有独立功能,共同实现整个系统的目标。然后,对每个子模块再进一步逐层向下分解,直到分解到最小的模块为止2. 适宜的系统深度和宽度比例:系统深度是指系统结构中的控制层次。宽度表示控制的总分布,即统一层次的模块总数的最大值。系统的深度和宽度之间往往有一个较为适宜的比例。深度过大说明系统划分过细,宽度过大可能会导致系统管理难度的加大3. 模块大小适中:模块的大小一般使用模块中所包含的语句的数量多少来衡量。有这样一个参考数字即模块的语句行数在50行~100行为最好,最多不超过500行4. 适度控制模块的扇入扇出:模块的扇入指模块直接上级模块的个数,模块的直属下级模块个数即为模块的扇出。模块的扇入数一般来说越大越好,说明该模块的通用性较强。对于扇出而言,过大可能导致系统控制和协调比较困难,过小则可能说明该模块本身规模过大。经验证明,扇出的个数最好是3或4,一般不要超过7.5. 较小的数据冗余:如果模块分解不当,会造成大量的数据冗余,这可能引起相关数据分布在不同的模块中,大量原始数据需要调用,大量的中间结果需要保存和传递,以及大量计算工作将要重复进行的情况,可能会降低系统的工作效率。
28.当一个模块直接使用另一个模块的内部数据,或者通过非正常入口转入另一个模块内部,这种模块之间的耦合为( )。 A.数据耦合 B.标记耦合 C.公共耦合 D.内容耦合
解答:答案选择D。 数据耦合:若一个模块访问另一个模块时,彼此之间是通过数据参数(不是控制参数、公共数据结构或外部变量)来交换输入、输出信息的,则称这种耦合大数据耦合。 标记耦合:若一组模块通过参数表传递记录信息,则这种耦合称为标记耦合。 公共耦合:若一组模块都访问同一个公共数据环境,则它们之间的耦合就称为公共耦合。 内容耦合:若一个模块直接访问另一个模块内部数据;一个模块不通过正常入口转到另一模块内部;两个模块有一部分程序代码重叠;一个模块有多个入口。存在上述情况之一,则这种耦合称为内容耦合。
29.在面向对象技术中,( )是一组具有相同结构、相同服务、共同关系和共同语义的( )集合,其定义包括名称、属性和操作。 A.类 B.对象 C.实例 D.属性
解答:答案选择A|B。 对象:对象是基本的运行时的实体,它既包括数据(属性),也包括作用于数据的操作(行为)。所以,一个对象把属性和行为封装为一个整体。一个对象通常可由对象名、属性和操作三部分组成类:一个类定义了一组大体上相似的对象。一个类所包含的方法和数据描述一组对象的共同行为和属性,把一组对象的共同特征加以抽象并存储在一个类中的能力,是面向对象技术最重要的一点。是否建立了一个丰富的类库,是衡量一个面向对象程序设计语言成熟与否的重要标志。
30.下图中,类 Product 和 ConcreteProduct 的关系是( ),类 ConcreteCreator 和 ConcreteProduct 的关系是( )。 A.继承 B.关联 C.组合 D.依赖
解答:答案选择A|D。 继承:是父类和子类之间共享数据和方法的机制。这是类之间的一种关系,在定义和实现一个类的时候,可以在一个已经存在的类的基础上来进行,把这个已经存在的类所定义的内容作为自己的内容,并加入若干新的内容。链:表示实例对象间的物理或概念上的连接。关联描述具有公共结构和公共语义的一组链。实际上链是关联的一个实例。聚集是一种特殊的关联,它描述了整体和部分之间的结构关系。组合也是关联关系的一种特例,他体现的是一种contains-a的关系,这种关系比聚合更强,也称为强聚合;他同样体现整体与部分间的关系,但此时整体与部分是不可分的,整体的生命周期结束也就意味着部分的生命周期结束;比如你和你的大脑;表现在代码层面,和关联关系是一致的,只能从语义级别来区分泛化是一个类与它的一个或多个细化种类之间的关系,即一般与特殊的关系。被细化的类称为父类,每个细化的种类称为子类,子类可以继承父类的性质。实现是类元之间的语义关系,其中一个类元制定了由另一个类元保证执行的锲约;在两种地方要遇到实现关系:一种是在接口和实现它们的类或构件之间;另一种是在用例和实现它们的写作之间依赖是两个事物之间的语义关系,其中一个事物(独立事物)发生变化会影响另一个事物(依赖事物)的语义。
31.以下关于建立良好的程序设计风格的叙述中,正确的是( )。 A.程序应简单、清晰、可读性好 B.变量的命名要符合语法 C.充分考虑程序的执行效率 D.程序的注释可有可无
解答:答案选择A。 编码的原则: 总的要求:程序简单、清晰、可读性好 测试优先,在开始编码之前建立单元测试 对代码进行正确的注视,使注释与代码保持一致 变量规范命名,如取见名知意等
32.由于硬件配置的变化,如机型、终端或打印机等导致软件系统需要进行修改维护,这类维护属于( )。 A.改正性 B.适应性 C.完善性 D.预防性
解答:答案选择B。送分题。 在软件开发完成交付用户使用后,就进入软件运行/维护阶段。软件维护活动根据其内容可以分为四种类型:改正性维护是指为了识别和纠正软件错误、改正软件性能上的缺陷、排除实施中的误使用,应进行的诊断和改正错误的过程;适应性维护是指由于信息技术飞速发展,软件运行的外部环境或数据环境可能发生变化,为了使软件适应这种变化,而修改软件的过程;完善性维护是指在软件使用过程中,用户往往会对软件提出新的功能与性能要求,为了满足这些要求,需要修改或再开发软件,以扩充软件功能、增强软件性能、改进加工效率、提高软件的可维护性而进行的维护活动;预防性维护是为了提高软件的可维护性和可靠性等,为以后进一步改进软件打下良好基础而进行的维护工作。
56.下图是一个软件项目的活动图,其中顶点表示项目里程碑,连接顶点的边表示包含的活动,则里程碑(/)没有按时完成会影响整个项目的进度。若活动0→2完成后,停止3天才开始活动2→6,则完成整个项目的最少时间是( )天。 A.1 B.2 C.3 D.4 》 A.53 B.55 C.56 D.57
解答:答案选择B|C。 根据关键路径法,计算出关键路径为0—2—5—7—8—9,关键路径长度为55。因此里程碑2在关键路径上,而里程碑1、3和4不在关键路径上。 若活动0→2完成后,停止3天才开始活动2→6,则相当于0—2—6—9是一个关键路径,此时,完成项目的最短时间应该是56天。
34.某软件系统无需在线容错,也不能采用冗余设计,如果对可靠性要求较高,故障有可能导致严重后果,一般采用( )。 A.恢复块设计 B.N版本程序设计 C.检错技术 D.降低复杂度设计
解答:答案选择C。多少有蒙对的成分在里面。 在软件系统中,无需在线容错的地方,或不能采用冗余设计技术的部分,如果对可靠性要求较高,故障有可能导致严重的后果,一般采用检错技术,在软件出现故障后能及时发现并报警,提醒维护人员进行处理。检错技术实现的代价一般低于容错技术和冗余技术,但其有一个明显的缺点,就是不能自动解决故障,出现故障后如果不进行人工干预,将最终导致软件系统不能正常运行。采用检错技术设计要着重考虑:检测对象、检测延时、实现方式、处理方式等要素。
35.软件可靠性管理把软件可靠性活动贯穿于软件开发的全过程,成为软件工程管理的一部分。确定软件可靠性度量活动属于( )阶段。 A.需求分析 B.概要设计 C.详细设计 D.测试阶段
解答:答案选择B。AB二选一错。 对于软件可靠性度量活动的确定是概要设计阶段的工作
36.软件测试的对象不包括( )。 A.软件代码 B.软件开发过程 C.文档 D.数据
解答:答案选择B。 根据软件定义,软件包括程序、数据和文档,所以软件测试的对象也应该为程序、数据、文档。
37.以下关于测试计划的叙述中,不正确的是( )。 A.测试计划能使测试工作顺利进行 B.测试计划能使项目参与人员沟通顺畅 C.测试计划无益于提高软件质量 D.测试计划是软件过程规范化的要求
解答:答案选择C。 测试计划详细规定测试的要求,包括测试的目的、内容、方法、步骤以及测试的准则等,以用来验证软件需求规格说明书中的需求是否已由软件设计说明书描述的设计实现。测试时严格地按照测试计划可以保证进度,使各方面都得以协调进行。
38.以下关于软件测试原则的叙述中,正确的是( )。 A.测试用例只需选用合理的输入数据,不需要选择不合理的输入数据 B.应制定测试计划并严格执行,排除随意性 C.穷举测试是可能的 D.程序员应尽量测试自己的程序
解答:答案选择B。 软件测试应遵循的原则包括:应当把“尽早和不断地测试”作为开发者的座右铭;程序员应该避免检查自己的程序,测试工作应该由独立的专业的软件测试机构来完成;设计测试用例时,应该考虑到合法的输入和不合法的输入,以及各种边界条件;一定要注意测试中的错误集中发生现象,应对错误群集的程序段进行重点测试;对测试错误结果一定要有一个确认的过程;制定严格的测试计划,并把测试时间安排得尽量宽松,不要希望在极短的时间内完成一个高水平的测试;回归测试的关联性一定要引起充分的注意,修改一个错误而引起更多错误出现的现象并不少见;妥善保存一切测试过程文档;穷举测试是不能实现的。
39.以下关于测试时机的叙述中,不正确的是( )。 A.应该尽可能早地进行测试 B.软件中的错误暴露得越迟,则修复和改正错误所花费的代价就越高 C.应该在代码编写完成后开始测试 D.项目需求分析和设计阶段需要测试人员参与
解答:答案选择C。 测试应尽早并不断地进行:由于原始问题的复杂性、开发各阶段的多样性,以及参加人员之间的协调等因素,使得在开发各个阶段都有可能出现错误。有的时候表现在程序中的错误,并不一定是由于编码产生的,很有可能是设计阶段,甚至是由需求分析的问题所引起的,而且开发各阶段是连续的,早期出现的小问题到后期而会 扩散,最后需要花费不必要的人力物力来修改错误。尽早进行测试,可以尽快地发现问题,将错误的影响缩小到最小范围。因此,测试应该贯穿在开发的各界的,坚持各阶段的技术评审,这样才能尽早发现错误和纠正错误、消除隐患、提高整个系统的开发质量
40.以下不属于软件测试工具的是( ) 。 A.JMeter B.LoadRunner C.JTest D.JBuilder
解答:答案选择D。 JMeter、LoadRunner 和 JTest 都是软件测试工具。 JBuilder 是一种软件开发工具,不属于软件测试工具。
41.软件的易用性包括( )。 ①易理解性 ②易学习性 ③易操作性 ④吸引性 ⑤依从性 A.①② B.①②③ C.①②③④ D.①②③④⑤
解答:答案选择D。 软件的易用性包括易理解性、易学习性、易操作性、吸引性以及依从性。
42.黑盒测试不能发现( )。 A.功能错误或者遗漏 B.输入输出错误 C.执行不到的代码 D.初始化和终止错误
解答:答案选择C。 黑盒测试是把程序看作一个不能打开的黑盒子,在完全不考虑程序内部结构和内部特性的情况下,在程序接口进行测试,它只检查程序功能是否按照需求规格说明书的规定正常使用,程序是否能适当地接收输入数据而产生正确的输出信息。黑盒测试着眼于程序外部结构,不考虑内部逻辑结构,主要针对软件界面和软件功能进行测试。黑盒测试能发现功能错误或者遗漏、输入输出错误以及初始化和终止错误。 由于黑盒测试不考虑程序内部结构,所以该方法不能检测到执行不到的代码。
43.以下关于边界值测试法的叙述中,不正确的是( )。 A.边界值分析法不仅重视输入域边界,而且也必须考虑输出域边界 B.边界值分析法是对等价类划分方法的补充 C.发生在输入输出边界上的错误比发生在输入输出范围的内部的错误要少 D.测试数据应尽可能选取边界上的值,而不是等价类中的典型值或任意值
解答:答案选择C。 边界值分析是一种补充等价划分的测试用例设计技术,它不是选择等价类的任意元素,而是选择等价类边界的测试用例。实践证明,为检验边界附近的处理专门设计测试用例,常常取得良好的测试效果。边界值分析法不仅重视输入条件边界,而且也适用于输出域测试用例。人们长期的测试工作经验得知:大量的错误是发生在输入或输出范围的边界上的,而不是在输入范围的内部。因此针对各种边界情况设计测试用例,可以查出更多地错误。
44.白盒测试不能发现( )。 A.代码路径中的错误 B.死循环 C.逻辑错误 D.功能错误
解答:答案选择D。送分题。 白盒测试也称结构测试或逻辑驱动测试,它是知道产品内部工作过程,按照程序内部的结构测试程序,检验程序中的每条通路是否都有能按预定要求正确工作,而不考虑其功能,白盒测试的主要方法有静态结构分析法、逻辑覆盖法、基本路径测沭法等。白盒测试完全基于代码,能发现代码路径中的错误、程序中的死循环以及逻辑错误。白盒测试不关心功能需求,因此无法确定功能正确与否
45.对于逻辑表达式((a&&b)||c),需要( )个测试用例才能完成条件组合覆盖。 A.2 B.4 C.8 D.16
解答:答案选择C。送分题。 条件组合覆盖的含义是:选择足够的测试用例,使得每个判定中条件的各种可能组合都至少出现一次。 本题中有三个条件,组合之后需要的用例数是8。
46.为检测系统在长时间运行下是否存在性能瓶颈,应进行( )。 A.负载测试 B.压力测试 C.疲劳强度测试 D.大数据量测试
解答:答案选择C。 负载测试是通过逐步增加系统负载,测试系统性能的变化,并最终确定在满足性能指标的情况下,系统所能承受的最大负载量的情况。压力测试是通过逐步增顶系统负载,测试系统性能的变化,并最终确定在什么负载条件下系统性能处于失效状态,并以此来获得系统能提供的最大服务级别的测试。疲劳强度测试是采用系统稳定运行情况F能够支持的最大并发用户数,或者日常运行用户数,持续执行一段时间业务,保证达到系统疲劳强度需求的业务量,通过综合分析交易执行指标和资源监控指标,来确定系统处理最大工作量强度性能的过程。大数据量测试包括独立的数据量测试和综合数据量测试,独立数据量测试是指针对系统存储、传输、统计、查询等业务进行的大数据量测试;综合数据量测试是指和压力测试、负载测试、疲劳强度测试相结合的综合测试。 本题的目标是检测系统在长时间运行下的表现,应进行疲劳强度测试
47.以下关于负载压力测试的叙述中,不正确的是( )。 A.负载压力测试用于确认系统是否支持性能需求 B.负载压力测试能得到系统可承受的业务量增长 C.负载压力测试是在一定约束条件下测试系统所能承受的最大负载压力 D.负载压力测试不用于发现不同负载场景下的速度变慢、内存泄露等问题
解答:答案选择D。 负载压力测试是指在一定约束条件下测试系统所能承受的并发用户量、运行时间、数据量,以确定系统所能承受的最大负载压力。负载压力测试有助于确认被测系统是否能够支持性能需求,以及预期的负载增长等。负载压力测试不只是关注不同负载场景下的响应时间等指标,它也要通过测试来发现在不同负载场景下会出现的,例如:速度变慢、内存泄漏等问题的原因。因此,应该在开发过程中尽可能早地进行负载压力测试。
48.测试过程中,正确的测试顺序应该是( )。 ①单元测试 ②集成测试 ③系统测试 A.①②③ B.③①② C.②③① D.③②①
解答:答案选择A。 测试过程应该是从模块层开始,然后扩大延伸到整个基于计算机的系统集今中。因此正确的测试顺序应该是从针对单个模块的单元测试开始,然后逐步集成各个单元,最后进行系统测试。
49.以下属于静态测试方法的是( )。 A.分支覆盖率分析 B.复杂度分析 C.系统压力测试 D.路径覆盖分析
解答:答案选择B。 静态测试不实际运行被测软件,主要是对软件的编程格式、结构等方面过行评估。本题中分支覆盖率分析、系统压力测试和路径覆盖分析都需要实际运行枝测软件才能得到,只有复杂度分析可通过静态分析程序代码实现。
50.以下关于集成测试的叙述中,不正确的是( )。 A.在完成软件的概要设计后,即开始制定集成测试计划 B.实施集成测试时需要设计所需驱动和桩 C.桩函数是所测函数的主程序,它接收测试数据并把数据传送给所测试函数 D.常见的集成测试方法包括自顶向下、自底向上、Big-Bang等
解答:答案选择C。 驱动模块:相当于所测模块的主程序。它接收测试数据,把这些数据传送给所测模块,最后再输出实测结果。桩模块:也叫存根模块。用以代替所测模块调用的子模块。 桩模块可以做少量的数据操作,不需要把子模块的所有功能都带进来,但不允许什么事情也不做。 本题中选项C混淆了驱动和桩的概念。
51.对一段信息生成消息摘要是防止信息在网络传输及存储过程中被篡改的基本手段,( )不属于生成消息摘要的基本算法。 A.MD5 B.SHA-1 C.RSA D.SHA-256
解答:答案选择C。 对信息生成消息摘要是防止信息在网络传输及存储过程中被篡改的基本手段,生成消息摘要的算法应是不可逆的,即基于消息摘要无法计算出原始消息内容。MD5、SHA-1、SHA-256均属于典型的生成消息摘要的算法,而RSA是常用的公钥加密算法,其加密产生的数据可以被还原,因此不属于生成消息摘要的算法。
52.软件系统的安全性是信息安全的一个重要组成部分,针对程序和数据的安全性测试与评估是软件安全性测试的重要内容,( )不属于安全件测试与评估的基本内容。 A.用户认证机制 B.加密机制 C.系统能承受的并发用户量 D.数据备份与恢复手段
解答:答案选择C。 安全性测试与评估是软件安全性测试的重要内容,其测试与评估的基本内容包括用户认证机制、加密机制、安全防护策略、数据备份与恢复手段、防病毒系统等,而系统能承受的并发用户量属于基本的应用负载压力测试内容。
53.模拟攻击试验是一种基本的软件安全性测试方法,以下关于模拟攻击试验的叙述中,正确的是( )。 A.模拟攻击试验必须借助于特定的漏洞扫描器才能完成 B.对安全测试来说,模拟攻击试验是一组特殊的白盒测试案例,必须在充分了解系统安全机制的软件组成基础上,才能进行相应攻击试验的设计与试验 C.缓冲区溢出攻击是一种常见的模拟攻击试验,此类攻击者通常通过截获含有身份鉴别信息或授权请求的有效消息,将该消息进行重演 D.服务拒绝攻击是一种常见的模拟攻击试验,此类攻击者通常通过向服务器发送大量虚假请求,使得服务器功能不能正常执行
解答:答案选择D。 像伪造电子邮件攻击,口令猜测等都无需特地的漏洞扫描器就能完成。对于安全测试来说,模拟攻击试验是一组特殊的黑盒测试案例,以模拟攻击来验证软件或信息系统的安全防护能力。缓冲区溢出:由于在很多的服务程序中使用不进行有效位检查的函数,最终可能导致恶意的用户编写一小段程序来进一步打开安全缺口,然后将该代码放在缓冲区有效载荷的末尾,这样,当发生缓冲区溢出时,返回指针指向恶意代码,执行恶意指令,就可以得到系统的控制权。服务拒绝:当一个实体不能执行它的正常功能,或它的动作妨碍了别的实体执行它们的正常功能的时候,便发生服务拒绝。
54.There is nothing in this world constant but inconstancy. —SWIFT Project after project designs a set of algorithms and then plunges into cor struction of customer-deliverable software on a schedule that demands delivery of the first thing built. In most projects, the first system built is ( ) usable. It may be too slow, too big, awkward to use, or all three. There is no ( ) but to start again, smarting but smarter, and build a redesigned version in which these problems are solved. The discard and ( ) 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 ( ) , 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 ( ) 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. A.almost B.often C.usually D.barely 》 A.alternative B.need C.plan D.build 》 A.design B.redesign C.plan D.build 》 A.throwaway B.system C.software D.prcduct 》 A.worth B.value C.cost D.invaluable
解答:答案选择DA|B|A|C。 不变只是愿望,变化才是永恒。——SWIFT 一个接一个的软件项目都是一开始设计算法,然后将算法应用到待发布的软件中,接着根据时间进度把第一次开发的产品发布给客户。 对于大多数项目,第一个开发的系统并不适用。它可能太慢、太大、难以使用,或者三者兼有。要解决所有的问题,除了重新开始以外,没有其他的办法——即开发一个更灵巧或者更好的系统。系统的丢弃和重新设计可以一步完成,也可以一块块地实现。所有大型系统的经验都显示,这是必须完成的步骤。而且,新的系统概念或新技术会不断出现,因此开发的系统必须被抛弃,但即使是最优秀的项目计划也不能无所不知地在最开始就解决这些问题。 因此,管理上的问题不再是“是否构建一个实验性的系统,然后抛弃它”,你必须这样做。现在的问题是“是否预先计划抛弃原型的开发,或者是否将该原型发布给用户”。从这个角度看待问题,答案更加清晰。将原型发布给用户,虽然可以获得时间,但是其代价高昂——对于用户,使用极度痛苦;对于重新开发的人员,分散了精力;对于产品,影响了声誉,即使是最好的再设计也难以挽回名声。 因此,为舍弃而计划,无论如何,你一定要这样做。