Visual Paradigm简单教程(1):绘制状态机图

1. 前言

在上一篇文章中,介绍了使用Visual Paradigm简单教程(1):绘制状态机图,本文我们接着介绍如何使用visual paradigm绘制序列图。

2. 相关概念

2.1 序列图概念

所谓序列图可以理解为软件不同部分,比如组件之间的交互序列图,序列2字说明了交互序列流程,比如我们想要描述一个软件的使用顺序、业务流程顺序等待,都可以通过序列图来实现。

2.2 生命线

这里使用“生命线”可能不够形象,个人理解 应该称为 节点,即序列图中的某个节点环节。

2.3 消息

生命线(节点)之间的消息

3. 绘制序列图流程

3.1 添加序列图表

在这里插入图片描述

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

3.2 添加第1个生命线(节点)

鼠标点击左侧导航栏的【生命线】图标,拖动鼠标到画布上,然后根据提示输入生命线名称,本例中设定为节点1,如下图所示:
在这里插入图片描述

3.3 添加第2个节点

添加第2个节点可以有2种方式:
(1)重复3.1实现。
(2)由第1个生命线,直接添加消息并生成关联的第2个节点。
这里我们演示一下从第1个生命线,通过添加消息并生成关联生命线的方式,如下图所示:
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
上图中根据提示输入生命线2名称,节点1到节点2的消息名称

3.4 重复3.3添加第3个生命线

在这里插入图片描述

3.5 添加消息

生命线是重要节点,而序列图的核心还是为了说明节点之间的消息序列,所以我们重点讲述一下如何添加消息。

3.5.1 添加 节点1到节点2的消息请求1

鼠标点击左侧导航栏【消息图标】,选择起始生命线,然后拖动鼠标到目的生命线,根据提示输入消息名称
在这里插入图片描述

3.5.2 添加节点2到节点3的消息请求2

按照3.5.1步骤,添加消息请求2
在这里插入图片描述

3.5.3 添加节点3到节点2的返回消息

在这里插入图片描述
在这里插入图片描述

3.5.4 添加节点2到节点1的消1 返回

重复3.5.3步骤,添加,如下图所示:
在这里插入图片描述
至此,我们完成了消息的添加。

4. 序列图消息的序号分配逻辑

在上面的操作中,我们会发现,visual paradigm会给我们添加的消息默认分配好序列号的,而且默认从最左侧开始,到最右侧为一次完整的请求序列。每次从最左侧发起开始,一级序号会自增1,其他二级需要也会自增。
在这里插入图片描述
从上图可以看到:

  1. 一级序号的分配是从最左侧开始,只要是从左侧开始,就分配一个新的一级序号,往右的方向,分配二级序号。
  2. 二级序号的值也是自动分配。

序号的大小顺序取决于 消息线的垂直位置,移动消息线,对比可以发现,如下图:
在这里插入图片描述

5. 分段生命线

上图中我们看到节点1与节点2的生命线都是从上到下的,而节点3则是一段一段的,这其实是 visual paradigm的一种涉及逻辑,生命线的线条对应了消息组,我们为了美观或者管理,是可以对生命线现行分段的。废话不说,操作流程如下:
在这里插入图片描述
鼠标光标移动到想要分段的位置,然后右击,弹出菜单,选择 Split Overlapping Execution进行分段。效果如下:
在这里插入图片描述
重复上述分段操作,最终效果如下:
在这里插入图片描述

6. 添加复合片段

有时候我们在画序列图时,会有这样的需求: 根据条件判断,走不通的流程,流程之间是互斥的,这个时候,我们就需要alt类型的符合片段,具体添加流程如下:
鼠标点击左侧导航栏【替换符合片段】,在画布中,拖动,根据需要覆盖的生命线进行拖动片段大小。
在这里插入图片描述
然后配置符合片段属性,比如添加条件说明:
在这里插入图片描述

在这里插入图片描述
在这里插入图片描述
选择应用、确定,最终效果如下所示:
在这里插入图片描述
我们可以在这个复合片段中添加各个片段的消息。
在这里插入图片描述
ps:alt复合片段默认是分2段,也就是针对if/else,其也支持if/else if/else即多段,操作如下:
在这里插入图片描述
最终效果如下:
在这里插入图片描述
注:复合片段还有其他种类,比如break、loop等,操作方式类似,根据片段类型进行选择,自行摸索吧。

7 小结

序列图对于梳理软件流程、业务架构、业务逻辑非常有帮助,毕竟图表比文字更加形象一些,上述简单介绍了visual paradigm绘制序列图的流程,对于一般场景基本够用,其他高级用法,还需慢慢摸索。

Logo

开放原子开发者工作坊旨在鼓励更多人参与开源活动,与志同道合的开发者们相互交流开发经验、分享开发心得、获取前沿技术趋势。工作坊有多种形式的开发者活动,如meetup、训练营等,主打技术交流,干货满满,真诚地邀请各位开发者共同参与!

更多推荐