2 回答

TA貢獻(xiàn)1873條經(jīng)驗(yàn) 獲得超9個贊
事實(shí)上,我不確定將項(xiàng)目的所有類放入一個類圖中是一個好主意,因?yàn)榻Y(jié)果對于很多類來說是不可讀的,例如您可以使用我的工具BoUML來做到這一點(diǎn)。下載/安裝/運(yùn)行后:
創(chuàng)建一個新項(xiàng)目
在全局菜單語言中選擇 Java
對于出現(xiàn)的第一個目錄對話框,請按“取消”按鈕(您沒有java 目錄),然后對于第二個目錄對話框,選擇包含要建模的所有 Java 源的根目錄,然后等待結(jié)束
在左側(cè)的瀏覽器中,在任何已創(chuàng)建的類視圖或您自己創(chuàng)建的新類視圖中,單擊鼠標(biāo)右鍵并選擇“新建類圖”,然后雙擊將其打開
可能您需要隱藏圖中類的詳細(xì)信息以限制其大?。梢陨院髨?zhí)行此操作,但最好立即執(zhí)行此操作,以防您有很多類),在這種情況下,請右鍵單擊圖表或?qū)⑵浞湃霝g覽器中編輯繪圖設(shè)置并將設(shè)置設(shè)置為“是”隱藏類屬性和隱藏類操作然后確認(rèn)(按鈕“確定”)
使用頂部的雙目按鈕(靠近打印按鈕),將種類更改為類,然后使用按鈕搜索,然后標(biāo)記它們,然后關(guān)閉
進(jìn)入打開的圖表(顯示在窗口的右側(cè)部分),單擊鼠標(biāo)右鍵并選擇添加標(biāo)記元素,將類放置在隨機(jī)位置,然后重做鼠標(biāo)右鍵單擊并選擇自動布局(當(dāng)然,您也可以自己移動類) )
正如您所看到的,類之間的所有關(guān)系都被繪制出來,而不僅僅是泛化/實(shí)現(xiàn)。如果您只需要它們,而不必一一隱藏所有其他關(guān)系,您可以開發(fā)一個插件來標(biāo)記模型的所有類和泛化/實(shí)現(xiàn),然后更改我給出的過程:
當(dāng)您編輯繪圖設(shè)置時,也進(jìn)入第二個選項(xiàng)卡并設(shè)置為“否”設(shè)置繪制所有關(guān)系
而不是使用瀏覽器搜索(雙目按鈕)來選擇所有類,而是使用您的插件
無論如何,再次將所有類顯示在一個圖表中并不是一個好主意,除非您的類很少。

TA貢獻(xiàn)1909條經(jīng)驗(yàn) 獲得超7個贊
盡管 BoUML 在這方面做得不錯,但對于大型項(xiàng)目來說,它并不漂亮。
為了獲得更好的解決方案,從源代碼完全自動創(chuàng)建基本但完整的類圖,請嘗試我用 Java 編寫的簡單提取器:https:?//github.com/folterj/ClassDiagramExtractor
該項(xiàng)目使用反射,并從文件夾(和子文件夾)中的所有包生成圖表。
筆記:
沒有命令行選項(xiàng) - 在代碼中克隆并運(yùn)行設(shè)置源文件夾
這會生成一個與 GraphViz(點(diǎn))一起使用的 gv 文件
結(jié)果看起來相當(dāng)不錯,因?yàn)樗鼘纸M在一起,甚至使用了顏色。
添加回答
舉報(bào)