Appearance
考点清单
- [x] ABSD 三大基础 + 六大步骤 + 文档输出
- [x] DSSA 三大基本活动 + 四角色 + 三层次模型
- [x] SOA 详细特征 + ESB 角色 + 关键技术表
- [x] 架构风格全景分类
笔记
一、ABSD(基于体系结构的软件设计)★
核心:架构驱动设计,由业务+质量+功能需求组合驱动,在设计过程中架构占主导中心地位。
三大基础:
- 功能分解(基于模块的内聚和耦合技术)
- 通过选择架构风格实现质量和业务需求
- 软件模板的使用
关键特点:需求获取和分析还没完成就开始了软件设计;递归且迭代;每一步清晰定义。
六大步骤:
| 步骤 | 说明 |
|---|---|
| 架构需求 | 标识构件(生成类→抽象构件→分析产生构件) |
| 架构设计 | 将需求阶段标识的构件映射成构件进行分析 |
| 架构文档化 | 产出两种文档:架构规格说明 + 测试架构需求的质量设计说明书 |
| 架构复审 | 外部人员(用户代表/领域专家)参加,复审需求/质量/构件划分 |
| 架构实现 | 实现构件,构件组装成系统 |
| 架构演化 | 按需增删构件,使架构可复用 |
描述方式:采用视角和视图描述架构,用例描述功能需求,质量属性场景描述质量需求。
二、DSSA(特定领域软件架构)★
专用于一类特定类型任务的软件构件集合,支持一个特定领域中多个应用的生成。
垂直域:特定领域中的通用完整架构。水平域:多个不同领域间相同部分的小工具(如购物和教育都有的收费系统)。
三大基本活动:
| 活动 | 目标 | 内容 |
|---|---|---|
| 领域分析 | 获得领域模型(领域需求) | 识别信息源→分析共享需求→建立领域模型 |
| 领域设计 | 获得 DSSA | 领域模型的解决方案,适应多系统的高层设计 |
| 领域实现 | 开发和组织可重用信息 | 从现有系统提取或新开发可重用构件 |
四种角色:领域专家(提供知识)→ 领域分析人员(控制分析过程)→ 领域设计人员(开发DSSA)→ 领域实现人员(开发构件)。
三层次模型:
| 层次 | 角色 | 产出 |
|---|---|---|
| 领域开发环境 | 领域架构师 | 参考结构、参考需求、架构、领域模型、开发工具 |
| 领域特定应用开发环境 | 应用工程师 | 根据具体环境将核心架构实例化 |
| 应用执行环境 | 操作员 | 实现实例化后的架构 |
建立过程(并发、递归、反复、螺旋型):定义领域范围 → 定义领域特定元素(领域字典)→ 定义约束 → 定义领域模型和架构 → 产生可复用产品单元。
三、SOA(面向服务的架构)★
特征:粗粒度、松耦合、标准化接口(WSDL);可从企业外部访问、服务分级、可重用。
演进趋势:基于对象 → 基于构件 → 基于服务 → 架构越来越松散耦合,粒度越来越粗,接口越来越标准。
服务构件 vs 传统构件:
| 维度 | 服务构件 | 传统构件 |
|---|---|---|
| 粒度 | 粗粒度 | 细粒度居多 |
| 接口 | 标准 WSDL | 具体 API |
| 语言 | 无关 | 绑定特定语言 |
| QoS | 通过容器提供 | 程序代码直接控制 |
SOA 关键技术栈:
| 功能 | 协议 |
|---|---|
| 发现服务 | UDDI、DISCO |
| 描述服务 | WSDL、XML Schema |
| 消息格式层 | SOAP、REST |
| 编码格式层 | XML(DOM, SAX) |
| 传输协议层 | HTTP、TCP/IP、SMTP |
ESB(企业服务总线):连接各服务节点的管道,集成基于不同协议的不同服务,做消息转化/解释/路由。四大能力:描述服务元数据和注册管理、传递和转换数据、发现/路由/匹配/选择、安全/质量/负载均衡。
Web Service 三角色:服务提供者(发布)→ 服务注册中心(查找)→ 服务请求者(绑定)。
真题速记:SOAP 用于远程调用,BPEL 用于编排组合服务。
四、架构风格全景分类
| 大类 | 子风格 | 关键特征 |
|---|---|---|
| 数据流 | 批处理 | 整体为单位,顺序执行(传统编译器) |
| 管道-过滤器 | 线性传递,可并行 | |
| 调用/返回 | 主程序-子程序 | 显式调用 |
| 面向对象 | 对象作为构件,方法调用 | |
| 层次结构 | 每层最多影响上下两层(OSI 7 层) | |
| 独立构件 | 进程通信 | 消息传递,同步/异步 |
| 事件驱动 | 事件触发,不直接调用 | |
| 虚拟机 | 解释器 | 解释引擎+存储区+数据结构 |
| 规则系统 | 规则集+解释器+选择器+工作内存 | |
| 仓库 | 数据库 | 中央共享数据源 |
| 黑板 | 黑板+知识源+控制器(语音识别/知识推理) | |
| 闭环 | 过程控制 | 反馈循环调节参数(巡航定速/空调温控) |
| C2 | — | 连接件绑定的并行构件网络 |
五、RUP 补充
6+2+1 工作流:6 个开发流(业务建模→需求→分析设计→实现→测试→部署)+ 2 个管理流(配置管理+项目管理)+ 1 个环境流。
4+1 视图关注者:用例视图(分析/测试人员)、逻辑视图(最终用户)、实现视图(程序员)、进程视图(集成人员)、部署视图(系统工程师)。