系统架构设计师-21年-下午答案

系统架构设计师-21年-下午答案

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

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

试题一 (25分)

说明

某公司拟开发一套机器学习应用开发平台,支持用户使用浏览器在线进行基于机器学习的智能应用开发活动。该平台的核心应用场景是用户通过拖拽算法组件灵活定义机器学习流程,采用自助方式进行智能应用设计、实现与部署,并可以开发新算法组件加入平台中。在需求分析与架构设计阶段,公司提出的需求和质量属性描述如下:

(a) 平台用户分为算法工程师、软件工程师和管理员等三种角色,不同角色的功能界面有所不同;
(b) 平台应该具备数据库保护措施,能够预防核心数据库被非授权用户访问;
(c) 平台支持分布式部署,当主站点断电后,应在 20 秒内将请求重定向到备用站点;
(d) 平台支持初学者和高级用户两种界面操作模式,用户可以根据自己的情况灵活选择合适的模式;
(e) 平台主站点宕机后,需要在 15 秒内发现错误并启用备用系统;
(f) 在正常负载情况下,机器学习流程从提交到开始执行,时间间隔不大于5秒;
(g) 平台支持硬件扩容与升级,能够在3人天内完成所有部署与测试工作;
(h) 平台需要对用户的所有操作过程进行详细记录,便于审计工作;
(i) 平台部署后,针对界面风格的修改需要在 3 人天内完成;
(j) 在正常负载情况下,平台应在 0.5 秒内对用户的界面操作请求进行响应;
(k) 平台应该与目前国内外主流的机器学习应用开发平台的界面风格保持一致;
(l) 平台提供机器学习算法的远程调试功能,支持算法工程师进行远程调试。

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

问题1 (9分)

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

效用树

(1):性能
(2):可修改性
(3):e
(4):j
(5):h
(6):i

问题2 (16分)

针对该系统的功能,赵工建议采用解释器(interpreter)架构风格,李工建议采用管道-过滤器(ppe-and-hlter)的架构风格,王工则建议采用隐式调用(implicit invocation)架构风格。请针对平台的核心应用场景,从机器学习流程定义的灵活性和学习算法的可扩展性两个方面对三种架构风格进行对比与分析,并指出该平台更适合采用哪种架构风格。

管道-过滤器风格具备高内聚低耦合、支持软件重用、扩展性好、支持并发等优点,但它有编写复杂、不适合处理交互应用等缺点;
隐式调用基于事件触发思想,具备支持软件重用、改进系统方便等优点,但它有构件放弃了对系统计算的控制、事件传递中的数据交换存在问题、语义依赖于被触发事件的上下文约束等缺点。
解释器通常包括解释引擎、代码存储区、记录解释引擎当前工作状态的数据结构、记录源代码被解释执行进度的数据结构。它含有一个虚拟机,可以仿真硬件的执行过程和一些关键应用,其缺点是执行效率比较低。优点:语法由很多类(每个规则对应一个类)表示, 容易改变及扩展;缺点:如果语法规则数量太多,会增加系统复杂度,性能下降。
本题中,由于需要交互操作,显然管道-过滤器风格不合适;基于事件触发的隐式调用风格也不合适;只有解释器风格通过灵活自定义规则,具备较强的灵活性和可扩展性,适合本题中的机器学习应用。

试题二 (25分)

某医院拟委托软件公司开发一套预约挂号管理系统,以便为患者提供更好的就医体验,为医院提供更加科学的预约管理。
本系统的主要功能描述如下:
(a) 注册登录;
(b) 信息浏览;
(c) 账号管理;
(d) 预约挂号;
(e) 查询与取消预约;
(f) 号源管理;
(g) 报告查询;
(h) 预约管理;
(i) 报表管理;
(j) 信用管理。

问题1 (6分)

若采用面向对象方法对预约挂号管理系统进行分析,得到如图 2-1 所示的用例图。请将合适的参与者名称填入图 2-1 中的(1)和(2)处,使用题干给出的功能描述(a) ~ (j),完善用例(3) ~ (12)的名称,将正确答案填在答题纸上。

用例图

(1):患者(预约人员)
(2):医院管理人员
(3):a
(4) -- (8):b、c、d、e、g 顺序可变
(9) -- (12):f、h、i、j 顺序可变

问题2 (10分)

请根据 问题1 中数据流图表示的相关信息,补充完善煤矿建设项目安全预警系统总体ER图(见图2-2)中实体(1) ~ (6)的具体内容,将正确答案填在答题纸上。预约人员(患者)登录系统后发起预约挂号请求,进入预约界面。进行预约挂号时使用数据库访问类获取医生的相关信息,在数据库中调用医生列表,并调取医生出诊时段表,将医生出诊时段反馈到预的界面,并显示给预的人员;预约人员选择医生及就诊时间后确认预的,系统返网预约结果,并向用户显示是否预约成功。采用面向对象方法对预约挂号过程进行分析,得到如 图2-2 所示的顺序图,使用题干中给出的描述,完善 图2-2 中对象(1),及消息(2) ~ (4)的名称,将正确答案填在普题纸上请简要说明在描述对象之间的动态交互关系时,协作图与顺序图存在哪些区别。

顺序图

(1):预约人员
(2):预约挂号
(3):显示医生可预约时段
(4):显示预约结果
顺序图是显示对象之间交互的图,这些对象是按时间顺序排列的,其着重描述对象按时间顺序的消息交换。
协作图用于描述系统的行为是如何由系统的成分协作实现的图,着重描述系统成分如何协同工作。

问题3 (9分)

采用面向对象方法开发软件,通常需要建立对象模型、动态模型和功能模型,请分别介绍这3种模型,并详细说明它们之间的关联关系,针对上述模型,说明哪些模型可用于软件的需求分析?

对象模型用于描述系统数据结构,动态模型用于描述系统控制结构,功能模型用于描述系统功能。
这3种模型都涉及数据、控制和操作等共同的概念,但侧重点不同,从不同侧面反映了系统的实质性内容,综合起来全面地反映了对目标系统的需求。
功能模型指明了系统应该“做什么”;动态模型明确规定了什么时候做;对象模型则定义了做事情的实体。
对象模型、动态模型和功能模型均可用于软件的需求分析。

试题三 (25分)

试题四 (25分)

说明

某医药销售企业因业务发展,需要建立线上药品销售系统,为用户提供便捷的互联网药品销售服务、该系统除了常规药品展示、订单、用户交流与反馈功能外,还需要提供当前热销产品排名、评价分类管理等功能。通过对需求的分析,在数据管理上初步决定采用关系数据库(MySQL)和数据库缓存(Redis)的混合架构实现。经过规范化设计之后,该系统的部分数据库表结构如下所示。

供应商(供应商ID,供应商名称,联系方式,供应商地址);
药品(药品ID,药品名称,药品型号,药品价格,供应商ID);
药品库存(药品ID,当前库存数量);
订单(订单号码,药品ID,供应商ID,药品数量,订单金额);

问题1 (9分)

在系统初步运行后,发现系统数据访问性能较差。经过分析,刘工认为原来数据库规范化设计后,关系表过于细分,造成了大量的多表关联查询,影响了性能。例如当用户查询商品信息时,需要同时显示该药品的信息、供应商的信息、当前库存等信息。为此,刘工认为可以采用反规范化设计来改造药品关系的结构,以提高查询性能。修改后的药品关系结构为:药品(药品ID,药品名称,药品型号,药品价格,供应商ID,供应商名称,当前库存数量);请用200字以内的文字说明常见的反规范化设计方法,并说明用户查询商品信息应该采用哪种反规范化设计方法。

增加冗余列冗余列:指在多个表中具有相同的属性列,常用来在查询时避免连接操作。
增加派生列/派生列:指增加的列可以通过表中其他属性列加工计算生成,作用是查询时减少计算量。
表重组/重新组表:如果需要经常查询两个表连接之后的数据,则把这两个表重新组成一个表来减少连接而提高性能。
表分割/分割表:通过将较大的表分割为多个较小的表来提高查询性能,包括水平分割和垂直分割。
该系统适合采用增加冗余列冗余列方法。

问题2 (9分)

王工认为,反规范化设计可提高查询的性能,但必然会带来数据的不一致性问题。请用200字以内的文字说明在反规范化设计中,解决数据不一致性问题的三种常见方法,并说明该系统应该采用哪种方法。

应用程序同步、批处理同步、触发器同步。该系统适合采用触发器同步,因为该方法在解决查询性能的同时一致性最高。

问题3 (7分)

该系统采用了Redis来实现某些特定功能(如当前热销药品排名等),同时将药品关系数据放到内存以提高商品查询的性能,但必然会造成Redis和MySQL的数据实时同步问题。

  1. Redis的数据类型包括String、Hash、List、Set和ZSet等,请说明实现当前热销药品排名的功能应该选择使用哪种数据类型。
  2. 请用200字以内的文字解释说明解决Redis和MySQL数据实时同步问题的常见方案。
1. ZSet
2. 读数据时先读取Redis中的key,如读到且未失效则返回key对应的数据:如读不到或key失效,则读取数据库,并同步Redis;写数据时先写数据库,并设置内存对应的key失效。

试题五 (25分)

说明

某公司拟开发一个智能家居管理系统,该系统的主要功能需求如下:

  1. 用户可使用该系统客户端实现对家居设备的控制,且家居设备可向客户端反馈实时状态;
  2. 支持家居设备数据的实时存储和查询;
  3. 基于用户数据,挖掘用户生活习惯,向用户提供家居设备智能化使用建议。

基于上述需求,该公司组建了项目组,在项目会议上,张工给出了基于家庭网关的传统智能家居管理系统的设计思路,李工给出了基于云平台的智能家居系统的设计思路。经过深入讨论,公司决定采用李工的设计思路。

问题1 (8分)

请用400字以内的文字简要描述基于家庭网关的传统智能家居管理系统和基于云平台的智能家居管理系统在网关管理、数据处理和系统性能等方面的特点,以说明项目组选择李工设计思路的原因。

在网关管理方面,基于云平台的智能家居管理系统可以将分散的智能家居网关数据集中起来,实现对智能家居网关的远程高效管理。
在数据处理方面,云端服务器对智能家居网数据进行备份存储,当家庭网关由于故障等原因导致数据丢失时,可以通过云端管理系统对网关数据进行恢复,从而提高数据的容灾性。
在系统性能方面,基于云服务平台的智能家居管理系统将数据信息存储在云端,减少了数据请求时间,提高了通信效率。

问题2 (12分)

请从下面给出的 (a) ~ (j) 中进行选择,补充完善 图5-1 中空 (1) ~ (6)处的内容,协助李工完成该系统的架构设计方案。

系统架构图

(a) Wi-FI
(b) 蓝牙
(c) 驱动程序
(d) 数据库
(e) 家庭网关
(f) 云平台
(g) 微服务
(h) 用户终端
(i) 鸿蒙
(j) TCP/IP

(1):h 用户终端
(2):i 鸿蒙
(3):f 云平台
(4):d 数据库
(5):e 家庭网关
(6):c 驱动程序

问题3 (5分)

该系统需实现用户终端与服务端的双向可靠通信,请用300字以内的文字从数据传输可靠性的角度对比分析TCP和UDP通信协议的不同,并说明该系统应采用哪种通信协议。

该系统需实现用户终端与服务端的双向可靠通信,请用300字以内的文字从数据传输可靠性的熊对比分析TCP和UDP通信协议的不同,并说明该系统应采用哪种通信协议。
TCP在IP协议提供的不可靠数据服务的基础上,采用了重发技术,为应用程序提供了一个可靠的、面向连接的、全双工的数据传输服务。TCP协议一般用于传输数据量比较少,且对可靠性要求高的场合。
UDP是一种不可靠的、无连接的协议,可以保证应用程序进程间的通信,与TCP相比,UDP是一种无连接的协议,它的错误检测功能要弱得多。
该系统应采用TCP协议。

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

ThreadX系列note-前言

什么是 Azure RTOS ThreadX Azure RTOS ThreadX 是 Microsoft 提供的高级工业级实时操作系统 (RTOS)。它是专门为深度嵌入式实时 IoT 应用程序设计的。 Azure RTOS ThreadX 的特性 Azure RTOS ThreadX 提供高级计划、通信、同步、计时器、内存管理和中断管理功能。此外&#…

【SpringBoot】SpringBoot的自动配置原理

📝个人主页:五敷有你 🔥系列专栏:SpringBoot ⛺️稳重求进,晒太阳 自动配置 啥叫自动配置呢?简单说就是springboot根据我们开发者的行为猜测你要做什么事情,然后把你要用的bean都给你准备…

tcpdump 抓包无法落盘

文章目录 问题背景解决办法 问题背景 在嵌入式设备中(Linux系统),为了分析两个网络节点的通讯问题,往往需要用到tcpdump,抓一个.pcap的包在PC端进行分析。博主在实际操作中发现,抓包无法实时落盘。 解决办法 # 下面的命令是写在…

集线器、交换机、路由器工作原理区别

集线器、交换机、路由器这三种设备是相似的,但是他们处理数据的方式有所不同。 1 集线器 集线器的目的是将内部网络上所有网络设备连接在一起。它具有多个端口,可以接受来自网络设备的以太网连接。集线器不过滤任何数据、也不知道该将数据发到什么地方…

友思特应用 | 微观指尖世界:OCT成像应用之3D指纹提取与识别

欢迎访问官网,探索丰富案例: OCT成像系统 | 光学相干断层扫描 | 谱域OCT | 扫频OCT | 广州友思特科技有限公司 关注“友思特机器视觉与光电”公众号、加入行业交流群或直接联系我们,轻松收获更多技术干货 导读 数字化生活已离不开指纹识别认…

Python学习从0到1 day11 Python数据容器.2.元组

世界安静的时候,我只能听到自己的声音 —— 24.2.1 为什么需要元组? 元组同列表一样,都是可以封装多个,不同类型的元素在内,最大的不同点在于: 列表是可以修改的 元组一旦定义完成,就不可修改 所…

测试C#调用OpenCvSharp和IronOcr从摄像头中识别文字

学习了基于OpenCvSharp获取摄像头数据,同时学习了基于IronOcr的文字识别用法,将这两者结合即是从摄像头中识别文字。本文测试C#调用OpenCvSharp和IronOcr从摄像头中识别文字的基本用法、。   新版Winform项目,在Nuget包管理器中添加以下程序…

检测头篇 | 原创自研 | YOLOv8 更换 SEResNeXtBottleneck 头 | 附详细结构图

左图:ResNet 的一个模块。右图:复杂度大致相同的 ResNeXt 模块,基数(cardinality)为32。图中的一层表示为(输入通道数,滤波器大小,输出通道数)。 1. 思路 ResNeXt是微软研究院在2017年发表的成果。它的设计灵感来自于经典的ResNet模型,但ResNeXt有个特别之处:它采用…

记elasticsearch CPU负载100%问题

记elasticsearch CPU负载100%问题 环境:问题表现:初步排查:日志查询hot_thread 深入查询当前elasticsearch正在运行的Task查看Task详情解决问题对导致问题的原因的几个猜测问题复现:导致问题的原因。json导入规则问题json导入规则…

Linux PC 操作系统如果想要达到 Windows 易用的水平还需要多少年

Linux PC 操作系统如果想要达到 Windows 易用的水平还需要多少年? 在开始前我分享下我的经历,刚入行时遇到一个好公司和师父,给了我机会,两年时间从3k薪资涨到18k的, 我师父给了一些Linux 学习方法和资料,…

制造业实施QMS质量管理系统的作用是什么?

QMS质量管理系统是一个关键的组织管理工具,用于确保产品和服务的质量符合预期标准;通过有效地实施万界星空科技QMS,组织可以确保产品和服务的质量符合预期标准,提升客户满意度,增强市场竞争力。 一、QMS系统的特点&…

<网络安全>《12 数据库安全审计系统》

1 概念 数据库安全审计系统通过对用户访问数据库行为的记录、分析和汇报,来帮助用户事后生成合规报告、事故追根溯源,同时通过大数据搜索技术提供高效查询审计报告,定位事件原因,以便日后查询、分析、过滤,实现加强内…

2024年1月份实时获取地图边界数据方法,省市区县街道多级联动【附实时geoJson数据下载】

首先,来看下效果图 在线体验地址:https://geojson.hxkj.vip,并提供实时geoJson数据文件下载 可下载的数据包含省级geojson行政边界数据、市级geojson行政边界数据、区/县级geojson行政边界数据、省市区县街道行政编码四级联动数据&#xff0…

Transformer 改进点,BERT模型的优缺点和一些模型基本原理总结

Transformer的改进点 方差为d_k,需要除以根号d_k,把乘积的数值重新变为均值为0,方差为1. BERT 的优缺点 BERT 训练策略原因 BERT, Transformer, ELMO 的特点,优缺点 之前看过多篇博客,和视频…

废品上门回收系统开发:创新、可持续与便捷

随着科技的不断进步,我们生活的方方面面都在逐步实现数字化转型。其中,废品处理作为城市管理的重要组成部分,同样面临着革新与升级的需求。本文将探讨废品上门回收系统开发的重要性和必要性,并分析如何实现这一系统的可持续性和便…

华为云CodeArts Snap荣获信通院优秀大模型案例及两项荣誉证书

2024年1月25日,中国人工智能产业发展联盟智能化软件工程工作组(AI for Software Engineering,下文简称AI4SE)在京召开首届“AI4SE创新巡航”活动。在活动上,华为云大模型辅助系统测试代码生成荣获“2023AI4SE银弹优秀案…

Axure 动态面板初使用-实现简单的tab切换页面效果

使用工具版本 Axure 9 实现的效果 步骤过程 1、打开Axure 9,默认进入一个空白页,首先从元件库拉一个动态面板到页面中,位置肯定是C位咯~ 2、将面板尺寸调整一下,设置成你喜欢的数字,比如我就喜欢800600 3、然后…

央视见证|“看见中国汽车”走进首家汽车供应链企业东软睿驰

由工业和信息化部支持指导,中国汽车工业协会和央视网联合出品的2023《看见中国汽车》专题东软睿驰篇正式上线,记录品牌向上专项行动走进首家汽车供应链企业,展示东软睿驰围绕“成为OEM 软件定义汽车时代最可信赖的合作伙伴”核心战略的创新发…

安卓线性布局LinearLayout

<?xml version"1.0" encoding"utf-8"?> <LinearLayout xmlns:android"http://schemas.android.com/apk/res/android"xmlns:tools"http://schemas.android.com/tools"android:layout_width"match_parent"android:…

测试环境搭建整套大数据系统(一:基础配置,修改hostname,hosts,免密,时间同步)

一&#xff1a;使用服务器配置。 二&#xff1a;修改服务器名称hostname&#xff0c;hosts。 在 Linux 系统中&#xff0c;hostname 和 /etc/hosts 文件分别用于管理主机名和主机名解析。 在三台服务器上&#xff0c;分别执行以下命令。 vim /etc/hostnamexdso-hadoop-test-0…