介绍两个UML工具

作者在 2009-09-16 14:24:26 发布以下内容

我 这些年来用过的UML工具加起来没有几十个也有十几个,觉得其中最好用的仅有两个:其一为Visual Paradigam,其二为MagicDraw UML。至于大名鼎鼎的Rational Rose(现在是IBM Rational Rose),乃是我见过的最大、最难用的怪兽,嘿嘿。

什么是好用?在我的经验中,所谓好用须满足两个条件:首先是快,其次是漂亮。

1、快,也就是使用便捷。想象一下,自己在舞动鼠标之前想好了一打的类图、用例关系、协作关系,但一旦坐在电脑前打开你伟大的建模工具,却一直等到把构思忘得一干二净还怎么也画不出两个方格(类图),这样的工具你会用吗?所以,这建模工具的第一个必要特征是快;

2、漂亮,恐怕不少兄弟对这点不以为然——我们使用UML建模的时候,首先得对自己所画出来的东西感到赏心悦目不是?别千辛万苦画出一堆很“精确”的图形出来,看起来却惨不忍睹,够打击人的吧,嘿嘿。

至于其它功能,比如说生成代码、逆向工程、双向同步什么的就不提了,因为咱也没几个人用这些复杂的玩意,是吧。下面我们介绍两个工具:

Visual Paradigm(以下简称VP)

VP作为SDE的组成部分,曾获得过第15届Jolt震撼大奖,这个工具好在哪里呢?

首先当然是“快”,它能快到什么程度?这么说吧,你的脑子有多快,它就能工作得多快!呵呵,我的同事曾戏言:使用VP,一会儿就能画出一大堆UML图来。我们看看VP如何工作(以画类图为例):

第一步,从工具箱里把一个Class拽出来放置到工作区域中,然后输入类名,然后一切就搞定了——开玩笑的,呵呵;

第二步,把鼠标放在你刚才放置的Class上头,看见什么了?嗯,这个Class的周围出现了可用关系的快捷链接,如下图1所示,阁下要做的只不过是用鼠标把这些快捷链接上拖一下,然后在新产生的对象上做一下类似于第一步的操作而已。

我们再来说说它的“漂亮”——实际上,兄弟我对VP自己使用的图标异常不满:什么嘛,入眼的全是蓝色而且图标很土。我所言“漂亮”指的是我们可以使用VP画出符合自己审美观的UML图来,看看下面这张图:

是不是感觉世界很美好?

MagicDraw UML(以下简称MagicDraw)

MagicDraw是No Magic公司的产品(名字有点意思),曾得过多届Jolt大奖中的生产力奖(Productivity),我知道的有第15、17两届。上面说Rose 是一个大怪兽,实际上单从体积上说来MagicDraw其实也不小,其12.0版的安装文件就达168M之多。要不是好用,俺早就把它扔到不知哪个角落里 头啦。

MagicDraw又好在哪里呢?首先说快,它只比VP慢一点点,嘿嘿——我们来看看MagicDraw如何工作(以画类图为例):

第一步,从工具箱里把一个Class拽出来放置到工作区域中,然后输入类名——你看到什么了吗?类似于VP的快捷链接出现在这个类的右侧,所以这第二步的操作其实与在VP里头一样,如下图

这MagicDraw只为当前具有焦点的项显示快捷链接,而在VP里只要鼠标移动到图形的上快捷链接就会显示出来——这就是我所说的,MagicDraw要比VP慢上一点点。

说到漂亮,我觉得MagicDraw要比VP要好上一点点:感觉界面上要协调一些,至于画出来的图嘛,两个工具差不多。下面是MagicDraw画出来的整张图:

最后得告诉大家一声:这两个工具都有公众版(Community Edition),大家可以自由使用。VP的官方网站是http://www.visual-paradigm.com,MagicDraw的官方网站是http://www.magicdraw.com

补充,这两个软件的Community版分别有以下限制:

1、VP Community —— 在同一个工程(Project)中,每种图只能画一张,且不能使用高级的代码生成、同步等功能;

2、MagicDraw Community —— 在同一个项目(Project)中,除Class图无限制外,其他的图每种只能画25个项。

基础知识 | 阅读 3639 次
文章评论,共3条
vfdff(作者)
2009-09-16 14:32
1
MagicDraw(UML)学习笔记0 概述<br />
所谓的“4+1”Architectural Views(13 diagrams):<br />
Use Case View:<br />
&nbsp;&nbsp;&nbsp; Use Case Diagram<br />
<br />
Structural View:实现一个被定义的需求的解决方案而需要的结构元素,标识了所有的业务实体以及它们之间的关系。<br />
&nbsp;&nbsp;&nbsp; Class Diagram<br />
&nbsp;&nbsp;&nbsp; Object Diagram<br />
&nbsp;&nbsp;&nbsp; Composite Structure Diagram(Package Diagram)<br />
<br />
Implementation View: Sturectural View的实现产物。<br />
&nbsp;&nbsp;&nbsp; Component Diagram 构件及其关系<br />
&nbsp;&nbsp;&nbsp; Composite structure Diagram 构件内部的构成<br />
<br />
Behavioral View:基于交互行为,不是定义系统的构成,而是系统的用例如何被执行。<br />
&nbsp;&nbsp;&nbsp; Sequence Diagram<br />
&nbsp;&nbsp;&nbsp; Communication Diagram<br />
&nbsp;&nbsp;&nbsp; State Diagram<br />
&nbsp;&nbsp;&nbsp; Activity Diagram<br />
&nbsp;&nbsp;&nbsp; Interaction Overview Diagram<br />
&nbsp;&nbsp;&nbsp; Timing Diagram<br />
<br />
<br />
Environment View:表现了系统的物理布置,软件模块的物理位置<br />
&nbsp;&nbsp;&nbsp; Deloyment Diagram
vfdff(作者)
2009-09-16 15:43
2
1、关联(association)<br />
说明:是一种结构关系,它指明一个事物的对象与另一个事物的对象间的联系。给定一个连接两个类的关联,可以从一个类的对象导航到另一个类的对象,反之亦然。<br />
图形:一条实线,可以带箭头。<br />
属性:名称、角色(关联中靠近它的一端的类对别外一端的类呈现的职责)、多重性。<br />
<br />
2、聚合()<br />
说明:一种特殊的关联,表示“整体/部分”的关系,其中一个类描述了一个较大的事物,它由较小的事物组成。<br />
图形:整体的一端用一个空心菱形表示。<br />
<br />
3、组合()<br />
说明:是关联的更强的形式,该关系中组合具有管理组成部分的特有责任,如它们的分配和释放。<br />
图形:组合的一端用一个实心菱形表示。<br />
<br />
4、泛化(generalization)<br />
说明:是一般事物(超类)和该事物的较为特殊的种类(子类)的关系。<br />
图形:一条带有空心大箭头的有向实线,指向父类。<br />
<br />
5、依赖(dependency)<br />
说明:一个事物(如类Event)规格说明的变化可能影响到使用它的另一个事物(如类Window),但反之未必。<br />
图形:一条有向的虚线,指向被依赖的事物。<br />
<br />
6、实现()<br />
说明:将一个模型元素,连接至另一个提供了行为说明而无结构或实现的模型元素,如接口。<br />
图形:一条带有空心大箭头的有向虚线,指向实现类。
vfdff(作者)
2009-09-17 13:43
3
UML建模网站<br />
http://blog.csdn.net/qdzx2008/archive/2005/11/24/536060.aspx
游客请输入验证码
浏览1936636次