软考-系统架构设计师-第一章 架构设计基础
架构设计基础
- 计算机系统基础知识
- 知识架构
- 计算机系统概述
- 基础知识点
- 计算机软件基础知识
- 1.4 计算机语言
计算机系统基础知识
知识架构
- 计算机系统基础知识
- 计算机系统概述
- 计算机系统的定义与组成
- 计算机系统分类
- 计算机系统硬件基础知识
- 冯诺依曼计算机结构
- 典型的处理器系统
- 专用处理器
- 指令集系统
- 存储器
- 总线
- 接口
- 外部设备
- 计算机软件基础知识
- 计算机软件
- 操作系统
- 数据库
- 分布式数据库系统
- 文件系统
- 网络协议
- 中间件
- 软件构件
- 计算机语言
- 多媒体技术
- 媒体与多媒体
- 多媒体系统的关键技术
- 计算机系统概述
计算机系统概述
基础知识点
- 冯·诺依曼计算机结构
冯·诺依曼计算机结构将计算机硬件划分为运算器、控制器、存储器、输入设备、输出设备 5 个部分。
-
典型的处理器系统
-
专用处理器
图形处理器(Graphics Processing Unit,GPU)、信号处理器(Digital Signal Processor,DSP)以及现场可编程逻辑门阵列
(Field Programmable Gate Array,FPGA)等。DSP 专用于实时的数字信号处理,常采用哈佛体系结构。
- 指令集系统
复杂指令集(Complex Instruction Set Computers, CISC)与精简指令集(Reduced Instruction Set Computers,RISC)
-
存储器
根据存储器的硬件结构可分 为 SRAM、DRAM、NVRAM、Flash、EPROM、Disk 等。按照与处理器的物理距离可分为 4 个层次: 片上缓存、片外缓存、
主存(内存)、外存。其访问速度依次降低,而容量依次提高。 -
总线
并行总线和串行总线
名称 | 数据线 | 特点 | 应用 |
---|---|---|---|
并行总线 | 多条双向数据线 | 有传输延迟,适合近距离连接 | 系统总线(计算机各部件) |
串行总线 | 一条双向数据线或两条单向数据线 | 速率不高,但适合长距离连接 | 通信总线(计算机之间或计算机与其他系统间) |
- 接口
- 外部设备
计算机软件基础知识
-
计算机软件可以分为系统软件和应用软件
-
操作系统
作用:- 管理计算机中运行的程序和分配各种软、硬件资源
- 为用户提供友善的人机界面
- 为应用程序的开发和运行提供一个高效的平台
特征:
并发性、共享性、虚拟性和不确定性
分类:
(1). 批处理操作系统
(2). 分时操作系统 特点:多路性、独立性、交互性、及时性
(3). 实时操作系统
(4). 网络操作系统
(5). 分布式操作系统
(6). 嵌入式操作系统:特点是微型化、可定制、可靠性和易移植性。常采用硬件抽象层(Hardware Abstraction Layer,HAL)和板级支撑包
(Board Support Package, BSP)来提高易移植性
-
数据库
-
分布式数据库系统
分布式数据库系统(Distributed DataBase System,DDBS)满足分布性、逻辑相关性、场地透明性和场地自治性的数据库系统被称为完全分布式数据库系统。
分布式数据库系统的特点是数据的集中控制性、数据独立性、数据冗余可控性、场地自治性和存取的有效性。 -
文件系统
文件组织方法:有连续结构、链接结构和索引结构,还有多重索引方式。
空间管理的数据结构通常称为磁盘分配表 (Disk Allocation Table),有空闲区表、位示图和空闲块链3种。位示图用每一位的0和1表示一个区块空闲或被占用
网络协议
中间件
中间件(Middleware)分类:
(1)通信处理(消息)中间件
(2)事务处理(交易)中间件
(3)数据存取管理中间件
(4)Web 服务器中间件
(5)安全中间件
(6)跨平台和架构的中间件
(7)专用平台中间件
(8)网络中间件
软件构件
优点:易扩展、可重用、并行开发。
缺点: 需要经验丰富的设计师、快速开发与质量属性之间需要妥协、构件质量影响软件整体的质量。
商用构件的标准规范有:
(1)OMG 的公共对象请求代理架构(Common Object Request Broker Architecture,CORBA)
(2)SUN 的 J2EE
(3)Microsoft 的 DNA 2000
1.4 计算机语言
计算机语言(Computer Language)主要由一套指令组成,而这套指令一般包括表达式、流程控制和集合三大部分内容。
分类:
机器语言
汇编语言
高级语言
建模语言(UML)
UML的3要素构成:UML 的基本构造块(事物、关系)、图(支配基本构造块如何放置在一起的规则) 和运用于整个语言的公用机制。
-
1)事物。UML 中有 4 种事物:结构事物、行为事物、分组事物和注释事物。
-
a. 结构事物:名词、静态部分,用于描述概念或物理元素。结构事物包括类(Class)、接口 (Interface)、协作(Collaboration)、用例(UseCase)
、主动类(Active Class)、构件(Component)、 制品(Artifact)和节点(Node)。
-
b. 行为事物:动词,描述了跨越时间和空间的行为。行为事物包括交互(Interaction)、状态机(State Machine)和活动(Activity)
-
c. 分组事物:包是最常用的分组事物,结构事物、行为事物甚至其他分组事物都可以放进包内
-
d. 注释事物:用于描述事物或关系的注释。注释即注解,用来描述、说明和标注模型的任何元素
-
2)关系。UML 中有 4 种关系:依赖、关联、泛化和实现。
- a. 依赖关系。其中一个事物(独立事物)发生变化会影响另一个事物。依赖关系是一种使用的关系
- b. 关联关系。是一种拥有的关系,关联提供了不同类的对象之间的结构关系,它在一段时间内将多个类的实例连接在一起。一般认为关联关系有
2 个特例:
一个是聚合关系,另一个是组合关系。聚合关系表示类之间的整体与部分的关系,其含义是“部分”可能同时属于多个“整体”,“部分”与“整体”的
生命周期可以不相同。 组合关系也是表示类之间的整体与部分的关系。与聚合关 系的区别在于,组合关系中的“部分”只能属于一个“整体”,“部分”与“整体”
的生命周期相同, “部分”随着“整体”的创建而创建,也随着“整体”的消亡而消亡。 - c. 泛化关系。泛化是一种特殊/一般关系,特殊元素(子元素)的对象可替代一般元素(父元素)的对象。
- d. 实现关系。在两种情况下会使用实现关系:一种是在接口和实现它们的类或构件之间;另 一种是在用例和实现它们的协作之间。
-
3)图。图是一组元素的图形表示,大多数情况下把图画成顶点(代表事物)和弧(代表关系)的连通图。
类图、对象图、用例图、序列图、通信图、状态图、活动图、 构件图、部署图、制品图、组合结构图、包图、交互概览图和计时图(定时图)。序列图、通信图、
交互概览图和计时图均被称为交互图。
类图展现了一组对象、接口、协作和它们之间的关系。
用例图(Use Case Diagram)展现了一组用例、参与者(Actor)以及它们之间的关系。用例之间有扩展关系(<<extend>>
)和包含关系(
<<include>>
),
参与者和用例之间有关联关系,用例与用例、参与者与参与者之间有泛化关系。包含关系的特点是当两个或多个用例中共用一组相同的动作时,可以将这组相同的动作
抽出来作为一个独立的子用例,供多个基用例所共享;扩展关系则是对基用例的扩展,基用例是一个完整的用例,即使没有子用例的参与,也可以完成一个完整的功能。
UML 中有 5 种视图(View):用例视图、逻辑视图、进程视图、实现视图、部署视图,其中 的用例视图居于中心地位。
架构视图 | 核心关注点 | 常用uml | 扩展说明 |
---|---|---|---|
用例视图 | 用户功能性需求 | 用例图 (Use Case Diagram) | 描述系统与外部参与者的交互场景 |
逻辑视图 | 系统功能需求 | 类图 (Class Diagram)、对象图(Object Diagram)、包图(package Diagram) | 类图展示静态结构、对象图用于实例化验证 |
进程视图 | 并发、同步、线程交互 | 时序图(Sequence Diagram)、通信图(Communication Diagram)、活动图(State Diagram | 时序图强调时间顺序、通信图关注对象间消息拓扑、活动图描述业务流程 |
实现视图 | 代码组织和模块化 | 组件图(Compant Diagram)、包图(Package Diagram)、复合结构图(Composite Structure Diagram) | 组件图展示模块依赖、复合结构图用于分解复杂组件 |
部署视图 | 物理节点与网络拓扑 | 部署图(Deployment Diagram) | 描述服务器、设备及制品(Artifact)和物理部署关系 |