Skip to content

考点清单

  • [x] ABSD 三大基础 + 六大步骤 + 文档输出
  • [x] DSSA 三大基本活动 + 四角色 + 三层次模型
  • [x] SOA 详细特征 + ESB 角色 + 关键技术表
  • [x] 架构风格全景分类

笔记

一、ABSD(基于体系结构的软件设计)★

核心:架构驱动设计,由业务+质量+功能需求组合驱动,在设计过程中架构占主导中心地位。

三大基础:

  1. 功能分解(基于模块的内聚和耦合技术)
  2. 通过选择架构风格实现质量和业务需求
  3. 软件模板的使用

关键特点:需求获取和分析还没完成就开始了软件设计;递归且迭代;每一步清晰定义。

六大步骤

步骤说明
架构需求标识构件(生成类→抽象构件→分析产生构件)
架构设计将需求阶段标识的构件映射成构件进行分析
架构文档化产出两种文档:架构规格说明 + 测试架构需求的质量设计说明书
架构复审外部人员(用户代表/领域专家)参加,复审需求/质量/构件划分
架构实现实现构件,构件组装成系统
架构演化按需增删构件,使架构可复用

描述方式:采用视角和视图描述架构,用例描述功能需求,质量属性场景描述质量需求。


二、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 视图关注者:用例视图(分析/测试人员)、逻辑视图(最终用户)、实现视图(程序员)、进程视图(集成人员)、部署视图(系统工程师)。