软件架构设计
2021-09-11 10:33:45 0 举报
AI智能生成
软件架构设计
作者其他创作
大纲/内容
1 从程序员到架构师
第1部分 基本概念篇
2 解析软件架构概念
分类
组成派
计算机组件及组件之间的交互
关注客体:软件
分析了软件的组成
决策派
在一些重要方面所做的决策的集合
关注客体:人
归纳了决策的类型
概念大观
概念思想的解析
关注分割与交互
架构设计是分与合的艺术
eg. MVC
是一系列有层次的决策
系统、子系统、框架都有架构
eg.为第三方组件加“防腐层”
3 理解架构设计视图
为谁而设计
用户
客户
开发人员
管理人员
设计视图
架构视图
eg.
多组涉众,多个视图
运用“逻辑视图+物理视图”
逻辑架构
物理架构
从架构到实现
第2部分 实践过程篇
4 架构设计过程
实践脉络
3个原则
6个步骤
速查手册
需求分析
领域建模
确定关键需求
概念架构设计
细化架构设计
架构验证
5 需求分析
需求开发
愿景分析
从概念化阶段说起
愿景
上下文图
实践要领
需求分析
需求捕获 VS 需求分析 VS 系统分析
需求捕获及成果
需求分析及成果
系统分析及成果
掌握的需求全不全
二维需求关与ADMEMS 矩阵
功能
质量
约束
从需求到设计
理性设计 VS 拍脑袋
功能:职责协作链
质量:完善驱动力
约束:设计并不自由
6 用例与需求
用例技术族
用例技术族的应用场景
7 领域建模
什么是领域建模
需求视角—促进用户沟通、解决分析瘫痪
开发视角—破解“领域知识不足”死结
8 确定关键需求
什么决定了架构
关键需求决定架构
如何确定关键需求
9 概念架构设计
What
概述
概念架构设计
功能
什么样的鸿沟,架什么样的桥
鲁棒图
是什么
画什么
怎么画
质量
什么样的鸿沟,架什么样的桥
场景思维
场景思维的工具
目标—场景—决策表
实践要领
1.功能需求与质量需求并重
2.概念架构设计的1 个决定、4个选择
3.备选设计
10 细化架构设计
从2视图方法到5视图方法
学会系统思考
5个视图、15个设计任务
逻辑架构 = 模块划分 + 接口定义 + 领域模型
开发架构 = 技术选型 + 文件划分 + 编译关系
物理架构 = 硬件分布 + 软件部署 + 方案优化
运行架构 = 技术选型 + 控制流划分 + 同步关系
数据架构 = 技术选型 + 存储格式 + 数据分布
11 架构验证
原型技术
水平原型 VS 垂直原型,抛弃原型 VS 演进原型
水平抛弃原型
水平演进原型
垂直抛弃原型
垂直演进原型
架构验证
原型法
框架法
测试运行期质量,评审开发期质量
第3部分 模块划分专题
12 粗粒度“功能模块”划分
13 如何分层
14 用例驱动的模块划分过程
15 模块划分的4步骤法——运用层、模块、功能模块、用例驱动
0 条评论
下一页