hi,我是蛋挞,一个初出茅庐的后端开发,希望可以和大家共同努力、共同进步!
开启掘金成长之旅!这是我参与「掘金日新计划 · 4 月更文挑战」的第 18 天,点击查看活动详情
- 起始标记->如何画好架构图:「体验课:如何画好架构图 | 上」
- 结尾标记->如何画好架构图:「体验课:如何画好架构图 | 上」
- 重新定义架构:4R架构
- 4+1视图介绍
- 如何从多个角度描述架构
- 如何画系统序列图
重新定义架构:4R架构
4R架构-Rank + Role + Relation + Rule
[软件架构]
软件架构指软件系统的顶层结构( Rank),它定义了系统由哪些角色(Role)组成,角色之间的关系( Relation)和运作规则( Rule )
架构分层案例:LO~L2
4+1架构视图
4+1架构视图-定义
1995年,Philippe Kruchten 在《IEEE Software》上发表了题为《The 4+1 View Model ofArchitecture》的论文,引起了业界的极大关注,并最终被 RUP 采纳。
- 逻辑视图:系统提供给用户的功能,对应UML的 class 和 state diagrams。
- 处理视图:系统的处理过程,对应UML的sequence 和 activity diagrams。
- 开发视图:程序员角度看系统的逻辑组成,对应UML的 package diagrams。
- 物理视图:系统工程师角度看系统的物理组成,对应UML的 deployment diagrams。
- 场景视图:用户角度看系统需要实现的需求对应UML的usecase diagrams。
4+1架构视图-现状
目前国内企业较少用 4+1 视图来描述架构,这是为什么呢 ?
- 架构复杂度增加:1995年的系统大部分还是单体系统,现在分布式系统
- 绑定UML图:UML图画架构图存在问题
- 理解困难:4+1视图的逻辑视图、开发视图、处理视图比较容易混淆
UML 画架构图的核心问题
颜值即正义,UML 图太丑了 !
如何从多个角度描述架构
架构图分类和总体思路
静态架构图分类
1.业务架构(钱包案例)
定义
描述系统对用户提供了什么业务功能,类似于4+1 视图的场景视图。
使用场景 :
1.产品人员规划业务;
2.给高P汇报业务;
3.给新员工培训业务
4.面试、晋升。
画图技巧:
1.通过不同颜色(建议不超过3种)来标识业务状态,例如是否成熟,质量,已上线/规划中
2.业务分组管理,分组的标准是“相似性”
此文章为4月Day18学习笔记,内容来源于极客时间《如何画好架构图》