2022年下半年系统架构设计师真题(下午带答案)

news2025/1/21 10:24:37

试题一 (25分)

某电子商务公司拟升级其会员与促销管理系统,向用户提供个性化服务,提高用户的粘性。在项目立项之初,公司领导层一致认为本次升级的主要目标是提升会员管理方式的灵活性,由于当前用户规模不大,业务也相对简单,系统性能方面不做过多考虑。新系统除了保持现有的四级固定会员制度外,还需要根据用户的消费金额、偏好、重复性等相关特征动态调整商品的折扣力度,并支持在特定的活动周期内主动筛选与活动主题高度相关的用户集合,提供个性化的打折促销活动。

在需求分析与架构设计阶段,公司提出的需求和质量属性描述如下:

(a)管理员能够在页面上灵活设置折扣力度规则和促销活动逻辑,设置后即可生效; 【易用性】

(b)系统应该具备完整的安全防护措施,支持对恶意攻击行为进行检测与报警; 【安全性】

(c)正常负载情况下,系统应在0.3秒内对用户的界面操作请求进行响应; 【性能】

(d)用户名是系统唯一标识,要求以字母开头,由数字和字母组合而成,长度不少于6个字符; 【易用性】

(e)正常负载情况下,用户支付商品费用后在3秒内确认订单支付信息; 【性能】

(f)系统主站点电力中断后,应在5秒内将请求重定向到备用站点; 【可用性】

(g)系统支持横向存储扩展,要求在2人天内完成所有的扩展与测试工作; 【可修改性】

(h)系统宕机后,需要在10秒内感知错误,并自动启动热备份系统; 【可用性】

(i)系统需要内置接口函数,支持开发团队进行功能调试与系统诊断; 【可测试性】

(j)系统需要为所有的用户操作行为进行详细记录,便于后期查阅与审计; 【安全性】

(k)系统的外观进行调整和配置,调整工作需要在4人天内完成。 【可修改性】

在对系统需求、质量属性描述和架构特性进行分析的基础上,系统架构师给出了两种候选架构设计方案,公司目前正在组织相关专家对系统架构进行评估。

问题1 (12分)

在架构评估过程中,质量属性效用树(utility tree)是对系统质量属性进行识别和优先级排序的重要工具。请将合适的质量属性名称填入图1-1中(1)、(2)空白处,并选择题干描述的(a)~(k)填入(3)~(6)空白处,完成该系经的效用树。

图1-1 会员与促销管理系统效用树标题

答案1:

(1)安全性(2)可修改性 (3)e (4)j (5)h (6)k

问题2 (13分)

针对该系统的功能,李工建议采用面向对象的架构风格,将折扣力度计算和用户筛选分别封装为独立对象,通过对象调用实现对应的功能;王工则建议采用解释器(interpreters)架构风格,将折扣力度计算和用户筛选条件封装为独立的规则,通过解释规则实现对应的功能。请针对系统的主要功能,从折扣规则的可修改性、个性化折扣定义灵活性和系统性能三个方面对这两种架构风格进行比较与分析,并指出该系统更适合采用哪种架构风格。

答案2: 

面向对象架构风格解释器架构风格
折扣规则的可修改性需要封装成对象,可修改性不好可以要求设置各独立的折扣规则,解释器对变化的规则进行解析,可修改性好
个性化折扣定义灵活性相对固定,灵活性差解释器可以根据用户筛选条件灵活设置规则,灵活性好
系统性能执行效率高解释器是运行期动态绑定执行,执行效率较低

根据对比分析可知,更适合解释器风格。

试题二 (25分)

煤炭生产是国民经济发展的主要领域之一,其煤矿的安全非常重要。某能源企业拟开发一套煤矿建设项目安全预警系统,以保护煤矿建设项目从业人员生命安全。本系统的主要功能包括如下(a)~(h)所述。

(a)项目信息维护

(b)影响因素录入

(c)关联事故录入

(d)安全评价得分

(e)项目指标预警分析

(f)项目指标填报

(g)项目指标审核

(h)项目指标确认

问题1 (9分)

王工根据煤矿建设项目安全预警系统的功能要求,设计完成了系统的数据流图,如图2-1所示。请使用题干中述的功能(a)~(h),补充完善空(1)~(6)处的内容,并要介绍数据流图在分层细化过程中遵循的数据平衡原则。

图2-1 煤矿建设项目安全预警系统数据流图
图2-1 煤矿建设项目安全预警系统数据流图

答案1:

(1)f (2)g (3)h(4)d(5)b (6)e

分层细化的数据平衡原则:

1、父图与子图的平衡:父图与子图之间平衡是指任何一张DFD子图边界上的输入输出数据流必须与其父图中对应加工的输入输出数据流保持一致。

2、数据守恒:一个加工的所有输出数据流中的数据必须能从该加工的输入数据流中直接获得或能通过该加工的处理而产生。

问题2 (9分)

请根据问题1中数据流图表示的相关信息,补充完煤矿建设项目安全预警系统总体E-R图(见图2-2)中实体(1)~(6)的具体内容,将正确答案填在答题纸上。

图2-2 煤矿建设项目安全预警系统总体E-R图

答案2:

(1)项目管理员(2)项目经理(3)项目指标数据(4)项目信息(5)指标参数(6)事故及影响因素参数 

问题3 (7分)

在结构化分析和设计过程中,数据流图和数据字典是常用的技术手段,请用200字以内的文字简要说明它们在软件需求分析和设计阶段的作用。

答案3:

需求分析阶段设计阶段
数据流图用于界定系统上下文范围,建立业务流程的加工说明,自顶向下对系统功能进行分解,指明数据在系统内移动变换,描述功能及加工规约将分析阶段的结果(数据流图)映射成软件的体系结构(结构图),为模块的划分与模块之间的接口设计提供依据
数据字典建立业务概念有组织的集合,是模型核心库,有组织的系统相关数据元素列表,使涉众对模型中元素有共同的理解根据数据字典中的数据存储描述,来建立数据库存储设计

试题三 (25分)

系统的故障检测和诊断是宇航系统提高装备可靠性的主要技术之一,随着装备信息化的发展,分布式架构下的资源配置越来越多、资源布局也越来越分散,这对系统的故障检测和诊断方法提出了新的要求。为了适应宇航装备的分布式综合化电子系统的发展,解决由于系统资源部署的分散性,造成系统状态的综合和监控困难的问题,公司领导安排张工进行研究。张工经过分析、调研提出了针对分布式综合化电子系统架构的故障检测和诊断的方案。

问题1(8分)

张工提出:宇航装备的软件架构可采用四层的层次化体系结构,即模块支持层、操作系统层、分布式中间件层和功能应用层。为了有效、方便地实现分布式系统的故障检测和诊断能力,方案建议将系统的故障检测和诊断能力构建在分布式中间件内,通过使用心跳或者超时探测技术来实现故障检测器。请用300字以内的文字分别说明心跳检测和超时探测技术的基本原理及特点。

答案1:

心跳是一种用于故障检测的手段。分布式系统中,各种异常,如:宕机、磁盘损坏、网络故障等,时有发生,通过心跳可以快速有效的定位集群中的错误结点,并做及时的处理保证集群正常服务。通常探针会不断发送健康检查来检查服务是否健康。当远程节点没有响应时,我们只能猜测数据包在过程中的某个地方丢失了。下一个操作将是重试或等待一段时间,直到超时。

问题2(8分)

张工针对分布式综合化电子系统的架构特征,给出了初步设计方案,指出每个节点的故障监测与诊断器主要负责监控系统中所有的故障信息,并将故障信息进行综合分析判断,使用故障诊断器分析出故障原因,给出解决方案和措施。系统可以给模块的每个处理机器核配置核状态监控器、给每个分区配置分区状态监控器、给每个 模块配置模块状态监控器、给系统配置系统状态监控器,如图3-1所示。

图3-1 系统故障检测和诊断原理

请根据下面给出的分布式综合化电子系统可能产生的故障(a)~(h),判断这些故障分别属于哪类监控器检测的围,完善表3-1的(1)~(8)的空白。

(a) 应用程序除零

(b) 看门狗故障

(c) 任务超时

(d) 网络诊断故障

(e) BIT检测故障

(f) 分区堆栈溢出

(g) 操作系统异常

(h)模块掉电

核状态监控器(1)、(2)
分区状态监控器(3)
模块状态监控器(4)、(5)、(6)
系统状态监控器(7)、(8)

答案2:

(1)b    (2) e    (3) f   (4) a  (5)  d  (6)  h  (7)  c  (8)  g

问题3(9分)

张工在方案中指出,本系统的故障诊断采用故障诊断器实现,它可综合多种故障信息和系统状态,依据智能决策数据库提供的决策策略判定出故障类型和处理方法。智能决策数据库中的策略可以对故障开展定性或定量分析。通常,在定量分析中,普遍采用基于解析模型的方法和数据驱动的方法。张工在方案中提出该系统定量分析时应采用基于解析模型的方法。但是此提议受到王工的反对,王工指出采用数据驱动的方法更适合分布式综合化电子系统架构的设计。请用300字以内的文字,说明数据驱动方法的基本概念,以及王工提出采用此方法的理由。

答案3:

通过对系统运行过程中的监测数据进行分析,从而在无精准系统数学模型情况下,对系统进行故障诊断,具体方法包括机器学习、统计分析法和信号分析法。因为宇航系统是一个非常复杂的系统,如果采用张工的基于解析模型的方法,这一类方法需要建立在精准数学模型的基础上来进行故障诊断。但是对于宇航系统这种非常复杂的系统难以精确建模。所以王工提出了数据驱动的方法,不需要精准系统数学模型。

试题四 (25分)

某大型电商平台建立了一个在线B2B商店系统,并在全国多地建设了货物仓储中心,通过提前备货的方式来提高货物的运送效率。但是在运营过程中,发现会出现很多跨仓储中心调货从而延误货物运送的情况。为此,该企业计划新建立一个全国仓储货物管理系统,在实现仓储中心常规管理功能之外,通过对在线B2B商店系统中订单信息进行及时的分析和挖掘,并通过大数据分析预测各地仓储中心中各类货物的配置数量,从而提高运送效率,降低成本。

当用户通过在线B2B商店系统选购货物时,全国仓储货物管理系统会通过该用户所在地址、商品类别以及仓储中心的货物信息和地址,实时为用户订单反馈货物起运地(某仓储中心)并预测送达时间。反馈送达时间的响应时间应小于1秒。

为满足反馈送达时间功能的性能要求,设计团队建议在全国仓储货物管理系统中采用数据缓存集群的方式,将仓储中心基本信息、商品类别以及库存数量放置在内存的缓存中,而仓储中心的其它商品信息则存储在数据库系统。

问题1 (9分)

设计团队在讨论缓存和数据库的数据一致性问题时,李工建议采取数据实时同步更新方案,而张工则建议采用数据异步准实时更新方案。

请用200字以内的文字,简要介绍两种方案的基本思路,说明全国仓储货物管理系统应该采用哪种方案,并说明采取该方案的原因。

答案1:

实时方案:强一致性,更新数据库之后主动淘汰缓存,读请求更新缓存,为避免缓存雪崩,更新缓存的过程需要进行同步控制,同一时间只允许一个请求访问数据库。

异步准实时更新方案:准一致性,当数据库数据更新时,异步更新缓存数据,采用多线程技术或(消息队列)逐步完成数据的更新。

应该采用异步准实时更新方案因为题目中对性能有严格要求,要求在秒内完成,而且多数请求是读操作,写操作少。实时同步方案最大的问题在于同步并发时的性能不可控。

问题2 (9分)

随着业务的发展,仓储中心以及商品的数量日益增加,需要对集群部署多个缓存节点,提高缓存的处理能力。李工建议采用缓存分片方法,把缓存的数据拆分到多个节点分别存储,减轻单个缓存节点的访问压力,达到分流效果。

缓存分片方法常用的有哈希算法和一致性哈希算法,李工建议采用一致性哈希算法来进行分片。请用200字以内的文字简要说明两种算法的基本原理,并说明李工采用一致性哈希算法的原因。

答案2:

哈希分片:对缓存的Key做哈希计算,然后对总的缓存节点个数取余,得出的结果就是要存入缓存节点的序号。这种算法的优点就是简单易,缺点是当增加或者减少缓存节点时,缓存总的节点个数变化造成计算出来的节点发生变化,从而造成缓存失效不可用。

一致性哈希分片:将存储节点和数据都映射到一个0∼232首尾相连的虚拟哈希环上,存储节点可以根据IP地址进行哈希,数据通常通过顺时针方向寻找的方式,来确定自己所属的存储节点。这种算法的优点是增加和删除节点时,只有少量的key会漂移到其它节点上,而大部分的key命中的节点还是会保持不变,从而可以保证命中率不会大幅下降。缺点是缓存节点在圆环上分布不平均,会造成部分缓存节点的压力较大。

采用一致性哈希算法的原因:一致性哈希分片的方式在扩充缓存结点时,只需要对少量数据的存储位置进行更新,而哈希分片需要对几乎所有数据的存储位置进行更新。

问题3(7分)

全国仓储货物管理系统开发完成,在运营一段时间后,系统维护人员发现大量黑客故意发起非法的商品送达时间查询请求,造成了缓存击穿。张工建议尽快采用布隆过滤器方法解决。请用200字以内的文字解释布隆过滤器的工作原理和优缺点。

 答案3:

布隆过滤器:通过一个很长的二进制向量和一系列随机映射函数来记录与识别某个数据是否在一个集合中。如果数据不在集合中,能被识别出来,不需要到数据库中进行查找,所以能将数据库查询返回值为空的查询过滤掉。

优点:占用内存小,查询效率高,不需要存储元素本身,在某些对保密要求比较严格的场合有很大优势。

缺点:有一定的误判率,不能100%准确判断元素是否在集合中,不能获取元素本身,一般情况下不能从布隆过滤器中删除元素。

试题五 (25分)

某公司拟开发一套基于边缘计算的智能门禁系统,用于如园区、新零售、工业现场等存在来访、被访业务的场景。来访者在来访前,可以通过线上提前预约的方式将自己的个人信息记录在后台,被访者在系统中通过此请求后,来访者在到访时可以直接通过"刷脸"的方式通过门禁,无需做其他验证。此外,系统的管理员可对正在运行的门禁设备进行管理。

基于项目需求,该公司组建项目组,召开了项目讨论会。会上,张工根据业务需求并结合边缘计算的思想,提出本系统可由访客注册模块、模型训练模块、端侧识别模块与设备调度平台模块等四项功能组成。李工从技术层面提出该系统可厂使用Flask框架与SSM框架为基础来开发后台服务器,将开发好的系统通过Docker进行部署,并使用MQTT协议对Docker进行管理。

问题1 (5分)

MQTT协议在工业物联网中得到广泛的应用,请用300字以内的文字简要说明MQTT协议。

答案1:

MQTT(消息队列遥测传输):是一个基于客户端−服务器的消息发布/订阅传输协议。它工作在TCP/IP协议族上,是为硬件性能低下的远程设备以及网络状况糟糕的情况下而设计的发布/订阅型消息协议。MQTT协议是轻量、简单、开放和易于实现的。

问题2 (14分)

在会议上,张工对功能模块进行了更进一步的说明:访客注册模块用于来访者提交申请与被访者确认申请,主要处理提交来访申请、来访申请审核业务,同时保存访客数据,为训练模块准备训练数据集;模型训练模块用于使用访客数据进行模型训练,为端侧设备的识别提供模型基础;端侧识别模块在边缘门禁设备上运行,使用训练好的模型来识别来访人员,与云端服务协作完成访客来访的完整业务;设备调度平台模块用于对边缘门禁设备进行管理,管理人员能够使用平台对边缘设备进行调度管理与状态监控,实现云端协同。

图5-1给出了基于边缘计算的智能门禁系统架构图,请结合HTTP协议和MQTT协议的特点为图5-1中(1)~(6)处选择合适的协议;并结合张工关于功能模块的描述,补充完善图5-1中(7)~(10)处的空白。

图5-1 基于边缘计算的智能门禁系统

 答案2:

(1) HTTP  (2) MQTT  (3) MQTT  (4) MQTT  (5) HTTP   (6) HTTP

(7) 端侧识别  (8) 模型训练  (9) 设备调度平台   (10) 访客注册

问题3 (6分)

请用300字以内的文字,从数据通信、数据安全和系统性能等方面简要分析在传统云计算模型中引入边缘计算模型的优势。

答案3:

数据通信:通信数据量更少速度更快。因为数据处理比对在边缘设备上完成,无需回传服务器,通信效率更高。

数据安全:数据以加密方式存储在需要用到的边缘设备上,本地化处理比对,减少原始信息在网上的传递带来的安全隐患。黑客无法通过攻击一台设备来影响整个系统。

系统性能:性能更高,以人脸识别为例,在进行识别时,只在本地进行比对,不用把人脸数据传递到远程服务器对比。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/950896.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

QT的介绍和优点,以及使用QT初步完成一个登录界面

QT介绍 QT主要用于图形化界面的开发,QT是基于C编写的一套界面相关的类库,进程线程库,网络编程的库,数据库操作的库,文件操作的库…QT是一个跨平台的GUI图形化界面开发工具 QT的优点 跨平台,具有较为完备…

MySQL存储引擎MyISAM和InnoDB特点全解

🏆作者简介,黑夜开发者,CSDN领军人物,全栈领域优质创作者✌,CSDN博客专家,阿里云社区专家博主,2023年6月CSDN上海赛道top4。 🏆数年电商行业从业经验,历任核心研发工程师…

Flutter开发- iOS 问题CocoaPods not installed or not in valid state

解决问题方案: 1、先检查本机CocoaPods是否安装,通过gem list 查看是否安装 打开终端,执行gem list,出现图中的数据即为已安装。未安装看第4 步 2、已经安装了CocoaPods,还出现了图中的提示,你可能已经猜…

快速制作餐厅签到抽奖营销活动,吸引更多顾客

在如今竞争激烈的市场中,吸引用户参与活动是企业获取关注和提升转化率的重要手段。而签到抽奖活动无疑是一种简单而又有效的方式。本文将教你如何利用乔拓云平台后台制作一个快速而有效的签到抽奖活动。 首先,登录乔拓云平台后台,进入【营销活…

【自学开发之旅】基于Flask的web开发(一)

web开发项目设计: 立项-需求分析-设计(原型图、数据库、api设计)-技术选型-写代码-测试-上线 web开发的本质上就是生成超文本。 前端负责展示,后端负责逻辑处理:后逻辑请求(接收请求、响应请求&#xff0…

CSA研讨会|聚焦云原生安全,探讨技术与应用策略

为产业数字化保驾护航, 云原生安全体系如何有效抵御网络威胁? 网络安全的下一个十年, 云原生安全是网络安全创新之路吗? CNAPP部署现状,你了解多少? 9月6日(周三)下午14&#xff1a…

教你实现一个深浅拷贝!

浅拷贝的原理与实现 对于浅拷贝的定义我们可以初步理解为: 自己创建一个新的对象,来接受你要重新复制或引用的对象值。如果对象属性是基本的数据类型,复制的就是基本类型的值给新对象;但如果属性是引用数据类型,复制的…

每日一题(移除链表元素)

每日一题(移除链表元素) 203. 移除链表元素 - 力扣(LeetCode) 思路一: 可以创建一个新的链表头节点newhead,只要是原链表中值不为val的节点、都通过尾插操作插到newhead所指向的链表中,原链表中…

swiper插件使用

swiper插件使用 1.进入官网 官网地址 2.下载文件保存到自己电脑上 3.解压文件夹,找到如图所示的两个文件夹,复制并引入到自己的项目中 4.使用 1.继续打开官网地址,寻找在线演示里面的轮播图案例,挑一个自己需要的,到新窗口打开 2.打开之后,右键,检查网页源代码 3.复制里面…

优秀案例 | 数字人+文化浪漫,开启城市数字文化沉浸式体验

数字人作为城市宣传的新载体、新介质, 可带来多元化、数字化的城市文旅发展模式, 通过打破虚实次元空间, 展现出传统文化与现代生活的相碰撞的魅力。 数字人文化浪漫 赋能城市文化新体验 南京首个以文化元宇宙主题体验中心及高校、文博…

基于JavaWeb和mysql实现网上书城前后端管理系统(源码+数据库+开题报告+论文+答辩技巧+项目功能文档说明+项目运行指导)

一、项目简介 本项目是一套基于JavaWeb和mysql实现网上书城前后端管理系统,主要针对计算机相关专业的正在做毕设的学生与需要项目实战练习的Java学习者。 包含:项目源码、项目文档、数据库脚本等,该项目附带全部源码可作为毕设使用。 项目都…

【计算机网络】带你一文搞懂Http和Https的关系和区别!(最强详解!!)

目录 首先来讨论一下Http和Https的背景 基本概念 一、HTTP协议: 二、HTTPS协议: 区别 工作原理 HTTP工作原理 Https工作原理 HTTPS优缺点 优点: 缺点: HTTP请求消息和响应消息 响应消息 进行TLS握手时的通俗的解释&a…

智能安全帽~生命体征检测与危险气体检测一体化集成设计还是蓝牙无线外挂式方式好?

生命体征(心率、血氧等)检测&上报平台,危险气体采集&上报平台,是智能安全帽产品中常见的两种选配件,它们的实现有两种典型的模式: 1)将传感器集成到主板上,做成一体化的智能…

RabbitMQ工作模式-工作队列

官网关于工作模式的解释地址:https://www.rabbitmq.com/getstarted.html Work Queue(工作队列) 生产者发消息,启动多个消费者来消费消息,每个消费者仅消费部分消息,可达到负载均衡的效果。 创建生产者 i…

java错误解决方案百科

一、业务开发缺陷 ① 工期紧、逻辑复杂,开发人员会更多地考虑主流程逻辑的正确实现,忽略非主流程逻辑,或保障、补偿、一致性逻辑的实现; ② 往往缺乏详细的设计、监控和容量规划的闭环,结果就是随着业务发展出现各种各…

NSS [羊城杯 2020]easyser

NSS [羊城杯 2020]easyser 开题。很容易让人觉得环境坏了。 不要慌,无从下手时。看源码、扫目录、抓包。一套操作下来,发现几个可以下手的路由。 /index.php /robots.txt 访问 /star1.php,一说到百度,就猜测是否存在SSRF。 源码中…

【LeetCode-面试经典150题-day18】

目录 17.电话号码的字母组合 77.组合 46.全排列 52.N皇后Ⅱ 17.电话号码的字母组合 题意: 给定一个仅包含数字 2-9 的字符串,返回所有它能表示的字母组合。答案可以按 任意顺序 返回。 给出数字到字母的映射如下(与电话按键相同&#xf…

Python(Web时代)—— Django数据库(多表)

两表联查 常见的两表关系: 一对多:ForeignKey 举例:一个学生对应多个地址 一般通过外键实现 需要在“多”的那个模型中使用ForeignKey 使用on_delete指定级联删除策略: CASCADE:当父表数据删除时,相对…

xml和json互转工具类

分享一个json与xml互转的工具类&#xff0c;非常好用 一、maven依赖 <!-->json 和 xm 互转</!--><dependency><groupId>org.dom4j</groupId><artifactId>dom4j</artifactId><version>2.1.3</version></dependency&g…