Rational Rose、PowerDesign、Visio的一些比较

7 月 11th, 2009 | Posted by | Filed under 架构设计

本文内容遵从CC版权协议, 可以随意转载, 但必须以超链接形式标明文章原始出处和作者信息及版权声明
网址: http://www.penglixun.com/tech/architecture/rational_rose_powerdesign_visio_compare.html

就目前建模软件来说,Rational Rose、PowerDesign、Visio三个是比较常用的系列了,在这里对它们做一些比较,我只用过PowerDesign、Visio和一个跟Rose很像的免费工具StarUML,下面有些内容来自网络,我也找不到源头了,就懒得标注从哪来的,就是网络来的。

ROSE是直接从UML发展而诞生的设计工具,它的出现就是为了对UML建模的支持,ROSE一开始没有对数据库端建模的支持,但是在现在的版本中已经加入数据库建模的功能。ROSE主要是在开发过程中的各种语义、模块、对象以及流程,状态等描述比较好,主要体现在能够从各个方面和角度来分析和设计,使软件的开发蓝图更清晰,内部结构更加明朗(但是它的结构仅仅对那些对掌握UML的开发人员,也就是说对客户了解系统的功能和流程等并不一定很有效),对系统的代码框架生成有很好的支持。但对数据库的开发管理和数据库端的迭代不是很好。

PowerDesigner原来是对数据库建模而发展起来的一种数据库建模工具。直到7.0版才开始对面向对象的开发的支持,后来又引入了对UML的支持。但是由于PowerDesigner侧重不一样,所以它对数据库建模的支持很好,支持了能够看到的90%左右的数据库,对UML的建模使用到的各种图的支持比较滞后。但是在最近得到加强。所以使用它来进行 UML开发的并不多,很多人都是用它来作为数据库的建模。如果使用UML分析,它的优点是生成代码时对Sybase的产品PowerBuilder的支持很好(其它UML建模工具则没有或者需要一定的插件),其他面向对象语言如C++,Java,VB,C#等支持也不错。但是它好像继承了Sybase公司的一贯传统,对中国的市场不是很看看好,所以对中文的支持总是有这样或那样的问题。

Visio原来仅仅是一种画图工具,能够用来描述各种图形(从电路图到房屋结构图),也是到VISIO2000才开始引进软件分析设计功能到代码生成的全部功能,它可以说是目前最能够用图形方式来表达各种商业图形用途的工具(对软件开发中的UML支持仅仅是其中很少的一部分)。它跟微软的 office产品的能够很好兼容。能够把图形直接复制或者内嵌到WORD的文档中。但是对于代码的生成更多是支持微软的产品如VB,VC++,MS SQL Server 等(这也是微软的传统),所以它可以说用于图形语义的描述比较方便,但是用于软件开发过程的迭代开发则有点牵强。

三种产品各有侧重点,各有优缺点,主要是看你的选择和你的开发方式和环境。
俺也来从自己的经验谈谈。
我是从目的和支持的角度来谈的。
首先谈一个目的问题。现在都讲究面向对象的分析和设计,俺也就基于oo讲起吧。版本就是Rational Suite 2002 VS PowerDesigner 9.5 VS Visio 2002。
第一,Case软件的一个基本功能就是作图。
在软件工程中,我们做的图大概有以下几种:系统框图/树图;UML图;ER图;Gantt图;任意流程图;其他任意的图表。
系统框图/树图用在比较随意、没有形成特定的文档的时候,在这个环节上面,Visio最好,rose不支持,PowerDesigner支持一点点不好用。
UML图中,三者都支持,Rose支持全系列的,而且很容易体现迭代、用例驱动等特性,相关性最好,缺点是图形质量差,逻辑检查与控制差,没有Name和 Code的区分(PowerDesigner的特性)不太适合中国人,生成文档不好也不适合自定义,也没有设计对象的字典可以快速查找。 PowerDesigner 9.5全支持,优点就是图形质量好,生成的文档容易自定义,逻辑检查与控制好,有设计对象的字典可以快速查找和快速在图形中定位,缺点就是相互之间的衔接稍微麻烦一点,对UML和RUP不熟练的人用了,体现不出来迭代和用例驱动,熟练的人用了还算比较好解决。相比较起来Visio的图形质量是最好的,但是衔接和相关性也是最差的,逻辑检查和控制勉强能做一点点。
ER图不用说了,做得最好的是PowerDesigner,Rose和Visio比较业余。
Gantt图用于项目计划,Visio可以做,其他的都不支持。但是建议你不要用Visio做,还是用Project做好啦。
任意流程图不被Rose支持,Rose只支持面向业务的活动图和面向用例的活动图,限制比较多。PowerDesigner 9.5支持,用起来还可以。Visio最好,因为它的图形质量最好,而且预定义的元素也最多。
Rose不支持其他任意的图表。PowerDesigner 9.5支持,但是预定义的元素不多。这一点Visio最好,不用多说了。

第二,好的Case软件支持Case文档与代码、Case文档与数据库之间的双向转换。
Rose文档能够与代码、数据库双向转换,是通过中间插件实现的。PowerDesigner最好,大集成,支持与代码和数据库之间的双向转换,而且不需要插件。Visio是通过VBA和宏实现的,用起来稍微麻烦,虽然这个技术不难,但是现在懂这个的好像不太多。

其次谈一个支撑和协作问题。
Rose有相对最新最完整UML支持,PowerDesigner和Visio稍微滞后一点。Rose有RUP体系的支持和一系列支持RUP的软件与 Rose协作,这一点是PowerDesigner和Visio望尘莫及的。但是PowerDesigner有一个优点就是“一站式”分析设计,不需要任何插件就可以与代码和数据库双向转换,Rose这方面需要Rational公司提供的相应的插件(数据库不要,只是客户端代码要),这个冬冬的钱真他×× 贵!这方面PowerDesigner真好:)。Visio感觉不入流。

可能还有其他方面,我也不一一罗列了,大家可以根据自己的环境取舍。我的建议是:如果你的团队对业务和英文比较熟悉但是对RUP不太熟悉,建议你使用 Rose,因为它有完整的RUP理论支撑而且相关性很好;如果你的团队对业务和英文稍逊而且系统分析员能够良好地理解RUP,那么建议你采用 PowerDesigner;当然,如果你不准备全面采用RUP开发过程,PowerDesigner是最好的;Visio都是必需的,但是只是作为 Rose或者PowerDesigner的补充。

  做图  Case文档与代码、Case文档与数据库之间的双向转换  支撑和协作 
系统框图/树图  UML图  ER图   Gantt图   任意流程图   其他任意的图表       
ROSE(Rational Suite 2002 VS)  诞生目的就是支持UML建模, 一开始没有对数据库端建模的支持. 对系统的代码框架生成有很好的支持。但对数据库的开发管理和数据库端的迭代不是很好。  不支持  Rose支持全系列的,而且很容易体现迭代、用例驱动等特性,相关性最好,缺点是图形质量差,逻辑检查与控制差,没有Name和Code的区分(PowerDesigner的特性)不太适合中国人,生成文档不好也不适合自定义,也没有设计对象的字典可以快速查找。  业余  不支持  不支持  不支持  中间插件实现的  Rose有相对最新最完整UML支持;RUP体系的支持 
PowerDesigner(PowerDesigner 9.5)  对数据库建模而发展起来的一种数据库建模工具. 直到7.0版才开始对面向对象的开发的支持,后来又引入了对UML的支持。支持了能够看到的90%左右的数据库, ,对UML的建模使用到的各种图的支持比较滞后。但是在最近得到加强。对中国的市场不是很看看好,所以对中文的支持总是有这样或那样的问题。  支持一点点不好用  PowerDesigner 9.5全支持,优点就是图形质量好,生成的文档容易自定义,逻辑检查与控制好,有设计对象的字典可以快速查找和快速在图形中定位,缺点就是相互之间的衔接稍微麻烦一点,对UML和RUP不熟练的人用了,体现不出来迭代和用例驱动,熟练的人用了还算比较好解决。  最好的  不支持  用起来还可以  支持,但是预定义的元素不多  最好,不需要插件  对最新最完整UML支持稍微滞后; 无RUP体系的支持 
VISIO(VS Visio 2002)  原来仅仅是一种画图工具. 也是到VISIO2000才开始引进软件分析设计功能到代码生成的全部功能,它可以说是目前最能够用图形方式来表达各种商业图形用途的工具(对软件开发中的UML支持仅仅是其中很少的一部分)用于软件开发过程的迭代开发则有点牵强  最好  Visio的图形质量是最好的,但是衔接和相关性也是最差的,逻辑检查和控制勉强能做一点点。  业余  Visio可以做还是用Project做好啦。  Visio最好  这一点Visio最好  Visio是通过VBA和宏实现的. Visio感觉不入流  对最新最完整UML支持稍微滞后;无RUP体系的支持 
三种产品各有侧重点,各有优缺点,主要是看你的选择和你的开发方式和环境。
如果你的团队对业务和英文比较熟悉但是对RUP不太熟悉,建议你使用Rose,因为它有完整的RUP理论支撑而且相关性很好;
如果你的团队对业务和英文稍逊而且系统分析员能够良好地理解RUP,那么建议你采用PowerDesigner;
如果你不准备全面采用RUP开发过程,PowerDesigner是最好的;Visio都是必需的,但是只是作为Rose或者PowerDesigner的补充。
 
 

 Rational Rose、PowerDesign、visio的比较收藏
出身  做图  Case文档与代码、Case文档与数据库之间的双向转换  支撑和协作 
系统框图/树图  UML图  ER图   Gantt图   任意流程图   其他任意的图表       
ROSE(Rational Suite 2002 VS)  诞生目的就是支持UML建模, 一开始没有对数据库端建模的支持. 对系统的代码框架生成有很好的支持。但对数据库的开发管理和数据库端的迭代不是很好。  不支持  Rose支持全系列的,而且很容易体现迭代、用例驱动等特性,相关性最好,缺点是图形质量差,逻辑检查与控制差,没有Name和Code的区分(PowerDesigner的特性)不太适合中国人,生成文档不好也不适合自定义,也没有设计对象的字典可以快速查找。  业余  不支持  不支持  不支持  中间插件实现的  Rose有相对最新最完整UML支持;RUP体系的支持 
PowerDesigner(PowerDesigner 9.5)  对数据库建模而发展起来的一种数据库建模工具. 直到7.0版才开始对面向对象的开发的支持,后来又引入了对UML的支持。支持了能够看到的90%左右的数据库, ,对UML的建模使用到的各种图的支持比较滞后。但是在最近得到加强。对中国的市场不是很看看好,所以对中文的支持总是有这样或那样的问题。  支持一点点不好用  PowerDesigner 9.5全支持,优点就是图形质量好,生成的文档容易自定义,逻辑检查与控制好,有设计对象的字典可以快速查找和快速在图形中定位,缺点就是相互之间的衔接稍微麻烦一点,对UML和RUP不熟练的人用了,体现不出来迭代和用例驱动,熟练的人用了还算比较好解决。  最好的  不支持  用起来还可以  支持,但是预定义的元素不多  最好,不需要插件  对最新最完整UML支持稍微滞后; 无RUP体系的支持 
VISIO(VS Visio 2002)  原来仅仅是一种画图工具. 也是到VISIO2000才开始引进软件分析设计功能到代码生成的全部功能,它可以说是目前最能够用图形方式来表达各种商业图形用途的工具(对软件开发中的UML支持仅仅是其中很少的一部分)用于软件开发过程的迭代开发则有点牵强  最好  Visio的图形质量是最好的,但是衔接和相关性也是最差的,逻辑检查和控制勉强能做一点点。  业余  Visio可以做还是用Project做好啦。  Visio最好  这一点Visio最好  Visio是通过VBA和宏实现的. Visio感觉不入流  对最新最完整UML支持稍微滞后;无RUP体系的支持 
三种产品各有侧重点,各有优缺点,主要是看你的选择和你的开发方式和环境。
如果你的团队对业务和英文比较熟悉但是对RUP不太熟悉,建议你使用Rose,因为它有完整的RUP理论支撑而且相关性很好;
如果你的团队对业务和英文稍逊而且系统分析员能够良好地理解RUP,那么建议你采用PowerDesigner;
如果你不准备全面采用RUP开发过程,PowerDesigner是最好的;Visio都是必需的,但是只是作为Rose或者PowerDesigner的补充。 

 

各种工具的比较:
 

  出身 做图 Case文档与代码、Case文档与数据库之间的双向转换 支撑和协作
系统框图/树图 UML图 ER图  Gantt图  任意流程图  其他任意的图表    
ROSE(Rational Suite 2002 VS) 诞生目的就是支持UML建模, 一开始没有对数据库端建模的支持. 对系统的代码框架生成有很好的支持。但对数据库的开发管理和数据库端的迭代不是很好。 不支持 Rose支持全系列的,而且很容易体现迭代、用例驱动等特性,相关性最好,缺点是图形质量差,逻辑检查与控制差,没有Name和Code的区分(PowerDesigner的特性)不太适合中国人,生成文档不好也不适合自定义,也没有设计对象的字典可以快速查找。 业余 不支持 不支持 不支持 中间插件实现的 Rose有相对最新最完整UML支持;RUP体系的支持
PowerDesigner(PowerDesigner 9.5) 对数据库建模而发展起来的一种数据库建模工具. 直到7.0版才开始对面向对象的开发的支持,后来又引入了对UML的支持。支持了能够看到的90%左右的数据库, ,对UML的建模使用到的各种图的支持比较滞后。但是在最近得到加强。对中国的市场不是很看看好,所以对中文的支持总是有这样或那样的问题。 支持一点点不好用 PowerDesigner 9.5全支持,优点就是图形质量好,生成的文档容易自定义,逻辑检查与控制好,有设计对象的字典可以快速查找和快速在图形中定位,缺点就是相互之间的衔接稍微麻烦一点,对UML和RUP不熟练的人用了,体现不出来迭代和用例驱动,熟练的人用了还算比较好解决。 最好的 不支持 用起来还可以 支持,但是预定义的元素不多 最好,不需要插件 对最新最完整UML支持稍微滞后; 无RUP体系的支持
VISIO(VS Visio 2002) 原来仅仅是一种画图工具. 也是到VISIO2000才开始引进软件分析设计功能到代码生成的全部功能,它可以说是目前最能够用图形方式来表达各种商业图形用途的工具(对软件开发中的UML支持仅仅是其中很少的一部分)用于软件开发过程的迭代开发则有点牵强 最好 Visio的图形质量是最好的,但是衔接和相关性也是最差的,逻辑检查和控制勉强能做一点点。 业余 Visio可以做还是用Project做好啦。 Visio最好 这一点Visio最好 Visio是通过VBA和宏实现的. Visio感觉不入流 对最新最完整UML支持稍微滞后;无RUP体系的支持
三种产品各有侧重点,各有优缺点,主要是看你的选择和你的开发方式和环境。
如果你的团队对业务和英文比较熟悉但是对RUP不太熟悉,建议你使用Rose,因为它有完整的RUP理论支撑而且相关性很好;
如果你的团队对业务和英文稍逊而且系统分析员能够良好地理解RUP,那么建议你采用PowerDesigner;
如果你不准备全面采用RUP开发过程,PowerDesigner是最好的;Visio都是必需的,但是只是作为Rose或者PowerDesigner的补充。

 

目前最新版:

IBM Retional Rose V7.0 

Sysbase PowerDesigner V15

Micorsoft Office Visio 2007

目前还没有任何评论.