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矢量图是最好的

Comments

You need to set client_id and slot_id to show this AD unit. Please set it in _config.yml.