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

news2024/11/16 1:56:34

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

【问题1】(13分)
针对用户级别与折扣规则管理功能的架构设计问题,李工建议采用面向对象的架构风格,而王工则建议采用基于规则的架构风格。请指出该系统更适合采用哪种架构风格,并从用户级别、折扣规则定义的灵活性、可扩展性和性能三个方面对这两种架构风格进行比较与分析,填写表1-1中的(1)~(3)空白处。
image
【问题2】(12分)
在架构评估过程中,质量属性效用树(utility tree)是对系统质量属性进行识别和优先级排序的重要工具。请将合适的质量属性名称填入图1-1中(1)、(2)空白处,并选择题干描述的(a)(1)填入(3)(6)空白处,完成该系统的效用树。
image

试题二 系统开发(数据流图 实体、加工、数据流、系统流程图区别)

【问题1】(8分)
根据订餐管理系统功能说明,请在图2-1所示数据流图中给出外部实体E1 ~ E4和加工P1 ~ P4的具体名称。
【问题2】(8分)
根据数据流图规范和订餐管理系统功能说明,请说明在图2-1中需要补充哪些数据流可以构造出完整的0层数据流图。
image
【问题3】(9分)
根据数据流图的含义,请说明数据流图和系统流程图之间有哪些方面的区别。

(1)数据流图中的处理过程可并行;
系统流程图在某个时间点只能处于一个处理过程。
(2)数据流图展现系统的数据流;系统流程图展现系统的控制流。
(3)数据流图展现全局的处理过程,过程之间遵循不同的计时标准;
系统流程图中 处理过程遵循一致的计时标准。

试题三 嵌入式(信息物理系统三层概念,三类安全威胁)

【问题1】(9分)
通常CPS结构分为感知层、网络层和控制层,请用300字以内文字说明CPS的定义,并简要说明各层的含义。

信息物理系统(Cyber Physical Systems,CPS)作为计算进程和物理进程
的统一体,是集计算、通信与控制于一体的下一代智能系统。
信息物理系统通过人机交互接口实现和物理进程的交互,
使用网络化空间,以远程的、可靠的、实时的、安全的、协作的
方式操控一个物理实体。
感知层:主要由传感器、控制器和采集器等设备组成,
它属于信息物理系统中的末端设备。
网络层:主要是连接信息世界和物理世界的桥梁,
实现的是数据传输,为系统提供实时的网络服务,
保证网络分组传输的实时可靠。
控制层:主要是根据认知结果及物理设备传回来的数据进行相应的分析,
将相应的结果返回给客户端。

image

【问题3】(6分)
王工在提交的战略规划中指出:未来宇航领域装备将呈现网络化、智能化和综合化等特征,形成集群式的协同能力,安全性尤为重要。在宇航领域的CPS系统中,不同层面上都会存在一定的安全威胁。请用100字以内文字说明CPS系统会存在哪三类安全威胁,并对每类安全威胁至少举出两个例子说明。

(1)感知层安全威胁:感知数据破坏、信息窃听、节点捕获。
(2)网络层安全威胁:拒绝服务攻击、选择性转发、方向误导攻击。
(3)控制层安全威胁:用户隐私泄露、恶意代码、非授权访问。

试题四 数据库(读写并发操作、key/value方案探讨)

【问题1】(11分)
该系统使用过程中,由于同样的数据分别存在于数据库和缓存系统中,必然会造成数据同步或数据不一致性的问题。该企业团队为解决这个问题,提出了如下解决思路:应用程序读数据时,首先读缓存,当该数据不在缓存时,再读取数据库;应用程序写数据吋,先写缓存,成功后再写数据库;或者先写数据库,再写缓存。
王工认为该解决思路并未解决数据同步或数据不一致性的问题,请用100字以内的文字解释其原因。
王工给出了一种可以解决该问题的数据读写步骤如下:
读数据操作的基本步骤:
1.根据key读缓存;
2.读取成功则直接返回;
3.若key不在缓存中时,根据key(a);
4.读取成功后,(b);
5.成功返回。
写数据操作的基本步骤:
1.根据key值写©;
2.成功后(d);
3.成功返回。
请填写完善上述步骤中(a)~(d)处的空白内容。

存在双写不一致问题,在写数据时,可能存在缓存写成功,数据库写失败,
或者反之,从而造成数据不一致。
当多个请求发生时,也可能产生读写冲突的并发问题。
(a)从数据库中读取数据或读数据库
(b)更新缓存中key值或更新缓存
(c)数据库
(d)删除缓存key或使缓存key失效或更新缓存(key值)

【问题2】(8分)
缓存系统一般以key/value形式存储数据,在系统运维中发现,部分针对缓存的杳询,未在缓存系统中找到对应的key,从而引发了大量对数据库服务器的查询请求,最严重时甚至导致了数据库服务器的宕机。
经过运维人员的深入分析,发现存在两种情况:
(1)用户请求的key值在系统中不存在时,会查询数据库系统,加大了数据库服务器的压力;
(2)系统运行期间,发生了黒客攻击,以大量系统不存在的随机key发起了査询请求,从而导致了数据库服务器的宕机。
经过研究,研发团队决定,当在数据库中也未查找到该key时,在缓存系统中为key设置空值,防止对数据库服务器发起重复查询。
请用100字以内文字说明该设置空值方案存在的问题,并给出解决思路。

存在问题:不在系统中的key值是无限的,如果均设置key值为空,
会造成内存资源的极大浪费,引起性能急剧下降。
解决思路:查询缓存之前,对key值进行过滤,
只允许系统中存在的key进行后续操作(例如采用key的bitmap进行过滤)。

【问题3】(6分)
缓存系统中的key—般会存在有效期,超过有效期则key失效;有时也会根据LRU算法将某些key移出内存。当应用软件查询key时,如key失效或不在内存,会重新读取数据库,并更新缓存中的key。
运维团队发现在某些情况下,若大量的key设置了相同的失效时间,导致缓存在同一时刻众多key同时失效,或者瞬间产生对缓存系统不存在key的大量访问,或者缓存系统重启等原因,都会造成数据库服务器请求瞬时爆量,引起大量缓存更新操作,导致整个系统性能急剧下降,进而造成整个系统崩溃。
请用100字以内文字,给出解决该问题的两种不同思路。

思路1:缓存失效后,通过加排它锁或者队列方式
控制数据库写缓存的线程数量,使得缓存更新串行化;
思路2:给不同key设置随机或不同的失效时间,
使失效时间的分布尽量均匀;
思路3:设置两级或多级缓存,避免访问数据库服务器。

试题五 Web应用(非功能性雷求、分布式架构图、Sql注入攻击)

image

image

【问题3】(7分)
该物流车辆管理系统需抵御常见的SQL注入攻击,请用200字以内的文字说明什么是SQL注入攻击,并列举出两种抵御SQL注入攻击的方式。

SQL注入攻击,就是通过把SQL命令插入到Web表单提交
或输入域名或页面请求的查询字符串,
最终达到欺骗服务器执行恶意的SQL命令。
可以通过以下方式抵御SQL注入攻击:
1.使用正则表达式;
2.使用参数化的过滤性语句;
3.检査用户输入的合法性;
4.用户相关数据加密处理;
5.存储过程来执行所有的查询;
6.使用专业的漏洞扫描工具。

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

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

相关文章

ant design vue Message 用法以及内容为 html片段情况

ant design vue 的 Message 用法 全局展示操作反馈信息 何时使用 # 可提供成功、警告和错误等反馈信息。顶部居中显示并自动消失,是一种不打断用户操作的轻量级提示方式。 全局配置: // main.ts// 进行全局配置 message.config({top: 0.7rem,//高度…

Qt作业九

1、思维导图 2、作业 widget.h #ifndef WIDGET_H #define WIDGET_H#include <QWidget> #include <QTimer> #include <QTime> #include <QTimerEvent> #include <QTextToSpeech>QT_BEGIN_NAMESPACE namespace Ui { class Widget; } QT_END_NAME…

面向对象设计原则,详细介绍及分析

一、介绍&#xff1a; 面向对象设计原则是面向对象设计的基石&#xff0c;是面向对象设计的质量、保障、思想。 一共有七个设计原则&#xff0c;设计模式就是面向对象设计原则的经典应用 单一职责原则* 强调&#xff1a;高内聚低耦合&#xff0c;每一种类型的业务区分 开闭原则…

计算各数位的和是否相等(桶排)

// 分别计算左右两边各数的和&#xff0c;不同值时的数量 eg.四位数&#xff0c;左边数的有10~99&#xff0c;右边数有00~99 和有1~18 和有0~18 桶排&#xff0c;和相同放一个桶&#xff0c;分别计算左右两边不同和的数量 while (len < 8){int left[50] …

2023区块链国赛有黑幕

2023全国职业院校技能大赛区块链技术应用赛项 有黑幕&#xff01;&#xff01;河北软件职业技术学院举行的全国职业院校技能大赛区块链技术应用赛项违反比赛公平原则&#xff1a; 1、在评分阶段居然允许企业人员进入裁判所在区域&#xff0c;偏向性的引导裁判评分&#xff0c…

只需五步,在Linux安装chrome及chromedriver(CentOS)

一、安装Chrome 1&#xff09;先执行命令下载chrome&#xff1a; wget https://dl.google.com/linux/direct/google-chrome-stable_current_x86_64.rpm2&#xff09;安装chrome yum localinstall google-chrome-stable_current_x86_64.rpm看到下图中的Complete出现则代表安装…

网络安全—自学笔记

目录 一、自学网络安全学习的误区和陷阱 二、学习网络安全的一些前期准备 三、网络安全学习路线 四、学习资料的推荐 想自学网络安全&#xff08;黑客技术&#xff09;首先你得了解什么是网络安全&#xff01;什么是黑客&#xff01; 网络安全可以基于攻击和防御视角来分类…

搭建哨兵架构(windows)

参考文章&#xff1a;Windows CMD常用命令大全&#xff08;值得收藏&#xff09;_cmd命令-CSDN博客 搭建哨兵架构&#xff1a;redis-server.exe sentinel.conf --sentinel 1.在主节点上创建哨兵配置 - 在Master对应redis.conf同目录下新建sentinel.conf文件&#xff0c;名字绝…

<蓝桥杯软件赛>零基础备赛20周--第1周

报名明年年4月蓝桥杯软件赛的同学们&#xff0c;如果你是大一零基础&#xff0c;目前懵懂中&#xff0c;不知该怎么办&#xff0c;可以看看本博客系列。 每个周末发1个博客&#xff0c;共20周&#xff0c;到明年3月初结束。跟上本博客的节奏&#xff0c;省赛三等奖跑不掉。 每周…

性能强劲又通用!Meta-CoT: 混合问题场景下的自适应思维链推理

©PaperWeekly 原创 作者 | 邹安妮 单位 | 上海交通大学 研究方向 |NLP&#xff0c;大模型推理 大语言模型&#xff08;LLMs&#xff09;通过思维链&#xff08;CoT&#xff09;提示技术&#xff0c;生成中间推理链作为得出答案的依据。然而&#xff0c;当前的 CoT 方法要…

计算机网络-计算机网络体系结构-传输层

目录 一、UDP 二、TCP 特点 首部格式 连接管理 可靠传输 流量控制(点对点) 拥塞控制(全局) 三、拥塞控制算法 慢开始&拥塞避免 快重传&快恢复 功能一&#xff1a;提供进程与进程之间的逻辑通信 功能二&#xff1a;复用和分用 功能三&#xff1a;对收到的报…

文件列表创建工具 Nifty File Lists mac中文版功能特色

Nifty File Lists mac是一款文件列表创建工具&#xff0c;全面的元数据支持&#xff0c;涵盖了从基本文件信息&#xff0c;如文件名、路径、大小、创建和修改日期等等内容。 Nifty File Lists mac功能特色 全面的 元数据支持强大的多线程元数据提取系统涵盖了从基本文件信息&a…

紫光同创FPGA实现HSSTLP高速接口通信,8b/10b编解码数据回环,提供PDS工程源码和技术支持

目录 1、前言免责声明 2、我这里已有的 GT 高速接口解决方案3、设计思路框架HSSTLP详解HSSTLP基本了解HSSTLP之时钟HSSTLP之PCSHSSTLP之PMAHSSTLP之接口说明 硬件设计HSSTLP IP调用和配置 4、PDS工程详解5、上板调试验证并演示6、福利&#xff1a;工程代码的获取 紫光同创FPGA实…

【计算机网络】网络编程 Socket

目录 1.TCP和UDP的区别 2.基于UDP的 Socket API 总结 3.基于TCP的Socket API 服务器程序的问题 网络编程的目的&#xff1a;通过网络&#xff0c;让不同主机之间能够进行通信。 在进行网络编程的时候&#xff0c;需要操作系统提供一组API&#xff0c;也就是Socket API&am…

用Node.js开发基于稳定扩散的AI应用

在本文中&#xff0c;我们将介绍如何构建一个 Web 应用程序&#xff0c;该应用程序使用 ChatGPT 和 Stable Diffusion 为你提供的任何网站描述生成徽标和合适的域名。 推荐&#xff1a;用 NSDT编辑器 快速搭建可编程3D场景 1、介绍 人工智能正在接管世界。 这些技术每天都在震…

基于GRU的 电影评论情感分析 - python 深度学习 情感分类 计算机竞赛

文章目录 1 前言1.1 项目介绍 2 情感分类介绍3 数据集4 实现4.1 数据预处理4.2 构建网络4.3 训练模型4.4 模型评估4.5 模型预测 5 最后 1 前言 &#x1f525; 优质竞赛项目系列&#xff0c;今天要分享的是 基于GRU的 电影评论情感分析 该项目较为新颖&#xff0c;适合作为竞…

Hadoop3教程(二十六):(生产调优篇)NameNode核心参数配置与回收站的启用

文章目录 &#xff08;143&#xff09;NameNode内存配置&#xff08;144&#xff09;NN心跳并发配置&#xff08;145&#xff09;开启回收站参考文献 &#xff08;143&#xff09;NameNode内存配置 每个文件块&#xff08;的元数据等&#xff09;在内存中大概 占用150byte&…

Android 12.0 Launcher3定制化功能之抽屉式(双层)app列表排序功能实现

1.概述 在12.0的系统开发中,在定制Launcher3的开发中,对于抽屉式即双层桌面的workspace的app列表排序的功能,也是常有的需求,把常用的app图标放在前面,其他的可以放在列表后面做个整体的排序,这就需要了解app列表排序的流程,然后根据需求来实现功能 如图: 2.Launcher3 …

并发编程-延时队列DelayQueue

数据结构学习网站&#xff1a; Data Structure Visualization 思维导图 DelayQueue &#xff08;延时队列&#xff09; DelayQueue 是一个支持延时获取元素的阻塞队列 &#xff0c; 内部采用优先队列 PriorityQueue 存储元素&#xff0c;同时元素必须实现 Delayed 接口&#x…

Elasticsearch 8.X 分词插件版本更新不及时解决方案

1、关于 Elasticsearch 8.X IK 分词插件相关问题 球友在 ElasticSearch 版本选型问题中提及&#xff1a;如果要使用ik插件&#xff0c;是不是就使用目前最新的IK对应elasticsearch的版本“8.8.2”&#xff1f; https://github.com/medcl/elasticsearch-analysis-ik/releases/ta…