UML建模工具浅度分析

1、Rose
这个工具我不多说,它应该是最权威的,但不一定是最适合的。但是Rose仅仅是个建模工具,无异于一个画图工具。Rose画的图风格明显,一看就知道是用的Rose。不过要使用它来管理还要结合Rational的其它工具,整体使用的话很庞大。我不多评价,因为没用过,想起被人们称为“巨大”、“资源杀手”、“经常崩溃”、“价格昂贵”我就头疼。希望同组其他同学评估一下,补全。
2、Visio
这个更不用多说了,完全就是个画图工具,而且沾染了MS的风格,不开放,完全陷在自己的小圈子里面。不过有两个别的工具不具有的优点:A、速度快、图形美观、资源占用小、界面友好、容易上手……这些都是MS Office的优点 B、剪贴板格式与MS Word兼容,非常容易嵌入到Word文档中,这个是最有用的功能!
不过可惜,对UML标准也就是睁一只眼闭一支眼,不标准不兼容,且非常不合理的不支持Java,哎,只能忍痛割爱。总之Visio只能用来玩玩,画画漂亮的画骗骗小孩。
3、Together for Eclipse 7.0 or 6.3
说起它感觉就是个痛苦。首先这个东西都是收费的,所以必须破解以后才能体验。刚装上7.0没有发现画类图的工具,抓耳挠腮呀,还是没有解决。而后试验了6.3,这个能够顺利使用,建模应该是UML1.1的东西。图形非常简单,看来法国背景的Borland并没有让它看起来很漂亮,可惜。不过Together本来是仅次于Rational的业界老二,所以东西当然很强大,支持基于模式的UML建模,不过建模以后的图看起来乱七八糟的。但这是由原因的,Together更加偏重于MDA,所以它的输出应该是代码,而不是UML图,所以这个工具面向生产,能够准确的自动生成代码,也支持逆向工程(从代码生成类图),但是图都是简陋的。而我们的这次实践还没有应用MDA这样的概念,设计只是概念指导,文档是重要的输出,所以选择Together可能会是个艰难的选择。
简而言之,Together的功能我们有90%用不到,而用到的那10%还是Together的弱项,你说怎么选择。本工具可以输出XMI,可以与其他UML工具交换。Together目前最新的版本是7.0 for EC,我再找找破解,看看能否翻案,不过希望不大。
同时还要控诉以下Together for EC,我当时用6.3花了好久画的图输出时却犯难了,因为它只支持SVG格式输出。SVG是Adobe的不怎么疼的一个儿子,是一种基于XML的矢量图像格式,类似Flash,而现在Adobe鲸吞了Macromedia以后Flash就变成Adobe的养子了,如此之下SVG这个亲儿子也失宠了,可怜。倒霉的SVG与Adobe的其它东西一样,对中文字体总有点感冒,所以用IE打开乱码,要下载SVG Viewr中文版才可以解决,但是用起来还是特别别扭。在Word里面用SVG,我目前使用illustrator转化SVG为BMP,然后再到Photoshop转化为GIF,然后再嵌入Word,这也是被逼呀,没办法……
BTW:用illustrator转换SVG叶挺麻烦,每次要删除辅助线,挺麻烦的,真的让人有心理阴影,这直接造成让我放弃Together。
4、Visual Paradigm Smart Development Enviroment 3.0 for Eclipse
这个工具获得了本年的Jolt大奖,按理说会不错。体验了一下,首先是界面画画绿绿,感觉有点像是过年贴的年画,后来打听到原来Visual Paradigm是一个香港的公司,呵呵,还是国产软件呢。相比有些花哨的界面,程序的功能真的非常强大,而且在画图的时候可以从从一个个UML对象上面直接派生关系,感觉真的是Smart。
但是缺点又来了:我们工作于Eclipse,但是SDE并不是紧密结合的。分两个部分:Visual Paradigm for UML 5.0 Community Edition、SDE 3.0 for Eclipse and IBM WebSphere Studio Community Edition。后者才是SDE,也就是与Eclipse结合的建模部分,而VP for UML5.0是个比较纯粹的建模工具,它并不与Eclipse完全结合。在使用的时候SDE的Community版本无法从代码逆向工程出UML模型,而且SDE环境无法直接输出图像格式的UML图,必须先导入VP for UML5.0以后才可以输出为其它格式。这样可能会带来一些不方便,我们将无法使用代码与模型同步的功能(如果用企业版好像可以),这是个问题。
再用简单的话说,VP分两个部分,一个是SDE与Eclipse结合,一个是VP for UML5.0纯粹建模和输出UML图,但是两者结合并不紧密。且Community版本代码同步不能用,这是个麻烦。但是总体上这个工具比较强大,理念先进,且完全支持UML2.0。本工具可以输出XMI,可以与其他UML工具交换。所以作为我们的备选方案。目前本工具只支持Eclipse 3.0.x。
5、Omondo EclipseUML Free Edition 2.1.0
这个工具用的人比较多。它更接近一个Eclipse插件,虽然它不是开源的。这个工具比较纯,可以UML2.0建模,支持代码模型同步(类似MDA的方式)。
我们依然先说缺点,这个Free版本无法支持与CVS同步的项目,靠,这真的很烦,如果去掉CVS同步就可以。
说优点:EclipseUML的逆向工程能力非产好用,你可以直接托拽工程里面的类到类图里面,这个非产贴心!如此就可以代码同步了,这对贯穿项目整个生命周期非常有意义。再有,它的UML图画的非常好看,我觉的是上面几个中最棒的!简单、颜色清淡、具有阴影效果、没有锯齿和难看的图形、所有的图标与Eclipse环境统一,这样的UML图真的是别无所求了!但是,没有完美的,目前的Free版本只能输出SVG,靠,这等于和Together一样瘸腿了,不过欣慰的是Studio版支持输出Windows Metafile、CGI、JPEG格式,哈哈,而且有20天试用,如此的话我们完全可以集中输出。再说实在不行可以截图……
EclipseUML Free和前面的UML建模工具比还有个优点,它支持Eclipse 3.1,这样的话就可以和我们的最新的Eclipse3.1+Myeclipse4.0M2环境结合起来工作了,支持逆向工程,UML2.0图很标准很漂亮,CVS支持带来的问题我们可以通过维护一个没有CVS的项目来操作。
CVS项目问题和图形输出还可以通过EclipseUML Studio Edithion来解决,不过可惜的是这个版本只支持Eclipse 3.0.x,和前面那些工具一样啦……
简单的说,EclipseUML支持逆向工程、简单、图形漂亮,支持Eclipse 3.1,方便协同工作,所以应该作为我们项目的推荐方案。

下午,又峰回路转了,对本来在待定状态的Together 7改变了看法。

先是发现以前用的破解方法没有错,而且是在Win XP里面唯一有效的方式,如果决定用,我们就可以破解它。
然后发现原来我以为Together 7没法画图,其实是个低级错误,里面的面板学习VS.net是自动隐藏的,所以我一直没有发现,今天仔细看就看到了(可能写作业的时候太紧张了)。
图好象不是UML2.0的,但是这不算个问题。
图形还是比较平淡,就是很基本的那种,也没有颜色,就是黑白的。可是隐藏在后面的是巨强大的MDA功能,支持画图自动生成代码,而且画图的时候可以使用内置的模式的模版,还可以自定义模式,很强大的。然后发现不能导出单一的图,本来觉得又要失望了……谁知山穷水尽疑无路,柳暗花明又一村,发现居然可以Export一个整体报告出来,输出的时候图像可是可以是BMP、JPG、SVG等等,并且连JavaDoc也一并生成了,还有个很酷的applet树……绝对的爽!

所以基本上Together7还是具有老二的风范的,应该推荐。而Rational系统ZH同学说还是不太稳定,且4CD的体积看了绝对受不了(谁喜欢肥girl?),so,这个老二是绝对值得考虑的!

也就是说:
现在可以考虑的是Together、VP SDE、EclipseUML。Together的类图缺写颜色,但是功能全。VP SDE大家好像都不太喜欢,花花绿绿让人……而且没什么绝招吸引人。EclipseUML的最大优点是支持Eclipse 3.1,可是Free版本没法与有CVS的项目工作,而Studio版只能用20天且不支持Eclipse 3.0.2。所以综述,目前UML工具只能在Eclipse 3.0.2下工作,能够完美注册使用,且能够提供完整解决方案的就是Together for Eclipse 7.0,所以,我最终认为它就是最值得推荐的!

最后我们画个表格来对比一下这几个建模工具:

工具名称 版本 与EC结合 UML2.0兼容 逆向工程 输出图形格式 注册 图形美观 界面友好 MDA支持 支持EC版本 支持CVS 结论
Rational Rose 2003 × × × All 必须 7/10 ? × × × ×
MS Visio 2003 Sp1 × × × All 必须 7/10 10/10 × × × ×
Together 7.0 for EC × SVG 必须 4/10 6/10 3.0.x 推荐
VP SDE 3.0 for EC ×(注册) SVG、PNG、JPG 免费 8/10 7/10 ×(注册) 3.0.x 备选
EclipseUML 2.1.0 Free SVG(其它需要注册) 免费 9/10 8/10 3.1 ×(注册) 推荐

相关连接:
http://www.borland.com/us/products/together/index.html
http://www.visual-paradigm.com/product/vpuml/productinfovpumlce.jsp
http://www.omondo.com/还有一个准备看看:
http://argouml.tigris.org/
看过了,是个纯Java实现,不能与Eclipse协同。总的来说比较一般,就是个建模工具,估计也没有Rose友好,所以不做近一部考察啦。

4 thoughts on “UML建模工具浅度分析”

  1. 你好,我的邮箱是chen-f@neusoft.com,你的邮箱是多少啊?希望我们以后常联系

  2. 你好,我也下载了Together for Eclipse 7.0,但是找不到注册文件,你能帮忙找一下吗?给我发一份也可以啊。万分感谢!

Leave a Reply

This site uses Akismet to reduce spam. Learn how your comment data is processed.