在調(diào)試源碼、學(xué)習(xí)總結(jié)時如果能有清晰的類圖、時序圖在手邊,那么必將事半功倍。今天總結(jié)下個人摸索這款工具的坑,希望能讓大家在安裝使用時少走彎路。
首先我們需要的是一款能夠逆向的插件,逆向是指能夠根據(jù)java代碼自動生成類圖或時序圖。當(dāng)然,很快我遍找到了很多款可用的插件列表。然而在安裝過程中卻歷經(jīng)坎坷。
主要原因如下:
第一、各種被墻;
第二、mac版,相對來說坑更多;
第三、網(wǎng)上帖子年代久遠(yuǎn)、大多項目地址已經(jīng)搬遷;
第四、插件使用介紹不多,裝好后仍難使用;
第五、沒有安裝GEF,導(dǎo)致插件出不來;
網(wǎng)上有很多中插件,本文不一一羅列,只講親測可用的AmaterasUML。
第一步:安裝GEF
提供兩個版本的update site地址,如果eclipse版本較高(5.0.0 Oxygen),下載GEF5,否則下載 GEF4;
GEF5 update site: http://download.eclipse.org/tools/gef/updates/releases
GEF4 update site: http://download.eclipse.org/tools/gef/gef4/updates/releases
補充一下update site的安裝方式:
打開eclispe -> help -> Install New Software

彈出框如下:

點擊add -> 輸入update site地址(name隨便填) -> ok
然后出現(xiàn)需要安裝的套件,Select All -> Next,然后一步一步安裝,這個地址沒有被墻,稍微有點大,安裝速度應(yīng)該還可以。

第二步:安裝AmaterasUML
AmaterasUML update site: https://takezoe.github.io/amateras-update-site/
AmaterasUML搬到了github,所以下載速度也很快。網(wǎng)上老版本地址很多都不可用。
安裝步驟參考第一步;
第三步:使用AmaterasUML
順利的話,現(xiàn)在重啟eclipse就在file -> new -> other里面就可以看到AmaterasUML了。如果沒有,應(yīng)該是哪里出問題了,可以留言探討。

AmaterasUML提供了活動圖、類圖、時序圖、用例圖。這里介紹類圖和時序圖的使用。
Class Diagram 類圖:
類圖比較簡單,我們新建一個類圖文件classDiagram.cld,

在這個視圖下,我們直接把需要展現(xiàn)的類從左側(cè)拖過去即可,需要注意的是,Link with Editor一定要關(guān)掉,如下圖:

簡單拖拽,一個簡單的類圖就完成了。

右擊元素可以對其編輯、排版等,詳細(xì)操作自由去探索吧。
Sequence Diagram時序圖
時序圖如何生成?逆向時序圖由Stack Trace Sample視圖生成。
首先window -> show view -> other,調(diào)出所有view

選擇Stack Trace Sample -> ok

出現(xiàn)如下視圖:

逆向時序圖就是由此view生成,這里需要準(zhǔn)備堆棧信息,復(fù)制進Stack Trace Sample窗口。

堆棧信息復(fù)制進去以后,點擊窗口右上角的那個小按鈕(不同版本可能不太一樣)直接生成時序圖,然后彈出窗口選擇需要保存時序圖的位置,如果沒有彈窗,可能是堆棧信息格式有誤。

打開保存的時序圖如下:

是不是很完美? 哈哈 還是不錯。
有了堆棧信息,產(chǎn)生時序圖很方便,目前我的堆棧信息是通過自定義異常拋出的,還在尋找更好的生成方式。