今天在看一個模擬器的源碼,一個包里有多個類,一個類里又有多個屬性和方法,如果按順序看下來,不僅不能對整個模擬器的框架形成一個大致的認(rèn)識,而且只會越看越混亂,所以,想到有沒有什么工具可以將這些個類以及它們之間的依賴關(guān)系轉(zhuǎn)化成UML圖,這樣一看圖就能一目了然。立刻搜了看,沒想到這樣的工具一大堆,下面羅列最經(jīng)典的6款。參考:http://www.csdn.net/article/2012-09-12/2809862-6-java-to-uml-tools
模型開發(fā)工具(MDT)提供了一些示范性工具,在元模型的基礎(chǔ)上的發(fā)展模式。它支持創(chuàng)建UML圖,從代碼的逆向工程到UML圖等等。
2、ArgoUML
ArgoUML是一個領(lǐng)先的開源UML模型工具,它支持UML 1.4的所有標(biāo)準(zhǔn),可以運(yùn)行于任何Java平臺上。
ModelGoon是一個Java包的依賴分析的Eclipse插件,用來顯示項(xiàng)目中Java包與包之間的依賴關(guān)系,如下圖所示:
4、Green
Green是Eclipse的一個插件,是一種先進(jìn)的還簡單的UML類圖的工具,主要學(xué)生開發(fā)使用。它是live round-tripping編輯器,因此可以很容易地從一個UML類圖生成Java代碼。它有很好的可擴(kuò)展性。
5、Minjava
Minjava是一個Java反向工程軟件,可幫助理解已存在一些Java軟件的架構(gòu)和行為。
AmaterasUML可以對大工程的支持,上面所列的一些插件像Green,貌似不支持大工程,如果出現(xiàn)大的工程文件,通常會出現(xiàn)崩潰的情況,而且形成的整個UML圖顯得混亂無比。
由于我在eclipse上看源碼,所以,裝了兩個適用于eclipse的插件,Green和AmaterasUML,下面簡單談?wù)劙惭b和使用感受。
1、Green安裝和使用
詳見:http://wenku.baidu.com/view/7ec0b519ff00bed5b9f31d1b.html
安裝有在線和離線安裝,離線就是下載Green安裝包,然后將里面的插件copy到eclipse的插件文件夾下即可,這種方法現(xiàn)在已經(jīng)不適用了,其官網(wǎng)上是這么說的:
green will now be distributed via update site instead of direct download. The latest build of green can be found at the following update site: http://www.cse.buffalo.edu/faculty/alphonce/green
To install or update green, go to Help->Install New Software... Type in (or copy/paste) the above site URL and click Add. After the update site has been added, you can install from that same dialog.
所以,按照它的說法,使用在線安裝就好了,注意:在裝之前需要安裝GEF插件,新版的eclipse貌似已經(jīng)安裝,4.0版本之前的需要手動安裝。
安裝好之后,重啟,在任何類名上右擊可以看見相關(guān)選項(xiàng):Green UML,點(diǎn)擊即可獲得相關(guān)類的UML圖:如下的顯示效果:
2、AmaterasUML的安裝于使用
如果對于小工程項(xiàng)目,即一個類或接口所包含的方法和屬性不是很多,用Green是最好的選擇,但是對于大工程項(xiàng)目,這個插件要么無法加載各個類,有時還崩潰,要么可以加載但是很混亂,需要自己人工調(diào),非常麻煩,所以,對比了之后,發(fā)現(xiàn)AmaterasUML是最合適的,ModelGoon也很好,但安裝的時候需要使用代理,這個在Linux上可以做,具體方法可以參考:http://blog.sina.com.cn/s/blog_6e10ddff0101eixf.html 。但是在windows上好像不行,從上面可以看出,這個插件比AmaterasUML要好,它可以顯示各個包之間的依賴關(guān)系,也許AmaterasUML也可以,但是我到現(xiàn)在還沒發(fā)現(xiàn),具體安裝和Green一樣也有兩種方法,下載地址和使用方法請見其官網(wǎng):http://amateras.sourceforge.jp/cgi-bin/fswiki_en/wiki.cgi?page=AmaterasUML
下面是其顯示效果,可以直接拖拽,如何拖拽,間上面的官網(wǎng)鏈接。
下面是網(wǎng)友遇到的問題,也許你也會遇到,先記下:
我剛下載了Green UML的3.4版本,把它配置到Eclipse 3.4的插件中,對代碼進(jìn)行UML模型轉(zhuǎn)換時,發(fā)現(xiàn)得到的圖形只有每個類的圖形,而沒有類之間的關(guān)系(依賴、泛化、實(shí)現(xiàn)等),而且選用板上也只有類、接口、枚舉、注釋這幾種,沒有依賴、泛化、實(shí)現(xiàn)等,而我看網(wǎng)上的介紹中應(yīng)該是可以顯示關(guān)系的,請問各位知道這是怎么回事嗎?
Green UML的3.4 要和 GEF 配合用。您是不是只裝了Green 沒裝GEF?
而且麻煩的地方在于 Green和GEF的版本還必須匹配。比如Green3.5要配GEF3.4
這是GEF3.4的鏈接
http://archive.eclipse.org/tools/gef/downloads/drops/R-3.4.0-200806091334/