软考19年上午卷知识点整理

19年 上午卷

计算机执行指令的过程中,需要由 (1) 产生每条指令的操作信号并将信号送往相应的部件进行处理,以完成指定的操作。

A. CPU 的控制器
B. CPU 的运算器
C. DMA 控制器
D. Cache 控制器

知识点:

CPU的功能:

  1. 程序控制。CPU 通过执行指令来控制程序的执行顺序,这是 CPU的重要功能。
  2. 操作控制。一条指令功能的实现需要若干操作信号配合来完成,CPU 产生每条指令的操作信号并将操作信号送往对应的部件,控制相应的部件按指令的功能要求进行操作。
  3. 时间控制。CPU对各种操作进行时间上的控制,即指令执行过程中操作信号的出现时间、持续时间及出现的时间顺序都需要进行严格控制。
  4. 数据处理。CPU通过对数据进行算术运算及逻辑运算等方式进行加工处理,数据加工处理的结果被人们所利用。所以,对数据的加工处理也是 CPU 最根本的任务。此外,CPU还需要对系统内部和外部的中断(常)做出响应,进行相应的处理。

CPU 主要由运算器、控制器、寄存器组和内部总线等部件组成,运算器就是进行数据的运算——加减乘除与或非这种的,寄存器就是存储数据的地方,控制器好比是对数据进行增删改查操作的地方。

答案 :A

DMA 控制方式是在 (2) 之间直接建立数据通路进行数据的交换处理。

A. CPU 与主存
B. CPU 与外设
C. 主存与外设
D. 外设与外设

知识点:

直接内存存取(Direct Memory Access,DMA)是指数据在内存与 IO 设备间的直接成块传送,即在内存与 IO 设备间传送一个数据块的过程中,不需要 CPU 的任何干涉,只需要 CPU在过程开始启动(即向设备发出“传送一块数据”的命令)与过程结束(CPU 通过轮询或中断得知过程是否结束和下次操作是否准备就绪)时的处理,实际操作由DMA 硬件直接执行完成,CPU 在此传送过程中可做别的事情。

答案 :C

CPU 访问存储器时,被访问数据一般聚集在一个较小的连续存储区域中。若一个存储单元已被访问,则其邻近的存储单元有可能还要被访问,该特性被称为 (3) 。

A. 数据局部性
B. 指令局部性
C. 空间局部性
D. 时间局部性

知识点

程序的局部性原理是指程序在执行时呈现出局部性规律,即在一段时间内,整个程序的执行仅限于程序中的某一部分。相应地,所访问的存储空间也局限于某个内存区域。
局部性原理又表现为:时间局部性和空间局部性。

  • 时间局部性是指如果程序中的某条指令一旦执行,则不久之后该指令可能再次被执行;如果某数据被访问,则不久之后该数据可能再次被访问。
  • 空间局部性是指一旦程序访问了某个存储单元,则不久之后。其附近的存储单元也将被访问。

答案:C

某系统由3个部件构成,每个部件的千小时可靠度都为R,该系统的千小时可靠度为(1-(1-R)2)R,则该系统的构成方式是 (4)

A.3个部件串联
B.3个部件并联
C.前两个部件并联后与第三个部件串联
D.第一个部件与后两个部件并联构成的子系统串联

知识点

3个部件串联时系统的可靠度为R3;
3个部件并联时系统的可靠度为(1-(1-R)3);
前两个部件并联后与第三个部件串联时系统的可靠度为(1-(1-R)2)R;
第一个部件与后两个部件并联构成的子系统串联R(1-(1-R)2)。

答案:C

在 (5) 校验方法中,采用模2运算来构造校验位。

A.水平奇偶
C.海明码
B.垂直奇偶
D.循环几余

知识点

  1. 奇偶校验码
    奇偶校验(Parity Codes)是一种简单有效的校验方法。这种方法通过在编码中增加一位校验位来使编码中1的个数为奇数(奇校验)或者为偶数(偶校验),从而使码距变为2。对于奇校验,它可以检测代码中奇数位出错的编码,但不能发现偶数位出错的情况,即当合法编码中的奇数位发生了错误时,即编码中的1变成0或0变成1,则该编码中1的个数的奇偶性就发生了变化,从而可以发现错误。
    常用的奇偶校验码有3种:水平奇偶校验码、垂直奇偶校验码和水平垂直校验码。
  2. 海明码
    海明码(Hamming Code)是由贝尔实验室的 Richard Hammming设计的,是一种利用奇偶性来检错和纠错的校验方法。海明码的构成方法是在数据位之间的特定位置上插入k个校验位,通过扩大码距来实现检错和纠错。
  3. 循环冗余校验码
    循环冗余校验码(Cyclic Redundancy Check,CRC)广泛应用于数据通信领域和磁介质存储系统中。它利用生成多项式为k个数据位产生r个校验位来进行编码,其编码长度为 k+r。校验码是由信息码产生的,校验码位数越多,该代码的校验能力就越强。在求CRC编码时,采用的是模2运算。 模2加减运算的规则是按位运算,不发生借位和进位。

选项解析点击这里

答案:C

以下关于 RISC(精简指令系统计算机)技术的叙述中,错误的是 (6) 。

A. 指令长度固定、指令种类尽量少
B. 指令功能强大、寻址方式复杂多样
C. 增加寄存器数目以减少访问次数
D. 用硬布线电路实现指令解码,快速完成指令译码

知识点

  1. CISC(Complex Instruction Set Computer,复杂指令集计算机)的基本思想是进一步增强原有指令的功能,用更为复杂的新指令取代原先由软件子程序完成的功能,实现软件功能的硬化,导致机器的指令系统越来越庞大、复杂。事实上,目前使用的绝大多数计算机都属于CISC类型。
    CISC 的主要弊端如下。
    ① 指令集过分庞杂。
    ② 微程序技术是 CISC的重要支柱,每条复杂指令都要通过执行一段解释性微程序才能完成,这就需要多个 CPU 周期,从而降低了机器的处理速度。
    ③ 由于指令系统过分庞大,使高级语言编译程序选择目标指令的范围很大,并使编译程序本身冗长、复杂,从而难以优化编译使之生成真正高效的目标代码。
    ④ CISC 强调完善的中断控制,势必导致动作繁多、设计复杂、研制周期长。
    ⑤ CISC 给芯片设计带来很多困难,使芯片种类增多,出错几率增大,成本提高而成品率降低。
  2. RISC(Reduced Imstruction Set Computer,精简指令集计算机)的基本思想是通过减少指令总数和简化指令功能降低硬件设计的复杂度,使指令能单周期执行,并通过优化编译提高指令的执行速度,采用硬布线控制逻辑优化编译程序。RISC在 20 世纪 70 年代末开始兴起,导致机器的指令系统进一步精炼而简单。
    RISC 中采用的流水技术有3种:超流水线、超标量以及超长指令字。
    在这里插入图片描述

答案:B (总之一般肯定是简单快少的是RISC,复杂慢多的肯定是CISC)

(7)防火墙是内部网和外部网的隔离点,它可对应用层的通信数据流进行监控和过滤。

A.包过滤
B.应用级网关
C.数据库
D. Web

知识点

防火墙技术经历了包过滤、应用代理网关和状态检测技术三个发展阶段。

  1. 包过滤防火墙
    包过滤防火墙一般有一个包检查块(通常称为包过滤器),数据包过滤可以根据数据包头中的各项信息来控制站点与站点、站点与网络、网络与网络之间的相互访问,但无法控制传输数据的内容,因为内容是应用层数据,而包过滤器处在网络层和数据链路层(即 TCP和P层)之间。通过检查模块,防火墙能够拦截和检查所有出站和进站的数据,它首先打开包,取出包头,根据包头的信息确定该包是否符合包过滤规则,并进行记录。对于不符合规则的包,应进行报警并丢弃该包。
    过滤型的防火墙通常直接转发报文,它对用户完全透明,速度较快。其优点是防火墙对每条传入和传出网络的包实行低水平控制:每个包的字段都被检查,例如源地址、目的地址、协议和端口等;防火墙可以识别和丢弃带欺骗性源正地址的包;包过滤防火墙是两个网络之间访问的唯一来源;包过滤通常被包含在路由器数据包中,所以不需要额外的系统来处理这个特征。缺点是不能防范黑客攻击,因为网管不可能区分出可信网络与不可信网络的界限;不支持应用层协议,因为它不识别数据包中的应用层协议,访问控制粒度太粗糙:不能处理新的安全威胁。

  2. 应用代理网关防火墙
    应用代理网关防火墙彻底隔断内网与外网的直接通信,内网用户对外网的访问变成防火墙对外网的访问,然后再由防火墙转发给内网用户。 所有通信都必须经应用层代理软件转发,访问者任何时候都不能与服务器建立直接的TCP连接,应用层的协议会话过程必须符合代理的安全策略要求。
    应用代理网关的优点是可以检查应用层、传输层和网络层的协议特征,对数据包的检测能力比较强。缺点是难以配置:处理速度非常慢。

  3. 状态检测技术防火墙
    状态检测技术防火墙结合了代理防火墙的安全性和包过滤防火墙的高速度等优点,在不损失安全性的基础上,提高了代理防火墙的性能。状态检测防火墙摒弃了包过滤防火墙仅考查数据包的正地址等几个参数而不关心数据包连接状态变化的缺点,在防火墙的核心部分建立状态连接表,并将进出网络的数据当成一个个的会话,利用状态表跟踪每一个会话状态。状态监测对每一个包的检查不仅根据规则表,更考虑了数据包是否符合会话所处的状态,因此提供了完整的对传输层的控制能力,同时也改进了流量处理速度。因为它采用了一系列优化技术,使防火墙性能大幅度提升,能应用在各类网络环境中,尤其是在一些规则复杂的大型网络上。
    一个防火墙系统通常是由过滤路由器和代理服务器组成。过滤路由器是一个多端口的TP路由器,它能够拦截和检查所有出站和进站的数据。代理服务器防火墙使用一个客户程序与特定的中间结点(防火墙)连接,然后中间结点与期望的服务器进行实际连接。这样,内部与外部网络之间不存在直接连接,因此,即使防火墙发生了问题,外部网络也无法获得与被保护的网络的连接。典型防火墙的体系结构分为包过滤路由器、双宿主主机、屏蔽主机网关和被屏蔽子网等类型。

  4. Web 防火墙是一种针对于网站安全的入侵防御系统,一般部署在 Web 服务器上上或者 Web 服务器的前端。

答案:B

下述协议中与安全电子邮箱服务无关的是(8)

A. SSL
B. HTTPS
C. MIME
D. PGP

知识点

  • SSL 协议位于 TCP/IP 协议与各种应用层协议之间,为数据通信提供安全支持。使用SSL,的方式发送邮件,会对发送的信息进行加密,增加被截取信息的破解难度
  • HTTPS (Hyper Text Transfer Protocol over Secure Socket Layer Hypertext TransferProtocol Secure,超文本传输安全协议),是以安全为目标的 HTTP 通道,即 HTTP下加入 SSL 层
  • MIME(Multipurpose Internet Mail Extensions,多用途互联网邮件扩展类型)是一个互联网标准,扩展了电子邮件标准,使其能够支持:非ASCI字符文本,非文本格式附件(二进制、声音、图像等),由多部分(multipleparts)组成的消息体,包含非 ASCII字符的头信息(Header information)。
  • PGP(Pretty Good Privacy,优良保密协议)是一个基于 RSA公匙加密体系的邮件加密软件。可以用它对邮件保密以防止非授权者阅读,还能对邮件加上数字签名从而使收信人可以确认邮件的发送方。

答案 C

用户 A 和 B 要进行安全通信,通信过程需确认双方身份和消息不可否认。A 和 B通信时可使用 (9) 来对用户的身份进行认证;使用(10)确保消息不可否认。

(9)A.数字证书B.消息加密C.用户私钥D.数字签名
(10)A.数字证书B.消息加密C.用户私钥D.数字签名

知识点

数字证书是指通过 CA 机构发行的一张电子文档,用来提供在计算机网络上对网络用户进行身份认证的一串数字标识。一般可使用非对称密钥进行加密和解密,其中私钥仅用户自己拥有,不能公开,主要用于对消息进行签名和解密;公钥用于对签名信息进行验证和加密,可以在互联网上公开公钥信息。
由于私钥只有用户自己拥有,因此使用私钥对信息进行加密计算后,相当于对信息进行了签名,带有签名的作用。可以确保消息不可否认

答案 (9)A (10)D

震网(Stuxnet)病毒是一种破坏工业基础设施的恶意代码,利用系统漏洞攻击工业控制系统,是一种危害性极大的 (11) 。

(11) A. 引导区病毒 B. 宏病毒 C. 木马病毒 D. 蠕虫病毒

知识点

病毒

答案:D

刘某完全利用任职单位的实验材料、实验室和不对外公开的技术资料完成了一项发明。以下关于该发明的权利归属的叙述中,正确的是(12)

A.无论刘某与单位有无特别约定,该项成果都属于单位
B.原则上应归单位所有,但若单位与刘某对成果的归属有特别约定时遵从约

C.取决于该发明是否是单位分派给刘某的
D.无论刘某与单位有无特别约定,该项成果都属于刘某

知识点

我国《专利法》第6条规定:“执行本单位的任务或者主要利用本单位的物质技术条件所完成的发明创造为职务发明创造。职务发明创造申请专利的权利属于该单位,申请被批准后,该单位为专利权人。非职务发明创造,申请专利的权利属于发明人或者设计人;申请被批准后,该发明人或者设计人为专利权人。利用本单位的物质技术条件所完成的发明创造,单位与发明人或者设计人订有合同的,对申请专利的权利和专利权的归属做出约定的,从其约定。”

答案 B

甲公司购买了一工具软件,并使用该工具软件开发了新的名为“恒友”的软件。甲公司在销售新软件的同时,向客户提供工具软件的复制品,则该行为(13)。甲公司未对“恒友”软件注册商标就开始推向市场,并获得用户的好评。三个月后,乙公司也推出名为“恒友”的类似软件,并对之进行了商标注册,则其行为(14)。

(13)A.侵犯了著作权
B.不构成侵权行为
C.侵犯了专利权
D.属于不正当竞争
(14)A.侵犯了著作权
B.不构成侵权行为
C.侵犯了专利权
D.属于不正当竞争

知识点

购买了正版的计算机软件后可以根据使用的需要将软件进行安装,并为了防止复制品损坏而制作备份复制品。但这些备份复制品不得通过任何方式提供给他人使用,并且一旦如果转让了正版软件,应将其复制品销毁。甲公司将其提供给客户,是侵犯了工具软件的著作权。
我们国家对商标的保护,要求首先得申请商标注册,对于没注册过的商标,或者保护期过后没有及时去办续展的商标原则上是不保护的。根据商标法和著作权法,未经注册不子保护。
因为乙公司进行商标注册了,所以没有侵权。

答案 A B

数据流图建模应遵循 (15) 的原则。

(15)A.自顶向下、从具体到抽象
B.自顶向下、从抽象到具体
C.自底向上、从具体到抽象
D.自底向上、从抽象到具体

知识点

数据流图是核心的分析模型,用来描述数据流从输入到输出的变换流程。建立数据流图的过程其实就是理解需求的过程,因此建模时应遵循自顶向下、从抽象到具体的原则,构建一组分层的数据流图。

答案 B

结构化设计方法中使用结构图来描述构成软件系统的模块以及这些模块之间的调用关系。结构图的基本成分不包括(16)。

A.模块
B.调用
C.数据
D.控制

知识点

结构化设计方法中使用结构图来描述软件系统的体系结构,指出一个软件系统由哪些模块组成,以及模块之间的调用关系。结构图的基本成分包括模块、调用和数据。模块是指具有一定功能并可以用模块名调用的一组程序语句,如函数、子程序等,它们是组成程序的基本单元。调用表示模块之间的关系,用从一个模块指向另一个模块的箭头来表示,其含义是前者调用了后者。数据是指模块调用过程中来回传递的信息,用带注释的短箭头表示。
在这里插入图片描述

答案 D

10 个成员组成的开发小组,若任意两人之间都有沟通路径,则一共有(17) 条沟通路径。

A. 100
B.90
C.50
D. 45

知识点

考查人员管理,n个成员组成的开发小组,若任意两人之间都有沟通路径,那么相当于一个全连通的无向图,边数为 n(n-1)/2。当 n=10 时,求得一共有 45 条边。

答案 D

第18

知识点

画出图来,从头开始增加,往后增加,每个点取增加后的最大值,最后加上结尾的时间,得出答案(这里的图来自B站zst_2001):
结果

答案:D

以下不属于软件项目风险的是(19)

A.团队成员可以进行良好沟通
B.团队成员离职
C.团队成员缺乏某方面培训
D.招不到符合项目技术要求的团队成员

知识点

风险是项目进行过程中带来负面后果的不确定性。在题目给出的四个选项中,很容易确定选项A不是带来负面后果的事件。

答案 A

通用的高级程序设计语言一般都会提供描述数据、运算、控制和数据传输的语言成分,其中,控制包括顺序、(20) 和循环结构。

A.选择
B.递归
C.递推
D.函数

知识点

程序(算法)的基本控制有顺序、分支(选择)和循环结构

答案 A

以编译方式翻译 C/C++源程序的过程中,(21)阶段的主要任务是对各条语句的结构进行合法性分析。

A.词法分析 B.语义分析C.语法分析D.目标代码生成

知识点

词法分析阶段是编译过程的第一个阶段,这个阶段的任务是对源程序从前到后(从左到右)逐个字符地扫描,从中识别出一个个“单词”符号。
语法分析的任务是在词法分析的基础上,根据语言的语法规则将单词符号序列分解成各类语法单位,如“表达式”“语句”等。语法规则就是各类语法单位的构成规则。通过语法分析确定整个输入串是否构成一个语法上正确的程序。
语义分析阶段分析各语法结构的含义,检查源程序是否包含静态语义错误,并收集类型信息供后面的代码生成阶段使用。只有语法和语义都正确的源程序才能翻译成正确的目标代码。

答案 C

在对高级语言源程序进行编译或解释处理的过程中,需要不断收集、记录和使用源程序中一些相关符号的类型和特征等信息,并将其存入(22)中。

A.哈希表
B.符号表
C.堆栈
D.队列

知识点

符号表的作用是记录源程序中各个符号的必要信息,以辅助语义的正确性检查和代码生成,在编译过程中需要对符号表进行快速有效地查找、插入、修改和删除等操作。符号表的建立可以始于词法分析阶段,也可以放到语法分析和语义分析阶段,但符号表的使用有时会延续到目标代码的运行阶段。
(题目中提到相关符号的类型和特征等信息,就是符合表的特征)

答案 B

在单处理机系统中,采用先来先服务调度算法。系统中有4个进程P1、P2、P3、P4(假设进程按此顺序到达),其中 P1为运行状态,P2 为就绪状态,P3 和 P4为等待状态,且 P3等待打印机,P4等待扫描仪。若P1(23),则P1、P2、P3 和 P4 的状态应分别为(24)

(23) A.时间片到
B.释放了扫描仪
C.释放了打印机
D.已完成
(24) A.等待、就绪、等待和等待
B.运行、就绪、运行和等待
C.就绪、运行、等待和等待
D.就绪、就绪、等待和运行

知识点

我是这么理解的,如果P1释放之后,那么P2就应该是运行状态,如果P2不需要,再询问P3P4,假设P2需要,那么P2为运行状态,假设P2不需要,那么再去找P3P4,这两种情况肯定有一个运行状态,则A不对,既然P3运行,那么P1肯定为等待状态,或者就绪状态,则B不对,如果P2需要,那么P2肯定是运行状态,P1P3P4可能是就绪和等待状态,C没问题,D的问题是P4等待扫描仪,那么如果P1释放了扫描仪,则P4应该是就绪状态。
(结合答案和自己的理解,如果有不对的地方,欢迎批评)

答案 A C

某文件系统采用位示图(bitmap)记录磁盘的使用情况。若计算机系统的字长为 64位,磁盘的容量为 1024GB,物理块的大小为4MB,那么位示图的大小需要(25)个字。

A.1200
B.2400
C.4096
D.9600

知识点

计算机系统中的字长为 64 位,每位可以表示一个物理块的“使用”还是“未用”,一个字可记录 64 个物理块的使用情况。又因为磁盘的容量为 1024GB,物理块的大小为 4MB,那么该磁盘有 1024x1024/4=262144个物理块,位示图的大小为262144/64=4096 个字。
(这里我傻了,既然是64位的,那肯定是64的倍数,所以肯定是CD,接下来就要算了;先求一共有多少物理块:1024*1024/64,得出物理块的数量,即一共多少位,然后再除以一个字长的64位,就是说一个字站多少位,就能得到位示图的大小了,也就是总的字数)

答案 C

若某文件系统的目录结构如下图所示,假设用户要访问文件 book2.doc,且当前工作目录为 MyDrivers,则该文件的绝对路径和相对路径分别为(26)。

在这里插入图片描述
A. MyDrivers\user2\和\user2
B.\MyDrivers\user2\和\user2
C.\MyDrivers\user2\和 user2
D. MyDriversluser2\和 user2\

知识点

按查找文件的起点不同可以将路径分为:绝对路径和相对路径。从根目录开始的路径称为绝对路径;从用户当前工作目录开始的路径称为相对路径,相对路径是随着当前工作目录的变化而改变的。

答案 C

PV操作是操作系统提供的具有特定功能的原语。利用PV操作可以(27)

A.保证系统不发生死锁
B.实现资源的互斥使用
C.提高资源利用率
D.推迟进程使用共享资源的时间

知识点

在系统中一些需要相互合作、协同工作的进程,这样的相互联系称为进程的同步;多个进程因争用临界资源而互斥执行,叫作进程的互斥。利用PV操作可以实现进程的同步与互斥,但 PV操作使用不当可能会导致系统发生死锁。

答案 B

从减少成本和缩短研发周期考虑,要求嵌入式操作系统能运行在不同的微处理器平台上,能针对硬件变化进行结构与功能上的配置。该要求体现了嵌入式操作系统的(28)
A,可定制性
B.实时性
C.可靠性
D.易移植性

知识点

嵌入式操作系统的主要特点包括微型化、可定制、实时性、可靠性和易移植性。其中,可定制是指从减少成本和缩短研发周期考虑,要求嵌入式操作系统能运行在不同的微处理器平台上,能针对硬件变化进行结构与功能上的配置,以满足不同应用需要。

  1. 微型化。从性能和成本角度考虑,希望占用资源和系统代码量少,如内存少、字长短、运行速度有限、能源少(用微小型电池)。
  2. 可定制。从减少成本和缩短研发周期考虑,要求嵌入式操作系统能运行在不同
    的微处理器平台上,能针对硬件变化进行结构与功能上的配置,以满足不同应用需要。
  3. 实时性。嵌入式操作系统主要应用于过程控制、数据采集、传输通信。多媒体信息及关键要害领域需要迅速响应的场合,所以对实时性要求高。
  4. 可靠性。系统构件、模块和体系结构必须达到应有的可靠性,对关键要害应用还要提供容错和防故障措施。
  5. 易移植性。为了提高系统的易移植性,通常采用硬件抽象层 (HardwareAbstraction Leve!;
    HAL)和板级支持包(Board Support Package,BSP)的底层设计技术。

答案 A

以下关于系统原型的叙述中,不正确的是(29)

A.可以帮助导出系统需求并验证需求的有效性
B.可以用来探索特殊的软件解决方案
C.可以用来指导代码优化
D.可以用来支持用户界面设计

知识点

本题考查软件开发过程模型的基础知识。要求考生熟悉典型的软件过程模型。原型在演化模型、螺旋模型、增量模型等都起着重要的作用。系统原型可以帮助开发人员和客户导出系统的需求并验证需求的有效性、可以帮助探索特殊的软件解决方案、可以用于讨论用户界面等。

答案 C

以下关于极限编程(XP)的最佳实践的叙述中,不正确的是(30)
A.只处理当前的需求,使设计保持简单
B.编写完程序之后编写测试代码
C.可以按日甚至按小时为客户提供可运行的版本
D.系统最终用户代表应该全程配合XP团队

知识点

本题考查软件开发方法的基础知识。敏捷方法是重要的一类软件开发方法。要求考生掌握极限编程(XP)和 Scrum 的基本概念和特点。XP 的十二个最佳实践是 XP 的重要特点,包括简单设计、测试优先、持续集成、集体所有权和现场客户等。
简单设计的重点在简单,A正确
测试优先的重点在优先,B错误
持续集成的重点在持续,C正确
集体所有权:是指团队中的每个成员都对项目的所有部分负责,每个人都有权对任何模块进行改进和更新。‌
现场客户:要求至少有一名实际的客户代表在整个项目开发周期在现场负责确定需求、回答团队问题以及编写功能验收测试。D正确

答案 B

在 ISO/EC 9126 软件质量模型中,软件质量特性(31) 包含质量子特性安全性。
A.功能性
B.可靠性
C.效率
D.可维护性

知识点

本题考查软件质量的基础知识。软件质量是软件的重要属性,随着软件开发过程越来越规范,软件质量特性也越来越受到重视。
ISO/EC 9126 软件质量模型由三个层次组成:第一层是质量特性,第二层是质量子特性,第三层是度量指标。要求考生能够了解质量特性及其对应的质量子特性。

答案 A

已知模块 A 给模块 B传递数据结构X ,则这两个模块的耦合类型为 (32)

A.数据耦合
B.公共耦合
C.外部耦合
D.标记耦合

知识点

模块化是软件设计的基本原则,而独立性是软件模块的重要属性,衡量模块独立性的标准是耦合度和内聚度。内聚度是衡量同一个模块内部的各个元素彼此结合的紧密程度;耦合度是衡量不同模块间相互依赖的紧密程度。
存在多种模块耦合类型,其中数据耦合指两个模块之间有调用关系,传递的是简单的数据值,相当于高级语言中的值传递。标记耦合指两个模块之间传递的是数据结构。控制耦合指一个模块调用另一个模块时,传递的是控制变量,被调用模块通过该控制变量的值有选择地执行模块内某一功能。因此,被调用块内应具有多个功能,哪个功能起作用受调用模块控制。而外部耦合是指模块间通过软件之外的环境联结(如 O 将模块耦合到特定的设备、格式、通信协议上)。

答案 D

Theo Mandel 在其关于界面设计所提出的三条“黄金准则”中,不包括 (33)

A.用户操纵控制
B.界面美观整洁
D.保持界面一致
C.减轻用户的记忆负担

知识点

界面设计是软件设计的重要内容,Theo Mandel博士提出了关于界面设计的三条“黄金准则”。用户操纵控制,即软件的最终使用者是用户,用户希望能控制计算机,而不是计算机控制用户;减轻用户的记忆负担,如果用户需要记忆的东西越多,和系统交互时出错的可能性也就越大。因此设计良好的用户界面不会增加用户的记忆负担,应该保存有关的信息,通过帮助用户回忆交互场景来辅助用户操作系统;保持界面一致,用户应该以一致的方式展示和获取信息,统一的风格可以让用户对系统存在亲切感,也使得系统更易于使用。

答案 B

以下关于测试的叙述中,正确的是(34)

A.实际上,可以采用穷举测试来发现软件中的所有错误
B.错误很多的程序段在修改后错误一般会非常少
C.测试可以用来证明软件没有错误
D.白盒测试技术中,路径覆盖法往往能比语句覆盖法发现更多的错误

知识点

软件测试是软件开发过程的重要阶段,在软件需求分析阶段就开始了,一直到软件废弃之前,都有测试活动。软件测试的目的是为了发现软件中存在的错误,而不是为了证明软件是正确的。另外,由于穷举测试是不可能的,因此即使对软件进行充分的测试,软件中的错误仍然存在。而且据统计,在软件测试过程中,错误很多的程序段在修改之后往往会引入新的错误,因此通常还是错误非常多的程序段。白盒测试是一类常用的测试技术,包含许多具体的方法,如语句覆盖、判定覆盖、路径覆盖等,其中路径覆盖是最强的覆盖,而语句覆盖是最弱的覆盖,路径覆盖往往比语句覆盖能发现程序中更多的问题。

答案 D

招聘系统要求求职的人年龄在 20 岁到 60岁之间(含),学历为本科、硕士或者博士,专业为计算机科学与技术、通信工程或者电子工程。其中 (35) 不是好的测试用例。

A.(20,本科,电子工程)
B.(18,本科,通信工程)
C.(18,大专,电子工程)
D.(25,硕士,生物学)

知识点

测试用例是软件测试的重要概念,是指为某个特殊目标而编制的一组测试输入、执行条件以及预期结果,以便测试某个程序路径或核实是否满足某个特定需求。好的测试用例应该是能够定位软件错误的测试用例。在本题的四个选项中,选项A为符合规格说明的测试用例,选项B和D是一个条件不符合规格说明的测试用例,而选项C是两个条件不符合规格说明的测试用例,不是好的测试用例

答案 C

系统交付用户使用了一段时间后发现,系统的某个功能响应非常慢。修改了某模块的一个算法使其运行速度得到了提升,则该行为属于(36)维护。

A.改正性
B.适应性
C.改善性
D.预防性

知识点

软件在开发结束后交付给用户使用就进入了维护阶段。要求考生掌握四类维护活动的概念以及典型的例子。四类维护为:正确性维护指改正在系统开发阶段已发生而系统测试阶段尚未发现的错误适应性维护指使应用软件适应信息技术变化和管理需求变化而进行的修改完善性维护指为扩充功能和改善性能而进行的修改,主要是指对已有的软件系统增加一些在系统分析和设计阶段中没有规定的功能与性能特征预防性维护指为了改进应用软件的可靠性和可维护性,为了适应未来的软硬件环境的变化,应主动增加预防性的新功能,以使应用系统适应各类变化而不被淘汰。根据这四类维护的概念可以判断本题所属情形为改善性维护。

答案 C

一个类中可以拥有多个名称相同而参数表(参数类型或参数个数或参数类型顺序)不同的方法,称为(37)

A.方法标记
B.方法调用
C.方法重载
D.方法覆盖

知识点

面向对象方法中,数据和行为封装在一个对象中。一组大体上相似的对象定义为一个类,一个类所包含的方法和数据描述这组对象的共同行为和属性。行为也经常被称为方法。方法由方法名称、参数表和返回类型唯一标识,方法调用构成对象之间的通信消息。一个类中名称相同而参数表不同的多个方法则为方法重载;而方法覆盖或重置则是在子类中重新定义父类中已定义的方法,其基本思想是通过动态绑定机制的支持,使得子类中继承父类接口定义的前提下用适合自己要求的实现去置换父类中的相应实现。

答案 C

采用面向对象方法进行软件开发时,将汽车作为一个系统。以下(38)之间不属于组成(Composition)关系。
A,汽车和座位
B.汽车和车窗
C.汽车和发动机
D.汽车和音乐系统

知识点

在分析对象间的关系时,将相关对象抽象成类,抽象类时可从对象间的操作或一个对象是另一个对象的一部分来考虑,如房子是由门和窗构成的。本题中汽车作为一个系统,随着汽车对象的消亡而消亡,则表达了对象之间的组成(Composition)关系,座位、车窗和发动机作为汽车的组成部分,而音乐系统为独立系统,与汽车系统进行关联。

答案 D

进行面向对象设计时,就一个类而言,应该仅有一个引起它变化的原因,这属于(39)设计原则。

A.单一责任
B.开放-封闭
C.接口分离
D.里氏替换

知识点

本题考查面向对象技术的基本知识。进行面向对象设计时,有一系列设计原则,本题中涉及对象设计五大原则中的如下四种。

  • 单一责任原则。就一个类而言,应该仅有一个引起它变化的原因。即,当需要修改某个类的时候原因有且只有一个,让一个类只做一种类型责任。
  • 开放-封闭原则。软件实体(类、模块、函数等)应该是可以扩展的,即开放的,但是不可修改的,即封闭的。
  • 接口分离原则。不应该强迫客户依赖于它们不用的方法。接口属于客户,不属于它所在的类层次结构。即:依赖于抽象,不要依赖于具体,同时在抽象级别不应该有对于具体细节的依赖。这样做的好处在于可以最大限度地应对可能的变化。
  • 里氏替换原则。子类型必须能够替换掉他们的基类型。即,在任何父类可以出现的地方,都可以用子类型的实例来赋值给父类型的引用。当一个子类型的实例应该能够替换任何其超类的实例时,它们之间才具有一个(is-a)关系。

答案 A

聚合对象是指一个对象(40)

A.只有静态方法
B.只有基本类型的属性
C.包含其他对象
D.只包含基本类型的属性和实例方法

知识点

对象是基本的运行时实体,它既包括数据(属性),也包括作用于数据的操作(行为)。一个对象通常可由对象名、属性和方法3个部分组成。如电视机有颜色、音量等属性,可以有换台、调节音量等操作,属性值表示了电视机所处的状态。组织对象时,可以从对象间的关系,将一个对象考虑为另一个对象的一部分,如电视机除了基本属性和方法外,还有机箱中的各组成部分,由不同的部件聚合而成,即聚合对象是一个对象还包含其他类型的对象。

答案 C

在 UML 图中,(41) 图用于展示所交付系统中软件组件和硬件之间的物理关系。

A.类
B.组件
C.通信
D.部署

知识点

UML 类图、组件图、通信图和部署图各自刻画系统的不同方面。其中,类图展现了一组对象、接口、协作及其之间的关系;组件图展示一组组件之间的组织和依赖,它与类图相关,通常可以把组件映射为一个或多个类、接口或协作;通信图强调收发消息的对象的结构组织;部署图展现了运行时处理结点以及其中软件构件(制品)的配置,一个处理结点是运行时存在并代表一项计算资源的物理元素,具有处理能力,其上包含一个或多个软件构件(制品)。

下图所示 UML 图为(42),用于展示系统中 (43)

(42)A.用例图
B.活动图
C.序列图
D.交互图
(43)A.一个用例和一个对象的行为
B.一个用例和多个对象的行为
C.多个用例和一个对象的行为
D.多个用例和多个对象的行为
在这里插入图片描述

知识点

UML 用例图、活动图、序列图和交互图各自刻画系统的不同方面。其中,用例图展现了一组用例、参与者(Actor)以及它们之间的关系,即该系统在它的周边环境的语境中所提供的外部可见服务。用例图用于对系统的静态用例视图进行建模,主要支持系统的行为,如下图示例所示。
在这里插入图片描述
活动图展现了在系统内从一个活动到另一个活动的流程,专注于系统的动态视图,强调对象间的控制流程,如下图示例所示。
在这里插入图片描述
交互图用于对系统的动态方面进行建模,由一组对象及其之间的关系组成,包含它们之间可能传递的消息。交互图表现为序列图、通信图和交互概览图和定时图
序列图是场景的图形化表示,描述了以时间顺序组织的对象之间的交互活动,如题图所示。参加交互的对象放在图的上方,沿水平方向排列,通常放在左边的是发起交互的对象,下级对象依次放在右边,然后将这些对象发送和接收的消息沿直方向按时间顺序从上到下放置,就可见清晰表示控制流随时间推移的轨迹。

交互图:
交互图用于对系统的动态方面进行建模。一张交互图表现的是一个交互,由一组对象和它们之间的关系组成,包含它们之间可能传递的消息。交互图表现为序列图、通信图、交互概览图和计时图,每种针对不同的目的,能适用于不同的情况。序列图是强调消息时间顺序的交互图;通信图是强调接收和发送消息的对象的结构组织的交互图;交互概览图强调控制流的交互图。
交互图用于对一个系统的动态方面建模。在多数情况下,它包括对类、接口、构件和结点的具体的或原型化的实例以及它们之间传递的消息进行建模,所有这些都位于一个表达行为的脚本的语境中。交互图可以单独使用,来可视化、详述、构造和文档化一个特定的对象群体的动态方面,也可以用来对一个用例的特定的控制流进行建模。
交互图一般包含对象、链和消息。
交互图——序列图:
在这里插入图片描述
在这里插入图片描述

交互图——通信图:
通信图
交互图——交互概览图:
在这里插入图片描述
在这里插入图片描述
交互图——计时图:
在这里插入图片描述
状态图:
在这里插入图片描述在这里插入图片描述
活动图:
在这里插入图片描述
在这里插入图片描述
构件图:
在这里插入图片描述
组合结构图:
在这里插入图片描述
部署图:
在这里插入图片描述
包图:
在这里插入图片描述

答案 C B

以下设计模式中, (44) 模式使多个对象都有机会处理请求,将这些对象连成一条链,并沿着这条链传递该请求,直到有一个对象处理为止,从而避免请求的发送者和接收者之间的耦合关系; (45) 模式提供一种方法顺序访问一个聚合对象中的各个元素,且不需要暴露该对象的内部表示。这两种模式均为(46)。

(44)A.责任链(Chain ofResponsibility)
B.解释器(Interpreter)
C.命令(Command)
D.迭代器(Iterator)
(45)A.责任链(Chain ofResponsibility)
B.解释器(Interpreter)
C.命令(Command)
D.迭代器(Iterator)
(46)A.创建型对象模式
B.结构型对象模式
C.行为型对象模式
D.行为型类模式

知识点

按照设计模式的目的可以分为创建新模式、结构型模式以及行为型模式三大类。结构型模式涉及如何组合类和对象以获得更大的结构,行为式涉及算法和对象间职责的
分配。每种设计模式都有特定的意图和适用情况。责任链的主要意图是使多个对象都有机会处理请求,从而避免请求的发送者和接收者之间的耦合关系。将这些对象连成一条链,并沿着这条链传递该请求,直到有一个对象处理它为止,其结构图如下图所示。
在这里插入图片描述
解释器模式的主要意图是给定一个语言,定义其文法的一种表示,并定义一个使用该表示来解释语言中句子的解释器。其结构图如下图所示。
在这里插入图片描述
命令模式的主要意图是将一个请求封装为一个对象,从而使得可以用不同的请求对客户进行参数化;对请求排队或记录请求日志,以及支持可撤销的操作,其结构图如下图所示。
在这里插入图片描述
迭代器模式的主要意图是提供一种方法顺序访问一个聚合对象中的各个元素,且不需要暴露该对象的内部表示,其结构图如下图所示。
在这里插入图片描述
责任链模式、解释器模式、命令模式和迭代器模式均为行为型设计模式,其中解释器模式为行为型类模式,其他三种模式均为行为型对象模式。

答案 A D C

观察者(Observer)模式适用于(47)

A.访问一个聚合对象的内容而无须暴露它的内部表示
B.减少多个对象或类之间的通信复杂性
C.将对象的状态恢复到先前的状态
D.一对多对象依赖关系,当一个对象修改后,依赖它的对象都自动得到通知

知识点

每一种设计模式都集中于一个特定的面向对象设计问题或设计要点,描述了什么时候适合使用它,在另一些设计约束条件下是否还能使用,以及使用的效果和如何取舍。观察者(Observer)模式的结构图如下图所示。
在这里插入图片描述
观察者模式适用于在以下几种情况时定义对象间的一种一对多的依赖关系,当一个对象的状态发生改变时,所有依赖于它的对象都得到通知并被自动更新:①当一个抽象模型有两个方面,其中一个方面依赖于另一个方面,将这两者封装在独立的对象中以使它们可以各自独立地改变和复用;②当对一个对象的改变需要同时改变其他对象,而不知道具体有多少对象有待改变时:③当一个对象必须通知其他对象,而它又不能假定其他对象是谁,即不希望这些对象是紧耦合时。

答案 D

在以阶段划分的编译器中,(48)阶段的主要作用是分析构成程序的字符及由字符按照构造规则构成的符号是否符合程序语言的规定。

A.词法分析
B.语法分析
C.语义分析
D.代码生成

知识点

编译过程中词法分析阶段的主要作用是分析构成程序的字符及由字符按照构造规则构成的符号是否符合程序语言的规定。

答案 A

下图所示为一个不确定有限自动机(NFA)的状态转换图,与该NFA 等价的 DFA是(49)

在这里插入图片描述

知识点

答案

知识点

答案

知识点

答案

知识点

答案

知识点

答案

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值