Visual Paradigm教程-时序图、泳道图等
进大厂以后给我最大的收获之一,就是让我意识到写代码之前的设计有多么的重要——在编码之前要先进行系统设计分析,简称系分。
在系分阶段,用泳道图把要写的代码流程展示清楚,在设计阶段把疑惑都解决了,写代码的时候效率又高,BUG又少。如果在写代码写了一半才把疑问解决,往迭代分支合代码的时候过CodeReview,让其他人看糟糕的设计和愚蠢的返工,多丢脸。所以系分阶段是重中之重。
那么如何做好系分呢?肯定要画各种图啦。画图工具有很多,除了本文要说的Visual Paradigm(本文后续称之为VP)以外,还有draw.io、processon.com等网站。出于安全性的因素,不太方便把图放在上面,并且功能我觉得也不如VP强大,所以这里就来介绍一下如何使用。
0. 下载安装
这里以社区版为例,社区版可以满足绝大部分需求,本文所有图都是基于社区版功能实现的。
下载地址:https://www.visual-paradigm.com/cn/download/
点红框的获取社区版,下载安装
打开VP,输入名字和邮箱
复制邮箱收到的激活码,激活
1. 创建项目
我个人喜欢一个迭代一个项目,并且一个项目一个文件夹目录,否则东西太多太乱
创建完项目,按cmd+s保存一下,再创建一个文件夹保存在里面,否则后面一个图就会生成一个文件,烦死
2. 创建图
3. 画图
一般来说需要用例图、领域模型图、时序图、泳道图、系统依赖图、数据模型图。
就不具体介绍每个图的功能是什么概念了,我每个图给个demo一看就知道了
3.1 用例图
Use Case Diagram
本次迭代都有什么功能
3.2 领域模型图
Class Diagram
本次迭代都有什么model,model之间的关系是什么
3.3 时序图
Sequence Diagram
本次迭代某个业务的全链路流程,相对于泳道图来说,更强调系统之间的交互顺序,比较不关心具体实现(感觉下面这个业务流程不太合理。。。意会就可以了。。。)
3.4 泳道图
Activity Diagram
本次迭代某个业务的具体内容,更关心具体业务如何实现,是系分的重中之重,一定要好好画
实际画的要比这个更复杂,比如每一步如果失败/超时该如何处理、有try/catch也应该体现、状态机的状态、错误码、等等等等,这里就是伪代码,将来代码要根据泳道图来写的
3.5 系统依赖图
Component Diagram
本次迭代某个业务的上下游依赖(图上是有关系的,直接连圆圈的是接口的实现方,连个半圆的线的是接口的调用方)
3.6 数据模型
Entity Relationship Diagram
本次迭代某个业务的数据库表结构
注意:可以在表上单击右键–>Generate SQL–>选择数据库类型,来生成DDL和DML
所以一定要先做设计再编码,太方便了
3.7 最终目录
这是阿里我们团队要求的所有的系分图了,这是总目录结构
4. 导出成图片
把项目里的图导出成图片
记得这里选导出目录,选png图片,DPI拉满300,否则可能会不清晰,或者SVG矢量图是最好的