UML建模工具以及可用于UML建模的SVG編輯工具。
軟件名稱
功能
ArgoUML
一種基于Java的開源UML OO建模工具,,Argo是古希臘英雄Jason的戰(zhàn)船,。ArgoUML支持軟件設計者的認知需求,廣泛地支持開放標準,,如UML,、XMI、SVG,、OCL等,。
Batik 1.1 SVG Toolkit
Apache Batik工具包提供JAVA組件創(chuàng)建(SVGGraphics2D)、瀏覽(JSVGCanvas)和轉換(Transcoder)SVG,。
CatWalk
SchemaSoft的軟件工具,,用于快速實時創(chuàng)建SVG Web應用。在向網站請求數(shù)據(jù)時,,每次都會重新發(fā)布數(shù)據(jù)變化,。可以用來實時更新UML圖,。
Dia
一種基于GTK+的制圖工具,,很像Visio。有一些特殊對象可以幫助繪制實體關系圖,、UML圖,、流程圖、網絡圖,等等,,可以將圖以EPS和SVG格式輸出,。
DoME(Domain Modelling Environment)
一種元case系統(tǒng),用于構建面向對象軟件模型(CY OOA和UML),,有自已的后端圖形語言,。
Gill
即Gnome Illustration app,是基于Gnome的一種通用矢量繪圖工具,,本身并沒有對UML提供過多的支持,,最終會支持所有的SVG特性。
Gmodeler
一個免費在線UML繪圖和文檔工具,,使用FlashMX開發(fā),,并不支持輸出SVG格式,但可作為SVG UML建模軟件的原型參考,。
Graphviz
ATT出版的開源繪圖軟件,,有Linux和Windows版本,包括一個名為Webdot的web服務接口,。
JSeq
可以自動創(chuàng)建UML序列圖的工具,,可輸出格式Zargo和SVG??瑟毩⑹褂没蚺cJUnit一起使用,。
MagicDraw UML
非常強大的建模工具,基于JAVA開發(fā),,可以輸出SVG格式文件,。
OptimalJ
用于NetBeans的一種UML類圖編輯器,使用Batik輸出SVG,。
Poseidon for UML
基于ArgoUML,,與其界面基本相同,完全由Java實現(xiàn),,非開源的UML建模工具,。與ArgoUML相比,功能要更豐富,,更穩(wěn)定,。
SVG Maker
一個獨立的軟件組件,可以作為系統(tǒng)的一部分進行布署,。
SVG Slide Toolkit
它可以把XML文件轉化為SVG幻燈格式,,不過用起來似乎有些慢。
Together Control Center 5.5
經常使用的一種集成化開發(fā)平臺,,使用Batik輸出SVG格式的UML圖,。
Visual Paradigm for UML Community Edition
支持所有UML圖,,可作為圖形輸出SVG、JPG和PNG等格式,,執(zhí)行復雜圖的打印,。支持從事件流生成序列圖,,從序列圖生成組合圖的功能,。
WebDraw
JASC,也就是開發(fā)Paint Shop Pro的那家公司,,提供的一個商業(yè)SVG可視編輯器,。
表一 支持SVG格式的UML建模工具及可制作UML的SVG編輯工具
六、結論
今天,,絕大多數(shù)Web圖像仍然采用JPG,、GIF或PNG等位圖文件格式,盡管應用了各種壓縮算法,,文件尺寸還是不能大大降低,。加 之缺乏足夠的多媒體信息和交互手段,為進一步應用造成了障礙,?;谑噶康膱D形,如SVG,、Flash,、VML等可以很好的解決Web圖形文件尺寸較大的問題。在這個領域中Flash文件已經得到了較好的應用,,VML逐漸被SVG和Flash所淘汰,,競爭的焦點集中在SVG和Flash上。未經壓縮的SVG 文件尺寸較大,,同樣的圖形使用SWF格式存儲要小很多,。經過節(jié)壓縮的SVGZ格式與SWF格式尺寸相近,大小僅相差5%-10%左右,。SVGZ可以直接由瀏覽器來瀏覽,。因為W3C的大力推廣,SVG/SVGZ還是具有相當競爭力的,。
利用SVG在線發(fā)布UML圖,,并不是一項全新的應用,現(xiàn)有的一些大型建模軟件都提供了輸出SVG文件的功能,,但是這些系統(tǒng)卻過于龐大,,不利于快速敏捷地進行建模。因此,,現(xiàn)有的敏捷建模方法甚至推薦僅使用紙筆來繪制一些不太正式的UML圖,,事實上,,這種方法在實際使用過程中常常也會獲得一定程度地成 功。但這種方法繪制出的UML圖并不總是能夠正確地捕捉,,而且代碼更新所帶來的變化也不能持續(xù)地反映出來,。由此可以看出,這些方法都有不足之處,,最好是利用輕量級UML建模工具敏捷快速地建模,,然后存儲為SVG格式,直接將其在網絡上發(fā)布,。當然了,,基于SVG的建模工具是應當能夠比較充分地支持SVG標 準,除了支持基本的繪圖功能之外,,還要支持SVG圖形的交互功能和動畫特性,,這一點很多通用建模工具是不可能完成的。另外,,一些開源項目也在研究基于 SVG的組件庫,。整體上來說,SVG的功能絕不僅僅限于繪制各種各樣的UML圖,,但是,,SVG的流行肯定與UML圖形是分不開的,如果可以更好地對UML 圖進行支持,,例如開發(fā)基于SVG格式的UML組件庫,,構建基于SVG格式的UML建模工具,那么SVG格式或許也能因此而更加流行,。在這一領域,,還有許多工作需要完成。