第十七章 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),是一种直观化、明确化、构建和文档化软件系统产物的通用可视化建模语言。它捕捉了被构建系统的有关决策和理解,用来理解、设计、浏览、配置、维护以及控制系统的信息,可以与所有的开发方法、生命阶段、应用领域和媒介一同
使用。简言之,就是一组标准化的可扩展的可视化建模语言,结果表现为图形,注意它不是一门编程语言,只用来描述系统,不能用来开发和实现系统功能。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社区被大公司控制的必然结局),读者可以自行搜索,或者使用参考资料中介绍的一款Eclipse
UML,以及一款国产的UML建模软件。当然还有很多的免费UML建模工具可以使用,通过Google搜索即可。
图 17.1 典型 UML 建模工具界面
17.1.2 MyEclipse的UML工具
MyEclipse的UML建模工具实际上是基于ArgoUML开发的,并加入了反向工程和正向工程的能力,可以从代码生成UML图或者从图生成代码。MyEclipse UML 为开发人员提供了下面的UML功能:svg黑科技编辑器
•UML 图: 用例图,类图,序列图,协作图,状态图,活动图,部属图
•集成的图片编辑器,大纲视图和属性视图
•UML 透视图
•不限位置的绘制工具
•通过热区直接编辑接点和连接内容
•图片保存在UML Model Repository(UML模型仓库)文件中(例如cardemo.umr)  •包含UML模型文件的项目类型以及文件存储位置不受限制
•从模型生成Java代码
•导出图形为图片文件,支持多种格式:GIF、PNG、PS、EPS和SVG
•从任何MyEclipse J2EE或者Eclipse Java项目生成类图
o批量反向工程处理任何项目或者源代码目录,Java包或者单独类的组合
o从Eclipse的Package Explorer透视图拖拽任何Java类或者接口添加进UML类图上
o自定义反向工程设置
•从Outline视图将任何UML 元素拖放到任何兼容的UML图中
•对类图进行自动布局
另外,MyEclipse还提供了专门的UML 透视图,来便于进行UML的设计工作。MyEclipse UML 透视图提供了精心调整过的的界面组织来方便进行建模活动。默认视图包括UML Diagram Editor(UML图形编辑器),Outline(大纲)视图,已经自定义的Properties (属性)视图。工具栏上的操作按钮进行了调整和增加,这样依赖使创建新图的过程快速和方便的多。图17.2列出了对各部分进行了标示的UML透视图。
图17.2 MyEclipse UML透视图
17.2 系统需求
由于MyEclipse集成ArgoUML实现UML的开发功能,而ArgoUML当前版本则需要JDK/JRE1.5或者更高版本,因此必须安装这些版本的JDK/JRE之后运行MyEclipse才可使用。当然MyEclipse All IN One版本本身已经自带了JRE 1.5,无需额外配置。对操作系统的支持上,则致辞Windows Vista,XP,2003和2000以及Linux,而苹果的Mac系统则不支持,这是因为SWT本身的一个向SWT中插入Swing组件的Bug所导致的。本书中的例子和截图均在Windows XP中文版SP2下运行和测试。
17.3 创建UML模型仓库
MyEclipse UML 使用一种特殊的文件格式来保存所有的UML图形以及模型元素到单一文件中,即UML Model Repository (UMR)。UMR 文件的后缀是" .umr" ,并且在Package Explorer视图中以图标的方式进行区分显示。在Eclipse项目中可以创建任意多个UMR 文件。其实UMR文件的真实存储格式是ZIP,可以使用7Zip,WinZIP,WinRAR等软件打开,就跟JAR文件的存储格式差不多。
使用MyEclipse UML创建图形的第一步工作,就是用新建UML向导来创建一个UML 模型仓库文件(UMR)。为了方便起见,我们事先已经创建了一个名为UMLTest的Java项目。具体步骤如下:
1. 启动新建UMR 向导。可以通过使用菜单File > New > UML Model Repository,
或者点击工具栏上的按钮,也可以来启动创建UML模型文件的向导。
2. 在Enter or select the parent folder(输入或者选择父目录)一栏中选中要保存文
件的项目,在UML Model Repository(UML模型仓库)一栏中,输入文件名,在UML Root Model Name(UML根模型名称)一栏中,输入想要的名字。此过程可以参考图
17.3进行相关的设置。
图17.3 新建UMR向导及空模型文件
3. 选择Finish按钮,关闭向导对话框,并在刚指定的位置下创建UML文件,稍后
MyEclipse会启动UML Diagram Editor(UML图形编辑器)。默认情况下新建的
UMR文件只有一个空的类图,参考图17.3右侧大纲视图。
4. 切换MyEclipse透视图为MyEclipse UML,这样便于修改和创建UML图。
17.4 创建及修改UML 图
本节我们会简单介绍常见的几种UML图形的概念以及创建方式。由于本书重点在于MyEclipse的工具使用上,所以UML的概念我们并没有打算做100%的详细介绍,图的种类也选择了常用的几种,其它的读者可以自行查资料进行学习。这样省出的篇幅,用于加入后续章节的其它内容,给读者提供更多方面的参考资料。
17.4.1 创建UML 图形
单个UML模型文件可以包含任意数目的和任何类型的UML图形。向文件中添加图形,需要在编辑器中打开UML文件,然后从编辑器工具栏上左数第一个按钮,从下拉列表中选择要建的图的类型即可,参考图17.4。另外还可以从Outline(大纲)视图下点击视图中的类似按钮,也可以创建图形,参考图17.2。支持的UML图形列表列表则参考表17.1。由于这一特征,如果你想和别人分享做好的UML模型,把这个文件发给对方即可(当然前提是他安装有MyEclipse或者Argo UML来查看它)。
图17.4 使用编辑器器工具栏来创建图形
用例图
类图
序列图
协作图
状态图
活动图
部署图
表 17.1 可以创建的UML图类型列表
当一个模型文件中加入了多个图之后,如何进行切换到想编辑的图呢?有两个地方可以进行图之间的切换:第一个地方是在大纲视图,双击需要修改的图的名字即可;另一个地方就是在打开的图的编辑器的工具栏上,有一个下拉的列表可以切换图。此过程请参考图

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。