2008-10-11 131 views
26

是否有任何好的工具或工具鏈允許從文本源文件創建.svg格式的UML圖像? 這個問題的原因是我想自動生成這些圖像,以避免手動創建和更新這組圖像。從文本文件中渲染UML圖

回答

12

UMLGraph是一個程序,用於從基於文本的描述中生成UML圖(主要是類圖和序列圖)。它的目的是與java源代碼一起使用,但有一些改動,也可以使用C++風格的源代碼,如this blog entry所述。從UMLGraph網站

引用:

的GNU plotutils pic2plot程序可以 然後處理序列圖 創建一個PNG,PNM,(僞)GIF,SVG, AI,後記, CGM,FIG,PCL,HPGL, Regis或TEK圖紙。

+1

嘗試了序列圖;發現它是令人難以置信的挑剔(序列圖是用pic宏完成的,而不是Java--我可以讓樣本工作,但我自己的宏儘管有效,儘管我可以說是失敗了),並且樣本輸出看起來很糟糕,因爲位圖或SVG(在Ubuntu 14.04上使用pic2plot 2.6)。對於序列圖,我會避免... – Adrian 2015-07-10 11:32:34

+0

您應該結帳http://www.zenuml.com。這是一個在線將TEXT即時轉換成序列圖。 – 2017-08-09 04:05:43

0

免費的UML工具JUDE允許從Java源代碼創建UML圖。我不知道它是否適用於其他語言。

+0

嘿約恩,JUDE現在被稱爲 'Astah'(http://astah.net/editions/professional)及圖表可以從Java源代碼和C創建++和C#使用免費插件(http://astah.net/features/plugins)。 – Satomi 2014-09-08 05:18:12

1

Enterprise Architect不會自動創建圖表,從源代碼相當不錯(在各語言)以及來自數據庫或其他來源。

11

PlantUML是一個很好的工具,它將文本轉換爲標準化的uml圖。

你有這樣的作爲confluenze

3

插件有稱爲JS Sequence Diagrams另一個工具,允許從簡單的文本生成UML序列圖。

它使用underscore.jsRaphaël來構建圖表。

是行貨簡體BSD和GitHub

0

可用的源代碼,如果你喜歡JS序列圖,您也應該檢查出UMLet具有相似的前提下(能夠通過文字來定義圖表,類似於graphviz描述),並讓工具找出圖形和定位。

恕我直言,這種方法沒有得到足夠的宣傳或牽引。對於簡單的設計對話或快速文檔,完整的往返源分析很困難,並且在許多情況下「太多工作」。企業級工具佈局的複雜性阻止了除最大文檔之外的所有其他文檔的使用。而且由於價格過於陡峭,敏捷受到無文檔的影響。

由於這些原因,我希望看到更多的工具採用這種方法。

1

對於序列圖,我非常喜歡Mscgen。簡單的文本格式,可愛的圖表出來。

「Mscgen是一個小程序,解析消息序列圖描述和產生PNG,SVG,EPS或服務器端圖像映射(ismaps)作爲輸出」 - http://www.mcternan.me.uk/mscgen/

例如表單的輸入:

# MSC for some fictional process 
msc { 
    hscale = "2"; 

    a,b,c; 

    a->b [ label = "ab()" ] ; 
    b->c [ label = "bc(TRUE)"]; 
    c=>c [ label = "process(1)" ]; 
    c=>c [ label = "process(2)" ]; 
    ...; 
    c=>c [ label = "process(n)" ]; 
    c=>c [ label = "process(END)" ]; 
    a<<=c [ label = "callback()"]; 
    --- [ label = "If more to run", ID="*" ]; 
    a->a [ label = "next()"]; 
    a->c [ label = "ac1()\nac2()"]; 
    b<-c [ label = "cb(TRUE)"]; 
    b->b [ label = "stalled(...)"]; 
    a<-b [ label = "ab() = FALSE"]; 
} 

生成輸出是這樣的:

Sequence diagram for a fictional process

1

我知道這是一個古老的線程,但仍然,我想與大家分享一個更多的工具,我覺得非常有幫助和用戶友好的:https://www.websequencediagrams.com/

這是一個在線工具,可以讓你立即開始運行。

它還具有各種漂亮的佈局開箱即用。
下面是兩個例如:

enter image description here