2024年5月2日发(作者:)

MyEclipse 6 Java开发中文教程

第十七章 MyEclipse UML 建模

第十七章 MyEclipse UML 建模........................................................................................1

17.1 介绍...................................................................................................................1

17.1.1 UML概念及常见建模工具.........................................................................1

17.1.2 MyEclipse的UML工具..............................................................................2

17.2 系统需求............................................................................................................4

17.3 创建UML模型仓库.............................................................................................4

17.4 创建及修改UML 图...........................................................................................5

17.4.1 创建UML 图形........................................................................................5

17.4.2 类图和常见修改功能................................................................................6

17.4.3 正向工程 - UML 类图生成Java代码.....................................................12

17.4.4 反向工程 - Java 代码生成UML 类图....................................................13

17.4.5 绘图工具................................................................................................17

17.4.6 用例图(Use Case Diagram)...................................................................18

17.4.7 活动图(Activity Diagram)..................................................................18

17.4.8 序列图(Sequence Diagram).............................................................20

17.5 常见问题..........................................................................................................21

17.6 小结.................................................................................................................22

17.7 参考资料..........................................................................................................22

17.1 介绍

17.1.1 UML概念及常见建模工具

UML是什么?在回答这个问题之前,请您思考这样一种现象。路边有一棵很大很粗的

银杏树,好了,现在让几个从事不同职业的人,或者是操不同方言的人,来给别人介绍这棵

银杏树,你猜会出现什么样的情况?考古者会说:哦,这是一棵古树,很有科研价值,对于

研究这一带的地志迁移很有帮助,假设用无缝取样法看看年轮,甚至能了解几百年来的气候

变迁。农民朋友会说:这是一棵长势喜人的银杏树,不过银杏是雌雄异株,嫁接上对应性别

的枝条后,能够收成很多银杏。生物学家会说:银杏(Ginkgo Liloba L.),植物界,裸

子植物门,银杏纲,银杏目,银杏科,银杏属,银杏种,俗称白果,公孙树。……当然,如

果是外国人来介绍银杏,则另是一番情况。最后,请各位把见到的银杏树画出来,那估计又

是各有千秋,甚至如果碰到印象派画家,画出来的图让你都认不出这还是棵银杏。因为,人

们表达自己的形式是千奇百怪的,在软件行业,也是如此。在UML之前,各式各样的图表

被用来描述软件系统,这带来了知识交流过程中的阻碍。UML的提出,就是为了部分的解

决软件系统的描述问题。好了,现在我们就用专业点的属于来介绍UML:统一建模语言

(Unified Modeling Language,UML),是一种直观化、明确化、构建和文档化软件系统产

物的通用可视化建模语言。它捕捉了被构建系统的有关决策和理解,用来理解、设计、浏览、

配置、维护以及控制系统的信息,可以与所有的开发方法、生命阶段、应用领域和媒介一同

1

刘长炯著

MyEclipse 6 Java开发中文教程

使用。简言之,就是一组标准化的可扩展的可视化建模语言,结果表现为图形,注意它不是

一门编程语言,只用来描述系统,不能用来开发和实现系统功能。1997年,OMG组织(Object

Management Group对象管理组织)发布了统一建模语言。UML的目标之一就是为开发团

队提供标准通用的设计语言来开发和构建计算机应用。UML提出了一套IT专业人员期待多

年的统一的标准建模符号。通过使用UML,这些人员能够阅读和交流系统架构和设计规划

--就像建筑工人多年来所使用的建筑设计图一样。截至到目前为止,UML已经推出了2.0版

本,在企业中获得了广泛的应用。当然,它也有一些缺陷,例如一些新的软件结构,如SOA

等,就无法用UML描述。另外,还有个很重要的地方就是UML并没有规定图的颜色,但

是也没规定UML图不能带彩色,因此,UML的图主要在于形状,颜色本质上是黑白的。

常见的UML建模工具比较多。用的最多的当属Rational Rose(现在被IBM收购),它

的特点主要是老牌,出来的图看着比较正规,不过和工具的整合不够紧密,是商业的收费软

件。另外还有Borland Together,它的最强大的功能当属动态的代码和图形同步功能,即从

代码生成图,并且代码改动或者图改动后,都会同步到对应的地方,这个几乎是无人能及,

在生成顺序图等功能上也是很强大的,它是用Java语言开发的,有Borland Together for

Eclipse这样的版本,便于在Eclipse下使用。还有一款就是Sybase出品的Power Designer,

它的主要特色就是数据库建模和UML建模合二为一,可以从数据库生成模型,也可以从模

型生成数据库代码,是公司数据库管理员必备软件,可惜也是商业收费的。微软Office的

Visio也能进行UML建模,只可惜,出来的图不甚标准,也无法从图生成原型代码。开源的

UML建模工具中,用的比较广泛的当属ArgoUML,实际上MyEclipse的也是基于它二次开

发了一下而已。另外,Netbeans 6也提供了UML建模功能。Eclipse也有对应的UML插件,

然而多数都是收费软件(这当属Eclipse社区被大公司控制的必然结局),读者可以自行搜

索,或者使用参考资料中介绍的一款EclipseUML,以及一款国产的UML

建模软件。当然

还有很多的免费UML建模工具可以使用,通过Google搜索即可。

图 17.1 典型 UML 建模工具界面

17.1.2 MyEclipse的UML工具

MyEclipse的UML建模工具实际上是基于ArgoUML开发的,并加入了反向工程和正

向工程的能力,可以从代码生成UML图或者从图生成代码。MyEclipse UML 为开发人员提

供了下面的UML功能:

2

刘长炯著