有谁知道Myeclipse 插件中的UML怎么使用。
怎么将代码转换成UML?
后者怎么用UML生成程序的框架?
谢谢
------解决方案--------------------
1. UML设计简介
统一建模语言(Unified Modeling Language,UML)是面向对象软件的标准化建模语言,由于其简单、统一,又能够表达软件设计中的动态和静态信息,目前已经成为可视化建模语言事实上的工业标准。UML提供了9种图,分别是:类图、对象图、用例图、序列图、协作图、状态图、活动图、构件图和部署图等。
MyEclipse内置的UML设计支持功能可以满足一般的项目设计需要。本书中的兵马俑网上商城中的一些设计工作就是借助MyEclipse的UML设计支持功能完成的。本节将以常见的类图设计为例,简单介绍MyEclipse的UML设计功能。
2. 简单类设计案例
本节将设计一个简单的商品类Goods的类图。
2.1单击“文件→新建→其他”菜单,弹出如图2.1所示对话框。选择MyEclipse项目下子项目UML,再选择子项目UML Model Repository。
2.2单击“下一步”按钮,弹出如图2.2所示对话框。“UML Model Repository”设为at1test。
图2.1 新建UML Model Repository
图2.2 新建UML文件
2.3单击“完成”按钮,进入UML可视化编辑设计器。如图2.3所示。其中空白区域为UML设计区。
图2.3 UML可视化编辑设计器
2.4借助类图设计工具设计类Goods如图2.4所示。
图2.4 Goods类图
3.生成Java代码
Goods类图设计完成后,就可以借助MyEclise的Java代码自动生成功能生成Java代码。
3.1单击“UML→Generate Java”菜单,弹出如图3.1所示对话框。选择Goods类。
图3.1生成Java代码
3.2单击“完成”按钮。MyEclipse自动将Goods类图转换成以下源代码。
代码14-4 文件名:Goods.Java
/*
*/
public class Goods {
public String goods_id;
public int goods_name;
public float price;
public float discount;
public int getGoods_id() { return 0; }
public void setGoods_id(void Goods_id) { }
public String getGoods_name() { return null; }
public void setGoods_name(String goods_name) { }
public float getPrice() { return 0.0f; }
public void setPrice(float Price) { }
public float getDiscount() { return 0.0f; }
public void setDiscount(float Discount) { }
}
4. 逆向Java代码
MyEclise还支持反向工程。例如可以将Java 类代码逆向转换为UML 类图设计。本节以DB_Conn类为例,介绍逆向Java代码功能。
4.1将第14章里的DB_Conn.java代码拷贝到src目录。
4.2单击“UML→Reverse Engineer UML From Java…”菜单,弹出如图4.2所示对话框。选择DB_conn.java文件。
图4.2 逆向Java代码
4.3单击“下一步”按钮,弹出如图4.3所示对话框。将“Hide class/interface details”选项去掉。
图4.3 逆向Java代码功能选项
4.4单击“完成”按钮。MyEclipse自动将DB_Conn.java源代码逆向为DB_Conn类图。如图4.4所示。
图4.4 DB_Conn类图