单选题 某商场商品数据库的商品关系模式P(商品代码,商品名称,供应商,联系方式,库存量),函数依赖集F={商品代码→商品名称,(商品代码,供应商)→库存量,供应商→联系方式}。商品关系模式P达到______;该关系模式分解成______后,具有无损连接的特性,并能够保持函数依赖。
单选题
  • A.1NF
  • B.2NF
  • C.3NF
  • D.BCNF
【正确答案】 A
【答案解析】
单选题
  • A.P1(商品代码,联系方式),P2(商品名称,供应商,库存量)
  • B.P1(商品名称,联系方式),P2(商品代码,供应商,库存量)
  • C.P1(商品代码,商品名称,联系方式),P2(供应商,库存量)
  • D.P1(商品代码,商品名称),P2(商品代码,供应商,库存量),P3(供应商,联系方式)
【正确答案】 D
【答案解析】要分析一个关系模式的范式,第一步应找出该关系模式的主键,接下来需要判断关系模式是否消除了非主属性对主键的部分依赖、传递依赖,这样便可得出结论。 首先可采用图示法求关系模式的主键(若不懂图示法,可参看《系统架构设计师考试考点突破、案例分析、试题实战一本通》)。将关系模式P,使用图示法表达,如图所示。 [*] 从图中可以看出,只有商品代码与供应商的组合键才能遍历全图,所以只有它们的组合能充当主键。 由于(商品代码,供应商)是主键,而又有函数依赖:商品代码→商品名称,这便形成了部分依赖。所以在此关系模式中,部分依赖未消除,其范式只能达到1NF。 接下来的这个问题,对于经验丰富的考生,看完这几个选项,应该是能直接判断出应选D的。因为D是最佳分拆方案,能达到的范式级别很高。 如无经验,可考虑先分析是否为保持函数依赖的分解。 A选项分析:P1(商品代码,联系方式)未保持任何原有的函数依赖。而P2(商品名称,供应商,库存量)也未保持任何原有的函数依赖。 B选项分析:P1(商品名称,联系方式)未保持任何原有的函数依赖。P2(商品代码,供应商,库存量)只保持了函数依赖:(商品代码,供应商)→库存量。这样整体来说,就丢失了两个函数依赖关系。 C选项分析:P1(商品代码,商品名称,联系方式)保持了函数依赖:商品代码→商品名称,P2(供应商,库存量)未保持任何原有的函数依赖。这样整体来说,就丢失了两个函数依赖关系。 D选项分析:P1(商品代码,商品名称)保持了函数依赖:商品代码→商品名称,P2(商品代码,供应商,库存量)保持了函数依赖:(商品代码,供应商)→库存量,P3(供应商,联系方式)保持了函数依赖:供应商→联系方式。这样将各个分拆关系的函数依赖整合起来,能构成原关系的函数依赖,所以这个分解是保持了函数依赖的分解。
单选题 下面关于网络系统设计原则的论述,正确的是______。
  • A.应尽量采用先进的网络设备,获得最高的网络性能
  • B.网络总体设计过程中,只需要考虑近期目标即可,不需要考虑扩展性
  • C.网络系统应采用开放的标准和技术
  • D.网络需求分析独立于应用系统的需求分析
【正确答案】 C
【答案解析】本题关于网络系统设计的原则,只有选项C“网络系统应采用开放的标准和技术”是正确的,其他均有误。下面分析其他选项的错误原因: “A.应尽量采用先进的网络设备,获得最高的网络性能”,这种说法不对,虽然采用先进的网络设备能获得不错的网络性能,但同时会增加网络的建设成本,在进行网络系统设计时应考虑成本因素,不能一味追求性能上的提升,而不计成本。 “B.网络总体设计过程中,只需要考虑近期目标即可,不需要考虑扩展性”,这种说法不对,计算机网络技术发展非常快,应用过程中也会有需求不断提出,所以系统设计时需要考虑扩展性。 “D.网络需求分析独立于应用系统的需求分析”,这种说法不对,网络系统不是一个独立的系统,它与应用系统有着密切的联系,如果在进行网络需求分析时独立于应用系统的需求分析,则最终完成的网络系统肯定与应用系统不能很好地协作。
单选题 软件测试是为了发现错误而执行程序的过程。黑盒测试法主要根据______来设计测试用例。
  • A.程序内部逻辑
  • B.程序内部功能
  • C.程序数据结构
  • D.程序流程图
【正确答案】 B
【答案解析】软件测试是为了发现错误而执行程序的过程。黑盒测试也称为功能测试,这种测试将待测试的模块(软件)当成一个黑色的盒子,测试人员不清楚模块的内部设计,仅知道模块的功能。所以只是根据规格说明所规定的功能来设计测试用例,它不考虑程序的内部结构和处理过程。常用的黑盒测试技术有等价类划分、边值分析、错误猜测和因果图等。
单选题 以下关于Cache的叙述中,正确的是______。
  • A.在容量确定的情况下,替换算法的时间复杂度是影响Cache命中率的关键因素
  • B.Cache的设计思想是在合理的成本下提高命中率
  • C.Cache的设计目标是容量尽可能与主存容量相等
  • D.CPU中的Cache容量应大于CPU之外的Cache容量
【正确答案】 B
【答案解析】Cache的功能是提高CPU数据输入/输出的速率,突破所谓的“冯·诺依曼瓶颈”,即CPU与存储系统间数据传送带宽限制。高速存储器能以极高的速率进行数据的访问,但因其价格高昂,如果计算机的内存完全由这种高速存储器组成,则会大大增加计算机的成本。通常在CPU和内存之间设置小容量的Cache。Cache容量小但速度快,内存速度较低但容量大,通过优化调度算法,系统的性能会大大改善,仿佛其存储系统容量与内存相当而访问速度近似Cache。
Cache通常采用相联存储器(Content Addressable Memory,CAM)。CAM是一种基于数据内容进行访问的存储设备。当对其写入数据时,CAM能够自动选择一个未用的空单元进行存储;当要读出数据时,不是给出其存储单元的地址,而是直接给出该数据或者该数据的一部分内容,CAM对所有存储单元中的数据同时进行比较,并标记符合条件的所有数据以供读取。由于比较是同时、并行进行的,所以,这种基于数据内容进行读/写的机制,其速度比基于地址进行读/写的方式要快很多。
①Cache基本原理
使用Cache改善系统性能的依据是程序的局部性原理。程序访问的局部性有两个方面的含义,分别是时间局部性和空间局部性。时间局部性是指如果一个存储单元被访问,则可能该单元会很快被再次访问。这是因为程序存在着循环。空间局部性是指如果一个存储单元被访问,则该单元邻近的单元也可能很快被访问。这是因为程序中大部分指令是顺序存储、顺序执行的,数据一般也是以向量、数组、树、表等形式簇聚地存储在一起的。
根据程序的局部性原理,最近的、未来要用的指令和数据大多局限于正在用的指令和数据,或是存放在与这些指令和数据位置上邻近的单元中。这样,就可以把目前常用或将要用到的信息预先放在Cache中。当CPU需要读取数据时,首先在Cache中查找是否有所需内容,如果有,则直接从Cache中读取;若没有,再从内存中读取该数据,然后同时送往CPU和Cache。如果CPU需要访问的内容大多都能在Cache中找到(称为访问命中),则可以大大提高系统性能。
如果以h代表对Cache的访问命中率(“1-h”称为失效率,或者称为未命中率),t1表示Cache的周期时间,t2表示内存的周期时间,以读操作为例,使用“Cache+主存储器”的系统的平均周期为t3。则:
t3=t1×h+t2×(1-h)
系统的平均存储周期与命中率有很密切的关系,命中率的提高即使很小也能导致性能上的较大改善。
例如,设某计算机主存的读/写时间为100ns,有一个指令和数据合一的Cache,已知该Cache的读/写时间为10ns,取指令的命中率为98%,取数的命中率为95%。在执行某类程序时,约有1/5指令需要存/取一个操作数。假设指令流水线在任何时候都不阻塞,则设置Cache后,每条指令的平均访存时间约为:
(2%×100ns+98%×10ns)+1/5×(5%×100ns+95%×10ns)=14.7ns
②映射机制
当CPU发出访存请求后,存储器地址先被送到Cache控制器以确定所需数据是否已在Cache中,若命中则直接对Cache进行访问。这个过程称为Cache的地址映射(映像)。在Cache的地址映射中,主存和Cache将均分成容量相同的块(页)。常见的映射方法有直接映射、全相联映射和组相联映射。
·直接映射。直接映射方式以随机存取存储器作为Cache存储器,硬件电路较简单。直接映射是一种多对一的映射关系,但一个主存块只能够复制到Cache的一个特定位置上去。例如,某Cache容量为16KB(即可用14位表示),每块的大小为16B(即可用4位表示),则说明其可分为1024块(可用10位表示)。主存地址的最低4位为Cache的块内地址,然后接下来的中间10位为Cache块号。如果主存地址为1234E8F8H(一共32位),那么,最后4位就是1000(对应十六进制数的最后一位“8”),而中间10位,则应从E8F(1110 1000 1111)中获取,得到10 1000 1111。因此,主存地址为1234E8F8H的单元装入的Cache地址为10 1000 111 11000。
直接映射的关系可以用下列公式来表示:
K=I mod C
其中,K为Cache的块号,I为主存的页号,C为Cache的块数。
直接映射方式的优点是比较容易实现,缺点是不够灵活,有可能使Cache的存储空间得不到充分利用。例如,假设Cache有8块,则主存的第1页与第17页同时复制到Cache的第1块,即使Cache其他块空闲,也有一个主存页不能写入Cache。
·全相联映射。全相联映射使用相联存储器组成的Cache存储器。在全相联映射方式中,主存的每一页可以映射到Cache的任一块。如果淘汰Cache中某一块的内容,则可调入任一主存页的内容,因而较直接映射方式灵活。
在全相联映射方式中,主存地址不能直接提取Cache块号,而是需要将主存页标记与Cache各块的标记逐个比较,直到找到标记符合的块(访问Cache命中),或者全部比较完后仍无符合的标记(访问Cache失败)。因此,这种映射方式速度很慢,失掉了高速缓存的作用,这是全相联映射方式的最大缺点。如果让主存页标记与各Cache标记同时比较,则成本又太高。全相联映像方式由于比较器电路难于设计和实现,故只适用于小容量的Cache。
·组相联映射。组相联映射是直接映射和全相联映射的折中方案。它将Cache中的块再分成组,通过直接映射方式决定组号,通过全相联映射的方式决定
Cache中的块号。在组相联映射方式中,主存中一个组内的页数与Cache的分组数相同。
例如,容量为64块的Cache采用组相联方式映像,每块大小为128个字,每4块为一组,即Cache分为64/4=16组。若主存容量为4096页,且以字编址。首先,根据主存与Cache块的容量需一致,即每个内存页的大小也是128个字,因此一共有128×4096个字(219个字),即主存地址需要19位。因为Cache分为16组,所以主存需要分为4096/16=256组(每组16页),即28组,因此主存组号需8位。
按照上述划分方法,主存每一组的第1页映射到Cache的第1组,主存每一组的第2页映射到Cache的第2组,依此类推。因为主存中一个组内的页数与Cache的分组数相同,所以主存每一组的最后一页映射到Cache的最后一组。
要注意的是,有关组相联映射的划分方法不止一种。例如,还有一种方式是主存不分组,而是根据下列公式直接进行映射:
J=I mod Q
其中,J为Cache的组号,I为主存的页号,Q为Cache的组数。
在组相联映射中,由于Cache中每组有若干可供选择的块,因而它在映像定位方面较直接映像方式灵活:每组块数有限,因此付出的代价不是很大,可以根据设计目标选择组内块数。
③替换算法
当Cache产生了一次访问未命中之后,相应的数据应同时读入CPU和Cache。但是当Cache已存满数据后,新数据必须替换(淘汰)Cache中的某些旧数据。最常用的替换算法有以下三种。
·随机算法。这是最简单的替换算法。随机算法完全不管Cache块过去、现在及将来的使用情况,简单地根据一个随机数,选择一块替换掉。
·先进先出(First In and First Out,FIFO)算法。按调入Cache的先后决定淘汰的顺序,即在需要更新时,将最先进入Cache的块作为被替换的块。这种方法要求为每块做一记录,记下它们进入Cache的先后次序。这种方法容易实现,而且系统开销小。其缺点是可能会把一些需要经常使用的程序块(如循环程序)替换掉。
·近期最少使用(Least Recently Used,LRU)算法。LRU算法是把CPU近期最少使用的块作为被替换的块。这种替换方法需要随时记录Cache中各块的使用情况,以便确定哪个块是近期最少使用的块。LRU算法相对合理,但实现起来比较复杂,系统开销较大。通常需要对每一块设置一个称为“年龄计数器”的硬件或软件计数器,用于记录其被使用的情况。
④写操作
因为需要保证缓存在Cache中的数据与内存中的内容一致,相对读操作而言,Cache的写操作比较复杂,常用有以下几种方法。
·写直达(write through)。当要写Cache时,数据同时写回内存,有时也称为写通。当某一块需要替换时,也不必把这一块写回到主存中去,新调入的块可以立即把这一块覆盖掉。这种方法实现简单,而且能随时保持主存数据的正确性,但可能增加多次不必要的主存写入,会降低存取速度。
·写回(write back)。CPU修改Cache的某一块后,相应的数据并不立即写入内存单元,而是当该块从Cache中被淘汰时,才把数据写回到内存中。在采用这种更新策略的Cache块表中,一般有一个标志位,当一块中的任何一个单元被修改时,标志位被置“1”。在需要替换掉这一块时,如果标志位为“1”,则必须先把这一块写回到主存中去之后,才能再调入新的块;如果标志位为“0”,则这一块不必写回主存,只要用新调入的块覆盖掉这一块即可。这种方法的优点是操作速度快,缺点是因主存中的字块未随时修改而有可能出错。
·标记法。对Cache中的每一个数据设置一个有效位。当数据进入Cache后,有效位置“1”;而当CPU要对该数据进行修改时,数据只需写入内存并同时将该有效位置“0”。当要从Cache中读取数据时需要测试其有效位,若为“1”则直接从Cache中取数,否则,从内存中取数。
单选题 在军事演习中,张司令希望将部队尽快从A地通过公路网(如图所示)运送到F地:
【正确答案】 C
【答案解析】本题是架构考试中常见的一类计算题。该题解题关系是需要将图中节点的输入/输出流量调整平衡,因为只有输入/输出流量平衡才能表现出真实的运量。 如下图所示,对于节点E,他的输出运力为15,而所有输入运力之和为14,则E的最大真实运力,只能达到14,所以将E的输出运力修改为14。对于D节点,其输出运力和为7,而输入运力为8,则需要平衡为7。节点B也需要调,但情况比较复杂,我们需要综合分析B的输出运力与C的输出运力,分析可知,当B到C的运力调整为1时,既能达到节点运力的平衡,又能使运力最大,所以应调整为1。当完成这些调整之后,可轻易得出结论,最大运力为22。 [*]
单选题 在实际的项目开发中,人们总是希望使用自动工具来执行需求变更控制过程。下列描述中,______不是这类工具所具有的功能。
  • A.可以定义变更请求的数据项及变更请求生存期的状态转换图
  • B.记录每一种状态变更的数据,确认做出变更的人员
  • C.可以加强状态转换图使经授权的用户仅能做出所允许的状态变更
  • D.定义变更控制计划,并指导设计人员按照所制定的计划实施变更
【正确答案】 D
【答案解析】对许多项目来说,系统软件总需要不断完善,一些需求的改进是合理的而且不可避免,要使得软件需求完全不变更,也许是不可能的,但毫无控制的变更是项目陷入混乱、不能按进度完成或者软件质量无法保证的主要原因之一。 一个好的变更控制过程,给项目风险承担者提供了正式的建议需求变更机制。可以通过需求变更控制过程来跟踪已建议变更的状态,使已建议的变更确保不会丢失或疏忽。在实际中,人们总是希望使用自动工具来执行变更控制过程。有许多人使用商业问题跟踪工具来收集、存储、管理需求变更;可以使用工具对一系列最近提交的变更建议产生一个列表给变更控制委员会开会时做议程用。问题跟踪工具也可以随时按变更状态分类包裹变更请求的数目。 挑选工具时可以考虑以下几个方面: ①可以定义变更请求的数据项。 ②可以定义变更请求生存期的状态转换图。 ③可以加强状态转换图使经授权的用户仅能做出所允许的状态变更。 ④记录每一种状态变更的数据,确认做出变更的人员。 ⑤可以定义在提交新请求或请求状态被更新后应该自动通知的设计人员。 ⑥可以根据需要生成标准的或定制的报告和图表。
单选题 希赛公司欲对其内部的信息系统进行集成,需要实现在系统之间快速传递可定制格式的数据包,并且当有新的数据包到达时,接收系统会自动得到通知。另外还要求支持数据重传,以确保传输的成功。针对这些集成需求,应该采用______的集成方式。
  • A.远程过程调用
  • B.共享数据库
  • C.文件传输
  • D.消息传递
【正确答案】 D
【答案解析】根据题干描述,该公司需要在应用集成后实现采用可定制的格式频繁地、立即地、可靠地、异步地传输数据包。远程过程调用一般是基于同步的方式,效率较低,而且容易失败;共享数据库和文件传输的集成方式在性能方面较差,系统不能保持即时数据同步,而且容易造成应用与数据紧耦合;消息传递的集成方式能够保证数据的异步、立即、可靠传输,恰好能够满足该公司的集成需求。
单选题 某软件公司项目A的利润分析如表所示。设贴现率为10%,第二年的利润现值是______元。
利润分析表
利润分析 第零年 第一年 第二年 第三年
利润值 ¥889,000 ¥1,139,000 ¥1,514,000
  • A.1,378,190
  • B.949,167
  • C.941,322
  • D.922,590
【正确答案】 C
【答案解析】设在第i年的利润值为GP(i),第i年的贴现系数为DR(i),第i年的利润现值为NPV(i),则有NPV(O=GP(i)/DR(i)。因为贴现率为10%,则第2年的贴现系数为(1+10%)2=1.21。此时根据上述公式可求得第2年的利润现值是941322元。
单选题 希赛公司开发一个文档编辑器,该编辑器允许在文档中直接嵌入图形对象,但开销很大。用户在系统设计之初提出编辑器在打开文档时必须十分迅速,可以暂时不显示当前页面以外的图形。针对这种需求,公司可以采用______避免同时创建这些图形对象。
  • A.代理模式
  • B.外观模式
  • C.桥接模式
  • D.组合模式
【正确答案】 A
【答案解析】本题主要考查设计模式的理解与应用。根据题干描述,该编辑器需要在文档中嵌入显示开销很大的图形对象,为了能够提高系统效率,需要避免同时创建这些图像。这对这些要求,对比候选项,可以发现代理模式可以解决直接访问对象时带来的问题,例如:要访问的对象在远程的机器上;对象创建开销很大,或者某些操作需要安全控制,或者需要进程外的访问等。因此代理模式是最为合适的设计模式。
单选题 为了避免备份数据,或转移存储数据占用过高网络带宽从而影响业务系统正常运作,______首次采用了业务网络与存储网络分开的结构。
  • A.SAN
  • B.NAS
  • C.SCSI
  • D.DAS
【正确答案】 A
【答案解析】SAN结构中,业务网络与存储网络是分开的,并且是不同类型的网络,这样使得业务数据请求的传输不受存储数据传输的影响。
单选题 项目时间管理包括使项目按时完成所必需的管理过程,活动定义是其中的一个重要过程。通常可以使用______来进行活动定义。
  • A.鱼骨图
  • B.工作分解结构(WBS)
  • C.层次分解结构
  • D.功能分解图
【正确答案】 B
【答案解析】项目时间管理包括使项目按时完成所必需的管理过程。项目时间管理中的过程包括:活动定义、活动排序、活动的资源估算、活动历时估算、制定进度计划及进度控制。 为了得到工作分解结构(Work Breakdown Structure,WBS)中最底层的交付物,必须执行一系列的活动。对这些活动的识别及归档的过程就是活动定义。 鱼骨图(又称为Ishikawa图)是一种发现问题“根本原因”的方法,通常用来进行因果分析。
单选题 对于校园网来说,______。
  • A.其核心是网络环境,利用网络的人是关键
  • B.其核心是应用,网络教学资源是根本
  • C.网络基础平台是否先进是评价校园网成功与否的重要指标
  • D.校园网视其地域的大小,可以是局域网,也可以是广域网
【正确答案】 B
【答案解析】对于任何网络而言,其核心都是应用。网络犹如高速公路,网络应用就好比是车辆,修路的目的是为了跑车。一般来说,校园网是一个局域网。对于校园网而言,其主要目的是为师生提供丰富的教学资源。要评价校园网是否成功,就要看是否达到了建设的目标,是否有适合于校园的应用,是否有丰富的教学资源供师生共享。