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