【软考】系统架构设计师-2022年下半年下午案例真题及答案

全国计算机技术与软件专业技术资格(水平)考试

高级 系统架构设计师 2022 年 下半年 下午试卷 案例

试题一  (共 25 分):

阅读以下关于软件架构设计与评估的叙述,在答题纸上回答问题 1 和问题 2 。

【说明】

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

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

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

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

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

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

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

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

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

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

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

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

(k)支持对系统的外观进行调整和配置,调整工作需要在 4 人天内完成。

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

【问题 1 】(12 分)

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

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

【问题 2 】(13 分)

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

试题二  (共 25 分):

阅读以下关于软件系统设计与建模的叙述,在答题纸上回答问题 1 至问题 3 。

【说明】

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

(a)项目信息维护 (b)影响因素录入

(c)关联事故录入 (d)安全评价得分

(e)项目指标预警分析 (f)项目指标填报

(g)项目指标审核 (h)项目指标确认

【问题 1 】(9 分)

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

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

【问题 2 】(9 分)

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

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

【问题 3 】(7 分)

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

试题三  (25 分):

阅读以下关于嵌入式系统故障检测和诊断的相关描述,在答题纸上回答问题 1至问题 3

【说明】

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

【问题 1 】(8 分)

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

【问题 2 】(8 分)

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

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

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

(a)应用程序除零 (b)看门狗故障

(c)任务超时 (d)网络诊断故障

(e)BIT 检测故障 (f)分区堆栈溢出

(g)操作系统异常 (h)模块掉电

表 3-1 故障分类

【问题 3 】(9 分)

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

试题四  (25 分):

阅读以下关于数据库缓存的叙述,在答题纸上回答问题 1 至问题 3

【说明】

某大型电商平台建立了一个在线 B2B 商店系统,并在全国多地建设了货物仓储 中心,通过提前备货的方式来提高货物的运送效率。但是在运营过程中,发现 会出现很多跨仓储中心调货从而延误货物运送的情况。为此,该企业计划新建 立一个全国仓储货物管理系统,在实现仓储中心常规管理功能之外,通过对在 线 B2B 商店系统中订单信息进行及时的分析和挖掘,并通过大数据分析预测各 地仓储中心中各类货物的配置数量,从而提高运送效率,降低成本。当用户通过在线 B2B 商店系统选购货物时,全国仓储货物管理系统会通过该用 户所在地址、商品类别以及仓储中心的货物信息和地址,实时为用户订单反馈 货物起运地(某仓储中心)并预测送达时间。反馈送达时间的响应时间应小于 1 秒。为满足反馈送达时间功能的性能要求,设计团队建议在全国仓储货物管理系统 中采用数据缓存集群的方式,将仓储中心基本信息、商品类别以及库存数量放 置在内存的缓存中,而仓储中心的其它商品信息则存储在数据库系统。

【问题 1 】(9 分)

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

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

【问题 2 】(9 分)

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

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

【问题 3 】(7 分)

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

试题五  (25 分):

阅读以下关于 Web 系统架构设计的叙述,在答题纸上回答问题 1 至问题 3

【说明】

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

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

【问题 1 】(5 分)

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

【问题 2 】(14 分)

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

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

【问题 3 】(6 分)

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

参考答案

试题一 答案:  解析:  

【问题 1

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

【问题 2

解释器 可修改性:

面向对象风格通过编写新的规则实现代码,并通过应用重启或热加载添加规 则,可修改性稍差;解释器风格通过编写新的规则文件,并通过导入资源文件 或外部配置添加规则,可修改性较好。

灵活性:

面向对象风格通过策略模式定义规则对象,规则以程序逻辑实现,灵活性较 差,解释器风格可灵活定义规则计算表达式,灵活性更好。

性能:

面向对象风格以编译后代码运算规则,性能好;而虚拟机风格需要加载规则, 解析规则,规则运算,再得出结果,性能较差。

从项目关注点来看,系统性能不做过多考虑,则王工建议的解释器风格较为合 适;但根据项目需求来看,规则系统风格更加合适该项目。

试题二 答案:  解析:  【问题 1

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

层间平衡:数据流个数一致,方向一致 图内平衡:有输入无输出的黑洞,有输出无输入的奇迹,输入不足的灰洞

【问题 2

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

【问题 3

在分析阶段:

数据流图用于界定系统上下文范围和建立业务流程的加工说明,自顶向下对系 统进行功能分解;指明数据在系统内移动变换;描述功能及加工规约。

数据字典用于建立业务概念有组织的集合,是模型核心库,有组织的系统相关 数据元素列表,使涉众对模型中元素有共同的理解。

在设计阶段

结构化设计根据不同的数据流图类别分别做变换和事务映射来初始化系统结构 图;根据数据字典中的数据存储描述来建立数据库存储设计。

试题三 答案:  解析:  【问题 1

心跳检测技术是节点每隔一个固定周期就向其他节点发送心跳信息,表示自己 存活。如果其他节点在几个周期之后仍然没有收到来自此节点的心跳,就认定 节点已失效,接管其资源和服务。其优点是可以快速反应,缺点是容易产生误 判。为了减少误判,通常会采用多种介质冗余传输心跳信息,如串口、网络、 共享磁盘等。

超时探测技术是节点主动向被探测节点发出 PING 信号,被探测节点则在收到 PING 信号后回复一个 ECHO 信号,表示自己的健康状态良好,还可以附加一些 状态信息。如果在预定的时间之后仍然收不到 ECHO 信号,则判定被探测节点失 效。优点是可以获得更详细的探测结果,缺点是判断的周期较长。

【问题 2

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

【问题 3

数据驱动方法是一种问题求解方法。从初始的数据或观测值出发,运用启发式 规则,寻找和建立内部特征之间的关系,从而发现一些定理或定律。通常也指 基于大规模统计数据的自然语言处理方法。

在本题中,由于是分布式环境,需要综合多种故障信息和系统状态,依据智能 决策数据库的决策策略判定,如果采用预先定制的解析模型,这个模型可能会 非常复杂。因此采用数据驱动方法能通过已有的数据去训练模型,可以达到逐 渐精细化,并兼容未来的变化。

试题四 答案:  解析:  【问题 1

李工同步方案思路: 更新数据时在同一事务内依此完成删除缓存,更新数据库,再写入缓存。 张工异步准实时方案思路:

更新数据时在同一事务内首先通过消息队列发布待更新数据的消息给缓存更新 服务,再更新数据库;缓存更新服务订阅消息队列,待收到更新事件执行缓存 更新。

项目数据量极大,且性能要求高,较适合采用张工提出的异步准实时方案较好。

【问题 2

哈希算法通过某种哈希算法散列得到一个值,按该值将数据分配到集群响应节 点进行缓存。

一致性哈希算法将整个哈希值空间映射成一个按顺时针方向组织的虚拟圆环, 使用哈希算法算出数据哈希值,然后根据哈希值的位置沿圆环顺时针查找,将 数据分配到第一个遇到的集群节点进行缓存。

一致性哈希算法有两大优点,

1 ) 可扩展性。一致性哈希算法保证了增加或减少服务器时,数据存储的改变 最少,相比传统哈希算法大大节省了数据移动的开销。

2 ) 更好地适应数据的快速增长。

【问题 3

布隆过滤器的原理是当一个元素被加入集合时,通过 K 个散列函数将这个元素 映射成一个位数组中的 K 个点,把它们置为 1 。检索时,只要看看这些点是不 是都是 1 就大概知道集合中有没有它了;如果这些点有任何一个 0 ,则被检元 素一定不在;如果都是 1 ,则被检元素很可能在。

优点:

1. 增加和查询元素的时间复杂度为: O(K), (K 为哈希函数的个数,一般比较 小),与数据量大小无关

2. 哈希函数相互之间没有关系,方便硬件并行运算

3. 布隆过滤器不需要存储元素本身,在某些对保密要求比较严格的场合有很大 优势

4. 在能够承受一定的误判时,布隆过滤器比其他数据结构有这很大的空间优势

5. 数据量很大时,布隆过滤器可以表示全集,其他数据结构不能

6. 使用同一组散列函数的布隆过滤器可以进行交、并、差运算

缺点:

1. 有误判率

2. 不能获取元素本身

3. 一般情况下不能从布隆过滤器中删除元素

4. 如果采用计数方式删除,可能会存在计数回绕问题

试题五 答案:  解析:  【问题 1

MQTT 是一个物联网传输协议,它被设计用于轻量级的发布/订阅式消息传输, 旨在为低带宽和不稳定的网络环境中的物联网设备提供可靠的网络服务。 MQTT 是专门针对物联网开发的轻量级传输协议。 MQTT 协议针对低带宽网络,低计算 能力的设备,做了特殊的优化,使得其能适应各种物联网应用场景。

【问题 2

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

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

【问题 3

速度:如果使用边缘计算,则物联网设备将在边缘数据中心或本地处理数据。 因此,数据无需传输回中央服务器,速度优势明显;

安全:边缘计算将在不同的数据中心和设备之间分配数据处理工作。黑客无法 通过攻击一台设备来影响整个网络;

可扩展性:通过购买具有足够计算能力的设备来扩展边缘网络。企业无需为其 数据需求建立自己的私有或集中式数据中心;

可靠性:所有的边缘数据中心和物联网设备都位于用户附近。因此,网络中断 的可能性非常小。

评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值