系统架构设计师考试大纲
一、考试说明
-
考试目标
通过本考试的合格人员应能够根据系统需求规格说明书,结合应用领域和技术发展的实际情况,考虑有关约束条件,设计正确、合理的软件架构,确保系统架构具有良好的特性;能够对项目的系统架构进行描述、分析、设计与评估;能够按照相关标准编写相应的设计文档;能够与系统分析师、项目管理师相互协作、配合工作;具有高级工程师的实际工作能力和业务水平。
-
考试要求
(1)掌握计算机软硬件及其相关的基础知识;
(2)掌握系统架构的开发、验证和评估过程及方法;
(3)理解相关的软件开发标准和常用的信息技术标准;
(4)熟悉主流的基础软件、中间件和应用支撑技术等;
(5)掌握软件系统建模、系统架构设计、演化及其评估等基本技术;
(6)熟悉信息安全技术、安全架构、安全策略、安全管理和软件脆弱性等知识;
(7)了解信息化和信息技术相关法律、法规的基础知识;
(8)了解计算机软硬件技术的综合应用;
(9)了解系统工程及应用的相关技术;
(10)了解用户的行业特点,并根据行业特点架构合适的系统设计;
(11)掌握应用数学的基础知识;
(12)熟练阅读和正确理解相关领域的英文文献。
-
考试科目设置
(1)系统架构设计综合知识,考试时间为150分钟,笔试,选择题;
(2)系统架构设计案例分析,考试时间为90分钟,笔试,问答题;
(3)系统架构设计论文,考试时间为120分钟,笔试,论文题。
二、考试范围
考试科目1:系统架构设计综合知识
- 计算机系统基本知识
1.1 计算机系统概述
· 计算机系统的定义、组成和分类
1.2 计算机硬件
1.2.1 计算机硬件组成:冯·诺依曼计算机结构
1.2.2 处理器:典型的计算机体系结构;CPU、GPU、DSP、FPGA;指令集:CISC和RISC结构;国产处理器芯片结构
1.2.3 存储器:片上缓存、片外缓存、主存和外存等
1.2.4 总线:内总线、系统总线和外部总线等
1.2.5 接口:显示、音频、网络和SATA等
1.2.6 外部设备:鼠标、显示器、扫描仪和摄像头等
1.3 计算机软件
1.3.1 计算机软件概述:计算机软件的定义和作用;计算机软件的分类:系统软件和应用软件
1.3.2 操作系统:操作系统的组成、作用和类型;操作系统的特点;操作系统的基本原理;批处理操作系统和分时操作系统;网络操作系统及分布式操作系统;嵌入式操作系统与实时操作系统
1.3.3 数据库系统:数据库的定义、作用和类型;数据库管理系统的基本原理;关系型数据库系统(数据模型、关系描述和数据库设计);分布式数据库系统(结构和应用);数据库管理系统(定义、特点和产品)
1.3.4 文件系统:文件系统的定义、作用和类型;文件系统的组成和基本原理;文件系统的存取方式和存储管理
1.3.5 网络协议:局域网协议(LAN);广域网协议(WAN);无线网协议;移动网协议
1.3.6 中间件:中间件的定义、作用和类型;中间件的典型软件产品(IBM MQSeries、BEA Tuxedo)
1.3.7 软件构件:软件构件的定义和作用;软件构件的组装模型;商用构件标准规范(CORBA、J2EE和DNA 2000等)
1.3.8 应用软件:通用软件的定义、范围和类别;专用软件的定义、范围和类别
1.4 嵌入式系统及软件
1.4.1 嵌入式系统的组成及特点:嵌入式系统的定义、组成和用途;嵌入式处理器及支撑硬件、环境要求及特点;嵌入式软件集成开发环境
1.4.2 嵌入式系统分类:嵌入式系统、(强/弱)实时系统、安全攸关系统
1.4.3 嵌入式软件的组成及特点:嵌入式软件的架构和特点;嵌入式软件开发与传统软件开发方法的差异
1.4.4 安全攸关软件的安全性设计:安全攸关软件的定义和作用;安全性设计方法:DO-178目的、安全等级划分和生命周期等
1.5 计算机网络
1.5.1 网络的基本概念:计算机网络发展的四个阶段;基本功能:数据通信、资源共享、管理集中化、分布式处理和负荷均衡;基本指标:速率、带宽、吞吐量、时延和利用率等
1.5.2 通信技术:基本知识:信道、信号变换、复用和多址、5G通信网
1.5.3 网络技术:局域网(LAN)(五类拓扑和以太网技术);无线局域网(WLAN)(WLAN标准和三类拓扑);广域网(WAN)(特点、分类和相关技术);城域网(MAN);移动通信网(发展、特征和服务化架构)
1.5.4 组网技术:网络设备(基本网络设备:集线器、中继器、网桥、交换机、路由器和防火墙等);交换技术、路由技术及相关协议;开放系统互连参考模型(OSI/RM);分层参考模型;OSI协议集;TCP/IP协议集;协议集比较
1.5.5 网络工程:网络规划、网络设计和网络实施
1.6 计算机语言
1.6.1 计算机语言的组成
1.6.2 计算机语言的类别:机器语言(指令格式、操作码和寻址);汇编语言(语句格式和伪指令);高级语言(C、C++、Java和Python等);建模语言(UML的组成要素、关系和五种视图);形式化语言(规格说明、分类、开发过程和Z语言)
1.7 多媒体
1.7.1 多媒体概述:多媒体的定义、特征、基本组成及应用
1.7.2 多媒体的主要关键技术:视音频技术;通信技术;数据压缩技术;VR/AR技术
1.8 系统工程
1.8.1 系统工程的基本概念
1.8.2 系统工程方法:霍尔的三维结构;切克兰德方法;并行工程方法;综合集成法;WSR系统方法
1.8.3 系统工程的全生命周期:周期阶段:探索研究、概念阶段、开发阶段、生产阶段、使用阶段、保障阶段和退役阶段;采用方法:计划驱动方法、渐进迭代式开发、精益开发和敏捷开发
1.8.4 基于模型的系统工程(MBSE):MBSE的基本概念;MBSE的三大支柱技术(建模语言、建模工具和建模思路)
1.9 系统性能
1.9.1 性能指标:计算机的性能指标;路由器的性能指标;交换机的性能指标;网络的性能指标;操作系统的性能指标;数据库管理系统的性能指标;Web服务器的性能指标
1.9.2 性能计算:定义法、公式法、程序检测法和仪器检测法
1.9.3 性能设计:系统调整、Amdahl解决方案、响应特性和负载均衡
1.9.4 性能评估:基准测试程序;Web服务器的性能评估;系统监视
- 信息系统基础知识
2.1 信息系统概述
2.1.1 信息系统的定义:信息系统的基本目标和定义;信息系统的五个基本功能:输入、存储、处理、输出和控制
2.1.2 信息系统的发展:发展的六个阶段:初始阶段、传播阶段、控制阶段、集成阶段、数据管理阶段和成熟阶段
2.1.3 信息系统的分类:业务(数据)处理系统、管理信息系统、决策支持系统、专家系统和办公自动化系统等
2.1.4 信息系统的生命周期:生命周期的四个阶段:产生阶段、开发阶段、运行阶段和消亡阶段
2.1.5 信息系统的建设原则:五个基本建设原则:高层人员介入、用户参与开发、自顶向下规划、工程化和其他原则等
2.1.6 信息系统开发方法:结构化方法;原型法;面向对象方法;面向服务的方法
2.1.7 综合性信息系统:企业资源规划(ERP);仓储管理系统(WMS);制造过程管理系统(MES/SFC);产品数据管理系统(PDM)
2.2 业务处理系统(TPS)
2.2.1 业务处理系统的概念:TPS的建设目的和定义
2.2.2 业务处理系统的功能:TPS的五个基本功能:数据输入、数据处理、数据库维护、文件报表的产生和查询处理
2.2.3 业务处理系统的特点:企业建设TPS的意义;结构化生命周期法
2.3 管理信息系统(MIS)
2.3.1 管理信息系统的概念:管理信息系统的定义和总体结构;信息源、信息处理器、信息用户和信息管理者
2.3.2 管理信息系统的功能:功能结构;功能-过程结构图
2.3.3 管理信息系统的组成:功能/层次矩阵;七个基本子系统
2.4 决策支持系统(DSS)
2.4.1 决策支持系统的概念:DSS的发展、定义和特征;DSS的基本模式;DSS的基本结构:两库结构和基于知识的结构
2.4.2 决策支持系统的功能:DSS支撑九项基本功能(多层决策;为决策整理和提供数据;收集、存储和提供外部信息;收集和提供活动的反馈信息;具有模型的存储和管理的能力;对常用的各种方法的存储和管理;对各种数据、模型、方法进行管理;数据加工;具有人-机接口和图形加工;支持分布使用方式)
2.4.3 决策支持系统的特点
2.4.4 决策支持系统的组成:数据的重组、数据字典、数据挖掘和智能体、模型管理
2.5 专家系统(ES)
2.5.1 专家系统的概念:ES的基本概念、定义和范畴;人工智能(AI)的基本概念、特点和分支
2.5.2 专家系统的特点:专家系统和计算机系统的差别;ES的六个特点
2.5.3 专家系统的组成:ES的一般组成:知识库、综合数据库、推理机、知识获取、解释程序和人-机接口;求解过程
2.6 办公自动化系统(OAS)
2.6.1 办公自动化系统的概念:OAS的发展、目标、定义和范围
2.6.2 办公自动化系统的功能:事务处理、信息管理和辅助决策
2.6.3 办公自动化系统的组成:计算机设备、办公设备和软件系统
2.7 企业资源规划(ERP)
2.7.1 企业资源规划的概念:ERP的目标、定义、范围和发展
2.7.2 企业资源规划的结构:ERP的结构原理(生产预测、销售管理、经营计划、主生产计划、物料需求计划、能力需求计划、车间作业计划、采购与库存管理、质量与设备管理和财务管理)
2.7.3 企业资源规划的功能:支持决策的功能、不同行业的针对性IT解决方案、全行业和跨行业的供应链;PDM、CRM在企业的应用
2.8 典型信息系统架构模型
2.8.1 政府信息化与电子政务:电子政务的概念、内容和技术形式;中国政府信息化的策略和历程;电子政务建设的过程模式和技术模式
2.8.2 企业信息化与电子商务:企业信息化的概念和目的;企业信息化的规划和方法;电子商务的概念和标准
- 信息安全技术基础知识
3.1 信息安全基础知识
3.1.1 信息安全概述:信息安全的定义、基本要素、作用与意义;信息安全的范围(设备安全、数据安全、内容安全和行为安全)
3.1.2 信息存储安全:信息存储安全的定义、作用与意义;信息存储安全的范围(信息使用的安全、安全监控、病毒防治、数据加密和防止非法攻击等)
3.1.3 网络安全:网络安全的定义、作用与意义;网络安全的范围(安全漏洞、安全威胁和安全措施)
3.2 信息系统安全的作用与意义
· 国家安全与信息化领导小组的职能;国家对信息安全的相关要求和标准
3.3 信息安全系统的组成框架
3.3.1 技术体系:技术体系组成:基础安全设备、计算机网络安全、操作系统安全、数据库安全和终端设备安全
3.3.2 组织机构体系:组织机构组成:决策层、管理层和执行层
3.3.3 管理体系:管理体系组成:法律管理、制度管理和培训管理
3.4 信息加解密技术
3.4.1 数据加密:数据加密的作用、意义和内涵;保密通信模型
3.4.2 对称密钥加密算法:对称加密算法基本原理;三种加密算法:DES、IDEA和AES
3.4.3 非对称密钥加密算法:非对称加密算法基本原理;一种公钥加密算法RSA
3.5 密钥管理技术
3.5.1 对称密钥的分配与管理:密钥的使用控制(密钥标签和控制矢量);密钥的分配方法
3.5.2 公钥加密体制的密钥管理:公钥公开发布的原理;公用目录表的作用;公钥管理机构的建立和维护;公钥证书及管理机构(CA)
3.5.3 公钥加密分配单钥密码体制的密钥:单钥密码体制的密钥分配方法
3.6 访问控制及数字签名技术
3.6.1 访问控制技术:访问控制的基本模型(主体、客体和控制策略);访问控制的实现技术(访问控制矩阵、访问控制表、能力表和授权关系表等)
3.6.2 数字签名:数字签名的定义和条件;身份认证分类(数字签名、密钥和口令);对称密钥签名基本原理;公开密钥签名基本原理
3.7 信息安全的抗攻击技术
3.7.1 密钥的选择:密钥的分类(数据加密密钥(DK)、密钥加密密钥(KK));密钥生成涉及的三个因素(增大密钥空间、选择强钥和密钥的随机性)
3.7.2 拒绝服务攻击与防御:拒绝服务攻击DoS的定义;传统拒绝服务攻击的分类(消耗资源、破坏或更改配置信息、物理破坏或改变网络部件、利用服务程序中的处理错误使服务失效);分布式拒绝服务攻击(DDoS);拒绝服务攻击的防御方法(特征识别、防火墙、通信数据量的统计、修正问题和漏洞)
3.7.3 欺骗攻击与防御:ARP、DNS和IP三种欺骗攻击的原理和防御方法
3.7.4 端口扫描:端口扫描的目的和基本原理;端口扫描原理分类(全TCP连接、SYN扫描、FIN扫描和代理扫描)
3.7.5 强化TCP/IP堆栈以抵御拒绝服务攻击:同步包风暴、ICMP攻击和SNMP三种攻击的原理及抵御方法
3.7.6 系统漏洞扫描:系统漏洞扫描的基本原理和意义;基于网络的漏洞扫描方法;基于主机的漏洞扫描方法
3.8 信息安全的保障体系与评估方法
3.8.1 计算机信息系统安全保护等级:安全保护能力的5个等级(用户自主保护级、系统审计保护级、安全标记保护级、结构化保护级和访问验证保护级);安全性规章与保护私有信息规则(信息系统安全法规与制度、计算机防病毒制度和保护私有信息规则);安全保密管理及协议(防泄露,数字水印;安全协议(SSL、PGP和IPSec))
3.8.2 安全风险管理:安全风险管理的定义、作用和重要性;风险评估的基本要素及其关系(脆弱性、资产、威胁、风险和安全措施);安全威胁的定义和内涵;脆弱性评估方法
- 软件工程基础知识
4.1 软件工程
4.1.1 软件工程概述:软件工程的发展历程和软件危机;软件工程的定义
4.1.2 软件过程模型:瀑布模型(模型原理和特点);原型(快速)模型(模型原理和特点);增量模型(模型原理和特点);螺旋模型(模型原理和特点);构件组装模型(模型原理和特点);敏捷模型(发展、目的和模型原理);统一过程模型(RUP)(模型原理、核心概念、特点和工作步骤)
4.1.3 敏捷模型:敏捷模型的定义、基本原理和特点;敏捷开发的核心思想(适应型、以人为本和迭代增量式)
4.1.4 统一过程模型(RUP):RUP的核心概念和特点;RUP的生命周期;"4+1"视图模型
4.1.5 软件能力成熟度模型:CMMI的概述、发展和意义;CMMI的成熟度等级、关键过程域和过程目标
4.2 需求工程
· 需求工程的发展、内容和特点;需求工程的主要活动(需求获取、需求分析、形成需求规格、需求确认与验证、需求管理)
4.2.1 需求获取:需求获取的基本步骤;需求获取的方法(用户面谈、专题讨论会、问卷调查、现场观察、原型化方法和头脑风暴)
4.2.2 需求变更:变更控制过程;变更控制委员会(CCB)的职责和权益
4.2.3 需求追踪:需求追踪的内涵和作用;双向跟踪及需求跟踪矩阵
4.3 系统分析与设计
· 系统分析与设计的目标、意义和范围
4.3.1 结构化方法(SASD):结构化方法的定义、合理性准则和使用的手段;结构化方法:结构化分析(SA)、结构化设计(SD)和结构化编程(SP);结构化分析、设计和实现图示(DFD、ERD、UML、流程图、NS图、PAD、PDL和E-R图);结构化分析(定义、分析步骤、DFD和数据字典);结构化设计(基本思想、模块结构、系统SC、基本步骤、业务流图、程序流程图、PAD、NS和PDL);结构化编程(基本思想、步骤和结构化程序设计的原则);数据库设计(概念结构设计、逻辑结构设计和E-R)
4.3.2 面向对象方法:面向对象方法的定义、内涵、过程和设计原则;面向对象分析方法OOA(5个层次、5项活动、基本原则和步骤);面向对象设计方法OOD(内涵、三种类型(实体类、边界类和控制类)和步骤);面向对象程序设计OOP(目标、基本原则和特点);数据持久化与数据库(SQL、JDBC和 (注:此处原文排版截断))
4.3.3 其他设计方法:构件与软件重用;逆向工程;形式化方法
4.4 软件测试
· 软件测试的目的和意义
4.4.1 测试方法:静态测试、动态测试、黑盒测试、白盒测试和灰盒测试;验证与确认(V&V);测试自动化(测试脚本设计和测试用例自动生成)
4.4.2 测试阶段:阶段:单元测试、集成测试、系统测试、性能测试、验收测试和AB测试;测试项:代码审查、语句覆盖测试、结构覆盖测试、功能测试、性能测试、鲁棒性测试、压力测试、安全性测试、可靠性测试和验收测试
4.5 净室软件工程
· 净室软件工程的定义、意义和作用
4.5.1 理论基础:函数理论;抽样理论
4.5.2 技术手段:统计过程控制下的增量式开发;基于函数的规范和设计;正确性验证;统计测试和软件认证
4.5.3 应用与缺点:发展历程、应用场景和缺点
4.6 基于构件的软件工程(CBSE)
· CBSE的定义、作用和特点
4.6.1 构件和构件模型:CBSE的构件应该具备的特征;构件模型基本要素(接口、使用信息和部署)
4.6.2 CBSE过程:系统需求概览、识别候选构件、根据发现的构件修改需求、体系结构设计、组装构件并创建系统
4.6.3 构件组装:方法:顺序组装、层次组装和叠加组装
4.7 软件项目管理
4.7.1 项目管理概述:项目管理的发展历史;项目管理的目标、范围、时间和成本;软件项目管理的主要内容(进度、配置、质量和风险管理)
4.7.2 软件进度管理:进度的定义和活动;WBS和任务活动图
4.7.3 软件配置管理(SCM):软件配置管理的定义、目标和活动;SCM核心内容:版本控制和变更控制
4.7.4 软件质量管理:软件质量管理的目标、范围和活动;软件质量保证(SQA)的主要任务(审计与评审、报告、处理不符合问题和体系认证);质量认证标准(ISO9001、CMMI)
4.7.5 软件风险管理:软件风险管理的目标和方法;Boehm的软件风险管理体系;风险估计:风险辨识、风险分析和风险排序;风险控制:风险管理计划、风险处理和风险监督;Charette的风险分析和管理体系;分析:辨识、估计和评价;管理:计划、控制和监督
- 数据库设计基础知识
5.1 数据库基本概念
5.1.1 数据库技术的发展及分类:数据库的定义和发展阶段;DB、DBS和DBMS区分方法;数据库分类(分布式数据库系统、并行数据库系统、数据仓库与数据挖掘)
5.1.2 数据模型:层次和网状数据库系统;关系数据库系统;第三代数据库系统
5.1.3 数据库管理系统:DBMS的定义和范围;DBMS的功能及特点
5.1.4 数据库三级模式:数据库三级模式;数据库三级模式的定义和划分;数据库系统的体系结构(物理层、逻辑层和视图层);数据库系统的三级模式(外模式、概念模式和内模式)
5.2 关系数据库
5.2.1 关系数据库基本概念:关系数据库的定义及发展;基本术语(属性、域、目或度和候选码等);关系数据库模式;关系的完整性约束(实体完整性、参照完整性和用户定义完整性)
5.2.2 关系运算:集合运算符;专门的关系运算符;算术比较符;逻辑运算符
5.2.3 关系数据库设计基本理论:函数依赖、多值依赖和规范化
5.3 数据库设计
5.3.1 数据库设计的基本步骤:数据库设计的六个步骤(用户需求、概念设计、逻辑设计、物理设计、数据库实施、运行和维护)
5.3.2 数据需求分析:需求分析阶段的任务;需求分析的参与者;分析和表达用户需求的方法(结构化分析方法(SA))
5.3.3 概念结构设计:E-R方法;设计步骤(选择局部应用、逐一设计分E-R图、E-R图合并)
5.3.4 逻辑结构设计:E-R转化为关系模式、关系模式规范化、完整性约束、确定用户视图、反规范化
5.3.5 物理设计:设计步骤(确定数据分布、确定数据的存储结构、确定访问方式)
5.3.6 数据库实施设计:确定数据库结构(数据定义语言(DDL)、模式与子模式、完整性描述、安全性描述和存储参数描述);数据加载(手工录入、数据转换工具);试运行和评价目标、测试要求
5.3.7 数据库运行维护:运行维护目的、要求和意义;性能的监测和改善(SQL Server Profiler组件、Transaction-SQL工具和Query Analyzer组件);备份及故障恢复(备份方案);重组和重构
5.4 用户访问数据库的标准接口
5.4.1 库函数级别访问接口:OCI接口的定义;OCI的开发方法
5.4.2 嵌入SQL访问接口:嵌入式SQL-86定义;SQL-86规范
5.4.3 通用数据接口标准(ODBC):ODBC的定义、作用和优势;ODBC接口标准
5.4.4 ORM访问接口:ORM的定义和作用;典型的ORM框架(hibernate、Mybatis和JPA)
5.5 NoSQL数据库系统
· NoSQL的定义、基本功能和用途
5.5.1 分类与特点:四类NoSQL数据库(列式存储数据库、键值对存储数据库、文档型数据库、图数据库)
5.5.2 体系框架:NoSQL的四层框架(数据持久层、数据分布层、数据逻辑模型层和接口层);NoSQL数据库的适应场景
- 系统架构设计基础知识
6.1 软件架构概念
6.1.1 软件架构的定义:软件架构的定义、发展历程以及作用;架构设计分类(数据设计和体系结构设计)
6.1.2 软件架构设计与生命周期:软件架构的生命周期(需求阶段、设计阶段、实现阶段、构件组装阶段、部署阶段和后开发阶段);Use Case图、体系结构描述语言ADL、4+1模型和UML语言;IEEE标准1471---2000标准
6.1.3 软件架构的重要性
6.2 基于架构的软件开发方法(ABSD)
6.2.1 体系结构的设计方法概述:ABSD方法的定义、适应范围;三个基础(分解、内聚和耦合,质量和商业需求,模板的使用)
6.2.2 概念与术语:设计元素、视角与视图、用例和质量场景
6.2.3 基于体系结构的开发模型:传统的软件开发和ABSD的差别;ABSD模型涵盖的阶段(体系结构需求、体系结构设计、体系结构文档化、体系结构复审、体系结构实现、体系结构的演化)
6.2.4 体系结构需求:需求获取、标识构件、架构需求评审
6.2.5 体系结构设计:体系结构设计过程模型
6.2.6 体系结构文档化:体系结构规格说明和测试体系结构需求的质量设计说明书
6.2.7 体系结构复审:复审的目的、要求和意义
6.2.8 体系结构实现:体系结构实现过程模型
6.2.9 体系结构的演化:体系结构演化的定义和作用;演化步骤
6.3 软件架构风格
6.3.1 软件架构风格概述:软件体系结构风格的定义、内涵、分类和作用
6.3.2 数据流体系结构风格:批处理体系结构风格;管道-过滤器体系结构风格
6.3.3 调用/返回体系结构风格:主程序/子程序风格;面向对象体系结构风格;层次型体系结构风格;客户端/服务器体系结构风格
6.3.4 以数据为中心的体系结构风格:仓库体系结构风格;黑板体系结构风格
6.3.5 虚拟机体系结构风格:解释器体系结构风格;规则系统体系结构风格
6.3.6 独立构件体系结构风格:进程通信体系结构风格;事件系统体系结构风格
6.4 软件架构的复用技术
· 软件架构复用的定义及分类;架构复用的定义和作用;分类(机会复用和系统复用);软件架构复用的原因;架构复用的能力和优势;软件架构复用的对象及形式;复用的资产对象内容;软件架构复用的基本过程
6.4.1 构造或获取复用资产
6.4.2 管理复用资产(构件库、构件分类和检索)
6.4.3 使用复用资产(资产的修改、扩展、配置、组装与集成)
6.5 特定领域软件架构(DSSA)
6.5.1 DSSA的定义和适应场景:垂直域和水平域
6.5.2 DSSA的基本活动:领域分析、领域设计和领域实现
6.5.3 参与DSSA的人员:4种角色:领域专家、领域分析师、领域设计人员和领域实现人员
6.5.4 DSSA的建立过程:五个阶段(定义领域范围,定义领域元素,定义领域设计和实现需求约束,定义领域模型和体系结构,产生、搜集可重用的产品单元);DSSA的三层次系统模型
- 系统质量属性与架构评估
7.1 软件系统质量属性
7.1.1 质量属性概念:软件质量的定义、范围和具体内涵;影响软件质量的主要因素;开发期质量属性和运行期质量属性;GB/T 16260.1标准
7.1.2 面向架构评估的质量属性:评估方法普遍关注的质量属性(性能、可靠性、可用性、安全性、可修改性、功能性、可变性和互操作性)
7.1.3 质量属性场景描述:质量属性场景的定义、组成和重点关注的属性;重点关注的6个属性场景的内涵
7.2 系统架构评估
7.2.1 系统架构评估中的重要概念:架构评估的基本概念;核心概念(敏感点和权衡点、风险承担者(利益相关人)和场景);架构评估方法的分类(基于调查问卷或检查表的方式、基于场景的方式和基于度量的方式)
7.2.2 系统架构评估方法:非功能质量属性的架构分析方法(SAAM);架构权衡分析方法(ATAM);成本效益分析法(CBAM);其他评估方法(如SAEM、SAABNet和SACMM等)
7.3 ATAM方法架构评估实践:评估实践的四个基本阶段:演示、调查和分析、测试和报告ATAM
- 软件可靠性技术
8.1 软件可靠性基本概念
8.1.1 软件可靠性定义:软件可靠性的定义、目标与硬件可靠性的区别;软件可靠性的框架性定义(规定的时间、规定的条件、所要求的功能、具有的特点);软件可靠性工程的定义和阶段(分配、设计、分析、测试和评估)
8.1.2 软件可靠性的定量描述:软件可靠性的度量方法和意义;主要度量指标(失效概率、可靠度、失效强度、平均失效前时间、平均恢复前时间、平均故障间隔时间)
8.1.3 可靠性目标:失效严重程度(按成本影响)的等级分类
8.1.4 可靠性测试的意义:软件可靠性测试的目的和意义;软件可靠性测试的发展
8.1.5 广义的可靠性测试与狭义的可靠性测试:广义的可靠性测试定义;狭义的可靠性测试定义
8.2 软件可靠性建模
8.2.1 影响软件可靠性的因素:影响软件可靠性的主要因素(技术层面):运行剖面、软件规模、软件内部结构、开发方法和开发环境、可靠性投入
8.2.2 软件可靠性的建模方法:软件可靠性模型的基本组成;假设的局限性;软件可靠性模型的重要特性
8.2.3 软件可靠性的模型分类:可靠性模型分类;十类常用模型的内涵
8.3 软件可靠性管理
· 软件可靠性管理的目标、计划、进度、任务和修正措施等
· 软件工程各个阶段需开展的可靠性活动
8.4 软件可靠性设计
· 软件可靠性设计方法准则(简化设计、重用设计和健壮性设计)
8.4.1 容错设计技术:分类:信息容错、结构容错和信息容错;方法:日志和副本、指令复执和程序卷回、冗余、N版本(NVP)和恢复块(RB)
8.4.2 检错设计技术:检错设计技术的重点考虑要素:检测对象、检测延时、实现方式和处理方式;检错设计方法:简单原理、同型原理、对称原理、层次原理和安全原理等
8.4.3 降低复杂度设计:软件的复杂性与可靠性关系;故障树分析(FTA)、失效模式与效应分析(FMEA)方法的应用
8.4.4 系统配置技术:双机热备技术;服务器集群技术
8.5 软件可靠性测试
8.5.1 软件可靠性测试概述:软件可靠性测试的目标和意义;可靠性测试的一般要求;要求及目前存在的问题;软件可靠性测试的分类(可靠性增长测试、可靠性验证测试和可靠性摸底测试)
8.5.2 定义软件运行剖面:软件运行剖面的含义和划分;马尔可夫链建模方法
8.5.3 可靠性测试用例设计:典型测试用例的基本组成;用例设计重点关注的特殊问题
8.5.4 可靠性测试的实施:软件可靠性测试实施应注意的事项;可靠性数据(失效时间数据、失效间隔时间数据、分组时间内的失效数和分组时间的累积失效数)
8.6 软件可靠性评估
8.6.1 软件可靠性评价概述:软件可靠性评估的目的和意义;可靠性评估过程(选择可靠性模型、收集可靠性数据、可靠性评估和预测)
8.6.2 可靠性模型的选择:可靠性模型比较和选择应考虑的方面(模型假设的适用性、预测的能力与质量、满足可靠性评价需求和使用的简便性)
8.6.3 可靠性数据的收集:可靠性数据收集存在的问题;数据收集的办法
8.6.4 软件可靠性的评估和预测:以模型为依据的可靠性评价技术;软件可靠性估计的软件工具;软件可靠性定量方法的灵活使用
- 软件架构的演化和维护
9.1 软件架构演化概述
9.1.1 演化的重要性:软件架构演化的定义和重要性;软件架构的演化能更好地保证软件演化的原因;软件架构演化原则
9.1.2 演化和定义的关系:软件架构演化主要关注点(组件、连接件和约束)
9.2 面向对象软件架构演化过程
9.2.1 对象演化:对象演化的内涵;对象自身的演化是组件接口、类型和语义等属性的演化
9.2.2 消息演化:对象演化的内涵;消息演化的核心元素
9.2.3 复合片段演化:复合片段的定义;复合片段演化的内涵
9.2.4 约束演化:约束信息的概念;约束演化的实质
9.3 软件架构的演化分类
· 三种典型分类方法
9.3.1 软件架构演化时期:演化的四个时期:设计时演化、运行前演化、有限制运行时演化和运行时演化
9.3.2 软件架构静态演化:软件架构静态演化基本概念;静态演化需求;一般过程;原子演化操作;正交软件架构的演化实例
9.3.3 软件架构动态演化:软件架构动态演化基本概念;动态演化需求;动态演化的等级和内容;动态软件架构(DSA);动态重配置(DR)
9.4 软件架构可持续演化原则
· 软件架构可持续演化原则和度量方案
9.5 软件架构演化评估方法
9.5.1 演化过程已知的评估:演化过程已知的评估方法内涵;评估流程、中间版本度量、质量属性距离和演化评估
9.5.2 演化过程未知的评估:演化过程未知的评估方法内涵;架构演化的评估过程
9.6 软件架构演化实例分析:10个演化阶段实例
9.7 软件架构维护
9.7.1 软件架构知识管理:架构知识的定义、管理的含义、管理的需求和管理现状
9.7.2 软件架构修改管理:隔离区域
9.7.3 软件架构版本管理:软件架构版本管理的作用
9.7.4 软件架构可维护性度量实践:架构的圈复杂度(CCN);扇入扇出度(FFC);模块间耦合度(CBO);模块的响应(RFC);紧内聚度(TCC);松内聚度(LCC)
-
未来信息综合技术
10.1 信息物理系统(CPS)技术
10.2 人工智能(AI)技术
10.3 机器人技术
10.4 边缘计算技术
10.5 数字孪生技术
10.6 云计算和大数据技术
-
标准化与知识产权
· 标准化意识、标准化的发展和标准的生命周期
· 国际标准、美国标准、国家标准、国家军用标准、行业标准、地方标准和企业标准
· 代码标准、文件格式标准、安全标准、软件开发规范和文档标准
· 标准化机构
· 知识产权(专利和著作权)
-
应用数学
· 概率统计应用
· 图论应用
· 组合分析
· 算法(数值算法与非数值算法)的选择与应用
· 运筹方法(网络计划技术、线性规划、预测、决策、库存管理和模拟)
· 数学建模
-
专业英语
· 具有高级工程师所要求的英文阅读水平
· 掌握本领域的英语术语
考试科目2:系统架构设计案例分析
-
系统计划
1.1 系统项目的提出与可行性分析
1.2 系统方案的制定、评价和改进
1.3 新旧系统的分析和比较
1.4 现有软件、硬件和数据资源的有效利用
-
信息系统架构的设计理论与实践
2.1 信息系统架构概述
· 信息系统架构的定义和发展
· 信息系统架构的分类(集中式和分布式)
· 信息系统常用的四种架构模型:单机应用模式;客户机/服务器(C/S)模式(两层C/S、三层C/S或B/S、多层C/S、MVC);面向服务架构(SOA)模式;企业数据交换总线
· 企业信息系统的总体框架:战略系统;业务系统;应用系统;信息基础设施
2.2 信息系统架构设计方法(ADM)
· 开放式企业架构框架标准(TOGAF)
· ADM架构开发方法(定义、ADM方法的开发阶段划分、详细活动说明)
2.3 信息化总体架构方法
· 信息化的一般概念(定义、生产力、建设和特征)
· 信息化工程建设方法
· 信息化架构模式(数据导向架构和流程导向架构)
· 信息化建设生命周期
· 信息化工程总体规划的方法论(关键成功因素法、战略目标集转化法和企业系统规划法)
· 信息化资源管理
· 国际和国内有关信息化的标准、法律和规定
2.4 案例分析
· 价值驱动的体系结构
· Web服务在HL7上的应用
· 以服务为中心的企业整合
- 层次式架构的设计理论与实践
3.1 层次式架构概述
· 层次式架构的定义和特性
· 层次式架构的一般组成(表现层、中间层、数据访问层和数据层)
3.2 表现层框架设计
· 设计模式(MVC、MVP和MVVM)
· XML技术
· UIP设计思想
· 动态生成设计思想
3.3 中间层架构设计
· 业务逻辑层组件设计
· 业务逻辑层工作流设计
· 业务逻辑层实体设计
· 业务逻辑层框架
3.4 数据访问层设计
· 访问模式
· ORM、Hibernate与CMP2.0设计思想
· 灵活运用XML Schema
· 事务处理设计
· 连接对象管理设计
3.5 数据层架构规划与设计
· 数据库设计与类的设计融合的方法
· 数据库设计与XML设计融合的方法
3.6 物联网的层次架构设计
· 物联网的一般层次架构(三层体系结构)
3.7 案例分析
· 电子商务网站基于物联网架构的电子小票服务系统
- 云原生架构设计理论与实践
4.1 云原生架构概述
· 云原生的背景、定义和特征
· 云原生架构的设计原则
· 架构模式(服务化架构模式、Mesh化架构模式、Serverless模式、存储计算分离模式、分布式事务模式、可观测架构和事件驱动架构)
4.2 云原生架构相关技术
· 容器技术
· 云原生微服务技术
· 无服务器技术
· 服务网格
4.3 案例分析
· 某旅行公司云原生改造
· 某汽车公司数字化转型实践
· 某快递公司核心业务系统改造
· 某电商业务改造
· 某体育用品公司基于云原生架构的业务中台构建
- 面向服务的架构设计理论与实践
5.1 面向服务的架构概述
· SOA的定义和发展现状
· 面向Web服务的业务流程执行语言(BPEL)
· SOA的参考架构(IBM的Websphere业务集成参考架构)
· SOA主要遵守的协议和规范(UDDI协议、WSDL规范、SOAP协议和REST规范)
· SOA的作用
5.2 面向服务的架构设计
· SOA的设计原则
· SOA的设计模式(服务注册表模式、企业服务总线模式、微服务模式)
· 设计SOA架构应注意的问题
5.3 面向服务的架构实施过程
· 选择SOA解决方案
· 业务流程分析(建立服务模型和建立业务流程)
- 嵌入式系统的架构设计理论与实践
6.1 嵌入式系统概述
· 嵌入式系统的定义和发展现状
· 嵌入式系统的硬件体系结构:嵌入式微处理器及其分类;存储器及其分类;内、外总线及其分类;看门狗电路
· 嵌入式系统软件架构概述
6.2 嵌入式系统软件架构的原理与特征
· 嵌入式软件架构原理(层次化模式和递归模式)
· 嵌入式操作系统:定义、特点和分类;一般架构;基本功能及典型调度算法;典型产品比较
· 嵌入式数据库:定义、特点和分类;一般架构(内存类、文件类和网络类);主要功能;典型产品比较
· 嵌入式中间件:定义、特点和分类;一般架构(消息中间件和分布式对象中间件);主要功能;典型产品(CORBA和DDS)
· 嵌入式系统软件开发环境:定义、特点和分类;一般架构(基于Eclipse框架的层次结构);主要功能;典型开发环境(基于GCC开源工具的软件开发环境、Wokbench软件开发环境、MULTI®集成开发环境)
6.3 嵌入式系统软件架构设计方法
· 基于架构的软件开发方法(ABSD)
· 属性驱动的软件设计方法(ADD)
· 实时系统的设计方法(DARTS)
6.4 案例分析
· 鸿蒙操作系统架构案例分析
· 面向安全攸关系统的跨领域GeneSys系统架构
· 物联网操作系统软件架构
- 通信系统架构的设计理论与实践
7.1 通信系统的架构
· 局域网网络架构(单核心架构、双核心架构、环型架构和层次局域网架构)
· 局域网网络协议的应用:互为主备的交换或路由:VRRP、HSRP和GLBP;二层网络:STP和LACP;三层设备:OSPF、RIP和BGP
· 广域网网络架构(单核心架构、双核心架构、环型架构、半冗余、对等子域和层次子域)
· 移动通信网网络架构(5GS与DN互连、5G网络边缘计算等)
· 存储网络架构(DAS、NAS和SAN)
· 软件定义网络架构(SDN)
7.2 网络构建的关键技术
· 网络高可用设计(定义、架构和协议配置)
· IPV4与IPV6融合组网关键技术(双协议栈、隧道技术和地址翻译机制等)
· SDN技术
7.3 网络构建和设计方法
· 网络需求分析步骤(业务需求、用户需求、计算机平台需求和网络需求)
· 网络技术遴选(局域、广域、地址规划模型、路由协议、层次化网络模型设计和高可用设计)
· 绿色网络设计方法(目的、作用和设计原则)
7.4 网络安全相关技术
· 防火墙布设(包过滤型、应用层网关和代理服务型)
· VPN技术(IPSec、GRE、MPLS VPN和VPDN)
· 访问控制技术(认证、策略和审计)
· 网络安全隔离(子网隔离、VLAN隔离、逻辑隔离和物理隔离等)
· 网络安全协议(SSL、SET和HTTPS)
7.5 案例分析
· 高可用网络构建分析
· 园区网双栈构建分析
· 5G网络应用
- 安全架构的设计理论与实践
8.1 安全架构概述
· 信息安全面临的威胁
· 安全架构的定义和范围(产品安全架构、安全技术体系架构和审计架构)
· 信息安全相关的国内外标准及组织
· 主要安全模型:状态机模型(BLP)模型;Bell-LaPadula模型;Biba模型;Clark-Wilson(CWM)模型;ChineseWall模型
8.2 系统安全体系架构规划框架
· 安全技术体系架构
· 信息系统安全体系规划(技术体系、组织机构体系和管理体系)
· 信息系统安全规划框架
8.3 信息安全整体架构设计(WPDRRC模型)
· WPDRRC体系架构模型概述(6个环节和3大要素)
· 信息安全体系架构设计方法:安全保障体系(确定安全策略、统一配置和管理防病毒系统、网络安全管理);信息安全体系架构(物理安全、系统安全、网络安全、应用安全和安全管理);面向企业安全控制系统的安全架构设计
8.4 网络安全体系架构设计
· OSI的安全体系架构概述
· OSI安全架构(7层协议)
· 鉴别框架
· 访问控制框架
· 机密性框架
· 完整性框架
· 抗抵赖框架
8.5 数据库系统的安全设计
· 数据库安全设计的评估标准
· 数据库的完整性设计方法(设计原则、作用和示例)
8.6 系统架构的脆弱性分析
· 软件脆弱性的定义、特点和分类
· 软件脆弱性的生命周期
· 软件脆弱性的分析方法
· 典型的软件架构脆弱性分析(分层、C/S、B/S、事件驱动、MVC、微内核和微服务)
8.7 案例分析
· 电子商务系统的安全性设计
· 基于混合云的工业安全架构设计
- 大数据架构设计理论与实践
9.1 大数据处理系统概述
· 传统数据处理系统存在的问题
· 大数据处理系统面临的挑战
· 大数据处理系统的定义、范围和特征
9.2 典型的大数据架构
· Lambda架构:来源、定义、应用场景和优缺点;体系结构(Batch Layer(批处理层)、Speed Layer(加速层)、Serving Layer(服务层))
· Kappa架构:来源、定义、应用场景和优缺点;体系结构;常见kappa架构的变形架构
9.3 案例分析
· 某网在奥运转播中的大数据应用
· 某网广告平台的应用与演进
· 某证券公司大数据系统
· 某电商智能决策大数据系统
考试科目3:系统架构设计论文
根据给出的与系统架构设计有关的若干个专题,选择其中一个专题,按照规定的要求撰写论文。
-
系统建模
· 定义问题与归结模型
· 结构化系统建模
· 面向对象系统建模
· 数据库建模
· 可靠性建模
· 系统评估建模
-
软件架构设计
· 软件架构风格选择
· 软件架构设计
· 特定领域软件架构
· 基于架构的软件开发方法
· 属性驱动的软件设计方法
· 实时系统设计方法
· 软件架构演化
· 架构质量和评估
· 架构脆弱性分析
-
系统设计
· 信息系统的总体框架设计
· 大数据处理系统流程设计
· SOA及分布式系统总体设计
· 系统人-机界面设计
· 嵌入式系统设计
· 数据库系统设计
· 文件设计、存储设计
· 通信和网络应用系统设计
· 系统运行环境的集成与设计
· 系统性能设计
· 系统安全性和可靠性设计
· 中间件、构件化系统设计
-
系统的可靠性分析与设计
· 系统的故障模型和可靠性模型
· 提高系统可靠性的措施
· 系统的故障对策和系统的备份与恢复
· 系统可靠性分析、预计与评估
-
系统的安全性和保密性设计
· 系统的访问控制技术
· 数据的完整性
· 数据与文件的加密
· 系统抗攻击设计
· 通信的安全性
· 系统安全性评估与认证
三、题型举例
(一)选择题
-
在TCP/IP协议分层结构中,SNMP是在(1)协议之上的(2)请求/响应协议。在ISO/OSI/RM基础上的公共管理信息服务/公共管理信息协议CMIS/CMIP是一个完整的网络管理协议族,网络管理应用进程使用OSI参考模型的(3)。
(1) A. TCP B. UDP C. HTTP D. IP
(2) A. 异步 B. 同步 C. 主从 D. 面向连接
(3) A. 网络层 B. 传输层 C. 表示层 D. 应用层
-
软件产品线主要由(4)和产品集合两部分组成。
(4) A. 构件库 B. 核心资源 C. 体系结构 D. 开发组织
(二)问答题
阅读以下关于软件体系结构方面的叙述,回答问题1和问题2。
某集团公司要开发一个网络财务程序,使各地员工能在互联网络上进行财务处理和报销。在设计该财务程序的体系结构时,项目组产生了分歧:
(1)张工程师认为应该采用客户机/服务器(C/S)结构,各分公司财务部要安装一个软件客户端,通过这个客户端连接到总公司财务部主机。如果员工在外地出差,需要报销账务的,也需要安装这个客户端才能进行。
(2)李工程师认为应该采用浏览器/服务器(B/S)结构,各分公司及出差员工直接通过Windows操作系统自带的IE浏览器就可以连接到总公司的财务部主机。
经过项目组的激烈讨论,最终选用了C/S和B/S混合结构。
【问题1】
请用200字以内的文字简要讨论C/S结构与B/S结构的区别及各自的优点和缺点。
【问题2】
请用200字以内的文字说明如何设计C/S和B/S混合结构,这样设计有什么好处?
(三)论文题
论系统设计中对用户需求的把握
对于系统工程师来说,在把某项工作系统化的时候,正确地理解该项工作的内容并设计出有效的系统,是一件最困难的事情。
为了把用户的需求正确无误地反映到系统的规格说明中去,常规的做法是把系统的规格说明书和输出的报表交给用户征求意见。在某些情况下,还要做出系统的原型,请用户试用。
请围绕"系统设计中对用户需求的把握"论题,依次对以下三个问题进行论述。
- 叙述你参与的开发工程的概要,以及你所担任的工作。
- 就你所下过功夫的地方进行叙述,为了把用户需求反映到系统规格说明书中去,采用过什么手段与用户进行通信?
- 对于你所采用的手段,各举出一点你认为有效果的方面和无效果的方面,简要叙述你对这方面的评价。