基于架构的软件开发方法(ABSD)

开发过程

- 架构需求
- 架构设计
- 架构文档化
- 架构复审
- 架构实现
- 架构演化



软件架构风格

数据流风格


区别
- 批处理:整体处理,没有用户交互
- 管道-过滤器:流式处理,少量用户交互
调用/返回风格

- 面向过程
- 面向对象
- 分层架构

独立构件风格

虚拟机风格

解释器,自定义规则

规则为中心(再解释器的基础上,增加了经验规则),专家系统

以数据为中心

区别

闭环控制架构(过程控制)

经典应用
- 空调温控
- 定速巡航
模型驱动架构(MDA Model Driven Architecture)

软件架构复用

角度1
- 机会复用(只要发现可复用的资源)
- 系统复用(规划进行复用)
角度2
- 横向复用(通用的)
- 垂直复用(垂类、行业相关)
特定领域架构(DSSA)
聚焦某个行业
- 水平:不同领域,平移
- 垂直:相同领域,深入
参与人员

有领域经验的人员
- 领域专家
- 领域分析人员
- 领域设计人员
- 领域实现人员
三层次模型

软件产品线
