试卷详情

2021年《系统架构设计师》下午模拟试卷1

开始做题

试卷预览

问答题

阅读以下关于Web应用的叙述,在答题纸上回答问题1至问题3。【说明】在目前的大环境下,某房企决定转移业务重心,将原来以售卖为主的业务转变为互联网租房业务,为此拟开发一套基于Web的云管业务系统,该系统按租户视图、系统管理视图以及业务视图划分为多个相应的Web应用,需求中还包含诸如文件处理、安全防护等扩展功能。 【问题1】(5分)在选择系统所采用的Web开发框架时,项目组对阿里巴巴开发的WebX框架与轻量级Spring MVC框架进行了对比分析,最终决定采用WebX框架进行开发。请用300字以内文字,从多应用支持、基础服务支持以及可扩展性这三个方面对WebX与Spring MVC框架进行对比。 【问题2】(12分)在确定系统釆用的持久层技术方案时,项目组梳理了系统的典型持久化需求,对照需求对比分析了 Hibernate和MyBatis两种持久化方案,请分析两种持久化方案对4-1中所列项目需求的支持情况,将候选答案序号A或B填入表4-1相应位置。【候选答案:A. 支持 B. 不支持或支持差】 表4-1 两种持久化方案对项目需求的支持情况

高级系统架构设计师,模拟考试,2021年《系统架构设计师》下午模拟试卷1

【问题3】(8分)王工负责订单系统的数据库设计与开发,初步设计的核心订单关系模式为:orders(order_no,customer_no,order_date,product_no,price,……);考虑订单数据过多,单一表的设计会对系统性能产生较大影响,仅仅采用索引不足以解决性能问题。因此,需要将订单表拆分,按月存储。王工采用反规范化设计方法来解决,给出了相应的解决方案。常见的反规范化设计包括增加冗余列、增加派生列、重新组表和表分割。为解决题干所述需求,王工采用的是哪种方法?请用300字以内的文字解释说明该方法,并指出其优缺点。

查看答案开始考试

正确答案:

本题解析:

【问题1】 (5分)(1)基础服务支持:因为WebX在阿里巴巴和淘宝用了很多年,对于超大访问量的电子商务网站,WebX经受了考验,被证明是成熟可靠的。(2)多应用支持:WebX和Spring MVC一样,完全建立在Spring框架之上,可以使用Spring的所有特性。WebX被设计成多个层次,层次间的分界线很清晰,每个层次都足够开放和易于扩展。(3)可扩展性:WebX对Spring做了扩展,一个组件可以扩展另一个组件,也可以被其他组件扩展。这种机制使WebX具有较好的扩展性,且比未经扩展的Spring更易使用。【问题2】 (12分)(1)A (2)B (3)B (4)A (5)A (6)B 【问题3】 (8分) 王工采用的是表分割方式中的水平分割(分割参数是:“月”)。表分割包括水平分割与垂直分割两种形式:水平分割:按记录进行分割,不同的记录可以分开保存,每个子表的列数相同。分割的条件可能是某列或多列数据的值,如时间参数。垂直分割:按列进行分割,即把一条记录分开多个地方保存,每个子表的行数相同。把主键和一些行放到一个表,然后把主键和另外的列放到另一个表中,通过主键进行关联。优点:水平分割后可以降低在查询时需要读取的数据和索引页数,同时也降低了索引的层数,提高查询速度。缺点:水平分割会给应用增加复杂度,在查询时需要多个表名,查询所有数据需要union操作。

问答题

阅读以下关于智能安防应用的叙述,在答题纸上回答问题1至问题3。【说明】随着人们生活水平的提高,人们对于物质文化生活要求提高的同时,对于居家安全也越来越重视。某软件公司长期从事智能移动应用开发,现决定开发一套适用于家庭使用的便捷式智能安防系统。系统包括两个层面,其一为硬件层面,基于嵌入式操作系统实现动态拍摄,并上传到视频服务器;其二为用户软件层面,基于Web界面,用户通过安全认证后可在线查看监控视频。项目组召开会议对以下需求进行了重点讨论:(1)系统终端用户的界面呈现较丰富,包括图片、视频及语音消息。(2)付费VIP客户视频可以保存18个月,普通用户视频只能保存1个月,滚动覆盖。(3)系统上线后需应对大量客户端并发请求处理,并发用户数可能会有上万人的规模;系统预期用户呈明显地域集中分布特征。【问题1】(12分) 项目组在讨论实现需求(3)的技术方案时,首先确定了以下技术原则:(a)系统中用户信息按类别划分不同数据库或表存放。(b)系统应提供热备份机制以防止服务器意外失效。(c)为满足大规模并发处理要求,系统软硬件投入可根据需要追加。项目组经过集思广益,抽取了HTML静态化、缓存、P2P、集群与镜像、负载均衡等候选技术手段。请结合需求(3)及相应技术原则,分析上述技术手段在本项目中的可行性,将结果填入表格5-1中。表5-1 技术手段可行性分析

高级系统架构设计师,模拟考试,2021年《系统架构设计师》下午模拟试卷1

【问题2】(5分) 本项目涉及到了嵌入式系统的知识。根据你的理解,请用300宇以内文字说明嵌入式系统的主要特点。 【问题3】 (8分)为了提高系统的安全性和可靠性,便于应用软件的可重用性,需要选择一款满足安防要求的嵌入式操作系统,并在操作系统之上开发视频监控软件。请根据你对嵌入式操作系统选择方法的理解,判断表5-2给出的有关选择嵌入式操作系统的观点是否正确,将解答写在答题纸的对应栏内。表5-2 选择嵌入式操作系统的8种观点

高级系统架构设计师,模拟考试,2021年《系统架构设计师》下午模拟试卷1

查看答案开始考试

正确答案:

本题解析:

【问题1】(12分) (1)HTML静态化手段可实现对系统经常访问的网页进行静态化以提高系统访问效率,但系统页面通常需要根据数据库中的用户信息以及用户的选择动态显示。因此不适合采用。(2)缓存技术手段:系统应用需要频繁访问数据库,可以对经常访问的数据建立缓存,以提高并发访问效率。因此适合。(3)p2p视频播放技术:视频播放实现边下边播完善用户体验,节省服务器带宽,降低成本,支持边下边播断点续传,支持多源下载,以提高并发访问效率。因此适合。(4)根据需求(3),系统需有效处理大量并发请求,且系统预期用户呈明显地域集中分布特征,因此可以采用集群与镜像手段提高用户的并发访问效率,且技术原则(b)要求系统应提供热备份机制以防止服务器意外失效,因此可以采用镜像机制提高系统的可靠性,根据题干中技术原则(c),又可根据需要追加集群与镜像所需的软硬件投入。因此适合。(5)负载均衡将是大型Web应用解决高负荷访问和大量并发请求时常用的有效解决方法,在系统采用集群和镜像技术手段时,负载均衡也是系统必须采用的相应配合手段。因此适合。综上不难看出,除HTML静态化手段外,其他四种技术手段均可应用于本系统,以提高大规模用户并发访问的处理效率。 【问题2】(5分) (1) 系统专用性强。嵌入式系统是针对具体应用的专门系统。它的个性化很强,软件和硬件结合紧密。一般要针对硬件进行软件的开发和移植,根据硬件的变化和增减对软件进行修改。(2) 系统实时性强。许多嵌入式系统对外部事件要求在限定的时间内及时作出响应,具有实时性。根据实时性的强弱,通常将嵌入式系统分为实时嵌入式系统和非实时嵌入式系统,其中大部分为实施嵌入式系统。(3) 软硬件依赖性强。嵌入式系统的专用性决定了其软硬件的互相依赖性很强,两者必须协同设计,以达到共同实现预定功能的目的,并满足性能、成本和可靠性等方面的严格要求。(4) 处理器专用。嵌入式系统的处理器一般是为某一特定目的和应用而专门设计的。通常具备功耗低、体积小和集成度高等特点,能够将许多在通用计算机上需要由板卡完成的任务和功能集成到芯片内部,从而有利于嵌入式系统的小型化和移动能力的增强。(5) 多种技术紧密结合。嵌入式系统通常是计算机技术、半导体技术、电力电子技术、机械技术与各行业的具体应用相结合的产物。通用计算机技术也离不开这些技术,但它们相互结合的紧密程度不及嵌入式系统。(6) 系统透明性。嵌入式系统在形态上与通用计算机系统差距甚大。它的输入设备往往不是常见的鼠标和键盘之类的设备,甚至不用输出装置,用户可能根本感觉不到它所使用的设备中有嵌入式系统的存在,即使知道,也不必关心嵌入式系统的相关情况。(7) 系统资源受限。嵌入式系统为了达到结构紧凑、高可靠性和低成本的目的,其存储容量、I/O设备的数量和处理能力都比较有限。 【问题3】(8分) 答:(1)√(2)×(3)√(4)√(5)√(6)√(7)×(8)√

问答题

某公司拟开发一个商业情报处理系统,使公司能够及时针对市场环境的变化及时调整发展战略,以获取最大的商业利益。项目组经过讨论,决定采用结构化分析和设计方法。在系统分析阶段,为了更好地对情报数据处理流程及其与外部角色的关联进行建模,项目组成员分别给出了自己的设计思路:

(1)小张提出先构建系统流程图(System Flowcharts),以便更精确地反映系统的业务处理过程及数据的输入和输出;

(2)小李提出先构建系统数据流图(Data Flow Diagrams),来展现系统的处理过程和定义业务功能边界,并给出了情报分类子系统的0层和1层数据流图,后者如图2-1所示。

高级系统架构设计师,模拟考试,2021年《系统架构设计师》下午模拟试卷1

项目组经讨论确定以数据流图作为本阶段的建模手段。工程师老王详细说明了流程图和数据流图之间的区别与联系,并指出了图2-1的数据流图中存在的错误。

【问题1】(11分)

流程图和数据流图是软件系统分析设计中常用的两种手段,请用300字以内文字简要说明流程图与数据流图的含义及其区别,并说明项目组为何确定采用数据流图作为建模手段。

【问题2】(8分)

请分析指出图2-1所示的数据流图中存在的错误及其原因,并针对图2-1的1层数据流图绘制出情报分类子系统的0层数据流图。

【问题3】(6分)

高质量的数据流图是可读的、内部一致的并能够准确表示系统需求。请用300字以内文字说明在设计高质量的数据流图时应考虑的三个原则。

查看答案开始考试

正确答案:

本题解析:

【问题1】

数据流图作为一种图形化工具,用来说明业务处理过程、系统边界内所包含的功能和系统中的数据流。

流程图以图形化的方式展示应用程序从数据输入开始到获得输出为止的逻辑过程,描述处理过程的控制流。

两者的区别主要包括:

(1)数据流图中的处理过程可并行;流程图在某个时间点只能处于一个处理过程。

(2)数据流图展现系统的数据流;流程图展现系统的控制流。

(3)数据流图展现全局的处理过程,过程之间遵循不同的计时标准;流程图中处理过程遵循一致的计时标准。

(4)数据流图适用于系统分析中的逻辑建模阶段;流程图适用于系统设计中的物理模阶段。

【问题2】

如图所示的数据流图中存在的错误有以下4种:

(1)"分类训练"加工:只有输入没有输出,产生数据黑洞;

(2)"分类处理"加工:有输出没有输入,无中生有;

(3)"规则文件"数据流:外部实体没有经过加工处理,直接到数据存储;

(4)"配置信息"数据流:外部实体之间没有加工处理,存在直接数据流。

高级系统架构设计师,模拟考试,2021年《系统架构设计师》下午模拟试卷1

【问题3】

高质量数据流图设计时应考虑的三个原则:

(1)复杂性最小化原则。DFD分层结构就是把信息划分为小的且相对独立的一大批子集例子,这样就可以单独考查每一个DFD。如果要了解某个过程更加详的信息,可以跳转到该过程的下一层;如果要知道一个DFD如何与其他DFD相关联,可以跳转到上一层的DFD进行考查。

(2)接口最小化原则。接口最小化是复杂性最小化的一种具体规则。在设计模式时,应使得模型中各个元素之间的接口数或连接数最小化。

(3)数据流一致性原则。一个过程和它的过程分解在数据流内容中是否有差别?是否存在有数据流出但没有相应的数据流入的加工?是否存在有数据流入但没有相应的数据流出的加工?

问答题

试题三(25分)阅读以下关于某嵌入式实时系统的软件需求的叙述,回答问题1至问题3。某公司承担了一项嵌入式实时控制系统的软件开发任务,其内容是按系统要求的固定的时间序列采集、处理、输出数据,以实现对多个设备的综合控制。系统由硬件和软件组成,硬件由处理机(采用PowerPC603e,主频133MHz)、存储器、定时器、中断控制器、双口存储器(空间大小1024KB)、4路422半双工串口接口(其中两路的频率115200Hz,另两路频率38400Hz)、两路A/D、D/A数模转换器和10路离散量接口组成。系统的软件需求如下(注:B:字节;s:秒;ms:毫秒):(1)系统要求以5ms为周期从双口存储器中采集1024KB的输入数据,处理任务的时间约为1ms;(称为5ms任务)(2)系统要求以20ms为周期从两路422接口(115200Hz)中采集一定格式的大小为64B的数据,在完成处理(处理时间约为4ms)任务后,分别输出大小为16B的控制命令;(称为20ms任务)(3)系统要求以60ms为周期从两路422接口(38400Hz)中采集一定数据格式的大小为6B数据,从两路A/D接口采集28位数据,在完成处理(处理时间约为2ms)任务后,分别输出大小为2B的控制命令和一个28位D/A数据,输出8路离散量控制数据;(称为60ms任务)4)作为系统的安全监控保障,系统要求在每1s内对系统软硬件状态进行测试并完成系统工作的状态记录工作。该任务共需处理时间是5ms。(称为1s任务)本公司课题组根据用户的硬件环境及软件的需求,就软件的实施方案展开了激烈的讨论,讨论的首要问题就是本系统中软件的运行平台是采用嵌入式实时操作系统还是在裸机上直接开发的方式,李工程师(简称李工)提出了为了保证系统的实时性,应该采用裸机上直接开发的方式,关键部分采用汇编语言编写,而王工程师(简称王工)提出,由于系统将由多种周期的处理任务组成,为了保证系统的可靠性,应该采用商用嵌入式实时操作系统作为本项目的开发基础,经过充分论证,最后李工接受了王工的建议,并申报课题组组长,课题组长同意采用了操作系统的方案,并指出必须尽快对需求的时间性能做出评估。[问题1](10分)请用450字以内文字简要说明王工提出的采用嵌入式实时操作系统的理由或优点,并说明选择操作系统产品时需要重点考虑其哪些功能与性能?[问题2](10分)李工和王工通过认真地对需求进行了分析,给出了时间性能评估报告,判定在上述硬件平台上可以满足系统要求。请用300字以内文字简要说明嵌入式实时操作系统中时间性能评估中主要考虑哪几项因素;针对本课题的具体数据,叙述系统的工作时序关系。[问题3](5分)根据系统需求,请设计出系统的处理流程(按时序),说明所有任务的优先级分配策略,422接口、双口存储器、离散量接口和A/D(D/A)的数据输入/输出方法(中断或查询驱动)及理由。请用350字以内文字简要说明。

查看答案开始考试

正确答案:

本题解析:

【问题1】采用嵌入式实时操作系统的主要理由及优点:操作系统提供的任务调度功能,可以有效地管理本系统多周期任务的调度,并且操作系统提供的事件、信号和间的通信机制,可以有效地解决本系统中资源共享中的互斥问题。采用商品化的软件,可提高所开发软件的可靠性,还可简化软件开发成本,提高开发效率。选择嵌入式实时操作系统,主要考虑操作系统以下功能和性能:(1)任务的上下文切换时间越短越好、中断响应时间越快越好、内核代码占用空间比较小。(2)操作系统提供的服务接口应较丰富,有利于灵活使用(接口的开放性)。(3)操作系统对可靠性有较强的保障支持能力。(4)使用简单,支撑环境配套好,可配置、可剪裁能力强。【问题2】嵌入式实时系统中时间性能评估主要考虑以下几个因素:(1)系统(操作系统)时间开销,一般不大于整个控制系统运行时间总开销的20%。(2)保证所有任务在规定的时间期限内完成(或进行可调度性评估)。(3)任务的上下文切换时间和中断响应时间。针对本题的具体数据,系统的工作时序关系应该是:系统的最小时间节拍定义为5ms,系统最大工作周期为1s,在每个5ms起点,5ms任务首先运行,占1ms时间,完成后转入处理被终止的任务;如果这个时刻时间到达20ms的起点,则启动20ms任务运行,以此类推,确保在1s周期内所有任务按规定的时间序列执行。【问题3]优先级策略:小周期优先策略。数据输入输出处理方式:422接口适合采用中断方式,主要因为处理机速度远远比数据传输速度快,在采集时不易消耗太多的时间,而查询方式由于存在等待数据时间,消耗处理机时间较大。双口存储器和离散量接口由于是直接访问存储器,采用查询较合适。AD、D/A存在数据的转换时间,应在等待时交出处理机时间(定时查询)。

问答题

阅读以下关于 Web 应用设计开发的描述,在答题纸上回答问题 1 至问题 3。某公司拟开发一个网络约车调度服务平台,实现基于互联网的出租车预约与管理。公司的系统分析师王工首先进行了需求分析,得到的系统需求列举如下:系统的参与者包括乘客、出租车司机和平台管理员三类;系统能够实现对乘客和出租车司机的信息注册与身份认证等功能,并对乘客的信用信息进行管理,对出租车司机的违章情况进行审核;系统需要与后端的银行支付系统对接,完成支付信息审核、支付信息更新与在线支付等功能;针对乘客发起的每一笔订单,系统需要实现订单发起、提交、跟踪、撤销、支付、完成等业务过程的处理:系统需要以短信、微信和电子邮件多种方式分别为系统中的用户进行事件提醒。【问题1】(9分)请说明微服务架构的优点和缺点。【问题2】(8分)识别并设计微服务是系统开发过程中的一个重要步骤,请对题干需求进行分析,对微服务的种类和包含的业务功能进行归类,完成表1-1中的(1)~(4)。表1-1 微服务名称及所包含业务功能

高级系统架构设计师,模拟考试,2021年《系统架构设计师》下午模拟试卷1

【问题3】(8分)答对4条即可应用网关是实现微服务的主要技术之一,请简述应用网关的作用。

查看答案开始考试

正确答案:

本题解析:

【问题1】微服务优点:

(1)每个微服务都很小,这样能聚焦一个指定的业务功能或业务需求。

(2)微服务能够被小团队单独开发,这个小团队是2到5人的开发人员组成。

(3)微服务是松耦合的,是有功能意义的服务,无论是在开发阶段或部署阶段都是独立的。

(4)微服务能使用不同的语言开发。

(5)去中心化。每个微服务都有自己的存储能力,可以有自己的数据库。也可以有统一数据库。

微服务缺点:

(1)很难在不采用分布式事务的情况下跨服务实现功能

(2)测试工作更加困难

(3)跨服务实现要求功能要求团队之间的紧密协作

(4)部署复杂【问题2】

(1)支付信息审核(2)支付信息更新(3)在线支付(4)订单管理【问题3】

1、提供统一入口2、可以进行权限身份认证等安全管理3、可以根据流量进行限流4、数据缓存5、性能监控等6、异常重试7、服务降级

其他考生还关注了更多 +