主要包括以下三步:
1. 下载plantuml.jar 配置到本地环境变量方便直接本地使用
http://plantuml.com/download
https://sourceforge.net/projects/plantuml/files/plantuml.jar/download
将这个软件放置到某目录,如~/toolkit/design/plantuml/plantuml.jar
对于linux可以修改~/.bashrc,新增一行,保存退出并重新登录
alias plantuml="java -jar ~/toolkit/design/plantuml/plantuml.jar "
也可以将以下文本拷贝到plantuml.sh脚本中,且放在和plantuml.jar同一个目录
#! /bin/bash
#
####################################################
# Author : longbin
# Created date: 2019-03-21 10:57:44
####################################################
function plantuml()
{
if [ $# = 0 ] ;then
echo "ERROR: invalid param, please figure plantuml source code text file"
return
fi
local cur_dir=$(dirname $0)
local plantumljar=${cur_dir:=$(pwd)}/plantuml.jar
# echo "${plantumljar}"
if [ -f ${plantumljar} ] ;then
java -jar ${plantumljar} $*
fi
}
plantuml $*
将以上文本拷贝到plantuml.sh脚本中,然后在.bashrc中添加命令别名,如
alias plantuml="bash ~/toolkit/design/plantuml/plantuml.sh "
重新开启终端即可使用plantuml命令;
2. 编写uml代码,保存到alice.uml
@startuml
Alice -> Bob: Authentication Request
Bob --> Alice: Authentication Response
Alice -> Bob: Another authentication Request
Alice <-- Bob: another authentication Response
@enduml
再来一个复杂一点的onstar.uml
@startuml
header onstarservice start seq
autonumber
HMI -> ICI: start onstar
ICI -[#red]>> onstar: GMLAN_Send_PhoneSpeechRecReq
== onstar req src 52, and play VR/TTS ==
... delayed about 1s sometime ...
ICI <<[#0000FF]-- onstar: produce available src 52
|||
ICI -[#black]>> audio: Request_Source_Activation
audio -> audio: req src 52
ICI <<--[#black] audio: AM_AUDIO_CONN_RES granted
ICI -[#red]>> onstar: Request_GMLAN_Connect
ICI <<[#0000FF]-- onstar: Producing_Silence
|||
ICI -[#black]>> audio: Request_Source_Fade_To_Connection
audio -> audio: fade in src 52
ICI <<--[#black] audio: ON_AU_EV_UNMUTED
ICI -[#red]>> onstar: Request_GMLAN_Connect_Complete
loop loop until onstar exit
ICI <<[#0000FF]-- onstar: Producing_Audio
end
== show onstar homepage ==
... delayed about 0.5s ...
ICI <<[#0000FF]-- onstar: active menu display event
ICI -[#red]>> onstar: req menu title
ICI -[#red]>> onstar: req menu list
ICI <<[#0000FF]-- onstar: menu title
ICI <<[#0000FF]-- onstar: menu list
ICI -->> HMI: display onstar menu
@enduml
3. 使用命令生成UML图
3.1 默认生成png图片
plantuml onstar.uml
3.2 生成svg图片
plantuml -tsvg onstar.uml
参考资料
http://plantuml.com/zh/sequence-diagram