软考A计划-系统架构师-案例分析考前背诵-上篇

news2024/11/25 22:43:11
  • 点击跳转专栏=>Unity3D特效百例
  • 点击跳转专栏=>案例项目实战源码
  • 点击跳转专栏=>游戏脚本-辅助自动化
  • 点击跳转专栏=>Android控件全解手册
  • 点击跳转专栏=>Scratch编程案例
  • 点击跳转=>软考全系列

👉关于作者

专注于Android/Unity和各种游戏开发技巧,以及各种资源分享(网站、工具、素材、源码、游戏等)
有什么需要欢迎底部卡片私我,获取更多支持,交流让学习不再孤单

芝麻粒儿-空名先生

👉实践过程

需要所有整理的文档可底部卡片联系我,直接发压缩包。

一 软件架构风格(重点,今年案例可能考)

定义:

软件架构风格是描述某一特定应用领域中系统组织方式的惯用模式。架构风格定义一个系统家族,即一个体系结构定义一个词汇表和一组约束。词汇表中包含一些构件和连接件类型,而这组约束指出系统是如何将这些构件和连接件组合起来的。

在这里插入图片描述

架构风格大类架构小类构件连接件
数据流风格批处理序列计算单元
管理过滤器过滤器数据流传输的管道
调用/返回风格主/子程序主子程序过程调用
面向对象对象对象间的交付方式
层次结构每一层层间的交付方式
独立构件进程通信独立的进程消息传递
事件驱动模块隐式调用
仓库风格黑板系统知识源黑板系统或数据库系统

在这里插入图片描述

1 数据流风格

  • 批处理序列(口决记忆法:构构每每数以)

定义:

构建为一序列固定顺序的计算单元,构建之间只通过数据传递进行交付,每个处理步骤是一个独立的程序,每一步必须在其前一步结束后才能开始,数据必须是完整的,以整体的方式进行传递

**特点:**强调整体性,无交互

  • 管理过滤器(口决记忆法:每构经然,变换三通)

定义:

  • 每个构建都有一组输入、输出,构建读输入的数据流,经过内部处理,然后产生输出数据流,这个过程通常是通过对输入数据流的变换或计算来完成的,包括:
  • 通过计算和增加信息以丰富数据
  • 通过浓缩和删除以精简数据
  • 通过改变记录方式以转化数据和递增的转化数据
  • 构建为过滤器,连接件是数据流传输的管道

特点:不适合处理交互式应用

2 调用/返回风格

  • 主程序/子程序(理解记忆法)

定义:

  • 所有的计算构件作为子程序协作工作,并由一个主程序顺序地调用这些子程序,构件通过共享存储区交换数据。
  • 调用关系具有层次性,其语义逻辑表现为主程序的正确性取决于它调用的子程序的正确性
  • 构件为主程序和子程序,连接件是过程调用
  • 面向对象(理解记忆法)

定义:

  • 建立在数据抽象和面向对象的基础上,数据的表示和它们的相应操作被封装起来。
  • 构件是对象,对象是抽象数据类型的实例,对象之间通过消息机制进行通信,连接件是对象间的交付方式。
  • 层次结构(理解记忆法)

定义:

  • 每层为上层提供服务,并使用下层提供的服务,一般中间层只对相邻层可见。
  • 构件组成一个层次结构,连接件通过层间交互的协议来定义。

3 独立构件风格

  • 进程通信(理解记忆法)

定义:

  • 构件通常是命名过程,消息传递可以是点对点、异步或同步方式、以及远程过程调用等。
  • 构件是独立的进程,连接件是消息传递
  • 事件驱动系统(隐式调用)(理解记忆法)

定义:

  • 构件不直接调用一个过程,而是触发或广播一个或多个事件。构件中的过程在一个或多个事件中注册,当某个事件被触发,系统自动调用在这个事件上注册的所有过程。
  • 构件是一些模块,这些模块可以是过程或事件。连接件以过程之间的隐式调用来实现。

优点:

  • 增加架构的灵活性

缺点:

  • 构件放弃了对系统计算的控制
  • 共享数据问题

4 虚拟机风格

  • 解释器(需要自定义业务流程的场景)(理解记忆法)

定义:

  • 包括一个完成解释工作的解释引擎,一个记录解释引擎当前工作状态的数据结构,一个包含将被解释代码的存储区,以及一个记录源代码被解释执行进度的数据结构。
  • 含有一个虚拟机

缺点:

  • 执行效率较低
  • 基于规则的系统(通过数据分析,产生决策需要的数据)(理解记忆法)
  • 包括规则集、规则解释器、规则/数据选择器和工作内存

5 仓库风格

  • 数据库系统(类似于目前的多个微服务开发,连共享数据库操作)(理解记忆法)

定义:

  • 中央共享数据库,保存当前系统的数据状态、
  • 多个独立处理单元,对数据元素进行操作
  • 黑板系统(信号处理、问题规划、编译器优化、语音识别)(强行记忆)

定义:

  • 由知识源,黑板数据结构,控制3部分组成。黑板数据即共享的中央数据仓库;控制完全由黑板的状态驱动,黑板状态决定使用特定的知识源;知识源通过不断改变黑板数据来解决问题。
  • 构件是中央数据结构和外部独立构件即知识源。连接子取决于控制原则的选取,若外部构件控制共享数据,则仓库是传统型数据库;若共享数据当前状态触发控制外部构件,则仓库是黑板系统。
  • 超文本系统(强行记忆)

定义:

  • 构件以网状链接方式相互连接
  • 用户可以在构件之间进行按照人类联想思维的方式任意跳转到相关构件。
  • 超文本以节点为单位

6 闭环控制(过程控制)

定义:

  • 反馈循环机制
  • 是将过程输出的指定属性维护在一个特定的参考值(设定点)。控制环路风格包括输入变量、设定点、操纵变量、过程变量和被控变量等构件,通过收集实际和理想的过程状态信息,并能调整过程变量使得实际状态趋于理想状态。

7 主程序/子程序与管道-过滤器的比较

二 各种图形

1 顺序图

**定义:**是一种交互图,强调对象之间消息发送的顺序,同时显示对象之间的交互。

2 活动图

**定义:**将进程或其他计算结构展示为计算内部一步步的控制流和数据流,强调对象间的控制流程。活动图可以用于描述系统的工作流程和并发行为。活动图中一个活动结束后将立即进入下一个活动(在状态图中状态的转移可能需要事件的触发)。活动图侧重描述行为的动作

3 状态图

**定义:**状态图主要用于描述一个对象在其生存期间的动态行为,表现一个对象所经历的状态序列,引起状态转移的事件(event),以及因状态转移而伴随的动作(action)。侧重于描述行为的结果

状态图与活动图的区别:

状态图侧重于描述行为的结果,而活动图侧重描述行为的动作。其次活动图可描述并发行为,而状态图不能。

4 通信图(了解)

**定义:**通信图也是一种交互图,它强调收发消息的对象或参与者的结构组织。

通信图与顺序图的区别:顺序图强调的是时序,而通信图强调的是对象之间的组织结构(或关系)。

5 流程图

流程图以图形化的方式展示应用程序从数据输入开始到获得输出为止的逻辑过程,描述
处理过程的控制流。

6 数据流图

6.1 定义

数据流图作为一种图形化工具,用来说明业务处理过程、系统边界内所包含的功能和系
统中的数据流。

数据流图通过外部代理(实体)描述系统与外界之间的数据交互关系,内部的活动通过处理(加工)表示,用数据流描述系统中不同活动之间的数据传输内容和方向,需要持久化存储的数据用数据存储表示,一般用文件系统或者数据库表存储数据-数据流图中所包含的四种元素:

  • 外部实体(External Agent)定义位于项目范围之外,但与正在被研发的系统有交互关系的人、部门、外部系统或组织;
  • 加工(Process)在输入数据流或条件上执行,或者对输入数据流或条件做出响应的工作;
  • 数据存储(Data Store)描述静止的数据,表示系统中需要保存的数据;
  • 数据流(Data Flow)描述运动中的数据,表示到一个过程的数据输入,或者来自一个过程的数据输出。

6.2 数据流图和流程图的区别

  • 数据流图中的处理过程可并行;流程图在某个时间点只能处于一个处理过程。
  • 数据流图展现系统的数据流;流程图展现系统的控制流。
  • 数据流图展现全局的处理过程,过程之间遵循不同的计时标准;流程图中处理过程
    遵循一致的计时标准。
  • 数据流图适用于系统分析中的逻辑建模阶段;流程图适用于系统设计中的物理建模阶段。

6.3 数据流图的常见错误

实体->加工->数据存储->加工->实体

实体->实体:X

加工->加工:X

数据存储->数据存储:X

实体->数据存储:X

数据存储->实体:X

  • 只有输入没有输出,产生数据黑洞;
  • 只有输出没有输入,无中生有;
  • 外部实体没有经过加工处理,直接到数据存储;
  • 外部实体之间没有加工处理,存在直接数据流。
  • 数据存储没有输出的数据流。
  • 加工不能只进数据流,同样也不能只出数据流
  • 实体与实体之间有数据流
  • 实体与数据存储之间有数据流,存储和存储之间有数据流

6.4 设计原则

  • 复杂性最小化原则。
  • 接口最小化原则。
  • 数据流一致性原则。

7 类图

**类图的关系:**依赖、泛化、关联(组合、聚合)、实现

**依赖和关联的区别:**依赖是一个类中的某个方法使用了另一个类做为参数,而关联是一个类把另一个类做成成员变量。

8 用例图

用例之间的关系:包含、扩展、泛化

三 软件质量属性

3.1 常见的几个质量属性定义

在这里插入图片描述

3.2 风险点、敏感点、权衡点

**系统架构风险:**架构设计中潜在的、存在问题的架构决策所带来的隐患。

**敏感点:**为了实现某种特定的质量属性,一个或多个系统组件所具有的特性。

**权衡点:**影响多个质量属性,并对多个质量属性来说都是敏感点的系统属性。

3.3 常见场景对应的质量属性

  • 用户的信用卡支付必须保证 99.999%的安全性,对应安全性属性。
  • 用户信息数据库授权必须保证 99.999%可用,对应安全性属性。
  • 系统拟采用新的加密算法,这会提高系统安全性,但同时会降低系统的性能,系统权衡点。
  • 对交易请求处理时间的要求将影响系统数据传输协议和交易处理过程的设计,对应系统敏感点。
  • 现有架构设计中的支付部分与第三方支付平台紧耦合,当系统需要支持新的支付平台时,这种设计会导致支付部分代码的修改,影响系统的可修改性,对应系统风险。
  • 系统需要为后端工程师提供远程调试接口,并支持远程调试,对应可测试性属性。

四 安全

在这里插入图片描述

4.1 安全威胁

信息系统面临的安全威胁多种多样,来自多个方面。请指出信息系统面临哪些方面的安全威胁并分别予以简要描述。

信息系统面临的安全威胁来自于管理、应用系统、通信链路、网络系统、物理环境、操作系统等多个方面。口决:管应通,网物操

  • 物理安全威胁是指对系统所用设备的威胁,如自然灾害、电源故障、数据库故障和设备被盗等造成数据丢失或信息泄漏。
  • 通信链路安全威胁是指在传输线路上安装窃听装置或对通信链路进行干扰。
  • 网络安全威胁当前主要是指由于因特网的开放性、国际性与无安全管理性,对内部网络形成的严重安全威胁。
  • 操作系统安全威胁指的是操作系统本身的后门或安全缺陷,如“木马”和“陷阱 门”等。
  • 应用系统安全威胁是指对于网络服务或用户业务系统安全的威胁,包括应用系统自身漏洞,也受到“木马”的威胁。
  • 管理系统安全威胁指的是人员管理和各种安全管理制度。

五 ESB

5.1 定义

企业服务总线(Enterprise Service Bus,ESB)是传统中间件技术与XML、Web服务等技术结合的产物,主要支持异构系统集成。ESB基于内容的路由和过滤,具备复杂数据的传输能力,并可以提供一系列的标准接口。

5.2 ESB的主要功能

  1. 服务位置透明性;
  2. 传输协议转换;
  3. 消息格式转换;
  4. 消息路由;
  5. 消息增强;
  6. 安全性;
  7. 监控与管理。

👉其他

📢作者:小空和小芝中的小空
📢转载说明-务必注明来源:https://zhima.blog.csdn.net/
📢这位道友请留步☁️,我观你气度不凡,谈吐间隐隐有王者霸气💚,日后定有一番大作为📝!!!旁边有点赞👍收藏🌟今日传你,点了吧,未来你成功☀️,我分文不取,若不成功⚡️,也好回来找我。

温馨提示点击下方卡片获取更多意想不到的资源。
空名先生

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

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

相关文章

〖数据结构〗一棵有点自律的树——搜索二叉树

文章目录 💐专栏导读💐文章导读🌷搜索二叉树概念🌷二叉搜索树的构建🌺查找操作🌺插入操作🌺删除操作🌺遍历操作☘️测试 🏵️拓展——递归实现🍃递归查找&…

MATLAB与物联网:如何应用MATLAB进行物联网数据的处理和分析

第一章:引言 物联网(Internet of Things, IoT)作为当今科技领域的热门话题,正在改变我们的生活方式和工作方式。随着物联网设备的普及和数据的不断增长,如何高效地处理和分析物联网数据成为了一个重要的挑战。MATLAB作…

【C语言之操作符1】

C语言之操作符1 1. 操作符分类2. 算术操作符3. 移位操作符3.1 左移操作符3.2 右移操作符 4. 位操作符5. 赋值操作符 1. 操作符分类 算术操作符 移位操作符 位操作符 赋值操作符 单目操作符 关系操作符 逻辑操作符 条件操作符 逗号表达式 下标引用、函数调用和结构成员 2. 算术…

【哈佛积极心理学笔记】第14讲 过犹不及

第14讲 过犹不及 Recap: Stress is not the problem. The problem is lack of revovery. level of stress -> chronic stress -> chronic anxiety -> depression Recovery on different level: micro level 15 min break, lunch timemezzo level, full night slee…

1.Apollo开发部署-linux

一.官方文档 https://www.apolloconfig.com/#/zh/deployment/quick-start-docker 二.环境准备 1.MySql 5.6.51.单独服务器192.168.2.13 https://downloads.mysql.com/archives/installer/ 2.JDK 1.8.X https://www.oracle.com/java/technologies/downloads/ 三.Apollo部署…

【JVM篇】垃圾回收算法

目录 1、前言 2、标记-清除算法 3、标记-整理算法 4、标记-复制算法 5、总结 1、前言 说起垃圾回收(Garbage Collection)(本文简称GC)。相信同时对C和Java有了解的小伙伴都知道,C在new完对象后,是需要…

【Linux】发展史浅谈

为什么要学Linux? LInux和微软的Windows在定位上都是一样的,即操作系统。而且LInux是一款雄霸服务端的操作系统,是在企业端被高频使用的后台操作系统。 科技发展的基本模式 所有的技术进步,本质都是为了促进更好的工具的发明&a…

【Python ORM】零基础也能轻松掌握的学习路线与参考资料

Python orm(Object-Relational Mapping)是一种模式,它将对象和关系型数据库之间的映射相互转换,使得应用程序可以通过面向对象的方式来操作数据库。Python orm 在开发大型 Web 应用程序中特别有用,使得与数据库的交互变…

【IMX6ULL驱动开发学习】08.IMX6ULL通过GPIO子系统函数点亮LED

通过GPIO子系统函数点亮LED 1、GPIO子系统函数 1.1 确定 led 的GPIO标号,查看内核中的gpiochip 查看 gpiochip ,以正点原子的IMX6ULL阿尔法开发板为例 [root100ask:/sys/class/gpio]# cat /sys/kernel/debug/gpio 查看原理图,发现led接的引…

Linux虚拟网络设备---之使用Veth pair连接linux网桥bridge

本文目录 1、我们可以用以下命令来创建veth pair: veth0----veth12、创建五个命名空间namespaces后,可以用以下命令将veth设备对的一端移入namespaces命名空间,并开启veth2、将veth设备对的另外一端连接到linux网桥,并将所有namespaces命名空…

【Redis应用】UV统计(四)

🚗Redis应用学习第四站~ 🚩本文已收录至专栏:Redis技术学习 一.引入 首先我们要搞懂两个概念: UV:全称Unique Visitor,也叫独立访客量,是指通过互联网访问、浏览这个网页的自然人。1天内同一个…

【动态规划】斐波那契数列模型

冻龟算法系列之斐波那契数列模型 文章目录 【动态规划】斐波那契数列模型1. 第N个泰波那契数1.1 题目解析1.2 算法原理1.2.1 状态表示1.2.2 状态转移方程1.2.3 初始化1.2.4 填表顺序1.2.5 返回值 1.3 编写代码1.4 空间优化 2. 三步问题2.1 题目解析2.2 算法原理2.2.1 状态表示2…

解决Centos安装时找不到磁盘:未选择任何磁盘(no diks selected),本地标准磁盘为空

文章目录 问题描述问题原因解决办法 问题描述 笔者最近又买了一台新电脑,并打算在上面安装 Linux 来充当一个新的服务器结点。但很不幸的是,每次笔者略微尝试新事物时,都要踩很多坑。笔者在使用 U 盘刻录 CentOS 8 镜像之后,准备在…

公平锁/非公平锁/可重入锁/自旋锁

在JAVA中我们知道有很多加锁的方式,比如常见的 通过synchronized关键字,还有Lock,还有之前说原子CAS操作时有看到过的死循环方式的自旋锁。 借此来说一下锁的分类: 公平锁: 是指多个线程按照申请的顺序来获取锁,每次获取锁时会…

dp算法篇Day1

"多希望有人来陪我,度过末日啊~" 讲讲我为什么突然想更新这篇栏目。 想想自己也算 "系统" 接触计算机这个学科也有差不多一年了,回想起当初下定决心要全身心投入到这个专业或者说行业中来,现在到了这样的地步&#xff0c…

CSS基础学习--10 margin(外边距)

一、定义: CSS margin(外边距)属性定义元素周围的空间。 二、margin margin 清除周围的(外边框)元素区域。margin 没有背景颜色,是完全透明的。 margin 可以单独改变元素的上,下,左,右边距&a…

今天面了个35k字节跳动出来,真是砂纸擦屁股,给我露了一手...

​2023年春招已经结束,很多小伙伴收获不错,拿到了心仪的 offer。 各大论坛和社区里也看见不少小伙伴慷慨地分享了常见的面试题和八股文,为此咱这里也统一做一次大整理和大归类,这也算是划重点了。 俗话说得好,他山之石…

AI 绘画(0):导论

文章目录 导论感谢人员Ai绘画前期准备软件环境硬件条件 Ai绘画介绍Ai绘画简单流程介绍Ai绘画软件介绍参数输入介绍 Ai绘画公约 导论 Ai绘画是最近比较热门的绘画方式,以干掉原画师为口号,引起了激烈的讨论。Ai绘画能否取代人工我们先不谈,但…

一个专科生的 Python 转行之路

自学之路 正式开始学编程是在十月底的样子, 那时候在知乎 flask 话题下看到一个问题 「有多少人按萧井陌大神给出的PythonFlask路线找到工作了?」。就觉得自己也可以啊, 就开始辞职自学 Python,。 刚开始的那一个月确实能够做到每天 10 个小时写代码, 学了大概一个…

java设计模式之:外观模式

前言 举个现实生活中例子,泡茶和去茶馆喝茶的区别,如果是自己泡茶需要自行准备茶叶、茶具和开水,而去茶馆喝茶,最简单的方式就是跟茶馆服务员说想要一杯什么样的茶,是铁观音、碧螺春还是西湖龙井?正因为茶…