UML 圖形建模
PlantUML
參考:
使用個案
@startuml
left to right direction
actor 客戶接待
actor 客戶
rectangle 訂單建立 {
客戶 -- (創建訂單)
客戶 -- (檢查訂單)
客戶 -- (修改訂單)
客戶 -- (確認訂單)
客戶接待 -up- (創建訂單)
客戶接待 -up- (檢查訂單)
客戶接待 -up- (修改訂單)
客戶接待 -up- (確認訂單)
}
actor 倉庫管理員
actor 運送公司
actor 會計系統
actor 庫存系統
rectangle 訂單處理 {
倉庫管理員 -- (寄送 email)
倉庫管理員 -- (填寫產品)
運送公司 -- (出貨運送)
會計系統 -- (信用查核)
會計系統 -- (收費)
庫存系統 -- (檢查存貨)
}
@enduml
顯示結果
活動圖
有泳道 (Swimlane) 的活動圖:
@startuml
|Swimlane1|
start
:foo1;
|#AntiqueWhite|Swimlane2|
:foo2;
:foo3;
|Swimlane1|
:foo4;
|Swimlane2|
:foo5;
stop
@enduml
更詳細的案例:
@startuml
|顧客|
start
:創建訂單;
|顧客接待|
:檢查訂單;
fork
|會計系統|
:信用查核;
if (信用良好?) then (是)
else (否)
|顧客接待|
:拒絕訂單;
stop
endif
fork again
|庫存系統|
:檢查庫存;
if (庫存足夠?) then (是)
else (否)
|倉庫管理員|
:取消訂單;
stop
endif
end fork
|顧客|
if (是否改單?) then (是)
:修改訂單;
else (否)
endif
|顧客接待|
:確認訂單;
|倉庫管理員|
:貨品裝箱;
fork
|倉庫管理員|
:寄送郵件;
fork again
|會計系統|
:收費;
fork again
|運送公司|
:出貨運送;
stop
end fork
|倉庫管理員|
stop
@enduml
Markdown Preview Enhanced
此 VsCode 的插件支援 PlantUML 的立即檢視與匯出。
可以用 Ctrl-K-V 檢視某 .md 檔案,會顯示成排版後的網頁結果。
在該結果視窗按下滑鼠右鍵,會顯示功能表,按下 Save as Markdown 會將 xxx.md 另存為 xxx_.md,該檔案內的 puml 程式框就會被轉換為圖片存在 /assets/ 資料夾下。
我們可以用 vscode/Edit/Replace in Files 作全部檔案的字串取代,例如:
../assets/ 改為https://cccbook.github.io/sejs/docs/assets/
這樣就可以將檔案存回 github/wiki 並且能成功地顯示圖片。
問題
Save to Markdown 時會出現下列訊息:
Error: ImageMagick is required to be installed to convert svg to png. Error: Command failed: convert C:\Users\user\AppData\Local\Temp\mume-svg118101-892-1lp46he.gyxnf.svg D:\course\sejs\docs\assets\d6faad89f84acb96eff9da79e3cb1e620.png �ѼƵL�� - D:\course\sejs\docs\assets\d6faad89f84acb96eff9da79e3cb1e620.png
結果發現 convert 指令後來被取代掉了,而且 windows 裏的 convert 是 FAT => NTFS 的用途。
參考:
- https://www.imagemagick.org/discourse-server/viewtopic.php?t=29582
- http://www.imagemagick.org/Usage/windows/#convert_issue
這樣就沒辦法在 windows 裏正確使用 save markdown 的功能了。
以上問題是因為灌錯 markdown preview enhanced 了,要用 json roger 的這個版本 https://github.com/shd101wyy/vscode-markdown-preview-enhanced/releases
不能用 yiyi Wang 的版本。