软考《系统架构设计师教程》读书笔记/(2)进阶知识点瞰视

5 阅读17分钟

致力于成为架构师的你,下面是由初级到高级的知识点清单;​以便你能迅速掌握其概要精髓,了解自己的不足,进而有的放矢。

架构师对于整体的把握是非常全面的, 软硬兼施,文理并重。结合我们的工作,这里相对 弱化了 嵌入式,网络,安全的相关内容。

祝各位从入门到放弃的打怪中,能够走的远一些♪♪♪

 软件 设计师系统 分析师系统 架构师备注
通用理论知识计算机系统基础知识数据的表示及运算 数,非数值,二进制,逻辑代数
其他数学基础知识 常用数,排列组合,概率,统计分析;编码基础;逻辑;运筹
硬件 CPU,存储,总线,接口,外设
三类主流存储技术:直连式存储(DAS),例如:硬盘;​网络附加存储(NAS),例如:NFS或CIFS系统;​存储区域网络(SAN)
Internet网络接入技术:有线(电话拨号PSTN,​ISDN,ADSL,光纤FTTx,有线电视HFC);有线(​3~5G,WIFI)
软件数据结构与算法数组,链表,队列,栈,树,Hash表,等。  经典应用算法:排序,查找,数值计算,字符串处理,数据压缩,​递归,等。 
算法复杂度:O(1)常数阶<O(log2n)对数阶<O(n)​线性阶<O(nlog2n)线性对数阶<O(n2)平方阶<O(​n3)立方阶<O(2n)指数阶
操作系统7大分类;例如常用的 微型机(Windows,Linux,IOS)
数据库数据模型分类:关系型,非关系型;架构模型分类:单机,集群式,​分布式;部署模型:本地化部署,云化部署。
文件系统Windows,用NTFS,LinuxPC用ext4,​Linux工作站用XFS,U盘用exFAT;等
网络协议局域网(LAN),广域网(WAN),无线网,移动网;​互联网使用的是TCP/IP
中间件(Middleware)实现机制:RPC(远程过程调用) 同步,MOM(面向消息) 异步,ORB(请求代理) 
数据库连接(ODBC),微服务(gRPC),Web容器(​Tomcat),缓存(Redis),消息(RabbitMQ,​JMS),API网关(Kong),事务处理(Hadoop),​安全(F5)
软件构件(即、组件)J2EE,Spring等
应用软件MS Office系列,AutoCAD,Notepad等
嵌入式 
网络网络设备集线器,中继器,网桥,交换机,路由器,防火墙
性能指标速率,带宽,吞吐量,时延等
按覆盖区域分类局域网(LAN),无线局域网(WLAN),城域网(MAN),​广域网(WAN),移动通信网等
OSI七层模型,及TCP/IP协议集应用层(应用层,表示层,会话层),传输层,网络层,链路层(​数据链路层,物理层)
TCP/IP的应用层协议有:HTTP,FTP,SMTP,​Telent,DNA,SNMP等;传输层协议有:TCP,​UDP;网络层协议有:IP,ARP,ICMP,IGMP
网络设计网络拓扑图(星型,总线型,环形,树型,网状型)
计算机语言 机器语言;汇编语言;高级语言(C,Java等);建模语言(​UML,ER图,BPMN等);形式化语言(Z语言等)
多媒体关键技术视音频,通信,数据压缩,虚拟现实(VR)和增强现实(AR)
系统工程 7个生命周期阶段,4种生命周期方法。
系统性能 硬件性能包括:计算机(CPU,内存,IO),网络设备等;​软件性能包括:操作系统,数据库,应用程序等
性能指标及评估响应时间,吞吐量,CPU的周转时间(TAT)。​SPEC评估标准,TPC的Benchmark标准规范
性能设计与负载均衡(LB)由多台服务器构建集群;LB类型有:DNS,Proxy,​地址转换网关,重定向,NAT,反向代理
信息系统基础知识 5项功能,5大分类及递进关系,4种开发方法。
业务数据处理系统(TPS) 对企业局部业务(例如:财会,销售,物资,生产)的数据管理。
管理信息系统(MIS) 对企业内部的全局性的,各业务间的信息联系。
决策支持系统(DSS) 利用数据和模型去解决「半结构化或非结构化」决策问题的系统。
专家系统(ES) 模拟人类专家解决领域问题的人工智能系统。
办公自动化系统(OAS) 将计算机,声音图像识别,光电学,管理科学等,​应用于办公活动中;提高工作质量和效率
目前主要使用形式企业资源管理(ERP)管理公司的各类资源;处理进销存,供应链,生产计划,管理会计。
仓储管理(WMS)库房货位管理;进出库,盘点,等流程。
制造过程管理(MES)负责生产过程,生产工艺,生产设备,自动化生产。
产品数据管理(PDM)产品研发全过程管理;物料,BOM,工程变更数据,​以及协同研发。
电子政务面向政府,事业单位及部分央企国企
电子商务面向广大商业公司
信息安全基础知识,组成框架 5个要素,4个范围,3大体系;5级保障体系
信息加密,密钥管理 对称密钥加密,非对称密钥加密
访问控制,数字签名 编写控制策略;对文件的Hash值签名
抗攻击技术传统 拒绝服务攻击(DoS)消耗资源,破坏(或更改)配置信息,物理破坏或改变网络部件,​利用程序异常是服务失效。
分布式 拒绝服务攻击(DDoS)首先侵入并控制一些计算机,​然后控制这些计算机同时向特定目标发起DoS攻击。
ARP欺骗通过欺骗局域网内用户PC的网关MAC地址;具体表现为:​数据泄露,中间人攻击,DoS攻击。
DNS欺骗冒充域名服务器,把查询的IP地址设为攻击者的IP地址,​使用户打开伪网站
IP欺骗通过编程改变网络包的IP地址,导致 DoS攻击
端口扫描通过扫描Port,判断目标主机是什么操作系统,开放了哪些服务
同步包风暴(SYN Flooding)针对TCP/IP协议,应用最广泛的一种DoS攻击方式
ICMP攻击利用ICMP数据包的最大Size限制,达到使TCP/​IP堆栈奔溃,主机死机的效果。
SNMP攻击通过SNMP(网管软件),获取或修改网络设备参数。
系统漏洞扫描基于网络的扫描(DNS Bind漏洞等),基于主机的扫描(​需要在目标系统上安装Agent;虽可以扫描的漏洞多,​但SaaS服务对客户信息是不严谨的)
系统安全保护等级 ①用户自主(普通内网)<②系统审计(电子商务)<③安全标记(​电子政务)<④结构化(涉及国家安全的单位)<⑤访问验证(​隔离单位)
知识产权及归属权 软件著作权是指 计算机程序以及有关文档;有效期50年
软件工程软件开发过程模型瀑布模型(Waterfall Model)从上到下依次分为:需求分析,系统设计,程序设计,编码实现,​单元测试,集成测试,系统测试,运行维护
原型化模型(Prototype Model)在「需求分析」~「程序设计」的三个阶段,通过“原型开发”​实现迭代后,在进入到其后的「编码实现」等阶段。
螺旋模型(Spiral Model)将整个生命周期分为若干阶段,每个阶段都由4部分组成:​目标设定;风险分析;开发&有效性验证;评审
敏捷模型区别于传统的以过程为本,强调以人为本;知名方法论有:​极限编程(XP),水晶系列,Scrum,FDD
统一过程模型(RUP)利用商业的,可靠的方法开发和部署软件。
需求工程 获取,变更,追踪
系统分析与设计结构化方法分析数据流图(DFD)和数据字典,绘制系统结构图,​实现面向数据流的设计方法。是概要设计阶段的重要成果物。
其中 数据库设计,E-R图是往往是必须的。
面向对象方法UML建模(用例图,活动图,时序图,类图,配置图等);​9个OOA原则;5个步骤;3种类型划分;最终实现OOP=​对象+类+继承+多态+消息
软件测试测试方法静态测试(代码Review),动态测试
黑盒测试,白盒测试,灰盒测试
人工测试,自动化测试
测试阶段单元,集成,系统,性能,验收;另外,还可能有:AB测试 等
测试用例功能性,非功能性(性能,安全性,可靠性,兼容性,等)
用例设计方法:等价类法,边界值,错误猜测法,场景法,​因果图法,正交法
软件项目管理范围管理及工作量估算软件开发估算方法:概算阶段(专家判断法,类比估算法),​精算阶段(FP估算法,COCOMO估算法)
进度管理活动定义,活动排序,活动资源估计,火毒历时估计,​制作进度计划和进度控制。
配置管理版本控制,变更控制
质量管理SQA审计实现第三方的独立监控。
企业的整体资质 具备 ISO9000 或 CMMI 认证
全面质量管理(TQM):不仅关注产品最终质量,还关注全过程;​强调全员参与;注重预防;满足用户需求为最终目标。
风险管理对尚未发生,不确定性事件的管理(政府风险,​甲方或供应商的商务风险,技术风险,流程风险等);通过识别、​分析、控制,降低Risk变成Issue的概率。
系统运行和维护运维内容4个方面:进程管理,内存管理,文件管理,设备管理;5个步骤:​监控状态,分析问题,采取措施,优化系统,定期更新
文档编制标准 《计算机软件文档编制规范(GB/T 8567-2006)》,《计算机软件测试文档编制规范(GB/​T 9386-2008)》
数据库基础知识 DBMS的5个功能,3个特点,3级模式
关系数据库理论基础笛卡尔积,完整性约束,聚集函数,4NF等
RDBMS设计6个步骤:用户需求分析,概念结构设计,逻辑结构设计(ER图)​,物理结构设计,实施,运行和维护。
应有程序与数据库的交互SQL,ODBC,ORM
NoSQL数据库 4种类型:列式存储(HBase),键值对存储(Redis),​文档型存储(mongoDB),图(Neo4j)
系统架构(SA)     6个阶段:
架构风格数据流体系「批处理」每个处理步骤是一个单独的程序;整体数据依次传递;​连接件是某种类型的媒介(例如:磁带)
数据流体系「管道」对于源源不断的数据,每个处理步骤有一个过滤器(Filter)​实现,处理步骤间的数据传输有管道(Pipe)负责。例如:​ETL
调用返回体体系「主 ― 子 程序」一般采用单线程控制,把问题划分为围绕一条主线的若干处理步骤。
调用返回体体系「面向对象」通过数据抽象和方法封装 成Class;操作实例 实现对象间的联系。
调用返回体体系「层次型」按照 核心层 ―>基础工具 ―>功能模块 ―>业务 ―>专属 等 由内到外的一层层接口通信,每层只与相邻层有通信协议。
调用返回体体系「客户端/服务器」即C/S结构;主要部分:数据库服务器,客户应用程序(​也可以独立出 应用服务器),网络。例如:桌面应用程序
以数据为中心体系「仓库」存储和维护数据的中心;例如:DWH
以数据为中心体系「黑板」适用于解决复杂的非结构化的问题。可通过选取 黑板,知识源和控制模块的构件来设计。例如:语音识别
虚拟机体系「解释器」内置虚拟机,可以仿真硬件的执行过程;例如:专家系统。
虚拟机体系「规则」基于规则的系统,包括:规则集,规则解释器,规则与数据选择器,​工作内存。
独立构件体系「进程通信」构件是独立的过程,连接件是消息传递;实现点到点,​异步或同步及RPC等
独立构件体系「事件驱动」模块间不直接调用;而是通过Event的分发—响应,实现解耦。​例如:OS,DBMS
架构质量质量属性8个评估维度:性能,可靠性,可用性,安全性,可修改性,​功能性,可变性,互操作性
评估方法SAAM,ATAM,CBAM
软件可靠性基本概念和目标定量分析的7个方面:规定时间,失效概率,可靠度,失效强度,​平均失效前时间,平均恢复前时间,平均故障间隔时间。
可靠性建模和管理10大模型分类
可靠性设计4个方面:容错设计,检错技术,降低复杂度设计,系统配置技术
可靠性测试定义运行剖面,设计易错用例,最好通过自动化方式实施。
架构演化演化要素,分类,原则及评估架构=组件+连接件+约束;遵循18项原则;​实现静态或动态演化。
大型网站系统架构演化实例十个阶段:单体~・・・~集群、数据库读写分离、・・・~分布式​服务
未来信息综合技术信息物理系统(CPS)基于硬件,软件,网络,云服务等实现工业智能化
人工智能(AI)6项关键技术:自然语言处理,计算机视觉,知识图谱,人机交互,​虚拟现实,机器学习。
机器人第四代5项核心技术:云-边-端的无缝协同计算,​持续学习与协同学习,知识图谱,场景自适应,数据安全。
边缘计算将主要处理和数据存储放在网络的边缘节点的分布式计算形式。​广泛应用于:智慧园区,工业物联网,云VR,等
数字孪生体3项核心技术:建模,仿真,数字线程。广泛应用于:制造,​服务业,城市,军工。
云计算和大数据云服务3种方式:SaaS,PaaS,IaaS
领域专题设计信息系统架构设计架构风格和分类 4种模式:单机应用,客户端ー服务器,SOA,企业数据交换总线
架构开发方法论(ADM) 遵循TOGAF,实现3个级别,8个阶段的迭代。
层次式架构设计特征 主要分为:表现层,业务层,访问层,数据层。以及 外部服务层(例如:物联网层)
  表现层 3种模式:MVC,MVP,MVVM;UIP设计思想
  业务层 通过Domain ModelーServiceーControl的思想来实现。
  (数据)访问层 5种模式:在线访问(SQL),DAO,DTO,离线数据模式,​ORM。不仅是连接数据层,也包括向外提供的API
  数据层 2种模式:基于文件的存储方式,数据库存储方式
  物联网层 3层:感知层,网络层,应用层
面向服务架构设计(SOA)  采用EBS模式 及服务注册表,通过(UDDI,WSDL,SOAP)​协议和REST规范,管控各业务子服务;避免”信息孤岛“
云原生架构设计理论思想和模式 将传统架构中使用的资源,剥离到IaaS,​PaaS和SaaS中。SaaS方面可以从下面7个方面考虑:
 ・应用模块微服务化,容器化部署。
 ・中间件(RPC,缓存,异步消息)的Mesh化。
 ・适合事件驱动架构应用的Serverless(无服务)化。
 ・存储计算分离,解决分布式环境中的CAP问题。
 ・选择适用的分布式事务模式(XA,BASE,TCC,​SAGA,SEATA),解决数据不一致的问题。
 ・可观察架构的三个方面:Logging,Tracing,​Metrics
 ・对于IoT传感器产生的数据,事件驱动(EDA)化
相关技术 K8S容器编排,SpringCloud等微服务框架,​无服务技术(Serverless),服务网格(​ServiceMesh)
嵌入式系统架构设计基础知识 通过EOS及应用,对于4大类硬件部件实现控制。
嵌入式操作系统(EOS) 由硬件驱动程序,调试代理,操作系统内核,操作系统内核,​文件系统,可配置组件等功能组成。
嵌入式数据库 Berkeley DB,Derby,Firebird,SQLite等
嵌入式中间件 消息中间件,分布式对象中间件;​主要作用是对嵌入式应用屏蔽底层操作系统的异构性,​常用功能有网络通信,存储管理和数据处理。
嵌入式IDE 通常为嵌入式厂商提供的专属工具,大多基于Eclipse,​例如:GCC,Workbench,MULTI
设计方法 3种方法:基于架构,属性驱动,实时系统
网络通信架构设计常用网络架构 5种:局域网(LAN),广域网(WAN),移动通信网,​存储网络,软件定义网络(SDN)
关键技术 IPv4与IPv6融合组网,SDN技术
网络技术选型与设计局域网(LAN)生成树协议(STP),虚拟局域网(VLAN),无线局域网,​线路冗余,交换机,服务器冗余
广域网(WAN)远程接入,广域网互连
IP地址规划5项原则:结构化网络层编址,中心授权管理IP,编址授权下发,​终端设备动态IP,NAT
路由协议7个方面:选择“距离矢量”或“链路状态”协议,度量值,​协议顺序,层次化,内外部,有无分类,静态
网络安全 6个方面:防火墙,VPN,访问控制,网络安全隔离,​网络安全协议,网络安全设计
信息安全架构设计  面对19种安全威胁,从(产品安全,安全技术体系,审计)​组成三道安全防线。
系统安全模型 5类典型模型:状态机,Bell-LaPadula,Biba,​Clark-Wilson,Chinese Wall
安全体系架构模型 对于6个环节(预警,保护,检测,响应,恢复,反击),落实(​人员,策略,技术)3大要素
数据库的完整设计 6类完整性约束:非空,唯一,主键,外键,检查,触发器
脆弱性分析分层架构4层间的某一层对整体的影响。
C/S架构客户端被分析,数据被截取的风险;​客户端连接在Internet上,​容易暴露其保存的用户名密码等信息。
B/S架构如果使用HTTP协议,相对于C/S是不安全的;​目前大多采用HTTPS协议+SSL证书。
事件驱动架构各响应的组件间须保障执行顺序;逻辑关系变得复杂,易死循环;​避免CPU高负荷;防止驱动数据被访问被篡改。
MVC架构存在对调用者进行安全校验的方式,和数据传输不够安全的风险; 须将AP服务器放置在内网,设置访问白名单等方式。
微内核ー多插件架构(例如:浏览器插件,IDE插件)各插件完全解耦,​通信只能通过核心系统,致使通信损失率高。
微服务架构需要处理分布式系统的复杂结构,各微服务间通信的失效机制。
大数据架构设计数据仓库 数据源 通过ETL,导入数据仓库;再经过OLAP(联机分析处理),​展示到前端;以便查询,报表,分析,数据挖掘等业务功能
Lambda架构 面对大数据处理系统的8个特征,Lambda架构通过三层(​批处理层Hadoop,加速层Spark,服务层HBase);​适用于统计型科学数据分析。
Kappa架构 没有批处理层(将数据通道以消息队列,以流处理为主),​是Lambda的轻量版,回溯数据量有限;但加强了实时性需求,​适合历史数据查询展示。