下半年上午 软件设计师 试题及答案与解析软考考试真题基础知识.docx
《下半年上午 软件设计师 试题及答案与解析软考考试真题基础知识.docx》由会员分享,可在线阅读,更多相关《下半年上午 软件设计师 试题及答案与解析软考考试真题基础知识.docx(41页珍藏版)》请在冰点文库上搜索。
下半年上午软件设计师试题及答案与解析软考考试真题基础知识
2017年下半年上午软件设计师
考试试题-答案与解析
一、单项选择题(共75分,每题1分。
每题备选项中,只有1个最符合题意)
●第1题.以下关于防火墙功能特性的叙述中,不正确的是
(1)。
A.控制进出网络的数据包和数据流向
B.提供流量信息的日志和审计
C.隐藏内部IP以及网络结构细节
D.提供漏洞扫描功能
【参考答案】D
【答案解析】一个防火墙(作为阻塞点、控制点)能极大地提高一个内部网络的安全性,并通过过滤不安全的服务而降低风险。
由于只有经过精心选择的应用协议才能通过防火墙,所以网络环境变得更安全。
如防火墙可以禁止诸如众所周知的不安全的NFS协议进出受保护网络,这样外部的攻击者就不可能利用这些脆弱的协议来攻击内部网络。
防火墙同时可以保护网络免受基于路由的攻击,如IP选项中的源路由攻击和ICMP重定向中的重定向路径。
防火墙应该可以拒绝所有以上类型攻击的报文并通知防火墙管理员。
强化网络安全策略
监控网络存取和访问
如果所有的访问都经过防火墙,那么,防火墙就能记录下这些访问并作出日志记录,
防止内部信息的外泄
●第2题.在程序执行过程中,Cache与主存的地址映射是由
(2)完成的。
A.操作系统
B.程序员调度
C.硬件自动
D.用户软件
【参考答案】C
【答案解析】对于Cache,即高速缓存,是用来解决主存与CPU速度不匹配问题,Cache的出现使得CPU可以不直接访问主存而直接与高速Cache交换信息。
由于程序访问的局部性原理可以很容易设想只要将CPU近期要用到的程序和数据提前从主存送到Cache,那么就可以做到CPU在一定时间内只访问Cache,这样CPU与高速Cache进行通信,就大大提高了计算机的运行速度。
在Cache–主存的地址映射之前,首先要将主存与Cache都分成若干块,每块又包括若干个字,并使得它们的大小相同(即快内的字数相同)。
在划分好块后,下面要做的就是将主存块与Cache块形成映射就行了。
而这里的映射则是通过块的地址形成映射关系。
对于地址映射,首先将主存地址分成两块,高n1位为主存的快地址,低n2位为快内地址。
Cache同理也是这样划分。
这里我原来一直有一个误区,就是认为字块中存放的是数据地址,其实不然,字块中存放的就是真正使用的数据,只是映射时使用地址来映射。
在一切准备就绪后,就可以进行映射了,下面开始本篇博文的正文。
Cache–主存的地址映射方式有很多,有直接映射,全相联映射,组相联映射。
●第3题.某四级指令流水线分别完成取指、取数、运算、保存结果四步操作。
若完成上述操作的时间依次为8ns、9ns、4ns、8ns,则该流水线的操作周期应至少为(3)ns。
A.4
B.8
C.9
D.33
【参考答案】C
【答案解析】流水线周期即为执行时间最慢的子任务的执行时间。
●第4题.内存按字节编址。
若用存储容量为32Kx8bit的存储器芯片构成地址从AOOOOH到DFFFFH的内存,则至少需要(4)片芯片。
A.4
B.8
C.16
D.32
【参考答案】B
【答案解析】此题的解题思路是先计算出地址编号AOOOOH至DFFFFH的内存空间大小,然后用空间大小,除以芯片容量,得到芯片数量。
这个操作过程中,运算单位以及数制的一致性特别需要注意,在进行运算之前,一定得把单位化成相同的。
下面是具体的运算过程:
DFFFFH-AOOOOH+1=40000H,化为十进制为:
218。
由于内存是按字节编址,所以空间大小应为:
28KB,即256KB,32K×8比特的芯片即32K×1字节的芯片,所以256KB/32KB=8。
●第5题.计算机系统的主存主要是由(5)构成的。
A.DRAM
B.SRAM
C.Cache
D.EEPROM
【参考答案】A
【答案解析】DRAM:
动态随机存取存储器;SRAM:
静态随机存取存储器;Cache:
高速缓存;EEPROM:
电可擦可编程只读存储器
●第6题.以下关于海明码的叙述中,正确的是(6)。
A.海明码利用奇偶性进行检错和纠错
B.海明码的码距为1
C.海明码可以检错但不能纠错
D.海明码中数据位的长度与校验位的长度必须相同
【参考答案】A
【答案解析】汉明码(HammingCode),是在电信领域的一种线性调试码,以发明者理查德·卫斯里·汉明的名字命名。
汉明码在传输的消息流中插入验证码,当计算机存储或移动数据时,可能会产生数据位错误,以侦测并更正单一比特错误。
由于汉明编码简单,它们被广泛应用于内存(RAM)。
与其他的错误校验码类似,汉明码也利用了奇偶校验位的概念,通过在数据位后面增加一些比特,可以验证数据的有效性。
利用一个以上的校验位,汉明码不仅可以验证数据是否有效,还能在数据出错的情况下指明错误位置。
在接受端通过纠错译码自动纠正传输中的差错来实现码纠错功能,称为前向纠错FEC。
在数据链路中存在大量噪音时,FEC可以增加数据吞吐量。
通过在传输码列中加入冗余位(也称纠错位)可以实现前向纠错。
但这种方法比简单重传协议的成本要高。
汉明码利用奇偶块机制降低了前向纠错的成本。
如果一条信息中包含更多用于纠错的位,且通过妥善安排这些纠错位使得不同的出错位产生不同的错误结果,那么我们就可以找出出错位了。
在一个7位的信息中,单个位出错有7种可能,因此3个错误控制位就足以确定是否出错及哪一位出错了。
汉明码SECDED(singleerrorcorrection,doubleerrordetection)版本另外加入一检测比特,可以侦测两个或以下同时发生的比特错误,并能够更正单一比特的错误。
因此,当发送端与接收端的比特样式的汉明距离(Hammingdistance)小于或等于1时(仅有1bit发生错误),可实现可靠的通信。
相对的,简单的奇偶检验码除了不能纠正错误之外,也只能侦测出奇数个的错误。
奇偶校验是一种添加一个奇偶位用来指示之前的数据中包含有奇数还是偶数个1的检验方式。
如果在传输的过程中,有奇数个位发生了改变,那么这个错误将被检测出来(注意奇偶位本身也可能改变)。
一般来说,如果数据中包含有奇数个1的话,则将奇偶位设定为1;反之,如果数据中有偶数个1的话,则将奇偶位设定为0。
换句话说,原始数据和奇偶位组成的新数据中,将总共包含偶数个1.奇偶校验并不总是有效,如果数据中有偶数个位发生变化,则奇偶位仍将是正确的,因此不能检测出错误。
而且,即使奇偶校验检测出了错误,它也不能指出哪一位出现了错误,从而难以进行更正。
数据必须整体丢弃并且重新传输。
在一个噪音较大的媒介中,成功传输数据可能需要很长时间甚至不可能完成。
虽然奇偶校验的效果不佳,但是由于他只需要一位额外的空间开销,因此这是开销最小的检测方式。
并且,如果知道了发生错误的位,奇偶校验还可以恢复数据。
如果一条信息中包含更多用于纠错的位,且通过妥善安排这些纠错位使得不同的出错位产生不同的错误结果,那么我们就可以找出出错位了。
在一个7位的信息中,单个数据位出错有7种可能,因此3个错误控制位就足以确定是否出错及哪一位出错了
●第7题.计算机运行过程中,CPU需要与外设进行数据交换。
采用(7)控制技术时,CPU与外设可并行工作。
A.程序查询方式和中断方式
B.中断方式和DMA方式
C.程序查询方式和DMA方式
D.程序查询方式、中断方式和DMA方式
【参考答案】B
【答案解析】程序查询方式是通过CPU执行程序来查询状态的。
●第8、9题.与HTTP相比,HTTPS协议对传输的内容进行加密,更加安全。
HTTPS基于(8)安全协议,其默认端口是(9)。
(8)
A.RSA
B.DES
C.SSL
D.SSH
(9)
A.1023
B.443
C.80
D.8080
【参考答案】(8)C、(9)B
【答案解析】HTTPS(全称:
HyperTextTransferProtocoloverSecureSocketLayer或HypertextTransferProtocolSecure,超文本传输安全协议),是以安全为目标的HTTP通道,简单讲是HTTP的安全版。
即HTTP下加入SSL层,HTTPS的安全基础是SSL,因此加密的详细内容就需要SSL。
它是一个URIscheme(抽象标识符体系),句法类同http:
体系。
用于安全的HTTP数据传输。
https:
URL表明它使用了HTTP,但HTTPS存在不同于HTTP的默认端口及一个加密/身份验证层(在HTTP与TCP之间)。
这个系统的最初研发由网景公司(Netscape)进行,并内置于其浏览器NetscapeNavigator中,提供了身份验证与加密通讯方法。
现在它被广泛用于万维网上安全敏感的通讯,例如交易支付方面
http和https使用的是完全不同的连接方式,用的端口也不一样,前者是80,后者是443。
●第10题.下列攻击行为中,属于典型被动攻击的是(10)。
A.拒绝服务攻击
B.会话拦截
C.系统干涉
D.修改数据命令
【参考答案】C
【答案解析】被动攻击主要是收集信息而不是进行访问,数据的合法用户对这种活动一点也不会觉察到。
被动攻击包括嗅探、信息收集等攻击方法。
窃听、监听都具有被动攻击的本性,攻击者的目的是获取正在传输的信息。
被动攻击包括传输报文内容的泄露和通信流量分析。
报文内容的泄露易于理解,一次电话通信、一份电子邮件报文、正在传送的文件都可能包含敏感信息或秘密信息。
为此要防止对手获悉这些传输的内容。
通信流量分析的攻击较难捉摸。
假如有一个方法可屏蔽报文内容或其他信息通信,那么即使这些内容被截获,也无法从这些报文中获得信息。
最常用的屏蔽内容技术是加密。
然而即使用加密保护内容,攻击者仍有可能观察到这些传输的报文形式。
攻击者可能确定通信主机的位置和标识,也可能观察到正在交换的报文频度和长度。
而这些信息对猜测正在发生的通信特性是有用的。
对被动攻击的检测十分困难,因为攻击并不涉及数据的任何改变。
然而阻止这些攻击的成功是可行的,因此,对被动攻击强调的是阻止而不是检测。
●第11题.第11题.(11)不属于入侵检测技术。
A.专家系统
B.模型检测
C.简单匹配
D.漏洞扫描
【参考答案】D
【答案解析】漏洞扫描为另一种安全防护策略。
方法有很多,如基于专家系统入侵检测方法、基于神经网络的入侵检测方法等。
目前一些入侵检测系统在应用层入侵检测中已有实现。
入侵检测通过执行以下任务来实现:
1.监视、分析用户及系统活动;
2.系统构造和弱点的审计;
3.识别反映已知进攻的活动模式并向相关人士报警;
4.异常行为模式的统计分析;
5.评估重要系统和数据文件的完整性;
6.操作系统的审计跟踪管理,并识别用户违反安全策略的行为。
●第12题.某软件公司项目组的程序员在程序编写完成后均按公司规定撰写文档,并上交公司存档。
此情形下,该软件文档著作权应由(12)享有。
A.程序员
B.公司与项目组共同
C.公司
D.项目组全体人员
【参考答案】C
【答案解析】属于职务作品。
●第13题.我国商标法规定了申请注册的商标不得使用的文字和图形,其中包括县级以上行政区的地名(文字)。
以下商标注册申请,经审查,能获准注册的商标是(13)。
A.青岛(市)
B.黄山(市)
C.海口(市)
D.长沙(市)
【参考答案】A
【答案解析】暂无
●第14题.李某购买了一张有注册商标的应用软件光盘,则李某享有(14)。
A.注册商标专用权
B.该光盘的所有权
C.该软件的著作权
D.该软件的所有权
【参考答案】B
【答案解析】自然科学、社会科学以及文学、音乐、戏剧、绘画、雕塑、摄影和电影摄影等方面的作品组成版权。
版权是法律上规定的某一单位或个人对某项著作享有印刷出版和销售的权利,任何人要复制、翻译、改编或演出等均需要得到版权所有人的许可,否则就是对他人权利的侵权行为。
知识产权的实质是把人类的智力成果作为财产来看待。
著作权是文学、艺术、科学技术作品的原创作者,依法对其作品所享有的一种民事权利。
在中国,著作权用在广义时,包括(狭义的)著作权、著作邻接权、计算机软件著作权等,属于著作权法规定的范围。
这是著作权人对著作物(作品)独占利用的排他的权利。
狭义的著作权又分为发表权、署名权、修改权、保护作品完整权、使用权和获得报酬权(著作权法第10条)。
著作权分为著作人身权和著作财产权。
著作权与专利权、商标权有时有交叉情形,这是知识产权的一个特点。
●第15、16题.某医院预约系统的部分需求为:
患者可以查看医院发布的专家特长介绍及其就诊时间:
系统记录患者信息,患者预约特定时间就诊。
用DFD对其进行功能建模时,患者是(15);用ERD对其进行数据建模时,患者是(16)。
(15)
A.外部实体
B.加工
C.数据流
D.数据存储
(16)
A.实体
B.属性
C.联系
D.弱实体
【参考答案】(15)A、(16)A
【答案解析】
●第17、18题.某软件项目的活动图如下图所示,其中顶点表示项目里程碑,链接顶点的边表示包含的活动,变色数字表示活动的持续时间(天)。
完成该项目的最少时间为(17)天。
由于某种原因,现在需要同一个开发人员完成BC和BD,则完成该项目的最少时间为(18)天。
(17)
A.11
B.18
C.20
D.21
(18)
A.11
B.18
C.20
D.21
【参考答案】(17)B、(18)D
【答案解析】(17)关键路径为ABCEFJ和ABDGFJ18天
(18)BC持续时间3天,BD持续时间2天,由一天完成,则可以把BC持续时间作为5天,BD持续时间也为5天,则关键路径为ABDGFJ,21天
●第19题.某企业财务系统的需求中,属于功能需求的是(19)。
A.每个月特定的时间发放员工工资
B.系统的响应时间不超过3秒
C.系统的计算精度符合财务规则的要求
D.系统可以允许100个用户同事查询自己的工资
【参考答案】A
【答案解析】功能需求;将用户需求归类分解为计算机可以实现的子系统和功能模块,用设计语言描述和解释用户的需求,以达到可以指导程序设计的目的。
●第20题.更适合用来开发操作系统的编程语言是(20)。
A.C/C++
B.Java
C.Python
D.JavaScript
【参考答案】A
【答案解析】C和C++仍然是ConstrainedDevice的首选语言,而且开发人员通常会使用多种语言,因为总数已超过100%。
●第21题.以下关于程序设计语言的叙述中,不正确的是(21)。
A.脚本语言中不使用变量和函数
B.标记语言常用于描述格式化和链接
C.脚本语言采用解释方式实现
D.编译型语言的执行效率更高
【参考答案】A
【答案解析】基本知识点
●第22题.将高级语言源程序通过编译或解释方式进行翻译时,可以先生成与源程序等价的某种中间代码。
以下关于中间代码的叙途中,正确的是(22)。
A.中间代码常采用符号表来表示
B.后缀式和三地址码是常用的中间代码
C.对中间代码进行优化要依据运行程序的机器特性
D.中间代码不能跨平台
【参考答案】A
【答案解析】
●第23题.计算机系统的层次结构如下圈所示,基于硬件之上的软件可分为a、b和c三个层次。
图中a、b和c分别表示(23)。
A.操作系统、系统软件和应用软件
B.操作系统、应用软件和系统软件
C.应用软件、系统软件和操作系统
D.应用软件、操作系统和系统软件
【参考答案】C
【答案解析】系统软件开发人员开发操作系统和系统软件。
应用软件开发人员开发应用软件。
●第24、25题.下图所示的PCB(进程控制块)的组织方式是(24),图中(25)。
(24)
A.链接方式
B.索引方式
C.顺序方式
D.Hash
(25)
A.有1个运行进程、2个就绪进程、4个阻塞进程
B.有1个运行进程、2个就绪进程、4个阻塞进程
C.有1个运行进程、3个就绪进程、3个阻塞进程
D.有1个运行进程、4个就绪进程、2个阻塞进程
【参考答案】(24)B、(25)C
【答案解析】PCB中记录了操作系统所需的,用于描述进程的当前情况以及控制进程运行的全部信息。
PCB的作用是使一个在多道程序环境下不能独立运行的程序(含数据),成为一个能独立运行的基本单位,一个能与其他进程并发执行的进程。
或者说,OS是根据PCB来对并发执行的进程进行控制和管理的。
例如,当OS要调度某进程执行时,要从该进程的PCB中查处其现行状态及优先级;在调度到某进程后,要根据其PCB中所保存的处理机状态信息,设置该进程恢复运行的现场,并根据其PCB中的程序和数据的内存始址,找到其程序和数据;进程在执行过程中,当需要和与之合作的进程实现同步,通信或者访问文件时,也都需要访问PCB;当进程由于某种原因而暂停执行时,又须将器断点的处理机环境保存在PCB中。
可见,在进程的整个生命期中,系统总是通过PCB对进程进行控制的,即系统是根据进程的PCB而不是任何别的什么而感知到该进程的存在的。
所以说,PCB是进程存在的唯一标志。
PCB一般包括:
1.程序ID(PID、进程句柄):
它是唯一的,一个进程都必须对应一个PID。
PID一般是整形数字
2.特征信息:
一般分系统进程、用户进程、或者内核进程等
3.进程状态:
运行、就绪、阻塞,表示进程现的运行情况
4.优先级:
表示获得CPU控制权的优先级大小
5.通信信息:
进程之间的通信关系的反映,由于操作系统会提供通信信道
6.现场保护区:
保护阻塞的进程用
7.资源需求、分配控制信息
8.进程实体信息,指明程序路径和名称,进程数据在物理内存还是在交换分区(分页)中
9.其他信息:
工作单位,工作区,文件信息等[1]
●第26题.某文件系统采用多级索引结构。
若磁盘块的大小为1K字节,每个块号占3字节,那么采用二级索引时的文件最大长度为(26)字节。
A.1024
B.2048
C.116281
D.232562
【参考答案】C
【答案解析】一级文件索引(直接索引)结构中:
在文件目录表项中有一组表项用于索引,每一个表项登记的是逻辑记录所在的磁盘块号。
逻辑记录与磁盘块号的大小相等,都为512B。
二级文件索引(一级间接索引)结构中:
文件目录中有一组表项,其内容登记的是第一级索引表块的块号。
第一级索引表块中的索引表登记的是文件逻辑记录所在的磁盘块号。
补充:
三级文件索引(二级间接索引)结构中:
文件目录项中有一组表项,其内容登记的是第二级索引表块的块号。
第二级索引表块中的索引表项登记的是第一级索引表块的块号,第一级索引表项中登记的是文件逻辑记录所在的磁盘块号。
●第27、28题.某操作系统采用分页存储管理方式,下图给出了进程A和进程B的页表结构。
如果物理页的大小为1K字节,那么进程A中逻辑地址为1024(十进制)用变量存放在(27)号物理内存页中。
假设进程A的逻辑页4与进程B的逻辑页5要共享物理页4,那么应该在进程A页表的逻辑页4和进程B页表的逻辑页5对应的物理页处分别填(28)。
(27)
A.8
B.3
C.5
D.2
(28)
A.4、4
B.4、5
C.5、4
D.5、5
【参考答案】(27)B、(28)A
【答案解析】
●第29、30题.用白盒测试方法对如下图所示的流程图进行测试。
若要满足分支覆盖,则至少要(29)个测试用例,正确的测试用例对是(30)(测试用例的格式为(A,B,X;X))。
(29)
A.1
B.2
C.3
D.4
(30)
A.(1,3,3;3)和(5,2,15;3)
B.(1,1,5;5)和(5,2,20;9)
C.(2,3,10;5)和(5,2,18;3)
D.(5,2,16;3)和(5,2,21;9)
【参考答案】(29)B、(30)D
【答案解析】白盒测试的测试方法有代码检查法、静态结构分析法、静态质量度量法、逻辑覆盖法、基本路径测试法、域测试、符号测试、路径覆盖和程序变异。
白盒测试法的覆盖标准有逻辑覆盖、循环覆盖和基本路径测试。
其中逻辑覆盖包括语句覆盖、判定覆盖、条件覆盖、判定/条件覆盖、条件组合覆盖和路径覆盖。
六种覆盖标准发现错误的能力呈由弱到强的变化:
1.语句覆盖每条语句至少执行一次。
2.判定覆盖每个判定的每个分支至少执行一次。
3.条件覆盖每个判定的每个条件应取到各种可能的值。
4.判定/条件覆盖同时满足判定覆盖条件覆盖。
5.条件组合覆盖每个判定中各条件的每一种组合至少出现一次。
6.路径覆盖使程序中每一条可能的路径至少执行一次。
●第31题.配置管理贯穿软件开发的整个过程。
以下内容中,不属于配置管理的是(31)。
A.版本控制
B.风险管理
C.变更管理
D.配置状态报告
【参考答案】B
【答案解析】软件配置管理,贯穿于整个软件生命周期,它为软件研发提供了一套管理办法和活动原则。
软件配置管理无论是对于软件企业管理人员还是研发人员都有着重要的意义。
软件配置管理可以提炼为三个方面的内容:
VersionControl-版本控制;
ChangeControl-变更控制;
ProcessSupport-过程支持。
●第32题.极限编程(XP)的十二个最佳实践不包括(32)。
A.小的发布
B.结对编程
C.持续集成
D.精心设计
【参考答案】D
【答案解析】现场客户(On-siteCustomer)
代码规范(CodeStandards)
每周40小时工作制(40-hourWeek)
计划博弈(PlanningGame):
要求结合项目进展和技术情况,确定下一阶段要开发与发布的系统范围。
系统隐喻(SystemMetaphor):
通过隐喻来描述系统如何运作、新的功能以何种方式加入到系统。
它通常包含了一些可以参照和比较的类和设计模式。
简单设计(SimpleDesign)
测试驱动(Test-driven)
代码重构(Refactoring)
代码重构是指在不改变系统行为的前提下,重新调整、优化系统的内部结构以减少复杂性、消除冗余、增加灵活性和提高性能。
成对编程(PairProgramming)
XP
认为开发小组的每个成员都有更改代码的权利,所有的人对于全部代码负责。
持续集成(ContinuousIntegration)
提倡在一天中集成系统多次,而且随着需求的改变,要不断的进行回归测试。
小型发布(SmallRelease)
强调在非常短的周期内以递增的方式发布新版本,从而可以很容易地估计每个迭代周期的进度,便于控制工作量和风险;同时,也可以及时处理用户的反馈。
●第33题.以下关于管道过滤器体系结构的有点的叙述中,不正确的是(33)。
A.软件构件具有良好的高内聚、低藕合的特点
B.支持重用
C.支持并行执行
D.提高性能
【参考答案】C
【答案解析】管道过滤器不支持批处理和并发操作。
●第34题.模块A将学生信息,即学生姓名、学号、手机号等放到一个结构体中,传递给模块B。
模块A和B之间的藕合类型为(34)藕合。
A.数据
B.标记
C.控制
D.内容
【参考答案】A
【答案解析】一般模块之间可能的连接方式有七种,构成耦合性的七种类型。
它们之间的关系为(耦合性性由强到弱):
内容耦合(ContentCoupling)
如果发生下列情形,两个模块之间就发生了内容耦合。
一个模块直接访问另