软考系列(系统架构师)- 2021年系统架构师软考案例分析考点

试题一 软件架构(架构风格、质量属性)

【问题1】(9分)
在架构评估过程中,质量属性效用树(utility tree)是对系统质量属性进行识别和优先级排序的重要工具。 请将合适的质量属性名称填入图1-1中(1)、(2)空白处,并从题干中的(a)-(i)中选择合适的质量属性描述,填入(3)-(6)空白处,完成该平台的效用树。
image
【问题2】(16分)
针对该系统的功能,赵工建议采用解释器(interpreter)架构风格,李工建议采用管道过滤器(pipe-and-filter)的架构风格,王工则建议采用隐式调用(implicit invocation)架构风格。请针对平台的核心应用场景,从机器学习流程定义的灵活性和学习算法的可扩展性两个方面对三种架构风格进行对比与分析,并指出该平台更适合采用哪种架构风格。

本题系统中有多个应用场景提到了系统分角色有不同的操作流程与界面,以及在修改扩充系统时,
需要能够在限定时间内快速完成任务。基于这样的情况,我们从两方面进行分析:
解释器:机器学习流程定义的灵活性高,可扩展能力强,
因为解释器风格可以通过自定义流程规则及配套流程解释引擎开发,
做到用户层面的流程完全定义,而不需要修改代码,所以无论是修改已有的业务流程,
还是要扩展不同的角色,创建新角色的流程都非常便利。
管道过滤器:机器学习流程定义的灵活性较低,可扩展能力较弱,
因为管道过滤器是把数据处理职能做成过滤器,把数据传递做成管道,此时如果流程不发生变化,
是可以通过这种方式实现的,但一旦流程变化,或是扩展功能,需要对过滤器进行修改调整,
或是流程在程序层面重建,此时必须修改代码完成任务。
隐式调用:机器学习流程定义的灵活性一般,可扩展能力一般,隐式调用强调的是通过间接方式
进行调用,如采用事件机制,要完成某个动作时先触发事件,事件与相关动作关联,
以提升灵活度,本题中可把角色执行业务的流程用事件触发。这种做法比管道过滤器强,
但弱于完全自定义的解释器。

试题二 系统开发(用例图、顺序图填空、模型对比)

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

概念:
对象模型描述了系统的静态结构,一般使用对象图来建模。
对象模型是整个体系中最基础,最核心的部分。
动态模型描述了系统的交互次序,一般使用状态图来建模。
功能模型描述 了系统的数据变换,一般使用数据流图来建模。
相互关系:
对象模型描述了动态模型和功能模型所操作的数据结构,
对象模型中的操作对应于动态模型中事件和功能模型中的函数;
动态模型描述了对象模型的控制结构,告诉我们哪些决策是依赖于对象值,
哪些引起对象的变化,并激活功能;
功能模型描述了由对象模型中操作和动态模型中动作所激活的功能,
而功能模型作用在对象模型说明的数据上,同时还表示了对对象值的约束。

试题三 嵌入式

image
image

数据定义:数据定义要反映业务模式的本质,确保数据架构为业务提供全面、一致、完整的
高质量数据。数据定义要划分应用系统边界,明确数据引用关系,定义应用系统间的基础接口。
定义数据模型主要包括:数据概念模型、数据逻辑模型、数据物理模型和数据标准。数据分布:数据分布是数据系统分布的基础。包含数据业务、数据分析和数据存储。
数据业务是分析业务数据在业务各环节的创建、引用、修改或删除的关系。
数据分析是在单一应用系统中的分析数据结构与应用系统各功能间的引用关系,分析数据在多个系统
间的引用关系。
数据存储包含分析数据集中存储和数据分布存储两种模式,要根据需求选择数据分布策略。数据管理:数据管理是要制定贯穿数据生命周期的各项管理制度,包括:数据模型与数据标准管理,
数据分布管理,数据质量管理和数据安全管理等制度。确定数据管理组织或岗位。

image
image
image

试题四 数据库(反规范化设计方法、数据不一致、redis 同步)

image

常见的反规范化技术包括:
(1)增加冗余列:增加冗余列是指在多个表中具有相同的列,它常用来在查询时避免连接操作。
(2)增加派生列:增加派生列指增加的列可以通过表中其他数据计算生成。它的作用是在查询时减少计算量,从而加快查询速度。
(3)重新组表:重新组表指如果许多用户需要查看两个表连接出来的结果数据,则把这两个表重新组成一个表来减少连接而提高性能。
(4)分割表:有时对表做分割可以提高性能。
用户查询商品信息应该采用:增加冗余列。
用户查询商品信息时,需要显示药品信息(药品表中),供应商信息(供应商表),库存信息(库存表中),此时查询的是药品表,但表中缺了供应商的信息和库存信息,可以通过增加冗余列的方式把这些信息并过来。以避免连接操作带来的查询性能下降。

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

针对反规范化数据不一致问题,可采用的解决方案包括:
1、触发器数据同步
2、应用程序数据同步
3、物化视图
4、批处理同步
本系统应采用触发器数据同步方式

【问题3】(7分)
该系统采用了Redis来实现某些特定功能(如当前热销药品排名等),同时将药品关系数据放到内存以提高商品查询的性能,但必然会造成Redis和MySQL的数据实时同步问题。
(1) Redis的数据类型包括String、 Hash、 List、 Set和ZSet等,请说明实现当前热销药品排名的功能应该选择使用哪种数据类型。
(2)请用200字以内的文字解释说明解决Redis和MySQL数据实时同步问题的常见方案。

(1)热销药品排名适合用:ZSet,即有序集合类型
(2)
1、实时同步方案,先查缓存,查不到再从DB查询,并保存到缓存;更新缓存时先更新数据库,再将缓存设置过期。
2、异步队列方式同步,可采用消息中间件处理。
3、通过数据库插件完成数据同步。
4、利用触发器进行缓存同步。

试题五 Web应用(云平台智能家居,看图填空,TCP/UDP 区别)

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

网关管理:云平台更强,可以实现远程网关管理,可以对不同地点的多种设备进行统一管理,
管理能力更强。
数据处理:数据一般经由网关传递到云上数据库中,再进行处理,这样对数据进行分析、挖掘更便利,同时存储在云端,数据更安全,有容灾能力。
系统性能:数据存在云上数据库中,通信效率更高,同时云也有更强的数据处理能力,
所以会更高效。

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

该系统应采用TCP协议,这样才能保障用户终端和服务端之间的双向可靠通信。
TCP是一种面向连接的、可靠的、基于字节流的传输层通信协议。TCP之所以可靠,
是因为建立连接时有3次握手,通信时有回应机制,所以丢了包,能重传以保障通信可靠性。
UDP是一种面向无连接的传输层通信协议,丢了包不会重传,所以不能保障通信可靠性。

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

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

相关文章

蓝桥杯每日一题0223.10.23

第几天 - 蓝桥云课 (lanqiao.cn) 题目描述 题目分析 简单枚举&#xff08;用k来记录经过的天数&#xff09; #include<bits/stdc.h> using namespace std; bool is_ren(int n) {if(n % 400 0 || (n % 4 0 && n % 100 ! 0))return true;return false; } int …

Towards a Rigorous Evaluation of Time-series Anomaly Detection(论文翻译)

1 Introduction 随着工业4.0加速系统自动化&#xff0c;系统故障的后果可能会产生重大的社会影响&#xff08;Baheti和Gill 2011; Lee 2008; Lee&#xff0c;Bagheri和Kao 2015&#xff09;。为了防止这种故障&#xff0c;检测系统的异常状态比以往任何时候都更加重要&#xff…

电脑待办事项提醒工具用哪个?

在一个繁忙的办公楼里&#xff0c;人们匆匆忙忙地穿梭着&#xff0c;电脑屏幕前的每个人都有着繁重的工作任务。为了应对这些任务&#xff0c;有人喜欢在纸上列出清单&#xff0c;有人则更愿意在电脑上记录&#xff0c;日常记录待办事项建议大家可以使用提醒工具敬业签。 敬业…

IP地址在各行业中的常见应用场景

IP地址在各行业中有多种应用场景&#xff0c;它不仅用于标识和定位设备&#xff0c;还用于实现各种功能和服务。以下是IP地址在不同行业中的一些应用场景&#xff1a; 互联网和通信行业&#xff1a; 网络寻址和标识&#xff1a; IP地址是互联网上的设备的唯一标识符&#xff0…

【Git】idea提交项目到Gitee

文章目录 1. 创建Gitee仓库1. 新建仓库2. 添加描述3. 复制仓库地址 2. idea建立连接提交2.1 Create Git Repository2.2 选择要提交的根目录2.3 Commit2.4 Push2.5 提交成功 1. 创建Gitee仓库 1. 新建仓库 2. 添加描述 3. 复制仓库地址 点击右上角克隆/下载&#xff0c;复制HT…

SparkSQL之LogicalPlan概述

逻辑计划阶段在整个流程中起着承前启后的作用。在此阶段&#xff0c;字符串形态的SQL语句转换为树结构形态的逻辑算子树&#xff0c;SQL中所包含的各种处理逻辑&#xff08;过滤、剪裁等&#xff09;和数据信息都会被整合在逻辑算子树的不同节点中。逻辑计划本质上是一种中间过…

配置公网和私网用户通过非公网口的IP地址访问内部服务器和Internet示例

组网需求 如配置公网和私网用户通过非公网口的IP地址访问内部服务器和Internet示例所示&#xff0c;某小型企业内网部署了一台路由器、一台FTP服务器和一台Web服务器。路由器作为接入网关&#xff0c;为下挂的内网用户提供上网服务&#xff0c;主要包括浏览网页、使用即时通信…

墨西哥专线:国产商品迅速开拓墨西哥市场的基础

随着全球贸易的不断发展&#xff0c;越来越多的中国企业开始将目光投向海外市场。墨西哥作为北美洲的重要国家&#xff0c;拥有庞大的消费市场和广阔的发展空间&#xff0c;对于中国企业来说&#xff0c;无疑是一个极具潜力的市场。然而&#xff0c;如何让国产商品在这个市场上…

基于ElasticSearch+Vue实现简易搜索

基于ElasticSearchVue实现简易搜索 一、模拟数据 产品名称描述价格库存数量品牌名称智能手表智能手表&#xff0c;具有健康跟踪和通知功能。199.991000TechWatch4K智能电视4K分辨率智能电视&#xff0c;提供出色的画质。699.99500VisionTech无线耳机降噪无线耳机&#xff0c;…

若依和芋道

国外卷技术,国内卷业务,做管理业务通常使用开源框架就可以快速满足,若依和芋道都是开源二开工具较为流行的框架,芋道是基于若依的,基本上是开发人员自己写业务开发框架的天花板,两者的前端都是基于vue-element-admin的,使用Gitee上两者的SpringBoot的最轻量化版本进行对…

485modbus转profinet网关连三菱变频器modbus通讯配置案例

本案例介绍了如何通过485modbus转profinet网关连接威纶通与三菱变频器进行modbus通讯。485modbus转profinet网关提供了可靠的连接方式&#xff0c;使用户能够轻松地将不同类型的设备连接到同一网络中。通过使用这种网关&#xff0c;用户可以有效地管理和监控设备&#xff0c;从…

VR航天科普主题公园模拟太空舱体验馆vr航天模拟体验设备

VR航天航空体验馆巡展是一项非常受欢迎的展览活动&#xff0c;可以让公众在现场体验到航天飞行的乐趣。 普乐蛙VR展览组织者会设计一个航天航空主题的VR体验馆&#xff0c;并在馆内设置各种航天航空相关的展示内容&#xff0c;如太空舱、火箭发射、星际航行等。 其次&#xff0…

【机器学习合集】泛化与正则化合集 ->(个人学习记录笔记)

文章目录 泛化与正则化1. 泛化(generalization)2. 正则化方法2.1 显式正则化方法显式正则化方法对比提前终止模型的训练多个模型集成Dropout技术 2.2 参数正则化方法2.3 隐式正则化方法方法对比 泛化与正则化 1. 泛化(generalization) 泛化不好可能带来的问题 模型性能不稳定容…

css伪类元素使用技巧 表达input父级聚焦css实现

:focus-within 可以让它自己被聚焦或者它的后代元素被聚焦input 中有required 加星号在这里插入图片描述

高压放大器在扫描显微镜中的应用及优势是什么

随着科技的不断进步&#xff0c;扫描显微镜成为了现代显微镜技术的重要组成部分。它能够提供更高的分辨率、更广的视场和更强的功能&#xff0c;用于研究各种微观结构和材料的特性。而高压放大器在扫描显微镜系统中发挥着至关重要的作用。下面安泰电子Aigtek将详细介绍高压放大…

一百九十二、Flume——Flume数据流监控工具Ganglia单机版安装

一、目的 在安装好Flume之后&#xff0c;需要用一个工具可以对Flume数据传输进行实时监控&#xff0c;这就是Ganglia 二、Ganglia介绍 Ganglia 由 gmond、gmetad 和 gweb 三部分组成。 &#xff08;一&#xff09;第一部分——gmond gmond&#xff08;Ganglia Monitoring Da…

JAVA毕业设计102—基于Java+Springboot+vue的个人理财管理系统(源码+数据库)

基于JavaSpringbootvue的个人理财管理系统(源码数据库) 一、系统介绍 本系统前后端分离 管理员功能&#xff1a; 登录、注册、添加账单、导出账单、统计分析、个人信息修改、消费对比 二、所用技术 后端技术栈&#xff1a; SpringbootSpringMvcmybatismysql 前端技术栈…

[MoeCTF 2023]——Web方向详细Write up、Re、Misc、Crypto部分Writeup

签到 hello CTFer 将url地址复制然后打开即可 得到flag Web http 听说这个http里还有个什么东西叫饼干&#xff0c;也不知道是不是吃的 踩坑了&#xff0c;这里用连接器。。。 开启题目环境 GET方式请求&#xff0c;然后把各种请求头往里加 GET ?UwUuHeader&#xff1a; …

ConcurrentHashMap底层具体实现知道吗?实现原理是什么

从这三个方面来回答&#xff1a; ConcurrentHashMap 的整体架构 ConcurrentHashMap 的基本功能 ConcurrentHashMap 在性能方面的优化 ConcurrentHashMap 的整体架构 这个是 ConcurrentHashMap 在 JDK1.8 中的存储结构&#xff0c;它是由数组、单向链表、红黑树组成. 当我们初始…

【ROS 2 基础-常用工具】-7 Rviz仿真机器人

所有内容请查看&#xff1a;博客学习目录_Howe_xixi的博客-CSDN博客