Entries RSS

Choosing a CASE Tool

2010 Jan 4

现在的建模工具在MDA的概念之下发展的非常强劲,我们这次的一个Web项目准备尝试用UML建模并辅助生成代码和数据库。不可避免的,我们需要考虑所使用的CASE工具。经过一番试用,总结出如下内容:

各领风骚

目前流行的CASE工具还是很多的。UML的创始人Booch为首的Rational Rose,Sybase的PowerDesigner,NoMagic的MagicDraw。另外有一些工具和IDE集成紧密,NetBeans的UML工具,Eclipse的UML2Tools、EclipseUML、AmatuerUML、Together等。这其中有开源的,有商业的,让人眼花缭乱。除了基本的画图功能外,一些成熟的CASE工具是支持MDA特性的,即可以生成代码的。

Rational Rose or RSA

这个是老牌OOM的工具了,网上对他的介绍如下:

Rose是当时全球最大的CASE工具提供商Rational的拳头产品,UML建模语言就是由Rational公司的三位巨头Booch、Rumbaugh和Jacobson发明的,后来Rational被IBM收购,所以Rose可谓出身名门,嫁入豪族。

Rose的最新版本是Rose 2003,再之后的版本IBM开发了另一款Rational Software Architect,那是一款基于Eclipse的建模环境。意在替代已经大红大紫的Rose。可惜广大的工程师并不领情,依然习惯于老旧的Rose。
Rose 2003里面,对UML2支持性很差,运行速度较慢。作为一款软件,他的界面显得有些老旧,界面使用不太方便。
Rose的优点是它的教程、文档遍地都是,基本是OOM领域的一个基准点。另外,对于J2EE开发、GoF设计模式支持的非常深入。
由于Rose更注重于项目的逻辑部分,这款软件的使用者,可能是经验丰富的设计师,或是已经相当习惯Rose的一些程序员。对于他们,也许这样一款异常“专业”的工具才是最亲切的。

新版的RSA我没有用过,大家可以到IBM的官网上下着玩下。RSA是基于Eclipse的一套IED,也有针对WebSphere的插件。这个更多的应该是完善IBM的整个Rational体系,因为你选择了WebSphere,那么就必须选择IBM的一系列产品,MDA这块,IBM肯定不会放过。看过Eclipse的UML插件你会发现,他们都大同小异。

Rational Rose: http://www.ibm.com/developerworks/cn/rational/products/rose/
RSA: http://www.ibm.com/developerworks/cn/rational/products/rsa/

PowerDesigner

关于PD(PowerDesigner,以下同样如此简称),我们很自豪他的创始人是个中国人。网上对PD鄂介绍如下:

PowerDesigner有一段好玩的历史,作者王晓昀是一位中国人,在法国SDP软件公司工作时,由于苦觅一个好用的CASE工具未果,干脆自由开搞,整了个AMC Designor出来,居然一炮打响,在法国卖得个“巴黎纸贵”,后来SDP被Powersoft公司收购,同年Sybase这只大黄雀又吃下了 Powersoft这只螳螂,所以PowerDesigner也是惊艳出场,星光四射。

人们对PD的印象是再DBM领域是绝对的王者,毕竟东家是Sybase。这种说法再PD9的时候还尚且说得过去,但是从PD12往后,PD就是一个从需求到部署的一条龙的建模利器。可以说,PD才是真正意义上的RUP流程。
在PD9之后的版本里,Requirements Data Model、Bussiness Process Model、Concept Data Model、Physics Data Model、Object Oriented Model等概念出来以后,就已经树立了PD的未来一站式建模的发展方向。
从本质上讲,PD的数据库建模以及对象建模才是核心力量,其它的功能固然好,但是毕竟有很多选择(例如,用Word+绘图工具直接做需求描述)。
在PD15里面,跟UML2的关联度越来越大,各种各样的模型基本涵盖了RUP流程的每一个角落。

PD的数据库建模方面,在建立了CPM(类似于领域模型)可以自动生成针对某个DBMS的PDM(也就是数据库表)。这一过程就已经够爽了,想想CPM是数据库无关的,更新数据库这方面是非常潇洒的。
PDM可以导出为SQL,最大限度的节省部署的难度。
如果你决定用PD来做需求、分析、设计,那么你甚至可以从RDM到BPM,再到OOM、再到CPM,到这里实际上你的程序架构和数据库都出来了……
PD的缺点是,它已经细致到了非常深的程度。上手虽然简单,但是真的想要从BPM到CPM一路上都用PD完成,需要一定研究。

PD可以在官网上下载试用版,在试用期内你就可以很容易上手。想想Sybase的PB吧……

PD :http://www.sybase.com/products/modelingdevelopment/powerdesigner

Magic Draw

认识这个软件的理由很尴尬。号称对设计和开发领域非常友好的Mac上,其实这些程序建模软件少的可怜。除了基于Java的平台的一些本身就是跨平台的建模软件,就没有一个是真正为Mac开发的。
MagicDraw是一个基于Java的独立开发环境,也有Eclipse插件,看你喜欢怎么用了。
使用起来很方便,鼠标的操作占主要部分。目前还没有用这个做出过东西,也不能妄加评论。可能是被PD的易用性惯坏了,感觉比较难以上手,主要表现为一打开那超多按钮的界面就头晕……
最新的16.6,我自己安装的16.5 SP4。这个是支持UML2.x的,图片风格和PD一样非常漂亮。如果使用Eclipse的插件,你可以直接在Eclipse里新建一个MagicDraw文件,然后在Eclipse里面作图,和插件无异。这一点让我比较喜欢。
MagicDraw跟随的是Rose的脚步,强调逻辑建模,对需求建模支持的不是很强大。
另外,MagicDraw的很多功能都是由插件提供的,当然插件大多是付费的……

MagicDraw不失为一个标准的UML解决方案,易用性赶不上PD,但是功能足够强大,感觉替代Rose是足够了的。

MagicDraw:http://www.magicdraw.com/

EclipseUML

这个是地道的Eclipse插件,支持UML2.x的所有图,标准的UML建模工具。我试用的时候感觉很吃内存。
界面交互方式和MagicDraw之类的没有很大区别……
它的主要优势是不断更新,且功能支持比较完整。但没有什么其它亮点。

其它种种

AmaterasUml是个非常简单的UML插件,仅仅支持有限的几种UML图。优势是简便、开源。http://amateras.sourceforge.jp/cgi-bin/fswiki_en/wiki.cgi?page=AmaterasUML
Visual Paradigm,传说中速度最快的UML工具,下载过还没用过。http://www.visual-paradigm.com/product/vpuml/
Eclipse UML2Tools是一个Eclipse的官方插件,是MDT的一个组件。支持的图比较有限,类似AmaterasUML。http://www.eclipse.org/modeling/mdt/downloads/?project=uml2tools

No Comment. Write me!

Post a Comment

Your email is never shared. Required fields are marked *

*
*