有道无术,术尚可求,有术无道,止于术。

本系列参考系统架构设计师教程【清华大学出版社】

考试要求

系统架构设计师人员能够根据系统需求规格说明书,结合应用领域和技术发展的实际情况,考虑有关约束条件,设计正确、合理的软件架构,确保系统架构具有良好的特性;能够对项目的系统架构进行描述、分析、设计与评估;能够按照相关标准编写相应的设计文档;能够与系统分析师、项目管理师相互协作、配合工作;具有高级工程师的实际工作能力和业务水平。

通过系统架构设计师考试,代表你将拥有高级专业技术资格(高级工程师系列,副高级),从级别上讲,它相当于副教授、高级教师等,从专业技术资格来讲没有区别(国家承认,企业不一定…)。

系统架构设计师考试要求:

(1)掌握计算机硬软件与网络的基础知识;
(2)熟悉信息系统开发过程;
(3)理解信息系统开发标准、常用信息技术标准;
(4)熟悉主流的中间件和应用服务器平台;
(5)掌握软件系统建模、系统架构设计基本技术;
(6)熟练掌握信息安全技术、安全策略、安全管理知识;
(7)了解信息化、信息技术有关法律、法规的基础知识;
(8)了解用户的行业特点,并根据行业特点架构合适的系统设计;
(9)掌握应用数学基础知识;
(10)熟练阅读和正确理解相关领域的英文文献;

考试设置的科目包括

科目题目时长合格线
信息系统综合知识笔试,75道选择题(每个一分,共75分)150分钟45分及以上
系统架构设计案例分析笔试,3道问答题(1必答+4选2)90分钟45分及以上
系统架构设计论文笔试,1道论文题(4选1)120分钟45分及以上

系统架构设计师考试分为三门科目,三门考试必须同时通过,才能拿到证书,否则下次重考三门

需要注意的是系统架构设计师只在下半年开考,也就是一年只有一次考试机会,所以需要注意报名时间(一般考前三个月,即8月份左右),不要错过报名。。。

科目一考点

信息系统综合知识(简称科目一),考试时间是在上午9:00-11:30,虽然都是单选题,但几乎涵盖了教程的每章知识点,所以列举了教程中所有的章节,并标出重点。

第1章 操作系统(3分)

要求考生掌握以下知识点∶

(1)操作系统的类型和结构∶

(2)操作系统的基本原理;

(3)网络操作系统及网络管理;

(4)嵌入式操作系统与实时操作系统。

第2章 数据库系统(5分)

要求考生掌握以下知识点∶

(1)信息系统综合知识∶包括数据库管理系统的类型、数据库管理系统结构和性能评价、常用的关系型数据库管理系统、数据库模式、数据库规范化、分布式数据库系统、并行数据库系统、数据仓库与数据挖掘技术、数据库工程、备份恢复。

(2)系统架构设计案例分析和论文∶数据库建模、数据库设计、数据库系统的备份与恢复。

第3章 嵌入式系统(2分)

要求考生掌握以下知识点∶

(1)信息系统综合知识∶包括嵌入式系统的特点、嵌入式系统的硬件组成与设计、嵌入式系统应用软件及开发平台、嵌入式系统网络、嵌入式系统数据库、嵌入式操作系统与实时操作系统。

(2)系统架构设计案例分析∶包括实时系统和嵌入式系统特征、实时任务调度和多任务设计、中断处理和异常处理、嵌入式系统开发设计。

第4章 数据通信与计算机网络(5分)

要求考生掌握以下知识点∶

(1)信息系统综合知识∶包括数据通信的基础知识、开放系统互连参考模型、常用的协议标准、网络互连与常用网络设备、计算机网络的分类与应用、网络管理。

(2)系统架构设计案例分析∶包括网络应用系统的设计。

第5章 多媒体基础知识(3分)

要求考生掌握以下知识点∶

(1)多媒体的类型、特点及数据格式。

(2)多媒体数据的压缩编码。

第6章 系统性能评价(2分)

要求考生掌握以下知识点∶

(1)性能计算(响应时间、吞吐量、TAT)。

(2)性能设计(系统调整、Amdahl解决方案、响应特性、负载均衡)。

(3)性能指标(SPEC-Int、SPEC-Fp、TPC、Gibsonmix、响应时间)

(4)性能评估。

第7章 信息系统基础知识(5分)

要求考生掌握以下几个方面的知识点∶

(1)信息系统工程总体规划∶包括总体规划目标、范围;总体规划的方法论;信息系统的组成、实现。

(2)政府信息化与电子政务∶包括电子政务的概念、内容、技术形式;中国政府信息化的策略和历程;电子政务建设的过程模式和技术模式。

(3)企业信息化与电子商务∶包括企业信息化的概念、目的、规划、方法;企业资源计划的主要模块和主要算法,企业业务流程重组,客户关系管理、产品数据管理在企业的应用;知识管理∶企业应用集成,全程供应链管理的思想;商业智能∶电子商务的类型、标准。

(4)信息资源管理。

(5)国际和国内有关信息化的标准、法律和规定。

第8章 系统开发基础知识(11分)

系统开发知识是系统架构设计师考试的重点,无论是信息系统综合知识考试,还是案例分析试题和论文试题,重点都将落在系统开发知识上,因此,考生必须要掌握本章的内容。

要求考生掌握以下知识点∶

1. 信息系统综合知识

(1)开发管理∶包括项目的范围、时间、成本;文档管理工作、配置管理∶软件开发的质量与风险,软件的运行与评价;软件过程改进。

(2)需求管理∶包括需求变更、需求跟踪、需求变更风险管理。

(3)软件开发方法∶包括软件开发生命周期、软件开发模型(瀑布模型、演化模型、增量模型、螺旋模型、原型、构件组装模型、RUP、敏捷方法)、构件与软件重用、逆向工程、形式化方法。

(4)软件开发环境与工具∶包括集成开发环境、开发工具(建模工具、分析设计工具、编程工具、测试工具、项目管理工具等)。

(5)设计方法∶包括分析设计图示(DFD、ERD、UML、流程图、NS图、PAD),结构化分析与设计,模块设计,面向对象的分析与设计,I/O设计、人机界面设计,设计模式。

(6)基于构件的开发∶包括构件的概念与分类、中间件技术、典型应用架构(J2EE、.NET)。

(7)应用系统构建∶包括应用系统设计与开发(分析与设计方法的使用、外部设计、内部设计、程序设计、测试)。软件包的使用(开发工具、运行管理工具、业务处理工具、ERP、群件、OA工具)。

(8)测试与评审∶包括测试评审方法,验证与确认(V&V),测试自动化,测试设计和管理方法。

2.系统架构设计案例分析

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

(2)系统设计∶包括处理流程设计;人机界面设计;文件设计∶存储设计∶数据库设计;网络应用系统的设计;系统运行环境的集成与设计;中间件、应用服务器;性能设计与性能评估,系统转换计划。

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

3.系统架构设计论文

(1)系统建模∶包括定义问题与归结模型;结构化系统建模;面向对象系统建模;数据库建模。

(2)系统设计∶包括处理流程设计;系统人机界面设计;文件设计、存储设计;数据库设计;网络应用系统的设计;系统运行环境的集成与设计;系统性能设计;中间件、应用服务器。

第9章 面向对象方法(3分)

本章要求考生掌握以下知识点∶

(1)信息系统综合知识∶包括面向对象的分析与设计、统一建模语言。

(2)系统架构设计案例分析∶包括面向对象系统建模。

第10章 基于构件的开发(3分)

要求考生掌握以下知识点∶

(1)信息系统综合知识∶包括构件与软件复用、构件的概念与分类、中间件技术、典型应用架构(J2EE、.NET)。

(2)系统架构设计案例分析∶包括中间件、应用服务器。

第11章 开发管理(3分)

开发管理的范围很大,涉及信息系统开发的各个方面,但是,根据考试大纲,本章只要求考生掌握以下知识点∶

(1)项目的范围、时间、成本。

(2)文档管理工作、配置管理。

(3)软件开发的质量与风险、软件质量属性。

(4)软件的运行与评价。

(5)软件过程改进。

第12章 软件架构设计(20分)

要求考生掌握以下知识点∶

(1)信息系统综合知识∶包括软件架构的概念、软件架构的风格、特定领域软件架构、基于架构的软件开发方法、软件架构评估、软件产品线,设计模式的概念、设计模式的组成、模式和软件架构、设计模式分类、设计模式的实现。

(2)系统架构设计案例分析∶包括软件架构设计、XML 技术、基于架构的软件开发过程、架构模型(风格)、特定领域软件架构、基于架构的软件开发方法、架构评估、软件产品线、系统演化,设计模式的概念,设计模式的组成,模式和软件架构,设计模式分类;设计模式的实现。

(3)系统架构设计论文∶包括软件架构设计、特定领域软件架构、基于架构的软件开发方法、软件演化。

第13章 系统安全性和保密性(3分)

要求考生掌握以下知识点∶

(1)信息系统综合知识∶包括加密和解密、身份认证(数字签名、密钥、口令)、访问控制、安全保密管理(防泄露、数字水印)、安全协议(SSL、PGP、IPSec)、系统备份与恢复、防治病毒;信息系统安全法规与制度;计算机防病毒制度;保护私有信息规则。

(2)系统架构设计案例分析和论文∶包括系统的访问控制技术、数据的完整性、数据与文件的加密、通信的安全性、系统的安全性设计。

第14章 系统可靠性(3分)

要求考生掌握以下知识点∶

(1)信息系统综合知识∶包括可靠性设计(容错技术、避错技术)、可靠性指标与评估;系统配置方法(双份、双重、热备份、容错、集群)。

(2)系统架构设计案例分析和论文∶包括系统的故障模型和可靠性模型、系统的可靠性分析和可靠度计算、提高系统可靠性的措施、系统的故障对策、系统的备份与恢复。有关系统的备份与恢复知识点。

第15章 分布式系统(3分)

考生掌握以下知识点∶

(1)信息系统综合知识∶包括分布式系统、分布式数据库系统。

(2)系统架构设计案例分析和论文∶包括分布式通信协议的设计、基于对象的分布式系统设计、基于Web的分布式系统设计、基于消息和协同的分布式系统设计、异构分布式系统的互操作性设计。

第16章 知识产权与法律法规(3分)

考试大纲对知识产权和法律法规并没有明确的规定,但在实际考试中,主要会涉及著作权法、计算机软件保护条例、招标投标法、商标法、专利法、反不正当竞争法等,主要考试题型是判断某种行为是否侵权,以及某种权限的范围和期限。

第17章 标准化知识 (3分)

要求考生掌握以下知识点∶

(1)标准化意识、标准化的发展、标准的生命周期。

(2)国际标准、美国标准、国家标准、行业标准、地方标准、企业标准。

(3)代码标准、文件格式标准、安全标准、软件开发规范和文档标准。

(4)标准化机构。

第18章 应 用 数 学(3分)

要求考生掌握有关概率统计应用、图论应用、组合分析、算法(数值算法与非数值算法)的选择与应用、运筹方法(网络计划技术、线性规划、预测、决策、库存管理、模拟)、数学建模方面的基础知识。

第19章 专 业 英 语 (5分)

考试大纲对专业英语没有明确的要求,只是规定”具有高级工程师所要求的英文阅读水平,掌握本领域的英语术语”。从相近级别(例如系统分析师)历年考试的试题来看,所考查的题目基本上是计算机专业术语的英文解释,也有个别试题考查IT新技术的概念和使用方法介绍。每次考试都有5分的英语试题(每空1分,共5空),试题中的语法结构及词汇量都略低于英语四级的要求,但考试中偏重考查计算机专业词汇。

科目二考点

案例分析,考试时间是在下午13:30-15:00(90分钟),满分75分。

案例分析题一共5道题,第1题必做,后面4选2。后面四题必有一道嵌入式题,非嵌入式专业的请直接放弃。所有实际上是3选2。

对很多考生而言,案例分析试题比较难,这种”难”主要体现在以下几个方面∶

(1)需要在90分钟的时间内解答3道案例分析试题,需要找出案例描述中的存在问题,并给出解决方案。

(2)要针对案例分析试题的2~4个问题,在规定的字数范围内给出答案。

(3)从考试大纲的规定来看,似乎”无所不含”,考查内容十分广泛。

(4)案例分析试题往往紧跟技术发展趋势,考查技术前沿性的试题。

(5)案例分析试题的案例描述中,会给出一些与解答试题有关的信息,也会给出一些干扰性的信息,考查考生”舍弃”的能力。

系统架构设计案例分析试题大致可以划分为6大类

(1)综合知识类。大家知道,系统架构设计师必须具有广泛的知识积累和工作经验。系统架构设计案例中有不少题目就是直接考查某方面的知识或经验的。这种题目,全在于平时积累和见多识广,基本上无技巧可言,知道就很简单,不知道急也急不来。考生唯一能做的是(如果有选择余地的话),回避那些自己没有涉猎过的知识领域的题目。

(2)比较分析类。有比较才有鉴别,不同的设计方案经过比较才能分出优劣来,一个好的设计方案往往是多种设计方案的折中。比较分析法是系统架构设计中不可或缺的方法。系统架构设计案例分析考试试题中这类试题所占的比例非常大。

(3)学习应用类。温故而知新,人们在学习新知识时总是以已经掌握的知识为基础,由彼推此,了解差异是我们自然而然就会运用的学习方法。我们学会了面向对象的架构设计,再学习面向服务的架构时就会不自觉地比较二者的异同。各大巨头争霸的今天,由于竞争的需要,各种设计理论和工具、应用平台层出不穷,让我们应接不暇,要在IT 行业站稳脚跟,更需要较强的学习和应用能力。跟上形势的最好办法是比较异同,快速学习、跟进并投入应用。这一类题目和比较分析类试题非常相似,不同的是,问题的焦点集中在对学习效果的考查上,要求考生通过学习,基本掌握新的理论或方法。

(4)情景推断类。这类题目要求考生将题目描述的情景和自己的实际设计经验结合起来,来推测题目描述的情景下某一功能模块或某一部分的详细功能。应付这类题目,既要细心归纳题目所描述的情景本身的特点以及题目中透露出的各种信息,又要根据自己以前类似的项目开发经验来补充一些题目中并没透露,但常理中不可缺少的部分功能。实际上,在需求调研中经常使用这种方法,这类题目同时考查了考生架构设计经验、考虑问题的全面性以及归纳需求的能力。

(5)因果分析类。系统架构设计师经常遇到的问题是对一个系统出现的复杂问题(或疑难症状)进行分析,找出问题的真正原因,或对某一设计方案存在的潜在风险进行分析。前者是针对某一症状分析问题出现的原因,后者是根据现有状况分析可能会出现问题。解决问题或风险分析的能力是突击不来的,一定源于见多识广。丰富的经历在关键时候自然可以派上用场,经历不够的多看看别人的体会也会大有裨益。

(6)归纳抽象类。把现实的、自然语言描述的用户需求抽象为一种数学模型,需要很深的功底。把纷纭复杂的需求进行合理的归纳和分类也是一种功夫。系统架构设计师考试题目中也不乏这样的试题,这种题目需要较高的抽象思维能力和理解能力,也就是数学建模的能力。回答这类问题的关键是,要将抽象的理论实例化,和考生做过的一些项目结合起来。

考点

根据考试大纲,系统架构设计师考试中的案例分析试题涉及以下内容∶

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

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

(3)设计模式∶包括设计模式的概念、设计模式的组成、模式和软件架构、设计模式分类、设计模式的实现。

(4)系统设计∶包括处理流程设计、人机界面设计、文件设计、存储设计、数据库设计、网络应用系统的设计、系统运行环境的集成与设计、中间件、应用服务器、性能设计与性能评估、系统转换计划。

(5)软件系统建模∶包括系统需求、建模的作用和意义、定义问题(目标、功能、性能等)与归结模型(静态结构模型、动态行为模型、物理模型)、结构化系统建模、数据流图、面向对象系统建模、UML、数据库建模、E-R图、逆向工程。

(6)分布式系统设计∶包括分布式通信协议的设计、基于对象的分布式系统设计、基于Web的分布式系统设计、基于消息和协同的分布式系统设计、异构分布式系统的互操作性设计。

(7)嵌入式系统设计∶包括实时系统和嵌入式系统特征、实时任务调度和多任务设计、中断处理和异常处理、嵌入式系统开发设计。

(8)系统的可靠性分析与设计∶包括系统的故障模型和可靠性模型、系统的可靠性分析和可靠度计算、提高系统可靠性的措施、系统的故障对策和系统的备份与恢复。

(9)系统的安全性和保密性设计∶包括系统的访问控制技术、数据的完整性、数据与文件的加密、通信的安全性、系统的安全性设计。

解题步骤

案例分析试题的考试时间为90分钟,也就是说,考生需要在90分钟时间内解答3 道案例分析试题。正确的解答试题的途径如下∶

(1)标出试题中要回答的问题要点,以此作为主要线索进行分析和思考。

(2)对照问题要点仔细阅读正文。阅读时,或者可以列出只有几个字的最简要的提纲,或者可在正文上作出针对要回答问题的记号。

(3)通过定性分析或者定量估算,构思答案的要点。

(4)以最简练的语言写出答案。注意不要超过规定字数,语言要尽量精简,不要使用修饰性的空洞词汇,也不要写与问题无关的语句,以免浪费时间。

样题

内容较多,可自行百度,或参考2019年下半年软件水平考试(高级)系统架构师下午(案例分析)真题试卷含答案解析.docx

论文

论文,考试时间是在上午15:20-17:20(120分钟)。一般都会出四道题,选择自己最了解的一个命题即可。

考点

考试大纲中,论文出题范围定位于以下6个方面:

  • 系统建模
  • 软件架构设计
  • 系统设计
  • 分布式系统设计
  • 系统的可靠性分析与设计
  • 系统安全性和保密性设计

评分标准

论文满分75分,分以下几个档次:

  • 45~75分以上为及格,其中60~75为优良
  • 0~44分为不及格

评分主要从以下几个方面进行:

(1)切合题意(30%)

无论是论文的技术部分、理论部分或实践部分,都需要切合写作要点中的一个主要方面或者多个方面进行论述。可分为非常切合、较好地切合与基本上切合三档。

(2)应用深度与水平(20%)

可分为有很强的、较强的、一般的与较差的独立工作能力四档。

(3)下述情况的论文,需要适当扣5~10分:

  ① 摘要应控制在300~400字的范围内,凡是没有写论文摘要、摘要过于简略、或者摘要中没有实质性内容的论文。
  ②字迹比较潦草、其中有不少字难以辨认的论文。
  ③确实属于过分自我吹嘘或自我标榜、夸大其词的论文。
  ④内容有明显错误和漏洞的,按同一类错误每一类扣一次分,
  ⑤内容仅属于大学生或研究生实习性质的项目,并且其实际应用水平相对较低的论文。

(4)下述情况之一的论文,不能给予及格分数:

  ①虚构情节、文章中有较严重的不真实的或者不可信的内容出现的论文。
  ②没有项目开发的实际经验、通篇都是没层次纯理论的论文。
  ③所讨论的内容与方法过于陈旧或者项目的水准非常低下的论文。
  ④内容不切题意,或者内容相对很空洞、基本上是泛泛而谈且没有较深入体会的论文。

(5)下述情况,可考虑适当加分(可考虑加5~10分)

  ①有独特的见解或者有着很深入的体会、相对非常突出的论文。
  ②起点很高,确实符合当今信息系统发展的新趋势与新动向,并能加以应用的论文。
  ③内容详实、体会中肯、思路清晰、非常切合实际的很优秀的论文。
  ④项目难度很高,或者项目完成的质量优异,或者项目涉及国家重大信息系统工程且作者本人参加并发挥重要作用,并且能正确按照试题要求论述的论文。

写作格式

答题卡如下
在这里插入图片描述
论文分摘要正文两个部分,需要分开写,摘要字数要求 300-400字,正文2000-3000字,答题卡旁边印有字数提示。

建议使用黑色中性笔作答,一个中文字或标点符号占一个格子,英文时,可以不考虑格子。

历年真题

时间题目
20131.论软件架构建模技术与应用;2.论企业应用系统的分层架构风格;3.论软件可靠性设计技术的应用;4.论分布式存储系统架构设计
20141.论软件需求管理;2.论非功能性需求对企业应用架构设计的影响;3.论软件的可靠性设计;4.论网络安全体系设计
20151.论应用服务器基础软件;2.论软件系统架构风格;3.论面向服务的架构及其应用;4.企业集成平台的技术与应用
20161.论体系系统架构评估其应用;2.论软件设计模式及其应用;3.论数据访问层设计技术及其应用;4.论微服务架构及其应用
20171.论软件系统建模方法及其应用;2.论软件架构风格;3.论无服务器架构及其应用;4.论软件质量保证及其应用
20181.论软件开发过程RUP及其应用;2.论软件体系结构的演化;3.论面向服务架构设计及其应用;4.论NoSQL数据库技术及其应用
20191.论软件设计方法及其应用;2.论软件系统架构评估及其应用;3.论数据湖技术及其应用;4.论负载均衡技术在 Web 系统中的应用
20201.论数据分片技术及其应用;2.论云原生架构及其应用;3.论软件测试中缺陷管理及其应用;4.论企业集成架构设计及其应用

备考建议

论文考查考生在系统架构设计方面的经验和综合能力,以及文档编写表达能力,对于一般程序员来说,貌似难度不小,应该放松心态,从容面对,找到合适的学习方式。抓紧时间,做好备考工作是十分重要的,也是十分必要的。

论文题的考察目的是

  • 考察考生是否具备参加系统架构设计的实践经验,原则上,不具备实践经验的人达不到架构师水平,不能取得高级工程师资格。

  • 检查生考生分析问题与解决问题的能力,特别是独立工作能力。

  • 考察考生的表达能力。由于文档是信息系统的主要组成部分,在开发过程中需要编写很多文档和报告,作为架构师要善于表达自己的思想。抓住要点,用词准确,易读,易理解。

1.加强学习

主耍是将自己的经验进行整理、多角度(技术、管理、创新经济方面等角度)对自己做过的项目进行剖析、发问,然后再总结。

可以通过阅读、整理单位或者开源项目现有文档、案例,思考别人是如何站在系统架构设计师角度考虑问题的,同时可以采取临摹的方式提高自己的写作能力和思考能力。

2.平时积累

对以前做过的项目进行一次盘点,对每个项目中采用的方法与技术、架构设计手段等进总结。

3.提高写作速度

选定一个论文项目,按照考试要求的时间(2个小时)进行实际练习。练习写作的时候,字迹也要工整、清晰。

4,以不变应万变

论文试题的考核内容都是系统架构设计中的共性问题,即通用性问题,与具体的应用领域无关的问题。把握了这个规律,我们就有以不变应万变的办法。所谓不变,就是考生所参与开发的软件项目不变。考生应该在考前总结一下最近所参与的最有代表性的项目。不管论文的题目为何,项目的概要情况和考生所承担的角色是不必改变的,如果觉得有好几个项目可以选,那么就应该检查所选项目的规模是否能证明自己的实力或项目是否已年代久远(一般需要在近3年内做的项目)。要应付万变,就要靠平时的全面总结和积累。

Logo

开源、云原生的融合云平台

更多推荐