{"msg":"案例分析","code":200,"data":{"currentIndex":null,"examId":null,"examTime":null,"questionList":[{"id":"794934022080843777","title":"<p>试题四(25分)</p><p> 阅读以下关于系统设计与开发工具集成的说明,在对应栏内回答问题1至问题3。</p><p>[说明]</p><p> TeleDev是一个大型的电信软件开发公司,公司内部采用多种商业/开源的工具进行软件系统设计与开发工作。为了提高系统开发效率,公司管理层决定开发一个分布式的系统设计与开发工具集成框架,将现有的系统设计与开发工具有效集成在一起。集成框架开发小组经过广泛调研,得到了如下核心需求。</p><p> 1.目前使用的系统设计与开发工具的运行平台和开发语言差异较大,集成框架应无缝集成各个工具的功能;</p><p> 2.目前使用的系统设计与开发工具所支持的通信协议和数据格式各不相同,集成框架应实现工具之间的灵活通信和数据格式转换;</p><p> 3.集成框架需要根据实际的开发流程灵活、动态地定义系统工具之间的协作关系;</p><p> 4.集成框架应能集成一些常用的第三方实用工具,如即时通信、邮件系统等。</p><p> 集成框架开发小组经过分析与讨论,最终决定采用企业服务总线(ESB.作为集成框架的基础架构。</p><br><p>【问题2】(8分)在ESB基础架构的基础上,请根据题干描述中的4个需求,说明每个需求应该采用何种具体的集成方式或架构风格最为合适。</p>","analyze":"<p>对于需求(1)“目前使用的系统设计与开发工具的运行平台和开发语言差异较大,集成框架应无缝集成各个工具的功能”来说,由于需要共享系统的功能,并且系统的运行平台与语言差异较大,应该采用面向服务的方式进行功能集成,可以将工具的功能包装为服务,实现跨语言与跨平台访问。</p><p> 对于需求(2)“目前使用的系统设计与开发工具所支持的通信协议和数据格式各不相同,集成框架应实现工具之间的灵活通信和数据格式转换”来说,工具所支持的通信协议和数据格式各不相同,并需要实现工具之间的灵活通信协议和数据格式交换,因此应该基于消息总线,以协议及数据适配器的方式实现灵活的通信协议和数据格式转换。</p><p> 对于需求(3)“集成框架需要根据实际的开发流程灵活、动态地定义系统工具之间的协作关系”来说,集成框架需要根据实际的软件系统开发流程,灵活、动态地定义系统设计与开发工具之间的协作关系,因此应该采用解释器架构风格,引入工作流定义语言及其引擎来动态描述工具之间的协作关系。</p><p> 对于需求(4)“集成框架应能集成一些常用的第三方实用工具,如即时通信、邮件系统等”来说,应该采用界面集成的方法对第三方工具进行集成,绕过工具内部的复杂处理逻辑,实现功能集成。</p>","multi":0,"questionType":2,"answer":"<p>【问题2】对于需求(1)来说,由于需要共享系统的功能,并且系统的运行平台与语言差异较大,应该采用面向服务的方式进行功能集成,可以将工具的功能包装为服务,实现跨语言与跨平台访问。</p><p> 对于需求(2)来说,工具所支持的通信协议和数据格式各不相同,并需要实现工具之间的灵活通信协议和数据格式交换,因此应该基于消息总线,以协议及数据适配器的方式实现灵活的通信协议和数据格式转换。</p><p> 对于需求(3)来说,集成框架需要根据实际的软件系统开发流程,灵活、动态地定义系统设计与开发工具之间的协作关系,因此应该引入工作流定义语言及其引擎来动态描述工具之间的协作关系。</p><p> 对于需求(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":"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> 图1 某嵌入式系统的组成</p><br><p>问题3(3分)</p><p>(1)在本系统中,FC网络采用何种拓扑结构?请从如下4项中选择最为合适的。</p><p>A.总线 B.树型 C.星形 D.点对点</p><p> (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 (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":"794934143044571137","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":"<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> 设备信息(设备标识、登记标识、所属用户、设备状态)</p><p> 设备心跳(设备标识、最后一次心跳时间)</p><p> 设备异常(设备标识、异常类型、异常发现时间、是否推送)</p><p> 请描述数据结构是否合理,并说明原因。</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":"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> </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)处空白。 </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)按下电源按钮 (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":"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":" <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":" <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. 平台主要分为商家、顾客和管理员三类用户。商家代表在平台上发布供应和商品的用户,顾客代表在平台上下采购订单的用户,管理员代表平台上的运营和维护人员。</p><p>2. 商家在注册账户后获得一个店铺,店铺拥有库存,库存中存放商品记录。商家可以通过添加商品和追加库存的方式,向库存中添加店铺中可销售的商品。通过标记商品上/下架状态或调整库存的方式设置商品是否在店铺中展示和销售。当商品库存为0时,不会出现在商家店铺中。</p><p>3. 顾客在浏览商家店铺和商品的过程中可以直接下订单(3.1),或将商品加入购物车(3.2),然后再使用购物车生成订单(3.3)。</p><p>3.1 顾客在浏览到某个合意的商品时,可直接填写商品数量并生成订单;</p><p>3.2 顾客在浏览到某个合意的商品时,可将商品添加到购物车中。添加时可提前填入商品数量,也可未来在购物车中修改商品数量;</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":"834665615699496961","title":"<p style=\"text-indent:28px\">试题一(25分)</p><p>阅读下列说明,回答问题1至问题3,将解答填入答题纸的对应栏内。</p><p> </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> </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> </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":"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":"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":"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":"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":"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)要资源 ② 压缩(3)上的工期 ③ 加强项目人员的质量意识,及时(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 (3)C (4)A (5)F (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> 阅读以下关于系统设计与开发工具集成的说明,在对应栏内回答问题1至问题3。</p><p>[说明]</p><p> TeleDev是一个大型的电信软件开发公司,公司内部采用多种商业/开源的工具进行软件系统设计与开发工作。为了提高系统开发效率,公司管理层决定开发一个分布式的系统设计与开发工具集成框架,将现有的系统设计与开发工具有效集成在一起。集成框架开发小组经过广泛调研,得到了如下核心需求。</p><p> 1.目前使用的系统设计与开发工具的运行平台和开发语言差异较大,集成框架应无缝集成各个工具的功能;</p><p> 2.目前使用的系统设计与开发工具所支持的通信协议和数据格式各不相同,集成框架应实现工具之间的灵活通信和数据格式转换;</p><p> 3.集成框架需要根据实际的开发流程灵活、动态地定义系统工具之间的协作关系;</p><p> 4.集成框架应能集成一些常用的第三方实用工具,如即时通信、邮件系统等。</p><p> 集成框架开发小组经过分析与讨论,最终决定采用企业服务总线(ESB.作为集成框架的基础架构。</p><br><p>【问题1】(10分)ESB是目前企业级应用集成常用的基础架构。请列举出ESB的4个主要功能,并从集成系统的部署方式、待集成系统之间的耦合程度、集成系统的可扩展性三个方面说明为何采用ESB作为集成框架的基础架构。</p>","analyze":"略","multi":0,"questionType":2,"answer":"<p>ESB的主要功能包括:</p><p> (1)应用程序的位置透明性</p><p> (2)传输协议转换</p><p> (3)消息格式转换</p><p> (4)消息路由</p><p> (5)消息增强</p><p> (6)安全支持</p><p> (7)监控和管理</p><p> 采用ESB作为集成框架,能够实现灵活的部署结构,包括CS结构、P2P结构等。</p><p> 采用ESB作为集成框架,待集成系统只需要和总线进行联系,彼此之间不需要互相通信,这样就大大降低了系统的耦合程度。</p><p> 采用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":"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>图 2-1 商品交易平台需求概念图</p><p>具体描述如下:</p><p>1. 平台主要分为商家、顾客和管理员三类用户。商家代表在平台上发布供应和商品的用户,顾客代表在平台上下采购订单的用户,管理员代表平台上的运营和维护人员。</p><p>2. 商家在注册账户后获得一个店铺,店铺拥有库存,库存中存放商品记录。商家可以通过添加商品和追加库存的方式,向库存中添加店铺中可销售的商品。通过标记商品上/下架状态或调整库存的方式设置商品是否在店铺中展示和销售。当商品库存为0时,不会出现在商家店铺中。</p><p>3. 顾客在浏览商家店铺和商品的过程中可以直接下订单(3.1),或将商品加入购物车(3.2),然后再使用购物车生成订单(3.3)。</p><p>3.1 顾客在浏览到某个合意的商品时,可直接填写商品数量并生成订单;</p><p>3.2 顾客在浏览到某个合意的商品时,可将商品添加到购物车中。添加时可提前填入商品数量,也可未来在购物车中修改商品数量;</p><p>3.3 在购物车中,顾客可以移除商品,也可以调整购买商品的数量。顾客可以通过复选框勾选部分商品或全部商品,然后通过生成订单按钮依据选中商品生成一个新得订单。</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> </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. 平台主要分为商家、顾客和管理员三类用户。商家代表在平台上发布供应和商品的用户,顾客代表在平台上下采购订单的用户,管理员代表平台上的运营和维护人员。</p><p>2. 商家在注册账户后获得一个店铺,店铺拥有库存,库存中存放商品记录。商家可以通过添加商品和追加库存的方式,向库存中添加店铺中可销售的商品。通过标记商品上/下架状态或调整库存的方式设置商品是否在店铺中展示和销售。当商品库存为0时,不会出现在商家店铺中。</p><p>3. 顾客在浏览商家店铺和商品的过程中可以直接下订单(3.1),或将商品加入购物车(3.2),然后再使用购物车生成订单(3.3)。</p><p>3.1 顾客在浏览到某个合意的商品时,可直接填写商品数量并生成订单;</p><p>3.2 顾客在浏览到某个合意的商品时,可将商品添加到购物车中。添加时可提前填入商品数量,也可未来在购物车中修改商品数量;</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 (1) ;</p><p>4.读取成功后,(2) ;</p><p>5.成功返回。</p><p>写数据操作的基本步骤:</p><p>1.根据key值写 (3) ;</p><p>2.成功后 (4) ;</p><p>3.成功返回。 .</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万多笔预约订单,系统数据库服务器 压力剧增,导致该业务交易响应速度迅速降低,甚至出现部分用户页面无法刷新、预约订单 服务无响应的情况。为此,该企业紧急成立技术团队,由张工负责,以期尽快解决该问题。 </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 两种持久化方案对项目需求的支持情况</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 (2)B (3)B (4)A (5)A (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>图 2-1 商品交易平台需求概念图</p><p>具体描述如下:</p><p>1. 平台主要分为商家、顾客和管理员三类用户。商家代表在平台上发布供应和商品的用户,顾客代表在平台上下采购订单的用户,管理员代表平台上的运营和维护人员。</p><p>2. 商家在注册账户后获得一个店铺,店铺拥有库存,库存中存放商品记录。商家可以通过添加商品和追加库存的方式,向库存中添加店铺中可销售的商品。通过标记商品上/下架状态或调整库存的方式设置商品是否在店铺中展示和销售。当商品库存为0时,不会出现在商家店铺中。</p><p>3. 顾客在浏览商家店铺和商品的过程中可以直接下订单(3.1),或将商品加入购物车(3.2),然后再使用购物车生成订单(3.3)。</p><p>3.1 顾客在浏览到某个合意的商品时,可直接填写商品数量并生成订单;</p><p>3.2 顾客在浏览到某个合意的商品时,可将商品添加到购物车中。添加时可提前填入商品数量,也可未来在购物车中修改商品数量;</p><p>3.3 在购物车中,顾客可以移除商品,也可以调整购买商品的数量。顾客可以通过复选框勾选部分商品或全部商品,然后通过生成订单按钮依据选中商品生成一个新得订单。</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":"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":"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> 某软件公司承担了某中小型企业应用软件开发任务,进度要求紧迫。为了按时完成任务,选择合适的企业应用系统开发架构非常重要。项目组在进行方案论证时,项目组成员提出了两种开发思路。</p><p> 刘工建议采用J2EE 5.0和EJB 3.0进行开发。理由是J2EE定义了标准的应用开发体系结构和部署环境,EJB是J2EE的基础和核心。J2EE 5.0主要目标是简化开发,相比EJB 2.1,EJB 3.0具有很多改进和提高。</p><p> 杜工建议采用Struts、Spring和Hibenate轻量级开源框架相结合的方式。理由是随着Java开源项目阵营的发展壮大,一些基于POJOs(Plan Old Java Objects)的开源框架被广泛地引入到Java企业应用开发中来,与重量级的EJB框架相比,这些轻量级的框架有很多优点。</p><p> 项目组仔细比较分析了两种方案的特点、优点和不足之处。认为杜工和刘工的建议都合理,但是从结合当前项目实际情况出发,最后决定采用杜工的建议。</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) 订货联系中,不需要单独列举物品编号,它是隐含的;</p><p>(2) 应该独立出一个供应商关系,而不是把信息放在供货联系中,相应地供应商名称、地址、电话、邮编移到供应商关系中;</p><p>(3) 需要在供应商关系中增加供应商编号作为主键。</p>","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)空格,并将答案写在答题纸上。 <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":"794934147947712513","title":"<p style=\"text-indent:32px\">试题一(25分)</p><p>阅读以下关于软件系统分析与建模的叙述,在答题纸上回答问题1至问题3。</p><p>【说明】</p><p>某软件公司拟开发一套知识库管理系统,要求能够向客服人员提供一个便捷发布知识,以及查询已发布知识的平台。客服人员发布知识之前,必须要先查阅是否已存在相关的知识,以下为知识发布的操作行为:</p><p>(a)用户身份验证</p><p>(b)查询数据库中的知识</p><p>(c)修改知识</p><p>(d)在知识条目上标注矛盾</p><p>(e)管理员审核录入的信息</p><p>(f)判断相容性</p><p>(g)判断冗余性</p><p>(h)录入新的知识</p><p>(i)增加新的类目</p><br><p>【问题3】(6分)</p><p>用例模型是由用例图和用例规约组成的。请用300字以内的文字简要介绍用例规约包含哪些内容?</p>","analyze":"无","multi":0,"questionType":2,"answer":"<p>用例规约包含以下内容:</p><p>用例编号、用例名称、参与者、简要说明、事件流、非功能需求、前置条件和后置条件、扩展点、优先级等。</p>","chooseItem":null,"itemList":null,"userAnswer":null,"userChooseItem":null,"answerCorrect":null,"userCollect":null},{"id":"794934066360111105","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>【问题2】(6分)</p><p>请给出活动C、E、G的总时差和自由时差</p>","analyze":"<p>试题分析:</p><p>以活动C为例,C的总时差是不影响项目总工期本工作可以利用的机动时间,它等于C活动的LS-ES或者是LF-EF。C的ES=10,LS=40,C的总时差是30。自由时差为不影响紧后工作最早开始时间本工作可以利用的机动时间,上一题图中C的紧后工作是E,E的最早开始时间是20,那么C的自由时差为0。</p><p><br/></p>","multi":0,"questionType":2,"answer":"<p>活动C:ES=10,LS=40,C的总时差是30,自由时差为0。</p><p>活动E:ES=20,LS=50,E的总时差是30,自由时差为30。</p><p>活动G:ES=40,LS=70,G的总时差是30,自由时差为30。</p><p><br/></p>","chooseItem":null,"itemList":null,"userAnswer":null,"userChooseItem":null,"answerCorrect":null,"userCollect":null},{"id":"794934075033931777","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> 图1 某嵌入式系统的组成</p><br><p>问题4 (10分)</p><p>智能电源模块首先进行系统初始化,初始化后各设备就可使用,再根据系统初始配置表对嵌入式系统的其他模块供电。智能电源模块通常完成两件事情:一、周期性地查询本模块温度、各路电流(给各模块供电的)以及电源模块的供电是否异常,如果异常,则进行异常处理,并报系统管理模块,由系统管理模块进行决策;二、进入中断处理程序,处理系统管理模块的各种命令,如果系统管理模块命令关机下电,则智能电源模块对所有模块(也包括自己)进行下电处理。<br/></p><img style=\"max-width:100%;height:auto\" src=\"https://image.chaiding.com/ruankao/8b893b1bc9933292fed8714c8234bea9.png?x-oss-process=style/ruankaodaren\" title=\"8b893b1bc9933292fed8714c8234bea9.png\" alt=\"image.png\"/><br/><p>图2 智能电源管理软件流程图</p><p>图2是智能电源模块上的管理软件处理流程图,请完成该流程图,给(1)~(5)处填空。</p>","analyze":"<p>智能电源模块首先进行系统初始化,再根据系统初始配置表对嵌入式系统的其他模块供电。按照智能电源模块的工作过程,判断有无中断,如有中断,则进入中断处理程序。如没有中断,则周期性地查询本模块温度、各路电流(给各模块供电的)以及电源模块的供电是否异常,如果异常,则进行异常处理,并报系统管理模块,由系统管理模块进行决策。在中断处理程序中,首先屏蔽中断,喂看门狗,统计中断次数,接收系统控制模块的各种命令,处理系统控制模块发来的这些命令,打开中断。如果系统控制模块命令关机下电,则智能电源模块对所有模块(也包括自己)进行下电处理。</p><p> 智能电源模块上的管理软件处理流程图如图3所示。<br/><img style=\"max-width:100%;height:auto\" src=\"https://image.chaiding.com/ruankao/951d1346aca4e949f4e81d5309b036dd.png?x-oss-process=style/ruankaodaren\" title=\"951d1346aca4e949f4e81d5309b036dd.png\" alt=\"image.png\"/></p>","multi":0,"questionType":2,"answer":"<p>(1)按初始配置表给各模块供电 (2)电源模块温度检测</p><p> (3)向其他模块供电的各路电流检测 (4)屏蔽中断</p><p> (5)处理系统控制模块发来命令</p>","chooseItem":null,"itemList":null,"userAnswer":null,"userChooseItem":null,"answerCorrect":null,"userCollect":null},{"id":"834665619226906625","title":"<p style=\"text-indent:28px\">试题四(25分)</p><p>阅读以下关于数据管理的叙述,在答题纸上回答问题1至问题3。</p><p> </p><p>【说明】</p><p>某大型企业在长期信息化建设过程中,面向不同应用,开发了各种不同类型的应用软件系统,以满足不同的业务需求。随着用户需求和市场的快速变化,要求企业应能快速地整合企业的各种业务能力,为不同类型的用户提供多种流程的业务服务。但现有各个独立的应用系统难以满足日益增长和快速变化的用户需求。</p><p>目前该企业各个应用系统主要存在以下问题:</p><p>(1)应用系统是异构的、运行在不同软硬件平台上的信息系统;</p><p>(2)应用系统的数据源彼此独立、相互封闭,使得数据难以在系统之间交互、共享和融合,即存在“信息孤岛”;</p><p>(3)系统是面向应用的,各个应用系统中的数据模型差异大,即使同一数据实体,其数据类型、长度、值均存在不一致甚至相互矛盾的问题。为此,该企业专门成立了研发团队,希望能够尽快解决上述问题。</p><br><p>【问题3】(6分)</p><p>研发团队在对张工的方案进行分析后,发现该方案没有发挥SOA的核心理念,即松耦合的服务带来业务的复用,通过服务的编排助力业务的快速响应和创新,未实现“快速整合企业业务能力,为不同类型的用户提供各种不同功能、不同流程的业务服务”的核心目标,目前的方案仅仅是通过SOA实现了系统的集成。</p><p>请用200字以内的文字分析该方案未满足本项目核心目标的原因。</p>","analyze":"<p>业务系统仅仅通过SOA实现业务系统的功能集成,但由于服务粒度过大,难以保证服务是细粒度、松耦合的状态;也难以实现灵活的服务编排。因此,不能实现“快速整合企业业务能力,为不同类型的用户提供各种不同功能、不同流程的业务服务”的核心目标。</p>","multi":0,"questionType":2,"answer":"<p>(1)服务粒度过大:由于张工将原有系统的功能包装为多个服务,这种方式服务粒度过大,难以保证服务是细粒度、松耦合的状态。</p><p>(2)难以实现灵活的服务编排:由于服务粒度过大,因此难以进行灵活的服务编排。难以为不同类型的用户提供各种不同功能、不同流程的业务服务。</p>","chooseItem":null,"itemList":null,"userAnswer":null,"userChooseItem":null,"answerCorrect":null,"userCollect":null},{"id":"794934083674198017","title":"<p>阅读以下关于原型法的叙述,回答问题1至问题3。</p><p>某软件公司多年来开发的项目大都采用结构化方法。但系统开发的实践表明,尽管在许多情况下使用了严格定义或预先说明的方法,但当系统建成以后,用户仍然觉得建立的系统是不完全正确或不完备的,因此需要进行反复地修补。</p><p>针对上述情况,公司的李总工程师提出,应该引入原型法,以快速地确定用户需求,提高开发过程中的生产率和最终系统的质量。</p><br><p>【问题2】(12分)</p><p>原型生命周期提供了一种用原型法完成需求定义的完整方法。但对于一些特殊情况,如规模较小,完整性要求较弱的应用,可以采取灵活的做法以适应实际目标。请用300字以内文字,说明改变原型生命周期约束的方法。</p>","analyze":"无","multi":0,"questionType":2,"answer":"<p>改变原型生命周期约束的方法∶①仅对屏幕的原型化;②使用购买的应用系统作为初始模型;③子系统原型化;④原型与需求建议;⑤最终用户进行原型化。</p>","chooseItem":null,"itemList":null,"userAnswer":null,"userChooseItem":null,"answerCorrect":null,"userCollect":null},{"id":"794934105199366145","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>图 2-1 商品交易平台需求概念图</p><p>具体描述如下:</p><p>1. 平台主要分为商家、顾客和管理员三类用户。商家代表在平台上发布供应和商品的用户,顾客代表在平台上下采购订单的用户,管理员代表平台上的运营和维护人员。</p><p>2. 商家在注册账户后获得一个店铺,店铺拥有库存,库存中存放商品记录。商家可以通过添加商品和追加库存的方式,向库存中添加店铺中可销售的商品。通过标记商品上/下架状态或调整库存的方式设置商品是否在店铺中展示和销售。当商品库存为0时,不会出现在商家店铺中。</p><p>3. 顾客在浏览商家店铺和商品的过程中可以直接下订单(3.1),或将商品加入购物车(3.2),然后再使用购物车生成订单(3.3)。</p><p>3.1 顾客在浏览到某个合意的商品时,可直接填写商品数量并生成订单;</p><p>3.2 顾客在浏览到某个合意的商品时,可将商品添加到购物车中。添加时可提前填入商品数量,也可未来在购物车中修改商品数量;</p><p>3.3 在购物车中,顾客可以移除商品,也可以调整购买商品的数量。顾客可以通过复选框勾选部分商品或全部商品,然后通过生成订单按钮依据选中商品生成一个新得订单。</p><p><br/></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":"794934027940286465","title":"<p>某企业准备开发一个信息管理系统,其生存周期为5年。该系统的预计开发成本、预计的年运行/维护成本,以及预计的收益如下表所示(其中带括号的数据表示负值)。</p><br/><img src=\"https://image.chaiding.com/ruankao/88bc7aec8fe0874d89a0a6512064c1f4.jpg?x-oss-process=style/ruankaodaren\" title=\"88bc7aec8fe0874d89a0a6512064c1f4.jpg\" alt=\"1.jpg\"/><br><p>【问题2】(5分)</p><p>投资回收分析技术用于确定投资是否可以收回以及什么时候收回。在自然增长的收益超过自然增长和持续付出的成本之前的那一段时间被称为投资回收期。根据表5—1给出的数据,该项目的投资回收期是年(从A.B.C.D四个选项中选择一个)。</p><p>A. 1-2B.2-3 C.3-4 D.4-5</p>","analyze":"略","multi":0,"questionType":2,"answer":"<p>由上表中计算出的数据可知,在第 2~3 年时,收益已经超过了所投入的成本。所以,该项目的投资回收期为2~3 年。动态投资回收期 = 累计净现金流量折现值开始出现正值的年份数-1+|上年累计净现金流量折现值|/当年净现金流量折现值 = 3-1+56707/(135280-12104 )= 2.46 年。答案是B。</p>","chooseItem":null,"itemList":null,"userAnswer":null,"userChooseItem":null,"answerCorrect":null,"userCollect":null},{"id":"794934122597339137","title":"<p style=\"text-indent:32px\">试题三(25分)</p><p>阅读以下关于安全攸关嵌入式系统相关技术的描述,在答题纸上回答问题 1 至问题 3。</p><p>【说明】</p><p>某公司机电管理系列产品被广泛应用于飞行器后,现场事故频繁发生,轻则飞机座舱显示机电设备工作异常,重则系统预警,切入备份运行。这些事故给航空公司带来重大经济损失。</p><p>公司领导非常重视航空公司的问题反馈,责令公司王总带队到现场进行故障排查。经过一个多月的排查,故障现象始终未复现,同时,公司实验室内也在反复出现故障,结果未取得显著成效,但发现产品存在偶然丢失协议包的现象。随后,公司领导组织行业专家召开故障分析会。王总在会上对前期故障排查情况进行了说明,指出从外场现象看 CCDL协议包丢失是引起系统报警、切换的主要原因。图3-1给出了机电管理产品的工作原理,机电管理系统主要承担了对飞行器的刹车、燃油和环控等子系统进行监视与控制,它对飞行器而言是安全攸关系统,因此,从系统结构上采用了双余度计算机系统。具体工作流程简要说明如下:</p><p>1.机电管理系统由1号计算机和 2号计算机组成,双机互为余度备份。</p><p>2.双机中分别驻留了一个 100ms 周期的CCDL任务,完成双机间的交叉对比和实时监控等工作。10ms 定时器作为任务的工作频率。</p><p>3.交叉对比协议包包含一组“AA55”报头、消息长度、数据和校验码。</p><p>4.2号机将协议包通过422总线发送给1号机(422 总线接口芯片有8级缓冲)。</p><p>5.1号机通过中断方式将422总线数据接收到大环形缓冲区中(大小为4096B)。</p><p>6.100ms的CCDL定时任务将大环形缓冲区的数据以512B为单位拷贝到小环形缓冲区中(大小512B)。</p><p>7.CCDL任务按照协议包格式解析小环形缓冲的数据,如果校验错误,丢弃当前协议包;</p><p>8.在协议包格式正确的情况下,进行数据交叉比对,比对正确则输出;比对不正确,并连续不正确超过门限,则报警。 </p><img src=\"https://image.chaiding.com/ruankao/98971bb99068008e8389205eedec0691.jpg?x-oss-process=style/ruankaodaren\" title=\"98971bb99068008e8389205eedec0691.jpg\" alt=\"111.jpg\"/><br><p>【问题1】(12分)</p><p>王总汇报时指出,在设计安全攸关系统软件时,往往不重视安全攸关软件设计方法, 不遵守C语言安全编码规范,导致程序质量较差,代码中存在安全隐患。请简要说明表3-1给出的C语言代码是 C 语言安全编码标准中(如:MISAR C标准)不允许采用的代码结构的原因。</p><p>表 3-1 C语言代码实例<br/><img style=\"max-width:100%;height:auto\" src=\"https://image.chaiding.com/ruankao/cabcb13a2166bf2eb02609faf5776aad.jpg?x-oss-process=style/ruankaodaren\" title=\"cabcb13a2166bf2eb02609faf5776aad.jpg\" alt=\"111.jpg\"/><img style=\"max-width:100%;height:auto\" src=\"https://image.chaiding.com/ruankao/f96b10cbe4b6eaf7931c24b026bce2da.jpg?x-oss-process=style/ruankaodaren\" title=\"f96b10cbe4b6eaf7931c24b026bce2da.jpg\" alt=\"333.jpg\"/></p>","analyze":"<p>一辆汽车的嵌入式代码已经突破1亿行,因此,代码规范相当重要。为了增强C语言代码的安全性、可移植性、可读性、可维护性,减少低级错误,汽车产业软件可靠性协会(MISRA)提出了C语言开发标准,简称MISRA C。MISRA C本质是C语言基础上增加了一些约束。</p><p>MISRA C的规则有:</p><p>(1)if…else语句中,if必须由else子句结束。</p><p>(2)switch 语句中,最后子句应该是 default 子句;且每个switch语句至少应有一个case子句。</p><p>(3)参数指针赋值给过程指针会导致不可预料的结果,因此规定“禁止参数指针赋值给过程指针”。</p><p>(4)禁止将过程声明为指针类型。程序语句“void (*proc_pointer) (unsigned int,unsigned shot)=foo;” 出现了不允许的情况。</p><p>(5)禁止同一个表达式中调用多个相关函数。程序语句“x=exp_1(&y)+exp_2(&y);”出现了不允许的情况。</p><p>(6)禁止对指针变量使用强制类型转换赋值。程序语句“p1_ptr=(unsigned int *)s;”对变量s做强制类型转换,因此,出现了不允许的情况。</p>","multi":0,"questionType":2,"answer":"<p>(1)不允许。if…else语句中,if必须由else子句结束。</p><p>(2)不允许。switch语句中,最后子句应该是 default 子句;且每个switch语句至少应有一个case子句。</p><p>(3)不允许。禁止参数指针赋值给过程指针。</p><p>(4)不允许。禁止将过程声明为指针类型。</p><p>(5)不允许。禁止同一个表达式中调用多个相关函数。</p><p>(6)不允许。禁止对指针变量使用强制类型转换赋值。</p>","chooseItem":null,"itemList":null,"userAnswer":null,"userChooseItem":null,"answerCorrect":null,"userCollect":null},{"id":"794934161285599233","title":"<p style=\"text-indent:32px\">试题五(25分)</p><p>阅读以下关于Web应用的叙述,在答题纸上回答问题1至问题3。</p><p>【说明】</p><p>某培训机构提出开发一个在线教学系统。该系统釆用微服务架构,将系统功能分解为多个松散耦合且可独立部署的较小组件或服务。最终设计的系统包括了教学系统中常见的服务:讲师服务、学员服务、在线学习服务、批改答疑服务等。</p><p>在系统上线之后,由于功能完善、界面新颖,吸引了大量用户,系统性能出现了瓶颈。在线学习服务的情况最严重,实时保存学习进度导致大量数据库写操作;网络带宽也严重不足。对于这个情况,李工提出增加服务器资源的投入,而王工提出采用集群和云原生的技术。</p><p>经过技术组内多次讨论,决定采纳了王工的建议。</p><br><p>【问题1】(7分)</p><p>技术组经过研究发现,服务器的资源并没有充分利用,部分服务器满载,部分服务器还是很空闲的。王工提出采用集群技术解决该问题。请说明集群技术有哪几种类型,本系统适用的是哪一种?</p>","analyze":"无","multi":0,"questionType":2,"answer":"<p>集群系统分为高性能计算集群、负载均衡集群和高可用性集群。</p><p>(1)高性能计算集群以解决复杂的科学计算问题为目的,主要解决大规模科学计算问题和存储和处理海量数据问题,特点是一次只运行一个批处理任务。</p><p>(2)负载均衡集群使负载可以在计算机集群中尽可能平均地分摊处理,每个节点都可以处理一部分负载,并且可以在节点之间动态分配负载,以实现平衡,适合处理在线事务。</p><p>(3)高可用性集群采用冗余节点和容错技术以提供不间断的服务。一旦某个节点发生故障,甚至可以把在上面运行中的任务转移到别的节点继续运行。</p><p>本系统适合采用负载均衡集群。</p>","chooseItem":null,"itemList":null,"userAnswer":null,"userChooseItem":null,"answerCorrect":null,"userCollect":null},{"id":"834660199313723393","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>【问题3】(6分)</p><p>请用200字以内的文字说明基于消息队列的点对点模式的定义,并简要分析张工建议该系统釆用基于消息队列的点对点模式的事件派遣机制的原因。</p><p style=\"text-indent:32px\"> </p>","analyze":"<p>基于消息队列的点对点模式中:消息生产者生产消息发送到队列中,然后消息消费者从队列中取出并且消费消息。该模式结构图如图4-2所示。</p><br/><img style=\"max-width:100%;height:auto\" src=\"https://image.chaiding.com/ruankao/c917a9185e5a101450097767282fbc45.png?x-oss-process=style/ruankaodaren\" title=\"c917a9185e5a101450097767282fbc45.png\" alt=\"image.png\" width=\"395\" height=\"244\"/><p>点对点模式中,消息被消费以后,队列中不再存储,因此消息消费者不可能消费已被消费的消息。点对点模式中,存在多个消费者,但一个消息只会有一个消费者可以消费。</p>","multi":0,"questionType":2,"answer":"<p>点对点模式中:消息生产者生产消息发送到队列中,然后消息消费者从队列中取出并且消费消息。点对点模式中,消息被消费以后,队列中不再存储,因此消息消费者不可能消费已被消费的消息。点对点模式中,存在多个消费者,但一个消息只会有一个消费者可以消费。</p><p>理由:一个配送订单只能被一个外卖配送员接收(消费),符合基于消息队列的点对点模式。</p>","chooseItem":null,"itemList":null,"userAnswer":null,"userChooseItem":null,"answerCorrect":null,"userCollect":null},{"id":"834665619629559809","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>【问题1】(6分)</p><p>请用200字以内的文字简要说明什么是云数据库以及云数据库的特点。</p>","analyze":"<p>云数据库是指被优化或部署到一个虚拟计算环境中的数据库,可以实现按需付费、按需扩展、高可用性以及存储整合等。云数据库的特性如下。</p><p>(1)实例创建快速:根据需求配置参数,可在几分钟内,配置好数据库实例。</p><p>(2)支持只读实例:对数据库有大量读请求而非写请求的读写场景,可以创建多个只读实例进行系统扩展。</p><p>(3)故障自动切换:主库发生不可预知的故障(如硬件故障)时,可在短时间内进行自动切换。</p><p>(4)数据备份:具有自动数据库实例备份、手动数据库实例备份(数据快照)功能,并可以快速从数据快照恢复数据库实例。</p><p>(5)Binlog备份:自动备份Binlog日志。</p><p>(6)访问白名单:可通过设置IP白名单的方式来控制数据库访问权限。</p><p>(7)监控与消息通知:可根据数据库运行状态,定制监控策略。超过监控阈值或者出现变更时,可通过短信、邮件等方式告警。</p>","multi":0,"questionType":2,"answer":"云数据库是指被优化或部署到一个虚拟计算环境中的数据库,具有按需付费、按需扩展、高可用性以及存储整合等能力。<p>云数据库的特点有:实例创建快速、支持只读实例、读写分离、故障自动切换、数据备份、Binlog备份、SQL审计、访问白名单、监控与消息通知等。</p>","chooseItem":null,"itemList":null,"userAnswer":null,"userChooseItem":null,"answerCorrect":null,"userCollect":null},{"id":"794934079832215553","title":"<p>题目五<br/>阅读以下关于Web系统架构的设计的叙述,回答下列问题。</p><p style=\"margin-top: 0;margin-bottom: 0;text-indent: 28px\">【说明】</p><p style=\"margin-top: 0;margin-bottom: 0;text-indent: 28px\">某电商公司拟开发一个可以支持亿级流量的系统。公司架构师张工认为应该采用B/S技术实现系统开发。王工认为采用当前主流的微服务架构可以更好的支持高并发的场景应用。公司经过讨论分析最终采用了王工的建议。</p><p> </p><p>其系统的架构如下图所示的设计。</p><img src=\"https://image.chaiding.com/ruankao/c92917f51c727cc7cd406e936b17824b.png?x-oss-process=style/ruankaodaren\" title=\"c92917f51c727cc7cd406e936b17824b.png\" alt=\"image.png\"/><br><p>【问题1】(12分)</p><p>分析该系统架构,从下列选项中选择对应的数据填入(1)-(6)中。</p><p>A. LVS B.HTTP/HTTPS C.DUBBO D.Quartz E.MongDB F. ES Client </p>","analyze":"无","multi":0,"questionType":2,"answer":"<p>(1)A ;(2)B;(3)C ;(4)D;(5)F;(6)E。</p>","chooseItem":null,"itemList":null,"userAnswer":null,"userChooseItem":null,"answerCorrect":null,"userCollect":null},{"id":"794934140062420993","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>[问题3](5分)</p><p>根据系统需求,请设计出系统的处理流程(按时序),说明所有任务的优先级分配策略,422接口、双口存储器、离散量接口和A/D(D/A)的数据输入/输出方法(中断或查询驱动)及理由。请用350字以内文字简要说明。</p>","analyze":"略","multi":0,"questionType":2,"answer":"<p>【问题3]</p><p>优先级策略:小周期优先策略。</p><p>数据输入输出处理方式:422接口适合采用中断方式,主要因为处理机速度远远比数据传输速度快,在采集时不易消耗太多的时间,而查询方式由于存在等待数据时间,消耗处理机时间较大。双口存储器和离散量接口由于是直接访问存储器,采用查询较合适。AD、D/A存在数据的转换时间,应在等待时交出处理机时间(定时查询)。</p>","chooseItem":null,"itemList":null,"userAnswer":null,"userChooseItem":null,"answerCorrect":null,"userCollect":null},{"id":"794934110014427137","title":"<p>试题三(24分)</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>[问题2](10分)</p><p>李工和王工通过认真地对需求进行了分析,给出了时间性能评估报告,判定在上述硬件平台上可以满足系统要求。请用300字以内文字简要说明嵌入式实时操作系统中时间性能评估中主要考虑哪几项因素;针对本课题的具体数据,叙述系统的工作时序关系。</p>","analyze":"无","multi":0,"questionType":2,"answer":"<p>【问题2】</p><p>嵌入式实时系统中时间性能评估主要考虑以下几个因素:</p><p>(1)系统(操作系统)时间开销,一般不大于整个控制系统运行时间总开销的20%。</p><p>(2)保证所有任务在规定的时间期限内完成(或进行可调度性评估)。</p><p>(3)任务的上下文切换时间和中断响应时间。</p><p>针对本题的具体数据,系统的工作时序关系应该是:</p><p>系统的最小时间节拍定义为5ms,系统最大工作周期为1s,在每个5ms起点,5ms任务首先运行,占1ms时间,完成后转入处理被终止的任务;如果这个时刻时间到达20ms的起点,则启动20ms任务运行,以此类推,确保在1s周期内所有任务按规定的时间序列执行。</p>","chooseItem":null,"itemList":null,"userAnswer":null,"userChooseItem":null,"answerCorrect":null,"userCollect":null},{"id":"794934011297288193","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>【问题二】(12分)结合你的经验,请列举出4条SQL语句优化的基本策略。</p>","analyze":"<p>SOL语句优化的常见策略如下(包含但不限于以下内容,列举出其中5个小点即可,每小点1分)。</p><p>①建立物化视图或尽可能减少多表查询。</p><p>②以不相干子查询替代相干子查询。</p><p>③只检索需要的列。</p><p>④用带IN的条件子句等价替换OR子句。</p><p>⑤经常提交COMMIT,以尽早释放锁。</p><p>⑥避免嵌套的游标(Cursor)和多重循环等</p>","multi":0,"questionType":2,"answer":"<p>【问题二】</p><p>SQL语句优化在信息系统调优中所占比例较大。通常情况下,一个信息系统中不同SQL语句的数目往往在200~400条,在优化时,需要对每条SQL语句的性能进行测量,对性能表现不佳的SQL语句进行调整。当前也已经出现了专门的SQL语句优化的工具,可以辅助开发人员。SQL语句优化的常见策略如下。</p><p>(1)优化相应的表连接,建立物化视图或尽可能减少多表查询。</p><p>(2)以不相干子查询替代相干子查询,即优化嵌套子查询。</p><p>(3)只检索需要的列,无须将表中所有的列全部检索,即避免全表的反复查询。</p><p>(4)用带IN的条件子句等价替换OR子句。</p><p>(5)避免嵌套的游标(Cursor)和多重循环。</p><p>(6)经常提交COMMIT,以尽早释放锁等。</p><p>注意,对于不同类型的应用系统,在数据库操作中,可采用的优化方法也有所不同。</p>","chooseItem":null,"itemList":null,"userAnswer":null,"userChooseItem":null,"answerCorrect":null,"userCollect":null},{"id":"794934032839233537","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><p>【问题4】(4分)</p><p>用例除了使用表1-1和表1-2所示的形式描述外,还可以使用UML的用例图来表示。分别用100字以内文字,解释UML用例图中扩展用例和抽象(包含)用例的内涵。</p>","analyze":"略","multi":0,"questionType":2,"answer":"<p>扩展用例是一个由某个更复杂的用例提取出来的事件序列所构成的用例,以便简化原始用例并扩展其功能。</p><p>若几个用例执行了同样的功能步骤,可以把这些公共步骤提取成独立的抽象用例,抽象用例代表了某种形式的“复用”,可以降低用例之间的冗余。</p>","chooseItem":null,"itemList":null,"userAnswer":null,"userChooseItem":null,"answerCorrect":null,"userCollect":null},{"id":"794934157393285121","title":"<p style=\"text-indent:32px\">试题三(25分)</p><p>阅读以下关于安全关键系统安全性设计技术的描述,回答问题 1至问题 3。</p><p>【说明】</p><p>某公司长期从事计算机产品的研制工作,公司领导为了响应国家军民融合的发展战略,决定要积极参与我国军用设备领域的研制工作,将本公司的计算机及软件产品通过提升和改造,应用到军用装备的安全关键系统中。公司为了承担军用产品的研发任务,公司领导将论证工作交给王工负责。王工经调研分析,提交了一份完整论证报告。</p><br><p>【问题 3】(7 分)</p><p>实时调度是安全关键系统的关键技术。实时调度一般分为动态和静态两种。其中,静态调度是指在离线情况下计算出的任务的可调度性,静态调度必须保证所有任务的时限、资源、优先级和同步的需求。图3-1给出了一组分布式任务执行的优先级关系,请根据图3-1给出任务间的优先级关系实例,按静态调度算法的基本原理,补充完善图 3-2 给出的任务静态调度搜索树的(1) ~(10)空白,并给出最佳调度路径。<br/><img style=\"max-width:100%;height:auto\" src=\"https://image.chaiding.com/ruankao/492356f4df68f2a5b3f4691174ccc367.jpg?x-oss-process=style/ruankaodaren\" title=\"492356f4df68f2a5b3f4691174ccc367.jpg\" alt=\"1111.jpg\" width=\"709\" height=\"457\"/><br/><img style=\"max-width:100%;height:auto\" src=\"https://image.chaiding.com/ruankao/a3569bccca21d73a09076472d43a9476.jpg?x-oss-process=style/ruankaodaren\" title=\"a3569bccca21d73a09076472d43a9476.jpg\" alt=\"2222.jpg\"/></p>","analyze":"<p>依据题目的静态调度搜索树图可以得到系统运行的两条路径。</p><p>(1)路径一</p><p>T3、T4和M1、M2发生后,开始T5-T6或者T6-T5,因此(1)~(2)分别是T6、T5。T5、T6完成之后,必然开始T7,因此(3)为T7。</p><p>(2)路径二</p><p>先运行T0-T1后,开始M1和T1,然后开始运行T4和T3,然后运行M2和T6,然依次运行T5和T7。</p><p>显然路径二为最佳调度路径:T0-T2-M1&T1-T3&T4-M2&T6-T5-T7,&表示并行。</p>","multi":0,"questionType":2,"answer":"<p>(1)T6(2)T5(3)T7(4)M1(5)T1</p><p>(6)T3(7)T4(8)M2(9)T6(10)T5</p><p>注意:(4)(5)、(6)(7)、(8)(9)位置可以互换</p><p>最佳调度路径:T0-T2-M1&T1-T3&T4-M2&T6-T5-T7</p>","chooseItem":null,"itemList":null,"userAnswer":null,"userChooseItem":null,"answerCorrect":null,"userCollect":null},{"id":"794934088707362817","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>【问题2】(7分)</p><p>李工和王工通过认真地对需求进行了分析,给出了时间性能评估报告,判定在上述硬件平台上可以满足系统要求。请用300字以内文字简要说明嵌入式实时系统中时间性能评估中主要考虑哪几项因素;针对本课题的具体数据,叙述系统的工作时序关系。</p>","analyze":"无","multi":0,"questionType":2,"answer":"<p>【问题2】</p><p>嵌入式实时系统中时间性能评估主要考虑以下几个因素∶</p><p>● 系统(操作系统)时间开销,一般不大于整个控制系统运行时间总开销的 20%。</p><p>● 保证所有任务在规定的时间期限内完成(或进行可调度性评估)。</p><p>● 任务的上下文切换时间和中断响应时间。</p><p>针对本题的具体数据,系统的工作时序关系应该是∶</p><p>系统的最小时间节拍定义为 5ms,系统最大工作周期(或称主时间框架)为1s,在每个5ms起点,5ms任务首先运行,占lms 时间,完成后转入处理被终止的任务;如果这个时刻时间到达 20ms 的起点,则启动20ms 任务运行,以此类推,确保在 1s周期内所有任务按规定的时间序列执行。</p>","chooseItem":null,"itemList":null,"userAnswer":null,"userChooseItem":null,"answerCorrect":null,"userCollect":null},{"id":"794934050220429313","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>【问题3】(6分)</p><p>除了数据流图以外,结构化分析还包括哪些工具?(给出三个即可)</p>","analyze":"无","multi":0,"questionType":2,"answer":"数据字典、结构化语言、判定表、判定树。","chooseItem":null,"itemList":null,"userAnswer":null,"userChooseItem":null,"answerCorrect":null,"userCollect":null},{"id":"794934075990233089","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>【问题1】(5分)</p><p>使用说明中的词语,给出图1-1中的实体E1〜E5的名称。</p>","analyze":"无","multi":0,"questionType":2,"answer":"<p>E1:学生,E2:学校管理人员,E3:班主任,E4:家长,E5:医护机构健康服务系统。</p>","chooseItem":null,"itemList":null,"userAnswer":null,"userChooseItem":null,"answerCorrect":null,"userCollect":null},{"id":"794934136136552449","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>【问题2】</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":"794934123553640449","title":"<p style=\"text-indent:32px\">试题三(25分)</p><p>阅读以下关于安全攸关嵌入式系统相关技术的描述,在答题纸上回答问题 1 至问题 3。</p><p>【说明】</p><p>某公司机电管理系列产品被广泛应用于飞行器后,现场事故频繁发生,轻则飞机座舱显示机电设备工作异常,重则系统预警,切入备份运行。这些事故给航空公司带来重大经济损失。</p><p>公司领导非常重视航空公司的问题反馈,责令公司王总带队到现场进行故障排查。经过一个多月的排查,故障现象始终未复现,同时,公司实验室内也在反复出现故障,结果未取得显著成效,但发现产品存在偶然丢失协议包的现象。随后,公司领导组织行业专家召开故障分析会。王总在会上对前期故障排查情况进行了说明,指出从外场现象看 CCDL协议包丢失是引起系统报警、切换的主要原因。图3-1给出了机电管理产品的工作原理,机电管理系统主要承担了对飞行器的刹车、燃油和环控等子系统进行监视与控制,它对飞行器而言是安全攸关系统,因此,从系统结构上采用了双余度计算机系统。具体工作流程简要说明如下:</p><p>1.机电管理系统由1号计算机和 2号计算机组成,双机互为余度备份。</p><p>2.双机中分别驻留了一个 100ms 周期的CCDL任务,完成双机间的交叉对比和实时监控等工作。10ms 定时器作为任务的工作频率。</p><p>3.交叉对比协议包包含一组“AA55”报头、消息长度、数据和校验码。</p><p>4.2号机将协议包通过422总线发送给1号机(422 总线接口芯片有8级缓冲)。</p><p>5.1号机通过中断方式将422总线数据接收到大环形缓冲区中(大小为4096B)。</p><p>6.100ms的CCDL定时任务将大环形缓冲区的数据以512B为单位拷贝到小环形缓冲区中(大小512B)。</p><p>7.CCDL任务按照协议包格式解析小环形缓冲的数据,如果校验错误,丢弃当前协议包;</p><p>8.在协议包格式正确的情况下,进行数据交叉比对,比对正确则输出;比对不正确,并连续不正确超过门限,则报警。 </p><img src=\"https://image.chaiding.com/ruankao/98971bb99068008e8389205eedec0691.jpg?x-oss-process=style/ruankaodaren\" title=\"98971bb99068008e8389205eedec0691.jpg\" alt=\"111.jpg\"/><br><p>【问题2】(10分)</p><p>请根据自己对图 3-1 所示机电管理系统工作原理的分析,用 300 字以内的文字说明本实例中可能存在哪三方面数据传输时丢失协议包现象,并简要说明原因。 </p>","analyze":"<p>(1)系统中有两个缓冲串联,但两个缓冲大小不一致,分别为512B.4096B。则可能会出现数据丢包的现象。</p><p>(2)两个缓冲采用100ms时钟周期但采用10ms的定时器,则可能导致丢包。</p><p>(3)422总线传输速率可达10Mbps,可能导致4096缓冲区溢出,导致丢包。</p>","multi":0,"questionType":2,"answer":"<p>(1)两个缓冲大小不一致。系统中有两个缓冲串联,但两个缓冲大小不一致,分别为512B.4096B。则可能会出现数据丢包的现象。</p><p>(2)100ms时钟不准。两个缓冲采用100ms时钟周期但采用10ms的定时器,则可能导致丢包。</p><p>(3)422总线缓冲丢包。422总线传输速率可达10Mbps,可能导致4096缓冲区溢出,导致丢包。</p>","chooseItem":null,"itemList":null,"userAnswer":null,"userChooseItem":null,"answerCorrect":null,"userCollect":null},{"id":"794934037671071745","title":"<p>阅读以下关于软件系统数据架构建模的说明,在答题纸上回答问题1至问题3。</p><p>【说明】</p><p>RMO是一家运动服装制造销售公司,计划在五年时间内将销售区域从华南地区扩展至全国范围。为了扩大信息技术对于未来业务发展的价值,公司邀请咨询顾问帮助他们制订战略信息系统规划。经过评审,咨询顾问给出的战略规划要点之一是建立客户关系支持系统CRSS。RMO公司决定由其技术部成立专门的项目组负责CRSS的开发和维护工作。</p><p>项目组在仔细调研和分析了系统需求的基础上,确定了基于互联网的CRSS系统架构。但在确定系统数据架构时,张工认为应该采用集中式的数据架构,给出的理由是结构简单、易维护且开发及运行成本低;而刘工建议采用分布式的数据架构,并提出在开发中通过“局部数据库+缓存”的读写分离结构实现,具有较好的运行性能和可扩展性。</p><p>项目组经过集体讨论,考虑到公司的未来发展规划,最终采用了刘工的建议。</p><br><p>【问题2】(13分)</p><p> 在刘工建议的基础上,为了避免CRSS系统的单点故障,请用200字以内文字简要说明如何建立CRSS的数据库系统;对于数据的读取、添加、更改和删除操作分别如何实现。</p>数据可以分布在不同的计算机上,一个应用程序可以操作位于不同地理位置的机器上的数据。","analyze":"略","multi":0,"questionType":2,"answer":"<p>CRSS的分布式数据库系统需要由多个局部数据库系统、多个热备份数据库系统和多个数据缓存组成。局部数据库负责数据的写入,多个热备份数据库系统用以解决单点故障的问题,数据缓存负责为应用提供所读取的数据。</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":"794934145045254145","title":"<p>试题五(25分)</p><p>某互联网金融集团依托微服务技术研发互联网金融交易信息系统,全面整合原分布于各省地方分公司的区域系统,实现统一的用户账户管理、转账汇款、理财投资、贷款管理、网上交易、网上支付、财务共享、财务统计分析等业务功能。</p><p>在讨论过程中,王工建议采用面向服务的体系结构(SOA),可以通过ESB充分整个各地现有业务,并可支持Web、智能手机等多种前端应用形式接入相同的后端服务;而张工提出采用分布式微服务体系结构,整合业务的同时,可以利用云服务提高体系结构的性能、可用性和可扩展性,又可以提高整体的可变性和可维护性,且有利于适应当下和未来技术的高速发展和快速变更。</p><p>经过综合分析和讨论,集团领导最终决定同时采纳两位架构师的建议,结合使用,制定基于分布式微服务的前后端分离体系结构。</p><br><p>【问题2】(15分):根据该信息系统整合的实际需求,项目组完成了微服务风格的金融交易信息系统体系结构设计方案,该体系结构设计图如图5-1所示。</p><p>请从(a)~(n)中选择合适的内容填入图5-1的(1)~(8)中,补充完善体系结构设计图。<br/><img style=\"max-width:100%;height:auto\" src=\"https://image.chaiding.com/ruankao/280e808b7a156634e72c70b176345ca4.jpg?x-oss-process=style/ruankaodaren\" title=\"280e808b7a156634e72c70b176345ca4.jpg\" alt=\"1111.jpg\" width=\"796\" height=\"573\"/>(a)页面缓存 (b)网关层 (c)数据层(d)主数据库</p><p>(e)Web服务器 (f)反向代理服务器 (g)事务中心 (h)服务层</p><p>(i)数据访问组件(j)CDN(k)展示层(l)数据中台</p><p>(m)从数据库 (n)分布式数据缓存</p>","analyze":"略<p><br/></p>","multi":0,"questionType":2,"answer":"<p>(1)j (2)e (3)n (4)I (5)d (6)m (7)h (8)c</p><p><br/></p>","chooseItem":null,"itemList":null,"userAnswer":null,"userChooseItem":null,"answerCorrect":null,"userCollect":null},{"id":"794934132261015553","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. 平台主要分为商家、顾客和管理员三类用户。商家代表在平台上发布供应和商品的用户,顾客代表在平台上下采购订单的用户,管理员代表平台上的运营和维护人员。</p><p>2. 商家在注册账户后获得一个店铺,店铺拥有库存,库存中存放商品记录。商家可以通过添加商品和追加库存的方式,向库存中添加店铺中可销售的商品。通过标记商品上/下架状态或调整库存的方式设置商品是否在店铺中展示和销售。当商品库存为0时,不会出现在商家店铺中。</p><p>3. 顾客在浏览商家店铺和商品的过程中可以直接下订单(3.1),或将商品加入购物车(3.2),然后再使用购物车生成订单(3.3)。</p><p>3.1 顾客在浏览到某个合意的商品时,可直接填写商品数量并生成订单;</p><p>3.2 顾客在浏览到某个合意的商品时,可将商品添加到购物车中。添加时可提前填入商品数量,也可未来在购物车中修改商品数量;</p><p>在购物车中,顾客可以移除商品,也可以调整购买商品的数量。顾客可以通过复选框勾选部分商品或全部商品,然后通过生成订单按钮依据选中商品生成一个新的订单。</p><br><p>【问题2】(6分)请根据详细描述为图2-1添加合适的类,并为图中的类添加适当属性。</p>","analyze":"略","multi":0,"questionType":2,"answer":"<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":"794934072148250625","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> 图1 某嵌入式系统的组成</p><br><p>问题1 (3分)</p><p>该系统的软件大部分是用C语言编程的,编程人员经常会使用运算符,请按优先级由高到低的次序,重新排序下面的运算符:%, =, <=, &&。<br/></p>","analyze":"<p>在C语言中,对各种运算符的优先级是有规定的,必须掌握。优先级最高者其实并不是真正意义上的运算符,包括:数组下标、函数调用操作符、各结构成员选择操作符。它们都是自左向右结合。</p><p>单目运算符的优先级仅次于上述运算符,在所有的真正意义的运算符中,它们的优先级最高。</p><p>双目运算符的优先级低于单目运算符的优先级。在双目运算符中,算术运算符的优先级最高,移位运算符次之,关系运算符再次之,接着就是逻辑运算符,赋值运算符,最后是条件运算符。总结以下两点:</p><p> (1)任何一个逻辑运算符的优先级低于任何一个关系运算符;</p><p> (2)移位运算符的优先级比算术运算符要低,但是比关系运算符要高。</p><p>下表是C语言运算符优先级表(由上至下,优先级依次递减)。 </p><img style=\"max-width:100%;height:auto\" src=\"https://image.chaiding.com/ruankao/b50a106692bdbdbcd4297d8d0b7b032d.png?x-oss-process=style/ruankaodaren\" title=\"b50a106692bdbdbcd4297d8d0b7b032d.png\" alt=\"image.png\"/><br/><p> 综上所述,本题中运算符优先级由高到低的次序为:</p><p> %, <=, &&, = </p>","multi":0,"questionType":2,"answer":"<p>问题1 按优先级由高到低的次序,运算符排序为:</p><p> %, <=, &&, =</p>","chooseItem":null,"itemList":null,"userAnswer":null,"userChooseItem":null,"answerCorrect":null,"userCollect":null},{"id":"794934111004282881","title":"<p>试题三(24分)</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>[问题3](4分)</p><p>根据系统需求,请设计出系统的处理流程(按时序),说明所有任务的优先级分配策略,422接口、双口存储器、离散量接口和A/D(D/A)的数据输入/输出方法(中断或查询驱动)及理由。请用350字以内文字简要说明。</p>","analyze":"无","multi":0,"questionType":2,"answer":"<p>【问题3]</p><p>优先级策略:小周期优先策略。</p><p>数据输入输出处理方式:422接口适合采用中断方式,主要因为处理机速度远远比数据传输速度快,在采集时不易消耗太多的时间,而查询方式由于存在等待数据时间,消耗处理机时间较大。双口存储器和离散量接口由于是直接访问存储器,采用查询较合适。AD、D/A存在数据的转换时间,应在等待时交出处理机时间(定时查询)。</p>","chooseItem":null,"itemList":null,"userAnswer":null,"userChooseItem":null,"answerCorrect":null,"userCollect":null},{"id":"794934059615670273","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>【问题1】(8分)</p><p>张工方案中采用了读写分离,主从复制策略。简述主从复制给系统带来的好处。</p>","analyze":"无","multi":0,"questionType":2,"answer":"<p>①避免数据库单点故障:主服务器实时、异步复制数据到从服务器,当主数据库宕机时,可在从数据库中选择一个升级为主服务器,从而防止数据库单点故障。</p><p> ②提高查询效率:根据系统数据库访问特点,可以使用主数据库进行数据的插入、删除及更新等写操作,而从数据库则专门用来进行数据查询操作,从而将查询操作分担到不同的从服务器以提高数据库访问效率。</p>","chooseItem":null,"itemList":null,"userAnswer":null,"userChooseItem":null,"answerCorrect":null,"userCollect":null},{"id":"794934076946534401","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>【问题2】(4分)</p><p>使用说明中的词语,给出图1-2中的数据存储D1〜D4的名称。</p>","analyze":"无","multi":0,"questionType":2,"answer":"<p>D1:学生状态信息表,D2:学生信息表,D3:校园场所信息表,D4:课表。</p>","chooseItem":null,"itemList":null,"userAnswer":null,"userChooseItem":null,"answerCorrect":null,"userCollect":null},{"id":"794934137159962625","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>【问题3】</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":"794934051344502785","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>【问题4】(9分)</p><p>在系统设计阶段,项目组采用了结构化的设计,请说明结构化设计包括哪些内容?每个部分的主要任务是什么?</p>","analyze":"无","multi":0,"questionType":2,"answer":"系统设计的主要内容包括概要设计和详细设计。概要设计又称为系统总体结构设计,它是系统开发过程中很关键的一步,其主要任务是将系统的功能需求分配给软件模块,确定每个模块的功能和调用关系,形成软件的模块结构图,即系统结构图。在概要设计中,将系统开发的总任务分解成许多个基本的、具体的任务,为每个具体任务选择适当的技术手段和处理方法的过程称为详细设计。根据任务的不同,详细设计又可分为多种例如,网络设计、代码设计、输入输出设计、处理流程设计、数据存储设计、用户界面设计、安全性和可靠性设计等。","chooseItem":null,"itemList":null,"userAnswer":null,"userChooseItem":null,"answerCorrect":null,"userCollect":null},{"id":"794934102934441985","title":"<p style=\";text-indent:28px;text-autospace:ideograph-numeric\">试题一(25分)</p><p>阅读以下关于软件系统分析与建模的叙述,在答题纸上回答问题1至问题3。</p><p style=\"text-indent: 28px\">【说明】</p><p>某软件公司计划开发一套教学管理系统,用于为高校提供教学管理服务。该教学管理系统基本的需求包括:</p><p>(1)系统用户必须成功登录到系统后才能使用系统的各项功能服务;</p><p>(2)管理员(Registrar)使用该系统管理学校(University)、系(Department)、教师(Lecturer)、学生(Student)和课程(Course)等教学基础信息;</p><p>(3)学生使用系统选择并注册课程,必须通过所选课程的考试才能获得学分;如果考试不及格,必须参加补考,通过后才能获得课程学分;</p><p>(4)教师使用该系统选择所要教的课程,并从系统获得选择该课程的学生名单;</p><p>(5)管理员使用系统生成课程课表,维护系统所需的有关课程、学生和教师的信息;</p><p>(6)每个月到了月底系统会通过打印机打印学生的考勤信息。</p><p>项目组经过分析和讨论,决定采用面向对象开发技术对系统各项需求建模。</p><br><p>【问题2】(6分)</p><p>用例建模用来描述待开发系统的功能需求,主要元素是用例和参与者。请根据题目所述需求,说明教学服务系统中有哪些参与者?对题目所述教学服务系统的需求建模时, “登录系统”用例与“注册课程”用例之间、“参加考试”用例与“参加补考”用例之间的关系分别属于哪种类型?</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":"794934154474049537","title":"<span style=\"text-indent: 32px;\">试题二(25分)</span><p>阅读以下关于系统设计的叙述,在答题纸上回答问题1至问题3。</p><p>【说明】</p><p>某集团企业要求下属的信息中心开发一套在线办公自动化系统,以提升集团企业管理服务的质量和效率。根据调研到的需求,技术团队对系统进行了设计。其中有:</p><p>a. 由于固定资产模块和人员管理模块都需要打印,因此把人员管理模块中需要打印的数据存放在缓冲区后调用固定资产模块完成打印任务;</p><p>b. 在固定资产模块中,要求采购申请经过经办人申请、子公司负责人审批、固定资产管理员审核、行政部门审核、财务部门审核、集团领导审批环节并必须按顺序完成;</p><p>c. 为了方便调试,在固定资产模块的调用中增加了参数以控制执行路径;</p><p>d. 把常见的工具放在同一个模块中,即使没有关联;</p><p>e. 为了使用方便,固定资产管理员可以从固定资产模块跳转到系统管理模块中的账套字典维护功能;</p><p>f. 为了加强效率,人员管理模块的入职流程中的各个环节必须在半天之内全部完成。</p><br><p>【问题3】(7分)</p><p>模块化设计时需要遵循某些原则,请用300字以内的文字简要说明。</p>","analyze":"无","multi":0,"questionType":2,"answer":"<p></p><p>(1)模块的大小要适中。系统分解时需要考虑模块的规模,过大的模块可能导致系统分解不充分,其内部可能包括不同类型的功能,需要进一步划分,尽见使得各个模块的功能单一;过小的模块将导致系统的复杂度增加,模块之间的调用过于频繁,反而降低了模块的独立性。</p><p>(2)模块的扇入和扇出要合理。一个模块的扇出是指该模块直接调用的下级模块的个数;扇出大表示模块的复杂度高,需要控制和协调过多的下级模块。</p><p>(3)深度和宽度适当。深度表示软件结构中模块的层数,如果层数过多,则应考虑是否有些模块设计过于简单,看能否适当合并。宽度是软件结构中同一个层次上的模块总数的最大值,一般说来,宽度越大系统越复杂,对宽度影响最大的因素是模块的扇出。</p>","chooseItem":null,"itemList":null,"userAnswer":null,"userChooseItem":null,"answerCorrect":null,"userCollect":null},{"id":"794934124526718977","title":"<p style=\"text-indent:32px\">试题三(25分)</p><p>阅读以下关于安全攸关嵌入式系统相关技术的描述,在答题纸上回答问题 1 至问题 3。</p><p>【说明】</p><p>某公司机电管理系列产品被广泛应用于飞行器后,现场事故频繁发生,轻则飞机座舱显示机电设备工作异常,重则系统预警,切入备份运行。这些事故给航空公司带来重大经济损失。</p><p>公司领导非常重视航空公司的问题反馈,责令公司王总带队到现场进行故障排查。经过一个多月的排查,故障现象始终未复现,同时,公司实验室内也在反复出现故障,结果未取得显著成效,但发现产品存在偶然丢失协议包的现象。随后,公司领导组织行业专家召开故障分析会。王总在会上对前期故障排查情况进行了说明,指出从外场现象看 CCDL协议包丢失是引起系统报警、切换的主要原因。图3-1给出了机电管理产品的工作原理,机电管理系统主要承担了对飞行器的刹车、燃油和环控等子系统进行监视与控制,它对飞行器而言是安全攸关系统,因此,从系统结构上采用了双余度计算机系统。具体工作流程简要说明如下:</p><p>1.机电管理系统由1号计算机和 2号计算机组成,双机互为余度备份。</p><p>2.双机中分别驻留了一个 100ms 周期的CCDL任务,完成双机间的交叉对比和实时监控等工作。10ms 定时器作为任务的工作频率。</p><p>3.交叉对比协议包包含一组“AA55”报头、消息长度、数据和校验码。</p><p>4.2号机将协议包通过422总线发送给1号机(422 总线接口芯片有8级缓冲)。</p><p>5.1号机通过中断方式将422总线数据接收到大环形缓冲区中(大小为4096B)。</p><p>6.100ms的CCDL定时任务将大环形缓冲区的数据以512B为单位拷贝到小环形缓冲区中(大小512B)。</p><p>7.CCDL任务按照协议包格式解析小环形缓冲的数据,如果校验错误,丢弃当前协议包;</p><p>8.在协议包格式正确的情况下,进行数据交叉比对,比对正确则输出;比对不正确,并连续不正确超过门限,则报警。 </p><img src=\"https://image.chaiding.com/ruankao/98971bb99068008e8389205eedec0691.jpg?x-oss-process=style/ruankaodaren\" title=\"98971bb99068008e8389205eedec0691.jpg\" alt=\"111.jpg\"/><br><p>【问题3】(3分)</p><p>针对以上分析出的三种丢包原因,请举例给出两种以上的修改丢包 bug 的可能的方法。</p>","analyze":"<p>(1)合并512B和4096B两个缓冲合并。</p><p>(2)精简422串行总线中断处理程序、10ms时钟中断处理程序。避免10ms中断丢失引发100ms任务不能准时启动。</p><p>(3)缩短100ms任务的循环周期,及时处理CCDL任务。</p>","multi":0,"questionType":2,"answer":"(1)合并512B和4096B两个缓冲合并。<p>(2)精简422串行总线中断处理程序、10ms时钟中断处理程序。</p><p>(3)缩短100ms任务的循环周期,及时处理CCDL任务。</p>","chooseItem":null,"itemList":null,"userAnswer":null,"userChooseItem":null,"answerCorrect":null,"userCollect":null},{"id":"794934038644150273","title":"<p>阅读以下关于软件系统数据架构建模的说明,在答题纸上回答问题1至问题3。</p><p>【说明】</p><p>RMO是一家运动服装制造销售公司,计划在五年时间内将销售区域从华南地区扩展至全国范围。为了扩大信息技术对于未来业务发展的价值,公司邀请咨询顾问帮助他们制订战略信息系统规划。经过评审,咨询顾问给出的战略规划要点之一是建立客户关系支持系统CRSS。RMO公司决定由其技术部成立专门的项目组负责CRSS的开发和维护工作。</p><p>项目组在仔细调研和分析了系统需求的基础上,确定了基于互联网的CRSS系统架构。但在确定系统数据架构时,张工认为应该采用集中式的数据架构,给出的理由是结构简单、易维护且开发及运行成本低;而刘工建议采用分布式的数据架构,并提出在开发中通过“局部数据库+缓存”的读写分离结构实现,具有较好的运行性能和可扩展性。</p><p>项目组经过集体讨论,考虑到公司的未来发展规划,最终采用了刘工的建议。</p><br><p>【问题3】(4分)</p><p>RMO公司销售区域将在未来五年大面积扩展,其潜在客户数量也会因此大幅度增加,所以良好的可扩展性是CRSS系统所必需的质量属性。请分别说明在集中式和分布式数据架构下,可以采用哪些方法提升系统的可扩展性。</p>","analyze":"<p>略</p>","multi":0,"questionType":2,"answer":"<p>张工提出的集中式数据架构通过向上扩展(Scale Up)提升系统的可扩展性。具体的实现方式包括硬件扩容(增加CPU数量、内存容量、磁盘数量)和硬件升级(更换为高端主机或高速磁盘等)。</p><p> 刘工提出的分布式数据架构通过向外扩展(Scale Out)提升系统的可扩展性。具体的实现方式包括数据复制、数据垂直切分(或/和)水平切分、缓存和全文搜索。</p>","chooseItem":null,"itemList":null,"userAnswer":null,"userChooseItem":null,"answerCorrect":null,"userCollect":null},{"id":"794934146018332673","title":"<p style=\"text-indent:32px\">试题一(25分)</p><p>阅读以下关于软件系统分析与建模的叙述,在答题纸上回答问题1至问题3。</p><p>【说明】</p><p>某软件公司拟开发一套知识库管理系统,要求能够向客服人员提供一个便捷发布知识,以及查询已发布知识的平台。客服人员发布知识之前,必须要先查阅是否已存在相关的知识,以下为知识发布的操作行为:</p><p>(a)用户身份验证</p><p>(b)查询数据库中的知识</p><p>(c)修改知识</p><p>(d)在知识条目上标注矛盾</p><p>(e)管理员审核录入的信息</p><p>(f)判断相容性</p><p>(g)判断冗余性</p><p>(h)录入新的知识</p><p>(i)增加新的类目</p><br><p>【问题1】(6分)</p><p>在面向对象的软件分析过程中,通常建立用例模型,请列出用例建模有哪些阶段,并列出本题中的两个参与者。</p>","analyze":"无","multi":0,"questionType":2,"answer":"<p>用例建模有识别参与者、合并需求获得用例、细化用例描述和调整用例模型四个阶段,其中前三个阶段是必需的。</p><p>本题中的参与者有客服人员和管理员。</p>","chooseItem":null,"itemList":null,"userAnswer":null,"userChooseItem":null,"answerCorrect":null,"userCollect":null},{"id":"794934163214979073","title":"<p style=\"text-indent:32px\">试题五(25分)</p><p>阅读以下关于Web应用的叙述,在答题纸上回答问题1至问题3。</p><p>【说明】</p><p>某培训机构提出开发一个在线教学系统。该系统釆用微服务架构,将系统功能分解为多个松散耦合且可独立部署的较小组件或服务。最终设计的系统包括了教学系统中常见的服务:讲师服务、学员服务、在线学习服务、批改答疑服务等。</p><p>在系统上线之后,由于功能完善、界面新颖,吸引了大量用户,系统性能出现了瓶颈。在线学习服务的情况最严重,实时保存学习进度导致大量数据库写操作;网络带宽也严重不足。对于这个情况,李工提出增加服务器资源的投入,而王工提出采用集群和云原生的技术。</p><p>经过技术组内多次讨论,决定采纳了王工的建议。</p><br><p>【问题3】(12分)</p><p>请用100字以内的文字说明什么是微服务架构,并用 300字以内的文字解释基于微服务的系统与传统的单体式系统相比的2个优势和带来的2个挑战。</p>","analyze":"无","multi":0,"questionType":2,"answer":"<p>微服务架构是一种新型的架构模式,它提倡将单块架构的应用划分成一组小的服务,服务之间相互协调、相互配合、为用户提供最终价值。微服务架构中的每个服务运行在其独立的进程中,服务与服务间采用轻量级的通信机制相互沟通。每个服务都围绕着具体业务进行构建,并且能够被独立地部署到生产环境、类生产环境等中。</p><p>与传统的单体式系统相比,基于微服务的系统包含以下优势:</p><p>(1)模块化。微服务强调模块化的结构,这对大团队来说很重要;</p><p>(2)独立部署。简单的服务更容易部署,单个的服务出问题不会导致整个系统的故障;</p><p>(3)技术多样性。可以混合使用多种编程语言、开发框架以及数据存储技术。</p><p>基于微服务的系统带来的挑战:</p><p>(1)分布式特性。分布式系统的编程难度更大,因为远程调用慢,而且总存在失败的风险;</p><p>(2)最终一致性。分布式系统的强一致性很难,开发人员需要处理最终一致性的问题;</p><p>运维的复杂性。需要成熟的运维团队,管理很多需要重新部署的服务。</p>","chooseItem":null,"itemList":null,"userAnswer":null,"userChooseItem":null,"answerCorrect":null,"userCollect":null},{"id":"834660197048799233","title":"<p style=\"text-indent:27px;line-height:150%\">试题三(25分)</p><p>阅读以下关于嵌入式实时系统设计的相关技术的描述,回答问题1至问题3。</p><p>【说明】</p><p>某公司长期从事嵌入式系统研制任务,面对机器人市场的蓬勃发展,公司领导决定自主研制一款通用的工业机器人。王工承担了此工作,他在广泛调研的基础上提出:公司要成功地完成工业机器人项目的研制,应釆用实时结构化分析和设计(RTSAD)方法,该方法已被广泛应用于机器人顶层分析和设计中。</p><br><p>【问题3】(7分)</p><p>参考机器人控制器状态转换图(图2-2)和机器人控制器环境图(2-3),完善机器人控制器命令的数据流程图(图2-4)中的空(1)~(7)处,并将正确答案填写在答题纸上。</p><p style=\"text-align: left;\"><img style=\"max-width:100%;height:auto\" src=\"https://image.chaiding.com/ruankao/928c599d8df4d8fa1b805b721374a654.png?x-oss-process=style/ruankaodaren\" title=\"928c599d8df4d8fa1b805b721374a654.png\" alt=\"image.png\" width=\"385\" height=\"354\"/><br/><img style=\"max-width:100%;height:auto\" src=\"https://image.chaiding.com/ruankao/4252cf6ebef5e0c83b7700bf1a44fb07.png?x-oss-process=style/ruankaodaren\" title=\"4252cf6ebef5e0c83b7700bf1a44fb07.png\" alt=\"image.png\"/></p>","analyze":"<p>结合“机器人控制器环境图”,显然(1)为“机器人控制”。</p><p>题目已经给出T1~T6的含义:</p><p><br/></p><p>T1:触发【改变程序】、T2:触发【开始程序】</p><p>T3:触发【结束程序】、T4:触发【处理程序已结束】</p><p>T5:触发【停止程序】、T6:触发【恢复程序】</p> <p><br/></p><p>T1为触发【改变程序】,所以(2)为改变程序。依次类推,(2)~(7)得解。</p>","multi":0,"questionType":2,"answer":"<p>(1)机器人控制(2)改变程序 (3)开始程序</p><p>(4)结束程序(5)处理程序已结束(6)停止程序 (7)恢复程序</p>","chooseItem":null,"itemList":null,"userAnswer":null,"userChooseItem":null,"answerCorrect":null,"userCollect":null},{"id":"794934026010906625","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>【问题3】(8分)性能是Web应用系统的一个重要质量属性。请用200字以内的文字说明三个主要影响Web应用系统性能的 因素,针对每个因素提出解决方案以提高系统性能。</p>","analyze":"<p>略</p>","multi":0,"questionType":2,"answer":"<p>【问题3】影响Web应用系统性能的三个主要因素分别是: (1)数据库的连接与销毁。可以采用数据池的方式缓存数据库连接,实现数据库连接复用,提高系统的数据访问效率。 (2)构件或中间件的加载与卸载。可以采用分布式对象池的方式缓存创建开销大的对象,实现对象复用,用以提高效率。 (3)线程的创建与销毁。可以采用线程池的方式缓存己经创建的线程,提高系统的反应速度。</p>","chooseItem":null,"itemList":null,"userAnswer":null,"userChooseItem":null,"answerCorrect":null,"userCollect":null},{"id":"794934142008578049","title":"<p>试题四(共 25 分) </p><p>某医药销售企业因业务发展,需要建立线上药品销售系统,为用户提供便捷的互联网药品销售服务、该系统除了常规药品展示、订单、用户交流与反馈功能外,还需要提供当前热销产品排名、评价分类管理等功能。 </p><p>通过对需求的分析,在数据管理上初步决定采用关系数据库(MySQL)和数据库缓存(Redis)的混合架构实现。</p><br><p>【问题2】(10分)</p><p>在系统初步运行后,发现系统数据访问性能较差。经过分析,刘工认为原来数据库规范化设计后,关系表过于细分,造成了大量的多表关联查询,影响了性能。例如当用户查询商品信息时,需要同时显示该药品的信息、供应商的信息、当前库存等信息。</p><p>为此,刘工认为可以采用反规范化设计来改造药品关系的结构,以提高查询性能。修改后的药品关系结构为:</p><p>药品(药品ID,药品名称,药品型号,药品价格,供应商ID,供应商名称,当前库存数量);</p><p>请用300字以内的文字说明常见的反规范化设计方法,并说明用户查询商品信息应该采用哪种反规范化设计方法。</p>","analyze":"略","multi":0,"questionType":2,"answer":"<p>常见的反规范化方法有:</p><p>1、增加冗余列:增加冗余列是指在多个表中具有相同的列,它常用来在查询时避免连接操作。</p><p>2、增加派生列:增加派生列指增加的列可以通过表中其他数据计算生成。它的作用是在查询时减少计算量,从而加快查询速度。</p><p>3、重新组表:重新组表指如果许多用户需要查看两个表连接出来的结果数据,则把这两个表重新组成一个表来减少连接而提高性能。</p><p>4、水平分割表:按记录进行分割,把数据放到多个独立的表中,主要用于表数据规模很大、表中数据相对独立或数据需要存放到多个介质上时使用。</p><p>5、垂直分割表:对表进行分割,将主键与部分列放到一个表中,主键与其它列放到另一个表中, 在查询时减少 I/0 次数。</p><p>本题中用到了重新组表的方式.</p>","chooseItem":null,"itemList":null,"userAnswer":null,"userChooseItem":null,"answerCorrect":null,"userCollect":null},{"id":"794934013276999681","title":"<p>阅读以下关于Java企业级应用系统开发架构的叙述,根据要求回答问题。</p><p>[说明]</p><p> 某软件公司承担了某中小型企业应用软件开发任务,进度要求紧迫。为了按时完成任务,选择合适的企业应用系统开发架构非常重要。项目组在进行方案论证时,项目组成员提出了两种开发思路。</p><p> 刘工建议采用J2EE 5.0和EJB 3.0进行开发。理由是J2EE定义了标准的应用开发体系结构和部署环境,EJB是J2EE的基础和核心。J2EE 5.0主要目标是简化开发,相比EJB 2.1,EJB 3.0具有很多改进和提高。</p><p> 杜工建议采用Struts、Spring和Hibenate轻量级开源框架相结合的方式。理由是随着Java开源项目阵营的发展壮大,一些基于POJOs(Plan Old Java Objects)的开源框架被广泛地引入到Java企业应用开发中来,与重量级的EJB框架相比,这些轻量级的框架有很多优点。</p><p> 项目组仔细比较分析了两种方案的特点、优点和不足之处。认为杜工和刘工的建议都合理,但是从结合当前项目实际情况出发,最后决定采用杜工的建议。</p><br><p>[问题2](12分)</p><p> 请用200字以内的文字叙述Struts、Spring和Hibernate开源框架特点和结合方式。</p>","analyze":"<p>(1)Struts框架的组件在页面中显示的粗粒度,以及框架类的限制在很多情况下会表现得过于死板,给表示层的开发会带来一些额外的代码开销。</p><p>Spring框架采用依赖注入使得它可以很容易地实现Bean的装配,提供了简洁的AOP并据此实现事务管理等,但是它不具备处理应用分布式的能力。</p><p>Hibernate是一个开源的O/R Mapping框架,它对JDBC进行了非常轻量级的对象封装,可以应用在任何使用JDBC的场合,可以在应用EJB的J2EE框架中取代CMP,完成数据持久化的重任。Hibernat使用Java反射机制而不是字节码增强程序来实现透明性;使用简单;映射的灵活性很出色,它支持各种关系数据库,从一对一(1:1)到多对多(m:n)的各种复杂关系。其缺点是限制所使用的对象模型(例如,一个持久性类不能映射到多个表)。</p><p>以上意思对即可给分。</p>","multi":0,"questionType":2,"answer":"<p>【问题二】</p><p>Struts框架由于出现时间早,因此使用相对广泛,很容易找到很多现成的开源功能标签以供使用,以及样例程序可供参考。但是它的组件在页面中显示的粗粒度,以及框架类的限制在很多情况下会表现得过于死板,给表示层的开发会带来一些额外的代码开销。</p><p>Spring是业务组件层轻量级框架。Spring框架是一个基于IoC(依赖注入)和AOP(面向方面编程)的构架。用户可以通过Spring来利用普通Java对象(POJO)编程,使用依赖注入解析POJO间的依赖性,然后使用面向方面编程(AOP)将服务与它们相关联。采用依赖注入使得它可以很容易地实现Bean的装配,提供了简洁的AOP并据此实现事务管理等,但是它不具备处理应用分布式的能力。Spring的核心要点是支持不绑定到特定J2EE服务的可重用业务和数据访问对象。这样的对象可以在不同的J2EE环境(Web或EJB)、独立应用程序和测试环境之间重用。</p><p>Spring框架处于应用服务器和服务库的上方,服务整合的代码属于框架,并暴露于应用开发者。它与应用服务器整合的能力相对EJB 3.0要弱。但是Spting框架模块的可分离配置体现了它优于EJB 3.0的灵活性。</p><p>Hiberhate是一个开源的O/R Mapping框架,它对JDBC进行了非常轻量级的对象封装,可以应用在任何使用JDBC的场合,可以在应用EJB的J2EE框架中取代CMP,完成数据持久化的重任。相对而言,Hibernate基本优势表现在:使用Java反射机制而不是字节码增强程序来实现透明性;使用简单;映射的灵活性很出色,它支持各种关系数据库,从一对一(1:1)到多对多(m:n)的各种复杂关系。其缺点是限制所使用的对象模型(例如,一个持久性类不能映射到多个表)。</p><p>iBATIS是一个简易的SQL Map工具,它是将手工编写的在XML。配置文件中的SQL语句映射成Java对象。使用iBATIS提供的O/R Mapping机制,对业务逻辑实现人员而言,面对的是纯粹的Java对象,这一层与通过Hibernate实现O/R.Mapping而言基本一致,而对于具体的数据操作,HiberTlate会自动生成SOL语句,而iBATIS则要求开发者编写具体的SQL语句。相对Hibernate等“全自动”O/R Mapping机制而言,iBATIS以SQL开发的工作量和数据库移植性上的让步,为系统设计提供了更大的自由空间。作为“全自动”ORM实现的一种有益补充,iBATIS的出现显得别具意义。</p>","chooseItem":null,"itemList":null,"userAnswer":null,"userChooseItem":null,"answerCorrect":null,"userCollect":null},{"id":"794934120667959297","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>【问题2】(6分)</p><p>识别设计类是面向对象设计过程中的重要环节之一,请列举设计类的类型并从题干描述案例涉及的具体类为每种类型的设计类举出两个实例。</p>","analyze":"略","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":"794934034785390593","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>【问题2】(6分)</p><p>图3-2是李工在设计方案中给出的智能设备工作状态转换图。</p><p>(1)请指出图中的两处错误(在图中圈出)并用200字以内的文字说明理由;<br/><img style=\"max-width:100%;height:auto\" src=\"https://image.chaiding.com/ruankao/085d2bb9ba19fca728477b7e5bf7fb95.jpg?x-oss-process=style/ruankaodaren\" title=\"085d2bb9ba19fca728477b7e5bf7fb95.jpg\" alt=\"1.jpg\"/></p><p>(2)给出正确的状态转换图。</p>","analyze":"略","multi":0,"questionType":2,"answer":"<p>(1)两处不正确的转换如图所示。</p><img style=\"max-width:100%;height:auto\" src=\"https://image.chaiding.com/ruankao/87f15d8dd75888c92f9705458e640ebe.jpg?x-oss-process=style/ruankaodaren\" title=\"87f15d8dd75888c92f9705458e640ebe.jpg\" alt=\"1.jpg\"/><p>①处不正确∶配送车到达货舱地址是动作,不是状态。</p><p>②处不正确∶配送车在存/取货物状态完成后,只能是待命状态,配送车返回原位状态不存在。</p><p>(2)正确的状态转换图如下<br/><img style=\"max-width:100%;height:auto\" src=\"https://image.chaiding.com/ruankao/e4cb5f93070552570c98be4114e850bd.jpg?x-oss-process=style/ruankaodaren\" title=\"e4cb5f93070552570c98be4114e850bd.jpg\" alt=\"1.jpg\"/></p>","chooseItem":null,"itemList":null,"userAnswer":null,"userChooseItem":null,"answerCorrect":null,"userCollect":null},{"id":"834665617687597057","title":"<p style=\"text-indent:28px\">试题三(25分)</p><p>阅读以下关于嵌入式实时系统设计的相关技术的描述,回答问题1至问题3。</p><p>【说明】</p><p>某公司长期从事嵌入式系统研制任务。近期公司承担了一项面向交通领域的智能交通系统(ITS),为了将信息、通信、传感、控制及计算机等技术有效地集成运用于整个地面交通管理,达到智能交通管理的要求,经公司讨论决定,采用信息物理融合系统(Cyber PhysicalSystem,CPS)技术来保证ITS达到实时、准确、高效的智能交通管理的目的。公司领导层将此任务交给王工承担论证工作。王工在广泛调研的基础上提交了总体实施方案供讨论,大家在高度肯定总体实施方案的基础上,提出了一些问题,并就这些问题提出了补充意见。</p><br><p>【问题2】(11分)</p><p>讨论会上,与会者在CPS的体系结构构建上出现意见分歧,王工提出的智能交通管理系统拟采用传统的CPS三层体系结构(即物理层、网络层和应用层)。张工对此方案提出了异议,认为三层体系结构不能体现智能、融合等特点,由于智能交通管理系统信息量大,计算和控制是关键,应考虑将系统分解为四层体系结构,以充分体现智能、控制和信息融合的特点。经讨论,最后采纳了张工的建议。图2-1(a)和图2-1(b)分别是王工和张工提出的分层体系结构。请用150字以内的文字简要说明王工提出的三层体系结构中各层的功能划分,并详细分析图2-1(b),指出张工提出的四层体系结构与王工提出的结构存在的差异,并说明四层体系结构的两个显著优点。</p><img style=\"max-width:100%;height:auto\" src=\"https://image.chaiding.com/ruankao/4ea33edc7c22c4eaf033ef6a26ac7446.png?x-oss-process=style/ruankaodaren\" title=\"4ea33edc7c22c4eaf033ef6a26ac7446.png\" alt=\"image.png\" width=\"552\" height=\"584\"/>","analyze":"<p>王工的建议是传统的CPS三层体系结构,具体划分如下:</p><p>(1)物理层:CPS中汽车、智能道路、智能桥梁嵌入了大量传感器、计算、控制部件,组成分布式的物理环境,并相互感知与作用。</p><p>(2)网络层:网络层将大量的智能汽车连接起来,并实现了他们的互联互通。</p><p>(3)应用层:该层是指面向用户提供服务的应用软件。例如,交管部门的监控软件、智能车载软件等。</p><p>张工的建议是CPS四层体系结构,具体划分如下:</p><p>(1)感知层是与物理环境交互的感知与执行设备。相当于传统的CPS三层体系结构的物理层。</p><p>(2)计算层由计算、仿真、统计、显示设备构成。例如,路况检测、车载计算机等智能设备。计算层为CPS的控制提供参考数据。</p><p>(3)控制层收集采集设备的数据,分析数据并根据结果控制设备,由分析、调度、控制设备组成。</p><p>(4)网络层利用光纤、无线、卫星等方式组网,从而实现智能汽车之间的互操作、数据传输和资源共享。</p><p>三层体系结构可以满足智能交通管理系统的需求,但存在能力上的不足。四层体系结构与三层体系结构中,感知层与物理层功能一致。四层体系结构增加了计算层和控制层,这样层次和功能更清晰,更能方便控制和计算。</p><p>四层体系结构优势有:</p><p>(1)增加计算层和控制层可以降低感知层计算量,增加整个系统的统计、分析、计算能力。</p><p>(2)增加计算层和控制层的控制能力,可以接收计算层数据或应用层的用户控制信息,这些信息经过加工处理后生成控制命令,经网络层传送到感知层和计算层,实现对感知层上智能汽车的控制。</p>","multi":0,"questionType":2,"answer":"<p>王工的建议是传统的CPS三层体系结构,具体划分如下:</p><p>(1)物理层:CPS中汽车、智能道路、智能桥梁嵌入了大量传感器、计算、控制部件,组成分布式的物理环境,并相互感知与作用。</p><p>(2)网络层:网络层将大量的智能汽车连接起来,并实现了他们的互联互通。</p><p>(3)应用层:该层是指面向用户提供服务的应用软件。例如,交管部门的监控软件、智能车载软件等。</p><p>四层体系结构与三层体系结构中,感知层与物理层功能一致。四层体系结构增加了计算层和控制层,这样层次和功能更清晰,更能方便控制和计算。</p><p>四层体系结构优势有:</p><p>(1)增加计算层和控制层可以降低感知层计算量,增加整个系统的统计、分析、计算能力。</p><p>(2)增加计算层和控制层的控制能力,可以接收计算层数据或应用层的用户控制信息,这些信息经过加工处理后生成控制命令,经网络层传送到感知层和计算层,实现对感知层上智能汽车的控制。</p>","chooseItem":null,"itemList":null,"userAnswer":null,"userChooseItem":null,"answerCorrect":null,"userCollect":null},{"id":"794934069249986561","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>【问题1】(8分)</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":"794934077907030017","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>【问题3】(6分)</p><p>根据说明和图中术语,补充图1-2中缺失的数据流及其起点和终点(三条即可)。</p>","analyze":"无","multi":0,"questionType":2,"answer":"<p>缺失数据流如表:</p><img style=\"max-width:100%;height:auto\" src=\"https://image.chaiding.com/ruankao/9b15b63f995b924190dd8b12bc4fdd46.png?x-oss-process=style/ruankaodaren\" title=\"9b15b63f995b924190dd8b12bc4fdd46.png\" alt=\"image.png\"/>","chooseItem":null,"itemList":null,"userAnswer":null,"userChooseItem":null,"answerCorrect":null,"userCollect":null},{"id":"794934086564073473","title":"<p>某公司拟开发一个商业情报处理系统,使公司能够及时针对市场环境的变化及时调整发展战略,以获取最大的商业利益。项目组经过讨论,决定采用结构化分析和设计方法。在系统分析阶段,为了更好地对情报数据处理流程及其与外部角色的关联进行建模,项目组成员分别给出了自己的设计思路:</p><p>(1)小张提出先构建系统流程图(System Flowcharts),以便更精确地反映系统的业务处理过程及数据的输入和输出;</p><p>(2)小李提出先构建系统数据流图(Data Flow Diagrams),来展现系统的处理过程和定义业务功能边界,并给出了情报分类子系统的0层和1层数据流图,后者如图2-1所示。<br/><img src=\"https://image.chaiding.com/ruankao/4735ebaa509c0e4bb04cab764658d434.jpg?x-oss-process=style/ruankaodaren\" title=\"4735ebaa509c0e4bb04cab764658d434.jpg\" alt=\"1.jpg\"/><br/>项目组经讨论确定以数据流图作为本阶段的建模手段。工程师老王详细说明了流程图和数据流图之间的区别与联系,并指出了图2-1的数据流图中存在的错误。</p><br>高质量的数据流图是可读的、内部一致的并能够准确表示系统需求。请用300字以内文字说明在设计高质量的数据流图时应考虑的三个原则。","analyze":"无","multi":0,"questionType":2,"answer":"<p>【问题3】</p><p>高质量数据流图设计时应考虑的三个原则:</p><p>(1)复杂性最小化原则。DFD分层结构就是把信息划分为小的且相对独立的一大批子集例子,这样就可以单独考查每一个DFD。如果要了解某个过程更加详的信息,可以跳转到该过程的下一层;如果要知道一个DFD如何与其他DFD相关联,可以跳转到上一层的DFD进行考查。</p><p>(2)接口最小化原则。接口最小化是复杂性最小化的一种具体规则。在设计模式时,应使得模型中各个元素之间的接口数或连接数最小化。</p><p>(3)数据流一致性原则。一个过程和它的过程分解在数据流内容中是否有差别?是否存在有数据流出但没有相应的数据流入的加工?是否存在有数据流入但没有相应的数据流出的加工?</p>","chooseItem":null,"itemList":null,"userAnswer":null,"userChooseItem":null,"answerCorrect":null,"userCollect":null},{"id":"794934052472770561","title":"<p>试题二(25分)</p><p>电子政务是指政府机构利用信息化手段来实现政府职能。</p><p>某市房地产交易网站是市建设委员会实施电子政务的门户,网站包括以下栏目∶ 项目公示、业务办理、信息发布、通知公告、政策法规、房地产经纪、在线答疑等,其中业务办理栏目中又包括申办预售许可、期房网上签约、申请预售登记、权属登记申请、现房网上签约、经纪机构管理、评估行业管理等项目,多数的业务办理项目需要管理部门多级审批。</p><br><p>【问题1】(6分)</p><p>—般而言,电子政务业务分为三个领域,如下图电子政务业务模型所示(箭头表示信息的流向)。根据备选答案在图中(1)、(2)、(3)空中填写恰当的内容。</p><p>A:政府办公自动化 B:通知公告 C:信息登记 D:政务信息查询 E:公共政务办公</p><p><img style=\"max-width:100%;height:auto\" src=\"https://image.chaiding.com/ruankao/55fa28e6e170ab2a1dae0bf1dfc37f94.jpg?x-oss-process=style/ruankaodaren\" title=\"55fa28e6e170ab2a1dae0bf1dfc37f94.jpg\" alt=\"1.jpg\"/></p><br/>","analyze":"无","multi":0,"questionType":2,"answer":"A、D、E","chooseItem":null,"itemList":null,"userAnswer":null,"userChooseItem":null,"answerCorrect":null,"userCollect":null},{"id":"794934039604645889","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>【问题1】(6分)</p><p>Java 企业应用框架一般被划分为三个层次,请用 150 字以内文字说明都有哪三个层次?功能分别是什么?</p>","analyze":"略","multi":0,"questionType":2,"answer":"<p>表现层、业务逻辑层和持久层。</p><p>表现层用来建立应用系统的界面。</p><p>业务逻辑层用来开发应用逻辑。</p><p>持久层是实现持久化存储。</p>","chooseItem":null,"itemList":null,"userAnswer":null,"userChooseItem":null,"answerCorrect":null,"userCollect":null},{"id":"794934134211366913","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. 平台主要分为商家、顾客和管理员三类用户。商家代表在平台上发布供应和商品的用户,顾客代表在平台上下采购订单的用户,管理员代表平台上的运营和维护人员。</p><p>2. 商家在注册账户后获得一个店铺,店铺拥有库存,库存中存放商品记录。商家可以通过添加商品和追加库存的方式,向库存中添加店铺中可销售的商品。通过标记商品上/下架状态或调整库存的方式设置商品是否在店铺中展示和销售。当商品库存为0时,不会出现在商家店铺中。</p><p>3. 顾客在浏览商家店铺和商品的过程中可以直接下订单(3.1),或将商品加入购物车(3.2),然后再使用购物车生成订单(3.3)。</p><p>3.1 顾客在浏览到某个合意的商品时,可直接填写商品数量并生成订单;</p><p>3.2 顾客在浏览到某个合意的商品时,可将商品添加到购物车中。添加时可提前填入商品数量,也可未来在购物车中修改商品数量;</p><p>在购物车中,顾客可以移除商品,也可以调整购买商品的数量。顾客可以通过复选框勾选部分商品或全部商品,然后通过生成订单按钮依据选中商品生成一个新的订单。</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":"794934104230481921","title":"<p style=\";text-indent:28px;text-autospace:ideograph-numeric\">试题一(25分)</p><p>阅读以下关于软件系统分析与建模的叙述,在答题纸上回答问题1至问题3。</p><p style=\"text-indent: 28px\">【说明】</p><p>某软件公司计划开发一套教学管理系统,用于为高校提供教学管理服务。该教学管理系统基本的需求包括:</p><p>(1)系统用户必须成功登录到系统后才能使用系统的各项功能服务;</p><p>(2)管理员(Registrar)使用该系统管理学校(University)、系(Department)、教师(Lecturer)、学生(Student)和课程(Course)等教学基础信息;</p><p>(3)学生使用系统选择并注册课程,必须通过所选课程的考试才能获得学分;如果考试不及格,必须参加补考,通过后才能获得课程学分;</p><p>(4)教师使用该系统选择所要教的课程,并从系统获得选择该课程的学生名单;</p><p>(5)管理员使用系统生成课程课表,维护系统所需的有关课程、学生和教师的信息;</p><p>(6)每个月到了月底系统会通过打印机打印学生的考勤信息。</p><p>项目组经过分析和讨论,决定采用面向对象开发技术对系统各项需求建模。</p><br><p>【问题3】(11分)</p><p>面向对象方法方法对系统进行建模的时候,还会使用到UML中的状态图与活动图,简述两者的区别与联系。</p>","analyze":"无","multi":0,"questionType":2,"answer":"<p>两者的区别:状态图主要描述系统行为的结果,活动图则主要描述行为的动作。</p><p>两者的联系:均是对系统的动态方面进行建模。</p>","chooseItem":null,"itemList":null,"userAnswer":null,"userChooseItem":null,"answerCorrect":null,"userCollect":null},{"id":"834660198143512577","title":"<p style=\"text-indent:27px;line-height:150%\">试题四(25分)</p><p>阅读以下关于数据管理的叙述,在答题纸上回答问题1至问题3。</p><p>【说明】</p><p>某全国连锁药店企业在新冠肺炎疫情期间,紧急推出在线口罩预约业务系统。该业务系统为普通用户提供口罩商品查询、购买、订单查询等业务,为后台管理人员提供订单查询、 订单地点分布汇总、物流调度等功能。该系统核心的关系模式为预约订单信息表。</p><p>推出业务系统后,几天内业务迅速增长到每日10万多笔预约订单,系统数据库服务器 压力剧增,导致该业务交易响应速度迅速降低,甚至出现部分用户页面无法刷新、预约订单 服务无响应的情况。为此,该企业紧急成立技术团队,由张工负责,以期尽快解决该问题。 </p><br><p>【问题3】(6分)</p><p>在系统运行过程中,李工发现后台管理人员执行的订单地址信息汇总等操作,经常出现与普通用户的预约订单操作形成读写冲突,影响系统的性能。因此李工建议釆用读写分离模式,釆用两台数据库服务器,并釆用主从复制的方式进行数据同步。请用100字以内的文字简要说明主从复制的基本步骤。</p>","analyze":"<p>主从复制是指建立两个完全一样的数据数据库,分别是主(master)数据库服务器,从(slave)数据库服务器。</p><p>主数据库有数据写入,包括插入、删除、修改,都会在从数据库上操作一次。这样确保主从数据库的数据都是一样的。</p>","multi":0,"questionType":2,"answer":"<p>主从复制工作步骤:</p><p>(1)主数据库启动一个线程,把主数据库的写入操作都会记录到对应的二进制日志文件中。</p><p>(2)从数据库会启动一个线程,把主数据库的二进制日志文件读取到本地,并写入到中继日志文件中。</p><p>(3)从数据库的其他线程,把中继日志文件中的事件再执行一遍,更新从数据库的数据,保持主从数据一致。</p><p> </p>","chooseItem":null,"itemList":null,"userAnswer":null,"userChooseItem":null,"answerCorrect":null,"userCollect":null},{"id":"794934112937857025","title":"<p>试题四(共25分)</p><p>某医药销售企业因业务发展,需要建立线上药品销售系统,为用户提供便捷的互联网药品销售服务、该系统除了常规药品展示、订单、用户交流与反馈功能外,还需要提供当前热销产品排名、评价分类管理等功能。</p><p>通过对需求的分析,在数据管理上初步决定采用关系数据库(MySQL)和数据库缓存(Redis)的混合架构实现。</p><br><p>【问题2】(10分)</p><p>在系统初步运行后,发现系统数据访问性能较差。经过分析,刘工认为原来数据库规范化设计后,关系表过于细分,造成了大量的多表关联查询,影响了性能。例如当用户查询商品信息时,需要同时显示该药品的信息、供应商的信息、当前库存等信息。</p><p>为此,刘工认为可以采用反规范化设计来改造药品关系的结构,以提高查询性能。修改后的药品关系结构为:</p><p>药品(药品ID,药品名称,药品型号,药品价格,供应商ID,供应商名称,当前库存数量);</p><p>请用300字以内的文字说明常见的反规范化设计方法,并说明用户查询商品信息应该采用哪种反规范化设计方法。</p>","analyze":"无","multi":0,"questionType":2,"answer":"<p>常见的反规范化方法有:</p><p>1、增加冗余列:增加冗余列是指在多个表中具有相同的列,它常用来在查询时避免连接操作。</p><p>2、增加派生列:增加派生列指增加的列可以通过表中其他数据计算生成。它的作用是在查询时减少计算量,从而加快查询速度。</p><p>3、重新组表:重新组表指如果许多用户需要查看两个表连接出来的结果数据,则把这两个表重新组成一个表来减少连接而提高性能。</p><p>4、水平分割表:按记录进行分割,把数据放到多个独立的表中,主要用于表数据规模很大、表中数据相对独立或数据需要存放到多个介质上时使用。</p><p>5、垂直分割表:对表进行分割,将主键与部分列放到一个表中,主键与其它列放到另一个表中, 在查询时减少 I/0 次数。</p><p>本题中用到了重新组表的方式.</p>","chooseItem":null,"itemList":null,"userAnswer":null,"userChooseItem":null,"answerCorrect":null,"userCollect":null},{"id":"834665618459348993","title":"<p style=\"text-indent:28px\">试题四(25分)</p><p>阅读以下关于数据管理的叙述,在答题纸上回答问题1至问题3。</p><p> </p><p>【说明】</p><p>某大型企业在长期信息化建设过程中,面向不同应用,开发了各种不同类型的应用软件系统,以满足不同的业务需求。随着用户需求和市场的快速变化,要求企业应能快速地整合企业的各种业务能力,为不同类型的用户提供多种流程的业务服务。但现有各个独立的应用系统难以满足日益增长和快速变化的用户需求。</p><p>目前该企业各个应用系统主要存在以下问题:</p><p>(1)应用系统是异构的、运行在不同软硬件平台上的信息系统;</p><p>(2)应用系统的数据源彼此独立、相互封闭,使得数据难以在系统之间交互、共享和融合,即存在“信息孤岛”;</p><p>(3)系统是面向应用的,各个应用系统中的数据模型差异大,即使同一数据实体,其数据类型、长度、值均存在不一致甚至相互矛盾的问题。为此,该企业专门成立了研发团队,希望能够尽快解决上述问题。</p><br><p>【问题1】(10分)</p><p>李工建议采用数据集成的方式来实现数据的整合,同时构建新系统来满足新的需求。针对题干中的问题(3),李工提出首先应面向企业核心的业务主题,做好企业战略数据规划,建立企业的主题数据库,然后再进行集成系统的开发。</p><p>请用200字以内的文字简要说明主题数据库的设计要求和基本特征。</p>","analyze":"<p>詹姆斯·马丁提出的主题数据库概念和有关理论方法,是为了解决包括“信息孤岛”问题在内的“数据处理危机”问题。</p><p>举例说明面向主题数据库与应用数据库的区别。</p><p>工资系统中,小明的工资编号是9527;而人事系统中,小明的人事编号是9999。两个系统要交换数据,应用数据库的解决方式是建立工资编号9527和人事编号9999的转换接口,两个系统各1个。如果单位新增了社保系统、医保系统,则4个系统间需要构建4×3=12个接口。系统越多,要定制的接口数就越多,最终导致接口太多,效率低下,甚至无法达成目标。</p><p>面向主题数据库的解决方式是,统一员工编号,统一存储信息,构建“员工主题数据库”。而工资系统、人事系统、社保系统、医保系统等系统共享员工信息。这样就避免了建立多个不必要的接口的情况。</p><p>主题数据库的设计要求包含应保证稳定性;确保能加快应用系统开发;保持主题数据库逻辑结构的独立性,不因计算机的软硬件不同而受到影响。</p><p>主题数据库的基本特征有:</p><p>(1)面向业务主题。主题数据库是面向业务主题的数据组织存储,围绕需要解决的问题展开。企业中需要建立的典型主题数据库有:产品、客户、零部件、供应商等。其中,产品、客户等数据库结构,是先分析报表结构后设计的,不是照搬原来报表格式。</p><p>(2)信息共享。主题数据库彻底否定各个系统“自建自用”数据库,强调各个系统“共建共享”数据库。</p><p>(3)一次一处输入系统。主题数据库要求调研企业经营各层次上的数据源,强调就地采集、处理、使用,进行必要传输、集中存储。同一数据必须一次、一处进入系统,确保数据的准确性、完整性、及时性,保证可以多次、多处使用。</p><p>(4)由基本表组成。基本表具有如下特性:</p><p>· 原子性:基本表中的数据项是最小的、不能再分解的信息单元;</p><p>· 演绎性:基本表是精练的,可以产生全部企业经营管理所需要的数据;</p><p>· 规范性:基本表中数据满足三范式(3NF)要求。</p>","multi":0,"questionType":2,"answer":"<p>主题数据库的设计要求包含应保证稳定性;确保能加快应用系统开发;保持主题数据库逻辑结构的独立性,不因计算机的软硬件不同而受到影响。</p><p>主题数据库的基本特征有:</p><p>(1)面向业务主题。主题数据库是面向业务主题的数据组织存储,围绕需要解决的问题展开。</p><p>(2)信息共享。主题数据库彻底否定各个系统“自建自用”数据库,强调各个系统“共建共享”数据库。</p><p>(3)一次一处输入系统。同一数据必须一次、一处进入系统,确保数据的准确性、完整性、及时性,保证可以多次、多处使用。</p><p>(4)由基本表组成。基本表具有原子性、演绎性、基本表中数据满足三范式(3NF)要求等特性。</p>","chooseItem":null,"itemList":null,"userAnswer":null,"userChooseItem":null,"answerCorrect":null,"userCollect":null},{"id":"794934035745886209","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>【问题3】(9分)</p><p>针对李工的设计缺陷,请用300字以内的文字说明本项目应如何进行正确设计。</p>","analyze":"略","multi":0,"questionType":2,"answer":"<p>1.在设计方案初期,应充分考察大型物料配送中心的现场环境,根据配送中心所处地理的位置,确定智能设备的环境温度要求,可以遵循工业标准(-40~+60)或民用标准(-20~~+50);</p><p>2.通过分析智能设备的计算量,合理评估处理机处理能力需求。处理机芯片选型原则∶</p><p>(1)较通用的 DSP 处理机芯片;</p><p>(2)已被广泛应用,技术成熟、且价格适中;</p><p>(3)处理能力满足智能设备计算量需求;</p><p>(4)关键芯片可选用工业档,其它芯片可选用民用档; </p><p>3.根据智能设备的功能要求,进行软件需求分析。主要内容包括∶</p><p>(1)完成功能定义;</p><p>(2)制定正确状态转换图,并多于用户沟通,得到用户认可;</p><p>(3)定义智能设备与配送中心数据交换格式;</p><p>(4)明确智能设备与配送中心的控制命令及参数; </p><p>4.编制设计方案,并请同行专家及用户评审。</p>","chooseItem":null,"itemList":null,"userAnswer":null,"userChooseItem":null,"answerCorrect":null,"userCollect":null},{"id":"794934130335830017","title":"<p style=\"text-indent:32px\">试题五(25分)</p><p>阅读以下关于Web应用的叙述,在答题纸上回答问题1至问题3。</p><p>【说明】</p><p>某软件企业拟开发一套基于Web的SaaS系统,该系统按租户视图、系统管理视图以及业务视图划分为多个相应的Web应用,系统需求中还包含邮件服务、大文件上传下载、安全攻击防护等典型Web系统基础服务需求。</p><br><p>【问题3】(7分)</p><p>系统实现相应的配置管理与监控功能时,需要集成云平台侧提供的大量服务以实现配置数据的读取写入与不同视图监测数据的获取。项目组在确定服务集成方案时,对比了REST风格RPC与SOAP RPC两种方案,经过分析讨论,项目组最终决定采用REST风格RPC机制实现服务集成,请在表5-2中填写(1)~(7)。</p><p>表5-2 选择REST方案的理由及判断</p><img style=\"max-width:100%;height:auto\" src=\"https://image.chaiding.com/ruankao/bde8b0afcce6f608a98c5aa5b3200a92.jpg?x-oss-process=style/ruankaodaren\" title=\"bde8b0afcce6f608a98c5aa5b3200a92.jpg\" alt=\"111.jpg\"/>","analyze":"略","multi":0,"questionType":2,"answer":"<p>(1)纯文本、HTML、XML、JSON等 (2)功能驱动</p><p>(3)低 (4)高 (5)差 (6)可以缓存 (7)容易 </p>","chooseItem":null,"itemList":null,"userAnswer":null,"userChooseItem":null,"answerCorrect":null,"userCollect":null},{"id":"794934139076759553","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>[问题2](10分)</p><p>李工和王工通过认真地对需求进行了分析,给出了时间性能评估报告,判定在上述硬件平台上可以满足系统要求。请用300字以内文字简要说明嵌入式实时操作系统中时间性能评估中主要考虑哪几项因素;针对本课题的具体数据,叙述系统的工作时序关系。</p>","analyze":"略","multi":0,"questionType":2,"answer":"<p>【问题2】</p><p>嵌入式实时系统中时间性能评估主要考虑以下几个因素:</p><p>(1)系统(操作系统)时间开销,一般不大于整个控制系统运行时间总开销的20%。</p><p>(2)保证所有任务在规定的时间期限内完成(或进行可调度性评估)。</p><p>(3)任务的上下文切换时间和中断响应时间。</p><p>针对本题的具体数据,系统的工作时序关系应该是:</p><p>系统的最小时间节拍定义为5ms,系统最大工作周期为1s,在每个5ms起点,5ms任务首先运行,占1ms时间,完成后转入处理被终止的任务;如果这个时刻时间到达20ms的起点,则启动20ms任务运行,以此类推,确保在1s周期内所有任务按规定的时间序列执行。</p>","chooseItem":null,"itemList":null,"userAnswer":null,"userChooseItem":null,"answerCorrect":null,"userCollect":null},{"id":"834665614936133633","title":"<p style=\"text-indent:28px\">试题一(25分)</p><p>阅读下列说明,回答问题1至问题3,将解答填入答题纸的对应栏内。</p><p> </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>【问题1】(12分)</p><p>FAST开发方法在系统分析中包括了初始研究、问题分析、需求分析和决策分析等四个阶段,请简要说明每个阶段的主要任务。</p>","analyze":"<p>Fast开发方法是一种快速、模块化的软件开发方法,快速提供一个可用的软件产品,然后通过不断迭代来提高软件产品的可用性和可扩展性。</p><p>FAST开发方法在系统分析中包括了初始研究、问题分析、需求分析和决策分析等四个阶段。</p><p>1)初始研究(又称初始研究阶段):定义范围和目标,计划项目进度表和预算,列出问题,明确开发团队的目标和期望。</p><p>2)问题分析:深入研究问题,分析问题和机会,制定系统改进目标。</p><p>3)需求分析:定义、分析、排列需求,持续不断的需求管理。</p><p>4)决策分析:分析、比较候选方案,推荐一个系统方案。</p>","multi":0,"questionType":2,"answer":"<p>FAST开发方法在系统分析中包括了初始研究、问题分析、需求分析和决策分析等四个阶段。</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":"794934015227351041","title":"<p>试题一(24分)</p><p>阅读以下关于软件体系结构方面的叙述,根据要求回答下面问题。</p><p>[说明]</p><p> 某大中型企业在全国各城市共有15个左右的分支机构,这些机构已经建设了相关的关系型数据库管理系统,每天负责独立地处理本区域内的业务并实时存储业务数据。PH软件公司承接了该大中型企业信息管理系统的升级改造开发任务。该软件公司的领域专家对需求进行深入分析后,得到的部分系统需求如下。</p><p> 1、开发一个网络财务程序,使各地员工能在Internet上通过VPN技术进行财务单据报销和处理。</p><p> 2、为了加强管理,实现对下属分支机构业务数据的异地存储备份,保证数据的安全及恢复,同时对全国业务数据进行挖掘分析,拟在该企业总部建设数据中心。</p><p> 3、PH公司在设计该财务程序的体系结构时,开发项目组产生了以下分歧:</p><p> 架构师许工认为应该采用客户机/服务器(C/S)架构风格,各分支机构财务部要安装一个软件客户端,通过这个客户端连接到总公司财务部主机。如果员工在外地出差,需要报销账务的,也需要安装这个客户端才能进行。</p><p> 架构师郭工认为应该采用浏览器/服务器(B/S)架构风格,各分支机构及出差员工直接通过Windows操作系统自带的IE浏览器就可以连接到总公司的财务部主机。</p><p>在架构评估会议上,专家对这两种方案进行综合评价,最终采用了C/S和B/S相结合的混合架构风格。</p><br><p>【问题3】(9分)为保证各分支机构可靠、高效地向数据中心汇总业务数据,避免单点故障,对该企业总部数据中心架构设计时,应该采用哪些相关的技术?</p>","analyze":"略","multi":0,"questionType":2,"answer":"<p>包含但不限于以下内容:</p><p>①采用双链路连接Internet的备份方式。</p><p> ②对数据中心的数据库服务器采用双机冗余热备方式(或多机集群Cluster和数据库并行处理技术等)。</p><p> ③对存储设备采用RAID10级别(或全冗余的SAN结构,或全冗余的存储结构)等。</p>","chooseItem":null,"itemList":null,"userAnswer":null,"userChooseItem":null,"answerCorrect":null,"userCollect":null},{"id":"834665615322009601","title":"<p style=\"text-indent:28px\">试题一(25分)</p><p>阅读下列说明,回答问题1至问题3,将解答填入答题纸的对应栏内。</p><p> </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>【问题2】(8分)</p><p>在问题分析阶段,因果分析方法常用于分析系统中的问题和改进项,请结合题目中所描述各项内容,将题干编号(1)~(9)填入表2-1的(a)~(d)中。</p><img style=\"max-width:100%;height:auto\" src=\"https://image.chaiding.com/ruankao/1da664b57f9d806bc4f163b00805127b.png?x-oss-process=style/ruankaodaren\" title=\"1da664b57f9d806bc4f163b00805127b.png\" alt=\"image.png\" width=\"644\" height=\"150\"/>","analyze":"<p>问题/机会:系统存在的问题和改进的可能。本题中“(3)器材销售订单处理速度太慢导致很多用户取消订单;”属于问题/机会。</p><p>原因/结果:促进系统改进,达成目标的原因与结果之间的关联关系。本题中“(4)后台服务器硬件配置比较低;(6)订单处理过程中用户需要输入大量信息;(9)大量的并发访问会导致App页面无法正常显示。”属于原因/结果。</p><p>制定系统改进目标,则是建立成功的准则,对系统的改进都应该遵循此规则。它同时确定限制系统改进灵活性的约束条件。系统改进目标应该是可以度量的,非常明确的;约束条件可以是进度、成本、技术、政策等。</p><p>本题中“(1)器材销售订单处理的时间应该减少20%;(5)用户下单过程中应该减少用户输入的数据量;(7)利用云计算服务可以降低50%的服务器处理时间;”可以度量且明确,因此属于系统目标。</p><p>“(2)移动端支持iOS和Android两类操作系统;(8)公司能投入的技术维护人员数量有限;”是系统的限制,因此属于约束条件。</p>","multi":0,"questionType":2,"answer":"<p>(a)(3)</p><p>(b)(4)、(6)、(9)</p><p>(c)(1)、(5)、(7)</p><p>(d)(2)、(8)</p>","chooseItem":null,"itemList":null,"userAnswer":null,"userChooseItem":null,"answerCorrect":null,"userCollect":null},{"id":"834660195173945345","title":"<p style=\"text-indent:27px;line-height:150%\">试题二(25分)</p><p>阅读以下关于软件系统分析与设计的叙述,在答题纸上回答问题1至问题3。</p><p>【说明】</p><p>某企业拟开发一套数据处理系统,在系统分析阶段,系统分析师整理的核心业务流程与需求如下:</p><p>(a)系统分为管理员和用户两类角色,其中管理员主要进行用户注册与权限设置,用户主要完成业务功能;</p><p>(b)系统支持用户上传多种类型的数据,主要包括图像、文本和二维曲线等;</p><p>(c)数据上传完成后,用户需要对数据进行预处理操作,预处理操作包括图像增强、文本摘要,曲线平滑等;</p><p>(d)预处理操作完成后,需要进一步对数据进行智能分析,智能分析操作包括图像分类、文本情感分析、曲线未来走势预测等;</p><p>(e)上述预处理和智能分析操作的中间结果均需要进行保存;</p><p>(f)用户可以将数据分析结果以图片、文本、二维图表等多种方式进行展示,并支持结果汇总,最终导出为符合某种格式的报告。</p><br><p>【问题1】(9分)</p><p>数据流图(Data Flow Diagram,DFD)是一种重要的结构化系统分析方法,重点表达系统内数据的传递关系,并通过数据流描述系统功能。请用300字以内的文字说明DFD在进行系统需求分析过程中的主要作用。</p>","analyze":"<p>数据流图用于描述数据流的输入到输出的变换,是一种重要的结构化系统分析方法。</p>","multi":0,"questionType":2,"answer":"<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":"794934024035389441","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>【问题1】(8分)请分析比较王工、李工两种方案的优点和不足,完成下表中的空白部分。</p><img style=\"max-width:100%;height:auto\" src=\"https://image.chaiding.com/ruankao/a2ec02315ae45e4c83981c2442340664.jpg?x-oss-process=style/ruankaodaren\" title=\"a2ec02315ae45e4c83981c2442340664.jpg\" alt=\"1.jpg\"/>","analyze":"略","multi":0,"questionType":2,"answer":" 【问题1】<br/><img style=\"max-width:100%;height:auto\" src=\"https://image.chaiding.com/ruankao/6123022b19a7a1da439a90c55867e032.jpg?x-oss-process=style/ruankaodaren\" title=\"6123022b19a7a1da439a90c55867e032.jpg\" alt=\"1.jpg\"/>","chooseItem":null,"itemList":null,"userAnswer":null,"userChooseItem":null,"answerCorrect":null,"userCollect":null},{"id":"794934118725996545","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>【问题3】(9分)</p><p>赵工把调研到的需求跟分析建立的模型联合编写为SRS,其中包括了数据字典。请用300字以内的文字简要说明数据字典的作用,以及有哪些条目。</p>","analyze":"略","multi":0,"questionType":2,"answer":"<p>数据字典可以确保数据在系统中的完整性和一致性。具体地讲,数据字典有以下作用:</p><p>①u3000按各种要求列表。</p><p>②u3000相互参照,便于系统修改。</p><p>③u3000由描述内容检索名称。</p><p>④u3000一致性检验和完整性检验。</p><p>数据字典中有6类条目:数据项、数据结构、数据流、数据存储、处理过程和外部实体。不同类型的条目有不同的属性。</p><p>①u3000数据项又被称为数据元素,是系统中最基本的数据组成单位,也就是不可再分的数据单位。</p><p>②u3000数据结构描述某些数据项之间的关系。</p><p>③u3000数据流由一个或一组固定的数据项组成。</p><p>④u3000处理逻辑的定义仅对数据流程图中最底层的处理逻辑加以说明。</p><p>⑤u3000数据存储在数据字典中只描述数据的逻辑存储结构,而不涉及它的物理组织。</p><p>外部实体是数据的来源和去向。</p>","chooseItem":null,"itemList":null,"userAnswer":null,"userChooseItem":null,"answerCorrect":null,"userCollect":null},{"id":"794934020059189249","title":"<p>试题三(25分)</p><p> 阅读以下关于汽车电子基础软件架构的说明,在对应栏内回答问题1至问题3。</p><p>[说明]</p><p> 某软件公司承担了某项国家重点项目的研制工作,任务重点是参考国外汽车电子发展趋势,开发某汽车公司的企业汽车电子基础软件的架构,逐步实现汽车企业未来技术发展规划。</p><p> 该软件公司接受此项任务后,调动全体技术人员深入收集国外相关技术资料,经过多方调研和分析,公司提出遵照国际组织最新推出的AUTOSAR规范,按统筹规划、分步骤实施的原则,实现汽车公司的基础软件架构设计。图3-1给出了AUTOSAR规范所定义的工作包,图中灰色部分代表本项目工作所包含的内容,即软件架构和基础软件。</p><img src=\"https://image.chaiding.com/ruankao/d596719ff1c8bd0873475b91673dd762.jpg?x-oss-process=style/ruankaodaren\" title=\"d596719ff1c8bd0873475b91673dd762.jpg\" alt=\"1.jpg\"/><br/><br><p>【问题2】(10分)图3-1中的Ⅱ-1.1.1项中定义了软件架构和操作系统的要求,图3-4是满足AUTOSAR定义的操作系统各功能模块的层次结构,请说明(1)~(5)箭头所标的具体操作含义。</p><img style=\"max-width:100%;height:auto\" src=\"https://image.chaiding.com/ruankao/deb35d7b67d55cad3fb50f26e2f8a088.jpg?x-oss-process=style/ruankaodaren\" title=\"deb35d7b67d55cad3fb50f26e2f8a088.jpg\" alt=\"1.jpg\"/><br/><img style=\"max-width:100%;height:auto\" src=\"https://image.chaiding.com/ruankao/300642147a431abfac9fb2d03aa052e8.jpg?x-oss-process=style/ruankaodaren\" title=\"300642147a431abfac9fb2d03aa052e8.jpg\" alt=\"2.jpg\"/><br/><img style=\"max-width:100%;height:auto\" src=\"https://image.chaiding.com/ruankao/8ac497ff2bcc8c4ba0654744565c53ef.jpg?x-oss-process=style/ruankaodaren\" title=\"8ac497ff2bcc8c4ba0654744565c53ef.jpg\" alt=\"1.jpg\"/><br/>","analyze":"<p>本问题是一道读图题,要求考生在分析AUTOSAR定义的操作系统结构进行分析与理解的基础上进行填写。根据图示,系统从下至上依次可以分为中断管理、事件管理、警报管理、进程管理和调度以及资源管理4个部分。根据图中模块之间的关系,可以看出,(1)处主要表示当操作系统的警报管理发现ECU系统出错时,启动错误处理程序;(2)处表示错误处理程序将具体动作交由进程管理完成对发生错误的任务进行处理;(3)处表示错误处理程序产生一个错误事件;(4)处表示任务控制块处理程序调用资源管理功能,实现硬件资源重分配;(5)处表示任务控制块处理程序通知事件管理,对错误事件进行应答。</p>","multi":0,"questionType":2,"answer":"<p>【问题2】(1)操作系统的警报管理发现ECU系统出错时,启动错误处理程序;</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":"794934148908208129","title":"<span style=\"text-indent: 32px;\">试题二(25分)</span><p>阅读以下关于系统设计的叙述,在答题纸上回答问题1至问题3。</p><p>【说明】</p><p>某集团企业要求下属的信息中心开发一套在线办公自动化系统,以提升集团企业管理服务的质量和效率。根据调研到的需求,技术团队对系统进行了设计。其中有:</p><p>a. 由于固定资产模块和人员管理模块都需要打印,因此把人员管理模块中需要打印的数据存放在缓冲区后调用固定资产模块完成打印任务;</p><p>b. 在固定资产模块中,要求采购申请经过经办人申请、子公司负责人审批、固定资产管理员审核、行政部门审核、财务部门审核、集团领导审批环节并必须按顺序完成;</p><p>c. 为了方便调试,在固定资产模块的调用中增加了参数以控制执行路径;</p><p>d. 把常见的工具放在同一个模块中,即使没有关联;</p><p>e. 为了使用方便,固定资产管理员可以从固定资产模块跳转到系统管理模块中的账套字典维护功能;</p><p>f. 为了加强效率,人员管理模块的入职流程中的各个环节必须在半天之内全部完成。</p><br><p>【问题1】(6分)</p><p>在处理流程设计中常用一些表示处理流程的工具,请列出这些工具分为哪些种类,并为每种工具举一个例子。</p>","analyze":"无","multi":0,"questionType":2,"answer":"<p>表示处理流程的工具包括三类:图形工具、表格工具和语言工具。其中常见的图形工具包括程序流程图、IPO 图、盒图、问题分析图、判定树,表格工具包括判定表,语言工具包括过程设计语言等。</p>","chooseItem":null,"itemList":null,"userAnswer":null,"userChooseItem":null,"answerCorrect":null,"userCollect":null},{"id":"794934067320606721","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>【问题3】(9分) </p><p>项目经理以工期紧、项目难度高为由,向高层领导汇报申请组建12人的项目团队,但领导没有批准。</p><p>(1)领导为什么没有同意该项目经理的要求?若不考虑人员能力差异,该项目所需人数最少是多少个人? </p><p>(2)由于资源有限,利用总时差、自由时差,调整项目人员安排而不改变项目关键路径和工期的技术是什么? </p><p>(3)活动C、E、G各自最迟从第几天开始执行才能满足(1)中项目所需人数最少值?</p>","analyze":"<p><img style=\"max-width:100%;height:auto\" src=\"https://image.chaiding.com/ruankao/594decbdebae84e702980c0a30dea3a1.jpg?x-oss-process=style/ruankaodaren\" title=\"594decbdebae84e702980c0a30dea3a1.jpg\" alt=\"1651118353(1).jpg\"/></p>","multi":0,"questionType":2,"answer":"<p>(1)领导不同意项目经理的要求是正确的,该项目需要的最少人数是9个人。<br/></p><p>(2)资源平滑技术。资源平滑技术不会改变项目的关键路径。</p><p>(3)C活动第30天开始,E活动第40天开始,G活动第50天开始,就可以满足(1)中所需人数的最小值 。</p><p><br/></p>","chooseItem":null,"itemList":null,"userAnswer":null,"userChooseItem":null,"answerCorrect":null,"userCollect":null},{"id":"834660195559821313","title":"<p style=\"text-indent:27px;line-height:150%\">试题二(25分)</p><p>阅读以下关于软件系统分析与设计的叙述,在答题纸上回答问题1至问题3。</p><p>【说明】</p><p>某企业拟开发一套数据处理系统,在系统分析阶段,系统分析师整理的核心业务流程与需求如下:</p><p>(a)系统分为管理员和用户两类角色,其中管理员主要进行用户注册与权限设置,用户主要完成业务功能;</p><p>(b)系统支持用户上传多种类型的数据,主要包括图像、文本和二维曲线等;</p><p>(c)数据上传完成后,用户需要对数据进行预处理操作,预处理操作包括图像增强、文本摘要,曲线平滑等;</p><p>(d)预处理操作完成后,需要进一步对数据进行智能分析,智能分析操作包括图像分类、文本情感分析、曲线未来走势预测等;</p><p>(e)上述预处理和智能分析操作的中间结果均需要进行保存;</p><p>(f)用户可以将数据分析结果以图片、文本、二维图表等多种方式进行展示,并支持结果汇总,最终导出为符合某种格式的报告。</p><br><p>【问题2】(10分)</p><p>顶层图(也称作上下文数据流图)是描述系统最高层结构的DFD,它的特点是将整个待开发的系统表示为一个加工,将所有的外部实体和进出系统的数据流都画在一张图中。请参考题干描述,将合适的内容填入图2-1中(1)~(5)空白处,完成该系统的顶层图。</p><img style=\"max-width:100%;height:auto\" src=\"https://image.chaiding.com/ruankao/cc9fc473cf4b6dddde800f91ef816679.png?x-oss-process=style/ruankaodaren\" title=\"cc9fc473cf4b6dddde800f91ef816679.png\" alt=\"image.png\" width=\"494\" height=\"280\"/>","analyze":"<p>依据“(a)……管理员主要进行用户注册与权限设置……”,可知,(1)为“管理员”、(2)为“用户权限信息”。</p><p>依据“(c)……用户需要对数据进行预处理操作……”,可知,能进行预处理的是用户,因此(3)为“用户”。</p><p>依据“(b)系统支持用户上传多种类型的数据,主要包括图像、文本和二维曲线等;”,可知,(4)为“多种类型的数据”。</p><p>依据“(f)用户可以将数据分析结果以图片、文本、二维图表等多种方式进行展示,并支持结果汇总,最终导出为符合某种格式的报告。”可得(5)为“结果展示、汇总”</p>","multi":0,"questionType":2,"answer":"(1)管理员 (2)用户权限信息(3)用户<p>(4)多种类型的数据 (5)结果展示、汇总</p>","chooseItem":null,"itemList":null,"userAnswer":null,"userChooseItem":null,"answerCorrect":null,"userCollect":null},{"id":"794934084634693633","title":"<p>某公司拟开发一个商业情报处理系统,使公司能够及时针对市场环境的变化及时调整发展战略,以获取最大的商业利益。项目组经过讨论,决定采用结构化分析和设计方法。在系统分析阶段,为了更好地对情报数据处理流程及其与外部角色的关联进行建模,项目组成员分别给出了自己的设计思路:</p><p>(1)小张提出先构建系统流程图(System Flowcharts),以便更精确地反映系统的业务处理过程及数据的输入和输出;</p><p>(2)小李提出先构建系统数据流图(Data Flow Diagrams),来展现系统的处理过程和定义业务功能边界,并给出了情报分类子系统的0层和1层数据流图,后者如图2-1所示。<br/><img src=\"https://image.chaiding.com/ruankao/4735ebaa509c0e4bb04cab764658d434.jpg?x-oss-process=style/ruankaodaren\" title=\"4735ebaa509c0e4bb04cab764658d434.jpg\" alt=\"1.jpg\"/><br/>项目组经讨论确定以数据流图作为本阶段的建模手段。工程师老王详细说明了流程图和数据流图之间的区别与联系,并指出了图2-1的数据流图中存在的错误。</p><br><p>【问题1】(11分)</p><p>流程图和数据流图是软件系统分析设计中常用的两种手段,请用300字以内文字简要说明流程图与数据流图的含义及其区别,并说明项目组为何确定采用数据流图作为建模手段。</p>","analyze":"无","multi":0,"questionType":2,"answer":"<p>【问题1】</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":"794934101814562817","title":"<p style=\";text-indent:28px;text-autospace:ideograph-numeric\">试题一(25分)</p><p>阅读以下关于软件系统分析与建模的叙述,在答题纸上回答问题1至问题3。</p><p style=\"text-indent: 28px\">【说明】</p><p>某软件公司计划开发一套教学管理系统,用于为高校提供教学管理服务。该教学管理系统基本的需求包括:</p><p>(1)系统用户必须成功登录到系统后才能使用系统的各项功能服务;</p><p>(2)管理员(Registrar)使用该系统管理学校(University)、系(Department)、教师(Lecturer)、学生(Student)和课程(Course)等教学基础信息;</p><p>(3)学生使用系统选择并注册课程,必须通过所选课程的考试才能获得学分;如果考试不及格,必须参加补考,通过后才能获得课程学分;</p><p>(4)教师使用该系统选择所要教的课程,并从系统获得选择该课程的学生名单;</p><p>(5)管理员使用系统生成课程课表,维护系统所需的有关课程、学生和教师的信息;</p><p>(6)每个月到了月底系统会通过打印机打印学生的考勤信息。</p><p>项目组经过分析和讨论,决定采用面向对象开发技术对系统各项需求建模。</p><br><p>【问题1】(8分)</p><p>采用面向对方的方法进行需求分析的时候需要构建需求(用例)模型与分析模型,请简述两种模型的构建步骤。</p>","analyze":"<p>无</p>","multi":0,"questionType":2,"answer":"<p>1、用例模型:识别参与者、合并需求获得用例、细化用例描述、调整用例模型</p><p>2、分析模型:定义概念类、确定类之间的关系、为类添加职责、建立交互图</p>","chooseItem":null,"itemList":null,"userAnswer":null,"userChooseItem":null,"answerCorrect":null,"userCollect":null},{"id":"794934054737694721","title":"<p>试题二(25分)</p><p>电子政务是指政府机构利用信息化手段来实现政府职能。</p><p>某市房地产交易网站是市建设委员会实施电子政务的门户,网站包括以下栏目∶ 项目公示、业务办理、信息发布、通知公告、政策法规、房地产经纪、在线答疑等,其中业务办理栏目中又包括申办预售许可、期房网上签约、申请预售登记、权属登记申请、现房网上签约、经纪机构管理、评估行业管理等项目,多数的业务办理项目需要管理部门多级审批。</p><br><p>【问题3】(8分)</p><p>本题中的电子政务项目在进行需求分析时,系统分析师需要有效地获取需求,进行需求建模。</p><p>请写出需求获取包括哪些过程?</p>","analyze":"无","multi":0,"questionType":2,"answer":"1、发现和分析问题2、获取需求3、归档和分析需求4、需求管理","chooseItem":null,"itemList":null,"userAnswer":null,"userChooseItem":null,"answerCorrect":null,"userCollect":null},{"id":"794934016200429569","title":"<p>试题二(26分)</p><p> 阅读下列说明和图,回答问题1至问题4,将解答填入对应栏内。</p><p>【说明】</p><p> 在线会议审稿系统(Online Reviewing System,ORS)主要处理会议前期的投稿和审稿事务,其功能描述如下:</p><p> 1.用户在初始使用系统时,必须在系统中注册(register)成为作者或审稿人。</p><p> 2.作者登录(login)后提交稿件和浏览稿件审阅结果。提交稿件必须在规定提交时间范围内,其过程为先输入标题和摘要、选择稿件所属主题类型、选择稿件所在位置 (存储位置)。上述几步若未完成,则重复;若完成,则上传稿件至数据库中,系统发送通知。</p><p> 3.审稿人登录后可设置兴趣领域、审阅稿件给出意见以及罗列录用和(或)拒绝的稿件。</p><p> 4.会议委员会主席是一个特殊审稿人,可以浏览提交的稿件、给审稿人分配稿件、罗列录用和(或)拒绝的稿件以及关闭审稿过程。其中,关闭审稿过程须包括罗列录用和(或)拒绝的稿件。</p><p>系统采用面向对象方法开发,使用UMi进行建模。在建模用例图时,常用的方式是先识别参与者,然后确定参与者如何使用系统来确定用例,每个用例可以构造一个活动图。参与者名称、用例和活动名称分别参见以下各表。</p><p>参与者列表</p><img src=\"https://image.chaiding.com/ruankao/0ca804bca254cc0b30d39bc1645ac198.jpg?x-oss-process=style/ruankaodaren\" title=\"0ca804bca254cc0b30d39bc1645ac198.jpg\" alt=\"1.jpg\"/><img src=\"https://image.chaiding.com/ruankao/d5dd2593ecfadceca21b0c65b34ccb59.jpg?x-oss-process=style/ruankaodaren\" title=\"d5dd2593ecfadceca21b0c65b34ccb59.jpg\" alt=\"1.jpg\"/><p>系统的部分用例图和提交稿件的活动图分别见下图。</p><img src=\"https://image.chaiding.com/ruankao/efcc97b05df29f2e0e89f8958536c822.jpg?x-oss-process=style/ruankaodaren\" title=\"efcc97b05df29f2e0e89f8958536c822.jpg\" alt=\"1.jpg\"/><br><p>【问题1】(8分)</p><p> 根据[说明]中的描述,使用参与者列表的英文名称,给出ORS用例图中A1~A4所对应的参与者。</p>","analyze":"<p>构建用例图时,常用的方式是先识别参与者,然后确定用例。创建参与者之间的继承关系是为了简化绘图。继承关系可以通过子类型“是一种”父类型进行判定。在本题中,作者和审稿人分别是一种用户,委员会主席是一种特殊审稿人。因此,A1:User、 A2:Author、A3:Reviewer、A4:PCChair。</p><p> 考查用例时,通过判断用例是哪一个特定参与者发起或者触发,来建立和参与者之间的关联。审稿人可以设定兴趣领域、审阅稿件给出意见和罗列录用或/和拒绝的稿件,因此U1:list accepted/rejiected papers,会议委员会主席可以浏览提交的稿件、给审稿人分配稿件、罗列录用和(或)拒绝的稿件以及关闭审稿过程,U2和U3分别为browse submitted papers和assign paper to reviewer(可互换)。</p><p> 考查用例之间的关系时,<<extend>>(扩展)关系可以通过判断是否可以从一个用例的执行中,在需要时转向执行另一个用例,执行完返回继续,即存在<<extend>>关系。<<include>>(包含)定义了用例之间的包含关系,用于一个用例包含另一个用例的行为的建模,通过这种方式,可以把抽象(公共)行为从多个行为中分离出来。本题中,只有作者能提交稿件,“提交稿件”时判断是否登录,如果没有登录,先“登录”,然后返回继续提交稿件,所以(1)处应填<<extend>>。审稿人可以罗列录用和(或)拒绝的稿件,会议委员会主席在关闭审稿过程时须包括罗列录用和(或)拒绝的稿件,即用例“list accepted/rejected papers”和用例“close reviewing process”存在包含关系,所以(2)处应填<<include>>。</p><p> 可以通过为每个用例构造一个活动图对用例进一步细化。构造活动图时可以通过如下步骤进行:从一个作为起点的初始节点开始;为用例的每个主要步骤添加一个动作:从一个活动到另一个活动、决策点或终点添加一条流;在流分解成不同路线的地方添加决策,并用一个合并将各个流重新合并;在有并行执行活动的地方添加分支和联合;用一个单一的活动终止符号结束。本题中,根据说明中条目2中描述的提交稿件的过程构建活动图,所以Actionl处填enter title and abstract、Action2处填select subject group、 Action3处填select paper location、Action4处填upload paper。</p>","multi":0,"questionType":2,"answer":"<p>问题1:A1:User A2:Author A3:Reviewer A4:PCChair </p>","chooseItem":null,"itemList":null,"userAnswer":null,"userChooseItem":null,"answerCorrect":null,"userCollect":null},{"id":"794934093509840897","title":"<p>阅读下列关于软件产品线方面的叙述,回答问题1至问题3。</p><p>A 公司是一家中等规模的计算机企业,专门从事网络安全防护软件系统的开发。从最初仅开发基于Windows 的个人防火墙产品开始,现在已经延伸到基于Linux、Windows 系列、Mac 操作系统的个人防火墙、企业防火墙、入侵检测系统、病毒扫描系统、安全扫描系统等多种产品。公司原来的产品都是一个一个地开发,为每个软件对应地组织一个项目组。</p><p>为了适应快速变化的市场,降低开发成本,公司想引入产品线方法。然而,软件产品线方法涉及了一个软件开发企业的多个产品,所以,公司的王总决定在弄清楚以下三个问题之后再做决定∶首先就是本公司的业务范围是否适合使用产品线方法,其次是如何在原有产品的基础上建立产品线,最后是成功实施产品线的主要因素。</p><br><p>【问题1】(5分)</p><p>请用100字以内文字,说明A公司是否适合采用产品线方法,并说明理由。</p>","analyze":"无","multi":0,"questionType":2,"answer":"<p>【问题1】</p><p>适合。原因是∶</p><p>(1)该公司的产品都是在同一个领域—防火墙产品等,满足软件产品线建设的基本要求。</p><p>(2)该公司原有产品相对比较成熟,可以在原有产品的基础上建立产品线。</p>","chooseItem":null,"itemList":null,"userAnswer":null,"userChooseItem":null,"answerCorrect":null,"userCollect":null},{"id":"794934063461847041","title":"试题五(25分)<p>近年来,随着互联网行业的迅猛发展,公司或组织业务的不断扩张,需求的快速变化以及用户量的不断增加,传统的单块(Monolithic)软件架构面临着越来越多的挑战,已逐渐无法适应互联网时代对软件的要求。在这一背景下,微服务架构模式(Microservice?Architecture?Pattern)逐渐流行,它强调将单一业务功能开发成微服务的形式,每个微服务运行在一个进程中;采用HTTP等通用协议和轻量级API实现微服务之间的协作与通信。这些微服务可以使用不同的开发语言以及不同数据存储技术,能够通过自动化部署工具独立发布,并保持最低限制的集中式管理。</p><br><p>【问题2】(12分)</p><p>微服务的通信方式一般有RPC 和REST两种,请对比下表将缺失部分补充完整。</p><img style=\"max-width:100%;height:auto\" src=\"https://image.chaiding.com/ruankao/d045babf394ffc00d7d04fb5a207acd3.jpg?x-oss-process=style/ruankaodaren\" title=\"d045babf394ffc00d7d04fb5a207acd3.jpg\" alt=\"1.jpg\"/>","analyze":"无","multi":0,"questionType":2,"answer":" <img style=\"max-width:100%;height:auto\" src=\"https://image.chaiding.com/ruankao/160f5dd666de2721b8d88330808b7f02.jpg?x-oss-process=style/ruankaodaren\" title=\"160f5dd666de2721b8d88330808b7f02.jpg\" alt=\"1.jpg\"/>","chooseItem":null,"itemList":null,"userAnswer":null,"userChooseItem":null,"answerCorrect":null,"userCollect":null},{"id":"794934080792711169","title":"<p>题目五<br/>阅读以下关于Web系统架构的设计的叙述,回答下列问题。</p><p style=\"margin-top: 0;margin-bottom: 0;text-indent: 28px\">【说明】</p><p style=\"margin-top: 0;margin-bottom: 0;text-indent: 28px\">某电商公司拟开发一个可以支持亿级流量的系统。公司架构师张工认为应该采用B/S技术实现系统开发。王工认为采用当前主流的微服务架构可以更好的支持高并发的场景应用。公司经过讨论分析最终采用了王工的建议。</p><p> </p><p>其系统的架构如下图所示的设计。</p><img src=\"https://image.chaiding.com/ruankao/c92917f51c727cc7cd406e936b17824b.png?x-oss-process=style/ruankaodaren\" title=\"c92917f51c727cc7cd406e936b17824b.png\" alt=\"image.png\"/><br><p>【问题2】(5分)</p><p>什么是微服务?微服务架构有哪些优缺点?<br/></p>","analyze":"无","multi":0,"questionType":2,"answer":"<p>微服务架构建议将大型复杂的单体架构应用划分为一组微小的服务,每个微服务根据其负责的具体业务职责提炼为单一的业务功能;每个服务可以很容易地部署并发布到生产环境里隔离和独立的进程内部,它可以很容易地扩展和变更;对于一个具体的服务来说可以采用任何适用的语言和工具来快速实现;服务之间基于基础设施互相协同工作。</p><p>微服务的优势:</p><p>(1)解决了复杂性问题。它把庞大的单一模块应用分解为一系列的服务,同时保持总体功能不变。</p><p>(2)让每个服务能够独立开发,开发者能够自由选择可行的技术,让服务来决定API 约定。</p><p>(3)每个微服务都能独立配置,开发者不必协调对于本地服务配置上的变化,这种变化一旦测试完成就被配置了。</p><p>(4)让每个服务都可以独立调整,你可以给每个服务配置正好满足容量和可用性限制的实例数。</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":"834665616462860289","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>【问题2】(11分)</p><p>设计类图的首要工作是进行类的识别与分类,该工作可分为两个阶段:首先,采用识别与筛选法,对需求分析文档进行分析,保留系统的重要概念与属性,删除不正确或冗余的内容;其次,将识别出来的类按照边界类、实体类和控制类等三种类型进行分类。请用200字以内的文字对边界类、实体类和控制类的作用进行简要解释,并对下面给出的候选项进行识别与筛选,将合适的候选项编号填入表2-3中的(1)~(3)空白处,完成类的识别与分类工作。</p><img style=\"max-width:100%;height:auto\" src=\"https://image.chaiding.com/ruankao/24f6c1addd53dfd4522ed04fe9887fd6.png?x-oss-process=style/ruankaodaren\" title=\"24f6c1addd53dfd4522ed04fe9887fd6.png\" alt=\"image.png\" width=\"466\" height=\"120\"/><p>候选项:</p><p>a)系统管理员 b)图书管理员 c)读者d)读者证 e)账户</p><p>f)图书 g)借阅 h)归还i)预订j)罚金</p><p>k)续借 l)借阅记录</p>","analyze":"<p>边界类:通常描述参与者(用户、外部系统)与系统之间的交互。常见的边界类有用户界面、窗口、通信协议、系统或者设备接口、传感器和终端等。参与者与用例之间,用例与用例之间有交互,用例与系统之外的对象有交互等情形时,应当建立边界类。“j)罚金、l)借阅记录”属于系统和用户交互的情况,因此属于边界类。</p><p>实体类:是用于对必须存储的系统内部信息和相关行为建模的类。实体类主要位于数据持久层。“a)系统管理员、b)图书管理员、c)读者、f)图书”存储系统内部信息,属于实体类。读者、读者证和账户属于同一概念,因此只能建立一个实体类。</p><p>控制类:用于对一个或几个用例所特有的控制行为进行建模,用于控制一个用例中的事件顺序,控制其他类工作。“g)借阅、h)归还、i)预订、k)续借”属于控制行为,是控制类。</p>","multi":0,"questionType":2,"answer":"边界类:通常描述参与者(用户、外部系统)与系统之间的交互。<p>实体类:是用于对必须存储的系统内部信息和相关行为建模的类。</p><p>控制类:用于对一个或几个用例所特有的控制行为进行建模,用于控制一个用例中的事件顺序,控制其他类工作。</p><p>(1)j)、l)</p><p>(2)a)、b)、c)、f)</p><p>注:c)可替换为d)或e),不得多选</p><p>(3)g)、h)、i)、k)</p><p> </p>","chooseItem":null,"itemList":null,"userAnswer":null,"userChooseItem":null,"answerCorrect":null,"userCollect":null},{"id":"794934141039693825","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 (1) ;</p><p>4.读取成功后,(2) ;</p><p>5.成功返回。</p><p>写数据操作的基本步骤:</p><p>1.根据key值写 (3) ;</p><p>2.成功后 (4) ;</p><p>3.成功返回。 .</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":"794934012274561025","title":"<p>阅读以下关于Java企业级应用系统开发架构的叙述,根据要求回答问题。</p><p>[说明]</p><p> 某软件公司承担了某中小型企业应用软件开发任务,进度要求紧迫。为了按时完成任务,选择合适的企业应用系统开发架构非常重要。项目组在进行方案论证时,项目组成员提出了两种开发思路。</p><p> 刘工建议采用J2EE 5.0和EJB 3.0进行开发。理由是J2EE定义了标准的应用开发体系结构和部署环境,EJB是J2EE的基础和核心。J2EE 5.0主要目标是简化开发,相比EJB 2.1,EJB 3.0具有很多改进和提高。</p><p> 杜工建议采用Struts、Spring和Hibenate轻量级开源框架相结合的方式。理由是随着Java开源项目阵营的发展壮大,一些基于POJOs(Plan Old Java Objects)的开源框架被广泛地引入到Java企业应用开发中来,与重量级的EJB框架相比,这些轻量级的框架有很多优点。</p><p> 项目组仔细比较分析了两种方案的特点、优点和不足之处。认为杜工和刘工的建议都合理,但是从结合当前项目实际情况出发,最后决定采用杜工的建议。</p><br><p>[问题1](6分)</p><p> Java企业级应用框架一般被划分为3个层次,请用150字以内的文字说明都有哪3个层次?功能分别是什么?</p>","analyze":"<p>【问题一】</p><p>Java企业应用框架一般被划分为表现层、业务逻辑组件层和持久层等3个逻辑层次。</p><p>其中,表现层用来建立应用系统的界面,对应视图(View)。该层集中于为从客户端发来的请求服务的对象及其行为,用于展现数据;负责View组件实现模式、组件在View显示粒度、页面跳转,以及事件触发等功能。例如,表现层采用JSF(Java Server Face),JSF的开发流程的核心是事件驱动,组件和标签的封装程度非常高,很多典型应用已经不需要开发者去处理HTTP,整个过程是通过IoC(依赖注入)来实现的,即可以帮助对客户端请求进行先期及后期的处理等。</p><p>业务逻辑组件层用来开发应用逻辑,对应控制器(Controller)。例如,业务逻辑组件层采用EJB3.0的Session Bean。EJB 3.0允许开发者使用耦合松散的组件来开发应用,实现一个EJB所有使用的类和接口都减少了。该层集中于支持由表现层发起的(某些情况下也可能由持久层直接发起)业务数据的逻辑处理。例如,隐藏业务对象的复杂性,集中工作流的处理;分离表现层与持久层,并为服务提供外观和代理接口等。</p><p>持久层是实现持久化存储,对应模型(Model)。例如,采用EJB 3.0实体Bean持久化模型,吸收了Hibernate的一些思想采用O/R MappinR模式。该层集中于支持外部资源通信。例如,与数据库交互数据;抽象数据源,提供透明的数据访问;帮助进行EJB组件中的异步处理等。</p>","multi":0,"questionType":2,"answer":"<p>(1)表现层。对应视图(View)。用于为从客户端发来的请求服务的对象及其行为,用于展现数据以及负责View组件实现模式、组件在View显示粒度、页面跳转,以及事件触发等功能。</p><p>(2)业务逻辑组件层。对应控制器(Controller)。用于支持由表现层发起的(某些情况下也可能由持久层直接发起)业务数据的逻辑处理。</p><p>(3)持久层。实现持久化存储,对应模型(Model)。用于支持外部资源通信。例如,与数据库交互数据等。</p>","chooseItem":null,"itemList":null,"userAnswer":null,"userChooseItem":null,"answerCorrect":null,"userCollect":null},{"id":"794934158353780737","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>【问题1】(6分)</p><p>在数据库的概念设计过程中,需要把局部设计的E-R图集成。E-R图集成遇到的冲突有哪几种?</p>","analyze":"无","multi":0,"questionType":2,"answer":"<p>(1)属性冲突。属性冲突包括属性域冲突和属性取值冲突。属性冲突理论上好解决,只要换成相同的属性就可以了,但实际上需要各部门协商,解决起来并不简单。</p><p>(2)命名冲突。命名冲突包括同名异义和异名同义。处理命名冲突通常也像处理属性冲突一样,通过讨论和协商等行政手段加以解决。</p><p>(3)结构冲突。结构冲突包括同一对象在不同应用中具有不同的抽象,以及同一实体在不同局部E-R图中所包含的属性个数和属性排列次序不完全相同。对于前者的解决办法是将属性变换为实体或实体变换为属性,使同一对象具有相同的抽象。对于后者的解决办法是使该实体的属性取各局部E-R图中属性的并集,再适当调整属性的次序。</p>","chooseItem":null,"itemList":null,"userAnswer":null,"userChooseItem":null,"answerCorrect":null,"userCollect":null},{"id":"794934089667858433","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>【问题3】(8分)</p><p>根据系统需求,请设计出系统的处理流程(按时序),说明所有任务的优先级分配策略,422接口、双口存储器、离散量接口和 A/D(D/A)的数据输入/输出方法(中断或查询驱动)及理由。请用350字以内文字简要说明。</p><p><br/></p>","analyze":"无","multi":0,"questionType":2,"answer":"<p>【问题3】</p><p>数据输入输出处理方式∶422接口适合采用中断方式,主要因为处理机速度远远比数据传输速度快,在采集时不易消耗太多的时间,而查询方式由于存在等待数据时间,消耗处理机时间较大。双口存储器和离散量接口由于是直接访问存储器,采用查询较合适。AD、D/A 存在数据的转换时间,应在等待时交出处理机时间(定时查询)。</p>","chooseItem":null,"itemList":null,"userAnswer":null,"userChooseItem":null,"answerCorrect":null,"userCollect":null},{"id":"794934149864509441","title":"<span style=\"text-indent: 32px;\">试题二(25分)</span><p>阅读以下关于系统设计的叙述,在答题纸上回答问题1至问题3。</p><p>【说明】</p><p>某集团企业要求下属的信息中心开发一套在线办公自动化系统,以提升集团企业管理服务的质量和效率。根据调研到的需求,技术团队对系统进行了设计。其中有:</p><p>a. 由于固定资产模块和人员管理模块都需要打印,因此把人员管理模块中需要打印的数据存放在缓冲区后调用固定资产模块完成打印任务;</p><p>b. 在固定资产模块中,要求采购申请经过经办人申请、子公司负责人审批、固定资产管理员审核、行政部门审核、财务部门审核、集团领导审批环节并必须按顺序完成;</p><p>c. 为了方便调试,在固定资产模块的调用中增加了参数以控制执行路径;</p><p>d. 把常见的工具放在同一个模块中,即使没有关联;</p><p>e. 为了使用方便,固定资产管理员可以从固定资产模块跳转到系统管理模块中的账套字典维护功能;</p><p>f. 为了加强效率,人员管理模块的入职流程中的各个环节必须在半天之内全部完成。</p><br><p>【问题2】(12分)</p><p>请指出a-f分别属于哪种内聚或者耦合,并说明原因。</p>","analyze":"无","multi":0,"questionType":2,"answer":"<p>a是公共耦合,因为人员管理模块和固定资产模块共享了同一个全局数据区即缓冲区。</p><p>b是顺序内聚,因为各个环节处理的是同一个数据(即采购申请),并严格按照顺序执行。</p><p>c是控制耦合,因为模块间传递的信息中包含用于控制模块内部逻辑的信息。</p><p>d是偶然内聚或巧合内聚,因为它们完成一组没有关系的任务。</p><p>e是内容耦合,因为一个模块不通过正常入口转到另一个模块的内部。</p><p>f是瞬时内聚或时间内聚,因为包含的任务必须在同一时间间隔内完成。</p>","chooseItem":null,"itemList":null,"userAnswer":null,"userChooseItem":null,"answerCorrect":null,"userCollect":null},{"id":"834665616848736257","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>【问题3】(8分)</p><p>根据类之间的相关性特点,可以将类之间的关系分为组合(composition)、继承 (inheritance)、关联(association)、聚合(aggregation)和依赖(dependency)等5种,请用 300字以内的文字分别对这5种关系的内涵进行叙述,并从封装性、动态组合和创建对象的方便性三个方面对组合和继承关系的优缺点进行比较。</p>","analyze":"<p>类之间的关系分为组合、继承、关联、聚合和依赖等5种。</p><p>(1)组合:“整体”离开“部分”将无法独立存在的关系。</p><p>(2)聚合:整体与部分的关系,部分可以离开整体。</p><p>(3)继承:一般与特殊的关系。继承是从已有的类中派生出新的类,新的类能吸收已有类的数据属性和行为,并扩展新的能力。</p><p>(4)关联:两个类之间存在可以相互作用的联系,即一个类知道另外一个类的属性和方法,含有“知道”、“了解”的含义。</p><p>(5)依赖:一种使用的关系,两个类A和B,如果B的变化可能会引起A的变化,则称类A依赖于类B。</p><p>组合和继承关系的优缺点的比较参见表4-1。</p><img style=\"max-width:100%;height:auto\" src=\"https://image.chaiding.com/ruankao/9bbe41b591a15e1fff5ff7773bfa86b5.png?x-oss-process=style/ruankaodaren\" title=\"9bbe41b591a15e1fff5ff7773bfa86b5.png\" alt=\"image.png\" width=\"577\" height=\"132\"/>","multi":0,"questionType":2,"answer":"<p>(1)组合:“整体”离开“部分”将无法独立存在的关系。</p><p>(2)聚合:整体与部分的关系,部分可以离开整体。</p><p>(3)继承:一般与特殊的关系。继承是从已有的类中派生出新的类,新的类能吸收已有类的数据属性和行为,并扩展新的能力。</p><p>(4)关联:两个类之间存在可以相互作用的联系,即一个类知道另外一个类的属性和方法。</p><p>(5)依赖:一种使用的关系,两个类A和B,如果B的变化可能会引起A的变化,则称类A依赖于类B。</p><p>组合和继承关系的优缺点比较:</p><p>(1)封装性方面:组合关系不破坏封装性,整体类和局部类属于松耦合,彼此相互独立;继承关系破坏封装性,子类与父类属于紧耦合,子类不独立需依赖父类实现。</p><p>(2)动态组合方面:组合关系支持支持动态组合,运行时整体对象可选择局部对象;继承关系不支持动态继承。子类不能选择父类。</p><p>(3)创建对象的方便性方面:组合关系创建整体类对象时,需创建所有局部类对象;继承关系创建子类对象时,无须单独创建父类对象。</p>","chooseItem":null,"itemList":null,"userAnswer":null,"userChooseItem":null,"answerCorrect":null,"userCollect":null},{"id":"834660196683894785","title":"<p style=\"text-indent:27px;line-height:150%\">试题三(25分)</p><p>阅读以下关于嵌入式实时系统设计的相关技术的描述,回答问题1至问题3。</p><p>【说明】</p><p>某公司长期从事嵌入式系统研制任务,面对机器人市场的蓬勃发展,公司领导决定自主研制一款通用的工业机器人。王工承担了此工作,他在广泛调研的基础上提出:公司要成功地完成工业机器人项目的研制,应釆用实时结构化分析和设计(RTSAD)方法,该方法已被广泛应用于机器人顶层分析和设计中。</p><br><p>【问题2】(9分)</p><p>图2-2给出了机器人控制器的状态转换图,其中T1-T6表示了状态转换过程中的触发事件,请将T1-T6填到图2-2中的空(1)~(6)处,完善机器人控制器的状态转换图,并将正确答案填写在答题纸上。</p><img style=\"max-width:100%;height:auto\" src=\"https://image.chaiding.com/ruankao/0e3e61b897894ff42c9500fed7cfad0c.png?x-oss-process=style/ruankaodaren\" title=\"0e3e61b897894ff42c9500fed7cfad0c.png\" alt=\"image.png\" width=\"448\" height=\"491\"/>","analyze":"<p> “程序选择”动作会触发“改变程序”,因此(1)选T1;</p><p> “已结束”动作,会触发“处理程序已结束(有已结束关键词)”,因此(2)选T4;</p><p>“运行”动作会触发“开始程序”,因此(3)选T2;</p><p> “结束”动作会触发“结束程序(有结束关键词)”,因此(4)选T3;</p><p>“已挂起→运行”状态结合“运行”动作会触发“恢复程序”,因此(5)选T6;</p><p>“运行→已挂起”状态结合“停止”动作会触发“停止程序”,因此(6)选T5。</p>","multi":0,"questionType":2,"answer":"<p>(1)T1(2)T4(3)T2(4)T3(5)T6(6)T5</p>","chooseItem":null,"itemList":null,"userAnswer":null,"userChooseItem":null,"answerCorrect":null,"userCollect":null},{"id":"794934115840315393","title":"<p>试题五(26分)</p><p>某互联网金融集团依托微服务技术研发互联网金融交易信息系统,全面整合原分布于各省地方分公司的区域系统,实现统一的用户账户管理、转账汇款、理财投资、贷款管理、网上交易、网上支付、财务共享、财务统计分析等业务功能。</p><p>在讨论过程中,王工建议采用面向服务的体系结构(SOA),可以通过ESB充分整个各地现有业务,并可支持Web、智能手机等多种前端应用形式接入相同的后端服务;而张工提出采用分布式微服务体系结构,整合业务的同时,可以利用云服务提高体系结构的性能、可用性和可扩展性,又可以提高整体的可变性和可维护性,且有利于适应当下和未来技术的高速发展和快速变更。</p><p>经过综合分析和讨论,集团领导最终决定同时采纳两位架构师的建议,结合使用,制定基于分布式微服务的前后端分离体系结构。</p><br><p>【问题2】(16分):根据该信息系统整合的实际需求,项目组完成了微服务风格的金融交易信息系统体系结构设计方案,该体系结构设计图如图5-1所示。</p><p>请从(a)~(n)中选择合适的内容填入图5-1的(1)~(8)中,补充完善体系结构设计图。</p><img style=\"max-width:100%;height:auto\" src=\"https://image.chaiding.com/ruankao/157963171508d7a4f0fb2b777077be99.png?x-oss-process=style/ruankaodaren\" title=\"157963171508d7a4f0fb2b777077be99.png\" alt=\"image.png\"/><p>图 5-1 金融交易信息系统体系结构图</p><p>(a)页面缓存 (b)网关层 (c)数据层(d)主数据库</p><p>(e)Web服务器 (f)反向代理服务器 (g)事务中心 (h)服务层</p><p>(i)数据访问组件(j)CDN(k)展示层(l)数据中台</p><p>(m)从数据库 (n)分布式数据缓存</p>","analyze":"无","multi":0,"questionType":2,"answer":"<p>(1)j (2)e (3)n (4)I (5)d (6)m (7)h (8)c</p>","chooseItem":null,"itemList":null,"userAnswer":null,"userChooseItem":null,"answerCorrect":null,"userCollect":null},{"id":"794934055861768193","title":"<p>试题二(25分)</p><p>电子政务是指政府机构利用信息化手段来实现政府职能。</p><p>某市房地产交易网站是市建设委员会实施电子政务的门户,网站包括以下栏目∶ 项目公示、业务办理、信息发布、通知公告、政策法规、房地产经纪、在线答疑等,其中业务办理栏目中又包括申办预售许可、期房网上签约、申请预售登记、权属登记申请、现房网上签约、经纪机构管理、评估行业管理等项目,多数的业务办理项目需要管理部门多级审批。</p><br><p>【问题4】(5分)</p><p>系统分析师必须能够与具有不同背景的利益相关者(如政府各个部门、房地产开发企业、购房者等等)进行沟通交流,以获取和细化需求,并向这些利益相关者描述系统的体系结构。请写出5种常见的需求获取方法。</p>","analyze":"无","multi":0,"questionType":2,"answer":"用户访谈、问卷调查、采样、情节串联板、联合需求计划。","chooseItem":null,"itemList":null,"userAnswer":null,"userChooseItem":null,"answerCorrect":null,"userCollect":null},{"id":"794934073108746241","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> 图1 某嵌入式系统的组成</p><br><p>问题2 (9分)</p><p>该系统的开发要求按软件能力成熟度模型CMM 3级开发,请回答下列问题:<br/></p><p>(1)CMM 3级包含多少个关键过程域?</p><p>(2)请写出CMM 3级的关键过程域。</p><p>(3)CMM2级包含多少个关键过程域?</p><p>(4)在对该开发软件单位进行CMM 3级达标评级时,只需检查3级的关键过程域还是3级和2级的关键过程域都需要检查?</p>","analyze":"<p> CMM软件能力成熟度模型,可重复级包括6个关键过程区域:软件配置管理、软件质量保证、软件子合同管理、软件项目跟踪与监督、软件项目策划、软件需求管理;</p><p>已定义级包括7个关键过程区域:同行评审、组间协调、软件产品工程、集成软件管理、培训大纲、组织过程定义、组织过程集点;</p><p>已管理级包括2个关键过程区域:软件质量管理和定量过程管理;</p><p>优化级包括3个关键过程区域:过程更改管理、技术改革管理和缺陷预防。</p>","multi":0,"questionType":2,"answer":"<p> (1)CMM 3级(已定义级)包括7个关键过程区域</p><p> (2)同行评审、组间协调、软件产品工程、集成软件管理、培训大纲、组织过程定义、组织过程集点</p><p> (3)CMM 2级(可重复级)包括6个关键过程区域</p><p> (4)3级和2级的关键过程域都需要检查</p>","chooseItem":null,"itemList":null,"userAnswer":null,"userChooseItem":null,"answerCorrect":null,"userCollect":null},{"id":"794934081749012481","title":"<p>题目五<br/>阅读以下关于Web系统架构的设计的叙述,回答下列问题。</p><p style=\"margin-top: 0;margin-bottom: 0;text-indent: 28px\">【说明】</p><p style=\"margin-top: 0;margin-bottom: 0;text-indent: 28px\">某电商公司拟开发一个可以支持亿级流量的系统。公司架构师张工认为应该采用B/S技术实现系统开发。王工认为采用当前主流的微服务架构可以更好的支持高并发的场景应用。公司经过讨论分析最终采用了王工的建议。</p><p> </p><p>其系统的架构如下图所示的设计。</p><img src=\"https://image.chaiding.com/ruankao/c92917f51c727cc7cd406e936b17824b.png?x-oss-process=style/ruankaodaren\" title=\"c92917f51c727cc7cd406e936b17824b.png\" alt=\"image.png\"/><br><p>【问题3】(8分)</p><p>本案例在数据存储层采用的是NOSQL数据库,请指出NOSQL数据库有哪些优缺点。</p>","analyze":"无","multi":0,"questionType":2,"answer":"<p>NoSQL数据库的优点:(1)支持高并发数据访问,性能较高。 (2)NoSQL数据库的数据存储结构松散,能够灵活支持多种类型的数据格式。 (3)NoSQL数据库能够支持海量数据的存储,且易于横向扩展。 (4)NoSQL数据库基于分布式数据存储,不存在单点故障和性能瓶颈,系统可用性高。</p><p>NoSQL数据库的缺点,该系统采用NoSQL数据库时可能存在的问题有:</p><p>(1)NoSQL数据库的现有产品不够成熟,大多数产品处于初创期。</p><p>(2)NoSQL数据库并未形成一定的标准,产品种类繁多,缺乏官方支持。</p><p>(3)NoSQL数据库不提供对SQL的支持,学习和应用迁移成本较高。</p>","chooseItem":null,"itemList":null,"userAnswer":null,"userChooseItem":null,"answerCorrect":null,"userCollect":null},{"id":"794934060576165889","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>【问题2】(8分)</p><p>My SQL 数据库中,主从复制是通过 binary log 来实现主从服务器的数据同步。请简述主从复制的过程。</p>","analyze":"无","multi":0,"questionType":2,"answer":"当在从库上启动复制时,首先创建I/O线程连接主库,主库随后创建Binlog Dump线程读取数据库事件并发送给I/O线程,I/O线程获取到事件数据后更新到从库的中继日志Relay Log中去,之后从库上的SQL线程读取中继日志Relay Log中更新的数据库事件并应用。","chooseItem":null,"itemList":null,"userAnswer":null,"userChooseItem":null,"answerCorrect":null,"userCollect":null},{"id":"794934047963893761","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>【问题1】(4分)</p><p>请分析指出图中所示的数据流图中存在的错误。</p>","analyze":"<p>无</p>","multi":0,"questionType":2,"answer":"<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":"794934030834356225","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><p>【问题2】u2002(4分)</p><p>除了表1-1和表1-2给出的用例外,从上述系统陈述中还可以获取哪些由信用卡客户发起的用例?(给出用例名称即可)</p>","analyze":"略","multi":0,"questionType":2,"answer":"<p>信用卡客户查询个人信息、信用卡客户查询信用卡交易信息、信用卡客户查询月报表。</p>","chooseItem":null,"itemList":null,"userAnswer":null,"userChooseItem":null,"answerCorrect":null,"userCollect":null},{"id":"794934155438739457","title":"<p style=\"text-indent:32px\">试题三(25分)</p><p>阅读以下关于安全关键系统安全性设计技术的描述,回答问题 1至问题 3。</p><p>【说明】</p><p>某公司长期从事计算机产品的研制工作,公司领导为了响应国家军民融合的发展战略,决定要积极参与我国军用设备领域的研制工作,将本公司的计算机及软件产品通过提升和改造,应用到军用装备的安全关键系统中。公司为了承担军用产品的研发任务,公司领导将论证工作交给王工负责。王工经调研分析,提交了一份完整论证报告。</p><br><p>【问题1】(12分)</p><p>论证报告指出:我们公司长期从事民用市场的计算机研制工作,在研制流程、管理方法以及环境试验等方面都不能达到军用设备相关技术要求。要承担武器装备生产研制工作,就必须建立公司的武器装备生产研制质量体系,需要拿到军方或政府部门颁发的资格认证。从技术上讲,军用设备产品大部分都属于安全关键系统,其计算机及软件的缺陷会导致武器装备失效,因此,公司技术人员应及早掌握相关安全性基本概念和相关设计知识。</p><p>1)企业要承担武器装备产品生产任务,需获得一些资格认证,请列举两种资格认证名称。</p><p>2)请说明安全关键系统的定义,并列举出两个安全关键系统的实例设备。</p><p>3)请简要说明安全性(safety)的具体含义,并给出产品设计时,安全性分析通常采用哪两种方法? </p>","analyze":"<p>(1)军工三证是:</p><p>1)保密认证:武器装备科研生产单位保密资格认证;</p><p>2)许可证认证:武器装备科研生产许可证;</p><p>3)名录认证:装备承制单位资格认证</p><p>(2)生命关键系统(Safety Critical System)是指一个系统的失效或误动作会产生人员重伤或死亡,设备严重毁损,环境危害等后果。</p><p>(3)安全关键系统的安全是指系统能长时间稳定运行、并且不发生故障,同时不对人造成伤害(包括失效的情况下)的能力。</p>","multi":0,"questionType":2,"answer":"<p>(1)</p><p>1)保密认证:武器装备科研生产单位保密资格认证;</p><p>2)许可证认证:武器装备科研生产许可证;</p><p>3)名录认证:装备承制单位资格认证</p><p>答对两条即可。</p><p>(2)安全关键系统(Safety Critical System)又称安全攸关系统,是指一个系统的失效或误动作会产生人员重伤或死亡,设备严重毁损,环境危害等后果。</p><p>安全关键系统有核反应堆系统、飞行控制系统、火车控制系统、安全气囊系统、刹车系统、降落伞、人工心肺机、心脏起搏器。(回答其中两个即可)</p><p>(3)安全关键系统的安全是指系统能长时间稳定运行、并且不发生故障,同时不对人造成伤害(包括失效的情况下)的能力。</p><p>安全分析方法包含故障树分析法、失效模式和影响域分析法、危险与可操作性分析、初步危险分析。(回答其中两个即可)</p>","chooseItem":null,"itemList":null,"userAnswer":null,"userChooseItem":null,"answerCorrect":null,"userCollect":null},{"id":"794934116800811009","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>【问题1】(6分)</p><p>PIECES框架能够完整、准确、快速地确定信息系统的非功能需求,请以200字以内的文字介绍PIECES框架包括哪些分类?</p>","analyze":"略","multi":0,"questionType":2,"answer":"<p>PIECES框架包括6个分类,分别以6个英文单词的缩写表示:</p><p>①u3000P是Performance的缩写,表示提高系统的性能;</p><p>②u3000I是Information的缩写,表示提高信息的质量和改变信息的处理方式;</p><p>③u3000E是Economics的缩写,表示改善组织的成本、效益等经济状况;</p><p>④u3000C是Control的缩写,表示提高信息系统的安全和控制水平;</p><p>⑤u3000E是Efficiency的缩写,表示提高组织的人、财、物等使用效率;</p><p>⑥u3000S是Service的缩写,表示将要提高组织对客户、供应厂商、合作伙伴、顾客等的服务质量。</p>","chooseItem":null,"itemList":null,"userAnswer":null,"userChooseItem":null,"answerCorrect":null,"userCollect":null},{"id":"834660197778608129","title":"<p style=\"text-indent:27px;line-height:150%\">试题四(25分)</p><p>阅读以下关于数据管理的叙述,在答题纸上回答问题1至问题3。</p><p>【说明】</p><p>某全国连锁药店企业在新冠肺炎疫情期间,紧急推出在线口罩预约业务系统。该业务系统为普通用户提供口罩商品查询、购买、订单查询等业务,为后台管理人员提供订单查询、 订单地点分布汇总、物流调度等功能。该系统核心的关系模式为预约订单信息表。</p><p>推出业务系统后,几天内业务迅速增长到每日10万多笔预约订单,系统数据库服务器 压力剧增,导致该业务交易响应速度迅速降低,甚至出现部分用户页面无法刷新、预约订单 服务无响应的情况。为此,该企业紧急成立技术团队,由张工负责,以期尽快解决该问题。 </p><br><p>【问题2】(10分)</p><p>作为团队成员之一,李工认为增加索引并进行优化并不能解决当前问题,建议釆用物理分区策略,可以根据预约订单信息表中“所在城市”属性进行表分区,并将每个分区分布到独立的物理磁盘上,以提高读写性能。常见的物理分区特征如表2-2所示。李工建议选择物理分区中的列表分区模式。</p><img style=\"max-width:100%;height:auto\" src=\"https://image.chaiding.com/ruankao/88efc8375cf552ef521052fd26450424.png?x-oss-process=style/ruankaodaren\" title=\"88efc8375cf552ef521052fd26450424.png\" alt=\"image.png\" width=\"599\" height=\"139\"/><p>请填补表4-1中的空(a)~(d)处,并用100字以内的文字解释说明李工选择该方案的原因。</p>","analyze":"<p>数据库分区是将数据量大的表的数据均摊到不同的硬盘、系统或不同服务器存储介质中,但实际上还是一张表。数据库分区表可以减少SQL操作中数据读写的总量,减少响应时间,提升查询效率。</p>","multi":0,"questionType":2,"answer":"<p>(a)属性的离散值</p><p>(b)周期性数据/周期数据</p><p>(c)能力强</p><p>(d)均匀</p><p>李工根据预约订单信息表中“所在城市”属性进行表分区。而“所在城市”属性属于单属性、离散数据,因此选择列表分区模式比较合适。</p>","chooseItem":null,"itemList":null,"userAnswer":null,"userChooseItem":null,"answerCorrect":null,"userCollect":null},{"id":"794934018117226497","title":"<p>试题二(26分)</p><p> 阅读下列说明和图,回答问题1至问题4,将解答填入对应栏内。</p><p>【说明】</p><p> 在线会议审稿系统(Online Reviewing System,ORS)主要处理会议前期的投稿和审稿事务,其功能描述如下:</p><p> 1.用户在初始使用系统时,必须在系统中注册(register)成为作者或审稿人。</p><p> 2.作者登录(login)后提交稿件和浏览稿件审阅结果。提交稿件必须在规定提交时间范围内,其过程为先输入标题和摘要、选择稿件所属主题类型、选择稿件所在位置 (存储位置)。上述几步若未完成,则重复;若完成,则上传稿件至数据库中,系统发送通知。</p><p> 3.审稿人登录后可设置兴趣领域、审阅稿件给出意见以及罗列录用和(或)拒绝的稿件。</p><p> 4.会议委员会主席是一个特殊审稿人,可以浏览提交的稿件、给审稿人分配稿件、罗列录用和(或)拒绝的稿件以及关闭审稿过程。其中,关闭审稿过程须包括罗列录用和(或)拒绝的稿件。</p><p>系统采用面向对象方法开发,使用UMi进行建模。在建模用例图时,常用的方式是先识别参与者,然后确定参与者如何使用系统来确定用例,每个用例可以构造一个活动图。参与者名称、用例和活动名称分别参见以下各表。</p><p>参与者列表</p><img src=\"https://image.chaiding.com/ruankao/0ca804bca254cc0b30d39bc1645ac198.jpg?x-oss-process=style/ruankaodaren\" title=\"0ca804bca254cc0b30d39bc1645ac198.jpg\" alt=\"1.jpg\"/><img src=\"https://image.chaiding.com/ruankao/d5dd2593ecfadceca21b0c65b34ccb59.jpg?x-oss-process=style/ruankaodaren\" title=\"d5dd2593ecfadceca21b0c65b34ccb59.jpg\" alt=\"1.jpg\"/><p>系统的部分用例图和提交稿件的活动图分别见下图。</p><img src=\"https://image.chaiding.com/ruankao/efcc97b05df29f2e0e89f8958536c822.jpg?x-oss-process=style/ruankaodaren\" title=\"efcc97b05df29f2e0e89f8958536c822.jpg\" alt=\"1.jpg\"/><br><p>【问题3】(4分)</p><p> 根据[说明]中的描述,给出ORS用例图中 (1) 和 (2) 所对应的关系。</p>","analyze":"<p>构建用例图时,常用的方式是先识别参与者,然后确定用例。创建参与者之间的继承关系是为了简化绘图。继承关系可以通过子类型“是一种”父类型进行判定。在本题中,作者和审稿人分别是一种用户,委员会主席是一种特殊审稿人。因此,A1:User、 A2:Author、A3:Reviewer、A4:PCChair。</p><p> 考查用例时,通过判断用例是哪一个特定参与者发起或者触发,来建立和参与者之间的关联。审稿人可以设定兴趣领域、审阅稿件给出意见和罗列录用或/和拒绝的稿件,因此U1:list accepted/rejiected papers,会议委员会主席可以浏览提交的稿件、给审稿人分配稿件、罗列录用和(或)拒绝的稿件以及关闭审稿过程,U2和U3分别为browse submitted papers和assign paper to reviewer(可互换)。</p><p> 考查用例之间的关系时,<<extend>>(扩展)关系可以通过判断是否可以从一个用例的执行中,在需要时转向执行另一个用例,执行完返回继续,即存在<<extend>>关系。<<include>>(包含)定义了用例之间的包含关系,用于一个用例包含另一个用例的行为的建模,通过这种方式,可以把抽象(公共)行为从多个行为中分离出来。本题中,只有作者能提交稿件,“提交稿件”时判断是否登录,如果没有登录,先“登录”,然后返回继续提交稿件,所以(1)处应填<<extend>>。审稿人可以罗列录用和(或)拒绝的稿件,会议委员会主席在关闭审稿过程时须包括罗列录用和(或)拒绝的稿件,即用例“list accepted/rejected papers”和用例“close reviewing process”存在包含关系,所以(2)处应填<<include>>。</p><p> 可以通过为每个用例构造一个活动图对用例进一步细化。构造活动图时可以通过如下步骤进行:从一个作为起点的初始节点开始;为用例的每个主要步骤添加一个动作:从一个活动到另一个活动、决策点或终点添加一条流;在流分解成不同路线的地方添加决策,并用一个合并将各个流重新合并;在有并行执行活动的地方添加分支和联合;用一个单一的活动终止符号结束。本题中,根据说明中条目2中描述的提交稿件的过程构建活动图,所以Actionl处填enter title and abstract、Action2处填select subject group、 Action3处填select paper location、Action4处填upload paper。</p>","multi":0,"questionType":2,"answer":"<p>问题3:(1):<<extend>>(2):<<include>></p>","chooseItem":null,"itemList":null,"userAnswer":null,"userChooseItem":null,"answerCorrect":null,"userCollect":null},{"id":"794934146983022593","title":"<p style=\"text-indent:32px\">试题一(25分)</p><p>阅读以下关于软件系统分析与建模的叙述,在答题纸上回答问题1至问题3。</p><p>【说明】</p><p>某软件公司拟开发一套知识库管理系统,要求能够向客服人员提供一个便捷发布知识,以及查询已发布知识的平台。客服人员发布知识之前,必须要先查阅是否已存在相关的知识,以下为知识发布的操作行为:</p><p>(a)用户身份验证</p><p>(b)查询数据库中的知识</p><p>(c)修改知识</p><p>(d)在知识条目上标注矛盾</p><p>(e)管理员审核录入的信息</p><p>(f)判断相容性</p><p>(g)判断冗余性</p><p>(h)录入新的知识</p><p>(i)增加新的类目</p><br><p>【问题2】(13分)</p><p>系统分析师采用用例图建模系统需求,画出下图。<br/><img style=\"max-width:100%;height:auto\" src=\"https://image.chaiding.com/ruankao/c4f3426faf02eff105a2ae8d47726322.jpg?x-oss-process=style/ruankaodaren\" title=\"c4f3426faf02eff105a2ae8d47726322.jpg\" alt=\"1111.jpg\" width=\"409\" height=\"448\"/></p><p>①u3000根据题意写出参与者名称,(1) (2) </p><p>②u3000请使用题干给出的(a)〜(i),完善图中的(3)~(10)。将正确答案填在答题纸上。</p><p>③u3000请说明图中①、②、③分别是什么关系,以及指出箭头方向。</p><p><br/></p>","analyze":"无","multi":0,"questionType":2,"answer":"<p>(1)管理员 (2)客服人员</p><p>(3)(e) (4)(h) (5)(b) (6)(f) </p><p>(7)(g) (8)(d) (9)(c) (10)(i)</p><p>注:6、8与7、9可互换位置,但不可错误搭配</p><p>①是包含依赖关系,箭头由4指向5;</p><p>②是扩展依赖关系,箭头由6指向5;</p><p>③是扩展依赖关系,箭头由8指向6。</p>","chooseItem":null,"itemList":null,"userAnswer":null,"userChooseItem":null,"answerCorrect":null,"userCollect":null},{"id":"794934005483982849","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>[问题2](8分)</p><p>请分析指出上图所示的数据流图中存在的错误及其原因,并针对1层数据流图绘制出情报分类子系统的0层数据流图。</p>","analyze":"<p>【问题二】</p><p>数据流图中常见的错误分为两种类型:一类是语法错误,包括外部实体之间、数据存储之间或外部实体与数据存储之间不经过加工而存在直接数据流;另一类是逻辑错误,包括数据黑洞(只有输入没有产生输出)、灰洞(输入不足以产生输出)和无输入。</p><p>“分类训练”加工属于数据黑洞错误;</p><p>“分类处理”加工属于无输入错误;</p><p>“规则文件”和“配置信息”数据流属于语法错误。</p><p>对于复杂系统,一般采用分层数据流图逐步细化系统的内部处理逻辑。0层数据流图是1层数据流图更高级别的抽象。“分类训练”和“分类处理”加工属于内部加工,“分类规则”数据流属于内部数据流,抽象为“情报分类子系统”加工。其中,“样本数据”、“规则文件”和“配置信息”为输入数据流;“分类结果”为输出数据流。</p>","multi":0,"questionType":2,"answer":"<p>如图所示的数据流图中存在的错误有以下4种:</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":"794934026975596545","title":"<p>某企业准备开发一个信息管理系统,其生存周期为5年。该系统的预计开发成本、预计的年运行/维护成本,以及预计的收益如下表所示(其中带括号的数据表示负值)。</p><br/><img src=\"https://image.chaiding.com/ruankao/88bc7aec8fe0874d89a0a6512064c1f4.jpg?x-oss-process=style/ruankaodaren\" title=\"88bc7aec8fe0874d89a0a6512064c1f4.jpg\" alt=\"1.jpg\"/><br><p>【问题1】(12分)</p><p>(1)目前许多管理人员将投资的净现值作为首选的成本效益分析。用100字以内文字,说明什么是净现值?</p><p>(2)根据表5—1给出的数据,第5年的累计的成本现值+收益现值是多少?利用净现值技术分析该项目是否具有经济可行性?并解释原因。</p>","analyze":"略","multi":0,"questionType":2,"answer":"<p>将题干表中数据进一步补充得到下表。<br/><img style=\"max-width:100%;height:auto\" src=\"https://image.chaiding.com/ruankao/07391a9d593912ca1eda6c0068dfbb97.jpg?x-oss-process=style/ruankaodaren\" title=\"07391a9d593912ca1eda6c0068dfbb97.jpg\" alt=\"1.jpg\"/></p><p>(1)净现值(Net Present Value, NPV)是指项目在生命周期内各年的净现金流量按照一定的、相同的折现率折现到初时的现值之和。净现值表示在规定的折现率i的情况下,方案在不同时点发生的净现金流量,折现到期初时,整个生命期内所能得到的净收益。</p><p> </p><p>(2)第 5 年的累计的成本现值+收益现值是 308218 元。该项目具有经济可行性,因为其最终的净现值为正,说明项目能够收回所投入的成本。</p><p><br/></p>","chooseItem":null,"itemList":null,"userAnswer":null,"userChooseItem":null,"answerCorrect":null,"userCollect":null},{"id":"794934057040367617","title":"<p>试题三(25分)</p><p>阅读以下关于嵌入式软件体系架构的叙述,在答题纸上回答问题1至问题3。</p><p>某公司承担了一项宇航嵌入式设备的研制任务。本项目除对硬件设备环境有很高的要求外,还要求支持以下功能:</p><p>(1)设备由多个处理机模块组成,需要时外场可快速更换(即LRM结构);</p><p>(2)应用软件应与硬件无关,便于软硬件的升级;</p><p>(3)由于宇航嵌入式设备中要支持不同功能,系统应支持完成不同功能任务间的数据隔离;</p><p>(4)宇航设备可靠性要求高,系统要有故障处理能力。</p><p>公司在接到此项任务后,进行了反复论证,提出三层栈(TLS)软件总体架构,如图3-1所示,并将软件设计工作交给了李工,要求其在三周内完成软件总体设计工作,给出总体设计方案。</p><br/><img src=\"https://image.chaiding.com/ruankao/c5559b5c1a7a176694891c03d018a9ef.jpg?x-oss-process=style/ruankaodaren\" title=\"c5559b5c1a7a176694891c03d018a9ef.jpg\" alt=\"1.jpg\"/><br><p>【问题1】(8分)</p><p>用150字以内的文字,说明公司制定的TLS软件架构的层次特点,并针对上述功能需求(1)~(4),说明架构中各层内涵。</p>","analyze":"无","multi":0,"questionType":2,"answer":"<p>【问题1】</p><p>TLS结构框架的主要特点:</p><p>(1)应用软件仅与操作系统服务相关,不直接操作硬件。</p><p>(2)操作系统通过模块支持原软件访问硬件,可与具体硬件无关。</p><p>(3)模块支持层将硬件抽象成标准操作。</p><p>(4)通过三层栈的划分可实现硬件的快速更改与升级,应用软件的升级不会引起硬件的变更。</p><p>TLS结构框架的各层内涵是:</p><p>(1)应用层主要完成宇航设备的具体工作,由多个功能任务组成,各功能任务间的隔离由操作系统层实现。</p><p>(2)操作系统层实现应用软件与硬件的隔离,为应用软件提供更加丰富的计算机资源服务。操作系统为应用软件提供标准的API接口(如POSIX),确保了应用软件的可升级性。</p><p>(3)模块支持层为操作系统管理硬件资源提供统一管理方法,用一种抽象的标准接口实现软件与硬件的无关性,达到硬件的升级要求,便于硬件的外场快速更换。</p>","chooseItem":null,"itemList":null,"userAnswer":null,"userChooseItem":null,"answerCorrect":null,"userCollect":null},{"id":"794934121632649217","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>【问题3】(10分)</p><p>请用300字以内的文字说明数据流图和用例图的相同点和不同点。</p>","analyze":"略","multi":0,"questionType":2,"answer":"<p>相同点:</p><p>①u3000都是功能建模的模型;</p><p>②u3000都包括功能处理元素;</p><p>③u3000都存在与系统有关的人、机构或其他系统等事物。</p><p>不同点:</p><p>①u3000符号不同;</p><p>②u3000数据流图具有分层特点,用例图没有;</p><p>③u3000与系统相关的人等事物在数据流图中表示数据来源和去向,在用例图中表示使用系统的用户;</p><p>④u3000数据流图能表达对数据的加工流程,用例图不表示;</p><p>数据流图的功能处理有输入和输出,用例图的用例不能表示。</p>","chooseItem":null,"itemList":null,"userAnswer":null,"userChooseItem":null,"answerCorrect":null,"userCollect":null},{"id":"794934001591668737","title":"<p>试题一(25分)<br/>阅读以下关于企业应用集成的叙述,根据要求回答问题。</p><p>[说明]</p><p> 某大型企业随着信息化的进展,积累了许多异构的遗产信息系统,这些系统分别采用J2EE、.NET等技术进行开发,分布在不同的地理位置,采用不同的协议进行数据传输。企业要求集成后的系统能够实现功能整合,并在组织现有功能的基础上提供增值服务。FT软件开发公司承接了某大型企业应用系统集成任务。为了按时保质完成任务,选择合适的企业应用集成方法和架构非常重要。项目组在讨论方案时,提出了两种集成思路。</p><p> 魏工建议采用传统的应用集成方法,将应用集成分为多个层次,并采用消息代理中间件连接遗产系统。</p><p> 陈工建议采用基于SOA的方法进行应用集成,将现有遗产系统采用Web Service的方式进行包装,暴露统一格式的接口,并采用企业服务总线(ESB.进行连接。</p><p> 项目组仔细分析比较了两种方案的优点和不足后,认为魏工和陈工的建议都合理,但是结合当前项目的实际情况,最后决定采用陈工的建议。</p><br><p>[问题1](12分)</p><p> 请分析比较两种集成方案的优点和不足,将表中的(1)~(6)空缺处的内容填写完整。</p><p>应用系统集成方案对比表</p><img style=\"max-width:100%;height:auto\" src=\"https://image.chaiding.com/ruankao/141b42fee2d7e5f2eb94cde4efffb3c2.jpg?x-oss-process=style/ruankaodaren\" title=\"141b42fee2d7e5f2eb94cde4efffb3c2.jpg\" alt=\"1.jpg\"/>","analyze":"<p>【问题一】</p><p> 如果企业只是进行小规模或较浅层次的“战术”级应用集成,采用传统的集成方式即可较好的完成任务。但是如果企业想从集成系统的灵活性和可扩展角度考虑,能够持续地集成已有信息系统,并进行“战略”意义上的长远规划,那么面向服务的架构无疑是一种更加优越的方法。采用SOA架构思想进行应用集成,企业现有的应用系统都可以看做广义上的服务提供者,因此(1)空缺处应该填写“将现有系统看做抽象的服务提供者,集成方法统一明确”。</p><p> 传统的应用集成方式往往采用分层的方式对待整个集成活动,因此在(2)空缺处应该填写“不同层次的集成方法关注点不同,功能组合方面能力较弱”。而采用SOA架构的应用集成方案中,(3)空缺处应该填写“强调功能的暴露与服务的组合,便于提供增值服务”。</p><p> 对于(4)空缺处,传统的集成方式大多会采用中心辐射型的集成架构,系统的耦合程度较高。而对于(5)空缺处,SOA架构的ESB采用总线结构模式,简化了应用之间的集成拓扑,系统的耦合度较低。</p><p> 采用SOA架构的应用集成方案通过源白实践的模式,提供了基于标准的通用连接服务,使得服务请求者和服务提供者之间可以以松散耦合、动态的方式交互,从而在不同层次上使得解决方案是一个松散耦合、灵活的架构。因此在(6)空缺处应该填写“集成系统具有模块化、松耦合的特点,可扩展性较强”。</p>","multi":0,"questionType":2,"answer":"<p>[问题1](12分)</p>","chooseItem":null,"itemList":null,"userAnswer":null,"userChooseItem":null,"answerCorrect":null,"userCollect":null},{"id":"794934023066505217","title":"<p>试题四(25分)</p><p> 阅读以下关于系统设计与开发工具集成的说明,在对应栏内回答问题1至问题3。</p><p>[说明]</p><p> TeleDev是一个大型的电信软件开发公司,公司内部采用多种商业/开源的工具进行软件系统设计与开发工作。为了提高系统开发效率,公司管理层决定开发一个分布式的系统设计与开发工具集成框架,将现有的系统设计与开发工具有效集成在一起。集成框架开发小组经过广泛调研,得到了如下核心需求。</p><p> 1.目前使用的系统设计与开发工具的运行平台和开发语言差异较大,集成框架应无缝集成各个工具的功能;</p><p> 2.目前使用的系统设计与开发工具所支持的通信协议和数据格式各不相同,集成框架应实现工具之间的灵活通信和数据格式转换;</p><p> 3.集成框架需要根据实际的开发流程灵活、动态地定义系统工具之间的协作关系;</p><p> 4.集成框架应能集成一些常用的第三方实用工具,如即时通信、邮件系统等。</p><p> 集成框架开发小组经过分析与讨论,最终决定采用企业服务总线(ESB.作为集成框架的基础架构。</p><br><p>【问题3】(6分)请指出在实现工具之间数据格式的灵活转换时,通常采用的设计模式是什么,并对实现过程进行简要描述。</p>","analyze":"<p>本问题主要考查数据转换在实现层面上的常用方法。在实现工具之间数据格式的灵活转换时,通常采用适配器设计模式。即应首先定义一个统一的数据转换接口类,然后针对不同的数据格式转换需求定义对应的实际转换类,实际转换类需要继承数据转换接口类,并实现接口转换类定义的接口。</p>","multi":0,"questionType":2,"answer":"<p>【问题3】在实现工具之间数据格式的灵活转换时,通常采用适配器设计模式。即应首先定义一个统一的数据转换接口类,然后针对不同的数据格式转换需求定义对应的实际转换类,实际转换类需要继承数据转换接口类,并实现接口转换类定义的接口。</p>","chooseItem":null,"itemList":null,"userAnswer":null,"userChooseItem":null,"answerCorrect":null,"userCollect":null},{"id":"794934109049737217","title":"<p>试题三(24分)</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":"无","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":"834660194356056065","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>【问题2】(10分)</p><p>面向对象系统分析与建模中,从潜在候选对象中筛选系统业务对象的原则有哪些?</p>","analyze":"<p>对象是对问题域中有意义的事务的抽象。对象可以是可感知的物理实体、角色、需记忆的事件、对象间的作用、需说明的概念等。</p><p>面向对象的识别对象阶段有两个基本步骤,分别为:标识潜在对象、筛选对象。</p><p>(1)标识潜在对象的方法:找出需求中的名词,并合并同义词。</p><p>(2)筛选对象:去重,确保对象在开发范围内,确保对象不存在解释不清的情况等。</p>","multi":0,"questionType":2,"answer":"<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":"794934019090305025","title":"<p>试题二(26分)</p><p> 阅读下列说明和图,回答问题1至问题4,将解答填入对应栏内。</p><p>【说明】</p><p> 在线会议审稿系统(Online Reviewing System,ORS)主要处理会议前期的投稿和审稿事务,其功能描述如下:</p><p> 1.用户在初始使用系统时,必须在系统中注册(register)成为作者或审稿人。</p><p> 2.作者登录(login)后提交稿件和浏览稿件审阅结果。提交稿件必须在规定提交时间范围内,其过程为先输入标题和摘要、选择稿件所属主题类型、选择稿件所在位置 (存储位置)。上述几步若未完成,则重复;若完成,则上传稿件至数据库中,系统发送通知。</p><p> 3.审稿人登录后可设置兴趣领域、审阅稿件给出意见以及罗列录用和(或)拒绝的稿件。</p><p> 4.会议委员会主席是一个特殊审稿人,可以浏览提交的稿件、给审稿人分配稿件、罗列录用和(或)拒绝的稿件以及关闭审稿过程。其中,关闭审稿过程须包括罗列录用和(或)拒绝的稿件。</p><p>系统采用面向对象方法开发,使用UMi进行建模。在建模用例图时,常用的方式是先识别参与者,然后确定参与者如何使用系统来确定用例,每个用例可以构造一个活动图。参与者名称、用例和活动名称分别参见以下各表。</p><p>参与者列表</p><img src=\"https://image.chaiding.com/ruankao/0ca804bca254cc0b30d39bc1645ac198.jpg?x-oss-process=style/ruankaodaren\" title=\"0ca804bca254cc0b30d39bc1645ac198.jpg\" alt=\"1.jpg\"/><img src=\"https://image.chaiding.com/ruankao/d5dd2593ecfadceca21b0c65b34ccb59.jpg?x-oss-process=style/ruankaodaren\" title=\"d5dd2593ecfadceca21b0c65b34ccb59.jpg\" alt=\"1.jpg\"/><p>系统的部分用例图和提交稿件的活动图分别见下图。</p><img src=\"https://image.chaiding.com/ruankao/efcc97b05df29f2e0e89f8958536c822.jpg?x-oss-process=style/ruankaodaren\" title=\"efcc97b05df29f2e0e89f8958536c822.jpg\" alt=\"1.jpg\"/><br><p>【问题4】(8分)</p><p>根据[说明]中的描述,使用用例名称列表和活动名称列表中的英文名称,给出提交稿件过程的活动图中Action1~Action4对应的活动。</p>","analyze":"<p>构建用例图时,常用的方式是先识别参与者,然后确定用例。创建参与者之间的继承关系是为了简化绘图。继承关系可以通过子类型“是一种”父类型进行判定。在本题中,作者和审稿人分别是一种用户,委员会主席是一种特殊审稿人。因此,A1:User、 A2:Author、A3:Reviewer、A4:PCChair。</p><p> 考查用例时,通过判断用例是哪一个特定参与者发起或者触发,来建立和参与者之间的关联。审稿人可以设定兴趣领域、审阅稿件给出意见和罗列录用或/和拒绝的稿件,因此U1:list accepted/rejiected papers,会议委员会主席可以浏览提交的稿件、给审稿人分配稿件、罗列录用和(或)拒绝的稿件以及关闭审稿过程,U2和U3分别为browse submitted papers和assign paper to reviewer(可互换)。</p><p> 考查用例之间的关系时,<<extend>>(扩展)关系可以通过判断是否可以从一个用例的执行中,在需要时转向执行另一个用例,执行完返回继续,即存在<<extend>>关系。<<include>>(包含)定义了用例之间的包含关系,用于一个用例包含另一个用例的行为的建模,通过这种方式,可以把抽象(公共)行为从多个行为中分离出来。本题中,只有作者能提交稿件,“提交稿件”时判断是否登录,如果没有登录,先“登录”,然后返回继续提交稿件,所以(1)处应填<<extend>>。审稿人可以罗列录用和(或)拒绝的稿件,会议委员会主席在关闭审稿过程时须包括罗列录用和(或)拒绝的稿件,即用例“list accepted/rejected papers”和用例“close reviewing process”存在包含关系,所以(2)处应填<<include>>。</p><p> 可以通过为每个用例构造一个活动图对用例进一步细化。构造活动图时可以通过如下步骤进行:从一个作为起点的初始节点开始;为用例的每个主要步骤添加一个动作:从一个活动到另一个活动、决策点或终点添加一条流;在流分解成不同路线的地方添加决策,并用一个合并将各个流重新合并;在有并行执行活动的地方添加分支和联合;用一个单一的活动终止符号结束。本题中,根据说明中条目2中描述的提交稿件的过程构建活动图,所以Actionl处填enter title and abstract、Action2处填select subject group、 Action3处填select paper location、Action4处填upload paper。</p>","multi":0,"questionType":2,"answer":"<p>问题4:Action1:enter title and abstract Action2:select subject group</p><p> Action3:select paper location Action4:upload paper</p>","chooseItem":null,"itemList":null,"userAnswer":null,"userChooseItem":null,"answerCorrect":null,"userCollect":null},{"id":"794934126464487425","title":"<p style=\"text-indent:32px\">试题四(25分)</p><p>阅读以下关于数据管理的叙述,在答题纸上回答问题1至问题3。</p><p>【说明】</p><p>某社交媒体企业开发了一套新闻社交类软件,提供常见的新闻发布、用户关注、用户推荐、新闻点评、新闻推荐、热点新闻等功能,项目采用关系数据库来存储业务数据。系统上线后,随着用户数量的增加,数据库服务器的压力不断加大。为此,该企业设立了专门的工作组来解决此问题。</p><p>孙工提出对数据库进行反范式设计,好处是程序改动比较小,可以较快完成,后续也可以再扩展到数据库集群。钱工认为该系统的诸多功能,并不需要采用关系数据库,甚至关系数据库限制了功能的实现,应该采用 NoSQL数据库来替代,重新构造系统的数据层,由此可以得到分布式数据库的高并发、高可用等许多优良性能。</p><p>经过多次讨论,该企业最终决定采用钱工提出的方案。</p><br><p>【问题2】(8分)</p><p>钱工的方案中则提到多种可供选择的NoSQL数据库,请用300 字以内的文字简要说明NoSQL数据库的分类及特点。</p>","analyze":"略","multi":0,"questionType":2,"answer":"<p>NoSQL数据库的分类:</p><p>①u3000键值(Key-Value)数据库,每一条记录就是一个键/值对。键是一个字符串对象,而值是可以任意类型的数据。优点是扩展性好,灵活性好,大量写操作时性能高。</p><p>②u3000列族数据库,每个列可以有多个值和时间戳。优点是查找速度快,可扩展性强,容易进行分布式扩展,复杂性低。</p><p>③u3000文档数据库,其记录格式是版本化的半结构化的文档。优点是性能好(高并发),灵活性高,复杂性低,数据结构灵活,将经常查询的数据存储在同一个文档中,既可以根据键来构建索引,也可以根据内容构建索引。</p><p>④u3000图形数据库,使用灵活的图形模型,专门用于处理具有高度相互关联关系的数据。优点是灵活性高,支持复杂的图形算法,可用于构建复杂的关系图谱。</p>","chooseItem":null,"itemList":null,"userAnswer":null,"userChooseItem":null,"answerCorrect":null,"userCollect":null},{"id":"834660198919458817","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>【问题2】(9分)</p><p>根据张工的建议,该系统釆用事件系统架构风格实现订单配送服务。请基于对事件系统架构风格的了解,补充图2-6的空(1)~(3)处,完成事件系统的工作原理图。</p><img style=\"max-width:100%;height:auto\" src=\"https://image.chaiding.com/ruankao/80eb60def4a950d2638d286eb90d414b.png?x-oss-process=style/ruankaodaren\" title=\"80eb60def4a950d2638d286eb90d414b.png\" alt=\"image.png\" width=\"400\" height=\"370\"/>","analyze":"<p>【问题2】</p><p>【试题分析】</p><p>事件系统的工作原理图如图4-1所示。</p><img style=\"max-width:100%;height:auto\" src=\"https://image.chaiding.com/ruankao/8b0d7615f2fc9e6e68ef3e48bb3eebf0.png?x-oss-process=style/ruankaodaren\" title=\"8b0d7615f2fc9e6e68ef3e48bb3eebf0.png\" alt=\"image.png\" width=\"485\" height=\"328\"/><p>事件是指能够激活对象功能的动作,当发生动作后会给所涉及对象发送一条消息,对象便可执行相应的功能。事件源负责广播事件。</p><p>事件管理器的作用如下:</p><p>(1)为事件处理器注册感兴趣的事件,建立事件与事件处理器的关联关系。</p><p>(2)当事件发生时可调用相关的事件处理器。</p>","multi":0,"questionType":2,"answer":"(1)事件源(2)事件管理器(3)事件处理器","chooseItem":null,"itemList":null,"userAnswer":null,"userChooseItem":null,"answerCorrect":null,"userCollect":null},{"id":"794934053601038337","title":"<p>试题二(25分)</p><p>电子政务是指政府机构利用信息化手段来实现政府职能。</p><p>某市房地产交易网站是市建设委员会实施电子政务的门户,网站包括以下栏目∶ 项目公示、业务办理、信息发布、通知公告、政策法规、房地产经纪、在线答疑等,其中业务办理栏目中又包括申办预售许可、期房网上签约、申请预售登记、权属登记申请、现房网上签约、经纪机构管理、评估行业管理等项目,多数的业务办理项目需要管理部门多级审批。</p><br><p>【问题2】(6 分)</p><p>电子政务根据其服务的对象不同,基本上可以分为四种模式,即G2G、G2B、G2C、G2E。请根据本题中房地产交易网站的栏目内容,说明该市建设委员会的电子政务系统包括了哪些模式?为什么?</p>","analyze":"无","multi":0,"questionType":2,"answer":"<p>G2B,栏目中有申办预售许可、申请预售登记等,针对房地产开发商企业。</p><p>G2C,栏目中有权属登记申请等,主要是针对购房个人。</p><p>G2E,因为题目中指出多数业务办理项目需要政府主管部门多级审批,所以系统后台还包括了办公自动化系统。</p>","chooseItem":null,"itemList":null,"userAnswer":null,"userChooseItem":null,"answerCorrect":null,"userCollect":null},{"id":"834660194809040897","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>【问题3】(6分)</p><p>根据题目所示“提交订单”用例详细描述,可以识别出哪些业务对象?</p>","analyze":"<p>标识潜在对象的方法就是找出需求中的名词,并合并同义词。</p><img style=\"max-width:100%;height:auto\" src=\"https://image.chaiding.com/ruankao/b7eef0768f49ee9d0aba99e182e19a37.png?x-oss-process=style/ruankaodaren\" title=\"b7eef0768f49ee9d0aba99e182e19a37.png\" alt=\"image.png\" width=\"528\" height=\"358\"/><p>题目“提交订单用例表”包含的相关名词(数据项)有:订单、会员、商家、仓库、支付系统、快递公司、系统、购物车、商品列表、商品、价格、支付信息、密码、配送信息、配送地址、快递公司等。</p><p>1)筛去不在系统范围内的对象。可以筛去商家、仓库、支付系统、快递公司等外部对象。</p><p>2)筛去重复的对象。商品列表与商品,配送信息与配送地址重复可删除其中之一。</p><p>3)筛去没有独立行为的对象。可以筛去价格、支付信息、密码、</p><p>剩余订单、会员、商家、仓库等。</p>","multi":0,"questionType":2,"answer":"<p>订单、会员、购物车、商品、配送信息、支付信息。</p><p><br/></p>","chooseItem":null,"itemList":null,"userAnswer":null,"userChooseItem":null,"answerCorrect":null,"userCollect":null},{"id":"794934036706381825","title":"<p>阅读以下关于软件系统数据架构建模的说明,在答题纸上回答问题1至问题3。</p><p>【说明】</p><p>RMO是一家运动服装制造销售公司,计划在五年时间内将销售区域从华南地区扩展至全国范围。为了扩大信息技术对于未来业务发展的价值,公司邀请咨询顾问帮助他们制订战略信息系统规划。经过评审,咨询顾问给出的战略规划要点之一是建立客户关系支持系统CRSS。RMO公司决定由其技术部成立专门的项目组负责CRSS的开发和维护工作。</p><p>项目组在仔细调研和分析了系统需求的基础上,确定了基于互联网的CRSS系统架构。但在确定系统数据架构时,张工认为应该采用集中式的数据架构,给出的理由是结构简单、易维护且开发及运行成本低;而刘工建议采用分布式的数据架构,并提出在开发中通过“局部数据库+缓存”的读写分离结构实现,具有较好的运行性能和可扩展性。</p><p>项目组经过集体讨论,考虑到公司的未来发展规划,最终采用了刘工的建议。</p><br><p>【问题1】(8分)</p><p>请用300字以内的文字,说明张工和刘工提出的数据架构的基本思想。</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":"794934058348990465","title":"<p>试题三(25分)</p><p>阅读以下关于嵌入式软件体系架构的叙述,在答题纸上回答问题1至问题3。</p><p>某公司承担了一项宇航嵌入式设备的研制任务。本项目除对硬件设备环境有很高的要求外,还要求支持以下功能:</p><p>(1)设备由多个处理机模块组成,需要时外场可快速更换(即LRM结构);</p><p>(2)应用软件应与硬件无关,便于软硬件的升级;</p><p>(3)由于宇航嵌入式设备中要支持不同功能,系统应支持完成不同功能任务间的数据隔离;</p><p>(4)宇航设备可靠性要求高,系统要有故障处理能力。</p><p>公司在接到此项任务后,进行了反复论证,提出三层栈(TLS)软件总体架构,如图3-1所示,并将软件设计工作交给了李工,要求其在三周内完成软件总体设计工作,给出总体设计方案。</p><br/><img src=\"https://image.chaiding.com/ruankao/c5559b5c1a7a176694891c03d018a9ef.jpg?x-oss-process=style/ruankaodaren\" title=\"c5559b5c1a7a176694891c03d018a9ef.jpg\" alt=\"1.jpg\"/><br><p>【问题2】(10分)</p><p>在TLS软件架构的基础上,关于选择哪种类型的嵌入式操作系统问题,李工与总工程师发生了严重分歧。李工认为,宇航系统是实时系统,操作系统的处理时间越快越好,隔离意味着以时间作代价,没有必要,建议选择类似于VxWorks5.5的操作系统;总工程师认为,应用软件间隔离是宇航系统安全性要求,宇航系统在选择操作系统时必须考虑这一点,建议选择类似于Linux的操作系统。</p><p>请说明两种操作系统的主要差异,完成表3-1中的空白部分,并针对本任务要求,用200字以内的文字说明你选择操作系统的类型和理由。</p><p>表3-1 两种操作系统的主要差异</p><br/><img style=\"max-width:100%;height:auto\" src=\"https://image.chaiding.com/ruankao/ba9fa9fefbd98858938d0fdfa5ff220e.jpg?x-oss-process=style/ruankaodaren\" title=\"ba9fa9fefbd98858938d0fdfa5ff220e.jpg\" alt=\"2.jpg\"/>","analyze":"无","multi":0,"questionType":2,"answer":"<p>【问题2】</p><p>两种操作系统的差异见下表。<br/><img style=\"max-width:100%;height:auto\" src=\"https://image.chaiding.com/ruankao/cb203c1d0ea6e69b0972bcd97bea86fc.jpg?x-oss-process=style/ruankaodaren\" title=\"cb203c1d0ea6e69b0972bcd97bea86fc.jpg\" alt=\"1.jpg\"/></p><p>选择类似于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":"794934002564747265","title":"<p>试题一(25分)<br/>阅读以下关于企业应用集成的叙述,根据要求回答问题。</p><p>[说明]</p><p> 某大型企业随着信息化的进展,积累了许多异构的遗产信息系统,这些系统分别采用J2EE、.NET等技术进行开发,分布在不同的地理位置,采用不同的协议进行数据传输。企业要求集成后的系统能够实现功能整合,并在组织现有功能的基础上提供增值服务。FT软件开发公司承接了某大型企业应用系统集成任务。为了按时保质完成任务,选择合适的企业应用集成方法和架构非常重要。项目组在讨论方案时,提出了两种集成思路。</p><p> 魏工建议采用传统的应用集成方法,将应用集成分为多个层次,并采用消息代理中间件连接遗产系统。</p><p> 陈工建议采用基于SOA的方法进行应用集成,将现有遗产系统采用Web Service的方式进行包装,暴露统一格式的接口,并采用企业服务总线(ESB.进行连接。</p><p> 项目组仔细分析比较了两种方案的优点和不足后,认为魏工和陈工的建议都合理,但是结合当前项目的实际情况,最后决定采用陈工的建议。</p><br><p>[问题2](9分)</p><p> 企业数据的分布性和异构性是应用系统方便访问企业数据和在企业数据之上提供增值服务的主要障碍。基于SOA的企业集成通过信息服务提供集成数据的能力,针对该企业的集成实际情况,请用300字以内的文字列举3种基于SOA的企业集成中的“数据整合——信息服务”,并给出简要说明。</p>","analyze":"<p>【问题二】</p><p> 企业数据的分布性和异构性是应用系统方便访问企业数据和在企业数据之上提供增值服务的主要障碍。数据集成和聚合技术在这种背景下诞生,用于提供对分布式数据和异构数据的透明访问。以服务为中心的企业集成通过信息服务提供集成数据的能力,目前主要包括如下集中信息服务。</p><p> (1)联邦服务(Federation Service):提供将各种类型的数据聚合的能力,它既支持关系型数据,也支持XML数据、文本数据和内容数据等非关系型数据。同时,所有的数据仍然按照自己本身的方式管理。</p><p> (2)复制服务(Replication Service):提供远程数据的本地访问能力,它通过自动的实时复制和数据转换,在本地维护一个数据源的副本。本地数据和数据源在技术实现上可以是独立的。</p><p> (3)转换服务(Transformation Service):用于数据源格式到目标格式的转换,可以是批量的或者是基于记录的。</p><p>(4)搜索服务(Search Service):提供对企业数据的查询和检索服务,既支持数据库等结构化数据,也支持如PDF等非结构化数据。</p>","multi":0,"questionType":2,"answer":",(1)联邦服务(Federation,Service):提供将各种类型的数据聚合的能力,它既支持关系型数据,也支持XML数据、文本数据和内容数据等非关系型数据。同时,所有的数据仍然按照自己本身的方式管理。<p> , (2)复制服务(Replication,Service):提供远程数据的本地访问能力,它通过自动的实时复制和数据转换,在本地维护一个数据源的副本。本地数据和数据源在技术实现上可以是独立的。</p><p> , (3)转换服务(Transformation,Service):用于数据源格式到目标格式的转换,可以是批量的或者是基于记录的。</p><p>(4)搜索服务(Search,Service):提供对企业数据的查询和检索服务,既支持数据库等结构化数据,也支持如PDF等非结构化数据。,u3000</p><p>以上答案任选三条。</p>","chooseItem":null,"itemList":null,"userAnswer":null,"userChooseItem":null,"answerCorrect":null,"userCollect":null},{"id":"794934045715746817","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>【问题2】(12分)</p><p>请用 200 字以内的文字叙述 Struts,Spring 和 Hibernate 开源框架特点。</p>","analyze":"<p>略</p>","multi":0,"questionType":2,"answer":"<p>1. Struts 框架</p><p>Struts 框架是基于模型-视图-控制器(MVC)模式的开源框架,主要用于企业应用中表示层的实现。</p><p>借助于 Struts,开发人员可以把主要经理集中在业务处理上,简化遵循 MVC 设计模式的 Web 应用开发工作,很好地实现代码重用,提高开发效率。</p><p>2. Spring 框架</p><p>Spring 框架是业务组件层轻量级框架。,</p><p>3. Hibernate 框架</p><p>Hiberrate属于持久层框架。Hibernate 是一个开源的 O/R Mapping 框架,它对 JDBC进行了非常轻量级的对象封装。可以在应用 EJB 的 J2EE 框架中取代 CMP,完成数据持久化的重任。</p>","chooseItem":null,"itemList":null,"userAnswer":null,"userChooseItem":null,"answerCorrect":null,"userCollect":null},{"id":"834665620007047169","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>【问题2】(9分)</p><p>根据该系统的功能需求,请列举出该系统中存在的实体,以辅助张工进行关系数据库设计。</p>","analyze":"<p>实体是客观存在并可相互区别的事物。可以是具体的人、事、物,还可以是抽象的概念或事物间的联系。题干的功能需求中,具体的人、事、物依次有康复设备、康复训练数据、医生、康复处方、患者、康复训练记录、平台管理员、设备数据、平台管理员等。</p>","multi":0,"questionType":2,"answer":"<p>康复设备、康复训练数据、医生、康复处方、患者、康复训练记录、平台管理员、设备数据、平台管理员等。</p>","chooseItem":null,"itemList":null,"userAnswer":null,"userChooseItem":null,"answerCorrect":null,"userCollect":null},{"id":"794934127420788737","title":"<p style=\"text-indent:32px\">试题四(25分)</p><p>阅读以下关于数据管理的叙述,在答题纸上回答问题1至问题3。</p><p>【说明】</p><p>某社交媒体企业开发了一套新闻社交类软件,提供常见的新闻发布、用户关注、用户推荐、新闻点评、新闻推荐、热点新闻等功能,项目采用关系数据库来存储业务数据。系统上线后,随着用户数量的增加,数据库服务器的压力不断加大。为此,该企业设立了专门的工作组来解决此问题。</p><p>孙工提出对数据库进行反范式设计,好处是程序改动比较小,可以较快完成,后续也可以再扩展到数据库集群。钱工认为该系统的诸多功能,并不需要采用关系数据库,甚至关系数据库限制了功能的实现,应该采用 NoSQL数据库来替代,重新构造系统的数据层,由此可以得到分布式数据库的高并发、高可用等许多优良性能。</p><p>经过多次讨论,该企业最终决定采用钱工提出的方案。</p><br><p>【问题3】(7分)</p><p>钱工提出的方案指出,采用数据库的分布透明性,同样可以减小程序的复杂性。请用 200 字以内的文字简要说明分布式透明性的种类。</p>","analyze":"略","multi":0,"questionType":2,"answer":"①u3000分片透明性是分布透明性的最高层次。所谓分片透明性是指用户或应用程序只对全局关系进行操作而不必考虑数据的分片。<p>②u3000位置透明性是分布透明性的下一层次。所谓位置透明性是指,用户或应用程序应当了解分片情况,但不必了解片段的存储场地。</p><p>③u3000局部数据模型(逻辑透明)透明性是指用户或应用程序应当了解分片及各片断存储的场地,但不必了解局部场地上使用的是何种数据模型。</p>","chooseItem":null,"itemList":null,"userAnswer":null,"userChooseItem":null,"answerCorrect":null,"userCollect":null},{"id":"794934106164056065","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>图 2-1 商品交易平台需求概念图</p><p>具体描述如下:</p><p>1. 平台主要分为商家、顾客和管理员三类用户。商家代表在平台上发布供应和商品的用户,顾客代表在平台上下采购订单的用户,管理员代表平台上的运营和维护人员。</p><p>2. 商家在注册账户后获得一个店铺,店铺拥有库存,库存中存放商品记录。商家可以通过添加商品和追加库存的方式,向库存中添加店铺中可销售的商品。通过标记商品上/下架状态或调整库存的方式设置商品是否在店铺中展示和销售。当商品库存为0时,不会出现在商家店铺中。</p><p>3. 顾客在浏览商家店铺和商品的过程中可以直接下订单(3.1),或将商品加入购物车(3.2),然后再使用购物车生成订单(3.3)。</p><p>3.1 顾客在浏览到某个合意的商品时,可直接填写商品数量并生成订单;</p><p>3.2 顾客在浏览到某个合意的商品时,可将商品添加到购物车中。添加时可提前填入商品数量,也可未来在购物车中修改商品数量;</p><p>3.3 在购物车中,顾客可以移除商品,也可以调整购买商品的数量。顾客可以通过复选框勾选部分商品或全部商品,然后通过生成订单按钮依据选中商品生成一个新得订单。</p><p><br/></p><br><p>【问题2】(6分)请根据详细描述为图2-1添加合适的类,并为图中的类添加适当属性。</p>","analyze":"无","multi":0,"questionType":2,"answer":"<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":"794934007430139905","title":"<p>某公司承担了一项宇航嵌入式设备的研制任务。本项目除对硬件设备环境有很高的要求外,还要求支持以下功能:</p><p>(1) 设备由多个处理机模块组成,需要时外场可快速更换(即LRM结构);</p><p>(2) 应用软件应与硬件无关,便于软硬件的升级;</p><p>(3) 由于宇航嵌入式设备中要支持不同功能,系统应支持完成不同功能任务间的数据隔离;</p><p>(4) 宇航设备可靠性要求高,系统要有故障处理能力。</p><p>公司在接到此项任务后,进行了反复论证,提出三层栈(TLS)软件总体架构,如下图所示,并将软件设计工作交给了李工,要求他在三周内完成软件总体设计工作,给出总体设计方案。</p><br><p>[问题1]</p><p>用150字以内的文字,说明公司制定的TLS软件架构的层次特点,并针对上述功能需求(1)~(4),说明架构中各层内涵。</p>","analyze":"<p>【问题一】</p><p>本题给出的TLS结构框架主要通过硬件抽象,形成模块支持层软件,将操作系统对硬件资源的管理抽象成对一种逻辑上相关的抽象资源的管理,这样就将操作系统软件与硬件进行了分离。而应用软件访问硬件资源靠操作系统提供的服务进行,这样,应用软件仅仅和具体功能实现有关,而不需关心硬件配置。因此,TLS结构框架的主要特点可概述为以下4点:</p><p>(1) 应用软件仅与操作系统服务相关,不直接操作硬件。</p><p>(2) 操作系统通过模块支持原软件访问硬件,可与具体硬件无关。</p><p>(3) 模块支持层将硬件抽象成标准操作。</p><p>(4) 通过三层栈的划分可实现硬件的快速更改与升级,应用软件的升级不会引起硬件的变更。</p><p>基于这种思想,TLS结构框架实现了宇航设备中软件功能服务,这样考生就可以完整地叙述各层软件的设计内涵,即:</p><p>(1) 应用层主要完成宇航设备的具体工作,由多个功能任务组成,各功能任务间的隔离由操作系统层实现。</p><p>(2) 操作系统层实现应用软件与硬件的隔离,为应用软件提供更加丰富的计算机资源服务。操作系统为应用软件提供标准的API接口(如POSIX),确保了应用软件的可升级性。</p><p>(3) 模块支持层为操作系统管理硬件资源提供统一管理方法,用一种抽象的标准接口实现软件与硬件的无关性,达到硬件的升级要求,便于硬件的外场快速更换。</p>","multi":0,"questionType":2,"answer":"<p>TLS结构框架的主要特点:</p><p>(1) 应用软件仅与操作系统服务相关,不直接操作硬件。</p><p>(2) 操作系统通过模块支持原软件访问硬件,可与具体硬件无关。</p><p>(3) 模块支持层将硬件抽象成标准操作。</p><p>(4) 通过三层栈的划分可实现硬件的快速更改与升级,应用软件的升级不会引起硬件的变更。</p><p>TLS结构框架的各层内涵是:</p><p>(1) 应用层主要完成宇航设备的具体工作,由多个功能任务组成,各功能任务间的隔离由操作系统层实现。</p><p>(2) 操作系统层实现应用软件与硬件的隔离,为应用软件提供更加丰富的计算机资源服务。操作系统为应用软件提供标准的API接口(如POSIX),确保了应用软件的可升级性。</p><p>(3) 模块支持层为操作系统管理硬件资源提供统一管理方法,用一种抽象的标准接口实现软件与硬件的无关性,达到硬件的升级要求,便于硬件的外场快速更换。</p>","chooseItem":null,"itemList":null,"userAnswer":null,"userChooseItem":null,"answerCorrect":null,"userCollect":null},{"id":"794934028904976385","title":"<p>某企业准备开发一个信息管理系统,其生存周期为5年。该系统的预计开发成本、预计的年运行/维护成本,以及预计的收益如下表所示(其中带括号的数据表示负值)。</p><br/><img src=\"https://image.chaiding.com/ruankao/88bc7aec8fe0874d89a0a6512064c1f4.jpg?x-oss-process=style/ruankaodaren\" title=\"88bc7aec8fe0874d89a0a6512064c1f4.jpg\" alt=\"1.jpg\"/><br><p>【问题3】(8分)</p><p>一个项目的投资回报率ROI(Return of Investment)是度量企业从一项投资中获得的回报总量与投资总量之间关系的百分率。根据表中的数据,计算该项目的全生存期的投资回报率(lifetime ROI)和年平均投资回报率(annual ROI)。</p>","analyze":"略","multi":0,"questionType":2,"answer":"<p>全生存期的投资回报率 =(预计的全生存期收益-预计的全生存期成本)/预计的全生存期成本= (668690-360472)/360472 = 85.5%。</p><p>年平均投资回报率 =全生存期的投资回报率/软件的生存期 = 85.5%/5 = 17.1%</p>","chooseItem":null,"itemList":null,"userAnswer":null,"userChooseItem":null,"answerCorrect":null,"userCollect":null},{"id":"834660195949891585","title":"<p style=\"text-indent:27px;line-height:150%\">试题二(25分)</p><p>阅读以下关于软件系统分析与设计的叙述,在答题纸上回答问题1至问题3。</p><p>【说明】</p><p>某企业拟开发一套数据处理系统,在系统分析阶段,系统分析师整理的核心业务流程与需求如下:</p><p>(a)系统分为管理员和用户两类角色,其中管理员主要进行用户注册与权限设置,用户主要完成业务功能;</p><p>(b)系统支持用户上传多种类型的数据,主要包括图像、文本和二维曲线等;</p><p>(c)数据上传完成后,用户需要对数据进行预处理操作,预处理操作包括图像增强、文本摘要,曲线平滑等;</p><p>(d)预处理操作完成后,需要进一步对数据进行智能分析,智能分析操作包括图像分类、文本情感分析、曲线未来走势预测等;</p><p>(e)上述预处理和智能分析操作的中间结果均需要进行保存;</p><p>(f)用户可以将数据分析结果以图片、文本、二维图表等多种方式进行展示,并支持结果汇总,最终导出为符合某种格式的报告。</p><br><p>【问题3】(6分)</p><p>在结构化设计方法中,通常采用流程图表示某一处理过程,这种过程既可以是生产线上的工艺流程,也可以是完成一项任务必需的管理过程。而在面向对象的设计方法中,则主要釆用活动图表示某个用例的工作流程。请用300字以内的文字说明流程图和活动图在表达业务流程时的三个主要不同点。</p>","analyze":"<p>略</p>","multi":0,"questionType":2,"answer":"<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":"794934003571380225","title":"<p>试题一(25分)<br/>阅读以下关于企业应用集成的叙述,根据要求回答问题。</p><p>[说明]</p><p> 某大型企业随着信息化的进展,积累了许多异构的遗产信息系统,这些系统分别采用J2EE、.NET等技术进行开发,分布在不同的地理位置,采用不同的协议进行数据传输。企业要求集成后的系统能够实现功能整合,并在组织现有功能的基础上提供增值服务。FT软件开发公司承接了某大型企业应用系统集成任务。为了按时保质完成任务,选择合适的企业应用集成方法和架构非常重要。项目组在讨论方案时,提出了两种集成思路。</p><p> 魏工建议采用传统的应用集成方法,将应用集成分为多个层次,并采用消息代理中间件连接遗产系统。</p><p> 陈工建议采用基于SOA的方法进行应用集成,将现有遗产系统采用Web Service的方式进行包装,暴露统一格式的接口,并采用企业服务总线(ESB.进行连接。</p><p> 项目组仔细分析比较了两种方案的优点和不足后,认为魏工和陈工的建议都合理,但是结合当前项目的实际情况,最后决定采用陈工的建议。</p><br><p>[问题3](4分)</p><p> 结合你的系统架构设计经验,请用300字以内的文字简要说明FT公司项目组在对该企业构建SOA架构时,除了注意原有系统架构中的集成需求之外,还需要在服务构建时重点关注哪些问题。</p>","analyze":"<p>【问题三】</p><p>SOA系统中服务粒度的控制是一项十分重要的设计任务。通常来说,对于将暴露在整个系统外部的服务推荐使用粗粒度的接口,而相对较细粒度的服务接口通常用于企业系统架构的内部。从技术上讲,粗粒度的服务接口可能是一个特定服务的完整执行,而细粒度的服务接口可能是实现这个粗粒度服务接口的具体的内部操作。虽然细粒度的接口能为服务请求者提供更加细化和更多的灵活性,但同时也意味着引入较难控制的交互模式易变性,也就是说服务的交互模式可能随着不同的服务请求者而不同。如果暴露这些易于变化的服务接口给系统的外部用户,就可能造成外部服务请求者难于支持不断变化的服务提供者所暴露的细粒度服务接口;而粗粒度服务接口保证了服务请求者将以一致的方式使用系统中所暴露出的服务。虽然SOA并不强制要求一定要使用粗粒度的服务接口,但是建议使用它们作为外部集成的接口。通常,可以使用业务流程(BPEL)来创建由细粒度操作组成的业务流程的粗粒度的服务接口。</p><p> SOA系统架构中的具体服务应该都是独立的、自包含的请求,在实现这些服务的时候不需要前一个请求的状态,也就是说服务不应该依赖于其他服务的上下文和状态,即SOA架构中的服务应该是无状态的服务。当某一个服务需要依赖时,最好把它定义成具体的业务流程(BPEL)。在服务的具体实现机制上,可以通过使用EJB组件来实现粗粒度的服务。通常,可以利用无状态的Session Bean来实现具体的服务,如果基于Web Service技术,就可以将无状态的Session Bean暴露为外部用户可以调用到的Web服务,也就是把传统的Session Facade模型转化为EJB的Web服务端点。这样,就可以向Web服务客户提供粗粒度的服务。</p><p> 如果要在J2EE的环境下(基于WebSphere)构建Web服务,Web服务客户可以通过两种方式访问J2EE应用程序。客户可以访问用JAX-RPC API创建的Web服务(使用Servlet来实现);Web服务客户也可以通过EJB的服务端点接口访问无状态的Session:Bean,但Web服务客户不能访问其他类型的企业Bean,如有状态的Session Bean、实体Bean和消息驱动Bean。对于后一种访问方式(公开无状态EJB组件作为Web服务)的优势在于,基于已有的EJB组件,可以利用现有的业务逻辑和流程。在许多企业中,现有的业务逻辑可能已经使用EJB组件编写,通过Web服务公开它可能是实现从外界访问这些服务的最佳选择。EJB端点是一种很好的选择,因为它使业务逻辑和端点位于同一层上。另外,EJB容器会自动提供对并发的支持,作为无状态Session Bean实现的EJB服务端点不必担心多线程访问,因为EJB容器必须串行化对无状态会话Bean任何特定实例的请求。由于EJB容器都会提供对于Security和Transaction的支持,因此Bean的开发人员可以无须编写安全代码及事务处理代码。性能问题对于Web服务来说一直都是一个问题,由于几乎所有EJB容器都提供了对无状态会话Bean群集的支持,以及对无状态Session Bean池与资源管理的支持,因此当负载增加时,可以向集群中增加服务器数目。Web服务请求可以定向到这些不同的服务器,同时由于无状态Session Bean池改进了资源利用和内存管理,使Web服务能够有效地响应多个客户请求。由此可以看到,通过把Web服务模型化为EJB端点,可以使服务具有更强的可伸缩性,并增强了系统整体的可靠性。</p>","multi":0,"questionType":2,"answer":"<p>问题三:</p><p>当基于SOA来构建一个企业级的系统架构时,一定要注意对原有系统架构中的集成需求进行细致的分析和整理。而关于系统中最重要的元素,也就是SOA系统中服务的构建有两点需要特别注意的地方:①是对于服务粒度的控制;②是对于无状态服务的设计。</p>","chooseItem":null,"itemList":null,"userAnswer":null,"userChooseItem":null,"answerCorrect":null,"userCollect":null},{"id":"794934085595189249","title":"<p>某公司拟开发一个商业情报处理系统,使公司能够及时针对市场环境的变化及时调整发展战略,以获取最大的商业利益。项目组经过讨论,决定采用结构化分析和设计方法。在系统分析阶段,为了更好地对情报数据处理流程及其与外部角色的关联进行建模,项目组成员分别给出了自己的设计思路:</p><p>(1)小张提出先构建系统流程图(System Flowcharts),以便更精确地反映系统的业务处理过程及数据的输入和输出;</p><p>(2)小李提出先构建系统数据流图(Data Flow Diagrams),来展现系统的处理过程和定义业务功能边界,并给出了情报分类子系统的0层和1层数据流图,后者如图2-1所示。<br/><img src=\"https://image.chaiding.com/ruankao/4735ebaa509c0e4bb04cab764658d434.jpg?x-oss-process=style/ruankaodaren\" title=\"4735ebaa509c0e4bb04cab764658d434.jpg\" alt=\"1.jpg\"/><br/>项目组经讨论确定以数据流图作为本阶段的建模手段。工程师老王详细说明了流程图和数据流图之间的区别与联系,并指出了图2-1的数据流图中存在的错误。</p><br><p>【问题2】(8分)</p><p>请分析指出图2-1所示的数据流图中存在的错误及其原因,并针对图2-1的1层数据流图绘制出情报分类子系统的0层数据流图。</p>","analyze":"无","multi":0,"questionType":2,"answer":"<p>【问题2】</p><p>如图所示的数据流图中存在的错误有以下4种:</p><p>(1)“分类训练”加工:只有输入没有输出,产生数据黑洞;</p><p>(2)“分类处理”加工:有输出没有输入,无中生有;</p><p>(3)“规则文件”数据流:外部实体没有经过加工处理,直接到数据存储;</p><p>(4)“配置信息”数据流:外部实体之间没有加工处理,存在直接数据流。<br/><img style=\"max-width:100%;height:auto\" src=\"https://image.chaiding.com/ruankao/0b3e1da2af457bf7ddbbc45c31cb248a.jpg?x-oss-process=style/ruankaodaren\" title=\"0b3e1da2af457bf7ddbbc45c31cb248a.jpg\" alt=\"1.jpg\"/></p>","chooseItem":null,"itemList":null,"userAnswer":null,"userChooseItem":null,"answerCorrect":null,"userCollect":null},{"id":"794934029878054913","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><p>【问题1】将表1-1和表1-2中的(1)~(10)填充完整。(10分)</p>","analyze":"略","multi":0,"questionType":2,"answer":"<p>(1)提交信用卡申请表(2)信用卡类型及申请人的基本信息(3)非信用卡客户(4)确认函(5)u2002非信用卡客户u2002(6)u2002拒绝函u2002(7)u2002非信用卡客户u2002(8)u2002信用卡激活请求u2002(9)u2002激活通知u2002(10)u2002信用卡客户u2002</p><p>注:(4)、(6)答案可以互换。</p>�零点,CCMS为每个信用卡客户创建一份月报表,对该客户上月的信用卡交易情况及交易额进行统计。信用卡客户可以登录CCMS查看月报表,也可以要求CCMS提供打印出的月报表。<p><br/></p><p>(3)信用卡客户信息管理。信用卡客户的个人信息可以在CCMS中进行在线的管理。</p><p>每个信用卡客户可以在线查询其个人信息。</p><p>(4)信用卡交易记录。信用卡客户使用信用卡进行的每一笔交易都会记录在CCMS中。</p><p>(5)交易信息查询。信用卡客户可以登录CCMS查询并核实其信用卡交易记录及交易额。在系统的需求分析阶段,使用用例对系统需求建模。表1-1和表1-2给出了其中两个用例的概要描述。</p>","chooseItem":null,"itemList":null,"userAnswer":null,"userChooseItem":null,"answerCorrect":null,"userCollect":null},{"id":"794934017160925185","title":"<p>试题二(26分)</p><p> 阅读下列说明和图,回答问题1至问题4,将解答填入对应栏内。</p><p>【说明】</p><p> 在线会议审稿系统(Online Reviewing System,ORS)主要处理会议前期的投稿和审稿事务,其功能描述如下:</p><p> 1.用户在初始使用系统时,必须在系统中注册(register)成为作者或审稿人。</p><p> 2.作者登录(login)后提交稿件和浏览稿件审阅结果。提交稿件必须在规定提交时间范围内,其过程为先输入标题和摘要、选择稿件所属主题类型、选择稿件所在位置 (存储位置)。上述几步若未完成,则重复;若完成,则上传稿件至数据库中,系统发送通知。</p><p> 3.审稿人登录后可设置兴趣领域、审阅稿件给出意见以及罗列录用和(或)拒绝的稿件。</p><p> 4.会议委员会主席是一个特殊审稿人,可以浏览提交的稿件、给审稿人分配稿件、罗列录用和(或)拒绝的稿件以及关闭审稿过程。其中,关闭审稿过程须包括罗列录用和(或)拒绝的稿件。</p><p>系统采用面向对象方法开发,使用UMi进行建模。在建模用例图时,常用的方式是先识别参与者,然后确定参与者如何使用系统来确定用例,每个用例可以构造一个活动图。参与者名称、用例和活动名称分别参见以下各表。</p><p>参与者列表</p><img src=\"https://image.chaiding.com/ruankao/0ca804bca254cc0b30d39bc1645ac198.jpg?x-oss-process=style/ruankaodaren\" title=\"0ca804bca254cc0b30d39bc1645ac198.jpg\" alt=\"1.jpg\"/><img src=\"https://image.chaiding.com/ruankao/d5dd2593ecfadceca21b0c65b34ccb59.jpg?x-oss-process=style/ruankaodaren\" title=\"d5dd2593ecfadceca21b0c65b34ccb59.jpg\" alt=\"1.jpg\"/><p>系统的部分用例图和提交稿件的活动图分别见下图。</p><img src=\"https://image.chaiding.com/ruankao/efcc97b05df29f2e0e89f8958536c822.jpg?x-oss-process=style/ruankaodaren\" title=\"efcc97b05df29f2e0e89f8958536c822.jpg\" alt=\"1.jpg\"/><br><p>【问题2】(6分)</p><p>根据[说明]中的描述,使用用例名称列表中的英文名称,给出ORS用例图中U1一 U3所对应的用例。</p>","analyze":"<p>构建用例图时,常用的方式是先识别参与者,然后确定用例。创建参与者之间的继承关系是为了简化绘图。继承关系可以通过子类型“是一种”父类型进行判定。在本题中,作者和审稿人分别是一种用户,委员会主席是一种特殊审稿人。因此,A1:User、 A2:Author、A3:Reviewer、A4:PCChair。</p><p> 考查用例时,通过判断用例是哪一个特定参与者发起或者触发,来建立和参与者之间的关联。审稿人可以设定兴趣领域、审阅稿件给出意见和罗列录用或/和拒绝的稿件,因此U1:list accepted/rejiected papers,会议委员会主席可以浏览提交的稿件、给审稿人分配稿件、罗列录用和(或)拒绝的稿件以及关闭审稿过程,U2和U3分别为browse submitted papers和assign paper to reviewer(可互换)。</p><p> 考查用例之间的关系时,<<extend>>(扩展)关系可以通过判断是否可以从一个用例的执行中,在需要时转向执行另一个用例,执行完返回继续,即存在<<extend>>关系。<<include>>(包含)定义了用例之间的包含关系,用于一个用例包含另一个用例的行为的建模,通过这种方式,可以把抽象(公共)行为从多个行为中分离出来。本题中,只有作者能提交稿件,“提交稿件”时判断是否登录,如果没有登录,先“登录”,然后返回继续提交稿件,所以(1)处应填<<extend>>。审稿人可以罗列录用和(或)拒绝的稿件,会议委员会主席在关闭审稿过程时须包括罗列录用和(或)拒绝的稿件,即用例“list accepted/rejected papers”和用例“close reviewing process”存在包含关系,所以(2)处应填<<include>>。</p><p> 可以通过为每个用例构造一个活动图对用例进一步细化。构造活动图时可以通过如下步骤进行:从一个作为起点的初始节点开始;为用例的每个主要步骤添加一个动作:从一个活动到另一个活动、决策点或终点添加一条流;在流分解成不同路线的地方添加决策,并用一个合并将各个流重新合并;在有并行执行活动的地方添加分支和联合;用一个单一的活动终止符号结束。本题中,根据说明中条目2中描述的提交稿件的过程构建活动图,所以Actionl处填enter title and abstract、Action2处填select subject group、 Action3处填select paper location、Action4处填upload paper。</p>","multi":0,"questionType":2,"answer":"<p>问题2:U1:list accepted/rejected papers U2:browse submitted papers</p><p> U3:assign paper to reviewer</p><p>注:U2和U3的答案可互换 </p>","chooseItem":null,"itemList":null,"userAnswer":null,"userChooseItem":null,"answerCorrect":null,"userCollect":null},{"id":"794934094470336513","title":"<p>阅读下列关于软件产品线方面的叙述,回答问题1至问题3。</p><p>A 公司是一家中等规模的计算机企业,专门从事网络安全防护软件系统的开发。从最初仅开发基于Windows 的个人防火墙产品开始,现在已经延伸到基于Linux、Windows 系列、Mac 操作系统的个人防火墙、企业防火墙、入侵检测系统、病毒扫描系统、安全扫描系统等多种产品。公司原来的产品都是一个一个地开发,为每个软件对应地组织一个项目组。</p><p>为了适应快速变化的市场,降低开发成本,公司想引入产品线方法。然而,软件产品线方法涉及了一个软件开发企业的多个产品,所以,公司的王总决定在弄清楚以下三个问题之后再做决定∶首先就是本公司的业务范围是否适合使用产品线方法,其次是如何在原有产品的基础上建立产品线,最后是成功实施产品线的主要因素。</p><br><p>【问题2】(12分)</p><p>请用 400字以内文字,说明在原有产品的基础上建立软件产品线的方式,并作简要评价。</p>","analyze":"无","multi":0,"questionType":2,"answer":"<p>【问题2】</p><p>在原有产品的基础上,可采用下列方式之一建立产品线。</p><p>(1)演化方式,即将现有产品演化为产品线:在基于现有产品体系结构设计的基础上,将特定产品的构件逐步转化为产品线的共用构件,从基于产品的方法逐步转化为基于产品线的软件开发。主要优点是通过对投资回报周期的分解、对现有系统演化的维持使产品线方法的实施风险降到了最小,与革命方式相比,完成核心资源的总周期和总投资较大。</p>","chooseItem":null,"itemList":null,"userAnswer":null,"userChooseItem":null,"answerCorrect":null,"userCollect":null},{"id":"794934159314276353","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>【问题2】(13分)</p><p>系统分析师采用E-R图对以上需求进行了建模,画出下图。</p><img style=\"max-width:100%;height:auto\" src=\"https://image.chaiding.com/ruankao/f6d07da79ed9850587298f8ad21ad45e.jpg?x-oss-process=style/ruankaodaren\" title=\"f6d07da79ed9850587298f8ad21ad45e.jpg\" alt=\"1111.jpg\" width=\"504\" height=\"524\"/><p>根据题意写出图中的(1)~(13)。将答案填在答题纸上。</p>","analyze":"无","multi":0,"questionType":2,"answer":"<p>(1)物品编号 (2)名称 (3)数量 (2、3可互换)</p><p>(4)物品编号 (5)订购数量 (4、5可互换)</p><p>(6)顾客编号 (7)顾客名</p><p>(8)供应商名称 (9)地址 (10)电话 (8、9、10可互换)</p><p>(11)订货(12)供货 (13)顾客</p>","chooseItem":null,"itemList":null,"userAnswer":null,"userChooseItem":null,"answerCorrect":null,"userCollect":null},{"id":"794934090628354049","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>【问题1】(9分)</p><p>在研讨过程中,设备厂商的技术总监提出采用互联网公司常用的SSM架构,使用MySQL作为数据库,而软件研发团队的架构师却提出要使用由MySQL、HBase和Redis组成的多种多组数据库。请给出适当建议。</p>","analyze":"无","multi":0,"questionType":2,"answer":"<p>技术总监的建议中,MySQL属于关系型数据库,实际应用中一般用来作为操作数据存储。研发架构师提出的HBase和Redis属于NoSQL,实际应用中一般用来做大数据量和高即时性数据存储。该案例属于物联网应用,建议增加NoSQL数据库提高数据存储的容量和即时性。</p><p>但是HBase属于列族数据库,不便于关联数据的查询,既降低查询速度,又增加IO操作,建议采用MongoDB替换掉HBase。</p>","chooseItem":null,"itemList":null,"userAnswer":null,"userChooseItem":null,"answerCorrect":null,"userCollect":null},{"id":"794934000538898433","title":"<br><p>某企业根据业务扩张的要求,需要将原有的业务系统扩展到互联网上,建立自己的B2C业务系统,此时系统的安全性成为一个非常重要的设计需求。为此,该企业向软件开发商提出如下要求:</p><p> (1) 合法用户可以安全地使用该系统完成业务;</p><p> (2) 灵活的用户权限管理;</p><p> (3) 保护系统数据的安全,不会发生信息泄漏和数据损坏;</p><p> (4) 防止来自于互联网上各种恶意攻击;</p><p> (5) 业务系统涉及到各种订单和资金的管理,需要防止授权侵犯;</p><p> (6) 业务系统直接面向最终用户,需要在系统中保留用户使用痕迹,以应对可能的商业诉讼。</p><p> 该软件开发商接受任务后,成立方案设计小组,提出的设计方案是:在原有业务系统的基础上,保留了原业务系统中的认证和访问控制模块;为了防止来自互联网的威胁,增加了防火墙和入侵检测系统。</p><p> 企业和软件开发商共同组成方案评审会,对该方案进行了评审,各位专家对该方案提出了多点不同意见。李工认为,原业务系统只针对企业内部员工,采用了用户名/密码方式是可以的,但扩展为基于互联网的B2C业务系统后,认证方式过于简单,很可能造成用户身份被盗取;王工认为,防止授权侵犯和保留用户痕迹的要求在方案中没有体现。而刘工则认为,即使是在原有业务系统上的扩展与改造,也必须全面考虑信息系统面临的各种威胁,设计完整的系统安全架构,而不是修修补补。</p><p> [问题1](8分)</p><p> 信息系统面临的安全威胁多种多样,来自多个方面。请指出信息系统面临哪些方面的安全威胁并分别予以简要描述。</p><p> [问题2](8分)</p><p> 认证是安全系统中不可缺少的环节,请简要描述主要的认证方式,并说明该企业应采用哪种认证方式。</p><p> [问题3](9分)</p><p> 请解释授权侵犯的具体含义;针对王工的意见给出相应的解决方案,说明该解决方案的名称、内容和目标。</p>","analyze":"略","multi":0,"questionType":3,"answer":"<p>[问题1]</p><p> 信息系统面临的安全威胁来自于物理环境、通信链路、网络系统、操作系统、应用系统以及管理等多个方面。</p><p> 物理安全威胁是指对系统所用设备的威胁,如自然灾害、电源故障、数据库故障和设备被盗等造成数据丢失或信息泄漏。</p><p> 通信链路安全威胁是指在传输线路上安装窃听装置或对通信链路进行干扰。</p><p> 网络安全威胁当前主要是指由于因特网的开放性、国际性与无安全管理性,对内部网络形成的严重安全威胁。</p><p> 操作系统安全威胁指的是操作系统本身的后门或安全缺陷,如“木马”和“陷阱门”等。</p><p> 应用系统安全威胁是指对于网络服务或用户业务系统安全的威胁,包括应用系统自身漏洞,也受到“木马”的威胁。</p><p> 管理系统安全威胁指的是人员管理和各种安全管理制度。</p><p>[问题2]</p><p> 目前主要的认证方式有三类:</p><p> (1) 用户名和口令认证:主要是通过一个客户端与服务器共知的口令(或与口令相关的数据)进行验证。根据处理形式的不同,分为验证数据的明文传送、利用单向散列函数处理验证数据、利用单向散列函数和随机数处理验证数据。</p><p> (2) 使用令牌认证:该方式中,进行验证的密钥存储于令牌中,目前的令牌包括安全证书和智能卡等方式。</p><p> (3) 生物识别认证:主要是根据认证者的图像、指纹、气味和声音等作为认证数据。根据该企业的业务特征,采用令牌认证较为合适。</p><p>[问题3]</p><p> 授权侵犯指的是被授权以某一目的使用某一系统或资源的某个人,将此权限用于其他非授权的目的,也称作“内部攻击”。</p><p> 针对王工的建议,从系统安全架构设计的角度需要提供抗抵赖框架。</p><p> 抗抵赖服务包括证据的生成、验证和记录,以及在解决纠纷时随即进行的证据恢复和再次验证。</p><p> 框架中抗抵赖服务的目的是提供有关特定事件或行为的证据。例如,必须确认数据原发者和接收者的身份和数据完整性,在某些情况下,可能需要涉及上下文关系(如日期、时间、原发者/接收者的地点等)的证据,等等。</p>","chooseItem":null,"itemList":null,"userAnswer":null,"userChooseItem":null,"answerCorrect":null,"userCollect":null},{"id":"794933998575964161","title":"<br><p>某公司承担了一项宇航嵌入式设备的研制任务。本项目除对硬件设备环境有很高的要求外,还要求支持以下功能:</p><p>(1) 设备由多个处理机模块组成,需要时外场可快速更换(即LRM结构);</p><p>(2) 应用软件应与硬件无关,便于软硬件的升级;</p><p>(3) 由于宇航嵌入式设备中要支持不同功能,系统应支持完成不同功能任务间的数据隔离;</p><p>(4) 宇航设备可靠性要求高,系统要有故障处理能力。</p><p>公司在接到此项任务后,进行了反复论证,提出三层栈(TLS)软件总体架构,如下图所示,并将软件设计工作交给了李工,要求他在三周内完成软件总体设计工作,给出总体设计方案。<br/><img style=\"max-width:100%;height:auto\" src=\"https://image.chaiding.com/ruankao/5987bb3278e22dbe9f4fb99ad6781fb1.jpg?x-oss-process=style/ruankaodaren\" title=\"5987bb3278e22dbe9f4fb99ad6781fb1.jpg\" alt=\"1.jpg\"/></p><p>用150字以内的文字,说明公司制定的TLS软件架构的层次特点,并针对上述功能需求(1)~(4),说明架构中各层内涵。</p><p>[问题2]</p><p>在TLS软件架构的基础上,关于选择哪种类型的嵌入式操作系统问题,李工与总工程师发生了严重分歧。李工认为,宇航系统是实时系统,操作系统的处理时间越快越好,隔离意味着以时间作代价,没有必要,建议选择类似于VxWorks5.5的操作系统;总工程师认为,应用软件间隔离是宇航系统安全性要求,宇航系统在选择操作系统时必须考虑这一点,建议选择类似于Linux的操作系统。</p><p>请说明两种操作系统的主要差异,完成下表中的空白部分,并针对本任务要求,用200字以内的文字说明你选择操作系统的类型和理由。</p><p>两种操作系统的主要差异<br/><img style=\"max-width:100%;height:auto\" src=\"https://image.chaiding.com/ruankao/f6cd17b807f222190af2b90e4c620c39.jpg?x-oss-process=style/ruankaodaren\" title=\"f6cd17b807f222190af2b90e4c620c39.jpg\" alt=\"1.jpg\"/></p><p>[问题3]</p><p>故障处理是宇航系统软件设计中极为重要的组成部分。故障处理主要包括故障监视、故障定位、故障隔离和系统容错(重组)。用150字以内的文字说明嵌入式系统中故障主要分哪几类?并分别给出两种常用的故障滤波算法和容错算法。</p>","analyze":"<p>略</p>","multi":0,"questionType":3,"answer":"<p>[问题1]</p><p>TLS结构框架的主要特点:</p><p>(1) 应用软件仅与操作系统服务相关,不直接操作硬件。</p><p>(2) 操作系统通过模块支持原软件访问硬件,可与具体硬件无关。</p><p>(3) 模块支持层将硬件抽象成标准操作。</p><p>(4) 通过三层栈的划分可实现硬件的快速更改与升级,应用软件的升级不会引起硬件的变更。</p><p>TLS结构框架的各层内涵是:</p><p>(1) 应用层主要完成宇航设备的具体工作,由多个功能任务组成,各功能任务间的隔离由操作系统层实现。</p><p>(2) 操作系统层实现应用软件与硬件的隔离,为应用软件提供更加丰富的计算机资源服务。操作系统为应用软件提供标准的API接口(如POSIX),确保了应用软件的可升级性。</p><p>(3) 模块支持层为操作系统管理硬件资源提供统一管理方法,用一种抽象的标准接口实现软件与硬件的无关性,达到硬件的升级要求,便于硬件的外场快速更换。</p><p>[问题2]</p><p>两种操作系统的差异见下表。<br/><img style=\"max-width:100%;height:auto\" src=\"https://image.chaiding.com/ruankao/af4cba6a23b6a3eeca5295d550246c7c.jpg?x-oss-process=style/ruankaodaren\" title=\"af4cba6a23b6a3eeca5295d550246c7c.jpg\" alt=\"1.jpg\"/></p><p>选择类似于Linux的嵌入式操作系统。理由如下:</p><p>(1) Linux操作系统是一种安全性较强的操作系统。内核工作在系统态,应用软件工作在用户态,可以有效防止应用软件对操作系统的破坏。</p><p>(2) Linux操作系统调度的最小单位是线程,线程归属于进程,进程具有自己独立的资源。进程通过存储器管理部件(MMU)实现多功能应用间隔离。</p><p>(3) 嵌入式Linux操作系统支持硬件抽象,可有效实现TLS结构,并将硬件抽象与操作系统分离,可方便实现硬件的外场快速更换。</p><p>[问题3]</p><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":"794933996600446977","title":"<br><p>【说明】</p><p>阅读下列关于软件开发方法的讨论,回答问题1、问题2和问题3。</p><p>张工和李工分别是某公司信息系统项目组和系统开发组的负责人。下面是张工与李工讨论信息系统项目组承接的新项目时的对话。</p><p>张工:我们这次承接的新系统很具有挑战性,在开发过程中不仅要使用一种新的数据库管理系统,用户所给的开发时间也比较短。我担心使用传统的SDLC(软件开发生存周期)方法可能无法按期完成系统开发任务。</p><p>李工:这个项目有什么特点吗?</p><p>张工:我不知道用户是否确切地明白他们想要一个怎样的新系统。他们提出了许多要求,但是我不敢确定他们是否真正理解这个新系统的功能。而且,这个系统可能会相当复杂,因为它要与多个已有的系统进行交互。</p><p>李工:我希望我们有更多使用RAD (Rapid Application Development,快速应用开发)方法的经验。目前你所</p><p>面临的状况可能比较适合使用这种方法。</p><p>李工:我希望我们有更多使用RAD (Rapid Application Development,快速应用开发)方法的经验。目前你所面临的状况可能比较适合使用这种方法。</p><p>张工:我同意。但是这个项目的时限不允许我们去学习运用RAD方法的工具以及即将要使用的新的RDBMS(关系数据库管理系统)。</p><p>[问题1](8分)</p><p>用100字以内文字,分析使张工放弃采用传统的SDLC方法的原因。</p><p>[问题2](9分)</p><p>用200字以内文字,说明RAD方法的基本思想。</p><p>[问题3](8分)</p><p>如果张工采用RAD方法开发该项目,应如何解决对RAD工具不熟悉以及使用新数据库管理系统的问题?用150字以内文字说明。</p>","analyze":"略","multi":0,"questionType":3,"answer":"<p>[问题1](8分)</p><p>(1)\t开发时间成为制约软件开发的重要因素。</p><p>(2)\t不明确的用户需求。</p><p>(3)\t必须使用不熟悉的开发技术。</p><p>[问题2](9分)</p><p>(1)\t让用户更主动地参与到系统分析、设计和构造活动中来。</p><p>(2)\t将项目开发组织成一系列重点突出的研讨会,研讨会要让项目投资方、用户、分析员、设计人员和构造人员一同参与。</p><p>(3)\t通过一种迭代的构造方法加速需求分析和设计阶段。</p><p>(4)\t让用户提前看到一个可工作的系统。</p><p>[问题3](8分)</p><p>(1 )张工应尽可能在项目启动之前对项目组的部分成员进行RAD工具和相关技术,以及采用新的RDBMS的培训。</p><p>(2)可以聘请一个专业顾问来指导项目组使用RAD工具和相关技术。</p>","chooseItem":null,"itemList":null,"userAnswer":null,"userChooseItem":null,"answerCorrect":null,"userCollect":null},{"id":"794933992724910081","title":"<br><p>阅读下列说明,回答问题 1 至问题 3,将解答填入答题纸的对应栏内。</p><p>【说明】</p><p>某 ETC( Electronic Toll Collection,不停车收费)系统在高速公路沿线的特</p><p>定位置上设置一个横跨道路上空的龙门架( Toll gantry),龙门架下包括 6条车道( Trafficlanes),每条车道上安装有雷达传感器( Radar sensor)、无线传输器( Radio transceiver)</p><p>和数码相机( Digital Camera)等用于不停车收费的设备,以完成正常行驶速度下的收费工作。该系统的基本工作过程如下:</p><p>(1)每辆汽车上安装有车载器,驾驶员( Driver)将一张具有唯一识别码的磁卡插入车载器中。磁卡中还包含有驾驶员账户的当前信用记录。</p><p>(2)当汽车通过某条车道时,不停车收费设备识别车载器内的特有编码,判断车型,</p><p>将收集到的相关信息发送到该路段所属的区域系统( Regional center)中,计算通行费用创建收费交易( Transaction),从驾驶员的专用账户中扣除通行费用。如果驾驶员账户透</p><p>支,则记录透支账户交易信息。区域系统再将交易后的账户信息发送到维护驾驶员账户信息</p><p>的中心系统( Central system)</p><p>(3)车载器中的磁卡可以使用邮局的付款机进行充值。充值信息会传送至中心系统,以更新驾驶员账户的余额。</p><p>(4)当没有安装车载器或者车载器发生故障的车辆通过车道时,车道上的数码相机将对车辆进行拍照,并将车辆照片及拍摄时间发送到区域系统,记录失败的交易信息;并将该交易信息发送到中心系统。</p><p>(5)区域系统会获取不停车收费设备所记录的交通事件( Traffic events);交</p><p>通广播电台( Traffic advice center)根据这些交通事件进行路况分析并播报路况。</p><p>现采用面向对象方法对上述系统进行分析与设计,得到如表 3-1 所示的用例列</p><p>表以及如图 3-1 所示的用例图和图 3-2 所示的分析类图。</p><img style=\"max-width:100%;height:auto\" src=\"https://image.chaiding.com/ruankao/c22f11e1d8536712520867db39790708.jpg?x-oss-process=style/ruankaodaren\" title=\"c22f11e1d8536712520867db39790708.jpg\" alt=\"1.jpg\"/><br/><img style=\"max-width:100%;height:auto\" src=\"https://image.chaiding.com/ruankao/af4b6dad72c272c86460b9b8662704bc.jpg?x-oss-process=style/ruankaodaren\" title=\"af4b6dad72c272c86460b9b8662704bc.jpg\" alt=\"2.jpg\"/><br/><p>【问题 1】(15分)</p><p>根据说明中的描述,给出图 3-1 中 A1~A4 所对应的参与者名称。</p><p>根据说明中的描述及表 3-1,给出图 3-1 中 U1-U5 所对应的用例名称。</p><p>根据说明中的描述,给出图 3-2 中 C1~C6 所对应的类名。</p><p>【问题2】 (6分)</p><p>用例图包括哪几个基本元素,并用300字以内的文字进行简要说明。</p><p>【问题 3】(4分)</p><p>在OOA方法中,构建用例模型一般需要经历几个阶段。</p>","analyze":"<p>无</p>","multi":0,"questionType":3,"answer":"<p>【问题 1】(15分)</p><p>参与者:</p><p>A1:Central system/Driver</p><p>A2:Driver/Central system</p><p>A3:Regional center/Traffic advice center</p><p>A4:Traffic advice center/Regional center</p><p>用例:</p><p>U1:Underpaid transaction/Record Illegal use</p><p>U2:Record Illegal use/Underpaid transaction</p><p>U3:Create transaction</p><p>U4:Record traffic event</p><p>U5:Charge card</p><p>类:</p><p>C1:Center system </p><p>C2: Toll gantry</p><p>C3: Traffic lanes</p><p>C4:Radar sensor/Radio transceiver/Digital Camera</p><p>C5:Radio transceiver/Radar sensor/Digital Camera</p><p>C6: Digital Camera/Radar sensor/Radio transceiver</p><p>【问题2】 (6分)</p><p>(1)参与者。参与者是指存在于系统外部并与系统进行交互的任何事物,既可以是使用系统的用户,也可以是其他外部系统和设备等外部实体。</p><p>(2)用例。用例表示系统所提供的服务,它定义了系统是如何被参与者所使用的,它描述的是参与者为了使用系统所提供的某一完整功能而与系统之间发生的一段对话。</p><p>(3)通信关联。通信关联表示的是参与者和用例之间的关系,或用例与用例之间的关系。箭头表示在这一关系中哪一方是对话的主动发起者,箭头所指方是对话的被动接受者,箭尾所指方是对话的主动发起者。如果不想强调对话中的主动与被动关系,可以使用不带箭头的关联实线。</p><p>【问题 3】(4分)</p><p>在OOA方法中,构建用例模型一般需要经历4个阶段,分别是识别参与者、合并需求获得用例、细化用例描述和调整用例模型,其中前三个阶段是必需的。</p>","chooseItem":null,"itemList":null,"userAnswer":null,"userChooseItem":null,"answerCorrect":null,"userCollect":null},{"id":"794933997560942593","title":"<br><p>阅读下列说明,回答问题1至问题4,将解答填入答题纸的对应栏内。</p><p>【说明】</p><p>某证券交易所为了方便提供证券交易服务,欲开发一证券交易平台,该平台的主要功能如下:</p><p>(1)开户。根据客户服务助理提交的开户信息,进行开户,并将客户信息存入客户记录中,账户信息(余额等)存入账户记录中;</p><p>(2)存款。客户可以向其账户中存款,根据存款金额修改账户余额;</p><p>(3)取款。客户可以从其账户中取款,根据取款金额修改账户余额;</p><p>(4)证券交易。客户和经纪人均可以进行证券交易(客户通过在线方式,经纪人通过电话),将交易信息存入交易记录中;</p><p>(5)检查交易。平台从交易记录中读取交易信息,将交易明细返回给客户。</p><p>现采用结构化方法对该证券交易平台进行分析与设计,获得如图1-1所示的上下文数据流图和图1-2所示的0层数据流图。</p><p><img style=\"max-width:100%;height:auto\" src=\"https://image.chaiding.com/ruankao/b1326ebb30ca1d8d1600877c5257951f.jpg?x-oss-process=style/ruankaodaren\" title=\"b1326ebb30ca1d8d1600877c5257951f.jpg\" alt=\"1.jpg\"/></p><p><img style=\"max-width:100%;height:auto\" src=\"https://image.chaiding.com/ruankao/5261fb76239ac3f3fa85fc1dac9d22e8.jpg?x-oss-process=style/ruankaodaren\" title=\"5261fb76239ac3f3fa85fc1dac9d22e8.jpg\" alt=\"2.jpg\"/></p><p>【问题1】(6分)</p><p>使用说明中的词语,给出图1-1中的实体E1-E3的名称,以及图1-2中的数据存储D1-D3的名称。</p><p><br/></p><p>【问题2】(10分)</p><p>用200字以内的文字简述结构化开发方法的核心思想。除了数据流图外结构化分析还包括哪些工具</p><p><br/></p><p>【问题3】(9分)</p><p>系统设计是系统分析的延伸与拓展。系统分析阶段解决“做什么”的问题,而系统设计阶段解决“怎么做”的问题。同时,它也是系统实施的基础,为系统实施工作做好铺垫。</p><p>系统设计的主要内容包括概要设计和详细设计。请简述两个过程的主要任务。</p>","analyze":"略","multi":0,"questionType":3,"answer":"<p>[问题1]</p><p>E1:客户服务助理,E2:客户,E3:经纪人。</p><p>D1:客户记录,D2:账户记录,D3:交易记录</p><p>[问题2]</p><p>u3000结构化方法的核心思想是"自顶向下,逐步分解"。特别适合于数据处理领域的问题,但是不适合解决大规模的、特别复杂的项目,且难以适应需求的变化。</p><p> 结构化分析一般包括以下工具:数据流图(Data Flow Diagram,DFD)、数据字典(Data Dictionary,DD)、结构化语言、判定表、判定树。</p><p>[问题3](8分)</p><p>概要设计主要任务是将系统的功能需求分配给软件模块,确定每个模块的功能和调用关系,形成软件的模块结构图,即系统结构图。在概要设计中,将系统开发的总任务分解成许多个基本的、具体的任务,为每个具体任务选择适当的技术手段和处理方法的过程称为详细设计。</p>","chooseItem":null,"itemList":null,"userAnswer":null,"userChooseItem":null,"answerCorrect":null,"userCollect":null},{"id":"794933999574208513","title":"<br><p>某大型企业在全国各城市共有40个左右的分支机构,这些机构已经建设了基于大型关系数据库的信息管理系统,每天负责独立地处理本区域内的业务并实时存储业务数据。u2002</p><p>每个机构的数据库服务器从PCu2002Server(最小512MB内存)到RISC小型机(最大4GB内存)配置不一,操作系统也不一样,数据库产品类型也不统一。u2002</p><p>每个机构平均每天产生约4MB的数据,数据表中包括TEXT字段;每季度一次性产生约100MB的统计和报表数据。u2002</p><p>为了加强管理,实现对下属机构业务数据的异地存储备份,保证数据的安全及恢复,同时对全国业务数据进行挖掘分析,该企业拟在总部建设数据中心。数据中心通过公共广域网与各个分支机构组成VPN,每个分支机构到数据中心的逻辑信道带宽最高为128Kb/s。u2002</p><p>【问题1】u2002(8分)</p><p>(1)u2002为了保证数据上传的顺序、稳定、安全、并发、并解决数据库的异构问题,系</p><p>统应采用下列哪种技术?u2002</p><p>A.交易中间件技术u2002B.Web中间件u2002C.Webu2002Serviceu2002u2002u2002D.插装技术u2002</p><p>(2)u2002为保证分支机构可靠、高效地向数据中心汇总业务数据,避免单点故障,除了</p><p>考虑广域网线路采用备份外,在数据中心还应采用什么技术?用100字以内文字说明。</p><p>【问题2】u2002(8分)</p><p>假设各个分支机构的历史数据已经通过某种方式顺利地存储到了数据中心。对于增量数据的汇总更新,总部的王副总工提议采用数据库复制技术和数据库的触发器技术获取数据更新日志的方式来完成,但张总认为这样做不仅增加了成本,而且不能解决全部问题。请用300字以内文字说明张总的理由。u2002</p><p>【问题3】u2002(9分)</p><p>最后,为解决数据中心数据更新与同步问题,张总安排总部的系统分析师李工来设计方案,并指出可以对王副总工的意见加以完善,如果需要也可以修改各地的业务系统。李工提出的方案具有较好的可执行性,并获得了大家的认可。请用400字以内文字叙述系统分析师李工的方案要点。</p>","analyze":"<p>略</p>","multi":0,"questionType":3,"answer":"<p>【问题1】u2002(8分)</p><p>(1)交易中间件技术。</p><p>(2)数据中心数据库服务器采用多机集群Cluster和数据库并行处理技术,存储设备采用全冗余的SAN结构</p><p>(或者全冗余的存储结构)。</p><p>【问题2】u2002(8分)</p><p>采用数据库复制技术,各地需要安装专门的复制服务器,增加成本,维护管理较为复杂,同时,太多分支机构使得中心的数据库复制服务器压力大,因此在本题要求的条件下,不宜采用数据库复制技术。u2002</p><p>采用数据库触发器技术虽然能够实时记录数据库的数据变化,但不能捕获数据表中的TEXT字段的UPDATE动作,并且对于每季度一次的统计报表数据,采用数据库的触发器技术来记录数据库的变化,占用数据库资源太多,可能影响某些机构的日常业务处理。</p><p>【问题3】u2002(9分)</p><p>u2002(1)u2002针对多数业务数据的更新,各地数据库采用触发器技术,通过触发器捕获记</p><p>录或文字的增删改操作,以标准的SQL命令保存到数据更新日志中;u2002</p><p>(2)u2002改造各地原有业务系统,当发生数据表TEXT字段修改时,在修改字段的同</p><p>一事务中,将该动作增加到数据更新日志中,数据中心根据记录抽取该字段指向的内容;u2002</p><p>(3)u2002对每季度产生的报表统计数据,改造各地原有业务系统,在数据更新日志中</p><p>保存生产数据的条件,数据中心根据记录一次性抽取满足条件的数据。u2002</p><p>最后,针对个别机构数据库服务器配置较低,采用触发器技术可能造成资源不足的情况,升级该机构的数据库服务器,比如将内存增加到1GB等。</p>","chooseItem":null,"itemList":null,"userAnswer":null,"userChooseItem":null,"answerCorrect":null,"userCollect":null},{"id":"794933995631562753","title":"<br><p>阅读以下关于Web系统设计的叙述,在答题纸上回答问题1至问题3。</p><p>【说明】某银行拟将以分行为主体的银行信息系统,全面整合为由总行统管理维护的银行信 息系统,实现统一的用户账户管理、转账汇款、自助缴费、理财投资、贷款管理、网上支付、财务报表分析等业务功能。但是,由于原有以分行为主体的银行信息系统中,多个业务系统采用异构平台、数据库和中间件,使用的报文交换标准和通信协议也不尽相同,使用传统的EAI解决方案根本无法实现新的业务模式下异构系统间灵活的交互和集成。因此,为了以最小的系统改进整合现有的基于不同技术实现的银行业务系统,该银行拟采用基于ESB的面向服务架构(SOA)集成方案实现业务整合。</p><p>【问题1】(7分)</p><p>请说明什么是面向服务架构(SOA) 以及ESB在SOA中的作用与特点。</p><p><br/></p><p>【问题2】(12分)</p><p>ESB的工作流程如下图所示,请简述企业级服务总线需要具备哪些功能。</p><p><img style=\"max-width:100%;height:auto\" src=\"https://image.chaiding.com/ruankao/9e1db997cb89ca6c40523c27a7b8cbeb.jpg?x-oss-process=style/ruankaodaren\" title=\"9e1db997cb89ca6c40523c27a7b8cbeb.jpg\" alt=\"1.jpg\"/></p><p>【问题3】 (6分)</p><p>针对银行信息系统的数据交互安全性需求,列举3种可实现信息系统安全保障的措施。</p>","analyze":"无","multi":0,"questionType":3,"answer":"<p>【问题1】</p><p>SOA是一个组件模型,它将应用程序的不同功能单元(称为服务)通过这些服务之间定义良好的接口和契约联系起来。接口是采用中立的方式进行定义的,它应该独立于实现服务的硬件平台、操作系统和编程语言。这使得构建在各种这样的系统中的服务可以一种统一和通用的方式进行交互。</p><p>ESB作用与特点:</p><p>1、SOA的一种实现方式, ESB在面向服务的架构中起到的是总线作用,将各种服务进行连接与整合;</p><p>2、描述服务的元数据和服务注册管理;</p><p>3、 在服务请求者和提供者之间传递数据,以及对这些数据进行转换的能力,并支持由实践中总结出来的一些模式如同步</p><p>模式、异步模式等;</p><p>4、发现、路由、匹配和选择的能力,以支持服务之间的动态交互,解耦服务请求者和服务提供者。高级一些的能力,包括对安全的支持、服务质量保证、可管理性和负载平衡等。</p><p>【问题2】</p><p>u30001、 服务统一管理</p><p>u3000u3000为整个系统提供一个统一的、标准的、可靠的、可扩展的服务管理平台。</p><p>u3000u30002、集成服务</p><p>u3000u3000提供基础的服务与定制的服务;支持集成服务模式;支持服务的分解,服务调度和路由,服务封装,服务组合。</p><p>u3000u30003、公用服务</p><p>u3000u3000提供内置的各种公用服务。例如,认证服务,日志服务等。</p><p>u3000u30004、服务协议转换</p><p>u3000u3000通过把不同的通信协议转换成标准的报文,屏蔽异构系统的底层技术差异。</p><p>u3000u30005、服务监控</p><p>u3000u3000提供服务等级管理及流量管理。提供多角度的服务实时监控、报警与交易分析报表。</p><p>u3000u30006、安全体系</p><p>u3000u3000提供多种安全机制并支持和第三方安全系统的有效集成,提供有效的安全监控机制。</p><p><br/></p><p>【问题3】</p><p>1、引入https协议或采用加密技术对数据先加密再传输</p><p>2、采用信息摘要技术对重要信息进行完整性验证</p><p>3、交易类敏感信息采用数字签名机制</p>","chooseItem":null,"itemList":null,"userAnswer":null,"userChooseItem":null,"answerCorrect":null,"userCollect":null},{"id":"794933993689600001","title":"<br><p>阅读以下关于嵌入式实时系统相关技术的叙述,在答题纸上回答问题1和问题2。</p><p>【说明】某公司长期从事宇航领域嵌入式实时系统的软件研制任务。公司为了适应未来嵌入式系统网络化、智能化和综合化的技术发展需要,决定重新考虑新产品的架构问题,经理将论证工作交给王工负责。王工经调研和分析,完成了新产品架构设计方案,提交公司高层讨论。</p><p>【问题1】 (14分)</p><p>王工提交的设计方案中指出:由于公司目前研制的嵌入式实时产品属于简单型系统,其嵌入式子系统相互独立,功能单一,时序简单。而未来满足网络化、智能化和综合化的嵌入式实时系统将是种复杂系统,其核心特征体现为实时任务的机理、状态和行为的复杂性。简单任务和复杂任务的特征区分主要表现在十个方面。请参考表3- 1给出的实时任务特征分类,用题干中给出的(a) ~ (t)20个实时任务特征描述,补充完善表31给出的空(1) ~ (14) 。</p><p>(a) 任务属性不会随时间变化而改变;</p><p>(b) 任务的属性与时间相关;</p><p>(c) 任务仅可以从非连续集中获取特征变量;</p><p>(d) 任务变量域是连续的;</p><p>(e) 功能原理不依赖于上下文;</p><p>(f) 功能原理依赖于上下文;</p><p>(g) 任务行为可以用step-by- step顺序分析方法来理解;</p><p>(h) 许多任务在产生访问活动时相互间是并发处理的,很难用step by-step方法分析;</p><p>(i) 因果关系相互影响;</p><p>(j) 行为特征依赖于大量的反馈机制;</p><p>(k) 系统内构成、策略和描述是相似的;</p><p>(l) 系统内存 在许多不同的构成、策略和描述;</p><p>(m) 功能关系是非线性的;</p><p>(n) 功能关 系是线性的;</p><p>(o) 不同的子任务是相互独立的,任务内部仅存在少量的交互操作;</p><p>(p) 不同的子任务 有很高的交互操作,要把一个单任务的行为隔离开是困难的;</p><p>(q) 域特征有非常整齐的原则和规则;</p><p>(r) 许多不同的上下文依赖于规则;</p><p>(s) 原理和规则在表面属性, 上很容易被识别;</p><p><img style=\"max-width:100%;height:auto\" src=\"https://image.chaiding.com/ruankao/36491e6269bcf8f381a79f2ca44f2f7e.jpg?x-oss-process=style/ruankaodaren\" title=\"36491e6269bcf8f381a79f2ca44f2f7e.jpg\" alt=\"1.jpg\"/></p><p>【问题2】(11分)</p><p>王工设计方案中指出:要满足未来网络化、智能化和综合化的需求,应该设计一种能够充分表达嵌入式系统行为的、且具有一定通用性的通信架构,?以避免复杂任务的某些特征带来的通信复杂性。通常为了实现嵌入式系统中计算组件间的通信,在架构上需要一种简单的架构风格,用于屏蔽不同协议、不同硬件和不同结构组成所带来的复杂性。图3-1给出了一种“腰(Waistline)"?型通信模式的架构风格。腰型架构的关键是基本消息通信(BMTS),通常BMTS的消息与时间属性相关,支持事件触发消息、速率约束消息和时间触发消息。<br/><img style=\"max-width:100%;height:auto\" src=\"https://image.chaiding.com/ruankao/26ae4c74246d91310591bad804dea0c6.jpg?x-oss-process=style/ruankaodaren\" title=\"26ae4c74246d91310591bad804dea0c6.jpg\" alt=\"2.jpg\"/></p><p></p><p>请说明基于BMTS的消息通信网络的主要特征和上述三种消息的基本含义,并举例给出两种具有时间触发消息能力的网络总线。</p>","analyze":"无","multi":0,"questionType":3,"answer":"<p>【问题1】</p><p>(1) (d)</p><p>(2) (c)</p><p>(3) (e)</p><p>(4) (f)</p><p>(5) (g)</p><p>(6) (h)</p><p>(7) (i)</p><p>(8) (j)</p><p>(9) (k)</p><p>(10) (l) </p><p>(11) (n)</p><p>(12) (m)</p><p>(13) (o)</p><p>(14) (p)</p><p><br/></p><p>【问题2】 </p><p>BMTS的消息通信网络主要特征为:能适配不同的传输介质, 以及适配不同的协议, 屏蔽不同协议之间的差异,简化通信过程降低系统复杂度。</p><p>事件触发消息;以事件作为触发方式,事件发生便触发相应消息。</p><p>速率约束消息;传输速率固定的消息,</p><p>时间触发消息;以时间作为触发方式,到达时间点便触发相应消息。</p><p>具有时间触发消息能力的网络总线; </p><p>航空电子全双工交换式以太网( Avionics Full Duplex Switched Ethernet , AFDX )时间触发以太网( Time Triggered Ethernet, TTE )</p>","chooseItem":null,"itemList":null,"userAnswer":null,"userChooseItem":null,"answerCorrect":null,"userCollect":null},{"id":"794933994662678529","title":"<br><p>阅读以下关于数据库技术的叙述,在答题纸上回答问题1至问题3。</p><p>【说明】</p><p>随着传统的数据库技术日趋成熟、计算机网络技术的飞速发展和应用范围的扩充,数据库应用已经普遍建立于计算机网络之上。这时集中式数据库系统表现出它的不足:数据按实际需要已在网络上分布存储,再采用集中式处理,势必造成通信开销大;应用程序集中在一台计算机上运行,一旦该计算机发生故障,则整个系统受到影响,可靠性不高;集中式处理引起系统的规模和配置都不够灵活,系统的可扩充性差。在这种形势下,集中式DB的“集中计算”概念向“分布计算”概念发展。分布计算主要体现在客户机/服务器模式和分布式数据库体系结构两个方面。</p><p>【问题1】 (12分) </p><p>请用300字以内的文字简述分布式数据库跟集中式数据库相比的优点。</p><p>【问题2】 (3分)</p><p>分布透明性是指用户不必关心数据的逻辑分片,不必关心数据存储的物理位置分配细节,也不必关心局部场地上数据库的数据模型。分布透明性包括哪三种透明性。</p><p><br/></p><p>【问题3】 (10分)</p><p>在数据库中,某个业务表中的数据量很大,急速膨胀,在这样的情况下,为了保持高的数据响应速度,根据数据的时间局部性和空间局部性原则,可以对数据表进行分片设计。一般有四种分片方法:(1)、(2)、(3)、(4)。分布式数据库中各局据库应满足集中式数据库的基本需求,除此以外还应保证数据库的全局数据(5 )、并发操作的可串行性和故障的全局可恢复性。</p><p>请在空(1)、(2)、(3)、(4)、(5)处填写恰当的内容。</p>","analyze":"无","multi":0,"questionType":3,"answer":"<p>【问题1】 (12分) </p><p>与集中式数据库相比,分布式数据库具有下列优点:</p><p> (1)坚固性好。由于分布式数据库系统在个别结点或个别通信链路发生故障的情况下,它仍然可以降低级别继续工作,系统的坚固性好,可靠性和可用性好。</p><p> (2)可扩充性好。可根据发展的需要增减结点,或对系统重新配置,这比用一个更大的系统代替一个已有的集中式数据库要容易得多。</p><p> (3)可改善性能。在分布式数据库中可按就近分布,使大部分数据可以就近访问,避免了集中式数据库中的瓶颈问题,减少了系统的响应时间,提高了系统的效率,而且也降低了通信费用。</p><p> (4)自治性好。数据可以分散管理,统一协调,即系统中各结点的数据操纵和相互作用是高度自治的,不存在主从控制。</p><p>【问题2】 (3分)</p><p>分布透明性包括分片透明性、位置透明性和局部数据模型透明性。</p><p>【问题3】 (10分)</p><p>(1)水平分片(2)垂直分片(3)导出分片(4)混合分片(5)一致性</p>","chooseItem":null,"itemList":null,"userAnswer":null,"userChooseItem":null,"answerCorrect":null,"userCollect":null},{"id":"794933991760220161","title":"<br><p>阅读以下关于软件系统分析的叙述,在答题纸上回答问题1至问题3。</p><p>【说明】某文化产业集团委托软件公司开发一套文化用品商城系统,业务涉及文化用品销售、定制、竞拍和点评等板块,以提升商城的信息化建设水平。该软件公司组织项目组完成了需求调研,现已进入到系统架构设计阶段。考虑到系统需求对架构设计决策的影响,项目组先列出了可能影响系统架构设计的部分需求如下:</p><p>(a) 用户界面支持用户的个性化定制;</p><p>(b) 系统需要支持当前主流的标准和服务,特别是通信协议和平台接口;</p><p>(c) 用户操作的响应时间应不大于3秒,竞拍板块不大于1秒;</p><p>(d) 系统具有故障诊断和快速恢复能力;</p><p>(e) 用户密码需要加密传输;</p><p>(f) 系统需要支持不低于2G的数据缓存;</p><p>(g) 用户操作停滞时间超过定时限需要重新登录验证;</p><p>(h) 系统支持用户选择汉语、英语或法语三种语言之一进行操作。</p><p><br/></p><p>【问题1】 (8分) </p><p>在该项目系统分析阶段,分析师将系统需求分为:操作性需求、性能需求、安全性需求和文化需求。根据表1-1的分类,将题干所给出的系统需求(a) ~ (h) 分别填入(1) ~ (4) </p><p>表1-1需求分类</p><p><img style=\"max-width:100%;height:auto\" src=\"https://image.chaiding.com/ruankao/4e505657280934753d35137bcbbe182f.jpg?x-oss-process=style/ruankaodaren\" title=\"4e505657280934753d35137bcbbe182f.jpg\" alt=\"1.jpg\"/></p><p>【问题2】 (14分)</p><p>需求分析工作过程包括几个方面的工作内容(写出小标题即可)。</p><p>【问题3】 (3分)</p><p>数据流图是结构化分析方法的重要工具,请用200字以内的文字简述它的主要作用。</p>","analyze":"无","multi":0,"questionType":3,"answer":"<p>【问题1】 (8分) </p><p>(1) (a) (b)</p><p>(2) (c) (d) (f)</p><p>(3) (e) (g)</p><p>(4) (h)</p><p>【问题2】 (11分)</p><p>(1)绘制系统上下文范围关系图。</p><p>(2)创建用户界面原型。</p><p>(3)分析需求的可行性。</p><p>(4)确定需求的优先级。</p><p>(5)为需求建立模型。</p><p>(6)创建数据字典。</p><p>(7)使用QFD(质量功能部署)。</p><p><br/></p><p>【问题3】 (6分)</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}]}}