2017年上半年 系统分析师 答案详解

tp01256 贡献于2018-06-07

作者 Administrator  创建于2017-06-08 13:33:00   修改者Windows 用户  修改于2018-03-08 08:54:00字数38596

文档摘要:2017年上半年 系统分析师 答案详解
关键词:

面向对象分析中,类与类之间的 “IS-A”关系的是一种(1),类与类之间的“IS-PART-OF”关系是一种(2)。 (1)A.依赖关系 B.关联关系 C.泛化关系 D.聚合关系 (2)A.依赖关系 B.关联关系 C.泛化关系 D.聚合关系 【答案】C D 【解析】本题考查的是面向对象的基本概念 is-a基于类继承或接口实现,is-a是表达这句话的一种方式:“这个东西是那个东西的一种”。例如:野马是一种马。 has-a关系是基于用法(即引用)而不是继承。换句话说,如果类a中的代码具有对类b实例的引用,则“类a has-a类b”。例如:马有缰绳。 is part of是一种整体与部分的关系。 面向对象动态分析模型描述系统的动态行为,显示对象在系统运行期间不同时刻的动态交互。其中,交互模型包括(3),其他行为模型还有(4)。 (3)A.顺序图和协作图 B.顺序图和状态图 C.协作图和活动图 D.状态图和活动图 (4)A.顺序图和协作图 B.顺序图和状态图 C.协作图和活动图 D.状态图和活动图 【答案】A D 【解析】本题考查UML图。 多种UML图有其严格的分类,首先分为静态图和动态图。其中动态图又有一个细化的分类:交互图,交互图包括顺序图(序列图)与通信图(协作图)。 关于设计模式,下列说法正确的是(5)。 (5) A.原型(Prototype)和模板方法 (Template Method)属于创建型模式 B.组合(Composite)和代理 (Proxy)属于结构型模式 C.桥接(Bridge)和状态(State)属于行为型模式 D.外观(Facade)和中介(Mediator)属于创建型模式 【答案】B 【解析】本题考查设计模式的分类 设计模式分类情况如下所示: 三重 DES 加密使用 2 个密钥对明文进行 3 次加密,其密钥长度为(6)位。 (6)A.56 B.112 C.128 D.168 【答案】B 【解析】本题考查信息安全中的对称加密算法。 三重DES加密是使用2个DES密钥,进行多次操作来完成的,所以其密钥长度是:56*2=112位。 要对消息明文进行加密传送,当前通常使用的加密算法是(7)。 (7)A.RSA B. SHA-1 C. MD5 D.RC5 【答案】D 【解析】本题考查的是信息安全中的加密算法。 RSA是非对称加密算法;SHA-1与MD5属于信息摘要算法;RC-5属于非对称加密算法。这些算法中SHA-1与MD5是不能用来加密数据的,而RSA由于效率问题,一般不直接用于明文加密,适合明文加密的,也就只有RC-5了。 假定用户 A、B 分别在 I1和 I2两个 CA 处取得了各自的证书,(8)是 A、B 互信的必要条件。 (8)A.A、B 互换私钥 B.A、B 互换公钥 C.I1、I2互换私钥 D.I1、I2互换公钥 【答案】D 【解析】本题考查的是信息安全中的CA认证。 题目难度较高,但用排除法来分析不难得出结论。首先,在公钥体系中,交换私钥是无论什么情况下都绝对不允许发生的情况,所以A与C选项必然错误。余下的B与D,B选项的做法没意义,要AB互信,其信任基础是建立在CA之上的,如果仅交换AB的公钥并不能解决信任的问题。而I1与I2的公钥交换倒是可以做到互信,因为I1与I2的公钥正是验证CA签名的依据。所以本题应选D。 SHA-l 是一种针对不同输入生成(9)固定长度摘要的算法。 (9)A.128 位 B.160 位 C.256 位 D.512 位 【答案】B 【解析】本题考查信息安全中的摘要算法 常用的消息摘要算法有MD5,SHA等,市场上广泛使用的MD5,SHA算法的散列值分别为128和160位,由于SHA通常采用的密钥长度较长,因此安全性高于MD5。 某软件公司项目组开发了一套应用软件,其软件著作权人应该是(10)。 (10)A.项目组全体人员 B.系统设计师 C.项目负责人 D.软件公司 【答案】D 【解析】本题考查的是知识产权中著作权归属问题。 由于应用软件是公司项目组开发的,这具备职务作品的典型特性,所以软件著作权人应为软件公司。 计算机软件著作权的保护对象是指(11)。 (11)A.软件开发思想与设计方案 B.软件开发者 C.计算机程序及其文档 D.软件著作权权利人 【答案】C 【解析】本题考查知识产权中的软件著作权。 软件著作权的保护对象是计算机程序及其文档,而权利人可能是软件开发者,也可能是软件开发者所在的公司(职务作品的情况)。 下列关于计算机程序的智力成果中,能取得专利权的是(12)。 (12)A.计算机程序代码 B.计算机游戏的规则和方法 C.计算机程序算法 D.用于控制测试过程的程序 【答案】D 【解析】 专利法明确规定,智力活动的规则和方法不取得专利权。智力活动规则和方法是直接作用于人的思维,与产业生产中的技术活动不发生直接关系,并不是对自然规律的利用,不属于技术方案。通常,智力活动规则和方法是一些人为的规则,如管理规则、游戏规则、统计方法、分类方法和计算方法等。 算法被认为是一种数学公式,反映的是自然法则和逻辑思维过程,属于智力活动规则和方法,不能受到专利法的保护。算法对于计算机软件而言极其重要,是计算机程序的基础,计算机软件总是离不开算法。因此,计算机软件本身属于智力活动规则和方法的范畴,不能够授予专利权。无论是源程序还是目标程序,它体现的是智力活动的规则和方法。因此仅以单纯的计算机程序为主题的发明创造是不能获得专利权的。 随着计算机技术的发展,不能授予专利权的智力活动规则和方法与能够授予专利权的方法之间的界线比较模糊了。例如,抽象出一种生产过程的数学模式,设计一种算法,通过予以运行用于控制该生产过程就能够获得专利保护。也就是说,智力活动规则和方法本身不被授予专利权,但进行智力活动的机器设备、装置或者根据智力活动规则和方法而设计制造的仪器、装置等都可以获得专利保护。即软件和硬件或者工业产品结合并表现为机器、装置或者为达到某种结果表现为方法时,软件可成为专利保护的对象。 以下商标注册申请,经审查,不能获准注册的是(13)。 (13)A.凤凰 B. 黄山 C. 同心 D. 湖南 【答案】D 【解析】 根据《商标法》第十条规定: 下列标志不得作为商标使用: (一)同中华人民共和国的国家名称、国旗、国徽、国歌、军旗、军徽、军歌、勋章等相同或者近似的,以及同中央国家机关的名称、标志、所在地特定地点的名称或者标志性建筑物的名称、图形相同的; (二)同外国的国家名称、国旗、国徽、军旗等相同或者近似的,但经该国政府同意的 除外; (三)同政府间国际组织的名称、旗帜、徽记等相同或者近似的,但经该组织同意或者不易误导公众的除外; (四)与表明实施控制、予以保证的官方标志、检验印记相同或者近似的,但经授权的除外; (五)同“红十字”、“红新月”的名称、标志相同或者近似的; (六)带有民族歧视性的; (七)带有欺骗性,容易使公众对商品的质量等特点或者产地产生误认的; (八)有害于社会主义道德风尚或者有其他不良影响的。 县级以上行政区划的地名或者公众知晓的外国地名,不得作为商标。但是,地名具有其他含义或者作为集体商标、证明商标组成部分的除外;已经注册的使用地名的商标继续有效。 循环冗余校验码(Cyc1ic Redundancy Check ,CRC)是数据通信领域中最常用的一种差错校验码,该校验方法中,使用多项式除法(模2 除法)运算后的余数为校验字段。若数据信息为 n 位,则将其左移k 位后,被长度为 k+1 位的生成多项式相除,所得的 k 位余数即构成 k 个校验位,构成 n+k 位编码。若数据信息为 1100,生成多项式为 X3+X+l (即 1011) ,则 CRC 编码是(14)。 (14)A.1100010 B.1011010 C.1100011 D.1011110 【答案】A 【解析】本题考查的是CRC循环校验码的编码。 编码流程为: 1、在原始信息位后加k个000,即1100000。 2、将1100000与生成多项式1011做模2除法,得到余数为010。 3、将原始信息位与余数连接起来得到:1100010。 执行 CPU 指令时,在一个指令周期的过程中,首先需从内存读取要执行的指令,此时先要将指令的地址即(15)的内容送到地址总线上。 (15)A.指令寄存器(IR) B.通用寄存器 (GR) C.程序计数器 (PC) D.状态寄存器 (PSW) 【答案】C 【解析】本题考查计算机组成原理的CPU寄存器。 备选答案中的多种寄存器中PC负责记录要执行的指令地址。所以应把PC中的内容送到地址总线上。 流水线的吞吐率是指流水线在单位时间里所完成的任务数或输出的结果数。设某流水线有 5 段,有 1 段的时间为 2ns ,另外 4 段的每段时间为 lns,利用此流水线完成 100 个任务的吞吐率约为(16)个/s 。 (16)A.500×l06 B.490×l06 C.250×l06 D.167×l06 【答案】B 【解析】本题考查组成原理中的流水线技术。 流水线执行100个任务所需要的时间为:(2+1+1+1+1)+(100 - 1)*2=204ns所以每秒吞吐率为:(100/204)*109=490*106注意:1秒=109纳秒。 以 下 关 于 复 杂 指 令 集 计 算 机 (Complex Instruction Set Computer,CISC) 的叙述中,正确的是(17)。 (17) A.只设置使用频度高的一些简单指令,不同指令执行时间差别很小 B.CPU 中设置大量寄存器,利用率低 C.常采用执行速度更快的组合逻辑实现控制器 D.指令长度不固定,指令格式和寻址方式多 【答案】D 【解析】 指令系统类型 指令 寻址方式 实现方式 其它 CISC(复杂) 数量多,使用频率差别大,可变长格式 支持多种 微程序控制技术 (微码) 研制周期长 RISC(精简) 数量少,使用频率接近,定长格式,大部分为单周期指令,操作寄存器,只有Load/Store操作内存 支持方式少 增加了通用寄存器;硬布线逻辑控制为主;适合采用流水线 优化编译,有效支持高级语言 在高速缓存 (Cache) -主存储器构成的存储系统中,(18)。 (18)A.主存地址到 Cache 地址的变换由硬件完成,以提高速度 B.主存地址到 Cache 地址的变换由软件完成,以提高灵活性 C.Cache 的命中率随其容量增大线性地提高 D.Cache 的内容在任意时刻与主存内容完全一致 【答案】A 【解析】本题考查的是计算机组成原理中的Cache存储器。 Cache与主存之间的映射采用的是硬件方式完成的,其目的是提高速度。 需求获取是确定和理解不同的项目干系人的需求和约束的过程,需求获取是否科学、准备充分,对获取出来的结果影响很大。在多种需求获取方式中,(19)方法具有良好的灵活性,有较宽广的应用范围,但存在获取需求时信息量大、记录较为困难、需要足够的领域知 识等问题。(20)方法基于数理统计原理,不仅可以用于收集数据,还可以用于采集访谈用户或者是采集观察用户,并可以减少数据收集偏差。(21)方法通过高度组织的群体会议来分析企业内的问题,并从中获取系统需求。 (19)A.用户访谈 B.问卷调查 C.联合需求计划 D.采样 (20)A.用户访谈 B.问卷调查 C.联合需求计划 D.采样 (21)A.用户访谈 B.问卷调查 C.联合需求计划 D.采样 【答案】A D C 【解析】本题考查的是软件需求分析中的需求获取技术。 用户访谈:用户访谈是最基本的一种需求获取手段,其形式包括结构化和非结构化两种。用户访谈是通过1对1(或1对2,1对3)的形式与用户面对面进行沟通,以获取用户需求。用户访谈具有良好的灵活性,有较宽广的应用范围。但是,也存在着许多困难,例如,用户经常较忙,难以安排时间;面谈时信息量大,记录较为困难;沟通需要很多技巧,同时需要系统分析师具有足够的领域知识等。另外,在访谈时,还可能会遇到一些对于企业来说比较机密和敏感的话题。因此,这看似简单的技术,也需要系统分析师具有丰富的经验和较强的沟通能力。 采样是指从种群中系统地选出有代表性的样本集的过程,通过认真研究所选出的样本集,可以从整体上揭示种群的有用信息。对于信息系统的开发而言,现有系统的文档(文件)就是采样种群。当开始对一个系统做需求分析时,查看现有系统的文档是对系统有初步了解的 最好方法。但是,系统分析师应该查看哪些类型的文档,当文档的数据庞大,无法一一研究时,就需要使用采样技术选出有代表性的数据。 采样技术不仅可以用于收集数据,还可以用于采集访谈用户或者是采集观察用户。在对人员进行采样时,上面介绍的采样技术同样适用。通过采样技术,选择部分而不是选择种群的全部,不仅加快了数据收集的过程,而且提高了效率,从而降低了开发成本。另外,采样技术使用了数理统计原理,能减少数据收集的偏差。但是,由于采样技术基于统计学原理,样本规模的确定依赖于期望的可信度和已有的先验知识,很大程度上取决于系统分析师的主观因素,对系统分析师个人的经验和能力依赖性很强,要求系统分析师具有较高的水平和丰富的经验。 联合需求计划:为了提高需求获取的效率,越来越多的企业倾向于使用小组工作会议来代替大量独立的访谈。联合需求计划(Joint Requirement Planning,JRP)是一个通过高度组织的群体会议来分析企业内的问题并获取需求的过程,它是联合应用开发(Joint Application Development,JAD)的一部分。 项目可行性是指企业建设该项目的必要性、成功的可能性以及投入产出比与企业发展需要的符合程度。其中,(22)可行性分析主要评估项目的建设成本、运行成本和项目建成后可能的经济收益;(23)可行性包括企业的行政管理和工作制度、使用人员的素质和培训要求等,可以细分为管理可行性和运行可行性。 (22)A.技术 B.经济 C.环境 D.用户使用 (23)A.技术 B.经济 C.环境 D.用户使用 【答案】B D 【解析】 可行性是指在企业当前的条件下,是否有必要建设新系统,以及建设新系统的工作是否具备必要的条件。也就是说,可行性包括必要性和可能性。参考国家标准《计算机软件文档编制规范》(GB/T 8567-2006),在信息系统建设项目中,可行性研究通常从经济可行性、技术可行性、法律可行性和用户使用可行性四个方面来进行分析,其中经济可行性通常被认为是项目的底线。 1.经济可行性 经济可行性也称为投资收益分析或成本效益分析,主要评估项目的建设成本、运行成本和项目建成后可能的经济收益。多数项目只有建设成本能控制在企业可接受的预算内的时候, 项目才有可能被批准执行。而经济收益的考虑则非常广泛,可以分为直接收益和间接收益、有形收益和无形收益,还可以分为一次性收益和非一次性收益、可定量的收益和不可定量的收益等。 要注意的是,在系统开发初期,由于用户需求和候选系统方案还没有确定,成本不可能得到准确的估算。因此,此时的经济可行性分析只能大致估算系统的成本和收益,判断信息系统的建设是否值得。 2.技术可行性 技术可行性也称为技术风险分析,研究的对象是信息系统需要实现的功能和性能,以及技术能力约束。技术可行性主要通过考虑以下问题来进行论证: (1)技术:现有的技术能力和信息技术的发展现状是否足以支持系统目标的实现。 (2)资源:现有的资源(例如,掌握技术的员工、企业的技术积累、构件库、软硬件条件等)是否足以支持项目的实施。 (3)目标:由于在可行性研究阶段,项目的目标是比较模糊的,因此技术可行性最好与项目功能、性能和约束的定义同时进行。在可行性研究阶段,调整项目目标和选择可行的技术体系都是可以的,而一旦项目进入开发阶段,任何调整都意味着更多的开销。 需要特别指出的是,技术可行性绝不仅仅是论证在技术手段上是否可实现,实际上包含了在当前资源条件下的技术可行性。例如,开发一个计算机操作系统对于美国微软公司来说,这是可行的,但对其他绝大多数企业来说,这都是不可行的。投资不足、时间不足、预设的开发目标技术难度过大、没有足够的技术积累、没有熟练的员工可用、没有足够的合作企业和外包资源积累等都是技术可行性的约束。实践证明,如果只考虑技术实现手段而忽视企业当前的资源条件和环境,从而对技术可行性分析得出过于乐观的结果,将会对后期的项目实施导致灾难性后果。 对于技术的选择,有的企业钟情于新技术,有的则喜欢使用成熟的技术。具体要根据项目的实际情况(例如,开发环境、开发人员的素质、系统的性能要求等)进行决策,但通常的建议是尽可能采用成熟的技术,慎重引入先进技术。IT业界流行的诙谐语“领先一步是先进,领先两步是先烈”讲的就是对技术的选择原则。 3. 法律可行性 法律可行性也称为社会可行性,具有比较广泛的内容,它需要从政策、法律、道德、制度等社会因素来论证信息系统建设的现实性。例如,所开发的系统与国家法律或政策等相抵触,在政府信息化的领域中使用了未被认可的加密算法,未经许可在产品中使用了其他企业的被 保护的技术或构件等,这样的项目在法律可行性上就是行不通的。 4.用户使用可行性 用户使用可行性也称为执行可行性,是从信息系统用户的角度来评估系统的可行性,包括企业的行政管理和工作制度、使用人员的素质和培训要求等,可以细分为管理可行性和运行可行性。 (1)管理可行性。管理可行性是指从企业管理上分析系统建设可行性。主管领导不支持的项目一般会失败,中高层管理人员的抵触情绪很大,就有必要等一等,先积极做好思想工作,创造条件。另外,还要考虑管理方法是否科学,相应的管理制度改革的时机是否成熟,规章制度是否齐全等。 (2)运行可行性。运行可行性也称为操作可行性,是指分析和测定信息系统在确定环境中能够有效工作,并被用户方便使用的程度和能力。例如,ERP系统建成后的数据采集和数据质量问题,企业工作人员没有足够的IT技能等。这些问题虽然与系统本身无关,但如果不经评估,很可能会导致投入巨资建成的信息系统却毫无用处。运行可行性还需要评估系统的各种影响,包括对现有IT设施的影响、对用户组织机构的影响、对现有业务流程的影响、对地点的影响、对经费开支的影响等。如果某项影响会过多改变用户的现状,需要将这些因素作进一步的讨论并和用户沟通,提出建议的解决方法。否则,系统一旦建成甚至在建设过程中,就会受到用户的竭力反对,他们会抵制使用系统。 IDEF(Integration DEFinition method,集成定义方法)是一系列建模、分析和仿真方法的统称,每套方法都是通过建模来获得某种特定类型的信息。其中,IDEFO可以进行(24)建模;IDEF1可以进行(25)建模;(26)可以进行面向对象设计建模。 (24)A.仿真 B.信息 C.业务流程 D.组织结构 (25)A.仿真 B.信息 C.业务流程 D.组织结构 (26)A.IDEF2 B.IDEF3 C.IDEF4 D.IDEF5 【答案】C B C 【解析】 IDEF是一系列建模、分析和仿真方法的统称,从IDEF0到IDEF14(包括IDEF1X在内)共有16套方法,每套方法都是通过建模程序来获取某个特定类型的信息。它们分别是IDEF0(功能建模)、IDEF1(信息建模)、IDEF1X(数据建模)、IDEF2(仿真建模设计)、IDEF3(过程描述获取)、IDEF4(面向对象设计)、IDEF5(本体论描述获取)、IDEF6(设计原理获取)、 IDEF7(信息系统审计)、IDEF8(用户界面建模)、IDEF9(场景驱动信息系统设计)、IDEF10(实施架构建模)、IDEF11(信息制品建模)、IDEF12(组织建模)、IDEF13(三模式映射设计)和IDEF14(网络规划)。 IDEF0的建模特点使它可以用来描述企业的业务流程,它的阶梯层次可用来描述业务流程的阶梯结构特性。从高层次看,IDEF0的功能活动与业务流程相对应;而从低层次看,功能活动与流程的业务活动相对应。利用IEDF0的活动描述方式及活动之间的联系方式,可以很好地描述业务流程的架构。IDEF0模型形象、直观、易于理解和分析,但是,这种图形化的模型没有深刻揭示业务流程的内部结构特征和规律,而且当业务流程很复杂时,所对应的有向图就成为一个相互交叉、混乱的网络,不利于分析流程的特征。 系统设计是根据系统分析的结果,完成系统的构建过程。系统设计的主要内容包括(27);系统总体结构设计的主要任务是将系统的功能需求分配给软件模块,确定每个模块的功能和调用关系,形成软件的(28)。 (27)A.概要设计和详细设计 B.架构设计和对象设计 C.部署设计和用例设计 D.功能设计和模块设计 (28)A.用例图 B. 模块结构图 C.系统部署图 D. 类图 【答案】A B 【解析】 系统设计的主要内容包括概要设计和详细设计。概要设计又称为系统总体结构设计,它是系统开发过程中很关键的一步,其主要任务是将系统的功能需求分配给软件模块,确定每个模块的功能和调用关系,形成软件的模块结构图,即系统结构图。在概要设计中,将系统开发的总任务分解成许多个基本的、具体的任务,为每个具体任务选择适当的技术手段和处理方法的过程称为详细设计。根据任务的不同,详细设计又可分为多种,例如,网络设计、代码设计、输入/输出设计、处理流程设计、数据存储设计、用户界面设计、安全性和可靠性设计等。 界面是系统与用户交互的最直接的层面。 Theo Mandel 博士提出了著名的人机交互“黄金三原则”,包括保持界面一致、减轻用户的记忆负担和(29)。 (29)A.遵循用户认知理解 B.降低用户培训成本 C.置于用户控制之下 D.注意资源协调方式 【答案】C 【解析】 人机交互“黄金三原则”包括:置于用户控制之下、减少用户的记忆负担、保持界面的一致性。 工作流参考模型(Workflow Reference Model ,WRM)包含 6 个基本模块,其中,(30)是工作流管理系统的核心模块,它的功能包括创建和管理流程定义,创建、管理和执行流程实例。(31)可以通过图形方式把复杂的流程定义显示出来并加以操作。 (30)A.工作流执行服务 B. 工作流引擎 C. 流程定义工具 D. 调用应用 (31)A.客户端应用 B. 工作流引擎 C.流程定义工具 D. 管理监控工具 【答案】A C 【解析】 工作流参考模型(Workflow Reference Model,WRM)包含六个基本模块,分别是工作流执行服务、工作流引擎、流程定义工具、客户端应用、调用应用和管理监控工具。这六个模块被认为是WFMS最基本的组成部分,WRM同时也包括了这些模块之间的接口标准,包括接口一、接口二、接口三、接口四和接口五,如图1-1所示。 (1)工作流执行服务。工作流执行服务是WFMS的核心模块,它的功能包括创建和管理流程定义,创建、管理和执行流程实例。在执行上述功能的同时,应用程序可能会通过编程接口与工作流执行服务交互,一个工作流执行服务可能包含有多个分布式工作的工作流引擎。该模块还为每个用户维护一个活动列表,告诉用户当前必须处理的任务,可以通过电子邮件或者短消息的形式提醒用户任务的到达,例如,在开通课程流程中,当新的课程申请的到来时,可以提示上级主管。 (2)工作流引擎。工作流引擎是为流程实例提供运行环境,并解释执行流程实例的软件模块,即负责流程处理的软件模块。 (3)流程定义工具。流程定义工具是管理流程定义的工具,它可以通过图形方式把复杂的流程定义显示出来并加以操作,流程定义工具与工作流执行服务交互,一般该模块为设计人员提供图形化的用户界面。通过流程定义工具,设计人员可以创建新的流程或者改变现有流程,在流程定义时,可以指定各项活动的参与者的类型、活动之间的相互关系和传递规则等。 (4)客户端应用。客户端应用是通过请求的方式与工作流执行服务交互的应用,也就是说,是客户端应用调用工作流执行服务。客户端应用与工作流执行服务交互,它是面向最终用户的界面,可以将客户端应用设计为B/S架构或C/S架构。 (5)调用应用。调用应用是被工作流执行服务调用的应用,调用应用与工作流执行服务交互。为了协作完成一个流程实例的执行,不同的工作流执行服务之间进行交互,它通常是工作流所携带数据的处理程序,常用的是电子文档的处理程序,它们在工作流执行过程中被调用,并向最终用户展示数据,这些应用程序的信息包括名称、调用方式和参数等。例如,在OA系统中,可以调用相关的程序来直接查看Word文档或者Excel表格数据等。 (6)管理监控工具。管理监控工具主要指组织机构和参与者等数据的维护管理和流程执行情况的监控,管理监控工具与工作流执行服务交互。WFMS通过管理监控工具提供对流程实例的状态查询、挂起、恢复和销毁等操作,同时提供系统参数和系统运行情况统计等数据。用户可以通过图形或者图表的方式对系统数据进行汇总与统计,并可随时撤销一些不合理的流程实例。 类封装了信息和行为,是面向对象的重要组成部分。在系统设计过程中,类可以分为实体类、边界类和控制类。下面用例描述中属于控制类的是(32)。 (32)A.身份验证 B. 用户 C. 通信协议 D. 窗口 【答案】A 【解析】 在系统设计过程中,类可以分为三种类型,分别是实体类、边界类和控制类。 1.实体类 实体类映射需求中的每个实体,实体类保存需要存储在永久存储体中的信息,例如,在线教育平台系统可以提取出学员类和课程类,它们都属于实体类。实体类通常都是永久性的, 它们所具有的属性和关系是长期需要的,有时甚至在系统的整个生存期都需要。 实体类是对用户来说最有意义的类,通常采用业务领域术语命名,一般来说是一个名词,在用例模型向领域模型的转化中,一个参与者一般对应于实体类。通常可以从SRS中的那些与数据库表(需要持久存储)对应的名词着手来找寻实体类。通常情况下,实体类一定有属性,但不一定有操作。 2.控制类 控制类是用于控制用例工作的类,一般是由动宾结构的短语(“动词+名词”或“名词+动词”)转化来的名词,例如,用例“身份验证”可以对应于一个控制类“身份验证器”,它提供了与身份验证相关的所有操作。控制类用于对一个或几个用例所特有的控制行为进行建模,控制对象(控制类的实例)通常控制其他对象,因此,它们的行为具有协调性。 控制类将用例的特有行为进行封装,控制对象的行为与特定用例的实现密切相关,当系统执行用例的时候,就产生了一个控制对象,控制对象经常在其对应的用例执行完毕后消亡。通常情况下,控制类没有属性,但一定有方法。 3.边界类 边界类用于封装在用例内、外流动的信息或数据流。边界类位于系统与外界的交接处,包括所有窗体、报表、打印机和扫描仪等硬件的接口,以及与其他系统的接口。要寻找和定义边界类,可以检查用例模型,每个参与者和用例交互至少要有一个边界类,边界类使参与者能与系统交互。边界类是一种用于对系统外部环境与其内部运作之间的交互进行建模的类。常见的边界类有窗口、通信协议、打印机接口、传感器和终端等。实际上,在系统设计时,产生的报表都可以作为边界类来处理。 下面关于观察者模式描述不正确的是(33)。 (33)A.观察者模式实现了表示层和数据层的分离 B.观察者模式定义了稳定的更新消息传递机制 C.在观察者模式中,相同的数据层不可以有不同的表示层 D.观察者模式定义了对象之间的一种一对多的依赖关系 【答案】C 【解析】 观察者(observer)模式。观察者模式又称为发布-订阅模式、模型-视图模式、源-监听器模式或从属者(dependents)模式,是一种对象的行为型模式。它定义了对象之间的一 种一对多的依赖关系,使得每当一个对象状态发生改变时,其相关依赖对象都得到通知并被自动更新。观察者模式的优点在于实现了表示层和数据层的分离,并定义了稳定的更新消息传递机制,类别清晰,抽象了更新接口,使得相同的数据层可以有各种不同的表示层。 行为型模式是对在不同对象之间划分责任和算法的抽象化,它可以分为类行为模式和对象行为模式。下列行为型模式中属于类行为模式的是(34)。 (34)A.职责链模式 B. 命令模式 C.迭代器模式 D. 解释器模式 【答案】D 【解析】本题考查设计模式的分类 设计模式分类情况如下所示: 从图的情况来看,属于类模式的很少,只有:创建型模式中的工厂方法;结构型模式中的适配器模式;行为型模式中的解释器模式与模板方法模式。 一个有效的客户关系经理 ( Customer Relationship Management,CRM)解决方案应具备畅通有效的客户交流渠道、对所获信息进行有效分析和(35)等特点。 (35)A、CRM 与 ERP 很好地集成 B.客户群维系 C.商机管理 D.客户服务与支持 【答案】A 【解析】 CRM的根本要求就是与客户建立一种互相学习的关系,即从与客户的接触中了解他们在使用产品中遇到的问题,以及对产品的意见和建议,并帮助他们加以解决。在与客户互动的 过程中,了解他们的姓名、通讯地址、个人喜好以及购买习惯,并在此基础上进行“一对一”的个性化服务,甚至拓展新的市场需求。例如,用户在订票中心预订了机票之后,CRM就会根据了解的信息,向用户提供唤醒服务或是出租车登记等增值服务。因此, CRM解决方案的核心思想就是通过跟客户的“接触”,搜集客户的意见、建议和要求,并通过数据挖掘和分析,提供完善的个性化服务。 一般说来,CRM可由两部分构成,分别是触发中心和挖掘中心。前者指客户和CRM通过多种方式“触发”进行沟通;后者是指对CRM记录、交流、沟通的信息进行智能分析。由此可见,一个有效的CRM解决方案应该具备以下要素: (1)畅通有效的客户交流渠道(触发中心)。在通信手段极为丰富的今天,能否支持各种触发手段与客户进行交流,是十分关键的。 (2)对所获信息进行有效分析(挖掘中心)。采用数据挖掘和商业智能等技术对收集的信息进行分析。 (3)CRM必须能与ERP很好地集成。作为企业管理的前台,CRM的市场营销和客户服务的信息必须能及时传达到后台的财务、生产等部门,这是企业能否有效运营的关键。 CRM的实现过程包含三个方面的工作。一是客户服务与支持,即通过控制服务品质以赢得顾客的忠诚度,例如,对客户快速准确的技术支持、对客户投诉的快速反应、对客户提供产品查询等;二是客户群维系,即通过与顾客的交流实现新的销售,例如,通过交流赢得失去的客户等;三是商机管理,即利用数据库开展销售,例如,利用现有客户数据库做新产品推广测试,通过电话或电子邮件促销调查,确定目标客户群等。 下面不属于企业供应链构成节点的是(36)。 (36)A.制造商 B.供应商 C.配送中心 D.视频会议 【答案】D 【解析】 SCM是企业的有效性管理,表现了企业在战略和战术上对业务流程的优化。整合并优化了供应商、制造商、零售商的业务效率,使商品以正确的数量、正确的品质、在正确的地点、以正确的时间、最佳的成本进行生产和销售。SCM包括计划、采购、制造、配送、退货五大基本内容。 (1)计划:这是SCM的策略性部分。企业需要有一个策略来管理所有的资源,以满足客户对产品的需求。好的计划是建立一系列的方法监控供应链,使它能够有效、低成本地为 顾客递送高质量和高价值的产品或服务。 (2)采购:选择能为企业提供产品和服务的供应商,与供应商建立一套定价、配送和付款流程,并监控和改善管理。 (3)制造:安排生产、测试、打包和准备送货所需的活动,是供应链中测量内容最多的部分,包括质量水平、产品产量和工人的生产效率等的测量。 (4)配送:也称为物流,是调整用户的订单收据、建立仓库网络、派递送人员提货并送货到顾客手中、建立产品计价系统、接收付款。 (5)退货:这是供应链中的问题处理部分。建立网络接收客户退回的次品和多余产品,并在客户应用产品出问题时提供支持。 知识管理是企业信息化过程中的重要环节,知识可以分为显性知识和隐性知识。 其中,(37)分别属于显性知识和隐性知识。 (37)A.主观洞察力和产品说明书 B.科学原理和个人直觉 C.企业文化和资料手册 D.可以用规范方式表达的知识和可编码结构化的知识 【答案】B 【解析】 知识可分为两类,分别是显性知识(explicit knowledge)与隐性知识(tacit knowledge)。凡是能以文字与数字来表达,而且以资料、科学法则、特定规格及手册等形式展现者皆属显性知识。这种知识随时都可在个人之间相互传送;隐性知识是相当个人化而富弹性的东西,因人而异,很难用公式或文字来加以说明,因而也就难以流传或与别人分享。个人主观的洞察力、直觉与预感等皆属隐性知识。隐性知识深植于个人的行动与经验之中,同时也储藏在一个人所抱持的理想与价值或所珍惜的情怀之中。 显性知识特征 隐性知识特征 规范、系统 尚未或难以规范、零星 背后有科学和实证基础 背后的科学原理不甚明确 稳定、明确 非正式、难捉摸 经过编码、格式化、结构化 尚未编码、格式化、结构化 用公式、软件编制程序、规律、法则、原则和说明书等方式表述 用诀窍、习惯、信念、个人特技等形式呈现 运用者对所用显性知识有明确认识 运用者对所用隐性知识可能不甚了解 易于储存、理解、沟通、分享、传递 不易保存、传递、掌握 运用互联网技术,IT 行业中的独立咨询师为企业提供咨询和顾问服务属于(38)电子商务类型。 (38)A.C2B B.B2C C.B2B D.C2C 【答案】A 【解析】 在题目所述的场景中独立咨询师属于个人,即C,而企业属于B,所以这种类型的电子商务应属于C2B。 决策支持系统的基本组成部分包括(39)。 (39)A.数据库子系统、模型库子系统、数据解析子系统和数据查询子系统 B.数据库、数据字典、数据解析模块和数据查询模块 C.数据库子系统、模型库子系统、决策算法子系统 D.数据库子系统、模型库子系统、推理部分和用户接口子系统 【答案】D 【解析】 决策支持系统(Decision Support System,DSS)是辅助决策者通过数据、模型和知识,以人机交互方式进行半结构化或非结构化决策的计算机应用系统。它是MIS向更高一级发展而产生的先进信息系统。它为决策者提供分析问题、建立模型、模拟决策过程和方案的环境,调用各种信息资源和分析工具,帮助决策者提高决策水平和质量。但是,DSS不可以代替决策者。 DSS基本结构主要由四个部分组成,分别是数据库子系统、模型库子系统、推理部分和用户接口子系统,如图2所示。 图2 DSS基本结构 数据库概念结构设计阶段的工作步骤依次为(40)。 (40)A.设计局部视图→抽象数据→修改重构消除冗余→合并取消冲突 B.设计局部视图→抽象数据→合并取消冲突→修改重构消除冗余 C.抽象数据→设计局部视图→合并取消冲突→修改重构消除冗余 D.抽象数据→设计局部视图→修改重构消除冗余→合并取消冲突 【答案】C 【解析】本题考查的是数据库概念结构设计具体步骤。 题目选项所展示的四个步骤中,有两个是我们熟知的:设计局部视图和合并取消冲突。所以解题的关键点,是分析清楚另外两个步骤到底是完成什么任务。从题目选项来看,无非是分析抽象数据与设计局部视图谁先谁后,以及合并取消冲突与修改重构消除冗余谁先谁后的问题。 抽象数据是将实际数据的特征提取出来以便建立模型,所以抽象数据应在设计局部视图之前。 而修改重构消除冗余应在合并取消冲突之后,因为重构往往意味着在调优,调优是需要先有雏形的。 设有员工关系 Emp (员工号,姓名,性别,年龄,电话,家庭住址,家庭成员,关系,联系电话〉。其中,“家庭成员,关系,联系电话”分别记录了员工亲属的姓名、 与员工的关系以及联系电话,且一个员工允许有多个家庭成员。为使数据库模式设计更合理,对于 员工关系 Emp(41)。 (41)A.只允许记录一个亲属的姓名、与员工的关系以及联系电话 B.可以不作任何处理,因为该关系模式达到了 3NF C.增加多个家庭成员、关系及联系电话字段 D.应该将家庭成员、关系及联系电话加上员工号设计成一个独立的模式 【答案】D 【解析】 题目中员工允许有多个家庭成员,此时如果要把多个家庭成员都记录下来,必然造成表中数据的冗余。此时采用拆分表格的方式来处理是最理想的状态。 给定关系模式R,U={A,B,C,D,E},F = {B→A,D→A,A→E,AC→B},则 R 的候选关键字为(42),分解ρ= {Rl(ABCE),R2(CD)}(43)。 (42)A.CD B.ABD C.ACD D.ADE (43)A.具有无损连接性,且保持函数依赖 B.不具有无损连接性,但保持函数依赖 C.具有无损连接性,但不保持函数依赖 D.不具有无损连接性,也不保持函数依赖 【答案】A D 【解析】 根据题意可绘制出函数依赖图: 图可以看出,入度为0的结点只有C与D,而两者的结合能遍历全图,所以CD为候选键。 用公式法判断是否为无损分解,由于R1∩R2=C,而原关系中没有C->*的函数依赖,所 以可以断定,分解为有损分解。 判断是否保持函数依赖,由于函数依赖D->A未被保存下来,所以此分解不是保持函数依赖的分解。 在关系R(A1,A2,A3)和S(A2,A3,A4)上进行关系运算,与该关系表达式等价的是(44)。将该关系代数表达式转换为等价的 SQL 语句如下: SELECT A1,A4 FROM R,S WHERE R.A2 <'2017'(45); (44) A. B. C. D. (45)A. B. C. D. 【答案】D C 【解析】 A选项的关系代数表达式,错误之处在于选择的两个条件不应为“或”关系。 B选项的关系代数表达式,错误之处在于R与S仅做了笛卡尔积的操作,并没有把相同属性列做等值判断。应加上:2=4及3=5的选择条件才对。 C选项的关系代数表达式,与B选项有相同错误,同时投影列号还不正确。 后面一空,首先值得说明的是,选项中有一个共同的错误,即“S.A4<’95’”应修改为“S.A4=’95’”。 选项中几个条件都是正确的,需要选择的,其实只是使用AND还是OR来进行连接。由于进行自然连接以及相关条件判断都是同时要成立的,所以必须都要用AND进行连接。 假设某文件系统的文件索引表有 i-addr[0],i-addr[1] ,...,i-addr[7]共 8 个地址项,每个地址项大小为 4 字节,其中 5 个地址项 (i-addr[0]~i-addr[4] )为直接地址索引,2 个地址项(i-addr[5]~i-addr[6]) 是 一 级 间 接 地 址 索 引 , 1 个 地 址 项(i-addr[7] )是二级间接地址索引,磁盘索引块和磁盘数据块大小均为 1KB。若要访问文件的逻辑块号分别为 5 和 518,则系统应分别采用(46)。 (46) A.直接地址索引和一级间接地址索引 B.直接地址索引和二级间接地址索引 C.一级间接地址索引和二级间接地址索引 D.二级间接地址索引和一级间接地址索引 【答案】C 【解析】 依题意,有5个地址项为直接地址索引,所以直接地址索引涉及到的逻辑块号为:0-4。 2个地址项为一级间接索引,每个一级间接索引结点对应的逻辑块个数为:1KB/4B=256个。所以一级间接索引涉及到的逻辑块号为:5-516。二级间接索引所对应的逻辑块号即为:517以上。所以逻辑块号5与518分别对应:一级间接索引与二级间接索引。 在一个单 CPU 的计算机系统中,采用可剥夺式(也称抢占式)优先级的进程调度方案,且所有任务可以并行使用 I/O 设备。下表列出了三个任务 T1、 T2 、T3 的优先级、独立运行时占用 CPU 和 I/O 设备的时间。如果操作系统的开销忽略不计,这三个任务从同时启动到全部结束的总时间为(47)ms ,CPU 的空闲时间共有(48)ms 。 任务 优先级 每个任务独立运行时所需的时间 T1 高 对每个任务: 占用CPU15ms,I/O 18ms,再占有CPU 8ms T2 中 T3 低 (47)A.41 B.71 C.90 D.123 (48)A.15 B.18 C.24 D.54 【答案】C B 【解析】本题通过画时空图求解。 不过本题求出的三个任务总时长应为:87,它与90最接近,所以选C。 进程 Pl 、P2、P3、P4、P5 和 P6 的前趋图如下所示: 若用 PV 操作控制这 6 个进程的同步与互斥的程序如下,那么程序中的空①和空②处应分别为(49); 空③和空④处应分别为(50);空⑤和空⑥处应分别为(51)。 (49)A. V (S1) V (S2) 和 P (S2) B. P (S1) P (S2) 和 V (S2) C. V (S1) V (S2) 和 P (S1) D. P (S1) P (S2) 和 V (S1) (50)A. V (S3) 和 V (S5) V (S6) B. P (S3) 和 V (S5) V (S6) C. V (S3) 和 P (S5) P (S6) D. P (S3) 和 P (S5) P (S6) (51)A. P (S6) 和 P (S7) V (S8) B. V (S6) 和 V (S7) V (S8) C. P (S6) 和 P (S7) P (S8) D. V (S7) 和 P (S7) P (S8) 【答案】C B D 【解析】本题是操作系统部分经典考题。 在本题的图中,结点代表进程,而箭线代表信号量,若箭线从某结点引出,则本结点对应的进程末尾应有对该信号量的V操作,相反,若一个箭线指向某结点,则该结点对应的进程开始处应有P操作。根据此判断原则可知:空①和空②对应的PV操作为:V()V()P()。此时备选答案中的B与D选项可排除。进一步分析,P1引出的两个信号量分别为S1与S2,其中P(S2)已在P3中出现,所以P2开始位置只能是P(S1)。所以空①和空②对应的PV操作为:V (S1) V (S2) 和 P (S1)。其余几空同理可得。 线性规划问题由线性的目标函数和线性的约束条件(包括变量非负条件)组成。满足约束条件的所有解的集合称为可行解区。既满足约束条件,又使目标函数达到极值的解称为最优解。以下关于可行解区和最优解的叙述中,正确的是(52)。 (52)A.线性规划问题的可行解区一定存在 B.如果可行解区存在,则一定有界 C.如果可行解区存在但无界,则一定不存在最优解 D.如果最优解存在,则一定会在可行解区的某个顶点处达到 【答案】D 【解析】 线性规划问题的求解结果可能出现以下几种情况:得到的最优解是唯一的,无穷多最优解(多重解),无界解(无最优解),无可行解。当求解结果出现后两种情况时,一般说明线性规划问题的数学模型有错误。无界解源于缺乏必要的约束条件,无可行解源于矛盾的约束条件。当线性规划问题的可行域非空时,它是有界或无界凸多边形。若线性规划问题存在最优解,它一定在可行域的某个顶点得到;若在两个顶点同时得到最优解,则它们连线上的任意一点都是最优解,即有无穷多最优解。 数据分析工作通常包括①~⑤五个阶段。目前,自动化程度比较 低的两个阶段是(53)。 ①发现并提出问题 ②获取并清洗数据 ③按数学模型计算 ④调整并优化模型 ⑤解释输出的结论 (53)A.①② B. ①⑤ C. ③④ D. ④⑤ 【答案】B 【解析】 数据分析中发现并提出问题往往是由人来完成,并非机器。而对输出的结论进行解读,也是由人来完成的,所以这两个阶段自动化程度较低。 某工程有七个作业 A~G,按计划,完成各作业所需的时间以及作业之间的衔接关系见下表: 作业名 A B C D E F G 所需时间(周) 5 6 5 10 8 3 4 紧后作业 C‘D’ C、D、E F G G - - 按照上述计划,该工程的总工期预计为(54)周。在工程实施了 10 周后,经理对进度进行了检查,结果是:作业 A和 B 已经完成,作业 D 完成了 30% ,作业 E 完成了 25% ,其他作业都还没有开始。如果随后完全按原计划实施,则总工期将(55)完成。 (54)A.20 B.25 C.33 D.41 (55)A.提前 1 周 B.推迟 l 周 C.推迟 2 周 D.推迟 3 周 【答案】A B 【解析】 解决本题问题时,首先需要根据题目要求绘制好网络图,如下所示。 从网络图可以了解到项目的关键路径是:BDG,长度为20,所以总工期预计20周。 10周后作业A与作业B已经完成,作业D完成了30%,作业E完成了25%。说明D已完成3天的工作量,还需要7天完成,E完成了2天的工作量,还要6天完成。所以接下来DG的长度为11,EG长度为10。加上已完成部分的10周时间,一共为21周完成,所以工期将延误一周。 加工某种零件需要依次经过毛坯、机加工、热处理和检验四道工序。各道工序有多种方案可选,对应不同的费用。下图表明了四道工序各种可选方案(连线)的衔接关系,线旁的数字表示该工序加工一个零件所需的费用(单位:元)。从该图可以推算出, 加工一个零件的总 费用至少需要(56)元。 (56)A.120 B.130 C.140 D.150 【答案】B 【解析】本题实际上是求最短路径的问题。 从起点到终点,有多条路径,把最短的一条求出来即可。该路径为:ABEGI,长度是:130。 根据历史统计情况,某超市某种面包的日销量为 100、110、120、130、140 个的概率相同,每个面包的进价为 4 元,销售价为 5 元,但如果当天没有卖完,剩余的面包次日将以每个 3 元处理。为取得最大利润,该超市每天应进货这种面包(57)个。 (57)A.110 B.120 C.130 D. 140 【答案】B 【解析】 己知八口海上油井(编号从 1#到 8#) 相互之间的距离(单位:海里)如下表所示,其中 1#油井离海岸最近为 5 海里。现从海岸开始铺设输油管道,经 1#油井将这些油井都连接起来,管道的总长度至少为(58)海里(为便于计量和维修,管道只能在油井处分叉)。 (58)A. 5 B. 9 C. 10 D.11 【答案】C 【解析】本题为数据与经济管理中的最小生成树问题。 题目给考生最大的困扰可能就是要绘制出图形来,由于线条过多,所以导致绘图耗时的问题。 其实本题变换一种思路来解决,就非常容易。我们只需要先在纸上画下#1到#8这8个点,再从表中,找最短的边来绘制在图上,连边的时候,注意不产生环图就行了。绘制出来的图形为: 5.0+0.5+0.5+0.6+0.7+0.8+0.9+1.0=10 X、Y、Z 是某企业的三个分厂,每个分厂每天需要同一种原料 20吨,下图给出了邻近供应厂 A、B、C 的供应运输路线图,每一段路线上标明了每天最多能运输这种原料的吨数。根据该图可以算出,从 A、B、C 三厂每天最多能给该企业运来这种原料共(59)吨。 (59)A.45 B. 50 C.55 D.60 【答案】C 【解析】 按题意,X、Y、Z三个分厂的最大需求是60吨,但A、B、C的供货总量为55吨。此时,总的供应量不可能超过55吨,接下来需要分析的,就是在运输过程中,有没有瓶颈,会不 会导致运出的货物无法到达目的地的情况,经分析未发现此情况,所以最多原料供应量为55吨。 计算机系统的性能一般包括两个大的方面。一个方面是它的(60),也就是计算机系统能正常工作的时间,其指标可以是能够持续工作的时间长度,也可以是在一段时间内,能正常工作的时间所占的百分比;另一个方面是处理能力,这又可分为三类指标,第一类指标是吞吐率,第二类指标是响应时间,第三类指标是(61),即在给定时间区间中,各种部件被使用的时间与整个时间之比。 (60)A.可用性 B.安全性 C.健壮性 D.可伸缩性 (61)A.可靠性 B.资源利用率 C.系统负载 D. 吞吐量 【答案】A B 【解析】 计算机系统的性能一般包括两个大的方面。一个方面是它的可靠性或可用性,也就是计算机系统能正常工作的时间,其指标可以是能够持续工作的时间长度(例如,平均无故障时间),也可以是在一段时间内,能正常工作的时间所占的百分比;另一个方面是它的处理能力或效率,这又可分为三类指标,第一类指标是吞吐率(例如,系统在单位时间内能处理正常作业的个数),第二类指标是响应时间(从系统得到输入到给出输出之间的时间),第三类指标是资源利用率,即在给定的时间区间中,各种部件(包括硬设备和软件系统)被使用的时间与整个时间之比。当然,不同的系统对性能指标的描述有所不同,例如,计算机网络系统常用的性能评估指标为信道传输速率、信道吞吐量和容量、信道利用率、传输延迟、响应时间和负载能力等。 (62)图像通过使用彩色查找表来获得图像颜色。 (62)A.真彩色 B. 伪彩色 C. 直接色 D. 矢量 【答案】B 【解析】 伪彩色(Pseudo-color)图像的每个像素值实际上是一个索引值或代码,该代码值作为色彩查找表CLUT(Color Look-Up Table)中某一项的入口地址,根据该地址可查找出包含实际R、G、B的强度值。这种用查找映射的方法产生的色彩称为伪彩色。 以下文件格式中,属于视频文件格式的是(63) (63)A.RTF B.WAV C.MPG D.JPG 【答案】C 【解析】 多信息文本格式 (RTF) 是一种方便于不同的设备、系统查看的文本和图形文档格式。 WAV为微软公司发的一种声音文件格式,它符合RIFF文件规范,用于保存Windows平台的音频信息资源,被Windows平台及其应用程序所广泛支持。 JPG全名是JPEG,JPEG图片以 24 位颜色存储单个位图。JPEG 是与平台无关的格式,支持最高级别的压缩,不过,这种压缩是有损耗的。渐近式 JPEG 文件支持交错。 所以选项中只有MPG是视频文件格式。 MPEG是运动图像压缩算法的国际标准,现已被几乎所有的计算机平台支持。它包括MPEG-1,MPEG-2,MPEG-4等。MPEG-1被广泛地应用在VCD(video compact disk)的制作,绝大多数的VCD采用MPEG-1格式压缩。MPEG-2应用在DVD(Digital Video/Versatile Disk)的制作方面、HDTV(高清晰电视广播)和一些高要求的视频编辑、处理方面。MPEG格式视频的文件扩展名通常是MPEG或MPG。 以下关于光纤的说法中,错误的是(64)。 (64)A.单模光纤的纤芯直径更细 B.单模光纤采用 LED 作为光源 C.多模光纤比单模光纤的传输距离近 D.多模光纤中光披在光导纤维中以多种模式传播 【答案】B 【解析】 多模光纤一般采用LED光源,而单模光纤则采用极为昂贵的激光作为光源体。 RIPv2 对 RIPv1 协议的改进之一为路由器必须有选择地将路由表中的信息发送给邻居,而不是发送整个路由表。具体地说,一条路由信息不会被发送给该信息的来源,这种方案称为(65),其作用是(66)。 (65)A.反向毒化 B. 乒乓反弹 C.水平分割法 D. 垂直划分法 (66)A.支持 CIDR B. 解决路由环路 C.扩大最大跳步数 D. 不使用广播方式更新报文 【答案】C B 【解析】 RIP协议存在的一个问题就是当网络出现故障的时候,要经过比较长的时间才能把信息传送到所有的路由器。在这个中间过程中,实际就是路由环路问题:当发生路由环路的时候,路由表会频繁的进行变化,从而导致路由表中的一条或者几条,都无法收敛,结果会使得网络处于瘫痪或半瘫痪状态。 水平分隔:从一个方向学来的路由信息,不能再放入发回那个方向的路由更新包,并又发回那个方向。 OSPF协议把网络划分成4种区域(Area),其中(67)不接受本地自治系统以外的路由信息,对自治系统以外的目标采用默认路由0.0.0.0。 (67)A.分支区域 B.标准区域 C.主干区域 D.存根区域 【答案】D 【解析】 Stub区域是一种比较特殊的区域,因为它不能像其他区域那样,经过该区域中的ABR接收其他OSPF AS路由。在Stub区域的内部路由器仅需要配置一条到达该区域ABR的默认路由(0.0.0.0 0.0.0.0)来实现与同一AS中不同区域间的路由,这样可使得这些区域中内部路由器的路由表的规模以及路由信息传递的数量都会大大减少。 在 Linux 中,可以使用(68)命令为计算机配置 IP 地址。 (68)A.ifconfig B.config C.ip-address D.ipconfig 【答案】A 【解析】 Linux中为计算机配置IP地址的命令为ifconfig,而在Windows中,为计算机配置IP地址的命令为ipconfig。 据统计,截至 2017 年 2 月,全球一半以上的网站已使用 HTTPS协议进行数据传输,原HTTP协议默认使用(69)端口,HTTPS使用(70)作为加密协议,默认使用443端口。 (69)A.80 B.88 C.8080 D.880 (70)A.RSA B.SSL C.SSH D.SHA-1 【答案】A B 【解析】 (69)HTTP是超文本传输协议,它采用的标准端口号为:80。 (70)HTTPS=HTTP+SSL,所以HTTPS中使用了SSL作为加密协议。 The purpose of the systems analysis phase is to build a logical model of the new system.The first step is (71),where you investigate business processes and document what the new system must do to satisfy users. This step continues the investigation that began during the (72). You use the fact-finding results to build business models,data and process models ,and object models. The deliverable for the systems analysis phase is the (73), which describes management and user requirements , costs and benefits , and outlines alternative development strategies. The purpose of the systems design phase is to create a physical model that will satisfy all documented requirements for the system. During the systems design phase,you need to determine the(74),which programmers will use to transform the logical design into program modules and code. The deliverable for this phase is the(75), which is presented to management and users for review and approval. (71)A.system logical modeling B. use case modeling C.requirements modeling D. application modeling (72)A.systems planning phase B. systems modeling phase C.systems analysis phase D.systems design phase. (73)A.system charter B.system scope definition C.system blueprint D.system requirements document (74)A.application architecture B.system data model C.system process model D.implement environment (75)A.system architecture description B.system design specification C.system technique architecture D.physical deployment architecture 【答案】B A B C B 【解析】 系统分析阶段的目的是建立新系统的逻辑模型。第一步是用例建模,调查业务流程并记录新系统必须做哪些以满足用户需求。这一步继续在系统规划阶段开始的调查。你可以使用事实调查结果构建业务模型,数据和流程模型以及对象模型。系统分析阶段的可交付成果是系统范围定义,它描述了管理和用户要求,成本和收益,并概述了替代发展策略。 系统设计阶段的目的是创建一个能够满足系统所有文件化要求的物理模型。在系统设计阶段,你需要确定系统过程模型,哪些程序员将把逻辑设计转换为程序模块和代码。该阶段的可交付成果是系统设计规范,提交给管理层和用户审查和批准。 A、System logical modeling 系统逻辑建模 B、use case modeling 用例建模 C、requirements modeling 需求建模 D、application modeling 应用建模 A、systems planning phase 系统规划阶段 B、systems modeling phase 系统建模阶段 C、systems analysis phase 系统分析阶段 D、systems design phase 系统设计阶段 A、system charter 系统章程 B、system scope definition 系统范围定义 C、system blueprint 系统蓝图 D、system requirement document 系统要求文件 A application architecture 应用架构 B system data model 系统数据模型 C system process model 系统过程模型 D implement environment 实施环境 A、system architecture description 系统架构描述 B、system design specification 系统设计规范 C、system technique architecture 系统技术架构 D、physical deployment architecture 物理部署架构 试题一(25 分) 阅读以下关于基于微服务的系统开发的叙述,在答题纸上回答问题1至问题3。 【说明】 某公司拟开发一个网络约车调度服务平台,实现基于互联网的出租车预约与管理。公司的系统分析师王工首先进行了需求分析,得到的系统需求列举如下: 系统的参与者包括乘客、出租车司机和平台管理员三类; 系统能够实现对乘客和出租车司机的信息注册与身份认证等功能,并对乘客的信用信息进行管理,对出租车司机的违章情况进行审核; 系统需要与后端的银行支付系统对接,完成支付信息审核、支付信息更新与在线支付等功能; 针对乘客发起的每一笔订单,系统需要实现订单发起、提交、跟踪、撤销、支付、 完成等业务过程的处理: 系统需要以短信、微信和电子邮件多种方式分别为系统中的用户进行事件提醒。 在系统分析与设计阶段,公司经过内部讨论,一致认为该系统的需求定义明确,建议尝试采用新的微服务架构进行开发,并任命王工为项目技术负责人,负责项目开发过程中的技术指导工作。 【问题 1】(12 分) 请用 100 字以内的文字说明一个微服务中应该包含的内容,并用 300 字以内的文字解释基于微服务的系统与传统的单体式系统相比的 2 个优势和带来的 2 个挑战。 【答案】 微服务中应该包含的内容有:资源、对资源的操作的一组 API 集合 微服务的优势: (1)通过分解巨大单体式应用为多个服务方法解决了复杂性问题。它把庞大的单一模块应用分解为一系列的服务,同时保持总体功能不变。 (2)让每个服务能够独立开发,开发者能够自由选择可行的技术,提供 API 服务。 (3)微服务架构模式是每个微服务独立的部署。开发者不再需要协调其它服务部署对 本服务的影响。这种改变可以加快部署速度。 (4)微服务使得每个服务独立扩展。你可以根据每个服务的规模来部署满足需求的规模。甚至你可以使用更适合于服务资源需求的硬件。微服务架构带来的挑战: (1)并非所有的系统都能转成微服务。例如一些数据库层的底层操作是不推荐服务化的。 (2)部署较以往架构更加复杂:系统由众多微服务搭建,每个微服务需要单独部署,从而增加部署的复杂度,容器技术能够解决这一问题。 (3)性能问题:由于微服务注重独立性,互相通信时只能通过标准接口,可能产生延迟或调用出错。例如一个服务需要访问另一个服务的数据,只能通过服务间接口来进行数据传输,如果是频繁访问,则可能带来较大的延迟。 (4)数据一致性问题:作为分布式部署的微服务,在保持数据一致性方面需要比传统架构更加困难。 【问题 2】 (8 分) 识别并设计微服务是系统开发过程中的一个重要步骤,请对题干需求进行分析,对微服务的种类和包含的业务功能进行归类,完成表1-1 中的(1)~(4)。 表1-1 微服务名称及所包含业务功能 微服务名称 包含业务功能(至少填写3个功能) 乘客管理 (1) 出租车司机管理 (2) (3) 支付信息审核、支付信息更新、在线支付 订单管理 (4) 通知中心 短信通知、微信通知、邮件通知 【答案】 (1)乘客信息注册、乘客身份认证、乘客信用信息管理 (2)出租车司机信息注册、出租车司机身份认证、司机违章情况审核 (3)支付管理 (4)订单发起、订单提交、订单跟踪、订单撤销 【问题 3】(5 分) 为了提高系统开发效率,公司的系统分析师王工设计了一个基于微服务的软件交付流程,其核心思想是将业务功能定义为任务,将完成某个业务功能时涉及到的步骤和过程定义为子任务,只有当所有的子任务都测试通过后改业务功能才能上线交付。请基于王工设计的在线支付微服务交付流程,从(a)~(f)中分别选出合适的内容填入图 1-1 中的(1)~(5)处。 选项:(a)提交测试 (b)全量上线 (c) 对接借记卡 (d) 获取个人优惠券 (e)试部署 (f)对账 【答案】 (1)f (2)c (3)d (4)a (5)b 【解析】 微服务架构是一种新的软件体系设计模式,它并没有形成统一、严格的定义,但是基于其分布式环境应用的场景,却拥有一些共同的特征:比如开发敏捷性、持续交付、可伸缩性、最终一致性等。 微服务架构建议将大型复杂的单体架构应用划分为一组微小的服务,每个微服务根据其负责的具体业务职责提炼为单一的业务功能;每个服务可以很容易地部署并发布到生产环境里隔离和独立的进程内部,它可以很容易地扩展和变更;对于一个具体的服务来说可以采用任何适用的语言和工具来快速实现;服务之间基于基础设施互相协同工作。 微服务的系统相比传统的单体式系统有一定的优势: (1)解决了复杂性问题。它把庞大的单一模块应用分解为一系列的服务,同时保持总体功能不变。这个应用被分解为多个可管理的分支或服务,每一个服务都有良好定义的边界,以远程过程调用(RPC)驱动或信息驱动的API 的形式;微服务架构模式单一模块代码库,实际很难实现。因此,独立的服务开发速度明显更快,而且更易理解和维护。 (2)让每个服务能够独立开发,开发者能够自由选择可行的技术,让服务来决定API 约定。当然,大多数组织会通过限制技术选择来避免完全的失控。然而,这种自由意味着开发者们不用被迫使用从项目开始就存在的陈旧技术,他们可以选择使用当下的技术编写一个新的服务。另外,由于这些服务本身相对比较小,用新的技术来重写旧的服务也更可行一些。 (3)每个微服务都能独立配置,开发者不必协调对于本地服务配置上的变化,这种变化一旦测试完成就被配置了。举个例子,UI 团队可以执行A|B测试后立刻对UI 的变化执行迭代。微服务架构模式使不断地配置成为可能。 (4)让每个服务都可以独立调整,你可以给每个服务配置正好满足容量和可用性限制的实例数。另外,你也可以使用最适合服务的资源需求的硬件。举例说明,你可以在EC2 计算优化的实例上配置CPU 加强的图片处理服务,另外给EC2 存储优化的实例配置内存中的数据库服务。 微服务架构带来的挑战: (1)并非所有的系统都能转成微服务。例如一些数据库层的底层操作是不推荐服务化的。 (2)部署较以往架构更加复杂:系统由众多微服务搭建,每个微服务需要单独部署,从而增加部署的复杂度,容器技术能够解决这一问题。 (3)性能问题:由于微服务注重独立性,互相通信时只能通过标准接口,可能产生延迟或调用出错。例如一个服务需要访问另一个服务的数据,只能通过服务间接口来进行数据传输,如果是频繁访问,则可能带来较大的延迟。 (4)数据一致性问题:作为分布式部署的微服务,在保持数据一致性方面需要比传统架构更加困难。 试题二(共 25分) 阅读以下关于系统数据分析与建模的叙述,在答题纸上回答问题1 至问题 3。 【说明】 某软件公司受快递公司委托,拟开发一套快递业务综合管理系统,实现快递单和物流信息的综合管理。项目组在系统逻辑数据模型设计中,需要描述的快递单样式如图 2-1 所示,图 2-2 是项目组针对该快递单所设计的候选实体及其属性。 【问题 1】(6 分) 数据库设计主要包括概念设计、逻辑设计和物理设计三个阶段,请用 200 字以内文字说明这三个阶段的主要任务。 【答案】 问题 1(6 分)系统分析师教程 P179 概念设计也称为概念结构设计,其任务是在需求分析阶段产生的需求说明书的基础上,按照特定的方法将它们抽象为一个不依赖于任何 DBMS 的数据模型,即概念模型。概念模型的表现形式即 ER 模型。 逻辑设计也称为逻辑结构设计,其主要任务是将概念模型转换为某个特定的 DBMS 上的逻辑模型。设计逻辑结构时,首先为概念模型选定一个合适的逻辑模型(如:关系模式或层次模型),然后将其转化为由特定 DBMS 支持的逻辑模型,最后对逻辑模型进行优化。物理设计也称为物理结构设计,其任务是对给定的逻辑模型选取一个最适合应用环境的物理结构,所谓数据库的物理结构,主要是指数据库在物理设备上的存储结构和存取方法。 【问题 2】(11 分) 根据快递单样式图,请说明: 1) 图 2-2 中三个候选实体对应的主属性 PK1、PK2 和 PK3 分别是什么? 2) 图 2-2 中应设计哪些实体之间的联系,并说明联系的类型。 【答案】 PK1:证件号 PK2:编号 PK3:证件号 联系1:寄件人与快递单之间应有联系,联系类型:1:N。 联系2:收件人与快递单之间应有联系,联系类型:1:N。 【解析】 寄件人实体中,证件号可以唯一标识元组,所以证件号是主键,自然证件号就是主属性。收件人主属性同理可得。 快递单中编号能唯一标识元素,所以编号是主键,编号也是主属性。 【问题 3】(8 分) 在图 2-2 中添加实体之间的联系后,该实体联系图是否满足第一范式、第二范式和第三范式中的要求(对于每种范式判定时,假定己满足低级别范式要求)。如果不满足,请用 200 字以内文字分别说明其原因。 【答案】 寄件人,收件人均满足第3范式,因为这两个关系均消除了部分函数依赖与传递函数依赖。快递单满足第2范式,但不满足第3范式,总计是个派生属性,可由前边的保价金额、代收货款、运费、加急费、包装费、保价费等计算得出,所以存在传递函数依赖,不满足3NF。 【解析】 寄件人与收件人都比较好分析,字段少,关系明了。 快递单情况较为复杂,首先值得注意的是,总计属于派生属性,这自然带来不规范的情况。进一步分析,发现存在传递依赖,所以不属性第3范式。由于主键是单个属性的,所以部分依赖还是消除了。 试题三(共 25 分) 阅读以下关于嵌入式多核程序设计技术的描述,回答问题1至问题3。 【说明】 近年来,多核技术己被广泛应用于众多安全关键领域(如:航空航天等)的电子设备中,面向多核技术的并行程序设计方法已成为软件人员急需掌握的主要技能之一。某宇航公司长期从事宇航电子设备的研制工作,随着宇航装备能力需求的提升,急需采用多核技术以增强设备的运算能力、降低功耗与体积,快速实现设备的升级与换代。针对面向多核开发,王工认为多核技术是对用户程序透明的,开发应把重点放在多核硬件架构和硬件模块设计上面,而软件方面,仅仅需要选择一款支持多核处理器的操作系统即可。而李工认为,多核架构能 够使现有的软件更高效地运行,构建一个完善的软件架构是非常必要的。提高多核的利用率不能仅靠操作系统,还要求软件开发人员在程序设计 中考虑多进程或者多线程并行处理的编程问题。 【问题 1】(12 分) 请用 300 字以内文字说明什么是多核技术和多线程技术,并回答李工的意见是否正确,为什么? 【答案】 多核是多微处理器核的简称,是将两个或更多的独立处理器封装在一起,集成在一个电路中。多核处理器是单枚芯片(也称为硅核),能够直接插入单一的处理器插槽中,但操作系统会利用所有相关的资源,将它的每个执行内核作为分立的逻辑处理器。通过在多个执行内核之间划分任务,多核处理器可在特定的时钟周期内执行更多任务。 多线程是指从软件或者硬件上实现多个线程并发执行的技术。具有多线程能力的计算机因有硬件支持而能够在同一时间执行多于一个线程,进而提升整体处理性能。 李工的意见是正确的。多核处理器虽然带来了强大的计算能力,但如果无法实现程序的并行,那么,大量计算资源将被闲置,造成巨大的浪费。所以在开发中,要注重多核编程技术,从并行计算、共享资源分布式计算、任务分解与调度、Lock-Free编程等方面充分考虑相关问题,以便将多核处理器的性能充分发挥出来。 【问题 2】(6 分) 在多核环境下,线程的活动有并行和并发两种方式,请用 300 字以内的文字说明这两种方式的含义及差别。 【答案】 如果某个系统支持两个或者多个动作(Action)同时存在,那么这个系统就是一个并发系统,即系统中同时有多个线程,可以认为是并发的情况。 如果某个系统支持两个或者多个动作同时执行,那么这个系统就是一个并行系统。当系统中有多个线程,并在同一时刻有两个,或两个以上的线程在运行状态,可认为是并行系统。 【解析】 并行:指两个或多个事件在同一时刻发生。并行源于系统存在多个(套)硬件资源,如多核CPU。 并发:指两个或多个事件在同一时间间隔内发生。从微观的角度看,还是串行。如单CPU系统。 比如对于单核CPU系统来说,多线程在CPU是并发执行的,即某一个时间点(微观),只能有一个线程占用CPU执行。所以我们说在一个时间间隔内并发执行。而对于多核CPU(如4核、8核),在某一时间点(微观),就可以同时有4个或8个线程占用CPU,在同时执行,我们说是并行执行。 【问题 3】(7 分) 请根据自己所掌握的多核、多线程的知识,判别表 3-1 给出的说法是否正确,并将答案写在答题纸上对应空白处(填写正确或错误)。 表3-1 关于多核和单核体系结构的说明 序号 说  明 是否正确 1 在面向多核体系结构开发应用程序时,只有有效地采用多线程技术并仔细分配各线程的工作负载才能够达到最高的性能 (1) 2 在面向多核平台设计多线程应用程序时,开发人员应当采用与面向单核平台时不同的设计思想 (2) 3 在多核平台上。多线程一般被当作是一种能够实现延迟隐藏的有效编程手段 (3) 4 多核平台为开发人员提供了一种优化应用程序的渠道,就是通过仔细分配加载到各线程(或各处理器核)上的工作负载就能够得到性能上的提升 (4) 5 在单核平台上,为了简化多线程应用程序的编写和调试,开发人员可能会做一些假设,这些假设也会适应于多核平台 (5) 6 在多核平台上,存储缓冲的Cache一致性问题是多核程序设计应当重点考虑的问题,但是,多核Cache的伪共享(False Sharing)问题在单核平台上也存在 (6) 7 再单核平台上,开发人员通常遵循优先级较高的线程不会受到优先级较低=线程的干扰的思想对代码进行优化,这样的代码在多核平台上运行就会非常不稳定 (7) 【答案】 (1)√ (2)√ (3)× (4)√ (5)× (6)× (7)√ 【解析】 多核是多微处理器核的简称,是将两个或更多的独立处理器封装在一起,集成在一个电路中。多核处理器是单枚芯片(也称为硅核),能够直接插入单一的处理器插槽中,但操作系统会利用所有相关的资源,将它的每个执行内核作为分立的逻辑处理器。通过在多个执行内核之间划分任务,多核处理器可在特定的时钟周期内执行更多任务。 多线程是指从软件或者硬件上实现多个线程并发执行的技术。具有多线程能力的计算机因有硬件支持而能够在同一时间执行多于一个线程,进而提升整体处理性能。具有这种能力的系统包括对称多处理机、多核心处理器以及芯片级多处理或同时多线程处理器。在一个程序中,这些独立运行的程序片段叫作“线程”,利用它编程的概念就叫作“多线程处理”。 如果某个系统支持两个或者多个动作(Action)同时存在,那么这个系统就是一个并发系统。如果某个系统支持两个或者多个动作同时执行,那么这个系统就是一个并行系统。 对此,有一种通俗的解读: 你吃饭吃到一半,电话来了,你一直到吃完了以后才去接,这就说明你不支持并发也不支持并行。 你吃饭吃到一半,电话来了,你停了下来接了电话,接完后继续吃饭,这说明你支持并发。 你吃饭吃到一半,电话来了,你一边打电话一边吃饭,这说明你支持并行。 多核编程技术主要包括并行计算、共享资源分布式计算、任务分解与调度、Lock-Free编程等内容。其中共享资源分布式计算、任务分解与调度是最重要的内容,也是大多数程序员未接触过的内容,许多并行算法都可以通过它们来实现。多核编程模式主要是提供一种多核并行与分布式编程的普遍方法,有了这些编程模式后,程序员不再需要去学习各种复杂的并行算法,它可以复用现有的串行算法,很容易地实现并行和分布式计算。在多核编程技术中,最重要的一点是如何将计算均匀分摊到各个CPU核上。 多核时代的到来,给程序员的编程思维带来了巨大的冲击和挑战。为了能够充分利用多核性能,程序员必须学会以分块的思维设计程序,以多进程或多线程的形式来编写程序。到底应该使用多进程还是多线程的形式来编写程序,是最让程序员感到困惑的问题之一,这些需要根据具体的应用来决定。在通常情况下,使用多线程进行多核编程比使用多进程有更大的优势,因为: (1)线程的创建和切换开销比进程更小。 (2)线程之间通信的方式比较多,而且简单也更有效率。 (3)多线程有很多的基础库支持。 (4)多线程的程序比多进程的程序更容易理解和修改。 除了编程形式,使用多线程编程的动机也发生了改变。过去,Windows程序员使用多线程的主要原因之一是为了提高用户程序运行效率,例如,在长时间的计算中提高GUI、I/O或者网络的响应速度。而在多核时代编写应用程序为了充分利用多个计算核心,缩短计算时间,或者在相同的时间段内计算更多任务。例如,在进行游戏编程时,通过多线程的方式把碰撞检测的计算分散到多个CPU内核,就可以大大缩减计算时间,也可以利用多核做更细致的检测计算,从而能够模拟更加真实的碰撞。 处理器所能交换的最小存储单元就是一个cache行,或者一个cache块。两个独立的cache在需要读取同一cache行时,会共享该cache行。但如果在其中一个cache中,该cache行被写入,而在另一个cache中该cache行被读取,那么即使读写的地址不相交,也需要在这两个cache之间移动该cache行。就像两个人同时在写一本日志的两个不同部分,两人的写入动作相互独立,但是除非将日志撕成两半,否则这两个人必须来回地互相传递这本日志。同样地,两个硬件线程在写入一个cache的不同部分时,互相竞争cache,就像在进行乒乓球比赛。 试题四(共 25 分) 阅读以下关于数据库分析与建模的叙述,在答题纸上回答问题 1至问题 3。 【说明】 某电子商务企业随着业务不断发展,销售订单不断增加,每月订单超过了 50 万笔,急需开发一套新的互联网电子订单系统。同时该电商希望建立相应的数据中心,能够对订单数据进行分析挖掘,以便更好地服务用户。王工负责订单系统的数据库设计与开发,初步设计的核心订单关系模式为:orders(order_no,customer_no ,order_date,product_no,price,. ....); 考虑订单数据过多,单一表的设计会对系统性能产生较大影响,仅仅采用索引不足以解决性能问题。因此,需要将订单表拆分,按月存储。 王工采用反规范化设计方法来解决,给出了相应的解决方案。李工负责数据中心的设计与开发。李工认为王工的解决方案存在问题,建议采用数据物理分区技术。在解决性能问题的同时,也为后续的数据迁移、数据挖掘和分析等工作提供支持。 【问题 1】 (8 分) 常见的反规范化设计包括增加冗余列、增加派生列、重新组表和表分割。为解决题干所述需求,王工采用的是哪种方法?请用 300 字以内的文字解释说明该方法,并指出其优缺点。 【答案】 王工采用的是水平表分割的方式进行反规范化设计。 表分割包括水平分割与垂直分割两种形式: 水平分割: 1)根据一列或多列数据的值把数据行放到两个独立的表中。 2) 按记录进行分割,不同的记录可以分开保存,每个子表的列数相同。分割的条件可能是某列或多列数据的值,如时间参数。 垂直分割: 1)把主码和一些列放到一个表,然后把主码和另外的列放到另一个表中。 2)按进行分割,即把一条记录分开多个地方保存,每个子表的行数相同。把主键和一些行放到一个表,然后把主键和另外的列放到另一个表中,通过主键进行关联。 优点:水平分割后可以降低在查询时需要读取的数据和索引的页数,同时也降低了索引的层数,提高查询速度。 缺点:水平分割会给应用增加复杂度,在查询时需要多个表明,查询所有数据需要union操作。 【问题 2】 (8 分) 物理数据分区技术一般分为水平分区和垂直分区,数据库中常见的是水平分区。水平分区分为范围分区、哈希分区、列表分区等。请阅读下表,在(1)~(8) 中填写不同分区方法在数据值、数据管理能力、实施难度与可维护性、数据分布等方面的特点。 表4-1 水平分区比较表   范围分区 哈希分区 列表分区 数据值 (1) 连续离散均可 (2) 数据管理能力 强 (3) (4) 实施难度与可维护性 (5) 好 (6) 数据分布 (7) (8) 不均匀 【答案】 (1)连续(2)离散(3)弱(4)强(5)好(6)好(7)不均匀(8)均匀 【问题 3】(9 分) 根据需求,李工宜选择物理水平分区中的哪种分区方法?请用 300字以内的文字分别解释说明该方法的优缺点。 【答案】 李工宜选择范围分区方式。 范围分区优点包括:实现容易、数据管理能力强、提高查询效果、利于维护如备份恢复时间都可缩短、利于做过期过处理。 1、分区表可以将表存储到多个表空间内,各个分区维护各自的本地索引,查询语句可以根据索引进行分区范围查找,提高了查询速度; 2、可以对单个分区进行备份、归档或者清除过期的数据,利于维护; 3、实现容易,而且可以方便的对表的分区进行添加、删除、拆分和合并操作。 范围分区缺点包括:数据分布不均匀所以可以与哈希分区组合应用。 【解析】 范围分区:就是根据数据库表中某一字段的值的范围来划分分区。 散列分区:散列分区是根据字段的hash值进行均匀分布,尽可能的实现各分区所散列的数据相等。 列表分区:列表分区明确指定了根据某字段的某个具体值进行分区,而不是像范围分区那样根据字段的值范围来划分的。 试题五(共 25 分) 阅读以下关于 Web 系统架构设计的叙述,在答题纸上回答问题1 至问题 3。 【说明】 某公司开发的 B2C 商务平台因业务扩展,导致系统访问量不断增大,现有系统访问速度缓慢,有时甚至出现系统故障瘫痪等现象。面对这一情况,公司召开项目组讨论会议,寻求该商务平台的改进方案。讨论会上,王工提出可以利用镜像站点、CDN 内容分发等方式解决并发访问量带来的问题。而李工认为,仅仅依靠上述外网加速技术不能完全解决系统现有问题,如果访问量持续增加,系统仍存在崩渍的可能。李工提出应同时结合 Web 内网加速技术优化系统改进方案,如综合应用负载均衡、缓存服务器、Web 应用服务器、分布式文件系统、分布式数据库等。经过讨论,公司最终决定采用李工的思路,完成改进系统的设计方案。 【问题 1】(10 分) 针对李工提出的改进方案,从 a ~j 中分别选出各技术的相关描 述和对应常见支持软件填入表 5-1 中的(1) ~(10) 处。 表5-1 技术描述与常见支持软件 技术 相关描述 常见支持软件 负载均衡 (1) (2)、LVS 缓存服务器 (3) (4)、Memcached 分布式文件系统 (5) (6)、(7)、MooseFS Web应用服务器 加速对请求进行处理 (8)、(9)、Jetty 分布式数据库 缓存、分割数据、加速数据查找 (10)、Mysql a)保存静态文件,减少网络交换量,加速响应请求 b)可采用软件级和硬件级负载均衡实现分流和后台减压 c)文件存储系统,快速查找文件 d)FastDFS e)HAProxy f)JBoss g)Hadoop Distributed File System(HDFS) h)Apache Tomact i)Squid j)MongoDB 【答案】 (1)(b) (2)(e) (3)(a) (4)(i) (5)(c) (6)(7)(d)(g) (8)(9)(f)(h) (10)(j) 【问题 2】(9 分) 请用 100 字以内的文字解释分布式数据库的概念,并给出提高分布式数据库系统性能的 3 种常见实现技术。 【答案】 分布式数据库是由一组数据组成的,这组数据分布在计算机网络的不同计算机上,网络中的每个节点具有独立处理的能力(称为场地自治),它可以执行局部应用,同时,每个节点也能通过网络通信子系统执行全局应用。 分布式数据库系统性能提升策略: 1. 全局查询树的变换 2. 副本的选择与多副本的更新策略 3. 查询树的分解 4. 半连接与直接连接 5.采用数据分片技术,提高访问的局部性,提升系统性能。 6.采用查询优化技术(包括:全局查询树的变换、副本的选择与多副本的更新策略、查询树的分解、半连接与直接连接)提高查询速度。 7.读写分离技术 【问题 3】 (6 分) 针对 B2C 商务购物平台的数据浏览操作远远高于数据更新操作的特点,指出该系统应采用的分布式数据库实现方式,并分析原因。 【答案】 在本题所涉及到的环境中,由于读取数据的需求非常强烈,涉及到的数据量极大,而更新较少,可以在分布式数据库中采用一主多从的机制来分散读取数据的压力。更新数据时,操作主库,从主库再同步到从库,从库只负责读取数据。 【解析】 FastDFS是一个开源的轻量级分布式文件系统,它对文件进行管理,功能包括:文件存储、文件同步、文件访问(文件上传、文件下载)等,解决了大容量存储和负载均衡的问题。特别适合以文件为载体的在线服务,如相册网站、视频网站等等。 HAProxy是一个使用C语言编写的自由及开放源代码软件,其提供高可用性、负载均衡,以及基于TCP和HTTP的应用程序代理。 Jboss是一个基于J2EE的开放源代码的应用服务器。JBoss代码遵循LGPL许可,可以在任何商业应用中免费使用,而不用支付费用。JBoss是一个管理EJB的容器和服务器,支持EJB 1.1、EJB 2.0和EJB3的规范。但JBoss核心服务不包括支持servlet/JSP的WEB容器,一般与Tomcat或Jetty绑定使用。 Hadoop分布式文件系统(HDFS)被设计成适合运行在通用硬件(commodity hardware)上的分布式文件系统。它和现有的分布式文件系统有很多共同点。但同时,它和其他的分布式文件系统的区别也是很明显的。HDFS是一个高度容错性的系统,适合部署在廉价的机器上。HDFS能提供高吞吐量的数据访问,非常适合大规模数据集上的应用。HDFS放宽了一部分POSIX约束,来实现流式读取文件系统数据的目的。HDFS在最开始是作为Apache Nutch搜索引擎项目的基础架构而开发的。HDFS是Apache Hadoop Core项目的一部分。 Tomcat是Apache 软件基金会(Apache Software Foundation)的Jakarta 项目中的一个核心项目,由Apache、Sun 和其他一些公司及个人共同开发而成。由于有了Sun 的参与和支持,最新的Servlet 和JSP 规范总是能在Tomcat 中得到体现,Tomcat 5支持最新的Servlet 2.4 和JSP 2.0 规范。因为Tomcat 技术先进、性能稳定,而且免费,因而深受Java 爱好者的喜爱并得到了部分软件开发商的认可,成为目前比较流行的Web 应用服务器。 Squid是一个高性能的代理缓存服务器,Squid支持FTP、gopher和HTTP协议。和一般的代理缓存软件不同,Squid用一个单独的、非模块化的、I/O驱动的进程来处理所有的客户端请求。 MongoDB是一个基于分布式文件存储的数据库。由C++语言编写。旨在为WEB应用提供可扩展的高性能数据存储解决方案。MongoDB是一个介于关系数据库和非关系数据库之间的产品,是非关系数据库当中功能最丰富,最像关系数据库的。他支持的数据结构非常松散,是类似json的bson格式,因此可以存储比较复杂的数据类型。Mongo最大的特点是他支持的查询语言非常强大,其语法有点类似于面向对象的查询语言,几乎可以实现类似关系数据库单表查询的绝大部分功能,而且还支持对数据建立索引。 试题一 论需求分析方法及应用 需求分析是提炼、分析和仔细审查已经获取到的需求的过程。需求分析的目的是确保所有的项目干系人(利益相关者)都理解需求的含义并找出其中的错误、遗漏或其它不足的地方。需求分析的关键在于对问题域的研究与理解。为了便于理解问题域,现代软件工程所推荐的需求分析方法是对问题域进行抽象,将其分解为若干个基本元素,然后对元素之间的关系进行建模。常见的需求分析方法包括面向对象的分析方法、面向问题域的分析方法、结构化分析方法等。而无论采用何种方法,需求分析的主要工作内容都基本相同。 请围绕"需求分析方法及应用"论题,依次从以下三个方面进行论述。 1. 简要叙述你参与管理和开发的软件系统开发项目以及你在其中所承担的主要工作。 2. 概要论述需求分析工作过程所包含的主要工作内容。 3. 结合你具体参与管理和开发的实际项目,说明采用了何种需求分析方法,并举例详细描述具体的需求分析过程。 本文的内容组织过程中需要注意的,主要是需求分析涉及到的工作内容。需求分析的工作通常包括以下七个方面: (1)绘制系统上下文范围关系图:这种关系图是用于定义系统与系统外部实体间的界限和接口的简单模型,它可以为需求确定一个范围。 (2)创建用户界面原型:用户界面对于一个系统来说是十分重要的,因此在需求分析阶段通过快速开发工具开发一个抛弃式原型,或者通过PowerPoint、Flash等演示工具制作一个演示原型,甚至是用纸和笔画出一些关键的界面接口示意图,将帮助用户更好地理解所要解决的问题,更好地理解系统。 (3)分析需求的可行性:对所有获得的需求进行成本、性能和技术实现方面的可行性研究,以及这些需求项是否与其他的需求项有冲突,是否有对外的依赖关系等。 (4)确定需求的优先级:这是一项很重要的工作,迭代开发已经成为了现代软件工程方法的一个基础,而需求的优先级是制订迭代计划的一个最重要的依据。对于需求优先级的描述,可以采用满意度和不满意度指标进行说明。其中满意度表示当需求被实现时用户的满意程度,不满意度表示当需求未被实现时用户的不满意程度。 (5)为需求建立模型:也就是建立分析模型,这些模型的表现形式主要是图表加上少量的文字描述,所谓“一图抵千字”,图形化地描述需求将使得其更加清晰、易懂。根据采用的分析方法不同,采用的图也将不同。例如,OOA中的用例模型和领域模型,SA中的DFD和E-R图等。需求分析模型主要描述系统的数据、功能、用户界面和运行的外部行为,它是系统的一种逻辑表示技术,并不涉及软件的具体实现细节。需求分析模型可以帮助系统分析师理解系统,使需求分析任务更加容易实现。同时,它也是以后进行软件设计的基础,为软件设计提供了系统的表示视图。 (6)创建数据字典:数据字典是对系统用到的所有数据项和结构进行定义,以确保开发人员使用了统一的数据定义。 (7)使用QFD:这是在需求优先级基础上的一个升华,其原理与满意度和不满意度指标十分接近,通过将产品特性、属性与对用户的重要性联系起来。 试题二 论企业应用集成 在企业信息化建设过程中,由于缺乏统一规划和总体布局,使企业信息系统形成多个信息孤岛,信息数据难以共享。企业应用集成(Enterprise Application Integration,EAI)可在表示集成、数据集成、控制集成和业务流程集成等多个层次上,将不同企业信息系统连接起来,消除信息孤岛,实现系统无缝集成。 请围绕"企业应用集成"论题,依次从以下三个方面进行论述。 1. 概要叙述你参与管理和开发的企业应用集成项目及你在其中所承担的主要工作。 2. 详细论述实现各层次的企业应用集成所使用的主要技术。 3. 结合你具体参与管理和开发的实际项目,举例说明所采用的企业集成技术的具体实现方式及过程,并详细分析其实现效果。 在组织本文内容时需要注意各种集成所代表的含义,然后选择一种集成(或多种)表明其在系统中如何应用的。 1. 表示集成 表示集成也称为界面集成,这是比较原始和最浅层次的集成,但又是常用的集成。这种方法把用户界面作为公共的集成点,把原有零散的系统界面集中在一个新的界面中。 表示集成是黑盒集成,无需了解程序与数据库的内部构造。常用的集成技术主要有屏幕截取和输入模拟技术。表示集成通常应用于以下几种情况: (1)在现有的基于终端的应用系统上配置基于PC的用户界面。 (2)为用户提供一个看上去统一,但是由多个系统组成的应用系统。 (3)当只有可能在显示界面上实现集成时。 表示集成的实现是很简单的,也是很不彻底的,只是做了一层“外装修”,而额外多出来的集成界面也将可能成为系统的性能瓶颈。 2. 数据集成 为了完成控制集成和业务流程集成,必须首先解决数据和数据库的集成问题。在集成之前,必须首先对数据进行标识并编成目录,另外还要确定元数据模型,保证数据在数据库系统中分布和共享。因此,数据集成是白盒集成。 有很多不同的中间件工具可以用于数据集成。例如,批量文件传输,即以特定的或是预定的方式在原有系统和新开发的应用系统之间进行文件传输;用于访问不同类型数据库系统的ODBC标准接口;向分布式数据库提供连接的数据库访问中间件技术等。 通常在以下情况下,将会使用数据集成: (1)需要对多种信息源产生的数据进行综合分析和决策。 (2)要处理一些多个应用程序需要访问的公用信息库。 (3)当需要从某数据源获得数据来更新另一个数据源时,特别是它们之间的数据格式不相同时。 相对而言,数据集成比表示集成要更加灵活。但是,当业务逻辑经常发生变化时,数据集成就会面临困难。 3. 控制集成 控制集成也称为功能集成或应用集成,是在业务逻辑层上对应用系统进行集成的。控制集成的集成点存于程序代码中,集成处可能只需简单使用公开的API就可以访问,当然也可能需要添加附加的代码来实现。控制集成是黑盒集成。 实现控制集成时,可以借助于远程过程调用或远程方法调用、面向消息的中间件、分布式对象技术和事务处理监控器来实现。控制集成与表示集成、数据集成相比,灵活性更高。表示集成和数据集成适用的环境下,都适用于控制集成。但是,由于控制集成是在业务逻辑层进行的,其复杂度更高一些。而且,很多系统的业务逻辑部分并没有提供API,这样,集成难度就会更大。 4. 业务流程集成 业务流程集成也称为过程集成,这种集成超越了数据和系统,它由一系列基于标准的、统一数据格式的工作流组成。当进行业务流程集成时,企业必须对各种业务信息的交换进行定义、授权和管理,以便改进操作、减少成本、提高响应速度。 业务流程集成不仅要提供底层应用支撑系统之间的互连,同时要实现存在于企业内部的应用之间,本企业和其他合作伙伴之间的端到端的业务流程的管理,它包括应用集成、B2B集成、自动化业务流程管理、人工流程管理、企业门户,以及对所有应用系统和流程的管理和监控等。 试题三 论数据流图在系统分析与设计中的应用 数据流图 (Data Flow Diagram ,DFD) 是进行系统分析和设计的重要工具,是表达系统内部数据的流动并通过数据流描述系统功能的一种方法。DFD 从数据传递和加工的角度,利用图形符号通过逐层细分描述系统内各个部件的功能和数据在它们之间传递的 情况,来说明系统所完成的功能。在系统分析中,逻辑 DFD 作为需求规格说明书的组成部分,用于建模系统的逻辑业务需求;在系统设计中,物理DFD 作为系统构造和实现的技术性蓝图,用于建模系统实现的技术设计决策和人为设计决策。 请围绕“数据流图在系统分析与设计中的应用”论题,依次从以下三个方面进行论述。 1. 简要叙述你参与的软件开发项目以及你所承担的主要工作。 2. 列举出 DFD 中的几种要素及含义,简要说明在系统分析与设计阶段逻辑 DFD 和物理 DFD 中这些要素之间有何区别。 3. 根据所参与的项目,具体阐述你是如何通过绘制数据流图来进行系统分析与设计的。 本文的内容组织,其关键在于对题目要求的一些知识内容要能准确把握。 DFD是SA方法中的重要工具,是表达系统内数据的流动并通过数据流描述系统功能的一种方法。DFD还可被认为是一个系统模型,在信息系统开发中,如果采用结构化方法,则一般将DFD作为需求规格说明书的一个组成部分。 在DFD中,通常会出现4种基本符号,分别是数据流、加工、数据存储和外部实体(数据源及数据终点)。数据流是具有名字和流向的数据,在DFD中用标有名字的箭头表示。加工是对数据流的变换,一般用圆圈表示。数据存储是可访问的存储信息,一般用直线段表示。外部实体是位于被建模的系统之外的信息生产者或消费者,是不能由计算机处理的成分,它们分别表明数据处理过程的数据来源及数据去向,用标有名字的方框表示。 DFD可以是一个物理系统模型,也可以是逻辑系统模型,也可以是两者的混合。 逻辑DFD与物理DFD最大的区别在于,逻辑DFD只描述了相关的组成要素,而物理DFD则会涉及到具体的实现技术。 试题四 论软件的系统测试及其应用 软件系统测试的对象是完整的、集成后的计算机系统,其目的是在真实系统工作环境下,验证完整的软件配置项能否和系统正确连接,并满足系统设计文档和软件开发合同规定的要求。常见的系统测试包括功能测试、性能测试、压力测试、安全测试等。同时,在系统测试中,涉及到众多的软件模块和相关干系人,测试的组织和管理是系统测试成功的重要保证。 请围绕"软件的系统测试及其应用"论题,依次从以下三个方面进行论述。 1. 简要叙述你参与管理和开发的软件项目以及你在其中所承担的主要工作。 2. 概要论述系统测试过程中测试管理的主要活动内容,论述性能测试的目的和基本类型。 3. 结合你具体参与管理和开发的实际项目,说明如何管理性能测试的各项活动,以及性能测试具体采用的方法、工具、实施过程以及应用效果。 本题的要求与2016年论文中系统测试主题论文要求大同小异,只是本题更强调了要写性能测试方面的内容。 系统测试的对象是完整的、集成的计算机系统,系统测试的目的是在真实系统工作环境下,验证完整的软件配置项能否和系统正确连接,并满足系统/子系统设计文档和软件开发合同规定的要求。系统测试的技术依据是用户需求或开发合同,除应满足一般测试的准入条件外,在进行系统测试前,还应确认被测系统的所有配置项已通过测试,对需要固化运行的软件还应提供固件。 一般来说,系统测试的主要内容包括功能测试、健壮性测试、性能测试、用户界面测试、安全性测试、安装与反安装测试等,其中,最重要的工作是进行功能测试与性能测试。功能测试主要采用黑盒测试方法;性能测试主要验证软件系统在承担一定负载的情况下所表现出来的特性是否符合客户的需要,主要指标有响应时间、吞吐量、并发用户数和资源利用率等。 功能测试的目的很简单,测试系统是否达到了用户明确提出的需求及隐含需求。 性能测试的目的是验证软件系统是否能够达到用户提出的性能指标,同时发现软件系统中存在的性能瓶颈,并优化软件,最后起到优化系统的目的。具体来说,包括以下四个方面: (1)发现缺陷。软件的某些缺陷与软件性能密切相关,针对这些缺陷的测试一般需要伴随着性能测试进行。 (2)性能调优。与调试不同,性能调优并不一定针对发现的性能缺陷,也可能是为了更好地发挥系统的潜能。 (3)评估系统的能力。软件性能测试不仅需要测试软件在规定条件下是否满足性能需求,往往还需要测试能够满足性能需求的条件极限。 (4)验证稳定性和可靠性:在一定负载下测试一定的时间,是评估系统稳定性和可靠性是否满足要求的唯一方法。

下载文档到电脑,查找使用更方便

文档的实际排版效果,会与网站的显示效果略有不同!!

需要 10 金币 [ 分享文档获得金币 ] 0 人已下载

下载文档