2024年博主考软考高级系统架构师没通过,于是决定集中精力认真学习系统架构的每一个环节,并在2025年软考中取得了不错的成绩,虽然做信息安全的考架构师很难,但找对方法,问题就不大!
本文主要是博主在学习过程中,整理了软考系统架构师教材中的零碎知识点,考前要全部背会,即可应对绝大部分选择题和案例分析题。
-------------------分界线-----------------------
1、软件架构的4+1视图:
逻辑视图:面向最终用户。从系统静态结构和动态行为角度显示系统内部是如何实现功能的。
开发视图:面向程序员。又称实现视图。显示源代码以及执行代码的组织结构。
过程视图:面向系统集成人员。又称处理视图。显示程序执行时的并发状态。
物理视图:面向系统工程人员。展示软件到硬件的映射。
场景:又称用例视图,显示外部参与者观察到的系统功能。
2、数据流架构风格:批处理、管道-过滤器。示例有传统编译器、网络报文处理。
3、调用-返回架构风格:主程序-子程序、面向对象、分层架构。
4、独立构件风格:进程通信、隐式调用(事件驱动系统)。
5、虚拟机风格:解释器(用于用户自定义场景、灵活组合场景)、规则系统。
6、以数据为中心,仓库风格:数据库系统、黑板系统、超文本系统(人类思维)。
7、仓库风格中,中央数据库说明当前状态,独立构件在中央数据存储上执行。
8、过程控制架构:又称闭环控制架构。适用于空调温控、定速巡航等。
9、C2风格:构件和连接件都有一个顶部和一个底部。构件不能直接相连。
10、三层C/S将应用功能分成表示层、功能层、数据层。
11、物联网分层:感知层(解决数据获取问题)、网络层(解决数据传输问题)、应用层(解决人机交互问题)
12、微服务的个体约束:每个微服务都是独立的,修改一个微服务不能影响另一个微服务。
13、微服务之间的横向关系:通过第三方服务注册中心来满足服务的可发现性。
14、云原生架构的设计原则:服务化原则、弹性原则、可观测原则、韧性原则、所有过程自动化原则、零信任原则、架构持续演进原则。
15、边云协同的分类:
资源协同:边缘节点有基础设施资源的调度管理能力,可与云端协同。
数据协同:边缘节点采集数据并初步分析,之后发给云端处理。
智能协同:云端做集中式模型训练,再将模型下发给边缘节点。
应用管理协同:边缘节点提供应用部署与运行环境,云端提供应用开发与测试环境。
业务管理协同:边缘节点提供模块化的应用实例,云端按需求实现业务编排能力。
服务协同:边缘节点按云端策略实现部分ECSaaS服务,云端提供和边缘节点的SaaS服务分布策略。
16、架构描述语言(ADL)包括:组件、组件接口、连接件、架构配置。
17、特定领域软件架构(DSSA)分为:领域开发环境、领域特定应用开发环境、领域执行环境。
18、特定领域软件架构(DSSA)分为:领域专家、领域分析人员、领域设计人员、领域实现人员。
19、领域设计人员的任务是:根据领域模型和现有的系统开发出DSSA。
20、DSSA的基本活动包括:领域分析、领域设计、领域实现。
领域分析的目标:获得领域模型。
领域设计的目标:获得DSSA。
领域实现的目标:依据领域模型、DSSA开发和可重用信息,对基础软件架构进行实现。
21、基于架构的软件设计(ABSD)开发过程:架构需求、架构设计、架构文档化、架构复审、架构实现、架构演化。是一个自顶向下,递归细化的方法。
22、软件系统的体系结构通过ABSD得到细化,直到能产生软件构件和类。
23、架构文档化主要输出:架构规格说明书、测试架构需求的质量设计说明书。
24、架构复审的目标是:标识潜在的风险,及早发现设计中的缺陷和错误。
25、ABSD强调由商业、质量、功能需求的组合驱动,强调采用视角与类图描述软件架构、采用用例与质量场景描述需求。
26、ABSD方法的三个基础:功能分解、选择架构风格实现质量及商业需求、软件模使用。
27、软件架构需求:用户对目标系统在功能、行为、性能、设计约束等方面的期望。
需求过程主要是获取用户需求、标识系统中所要用到的构件、进行架构需求评审。
标识构件详细分为:生成类图、对类图进行分组、将类打包成构件三步。
28、场景是从风险承担者的角度对系统交互的描述,可以从六个方面进行描述:刺激源、刺激、制品、环境、响应、响应度量。一般采用刺激、环境、响应三方面来及描述。
29、基于场景的架构分析方法(SAAM)分析评估体系结构的过程包括五个步骤:场景开发、体系结构描述、单个场景评估、场景交互、总体评估。
30、基于场景的架构分析方法(SAAM)的主要输入是:问题描述、需求说明、体系结构描述。
31、架构权衡分析方法(ATAM)是在基于场景的架构分析方法(SAAM)基础之上发展起来的,主要阶段包括:场景和需求收集、架构视图和场景实现、属性模型构造和分析、属性模型折中。
32、架构权衡分析方法(ATAM)主要关注系统的需求说明。
33、软件元素包括:需求分析文档、设计过程、设计文档、程序代码、测试用例、领域知识。
34、构件检索中的刻面检索法:基于刻面分类法,分三步:构造查询、检索构件、对构件进行排序。
35、构件组装技术分为:基于功能的组装技术、基于数据的组装技术、面向对象的组装技术。
36、CORBA构件模型中,【可移植对象适配器POA】的作用是在底层传输平台与接收调用并返回结果的对象之间进行协调,【伺服对象Servant】是完成客户请求服务对象的实现。
37、对象管理组织(OMG)基于CORBA定义了4种构件标准。
实体(Entity)构件:需要长期持久化并主要用于事务性行为,由容器管理其持久化。
加工(Process)构件:需要容器管理其持久化,但没有客户端可访问的主键。
会话(Session)构件:不需要容器管理其持久化,其状态信息必须由构件自己管理。
服务(Service)构件:是无状态的。
38、伺服对象(Servant)是CORBA对象的真正实现,负责完成客户端请求。
39、对象适配器(ObjectAdapter)用于屏蔽ORB内核的实现细节。
40、对象请求代理(ObjectRequestBroker)用于解释调用并负责查找实现该请求的对象。
41、模型驱动结构(MDA)产生三种类型的系统模型:
计算无关模型:对系统中使用的重要的领域抽象进行建模,被称为领域模型。
平台无关模型:在不涉及实现的情况下对系统的运转进行建模。
平台相关模型:平台无关模型转换后得到,对每个应用平台都有一个单独的平台相关模型。
42、模型驱动结构(MDA)的主要目标:可移植性、互通性、可重用性。
43、逻辑设计阶段的任务是:将概念模型设计阶段得到的基本E-R图转换为与选用的DBMS产品所支持的数据模型相符合的逻辑结构。
44、在数据库设计的逻辑设计阶段进行关系规范化。
45、软件设计可分为:概要设计、详细设计。
46、概要设计也称为高层设计或总体设计,将软件需求转化为数据结构和软件的系统结构。
47、详细设计也称为低层设计,对结构图进行细化,得到详细的数据结构与算法。
48、架构设计主要关注软件组件的结构、属性、交互作用。
49、现有的设计模式可以分为创建型、结构型和行为型三种模式。
创建型模式:abstract factory(抽象工厂模式)、builder(建造者模式/生成器模式/构建者模式)、factory method(工厂方法模式/虚拟构造器模式/多态性工厂模式)、prototype(原型模式/克隆模式)、singleton(单例模式/单态模式)。
结构型模式:adaptor(适配器模式/包装模式)、bridge(桥接模式)、composite(组合模式/复合模式)、decorator(装饰者模式/装饰器模式)、facade(外观模式/门面模式)、flyweight(享元模式)、proxy(代理模式)。
行为型模式:chain of responsibility(责任链模式)、command(命令模式)、interpreter(解释器模式)、iterator(迭代器模式)、mediator(中介者模式)、memento(备忘录模式)、observer(观察者模式)、state(状态模式)、strategy(策略模式)、template method(模板方法模式)、visitor(访问者模式)。
50、面向构件的编程需要下列基本的支持:多态性(可替代性)、模块封装性(高层次信息的隐藏)、后期的绑定和装载(部署独立性)、安全性(类型和模块安全性)。
51、在服务端构件模型中,【EJB和COM+模型】适用于应用服务器。【servlet和asp】适用于web服务器。