上半年上午 软件设计师 试题及答案与解析软考考试真题基础知识.docx
《上半年上午 软件设计师 试题及答案与解析软考考试真题基础知识.docx》由会员分享,可在线阅读,更多相关《上半年上午 软件设计师 试题及答案与解析软考考试真题基础知识.docx(37页珍藏版)》请在冰豆网上搜索。
上半年上午软件设计师试题及答案与解析软考考试真题基础知识
2017年上半年上午软件设计师
考试试题-答案与解析
一、单项选择题(共75分,每题1分。
每题备选项中,只有1个最符合题意)
●第1题.CPU执行算术运算或者逻辑运算时,常将源操作数和结果暂存在
(1)中。
A.程序计数器(PC)
B.累加器(AC)
C.指令寄存器(IR)
D.地址寄存器(AR)
【答案】B
【解析】程序计数器(PC)是用于存放下一条指令所在单元的地址的地方。
累加器(AC)全称累加寄存器,是一个通用寄存器。
其功能是,当运算器的算术逻辑单元(ALU)执行算术或逻辑运算时,为ALU提供一个工作区。
累加寄存器暂时存放ALU运算的结果信息。
指令寄存器(IR)用于存放当前从主存储器读出的正在执行的一条指令。
地址寄存器(AR)用来保存当前CPU所访问的内存单元的地址。
由于在内存和CPU之间存在着操作速度上的差别,所以必须使用地址寄存器来保持地址信息,直到内存的读/写操作完成为止。
●第2题.要判断字长为16位的整数a的低四位是否全为0,则
(2)。
A.将a与0x000F进行"逻辑与"运算,然后判断运算结果是否等于0
B.将a与0x000F进行"逻辑或"运算,然后判断运算结果是否等于F
C.将a与0x000F进行"逻辑异或"运算,然后判断运算结果是否等于O
D.将a与0x000F进行"逻辑与"运算,然后判断运算结果是否等于F
【答案】A
【解析】基本逻辑运算。
●第3题.计算机系统中常用的输入/输出控制方式有无条件传送、中断、程序查询和DMA方式等。
当采用(3)方式时,不需要CPU执行程序指令来传送数据。
A.中断
B.程序查询
C.无条件传送
D.DMA
【答案】D
【解析】DMA(直接存储器访问方式),DMA将数据从一个地址空间复制到另外一个地址空间时,CPU初始化这个传输动作,传输动作本身是由DMA控制器来执行和完成。
●第4题.某系统由下图所示的冗余部件构成。
若每个部件的千小时可靠度都为R,则该系统的千小时可靠度为(4)
A.(1-R3)(1-R2)
B.(1-(1-R)3)(1-(1-R)2)
C.(1-R3)+(1-R2)
D.(1-(1-R)3)+(1-(1-R)2)
【答案】B
【解析】串行系统的可靠性R=R1×R2×…×Rn
并联系统的可靠性为R=1-(1-R1)×(1-R2)×…×(1-Rn)
●第5题.己知数据信息为16位,最少应附加(5)位校验位,才能实现海明码纠错。
A.3
B.4
C.5
D.6
【答案】C
【解析】2k-1≥m+k(m为信息位,k为校验位)当k=5时,31≥21等式成立。
●第6题.以下关于Cache(高速缓冲存储器)的叙述中,不正确的是(6)。
A.Cache的设置扩大了主存的容量
B.Cache的内容是主存部分内容的拷贝
C.Cache的命中率并不随其容量增大线性地提高
D.Cache位于主存与CPU之间
【答案】A
【解析】Cache中储存的内容是主存部分内容的复本,是按程序的局部性原理选取出来的最常使用或不久将来仍将使用的内容。
●第7题.HTTPS使用(7)协议对报文进行封装
A.SSH
B.SSL
C.SHA-1
D.SET
【答案】B
【解析】HTTPS(HyperTextTransferProtocoloverSecureSocketLayer),是以安全为目标的HTTP通道,是HTTP的安全版。
HTTPS协议是由SSL+HTTP协议构建的可进行加密传输、身份认证的网络协议。
●第8题.以下加密算法中适合对大量的明文消息进行加密传输的是(8)
A.RSA
B.SHA-1
C.MD5
D.RC5
【答案】D
【解析】它是参数可变的分组密码算法,三个可变的参数是:
分组大小、密钥大小和加密轮数。
在此算法中使用了三种运算:
异或、加和循环
●第9题.假定用户A、B分别在I1和I2两个CA处取得了各自的证书,下面(9)是A、B互信的必要条件。
A.A、B互换私钥
B.A、B互换公钥
C.I1、I2互换私钥
D.I1、I2互换公钥
【答案】D
【解析】如果用户数量很多,仅一个CA负责为所有用户签署证书可能不现实。
通常应有多个CA,每个CA为一部分用户发行和签署证书。
设用户A已从证书发放机构X1处获取了证书,用户B已从X2处获取了证书,如果A不如X2的公钥,他虽然能读取B的证书,但却无法验证用户B证书中X2的签名,因此B的证书对A来说是没有用处的。
然而,如果两个证书发放机构X1和X2彼此间已经安全地交换了公开密钥,则A可通过以下过程获取B的公开密钥:
(1)A从目录中获取由X1签署的X2证书X1《X2》,因为A知道X1的公开密钥,所以能验证X2的证书,并从中得到X2的公开密钥
(2)A再从目录中获取由X2签署的B的证书X2《B》,并由X2的公开密钥对此加以验证,然后从中得到B的公开密钥。
●第10题.甲软件公司受乙企业委托安排公司软件设计师开发了信息系统管理软件,由于在委托开发合同中未对软件著作权归属作出明确的约定,所以该信息系统管理软件的著作权由(10)享有。
A.甲
B.乙
C.甲与乙共同
D.软件设计师
【答案】A
【解析】委托开发:
如果是接受他人委托进行开发的软件,其著作权的归属应由委托人与受托人签订书面合同约定;如果没有签订合同,或合同中未规定的,则其著作权由受托人享有。
由国家机关下达任务开发的软件,著作权的归属由项目任务书或合同规定,若未明确规定,其著作权应归任务接受方所有。
●第11题.根据我国商标法,下列商品中必须使用注册商标的是(11)。
A.医疗仪器
B.墙壁涂料
C.无糖食品
D.烟草制品
【答案】D
【解析】根据我国法律规定:
1.卷烟、雪茄烟和有包装的烟丝必须申请商标注册,未经核准注册的,不得生产、销售。
2.除中药材和中药饮片以为的其他药品,都必须注册商标。
●第12题.甲、乙两人在同一天就同样的发明创造提交了专利申请,专利局将分别向各申请人通报有关情况,并提出多种可能采用的解决办法。
下列说法中,不可能采用(12)。
A.甲、乙作为共同申请人
B.甲或乙一方放弃权利并从另一方得到适当的补偿
C.甲、乙都不授予专利权
D.甲、乙都授予专利权
【答案】D
【解析】依《中华人民共和国专利法》及其实话细则的规定,专利权归下列人所有:
一、职务发明创造的专利申请权和专利权人为单位;
二、非职务发明创造的专利申请权和专利权人为个人;
三、利用本单位的物质技术条件所完成的发明创造,其专利申请权和专利权人依其合同约定决定;
四、两个以上单位或者个人合作完成的发明创造,除各方在协议中约定的以外,其专利申请权和专利权人属于完成或者共同完成的单位或者个人;
五、一个单位或者个人接受其他单位或者个人的委托完成的发明创造,除委托书中有约定的外,其专利申请权和专利权人属于完成或者共同完成的单位或者个人;
六、两个以上的申请人分别就同样的发明创造申请专利的,专利权授予最先申请的人。
或者按《中华人民共和国专利法实施细则》规定:
“两个以上的申请人在同一日分别就同样的发明创造申请专利的,应在收到国务院专利行政部门的通知后自行协商确定申请人。
●第13题.数字语音的采样频率定义为8kHz,这是因为(13)。
A.语音信号定义的频率最高值为4kHz
B.语音信号定义的频率最高值为8kHz
C.数字语音转输线路的带宽只有8kHz
D.一般声卡的采样频率最高为每秒8k次
【答案】A
【解析】采样频率大于等于工作频率的二倍,才能在以后恢复出实际波形,防止信息的丢失。
●第14题.使用图像扫描仪以300DPI的分辨率扫描一幅3×4英寸的图片,可以得到(14)像素的数字图像。
A.300×300
B.300×400
C.900×4
D.900×1200
【答案】D
【解析】DPI为像素/英寸(3*300)*(4*300)=900*1200
●第15、16题.在采用结构化开发方法进行软件开发时,设计阶段接口设计主要依据需求分析阶段的(15)。
接口设计的任务主要是(16)。
(15)
A.数据流图
B.E-R图
C.状态-迁移图
D.加工规格说明
(16)
A.定义软件的主要结构元素及其之间的关系
B.确定软件涉及的文件系统的结构及数据库的表结构
C.描述软件与外部环境之间的交互关系,软件内模块之间的调用关系
D.确定软件各个模块内部的算法和数据结构
【答案】(15)A、(16)C
【解析】(16)题A是架构定义任务,B是数据存储设计任务,D是详细设计任务
●第17、18题.某软件项目的活动图如下图所示,其中顶点表示项目里程碑,连接顶点的边表示包含的活动,边上的数字表示活动的持续时间(天),则完成该项目的最少时间为(17)天。
活动BD和HK最早可以从第(18)天开始。
(活动AB、AE和AC最早从第1天开始)
(17)
A.17
B.18
C.19
D.20
(18)
A.3和10
B.4和11
C.3和9
D.4和10
【答案】(17)D、(18)B
【解析】因为网络图是从0开始算的,按题目要求活动AB从第1天开始的话,就是1、2、3,活动BD就是第4天开始,相应的活动HK就是第11天开始。
●第19题.在进行软件开发时,采用无主程序员的开发小组,成员之间相互平等;而主程序员负责制的开发小组,由一个主程序员和若干成员组成,成员之间没有沟通。
在一个由8名开发人员构成的小组中,无主程序员组和主程序员组的沟通路径分别是(19)。
A.32和8
B.32和7
C.28和8
D.28和7
【答案】D
【解析】沟通渠道=N(N-1)/2,N是指参与沟通者的人数。
所以8*7/2=28
成员之间没有沟通,只与主程序员沟通,所以沟通路径为7。
●第20题.在高级语言源程序中,常需要用户定义的标识符为程序中的对象命名,常见的命名对象有(20)。
①关键字(或保留字)②变量③函数④数据类型⑤注释
A.①②③
B.②③④
C.①③⑤
D.②④⑤
【答案】B
【解析】在编程语言中,标识符是用户编程时使用的名字,对于变量、常量、函数、语句块也有名字,我们统统称之为标识符。
关键字作为用户标识符。
●第21题.在仅由字符a、b构成的所有字符串中,其中以b结尾的字符串集合可用正规式表示为(21)。
A.(b|ab)*b
B.(ab*)*b
C.a*b*b
D.(a|b)*b
【答案】D
【解析】暂无
●第22题.在以阶段划分的编译过程中,判断程序语句的形式是否正确属于(22)阶段的工作。
A.词法分析
B.语法分析
C.语义分析
D.代码生成
【答案】B
【解析】词法分析阶段:
输入源程序,对构成源程序的字符串进行扫描和分解,识别出一个个的单词,删掉无用信息,报告分析时的错误。
语法分析阶段:
语法分析器以单词符号作为输入,分析单词符号串是否形成符合语法规则的语法单位,如表达式、赋值、循环等,按语法规则分析检查每条语句是否有正确的逻辑结构。
语义分析阶段主要是检查源程序是否存在语义错误,并收集类型信息供后面的代码生成阶段使用,如:
赋值语句的右端和左端的类型不匹配。
表达式的除数是否为零等。
●第23题.某文件管理系统在磁盘上建立了位示图(bitmap),记录磁盘的使用情况。
若计算机系统的字长为32位,磁盘的容量为300GB,物理块的大小为4MB,那么位示图的大小需要(23)个字。
A.1200
B.2400
C.6400
D.9600
【答案】B
【解析】300*1024/4/32=2400
●第24题.某系统中有3个并发进程竞争资源R,每个进程都需要5个R,那么至少有(24)个R,才能保证系统不会发生死锁。
A.12
B.13
C.14
D.15
【答案】B
【解析】系统保证不发生死锁的资源数为,并发进程数X(进程需要资源数-1)+1.这样不管哪个进程得到最后这个资源都可以顺利执行完,释放他所占有的资源后,其它进程可以看顺利执行。
●第25题.某计算机系统页面大小为4K,进程的页面变换表如下所示。
若进程的逻辑地址为2D16H。
该地址经过变换后,其物理地址应为(25)。
页号
物理块号
0
1
1
3
2
4
3
6
A.2048H
B.4096H
C.4D16H
D.6D16H
【答案】C
【解析】页面大小为4K,说明需要12位(4K=4096=2^12)来表示页内地址.2D16H表示十六进制数2D16,转成二进制为0010110100010110从右向左划出12位表示页内地址,即0010110100010110红色部分表示页内地址,剩余的蓝色部分表示页号,页号为0010,转成十进制为2,通过页表查询对应的物理块号为4,4的二进制为0100,再连上页内地址,所以物理地址为:
0100110100010110,转成十六进制为:
4D16H.
●第26、27、28题.进程P1、P2、P3、P4和P5的前趋图如下所示:
若用PV操作控制进程P1、P2、P3、P4和P5并发执行的过程,需要设置5个信号量S1、S2、S3、S4和S5,且信号量S1~S5的初值都等于零。
如下的进程执行图中a和b处应分别填写(26);c和d处应分别填写(27);e和f处应分别填写(28)。
(26)
A.V(S1)和P(S2)V(S3)
B.P(S1)和V(S2)V(S3)
C.V(S1)和V(S2)V(S3)
D.P(S1)和P(S2)V(S3)
(27)
A.P(S2)和P(S4)
B.V(S2)和P(S4)
C.P(S2)和V(S4)
D.V(S2)和V(S4)
(28)
A.P(S4)和V(S5)
B.V(S5)和P(S4)
C.V(S4)和P(S5)
D.V(S4)和V(S5)
【答案】(26)B、(27)C、(28)A
【解析】
●第29题.以下关于螺旋模型的叙述中,不正确的是(29)。
(29)A.它是风险驱动的,要求开发人员必须具有丰富的风险评估知识和经验
B.它可以降低过多测试或测试不足带来的风险
C.它包含维护周期,因此维护和开发之间没有本质区别
D.它不适用于大型软件开发
【答案】C
【解析】优点如下:
1、设计上的灵活性,可以在项目的各个阶段进行变更。
2、以小的分段来构建大型系统,使成本计算变得简单容易。
3、客户始终参与每个阶段的开发,保证了项目不偏离正确方向以及项目的可控性。
4、随着项目推进,客户始终掌握项目的最新信息,从而他或她能够和管理层有效地交互。
5、客户认可这种公司内部的开发方式带来的良好的沟通和高质量的产品。
缺点如下:
很难让用户确信这种演化方法的结果是可以控制的。
建设周期长,而软件技术发展比较快,所以经常出现软件开发完毕后,和当前的技术水平有了较大的差距,无法满足当前用户需求。
螺旋模型的项目适用:
对于新近开发,需求不明确的情况下,适合用螺旋模型进行开发,便于风险控制和需求变更。
●第30题.以下关于极限编程(XP)中结对编程的叙述中,不正确的是(30)。
A.支持共同代码拥有和共同对系统负责
B.承担了非正式的代码审查过程
C.代码质量更高
D.编码速度更快
【答案】A
【解析】支持共同代码拥有和共同对系统负责是指的极限编程(XP)中代码集体所有权(代码共享)。
●第31题.以下关于C/S(客户机/服务器)体系结构的优点的叙述中,不正确的是(31)。
A.允许合理地划分三层的功能,使之在逻辑上保持相对独立性
B.允许各层灵活地选用平台和软件
C.各层可以选择不同的开发语言进行并行开发
D.系统安装、修改和维护均只在服务器端进行
【答案】D
【解析】系统安装、修改、维护均只在服务器端进行的是B/S体系优点
●第32题.在设计软件的模块结构时,(32)不能改进设计质量。
A.尽量减少高扇出结构
B.模块的大小适中
C.将具有相似功能的模块合并
D.完善模块的功能
【答案】C
【解析】暂无
●第33、34题.模块A、B和C有相同的程序块,块内的语句之间没有任何联系,现把改程序块取出来,形成新的模块D,则模块D的内聚类型为(33)内聚。
以下关于该内聚类型的叙述中,不正确的是(34)。
(33)
A.巧合
B.逻辑
C.时间
D.过程
(34)
A.具有最低的内聚性
B.不易修改和维护
C.不易理解
D.不影响模块间的耦合关系
【答案】(33)A、(34)D
【解析】内聚:
指模块内部各元素之间联系的紧密程度。
模块的内聚类型分为7种,根据内聚度从高到低的排序。
内聚按强度从低到高有以下几种类型:
内聚偶然内聚:
如果一个模块的各成分之间毫无关系,则称为偶然内聚,也就是说模块完成一组任务,这些任务之间的关系松散,实际上没有什么联系。
内聚逻辑内聚:
几个逻辑上相关的功能被放在同一模块中,则称为逻辑内聚。
如一个模块读取各种不同类型外设的输入。
尽管逻辑内聚比偶然内聚合理一些,但逻辑内聚的模块各成分在功能上并无关系,即使局部功能的修改有时也会影响全局,因此这类模块的修改也比较困难。
内聚时间内聚:
如果一个模块完成的功能必须在同一时间内执行(如系统初始化),但这些功能只是因为时间因素关联在一起,则称为时间内聚。
内聚通信内聚:
如果一个模块的所有成分都操作同一数据集或生成同一数据集,则称为通信内聚。
内聚顺序内聚:
如果一个模块的各个成分和同一个功能密切相关,而且一个成分的输出作为另一个成分的输入,则称为顺序内聚。
内聚过程内聚:
构件或者操作的组合方式是,允许在调用前面的构件或操作之后,马上调用后面的构件或操作,即使两者之间没有数据进行传递。
模块完成多个需要按一定的步骤一次完成的功能。
(过程相关---控制耦合)。
例如:
在用程序流程图设计模块时,若将程序流程图中的一部分划出各自组成模块,便形成过程内聚。
内聚信息内聚:
模块完成多个功能,各个功能都在同一数据结构上操作,每一项功能有一个唯一的入口点。
这个模块将根据不同的要求,确定该模块执行哪一个功能。
由于这个模块的所有功能都是基于同一个数据结构(符号表),因此,它是一个信息内聚的模块。
内聚功能内聚:
模块的所有成分对于完成单一的功能都是必须的,则称为功能内聚。
●第35、36题.对下图所示的程序流程图进行语句覆盖测试和路劲覆盖测试,至少需要(35)个测试用例。
采用McCabe度量法计算其环路复杂度为(36)。
(35)
A.2和3
B.2和4
C.2和5
D.2和6
(36)
A.1
B.2
C.3
D.4
【答案】(35)A、(36)D
【解析】要满足语句覆盖的要求,只需要使条件判断2为真且判断3为假覆盖-条路径,判断2为假覆盖另一条路径就可以覆盖住所有语句,所以语句覆盖2个用例即可。
路径覆盖需要把程序中的3条路径均覆盖一遍,需要3个用例。
整个程序流程图转化为结点图之后,一共11个结点,13条边,根据环路复杂度公式有:
13-11+2=4.或根据流图中区域的数量也可得出4。
二种方法计算复杂度:
流图G的圈复杂度V(G),为V(G)=E-N+2,E是流图中边的数量,N是流图中结点的数量
流图中区域的数量等于圈复杂性
●第37、38题.在面向对象方法中,两个及以上的类作为一个类的超类时,称为(37),使用它可能造成子类中存在(38)的成员。
(37)
A.多重继承
B.多态
C.封装
D.层次继承
(38)
A.动态
B.私有
C.公共
D.二义性
【答案】(37)A、(38)D
【解析】多重继承,指的是一个类可以同时继承多个父类的行为和特征功能。
比如水上飞机继承了飞机和船的特征。
多重继承指代可以导致某些令人混淆的情况,所以关于它的好处与风险之间孰轻敦重常常受人争论。
●第39题.采用面向对象方法进行软件开发,在分析阶段,架构师主要关注系统的(39)。
A.技术
B.部署
C.实现
D.行为
【答案】D
【解析】暂无
●第40题.在面向对象方法中,多态指的是(40)。
A.客户类无需知道所调用方法的特定子类的实现
B.对象动态地修改类
C.一个对象对应多张数据库表
D.子类只能够覆盖父类中非抽象的方法
【答案】A
【解析】多态是指同一操作作用于不同的对象,可以有不同的解释,产生不同的执行结果。
比如,.上课铃响了,上体育课的学生跑到操场上站好,上语文课的学生在教室里坐好。
在运行时,可以通过指向基类的指针,来调用实现派生类中的方法。
也就是说客户类其实在调用方法时,并不需要知道特定子类的实现,都会用统一的方式来调用。
第41、42、43题.
(41)
A.序列图
B.状态图
C.通信图
D.活动图
(42)
A.类
B.对象
C.流名称
D.消息
(43)
A.类
B.对象
C.流名称
D.消息
【答案】(41)C、(42)B、(43)D
【解析】从图示可以了解到,题目中的图是通信图。
通信图描述的是对象和对象之间的关系,即一个类操作的实现。
简而言之就是,对象和对象之间的调用关系,体现的是-~种组织关系。
该图明显表达的是对象与对象之间的关系。
其中如果一个框中的名称中带有","号,说明这表示的是-个对象,”。
“号
前的部分是对象名,”:
”号后面的部分是类名。
而对象之间连线上面的箭头所标识的对象之间通信的消息。
协作图(CollaborationDiagram/CommunicationDiagram,也叫合作图)是一种交互图(interactiondiagram),强调的是发送和接收消息的对象之间的组织结构。
一个协作图显示了一系列的对象和在这些对象之间的联系以及对象间发送和接收的消息。
对象通常是命名或匿名的类的实例,也可以代表其他事物的实例,例如协作、组件和节点。
使用协作图来说明系统的动态情况。
协作图使描述复杂的程序逻辑或多个平行事务变得容易。
●第44、45题.下图所示为观察者(Obserrver)模式的抽象示意图,其中(44)知道其观察者,可以有任何多个观察者观察同一个目标;提供住处和删除观察者对象的接口。
此模式体现的最主要的特征是(45)。
(44)
A.Subject
B.Observer
C.ConcreteSubject
D.ConcreteObserver
(45)
A.类应该对扩展开放,对修改关闭
B.使所要交互的对象尽量松耦合
C.组合优先于继承使用
D.仅与直接关联类交互
【答案】(44)C、(45)A
【解析】观察者将自己注册到事件,那么具体的事件就知道了自己的观察者。
观察者和事件都有自己的抽象,当实现具体的观察者和事件的时候都要实现相应接口,所以对扩展是开放的。
●第46、47题.装饰器(Decorator)模式用于(46);外观(Facade)模式用于(47)。
①将一个对象加以包装以给客户提供其希望的另外一个接口
②将一个对象加以包装以提供一些额外的行为
③将一个对象加以包装以控制对这个对象的访问
④将一系列对象加以包装以简化其接口
(46)
A.①
B.②
C.③
D.④
(47)
A.①
B.②
C.③
D.④
【答案】(46)B、(47)D
【解析】装饰模式(Decorator)
动态地给一个对象添加一些额外的职责。
提供了用子类扩展功能的一个灵活的替代,但比生成子类更为灵活。
装饰模式可以在不需要创造更多子类的情况下,将对象的功能加以扩展。
●第48题.某确定的