当前位置: 首页 > news >正文

系统架构设计师-22年-下午题目

系统架构设计师-22年-下午题目

  • 更多软考知识请访问 https://ruankao.blog.csdn.net/

  • 试题一必答,二、三、四、五题中任选两题作答

试题一 (25分)

说明

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

(a) 管理员能够在页面上灵活设置折扣力度规则和促销活动逻辑,设置后即可生效;
(b) 系统应该具备完整的安全防护措施,支持对恶意攻击行为进行检测与报警;
© 在正常负载情况下,系统应在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)空白处,完成该系统的效用树。

效用树

问题2 (13分)

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

试题二 (25分)

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

(a) 项目信息维护;
(b) 影响因素录入;
© 关联事故录入;
(d) 安全评价得分;
(e) 项目指标预警分析;
(f) 项目指标填报;
(g) 项目指标审核;
(h) 项目指标确认。

问题1 (9分)

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

数据流图

问题2 (9分)

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

ER图

问题3 (7分)

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

试题三 (25分)

说明

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

问题1 (8分)

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

问题2 (8分)

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

原理图

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

(a) 应用程序除零
(b) 看门狗故障
(c) 任务超时
(d) 网络诊断故障
(e) BIT检测故障
(f) 分区堆栈溢出
(g) 操作系统异常
(h) 模块掉电

表3-1故障分类

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

问题3 (9分)

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

试题四 (25分)

说明

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

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

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

问题1 (9分)

设计团队在讨论缓存和数据库的数据一致性问题时,李工建议采取数据实时同步更新方案,而张工则建议采用数据异步准实时更新方案。请用200字以内的文字,简要介绍两种方案的基本思路,说明全国仓储货物管理系统应该来用哪种方案,并说明采取该方案的原因。

问题2 (9分)

随着业务的发展,仓储中心以及商品的数量日益增加,需要对集群部署多个缓存节点,提高缓存的处理能力。李工建议采用缓存分片方法,把缓存的数据拆分到多个节点分别存储,减轻单个缓存节点的访问压力,达到分流效果。缓存分片方法常用的有哈希算法和一致性哈希算法,李工建议采用一致性哈希算法来进行分片。请用200字以内的文字简要说明两种算法的基本原理,并说明李工采用一致性哈希算法的原因。

问题3 (7分)

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

试题五 (25分)

说明

某公司拟开发一套基于边缘计算的智能门禁系统,用于如园区、新零售、工业现场等存在来访、被访业务的场景。来访者在来访前,可以通过线上提前预约的方式将自己的个人信息记录在后台,被访者在系统中通过此请求后,来访者在到访时可以直接通过“刷脸”的方式通过门禁,无需做其他验证。此外,系统的管理员可对正在运行的门禁设备进行管理。基于项目需求,该公司组建项目组,召开了项目讨论会。会上,张工根据业务需求并结合边缘计算的思想,提出本系统可由访客注册模块、模型训练模块、端侧识别模块与设备调度平台模块等四项功能组成,李工从技术层面提出该系统可使用 Flask 框架与SSM 框架为基础来开发后台服务器,将开发好的系统通过 Docker 进行部署,并使用MQTT 协议对 Docker 进行管理。

问题1 (5分)

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

问题2 (14分)

在会议上,张工对功能模块进行了更进一步的说明:访客注册模块用于来访者提交申请与被访者确认申请,主要处理提交来访申请、来访申请审核业务,同时保存访客数据,为训练模块准备训练数据集:模型训练模块用于使用访客数据进行模型训练,为端侧设备的识别业务提供模型基础;端侧识别模块在边缘门禁设备上运行,使用训练好的模型来识别来访人员,与云端服务协作完成访客来访的完整业务;设备调度平台模块用于对边缘门禁设备进行管理,管理人员能够使用平台对边缘设备进行调度管理与状态监控,实现云端协同。图5-1给出了基于边缘计算的智能门禁系统架构图,请结合HTTP协议和MQTT协议的特点,为图5-1中(1) ~ (6)处选择合适的协议:并结合张工关于功能模块的描述,补充完善图5-1中(7) ~ (10)处的空白。

系统架构图

问题3 (6分)

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

相关文章:

  • JVM篇----第十七篇
  • iOS17使用safari调试wkwebview
  • 中国的茶文化:历史、传统与生活
  • js实现动漫拼图2.0版
  • C# Onnx yolov8 水表读数检测
  • java servlet勤工助学家教管系统Myeclipse开发mysql数据库web结构java编程计算机网页项目
  • pytorch-metric-learning度量学习工具官方文档翻译
  • 数据库(SQL)
  • Qt知识点总结
  • JAVA线程执行中断方式和ElasticSearch未捕获异常的处理方式
  • Meta开源Code Llama 70B,缩小与GPT-4之间的技术鸿沟
  • leetcode-存在重复元素 II
  • 批量将csv文件转成excel
  • 2023年春秋杯网络安全联赛冬季赛_做题记录
  • Linux/ScriptKiddie
  • 【159天】尚学堂高琪Java300集视频精华笔记(128)
  • 2017 年终总结 —— 在路上
  • CentOS6 编译安装 redis-3.2.3
  • css属性的继承、初识值、计算值、当前值、应用值
  • C语言笔记(第一章:C语言编程)
  • javascript数组去重/查找/插入/删除
  • JS字符串转数字方法总结
  • laravel 用artisan创建自己的模板
  • Python_网络编程
  • vue从创建到完整的饿了么(11)组件的使用(svg图标及watch的简单使用)
  • Wamp集成环境 添加PHP的新版本
  • 编写高质量JavaScript代码之并发
  • 得到一个数组中任意X个元素的所有组合 即C(n,m)
  • 订阅Forge Viewer所有的事件
  • 个人博客开发系列:评论功能之GitHub账号OAuth授权
  • 构建工具 - 收藏集 - 掘金
  • 七牛云假注销小指南
  • 推荐一个React的管理后台框架
  • 小程序测试方案初探
  • Spark2.4.0源码分析之WorldCount 默认shuffling并行度为200(九) ...
  • 新年再起“裁员潮”,“钢铁侠”马斯克要一举裁掉SpaceX 600余名员工 ...
  • (1)(1.19) TeraRanger One/EVO测距仪
  • (2024.6.23)最新版MAVEN的安装和配置教程(超详细)
  • (32位汇编 五)mov/add/sub/and/or/xor/not
  • (C#)获取字符编码的类
  • (done) 两个矩阵 “相似” 是什么意思?
  • (MATLAB)第五章-矩阵运算
  • (vue)el-checkbox 实现展示区分 label 和 value(展示值与选中获取值需不同)
  • (二)PySpark3:SparkSQL编程
  • (免费领源码)python#django#mysql公交线路查询系统85021- 计算机毕业设计项目选题推荐
  • (转)总结使用Unity 3D优化游戏运行性能的经验
  • ***详解账号泄露:全球约1亿用户已泄露
  • .babyk勒索病毒解析:恶意更新如何威胁您的数据安全
  • .bat批处理(三):变量声明、设置、拼接、截取
  • .bat批处理出现中文乱码的情况
  • .net Application的目录
  • .Net Core 中间件与过滤器
  • .NET delegate 委托 、 Event 事件,接口回调
  • .NET MAUI学习笔记——2.构建第一个程序_初级篇
  • .NET/C# 中你可以在代码中写多个 Main 函数,然后按需要随时切换