主要包括以下三步:
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