2021年下半年软件设计师考试评估解析

上午

题目:以下关于PCI总线和SCSI总线的叙述中,正确的是(  )。 
选项:[{"A":"PCI总线是串行外总线,SCSI 总线是并行内总线","B":"PCI总线是串行内总线,SCSI总线是串行外总线","C":"PCI总线 是并行内总线,SCSI 总线是串行内总线","D":"PCI总线是并行内总线, SCSI 总线是并行外总线"}]
答案:[['D']]
解析:属于常见总线的分类:PCI总线:是目前微型机上广泛采用的内总线,采用并行传输方式。SCSI总线:小型计算机系统接口时一条并行外总线,广泛用于连接软硬磁盘、光盘、扫描仪等。

题目:以下关于中断方式与DMA方式的叙述中,正确的是(  )。 
选项:[{"A":"中断方式与DMA方式都可实现外设与CPU之间的并行在工作","B":"程序中断方式和DMA方式在数据传输过程中都不需要CPU的干预","C":"采用DMA方式传输数据的速度比程序中断方式的速度慢","D":"程序中断方式和DMA方式都不需要CPU保护现场"}]
答案:[['A']]
解析:输入/输出技术的三种方式:直接查询控制:有无条件传送和程序查询方式,都需要通过CPU执行程序来查询外设的状态,判断外设是否准备好接收数据或准备好了向CPU输入的数据。在这种情况下CPU不做别的事情,只是不停地对外设的状态进行查询。中断方式:当I/O系统与外设交换数据时,CPU无须等待也不必查询I/O的状态,而可以抽身来处理其他任务。当I/O系统准备好以后,则发出中断请求信号通知CPU,CPU接到中断请求信号后,保存正在执行的程序的现场,转入I/O中断服务程序的执行,完成于I/O系统的数据交换,然后再返回被打断的程序继续执行。与程序控制方式相比,中断方式因为CPU无需等待而提高了效率。DMA:直接寄存器存取方式,是指数据在内存与I/O设备间的直接成块传送,即在内存与I/O设备间传送一个数据块的过程中,不需要CPU的任何干涉,只需要CPU正在过程开始启动与过程结束时的处理,实际操作由DMA硬件直接执行完成。

题目:中断向量提供(  )。 
选项:[{"A":"被选中设备的地址","B":"待传送数据的起始地址","C":"中断服务程序入口地址","D":"主程序的断点地址"}]
答案:[['C']]
解析:属于输入输出技术的中断方式:中断向量表:中断向量表用来保存各个中断源的中断服务程序的入口地址。当外设发出中断请求信号以后,由中断控制器确定其中断号,并根据中断号查找中断向量表来取得其中断服务程序的入口地址,同时INTC把中断请求信号提交给CPU。

题目:以下可以有效防治计算机病毒的策略是(  )。 
选项:[{"A":"部署防火墙","B":"部署入侵检测系统","C":"安装并及时升级防病毒软件","D":"定期备份数据文件"}]
答案:[['C']]
解析:部署防火墙:防火墙技术是通过有机结合各类用于安全管理与筛选的软件和硬件设备,帮助计算机网络于其内、外网之间构建一道相对隔绝的保护屏障,以保护用户资料与信息安全性的一种技术,并不能有效的防范病毒。部署入侵检测系统:入侵检测系统(intrusion detection system,简称“IDS”)是一种对网络传输进行即时监视,在发现可疑传输时发出警报或者采取主动反应措施的网络安全设备。是对一种网络传输的监视技术,并不能有效的防范病毒。安装并及时升级防病毒软件:针对于防病毒软件本身就是防范病毒最有效最直接的方式。定期备份数据文件:数据备份是容灾的基础,是指为防止系统出现操作失误或系统故障导致数据丢失,而将全部或部分数据集合从应用主机的硬盘或阵列复制到其它的存储介质的过程。是为了防止系统数据流失,不能有效的防范病毒。

题目:计算机指令系统采用多种寻址方式。立即寻址是指操作数包含在指令中,寄存器寻址是指操作数在寄存器中,直接寻址是指操作数的地址在指令中。这三种寻址方式操作数的速度(  )。 
选项:[{"A":"立即寻址最快,寄存器寻址次之,直接寻址最慢","B":"寄存器寻址最快,立即寻址次之,直接寻址最慢","C":"直接寻址最快, 寄存器寻址次之,立即寻址最慢","D":"寄存器寻址最快,直接寻址次之,立即寻址最慢"}]
答案:[['A']]
解析:有关于寻址方式查询速度:立即寻址是操作数直接在指令中,速度是最快的;寄存器寻址是将操作数存放在寄存器中,速度中间;直接寻址方式是指令中存放操作数的地址,速度最慢。

题目:(  )是一种需要通过周期性刷新来保持数据的存储器件。 
选项:[{"A":"SRAM","B":"DRAM","C":"FLASH","D":"EEPROM"}]
答案:[['B']]
解析:DRAM:动态随机存取器存储器,又叫主存,是与CPU直接交换数据的内部存储器。它可以随时读写(刷新时除外),而且速度很快,通常作为操作系统或其他正在运行中的程序的临时数据存储媒介,通过周期性刷新来保持数据的存储器件,断点丢失。SRAM:静态随机存取器存储器,静态随机存取存储器是随机存取存储器的一种。所谓的“静态”,是指这种存储器只要保持通电,里面储存的数据就可以恒常保持,断电不丢失。FLASH:闪存,特性介于EPROM和EEPROM之间,类似于EEPROM,也可以使用电信号进行信息的擦除操作。整块闪存可以在数秒内删除。EEPROM:电擦除可编程的只读存储器,于EPROM相似,EEPROM中的内容既可以读出,也可以进行改写。

题目:某种机器的浮点数表示格式如下(允许非规格化表示)。若阶码以补码表示,尾数以原码表示,则1 0001 0 0000000001表示的浮点数是() 
选项:[{"A":"2-16×2-10","B":"2-15×2-10","C":"2-16× (1-2-10)","D":"2-15× (1-2-10)"}]
答案:[['B']]
解析:考查对于浮点数表示。浮点数表示:N=尾数*基数^指数其中尾数是用原码表示,是一个小数,通过表格和题干可知, 0 0000000001是尾数部分,共计后11位,其中第1位为0表示正数,展开得2-10阶码部分是用补码表示,是一个整数,通过表格和题干可知,1 0001是整数部分,共计前5位,要计算其具体数值需要将其转换成原码,通过第1位符号位1可知其为负数,补码:10001  ,反码:10000    原码:11111,数据为-15,基数在浮点数表示为2,可得2-15×2-10

题目:AES是一种()算法。 
选项:[{"A":"公钥加密","B":"流密码","C":"分组加密","D":"消息摘要"}]
答案:[['C']]
解析:AES是一个迭代的、对称密钥分组的密码,它可以使用128、192和256位密钥。并且使用128位分组加密和解密数据。

题目:下列不能用于远程登录或控制的是(  )。 
选项:[{"A":"IGMP","B":"SSH","C":"Telnet","D":"RFB"}]
答案:[['A']]
解析:IGMP:属于网络的组播协议,不能实现相关应用层的远程登录。SSH:SSH 为建立在应用层基础上的安全协议。SSH 是较可靠,专为远程登录会话和其他网络服务提供安全性的协议。Telnet:Telnet协议是TCP/IP协议族中的一员,是Internet远程登录服务的标准协议和主要方式。它为用户提供了在本地计算机上完成远程主机工作的能力。在终端使用者的电脑上使用telnet程序,用它连接到服务器。RFB:RFB ( Remote Frame Buffer 远程帧缓冲) 协议是一个用于远程访问图形用户界面的简单协议。由于 RFB 协议工作在帧缓冲层,因此它适用于所有的窗口系统和应用程序。

题目:包过滤防火墙对()的数据报文进行检查。 
选项:[{"A":"应用层","B":"物理层","C":"网络层","D":"链路层"}]
答案:[['C']]
解析:考查包过滤防火墙的工作原理。包过滤防火墙是最简单的一种防火墙,它在网络层截获网络数据包,根据防火墙的规则表,来检测攻击行为。包过滤防火墙一般作用在网络层(IP层),故也称网络层防火墙(Network Lev Firewall)或IP过滤器(IP filters)。数据包过滤(Packet Filtering)是指在网络层对数据包进行分析、选择。通过检查数据流中每一个数据包的源IP地址、目的IP地址、源端口号、目的端口号、协议类型等因素或它们的组合来确定是否允许该数据包通过。在网络层提供较低级别的安全防护和控制。

题目:防火墙通常分为内网、外网和DMZ三个区域,按照受保护程度,从低到高正确的排列次序为() 
选项:[{"A":"内网、外网和DMZ","B":"外网、 DMZ和内网","C":"DMZ、内网和外网","D":"内网、DMZ和外网"}]
答案:[['B']]
解析:考查应用级关于屏蔽子网的防火墙。在一个用路由器连接的局域网中,我们可以将网络划分为三个区域:安全级别最高的LAN Area(内网),安全级别中等的DMZ区域和安全级别最低的Internet区域(外网)。三个区域因担负不同的任务而拥有不同的访问策略。我们在配置一个拥有DMZ区的网络的时候通常定义以下的访问控制策略以实现DMZ区的屏障功能。

题目:()是 构成我国保护计算机软件著作权的两个基本法律文件。 
选项:[{"A":"《计算机软件保护条例》和《软件法》","B":"《中华人民共和国著作权法》和《软件法》","C":"《中华人民共和国著作权法》和《计算机软件保护条例》","D":"《中华人民共和国版权法》和《中华人民共和国著作权法》"}]
答案:[['C']]
解析:考查知识产权的保护范围和对象。对于软件著作权和软件作品受到《中华人民共和国著作权法》和《计算机软件保护条例》两个文件的保护

题目:X公司接受Y公司的委托开发了一款应用软件,双方没有订立任何书面合同。在此情形下,()享有该软件的著作权。 
选项:[{"A":"X、Y公司共同","B":"X公司","C":"Y公司","D":"X、Y公司均不"}]
答案:[['B']]
解析:考查委托开发的情况。有合同约定,著作权归委托方,那么就归属委托方;而在合同中未约定著作权归属,归创作方。对于题干描述说明未签订书面合同,则该著作权归创作方,(X公司接受Y公司的委托),即创作方X公司。

题目:广大公司(经销商)擅自复制并销售恭大公司开发的OA软件已构成侵权。鸿达公司在不知情时从广大公司(经销商)处购入该软件并已安装使用,在鸿达公司知道了所使用的软件为侵权复制的情形下其使用行为() 
选项:[{"A":"侵权, 支付合理费用后可以继续使用该软件","B":"侵权, 须承担赔偿责任","C":"不侵权,可继续使用该软件","D":"不侵权, 不需承担任何法律责任"}]
答案:[['A']]
解析:本题考查知识产权。我国计算机软件保护条例第30条规定“软件的复制品持有人不知道也没有合理理由应当知道该软件是侵权复制品的,不承担赔偿责任;但是,应当停止使用、销毁该侵权复制品。如果停止使用并销毁该侵权复制品将给复制品使用人造成重大损失的,复制品使用人可以在向软件著作权人支付合理费用后继续使用。”鸿达公司在获得软件复制品的形式上是合法的(向经销商购买),但是由于其没有得到真正软件权利人的授权,其取得的复制品仍是非法的,所以鸿达公司的使用行为属于侵权行为。鸿达公司应当承担的法律责任种类和划分根据主观状态来确定。首先,法律确立了软件著作权人的权利进行绝对的保护原则,即软件复制品持有人不知道也没有合理理由应当知道该软件是侵权复制品的,也必须承担停止侵害的法律责任,只是在停止使用并销毁该侵权复制品将给复制品使用人造成重大损失的情况下,软件复制品使用人可继续使用,但前提是必须向软件著作权人支付合理费用。其次,如果软件复制品持有人能够证明自己确实不知道并且也没有合理理由应当知道该软件是侵权复制品的,软件复制品持有人除承担停止侵害外,不承担赔偿责任。软件复制品持有人一旦知道了所使用的软件为侵权复制品时,应当履行停止使用、销毁该软件的义务。不履行该义务,软件著作权人可以诉请法院判决停止使用并销毁侵权软件。如果软件复制品持有人在知道所持有软件是非法复制品后继续使用给权利人造成损失的,应该承担赔偿责任。

题目:绘制分层数据流图(DFD)时需要注意的问题中,不包括()。 
选项:[{"A":"给图中的每个数据流、加工、数据存储和外部实体命名","B":"图中要表示出控制流","C":"一个加工不适合有过多的数据流","D":"分解尽可能均匀"}]
答案:[['B']]
解析:绘制分层数据流图,应该严格遵循父子图平衡原则。这就规定了不能出现黑洞、灰洞和奇迹的三种状况,分解子图尽可能细致一些。所以对于:给图中的每个数据流、加工、数据存储和外部实体命名、一个加工不适合有过多的数据流、分解尽可能均匀都是需要注意的。仅有B选项表示图中要表示出控制流不符合,在分层数据流图并没有强调过需要表示出控制流。

题目:以下关于软件设计原则的叙述中,不正确的是(  )。 
选项:[{"A":"将系统划分为相对独立的模块","B":"模块之间的耦合尽可能小","C":"模块规模越小越好","D":"模块的扇入系数和扇出系数合理"}]
答案:[['C']]
解析:考查关于软件设计原则。软件设计原则始终强调高内聚、低耦合的设计原则。具体包括:保持模块的大小适中尽可能减少调用的深度多扇入,少扇出。单入口,单出口模块的作用域应该在模块之内功能应该是可以被预测的。综上所述,仅有B选项模块之间的耦合尽可能小是不符合设计原则的。

题目:在风险管理中,通常需要进行风险监测,其目的不包括(  )。 
选项:[{"A":"消除风险","B":"评估所预测的风险是否发生","C":"保证正确实施了风险缓解步骤","D":"收集用于后续进行风险分析的信息"}]
答案:[['A']]
解析:风险监测主要是对风险进行预测,评估,收集相关的信息,用来防止风险,从而做好相关的防范措施。对于评估所预测的风险是否发生、保证正确实施了风险缓解步骤、收集用于后续进行风险分析的信息都是风险监测的目的至于A选项消除风险,风险是无法被消除掉的,只能尽量避免。

题目:下图是一个软件项目的活动图,其中顶点表示项目里程碑,连接顶点的边表示活动,边上的权重表示完成该活动所需要的时间(天),则活动(  )不在关键路径上。活动BI和EG的松弛时间分别是(  )。 
选项:[{"A":"BD","B":"BI","C":"GH","D":"KL"},{"A":"0和1","B":"1和0","C":"0和2","D":"2和0"}]
答案:[['B'],['B']]
解析:考查项目管理计算问题。对于关键路径有两条分别是:ABDIJKL和AEGHKL两条关键路径,长度为20.针对第一问,不在关键路径上的活动是BI,其余的BD,GH,KL都在关键路径上。针对第二问,要求BI和EG的松弛时间,BI活动通过的路径有两条ABIJKL和ABIJL,其中两条路径的长度都为19,(如果有两条不同的路径应该选择最大的一条),用关键路径减去该路径的长度20-19=1,表示该活动的松弛时间。活动EG位于该关键路径AEGHKL上,没办法延误,即松弛时间为0

题目:下图所示的二叉树表示的算术表达式是(  )(其中的*、/、一表示乘、除、减运算)。 
选项:[{"A":"a*b/c- d","B":"a*b/(c-d)","C":"a*(b/c- d)","D":"a*(b-c/d)"}]
答案:[['C']]
解析:本题考查算术表达式相关问题。算术表达式与树的中缀表达式类似,按照左根右的顺序,其中在算术表达式中符号位表示根。根据该二叉树的表示,我们可以得知*为该树的总根,将左子树和右子树分隔开来。左边部分是a,右边部分是以-作为右子树的总根,左边是b/c,右边是d综合得出算术表达式应该为a*(b/c-d)

题目:对高级程序语言进行编译的过程中,使用(  )来记录源程序中各个符号的必要信息,以辅助语义的正确性检查和代码生成。 
选项:[{"A":"决策表","B":"符号表","C":"广义表","D":"索引表."}]
答案:[['B']]
解析:考查分析语义分析阶段相关问题。语义分析阶段主要是分析各语法结构的含义,检查源程序是否包含静态语义错误,并收集类型信息提供后面的代码生成阶段使用。在确认源程序的语法和语义后,可以对其进行翻译并给出源程序的内部表示。对于声明语句,需要记录所遇到的符号的信息,所以应该进行符号表的填查工作,用来记录源程序中各个符号的必要信息,以辅助语义的正确性检查和代码生成。至于决策表是用于测试的,广义表是针对数据结构的表示,索引表是数据库中指示逻辑和物理记录对应的关系。

题目:下图所示为一个非确定有限自动机(NFA),S0为初态,S3为终态。该NFA识别的字符串(  )。 
选项:[{"A":"不能包含连续的字符“0”","B":"不能包含连续的字符“1”","C":"必须以“101”开头","D":"必须以“101”结尾"}]
答案:[['D']]
解析:本题考查NFA有限自动机相关问题。针对这类问题,可以采取找出对应反例的形式表示。S0是初态,S3是终态,识别出从S0为初态到S3为终态的路径。可以看到无论如何到达S3终态都需要经过S1-S2,即末尾必须存在”101“结尾的。对于A和B选项不能包含连续字符的”0“和1,我们可以看到在S0初态中,有1个字符串0和1自循环,是可以包含连续的”0“和”1“的,所以错误。对于C选项必须以“101”开头,说法错误,可以任意10的字符开头。

题目:在单处理机计算机系统中有1台打印机、1台扫描仪,系统采用先来先服务调度算法。假设系统中有进程P1、P2、P3、P4,其中P1为运行状态,P2为就绪状态,P3等待打印机,P4等待扫描仪。此时,若P1释放了扫描仪,则进程P1、P2、P3、P4的状态分别为()。 
选项:[{"A":"等待、 运行、等待、就绪","B":"运行、就绪、等待、就绪","C":"就绪、就绪、等待、运行","D":"就绪、运行、等待、就绪"}]
答案:[['B']]
解析:考查三态模型相关问题。在题干提示有相关进程P1,P2,P3,P4,两个资源打印机和扫描仪,三个状态:运行,就绪,等待。首先题干已经明确说明P1处于运行态,释放了扫描仪,此时P1还有打印机没有运行完成,应该仍处于运行状态。对于P2而言,单处理机计算机系统只允许拥有1个运行状态,P1此时还未运行完成,未分配对应的CPU,仍处于就绪态。对于P3而言,等待打印机,处于等待状态,此时没有关于打印机的资源释放,仍处于等待状态。对于P4而言,等待扫描仪,处于等待状态,有相关的扫描仪资源释放,应该得到相应的资源发生,从等待状态变成了就绪状态。

题目:进程P1、 P2、P3、P4、P5和P6的前趋图如下所示。用PV操作控制这6个进程之间同步与互斥的程序如下,程序中的空①和空②处应分别为(  )  ,空③和空④处应分别为(  )  , 空⑤和空⑥处应公别为(  ) 
选项:[{"A":"V(S1)和P(S2)P(S3)","B":"V(S1)和V(S2)V(S3)","C":"P(S1)和P(S2)V(S3)","D":"P(S1)和V(S2)V(S3)"},{"A":"V(S3)和P(S3)","B":"V(S4)和P(S3)","C":"P(S3)和P(S4)","D":"V(S4)和P(S4)"},{"A":"V(S6)和P(S5)","B":"V(S5)和P(S6)","C":"P(S5)和V(S6)","D":"P(S5)和V(S5)"}]
答案:[['D'],['B'],['A']]
解析:

题目:在磁盘上存储数据的排列方式会影响I/O服务的总时间。假设每个磁道被划分成10个物理块,每个物理块存放1个逻辑记录。逻辑记录R1,R2....R10存放在同一个磁道上,记录的排列顺序如下表所示:假定磁盘的旋转速度为10ms/周,磁头当前处在R1的开始处。若系统顺序处理这些记录,使用单缓冲区,每个记录处理时间为2ms,则处理这10个记录的最长时间为(  )?若对存储数据的排列顺序进行优化,处理10个记录的最少时间为(  )。 
选项:[{"A":"30ms","B":"60ms","C":"94ms","D":"102ms"},{"A":"30ms","B":"60ms","C":"102ms","D":"94ms"}]
答案:[['D'],['A']]
解析:

题目:以下关于增量模型优点的叙述中,不正确的是()。 
选项:[{"A":"强调开发阶段性早期计划","B":"第一个可交付版本所需要的时间少和成本低","C":"开发由增量表示的小系统所承担的风险小","D":"系统管理成本低、效率高、配置简单"}]
答案:[['D']]
解析:什么时候使用增量模型:当要求较高时。一个项目的开发进度很长。当软件团队不是非常熟练或训练有素时。当客户要求快速发布产品时。你可以先制定优先需求。增量模型的优点:错误很容易被识别。易于测试和调试更灵活。由于风险是在迭代过程中处理的, 因此易于管理。客户端尽早获得重要功能。

题目:以下关于敏捷统过程(AUP) .的叙述中,不正确的是()。 
选项:[{"A":"在大型任务上连续","B":"在小型活动.上迭代","C":"每一个不同的系统都需要一套不同的策略、约定和方法论","D":"采用经典的UP阶段性活动,即初始、精化、构建和转换"}]
答案:[['D']]
解析:

题目:在ISO/IEC软件质量模型中,可移植性是指与软件可从某环境行移到另一环境的能力有关的一组属性,其子特性不包括()。 
选项:[{"A":"适应性","B":"易测试性","C":"易安装性","D":"易替换性"}]
答案:[['B']]
解析:考查ISO/IEC的几大质量特性。可移植性包括:适应性、易安装性、一致性、易替换性。

题目:在软件开发过程中,系统测试阶段的测试目标来自于()阶段。 
选项:[{"A":"需求分析","B":"概要设计","C":"详细设计","D":"软件实现"}]
答案:[['A']]
解析:

题目:信息系统的文档是开发人员与用户交流的工具。在系统规划和系统分析阶段,用户与系统分析人员交流所使用的文档不包括()。 
选项:[{"A":"可行性研究报告","B":"总体规划报告","C":"项目开发计划","D":"用户使用手册"}]
答案:[['D']]
解析:

题目:系统可维护性是指维护人员理解、改正、改动和改进软件系统的难易程度,其评价指标不包括()。 
选项:[{"A":"可理解性","B":"可测试性","C":"可修改性","D":"一致性"}]
答案:[['D']]
解析:

题目:面向对象设计时包含的主要活动是()。 
选项:[{"A":"认定对象、组织对象、描述对象间的相互作用、确定对象的操作","B":"认定对象、定义属性、组织对象、确定对象的操作","C":"识别类及对象、确定对象的操作、描述对象间的相互作用、识别关系","D":"识别类及对象、定义属性、定义服务、识别关系识别包"}]
答案:[['D']]
解析:

题目:在面向对象设计时,如果重用了包中的一个类,那么就要重用包中的所有类,这属于()原则。 
选项:[{"A":"接口分离","B":"开放-封闭","C":"共同封闭","D":"共同重用"}]
答案:[['D']]
解析:

题目:某电商系统在采用面向对象方法进行设计时,识别出网店、商品、购物车、订单买家、库存、支付(微信、支付宝)第类。其中,购物车与商品之间适合采用(  )关系,网店与商品之间适合采用(  )关系。 
选项:[{"A":"关联","B":"依赖","C":"组合","D":"聚合"},{"A":"依赖","B":"关联","C":"组合","D":"聚合"}]
答案:[['B'],['D']]
解析:

题目:某软件系统限定:用户登录失败的次数不能超过3次。采用如所示的UML状态图对用户登录状态进行建模,假设活动状态是Logging in,那么当Valid Entrty发生时,(  )。 其中,[tries<3]和tries+ +分别为(  )和(  )。 
选项:[{"A":" 保持在Logging in状态","B":"若[tries<3]为true,则Logged in变为下一个活动状态","C":"Logged in立刻变为下一 个活动状态","D":"若tries=3为true,则Logging Denied变为下一个活动状态"},{"A":"状态","B":"转换","C":"监护条件","D":"转换后效果"},{"A":"状态","B":"转换","C":"转换后效果","D":"监护条件"}]
答案:[['B'],['C'],['B']]
解析:

题目:在某系统中,不同组(GROUP)访问数据的权限不同,每个用户(User)k可以是一个火多个组中的成员,每个组包含零个或多个用户。现要求在用户和组之间设计映射,将用户和组之间的关系由映射进行维护,得到如下所示的类图。该设计采用(  )模式,用一个对象来封装系列的对象交互;使用户对象和组对象不需要显式地相互引用,从而使其耦合松散,而且可以独立地改变它们之间的交互。该模式属于(  )模式,该模式适用: (  )。 
选项:[{"A":"状态(State)","B":"策略(Strategy)","C":"解释器(Interpreter)","D":"中介者(Mediator)"},{"A":"创建型类","B":"创建型对象","C":"行为型对象","D":"行为型类"},{"A":"需要使用一个算法的不同变体","B":"有一个语言需要解释执行,并且可将句子表示为一个抽象语法树","C":"一个对象的行为决定于其状态且必须在运行时刻根据状态改变行为","D":"一组对象以定义良好但是复杂的方式进行通信,产生的相互依赖关系结构混乱且难以理解"}]
答案:[['D'],['C'],['D']]
解析:

题目:在设计某购物中心的收银软件系统时,要求能够支持在不同时期推出打折、返利、满减等不同促销活动,则适合采用()模式。 
选项:[{"A":"策略(Strategy)","B":"访问者(Visitor)","C":"观察者(Observer)","D":"中介者(Mediator)"}]
答案:[['A']]
解析:

题目:Python 语言的特点不包括()。 
选项:[{"A":"跨平台、开源","B":"编译型","C":"支持面向对象程序设计","D":"动态编程"}]
答案:[['B']]
解析:

题目:在Python语言中,()是一种可变的、有序的序列结构,其中元素可以重复。 
选项:[{"A":"元组(tuple)","B":"字符串(str)","C":"列表(list)","D":"集合(set)"}]
答案:[['C']]
解析:

题目:以下Python语言的模块中,()不支持深度学习模型。 
选项:[{"A":"TensorFlow","B":"Matplotlib","C":"PyTorch","D":"Keras"}]
答案:[['B']]
解析:

题目:采用三级模式结构的数据库系统中,如果对一个表创建聚簇索引,那么改变的是数据库的()。 
选项:[{"A":"外模式","B":"模式","C":"内模式","D":"用户模式"}]
答案:[['C']]
解析:

题目:设关系模式R(U,F), U={A1,A2, A3, A4},函数依赖集F={A1-→A2, A1→A3,A2→A4},关系R的候选码是(  )。下列结论错误的是(  )。 
选项:[{"A":"A1","B":"A2","C":"A1A2","D":"A1A3"},{"A":"A1-→A2A3为F所蕴涵","B":"A1- > A4为F所蕴涵","C":"A1A2→A4为F所蕴涵","D":"A2→A3为F所蕴涵"}]
答案:[['A'],['D']]
解析:

题目:给定学生关系S(学号,姓名,学院名,电话,家庭住址)、课程关系C(课程号,课程名选修课程号)、选课关系SC(学号,课程号,成绩)。查询“张晋”选修了“市场营销”课程的学号、学生名、学院名、成绩的关系代数表达式为: π1,2,3,7(π  1,2,3(  ) )∞(  ) ))。 
选项:[{"A":"σ2=张晋(S)","B":"σ2='张晋'(S)","C":"o2=张晋(SC)","D":"o2='张晋'(SC)"},{"A":"π2,3(σ2='市场营销'(C))∞SC","B":"π2,3(σ2=市场营销(SC))∞C","C":"π1,2(σ2='市场营销'(C)∞SC","D":"π1,2(σ2=市场营销 (SC))∞C"}]
答案:[['B'],['C']]
解析:

题目:数据库的安全机制中,通过提供()供第三方开发人员调用进行数据更新,从而保证数据库的关系模式不被第三方所获取。 
选项:[{"A":"触发器","B":"存储过程","C":"视图","D":"索引"}]
答案:[['B']]
解析:

题目:若栈采用顺序存储方式,现有两栈共享空间V[1..n],, top[i]代表i( i=1,2)个栈的栈顶(两个栈都空时top[1]= 1、top[2]= n),栈1的底在V[1],栈2的底在V[n],则栈满(即n个元素暂存在这两个栈)的条件是() 
选项:[{"A":"top[1]= top[2]","B":"top[1]+ top[2]==1","C":"top[1]+ top[2]==n","D":"top[1]- top[2]== 1"}]
答案:[['D']]
解析:

题目:采用循环队列的优点是() 
选项:[{"A":"入队和出队可以在队列的同端点进行操作","B":" 入队和出队操作都不需要移动队列中的其他元素","C":"避免出现队列满的情况","D":"避免出现队列空的情况"}]
答案:[['A']]
解析:

题目:二叉树的高度是指其层数, 空二叉树的高度为0,仅有根结点的二叉树高度为若某二叉树中共有1024个结点,则该二叉树的高度是整数区间()中的任一值。 
选项:[{"A":" (10, 1024)","B":" [10, 1024]","C":"(11, 1024)","D":"[11, 1024]"}]
答案:[['D']]
解析:

题目:n个关键码构成的序列{k,k2, ...K,}当且仅当满足下列关系时称其为堆。以下关键码序列中,() 不是堆。 
选项:[{"A":"15,25,21,53,73, 65,33","B":" 15,25,21,33,73,65,53 ","C":"73,65,25,21,15,53,33","D":"73,65,25,33,53,15,21"}]
答案:[['C']]
解析:

题目:对有向图G进行拓扑排序得到的拓扑序列中,顶点Vi在顶点Vj之前,则说明G中() 
选项:[{"A":"一定存在有向弧<Vi, Vj>(B )","B":"一定不存在有向弧<Vj, Vi>","C":"必定存在从Vi到Vj的路径","D":"必定存在从Vj到Vi的路径"}]
答案:[['B']]
解析:

题目:归并排序算法在排序过程中,将待排序数组分为两个大小相同的子数组,分别对两个子数组采用归并排序算法进行排序,排好序的两个子数组采用时间复杂度为0(n)的过程合并为一个大数组。根据上述描述,归并排序算法采用了(  )算法设计策略。归并排序算法的最好和最坏情况下的时间复杂度为(  )。 
选项:[{"A":"分治","B":"动态规划","C":"贪心","D":"回溯"},{"A":"

","B":"

","C":"

","D":"

"}]
答案:[['A'],['C']]
解析:

题目:已知一个文件中出现的各字符及其对应的频率如下表所示。采用Huffman编码,则该文件中字符a和c的码长分别为(  )。若采用Huffman编码,则字序列 “110001001101” 的编码应为(  )。 
选项:[{"A":"1和3","B":"1和4","C":"3和3","D":"3和4"},{"A":"face","B":"bace","C":"acde","D":"fade"}]
答案:[['A'],['A']]
解析:

题目:用户在电子商务网站上使用网上银行支付时,必须通过(  )在Internet与 银行专用网之间进行数据交换。 
选项:[{"A":"支付网关防","B":"病毒网关","C":"出口路由器","D":"堡垒主机"}]
答案:[['A']]
解析:

题目:ARP 报文分为ARP Request和ARP Response,其中ARP Request采用(  )进行传送,ARP Response采用(  )进行传送。 
选项:[{"A":"广播","B":"组播","C":"多播","D":"单播"},{"A":"组播","B":"广播","C":"多播","D":"单播"}]
答案:[['A'],['D']]
解析:

题目:面的标记对中人(  )用于表示网页代码的起始和终止。 
选项:[{"A":"<html></html>","B":"<head></head>","C":"<body></body>","D":"<meta> </meta>"}]
答案:[['A']]
解析:

题目:以下对于路由协议的叙述中,错误的是()。 
选项:[{"A":"路由协议是通过执行- 个算法来完成路由选择的一种协议","B":"动态路由协议可以分为距离向量路由协议和链路状态路由协议","C":"路由协议是一种允让许数据包在主机之间传送信息的种协议","D":"路由器之间可以通过路由协议学习网络的拓扑结构"}]
答案:[['C']]
解析:

题目:One is that of a software engineer and the other is a DevOps engineer. The biggest different is in their (  ). Software engineers focus on how well the computer software fts the needs of the client while a DevOps engineer has a broader focus that includes software development, how the software is deployed and providing (  ) support through the cloud while the software is continually (  ).A software engineer creates computer programs for people to use based upon their security and function ality needs. A DevOps engineer also works on computer applications, but manages the building, deployment and operation as a(  ) autormated process. Software engineers often work separately from the operations side of a business. They create the software a business client needs and then monitor the performance of their software products to determine if up grades are necessary or if more serious improvements are needed. DevOps engineers work with the operational side of a business and manage the workflow to (  ) software tosmoothly function with automated processes. Both professions require knowledge of Computer programming languages. 
选项:[{"A":"focus","B":"process","C":"goal","D":"function"},{"A":"developing","B":"deploying","C":"training","D":"operational"},{"A":"developed","B":"functional","C":"constructed","D":"secure"},{"A":"single","B":"whole","C":"continuous","D":"independent"},{"A":"develop","B":"integrate","C":"analyse","D":"maintain"}]
答案:[['A'],['D'],['B'],['C'],['B']]
解析:

题目:如下所示代码(用缩进表示程序块),要实现语句覆盖,至少需要(   )个测试用例。采用McCabe度量法计算该代码对应的程序流程图的环路复杂性为(  )。input A,nfor i = 2 to n        key = A[i]        j = i-1        while j > 0 and A[j]>key                  A[j+1]=A[j]                  j = j-1        A[j+1] = key 
选项:[{"A":"1","B":"2","C":"3","D":"4"},{"A":"2","B":"1","C":"3","D":"4"}]
答案:[['A'],['C']]
解析:

下午

题目:阅读下列说明和图,回答问题1至问题4,将解答填入答题纸的对应栏内。【说明】某现代农业种植基地为进一步提升农作物种植过程的智能化,欲开发智慧农业平台,集管理和销售于一体,该平台的主要功能有:1.信息维护。农业专家对农作物、环境等监测数据的监控处理规则进行维护。2.数据采集。获取传感器上传的农作物长势、土壤墒情、气候等连续监测数据,解析后将监测信息进行数据处理、可视化和存储等操作。3.数据处理。对实时监测信息根据监控处理规则进行监测分析,将分析结果进行可视化并进行存储、远程控制对历史监测信息进行综合统计和预测,将预测信息进行可视化和存储。4.远程控制。根据监控处理规则对分析结果进行判定,依据判定结果自动对控制器进行远程控制。平台也可以根据农业人员提供的控制信息对控制器进行远程控制。5.可视化。实时向农业人员展示监测信息:实时给农业专家展示统计分析结果和预测信息或根据农业专家请求进行展示。现采用结构化方法对智慧农业平台进行分析与设计,获得如图1-1所示的上下文数据流图和图1-2所示的0层数据流图。 
选项:

【问题1】(4分)
使用说明中的词语,给出图1-1中的实体E1~E4的名称。
【问题2】(4分)
使用说明中的词语,给出图1-2中的数据存储D1~D4的名称。
【问题3】

(4分)
根据说明和图中术语,补充图1-2中缺失的数据流及其起点和终点。
【问题4】(3分)
根据说明,“数据处理”可以分解为哪些子加工?进一步进行分解时,需要注意哪三种常见的错误?


答案:

【问题1】(4分)
E1:传感器;E2:农业专家;E3:农业人员;E4:控制器
【问题2】(4分)
D1:监控处理规则文件 D2:监测信息表 D3:分析结果文
件 D4:预测信息表
【问题3】

(4分)
起点D1,终点P4,规则起点E2,终点P5,请求
起点D3,终点P5,分析结果
起点D4,终点P5,预测信息
问答题(共16题,共90分) 4/16
【问题4】(3分)
数据处理加工分为数据分析,可视化与存储;
黑洞、奇迹、灰洞


解析:【问题1】(4分)E1:传感器;E2:农业专家;E3:农业人员;E4:控制器【问题2】(4分)D1:监控处理规则文件 D2:监测信息表 D3:分析结果文件 D4:预测信息表【问题3】(4分)起点D1,终点P4,规则起点E2,终点P5,请求起点D3,终点P5,分析结果起点D4,终点P5,预测信息问答题(共16题,共90分) 4/16【问题4】(3分)数据处理加工分为数据分析,可视化与存储;黑洞、奇迹、灰洞

题目:回答问题1至问题4,将解答填入答题纸的对应栏内【说明】某汽车维修公司为了便于管理车辆的维修情况,拟开发 - 套汽车维修管理系统,请根据下述需求描述完成该系统的数据库设计。【需求描述】(1)客户信息包括:客户号、客户名、客户性质、折扣率、联系人、联系电话。客户性质有个人或单位。客户号唯 -标识客户关系中的每一个元组。(2)车辆信息包括:车牌号、车型、颜色和车辆类别。-个客户至少有一辆车,一辆车只属于一个客户。(3)员工信息包括:员工号、员工名、岗位、电话、家庭住址。其中,员工号唯一标识员工关系中的每一个元组。岗位有业务员、维修工、主管。业务员根据车辆的故障情况填写维修单。(4)部门信息包括:部门号、名称、主管和电话,其中部门号唯一-确定部门关系的每一个元组。每个部门只有一名主管,但每个部门有多名员工,每名员工只属于一个部门。(5)维修单信息包括:维修单号、车牌号、维修内容、工时。维修单号唯一标识维修单关系中的每一个元组。一个维修工可接多张维修单,但一张维修单只对应一个维修工。【概念模型设计】根据需求阶段收集的信息,设计的实体联系图(不完整)如图2-1所示【逻辑结构设计】根据概念模型设计阶段完成的实体联系图,得出如下关系模式(不完整):客户(客户号,客户名,(a);折扣率,联系人,联系电话)车辆(车牌号,(b),车型,颜色,车辆类别)员工(员工号,员工名,岗位,(c),电话,家庭住址)部门(部门号,名称,主管,电话)维修单(维修单号,(d),维修内容,工时) 
选项:

【问题1】(6分)
根据问题描述,补充3个联系,完善图2-1的实体联系图。联系名可用联系1、联系2和联系3代替,联系的类型为1:1、1:n和m:n(或1:1、1:*和*.*)。
【问题2】(4分)
根据题意,将关系模式中的空(a)~(d)的属性补充完整,并填入答题纸对应的位置上。
【问题3】(2分)
分别给出车辆关系和维修单关系的主键与外键。
【问题4】(3分)
如果一张维修单涉及多项维修内容,需要多个维修工来处理,那么哪个联系类型会发生何种变化?你认为应该如何解决这一问题?


答案:

【问题1】(6分)
联系1:客户和车辆,1:n
联系2:部门和员工,1:n
联系3:维修工和维修单,1:n
【问题2】(4分)
a:客户性质 b:客户号c:部门号d:车牌号,员工号
【问题3】(2分)
车辆关系的主键:(车辆号,客户号)外键:客户号
维修单关系的主键:维修单号外键:车牌号,员工号
【问题4】(3分)
维修工和维修单之间的联系类型会发生变化,从1:n变成m:n。


解析:【问题1】(6分)联系1:客户和车辆,1:n联系2:部门和员工,1:n联系3:维修工和维修单,1:n【问题2】(4分)a:客户性质 b:客户号c:部门号d:车牌号,员工号【问题3】(2分)车辆关系的主键:(车辆号,客户号)外键:客户号维修单关系的主键:维修单号外键:车牌号,员工号【问题4】(3分)维修工和维修单之间的联系类型会发生变化,从1:n变成m:n。

题目:阅读下列说明和图,回答问题1至问题3,将解答填入答题纸的对应栏内。【说明】某游戏公司欲开发一款吃金币游戏。游戏的背景为一种回廊式迷宫(Maze),在迷宫的不同位置上设置有墙。迷宫中有两种类型的机器人(Robos):小精灵(PacMan)和幽灵(Ghost)。游戏的目的就是控制小精灵在迷宫内游走,吞吃迷宫路径上的金币,且不能被幽灵抓到。幽灵在迷宫中游走,并会吃掉遇到的小精灵。机器人游走时,以单位距离的倍数计算游走路径的长度。当迷宫中至少存在一个小精灵和一个幽灵时,游戏开始。机器人上有两种传感器,使机器人具有一定的感知能力。这两种传感器分别是:(1)前向传感器(FrontSensor),探测在机器人当前位置的左边、右边和前方是否有墙(机器人遇到墙时,必须改变游走方向)。机器人根据前向传感器的探测结果,决定朝哪个方向运动。(2)近距离传感器(ProxiSesor),探测在机器人的视线范围内(正前方)是否存在隐藏的金币或幽灵。近距离传感器并不报告探测到的对象是否正在移动以及朝哪个方向移动。但是如果近距离传感器的连续两次探测结果表明被探测对象处于不同的位置,则可以推导出该对象在移动。另外,每个机器人都设置有一个计时器(Timer),用于支持执行预先定义好的定时事件。机器人的动作包括:原地向左或向右旋转90°;向前或向后移动。建立迷宫:用户可以使用编辑器(Editor) 编写迷宫文件,建立用户自定义的迷宫。将迷宫文件导入游戏系统建立用户自定义的迷宫现采用面对家分析与设计方法开发该游戏,得到如图3-1所示的用例图以及图3-2所示的初始类图。 
选项:

【问题1】(3分)
根据说明中的描述,给出图3-1中U1~U3所对应的用例名。
【问题2】(4分)
图3-1中用例U1~U3分别与哪个(哪些)用例之间有关系,是何种关系?
【问题3】(8分)
根据说明中的描述,给出图3-2中C1~C8所对应的类名。


答案:

【问题1】(3分)
U1 编写迷宫文件 U2导入迷宫文件;U3 设置计时器
【问题2】(4分)
U1和U2与建立迷宫用例是泛化关系;U3与操作机器人是包含关系
【问题3】(8分)
C1 机器人(Robos);C2 计时器(Timer);C3
小精灵(Pac
Man);C4幽灵(Ghost)
C5 传感器 C6 前向传感器(FrontSensor)
C7 近距离传感
器(ProxiSesor) C8 迷宫(Maze)
其中C3与C4可换;C6与C7可换


解析:【问题1】(3分)U1 编写迷宫文件 U2导入迷宫文件;U3 设置计时器【问题2】(4分)U1和U2与建立迷宫用例是泛化关系;U3与操作机器人是包含关系【问题3】(8分)C1 机器人(Robos);C2 计时器(Timer);C3小精灵(PacMan);C4幽灵(Ghost)C5 传感器 C6 前向传感器(FrontSensor)C7 近距离传感器(ProxiSesor) C8 迷宫(Maze)其中C3与C4可换;C6与C7可换

题目:生物学上通常采用编辑距离来定义两个物种DNA序列的相似性,从而刻画物种之间的进化关系。具体来说,编辑距离是指将首将一个字符串变换为另- 一个字符所需要的最小操作次数。操作有三种,分别为:插入-一个字符、删除一一个字符以及将一个字符修改为另 -一个字符。用字符数组str1和str2分别表示长度分别为len1和len2的字符串,义二维数组d记录求解编辑距离的子问题最优解,则该二维数组可以递归定义为: 
选项:

[问题1] (8分)
根据说明扣C代器,填充C代期中的空(1)~(4)的。
[问题2] (4分)
根据说明和C代码,算法采用了(5)设计策略,时间复杂度为(6)(用0符号表示,两个字符串的长度分别用m和n表示)。
[问题3] (3分)
已知两个字符串A="CTGA"和B="ACGCTA",根据说明和C代码,可得出这两个字符串的编辑距离为(7)。


答案:

(1) d[0][j]=j (2)str1[i-1]==str2[j-1] (3)d[i-1][j-1] +1(4) d[len1][len2]
(2)动态规划法0(m*n)
(3)4


解析:(1) d[0][j]=j (2)str1[i-1]==str2[j-1] (3)d[i-1][j-1] +1(4) d[len1][len2](2)动态规划法0(m*n)(3)4

题目:阅读下列说明和C++代码,将应填入(n)处的字句写在答题纸的对应栏内。[说明]享元(flyweight)模式主要用于减少创建对象的数量,以降低内存占用,提高性能。现要开发-一个网络围棋程序,允许多个玩家联机下棋。由于只有一台服务器 ,为节省内存空间,采用享元模式实现该程序,得到如图5-1所示的类图。 
选项:



答案:

(1) virtual void DrawO {}
(2) Piece*
(3) Piece *
(4) piece->Draw0
(5) piece->Draw0


解析:(1) virtual void DrawO {}(2) Piece*(3) Piece * (4) piece->Draw0(5) piece->Draw0

题目:阅读下列说明和Java代码,将应填入(n)处的字句写在题纸的对应栏内。【说明】享元(flyweight)模式主要用于减少创建对象的数量,以低内存占用,提高性能。现要开发一个网络围棋程序允许多个玩家联机下棋。由于只有一台服务器,为节内存空间,采用享元模式实现该程序,得到如图6-1所的类图。【Java代码】import java.util.*:enum PieceColor {BLACK,WHITE}//棋子颜色class PiecePos{//棋子位置private intx;private int y:pubic PiecePos(int a,int b){x=a;y=b;}public int getX0{retun x;}public int getYO{return y;}}abstract class Piece{//棋子定义protected PieceColor m_color;//颜色protected Piecemopos m_pos;//位置public Piece(PieceColor,color PiecePospos){m color=color;{:sod=sod u(1);}class BlackPiece extends Piece{public BlackPiece(PieceColorcolor,PiecePos pos){super(color,pos);}public void drawO{System out println("draw a blackpiece");}}class WhitePiece extends Piece{public WhitePiece(PieceColorcolor,PiecePos pos){super(color,pos):}public void draw0{System.out.println("draw a whitepiece");}{class PieceBoard{//棋盘上已有的棋子private static finalArrayList<(2)>m_arrayPiece=new ArrayListprivate String m_blackName;//黑方名称private String m_whiteName;//白方名称public PieceBoard(String black,Stringwhite){m_blackName=black;m_whiteName=white;}//一步棋,在棋盘上放一颗棋子public void SetePiece(PieceColorcolor,PiecePos pos){(3)piece=null;if(color==PieceColor.BLACK)(//放黑子piece=new BlackPiece(color,pos);//获取一颗黑子System.out.println(m_blackName+"在位置("+pos.getX0)+","+pos.getYO+")");(4):{else{//放白子piece=new WhitePiece(color,pos);//获取一颗白子System.out.println(m whiteName+"在位置("+pos.getX0)+","+pos.getYO+")");(5):}m_arrayPiece.add(piece);}} 
选项:



答案:

(1)public abstract void draw( )
(2)Piece
(3)Piece
(4)piece.draw( )
(5)piece.draw( )


解析:(1)public abstract void draw( )(2)Piece(3)Piece(4)piece.draw( )(5)piece.draw( )

你可能感兴趣的:(软考,软件设计师,软考真题,2021下半年软件设计师)