1. 前言
最近发现了一款堪称宝藏的软件:visual paradigm,这个软件是一款强大的UML工具,UML的意思是统一建模。使用这个软件可以画流程图、状态机图、序列图,不过不知道为什么,这个软件的教程非常少,本系列文章简单讲述该软件如何使用。
2. 绘制状态机图步骤
2.1 状态机机制关键概念
state/状态
状态是对象生命期间的条件,在此期间它满足某些条件,执行某些活动或等待某些外部事件,简单的说就是我们状态机里的状态。
event/事件
触发状态转换的条件
transition/过渡
两个状态之间的转换,当满足一定的事件或条件时,由1个状态过渡到另外一个状态。
2.2 创建工程
2.2 添加状态机图表到工程
新增图表到工程中,在visual paradigm中所有的内容都是图表,所有我们需要手动检索并选择要添加什么类型图表到工程中,本例我们选择添加状态图到工程中。
选择创建1个空白状态图。
输入状态图名称
添加状态图表后如上图所示,默认会有1个初始伪状态。
2.3 添加第1个状态
将鼠标光标移动到初始伪状态上,点击添加图标
选择新增状态,鼠标点击
这里不要输入任何字符,默认即可,这里只是提示,回车按键,实现添加状态
添加完成后如下图所示:
如果想要修改状态名称,可以双击状态框,然后输入想要的状态名称
ps:上述操作都是通过图标来实现的,也是可以通过左侧导航栏中的选项来实现的。
2.4 添加第2个状态
添加第2个状态可以有两种方式:
(1)直接从状态1过渡生成第2个状态。
(2)添加独立的第二个状态。
2.4.1 从状态1过渡生成状态2
上述操作就能够实现从状态1过渡生成状态2,我们可以用移动各状态的位置,如下图所示:
2.4.2 添加独立状态
(1)鼠标点击左侧导航栏【状态】图标选择要进行的操作,然后在画布空白处点击生成新的状态。也可以鼠标点击导航栏【状态】图标,然后直接拖动到画布空白处。
(2)修改状态名称。
2.5 添加状态转换事件
在2.4.1中,从状态1直接过渡生成状态2,其实背后做了2件事儿:添加新的状态,添加状态1到状态2的过渡条件。我们现在设置状态2转换到状态3的过渡事件。如下操作:
先用鼠标点击左侧导航栏【–>转换】图标,选择要进行的操作,然后鼠标点击要进行状态转换的起始状态(本例中为状态2),不要松开鼠标左键,拖动到状态转换的目的状态(本例中为状态3)。
根据提示,输入状态转换过渡的条件,如上图所示。
2.6 添加自身转换
有时我们可能要表达状态等待的概念,此时可以用【自身转换】状态,添加流程如下:
2.7 添加转换条件并完成闭环
我们在添加转换条件时时可以直接添加转换条件的,如果想要修改,只需要双击【转换线】按照提示输入即可。
2.8 其他
(1)转换条件不一定只能有1个方向,这个是完全灵活的,上图中既可以从状态1到状态2,也可以由状态2到状态3
(2)初始伪状态也可以不要,通过独立的状态进行添加也可以。
(3)状态转换线的形状可以通过点击,然后拖动改变形状。
小结
通过上面的流程,对于一般的状态机需求基本上就能够满足了,更高级的功能就需要慢慢摸索实现。总之,使用visual paradigm绘制状态机图十分方便。