软考A计划-网络工程师-系统架构师案例分析知识点整理

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

👉关于作者

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

芝麻粒儿-空名先生

👉实践过程

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

软考系统架构师案例分析知识点整理

系统规划:包括系统项目的提出预可行性分析;系统方案的制定、评价和改进;新旧系统的分析和比较;现有软件、硬件和数据资源的有效利用;

软件架构设计:XML技术;基于架构的软件开发过程;软件的质量属性;架构(模型)风格;特定领域软件架构;基于架构的软件开发方法;架构评估;软件产品线;系统演化

设计模式:设计模式概念;设计模式的组成;模式和软件架构;设计模式分类;设计模式实现;

系统设计:处理流程设计;人机界面设计;文件涉及;存储设计;数据库设计;网络应用系统的设计;系统运行环境的集成与设计;中间件;应用服务器;性能设计与性能评估;系统转换设计划;

软件系统建模:系统需求、建模的作用以及意义;定义问题(目标、功能、性能)与归结模型(静态结构模型、动态行为模型、物理模型);结构化系统建模;数据流图;面向对象系统建模;统一建模语言(UML);数据库建模;E-R图;逆向工程;

分布式系统设计:分布式通行协议的设计;基于对象的分布式系统设计;基于web的分布式系统设计;基于消息和协同的分布式系统设计;异构分布式系统的互操作性设计;

嵌入式系统设计:实时系统和嵌入式系统特征;实时任务调度和多任务设计;中断处理和异常处理;嵌入式系统的开发设计

系统的可靠性分析与设计:系统故障模型和可靠性模型;系统的可靠性分析与可靠度计算;提高系统可靠性的措施;系统的故障对策和系统的备份与恢复;

系统安全性和保密性设计:系统的访问控制技术;数据的完整性;数据与文件的加密;通信的安全性;系统的安全性设计;

1、 概念类

系统规划

项目计划:包括范围计划、工作范围计划、活动定义、资源需求、资源计划、活动排序、费用估算、进度计划、费用计划;项目辅助计划包括质量计划、沟通计划、人力资源计划、风险计划、采购计划。

虚拟化技术:计算元件在虚拟的基础上运行;有完全虚拟化,准虚拟化,操作系统层虚拟化等;

虚拟化收益:
1、 有效提高服务器资源利用率
2、 支持运行在不同操作系统之上的多个业务共享一台服务器
3、 减少服务器数量,降低硬件成本
4、 节约场地面积,减少能耗

软件架构设计

架构风险:架构设计中潜在的、存在问题的架构决策所带来的隐患
敏感点:为了实现某种特定的质量属性,一个或者多个系统组件所具有的特性
权衡点:影响多个质量属性,并且对多个质量属性来说都是敏感点的系统属性
软件质量属性包括:功能性、性能、可用性、可靠性、健壮性、安全性、可修改性、可变性、易用性、可测试性、互操作性
六种质量属性策略:
1、 可用性
错误检测:命令/响应,心跳机制,异常监控
错误恢复:表决(裁决表),主动冗余,被动冗余,备件,状态再同步,检查点/回滚
错误预防:从服务中删除,事物(要么全成功,要么全失败),定期重置,进程监视器
2、 可修改性
局部化修改:维持语义的一致性,预期期望的变更,泛化该模块,限制可能的选择
防止连锁反应:信息隐藏,维持现有的接口,限制通信路径,仲裁者的使用
推迟绑定时间:运行时注册,配置文件,多态,构件更换
3、 性能
资源需求:减少处理时间所需的资源,减少所处理事件的数量,控制资源使用,限制执行时间
资源管理:引入并发,维持数据或计算的多个副本,增加可用资源
资源仲裁:先进/先出,固定优先级,动态优先级调度,静态调度
4、 安全性
抵抗攻击:对用户进行身份验证,对用户进行授权,维护数据的机密性,维护完整性,限制暴露的信息,限制访问
检测攻击:部署入侵检测系统
从攻击中恢复:恢复,识别攻击者
5、 可测试性
输入/输出:记录/回放,将接口—实现分离,优化访问线路/接口
内部监控:当监视器处于激活状态时,记录事件
6、 易用性
运行时:任务模型,用户模型,系统模型
设计时:将用户接口与应用的其余部分分离
支持用户主动:支持用户主动操作
软件架构风格:描述某一类特定应用领域中软件系统组织方式和惯用方式;组织方式描述了系统的组成构建和这些构建的组织方式,惯用模式则反映众多系统共有的结构和语义。

1、 数据流风格

批处理序列:每个处理步骤是一个独立的程序,每一步必须在前一步结束后才能开始,数据必须是完整的,以整体的方式传递

管道/过滤器:每个构件都有一组输入和输出,构件接受数据输入,经过内部处理,然后产生输出数据流。这里构件被称为过滤器,连接件就是数据流传输的管道。

2、 调用/返回风格
主程序/子程序:计算构件作为子程序协作工作,并由一个主程序顺序地调用这些子程序,构件通过共享存储区交换数据。
数据抽象和面向对象:将数据表示和基本操作封装在对象中。
层次结构:构件组织成一个层次结构,每层为上一层提供服务,使用下一层的服务,只能见到与自己邻接的层。

3、 独立构件风格
进程通信:构件是独立的过程,连接件是消息传递。特点是构件通常是命名过程,消息传递的方式可以是点到点、异步或同步方式,及远程过程(方法)调用
事件驱动的系统:构件不直接调用一个过程,而是触发或广播一个或多个事件。构件中的过程在一个或多个事件中注册,当一个事件被触发,系统自动调用在这个事件中注册的所有过程。

4、 虚拟机风格
解释器:一个解释器通常包括完成解释工作的解释引擎,一个包含将被解释的代码的存储区,一个记录解释引擎当前工作状态的数据结构,以及一个记录源代码被解释执行的进度的数据结构。
基于规则的系统:包括规则集、规则解释器、规则/数据选择器及工作内存。

5、 仓库风格
数据库系统:主要有两大类,一个是中央共享数据源,保存当前系统的数据状态;另一个是多个独立处理元素,处理元素对数据元素进行操作。
黑板系统:是一个全局数据库,包含解域的全部状态,是知识源互相作用的唯一媒介。
超文本系统:是一种非线性的网状信息组织方法,以节点为基本单位,链作为节点之间的联想式关联。

6、 复制风格

复制仓库:通过利用多个进程提供相同的服务,来改善数据的可访问 性(accessibility of data)和服务的可伸缩性(scalability of service)。
缓存:复制个别请求的结果,以便可以被后面的请求重用。
控制环路架构风格:将过程输出的指定属性维护在一个特定的参考值。
企业服务总线(ESB):是传统中间件技术与XML、Web服务等技术结合的产物,主要支持异构系统集成。ESB基于内容的路由和过滤,具备复杂数据的传输能力,并可以提供一系列的标准接口。

ESB的主要功能:

1、 应用程序的位置透明性
2、 输出协议转换
3、 消息格式转换
4、 消息路由
5、 消息增强
6、 安全支持
7、 监控和管理

设计模式

创建模式:主要用于创建对象,为设计类实例化新对象提供指南

包括:工厂方法(Factory Method)、抽象工厂(Abstract Factory)、单例(Singleton)、构建(Builder)、原型(Prototype)

结构模式:主要用于处理类或对象的组合,对类如何设计以形成更大的结构提供指南

包括:适配器(Adapter)、合成(Composite)、装饰(Decorator)、代理(Proxy)、享元(Flyweight)、门面(Facade)、桥接(Bridge)

行为模式:主要用于描述类或对象的交互以及职责的分配,对类之间交互以及分配责任的方式提供指南

包括:策略(Strategy)、模版方法(Template Method)、迭代器(Iterator)、责任链(Chain of Responsibility)、命令(Command)、备忘录(Mediator)、状态(State)、访问者(Visitor)、解释器(Interpreter)、调停者(Mediator)、观察者(Observer)

在这里插入图片描述

系统设计

数据流图:作为一种图形化工具,用来说明业务处理过程、系统边界内所包含的功能和系统中的数据流;
流程图:以图形化的方式展示应用程序从数据输入开始到获得输出为止的逻辑过程,描述处理过程的控制流;
JRP(联合需求分析会议):通过召开一系列高度结构化的分组会议,快速的分析问题、定义需求;

软件系统建模

用例建模:描述参与者和系统之间的主要交互;用例建模可以描述利益相关者所看到的系统行为;
组件建模:确定系统的子系统、模块和组件结构,为子系统、模块分配需求和职责,每个组建元素作为一个自包含的单元,用于开发、部署和执行。
服务建模:提供了通用的应用程序,并将应用程序定义为一组抽象服务接口。
性能建模:是对系统的性能进行度量,为每个组件确定性能指标。包括执行时间、资源使用、开发复杂性、维护复杂性等。

系统的可靠性分析与设计

冷备份:在数据库关闭的情况下,对数据库中的关键文件进行

热备份:在数据库运行的情况下,对数据库中的关键数据进行备份,要求数据库管理系统提供支持

系统安全性和保密性设计

信息系统的安全威胁来自于:

1、 物理环境:对系统所用设备的威胁,如:自然灾害,电源故障,数据库故障,设备被盗等造成数据丢失或者信息泄露
2、 通信链路:传输线路上安装窃听装置或者对通信链路进行干扰
3、 网络系统:由于因特网的开放性、国际性、无安全管理性,对内部网络形成严重的安全威胁
4、 操作系统:操作系统本身的后门或者安全缺陷,如木马和陷阱门
5、 应用系统:网络服务或者用户业务系统安全的威胁,包括应用系统自身漏洞
6、 管理:人员管理和各种安全管理制度

用户认证方式:

1、 用户名和口令认证
2、 基于公钥、签名的认证方式
3、 持卡认证方式
4、 基于人体生物特征的别认证方式

对称加密策略:

机密性:发送者利用对称密钥对要发送的数据进行加密,只有拥有相同密钥的接收者才能正确解密,从而提供机密性;

完整性:发送者根据要发送的数据生成消息摘要,利用对称密钥对消息认证进行加密并附加到数据上发送;接收者使用相同的密钥将对方发送的消息认证码解密,并根据接收到的数据重新生成消息认证码,比较两个认证码是否相同以验证数据的完整性

公钥加密策略:

机密性:发送者利用接受者的公钥对要发送的数据进行加密,只有拥有对应私钥的接收者才能将数据正确解密,从而提供机密性

完整性:发送者根据要发送的数据生成消息摘要,利用自己的私钥对消息认证码加密并且附加到数据上发送;接收者利用对方的公钥将对方发送的消息认证码解密,并根据接收到的数据重新生成消息认证码,比较两个认证码是否相同以验证数据完整性

2、优点缺点类

系统设计

区别数据流图流程图
处理过程可以并行某个时间点只能处于一个处理过程
展现系统的数据流展现系统的控制流
展现全局的处理过程,过程之间计时标准不同处理过程遵循一致的计时标准
适用于系统分析中的逻辑建模阶段适用于系统设计中的物理建模阶段
传统系统集成方案基于Web2.0的Mashup技术
需要传统平台API层的支持,集成过程复杂仅需要用现有的Web应用程序公开的基于Web的API(Web服务)构建应用程序,集成过程简单
需要采用编程的方式完成系统功能扩展,设计数据存储层、业务逻辑层和表现层直接使用Mashup技术集成两个或者多个WebAPI,创建新的特性与功能
传统集成方式下的表现层大多采用静态展现技术,当客户端发送请求时,需要刷新整个页面用Ajax技术调用基于Web的API,浏览器客户端不需要在每次与服务器通行时重新加载整个页面,动态特性强
使用传统的多层企业应用集成技术,涉及不同的集成层次采用SOA思想集成底层系统,强调功能暴露与服务,以服务形式集成并暴露有系统的能力

软件系统建模

分布式系统设计

分布式数据库的特点有:数据独立性与位置透明性。集中管理和节点自治相结合、支持全局数据库的一致性和可恢复性、复制透明性(适度数据冗余)、易于扩展性。

分布式数据库的优点:

1、 具有灵活的体系结
2、 适应分布式的管理和控制结构
3、 经济性能优越
4、 系统可靠性高,可用性好
5、 局部应用的响应速度快
6、 可扩展性好,易于集成现有系统

缺点:

1、 系统开销大,主要花在通信部分
2、 复杂的存储结构
3、 数据的安全性和保密性较难处理
4、 保持数据一致性算法复杂

分布式数据库中各局部数据库应该满足集中式数据库的基本需求,除此之外还应保证数据库的全局数据一致性,并发操作可串行性,故障的全局可恢复性;

保证方法:
一致性:数据副本一致性,保证分布式事务的ACID属性,故障恢复的一致性

嵌入式系统设计

系统的可靠性分析与设计

备份方式优点缺点
冷备份快速简单,维护方便备份时,数据库关闭,不能做其他工作
可以恢复到备份时的时间点上单独使用时,只能恢复到备份时的时间点上,数据丢失
与热备份相结合,实现实时/秒级恢复不能按数据库中的表或某个用户进行恢复
热备份备份时数据库仍然可用如果热备份出错,所得结果不能用于时间点的恢复
可以实现实时/秒级恢复不能出错,否则可能会引起数据库无法恢复
可对几乎所有数据库实体做恢复,速度快维护比较困难

系统安全性和保密性设计

3、原则类

系统设计

高质量数据流图设计原则:

1、 复杂性最小化原则:DFD分层结构就是把信息划分为晓得且相对独立的一大批子集例子,这样就可以单独考查每一个DFD;

2、 接口最小化原则:在设计模式时,模型中各个元素之间的接口数或者连接数最小化;

3、 数据流一致性原则:过程与过程分解数据流一致,有数据流出就有数据流入;数据流入需要有相应的数据加工;

👉其他

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

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

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

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

相关文章

Linux串口编程

文章目录 前言一、Linux下的TTY体系介绍二、行规层三、Linux串口编程步骤四、代码编写总结 前言 本篇文章将讲解如何在Linux下使用串口。 一、Linux下的TTY体系介绍 在Linux系统中,tty(Teletypewriter)是指一种终端设备,它提供…

Fiddler之Replay功能详解

今天就先来看看Fiddler的功能。 Fiddler,最容易看到的就是快捷工具栏中的 Replay 按钮 解释下: Reissue the selected requests. 重发选中的请求Hold CTRL to reissue unconditionallly. 选中请求按住 CTRL 键,点击Replay时无条件重发选中…

【MySQL函数】:让你的数据库操作更高效(一)

前言 ✨欢迎来到小K的MySQL专栏,本节将为大家带来MySQL字符串函数和数学函数的讲解✨ 目录 前言一、字符串函数二、数学函数三、总结 一、字符串函数 函数作用UPPER(列|字符串)将字符串每个字符转为大写LOWER(列|字符串)将字符串每个字符转为小写CONCAT(str1,str2,…

CSS的学习2

这几天复习了英语,高数,也考完四级了。 这两天开始写了课设的项目,选的是捷住宝,我打算用链表和搜索树。写着写着总是出问题,然后改Bug。还差删除信息和文件操作,还是尽量写好一些。 明天考英语&#xff…

TX-1C单片机实现多功能电子时钟

实验报告 电子时钟实验 一、实验要求:二、实验结果三、实验思路(一)模块整理(二)流程图绘制(三)C51编程 四、实验总结(一)未完成的部分(二)待优化…

layui框架实战案例(22):多附件上传实战开发实录(php后端、文件删除、数据库删除)

layUI框架实战案例系列文章 layui框架实战案例(21):layui上传的哪些事(layui.upload组件、 file文件域、php后台上传)layui框架实战案例(20):常用条件判断和信息展示技巧(图片预览、动态表格、短信已读未读、链接分享、信息脱敏、内置框架页)layui框架实…

【Spring Cloud系列】-Eureka服务端高可用详解

【Spring Cloud系列】-Eureka服务端高可用详解 文章目录 【Spring Cloud系列】-Eureka服务端高可用详解一. 序言二. 什么是高可用性三. 什么是CAP一致性(Consistency)可用性(Availability)分区容错(Partition-toleranc…

2.8 基于DPDK的UDP用户态协议栈实现

目录 一、网络协议栈1、**网络通信过程**2、**dpdk** 二、dpdk环境1、dpdk环境开启2、Windowe下配置IP和MAC地址的映射 三、实现用户态协议栈ustack1、UDP协议2、代码 四、dpdk一些基本函数接口rte_eal_init()rte_pktmbuf_pool_create()rte_socket_id()rte_eth_dev_configure()…

Java连接MySQL对数据实现增删改查

在实现好的窗口实现 添加修改删除查询数据的方法 以如下数据实验 statement自带的函数使用说明execute (SQL)执行给定的SQL语句返回一个或多个结果结果集 execute方法应该仅在语句能返回多个ResultSet对象、多个更新计数或ResultSet对象与更新计数的组…

Verilog | 基4 booth乘法器

上接乘法器介绍 原理 跟基2的算法一样,假设A和B是乘数和被乘数,且有: A ( a 2 n 1 a 2 n ) a 2 n − 1 a 2 n − 2 … a 1 a 0 ( a − 1 ) B b 2 n − 1 b 2 n − 2 … b 1 b 0 \begin{align}A&(a_{2n1}a_{2n})a_{2n−1}a_{2n−2}……

安卓期末考试知识总结(3)

文章目录 第五章 数据存储文件存储(非重点)内部存储获取或者打开目录操作文件 外部存储区 SharedPreferences存储写入Shared Preferences读取数据 SQLite数据库SQLite数据库的创建操作数据库数据Curosr数据库的事务 第五章 数据存储 简述Android数据存储的方式 Android平台提供…

FreeRTOS:任务通知

目录 一、任务通知简介二、发送任务通知2.1 函数xTaskNotify()2.2函数xTaskNotifyFromISR()2.3函数xTaskNotifyGive()2.4函数vTaskNotifyGiveFromISR()2.5函数xTaskNotifyAndQuery()2.6函数xTaskNotifyAndQueryFromISR() 三、获取任务通知3.1函数ulTaskNotifyTake()3.2函数xTas…

[进阶]Java:打印流、Properties、common-io框架

打印流: 作用:打印流可以实现方便、高效的打印数据到文件中去。打印流一般是:PrintStream,PrintWriter两个类。可以实现打印什么数据就是什么数据,例如打印整数97写出去就是97,打印boolean的true&#xff…

chatgpt赋能python:Python截取某段文字的方法

Python截取某段文字的方法 在处理文本数据时,截取某段文字是常见需求。Python作为一门优秀的脚本语言,提供了多种方法来完成这个任务。本篇文章将介绍Python截取某段文字的几种方便易用的方法。 方法一:使用切片 Python中的切片操作可以方…

JavaScript的一些编程题分享

将字符串abc-def-ghi转换为驼峰格式 这里我们的思路是利用字符串方法和正则表达式 const str abc-def-ghi;const camelCaseStr str.replace(/[-_][^-_]/g, match > match.charAt(1).toUpperCase());console.log(camelCaseStr); // abcDefGhi 这里使用了 replace 方法&a…

haproxy

haproxy haproxy一:常见的Web集群调度器1.软件2.硬件3.LVS ,Nginx ,Haproxy 的区别: 二:Haproxy应用分析1.HAProxy的主要特性有:2.HAProxy负载均衡策略非常多,常见的有如下8种: 三&a…

MySQL8.0数据库开窗函数

简介 数据库开窗函数是一种在SQL中使用的函数,它可以用来对结果集中的数据进行分组和排序,以便更好地分析和处理数据。开窗函数与聚合函数不同,它不会将多行数据聚合成一行,而是保留每一行数据,并对其进行分组和排序。…

Linux中/dev/random和/dev/urandom的作用

1./dev/random和/dev/urandom介绍 在Linux环境中,我们会用到/dev/random和/dev/urandom,今天为大家讲讲/dev/random和/dev/urandom的作用以及使用场景。 1.1./dev/random介绍 /dev/random是一个特殊的字符设备文件,用于生成“高质量”的随…

Python面向对象编程1-面向过程的简单纸牌游戏程序 项目1.1 定义纸牌的花色和点数

总项目目标:用面向过程思想设计一个简单的纸牌游戏程序,称为"Higher or Lower"(高还是低)。游戏中,玩家需要猜测接下来的一张牌是比当前牌高还是低。根据猜测的准确性,玩家可以得到或失去相应的积…

Unity UGUI1——基础组件概述

一、UGUI 介绍 ​ UGUI 是 Unity 引擎内自带的 UI 系统,官方称之为:Unity UI ​ 是目前 Unity 商业游戏开发中使用最广泛的 UI 系统开发解决方案 ​ 它是基于 Unity 游戏对象的 UI 系统,只能用来做游戏 UI 功能 ​ 不能用于开发 Unity 编…