關于PhpStorm中如何繪畫UML的解析

IDE支持

  • phpstorm

    • 在Plugins中 安裝PlantUML integration插件

    • 到http://www.graphviz.org/網站下載graphviz.exe并安裝(這個軟件可以支持更多的UML語法)

    • 將graphviz安裝目錄下的dot.exe路徑添加到PlantUML的設置中

文檔

  • 文檔地址:http://plantuml.com/

    立即學習PHP免費學習筆記(深入)”;

  • 建議使用活動圖-Activity-bate語法:活動圖Activity-Beta(https://plantuml.com/zh/activity-diagram-beta)

  • 活動圖(新語法)

當前活動圖(activity diagram)的語法有諸多限制和缺點,比如代碼難以維護。所以從V7947開始提出一種全新的、更好的語法格式和軟件實現供用戶使用(beta版)。就像序列圖一樣,新的軟件實現的另一個優點是它不再依賴與Graphviz。
新的語法將會替換舊的語法。然而考慮到兼容性,舊的語法仍被能夠使用以確保向前兼容。
但是我們鼓勵用戶使用新的語法格式。

語法

基礎

  • @startuml、@enduml
    開始、結束標記,表示UML解析的部分

  • start、end
    表示圖示的開始和結束。圖示的開始和結束。

  • :Hello world;
    活動標簽(activity label)以冒號開始,以分號結束。活動默認安裝它們定義的順序就行連接。

  • if、then、else和elseif
    設置分支測試。標注文字則放在括號中。

  • repeat、repeatwhile 重復循環。

  • while和endwhile進行while循環。還可以在關鍵字endwhile后添加標注,還有一種方式是使用關鍵字is。

  • fork,fork again和end fork表示并行處理。

  • note、end note、floating note left 等等表示注釋,例如:

floating note left: This is a note :foo2; note right   This note is on several   //lines// and can   contain <b>HTML</b>   ====   * Calling the method ""foo()"" is prohibited end note
  • #HotPin:activity;、#AAAAAA:ending of the process; 表示顏色

  • 使用->標記,你可以給箭頭添加文字或者修改箭頭顏色。dotted, dashed, bold or hidden arrows 和顏色標記,例如-[#blue]->

  • 通過定義分區(partition),你可以把多個活動組合(group)在一起。通過定義分區(partition),你可以把多個活動組合(group)在一起。例如:

partition Initialization {     :read config file;     :init internal variable; }
  • 使用管道符|來定義泳道。還可以改變泳道的顏色。

|Swimlane1| start :foo1; |#AntiqueWhite|Swimlane2| :foo2; :foo3; |Swimlane1| :foo4; |Swimlane2| :foo5; stop
  • 關鍵字detach移除箭頭。

  • 通過修改活動標簽最后的分號分隔符(;),可以為活動設置不同的形狀。|、、/、]、}

:next(o)| :Receiving; split  :nak(i)<  :ack(o)> split again  :ack(i)<  :next(o)  on several line|  :i := i + 1]  :ack(o)> split again  :err(i)<  :nak(o)> split again  :foo/ split again  :i > 5} stop end split :finish;

一個例子

@startuml start if (is login?) then (Y)     if (gived box?) then (Y)         :illegal request;         detach     else (N)         :release box;         :get boxOid;     endif else (N)     if (has boxOid?) then (N)         :illegal request;         detach     endif endif  :check wechat broswer; if (wechat broswer?) then (Y)     if (get openid from cookie?) then (Y)         if (get userInfo from DB by openid?) then (N)             :clear openid in cookie;             :re-request Url;             detach         endif     else (N)         :location wechat auth;         detach     endif endif  :receive chocolate;  end @enduml

關于PhpStorm中如何繪畫UML的解析

更多phpstorm技術文章,請訪問phpstorm教程欄目!

? 版權聲明
THE END
喜歡就支持一下吧
點贊5 分享