如何画好架构图 学习笔记Day 1

324 阅读2分钟

hi,我是蛋挞,一个初出茅庐的后端开发,希望可以和大家共同努力、共同进步!


开启掘金成长之旅!这是我参与「掘金日新计划 · 4 月更文挑战」的第 18 天,点击查看活动详情

  • 起始标记->如何画好架构图:「体验课:如何画好架构图 | 上」
  • 结尾标记->如何画好架构图:「体验课:如何画好架构图 | 上」
  1. 重新定义架构:4R架构
  2. 4+1视图介绍
  3. 如何从多个角度描述架构
  4. 如何画系统序列图

重新定义架构:4R架构

4R架构-Rank + Role + Relation + Rule

[软件架构] 软件架构指软件系统的顶层结构( Rank),它定义了系统由哪些角色(Role)组成,角色之间的关系( Relation)和运作规则( Rule ) image.png

架构分层案例:LO~L2

image.png

4+1架构视图

4+1架构视图-定义

1995年,Philippe Kruchten 在《IEEE Software》上发表了题为《The 4+1 View Model ofArchitecture》的论文,引起了业界的极大关注,并最终被 RUP 采纳。 image.png

  • 逻辑视图:系统提供给用户的功能,对应UML的 class 和 state diagrams。
  • 处理视图:系统的处理过程,对应UML的sequence 和 activity diagrams。
  • 开发视图:程序员角度看系统的逻辑组成,对应UML的 package diagrams。
  • 物理视图:系统工程师角度看系统的物理组成,对应UML的 deployment diagrams。
  • 场景视图:用户角度看系统需要实现的需求对应UML的usecase diagrams。

4+1架构视图-现状

目前国内企业较少用 4+1 视图来描述架构,这是为什么呢 ?

  1. 架构复杂度增加:1995年的系统大部分还是单体系统,现在分布式系统
  2. 绑定UML图:UML图画架构图存在问题
  3. 理解困难:4+1视图的逻辑视图、开发视图、处理视图比较容易混淆

UML 画架构图的核心问题

image.png 颜值即正义,UML 图太丑了 !

如何从多个角度描述架构

架构图分类和总体思路

image.png

静态架构图分类

image.png

1.业务架构(钱包案例)

定义 描述系统对用户提供了什么业务功能,类似于4+1 视图的场景视图。 使用场景 : 1.产品人员规划业务; 2.给高P汇报业务; 3.给新员工培训业务 4.面试、晋升。 画图技巧: 1.通过不同颜色(建议不超过3种)来标识业务状态,例如是否成熟,质量,已上线/规划中 2.业务分组管理,分组的标准是“相似性” image.png


此文章为4月Day18学习笔记,内容来源于极客时间《如何画好架构图》