需要插件,不過myeclipse 里是自帶的吧.
創(chuàng)新互聯(lián)專業(yè)為企業(yè)提供梁河網(wǎng)站建設(shè)、梁河做網(wǎng)站、梁河網(wǎng)站設(shè)計、梁河網(wǎng)站制作等企業(yè)網(wǎng)站建設(shè)、網(wǎng)頁設(shè)計與制作、梁河企業(yè)網(wǎng)站模板建站服務(wù),10年梁河做網(wǎng)站經(jīng)驗,不只是建網(wǎng)站,更提供有價值的思路和整體網(wǎng)絡(luò)服務(wù)。
File ----- New -------- UML Model Repository
然后轉(zhuǎn)到MyEclipse UML 視圖,然后菜單上點擊UML——〉Reverse Engineer UML form java.... 然后把要轉(zhuǎn)換為UML的JAVA文件前面打鉤 就可以了。
推薦使用ModelGoon!
*ModelGoon是什么?
它是一個Eclipse插件,用于基于UML圖的模型設(shè)計,以及逆向工程(即從已有源代碼生成類圖等,以作為代碼分析或者文檔使用)。
*適用條件
ModelGoon目前最新的版本是3.0.0,適用于Eclipse3.4+,包括最新的Eclipse 3.6版本
*如何安裝
推薦在線安裝,site地址是
需要注意的是,有時必須使用代理服務(wù)器才能連接成功。
也可以離線安裝,下載包的地址是
下載完該jar之后,直接拷貝到Eclipse安裝目錄下的dropins目錄下,重啟Eclipse即可
*如何使用
安裝成功后,file=new=other菜單里面會多出一項ModelGoon Diagrams,在自己已有的java工程中新建一個class diagram,用以生成類圖。創(chuàng)建完成后你會發(fā)現(xiàn)生成了一個.mgc后綴的文件,現(xiàn)在你可以用這個文件創(chuàng)建自己的類圖了。用法相當直接,你可以把若干個java類拖拽進這個文件視圖中,UML類圖自然被生成,以及各個類之間的關(guān)系。
*參考資料
需要注意的是,有時必須使用代理服務(wù)器才能連接成功。
*為什么選擇ModelGoon而不是其他的插件
其他的UML插件也能完成類似的功能,但是在安裝使用的過程中會碰到種種問題。
常有人推薦EclipseUML這個插件,但是目前這個項目的主頁無法打開,似乎已停止維護;
還有Slime UML據(jù)說也不錯,但是找不到下載源;
此外還有AgileJ口碑也不錯,可惜是付費的,沒有免費版;
至于papyrusuml,只是單向的,做模型設(shè)計、繪制UML圖時使用,而并不支持逆向工程;
在ROSE里,選定要生成代碼的類圖——菜單“TOOL”——java/j2EE——generate code
Point2D.java
/**
*?Title:?Point2D.javabr
*?Description:
*
*?@author?王凱芳
*?@date?2020年3月5日?下午7:09:35
*?@version?1.0
*/
public?class?Point2D?{
protected?float?x;
protected?float?y;
public?Point2D()?{
super();
}
public?Point2D(float?x,?float?y)?{
super();
this.x?=?x;
this.y?=?y;
}
public?float?getX()?{
return?x;
}
public?void?setX(float?x)?{
this.x?=?x;
}
public?float?getY()?{
return?y;
}
public?void?setY(float?y)?{
this.y?=?y;
}
public?float[]?getXY()?{
return?new?float[]?{?x,?y?};
}
public?void?setXY(float?x,?float?y)?{
this.x?=?x;
this.y?=?y;
}
@Override
public?String?toString()?{
return?"("?+?x?+?","?+?y?+?")";
}
}
Point3D.java
/**
*?Title:?Point3D.javabr
*?Description:
*
*?@author?王凱芳
*?@date?2020年3月5日?下午7:09:35
*?@version?1.0
*/
public?class?Point3D?extends?Point2D?{
private?float?z;
public?Point3D()?{
super();
}
public?Point3D(float?x,?float?y,?float?z)?{
super();
this.x?=?x;
this.y?=?y;
this.z?=?z;
}
public?float?getZ()?{
return?z;
}
public?void?setZ(float?z)?{
this.z?=?z;
}
public?float[]?getXYZ()?{
return?new?float[]?{?x,?y,?z?};
}
public?void?setXYZ(float?x,?float?y,?float?z)?{
this.x?=?x;
this.y?=?y;
this.z?=?z;
}
@Override
public?String?toString()?{
return?"("?+?x?+?","?+?y?+?","?+?z?+?")";
}
}
那要看你的UML工具支不支持代碼生成,比如PowerDesigner就支持UML和Java代碼間的轉(zhuǎn)換,需要對PowerDesigner進行一定的配置。