架构师选择题--软件架构设计
真题
c
中间件分为5类:
交互是最基本的功能
b
公共服务:可复用的服务
b
c
微服务去中心化
面向服务集中式
d架构的组成: 构件 , 连接件 , 约束规则
做为部署单元拆分没有意义
a接口是已经命名的一组操作的集合
A
D
A,A
B
B
BD
BD
B
C
CC
A
C
C
B质量属性效用树
d
a
d
a
bd
对象重用的两种形式:包含,聚集
a
c
cb
并发同步:过程视图
开发环境:开发视图
4+1视图:逻辑视图,过程视图,物理视图,开发视图,场景视图
逻辑视图:系统功能需求
过程视图:并发和同步
物理视图:部署
开发视图:模块视图
场景视图:用例视图,获取需求
a
软件架构风格
基于架构的软件开发(ABSD)
自顶向下,逐步细化
产出:构件和模块
a
b
垂直域--一个
水平域--多个
d分层架构,数据流,事件驱动,基于规则系统
a
和规则相关
特定领域的软件架构
领域分析:产出领域需求模型(领域模型)
领域设计:产出特定领域的软件架构(DSSA)
领域实现:开发和利用DSSA
特定领域的四种角色人员
领域专家:需求获取
领域分析人员:需求获取
领域设计人员
领域实现人员
三层次模型
领域开发阶段:领域架构师
领域特定应用开发阶段:应用工程师
应用执行环境:操作员
b
a
b
cc
场景从风险承担者的角度
质量属性
性能:加了数字的功能描述
心跳,Ping/Echo冗余,选举(n版本冗余)
6,7,8考察较少
架构评估
19年之后,风险点和非风险点就很少考察了
软件架构评估时期:架构设计之后,系统设计之前
a,c
因为 61 空中出现了:安全性,性能
a.c
表示层
功能层
数据层
b
- 底层错误导致无法运行
- 层数多了性能下降
层次架构风格
两层C/S:表示层,数据层
三层C/S:表示层,中间层(功能层),数据层
三层B/S:使用浏览器替代客户端(0客户端)
RIA结合了客户端,浏览器端的优势。(B/S架构,远程传输来一个服务器,基于服务器通讯)
b
装配构件:已经装配在操作系统的不同层次上,可以直接使用
可修改构件:可以进行修改,替换
有限制构件:描述使用构件的限制(使用条件和前提)
适应性构件:解决构件之间不兼容问题
独立成熟构件:构件可以独立部署,独立运行
ab(交易)
d
中间件:提供负载均衡和高可用性
中间件两大功能:
- 连接
- 提供公共服务
ab
b
a
b
a
b(机密,时延)
ab
a
a
d
b
c
d