Newer
Older
csv2brain / app / src / main / assets / exam / a.json
ubt on 24 Jan 2024 264 KB 增加习题列表
{"msg":"案例分析","code":200,"data":{"totalCount":276,"pageSize":75,"totalPage":4,"currPage":1,"questionList":[{"id":"794934022080843777","title":"<p>试题四(25分)</p><p>&nbsp;&nbsp; &nbsp;阅读以下关于系统设计与开发工具集成的说明,在对应栏内回答问题1至问题3。</p><p>[说明]</p><p>&nbsp;&nbsp; &nbsp;TeleDev是一个大型的电信软件开发公司,公司内部采用多种商业/开源的工具进行软件系统设计与开发工作。为了提高系统开发效率,公司管理层决定开发一个分布式的系统设计与开发工具集成框架,将现有的系统设计与开发工具有效集成在一起。集成框架开发小组经过广泛调研,得到了如下核心需求。</p><p>&nbsp;&nbsp; &nbsp;1.目前使用的系统设计与开发工具的运行平台和开发语言差异较大,集成框架应无缝集成各个工具的功能;</p><p>&nbsp;&nbsp; &nbsp;2.目前使用的系统设计与开发工具所支持的通信协议和数据格式各不相同,集成框架应实现工具之间的灵活通信和数据格式转换;</p><p>&nbsp;&nbsp; &nbsp;3.集成框架需要根据实际的开发流程灵活、动态地定义系统工具之间的协作关系;</p><p>&nbsp;&nbsp; &nbsp;4.集成框架应能集成一些常用的第三方实用工具,如即时通信、邮件系统等。</p><p>&nbsp;&nbsp; &nbsp;集成框架开发小组经过分析与讨论,最终决定采用企业服务总线(ESB.作为集成框架的基础架构。</p><br><p>【问题2】(8分)在ESB基础架构的基础上,请根据题干描述中的4个需求,说明每个需求应该采用何种具体的集成方式或架构风格最为合适。</p>","analyze":"<p>对于需求(1)“目前使用的系统设计与开发工具的运行平台和开发语言差异较大,集成框架应无缝集成各个工具的功能”来说,由于需要共享系统的功能,并且系统的运行平台与语言差异较大,应该采用面向服务的方式进行功能集成,可以将工具的功能包装为服务,实现跨语言与跨平台访问。</p><p>&nbsp;&nbsp; &nbsp;对于需求(2)“目前使用的系统设计与开发工具所支持的通信协议和数据格式各不相同,集成框架应实现工具之间的灵活通信和数据格式转换”来说,工具所支持的通信协议和数据格式各不相同,并需要实现工具之间的灵活通信协议和数据格式交换,因此应该基于消息总线,以协议及数据适配器的方式实现灵活的通信协议和数据格式转换。</p><p>&nbsp;&nbsp; &nbsp;对于需求(3)“集成框架需要根据实际的开发流程灵活、动态地定义系统工具之间的协作关系”来说,集成框架需要根据实际的软件系统开发流程,灵活、动态地定义系统设计与开发工具之间的协作关系,因此应该采用解释器架构风格,引入工作流定义语言及其引擎来动态描述工具之间的协作关系。</p><p>&nbsp;&nbsp; &nbsp;对于需求(4)“集成框架应能集成一些常用的第三方实用工具,如即时通信、邮件系统等”来说,应该采用界面集成的方法对第三方工具进行集成,绕过工具内部的复杂处理逻辑,实现功能集成。</p>","multi":0,"questionType":2,"answer":"<p>【问题2】对于需求(1)来说,由于需要共享系统的功能,并且系统的运行平台与语言差异较大,应该采用面向服务的方式进行功能集成,可以将工具的功能包装为服务,实现跨语言与跨平台访问。</p><p>&nbsp;&nbsp; &nbsp;对于需求(2)来说,工具所支持的通信协议和数据格式各不相同,并需要实现工具之间的灵活通信协议和数据格式交换,因此应该基于消息总线,以协议及数据适配器的方式实现灵活的通信协议和数据格式转换。</p><p>&nbsp;&nbsp; &nbsp;对于需求(3)来说,集成框架需要根据实际的软件系统开发流程,灵活、动态地定义系统设计与开发工具之间的协作关系,因此应该引入工作流定义语言及其引擎来动态描述工具之间的协作关系。</p><p>&nbsp;&nbsp; &nbsp;对于需求(4)来说,应该采用界面集成的方法对第三方工具进行集成,绕过工具内部的复杂处理逻辑。</p>","chooseItem":null,"itemList":null,"userAnswer":null,"userChooseItem":null,"answerCorrect":null,"userCollect":null},{"id":"794934138112069633","title":"<p>试题三(25分)</p><p>阅读以下关于某嵌入式实时系统的软件需求的叙述,回答问题1至问题3。某公司承担了一项嵌入式实时控制系统的软件开发任务,其内容是按系统要求的固定的时间序列采集、处理、输出数据,以实现对多个设备的综合控制。</p><p>系统由硬件和软件组成,硬件由处理机(采用PowerPC603e,主频133MHz)、存储器、定时器、中断控制器、双口存储器(空间大小1024KB)、4路422半双工串口接口(其中两路的频率115200Hz,另两路频率38400Hz)、两路A/D、D/A数模转换器和10路离散量接口组成。系统的软件需求如下(注:B:字节;s:秒;ms:毫秒):</p><p>(1)系统要求以5ms为周期从双口存储器中采集1024KB的输入数据,处理任务的时间约为1ms;(称为5ms任务)(2)系统要求以20ms为周期从两路422接口(115200Hz)中采集一定格式的大小为64B的数据,在完成处理(处理时间约为4ms)任务后,分别输出大小为16B的控制命令;(称为20ms任务)</p><p>(3)系统要求以60ms为周期从两路422接口(38400Hz)中采集一定数据格式的大小为6B数据,从两路A/D接口采集28位数据,在完成处理(处理时间约为2ms)任务后,分别输出大小为2B的控制命令和一个28位D/A数据,输出8路离散量控制数据;(称为60ms任务)4)作为系统的安全监控保障,系统要求在每1s内对系统软硬件状态进行测试并完成系统工作的状态记录工作。该任务共需处理时间是5ms。(称为1s任务)</p><p>本公司课题组根据用户的硬件环境及软件的需求,就软件的实施方案展开了激烈的讨论,讨论的首要问题就是本系统中软件的运行平台是采用嵌入式实时操作系统还是在裸机上直接开发的方式,李工程师(简称李工)提出了为了保证系统的实时性,应该采用裸机上直接开发的方式,关键部分采用汇编语言编写,而王工程师(简称王工)提出,由于系统将由多种周期的处理任务组成,为了保证系统的可靠性,应该采用商用嵌入式实时操作系统作为本项目的开发基础,经过充分论证,最后李工接受了王工的建议,并申报课题组组长,课题组长同意采用了操作系统的方案,并指出必须尽快对需求的时间性能做出评估。</p><br><p>[问题1](10分)</p><p>请用450字以内文字简要说明王工提出的采用嵌入式实时操作系统的理由或优点,并说明选择操作系统产品时需要重点考虑其哪些功能与性能?</p>","analyze":"<p>略</p>","multi":0,"questionType":2,"answer":"<p>【问题1】</p><p>采用嵌入式实时操作系统的主要理由及优点:</p><p>操作系统提供的任务调度功能,可以有效地管理本系统多周期任务的调度,并且操作系统提供的事件、信号和间的通信机制,可以有效地解决本系统中资源共享中的互斥问题。</p><p>采用商品化的软件,可提高所开发软件的可靠性,还可简化软件开发成本,提高开发效率。</p><p>选择嵌入式实时操作系统,主要考虑操作系统以下功能和性能:</p><p>(1)任务的上下文切换时间越短越好、中断响应时间越快越好、内核代码占用空间比较小。</p><p>(2)操作系统提供的服务接口应较丰富,有利于灵活使用(接口的开放性)。</p><p>(3)操作系统对可靠性有较强的保障支持能力。</p><p>(4)使用简单,支撑环境配套好,可配置、可剪裁能力强。</p>","chooseItem":null,"itemList":null,"userAnswer":null,"userChooseItem":null,"answerCorrect":null,"userCollect":null},{"id":"834660124785135617","title":"<br><p style=\";break-after: avoid;font-family: 宋体;font-size: 21px;text-indent: 27px;line-height: 32px\">试题三&nbsp;论软件设计模式及其应用</p><p>设计模式(Design Pattern)是一套被反复使用的代码设计经验总结,代表了软件开发人员在软件开发过程中面临的一般问题的解决方案和最佳实践。使用设计模式的目的是提高代码的可重用性,让代码更容易被他人理解,并保证代码可靠性。现有的设计模式已经在前人的系统中得以证实并广泛使用,它使代码编写真正实现工程化,将已证实的技术表述成设计模式,也会使新系统开发者更加容易理解其设计思路。根据目的和用途不同,设计模式可分为创建型(creational)模式、结构型(structural)模式和行为型(behavioral)模式三种。</p><p>请围绕“论软件设计模式及其应用”论题,依次从以下三个方面进行论述:</p><br/><p>1.简要叙述你参与的软件开发项目以及你所承担的主要工作。</p><p>2.详细说明每种设计模式的特点及其所包含的具体设计模式,每个类别至少详细说明两种代表性设计模式。</p><p>3.根据你所参与的项目,论述具体釆用了哪些设计模式,其实施效果如何。</p><p>&nbsp;</p>","analyze":"无","multi":0,"questionType":2,"answer":"无","chooseItem":null,"itemList":null,"userAnswer":null,"userChooseItem":null,"answerCorrect":null,"userCollect":null},{"id":"794934065399615489","title":"<p>题目一<br/>阅读以下关于软件系统分析的叙述,在答题纸上回答问题1至问题3。</p><p>【说明】</p><p>已知某信息工程项目由A到I共9个活动组成,项目组根据项目目标,特别是工期要求,经过分析、定义及评审,给出了该项目的活动历时。活动所需资源及活动逻辑关系列表,如下表所示:<br/><img src=\"https://image.chaiding.com/ruankao/dcc7c1002c0e524415396f4f5931718e.png?x-oss-process=style/ruankaodaren\" title=\"dcc7c1002c0e524415396f4f5931718e.png\" alt=\"image.png\"/></p><br/><br/><br><p>【问题1】(4分)</p><p>请指出该项目的关键路径和工期</p>","analyze":"<p><img style=\"max-width:100%;height:auto\"  src=\"https://image.chaiding.com/ruankao/fe7fd6401b9ba1d2ec7b2e6140eed28f.png?x-oss-process=style/ruankaodaren\" title=\"fe7fd6401b9ba1d2ec7b2e6140eed28f.png\" alt=\"image.png\"/></p>","multi":0,"questionType":2,"answer":"<p>A-B-D-F-H-I,工期为95天。</p><p><br/></p>","chooseItem":null,"itemList":null,"userAnswer":null,"userChooseItem":null,"answerCorrect":null,"userCollect":null},{"id":"794934074073436161","title":"<p>题目三<br/>阅读以下关于某嵌入式系统设计的说明,回答下列问题。</p><p>[说明]</p><p>某公司承接了某嵌入式系统的研制任务。该嵌入式系统由数据处理模块、系统管理模块、FC网络交换模块和智能电源模块组成,系统组成如图1所示。数据处理模块处理系统的应用任务;系统管理模块除了处理系统的应用任务外,还负责管理整个嵌入式系统;FC网络交换模块采用消息机制,支持广播和组播,主要负责系统的数据交换;智能电源模块负责给其他模块供电,该模块根据系统命令可以给其他模块供电或停止供电。</p><img src=\"https://image.chaiding.com/ruankao/16acd7f65c0c9cefc0f937e5c8e6c088.png?x-oss-process=style/ruankaodaren\" title=\"16acd7f65c0c9cefc0f937e5c8e6c088.png\" alt=\"image.png\"/><br/><p>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;图1&nbsp;&nbsp;某嵌入式系统的组成</p><br><p>问题3(3分)</p><p>(1)在本系统中,FC网络采用何种拓扑结构?请从如下4项中选择最为合适的。</p><p>A.总线 &nbsp; &nbsp;B.树型 &nbsp; &nbsp;C.星形 &nbsp; &nbsp;D.点对点</p><p>&nbsp;(2)FC网络除了用于交换的光纤基础架构,还必须有高性能的I/O通道结构支持,I/O通道在FC网络中的优势是什么?</p>","analyze":"<p>数据通信网络常见的拓扑结构由简单到复杂依次为:点对点、总线、树型、星形。</p><p>点到点型指网络中一个信息源节点连接到一个或多个目的节点,是专用的链路,具有通信效率高,延迟小的优点,但是建立多点全互联的网络具有连线多、成本高、资源利用率低等缺点。</p><p>总线型指网络中一个信息源节点连接到一个或多个目的节点,采用集中控制、令牌访问、CSMA/CD等方式,具有连线少、成本较低、资源利用率高等优点,但存在通信吞吐量低、延迟大的缺点,尤其在网络负载重的情况下。</p><p>树型指网络中所有节点挂接到一个树形结构上,可以采用集中控制、令牌访问等方式,具有连线简单、成本较低的优点,但存在通信吞吐量低、延迟大的缺点,尤其在网络负载重的情况下。</p><p>星形指网络中所有节点连接到中心交换机,节点之间的通信经过交换机路由转发,具有通信吞吐量高、延迟小、连线较简单的优点,但存在成本高、交换机单点故障风险的缺点。</p><p>本题为了满足嵌入式系统对高带宽、低延迟的通信要求,通过分析以上网络的拓扑结构特点,FC网络应选择星形结构。星形结构是最佳的方案。</p><p>SAN通常有FC SAN和IP SAN两种实现技术。FC SAN采用I/O结合光纤通道,IP SAN采用iSCSI实现异地间数据交换,具有简单、廉价、高速等优势。</p>","multi":0,"questionType":2,"answer":"<p>(1)C &nbsp; (2)简单、廉价、高速</p>","chooseItem":null,"itemList":null,"userAnswer":null,"userChooseItem":null,"answerCorrect":null,"userCollect":null},{"id":"794934082713702401","title":"<p>阅读以下关于原型法的叙述,回答问题1至问题3。</p><p>某软件公司多年来开发的项目大都采用结构化方法。但系统开发的实践表明,尽管在许多情况下使用了严格定义或预先说明的方法,但当系统建成以后,用户仍然觉得建立的系统是不完全正确或不完备的,因此需要进行反复地修补。</p><p>针对上述情况,公司的李总工程师提出,应该引入原型法,以快速地确定用户需求,提高开发过程中的生产率和最终系统的质量。</p><br><p>【问题1】(13分)</p><p>请用 400字以内文字,分别论述原型法与严格定义法适用的场合。</p>","analyze":"无","multi":0,"questionType":2,"answer":"<p>【问题1】</p><p>1、严格定义方法适用的场合∶①所有的需求都能够被预先定义;②修改定义不完备的系统代价昂贵且实施困难;③项目参加者之间能够清晰而准确地进行通信;④静态描述或图形模型对应用系统的反映是充分的;⑤严格方法的生命周期中各阶段划分都是正确的。</p><p>2、原型法适用的场合∶①并非所有的需求在系统开发以前都能准确地说明;②有快速的系统建造工具;③项目参与者之间经常存在通信上的障碍;④需要实际的、可供用户参与的系统模型;⑤需求一旦确定就可以遵从严格定义的方法;⑥大量的反复是不可避免的,必要的,应该加以鼓励。</p>","chooseItem":null,"itemList":null,"userAnswer":null,"userChooseItem":null,"answerCorrect":null,"userCollect":null},{"id":"834660125187788801","title":"<br><p><br/></p><p style=\";break-after: avoid;font-family: 宋体;font-size: 21px;text-wrap: wrap;text-indent: 27px;line-height: 32px\">试题四&nbsp;论遗留系统演化策略及其应用</p><p>遗留系统是指任何基本上不能进行修改和演化以满足新的变化了的业务需求的信息系统。在企业信息系统升级改造过程中,如何处理和利用遗留系统,成为新系统建设中的重要问题,而处理恰当与否,直接关系到新系统的成败和开发效率。遗留系统的演化方式有多种, 究竟釆用哪些策略来处理遗留系统,需要根据对遗留系统的评价结果来确定。<br/><br/></p><p>请围绕“论遗留系统演化策略及其应用”论题,依次从以下三个方面进行论述:</p><p>1.概要叙述你参与管理和开发的软件项目,以及你在其中所担任的主要工作。</p><p>2.详细论述遗留系统评价的主要活动,论述常见的演化策略。</p><p>3.结合你具体参与管理和开发的实际项目,说明如何进行遗留系统评价并选择合适的演化策略,请说明具体实施过程以及应用效果。</p>","analyze":"<p>无</p>","multi":0,"questionType":2,"answer":"<p>无</p>","chooseItem":null,"itemList":null,"userAnswer":null,"userChooseItem":null,"answerCorrect":null,"userCollect":null},{"id":"794934143044571137","title":"<p>试题四(共 25 分)&nbsp;</p><p>某医药销售企业因业务发展,需要建立线上药品销售系统,为用户提供便捷的互联网药品销售服务、该系统除了常规药品展示、订单、用户交流与反馈功能外,还需要提供当前热销产品排名、评价分类管理等功能。&nbsp;</p><p>通过对需求的分析,在数据管理上初步决定采用关系数据库(MySQL)和数据库缓存(Redis)的混合架构实现。</p><br><p>【问题3】(7分)</p><p>(1)Redis的数据类型包括String、Hash、List、Set和Z Set等,请说明实现Redis 当前热销药品排名的功能应该选择使用哪种数据类型。</p><p>(2)考虑到Redis在使用时需考虑分布式存储的集群扩展能力,请给出几种典型的Redis分布式存储方案。</p>","analyze":"<p>略</p>","multi":0,"questionType":2,"answer":"<p>(1)String类型可用于缓存层或计数器,如视频播放量、文章浏览量等。Hash类型可用于描述用户信息。list类型可用于回复评论、点赞。Zset类型可用于数据排名。本题适用于Zset类型。</p><p>(2)主从复制模式、哨兵(sentinel)模式、集群(Cluster)模式。</p>","chooseItem":null,"itemList":null,"userAnswer":null,"userChooseItem":null,"answerCorrect":null,"userCollect":null},{"id":"794934091588849665","title":"<p>国内某安防公司欲为其防火报警器产品研发互联网产品以提高产品的易用性和用户透明性,并为主管部门提供信息辅助和联防联控支持。</p><p>据用户描述,设备使用场景存在多种可能性,如:</p><p>1. 开发商集中采购在楼盘中批量安装部署;</p><p>2. 用户购买,在自身房屋中安装使用1个到多个终端;</p><p>3. 企业在其自身的营业场所批量安装部署;</p><p>并且,研发的应用产品将面对多种使用客户,如:</p><p>1. 消防中队或消防站</p><p>2. 企业安防用户</p><p>3. 社区或物业的安防用户</p><p>4. 个人用户及其亲属关联用户</p><p>据此,系统分析师提出以SaaS产品形式组织应用研发。</p><br><p>【问题2】(8分)</p><p>设备厂商的技术总监在需求说明中,有如下一部分数据结构的描述:</p><p>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;设备信息(设备标识、登记标识、所属用户、设备状态)</p><p>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;设备心跳(设备标识、最后一次心跳时间)</p><p>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;设备异常(设备标识、异常类型、异常发现时间、是否推送)</p><p>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;请描述数据结构是否合理,并说明原因。</p>","analyze":"无","multi":0,"questionType":2,"answer":"<p>1、设备与用户间存在多对多的关系,如单个设备既属于社区安防用户,又属于消防站监管。</p><p>2、设备状态属于设备动态属性,不应与静态属性混合存储,会增加静态信息表的IO。</p><p>3、设备心跳不应只存储最后一次,无法获取全部设备状态。</p><p>4、设备异常的推送是否仅单一一个用户一次,如果存在多条推送,则存在一对多的关系。</p>","chooseItem":null,"itemList":null,"userAnswer":null,"userChooseItem":null,"answerCorrect":null,"userCollect":null},{"id":"794934061540855809","title":"<p>试题四(25分)</p><p>【说明】</p><p>某软件企业开发了一套新闻社交类软件,提供常见的新闻发布、用户关注、用户推荐、新闻点评、新闻推荐、热点新闻等功能,项目采用 My SQL 数据库来存储业务数据。系统上线后,随着用户数量的增加,数据库服务器的压力不断加大。</p><p>为此,该企业设立了专门的工作组来解决此问题。张工提出对 My SQL 数据库进行扩展,采用读写分离,主从复制的策略,好处是程序改动比较小,可以较快完成,后续也可以扩展到 My SQL 集群,其方案如图 4-1 所示。李工认为该系统的诸多功能,并不需要采用关系数据库,甚至关系数据库限制了功能的实现,应该采用 No SQL 数据库来替代 My SQL,重新构造系统的数据层。而刘工认为张工的方案过于保守,对该系统的某些功能,如关注列表、</p><p>推荐列表、热搜榜单等实现困难,且性能提升不大;而李工的方案又太激进,工作量太大,短期无法完成,应尽量综合二者的优点,采用Key-Value数据库+My SQL数据库的混合方案。</p><p>经过组内多次讨论,该企业最终决定采用刘工提出的方案。</p><br/><img src=\"https://image.chaiding.com/ruankao/5f5dcf8fc3512dccd4ca391374f1409c.jpg?x-oss-process=style/ruankaodaren\" title=\"5f5dcf8fc3512dccd4ca391374f1409c.jpg\" alt=\"1.jpg\"/><br><p>【问题3】(9分)</p><p>主从复制可以采用同步、异步、半同步复制。请简述每种复制技术的特点。</p>","analyze":"无","multi":0,"questionType":2,"answer":"<p>(1)同步复制主数据库需要等待所有备数据库均操作成功才可以响应用户,影响用户体验。这种方式保证了系统的一致性,但牺牲了数据的可用性。</p><p>(2)异步复制:当用户请求更新数据时,主数据库处理完请求后可直接给用户响应,而不必等待备数据库完成同步,备数据库会异步进行数据的同步,用户的更新操作不会因为备数据库未完成数据同步而导致阻塞。这种方式保证了系统的可用性,但牺牲了数据的一致性。(3)半同步复制:用户发出写请求后,主数据库会执行写操作,并给备数据库发送同步请求,但主数据库不用等待所有备数据库回复数据同步成功便可响应用户,也就是说主数据库可以等待一部分备数据库同步完成后响应用户写操作执行成功。</p>","chooseItem":null,"itemList":null,"userAnswer":null,"userChooseItem":null,"answerCorrect":null,"userCollect":null},{"id":"796240122507972609","title":"试题四(25分)<br>\n阅读以下关于数据库备份与恢复方面的叙述,回答问题1至问题4。<br>\n【说明】<br>\n银行金融系统对数据库中的数据安全要求很高,必须在技术层面上采用必要的措施,以保证数据的有效和不丢失。数据库的备份与恢复是保证数据安全的一种基本方法,一般将数据库备份划分为冷备份、热备份和数据导出,而数据导出根据导出数据的范围,又可以分为完全导出、增量导出和累计导出。<br>\n该金融系统上线初期,整个业务系统采用了内网方式运行,不与外网发生联系。为了保证数据库内部数据的安全,该银行信息中心的刘工提出的备份方案如表4-1所示。<br>\n<img alt=\"\" width=\"629\" height=\"94\" src=\"https://image.chaiding.com/ruankao/7dbbd8a41e35ee8bc7503bf0b4427046.jpg?x-oss-process=style/ruankaodaren\"><br>\n信息中心的李工对刘工的方案提出了异议,认为数据库一旦发生故障,刘工的方案无法做到数据库的实时恢复,会导致业务数据的丢失,银行应该采用数据库冷备份和热备份相结合的方式来完成数据库的备份。\n<br><br>\n【问题1】(3分)<br>\n针对金融数据库安全,从技术层面上分析应重点考虑哪些因素?\n<br><br>\n【问题2】(4分)<br>\n请用200字以内的文字评价刘工的备份策略的优缺点。\n<br><br>\n【问题3】(10分)<br>\n请分别说明冷备份和热备份的概念,并补充下表中的空(1)~(6)。<br>\n<img width=\"631\" height=\"184\" alt=\"\" src=\"https://image.chaiding.com/ruankao/4fecee6f19e461baa6d1b50d468ba688.jpg?x-oss-process=style/ruankaodaren\">\n<br><br>\n【问题4】(8分)<br>\n银行金融系统需要支持数据库的实时/秒级恢复(即恢复到故障之前的时间点上),请设计合理的备份策略,并说明其基本恢复过程。","analyze":"【问题1】<br>\n对数据库内部故障的考虑,包括事务故障、系统故障和介质故障。<br>\n对数据库外部各种攻击的考虑,包括计算机病毒、利用软件漏洞的黑客攻击和SQL 注入攻击等。<br>\n<br>\n本题考查数据库备份与恢复的基本知识,属于比较传统的题目。<br>\n本问题考查从技术角度上需要考虑的基本内容。一般而言,是从数据库内外两个角度来讲。从数据库内部来讲,主要是数据库故障引起的,故障一般分为事务故障、系统故障和介质故障;从数据库外部来讲,主要是指外部对数据库的攻击,主要是计算机病毒,以及近几年比较流行的利用软件漏洞的黑客攻击和SQL注入攻击等。\n<br><br>\n【问题2】<br>\n刘工的备份策略仅采用了数据导出的备份方式,其优点是简单易行,实现了数据的完整导出,甚至可以在运行期间做到按需备份。<br>\n其缺点是一旦发生故障,会丢失过多的数据,例如在星期三的中午,数据库出现故障,则只能恢复到星期二备份时的数据,星期二导出后到星期三中午的数据会全部丢失;如果数据量非常大,则数据导出所花费的时间和空间会很大。<br>\n<br>\n本题考查数据库备份与恢复的基本知识,属于比较传统的题目。<br>\n本问题考查数据库备份与恢复的基本知识。题目中刘工提出的备份策略完全是基于数据导出的备份策略。这种备份策略的优点是简单易行,而且在数据的选择上非常灵活,可以实现基于表、用户、数据库的不同级别的数据导出,设置上可以做到按需备份。但是其缺点也非常突出,即无法在数据库系统出现故障时,恢复到故障之前的时间点上。 而这种要求,在OLTP系统中是一种基本的要求。在金融业务系统中,要求数据库提供365×24小时的不间断运行,一旦发生故障,要求数据库必须恢复到出现故障之前的时间点上,否则会造成业务数据的丢失。而且如果数据量比较大,则数据导出所花费的时间和空间会很大。\n<br><br>\n【问题3】<br>\n冷备份是在数据库关闭的情况下,对数据库中的关键文件(数据文件、日志文件等)进行复制。<br>\n热备份是在数据库运行的情况下,对数据库中的关键数据进行备份,要求数据库管理系统提供支持。<br>\n<img width=\"623\" height=\"250\" alt=\"\" src=\"https://image.chaiding.com/ruankao/b3ff3f5f9db5ffd5bd12324d3747d8db.jpg?x-oss-process=style/ruankaodaren\"><br>\n(1)、(3)次序无关;(4)、(6)次序无关。<br>\n<br>\n本题考查数据库备份与恢复的基本知识,属于比较传统的题目。<br>\n冷备份是在数据库关闭的情况下,对数据库中的关键文件(数据文件、日志文件等)进行复制。热备份是在数据库运行的情况下,对数据库中的关键数据进行备份,要求数据库管理系统提供支持。因此,冷备份可以对数据库最近的数据提供一种完整的备份,而热备份可以在冷备份的基础上,将数据库中的数据恢复到故障之前的某个特定的时间点上。如果仅采用冷备份,则从上次冷备份到系统出现故障之间的数据会丢失:如果只采用热备份,则系统需要从数据库安装时一直恢复到出现故障时,此时需要保留所有产生的控制文件、日志等数据,而这往往是不可能,也是不需要的。两种方式各有优缺点,对应题目中的表格,正确内容如下:<br>\n<img alt=\"\" width=\"628\" height=\"254\" src=\"https://image.chaiding.com/ruankao/94efae9dd76f8ed99b12fa452e1b0f34.jpg?x-oss-process=style/ruankaodaren\">\n<br><br>\n【问题4】<br>\n银行系统如果需要支持数据库的实时恢复或秒级回复,需要采用冷备份和热备扮相结合的方式来进行备份。基本的备份策略如下表所示:<br>\n<img width=\"616\" height=\"181\" alt=\"\" src=\"https://image.chaiding.com/ruankao/eb42206c1bb7631dc352085f8c818148.jpg?x-oss-process=style/ruankaodaren\"><br>\n冷备份与热备份的交替间隔时间可以根据自身特点来进行调整。当数据库出现故障,需要恢复时,基本的步骤是:<br>\n(1)恢复最近一次的冷备份数据;<br>\n(2)按照时间顺序,恢复热备份中备份的数据和日志文件。<br>\n找到机器上未损坏的最后一个日志文件,将数据库恢复到该日志文件对应的时间点。<br>\n<br>\n本题考查数据库备份与恢复的基本知识,属于比较传统的题目。<br>\n本题是在【问题2】的基础上,针对银行金融系统的要求,即365×24小时的不间断运行,提出一种合理的备份策略,主要是采用冷备份和热备份相结合的方式,此时备份的周期可以根据企业的要求自行定义,一般以周为单位。一个可能的例子如下:<br>\n<img width=\"624\" height=\"177\" alt=\"\" src=\"https://image.chaiding.com/ruankao/2f27d3b2ed2a1a315ad1d5f667e241ce.jpg?x-oss-process=style/ruankaodaren\"><br>\n一旦数据库出现故障时,采用冷备份与热备份相结合方式时,基本的恢复步骤为:<br>\n(1)恢复最近一次的冷备份数据;<br>\n(2)按照时间顺序,恢复热备份中备份的数据和日志文件。<br>\n直到找到机器上未损坏的最后一个日志文件,将数据库恢复到该日志文件对应的时间点,然后重新启动数据库即可。","multi":0,"questionType":2,"answer":"","chooseItem":null,"itemList":null,"userAnswer":null,"userChooseItem":null,"answerCorrect":null,"userCollect":null},{"id":"794934070214676481","title":"<p>题目二<br/>阅读以下在线订餐管理系统的数据流图,在答题纸上回答问题1至问题3。</p><p>阅读以下关于面向对象系统建模的叙述,回答问题。</p><p style=\"margin-top: 0;margin-bottom: 0;text-indent: 28px\">【说明】</p><p>某软件企业为车载产品销售公司W开发一套在线销售系统,以提升服务的质量和效率。项目组经过讨论后决定采用面向对象方法开发该系统。在设计建模阶段需要满足以下设计要求:</p><p>W公司经常进行促销活动。根据不同的条件(如车型、配饰种类、商品数量、产品种类等),公司可以提供百分比折扣或现金减免等多种促销方式供提交订单的用户选择。实现每种促销活动的代码量很大,且会随促销策略不同经常修改。系统设计中需要考虑现有的促销和新的促销,而不用经常地重写控制器类代码。</p><p>该在线销售系统需要计算每个订单的税率,不同商品的税率及计算方式会有所区别。所以W公司决定在系统中直接调用不同商品供应商提供的税率计算类,但每个供应商的类提供了不同的调用方法。系统设计中需要考虑如果公司更换了供应商,应该尽可能少地在系统中修改或创建新类。</p><p>项目组架构师决定采用设计模式来满足上述设计要求,并确定从当前已经熟练掌握的设计模式中进行选择,这些设计模式包括:适配器模式(Adapter)、构造器模式(Builder)、命令模式(Command)、外观模式(Facade)、中介模式(Mediator)、原型模式(Prototype)、代理模式(Proxy)、状态模式(State)和策略模式(Strategy)等。</p><br><p>【问题2】(7分)</p><p>请将项目组已经掌握的设计模式按照其作用分别归类到创建型、结构型和行为型模式中。</p>","analyze":"无","multi":0,"questionType":2,"answer":"<p>创建型模式:构造器模式、原型模式。</p><p>结构型模式:适配器模式、外观模式、代理模式。</p><p>行为型模式:命令模式、中介模式、状态模式和策略模式。</p>","chooseItem":null,"itemList":null,"userAnswer":null,"userChooseItem":null,"answerCorrect":null,"userCollect":null},{"id":"794934078871719937","title":"<p>题目四<br/>阅读下列说明和图,回答问题1至问题4,将解答填入答题纸的对应栏内。</p><p>【说明】</p><p>学校欲开发一学生跟踪系统,以更自动化、更全面地对学生在校情况(到课情况和健康状态等相关信息)进行管理和追踪,使家长能及时了解子女的到课情况和健康状态,并在有健康问题时及时与医护机构对接。该系统的主要功能是:</p><p>(1)采集学生状态。通过学生卡传感器,采集学生心率、体温(摄氏度)等健康指标及其所在位置等信息并记录。每张学生卡有唯一的标识(ID)与一个学生对应。</p><p>(2)健康状态告警。在学生健康状态出现向题时,系统向班主任、家长和医护机构 健康服务系统发出健康状态警告,由医护机构健康服务系统通知相关医生进行处理。</p><p>(3)到课检查。综合比对学生状态、课表以及所处校园场所之间的信息对学生到课 情况进行判定。对旷课学生,向其家长和班主任发送旷课警告。</p><p>(4)在校情况汇总。定期汇总在校情况,并将报告发送给家长和班主任。</p><p>(5)家长注册。家长注册使用该系统,指定自己子女,经学校管理人员审核后,向 家长发送注册结果。</p><p>(6)基础信息管理。学校管理人员对学生及其所用学生卡和班主任、课表(班级、 上课时间及场所等)、校园场所(名称和所在位置区域)等基础信息进行管理,对家长注册申请进行审核,将家长ID加入学生信息记录中使家长与其子女进行关联,一个学生至少有一个家长,可以有多个家长。课表信息包括班级、班主任、时间和位置等。</p><p>现采用结构化方法对学生跟踪系统进行分析与设计,获得如图1-1所示的上下文数据流图和图1-2所示的0层数据流图。<br/><img src=\"https://image.chaiding.com/ruankao/d30b08971a42c9e9b677e1d442acaf69.png?x-oss-process=style/ruankaodaren\" title=\"d30b08971a42c9e9b677e1d442acaf69.png\" alt=\"image.png\"/><br/><br/><img src=\"https://image.chaiding.com/ruankao/0669f932d6a69c4765e5912d93f0d07d.png?x-oss-process=style/ruankaodaren\" title=\"0669f932d6a69c4765e5912d93f0d07d.png\" alt=\"image.png\"/></p><br/><br/><br><p>【问题4】(10分)</p><p>根据说明中术语,说明图1-1中数据流“学生状态”和“学生信息”的组成。</p>","analyze":"无","multi":0,"questionType":2,"answer":"<p>(1)学生状态的组成为:学生编号、学生卡号、学生心率、体温、所在位置等信息。</p><p>(2)学生信息的组成为:学生编号、学生卡号、班主任编号、家长编号(一名主要联系人)。</p>","chooseItem":null,"itemList":null,"userAnswer":null,"userChooseItem":null,"answerCorrect":null,"userCollect":null},{"id":"834665618836836353","title":"<p style=\"text-indent:28px\">试题四(25分)</p><p>阅读以下关于数据管理的叙述,在答题纸上回答问题1至问题3。</p><p>&nbsp;</p><p>【说明】</p><p>某大型企业在长期信息化建设过程中,面向不同应用,开发了各种不同类型的应用软件系统,以满足不同的业务需求。随着用户需求和市场的快速变化,要求企业应能快速地整合企业的各种业务能力,为不同类型的用户提供多种流程的业务服务。但现有各个独立的应用系统难以满足日益增长和快速变化的用户需求。</p><p>目前该企业各个应用系统主要存在以下问题:</p><p>(1)应用系统是异构的、运行在不同软硬件平台上的信息系统;</p><p>(2)应用系统的数据源彼此独立、相互封闭,使得数据难以在系统之间交互、共享和融合,即存在“信息孤岛”;</p><p>(3)系统是面向应用的,各个应用系统中的数据模型差异大,即使同一数据实体,其数据类型、长度、值均存在不一致甚至相互矛盾的问题。为此,该企业专门成立了研发团队,希望能够尽快解决上述问题。</p><br><p>【问题2】(9分)</p><p>张工认为数据集成的方式难以充分利用已有应用系统的业务功能,实现不同业务功能的组合,建议采用基于SOA的应用集成方式,将原有系统的功能包装为多个服务,并给出了基本的集成架构,见图2-2。</p><img style=\"max-width:100%;height:auto\"  src=\"https://image.chaiding.com/ruankao/6d0d6c0b0e20493be2cab597af44c92e.png?x-oss-process=style/ruankaodaren\" title=\"6d0d6c0b0e20493be2cab597af44c92e.png\" alt=\"image.png\" width=\"390\" height=\"642\"/><p>请补充完善图2-2中(1)~(3)处空白处的内容。</p>","analyze":"<p>面向服务的架构(Service Oriented Architecture,SOA)是一种面向应用软件开发的思想,基于面向服务的体系结构,可以把完全不同的软件设计和开发的模式结合起来,从而使其快速的扩展和优化。SOA解耦和无状态、低耦合服务将应用分解成自治的单元,并使用标准协议将各单元连接起来,允许不同的组件来共享、使用和复用可用资源。SOA的重要特点是:软件再用和可扩展性。</p><p>李工建议的构建新系统方式是浪费的,不可行的;张工建议的SOA应用集成方式,可以抽取各类应用的核心,不用重复开发,节省开发时间、资源。</p><p>SOA的业务支持服务包括服务注册、服务管理和服务编排。其中,服务注册用于注册和查找服务的接口;服务管理用于管理和协调各个服务;服务编排是选择和组合服务,用于完成整个业务。因此(1)填“服务编排”。</p><p>由于企业主要面临的问题“系统是面向应用的,各个应用系统中的数据模型差异大,即使同一数据实体,其数据类型、长度、值均存在不一致甚至相互矛盾的问题。”因此,还需要进行数据转换,实现服务间的数据交换。因此(2)填“数据转换”。</p><p>应用服务连接中,应提供企业应用接口和数据接口,才能保障整个业务的进行。</p>","multi":0,"questionType":2,"answer":"<p>(1)服务编排</p><p>(2)数据转换</p><p>(3)应用程序接口</p>","chooseItem":null,"itemList":null,"userAnswer":null,"userChooseItem":null,"answerCorrect":null,"userCollect":null},{"id":"794934031794851841","title":"<p>阅读下列系统需求陈述,回答问题1、问题2、问题3和问题4。</p><p>某银行准备开发一个网上信用卡管理系统CCMS,该系统的基本功能为:</p><p>(1)信用卡申请。非信用卡用户填写信用卡申请表,说明所要申请的信用卡类型及申请者的基本信息,提交CCMS登录。如果信用卡申请被银行接受,客户会收到银行的确认函,并告知用户信用卡的有效期及信贷限额;否则银行会发送一封拒绝函给该客户。客户收到确认函后,需再次登录CCMS,用信用卡号和密码激活该信用卡。激活操作结束后,CCMS将激活通知发送给客户,告知客户其信用卡是否被成功地激活。</p><p>(2)月报表生成。在每个月第一天的零点,CCMS为每个信用卡客户创建一份月报表,对该客户上月的信用卡交易情况及交易额进行统计。信用卡客户可以登录CCMS查看月报表,也可以要求CCMS提供打印出的月报表。</p><p>(3)信用卡客户信息管理。信用卡客户的个人信息可以在CCMS中进行在线的管理。</p><p>每个信用卡客户可以在线查询其个人信息。</p><p>(4)信用卡交易记录。信用卡客户使用信用卡进行的每一笔交易都会记录在CCMS中。</p><p>(5)交易信息查询。信用卡客户可以登录CCMS查询并核实其信用卡交易记录及交易额。在系统的需求分析阶段,使用用例对系统需求建模。表1-1和表1-2给出了其中两个用例的概要描述。</p><img src=\"https://image.chaiding.com/ruankao/dfee86b0f109281a7c6170fb798971cc.jpg?x-oss-process=style/ruankaodaren\" title=\"dfee86b0f109281a7c6170fb798971cc.jpg\" alt=\"1.jpg\"/><br/><br>【问题3】用400字以内文字,简要说明用例获取的基本步骤。(7分)","analyze":"略","multi":0,"questionType":2,"answer":"<p>(1)定义该应用系统的边界(可以用计算机系统作为边界,也可以使用该应用系统</p><p>的那个机构中的部门界限作为边界,还可以用该机构本身作为边界)。</p><p>(2)识别出该应用所有的角色(Actor)。</p><p>(3)对于所识别出的每一角色,分别确定:</p><p>①该角色所参与的每一种业务活动;</p><p>②各种业务活动的完整的事件序列;</p><p>③激发上述每一个事件序列的角色;</p><p>(4)对(3)中确定的事件序列进行分析,去掉其中重复的事件序列。</p><p>(5)用结构化的自然语言来描述(4)中确定的每一个事件序列,得到初步确定的</p><p>每一个用例。</p><p>(6)对(5)中初步确定的每一个用例进行分析和必要的重组,采用包含(include)、</p><p>扩展(extend)等关系来表示用例之间的关系,最终得到所有的用例。</p>","chooseItem":null,"itemList":null,"userAnswer":null,"userChooseItem":null,"answerCorrect":null,"userCollect":null},{"id":"794934117761306625","title":"<p style=\"text-indent:32px\">试题一(25分)</p><p>阅读以下关于软件系统分析与建模的叙述,在答题纸上回答问题1至问题3。</p><p>【说明】</p><p>某公司拟开发一套电视机控制软件,实现对电视机的控制。公司系统分析师赵工首先进行了需求分析,得到的系统需求列举如下:</p><p>电视机通电后进入休眠状态,用户按下遥控器上的电源按钮,显示播放菜单。</p><p>若用户从播放菜单中选择电视频道,则开始搜索该频道的信号是否存在。用户按下遥控器上的电源按钮,则进入休眠状态。</p><p>在搜索电视信号过程中,若存在电视信号,则开始播放电视节目。若不存在电视信号,则返回播放菜单。</p><p>在播放电视节目时,用户可按下遥控器上的返回按钮返回播放菜单,也可以重新选择电视频道。按下遥控器上的电源按钮,则进入休眠状态。</p><p>在系统分析与设计阶段,公司经过内部讨论,一致认为该系统的功能需求定义明确,但尚未定义非功能需求。</p><br><p>【问题2】(10分)</p><p>赵工经过需求分析,首先建立了该电视机控制软件的状态机模型,如图 1-1 所示。请对题干需求进行仔细分析,填写图 1-1 中的(1)~(10)处空白。&nbsp;</p><img style=\"max-width:100%;height:auto\"  src=\"https://image.chaiding.com/ruankao/5313458073e3c02f2c0b5f4eb09f72c1.jpg?x-oss-process=style/ruankaodaren\" title=\"5313458073e3c02f2c0b5f4eb09f72c1.jpg\" alt=\"111.jpg\"/>","analyze":"略","multi":0,"questionType":2,"answer":"<p>(1)按下电源按钮&nbsp;&nbsp;(2)选择电视频道 (3)不存在电视信号</p><p>(4)存在电视信号 (5)选择电视频道 (6)按下电源按钮</p><p>(7)按下返回按钮 (8)播放菜单(9)搜索电视信号</p><p>(10)播放电视节目</p>","chooseItem":null,"itemList":null,"userAnswer":null,"userChooseItem":null,"answerCorrect":null,"userCollect":null},{"id":"796240088517332993","title":"试题五(25分)<br>\n阅读以下关于Web应用开发的叙述,回答问题1至问题3。<br>\n【说明】<br>\nE-Mall是一家电子商务公司,其主要业务是在线购物,包括书籍、服装、家电和日用品等。随着公司业务规模不断增大,公司决策层决定重新设计并实现其网上交易系统,公司负责系统开发的王工和李工分别给出了两种不同的设计方案,如下图1和图2所示。<br>\n<img width=\"550\" height=\"545\" alt=\"\" src=\"https://image.chaiding.com/ruankao/ce5c685536bd9d163fef347a2a557cdb.jpg?x-oss-process=style/ruankaodaren\"><br>\n公司的架构师和开发者针对这两种设计方案,从服务器负载情况、业务逻辑的分离性、系统可靠性、实现简单性等方面进行讨论与评估,综合考虑最终采用了李工给出的方案。\n<br><br>\n【问题1】(8分)<br>\n请分析比较王工、李工两种方案的优点和不足,完成下表中的空白部分。<br>\n<img width=\"624\" height=\"268\" alt=\"\" src=\"https://image.chaiding.com/ruankao/b7fa75324c90fbc71e7ffe499dc6addf.jpg?x-oss-process=style/ruankaodaren\">\n<br><br>\n【问题2】(8分)<br>\n对数据库的访问是该系统开发中需要特别注意的一个问题,O/R映射是一种常用的数据库访问编程技术。请用200字以内的文字说明O/R映射的含义,并指出采用0/R映射的三个主要好处。\n<br><br>\n【问题3】(9分)<br>\n性能是Web应用系统的一个重要质量属性。请用200字以内的文字说明三个主要影响Web应用系统性能的因素,针对每个因素提出解决方案以提高系统性能。","analyze":"【问题1】<br>\n<img width=\"623\" height=\"258\" alt=\"\" src=\"https://image.chaiding.com/ruankao/aad7612089d3d2f84c0c32c40ac65f40.jpg?x-oss-process=style/ruankaodaren\"><br>\n<br>\n本题考查Web应用开发的相关内容,主要包括体系结构设计,数据库访问和性能优化等知识。<br>\n本问题考查体系结构设计需要注意的问题,根据图1和图2的描述可知,图1给出的体系结构代表一种典型的基于数据库服务器的动态内容发布结构,这种结构在服务器端设置了一台Web服务器和一台数据库服务器。Web服务器通过应用程序的支持(通常采用ASP、JSP等脚本语言,比较简单),就可以给用户提供动态的信息服务,通过定制页面模板,添加到后台数据库中的信息可以及时发布给客户。但是,在这种架构下,Web服务器需要同时负责业务逻辑的处理和数据库访问,负载很大;业务逻辑代码和其他程序代码全部在Web服务器中,不能做到业务逻辑代码与其他代码分离,且其中任何一个环节出错,都会导致Web服务器宕机,系统可靠性较差。<br>\n图2给出的是一种分布式的Web应用架构,与图1相比,在Web服务器和后台数据库服务器之间增加了一层应用服务器。这是一种比较先进的架构模式,由于增加了中间层应用服务器,可以将业务逻辑和数据库连接等放置到中间层上,减轻了服务器的负担,做到业务逻辑代码与其他程序分离,并减轻了Web服务器的负担。多个应用服务器的存在也可以提高访问性能,并增加系统的可靠性。\n<br><br>\n【问题2】<br>\nO/R映射指的是对象/关系映射,是一种编程技术,将关系数据库中的关系型数据与面向对象编程语言中类型系统定义的数据进行格式转换。<br>\n采用对象/关系映射主要有三点好处:<br>\n(1)可以将业务逻辑与数据逻辑分离。<br>\n(2)可以使得开发人员采用面向对象的方式访问底层关系型数据库。<br>\n(3)能够做到上层应用与底层的具体数据库无关,两者解耦合。<br>\n<br>\n本题考查Web应用开发的相关内容,主要包括体系结构设计,数据库访问和性能优化等知识。<br>\n本问题主要考查数据库访问中O/R映射的知识和这种技术的主要作用。O/R映射指的是对象/关系映射,是一种编程技术,将关系数据库中的关系型数据与面向对象编程语言中类型系统定义的数据进行格式转换。采用对象/关系映射主要有三点好处:<br>\n(1)可以将业务逻辑与数据处理逻辑分离。<br>\n(2)可以使得开发人员采用面向对象的方式访问底层关系型数据库。<br>\n(3)能够做到上层应用与底层的具体数据库无关,两者解耦合。\n<br><br>\n【问题3】<br>\n影响Web应用系统性能的三个主要因素分别是:<br>\n(1)数据库的连接与销毁。可以采用数据池的方式缓存数据库连接,实现数据库连接复用,提高系统的数据访问效率。<br>\n(2)构件或中间件的加载与卸载。可以采用分布式对象池的方式缓存创建开销大的对象,实现对象复用,用以提高效率。<br>\n(3)线程的创建与销毁。可以采用线程池的方式缓存己经创建的线程,提高系统的反应速度。<br>\n<br>\n本题考查Web应用开发的相关内容,主要包括体系结构设计,数据库访问和性能优化等知识。<br>\n本问题主要考查Web应用系统的性能优化问题。主要有如下三个重要的因素影响着系统的执行效率。<br>\n(1)数据库的连接与销毁。可以采用数据池的方式缓存数据库链接,实现数据库链接复用,提高系统的数据访问效率。<br>\n(2)构件或中间件的加载与卸载。可以采用分布式对象池的方式缓存创建开销大的对象,实现对象复用,提高效率。<br>\n(3)线程的创建与销毁。可以采用线程池的方式缓存已经创建的线程,提高系统的反应速度。","multi":0,"questionType":2,"answer":"","chooseItem":null,"itemList":null,"userAnswer":null,"userChooseItem":null,"answerCorrect":null,"userCollect":null},{"id":"796240084272697345","title":"试题五(25分)<br>\n阅读下列说明,回答问题1至问题3,将解答填入答题纸的对应栏内。<br>\n【说明】<br>\n某电子商务公司进行机构重组后,业务规模和用户规模不断扩大,现有的在线销售系统已经无法满足公司的发展要求。公司决策层对现有系统的不足进行了认真分析,决定提高现有系统客户端访问速度,增强客户端的动态交互能力,并提高整个系统代码的模块化和重用性,最终完成网上交易系统的改造与升级。在对该系统的升级方案进行设计和讨论时,公司的系统分析师王工提出采用开发浏览器插件的方式提高客户端访问速度并增强访问体验,通过重写服务端代码提高系统的模块化和重用性。另外一位系统分析师李工则提出采用Ajax技术提高客户端性能,采用JavaScript技术进一步增强客户端的动态交互能力,并在服务端采用JavaScript技术提高系统代码的模块化和重用性。公司的分析师和架构师对这两种思路进行讨论与评估,最终采纳了李工的方法。\n<br><br>\n【问题1】(8分)<br>\n请从系统的客户端开发和服务端开发两个方面说明为何没有采用王工提出的方法。\n<br><br>\n【问题2】(9分)<br>\n请说明什么是Ajax技术,并从信息表示、动态显示及交互、数据交换和异步数据交换四个功能特点说明Ajax包含的基本技术,对应填入表5-1中的(1)、(2)、(3)、(4)空白中。<br>\n<img width=\"542\" height=\"120\" alt=\"\" src=\"https://image.chaiding.com/ruankao/a532d1b718a6f4be0285bb1dc12dcac2.jpg?x-oss-process=style/ruankaodaren\">\n<br><br>\n【问题3】(8分)<br>\n在论证服务端实现策略时,李工以“用户身份验证”和“客户请求信息传递与返回”两个应用场景为例说明在服务端采用JavaScript技术的优势。请给出李工可能的论证过程。","analyze":"【问题1】<br>\n从客户端开发方面来看,由于现有浏览器都定义了符合自身要求、互不兼容的插件开发标准与运行形态,王工提出的“浏览器插件的增强方式”需要针对不同浏览器开发对应的插件,这样存在重复开发的问题且工作量巨大;另一方面,客户端功能增强插件必须下载并安装到浏览器上,对客户端要求较高且不方便。李工提出的“基于Ajax的客户端增强方式”只要求浏览器支持JavaScript,这一要求目前所有的浏览器都能够直接满足;另一方面,而Ajax技术则基于所有浏览器都支持的标准技术体系,不存在重复开发和互不兼容的问题。<br>\n从服务端开发方面来看,王工提出的“重写服务端代码”的方式虽然可能解决服务端模块化和重用性的要求,但是开发的风险和代价太大,在进行企业应用系统升级时一般不考虑完全重写,特别是服务端代码完全重写的方案。另一方面,李工提出的“在服务端采用JavaScript技术”能够与采用Ajax技术的客户端进行无缝集成,并且能够利用JavaScript与现有系统功能模块的互操作技术,采用JavaScript实现系统现有业务功能模块的动态组合和调用,增强系统功能模块的重用性。<br>\n综合上述两个方面,可以看出应该采用李工的解决方案。<br>\n<br>\n解析:本问题考查Web应用系统升级时的方案选择问题。根据题干描述,系统升级的目的是提高现有系统客户端访问速度,增强客户端访问体验,并提高整个系统代码的模块化 和重用性。因此需要根据问题描述,从客户端开发和服务端开发两个方面,结合三个升级目标进行全面论述。<br>\n从客户端开发方面来看,在线交易系统是一个典型的B/S系统,采用浏览器插件的客户端增强方法与基于Ajax技术的客户端增强方法相比,存在两个明显的缺陷:第一,客户端功能增强插件必须下载并安装到浏览器上,对客户端要求较高且不方便;而采用Ajax技术对客户端进行增强时只要求浏览器支持JavaScript,这一要求目前所有的浏览器都能够直接满足。第二,现有浏览器都定义了符合自身要求、互不兼容的插件开发标准与运行形态,采用浏览器插件的增强方式需要针对不同浏览器开发对应的插件;\" 这样存在重复开发的问题且工作量巨大。而Ajax技术则基于所有浏览器都支持的标准技术体系,不存在重复开发和互不兼容的问题。<br>\n从服务端开发方面来看,王工提出的“重写服务端代码”的方式虽然可能解决服务端模块化和重用性的要求,但是开发的风险和代价太大,在进行企业应用系统升级时一般不考虑完全重写,特别是服务端代码完全重写的方案。另一方面,李工提出的“服务端JavaScript技术”能够与釆用Ajax技术的客户端进行无缝集成,并且能够利用JavaScript与现有系统功能模块的互操作技术,采用JavaScript实现系统现有业务功能模块的动态组合和调用,增强系统功能模块的重用性。<br>\n综合上述两个方面,可以看出应该采用李工的解决方案。\n<br><br>\n【问题2】<br>\nAjax 全称为 Asynchronous JavaScript and XML (异步JavaScript和XML),是一种创建交互式网页应用的网页开发技术。<br>\n<br>\n解析:主要考查对Ajax技术涵盖的基本技术的理解与掌握。<br>\nAjax 全称为 Asynchronous JavaScript and XML (异步JavaScript 和XML),是一种创建交互式网页应用的网页开发技术。<br>\nAjax所包含的基本技术有:<br>\n使用XHTML+CSS来表示信息;<br>\n使用JavaScript操作DOM (Document Object Model)进行动态显示及交互;<br>\n使用XML和XSLT进行数据交换及相关操作;<br>\n使用XMLHttpRequest对象与Web服务器进行异步数据交换;<br>\n使用JavaScript将所有的东西绑定在一起。<br>\nAjax技术的优点包括:<br>\n(1)能在不更新整个页面的前提下维护数据。使得Web应用程序更为迅捷地响应用户动作,并避免在网络上发送没有改变过的信息;<br>\n(2)通过将部分计算转移到客户端,减轻了服务器的处理量,增强了用户体验;<br>\n(3)Ajax不需要浏览器插件支持,辅助开发工具与开发库较多;<br>\nAjax技术的缺点包括: <br>\n(1)可能破坏浏览器后退按钮的正常行为;<br>\n(2)使用动态页面更新使得用户难于将某个特定的状态保存到收藏夹中;<br>\n(3)—些手持设备(如手机、PDA等)目前还不能很好地支持Ajax;<br>\n(4)对流媒体的支持没有Flash和Java Applet等技术好。\n<br><br>\n【问题3】<br>\n在“用户身份验证”这一应用场景中,需要在客户端与服务端同时对用户的输入进行验证:在客户端,需要判断用户的输入是否满足基本的格式要求,目前通常采用JavaScript代码实现验证功能;在服务端,需要验证用户输入的密码是否与后端数据库中存储的密码匹配。如果在服务端采用JavaScript功能,则可以实现相似或相同代码的重 用,提高系统的可维护性。<br>\n<img width=\"551\" height=\"132\" alt=\"\" src=\"https://image.chaiding.com/ruankao/5a077e5c1b0c6ca3dc5207a642b06c87.jpg?x-oss-process=style/ruankaodaren\"><br>\n在“客户请求信息传递与返回”这一应用场景中,如果客户端与服务端采用不同的技术实现,则当客户端发出的请求数据传递到服务端后,服务端需要进行数据解析与格式转换,之后才能调用业务功能,得到运算结果后还需要将其转换为寧户端需要的数据格式。整个过程需要涉及两次应用层的数据格式解析与转换,效率较如果在服务端采用JavaScript技术,则可以使用JSON等客户端与服务端同时支持的数据格式进行传递,能够降低服务端的复杂度,提高运行效率。<br>\n<br>\n解析:主要考查服务端JavaScript的实际应用和分析。<br>\n在“用户身份验证”这一应用场景中,需要同时在客户端与服务端对用户的输入进行验证:在客户端,’需要判断用户的输入是否满足基本的格式要求,目前通常采用JavaScript代码实现验证功能;在服务端,需要验证用户输入的密码是否与后端数据库中存储的密码匹配。如果采用服务端JavaScript功能,则可以实现相似或相同代码的重用,提高系统的可维护性。<br>\n在“客户请求信息传递与返回”这一应用场景中,如果客户端与服务端采用不同的技术实现,则当客户端发出的请求数据传递到服务端后,服务端需要进行数据解析与格式转换,之后才能调用业务功能,得到运算结果后还需要将其转换为客户端需要的数据格式。整个过程需要涉及两次应用层的数据格式解析与转换,效率较低。如果采用服务端JavaScript技术,可以采用JSON等客户端与服务端同时支持的数据格式进行传递,能够降低服务端的复杂度,提高运行效率。<br>\n服务端JavaScript的主要缺点有:<br>\n(1)缺乏成熟的类库。在数据操作、数据存储等方面能力较弱。<br>\n(2)对标准的支持不够。目前的服务端引擎对CommonJS的支持有待加强。<br>\n(3)开发和执行效率较低。在服务端缺少良好的开发环境和类库支持,执行效率也较为低下。","multi":0,"questionType":2,"answer":"","chooseItem":null,"itemList":null,"userAnswer":null,"userChooseItem":null,"answerCorrect":null,"userCollect":null},{"id":"796240058620334081","title":"试题二(25分)<br>\n阅读以下关于信息资源网建设的叙述,回答问题1至问题3。<br>\n【说明】<br>\n某市政府部门有近30个委、办、局,分别承担着法定的政府职能,这些部门都有信息中心,负责本单位信息系统的建设和信息资源的采集、维护等工作,同时向业务部门提供信息化技术支持。该市的电子政务建设发展很快,统一规划实施了政务内网,实现了各个政府部门百兆以上带宽的互联互通,并在此基础上规划信息资源网。该政务内网的运行维护成本较高,所以在政务内网开通之后,市财政逐渐削减了各个委办局自身信息系统的维护费用,市政府也要求尽快实现信息资源的共享,以发挥电子政务网的效益。\n<br><br>\n【问题1】(13分)<br>\n该市决定将各个委办局的信息系统采取物理集中的方式进行统一管理,一些部门对此提出了异议,主要理由是集中管理后,由于管理部门对业务应用不了解,难以保证对本单位业务进行有力支持。<br>\n请用300字以内文字,从技术角度论述该市实现信息系统统一管理是否可行。\n<br><br>\n【问题2】(6分)<br>\n该市在信息系统集中管理建设过程中,需要在信息系统中重点规划建设哪些内容?\n<br><br>\n【问题3】(6分)<br>\n发挥信息系统效益的关键是信息资源的有机共享,请给出该市政务信息资源共享的建议(200字以内)。","analyze":"【问题1】<br>\n该市实行各个委办局信息系统统一管理可行。<br>\n该市电子政务网性能优良,信息系统物理部署点位置不会影响应用,也不存在信息传输瓶颈。<br>\n集中管理后,不仅能共享网络、主机的硬件设备,还能集中进行高可靠性配置、安全管理,以较低的成本向各个应用系统提供较高的可用性和安全性。<br>\n集中管理后,各个部门的运行维护和管理的费用将大大降低,可节省该市用于政府部门信息系统维护的整体费用。<br>\n应用系统位于信息系统层次结构的上层,底层的集中共享能够对业务提供更好的支撑。而各个部门的应用对信息系统的要求可由本部门提出,纳入到集中管理部门对信息系统的统一规划中。<br>\n<br>\n根据本题的说明,该市统一规划了政务内网,各个政府部门之间的网络连接速率是百兆,对于绝大多数应用而言不存在信息传输瓶颈,各个部门信息系统涉及到的服务器系统、存储系统和数据库系统等的实际物理部署位置,并不会影响信息系统的功能和应用,而且各个部门的信息系统基础设施还可以统筹规划,实现资源共享,不仅节省投资,还能够统一维护,统一规划安全和灾备方寒,降低后期的运行维护成本。<br>\n设施的物理集中,在规划实施时应重点考虑整个系统的性能、可靠性、可用性(健壮性)、可管理性、安全性,系统的物理安全(保安)、系统备份和容灾也是规划的重要内容。<br>\n在电子政务系统建设中,通过信息资源管理可以实现信息资源共享。信息资源管理最核心和最基础的工作是首先做好信息资源规划,调查分析信息需求和数据流,制定信息资源管理基础标准,建立政府总体和各职能域的信息系统框架,建立信息共享的各种制度,如数据维护制度,数据使用办法等等,而信息共享的技术解决方案与管理方案相比,实施难度较低。\n<br><br>\n【问题2】<br>\n(1)灾备系统(容灾系统)。<br>\n(2)CA认证系统(身份识别系统)。<br>\n(3)入侵检测系统。<br>\n(4)安全审计系统。<br>\n(5)防火、防盗等物理安全措施。<br>\n(6)高可用性设施(如多机集群、网络冗余和电源冗余等)。<br>\n(7)较好性能的网络管理系统,监控网络流量。<br>\n<br>\n根据本题的说明,该市统一规划了政务内网,各个政府部门之间的网络连接速率是百兆,对于绝大多数应用而言不存在信息传输瓶颈,各个部门信息系统涉及到的服务器系统、存储系统和数据库系统等的实际物理部署位置,并不会影响信息系统的功能和应用,而且各个部门的信息系统基础设施还可以统筹规划,实现资源共享,不仅节省投资,还能够统一维护,统一规划安全和灾备方寒,降低后期的运行维护成本。<br>\n设施的物理集中,在规划实施时应重点考虑整个系统的性能、可靠性、可用性(健壮性)、可管理性、安全性,系统的物理安全(保安)、系统备份和容灾也是规划的重要内容。<br>\n在电子政务系统建设中,通过信息资源管理可以实现信息资源共享。信息资源管理最核心和最基础的工作是首先做好信息资源规划,调查分析信息需求和数据流,制定信息资源管理基础标准,建立政府总体和各职能域的信息系统框架,建立信息共享的各种制度,如数据维护制度,数据使用办法等等,而信息共享的技术解决方案与管理方案相比,实施难度较低。\n<br><br>\n【问题3】<br>\n(1)全市政务信息的分类、分级标准。<br>\n(2)合各部门的职责,制定信息的采集原则,如关键业务产生关键信息,权威部门产生权威信息,从源头上保证信息的质量。<br>\n(3)制定信息的维护、更新原则,如谁生产谁维护。<br>\n(4)建设信息的交换平台,规划信息交换目录,制定信息的交换办法。<br>\n(5)建设政务信息仓库,开发信息资源的综合应用。<br>\n(6)优化政务流程。<br>\n<br>\n根据本题的说明,该市统一规划了政务内网,各个政府部门之间的网络连接速率是百兆,对于绝大多数应用而言不存在信息传输瓶颈,各个部门信息系统涉及到的服务器系统、存储系统和数据库系统等的实际物理部署位置,并不会影响信息系统的功能和应用,而且各个部门的信息系统基础设施还可以统筹规划,实现资源共享,不仅节省投资,还能够统一维护,统一规划安全和灾备方寒,降低后期的运行维护成本。<br>\n设施的物理集中,在规划实施时应重点考虑整个系统的性能、可靠性、可用性(健壮性)、可管理性、安全性,系统的物理安全(保安)、系统备份和容灾也是规划的重要内容。<br>\n在电子政务系统建设中,通过信息资源管理可以实现信息资源共享。信息资源管理最核心和最基础的工作是首先做好信息资源规划,调查分析信息需求和数据流,制定信息资源管理基础标准,建立政府总体和各职能域的信息系统框架,建立信息共享的各种制度,如数据维护制度,数据使用办法等等,而信息共享的技术解决方案与管理方案相比,实施难度较低。","multi":0,"questionType":2,"answer":"","chooseItem":null,"itemList":null,"userAnswer":null,"userChooseItem":null,"answerCorrect":null,"userCollect":null},{"id":"794934135176056833","title":"<p style=\"text-indent:25px\">试题二(25分)</p><p>阅读以下关于面向对象系统建模的叙述,回答问题。</p><p style=\"margin-top: 4px;text-indent: 28px\">【说明】</p><p>某软件企业为车载产品销售公司W开发一套在线销售系统,以提升服务的质量和效率。项目组经过讨论后决定采用面向对象方法开发该系统。在设计建模阶段需要满足以下设计要求:</p><p>W公司经常进行促销活动。根据不同的条件(如车型、配饰种类、商品数量、产品种类等),公司可以提供百分比折扣或现金减免等多种促销方式供提交订单的用户选择。实现每种促销活动的代码量很大,且会随促销策略不同经常修改。系统设计中需要考虑现有的促销和新的促销,而不用经常地重写控制器类代码。</p><p>该在线销售系统需要计算每个订单的税率,不同商品的税率及计算方式会有所区别。所以W公司决定在系统中直接调用不同商品供应商提供的税率计算类,但每个供应商的类提供了不同的调用方法。系统设计中需要考虑如果公司更换了供应商,应该尽可能少地在系统中修改或创建新类。</p><p>项目组架构师决定采用设计模式来满足上述设计要求,并确定从当前已经熟练掌握的设计模式中进行选择,这些设计模式包括:适配器模式(Adapter)、构造器模式(Builder)、命令模式(Command)、外观模式(Facade)、中介模式(Mediator)、原型模式(Prototype)、代理模式(Proxy)、状态模式(State)和策略模式(Strategy)等。</p><br><p>【问题1】</p><p>设计模式按照其应用模式可以分为三类:创建型、结构型和行为型,请用200字以内文字说明三者的作用。</p>","analyze":"略","multi":0,"questionType":2,"answer":"<p>创建型模式主要用于创建对象,为设计类实例化新对象提供指南。</p><p>结构型模式主要用于处理类或对象的组合,对类如何设计以形成更大的结构提供指南。</p><p>行为型模式主要用于描述类或对象的交互以及职责的分配,对类之间交互以及分配责任的方式提供指南。</p>","chooseItem":null,"itemList":null,"userAnswer":null,"userChooseItem":null,"answerCorrect":null,"userCollect":null},{"id":"794934006461255681","title":"<p>某公司拟开发一个商业情报处理系统,使公司能够及时针对市场环境的变化及时调整发展战略,以获取最大的商业利益。项目组经过讨论,决定采用结构化分析和设计方法。在系统分析阶段,为了更好地对情报数据处理流程及其与外部角色的关联进行建模,项目组成员分别给出了自己的设计思路:<br/>(1) 小张提出先构建系统流程图(System Flowcharts),以便更精确地反映系统的业务处理过程及数据的输入和输出。<br/>(2) 小李提出先构建系统数据流图(Data Flow Diagrams),来展现系统的处理过程和定义业务功能边界,并给出了情报分类子系统的0层和1层数据流图,后者如下图所示。</p><img src=\"https://image.chaiding.com/ruankao/031ed2b2f5bb50e5aba45085560034e5.jpg?x-oss-process=style/ruankaodaren\" title=\"031ed2b2f5bb50e5aba45085560034e5.jpg\" alt=\"1.jpg\"/><br/><p>项目组经讨论确定以数据流图作为本阶段的建模手段。工程师老王详细说明了流程图和数据流图之间的区别与联系,并指出了上图所示数据流图中存在的错误。</p><br><p>[问题3](6分)</p><p>高质量的数据流图是可读的、内部一致的并能够准确表示系统需求。请用300字以内文字说明在设计高质量的数据流图时应考虑的三个原则。</p>","analyze":"<p>【问题三】</p><p>高质量的数据流图首先要求满足数据流一致性要求,即数据流的输入输出应该匹配,输入数据的信息量足以产生输出数据,所有的输出数据都能够从输入数据中找到数据的来源。对于复杂性系统,可以采用DFD分层结构将系统的复杂性逐步分解降低,以提高数据流图的有效性。高质量的数据流图应该简化复杂的接口,最小化接口或连接的数目。</p>","multi":0,"questionType":2,"answer":"<p>高质量数据流图设计时应考虑的三个原则:</p><p>(1) 复杂性最小化原则。DFD分层结构就是把信息划分为小的且相对独立的一大批子集例子,这样就可以单独考查每一个DFD。如果要了解某个过程更加详细的信息,可以跳转到该过程的下一层;如果要知道一个DFD如何与其他DFD相关联,可以跳转到上一层的DFD进行考查。</p><p>(2) 接口最小化原则。接口最小化是复杂性最小化的一种具体规则,在设计模型时,应使得模型中各个元素之间的接口数或连接数最小化。</p><p>(3) 数据流一致性原则。一个过程和它的过程分解在数据流内容中是否有差别 是否存在有数据流出但没有相应的数据流入的加工 是否存在有数据流入但没有相应的数据流出的加工。</p><p>以上所有答案意思表达正确即可。</p>","chooseItem":null,"itemList":null,"userAnswer":null,"userChooseItem":null,"answerCorrect":null,"userCollect":null},{"id":"794934113902546945","title":"<p>试题四(共25分)</p><p>某医药销售企业因业务发展,需要建立线上药品销售系统,为用户提供便捷的互联网药品销售服务、该系统除了常规药品展示、订单、用户交流与反馈功能外,还需要提供当前热销产品排名、评价分类管理等功能。</p><p>通过对需求的分析,在数据管理上初步决定采用关系数据库(MySQL)和数据库缓存(Redis)的混合架构实现。</p><br><p>【问题3】(7分)</p><p>(1)Redis的数据类型包括String、Hash、List、Set和Z Set等,请说明实现Redis 当前热销药品排名的功能应该选择使用哪种数据类型。</p><p>(2)考虑到Redis在使用时需考虑分布式存储的集群扩展能力,请给出几种典型的Redis分布式存储方案。</p>","analyze":"无","multi":0,"questionType":2,"answer":"<p>(1)String类型可用于缓存层或计数器,如视频播放量、文章浏览量等。Hash类型可用于描述用户信息。list类型可用于回复评论、点赞。Zset类型可用于数据排名。本题适用于Zset类型。</p><p>(2)主从复制模式、哨兵(sentinel)模式、集群(Cluster)模式。</p>","chooseItem":null,"itemList":null,"userAnswer":null,"userChooseItem":null,"answerCorrect":null,"userCollect":null},{"id":"794934144017649665","title":"<p>试题五(25分)</p><p>某互联网金融集团依托微服务技术研发互联网金融交易信息系统,全面整合原分布于各省地方分公司的区域系统,实现统一的用户账户管理、转账汇款、理财投资、贷款管理、网上交易、网上支付、财务共享、财务统计分析等业务功能。</p><p>在讨论过程中,王工建议采用面向服务的体系结构(SOA),可以通过ESB充分整个各地现有业务,并可支持Web、智能手机等多种前端应用形式接入相同的后端服务;而张工提出采用分布式微服务体系结构,整合业务的同时,可以利用云服务提高体系结构的性能、可用性和可扩展性,又可以提高整体的可变性和可维护性,且有利于适应当下和未来技术的高速发展和快速变更。</p><p>经过综合分析和讨论,集团领导最终决定同时采纳两位架构师的建议,结合使用,制定基于分布式微服务的前后端分离体系结构。</p><br><p>【问题1】(10分)</p><p>对于王工提出的SOA架构,请对比它与微服务架构的差异,补充下面的表格。</p><img style=\"max-width:100%;height:auto\"  src=\"https://image.chaiding.com/ruankao/be1d9afe62b8e2900c5bce259fd79dce.jpg?x-oss-process=style/ruankaodaren\" title=\"be1d9afe62b8e2900c5bce259fd79dce.jpg\" alt=\"1111.jpg\" width=\"535\" height=\"120\"/>","analyze":"略","multi":0,"questionType":2,"answer":"<img style=\"max-width:100%;height:auto\"  src=\"https://image.chaiding.com/ruankao/3f655827ba7df6581e12d2c0a691d4d4.jpg?x-oss-process=style/ruankaodaren\" title=\"3f655827ba7df6581e12d2c0a691d4d4.jpg\" alt=\"1111.jpg\" width=\"530\" height=\"101\"/>","chooseItem":null,"itemList":null,"userAnswer":null,"userChooseItem":null,"answerCorrect":null,"userCollect":null},{"id":"794934092545150977","title":"<p>国内某安防公司欲为其防火报警器产品研发互联网产品以提高产品的易用性和用户透明性,并为主管部门提供信息辅助和联防联控支持。</p><p>据用户描述,设备使用场景存在多种可能性,如:</p><p>1. 开发商集中采购在楼盘中批量安装部署;</p><p>2. 用户购买,在自身房屋中安装使用1个到多个终端;</p><p>3. 企业在其自身的营业场所批量安装部署;</p><p>并且,研发的应用产品将面对多种使用客户,如:</p><p>1. 消防中队或消防站</p><p>2. 企业安防用户</p><p>3. 社区或物业的安防用户</p><p>4. 个人用户及其亲属关联用户</p><p>据此,系统分析师提出以SaaS产品形式组织应用研发。</p><br><p>【问题3】(8分)</p><p>随着用户数不断增加,数据访问性能对提升系统性能有很大帮助,请给出适当建议以提高数据访问性能。</p>","analyze":"无","multi":0,"questionType":2,"answer":"&nbsp;<img style=\"max-width:100%;height:auto\"  src=\"https://image.chaiding.com/ruankao/99ca09fb632af9eddfb08468a5861413.jpg?x-oss-process=style/ruankaodaren\" title=\"99ca09fb632af9eddfb08468a5861413.jpg\" alt=\"1.jpg\"/>","chooseItem":null,"itemList":null,"userAnswer":null,"userChooseItem":null,"answerCorrect":null,"userCollect":null},{"id":"794934062497157121","title":"试题五(25分)<p>近年来,随着互联网行业的迅猛发展,公司或组织业务的不断扩张,需求的快速变化以及用户量的不断增加,传统的单块(Monolithic)软件架构面临着越来越多的挑战,已逐渐无法适应互联网时代对软件的要求。在这一背景下,微服务架构模式(Microservice?Architecture?Pattern)逐渐流行,它强调将单一业务功能开发成微服务的形式,每个微服务运行在一个进程中;采用HTTP等通用协议和轻量级API实现微服务之间的协作与通信。这些微服务可以使用不同的开发语言以及不同数据存储技术,能够通过自动化部署工具独立发布,并保持最低限制的集中式管理。</p><br><p>【问题1】(6分)</p><p>下表列出了SOA与微服务在服务粒度、服务通信、服务交付、应用场景的不同,请将表格补充完整。</p><img style=\"max-width:100%;height:auto\"  src=\"https://image.chaiding.com/ruankao/9ae9c66a5b0321c06b093da712e30acd.jpg?x-oss-process=style/ruankaodaren\" title=\"9ae9c66a5b0321c06b093da712e30acd.jpg\" alt=\"1.jpg\"/>","analyze":"无","multi":0,"questionType":2,"answer":"&nbsp;<img style=\"max-width:100%;height:auto\"  src=\"https://image.chaiding.com/ruankao/2c3e712e0633cd01aa391e3f5e636c60.jpg?x-oss-process=style/ruankaodaren\" title=\"2c3e712e0633cd01aa391e3f5e636c60.jpg\" alt=\"2.jpg\"/>","chooseItem":null,"itemList":null,"userAnswer":null,"userChooseItem":null,"answerCorrect":null,"userCollect":null},{"id":"794934131300519937","title":"<p style=\"text-indent:25px\">试题一(25分)</p><p>阅读以下关于系统分析与建模的说明,回答问题1到问题4。</p><p>【说明】</p><p>某畜牧饲料公司欲建设一套面向互联网的商品交易平台,该平台可以方便畜牧业养殖户与饲料公司之间的询价与交易。参考目前的电子商务模式,该平台的主要需求可参考下图,需求具体描述如下:<br/></p><p><img src=\"https://image.chaiding.com/ruankao/bcc786288b0513bf2f4725391a119c2c.jpg?x-oss-process=style/ruankaodaren\" title=\"bcc786288b0513bf2f4725391a119c2c.jpg\" alt=\"1111.jpg\" width=\"475\" height=\"298\"/></p><p>1.&nbsp;平台主要分为商家、顾客和管理员三类用户。商家代表在平台上发布供应和商品的用户,顾客代表在平台上下采购订单的用户,管理员代表平台上的运营和维护人员。</p><p>2.&nbsp;商家在注册账户后获得一个店铺,店铺拥有库存,库存中存放商品记录。商家可以通过添加商品和追加库存的方式,向库存中添加店铺中可销售的商品。通过标记商品上/下架状态或调整库存的方式设置商品是否在店铺中展示和销售。当商品库存为0时,不会出现在商家店铺中。</p><p>3.&nbsp;顾客在浏览商家店铺和商品的过程中可以直接下订单(3.1),或将商品加入购物车(3.2),然后再使用购物车生成订单(3.3)。</p><p>3.1&nbsp;顾客在浏览到某个合意的商品时,可直接填写商品数量并生成订单;</p><p>3.2&nbsp;顾客在浏览到某个合意的商品时,可将商品添加到购物车中。添加时可提前填入商品数量,也可未来在购物车中修改商品数量;</p><p>在购物车中,顾客可以移除商品,也可以调整购买商品的数量。顾客可以通过复选框勾选部分商品或全部商品,然后通过生成订单按钮依据选中商品生成一个新的订单。</p><br><p>【问题1】(9分)</p><p>图2-1中出现了UML类图中的哪几种关系?请简要描述这些关系所代表的含义。</p>","analyze":"略","multi":0,"questionType":2,"answer":"<p>顾客、商家和管理员与用户间是泛化关系,泛化关系是一种继承关系,表示一般与特殊的关系,它指定了子类如何特化父类的所有特征和行为。</p><p>商家与库存间是依赖关系,依赖关系是一种使用的关系,即一个类的实现需要另一个类的协助。</p><p>库存与商品间是聚合关系,聚合关系是整体与部分的关系,且部分可以离开整体而单独存在。</p>","chooseItem":null,"itemList":null,"userAnswer":null,"userChooseItem":null,"answerCorrect":null,"userCollect":null},{"id":"794934071187755009","title":"<p>题目二<br/>阅读以下在线订餐管理系统的数据流图,在答题纸上回答问题1至问题3。</p><p>阅读以下关于面向对象系统建模的叙述,回答问题。</p><p style=\"margin-top: 0;margin-bottom: 0;text-indent: 28px\">【说明】</p><p>某软件企业为车载产品销售公司W开发一套在线销售系统,以提升服务的质量和效率。项目组经过讨论后决定采用面向对象方法开发该系统。在设计建模阶段需要满足以下设计要求:</p><p>W公司经常进行促销活动。根据不同的条件(如车型、配饰种类、商品数量、产品种类等),公司可以提供百分比折扣或现金减免等多种促销方式供提交订单的用户选择。实现每种促销活动的代码量很大,且会随促销策略不同经常修改。系统设计中需要考虑现有的促销和新的促销,而不用经常地重写控制器类代码。</p><p>该在线销售系统需要计算每个订单的税率,不同商品的税率及计算方式会有所区别。所以W公司决定在系统中直接调用不同商品供应商提供的税率计算类,但每个供应商的类提供了不同的调用方法。系统设计中需要考虑如果公司更换了供应商,应该尽可能少地在系统中修改或创建新类。</p><p>项目组架构师决定采用设计模式来满足上述设计要求,并确定从当前已经熟练掌握的设计模式中进行选择,这些设计模式包括:适配器模式(Adapter)、构造器模式(Builder)、命令模式(Command)、外观模式(Facade)、中介模式(Mediator)、原型模式(Prototype)、代理模式(Proxy)、状态模式(State)和策略模式(Strategy)等。</p><br><p>【问题3】(10分)</p><p>针对题目中所提出的设计要求(1)和(2),项目组应该分别选择何种设计模式?请分别用200字以内文字说明具体的解决方案。</p>","analyze":"无","multi":0,"questionType":2,"answer":"<p>(1)策略模式</p><p>解决方案:在具有公共接口的独立类中定义每个计算。可以利用该模式创建各种促销类,它们从同一个超类继承。每个类都有相同名称的标准接口方法,用于根据订单编号计算将要折扣的金额总数。计算每个促销的内部代码对促销类来说完全不同。</p><p>(2)适配器模式</p><p>解决方案:增加一个类作为适配器,转换类的接口到客户端类期望的另一个接口。实现一个适配器类,这个类为系统的其他部分提供了一个不变的方法供调用,为了集成不同商品供应商提供的税率计算类,编写一个适配器类的子类,包含调用购买类所需的代码。该子类将系统的调用映射到某个供应商的税率计算类。如果要更换供应商,那么只需要写一个新的适配器子类,其他保持不变。</p>","chooseItem":null,"itemList":null,"userAnswer":null,"userChooseItem":null,"answerCorrect":null,"userCollect":null},{"id":"796239977603158017","title":"试题一(25分)<br>\n阅读下列说明,回答问题1至问题3,将解答填入答题纸的对应栏内。<br>\n【说明】<br>\n某企业委托软件公司开发一套运动器材综合销售平台,以改进已有的销售管理系统,拓展现有的实体店销售模式,综合管理线上线下的器材销售业务。该软件公司组建项目组开发该系统,现正处于需求获取阶段。经过项目组讨论,由于目标系统业务功能比较复杂,所以在需求获取中针对不同类型的业务需求,采用不同的需求获取方法。项目组列出可选的需求获取方法包括:用户访谈、联合需求计划(JRP)、问卷调查、文档分析和实地观察等。<br>\n需求获取的要求如下:<br>\n(1)获取已有销售管理系统中所实现的实体店销售模式和过程;<br>\n(2)获取系统的改进需求和期望增加的业务功能;<br>\n(3)获取当前业务过程中的详细数据并深入了解这些数据产生的原因;<br>\n(4)从企业管理人员、销售人员、各种文档资源等尽可能多的来源获取需求;<br>\n(5)消除需求中出现的冲突,尽可能获取全面、一致的需求;<br>\n(6)尽可能多地让用户参与需求获取过程。\n<br><br>\n【问题1】(10分)<br>\n联合需求计划(JRP)是一种流行的需求获取方法。请说明什么是JRP,JRP与其它需求获取方法相比有什么优势?\n<br><br>\n【问题2】(12分)<br>\n针对题目中所描述的需求获取要求(1)~(6),选择最适合的需求获取方法填入表1-1中的(a)~(f)处。<br>\n<img alt=\"\" width=\"499\" height=\"171\" src=\"https://image.chaiding.com/ruankao/ef72fcaba9251762313f5e3c4834cab4.jpg?x-oss-process=style/ruankaodaren\">\n<br><br>\n【问题3】(3分)<br>\n由于该企业销售规模较大,所积累的企业业务文档数量庞大,所以只能通过抽样实现不同类型的文档分析。如果对于每种类型的文档要求90%的可信度(可信度因子为1.645),那么不同类型的文档分别需要抽样多少份就能达到该要求?","analyze":"【问题1】<br>\n联合需求计划是一个通过高度组织的群体会议来分析企业内的问题并获取需求的过程,它是由企业主管部门经理、会议主持人、用户、协调人员、IT人员、秘书等共同组成的专题讨论组来分析、讨论问题并定义系统需求。<br>\nJRP和其他需求获取方法相比的优势:(1)发挥用户和管理人员参与系统开发过程的积极性,提高系统开发效率:(2)降低了系统需求获取的时间成本,加速系统开发周期;(3)采用原型确认系统需求并获取设计审批,具有原型化开发方法的优点。<br>\n<br>\n本题考查考生对于软件需求获取方法的掌握情况。<br>\n需求获取是一个确定和理解不同类用户的需求和约束的过程。需求获取通过系统分析师与用户的有效合作才能成功,系统分析师建立一个对问题进行彻底讨论的环境,这些问题与将要开发的系统有关。需求获取是否科学、准备充分,对获取出来的需求质量影响很大,大部分用户无法完整地描述需求,而且也不可能看到系统的全部过程。所以,准确、完整和一致的系统需求需要采用合适的方法才能获得。<br>\n掌握各种不同的需求获取技术,并且熟练地在实践中运用它,是系统分析师的必备技能。目前流行的需求获取技术主要包括用户访谈、联合需求计划(Joint Requirement Planning, JRP),问卷凋查、文档分析和实地观察等。<br>\n为了提高需求获取的效率,越来越多的企业倾向于使用小组工作会议来代替大景独立的访谈。眹合需求计划(JRP)是一个通过高度组织的群体会议来分析企业内的问题并获取需求的过程,它是由企业主管部门经理、会议主持人、用户、协调人员、IT人员、秘书等共同组成的专题讨论组来分析、讨论问题并定义系统需求。联合需求计划是联合应用开发(Joint Application Development,JAD)的一部分。<br>\n联合需求计划是一种相对来说成本较高的需求获取方法,但也是一种有效的方法。联合需求计划将会起到群策群力的效果,对于一些问题最有歧义的时候或对需求域不清晰的领域都是十分有用的一种方法。这种方式由于鼓励用户参与,能够发挥用户和管理人员参与系统开发过程的积极性,提高系统开发效率。联合需求计划会议的参与人数为6~18人,时间为1~5小时,能够明显降低系统需求获取的时间成本,加速系统开发周期。在联合需求计划中可以通过系统原型对系统需求进行确认,便于系统获取设计审批。\n<br><br>\n【问题2】<br>\n(a)文档分析或实地观察<br>\n(b)用户访谈或联合需求计划<br>\n(c)用户访谈或联合需求计划<br>\n(d)问卷调査或文档分析<br>\n(e)联合需求计划<br>\n(f)联合需求计划 <br>\n<br>\n各种需求获取方法都有其优点和弊端,实际使用过程中,应根据不同类型的需求选择合适的需求获取方法。<br>\n(1)对于当前已有系统的理解采用文档分析和实地观察方法是最有帮助的;<br>\n(2)和(3)用户访谈和联合需求计划能够提供一些丰富而详细的信息,并且能让分析员了解信息背后的原因,便于获取更深入的需求;<br>\n(4)问卷凋查和文档分析能方便地从一大堆信息资源中获取人最的有用信息,便于获取更大范围的需求:<br>\n(5)和(6)联合需求计划能够鼓励用户参与到系统开发中,解决不同用户所提供信息之间的矛盾,便于获取全面、一致的需求。\n<br><br>\n【问题3】<br>\n每种类型的文档需要分别抽取68份。<br>\n<br>\n文档分析中通常采用抽样技术来实现大量不同类型文档的分析,确定样本数量大小是实施抽样的重要工作。样本数量大小计算公式:<br>\n样本数量=0.25x(可信度因子/错误率)<sup>2</sup><br>\n所以,对于每种类型的文档,所需要抽取的样本数量=0.25X(1.645/0.1)<sup>2</sup>≈68份。","multi":0,"questionType":2,"answer":"","chooseItem":null,"itemList":null,"userAnswer":null,"userChooseItem":null,"answerCorrect":null,"userCollect":null},{"id":"834665615699496961","title":"<p style=\"text-indent:28px\">试题一(25分)</p><p>阅读下列说明,回答问题1至问题3,将解答填入答题纸的对应栏内。</p><p>&nbsp;</p><p>【说明】</p><p>某软件企业拟开发一套基于移动互联网的在线运动器材销售系统,项目组决定采用FAST开发方法进行系统分析与设计。在完成了初步的调查研究之后进入了问题分析阶段,分析系统中存在的问题以及改进项。其分析的主要内容包括:</p><p>(1)器材销售订单处理的时间应该减少20%;</p><p>(2)移动端支持iOS和Android两类操作系统;</p><p>(3)器材销售订单处理速度太慢导致很多用户取消订单;</p><p>(4)后台服务器硬件配置比较低;</p><p>(5)用户下单过程中应该减少用户输入的数据量;</p><p>(6)订单处理过程中用户需要输入大量信息;</p><p>(7)利用云计算服务可以降低50%的服务器处理时间;</p><p>(8)公司能投入的技术维护人员数量有限;</p><p>(9)大量的并发访问会导致App页面无法正常显示。</p><br><p>【问题3】(5分)</p><p>在决策分析阶段,需要对候选方案所述内容按照操作可行性、技术可行性、经济可行性和进度可行性进行分类。请将下列(1)~(5)内容填入表2-2的(a)~(d)中。</p><p>(1)新开发的器材销售系统能够满足用户所需的所有功能;</p><p>(2)系统开发的成本大约需要40万元人民币;</p><p>(3)需要对移动端App开发工程师进行技术培训;</p><p>(4)系统开发周期需要6个月;</p><p>(5)系统每年维护的费用大约5万元人民币。<br/><img style=\"max-width:100%;height:auto\"  src=\"https://image.chaiding.com/ruankao/497e7ce9373fba7b2358e91224edaca9.png?x-oss-process=style/ruankaodaren\" title=\"497e7ce9373fba7b2358e91224edaca9.png\" alt=\"image.png\" width=\"392\" height=\"169\"/></p>","analyze":"<p>“(1)新开发的器材销售系统能够满足用户所需的所有功能;”属于操作可行性。</p><p>“(3)需要对移动端App开发工程师进行技术培训;”属于技术可行性。</p><p>“(2)系统开发的成本大约需要40万元人民币;(5)系统每年维护的费用大约5万元人民币。”属于经济可行性。</p><p>“(4)系统开发周期需要6个月;”属于进度可行性。</p>","multi":0,"questionType":2,"answer":"<p>(a)(1)</p><p>(b)(3)</p><p>(c)(2)、(5)</p><p>(d)(4)</p>","chooseItem":null,"itemList":null,"userAnswer":null,"userChooseItem":null,"answerCorrect":null,"userCollect":null},{"id":"794934114875625473","title":"<p>试题五(26分)</p><p>某互联网金融集团依托微服务技术研发互联网金融交易信息系统,全面整合原分布于各省地方分公司的区域系统,实现统一的用户账户管理、转账汇款、理财投资、贷款管理、网上交易、网上支付、财务共享、财务统计分析等业务功能。</p><p>在讨论过程中,王工建议采用面向服务的体系结构(SOA),可以通过ESB充分整个各地现有业务,并可支持Web、智能手机等多种前端应用形式接入相同的后端服务;而张工提出采用分布式微服务体系结构,整合业务的同时,可以利用云服务提高体系结构的性能、可用性和可扩展性,又可以提高整体的可变性和可维护性,且有利于适应当下和未来技术的高速发展和快速变更。</p><p>经过综合分析和讨论,集团领导最终决定同时采纳两位架构师的建议,结合使用,制定基于分布式微服务的前后端分离体系结构。</p><br><p>【问题1】(10分)</p><p>对于王工提出的SOA架构,请对比它与微服务架构的差异,补充下面的表格。</p><img style=\"max-width:100%;height:auto\"  src=\"https://image.chaiding.com/ruankao/ece912dd55d2110bb425ed1b26c99917.png?x-oss-process=style/ruankaodaren\" title=\"ece912dd55d2110bb425ed1b26c99917.png\" alt=\"image.png\"/>","analyze":"无","multi":0,"questionType":2,"answer":"<img style=\"max-width:100%;height:auto\"  src=\"https://image.chaiding.com/ruankao/d075272531d1e46c93f5c65cc862abe4.png?x-oss-process=style/ruankaodaren\" title=\"d075272531d1e46c93f5c65cc862abe4.png\" alt=\"image.png\"/>","chooseItem":null,"itemList":null,"userAnswer":null,"userChooseItem":null,"answerCorrect":null,"userCollect":null},{"id":"834665616085372929","title":"<p style=\"text-indent:28px\">试题二(25分)</p><p>阅读以下关于系统分析与设计的叙述,在答题纸上回答问题1至问题3。</p><p>【说明】</p><p>某高校拟开发一套图书馆管理系统,在系统分析阶段,系统分析师整理的核心业务流程与需求如下:</p><p>系统为每个读者建立一个账户,并给读者发放读者证(包含读者证号、读者姓名),账户中存储读者的个人信息、借阅信息以及预订信息等,持有读者证可以借阅图书、返还图书、查询图书信息、预订图书、取消预订等。</p><p>在借阅图书时,需要输入读者所借阅的图书名、ISBN号,然后输入读者的读者证号,完成后提交系统,以进行读者验证。如果读者有效,借阅请求被接受,系统查询读者所借阅的图书是否存在,若存在,则读者可借出图书,系统记录借阅记录;如果读者所借阅的图书已被借出,读者还可预订该图书。读者如期还书后,系统清除借阅记录,否则需缴纳罚金,读者还可以选择续借图书。</p><p>同时,以上部分操作还需要系统管理员和图书管理员参与。</p><br><p>【问题1】(6分)</p><p>采用面向对象方法进行软件系统分析与设计时,一项重要的工作是进行类的分析与设计。请用200字以内的文字说明分析类图与设计类图的差异。</p>","analyze":"<p>分析类图应用于软件开发的需求分析阶段,设计类图应用于软件开发的设计阶段。</p><p>分析类图用于研究领域的概念;设计类图用于描述类与类之间的接口。</p><p>图4-1给出了名片系统的分析类图和设计类图。由图可知,分析类图更抽象,用于发现需求,从业务领域获取信息,但不关注类的属性和方法的细节;设计类图基于分析类图,但更详细,包含了类的英文名称、类属性的可见性、类属性的英文名称、类属性的数据类型、类方法的返回值、方法的英文名称和方法的传入参数等信息。程序员可以根据设计类图编写类代码或者通过软件来自动创建类代码。</p><img style=\"max-width:100%;height:auto\"  src=\"https://image.chaiding.com/ruankao/fe44d258dd9660aaf00f3393fffcd58f.png?x-oss-process=style/ruankaodaren\" title=\"fe44d258dd9660aaf00f3393fffcd58f.png\" alt=\"image.png\" width=\"433\" height=\"431\"/>","multi":0,"questionType":2,"answer":"(1)应用阶段不同:分析类图应用于软件开发的需求分析阶段,设计类图应用于软件开发的设计阶段。<p>(2)作用不同:分析类图用于研究领域的概念;设计类图用于描述类与类之间的接口。</p><p>(3)详细程度和侧重点不同:分析类图更抽象,用于发现需求,从业务领域获取信息,但不关注类的属性和方法的细节;设计类图基于分析类图,但更详细,包含了类的英文名称、类属性的可见性、类属性的英文名称、类属性的数据类型、类方法的返回值、方法的英文名称和方法的传入参数等信息。</p>","chooseItem":null,"itemList":null,"userAnswer":null,"userChooseItem":null,"answerCorrect":null,"userCollect":null},{"id":"834665620380340225","title":"<p style=\"text-indent:28px\">试题五(25分)</p><p>阅读以下关于Web系统架构设计的叙述,在答题纸上回答问题1至问题3。</p><p>【说明】</p><p>某公司拟开发一个基于Web的远程康复系统。该系统的主要功能需求如下:</p><p>(1)康复设备可将患者的康复训练数据实时传入云数据库;</p><p>(2)医生可随时随地通过浏览器获取患者康复训练的数据,并进行康复训练的结果评估和康复处方的更新;</p><p>(3)患者可通过此系统查看自己的康复训练记录和医生下达的康复训练处方,并可随时与医生进行在线沟通交流;</p><p>(4)平台管理员可借助此系统实现用户的管理和康复设备的监控和管理,及时获悉设备的数据信息,便于设备的维护和更新。</p><p>该公司针对上述需求组建了项目组,并召开了项目开发讨论会。会上,张工建议云数据库采用关系型数据库来实现数据存储;李工提出采用三层架构实现该远程康复系统。</p><br><p>【问题3】(10分)</p><p>根据李工的建议,该系统将采用三层架构。请用300字以内的文字分析层次型架构的优势,并从下面给出的(a)~(i)候选项中进行选择,补充完善图2-3中(1)~(6)处空白的内容,完成该系统的架构设计方案。</p><img style=\"max-width:100%;height:auto\"  src=\"https://image.chaiding.com/ruankao/11e0885175680d8b7f51743e048268aa.png?x-oss-process=style/ruankaodaren\" title=\"11e0885175680d8b7f51743e048268aa.png\" alt=\"image.png\" width=\"522\" height=\"224\"/><p>候选项:</p><p>a)治疗仪 b)接入层 c)Socketd)Springe)应用层</p><p>f)MySQLg)MVCh)无线通信i)网络层</p><p>&nbsp;</p>","analyze":"<p>层次型架构,每一层调用下层服务,并为上层服务。这种方式,优势如下:</p><p>1)开发分工明确,可以专注理解一层开发。</p><p>2)层与层之间是低耦合,层内是高内聚。</p><p>3)每一层通过接口为其他层提供服务,因此可修改性高。</p><p>4)可复用性强。</p><p>根据题意可知,系统采用三层架构,结合(a)~(i)候选项,可得(1)、(5)、(6)为接入层、网络层、应用层。</p><p>(2)属于康复设备,结合候选项,应选治疗仪;康复设备与智能网关的通信,显然是无线方式,因此空(3)选h;(4)属于智能网关协议,结合候选项,应选Socket。</p>","multi":0,"questionType":2,"answer":"<p>层次型架构的优势如下:</p><p>1)开发分工明确,可以专注理解一层开发。</p><p>2)层与层之间是低耦合,层内是高内聚。</p><p>3)每一层通过接口为其他层提供服务,因此可修改性高。</p><p>4)可复用性强。</p><p>&nbsp;</p><p>题目空(1)~(6)处填</p><p>(1)b(2)a(3)h(4)c(5)i(6)e</p>","chooseItem":null,"itemList":null,"userAnswer":null,"userChooseItem":null,"answerCorrect":null,"userCollect":null},{"id":"794917102526943233","title":"<p>试题五:</p><p>某公司拟开发一个电商平台用户行为分析系统,该系统可支持对电商平台用户行为数据的采集和实时/高效数据处理分析,统计分析用户访问情况。搜集&nbsp;PV/UV&nbsp;商品热度等相关数据。系统应具备以下能力</p><p>(1)对海量用户行为数据的存储和处理能力</p><p>(2)为适应用户行为的随机性,保证系统不会被爆发的日志数据压垮,系统应具备对突发流量的处理能力</p><p>(3)对用户数据的隐私保护能力</p><p>针对项目需求,公司召开会议,会上张工提出用户行为会产生大量数据,传统的文件存储与关系型数据库,无法完全解决当前系统问题,应基于大数据技术设计并实现系统,李工提出可就重要数据脱敏的方法解决用户隐私的问题</p><br><p>问题3:根据李工的建议,项目组拟应用数据脱敏方法对该系统的敏感数据进行脱敏。请用300字以内文字说明常用5种数据脱敏方法</p>","analyze":"略","multi":0,"questionType":2,"answer":"<p>1.&nbsp;基于规则的脱敏方法:根据不同的敏感程度,制定相应的脱敏规则。对于姓名、联系方式等个人信息,可以将关键信息用“*”代替。如“王*”、“180****0329”。</p><p>2.&nbsp;&nbsp;加密脱敏方法:对敏感数据进行加密处理,只有授权的人员可以解密。例如,对于银行账号、信用卡号等敏感信息,可以使用加密算法进行脱敏,只有经过授权的人员才能够查看原始数据。</p><p>3.&nbsp;&nbsp;伪装脱敏方法:将敏感数据替换成其他的数据,以达到保护隐私的目的。例如,对于地理位置信息,可以将具体地址替换成地图上的某个随机点,或者将经纬度加上一定的随机偏移量来进行伪装。</p><p>4.&nbsp;&nbsp;数据扰动脱敏方法:将原始数据进行随机化处理,以达到数据保护的目的。例如,对于数字类型的敏感数据,可以对其进行扰动处理,添加一定的随机误差,从而使得原始数据不易被还原。</p><p>5.&nbsp;&nbsp;数据屏蔽脱敏方法:对于一些敏感数据,可以采取屏蔽措施,避免其被存储、传输或使用。例如,可以将一些特定的数据列从数据库中删除或屏蔽掉,只有经过授权的人员才能够访问。</p>","chooseItem":null,"itemList":null,"userAnswer":null,"userChooseItem":null,"answerCorrect":null,"userCollect":null},{"id":"794934162254483457","title":"<p style=\"text-indent:32px\">试题五(25分)</p><p>阅读以下关于Web应用的叙述,在答题纸上回答问题1至问题3。</p><p>【说明】</p><p>某培训机构提出开发一个在线教学系统。该系统釆用微服务架构,将系统功能分解为多个松散耦合且可独立部署的较小组件或服务。最终设计的系统包括了教学系统中常见的服务:讲师服务、学员服务、在线学习服务、批改答疑服务等。</p><p>在系统上线之后,由于功能完善、界面新颖,吸引了大量用户,系统性能出现了瓶颈。在线学习服务的情况最严重,实时保存学习进度导致大量数据库写操作;网络带宽也严重不足。对于这个情况,李工提出增加服务器资源的投入,而王工提出采用集群和云原生的技术。</p><p>经过技术组内多次讨论,决定采纳了王工的建议。</p><br><p>【问题2】(6分)</p><p>由于大量学员同时在线学习,系统和网络的资源严重不足。在这种情况下王工提出采用CDN技术解决该问题。请用300字以内的文字介绍CDN技术并说明为什么能解决该问题。</p>","analyze":"无","multi":0,"questionType":2,"answer":"<p>CDN是内容分发网络技术,目前已经是属于云服务的一个基本件。一个系统配置了CDN以后,当终端用户访问这个系统的时候,可以被调度到离用户网络上最近的边缘节点,从而大大减低核心节点的资源损耗,还能提高用户访问的响应速度。</p><p>在本系统的情况中,在线学习会占用大量网络带宽,可以提前把课件资源缓存到边缘节点,从而保护系统核心节点的网络带宽,防止整个系统阻塞。而实时保存学习进度导致大量数据库写操作,可以通过边缘节点的内存数据库暂存学习进度,定期再批量同步到主数据库。</p><p>因此,采用CDN技术可以妥善解决系统和网络的资源严重不足的问题。</p>","chooseItem":null,"itemList":null,"userAnswer":null,"userChooseItem":null,"answerCorrect":null,"userCollect":null},{"id":"796240137322254337","title":"试题四(25分)<br>\n阅读以下关于软件系统运行与维护的叙述,在答题纸上回答问题1至问题3。<br>\n【说明】<br>\n随着信息化的发展,某银行的中心账务系统,从城市中心、省中心模式已经升级到全国中心模式。但是处理各种代收代付业务的银行中间业务系统,目前仍然采用省中心模式,由各省自行负责,使得全国中间业务管理非常困难。因此总行计划将银行中间业务系统全部升级到全国中心模式,对各省中间业务进行统一管理。\n各省行采用的银行中间业务系统,均为各省自建,或者自行开发,或者自行采购,系统的硬件平台、软件系统、数据模式等均有非常大的差异。同时,对一些全国性的代收代付业务的处理方式,各省行也存在很大的差异。为统一管理,总行决定重新开发一套全国中心模式的银行中间业务系统,用来替代各省自建的中间业务系统,但要求能够支持目前各省的所有中间业务。\n<br><br>\n【问题1】(9分)<br>\n各省已建的银行中间业务系统属于遗留系统,在如何对待遗留系统上,设计组存在两种不同的策略:淘汰策略和继承策略。请简要解释这两种策略,并说明新开发的银行中间业务系统适合采用哪种策略及其原因。\n<br><br>\n【问题2】(10分)<br>\n遗留系统和新系统之间的转换策略常见的有直接转换、并行转换和分段转换。请简要说明达三种转换策略的含义;并请结合银行中间业务的特点,说明该银行新开发的中间业务系统上线时适合采用哪种策略?为什么?\n<br><br>\n【问题3】(6分)<br>\n银行中间业务系统中,最为核心的是业务数据。因此在新旧系统切换时存在一项重要的工作:数据迁移。考虑到各省中间业务系统的巨大差异,因此需要做好数据迁移前的准备工作。请简要说明数据迁移准备工作的内容。","analyze":"【问题1】<br>\n(1) 淘汰策略:遗留系统的技术含量低,具有较低的业务价值,因此需要全面重新开发新系统以替代遗留系统;一般是企业的业务发生了根本变化,遗留系统已经基本上不再适应企业运作的需要;或者是遗留系统的维护人员流失,维护文档资料丢失。评价后发现,开发新系统比维护与改造旧系统从成本上更经济合算。<br>\n(2) 继承策略:遗留系统技术含量低,已经满足企业运作的功能或性能要求,但有较高的业务价值,目前企业的业务尚需依赖该遗留系统。因此开发系统替代遗留系统时,需要完全兼容遗留系统的功能模型和数据模型。<br>\n适合采用的是继承策略。因为全国中心需要管理银行的全国中间业务,而目前的省中心系统从技术上不满足全国中心的需求,需要重新开发新的银行中间业务系统;同时,新系统必须支持当前各省的所有中间业务,因此必须完全兼容各省的功能模型和数据模型。<br>\n<br>\n本题考查软件系统运行与维护中的系统转换与交接的相关知识及应用。<br>\n此类题目要求考生认真阅读题目对现实问题的描述,根据实际需求,采用恰当的遗留系统的处理策略、新旧系统转换策略和数据转换与迁移办法,解决实际问题。<br>\n遗留系统是指任何基本上不能进行修改和演化以满足新业务需求变化的信息系统。在企业信息系统的升级改造过程中,如何处理和利用遗留系统,成为新系统建设的重要组成部分,处理恰当与否,直接关系到新系统的成败和开发效率。采用哪种策略来处理遗留系统,需要根据对遗留系统的所有系统特性的评价来确定。主要的评价方法包括度量系统技术水准、商业价值和与之关联的企业特征。根据技术水平和业务价值的高低,可以将遗留系统分为四类,针对不同类别的遗留系统采用不同的策略。<br>\n(1) 淘汰策略:遗留系统的技术含量低、业务价值低,应采用淘汰策略,即全面重新开发新的系统以代替遗留系统。一般是企业的业务发生根本变化,遗留系统已经基本上不再适应企业运作的需要;或者是遗留系统的维护人员、维护文档资料丢失。评价后发现,开发新系统比维护与改造旧系统从成本上更经济合算。<br>\n(2) 继承策略:遗留系统技术含量低,已经不能满足企业运作的功能或性能要求,但有较高的业务价值,目前企业的业务尚需依赖该遗留系统。因此开发系统替代遗留系统时,需要完全兼容遗留系统的功能模型和数据模型。<br>\n(3) 改造策略:遗留系统的技术含量高,业务价值高,基本上能满足企业业务运行和决策支持的需要。改造包括系统功能的增强和数据模型的改造两个方面。<br>\n(4) 集成策略:遗留系统的技术含量高,业务价值低,可能只完成某个部门的业务管理。对于整个企业而言,可能存在多个这样系统,形成了信息孤岛,因此采用集成策略。<br>\n针对本体的陈述,全国中心需要管理银行的全国中间业务,而目前的省中心系统从技术上不满足全国中心的需求,需要重新开发新的银行中间业务系统;同时,新系统必须支持当前各省的所有中间业务,因此必须完全兼容各省的功能模型和数据模型。因此建议采用集成策略。\n<br><br>\n【问题2】<br>\n直接转换就是在原有系统停止运行的某一时刻,新系统立即投入运行,中间没有过渡阶段。并行转换就是新系统和现有系统并行工作一段时间,经过这段时间的试运行后,再用新系统正式替换下现有系统。分段转换策略也称为逐步转换策略,这种转换方式是直接转换方式和并行转换方式的结合,采取分期分批逐步转换。<br>\n该银行适合采用分段转换策略。一般比较大的系统采用这种方式较为适宜,它能保证平稳运行,费用也不太高;或者现有系统比较稳定,能够适应自身业务发展需要,或新旧系统转换风险很大,也可以采用分段转换策略。<br>\n<br>\n当新系统开发完毕投入运行时,要取代现有系统,就要进行系统转换。系统转换是指运用某种方式,由现有系统的工作方式向新系统工作方式的转换过程,也是系统设备、数据、人员等的转换过程。<br>\n在实施新旧系统转换时,转换的策略通常有三种。直接转换就是在原有系统停止运行的某一时刻,新系统立即投入运行,中间没有过渡阶段。并行转换就是新系统和现有系统并行工作一段时间,经过这段时间的试运行后,再用新系统正式替换现有系统。分段转换策略也称为逐步转换策略,这种转换方式是直接转换方式和并行转换方式的结合,采取分期分批逐步转换。<br>\n根据题干的陈述,该银行适合采用分段转换策略。一般比较大的系统采用这种方式较为适宜,它能保证平稳运行,费用也不太高;或者现有系统比较稳定,能够适应自身业务发展需要,或新旧系统转换风险很大,也可以采用分段转换策略。\n<br><br>\n【问题3】<br>\n要做好以下7个方面的工作:<br>\n(1) 待迁移数据源的详细说明,包括数据的存放方式、数据量和数据的时间跨度。<br>\n(2) 建立新旧系统数据库的数据字典,对现有系统的历史数据进行质量分析,以及新旧系统数据结构的差异分析。<br>\n(3) 新旧系统代码数据的差异分析。<br>\n(4) 建立新旧系统数据库表的映射关系,对无法映射字段的处理方法。<br>\n(5) 开发或购买、部署ETL工具。<br>\n(6) 编写数据转换的测试计划和校验程序。<br>\n(7) 制定数据转换的应急措施。<br>\n<br>\n数据转换和迁移是新旧系统转换交接的主要工作。为使数据能平滑迁移到新系统中,在新系统设计阶段要尽量保留现有系统中合理的数据结构,尽可能降低数据迁移的工作量和转换难度。数据转换和迁移工作的原则是数据不丢失。数据迁移的主要方法有系统切换前通过工具迁移、系统切换前采用手工录入和系统切换后通过新系统生成。<br>\n数据迁移的实施可以分为三个阶段,分别是数据迁移前的准备、数据转换与迁移、数据迁移后的校验。由于数据迁移的特点,大量的工作都需要在准备阶段完成。<br>\n数据迁移的准备工作包含以下7个方面。<br>\n(1) 待迁移数据源的详细说明,包括数据的存放方式、数据量和数据的时间跨度。<br>\n(2) 建立新旧系统数据库的数据字典,对现有系统的历史数据进行质量分析,以及新旧系统数据结构的差异分析。<br>\n(3) 新旧系统代码数据的差异分析。<br>\n(4) 建立新旧系统数据库表的映射关系,对无法映射字段的处理方法。<br>\n(5) 开发或购买、部署ETL工具。<br>\n(6) 编写数据转换的测试计划和校验程序。<br>\n(7) 制定数据转换的应急措施。","multi":0,"questionType":2,"answer":"","chooseItem":null,"itemList":null,"userAnswer":null,"userChooseItem":null,"answerCorrect":null,"userCollect":null},{"id":"794934025033633793","title":"<p>试题五(25分)</p><p>E-Mall是一家电子商务公司,其主要业务是在线购物,包括书籍、服装、家电和日用品等。随着公司业务规模不断增 大,公司决策层决定重新设计并实现其网上交易系统,公司负责系统开发的王工和李工分别给出了两种不同的设计方 案,如下图1和图2所示</p><img src=\"https://image.chaiding.com/ruankao/e857b33a49113a9452e2012c18924ea0.jpg?x-oss-process=style/ruankaodaren\" title=\"e857b33a49113a9452e2012c18924ea0.jpg\" alt=\"1.jpg\"/><br/><p>公司的架构师和开发者针对这两种设计方案,从服务器负载情况、业务逻辑的分离性、系统可靠性、实现简单性等方 面进行讨论与评估,综合考虑最终采用了李工给出的方案。</p><br><p>【问题2】(9分)对数据库的访问是该系统开发中需要特别注意的一个问题,O/R映射是一种常用的数据库访问编程技术。请 用200字以内的文字说明O/R映射的含义,并指出采用0/R映射的三个主要好处。</p>","analyze":"略","multi":0,"questionType":2,"answer":"<p>【问题2】O/R映射指的是对象/关系映射,是一种编程技术,将关系数据库中的关系型数据与面向对象编程语言中类型系统定义的 数据进行格式转换。 采用对象/关系映射主要有三点好处: (1)可以将业务逻辑与数据逻辑分离。 (2)可以使得开发人员采用面向对象的方式访问底层关系型数据库。 (3)能够做到上层应用与底层的具体数据库无关,两者解耦合。</p>","chooseItem":null,"itemList":null,"userAnswer":null,"userChooseItem":null,"answerCorrect":null,"userCollect":null},{"id":"796240133295722497","title":"试题四(25分)<br>\n阅读以下关于数据集成的叙述,在答题纸上回答问题1至问题3。<br>\n【说明】<br>\n某互联网销售企业需要建立自己的电子商务平台,将所有产品信息集中在一起,为用户提供全方位的产品信息检索服务。但产品供应商大多数已经建有自己的电子商务平台,且数据独立存储,而且数据格式和数据平台有较大差异,有的供应商甚至没有采用数据库来存储商品信息。为此该企业专门成立专家组来论证其数据集成方案。<br>\n李工提出采用集中式集成方式把产品供应商的数据集中在一起,釆用数据仓库技术来实现与各家供应商的数据集成。而王工提出采用松耦合的联邦数据库集成方案。专家组经过激烈讨论,认为王工方案更为合理,建议采用王工提出的集成方案。\n<br><br>\n【问题1】(10分)<br>\n请结合数据仓库和联邦数据库集成方案各自的特点,简要说明专家组釆用王工提出的集成方案的原因。\n<br><br>\n【问题2】(7分)<br>\n部分供应商的产品信息没有相应的数据库,而是直接嵌入在Web页面中供用户浏览。数据集成时需要直接从供应商电子商务平台的网页上获取其产品信息。请简要给出此类数据集成的方法和基本步骤。\n<br><br>\n【问题3】(8分)<br>\n在方案评审会上,项目组针对李工和王工的方案展开了激烈的讨论。刘工指出两种方案在实施的过程中,都存在数据源之间的语义映射和转换问题,都会带来数据集成的不确定。请简要说明产生不确定的原因。","analyze":"【问题1】<br>\n数据仓库集成是把多种来源的数据集中在一起,建立数据仓库,所有数据都驻留在单个数据库服务器上,配置大型处理器和存储容量。数据仓库主要用于决策支持,在数据处理过程中强调分析。其特点是:<br>\n(1)集成的数据。<br>\n(2)面向主题。<br>\n(3)数据相对稳定。<br>\n(4)包含历史信息。<br>\n联邦数据库集成是把多个数据库系统联合在一起,构成“联邦数据库系统”,数据库之间通过接口查询,互相通信,数据分布在不同地方的计算机或数据库服务器上,通过网络连接。其特点是:<br>\n(1)联邦数据库提供集成的数据格式,对用户提供统一的访问,屏蔽了各个数据库的复杂性和分布情况,简化了开发数据库查询和对数据统一理解的工作。这种分布式的数据集成,更加符合应用系统的实际情况。<br>\n(2)异构数据源不仅仅是数据库系统,通过中间件,可以扩展到传感器、文件和应用程序等。<br>\n<br>\n本题主要考查数据集成中的数据仓库方案和联邦数据库方案的内容。<br>\n本问题考查数据仓库和联邦数据库集成方案的基本概念。数据仓库集成是把多种来源的数据集中在一起,建立数据仓库,所有数据都驻留在单个数据库服务器上,配置大型处理器和存储容量。数据仓库主要用于决策支持,在数据处理过程中强调分析。其特点是:①集成的数据;②面向主题;③数据相对稳定;④包含历史信息。但是此种集成方法中需要将数据源的数据转换为数据仓库中的语义,而且需要定期的数据复制和数据更新。数据源往往指的是数据库系统。<br>\n联邦数据库集成是把多个数据库系统联合在一起,构成“联邦数据库系统”,数据库之间通过接口查询,互相通信,数据分布在不同地方的计算机或数据库服务器上,通过网络连接。其特点是:①联邦数据库提供集成的数据格式,对用户提供统一的访问,屏蔽了各个数据库的复杂性和分布情况,简化了开发数据库查询和对数据致一理解的工作。这种分布式的数据集成,更加符合应用系统的实际情况。②异构数据源不仅仅是数据库系统,通过中间件,可以扩展到传感器、文件和应用程序等。<br>\n两种方式都需要将数据源中的数据语义转换为统一数据语义,这种转换往往存在不确定性。\n<br><br>\n【问题2】<br>\n此类数据往往是非结构化或者半结构化的,但同一个数据源往往有统一的页面模式,因此应该采用Web内容提取(挖掘/文本挖掘)的集成方法来获取对应供应商的产品信息。<br>\n其基本步骤为:<br>\n(1)分析页面,确定其页面中的数据模式。<br>\n(2)抓取页面,通过爬虫技术获取对应的网页。<br>\n(3)特征提取与处理,获取相应数据。<br>\n(4)数据清洗,根据规则进行判断,抛弃异常数据。<br>\n(5)数据转换,根据预先定义好的语义映射关系,将数据转换为统一格式。<br>\n<br>\n本题主要考查数据集成中的数据仓库方案和联邦数据库方案的内容。<br>\n本问题考查Web内容提取或Web数据挖掘的相关知识。Web信息系统中的数据往往是非结构化或者半结构化的,但同一个数据源往往有统一的页面模式,但是其数据呈现是嵌入在页面中。因此需要釆用Web内容提取(挖掘/文本挖掘)的集成方法来获取对应供应商的产品信息。<br>\n其基本的步骤是:<br>\n(1)分析页面,确定其页面中的数据模式。制定数据挖掘的特征和提取规则,编写特定的页面分析和数据提取程序。<br>\n(2)抓取页面,通过爬虫技术获取对应的网页。将远端的页面下载到本地进行存储,为后续数据提取做准备。<br>\n(3)特征提取与处理,获取相应数据,依据的原则是分析页面阶段所形成的特征和提取规则。<br>\n(4)数据清洗,根据规则进行判断,抛弃异常数据。<br>\n(5)数据转换,根据预先定义好的语义映射关系,将数据转换为统一格式。<br>\nWeb内容提取的算法程序本身是近似的,因此在获取数据的内容上存在不确定性。<br>\n本题主要考查数据集成中的数据仓库方案和联邦数据库方案的内容。<br>\n本问题考查在数据集成过程存在的不确定性问题。问题1和问题2中实际已经明确了集成过程中存在不确定性。主要的原因在于数据集成系统依靠模式映射来指明数据源中的数据和中介所用数据之间的语义关系,但映射过程中可能发生不确定性。具体原因有:<br>\n(1)数据源与中介模式之间的语义映射可能是近似的。实际系统中往往很难有非常精确、完整的语义映射。<br>\n(2)用户不熟悉模式或系统的域太宽,不能提供基于表单式的查询接口,需要使用关键字查询,但将关键字查询转换成一组候选的结构化查询时,会带来不确定性。<br>\n(3)数据常常是使用信息获取技术从非结构化数据源获取的,而这些获取技术一般只是“大致可用”,所取得的数据可能是不确定的。<br>\n因此,在本试题中,无论采用数据仓库或者联邦数据库集成方案,都存在数据源之间的语义映射和转换问题,都会带来数据集成的不确定。\n<br><br>\n【问题3】<br>\n数据集成系统依靠模式映射来指明数据源中的数据和中介所用数据之间的语义关系,但映射过程中可能发生不确定性,其原因有:<br>\n(1)数据源与中介模式之间的语义映射可能是近似的。<br>\n(2)用户不熟悉模式或系统的域太宽,不能提供基于表单式的查询接口,需要使用关键字查询,但将关键字查询转换成一组候选的结构化査询时,会带来不确定性。<br>\n(3)数据常常是使用信息获取技术从非结构化数据源获取的,而这些获取技术一般只是“大致可用”,所取得的数据可能是不确定的。","multi":0,"questionType":2,"answer":"","chooseItem":null,"itemList":null,"userAnswer":null,"userChooseItem":null,"answerCorrect":null,"userCollect":null},{"id":"834660196323184641","title":"<p style=\"text-indent:27px;line-height:150%\">试题三(25分)</p><p>阅读以下关于嵌入式实时系统设计的相关技术的描述,回答问题1至问题3。</p><p>【说明】</p><p>某公司长期从事嵌入式系统研制任务,面对机器人市场的蓬勃发展,公司领导决定自主研制一款通用的工业机器人。王工承担了此工作,他在广泛调研的基础上提出:公司要成功地完成工业机器人项目的研制,应釆用实时结构化分析和设计(RTSAD)方法,该方法已被广泛应用于机器人顶层分析和设计中。</p><br><p>【问题1】(9分)</p><p>实时结构化分析和设计(RTSAD)方法分为分析和设计两个阶段。分析阶段要开发一个基本模型,即需求模型,基本模型中包含一个环境模型和一个行为模型;设计阶段是一种程序设计方法,该方法在转换分析和事务分析策略中结合使用了模块耦合和内聚标准,用于开发从结构化分析规范开始的设计方案。请用300字以内文字说明环境模型、行为模型、模块 耦合和内聚的含义;并从模块独立性的角度,说明模块设计的基本原则。</p>","analyze":"<p>RTSAD(Real Time Structured Analysis and Design)是传统的结构化分析和设计方法的扩展,用于开发实时系统。RTSAD是自顶向下的实时结构化分析方法,用于系统的需求分析。</p>","multi":0,"questionType":2,"answer":"<p>环境模型:描述系统运行环境,包含系统的输入与输出,需要连接外部的外部实体。</p><p>行为模型:描述系统行为。即系统所处的状态,在接受到输入信息后的行为与反应。</p><p>模块内聚:一个模块内部各个元素彼此结合的紧密程度的度量。</p><p>模块耦合:各模块间结合紧密度的一种度量。</p><p>模块设计的基本原则:高内聚,低耦合。</p>","chooseItem":null,"itemList":null,"userAnswer":null,"userChooseItem":null,"answerCorrect":null,"userCollect":null},{"id":"794934119690686465","title":"<p style=\"text-indent:32px\">试题二(25分)</p><p>阅读以下关于系统分析设计的叙述,在答题纸上回答问题1至问题3。</p><p>【说明】</p><p>某软件公司为汽车租赁公司开发一套汽车租赁服务系统,公司项目组对此待开发项目进行了分析,具体描述如下:</p><p>(1)用户(非注册用户)通过手机在注册页向租赁服务系统进行注册,成为可租赁汽车的合法用户,其中包括提供身份、手机号等信息,并可预存费用作为押金;</p><p>(2)将汽车注册到租赁服务系统后方可投入使用。即将汽车的标识信息(车牌号、品牌型号等)录入到系统;</p><p>(3)用户(注册用户)通过手机在申请租车页上报地理位置信息、车型、座位数以及是否需要司机、是否自提等并申请租用,系统返回可供租用的车辆品牌、型号、车牌号以及价格;</p><p>(4)用户(注册用户)选择租用的车辆,预扣除费用后,完成交车,车辆状态设置为已租出;</p><p>(5)用户在用完车辆后,在手机的还车页申请归还,在交还车辆并检查状态之后把状态上报到租赁服务系统中,完成车辆状态的更新和用户租赁费用结算;</p><p>(6)系统应具备一定的扩容能力,以满足未来市场规模扩张的需要。</p><p>项目组张工认为该系统功能相对独立,系统可分解为不同的独立功能模块,适合采用结构化分析与设计方法对系统进行分析与设计。但肖工认为,系统可管理的对象明确,而且项目团队具有较强的面向对象系统开发经验,建议采用面向对象分析与设计方法。经项目组讨论,决定采用肖工的建议,采用面向对象分析与设计方法开发系统。</p><br><p>【问题1】(9分)</p><p>如何同时提高系统的可维护性和可复用性,是面向对象设计需要解决的核心问题之一。请用300字以内的文字简要说明面向对象设计需要遵循哪些原则?</p>","analyze":"略","multi":0,"questionType":2,"answer":"<p></p><p>①u3000开闭原则,是指软件实体应对扩展开放,而对修改关闭,即尽量在不修改原有代码的情况下进行扩展。</p><p>②u3000里氏替换原则,一个软件实体如果使用的是一个基类对象,那么一定适用于其子类对象,而且觉察不出基类对象和子类对象的区别,即把基类都替换成它的子类,程序的行为没有变化。</p><p>③u3000依赖倒置原则,是指抽象不应该依赖于细节,细节应当依赖于抽象。换言之,要针对接口编程,而不是针对实现编程。</p><p>④u3000组合/聚合复用原则,又称为合成复用原则,简单地说,就是要尽量使用组合/聚合关系,少用继承。</p><p>⑤u3000接口隔离原则,是指使用多个专门的接口,而不使用单一的总接口。</p><p>⑥u3000最少知识原则,是指一个软件实体应当尽可能少地与其他实体发生相互作用。</p>","chooseItem":null,"itemList":null,"userAnswer":null,"userChooseItem":null,"answerCorrect":null,"userCollect":null},{"id":"794917098752069633","title":"<p>试题四:</p><p>某国际大型企业拟向企业开发一个在线社交网络服务(SNS)系统,让企业内部的员工能够通过类似社交网络的方式进行工作和自我管理,以实现企业内部员工高效、透明、便捷的沟通与协作。其基本的工序包括:</p><p>1、&nbsp;&nbsp;企业内部部门、员工等基本信息的维护和管理</p><p>2、&nbsp;&nbsp;提供常见的&nbsp;SNS&nbsp;服务,如&nbsp;Blog,WiKi,数钱,RSS,即时通信和邮件等</p><p>3、&nbsp;&nbsp;提供社交网络,推荐系统等基本功能提高业务协作</p><p>除了上述功能性的需求外,还需要满足系统的可拓展、灵活部署以及高性能和高可用性需求</p><p>企业设计系统小组...</p><br><p>问题2:李工对当前主流的&nbsp;NoSQL&nbsp;数据库镜像了调研形成了如下表</p><img style=\"max-width:100%;height:auto\"  src=\"https://image.chaiding.com/ruankao/15b97bee27f1facd6bf16b3bc424b65d.png?x-oss-process=style/ruankaodaren\" title=\"15b97bee27f1facd6bf16b3bc424b65d.png\" alt=\"image.png\"/>","analyze":"略","multi":0,"questionType":2,"answer":"<p>(a):OLAP</p><p>(b):节点和关系组成的图</p><p>(c):键操作性能高(基于键的增删查改都快),可扩展性强</p><p>(d):使用JSON或者XML等格式来存储数据,格式灵活</p>","chooseItem":null,"itemList":null,"userAnswer":null,"userChooseItem":null,"answerCorrect":null,"userCollect":null},{"id":"794934033824894977","title":"<p>某公司承担了一项大型物料配送中心的研发项目,使用自动化设备进行货物的存取。系统主要由两部分组成,其一是装有智能设备的配送车,用于自动化装卸货物;其二是用于管理和调度这些配送车的物料配送中心。如图3-1所示。</p><p>智能设备接受配送中心发出的存取货指令,根据货舱地址和舱位位置等参数,自动控制配送车行走,并调整机械臂到达目标舱位,当存取完货物后,再次等待配送中心指令。其中,视频监视器用于采集工作现场的视频数据,该数据用于智能设备识别配送车当前位置。</p><p>公司经理将智能设备的研制任务交给了李工。李工投入了大量的时间,通过一个月的努力,提交了智能设备的设计方案。但是,出乎李工预料,该方案被专家评审会否定了。评审意见指出,李工的设计方案实施成本高,并且在技术上有缺陷,建议重新设计。</p><img src=\"https://image.chaiding.com/ruankao/dbd2a70971d11c8d9a9d4ef4f9488a68.jpg?x-oss-process=style/ruankaodaren\" title=\"dbd2a70971d11c8d9a9d4ef4f9488a68.jpg\" alt=\"1.jpg\"/><br/><br/><p><br/></p><br/><br><p>【问题1】(10分)</p><p>李工的设计方案指出,考虑到智能设备工作的环境条件非常恶劣,并且处理机要处理大量的视频信息,所以,智能设备的硬件设计应考虑以下几点∶</p><p>(1)由于智能设备要处理大量的图像数据,智能设备中的处理机应采用目前先进的、具有很强数据处理和信号处理能力的 MPC7410处理器,并采用双处理机结构,以增加设备的容错能力;</p><p>(2)为了使智能设备适应不同环境条件,其设备的环境温度指标必须满足军用标准要求(-55度~+70度),因此,元器件必须经过严格筛选,并考虑芯片散热问题;</p><p>(3)由于智能设备与配送中心的数据交换采用无线通信,而配送中心又要控制多台配送车,为了保证通信数据的安全性,避免相互十扰,设计中应考虑采用安全措施,实施数据加解密操作,密钥由配送中心统—管理与分发.请用300字以内的文字说明上述三点设计考虑有何问题。</p>","analyze":"略","multi":0,"questionType":2,"answer":"<p>1.关于处理机选型问题∶</p><p>(1)智能设备工作比较单一,虽然要处理图像信息,使用目前较廉价的信号处理芯片就可以承担,采用最新处理机芯片,虽然处理速度高,但成本也相对高;</p><p>(2)最新处理机芯片,往往使芯片的集成规模增大,带来了设计的复杂性,同时使项目的风险难于预测;</p><p>(3)配送车的主要功能就是搬运物料的,其可靠性相比其它系统要低得多,使用双机容错备份技术只能会加大成本,不会带来任何意义。</p><p>2.关于环境条件问题∶</p><p>(1)物料配送中心的环境通常和人们的生活环境相当,-55 度~+70 度是军用设备的环境标准要求,因此,智能设备满足工业环境标准即可;</p><p>(2)按军用设备的环境标准设计智能设备,当然设备的环境适用性更强,但必须采用军品档芯片,其价格通常为工业档芯片的几倍;</p><p>(3)环境要求越高,元器件筛选成本越大。 3.关于数据通讯的安全性问题∶</p><p>智能设备与配送中心的通讯采用普通数据交换方式既可,以数据的加/解密方式确保安全性完全没有必要。</p>","chooseItem":null,"itemList":null,"userAnswer":null,"userChooseItem":null,"answerCorrect":null,"userCollect":null},{"id":"794934128398061569","title":"<p style=\"text-indent:32px\">试题五(25分)</p><p>阅读以下关于Web应用的叙述,在答题纸上回答问题1至问题3。</p><p>【说明】</p><p>某软件企业拟开发一套基于Web的SaaS系统,该系统按租户视图、系统管理视图以及业务视图划分为多个相应的Web应用,系统需求中还包含邮件服务、大文件上传下载、安全攻击防护等典型Web系统基础服务需求。</p><br><p>【问题1】(6分)</p><p>在选择系统所采用的Web开发框架时,项目组对Struts2.0框架与轻量级Spring MVC框架进行了对比分析,最终决定采用Spring MVC进行开发。请用300字以内文字,从性能、安全性以及可扩展性这三个方面对Struts2.0与Spring MVC框架进行对比。</p>","analyze":"略","multi":0,"questionType":2,"answer":"<p>(1)性能:Struts2.0采用创建新的类来实现拦截器、封装输入和上下文,每个Web访问均需要创建若干新的类。而SpringMVC采用方法来实现,性能更优。</p><p>(2)安全性:Struts2.0虽然成熟,但是维护不足,多次发现重大漏洞造成损失。而SpringMVC更新维护良好,漏洞能及时提供补丁。</p><p>(3)可扩展性:Struts2.0较难扩展,而SpringMVC是一个基于组件的开发框架,集成不同的组件就可以实现不同的功能。</p>","chooseItem":null,"itemList":null,"userAnswer":null,"userChooseItem":null,"answerCorrect":null,"userCollect":null},{"id":"796240099120533505","title":"试题五(25分)<br>\n阅读以下关于Web应用系统负载均衡的问题,在答题纸上回答问题1至问题3。<br>\n【说明】<br>\n阅读以下关于Web应用系统负载均衡的问题,在答题纸上回答问题1至问题某电子商务公司的主要业务是书籍、服装、家电和日用品的在线销售。随着公司业务发展和用户规模的不断扩大,现有的网上交易系统无法正常处理日益增大的请求流量,公司决策层决定升级其网上交易系统。在对该系统的升级方案进行设计和讨论时,公司的系统分析师王工提出采用基于高性能主机系统的方法进行系统升级,另外一位系统分析师李工则提出采用基于负载均衡集群的方法进行系统升级。公司的分析师和架构师对这两种思路进行讨论与评估,最终采纳了李工的方法。\n<br><br>\n【问题1】(9分)<br>\n请从系统的可用性、可伸缩性和应用特点三个方面说明公司为何没有采用王工提出的方法。\n<br><br>\n【问题2】(8分)<br>\n负载均衡通常分为传输层负载均衡和应用层负载均衡两类。请基于这种分类方式,说明基于DNS的负载均衡方法和基于HTTP重定向服务器的负载均衡方法分别属于哪类负载均衡方法,并用200字以内的文字说明这两种方法实现负载均衡的方式。\n<br><br>\n【问题3】(8分)<br>\n在确定使用基于负载均衡集群的系统升级方法后,李工给出了一个基于LVS(Linux Virtual Server)的负载均衡集群实现方案。公司的系统分析师在对现有系统进行深入分析的基础上,认为以下两个实际情况对升级方案影响较大,需要对该方案进行改进。<br>\n1.系统需要为在线购物提供购物车功能,用来临时存放选中的产品。<br>\n2.系统需要保证向所有的VIP用户提供高质量的服务。<br>\n针对上述描述,首先说明每种情况分别会引入哪些与负载均衡相关的问题,并用200字以内的文字说明针对不同的问题,应该如何改进李工的解决方案。","analyze":"【问题1】<br>\n王工提出的方案是采用高性能的主机系统实现系统升级。从可用性角度看,采用高性能的主机系统很难实现系统的冗余机制,当发生故障后会导致整个系统会失去响应能力,从而无法保证系统的高可用性;从可伸缩性角度看,釆用高性能的主机系统,升级服务器的成本与获得的相应能力不成比例,整个系统的可扩展性较差;从应用特点来看,Internet中的Web应用绝大多数是简单任务、高强度的并发处理,而主机系统只是对于复杂单一任务和有限的并发处理具有高性能,不能同时处理大量的并发请求。因此,公司没有采用王工的方案。<br>\n<br>\n本题考查的是Web应用系统设计、维护和升级的相关内容,主要考查系统负载均衡技术。<br>\n本问题考查Web应用系统升级时的方案选择问题。在Web应用中,服务器的处理能力和IO已经成为提供应用服务的瓶颈。由于涉及的信息量非常大,用户访问频率也高,许多基于Web的大型应用系统每秒钟需要处理上百万个甚至更多的请求。显然单台服务器有限的性能难以解决这个问题。<br>\n为了解决上述问题,采用高性能的主机系统(小型机或大型机)是可行的。但是,除了其价格昂贵、可扩展性差以外,这种主机系统在很多情况下也不能同时处理上百万个并发的请求。因为高速主机系统只是对于复杂单一任务和有限的并发处理显得高性能,而Internet中的Web应用绝大多数处理是简单任务、高强度并发处理。因此,即便有大量资金投入,采用高性能、高价格的主机系统,也不能满足Web应用的需要。\n<br><br>\n【问题2】<br>\n基于DNS的负载均衡属于传输层负载均衡技术,其主要原理是在DNS服务器中为同一个主机名配置多个地址,在应答DNS查询时,DNS服务器对每个查询将以DNS文件中主机记录的IP地址按顺序返回不同的解析结果,将客户端的访问引导到不同的节点上去,使得不同的客户端访问不同的节点,从而达到负载均衡的目的。<br>\n基于HTTP重定向服务器的负载均衡属于应用层负载均衡技术,其主要原理是服务器使用HTTP重定向指令,将一个客户端重新路由到另一个位置。服务器返回一个重定向响应,而不是返回请求的对象。客户端确认新地址然后重发请求,从而达到负载均衡的目的。<br>\n<br>\n本题考查的是Web应用系统设计、维护和升级的相关内容,主要考查系统负载均衡技术。<br>\n本问题主要考查负载均衡技术的分类和两种具体方法的掌握。负载均衡技术是集群系统中一项重要技术,可以提高集群系统的整体处理能力,也提高了系统的可靠性,最终目标是加快集群系统的响应速度,提高客户端访问的成功概率。<br>\n负载均衡通常分为传输层负载均衡和应用层负载均衡两类。基于DNS的负载均衡属于传输层负载均衡技术,其主要原理是在DNS服务器中为同一个主机名配置多个地址,在应答DNS查询时,DNS服务器对每个查询将以DNS文件中主机记录的IP地址按质序返回不同的解析结果,将客户端的访问引导到不同的节点上去,使得不同的客户端访问不同的节点,从而达到负载均衡的目的。基于HTTP重定向服务器的负载均衡属于应用层负载均衡技术,其主要原理是服务器使用HTTP重定向指令,将一个客户端重新路由到另一个位置。服务器返回一个重定向响应,而不是返回请求的对象。客户端确认新地址然后重发请求,从而达到负载均衡的目的。\n<br><br>\n【问题3】<br>\n第一种情况的描述说明系统需要提供应用会话数据支持。通常采用会话服务器机制在服务器端存放应用会话数据。但需要注意的是,应用会话数据大多数情况下是不可恢复的,因此釆用支持应用会话数据容错的解决方案非常重要。<br>\n第二种情况的描述要求保证特定用户的服务质量。当数据量不断增长时,由于在会话服务器或缓存服务器,业务服务器和会话(或缓存)服务器之间可能会反复移动较大量的数据,从而无法保证服务质量。因此,通常的做法是基于应用层负载均衡器实现客户端联系,将某个客户端的所有请求转发到相同的服务器,使得一个用户会话的所有请求被同一脲务器实例处理,从而保证服务质量。<br>\n<br>\n本题考查的是Web应用系统设计、维护和升级的相关内容,主要考查系统负载均衡技术。<br>\n主要考查负载均衡技术的实际应用。在实际应用中,通常会将传输层负载均衡方法与应用层负载均衡方法结合起来使用,以提高系统整体的性能、可用性和可靠性。<br>\n题干描述中,第一种情况的描述说明系统需要提供应用会话数据支持。通常采用会话服务器(session server)机制在服务器端存放应用会话数据。但需要注意的是,应用会话数据大多数情况下是不可恢复的,因此采用支持应用会话数据容错的解决方案非常重要。<br>\n第二种情况的描述要求保证特定用户的服务质量。当数据量不断增长时,由于在会话服务器或缓存服务器,业务服务器和会话(或缓存)服务器之间可能会反复移动较大量的数据,从而无法保证服务质量。因此,通常的做法是基于应用层负载均衡器实现客户端联系(client affinity),将某个客户端的所有请求转发到相同的服务器上,使得一个用户会话的所有请求被同一服务器实例处理,从而保证服务质量。","multi":0,"questionType":2,"answer":"","chooseItem":null,"itemList":null,"userAnswer":null,"userChooseItem":null,"answerCorrect":null,"userCollect":null},{"id":"794934068285296641","title":"<p>题目一<br/>阅读以下关于软件系统分析的叙述,在答题纸上回答问题1至问题3。</p><p>【说明】</p><p>已知某信息工程项目由A到I共9个活动组成,项目组根据项目目标,特别是工期要求,经过分析、定义及评审,给出了该项目的活动历时。活动所需资源及活动逻辑关系列表,如下表所示:<br/><img src=\"https://image.chaiding.com/ruankao/dcc7c1002c0e524415396f4f5931718e.png?x-oss-process=style/ruankaodaren\" title=\"dcc7c1002c0e524415396f4f5931718e.png\" alt=\"image.png\"/></p><br/><br/><br><p>【问题4】(6分)</p><p>在(1)~(6)中填写内容</p><p>为了配合甲方公司成立庆典,甲方要求该项目提前10天完工,并同意支付额外费用。承建单位经过论证,同意了甲方要求并按规范执行了审批流程。为了保质保量按期完工,在进度控制及人力资源管理方面可以采取的措施包括:① 向(1)要时间,向(2)要资源&nbsp;② 压缩(3)上的工期&nbsp;③ 加强项目人员的质量意识,及时(4),避免后期返工④ 采取压缩工期的方法:尽量(5)安排项目活动,组织大家加班加点进行(6)</p><p>(1)~(6)供选择的答案:A、评审 B、激励 C、关键路径 D、非关键路径E、赶工 F、并行 G、关键任务 H、串行</p>","analyze":"<p>试题分析:</p><p>向关键任务要时间,因为关键任务才能决定项目的工期,要想提前完工就要缩短关键路径上关键任务的完成时间,向非关键路径要资源就是将非关键路径的资源挪出来给关键路径,只要不超过非关键路径的总时差即可</p><p><br/></p>","multi":0,"questionType":2,"answer":"<p>参考答案:</p><p>(1)G(2)D&nbsp;(3)C&nbsp;(4)A&nbsp;(5)F&nbsp;(6)E</p><p><br/></p>","chooseItem":null,"itemList":null,"userAnswer":null,"userChooseItem":null,"answerCorrect":null,"userCollect":null},{"id":"794934021057433601","title":"<p>试题四(25分)</p><p>&nbsp;&nbsp; &nbsp;阅读以下关于系统设计与开发工具集成的说明,在对应栏内回答问题1至问题3。</p><p>[说明]</p><p>&nbsp;&nbsp; &nbsp;TeleDev是一个大型的电信软件开发公司,公司内部采用多种商业/开源的工具进行软件系统设计与开发工作。为了提高系统开发效率,公司管理层决定开发一个分布式的系统设计与开发工具集成框架,将现有的系统设计与开发工具有效集成在一起。集成框架开发小组经过广泛调研,得到了如下核心需求。</p><p>&nbsp;&nbsp; &nbsp;1.目前使用的系统设计与开发工具的运行平台和开发语言差异较大,集成框架应无缝集成各个工具的功能;</p><p>&nbsp;&nbsp; &nbsp;2.目前使用的系统设计与开发工具所支持的通信协议和数据格式各不相同,集成框架应实现工具之间的灵活通信和数据格式转换;</p><p>&nbsp;&nbsp; &nbsp;3.集成框架需要根据实际的开发流程灵活、动态地定义系统工具之间的协作关系;</p><p>&nbsp;&nbsp; &nbsp;4.集成框架应能集成一些常用的第三方实用工具,如即时通信、邮件系统等。</p><p>&nbsp;&nbsp; &nbsp;集成框架开发小组经过分析与讨论,最终决定采用企业服务总线(ESB.作为集成框架的基础架构。</p><br><p>【问题1】(10分)ESB是目前企业级应用集成常用的基础架构。请列举出ESB的4个主要功能,并从集成系统的部署方式、待集成系统之间的耦合程度、集成系统的可扩展性三个方面说明为何采用ESB作为集成框架的基础架构。</p>","analyze":"略","multi":0,"questionType":2,"answer":"<p>ESB的主要功能包括:</p><p>&nbsp;&nbsp; &nbsp;(1)应用程序的位置透明性</p><p>&nbsp;&nbsp; &nbsp;(2)传输协议转换</p><p>&nbsp;&nbsp; &nbsp;(3)消息格式转换</p><p>&nbsp;&nbsp; &nbsp;(4)消息路由</p><p>&nbsp;&nbsp; &nbsp;(5)消息增强</p><p>&nbsp;&nbsp; &nbsp;(6)安全支持</p><p>&nbsp;&nbsp; &nbsp;(7)监控和管理</p><p>&nbsp;&nbsp; &nbsp;采用ESB作为集成框架,能够实现灵活的部署结构,包括CS结构、P2P结构等。</p><p>&nbsp;&nbsp; &nbsp;采用ESB作为集成框架,待集成系统只需要和总线进行联系,彼此之间不需要互相通信,这样就大大降低了系统的耦合程度。</p><p>&nbsp;&nbsp; &nbsp;采用ESB作为集成框架,在加入新的待集成系统时,只需要采用插件的方式实现传输协议和数据格式的适配即可,系统的可扩展性较强。</p>","chooseItem":null,"itemList":null,"userAnswer":null,"userChooseItem":null,"answerCorrect":null,"userCollect":null},{"id":"794934046844014593","title":"<p>阅读以下关于Java企业级应用系统开发架构选择方面的叙述,在答题纸上回答问题1至问题3。</p><p>某软件公司承担了某中小型企业应用软件开发任务,进度要求紧迫。为了按时完成任务,选择合适的企业应用系统开发架构非常重要。项目组在进行方案论证时,项目组成员提出了两种开发思路。</p><p>(1)刘工建议采用J2EE和 EJB进行开发。理由是 J2EE 定义了标准的应用开发体系结构和部署环境,EJB 是 J2EE 的基础和核心。</p><p>(2)杜工建议采用 Struts,Spring 和 Hibernate 轻量级开源框架相结合的方式。理由是随着Java开源项目阵营的发展壮大,一些基于POJOs(Plan Old Java Objects)的开源框架被广泛地引入到 Java 企业应用开发中来,与重量级的 EJB 框架相比,这些轻量级的框架有很多优点。</p><p>项目组仔细比较分析了两种方案的特点、优点和不足之处。认为杜工和刘工的建议都合理,但是从结合当前项目实际情况出发,最后决定采用杜工的建议。</p><br><p>【问题3】(7分)</p><p>请用 200字以内的文字说明基于 Struts,Spring和Hibernate 的轻量级框架与基于EJB的重量级框架解决问题的侧重点有什么不同?</p>","analyze":"略","multi":0,"questionType":2,"answer":"<p>轻量级框架侧重与减少开发的复杂度,比较适用于开发中小型企业应用。</p><p>采用轻量级框架后使应用不依赖于任何容器,这可以提高开发调试效率;另一方面轻量级框架多数是开源项目,利于项目的快速开发。</p><p>而作为重量级框架 EJB 则强调高可伸缩性,适合于开发大型企业应用。</p><p>在 EJB 体系结构中,基础结构服务相关的问题和底层分配问题都由容器来处理。另外,EJB 容器通过减少数据库访问次数以及分布式处理等方式提供了专门的系统性能解决方案,能充分解决系统性能问题。</p>","chooseItem":null,"itemList":null,"userAnswer":null,"userChooseItem":null,"answerCorrect":null,"userCollect":null},{"id":"796240060600045569","title":"试题二(25分)<br>\n阅读以下关于分布式存储系统设计的叙述,回答问题1至问题3。<br>\n【说明】<br>\n某软件公司开发基于云计算的分布式文档协作平台(DDCP),系统部分需求如下所示:<br>\n实现文档的分布式存储,客户端可随时随地上传和下载文档;<br>\n支持多客户端并发编辑同一文档,某个客户端所做修改会实时显示在其他客户端:<br>\n要求系统具有自我修复机制,当系统中某个节点失效时,无需人工干预能够自动实现节点替换并恢复到一致状态。<br>\n项目组经过讨论,决定采用现有的分布式文件系统作为基础架构,但在具体选用哪种设计方案时产生了分歧。王工建议采用Hadoop分布式文件系统HDFS作为系统参考架构,但张工认为Google分布式文件系统GFS更适合该系统需求。最后经过更为详细的分析和讨论,同意了张工的建议,釆用GFS作为分布式文档协作平台的文件系统架构。\n<br><br>\n【问题1】(12分)<br>\n请用300字以内的文字说明GFS和HDFS有何异同,并针对系统需求,用200字以内的文字说明选择GFS的原因。\n<br><br>\n【问题2】(8分)<br>\n针对图2-1所示DDCP基础架构,请分别说明一次数据读操作和一次并发写操作的过程。<br>\n<img width=\"366\" height=\"296\" alt=\"\" src=\"https://image.chaiding.com/ruankao/ff7857057c4cb2edc28244fdd486ee5c.jpg?x-oss-process=style/ruankaodaren\">\n<br><br>\n【问题3】(5分)<br>\n请分别叙述采用GFS和HDFS架构,单点失效问题是如何解决的。","analyze":"【问题1】<br>\nGFS与HDFS相比的相同点是:单一控制机和多台工作机;通过数据分块和复制实现可靠性和高性能;树状文件系统结构。<br>\nGFS与HDFS相比的不同点是:多次写入和多客户端并发增加数据;Master单点失效问题;数据快照的支持;实时性支持。<br>\n针对系统需求,文档协作要求多客户端并发写入文件支持;解决主服务器单点失效问题;系统补偿操作需要数据快照。<br>\n<br>\n解析:本问题要求考生针对GFS和HDFS两种分布式文件系统架构的特点展开分析并进行总结。<br>\nGFS是一个面向大规模数据密集型应用的、可伸缩的分布式文件系统,虽然运行在多台普通硬件设备上,但是它提供了灾难冗余的能力,为大量客户机提供高性能的服务。一个GFS集群中包含了一个单独的Master节点、多台Chunk服务器,并且同时被多个客户端访问。GFS存储的文件被分割为固定大小的Chunk并分配标识,缺省提供3个存储复制节点,Master节点管理所有的文件系统元数据,GFS客户端代码以库的形式被链接到客户程序里,无论是客户端还是Chunk服务器都不需要缓存文件数据。<br>\nHDFS是一个高度容错性的系统,能够提供高吞吐量的数据访问,非常适合大规模数据集上的应用。HDFS采用Master/Slave架构,一个HDFS集群由一个Namenode和一定数目的Datanodes组成。Namenode是一个中心服务器,负责管理文件系统的命名空间以及客户端对文件的访问,集群中的Datanode —般是一个节点一个,负责管理它所在节点上的存储。一个文件被分成一个或多个数据块,这些块存储在一组Datanode上,Namenode执行文件系统的命名空间操作并确定数据块到具体Datanode节点的映射,Datanode在Namenode的统一调度下负责处理文件系统客户端的读写请求。\n<br><br>\n【问题2】<br>\n读数据过程:<br>\n①应用程序将读数据请求发送给DDCP客户端;<br>\n②DDCP客户端访问DDCP主服务器请求所需数据位置信息;<br>\n③DDCP主服务器查询数据分块和地址信息发送给DDCP客户端;<br>\n④DDCP客户端根据地址信息向DDCP块服务器发送读数据请求;<br>\n⑤DDCP块服务器将所请求数据发送给DDCP客户端;<br>\n⑥DDCP客户端将数据转发给应用程序。<br>\n并发写数据过程:<br>\n①并发写的应用程序分别将数据和写数据请求发送给DDCP客户端;<br>\n②DDCP客户端依次访问DDCP主服务器请求所写数据位置信息;<br>\n③DDCP主服务器依次查询数据分块和地址信息发送给DDCP客户端;<br>\n④DDCP客户端将所要写入的数据重新组织,将属于同一个DDCP块服务器的数据按照分组报文和分组序列信息发送给DDCP块服务器数据缓存(Primary);<br>\n⑤DDCP客户端将所写数据按照分组报文发送给DDCP块服务器数据缓存(Secondary);<br>\n⑥DDCP块服务器数据缓存(Primary)按照分组序列将数据写入到DDCP块服务器数据块(Primary);<br>\n⑦DDCP块服务器(Primary)将分组序列发送给DDCP块服务器(Secondary);<br>\n⑧DDCP块服务器数据缓存(Secondary)按照分组序列将数据写入DDCP块服务器数据块(Secondary);<br>\n⑨DDCP块服务器(Secondary)将写入完成信息发送给DDCP块服务器(Primary);<br>\n⑩DDCP块服务器数据(Primary)将写数据完成信息发送给DDCP客户端。<br>\n<br>\n【解析】<br>\n本问题要求考生认真分析图中给出的DDCP系统架构,依据图中节点之间的数据传输关系描述数据传输过程。<br>\n读数据的过程:应用程序将读数据请求发送给客户端后,客户端访问主服务器请求所需数据位置信息,主服务器查询数据分块和地址信息返回给客户端,客户端根据地址信息向块服务器发送读数据请求,块服务器将所请求数据发送给客户端,客户端将数据转发给应用程序。<br>\n写数据的过程:应用程序分别将数据和写数据请求发送给客户端,客户端依次访问主服务器请求所写数据位置信息,主服务器依次查询数据分块和地址信息发送给客户端,客户端将所要写入的数据重新组织,将属于同一个块服务器的数据按照分组报文和分组序列信息发送给块服务器数据缓存(Primary),客户端将所写数据按照分组报文 发送给块服务器数据缓存(Secondary),块服务器数据缓存(Primary)按照分组序列将 数据写入到块服务器数据块(Primary),块服务器(Primary)将分组序列发送给块服务器(Secondary),块服务器数据缓存(Secondary)按照分组序列将数据写入块服务器数据块(Secondary),块服务器(Secondary)将写入完成信息发送给块服务器(Primary), 块服务器数据(Primary)将写数据完成信息发送给客户端。\n<br><br>\n【问题3】<br>\nGFS中釆用主从模式备份Master的系统元数据,当主Master失效时,可以通过分布式选举备机接替主Master继续对外提供服务,而由于复制及主备切换本身有一定的复杂性,HDFS Master的持久化数据只写入到本机(可能写入多份存放到Master机器的多个磁盘中防止某个磁盘损害),出现故障时需要人工介入。<br>\n<br>\n解析:本问题要求应试者掌握单点失效问题产生的原因,并能够结合GFS和HDFS架构的特点进行分析,说明所采用的解决方法。","multi":0,"questionType":2,"answer":"","chooseItem":null,"itemList":null,"userAnswer":null,"userChooseItem":null,"answerCorrect":null,"userCollect":null},{"id":"796240094976561153","title":"试题五(25分)<br>\n阅读以下关于Web应用系统开发的问题,在答题纸上回答问题1至问题3。<br>\n【说明】<br>\nA公司承担了某企业应用系统的开发任务,用户要求系统最终应发布到Web上供企业员工及企业客户使用。项目组在进行方案论证时,首先肯定了该系统需使用B/S结构,但在系统应采用的底层平台上产生了分歧,一方认为应采用微软.NET平台,一方认为应采用Java企业版平台。经过认真讨论,结合两种平台的特点及项目的实际需求,项目组 最终决定采用Java企业版平台作为系统开发运行的基础平台。\n<br><br>\n【问题1】(9分)<br>\n请在以下平台特点(1)~(9)中,选择出.NET平台与Java企业版平台各自具备 的优势填入表5-1的(a)~(f)项中,选择出两个平台共有的特点填入表5-1的(g)~(i)项中。\n(1)良好跨平台可移植性支持<br>\n(2)易于部署与配置<br>\n(3)多程序设计语言支持<br>\n(4)良好的Web多层应用开发支持<br>\n(5)丰富的多厂商外部支持<br>\n(6)良好的0/R (对象/关系)映射支持<br>\n(7)针对特定平台的优化支持<br>\n(8)良好的源代码以外的可定制性支持<br>\n(9)良好的Web服务支持<br>\n<img alt=\"\" width=\"549\" height=\"162\" src=\"https://image.chaiding.com/ruankao/829f01bd0da1c110ad2ef551963a73ce.jpg?x-oss-process=style/ruankaodaren\">\n<br><br>\n【问题2】(8分)<br>\nMVC (Model View Controller)模式是Web应用系统开发中常用的一种软件架构模式。请分别针对基于EJB的重量级框架和基于Struts等的轻量级框架,说明MVC模式中的各组件应采用何种构件实现。<br>\n项目组在进行需求调研时,发现用户界面部分的变动可能会比较频繁,因此需要降低系统界面与业务逻辑之间的稱合度。MVP(Model View Presenter)模式是由MVC模式派生出的一种设计模式,其主要目的是降低MVC模式中模型(Model)与视图(View)的耦合度,请用300字以内文字,从组件耦合度、组件分工及对开发工程化支持等三方面说明MVP模式与MVC模式的主要区别。\n<br><br>\n【问题3】(8分)<br>\n因为系统中大量业务逻辑涉及企业的核心商业数据,为保证系统数据一致性,完善的事务(Transaction)控制是系统实现时必需考虑的重要因素之一。请用200字以内文字说明事务的基本特征,并简单描述EJB规范中提供的两种事务控制的基本方法。","analyze":"【问题1】<br>\n(a)~(c): (2)、(3)、(7),以上三个答案顺序可调换。<br>\n(d)~(f): (1)、(5)、(8),以上三个答案顺序可调换。<br>\n(g)~(i): (4)、(6)、(9),以上三个答案顺序可调换。<br>\n<br>\n解析:本题主要考查.NET和J2EE平台的区别,考生需要从跨平台可移植性、部署与配置、多程序设计语言支持、Web多层应用开发支持、多厂商外部支持、O/R (对象/关系)映射支持、针对特定平台的优化支持、源代码以外的可定制性支持以及Web服务支持等方面作答。\n<br><br>\n【问题2】<br>\n在基于EJB的重量级框架中,实现的构件分别为:<br>\n•模型(Model):由EJB构件实现。<br>\n•视图(View):由JSP构件实现。<br>\n•控制器(Controller):由Servlet构件实现。<br>\n在基于Struts等的轻量级框架中,实现的构件分别为:<br>\n•模型(Model):由Java Bean构件实现。<br>\n•视图(View):由JSP构件实现。<br>\n•控制器(Controller):由Servlet构件实现。<br>\nMVP模式与MVC模式的主要区别为:<br>\n(1)在组件耦合度方面:在MVP模式中,视图并不直接使用模型,它们之间的通信通过Presenter进行,从而实现了视图与模型的分离;而在MVC模式中,视图直接与模型交互。<br>\n(2)在组件分工方面:在MVP模式中,视图需要处理鼠标及键盘等触发的界面事件;而在MVC模式中,这通常是由控制器完成的工作。在MVP模式中,系统核心业务逻辑组织集中在Presenter中;而在MVC模式中,相应的控制器通常只完成事件的分发。<br>\n(3)在开发工程化支持方面:MVP模式可更好地支持单元测试;而在MVC模式中,由于模型与视图绑定,因此难以实施相应的单元测试。在MVP模式中,Presenter基于约定接口与视图和模型交互,可更好地支持组件的重用。<br>\n<br>\n解析:本题主要考查MVC和MVP模式的区别。MVC模式是Web应用系统开发中常用的一种软件架构模式,包括基于EJB的重量级框架和基于Struts等的轻量级框架等。MVP模式与MVC模式的主要区别为:<br>\n在组件耦合度方面:在MVP模式中,视图并不直接使用模型,它们之间的通信通过Presenter进行,从而实现了视图与模型的分离;而在MVC模式中,视图直接与模型交互。<br>\n在组件分工方面:在MVP模式中,视图需要处理鼠标及键盘等触发的界面事件;而在MVC模式中这通常是由控制器完成的工作。在MVP模式中,系统核心业务逻辑组织集中在Presenter中;而在MVC模式中,.相应的控制器通常只完成事件的分发。<br>\n在开发工程化支持方面:MVP模式可更好地支持单元测试;而在MVC模式中,由于模型与视图绑定,因此难以实施相应的单元测试。在MVP模式中,Presenter基于约定接口与视图和模型交互,可更好地支持组件的重用。\n<br><br>\n【问题3】<br>\n事务的基本特征包括:<br>\n•原子性。一个事务中的所有操作,要么全部完成,要么全部不完成,不会结束在中间某个环节。事务在执行过程中发生错误,会被回滚到事务开始前的状态,就像这个事务从来没有执行过一样。<br>\n•一致性。在事务开始之前和事务结束以后,数据的完整性限制没有被破坏。<br>\n•隔离性。两个事务的执行是互不干扰的,两个事务时间不会互相影响。<br>\n•持久性。在事务完成以后,该事务对数据所作的更改便持久地保存在数据库之中,并且是完全的。<br>\nEJB规范支持的两种事务控制方法为:<br>\n•容器维护的事务(Container Managed Transaction, CMT)。由EJB容器根据部署描述符或EJB构件注释中指定的事务属性自动控制事务的边界,容器维护的事务是方法级的,即默认将一个方法当作一个事务执行,当方法执行的过程中发生 系统级异常,容器会自动将事务回滚,从而将方法前面执行的结果恢复。<br>\n•Bean维护的事务(Bean Managed Transaction,BMT)。由程序员在EJB的源代码中控制事务执行的边界,事务的边界通过Java事务接口(Java Transaction API,JTA)进行控制,Bean维护的事务可以跨越方法的边界。<br>\n<br>\n本题主要考查事务的基本特征和EJB规范中提供的事务控制的基本方法。事务的基本特征包括:<br>\n•原子性。一个事务中的所有操作,要么全部完成,要么全部不完成,不会结束在中间某个环节。事务在执行过程中发生错误,会被回滚到事务开始前的状态,就像这个事务从来没有执行过一样。 <br>\n•一致性。在事务开始之前和事务结束以后,数据的完整性限制没有被破坏。<br>\n•隔离性。两个事务的执行是互不干扰的,两个事务时间不会互相影响。<br>\n•持久性。在事务完成以后,该事务对数据所作的更改便持久地保存在数据库之中,并且是完全的。<br>\nEJB规范支持的两种事务控制方法为:<br>\n•容器维护的事务(Container Managed Transaction, CMT)。由EJB容器根据部署描述符或EJB构件注释中指定的事务属性自动控制事务的边界,容器维护的事务是方法级的,即默认将一个方法当作一个事务执行,当方法执行的过程中发生 系统级异常,容器会自动将事务回滚,从而将方法前面执行的结果恢复。<br>\n•Bean维护的事务(Bean Managed Transaction,BMT)。由程序员在EJB的源代码中控制事务执行的边界,事务的边界通过Java事务接口(Java Transaction API,JTA)进行控制,Bean维护的事务可以跨越方法的边界。","multi":0,"questionType":2,"answer":"","chooseItem":null,"itemList":null,"userAnswer":null,"userChooseItem":null,"answerCorrect":null,"userCollect":null},{"id":"794934107124551681","title":"<p style=\";text-indent:28px;text-autospace:ideograph-numeric\">试题二(共25分)</p><p><br/></p><p></p><p></p><p></p><p></p>某畜牧饲料公司欲建设一套面向互联网的商品交易平台,该平台可以方便畜牧业养殖户与饲料公司之间的询价与交易。参考目前的电子商务模式,该平台的主要需求可参考下图,需求<p><img src=\"https://image.chaiding.com/ruankao/624a057fe700c7a21eb8729b25bb83fa.png?x-oss-process=style/ruankaodaren\" title=\"624a057fe700c7a21eb8729b25bb83fa.png\" alt=\"image.png\"/><br/></p><p>图&nbsp;2-1&nbsp;商品交易平台需求概念图</p><p>具体描述如下:</p><p>1.&nbsp;平台主要分为商家、顾客和管理员三类用户。商家代表在平台上发布供应和商品的用户,顾客代表在平台上下采购订单的用户,管理员代表平台上的运营和维护人员。</p><p>2.&nbsp;商家在注册账户后获得一个店铺,店铺拥有库存,库存中存放商品记录。商家可以通过添加商品和追加库存的方式,向库存中添加店铺中可销售的商品。通过标记商品上/下架状态或调整库存的方式设置商品是否在店铺中展示和销售。当商品库存为0时,不会出现在商家店铺中。</p><p>3.&nbsp;顾客在浏览商家店铺和商品的过程中可以直接下订单(3.1),或将商品加入购物车(3.2),然后再使用购物车生成订单(3.3)。</p><p>3.1&nbsp;顾客在浏览到某个合意的商品时,可直接填写商品数量并生成订单;</p><p>3.2&nbsp;顾客在浏览到某个合意的商品时,可将商品添加到购物车中。添加时可提前填入商品数量,也可未来在购物车中修改商品数量;</p><p>3.3&nbsp;在购物车中,顾客可以移除商品,也可以调整购买商品的数量。顾客可以通过复选框勾选部分商品或全部商品,然后通过生成订单按钮依据选中商品生成一个新得订单。</p><p><br/></p><br><p>【问题3】(5分)</p><p>常见的系统分析方法有传统方法和面向对象方法,两种方法分析结果呈现的形式各有不同,分别是?选项:(a)系统流程图(b)实体关系图(ERD);(c)用例图;(d)过程分析图(e)交互图;(f)数据流图(DFD);</p>","analyze":"无","multi":0,"questionType":2,"answer":"<p>传统分析方法:数据流图、ER图。</p><p>面向对象分析:用例图、类图、交互图等。</p>","chooseItem":null,"itemList":null,"userAnswer":null,"userChooseItem":null,"answerCorrect":null,"userCollect":null},{"id":"794934008390635521","title":"<p>某公司承担了一项宇航嵌入式设备的研制任务。本项目除对硬件设备环境有很高的要求外,还要求支持以下功能:</p><p>(1) 设备由多个处理机模块组成,需要时外场可快速更换(即LRM结构);</p><p>(2) 应用软件应与硬件无关,便于软硬件的升级;</p><p>(3) 由于宇航嵌入式设备中要支持不同功能,系统应支持完成不同功能任务间的数据隔离;</p><p>(4) 宇航设备可靠性要求高,系统要有故障处理能力。</p><p>公司在接到此项任务后,进行了反复论证,提出三层栈(TLS)软件总体架构,如下图所示,并将软件设计工作交给了李工,要求他在三周内完成软件总体设计工作,给出总体设计方案。</p><br><p>[问题2]</p><p>在TLS软件架构的基础上,关于选择哪种类型的嵌入式操作系统问题,李工与总工程师发生了严重分歧。李工认为,宇航系统是实时系统,操作系统的处理时间越快越好,隔离意味着以时间作代价,没有必要,建议选择类似于VxWorks5.5的操作系统;总工程师认为,应用软件间隔离是宇航系统安全性要求,宇航系统在选择操作系统时必须考虑这一点,建议选择类似于Linux的操作系统。</p><p>请说明两种操作系统的主要差异,完成下表中的空白部分,并针对本任务要求,用200字以内的文字说明你选择操作系统的类型和理由。</p><p>两种操作系统的主要差异</p><p>&nbsp;</p><p>工作方式 操作系统与应用程序处于同一存储空间 ①</p><p>多任务支持 多支持任务(线程)操作 ②</p><p>实时性 ③ 实时系统</p><p>安全性 ④ ⑤</p><p>标准API 支持 支持</p>","analyze":"<p>【问题二】</p><p>选择操作系统的依据是本题第三项的用户要求,主要考查考生对目前常用的嵌入式操作系统的了解程度。第一小问的表格给出的VxWorks和Linux两个操作系统是嵌入式系统常用的软件,两个软件在资源管理上存在本质区别,考生必须明确差异后,方能回答第二小问。两种操作系统的差异如下表所示。</p><img style=\"max-width:100%;height:auto\"  src=\"https://image.chaiding.com/ruankao/f5de88fa74b588b9cf1babbd89419cc0.jpg?x-oss-process=style/ruankaodaren\" title=\"f5de88fa74b588b9cf1babbd89419cc0.jpg\" alt=\"1.jpg\"/><p>通过比较,显然选用类似于Linux的嵌入式操作系统适用本题要求。理由包括三点:</p><p>(1) Linux操作系统是一种安全性较强的操作系统。内核工作在系统态,应用软件工作在用户态(这点是系统安全性要求),可以有效防止应用软件对操作系统的破坏。</p><p>(2) Linux操作系统调度的最小单位是线程,线程归属于进程,进程具有自己独立的资源。进程通过存储器管理部件(MMU)实现多功能应用间隔离。</p><p>(3) 嵌入式Linux操作系统支持硬件抽象,可有效实现TLS结构,并将硬件抽象与操作系统分离,可方便实现硬件的外场快速更换。</p>","multi":0,"questionType":2,"answer":"<p><img style=\"max-width:100%;height:auto\"  src=\"https://image.chaiding.com/ruankao/d8192d93a64472e84af709409075e56b.jpg?x-oss-process=style/ruankaodaren\" title=\"d8192d93a64472e84af709409075e56b.jpg\" alt=\"1.jpg\"/>选择类似于Linux的嵌入式操作系统。理由如下:</p><p>(1) Linux操作系统是一种安全性较强的操作系统。内核工作在系统态,应用软件工作在用户态,可以有效防止应用软件对操作系统的破坏。</p><p>(2) Linux操作系统调度的最小单位是线程,线程归属于进程,进程具有自己独立的资源。进程通过存储器管理部件(MMU)实现多功能应用间隔离。</p><p>(3) 嵌入式Linux操作系统支持硬件抽象,可有效实现TLS结构,并将硬件抽象与操作系统分离,可方便实现硬件的外场快速更换。</p>","chooseItem":null,"itemList":null,"userAnswer":null,"userChooseItem":null,"answerCorrect":null,"userCollect":null},{"id":"794934064426536961","title":"试题五(25分)<p>近年来,随着互联网行业的迅猛发展,公司或组织业务的不断扩张,需求的快速变化以及用户量的不断增加,传统的单块(Monolithic)软件架构面临着越来越多的挑战,已逐渐无法适应互联网时代对软件的要求。在这一背景下,微服务架构模式(Microservice?Architecture?Pattern)逐渐流行,它强调将单一业务功能开发成微服务的形式,每个微服务运行在一个进程中;采用HTTP等通用协议和轻量级API实现微服务之间的协作与通信。这些微服务可以使用不同的开发语言以及不同数据存储技术,能够通过自动化部署工具独立发布,并保持最低限制的集中式管理。</p><br><p>【问题3】(7分)</p><p>简述微服务的优点以及缺点。</p>","analyze":"无","multi":0,"questionType":2,"answer":"<p>微服务优点:</p><p>(1)每个微服务都很小,这样能聚焦一个指定的业务功能或业务需求。</p><p>(2)微服务能够被小团队单独开发,这个小团队是2到5人的开发人员组成。</p><p>(3)微服务是松耦合的,是有功能意义的服务,无论是在开发阶段或部署阶段都是独立的。</p><p>(4)微服务能使用不同的语言开发。</p><p>(5)去中心化。每个微服务都有自己的存储能力,可以有自己的数据库。也可以有统一数据库。</p><p>微服务缺点:</p><p>(1)很难在不采用分布式事务的情况下跨服务实现功能</p><p>(2)测试工作更加困难</p><p>(3)跨服务实现要求功能要求团队之间的紧密协作</p><p>(4)部署复杂</p>","chooseItem":null,"itemList":null,"userAnswer":null,"userChooseItem":null,"answerCorrect":null,"userCollect":null},{"id":"794934133229899777","title":"<p style=\"text-indent:25px\">试题一(25分)</p><p>阅读以下关于系统分析与建模的说明,回答问题1到问题4。</p><p>【说明】</p><p>某畜牧饲料公司欲建设一套面向互联网的商品交易平台,该平台可以方便畜牧业养殖户与饲料公司之间的询价与交易。参考目前的电子商务模式,该平台的主要需求可参考下图,需求具体描述如下:<br/></p><p><img src=\"https://image.chaiding.com/ruankao/bcc786288b0513bf2f4725391a119c2c.jpg?x-oss-process=style/ruankaodaren\" title=\"bcc786288b0513bf2f4725391a119c2c.jpg\" alt=\"1111.jpg\" width=\"475\" height=\"298\"/></p><p>1.&nbsp;平台主要分为商家、顾客和管理员三类用户。商家代表在平台上发布供应和商品的用户,顾客代表在平台上下采购订单的用户,管理员代表平台上的运营和维护人员。</p><p>2.&nbsp;商家在注册账户后获得一个店铺,店铺拥有库存,库存中存放商品记录。商家可以通过添加商品和追加库存的方式,向库存中添加店铺中可销售的商品。通过标记商品上/下架状态或调整库存的方式设置商品是否在店铺中展示和销售。当商品库存为0时,不会出现在商家店铺中。</p><p>3.&nbsp;顾客在浏览商家店铺和商品的过程中可以直接下订单(3.1),或将商品加入购物车(3.2),然后再使用购物车生成订单(3.3)。</p><p>3.1&nbsp;顾客在浏览到某个合意的商品时,可直接填写商品数量并生成订单;</p><p>3.2&nbsp;顾客在浏览到某个合意的商品时,可将商品添加到购物车中。添加时可提前填入商品数量,也可未来在购物车中修改商品数量;</p><p>在购物车中,顾客可以移除商品,也可以调整购买商品的数量。顾客可以通过复选框勾选部分商品或全部商品,然后通过生成订单按钮依据选中商品生成一个新的订单。</p><br><p>【问题3】(5分)</p><p>常见的系统分析方法有传统方法和面向对象方法,两种方法分析结果呈现的形式各有不同,分别是?选项:(a)系统流程图(b)实体关系图(ERD);(c)用例图;(d)过程分析图(e)交互图;(f)数据流图(DFD);</p>","analyze":"略","multi":0,"questionType":2,"answer":"<p>传统分析方法:数据流图、ER图。</p><p>面向对象分析:用例图、类图、交互图等。</p>","chooseItem":null,"itemList":null,"userAnswer":null,"userChooseItem":null,"answerCorrect":null,"userCollect":null},{"id":"834665617276555265","title":"<p style=\"text-indent:28px\">试题三(25分)</p><p>阅读以下关于嵌入式实时系统设计的相关技术的描述,回答问题1至问题3。</p><p>【说明】</p><p>某公司长期从事嵌入式系统研制任务。近期公司承担了一项面向交通领域的智能交通系统(ITS),为了将信息、通信、传感、控制及计算机等技术有效地集成运用于整个地面交通管理,达到智能交通管理的要求,经公司讨论决定,采用信息物理融合系统(Cyber PhysicalSystem,CPS)技术来保证ITS达到实时、准确、高效的智能交通管理的目的。公司领导层将此任务交给王工承担论证工作。王工在广泛调研的基础上提交了总体实施方案供讨论,大家在高度肯定总体实施方案的基础上,提出了一些问题,并就这些问题提出了补充意见。</p><br><p>【问题1】(9分)</p><p>王工在总体实施方案中指出:CPS是在嵌入式系统、传感器技术和网络技术的基础上发展起来的,嵌入式系统使设备具有智能化能力,传感器网络使设备具有感知能力,这两者的结合就产生了“计算深度嵌入物理过程中”的效果,使得物理系统能力得到扩展,并且计算与物理过程相互影响作用,这正是CPS的系统目标,也是智能交通管理系统的最终目标。基于此需求,对比现有系统,报告分析出CPS系统应具有十项需求,其中:异质性(heterogeneity)、分布性(distribution)、动态重组(recomposition)和重配置(reconfiguration)是CPS的关键需求。请用300字以内的文字解释说明上述三个需求的具体含义。</p>","analyze":"<p>CPS系统的十项性能需求包含即计算/信息过程与物理过程紧密结合、可靠性、实时性、适时性、并发性、异质性、自治性、分布性、安全性和隐私性、动态重组和重配置。其中:异质性、分布性、动态重组和重配置是CPS的关键需求。</p>","multi":0,"questionType":2,"answer":"<p>(1)异质性:CPS网络实现异质部件(不同功能、不同公司、不同软件系统的设备)的互联和互操作。</p><p>(2)分布性:CPS中包含的大量、计算能力有限的网络化、嵌入式的计算节点,这些计算节点组成了分布式网络。</p><p>(3)动态重组和重配置:CPS为了完成各类任务,动态调整、组织、配置各类资源。</p>","chooseItem":null,"itemList":null,"userAnswer":null,"userChooseItem":null,"answerCorrect":null,"userCollect":null},{"id":"794934004531875841","title":"<p>某公司拟开发一个商业情报处理系统,使公司能够及时针对市场环境的变化及时调整发展战略,以获取最大的商业利益。项目组经过讨论,决定采用结构化分析和设计方法。在系统分析阶段,为了更好地对情报数据处理流程及其与外部角色的关联进行建模,项目组成员分别给出了自己的设计思路:<br/>(1) 小张提出先构建系统流程图(System Flowcharts),以便更精确地反映系统的业务处理过程及数据的输入和输出。<br/>(2) 小李提出先构建系统数据流图(Data Flow Diagrams),来展现系统的处理过程和定义业务功能边界,并给出了情报分类子系统的0层和1层数据流图,后者如下图所示。</p><img src=\"https://image.chaiding.com/ruankao/031ed2b2f5bb50e5aba45085560034e5.jpg?x-oss-process=style/ruankaodaren\" title=\"031ed2b2f5bb50e5aba45085560034e5.jpg\" alt=\"1.jpg\"/><br/><p>项目组经讨论确定以数据流图作为本阶段的建模手段。工程师老王详细说明了流程图和数据流图之间的区别与联系,并指出了上图所示数据流图中存在的错误。</p><br><p>[问题1](11分)</p><p>流程图和数据流图是软件系统分析设计中常用的两种手段,请用300字以内文字简要说明流程图与数据流图的含义及其区别,并说明项目组为何确定采用数据流图作为建模手段。</p>","analyze":"<p>【问题一】</p><p>数据流图和流程图是结构化建模中使用的重要工具,能够帮助开发人员更好地分析和设计系统,增强系统开发人员之间交流的准确性和有效性。数据流图作为一种图形化工具,用来说明业务处理过程、系统边界内所包含的功能和系统中的数据流,适用于系统分析中的逻辑建模阶段。流程图以图形化的方式展示应用程序从数据输入开始到获得输出为止的逻辑过程,描述处理过程的控制流,往往涉及到具体的技术和环境,适用于系统设计中的物理建模阶段。</p><p>本题项目组为了更好地对情报数据处理流程及其与外部角色的关联进行建模,符合数据流图的应用场景要求,因此,首先构建数据流图以反映数据流向和系统边界。</p><p>数据流图和流程图是为了达到不同的目的而产生的,其所采用的标准符号集合也不相同。在实际应用中,区别主要包括是否可以描述处理过程的并发性;描述内容是数据流还是控制流等几个方面。</p>","multi":0,"questionType":2,"answer":"<p>数据流图作为一种图形化工具,用来说明业务处理过程、系统边界内所包含的功能和系统中的数据流。</p><p>流程图以图形化的方式展示应用程序从数据输入开始到获得输出为止的逻辑过程,描述处理过程的控制流。</p><p>两者的区别主要包括:</p><p>(1) 数据流图中的处理过程可并行;流程图在某个时间点只能处于一个处理过程。</p><p>(2) 数据流图展现系统的数据流;流程图展现系统的控制流。</p><p>(3) 数据流图展现全局的处理过程,过程之间遵循不同的计时标准;流程图中处理过程遵循一致的计时标准。</p><p>(4) 数据流图适用于系统分析中的逻辑建模阶段;流程图适用于系统设计中的物理建模阶段。</p>","chooseItem":null,"itemList":null,"userAnswer":null,"userChooseItem":null,"answerCorrect":null,"userCollect":null},{"id":"794934111973167105","title":"<p>试题四(共25分)</p><p>某医药销售企业因业务发展,需要建立线上药品销售系统,为用户提供便捷的互联网药品销售服务、该系统除了常规药品展示、订单、用户交流与反馈功能外,还需要提供当前热销产品排名、评价分类管理等功能。</p><p>通过对需求的分析,在数据管理上初步决定采用关系数据库(MySQL)和数据库缓存(Redis)的混合架构实现。</p><br><p>【问题1】(8分)</p><p>请补充使用缓存后读写数据的基本步骤:</p><p>1.根据key读缓存;</p><p>2.读取成功则直接返回;</p><p>3.若key不在缓存中时,根据key&nbsp;(1)&nbsp;;</p><p>4.读取成功后,(2)&nbsp;;</p><p>5.成功返回。</p><p>写数据操作的基本步骤:</p><p>1.根据key值写&nbsp;(3)&nbsp;;</p><p>2.成功后&nbsp;(4)&nbsp;;</p><p>3.成功返回。&nbsp;.</p>","analyze":"无","multi":0,"questionType":2,"answer":"<p>(1)读数据库,(2)更新缓存,(3)数据库,(4)更新缓存key值/删除缓存Key值/使缓存Key值失效</p>","chooseItem":null,"itemList":null,"userAnswer":null,"userChooseItem":null,"answerCorrect":null,"userCollect":null},{"id":"834660197413703681","title":"<p style=\"text-indent:27px;line-height:150%\">试题四(25分)</p><p>阅读以下关于数据管理的叙述,在答题纸上回答问题1至问题3。</p><p>【说明】</p><p>某全国连锁药店企业在新冠肺炎疫情期间,紧急推出在线口罩预约业务系统。该业务系统为普通用户提供口罩商品查询、购买、订单查询等业务,为后台管理人员提供订单查询、 订单地点分布汇总、物流调度等功能。该系统核心的关系模式为预约订单信息表。</p><p>推出业务系统后,几天内业务迅速增长到每日10万多笔预约订单,系统数据库服务器 压力剧增,导致该业务交易响应速度迅速降低,甚至出现部分用户页面无法刷新、预约订单 服务无响应的情况。为此,该企业紧急成立技术团队,由张工负责,以期尽快解决该问题。&nbsp;</p><br><p>【问题1】(9分)</p><p>经过分析,张工认为当前预约订单信息表存储了所有订单信息,记录已达到了百万级别。系统主要的核心功能均涉及对订单信息表的操作,应首先优化预约订单信息表的读写性能,建议针对系统中的SQL语句,建立相应索引,并进行适当的索引优化。</p><p>针对张工的方案,其他设计人员提出了一些异议,认为索引过多有很多副作用。请用100 字以内的文字简要说明索引过多的副作用。</p>","analyze":"<p>数据库索引是对数据库表中一列或多列进行排序的一种结构,使用索引可以快速访问数据库表中的特定信息。索引类似于书的目录,通过目录可以迅速查询书中内容。</p><p>查询优化器是关系型数据库管理系统的核心之一,它对索引、算法最优组合、找出查询成本最低的查询方案,再进行执行查询。</p><p>索引包含索引行数、索引层级、索引叶子节点数量等统计信息。</p><p>聚集索引是指数据库表行中数据的物理顺序与键值的逻辑(索引)顺序相同。一个表只能有一个聚集索引。非聚集索引制定了表中记录的逻辑顺序,但是记录的物理和索引不一定一致。</p>","multi":0,"questionType":2,"answer":"<p>常见的索引副作用有:</p><p>(1)过多索引会占用大量存储空间;</p><p>(2)更新语句会引发索引更新,过多索引更新开销较大;</p><p>(3)过多索引导致索引的历史统计信息过多。</p><p>(4)索引过多导致查询优化器需要评估组合增多。</p><p>(5)聚集索引的变化会导致非聚集索引的同步变化。</p>","chooseItem":null,"itemList":null,"userAnswer":null,"userChooseItem":null,"answerCorrect":null,"userCollect":null},{"id":"794934129358557185","title":"<p style=\"text-indent:32px\">试题五(25分)</p><p>阅读以下关于Web应用的叙述,在答题纸上回答问题1至问题3。</p><p>【说明】</p><p>某软件企业拟开发一套基于Web的SaaS系统,该系统按租户视图、系统管理视图以及业务视图划分为多个相应的Web应用,系统需求中还包含邮件服务、大文件上传下载、安全攻击防护等典型Web系统基础服务需求。</p><br><p>【问题2】(12分)</p><p>在确定系统釆用的持久层技术方案时,项目组梳理了系统的典型持久化需求,对照需求对比分析了 Hibernate和MyBatis两种持久化方案,请分析两种持久化方案对表5-1中所列项目需求的支持情况,将候选答案序号A或B填入表5-1相应位置。</p><p>【候选答案:A. 支持 B. 不支持或支持差】</p><p>表5-1 &nbsp;两种持久化方案对项目需求的支持情况</p><img style=\"max-width:100%;height:auto\"  src=\"https://image.chaiding.com/ruankao/803c978df2d1483b1a5e83a2f1458682.jpg?x-oss-process=style/ruankaodaren\" title=\"803c978df2d1483b1a5e83a2f1458682.jpg\" alt=\"111.jpg\"/>","analyze":"略","multi":0,"questionType":2,"answer":"<p>(1)A &nbsp;(2)B &nbsp;(3)B &nbsp;(4)A &nbsp;(5)A &nbsp;(6)B</p>","chooseItem":null,"itemList":null,"userAnswer":null,"userChooseItem":null,"answerCorrect":null,"userCollect":null},{"id":"794934108085047297","title":"<p style=\";text-indent:28px;text-autospace:ideograph-numeric\">试题二(共25分)</p><p><br/></p><p></p><p></p><p></p><p></p>某畜牧饲料公司欲建设一套面向互联网的商品交易平台,该平台可以方便畜牧业养殖户与饲料公司之间的询价与交易。参考目前的电子商务模式,该平台的主要需求可参考下图,需求<p><img src=\"https://image.chaiding.com/ruankao/624a057fe700c7a21eb8729b25bb83fa.png?x-oss-process=style/ruankaodaren\" title=\"624a057fe700c7a21eb8729b25bb83fa.png\" alt=\"image.png\"/><br/></p><p>图&nbsp;2-1&nbsp;商品交易平台需求概念图</p><p>具体描述如下:</p><p>1.&nbsp;平台主要分为商家、顾客和管理员三类用户。商家代表在平台上发布供应和商品的用户,顾客代表在平台上下采购订单的用户,管理员代表平台上的运营和维护人员。</p><p>2.&nbsp;商家在注册账户后获得一个店铺,店铺拥有库存,库存中存放商品记录。商家可以通过添加商品和追加库存的方式,向库存中添加店铺中可销售的商品。通过标记商品上/下架状态或调整库存的方式设置商品是否在店铺中展示和销售。当商品库存为0时,不会出现在商家店铺中。</p><p>3.&nbsp;顾客在浏览商家店铺和商品的过程中可以直接下订单(3.1),或将商品加入购物车(3.2),然后再使用购物车生成订单(3.3)。</p><p>3.1&nbsp;顾客在浏览到某个合意的商品时,可直接填写商品数量并生成订单;</p><p>3.2&nbsp;顾客在浏览到某个合意的商品时,可将商品添加到购物车中。添加时可提前填入商品数量,也可未来在购物车中修改商品数量;</p><p>3.3&nbsp;在购物车中,顾客可以移除商品,也可以调整购买商品的数量。顾客可以通过复选框勾选部分商品或全部商品,然后通过生成订单按钮依据选中商品生成一个新得订单。</p><p><br/></p><br><p>【问题4】(5分)</p><p>图2-1中绘制的类是分析类还是设计类?分析类和设计类分别会在软件生命周期模型中的哪个或哪些阶段中产生?</p>","analyze":"无","multi":0,"questionType":2,"answer":"<p>图中的类是分析类。</p><p>分析类主要在需求分析和架构设计中产生,设计类主要在概要设计阶段产生。</p>","chooseItem":null,"itemList":null,"userAnswer":null,"userChooseItem":null,"answerCorrect":null,"userCollect":null},{"id":"794934009367908353","title":"<p>某公司承担了一项宇航嵌入式设备的研制任务。本项目除对硬件设备环境有很高的要求外,还要求支持以下功能:</p><p>(1) 设备由多个处理机模块组成,需要时外场可快速更换(即LRM结构);</p><p>(2) 应用软件应与硬件无关,便于软硬件的升级;</p><p>(3) 由于宇航嵌入式设备中要支持不同功能,系统应支持完成不同功能任务间的数据隔离;</p><p>(4) 宇航设备可靠性要求高,系统要有故障处理能力。</p><p>公司在接到此项任务后,进行了反复论证,提出三层栈(TLS)软件总体架构,如下图所示,并将软件设计工作交给了李工,要求他在三周内完成软件总体设计工作,给出总体设计方案。</p><br><p>[问题3]</p><p>故障处理是宇航系统软件设计中极为重要的组成部分。故障处理主要包括故障监视、故障定位、故障隔离和系统容错(重组)。用150字以内的文字说明嵌入式系统中故障主要分哪几类 并分别给出两种常用的故障滤波算法和容错算法。</p>","analyze":"<p>【问题三】</p><p>作为宇航系统的嵌入式设备,硬/软件故障是宇航系统最为关注的内容,根据宇航系统的特点和系统组成,故障一般分为三类,即硬件故障、应用软件故障和操作系统故障,在设计中,应考虑这三类故障的处理方法。硬件故障一般包括CPU运算错误、存储器访问/越界错误、MMU配置错误、定时器计数错误和内总线错误等;应用软件故障一般包括计算越界、除0、溢出和超时等各种异常情况;操作系统故障一般包括越权访问、死锁、资源枯竭、调度超时、配置越界和操作系统异常等。</p><p>一般情况下,宇航系统的故障分为瞬态故障和永久故障,瞬态故障是指偶然发生的错误,而永久故障是指发生后不可消失的错误。在容错系统中,故障一般是由瞬态故障向永久故障转变,将鉴别瞬态故障和永久故障的算法称为滤波算法。在嵌入式实时系统中,常用的滤波算法包括门限算法、递减算法、递增算法和周期滤波算法等。</p><p>故障的鉴别目的是实现宇航系统的容错与重构。常用的容错算法是N+1备份、冷备、温备和热备。N+1备份是指N个通用模块之一的任何一个模块发生故障后,将故障模块的任务迁移到备份模块运行:冷备、温备和热备是三种备份方式,可根据宇航系统的总体备份时间或重要程度安排不同的备份算法。</p>","multi":0,"questionType":2,"answer":"<p>(1) 嵌入式系统中故障主要分为:</p><p>①硬件故障:如CPU、存储器和定时器等;</p><p>②应用软件故障:如数值越界、异常和超时等;</p><p>③操作系统故障:如越权访问、死锁和资源枯竭等。</p><p>(2) 滤波算法:</p><p>①门限算法</p><p>②递减算法</p><p>③递增算法</p><p>④周期滤波算法</p><p>(3) 容错算法:</p><p>①N+1备份</p><p>②冷备</p><p>③温备</p><p>④热备</p>","chooseItem":null,"itemList":null,"userAnswer":null,"userChooseItem":null,"answerCorrect":null,"userCollect":null},{"id":"796240001665880065","title":"试题一(25分)<br>\n阅读以下关于软件项目可行性分析方面的叙述,回答问题1至问题4。<br>\n【说明】<br>\n某信息技术公司拟开发一套新的信息系统,以提高公司业务运作的效率。按照公司总裁的要求,公司软件开发部系统分析人员张工和李工对新系统方案的各项可行性指标进行分析,重点分析了新系统方案的经济可行性。张工根据财务部门提供的各项数据给出了项目的投资回收表如下表1所示。<br>\n<img width=\"629\" height=\"185\" alt=\"\" src=\"https://image.chaiding.com/ruankao/8666037212f80e5cc6b2e34153da9961.jpg?x-oss-process=style/ruankaodaren\"><br>\n&nbsp;&nbsp;&nbsp; 通过对上面数据进行分析,计算出项目的投资回收期是2.75年。李工对此提出了自己的观点,认为应该基于货币时间价值来计算各项数据,并给出了在贴现率是12%时的投资回收表如下表2所示,其中“***”表示此处的数据未给出。<br>\n<img width=\"619\" height=\"202\" alt=\"\" src=\"https://image.chaiding.com/ruankao/4d4f7a42c579ce87194e106df633d7da.jpg?x-oss-process=style/ruankaodaren\"><br>\n大家经过讨论,认为李工给出的投资回收表中的数据更为合理,并将其作为系统方案建议书的部分内容上报公司管理层。\n<br><br>\n【问题1】(8分)<br>\n请简要说明系统分析中可行性分析包括哪几个方面,并简要说明其具体含义。\n<br><br>\n【问题2】(6分)<br>\n在系统生命周期内,运行系统的成本可按照固定成本和可变成本分类。请判断下列费用的成本类型及理由。<br>\n(1)系统设计工具软件的许可证费用:<br>\n(2)计算机使用时的开销;<br>\n(3)信息系统操作人员的工资;<br>\n(4)购买的光盘和闪存等存储设备花费。\n<br><br>\n【问题3】(5分)<br>\n请利用现值计算公式计算相应的数值并填入表1-2中的(1)~(8)内,并根据李工的数据计算项目的投资回报期。\n<br><br>\n【问题4】(4分)<br>\n请结合张工和李工给出的投资回收表,用200以内文字简要解释货币时间价值及其意义。","analyze":"【问题1】<br>\n可行性分析包括:<br>\n(1)运行/操作可行性:对方案满足新系统需求程度的度量;<br>\n(2)技术可行性:是对一种特定技术方案的现实性及技术资源和专家的可用性的度量;<br>\n(3)进度可行性:对项目时间表的合理性的度;<br>\n(4)经济可行性:对项目或者方案的成本效益的度量。<br>\n<br>\n优秀的系统分析师在建议任何改变之前会全面地评价系统解决方案,可行性评价准则是客观评价解决方案的基础。可行性分析(运行可行性、技术可行性、进度可行性和经济可行性)是对组织将要开发的信息系统的价值或实用性的度量过程。利用可行性分析可以对不同的解决方案进行比较选择,并且能够保证组织对于系统投入的价值收益以避免项目失败的风险。可行性分析的能力是系统分析员必备的素质。<br>\n本题主要考査应试者对于可行性分析方法的掌握情况,特别是作为可行性准则中的经济可行性度量主要方法的成本效益分析技术。本题结合一个典型的实际项目案例,首先要求应试者简要说明可行性分析的准则及度量目标;进一步考查经济可行性分析中对于成本的计算;最后利用投资收益分析技术能够对实际项目中的成本和收益进行分析,计算项目的投资回报期。<br>\n本题要求应试者能够理解可行性分析的准则及内容,包括运行可行性、技术可行性、进度可行性和经济可行性等准则。\n<br><br>\n【问题2】<br>\n固定成本是指有规律的、但相对固定的费用;可变成本是与某些使用因素成比例的费用。<br>\n(1) 固定成本:有效期内一次性付出的成本;<br>\n(2) 可变成本:根据计算机工作时的负载而变化;<br>\n(3) 固定成本:工资的变化是逐渐的而且通常不会发生很大的变化;<br>\n(4) 可变成本:供应材料会按照工作量比例而变化<br>\n<br>\n优秀的系统分析师在建议任何改变之前会全面地评价系统解决方案,可行性评价准则是客观评价解决方案的基础。可行性分析(运行可行性、技术可行性、进度可行性和经济可行性)是对组织将要开发的信息系统的价值或实用性的度量过程。利用可行性分析可以对不同的解决方案进行比较选择,并且能够保证组织对于系统投入的价值收益以避免项目失败的风险。可行性分析的能力是系统分析员必备的素质。<br>\n本题主要考査应试者对于可行性分析方法的掌握情况,特别是作为可行性准则中的经济可行性度量主要方法的成本效益分析技术。本题结合一个典型的实际项目案例,首先要求应试者简要说明可行性分析的准则及度量目标;进一步考查经济可行性分析中对于成本的计算;最后利用投资收益分析技术能够对实际项目中的成本和收益进行分析,计算项目的投资回报期。<br>\n成本计算是进行经济可行性分析的重要内容,如何计算成本以及确定所需要计算的成本的范围是保证经济可行性分析正确的基础。本题要求应试者能够正确理解成本的概念,包括固定成本和可变成本。由于在成本计算中固定成本和可变成本的计算方式不同,要求应试者能够根据成本确定其所属的类别。\n<br><br>\n【问题3】<br>\n(1)0.893(2)0.797(3)457 131(4)468 579<br>\n(5)479 352(6)404 720(7)538 280(8)668 690<br>\n从表2可以看出,项目的投资回收期在第3年和第4年之间,经过计算,投资回收期约为3.43。<br>\n<img alt=\"\" width=\"296\" height=\"53\" src=\"https://image.chaiding.com/ruankao/e7f21033d291036558cc83ebead0257b.jpg?x-oss-process=style/ruankaodaren\"><br>\n<br>\n优秀的系统分析师在建议任何改变之前会全面地评价系统解决方案,可行性评价准则是客观评价解决方案的基础。可行性分析(运行可行性、技术可行性、进度可行性和经济可行性)是对组织将要开发的信息系统的价值或实用性的度量过程。利用可行性分析可以对不同的解决方案进行比较选择,并且能够保证组织对于系统投入的价值收益以避免项目失败的风险。可行性分析的能力是系统分析员必备的素质。<br>\n本题主要考査应试者对于可行性分析方法的掌握情况,特别是作为可行性准则中的经济可行性度量主要方法的成本效益分析技术。本题结合一个典型的实际项目案例,首先要求应试者简要说明可行性分析的准则及度量目标;进一步考查经济可行性分析中对于成本的计算;最后利用投资收益分析技术能够对实际项目中的成本和收益进行分析,计算项目的投资回报期。<br>\n本题要求应试者能够准确掌握成本效益分析技术,投资回收分析技术是成本效益分析的一种有效方法。投资回收期是决定项目是否值得投资的重要因素,要求应试者能够利用成本和效益数据计算投资回收期的近似值。要使得计算结果更加准确,就需要考虑货币时间价值因素,利用现值计算公式将将来的货币价值转变为现值进行计算。\n<br><br>\n【问题4】<br>\n货币的时间价值是指当前所持有的一定量货币比未来获得的等量货币具有更高的价值。<br>\n从经济学角度而言,现在的一单位货币与未来的一单位货币的购买力之所以不同,是因为要节省现在的一单位货币不消费而改在未来消费,则在未来消费时必须有大于一单位的货币可用于消费,作为弥补延迟消费的贴水。<br>\n<br>\n优秀的系统分析师在建议任何改变之前会全面地评价系统解决方案,可行性评价准则是客观评价解决方案的基础。可行性分析(运行可行性、技术可行性、进度可行性和经济可行性)是对组织将要开发的信息系统的价值或实用性的度量过程。利用可行性分析可以对不同的解决方案进行比较选择,并且能够保证组织对于系统投入的价值收益以避免项目失败的风险。可行性分析的能力是系统分析员必备的素质。<br>\n本题主要考査应试者对于可行性分析方法的掌握情况,特别是作为可行性准则中的经济可行性度量主要方法的成本效益分析技术。本题结合一个典型的实际项目案例,首先要求应试者简要说明可行性分析的准则及度量目标;进一步考查经济可行性分析中对于成本的计算;最后利用投资收益分析技术能够对实际项目中的成本和收益进行分析,计算项目的投资回报期。<br>\n本题要求应试者能够理解货币时间价值的概念及其在项目投资回报分析中的作用。","multi":0,"questionType":2,"answer":"","chooseItem":null,"itemList":null,"userAnswer":null,"userChooseItem":null,"answerCorrect":null,"userCollect":null},{"id":"834665618069278721","title":"<p style=\"text-indent:28px\">试题三(25分)</p><p>阅读以下关于嵌入式实时系统设计的相关技术的描述,回答问题1至问题3。</p><p>【说明】</p><p>某公司长期从事嵌入式系统研制任务。近期公司承担了一项面向交通领域的智能交通系统(ITS),为了将信息、通信、传感、控制及计算机等技术有效地集成运用于整个地面交通管理,达到智能交通管理的要求,经公司讨论决定,采用信息物理融合系统(Cyber PhysicalSystem,CPS)技术来保证ITS达到实时、准确、高效的智能交通管理的目的。公司领导层将此任务交给王工承担论证工作。王工在广泛调研的基础上提交了总体实施方案供讨论,大家在高度肯定总体实施方案的基础上,提出了一些问题,并就这些问题提出了补充意见。</p><br><p>【问题3】(5分)</p><p>王工在总体实施方案中强调,智能交通管理系统采用CPS体系结构后,由于本系统安全与否,直接涉及车辆、驾驶员以及行人的生命安全,因此必须开展智能交通管理系统的安全性分析,寻找出潜在风险。通常风险可分为基本风险和特定风险,而特定风险涵盖了人为因素带来的风险和环境因素带来的风险。请识别出智能交通管理系统存在的5种特定风险。</p>","analyze":"<p>智能交通管理系统存在的风险有与人相关的风险,与车相关的风险,与路相关的风险等。</p>","multi":0,"questionType":2,"answer":"<p>(1)驾驶员</p><p>(2)乘客</p><p>(3)行人</p><p>(4)操作人员</p><p>(5)车辆维修人员</p><p>(6)轮胎爆裂</p><p>(7)路面结冰</p><p>(8)火灾/水灾</p><p>(9)爆炸/自燃</p><p>(10)汽油/机油泄漏</p><p>(11)信号灯故障</p><p>(12)网络故障或丢失</p><p>(写出五项即可)</p>","chooseItem":null,"itemList":null,"userAnswer":null,"userChooseItem":null,"answerCorrect":null,"userCollect":null},{"id":"794917095937691649","title":"<p>试题三(20分):</p><p>随着嵌入式计算资源快速提升,容器技术(Docker)发挥重要作用,某公司对原有平台升级,公司将平台升级任务交给了张工,张工经过分析、调研,提出在园嵌入式操作系统平台上采用容器技术的升级方案,但该方案引发了争议。</p><br><p>问题1:争论焦点是采用容器技术还是虚拟机(VM)技术。李工支出由于容器技术共享主机内核能向虚拟机一样完全隔离,系统存在安全问题;如果采用虚拟机技术除满足需求外,还保证了系统的安全和稳定,会上领导根据系统升级的初衷选择了张工的升级方案,请用300字以内的文字说明容器技术和虚拟技术的含义,并简要论述公司领导采纳容器技术的原因。</p><p><br/></p>","analyze":"略","multi":0,"questionType":2,"answer":"<p>容器技术起源于Linux,是一种内核虚拟化技术,提供轻量级的虚拟化,以便隔离进程和资源。虚拟机技术指通过模拟的具有完整硬件系统功能的、运行在一个完全隔离环境中的完整计算机系统。在实体计算机中能够完成的工作在虚拟机中都能够实现。</p><p>容器技术与虚拟机技术相比有如下优势,是公司领导采纳容器技术的原因:</p><p>更高效的利用系统资源:</p><p>容器不需要进行硬件虚拟以及运行完整操作系统等额外开销,容器对系统资源的利用率更高。无论是应用执行速度、内存损耗或者文件存储速度,都要比传统虚拟机技术更高效。</p><p>更快速的启动时间</p><p>传统的虚拟机技术启动应用服务往往需要数分钟,而Docker容器应用,由于直接运行于宿主内核,无需启动完整的操作系统,因此可以做到秒级、甚至毫秒级的启动时间。</p><p>更轻松的维护和扩展</p><p>Docker使用的分层存储以及镜像的技术,使得应用重复部分的复用更为容易,也使得应用的维护更新更加简单,基于基础镜像进一步扩展镜像也变得非常简单。</p>","chooseItem":null,"itemList":null,"userAnswer":null,"userChooseItem":null,"answerCorrect":null,"userCollect":null},{"id":"794934095435026433","title":"<p>阅读下列关于软件产品线方面的叙述,回答问题1至问题3。</p><p>A 公司是一家中等规模的计算机企业,专门从事网络安全防护软件系统的开发。从最初仅开发基于Windows 的个人防火墙产品开始,现在已经延伸到基于Linux、Windows 系列、Mac 操作系统的个人防火墙、企业防火墙、入侵检测系统、病毒扫描系统、安全扫描系统等多种产品。公司原来的产品都是一个一个地开发,为每个软件对应地组织一个项目组。</p><p>为了适应快速变化的市场,降低开发成本,公司想引入产品线方法。然而,软件产品线方法涉及了一个软件开发企业的多个产品,所以,公司的王总决定在弄清楚以下三个问题之后再做决定∶首先就是本公司的业务范围是否适合使用产品线方法,其次是如何在原有产品的基础上建立产品线,最后是成功实施产品线的主要因素。</p><br><p>【问题3】(8分)</p><p>请用150字以内文字,说明成功实施产品线的主要因素。</p>","analyze":"无","multi":0,"questionType":2,"answer":"<p>【问题3】</p><p>成功实施软件产品线的主要因素有;对该领域的产品开发需要具备长期积累下来的深入经验;需要建立一个用于构建产品的好的核心资源库,支持更高程度的过程规范;创建稳定、 可靠的产品线架构以及将架构作为产品蓝图的能力;需要一一个好的管理(软件资源、人员组织、过程)支持。</p>","chooseItem":null,"itemList":null,"userAnswer":null,"userChooseItem":null,"answerCorrect":null,"userCollect":null},{"id":"794934125499797505","title":"<p style=\"text-indent:32px\">试题四(25分)</p><p>阅读以下关于数据管理的叙述,在答题纸上回答问题1至问题3。</p><p>【说明】</p><p>某社交媒体企业开发了一套新闻社交类软件,提供常见的新闻发布、用户关注、用户推荐、新闻点评、新闻推荐、热点新闻等功能,项目采用关系数据库来存储业务数据。系统上线后,随着用户数量的增加,数据库服务器的压力不断加大。为此,该企业设立了专门的工作组来解决此问题。</p><p>孙工提出对数据库进行反范式设计,好处是程序改动比较小,可以较快完成,后续也可以再扩展到数据库集群。钱工认为该系统的诸多功能,并不需要采用关系数据库,甚至关系数据库限制了功能的实现,应该采用 NoSQL数据库来替代,重新构造系统的数据层,由此可以得到分布式数据库的高并发、高可用等许多优良性能。</p><p>经过多次讨论,该企业最终决定采用钱工提出的方案。</p><br><p>【问题1】(10分)</p><p>孙工支持反范式设计,请用 300 字以内的文字简要说明常见的反范式设计的种类和作用。</p>","analyze":"略","multi":0,"questionType":2,"answer":"<p>常见的反范式设计的种类有:</p><p>①u3000增加冗余列,是指在多个表中具有相同的列。它常用来在查询时避免连接操作,针对个别字段有效。</p><p>②u3000增加派生列,指增加的列可以通过表中其他数据计算生成。它的作用是在查询时减少计算量,从而加快查询速度。</p><p>③u3000重新组表,指如果许多用户需要查看两个表连接出来的结果数据,则把这两个表重新组成一个表来减少连接。它的作用是可以提高关联表查询的性能。</p><p>④u3000水平分割表,按记录进行分割,把数据放到多个独立的表中,主要用于表数据规模很大、表中数据相对独立或数据需要存放到多个介质上时使用。</p><p>垂直分割表,对表进行分割,将主键与部分列放到一个表中,主键与其它列放到另一个表中,在查询时减少 I/0 次数。</p>","chooseItem":null,"itemList":null,"userAnswer":null,"userChooseItem":null,"answerCorrect":null,"userCollect":null},{"id":"834660193995345921","title":"<p style=\"text-indent:27px;line-height:150%\">试题一(25分)</p><p>阅读下列说明,回答问题1至问题3,将解答填入答题纸的对应栏内。</p><p>【说明】</p><p>某软件企业拟釆用面向对象方法开发一套体育用品在线销售系统,在系统分析阶段,“提交订单”用例详细描述如表2-1所示。</p><img style=\"max-width:100%;height:auto\"  src=\"https://image.chaiding.com/ruankao/89b0eed02c2819e0c7f1eaea70c23a62.png?x-oss-process=style/ruankaodaren\" title=\"89b0eed02c2819e0c7f1eaea70c23a62.png\" alt=\"image.png\" width=\"580\" height=\"390\"/><br><p>【问题1】(9分)</p><p>面向对象系统开发中,实体对象、控制对象和接口对象的含义是什么?</p>","analyze":"<p>根据职责的不同,对象类型可以分为实体对象、控制对象、接口对象。</p>","multi":0,"questionType":2,"answer":"<p>(1)实体对象:表示业务域的事实数据并进行持久化存储。</p><p>(2)控制对象:表示业务系统的业务逻辑、规则。</p><p>(3)接口对象:表示用户与系统之间交互方式。</p>","chooseItem":null,"itemList":null,"userAnswer":null,"userChooseItem":null,"answerCorrect":null,"userCollect":null},{"id":"794934014266855425","title":"<p>阅读以下关于Java企业级应用系统开发架构的叙述,根据要求回答问题。</p><p>[说明]</p><p>&nbsp;&nbsp; &nbsp;某软件公司承担了某中小型企业应用软件开发任务,进度要求紧迫。为了按时完成任务,选择合适的企业应用系统开发架构非常重要。项目组在进行方案论证时,项目组成员提出了两种开发思路。</p><p>&nbsp;&nbsp; 刘工建议采用J2EE 5.0和EJB 3.0进行开发。理由是J2EE定义了标准的应用开发体系结构和部署环境,EJB是J2EE的基础和核心。J2EE 5.0主要目标是简化开发,相比EJB 2.1,EJB 3.0具有很多改进和提高。</p><p>&nbsp;&nbsp; 杜工建议采用Struts、Spring和Hibenate轻量级开源框架相结合的方式。理由是随着Java开源项目阵营的发展壮大,一些基于POJOs(Plan Old Java Objects)的开源框架被广泛地引入到Java企业应用开发中来,与重量级的EJB框架相比,这些轻量级的框架有很多优点。</p><p>&nbsp;&nbsp; &nbsp;项目组仔细比较分析了两种方案的特点、优点和不足之处。认为杜工和刘工的建议都合理,但是从结合当前项目实际情况出发,最后决定采用杜工的建议。</p><br><p>[问题3](7分)</p><p>请用200字以内的文字说明基于Struts、Spring和Hibernate的轻量级框架与基于EJB的重量级框架解决问题的侧重点有什么不同?</p>","analyze":"<p>轻量级框架侧重于减小开发的复杂度,相应的它的处理能力便有所减弱(如事务功能弱、不具备分布式处理能力),比较适用于开发中小型企业应用。</p><p>重量级框架的EJB框架则强调高可伸缩性,适用于开发大型企业应用。在EJB体系结构中,一切与基础结构服务相关的问题和底层分配问题都由应用程序容器或服务器来处理,且EJB容器通过减少数据库访问次数及分布式处理等方式提供了专门的系统性能解决方案,能够充分解决系统性能问题。</p>","multi":0,"questionType":2,"answer":"<p>【问题三】</p><p>轻量级框架侧重于减小开发的复杂度,相应的它的处理能力便有所减弱(如事务功能弱、不具备分布式处理能力),比较适用于开发中小型企业应用。采用轻量级框架后,一方面因为采用基于POJOs的方法进行开发,使应用不依赖于任何容器,这可以提高开发调试效率;另一方面轻量级框架多数是开源项目,开源社区提供了良好的设计和许多快速构建工具,以及大量现成可供参考的开源代码,这有利于项目的快速开发。例如,目前Tomcat+Spring+Hibernate已经成为许多开发者开发J2EE中小型企业应用偏爱的一种架构选择。</p><p>作为重量级框架的EJB框架则强调高可伸缩性,适用于开发大型企业应用。在EJB体系结构中,一切与基础结构服务相关的问题和底层分配问题都由应用程序容器或服务器来处理,且EJB容器通过减少数据库访问次数及分布式处理等方式提供了专门的系统性能解决方案,能够充分解决系统性能问题。</p><p>轻量级框架的产生并非是对重量级框架的否定,在某种程度上可以说二者是互补的。轻量级框架旨在开发具有更强大、功能更完备的企业应用;而EJB3.0规范则在努力简化J2EE的使用,以使得EJB不仅仅是擅长处理大型企业系统,也利用开发中小型系统,这也是EJB轻量化的一种努力。对于大型企业的应用及将来可能涉及能力扩展的中小型应用,结合使用轻量级框架和重量级框架也不失为一种较好的解决方案。,</p>","chooseItem":null,"itemList":null,"userAnswer":null,"userChooseItem":null,"answerCorrect":null,"userCollect":null},{"id":"794934160329297921","title":"<p style=\"text-indent:32px\">试题四(25分)</p><p>阅读以下关于数据库设计的叙述,在答题纸上回答问题1至问题3。。</p><p>【说明】</p><p>某软件公司受委托开发一个电子商务网站,要求提供下述服务:</p><p>(1)可随时查询库存中现有物品的名称、数量和单价。所有物品均应由物品编号唯一标识。</p><p>(2)可随时查询顾客订货情况,包括顾客编号、顾客名、所订物品编号、订购数量、联系方式、交货地点。所有顾客编号不重复。</p><p>(3)当需要时,可通过数据库中保存的供应商名称、电话、邮编与地址信息寻找相应供应商供货。</p><br><p>【问题3】(6分)</p><p>请指出问题2中的E-R图有哪些不合理之处?</p>","analyze":"无","multi":0,"questionType":2,"answer":"<p>(1)&nbsp;订货联系中,不需要单独列举物品编号,它是隐含的;</p><p>(2)&nbsp;应该独立出一个供应商关系,而不是把信息放在供货联系中,相应地供应商名称、地址、电话、邮编移到供应商关系中;</p><p>(3)&nbsp;需要在供应商关系中增加供应商编号作为主键。</p>","chooseItem":null,"itemList":null,"userAnswer":null,"userChooseItem":null,"answerCorrect":null,"userCollect":null},{"id":"796240032401739777","title":"试题三(25分)<br>\n阅读以下关于嵌入式系统软件设计的叙述,在答题纸上回答问题1至问题3。<br>\n【说明】<br>\n某软件公司长期从事移动智能终端设备等嵌入式软件研制工作,积累了丰富的嵌入式软件开发经验。某日,该公司经理派在嵌入式软件开发方面已具有很强经验的王工程师到某宇航设备研制单位洽谈一项软件合作项目,但是,在与对方洽谈需求时王工程师感觉沟通并不顺畅,许多概念较难达成一致。主要原因是王工程师长期从事移动智能终端的软件开发,开发平台主要是Android操作系统,开发语言是Java,而这次洽谈是王工程师第一次接触宇航系统软件,对于其特殊需求和要求缺少相关知识积累,不了解强实时、高安全和高可靠嵌入式软件设计等方面应用。\n<br><br>\n【问题1】(7分)<br>\n王工程师与某宇航设备研制单位洽谈的业务,涉及到了嵌入式系统的知识。根据你的理解请用100宇以内文字说明嵌入式系统的主要特点。\n<br><br>\n【问题2】(8分)<br>\n王工程师到某宇航设备研制单位洽谈软件项目时,宇航设备研制单位技术人员提出了以下需求:此宇航设备主要面向无人飞行器,用于飞行姿态控制,实现飞行器的自主起飞和着陆,要求应用软件按最高安全等级(即A级软件要求)开发。为了提高飞行器系统的安全性和可靠性,便于应用软件的可重用性,需要选择一款满足宇航设备要求的嵌入式操作系统,并在操作系统之上开发飞行器控制软件。请根据你对嵌入式操作系统选择方法的理解,判断表3-1给出的有关选择嵌入式操作系统的观点是否正确,将解答写在答题纸的对应栏内。<br>\n<img alt=\"\" width=\"432\" height=\"601\" src=\"https://image.chaiding.com/ruankao/bf3a38672b66a30e1b8f213ff97f3d44.jpg?x-oss-process=style/ruankaodaren\">\n<br><br>\n【问题3】(10分)<br>\n请用300字以内文字,说明宇航设备的嵌入式软件与移动智能终端嵌入式软件在安全性(safety)、实时性、交互性设计和编码方面的要求有何差异,请填写表3-2中的空格(1)~(8),将解答写在答题纸的对应栏内。<br>\n<img alt=\"\" width=\"548\" height=\"136\" src=\"https://image.chaiding.com/ruankao/7c6d4fd86bb1f2fddd1980754306b122.jpg?x-oss-process=style/ruankaodaren\">","analyze":"【问题1】<br>\n(1) 系统专用性强。<br>\n(2) 系统实时性强。<br>\n(3) 系统可靠性高。<br>\n(4) 系统安全性强。<br>\n(5) 软硬件依赖性强。<br>\n(6) 处理器专用。<br>\n(7) 多种技术紧密结合。<br>\n(8) 系统透明性。<br>\n(9) 系统资源受限。<br>\n(10) 系统追求低功耗。<br>\n(11) 系统环境适应能力强。<br>\n<br>\n本题主要考查考生对装备控制类嵌入式软件开发知识的理解和应用。<br>\n本题通过一个实例,说明移动智能终端设备的软件与装备控制类软件在需求方面存在比较大的差异,实时性、安全性和可靠性是装备控制类软件开发必须重点关注的特性。<br>\n本题首先考查考生对传统意义上的嵌入式系统知识的理解程度;其次通过判定题考查考生能否针对装备控制类系统需求,选择合适的嵌入式操作系统;最后通过填空回答宇航设备(装备控制类)的嵌入式软件与移动智能终端嵌入式软件在安全性(Safety)、实时性、交互性设计和编码方面的要求有何差异。此类题目要求考生认真阅读题目对问题的描述,根据对嵌入式系统知识的理解,采用总结、概括等的方式,可从问题描述中发现问题的相关性,从而正确回答问题。<br>\n嵌入式系统是一种可深埋在某一专用设备中的系统。一般而言,由于设备的体积、重量和功耗的限制,嵌入式系统将受到多种条件和环境的制约,这也对嵌入式系统提出了有别于其他计算机系统的特殊要求。通常,嵌入式系统具备以下7个特点:<br>\n(1) 系统专用性强。嵌入式系统是针对具体应用的专门系统。它的个性化很强,软件和硬件结合紧密。一般要针对硬件进行软件的开发和移植,根据硬件的变化和增减对软件进行修改。<br>\n(2) 系统实时性强。许多嵌入式系统对外部事件要求在限定的时间内及时作出响应,具有实时性。根据实时性的强弱,通常将嵌入式系统分为实时嵌入式系统和非实时嵌入式系统,其中大部分为实施嵌入式系统。<br>\n(3) 软硬件依赖性强。嵌入式系统的专用性决定了其软硬件的互相依赖性很强,两者必须协同设计,以达到共同实现预定功能的目的,并满足性能、成本和可靠性等方面的严格要求。<br>\n(4) 处理器专用。嵌入式系统的处理器一般是为某一特定目的和应用而专门设计的。通常具备功耗低、体积小和集成度高等特点,能够将许多在通用计算机上需要由板卡完成的任务和功能集成到芯片内部,从而有利于嵌入式系统的小型化和移动能力的增强。<br>\n(5) 多种技术紧密结合。嵌入式系统通常是计算机技术、半导体技术、电力电子技术、机械技术与各行业的具体应用相结合的产物。通用计算机技术也离不开这些技术,但它们相互结合的紧密程度不及嵌入式系统。<br>\n(6) 系统透明性。嵌入式系统在形态上与通用计算机系统差距甚大。它的输入设备往往不是常见的鼠标和键盘之类的设备,甚至不用输出装置,用户可能根本感觉不到它所使用的设备中有嵌入式系统的存在,即使知道,也不必关心嵌入式系统的相关情况。<br>\n(7) 系统资源受限。嵌入式系统为了达到结构紧凑、高可靠性和低成本的目的,其存储容量、I/O设备的数量和处理能力都比较有限。\n<br><br>\n【问题2】<br>\n(1)✓ (2)× (3)✓ (4)✓ (5)✓ (6)✓ (7)× (8)✓<br>\n<br>\n本问题主要要求考生在理解宇航系统的特殊性基础上,判断表3-1中给出的8种选型观点是否正确。<br>\n(1) 在工程实践中,不是市场上销售的任何一款操作系统都能适用工程需要,要选.择一款适应的产品必须从项目需求入手。因此,“选择操作系统根据项目(系统)需要的嵌入式操作系统功能来选择操作系统产品,要考虑系统需求是否覆盖了操作系统的全部功能或部分功能,是否支持文件系统和人机界面,是实时系统还是分时系统”的说法是正确的。<br>\n(2) 嵌入式操作系统通常根据对时间的敏感性分为硬实时操作系统和弱实时操作系统两类,即使在微电子快速发展的今天,随着处理器计算速度的提升,人们赋予计算机处理事务的能力也在增强,因此,传统的嵌入式操作系统分类方法仍然满足现在需求。所以,“在微电子技术高速发展的今天,硬件资源受限已不再是嵌入式系统设计的难点,通常的嵌入式操作系统都能满足各类嵌入式系统的需要”的说法是不正确的。<br>\n(3) 选择操作系统的目的是提高嵌入式软件开发效率,将应用软件的开发从与硬件相关分离出来。因此选择操作系统时除了考虑操作系统能力与项目需求相匹配外,还要充分考虑配套开发环境的优劣。因此,“有些RTOS只支持该系统供应商的开发工具。也就是说,还必须向操作系统供应商获取编译器和调试器等;有些嵌入式操作系统使用广泛,且有第三方工具可用,因此,选择的余地比较大”的说法是正确的。<br>\n(4) 嵌入式操作系统主要功能就是管理计算机硬件资源的,它与硬件资源耦合度很高,操作系统的可移植性也是选择操作系统的条件之一。因此,“嵌入式操作系统到硬件的移植是一个重要的问题,是整个系统能否按期完工的关键因素,因此,要选择那些可移植性程度高的产品,从而避免嵌入式操作系统难以向硬件移植而带来的种种困难,加速系统的开发进度”的说法是正确的。<br>\n(5) 可剪裁性和可配置性是嵌入式操作系统主要特性之一,在选择操作系统时一定要考虑资源的剪裁性优劣,用户应根据项目应用需求分配资源,而不是为操作系统分配资源。因此,“均衡考虑是否需要额外RAM或EEPROM来满足操作系统对内存的较大要求。有些嵌入式操作系统对内存的要求是与目的相关的,如VxWorks等,开发人员能够按照应用需求分配所需资源,而不是为嵌入式操作系统分配资源”的说法是正确的。<br>\n(6) 选择操作系统还要考虑对扩展功能的支持能力,可剪裁的组件越丰富,操作系统的适用面就越大,因此,“嵌入式操作系统是否包含所需的软件部件,例如网络协议栈、文件系统和各种常用外设的驱动等,也是选择嵌入式操作系统重点关注的”的说法是正确的。<br>\n(7) 宇航系统是一种高安全系统,其核心目标是保障宇航设备安全、可靠运行,操作系统的质量好坏,直接影响宇航设备的安全,成熟度是宇航系统选择操作系统的重要因素之一。因此,“在宇航系统中,一般选择嵌入式操作系统时,首先要考虑的是产品的先进性,希望采用更多新技术、新方法,其次才是开放性、成熟度”的说法是不正确的。<br>\n(8) 硬实时系统和弱实时系统有着本质差别,因此,“有些嵌入式操作系统只能提供弱实时性能,对于需要达到硬实时性性能要求的系统就不适用”的说法是正确的。<br>\n(1) 宇航软件通常根据软件所在设备的失效而对系统安全性(Safety)影响的严重程度分为多种安全级别(如:A~E五级),而不同安全级别的软件开发过程有其不同的要求。<br>\n(2) 移动智能终端中的软件主要用于辅助人们工作与生活,一般不会对生命产生直接影响,它没用安全级别之分。<br>\n(3) 为了提高实时性,宇航软件设计上要充分考虑与硬件的紧密协同,尽可能地有效发挥硬件特点,在设计上要仔细考虑将实时性能需求分解到每个软件部件中。<br>\n(4) 移动智能终端软件属于弱实时系统,对时间特性不敏感,达到人们可容忍即可(1分)。设计上尽量避免软件与硬件紧耦合。<br>\n(5) 宇航软件大多数属于非人机交互系统,关注重点是安全性和可靠性设计。<br>\n(6) 移动智能终端软件设计上重点关注的是人机界面友好性、简洁性,注重用户体现。<br>\n(7) 宇航软件编码要遵守语言标准,尤其是应按照高级语言的安全子集标准开展编码,对代码函数的语句条数、扇入扇出、圈复杂度等影响代码质量因素都有严格规定。<br>\n(8) 移动智能终端软件编码虽然也要遵循一定的编码标准,但在安全编码、扇入扇出、圈复杂度等方面没有严格要求。<br>\n<br>\n如果考生能够正确回答前两个问题后,就可对宇航系统软件的特殊性有所了解,如果考生从事过高安全系统的软件开发工作,一定会从安全性、实时性、交互性和编码等方面识别出宇航软件与智能终端软件的开发过程中的差别,正确回答出问题。\n<br><br>\n【问题3】<br>\n(1) 安全性:宇航软件通常根据软件所在设备失效而对系统安全性(Safety)影响的严重程度分为多种安全级别(如:A~E五级),而不同安全级别的软件开发过程有其不同的要求;而移动智能终端中的软件主要用于辅助人们工作与生活,一般不会对生命产生直接影响,它不适用安全级别之分。<br>\n(2) 实时性:为了提高实时性,宇航软件设计上要充分考虑与硬件的紧密协同,尽可能地有效发挥硬件特点,在设计上要仔细考虑将实时性能需求分解到每个软件部件中;而移动智能终端软件属于弱实时系统,对时间特性不敏感,达到人们可容忍即可,设计<br>\n上尽量避免软件与硬件紧耦合。<br>\n(3) 交互性:宇航软件大多数属于非人机交互系统,关注重点是安全性和可靠性设计;而移动智能终端软件设计上重点关注的是人机界面友好性、简洁性,注重用户体现。<br>\n(4) 编码:宇航软件编码要遵守语言标准,尤其是应按照高级语言的安全子集标准开展编码,对代码函数的语句条数、扇入扇出、圈复杂度等影响代码质量因素都有严格规定;而移动智能终端软件编码虽然也要遵循一定的编码标准,但在安全编码、扇入扇出、圈复杂度等方面没有严格要求。","multi":0,"questionType":2,"answer":"","chooseItem":null,"itemList":null,"userAnswer":null,"userChooseItem":null,"answerCorrect":null,"userCollect":null},{"id":"834660198525194241","title":"<p style=\"text-indent:27px;line-height:150%\">试题五(25分)</p><p>阅读以下关于Web应用系统的叙述,在答题纸上回答问题1至问题3。</p><p>【说明】</p><p>某公司拟开发一个基于O2O(Online To Offline)外卖配送模式的外卖平台。该外卖平台采用自行建立的配送体系承接餐饮商家配送订单,收取费用,提供配送服务。餐饮商家在该O2O外卖平台发布配送订单后,根据餐饮商家、订餐用户、外卖配送员位置等信息,以骑手抢单、平台派单等多种方式为订单找到匹配的外卖配送员,完成配送环节,形成线上线下的O2O闭环。</p><p>基于项目需求,该公司多次召开项目研发讨论会。会议上,张工分析了O2O外卖平台配送服务的业务流程,提出应釆用事件系统架构风格实现订单配送,并建议采用基于消息队列的点对点模式的事件派遣机制。</p><br><p>【问题1】(10分)</p><p>基于对O2O外卖平台配送服务的业务流程分析,在图2-5的空(1)~(5)处完善O2O外卖平台配送的服务流程。</p><img style=\"max-width:100%;height:auto\"  src=\"https://image.chaiding.com/ruankao/e9ba06aa5614f9fa1cfc9c7e13298c71.png?x-oss-process=style/ruankaodaren\" title=\"e9ba06aa5614f9fa1cfc9c7e13298c71.png\" alt=\"image.png\"/>","analyze":"<p>用户首先要给平台发送订单,因此(1)为发送订单;平台收到订单后需要发布订单给商家,因此(2)为发布配送订单。</p><p>依据题意“餐饮商家在该O2O外卖平台发布配送订单后,……,找到匹配的外卖配送员”可得(3)、(5)分别为O2O外卖平台、外卖配送员。</p><p>用户除了接收通知之外,还要接收到外卖,因此(4)为外卖餐食。</p>","multi":0,"questionType":2,"answer":"<p>(1)发送订单(2)发布订单(3)O2O外卖平台</p><p>(4)外卖餐食(5)外卖配送员</p>","chooseItem":null,"itemList":null,"userAnswer":null,"userChooseItem":null,"answerCorrect":null,"userCollect":null},{"id":"794934010324209665","title":"<p>某大中型企业采用Oracle数据库建立一个经济信息统计方面的大型数据库应用系统。尽管配置了比较良好的硬件和网络环境,但该数据库应用系统实施后的整体性能表现较差。特别是随着业务量与信息量的迅速扩大,数据库系统的存取速度显著减慢,存储效率也明显下降。</p><p>该企业通过反复实践与摸索,并邀请数据库专家一起会诊,认为可以从以下4个方面进一步优化数据库应用系统。</p><p>(1)由于数据库应用中最主要的查询与修改数据操作大多需通过I/O来完成,因此需要通过调整服务器配置(即对硬件设备进行升级)、操作系统配置与数据库管理系统的有关参数,优化系统的I/O性能,尤其是改进磁盘I/O的效率与性能。</p><p>(2)优化“索引”的建立与使用机制,尽可能提高数据查询的速度或效率。</p><p>(3)合理使用聚类(Culster),改进查询响应时间和系统的综合性能。其中,“聚类”是指把单独组织的,但在逻辑上经常需要连接的,较为稳定的几个基本表聚集在一起(在物理上实现邻近存放),可以显著减少数据的搜索时间,从而提高性能。</p><p>(4)对应用系统中使用的SQL语句进行调优,针对每条SQL语句都建立对应的索引等。</p><br><p>【问题一】(13分)在该企业所邀请的数据库专家会诊意见中,针对每条SQL语句都建立索引的建议是否合适请简要说明理由。</p>","analyze":"<p>【问题一】</p><p>在该企业所邀请的数据库专家会诊意见中,针对每条SQL语句都建立索引的建议是不适当的。通常情况下,应针对查询语句,建立适当的索引以提高查询效率。但是索引调整时还需要考虑以下原则。</p><p>(1)如果更新操作成为系统瓶颈(因为每次更新操作会重建表的索引),则需要考虑删除某些索引。</p><p>(2)应该针对不同应用情况选择适当的索引类型。例如,如果经常使用范围查询,则B树索引比散列索引更加高效。</p><p>(3)将有利于大多数据查询和更新的索引设为聚类(Culster)索引。</p><p>同时需要对建立的索引进行实际的测试,因为索引的使用是由数据库管理系统(数据库优化器)决定的。如果建立索引不当,数据库管理系统将不利用已经建立的索引,而采取全表扫描。</p>","multi":0,"questionType":2,"answer":"不适当,理由如下。<p>①如果建立索引不当,数据库管理系统将不利用已经建立的索引,而采取全表扫描。</p><p>②当更新操作成为系统瓶颈时,因为每次更新操作会重建表的索引,则需要考虑删除某些索引。</p><p>③应该针对不同应用情况选择适当的索引类型。例如,如果经常使用范围查询,则B树索引比散列索引更加高效。</p><p>④应该将有利于大多数据查询和更新的索引设为聚类索引。</p><p>⑤需要对建立的索引进行实际的测试,因为索引的使用是由数据库管理系统(数据库优化器)决定的。</p>","chooseItem":null,"itemList":null,"userAnswer":null,"userChooseItem":null,"answerCorrect":null,"userCollect":null},{"id":"794934156420206593","title":"<p style=\"text-indent:32px\">试题三(25分)</p><p>阅读以下关于安全关键系统安全性设计技术的描述,回答问题 1至问题 3。</p><p>【说明】</p><p>某公司长期从事计算机产品的研制工作,公司领导为了响应国家军民融合的发展战略,决定要积极参与我国军用设备领域的研制工作,将本公司的计算机及软件产品通过提升和改造,应用到军用装备的安全关键系统中。公司为了承担军用产品的研发任务,公司领导将论证工作交给王工负责。王工经调研分析,提交了一份完整论证报告。</p><br><p>【问题2】(6分)</p><p>IEC 61508(《电气/电子/可编程电子安全系统的功能要求》是国际上对安全关键系统规定的一种较完整的安全性等级划分标准,本标准是由国际电工委员会(International Electronic Commission)正式发布的电气和电子部件行业标准(GB/T 20438等同于此标准)。本标准对设备或系统的安全完整性等级(SIL)划分为4个等级(SIL1、SIL2、SIL3、SIL4),SIL4是最高要求。</p><p>表 3-1给出了本标准对安全功能等级和失效容忍概率的对应关系。请根据自己所掌握的安全功能等级相关知识,补充完善表3-1给出的(1)~(6)空格,并将答案写在答题纸上。&nbsp;<br/><img style=\"max-width:100%;height:auto\"  src=\"https://image.chaiding.com/ruankao/e5c3b2b286f99abda12de370fa9421de.jpg?x-oss-process=style/ruankaodaren\" title=\"e5c3b2b286f99abda12de370fa9421de.jpg\" alt=\"1111.jpg\"/></p>","analyze":"<p>IEC61508 规定了常规系统运行和故障预测能力两方面的基本安全要求。国标GB/T 20438与该标准等同。</p>","multi":0,"questionType":2,"answer":"<img style=\"max-width:100%;height:auto\"  src=\"https://image.chaiding.com/ruankao/33a6f2d1d9815374543d5ccd7732336f.jpg?x-oss-process=style/ruankaodaren\" title=\"33a6f2d1d9815374543d5ccd7732336f.jpg\" alt=\"1111.jpg\"/>","chooseItem":null,"itemList":null,"userAnswer":null,"userChooseItem":null,"answerCorrect":null,"userCollect":null},{"id":"794934087734284289","title":"<p>阅读以下关于某嵌入式实时系统的软件需求的叙述,回答问题1至问题 3。</p><p>某公司承担了一项嵌入式实时控制系统的软件开发任务,其内容是按系统要求的固定的时间序列采集、处理、输出数据,以实现对多个设备的综合控制。</p><p>系统由硬件和软件组成,硬件由处理机(采用 PowerPC603e,主频133MHz)、存储器、定时器、中断控制器、双口存储器(空间大小1 024KB)、4路422.半双工串行接口(其中两路的频率115200Hz,另两路频率38400Hz)、两路 A/D、D/A数模转换器和10 路离散量接口组成。系统的软件需求如下(注;B∶字节;s;秒;ms;毫秒);</p><p>● 系统要求以5ms 为周期从双口存储器中采集 1024KB 的输入数据,处理任务的时间约为1ms;(称为5ms 任务)</p><p>● 要求以 20ms 为周期从两路 422接口(115200Hz)中采集一定格式的大小系统为64B的数据,在完成处理(处理时间约为 4ms)任务后,分别输出大小为16B 的控制命令;(称为20ms任务)</p><p>● 系统要求以60ms 为周期从两路 422接口(38400Hz)中采集一定数据格式的大小为6B数据,从两路 A/D接口采集28位数据,在完成处理(处理时间约为2ms)任务后,分别输出大小为2B 的控制命令和一个28位D/A数据,输出8路离散量控制数据;(称为60ms 任务)</p><p>●作为系统的安全监控保障,系统要求在每 1s 内对系统软硬件状态进行测试并完成系统工作的状态记录工作。该任务共需处理时间是 5ms。(称为1s任务)</p><p>本公司课题组根据用户的硬件环境及对软件的需求,就软件的实施方案展开了激烈的讨论,讨论的首要问题就是本系统中软件的运行平台是采用嵌入式实时操作系统还是在裸机上直接开发,李工程师(简称李工)提出为了保证系统的实时性,应该采用在裸机.上自接开发的方式,关钧部分米用汁编语言编写,而于工程师(简称于工)提出。由于系统将由多种周期的处理任务组成,为了保证系统的可靠性,应该采用商用嵌入式实时操作系统作为本项目的开发基础,经过充分论证,最后李工接受了王工的建议,并申报课题组组长,课题组长同意采用了操作系统的方案,并指出必须尽快对需求的时间性能做出评估。</p><br><p>【问题 1】(10分)</p><p>请用450字以内文字简要说明王工提出的采用嵌入式实时操作系统的理由或优点,并说明选择操作系统产品时需要重点考虑其哪些功能与性能?</p>","analyze":"无","multi":0,"questionType":2,"answer":"<p>【问题1】</p><p>采用嵌入式实时操作系统的主要理由及优点∶</p><p>操作系统提供的任务调度功能, 可以有效地管理本系统多周期任务的调度,并且操作系统提供的事件、信号和任务间的通信机制,可以有效地解决本系统中资源共享中的互斥问题。</p><p>采用商品化的软件,可提高所开发软件的可靠性,还可简化软件开发成本,提高开发效率。</p><p>选择嵌入式实时操作系统,主要考虑操作系统以下功能和性能∶</p><p>● 任务的上下文切换时间越短越好、中断响应时间越快越好、内核代码占用空间</p><p>比较小。</p><p>● 操作系统提供的服务接口应较丰富,有利于灵活使用(接口的开放性)。</p><p>操作系统对可靠性有较强的保障支持能力。●</p><p>● 使用简单,支撑环境配套好,可配置、可剪裁能力强。</p>","chooseItem":null,"itemList":null,"userAnswer":null,"userChooseItem":null,"answerCorrect":null,"userCollect":null},{"id":"794934049096355841","title":"<p>试题一(25分)</p><p>【说明】</p><p>某公司拟开发一个商业情报处理系统,使公司能够及时针对市场环境的变化及时调整发展战略,以获取最大的商业利益。项目组经过讨论,决定采用结构化分析和设计方法。在系统分析阶段,为了更好地对情报数据处理流程及其与外部角色的关联进行建模,项目组决定先构建系统数据流图,来展现系统的处理过程和定义业务功能边界,并给出了情报分类子系统的0层和1层数据流图,后者如下图所示。</p><p><img src=\"https://image.chaiding.com/ruankao/3e8155a3145478c8648faa17da1e7730.gif?x-oss-process=style/ruankaodaren?x-oss-process=style/ruankaodaren?x-oss-process=style/ruankaodaren?x-oss-process=style/ruankaodaren\"/><img src=\"https://image.chaiding.com/ruankao/3e8155a3145478c8648faa17da1e7730.gif?x-oss-process=style/ruankaodaren?x-oss-process=style/ruankaodaren?x-oss-process=style/ruankaodaren?x-oss-process=style/ruankaodaren\"/><img src=\"https://image.chaiding.com/ruankao/3e8155a3145478c8648faa17da1e7730.gif?x-oss-process=style/ruankaodaren?x-oss-process=style/ruankaodaren?x-oss-process=style/ruankaodaren?x-oss-process=style/ruankaodaren\"/><img src=\"https://image.chaiding.com/ruankao/3e8155a3145478c8648faa17da1e7730.gif?x-oss-process=style/ruankaodaren?x-oss-process=style/ruankaodaren?x-oss-process=style/ruankaodaren?x-oss-process=style/ruankaodaren\"/><img src=\"https://image.chaiding.com/ruankao/567c3d2b7136cc082566350dea0d6bcf.png?x-oss-process=style/ruankaodaren\" title=\"567c3d2b7136cc082566350dea0d6bcf.png\" alt=\"企业微信截图_1620294145635(1).png\"/></p><p>工程师老王指出了该数据流图中存在的错误。</p><br><p>【问题2】(6分)</p><p>请简要叙述数据流图的作用。</p>","analyze":"无","multi":0,"questionType":2,"answer":"<p>DFD从数据传递和加工的角度,利用图形符号通过逐层细分描述系统内各个部件的功能和数据在它们之间传递的情况,来说明系统所完成的功能。具体来说,DFD的主要作用如下:</p><p>(1)DFD是理解和表达用户需求的工具,是需求分析的手段。由于DFD简明易懂,不需要任何计算机专业知识就可以理解它,因此,系统分析师可以通过DFD与用户进行交流。</p><p>(2)DFD概括地描述了系统的内部逻辑过程,是需求分析结果的表达工具,也是系统设计的重要参考资料,是系统设计的起点。</p><p>(3)DFD作为一个存档的文字材料,是进一步修改和充实开发计划的依据。</p>","chooseItem":null,"itemList":null,"userAnswer":null,"userChooseItem":null,"answerCorrect":null,"userCollect":null},{"id":"796240067063468033","title":"试题二(25分)<br>\n阅读以下关于系统业务架构分析的叙述,在答题纸上回答问题1至问题3。<br>\n【说明】<br>\n某集团下属煤矿企业委托软件公司开发一套煤炭运销管理系统,该系统属于整个集团企业信息化架构中的业务层,系统针对煤矿企业开发,包括合同管理、磅房管理、质检化验、运费结算等功能。部分业务详细描述如下:<br>\n(1)合同管理:合同签订、合同查询、合同跟踪等。<br>\n(2)磅房管理:系统可以从所有类型的电子磅自动读数;可以自动从电子磅上读取车辆皮重、毛重,计算出净重;可根据合同内容自动减少相应提货单剩余数量,如果实际发货量超过合同额则拒绝发货。<br>\n(3)质检化验:根据过磅单、车号,生成化验分析委托单,生成化验分析报告。<br>\n(4)运费结算:依据过磅单上的净重、化验单、合同规定,自动计算出原料结算单、运费结算单。<br>\n煤矿企业根据集团的工作计划制订本企业的业务计划,煤矿企业根据集团划拨指标和提供的原料生产煤炭,所生产的煤炭交由集团统一管理和销售给客户。软件公司采用Zachman框架对企业业务架构和业务过程进行分析,结果如表2-1所示。<br>\n<img alt=\"\" width=\"470\" height=\"295\" src=\"https://image.chaiding.com/ruankao/d786a34f09629bacf6800e9d24b0c7e9.jpg?x-oss-process=style/ruankaodaren\">\n<br><br>\n【问题1】(13分)<br>\nZachman框架是什么?请在表2-1中(a)-(e)位置补充企业业务架构中的信息类别。\n<br><br>\n【问题2】(8分)<br>\n项目组在该煤炭企业业务架构分析中完成了四项主要工作:数据流图、实体联系图、网络拓扑结构和计划时间表,这四项工作在表2-1中处于什么位置,请用表2-1中的位置编号表示。\n<br><br>\n【问题3】(4分)<br>\n据题目所述业务描述,请分别给出表2-1中A11和A23位置应该填入的内容。(物流关系用“→”表示)","analyze":"【问题1】<br>\nZachman框架综合考虑企业业务架构中不同角色的不同观点,提出了一个多视角、多维度的企业架构,是许多大公司用来理解、表述企业信息基础设施的一种可以理解的信息表述,为企业现在以及未来的信息基础设施建设提供蓝图和架构。<br>\n(a) What/数据<br>\n(b) How/功能/行为<br>\n(c) Where/位置/网络<br>\n(d) Who/人员/组织<br>\n(e) Why/动机<br>\n<br>\n本题考查考生对于系统业务架构分析方法的掌握情况。<br>\n系统业务架构对企业业务和IT系统进行建模,企业业务的重点是流程和数据,IT系统的重点是应用和技术。Zachman框架全称为企业架构和企业信息系统架构,是一种逻辑结构,它为信息技术企业提供一种可以理解的信息表述,可以对企业信息按照要求分类和从不同角度进行表不。在一个Zachman表格中,有36个方格,每个方格就是一个角色和每个描述焦点的交汇。在表格中水平移动时,能够从同一个角色的角度,看到系统的不同描述。当在表格中竖直移动时,会看到从不同角色的角度,观察同一个焦点。<br>\n掌握系统业务架构分析方法是系统分析师的重要技能,Zachman框架作为一种重要的业务架构分析技术,能够从不同角度和侧面分析系统的业务和IT系统信息。<br>\nZachman框架综合考虑企业业务架构中不同角色的不同观点,提出了一个多视角、多维度的企业架构,是许多大公司用来理解、表述企业信息基础设施的一种可以理解的信息表述,为企业现在以及未来的信息基础设施建设提供蓝图和架构。纵向的功能视图包括目标范围、企业模型、系统模型、技术模型、详细展现和功能系统,横向的关注点包括数据、功能、位置、人员、时间和动机。\n<br><br>\n【问题2】<br>\n(1) 数据流图:A32<br>\n(2) 实体联系图:A31<br>\n(3) 网络拓扑结构:A53<br>\n(4) 计划时间表:A25<br>\n<br>\n根据题目表格中给出的Zachman框架、实体联系图和数据流图,分别对系统中的数据和功能进行建模,描述了系统的数据模型和功能模型,在表格中的位置为A31和A32。计划时间表是从时间的角度描述企业的业务活动,在表格中的位置为A25。网络拓扑结构是从网络角度描述企业业务系统的详细展现方式,在表格中的位置为A53。\n<br><br>\n【问题3】<br>\n(1) A11项目关键元素:合同/合同管理、过磅/磅房管理、质检/质检化验、结算/运费结算。<br>\n(2) A23业务物流网络:煤矿企业←→集团→客户。<br>\n<br>\n根据题目表格中给出的Zachman框架,All为项目关键元素,是从数据角度描述企业业务目标和范围,通过分析需求陈述,企业业务中关键元素包括合同、过磅、质检和结算。A23为业务物流网络,是从网络角度描述企业的业务模型,通过分析需求陈述,煤矿企业和集团之间存在双向物流,煤炭最终从基团流向客户。","multi":0,"questionType":2,"answer":"","chooseItem":null,"itemList":null,"userAnswer":null,"userChooseItem":null,"answerCorrect":null,"userCollect":null},{"id":"796240037032251393","title":"试题三(25分)<br>\n阅读以下嵌入式多核程序设计技术方面的叙述,回答问题1至问题3。<br>\n【说明】<br>\n甲公司承担了一项为宇航系统配套生产高性能嵌入式计算机系统的任务,用户要求该系统要具有高速并发处理能力、低功耗、高可靠性,并可以有效地防止系统故障的蔓延。根据用户对本项目的要求,甲公司成立了软/硬件两个项目组,总体设计由硬件组承担,负责高性能嵌入式计算机系统体系结构设计,软件组负责确定软件的技术需求和应用软件开发平台的软件设计工作。<br>\n在处理器选型方面,硬件组王工与软件组张工在讨论采用哪种CPU体系结构方面发生争议。目前,流行的处理器结构包括了单核结构、多处理器结构、超线程结构、多核结构、共享Cache的多核结构和超线程技术的多核结构六种,如下图所示。\n<br><br>\n【问题1】(11分)<br>\n王工提出,根据用户要求,本嵌入式系统应具有高速并行处理能力,采用多处理器结构比较适合,主要理由是多处理器结构设计简单、可支持多个进程在不同处理器上并发处理;而张工提出,必须分清“多处理器结构”与“多核结构”的优点和缺点,多处理器结构虽然支持多进程的并发处理,但没有直接实现多线程并发执行;多核结构可以直接实现多线程并发执行。要提高应用的并行性就必须利用多个硬件资源的并行工作,建议采用超线程技术的多核结构的处理器。请填写下图(f)中的(1)~(8),并用300字以内的文字对上述六种处理器结构的工作原理进行简要描述。<br>\n<img width=\"541\" height=\"516\" alt=\"\" src=\"https://image.chaiding.com/ruankao/fda39b0142911aa0026b802fa0803ee0.jpg?x-oss-process=style/ruankaodaren\">\n<br><br>\n【问题2】(9分)<br>\n在本项目中,如果计算机采用了多线程技术实现应用程序的并发操作,程序设计人员将面临多种挑战,其主要原因在于:程序会同时发生多个动作,对这些同时发生的动作以及它们之间的交互进行管理将面临四方面的挑战,即同步、通信、负载均衡和可伸缩性,用200字以内的文字对上述四种挑战进行简要描述,并给出下表1所述的常用并发程序设计模式的分解方式。<br>\n<img width=\"617\" height=\"163\" alt=\"\" src=\"https://image.chaiding.com/ruankao/22fadbb086e3b18a1a9a279cfef951b1.jpg?x-oss-process=style/ruankaodaren\">\n<br><br>\n【问题3】(5分)<br>\n为了防止系统故障的蔓延,解决应用进程向的相互影响,在超线程技术的多核结构需要选择一种嵌入式操作系统作为本高性能嵌入式计算机系统的运行环境,请用200字以内的文字说明选择的操作系统应具备哪些主要功能。","analyze":"【问题1】<br>\n第一问<br>\n<img width=\"369\" height=\"143\" alt=\"\" src=\"https://image.chaiding.com/ruankao/80cc1b465ef489188912e2d3d55e7f15.jpg?x-oss-process=style/ruankaodaren\"><br>\n第二问<br>\n(1)单核结构:计算机中仅有一个物理处理器,不支持应用软件的并行执行,因为在任何时间点上,CPU都只能执行一个指令流。<br>\n(2)多处理器结构:支持真正意义上的并行执行,因为多个线程或进程能够在多个处理器上同时执行。<br>\n(3)超线程结构(SMT):实际上计算机中只有一个实际的物理处理器,但从软件角度来看,存在多个逻辑处理器,支持操作系统和应用程序将多个线程调度到多个逻辑处理器上,就像多处理器系统一样。从微体系结构的角度看,逻辑处理器的指令是固定的,并且在共享的执行资源上同时执行。<br>\n(4) 多核结构:采用单芯片多处理器(CMP)的设计,此种结构不是重用单个处理器中某些处理器资源,而是在单个处理器芯片内实现两个或更多的“执行核”这些执行核都是相互独立的处理器,并具有自己的执行集合以及体系结构资源。<br>\n(5)共享Cache的多核结构:与多核结构工作方式相一致,主要差别在于设计时将这些执行核设计成可共享片上的Cache。<br>\n(6)采用超线程技术的多核结构:主要是将多核结构与超线程结构相结合,从而将逻辑处理器的数量增加到执行核的两倍。<br>\n<br>\n<br>\n从题意可以看出,本题涉及嵌入式软硬件设计问题,主要考查应试者能否正确地根据用户需求,理解技术要求,针对宇航系统配套生产高性能嵌入式计算机系统的任务,确定软件的技术需求和应用软件开发平台选择。本题主要考核考生以下实时系统基本技术知识。<br>\n(1)因为嵌入式实时系统与实际应用要求结合性很高,为了满足系统总的要求,在嵌入式计算机系统体系结构设计时,应充分考虑实际应用对硬件平台的配置和系统的实际技术要求。由于本题用户要求该系统要具有高速并发处理能力、低功耗、高可靠性,因此考查如何选择处理器的结构以及对处理机不同结构特性了解的程度。<br>\n(2)软件并发是一种能够有效解决资源同时共享问题的方法。软件并发具有非常重要的作用和意义,主要体现在:并发能够让系统资源得到最有效的利用。但是由于采用了多线程技术实现应用程序的并发操作,将存在同步、通信、负载均衡和可伸缩性方面的问题。本题要求考生了解并行程序设计的基础知识。<br>\n(3)本题给出为了防止系统故障的蔓延,在超线程技术的多核结构需要选择一种嵌入式操作系统作为本高性能嵌入式计算机系统的运行环境,才能满足用户对系统的要求,考生从题中应可以看出,操作系统应该是实时性强、可靠性高、支持多核结构和高速缓存管理。只有这样才能增强系统的性能。<br>\n本问题主要考查考生对处理器的结构及多线程的理解能力,分清“多处理器结构”与“多核结构”的优点和缺点。<br>\n超线程技术实际上只有一个实际的物理处理器,但是从软件的角度来看,存在多个逻辑处理器。超线程技术支持操作系统和应用程序将多个线程调度到多个逻辑处理器上,就像多处理器系统一样。从微体系结构的角度看,逻辑处理器的指令都是固定的,并且在共享的执行资源上同时执行。也就是说,多个线程能够在多个逻辑处理器间进行调度,但是由于执行资源是这些逻辑处理器共享的,因此微体系结构必须决定两个线程如何以及何时切换执行。当一个线程被挂起的时候,另一个线程就会继续执行。能够导致线程挂起的因素包括处理Cache失效以及分支预测失败。<br>\n在同时多线程技术之后就出现了多核处理器。多核处理器采用单芯片多处理器(Chip Multiprocessor,CMP)的设计。随着生产工艺与制造技术上的进步,处理器厂商在设计多核处理器时,不是重用单个处理器中的某些处理器资源,而是在单个处理器芯片内实现两个或者更多的“执行核”。这些执行核都是相互独立的处理器,只是位于同一块芯片上而已。这些执行核都具有自己的执行集合以及体系结构资源。如下图所示。<br>\n<img width=\"480\" height=\"132\" alt=\"\" src=\"https://image.chaiding.com/ruankao/66e9cb6da9d35a2e8037672145bfd245.jpg?x-oss-process=style/ruankaodaren\"><br>\n如果考生能充分理解此题,问题1的第二问将会迎刃而解。\n<br><br>\n【问题2】<br>\n(1)同步:是指两个或者多个线程协调其行为的过程。如一个线程停下来等待另一个线程完成某项任务。<br>\n(2)通信:是指与线程之间交换数据相关的带宽和时延问题。<br>\n(3)负载均衡:是指多个线程之间工作量分布的情况。负载均衡能够使各线程的工作量均衡分配。<br>\n(4)可伸缩性:是衡量在性能更加强劲的系统上运行软件时能否有效利用更多线程的指标。例如,如果一个应用程序是面向四核系统编写的,那么当程序在八核系统上运行时,其性能是否能够线性增长(即增加一倍)。<br>\n<img width=\"623\" height=\"155\" alt=\"\" src=\"https://image.chaiding.com/ruankao/13a727f1c70371d15f43810fa087804a.jpg?x-oss-process=style/ruankaodaren\"><br>\n<br>\n从题意可以看出,本题涉及嵌入式软硬件设计问题,主要考查应试者能否正确地根据用户需求,理解技术要求,针对宇航系统配套生产高性能嵌入式计算机系统的任务,确定软件的技术需求和应用软件开发平台选择。本题主要考核考生以下实时系统基本技术知识。<br>\n(1)因为嵌入式实时系统与实际应用要求结合性很高,为了满足系统总的要求,在嵌入式计算机系统体系结构设计时,应充分考虑实际应用对硬件平台的配置和系统的实际技术要求。由于本题用户要求该系统要具有高速并发处理能力、低功耗、高可靠性,因此考查如何选择处理器的结构以及对处理机不同结构特性了解的程度。<br>\n(2)软件并发是一种能够有效解决资源同时共享问题的方法。软件并发具有非常重要的作用和意义,主要体现在:并发能够让系统资源得到最有效的利用。但是由于采用了多线程技术实现应用程序的并发操作,将存在同步、通信、负载均衡和可伸缩性方面的问题。本题要求考生了解并行程序设计的基础知识。<br>\n(3)本题给出为了防止系统故障的蔓延,在超线程技术的多核结构需要选择一种嵌入式操作系统作为本高性能嵌入式计算机系统的运行环境,才能满足用户对系统的要求,考生从题中应可以看出,操作系统应该是实时性强、可靠性高、支持多核结构和高速缓存管理。只有这样才能增强系统的性能。<br>\n本问题主要考查考生对实时操作系统中同步与互斥、通信以及负载均衡和可伸缩性的理解程度,也考核考生对实时操作系统的基础知识。<br>\n同步是对线程执行的顺序进行强行限制的一种机制,用来控制线程执行的相对顺序,可以有效解决任何线程间的冲突,而这些冲突有可能会导致线程的执行出现异常行为。简而言之,同步主要用于协调线程执行和管理共享数据。<br>\n多核平台为开发人员提供了一种优化应用程序的渠道,那就是通过仔细分配加载到各线程(或者各处理器核)上的工作负载(也就是实现各线程的负载均衡)就能够得到性能上的提并。并且,开发人员也可以对应用程序的代码加以优化,使其能够更加充分地使用多个处理器资源,进而达到提升应用程序性能的目的。<br>\n由于多线程机制的引入可以保证相对较快的操作(例如正文的显示)不需要等待较慢的操作(例如显示很大的图像),无论何时某个线程被阻塞(由于等待消息或I/O), 实现就会自动切换到另一个线程。在强占式的线程包里,实现还可以在其他时刻进行线程之间的切换,以保证没有线程可以霸占处理器。\n<br><br>\n【问题3】<br>\n(1)嵌入式操作系统必须是强实时系统,实时性应达到毫秒级。<br>\n(2)操作系统应支持存储器保护能力,支持进程间的资源独立性(或支持时间、空间的隔离)。<br>\n(3)操作系统内核应支持多核结构的处理器,并支持多个逻辑处理的方式。<br>\n(4)支持高速Cache的管理。<br>\n<br>\n从题意可以看出,本题涉及嵌入式软硬件设计问题,主要考查应试者能否正确地根据用户需求,理解技术要求,针对宇航系统配套生产高性能嵌入式计算机系统的任务,确定软件的技术需求和应用软件开发平台选择。本题主要考核考生以下实时系统基本技术知识。<br>\n(1)因为嵌入式实时系统与实际应用要求结合性很高,为了满足系统总的要求,在嵌入式计算机系统体系结构设计时,应充分考虑实际应用对硬件平台的配置和系统的实际技术要求。由于本题用户要求该系统要具有高速并发处理能力、低功耗、高可靠性,因此考查如何选择处理器的结构以及对处理机不同结构特性了解的程度。<br>\n(2)软件并发是一种能够有效解决资源同时共享问题的方法。软件并发具有非常重要的作用和意义,主要体现在:并发能够让系统资源得到最有效的利用。但是由于采用了多线程技术实现应用程序的并发操作,将存在同步、通信、负载均衡和可伸缩性方面的问题。本题要求考生了解并行程序设计的基础知识。<br>\n(3)本题给出为了防止系统故障的蔓延,在超线程技术的多核结构需要选择一种嵌入式操作系统作为本高性能嵌入式计算机系统的运行环境,才能满足用户对系统的要求,考生从题中应可以看出,操作系统应该是实时性强、可靠性高、支持多核结构和高速缓存管理。只有这样才能增强系统的性能。<br>\n本问题主要考查考生的实际经验,如果考生从事过此类项目的开发工作,应该理解对于一个给定的用户需求,究竟选择什么系统开发环境才能实现达到系统的设计目标。如果考生掌握了超线程技术的多核结构方面的基础知识,应该能够分析出本问题的解决思路。","multi":0,"questionType":2,"answer":"","chooseItem":null,"itemList":null,"userAnswer":null,"userChooseItem":null,"answerCorrect":null,"userCollect":null}],"other":null}}