2024年软件系统架构师最全核心资料思维导图
2024-05-20 20:54:26 4 举报
AI智能生成
2024年软件高级系统架构师最全资料思维导图
作者其他创作
大纲/内容
论文和核心概念
架构评估
架构权衡分析方法ATAM
四个阶段
描述和介绍
调查和分析
测试
报告
质量属性7个
效用树
可用性
安全性
可修改性
性能
可测试性
可靠性
易用性
基于场景的架构分析方法SAAM
基于成本效益的架构分析方法CBAM
其他
云原生架构
原则
服务化原则
弹性原则
子主题
可观测原则
韧性原则
自动化原则
零信任原则
架构模式
服务化架构模式
微服务
小服务
无服务化架构
分布式架构
事件驱动架构
基于架构的软件设计
开发阶段:6个阶段
架构需求
架构设计
架构文档化
架构规格说明书
测试架构质量设计说明书
架构复审
架构实现
架构演化
需求阶段
需求获取
标识构件
需求评审
层次式架构设计理论与实践
层次式体系结构
分层式体系结构
表现层框架设计
表现层设计模式
MVC
MVP
MVVM模式
表现层中UIP设计思想
表现层动态生成设计思想
中间层框架设计
业务逻辑层组件设计
业务逻辑层工作流设计
业务逻辑层实体设计
业务逻辑层框架
数据访问层设计
5种数据访问模式
工厂模式在数据访问层应用
事务处理设计
ORM、Hibernate与CMP2.0设计思想
连接对象管理设计
物联网层次架构设计
感知层
网络层
应用层
安全架构设计理论与实践
安全架构概述
安全威胁方面
物理安全威胁
通信链路安全威胁
网络安全威胁
操作系统安全威胁
应用系统安全威胁
管理系统安全威胁
常见安全威胁
安全防线
产品安全架构
安全技术体系架构
审计架构
安全模型
模型分类
模型类型
状态机模型
Bell-LaPadula模型
Biba模型
Clark-Wilson模型
Chinese Wall模型
系统安全体系架构规划框架
安全技术体系架构
信息系统安全体系规划
信息系统安全规划框架
信息安全整体架构设计
信息安全体系架构模型(WPDRRC模型)
预警
保护
检测
响应
恢复
反击
信息安全体系架构设计
1.系统安全保障体系
2.信息安全体系架构
网络安全体系架构设计
鉴别
访问控制框架
机密性框架
完整性框架
抗抵赖框架
数据库系统的安全设计
数据库完整性的作用
系统架构的脆弱性分析
软件脆弱性生命周期
引入阶段
产生破坏效果阶段
修补阶段
软件脆弱性分析考虑方面
典型软件架构的脆弱性分析
C/S 架构的脆弱性
B/S 架构的脆弱性
事件驱动架构的脆弱性
MVC架构的脆弱性
微内核架构的脆弱性
微服务架构的脆弱性
大数据架构设计理论与实践
大数据处理系统架构分析
大数据处理系统面临挑战
大数据处理系统架构特征
Lambda架构
Lambda架构应用场景
机器学习中的Lambda架构
物联网的 Lambda架构
流处理和Lambda架构挑战
Lambda架构介绍
批处理层
加速层
服务层
Lambda架构的实现
Lambda架构优缺点
Kappa架构
Kappa架构介绍
Kappa架构的实现
Kappa架构的优缺点
Kappa+
Lambda架构与Kappa架构的对比和设计选择
Lambda架构与Kappa架构的特性对比
Lambda架构与Kappa架构的设计选择
系统质量属性与架构评估
软件系统质量属性
开发期质量属性
运行期质量属性
面向软件架构评估的质量属性(质量属性效用树)
性能
可靠性
MTTF
MTBF
MTTR
可用性
安全性
可修改性
功能性
可变性
互操作性
软件系统的质量属性
组成
刺激源
刺激
环境
制品
响应
响应度量
软件架构评估
三种常用的软件架构评估方式
基于调查问卷(检查表)的方式
基于度量的方式
基于场景的方式
软件架构评估方法
基于场景的架构分析方法SAAM评估方法
方法活动
架构权衡分析方法ATAM评估方法
ATAM方法采用质量效用树
成本效益分析法CBAM评估方法
其他评估方法
SAEM方法
SAABNet 方法
SACMM方法
SASAM方法
ALRRA方法
AHP方法
COSMIC+UML方法
硬件
中央处理器 CPU
CPU功能
程序控制
时间控制
操作控制
数据处理
CPU组成
运算器(数据加工、算术运算、逻辑运算)
算术逻辑单元ALU
累加器
状态条件寄存器
缓冲寄存器
控制器(保证指令执行、处理异常事件)
指令寄存器
程序计数器
地址寄存器
指令译码器
寄存器组(保存程序的中间结果)
总线
数据表示
校验码
奇偶校验码
循环冗余校验码CRC
算检测码案例
算是否有误码案例
海明码
原码、反码、补码
原码
反码
补码
存储器层次结构
结构图
高速缓存cache
Cache对程序员来说是透明的
设置多级高速缓存Cache以提高命中率(访问主存的效率)
Cache位于CPU与主存之间
Cache对程序员来说是透明的
设置多级高速缓存Cache以提高命中率(访问主存的效率)
地址映像和冲突率
直接相连
全相连
组相连
习题
cache淘汰算法
近期最少使用算法LRU(LeastRecently Used)
随机替换算法RAND(Randon)
先进先出算法FIFO(FirstinFirstout)
近期最少使用算法LRU(LeastRecently Used)
最不频繁使用算法LFU(LeastFrequently Used)
优化替换算法
cache读写过程
写直达:同时写Cache与内存
写回:只写Cache,淘汰页面时,写回内存
标记法:只写入内存,并将标志位清零,若用到此数据,只需要再次调取
计算机基础
CISC与RISC
子主题
输入输出技术
直接程序控制
分为无条件传送和程序查询方式
降低了CPU的效率
对外部的突发事件无法做出实时响应
程序中断方式
利用中断方式完成数据的输入/输出
CPU接到中断请求信号后,保存正在执行程序的现场
与程序控制方式相比,因为CPU无须等待而提高了效率
DMA
在主存与I/0设备(外设)之间建立数据通路进行数据的交换处理
在DMA传送过程中无须CPU的干预
DMA传送数据时要占用系统总线,此时,CPU不能使用总线
输入/输出处理机(IOP)
分担了CPU的一部分功能,可以实现对外围设备的统一管理,完成外围设备与主存之间的数据传送
大大提高了CPU的工作效率,这种效率的提高是以增加更多的硬件为代价的
大大提高了CPU的工作效率,这种效率的提高是以增加更多的硬件为代价的
磁盘
执行顺序:先移臂,再旋转磁道
组成
磁头
磁臂
磁面
磁柱
磁道
扇区
示意图
读写时间
流水线
结构图
子主题
流水线执行时间计算公式
理论公式:(t1+t2+...+ty)+(n-1)*t
实践公式:K*t+(n-1)*t
流水线周期
执行时间最长的一段
吞吐率
子主题
加速比
子主题
习题
子主题
CPU结构
冯诺依曼结构
哈弗结构
子主题
总线
串行、并行
串行总线
适合长距离传输使用
并行总线
适合短距离传输使用
单工、双工
单工
只能传一个方向,不能更改
半双工
可以切换方向的单工
全双工
双向传输
数据类型
数据总线
数据总线(DataBus,DB):在CPU与RAM之间来回传送需要处理或是需要储存的数据。
地址总线
地址总线(AddressBus,AB):用来指定在RAM(Random Access MMemory)之中储存的数据的地址
控制总线
控制总线(Control Bus,CB):将微处理器控制单元(ControlUnit)的信号,传送到周边设备。
密码学
对称加密
DES
56位
3DES
112位
ASE
IDEA
PGP
非对称加密
RSA
DSA
ECC
hash(摘要算法)
MD5
SHA1
SHA256
数字签名
采用非对称加密
防止抵赖
防止篡改
系统可靠度
串联
假设一个系统由N个子系统组成,当且仅当所有的子系统都能正常工作时系统才能正常
工作,这种系统称为串联系统。
工作,这种系统称为串联系统。
R=R1*R2*...RN
并联
假如一个系统由N个子系统组成,只要有一个子系统正常工作,系统就能正常工作,这
样的系统称为并联系统。
样的系统称为并联系统。
R = 1- (1- R1) (1-R2) ... (1- RN)
习题
软件工程
软件工程概述
系统文档分类
用户文档
系统文档
软件工具
开发工具
需求分析工具、设计工具、编码与排错工具、测试工具等
维护工具
版本控制工具、文档分析工具、开发信息库库工具、逆向工程工具、再工程工具
软件管理和支持工具
项目管理工具、配置管理工具、软件评价工具、软件开发工具的评价和选择
软件设计
数据设计
架构(体系结构)设计
人机界面(接口)设计
过程(功能)设计
软件成熟度模型
CMM
子主题
CMMI
阶段性模型
子主题
连续性模型
软件过程模型
瀑布模型
瀑布模型(SDLC):瀑布模型是一个经典的软件生命周
期模型,一般将软件开发分为:可行性分析(计划)、
需求分析、软件设计(概要设计、详细设计)、编码、
测试、运行维护等几个阶段.
期模型,一般将软件开发分为:可行性分析(计划)、
需求分析、软件设计(概要设计、详细设计)、编码、
测试、运行维护等几个阶段.
子主题
原型化模型
快速原型
适合需求不明确的情况
螺旋模型
风险分析
适合庞大复杂高风险的系统
V模型
适合需求明确
适合变更不频繁
强调测试
增量模型
首先开发核心功能
增量发布
喷泉模型
需求为动力
对象为驱动
适合面向对象开发方法
基于构件的开发模型CBSD
快速开发模型
构件来构造系统
增强复用性
形式化模型
严格的数学基础
敏捷模型
特点
是"适应性"而非"预设性"
是"面向人的"而非"面向过程的".
核心思想
敏捷方法是适应型,而非可预测型.拥抱变化,适应变化.
敏捷方法是以人为本,而非以过程为本.发挥人的特性.
迭代增量式的开发过程.以原型开发思想为基础,采用法
代增量式开发,发行版本小型化。
代增量式开发,发行版本小型化。
开发方法
极限编程
水晶法
并列争球法scrum
特性驱动开发FDD
统一过程模型RUP
9个工作流
业务建模
需求
分析与设计
实现
测试
部署
配置与变更管理
项目管理
四个循环
初始阶段
细化阶段
构造阶段
移交阶段
4+1视图
逻辑视图
实现视图
进程视图
部署视图
图
逆向工程
四个级别
实现级
实现级:包括程序的抽象语法树、符号表、过程的设计表示。
结构级
结构级:包括反映程序分量之间相互依赖关系的信息,例如调周用图、结构图、程序和数据结构
结构级:包括反映程序分量之间相互依赖关系的信息,例如调周用图、结构图、程序和数据结构
功能级
功能级:包括反映程序段功能及程序段之间关系的信息,例如和数据和控制流模型
领域级
领域级:包括反映程序分量或程序诸实体与应用领域概念之间对应关系的信息,例如E-R模型
其中,领域级抽象级别最高,完备性(完整)最低,实现级抽象级别最低,完备性最高
其中,领域级抽象级别最高,完备性(完整)最低,实现级抽象级别最低,完备性最高
四个概念
重构
设计恢复
正向工程
改变系统性能
再工程
重新开发
需求工程
分类
用户需求
业务需求
系统需求
功能需求
非功能需求
设计约束
需求获取
用户访谈
问卷调查
采样
情节串烧
联合需求计划
需求记录技术
习题
需求分析
结构化需求分析
三大模型
行为模型(状态转换图STD)
功能模型(数据流图DFD)
数据模型(ER图)
数据字典
图
数据流图DFD
数据流
加工
数据存储
外部实体
ER图
状态转换图
系统设计
表示工具
程序流程图PFD
子主题
IPO图
N-S图
问题分析图PAD
系统设计方法
结构化设计方法
面向对象设计方法
设计内容
概要设计
详细设计
人机界面原则
置于用户控制之下
减少用户的记忆负担
保持界面的一致性
基本原理
抽象、模块化、信息隐蔽、模块独立(高内聚和低耦合)
内聚
耦合
设计原则
保持模块的大小适中:
尽可能减少调用的深度:
多扇人,少扇出:
单人口,单出口:
模块的作用域应该在模块之内:
功能应该是可预测的:
测试基础知识
测试方法
静态测试
桌前检查
代码审查
代码走查
动态测试
黑合测试
测试用例
等价值划分
边界值划分
错误推断
因果图
白盒测试
测试用例
语句覆盖SC:
判定覆盖DC:
条件覆盖CC:
条件判定组合覆盖CDC:
路径覆盖:
覆盖层级最高
测试阶段
单元测试
集成测试
系统测试
测试阶段
回归测试
确认测试
调试
方法
蛮力法
回溯法(从出错的地方开始,向回找)
原因排除法
McCabe度量法:又称为环路复杂度
假设有向图中有向边数为m,节点数为n,则此有向图的环路复杂
度为m-n+2.
度为m-n+2.
习题
系统运行维护
基于构件的软件开发(CBSE)
一种分布式对象技术
强调购买而不是重新构造
特征
可部署性
可组装性
文档化
标准化
独立性
6个活动
净室软件工程
操作系统
分类
批处理操作系统
分时操作系统(轮流使用CPUJ作片)
实时操作系统(快速响应)
网络操作系统
分布式操作系统(物理分散的计算机互联系统)
微机操作系统(Windows)
嵌入式操作系统
实时嵌入式操作系统的内核服务:异常和中断、计时器、I/O管理
常见的嵌入式RTOS(实时操作系统):VxWorks、RT-Linux、QNXpsos.
嵌入式系统初始化过程按照自底向上、从硬件到软件的次序依次为:芯片级初始化->板卡级初始化->系统级初始化.
芯片级是微处理器的初始化,板卡级是其他硬件设备初始化,系统级初始化就是软件及操作系统初始化
芯片级是微处理器的初始化,板卡级是其他硬件设备初始化,系统级初始化就是软件及操作系统初始化
进程
组成
控制块
程序
数据
三态
停止
就绪
运行
三态图
图
三态图
前驱图
进程资源图
同步互斥
信号量
P操作
V操作
试题
存储管理
页式存储
逻辑地址
物理地址
示意图
优点
利用率高、碎片小(只在最后一个页中有)、分配及管理简单。
快点
增加了系统开销,可能产生抖动现象。
习题(选B)
页面置换算法
最优算法OPT
理论上的算法,无法实现,是在进程执行完后后进行的最佳效率计算,用来让其他算法比较差距,原理是选择未来最长时间内不被访问的页了面置换,这样可以保证未来执行的都
是马上要访问的。
是马上要访问的。
先进先出算法:FIFO
先调人内存的页先被置换淘汰,会产生抖动现象,即分配的页数越多,缺
页率可能越多(即效率越低)
页率可能越多(即效率越低)
最近最少使用:LRU
在最近的过去,进程执行过程中,过去最少使用的页面被置换淘汰,根据
局部性原理,这种方式效率高,且不会产生抖动现象,
局部性原理,这种方式效率高,且不会产生抖动现象,
习题
快表
段式存储
子主题
段号
段内地址
段页存储
子主题
文件结构
习题
计算机网络
网络模型与协议
功能与分类
性能指标
非性能指标
功能
拓扑结构
子主题
模型
子主题
OSI七层
网络层与相关设备
协议
网络层协议
IP
网络层最重要的核心协议,在源地址和目的地址之间传送数据报,无连接、不可靠。它将差错检测和流量控制制
之类的服务授权给了其他的各层协议,这正是TCP/IP能够高效效率工作的一个重要保证。网络层的功能主要由IP来
提供,除了提供端到端的分组分发功能外,IP还提供很多扩充功能。例如,为了克服数据链路层对帧大小的限制,
网络层提供了数据分块和重组功能,这使得很大的IP数据包能以较小的分组在网络上传输。
之类的服务授权给了其他的各层协议,这正是TCP/IP能够高效效率工作的一个重要保证。网络层的功能主要由IP来
提供,除了提供端到端的分组分发功能外,IP还提供很多扩充功能。例如,为了克服数据链路层对帧大小的限制,
网络层提供了数据分块和重组功能,这使得很大的IP数据包能以较小的分组在网络上传输。
ICMP
ICMP(Internet Control Message Protocol,网际控制报文协议):因特网控制报文协议,用于在IP主机、路由器
之间传递控制消息。控制消息是指网络通不通、主机是否可达、路由是否可用等网络本身的消息。
之间传递控制消息。控制消息是指网络通不通、主机是否可达、路由是否可用等网络本身的消息。
ARP\RARP
ARP(Address Resolution Protocol,地址解析协议)和RARP(Reeverse Address Resolution Protocol,反向地址解
析协议):地址解析协议ARP是将IP地址转换为物理地址;R/ARP是将物理地址转换为IP地址。
析协议):地址解析协议ARP是将IP地址转换为物理地址;R/ARP是将物理地址转换为IP地址。
IGMP
IGMP(Internet Group Management Protocol,网际组管理协议):网络组管理协议,允许因特网中的计算机参加
多播,是计算机用做向相邻多目路由器报告多目组成员的协议,支持组播。
多播,是计算机用做向相邻多目路由器报告多目组成员的协议,支持组播。
传输层协议
TCP
TCP:是整个TCP/IP协议族中最重要的协议之一,它在IP协议提供的不可靠数据服务的基础上,采用了重发技术,
为应用程序提供了一个可靠的、面向连接的、全双工的数据传偷服务。TCP协议一般用于传输数据量比较少,且对
可靠性要求高的场合。
为应用程序提供了一个可靠的、面向连接的、全双工的数据传偷服务。TCP协议一般用于传输数据量比较少,且对
可靠性要求高的场合。
UDP
UDP:是一种不可靠的、无连接的协议,可以保证应用程序进程间的通信,与TCP相比,它的错误检测功能要弱得多多。
可以这样说,TCP有助于提供可靠性,而UDP则有助于提高传输速率。UDP协议一般用于传输数据量大,对可拿靠
性要求不是很高,但要求速度快的场合。
黄娜-知乎知学堂
可以这样说,TCP有助于提供可靠性,而UDP则有助于提高传输速率。UDP协议一般用于传输数据量大,对可拿靠
性要求不是很高,但要求速度快的场合。
黄娜-知乎知学堂
应用层协议
FTP
HTTP
SMTP\POP3
TELNET
SNMP
DHCP
DNS
IP地址和子网
IP地址
主机号
网络号
子主题
子网和子网掩码
子网掩码
子网号可以为全0和全1,主机号不能为全0或全1,因此,主机数需要-2,而子网数不用
IPv6
域名
dns查询
递归查询
迭代查询
习题
综合布线系统
工作区子系统
实现工作区终端设备到水平子系统的信息息插座之间的互联。
水平子系统
实现信息插座和管理子系统之间、工作区子系统和干线子系统之间的连接。
设备间子系统
实现中央主配线架与各种不同设备之间的连接亲。
垂直干线子系统
实现各楼层设备间子系统之间的互连
管理子系统
管理子系统:连接各楼层水平布线子系统和垂直干缆线,负责
连接控制其他子系统为连接其他子系统提供连接手段。
连接控制其他子系统为连接其他子系统提供连接手段。
建筑群子系统
各个建筑物通信系统之间的互联。
示意图
习题
网络规划与设计
接入层
接入层还应当适当负责一些用户管理功能(如地址认证、用户认证、计费管理等),
以及用户信息收集工作(如用户的IP地址、MAC地址、访问日志等)。
以及用户信息收集工作(如用户的IP地址、MAC地址、访问日志等)。
汇聚层
核心层
面向对象
概念
对象
类
实体类
接口类
控制类
特性
抽象
封装
继承
多态
UML
基本构造块
事物(对模型中最具有代表性的成分的抽象良)
关系(把事务结合在一起)
图
(聚集了相关的事物)
(聚集了相关的事物)
四种事物
结构事物
模型的静态部分,如类、平知事
接口、用例、构件等;如右图示例:
接口、用例、构件等;如右图示例:
子主题
行为事物
模型的动态部分,如交互、活动、状态机
子主题
分组事物
模型的组织部分,如包;
注释事物
模型的解释部分,依附于一个元素或一组元素之上对其进行约束或解释的简单符号.
关系
关联
组合
强组成关系
聚合
弱组成关系
依赖
泛化
子类和父类的关系
实现
子主题
图
动态图
活动图
子主题
状态图
子主题
通信图(协作图)
子主题
序列图
子主题
静态图
部署图
静态图,为系统静态部署视图,部署图描述的事物理模块的节点分布
子主题
构件图
子主题
为系统静态实现视图,展现了一组构件之间的组织和依赖.
用例图
关系
包含
扩展
泛化
子主题
对象图
类图
设计模式
创建型5个(口诀:单抽元件厂)
单例模式
工厂模式
抽象工厂模式
原型模式
构建器模式
结构型7个(口诀:外侨组元带适配)
外观模式
桥接模式
组合模式
享元模式
代理模式
装饰器模式
适配器模式
行为型11个(口诀:多次命令,责备中,车模见状。方解释)
习题
子主题
子主题
企业应用系统集成
数据集成
应用集成
界面集成
软件可靠性
软件可靠性基本概念
软件可靠性定义
串并联系统可靠性
串联系统
并联系统
软件可靠性的定量描述
规定时间
失效概率
可靠度
失效强度
平均失效前时间(MTTF)
平均恢复前时间(MTTR)
平均故障间隔时间(MTBF)
可靠性测试的意义
广义的软件可靠性测试
狭义的软件可靠性测试
软件可靠性建模
影响软件可靠性的因素
软件可靠性的建模方法
软件的可靠性模型分类
软件可靠性管理
软件可靠性设计
软件可靠性设计原则
软件可靠性设计技术
容错设计
N版本程序设计
恢复块方法设计(动态冗余)
防卫式程序设计
双机容错技术
集群技术
负载均衡技术
检错设计
降低复杂度设计
软件可靠性测试和评价
软件可靠性测试
软件可靠性评价
0 条评论
下一页