系统架构设计师考试大纲2023
一、 考试方式(机考)
考试采取科目连考、 分批次考试的方式, 连考的第一个科目作答结束交卷完成后自动进
入第二个科目, 第一个科目节余的时长可为第二个科目使用。
高级资格: 综合知识科目考试时长 150 分钟, 最短作答时长 120 分钟, 考试结束前 30
分钟可交卷离场。 案例分析和论文 2 个科目连考, 案例分析科目最短作答时长 60 分钟, 最
长作答时长 90 分钟, 2 个科目作答总时长 210 分钟, 考试结束前 60 分钟可交卷离场。
初、 中级(信息处理技术员除外) 资格: 基础知识和应用技术 2 个科目连考, 基础知识
科目最短作答时长 90 分钟, 最长作答时长 120 分钟, 2 个科目作答总时长 240 分钟, 考试
结束前 60 分钟可交卷离场。
信息处理技术员资格: 基础知识和应用技术 2 个科目连考, 基础知识科目最短作答时长
60 分钟, 最长作答时长 90 分钟, 2 个科目作答总时长 180 分钟, 考试结束前 60 分钟可交卷
离场。
二、 考试批次安排(2023 年下半年)
三、 考试说明
1.考试目标
考试合格人员应能够根据系统需求规格说明书, 结合应用领域和技术发展的实际情况,
考虑有关约束条件, 设计正确、 合理的软件架构, 确保系统架构具有良好的特性; 能够对项
目系统架构进行描述、 分析、 设计与评估; 能够按照相关标准编写相应的设计文档; 能够与
系统分析师、 项目管理师相互协作、 配合工作; 具有高级工程师的实际工作能力和业务水平。
2.考试要求
(1) 掌握计算机硬软件与网络的基础知识;
(2) 熟悉信息系统开发过程;
(3) 理解信息系统开发标准、 常用信息技术标准;
(4) 熟悉主流的中间件和应用服务器平台;
(5) 掌握软件系统建模、 系统架构设计基本技术;
(6) 熟练掌握信息安全技术、 安全策略、 安全管理知识;
(7) 了解信息化、 信息技术有关法律、 法规的基础知识;
(8) 了解用户的行业特点, 并根据行业特点架构合适的系统设计;
(9) 掌握应用的数学基础知识
(10) 熟练阅读和正确理解相关领域的英文文献;
3.考试科目设计设置
(1) 综合知识, 上午 8: 30-11: 00, 考试时间为 150 分钟, 机考, 选择题;
(2) 案例分析+ 论文, 下午 14: 30-18: 00, 考试时间为 210 分钟, 机考, 问答题;
四、 考试范围
考试科目 1:系统架构设计师-综合知识
1. 计算机软件与网络基础知识
1.1 操作系统
- 操作系统的类型和结构
- 操作系统基本原理
- 网络操作系统及网络管理
- 嵌入式操作系统与实时操作系统
1.2 数据库系统
- 数据库管理系统的类型、结构和性能评价
- 常用的关系型数据库管理系统
- 数据库模式
- 数据库规范化、分布式数据库系统, 并行数据库系统
- 数据仓库与数据挖掘技术
- 数据库工程
- 备份恢复
1.3 嵌入式系统
- 嵌入式系统的特点
- 嵌入式系统的硬件组成与设计
- 嵌入式系统应用软件及开发平台
- 嵌入式系统网络
- 嵌入式系统数据库
1.4 数据通信与计算机网络
- 数据通信的基本知识
- 开放系统互连参考模型
- 常用的协议标准
- 网络互连与常用网络设备
- 计算机网络的分类与应用
1.5 多媒体
- 多媒体的类型、特点及数据格式
- 多媒体数据的压缩编码
1.6 系统配置与性能评价
- 多层结构、分布式系统
- 系统配置方法(双份、双重、热备份、容错、集群)
- 性能计算(响应时间、吞吐量、TAT)
- 性能设计(系统调整、Amdahl 解决方案、响应特性、负载均衡)
- 性能指标(SPEC-Int、SPEC-Fp、TPC、Gibsonmix、响应时间)
- 性能评估
2. 信息化基础知识
2.1 信息系统工程总体规划
- 总体规划目标、范围
- 总体规划的方法论
- 信息系统的组成
- 信息系统的实现
2.2 政府信息化与电子政务
- 电子政务的概念、内容和技术形式
- 中国政府信息化的策略和历程
- 电子政务建设的过程模式和技术模式
2.3 企业信息化与电子商务
- 企业信息化的概念、目的、规划、方法
- ERP 的主要模块和主要算法
- 企业业务流程重组(BPR)
- CRM、PDM 在企业的应用
- 知识管理
- 企业应用集成
- 全程供应链管理的思想
- 商业智能
- 电子商务的类型、标准
2.4 信息资源管理 2.5 国际和国内有关信息化的标准、法律和规定
3. 系统开发基础知识
3.1 开发管理
- 项目的范围、时间、成本
- 文档管理工作、配置管理
- 软件开发的质量与风险
- 软件的运行与评价
3.2 需求管理
- 需求变更
- 需求跟踪
- 需求变更风险管理
3.3 软件开发方法
- 软件开发生命周期
- 软件开发模型(瀑布模型、演化模型、增量模型、螺旋模型、原型,构件组装模型、RUP,敏捷方法)
- 构件与软件重用
- 逆向工程
- 形式化方法
3.4 软件开发环境与工具
- 集成开发环境
- 开发工具(建模工具、分析设计工具、编程工具、测试工具、项目管理工具等)
3.5 设计方法
- 分析设计图示(DFD、ERD、UML、流程图、NS 图、PAD)
- 结构化分析与设计
- 模块设计
- 面向对象的分析与设计
- I/O 设计、人机界面设计
- 设计模式
3.6 基于构件的开发
- 构件的概念与分类
- 中间件技术
- 典型应用架构(J2EE、.NET)
3.7 应用系统构建
- 应用系统设计与开发(分析与设计方法的使用、外部设计、内部设计、程序设计、测试)
- 软件包的使用(开发工具、运行管理工具、业务处理工具、ERP、群件、OA 工具)
3.8 测试与评审
- 测试评审方法
- 验证与确认(V&V)
- 测试自动化
- 测试设计和管理方法
4. 软件架构基础知识
- 软件架构的概念
- 软件架构的风格
- 特定领域软件架构
- 基于架构的软件开发方法
- 软件架构评估
- 软件产品线
- 设计模式
5. 安全性与可靠性技术
4.1 信息安全与保密
- 加密和解密
- 身份认证(数字签名、密钥、口令)
- 访问控制
- 安全保密管理(防泄漏、数字水印)
- 安全协议(SSL、PGP、IPSec)
- 系统备份与恢复
- 防治病毒
4.2 系统可靠性
- 可靠性设计(容错技术、避错技术)
- 可靠性指标与评估
4.3 安全性规章与保护私有信息规则
- 信息系统安全法规与制度
- 计算机防病毒制度
- 保护私有信息规则
6. 标准化与知识产权
- 标准化意识,标准化的发展,标准的生命周期
- 国际标准、美国标准、国家标准、行业标准、地方标准、企业标准
- 代码标准、文件格式标准、安全标准、软件开发规范和文档标准
- 标准化机构
- 知识产权
7. 应用数据
- 概率统计应用
- 图论应用
- 组合分析
- 算法(数值算法与非数值算法)的选择与应用
- 运筹方法(网络计划技术、线性规划、预测、决策、库存管理、模拟)
- 数学建模
8. 专业英语
- 具有高级工程师所要求的英文阅读水平
- 掌握本领域的英语术语
考试科目 2:系统架构设计师-案例分析
1. 系统规划
- 系统项目的提出与可行性分析:涉及项目的背景、目标、需求以及预期的效益和成本评估,确定项目是否值得投资。
- 系统方案的制定、评价和改进:设计系统的初步方案,评估方案的优劣,并根据评估结果对方案进行优化。
- 新旧系统的分析和比较:对现有系统进行分析,与新提出的系统方案进行对比,以确定新系统的必要性和优越性。
- 现有软件、硬件和数据资源的有效利用:评估现有资源的状态,确保新系统能够有效利用这些资源。
2. 软件架构设计
- 软件架构设计:创建软件的整体结构,包括组件的定义和它们之间的关系。
- XML 技术:使用 XML 作为数据描述和交换格式。
- 基于架构的软件开发过程:开发过程中应用软件架构来指导设计和实现。
- 软件质量属性:考虑性能、安全性、可维护性等质量需求。
- 架构模型(风格):选择合适的架构风格,如 MVC、管道-过滤器等。
- 特定领域软件架构:针对特定领域的问题设计的架构。
- 基于架构的软件开发方法:使用架构作为软件开发的核心。
- 架构评估:评估软件架构是否满足需求。
- 软件产品线:设计可配置和可重用的软件产品族。
- 系统演化:随着需求的变化,系统架构应能够适应变化。
3. 设计模式
- 设计模式的概念:解决特定问题的通用解决方案。
- 设计模式的组成:模式通常包括模式名称、问题描述、解决方案和实现。
- 模式和软件架构:设计模式在软件架构中的应用。
- 设计模式分类:创建型、结构型、行为型等。
- 设计模式的实现:在软件设计中实现模式。
4. 系统设计
- 处理流程设计:确定系统如何处理数据和业务逻辑。
- 人机界面设计:设计用户界面和交互方式。
- 文件设计、存储设计:设计文件组织和数据存储方式。
- 数据库设计:设计数据库模型和结构。
- 网络应用系统的设计:设计用于网络的应用系统。
- 系统运行环境的集成与设计:集成中间件、应用服务器等,确保系统的性能和稳定性。
5. 软件系统建模
- 系统需求:收集和分析用户和系统需求。
- 建模的作用和意义:使用模型来理解、设计和验证系统。
- 定义问题与归结模型:包括静态结构模型、动态行为模型和物理模型。
- 结构化系统建模、数据流图:使用数据流图等结构化方法进行系统建模。
- 面向对象系统建模:使用UML等工具进行面向对象的系统建模。
- 数据库建模、E-R 图:设计实体-关系图和数据库模型。
- 逆向工程:从现有的系统中提取模型和设计。
6. 分布式系统设计
- 分布式通信协议的设计:设计系统组件间通信的协议。
- 基于对象的分布式系统设计:设计以对象为中心的分布式系统。
- 基于 Web 的分布式系统设计:设计 Web 应用和服务。
- 基于消息和协同的分布式系统设计:设计消息驱动和协作的分布式系统。
- 异构分布式系统的互操作性设计:确保不同系统之间能够互相操作。
7. 嵌入式系统设计
- 实时系统和嵌入式系统特征:了解实时和嵌入式系统的特点。
- 实时任务调度和多任务设计:设计适合实时系统的任务调度和多任务处理。
- 中断处理和异常处理:设计系统对中断和异常的响应。
- 嵌入式系统开发设计:设计嵌入式系统的软件和硬件。
8. 系统的可靠性分析与设计
- 系统的故障模型和可靠性模型:了解系统可能的故障和可靠性模型。
- 系统的可靠性分析和可靠度计算:分析系统的可靠性并计算可靠度。
- 提高系统可靠性的措施:设计提高系统可靠性的措施。
- 系统的故障对策和系统的备份与恢复:设计系统的故障恢复计划。
9. 系统的安全性和保密性设计
- 系统的访问控制技术:设计系统的访问控制。
- 数据的完整性:确保数据的完整性和一致性。
- 数据与文件的加密:设计数据和文件的加密方案。
- 通信的安全性:确保通信过程的安全。
- 系统的安全性设计:设计整个系统的安全性。
考试科目 3:系统架构设计师-论文
根据给出的系统架构设计有关的若干个专题,选择其中一个专题,按照规定的要求撰写论文。
-
系统建模
- 定义问题与归结模型
- 结构化系统建模
- 面向对象系统建模
- 数据库建模
-
软件架构设计
- 软件架构设计
- 特定领域软件架构
- 基于架构的软件开发方法
- 软件演化
-
系统设计
- 处理流程设计
- 系统人机界面设计
- 文件设计、存储设计
- 数据库设计
- 网络应用系统的设计
- 系统运行环境的集成与设计
- 系统性能设计
- 中间件、应用服务器
-
分布式系统设计
- 分布式通信协议的设计
- 基于对象的分布式系统设计
- 基于 Web 的分布式系统设计
- 基于消息和协同的分布式系统设计
- 异构分布式系统的互操作性设计
-
系统的可靠性分析与设计
- 系统的故障模型和可靠性模型
- 提高系统可靠性的措施
- 系统的故障对策和系统的备份与恢复
-
系统的安全性和保密性设计
- 系统的访问控制技术
- 数据的完整性
- 数据与文件的加密
- 通信的安全性
- 系统的安全性设计
相关文章:

系统架构设计师考试大纲2023
一、 考试方式(机考) 考试采取科目连考、 分批次考试的方式, 连考的第一个科目作答结束交卷完成后自动进 入第二个科目, 第一个科目节余的时长可为第二个科目使用。 高级资格: 综合知识科目考试时长 150 分钟ÿ…...

sqli.labs靶场(第18~22关)
18、第十八关 经过测试发现User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:122.0) Gecko/20100101 Firefox/122.0加引号报错 这里我们闭合一下试试 User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:122.0) Gecko/20100101 Firefox/122.0,127.0.0.1,adm…...

【tensorflow 版本 keras版本】
#. 安装tensorflow and keras, 总是遇到版本无法匹配的问题。 安装之前先查表 https://master--floydhub-docs.netlify.app/guides/environments/ 1.先确定你的python version 2.再根据下面表,确定安装的tesorflow, keras...

嵌入式学习第十六天
制作俄罗斯方块小游戏(一) 分析: printf函数高级用法 \033[:表示转义序列的开始 m:表示转义序列的结束 0:重置所有属性 1:设置粗体或高亮 30-37:设置字体色 30: 黑 31: 红 32:…...
Java过滤器拦截器的区别和实现
一、什么是过滤器与拦截器? 1.2 拦截器(Interceptor) java过滤器指的是在java中起到过滤的作用的一个方法。可以在一个请求到达servlet之前,将其截取进行逻辑判断,然后决定是否放行到请求的servlet;也可以在…...

Android 12 系统开机动画
修改Android开机动画有两种方式 方式一、通过adb 命令来修改: 进入/system/media目录,将里面的 bootanimation.zip 文件pull出来,然后解压,替换part0和part1中的图片,并且根据图片大小修改文件 desc.txt 中的内容&…...

C++:异常体系
异常体系 异常1.C语言传统的处理错误的方式2.C异常概念3.异常的使用3.1异常的抛出和捕获3.2 异常的重新抛出3.3异常安全3.4 异常规范 4.C标准库的异常体系5.异常的优缺点 异常 1.C语言传统的处理错误的方式 终止程序,如assert,缺陷:用户难以…...
民事二审案件庭审应如何准备?
一、你要明确审理范围,固定上诉请求 首先,第二审人民法院围绕当事人的上诉请求进行审理。 其次,在第二审程序中,原审原告增加独立的诉讼请求或者原审被告提出反诉的,第二审人民法院可以根据当事人自愿的原则就新增加的…...
WebRTC系列-H264视频帧组包(视频花屏问题)
文章目录 工具函数是否满足组帧条件函数PotentialNewFrame更新丢失包记录 UpdateMissingPackets重要属性1. InsertPacket2. FindFramesWebRTC在弱网环境下传输较大的视频数据,比如:屏幕共享数据;会偶发的出现黑屏的问题;也就是说当视频的码率比较大且视频的分辨率比较高的时…...

Common Mistakes in German
Comman Mistakes in German 1, Haus oder Hause2, ja nein oder doch(1) Positive Fragen(2) Negative Fragen 1, Haus oder Hause 2, ja nein oder doch (1) Positive Fragen (2) Negative Fragen kein / nicht P3...

Java基础数据结构之反射
一.定义 Java的反射机制是在运行状态中的,对于任意一个类都能知道这个类的所有属性和方法;对于任意一个对象,都能够调用它的任意方法及属性。既然能拿到,我们就可以修改部分类型信息。这种动态获取信息以及动态调用对象方法的功能…...

【实战系列----消息队列 数据缓存】rabbitmq 消息队列 搭建和应用
线上运行图,更新不算最新版,但可以使用修改线程等补丁功能,建议使用新版本。 远程服务器配置图: 这个可以更具体情况,因为是缓存队列理所当然 内存越大越好,至于核心4核以上足够使用。4核心一样跑 这里主要是需要配置服…...

【云原生kubernetes系列】---亲和与反亲和
1、亲和和反亲和 node的亲和性和反亲和性pod的亲和性和反亲和性 1.1node的亲和和反亲和 1.1.1ndoeSelector(node标签亲和) #查看node的标签 rootk8s-master1:~# kubectl get nodes --show-labels #给node节点添加标签 rootk8s-master1:~# kubectl la…...
【极简】Pytorch中的register_buffer()
register buffer 定义模型能用torch.save保存的、但是不更新参数。 使用:只要是nn.Module的子类就能直接self.调用使用: class A(nn.Module): #... self.register_buffer(betas, torch.linspace(beta_1, beta_T, T).double()) #...手动定义参数 上述…...

J-Link:STM32使用J-LINK烧录程序,其他MCU也通用
说明:本文记录使用J-LINK烧录STM32程序的过程。 1. J-LINK驱动、软件下载 1、首先拥有硬件J-Link烧录器。 2、安装J-Link驱动程序SEGGER 下载地址如下 https://www.segger.com 直接下载就可以了。 2.如何使用J-LINK向STM32烧写程序 1、安装好以后打开J-LINK Fl…...

从0到1入门C++编程——06 类和对象之多态、文件操作
文章目录 多态1.多态基本概念2.多态案例——计算器3.纯虚函数和抽象类4.多态案例——制作饮品5.虚析构和纯虚析构6.多态案例——电脑组装 文件操作1.文本文件--写文件2.文本文件--读文件3.二进制文件--写文件4.二进制文件--读文件 多态 1.多态基本概念 多态是C面向对象的三大…...

elementUI实现selecttree自定义下拉框树形组件支持多选和搜索
elementUI实现selecttree自定义下拉框树形组件支持多选和搜索 效果图定义子组件父组件应用 效果图 定义子组件 主要结合el-select和el-tree两个组件改造的。 <template><div class"selectTree"><el-select filterable :filter-method"filterMe…...
使用 Spring Boot 构建 Docker 镜像的简易指南
Spring Boot 是一个用于创建独立的、生产级别的 Spring 应用程序的框架。结合 Docker,你可以方便地将你的 Spring Boot 应用程序打包成一个容器镜像,实现更加灵活和可移植的部署。本文将指导你如何使用 Docker 构建一个包含 Spring Boot 应用程序的镜像。…...

「数据结构」3.ArrayList
🎇个人主页:Ice_Sugar_7 🎇所属专栏:Java数据结构 🎇**欢迎点赞收藏加关注哦!* ArrayList 🍉ArrayList的构造🍉add方法🍌扩容机制🍌重要结论 🍉其…...

H.264与H.265的主要差异
H.265仍然采用混合编解码,编解码结构域H.264基本一致, H.265与H.264的主要不同 编码块划分结构:采用CU (CodingUnit)、PU(PredictionUnit)和TU(TransformUnit)的递归结构。 并行工具:增加了Tile以及WPP等并行工具集以提高编码速…...

网络编程(Modbus进阶)
思维导图 Modbus RTU(先学一点理论) 概念 Modbus RTU 是工业自动化领域 最广泛应用的串行通信协议,由 Modicon 公司(现施耐德电气)于 1979 年推出。它以 高效率、强健性、易实现的特点成为工业控制系统的通信标准。 包…...
【根据当天日期输出明天的日期(需对闰年做判定)。】2022-5-15
缘由根据当天日期输出明天的日期(需对闰年做判定)。日期类型结构体如下: struct data{ int year; int month; int day;};-编程语言-CSDN问答 struct mdata{ int year; int month; int day; }mdata; int 天数(int year, int month) {switch (month){case 1: case 3:…...

VB.net复制Ntag213卡写入UID
本示例使用的发卡器:https://item.taobao.com/item.htm?ftt&id615391857885 一、读取旧Ntag卡的UID和数据 Private Sub Button15_Click(sender As Object, e As EventArgs) Handles Button15.Click轻松读卡技术支持:网站:Dim i, j As IntegerDim cardidhex, …...
从零实现富文本编辑器#5-编辑器选区模型的状态结构表达
先前我们总结了浏览器选区模型的交互策略,并且实现了基本的选区操作,还调研了自绘选区的实现。那么相对的,我们还需要设计编辑器的选区表达,也可以称为模型选区。编辑器中应用变更时的操作范围,就是以模型选区为基准来…...

8k长序列建模,蛋白质语言模型Prot42仅利用目标蛋白序列即可生成高亲和力结合剂
蛋白质结合剂(如抗体、抑制肽)在疾病诊断、成像分析及靶向药物递送等关键场景中发挥着不可替代的作用。传统上,高特异性蛋白质结合剂的开发高度依赖噬菌体展示、定向进化等实验技术,但这类方法普遍面临资源消耗巨大、研发周期冗长…...

关于iview组件中使用 table , 绑定序号分页后序号从1开始的解决方案
问题描述:iview使用table 中type: "index",分页之后 ,索引还是从1开始,试过绑定后台返回数据的id, 这种方法可行,就是后台返回数据的每个页面id都不完全是按照从1开始的升序,因此百度了下,找到了…...
系统设计 --- MongoDB亿级数据查询优化策略
系统设计 --- MongoDB亿级数据查询分表策略 背景Solution --- 分表 背景 使用audit log实现Audi Trail功能 Audit Trail范围: 六个月数据量: 每秒5-7条audi log,共计7千万 – 1亿条数据需要实现全文检索按照时间倒序因为license问题,不能使用ELK只能使用…...

基于当前项目通过npm包形式暴露公共组件
1.package.sjon文件配置 其中xh-flowable就是暴露出去的npm包名 2.创建tpyes文件夹,并新增内容 3.创建package文件夹...

Keil 中设置 STM32 Flash 和 RAM 地址详解
文章目录 Keil 中设置 STM32 Flash 和 RAM 地址详解一、Flash 和 RAM 配置界面(Target 选项卡)1. IROM1(用于配置 Flash)2. IRAM1(用于配置 RAM)二、链接器设置界面(Linker 选项卡)1. 勾选“Use Memory Layout from Target Dialog”2. 查看链接器参数(如果没有勾选上面…...
实现弹窗随键盘上移居中
实现弹窗随键盘上移的核心思路 在Android中,可以通过监听键盘的显示和隐藏事件,动态调整弹窗的位置。关键点在于获取键盘高度,并计算剩余屏幕空间以重新定位弹窗。 // 在Activity或Fragment中设置键盘监听 val rootView findViewById<V…...