架构设计框架
什么驱动着架构设计:
- 业务需求
 - 非功能需求
 - 限制
 
ABSD(基于架构的软件开发)
功能分解
- 自顶向下
 - 一个目标:将需求转换为模块 -> 高内聚低耦合
 
架构风格
选择架构风格来实现需求
软件模板
描述软件元素在共享服务和底层构造的基础上,如何进行交互
递归
不停迭代 以实现整个系统
具体实现
架构需求
- 从需求库获取小而多的需求
 - 生成定义相关类图 将类进行粗略分组 打包成构件
 - 需求评审
 
架构设计
- 提出架构模型(合适的架构风格)
 - 映射构件(需求阶段划分的那些)
 - 分析构件之间的交互
 - 产生架构
 - 设计评审
 
架构实现
- 复审后的文档化架构
 - 分析与设计
 - 实现与组装构件
 - 系统测试
 - 架构演化
 
架构演化
- 需求变化归类
 - 定义架构演化计划
 - 变动构件
 - 架构组装与测试
 - 技术评审
 
DSSA(特定领域的软件架构开发)
领域分析
该阶段就是把业务领域知识的资源进行拆解、结构化表示以达到存活、做大的目的
要建立在领域专家(业务人员)、领域分析人员(业务架构师)、领域设计人员(技术架构师)、领域实现人员(开发者)共同参与的基础上
通过不断迭代 老带新的方式 以达到领域复用的目标

领域设计
- 定义领域范围
 - 定义定于特点元素
 - 定义领域设计和实现需求约束
 - 定义领域模型的架构
 
三层模型
通过在领域开发环境得到一些参考结构/架构/模型等的领域特定应用开发环境 然后在开发环境转移到应用执行环境 进行概念的快速验证 难点的验证
领域实现
- 尽量使用可复用原件
 - 如果没有可复用 开发出来的元件放入元件库
 - 螺旋开发发布迭代