架构学习 笔记 2
如何画出优秀的架构图
架构图的分类
4+1 架构视图
逻辑视图:系统提供给用户的功能,对应
UML 的 class 和 state diagrams
处理视图:系统的处理过程,对应 UML 的
sequence 和 activity diagrams
开发视图:程序员角度看系统的逻辑组成,对
应 UML 的 package diagrams
物理视图:系统工程师角度看系统的物理组
成,对应 UML 的 deployment diagrams
场景视图:用户角度看系统需要实现的需求,
对应 UML 的 use case diagrams
业务架构
对于 toC 来说就是用户能够接触到的业务
对于 toB 来说就是甲方要求实现的业务功能
客户端架构、前端架构
系统架构(后端架构)
角色的划分,逻辑上的角色和规则
简单,画 1 张图
复杂,画 2 张
应用架构
应用架构是系统架构的下一层的具体的细化,应用实现逻辑和角色上的功能
一个服务对应多个应用,当上边的 mongodbSharding 图,一个角色就对应一个应用的时候,它既是应用架构又是系统架构
有些时候应用架构和是系统架构,因为它既可以可以指导开发,测试,部署运维又可以划分角色和逻辑关系
部署架构
系统序列图
角色之间的运行规则,序列图是动态图
前面的都是静态架构图
核心功能才需要序列图,本例不能直接指导开发,因为还要细化到各个中心内部的具体应用之间的时序图
思维导图
架构图的画法
系统架构图用 ppt,序列图用 UML 工具
随堂测验
【判断题】
1. 4+1 视图是业界公认的规范,所以我们必须采用它来表示架构
2. UML 可以用来画架构图
3. 某些场景下,应用架构就是系统架构
4. 给高 P 汇报业务的时候优先推荐用系统架构
【思考题】
为什么不能用一种图来展现软件系统的架构?
评论