UML设计简介
统一建模语言(Unified Modeling Language,UML)是面向对象软件的标准化建模语言,由于其简单、统一,又能够表达软件设计中的动态和静态信息,目前已经成为可视化建模语言事实上的工业标准。UML提供了9种图,分别是:类图、对象图、用例图、序列图、协作图、状态图、活动图、构件图和部署图等。
MyEclipse内置的UML设计支持功能可以满足一般的项目设计需要。本书中的兵马俑网上商城中的一些设计工作就是借助MyEclipse的UML设计支持功能完成的。本节将以常见的类图设计为例,简单介绍MyEclipse的UML设计功能。
简单类设计案例
本节将设计一个简单的商品类Goods的类图。
(1)单击“文件→新建→其他”菜单,弹出如图1 所示对话框。选择MyEclipse项目下子项目UML,再选择子项目UML Model Repository。
(2)单击“下一步”按钮,弹出如图2 所示对话框。“UML Model Repository”设为at1test。
图1 新建UML Model Repository 图2 新建UML文件
(3)单击“完成”按钮,进入UML可视化编辑设计器。如图3 所示。其中空白区域为UML设计区。
(4)借助类图设计工具设计类Goods如图4 所示。
图3 UML可视化编辑设计器 图4 Goods类图
生成Java代码
Goods类图设计完成后,就可以借助MyEclise的Java代码自动生成功能生成Java代码。
(1)单击“UML→Generate Java”菜单,弹出如图5 所示对话框。选择Goods类。
图5 生成Java代码
(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) {
}
}
逆向Java代码
MyEclise还支持反向工程。例如可以将Java 类代码逆向转换为UML 类图设计。本节以DB_Conn类为例,介绍逆向Java代码功能。
(1)将第14章里的DB_Conn.java代码拷贝到src目录。
(2)单击“UML→Reverse Engineer UML From Java…”菜单,弹出如图6 所示对话框。选择DB_conn.java文件。
(3)单击“下一步”按钮,弹出如图7 所示对话框。将“Hide class/interface details”选项去掉。
图6 逆向Java代码 图7 逆向Java代码功能选项
(4)单击“完成”按钮。MyEclipse自动将DB_Conn.java源代码逆向为DB_Conn类图。如图8 所示。
图8 DB_Conn类图