UML建模工具Visio 、RationalRose、PowerDesign、EA的功能与异同

  • Post author:
  • Post category:其他







本节向大家介绍一下

UML

建模工具

Visio



RationalRose



PowerDesign

的功能与异同,相信通过本节的学习你对

UML

建模工具会有深入的了解。下面请看详细介绍。




UML


建模工具

Visio



RationalRose



PowerDesign

的功能与异同




UML


建模工具

ROSE

是直接从

UML

发展而诞生的设计工具,它的出现就是为了对

UML

建模的支持,

ROSE

一开始没有对数据库端建模的支持,但是在现在的版本中已经加入数据库建模的功能。

ROSE

主要是在开发过程中的各种语义、模块、对象以及流程,状态等描述比较好,主要体现在能够从各个方面和角度来分析和设计,使软件的开发蓝图更清晰,内部结构更加明朗(但是它的结构仅仅对那些对掌握

UML

的开发人员,也就是说对客户了解系统的功能和流程等并不一定很有效),对系统的代码框架生成有很好的支持。但对数据库的开发管理和数据库端的迭代不是很好。




UML


建模工具

PowerDesigner

原来是对数据库建模而发展起来的一种数据库建模工具。直到

7.0

版才开始对面向对象的开发的支持,后来又引入了对

UML

的支持。但是由于

PowerDesigner

侧重不一样,所以它对数据库建模的支持很好,支持了能够看到的

90%

左右的数据库,对

UML

的建模使用到的各种图的支持比较滞后。但是在最近得到加强。所以使用它来进行

UML

开发的并不多,很多人都是用它来作为数据库的建模。如果使用

UML

分析,它的优点是生成代码时对

Sybase

的产品

PowerBuilder

的支持很好(其它

UML

建模工具则没有或者需要一定的插件),其他面向对象语言如

C++



Java



VB,C#

等支持也不错。但是它好像继承了

Sybase

公司的一贯传统,对中国的市场不是很看看好,所以对中文的支持总是有这样或那样的问题。




UML


建模工具

Visio

原来仅仅是一种画图工具,能够用来描述各种图形(从电路图到房屋结构图),也是到

VISIO2000

才开始引进软件分析设计功能到代码生成的全部功能,它可以说是目前最能够用图形方式来表达各种商业图形用途的工具(对软件开发中的

UML

支持仅仅是其中很少的一部分)。它跟微软的

office

产品的能够很好兼容。能够把图形直接复制或者内嵌到

WORD

的文档中。但是对于代码的生成更多是支持微软的产品如

VB,VC++,MSSQLServer

等(这也是微软的传统),所以它可以说用于图形语义的描述比较方便,但是用于软件开发过程的迭代开发则有点牵强。




三种产品各有侧重点,各有优缺点,主要是看你的选择和你的开发方式和环境。




从目的和支持的角度来谈。首先谈一个目的问题。现在都讲究面向对象的分析和设计,俺也就基于

oo

讲起吧。版本就是

RationalSuite2002VSPowerDesigner9.5VSVisio2002






第一,

Case

软件的一个基本功能就是作图。




在软件工程中,我们做的图大概有以下几种:系统框图

/

树图;

UML

图;

ER

图;

Gantt

图;任意流程图;其他任意的图表。







系统框图

/

树图用在比较随意、没有形成特定的文档的时候,在这个环节上面,

UML

建模工具

Visio

最好,

rose

不支持,

PowerDesigner

支持一点点不好用。




UML



图中,三者都支持,

Rose

支持全系列的,而且很容易体现迭代、用例驱动等特性,相关性最好,缺点是图形质量差,逻辑检查与控制差,没有

Name



Code

的区分(

PowerDesigner

的特性)不太适合中国人,生成文档不好也不适合自定义,也没有设计对象的字典可以快速查找。

PowerDesigner9.5

全支持,优点就是图形质量好,生成的文档容易自定义,逻辑检查与控制好,有设计对象的字典可以快速查找和快速在图形中定位,缺点就是相互之间的衔接稍微麻烦一点,对

UML



RUP

不熟练的人用了,体现不出来迭代和用例驱动,熟练的人用了还算比较好解决。相比较起来

Visio

的图形质量是最好的,但是衔接和相关性也是最差的,逻辑检查和控制勉强能做一点点。




ER




图不用说了,做得最好的是

PowerDesigner



Rose



Visio

比较业余。




Gantt



图用于项目计划,

Visio

可以做,其他的都不支持。但是建议你不要用

Visio

做,还是用

Project

做好啦。







任意流程图不被

Rose

支持,

Rose

只支持面向业务的活动图和面向用例的活动图,限制比较多。

PowerDesigner9.5

支持,用起来还可以。

UML

建模工具

Visio

最好,因为它的图形质量最好,而且预定义的元素也最多。




Rose



不支持其他任意的图表。

PowerDesigner9.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

是最好的;

UML

建模工具

Visio

都是必需的,但是只是作为

Rose

或者

PowerDesigner

的补充。









EA




Rose UML

建模工具比较






UML profile



使用



UML



可扩展性机制扩展标准



UML



符号,即,构造型,标注值和约束。



EA



专业版



V.3.51







RationalRose V.2002.05



都支持



UML 1.4



九种图中的八种标准



UML











用例图,类图,序列图,协作图,活动图,状态图,实现图(组件)图,部署图,和几种



UML Profiles.



如果需要,对象图可以使用协作图来创建。不同点仅仅存在于创建



UML



图(表



1



)和扩展



UMLprofiles



时所支持的一些特性。













































































































UML













功能









EA





Rose





用例图









建立描述领域的边界









Yes






No.



但是,一些工作使用文本或包。









序列






协作









序列图与协作图之间的相互转化









No





Yes





序列









更改消息的范围









Yes





No





序列









显示消息层次号码









Yes





No





序列







协作









在浏览器中创建对象









Yes





No





序列









管理控件的焦点









容易









困难









所有









图的属性









Yes





No















1. EA







Rose







UML



图建模比较
















Enterprise Architect



有一个通用的



UML profile



机制用来加载和运行不同的



Profiles







Enterprise Architect







UMLprofiles



指定一个特定格式的



XML



文件。而在



Rational Rose



中却需要生成一个附加项。


















2



展示了在



EA







Rose







UML profiles



的可用性。
































































































UML Profiles





EA





Rose





业务流程建模









支持



Eriksson-Penker



业务流程建模扩展









使用



UML



活动图









业务建模









No





Yes





数据建模









Yes





Yes





用户体验建模









Yes





No






Web



建模









Yes





Yes





Yes





No





Yes





XML DTD





No















2. EA







Rose







UML Profile



比较














双向工程














双向工程包括正向工程






- 从模型到代码






和反向工程 - 从代码到模型。一旦设计完成后,使用模型(设计模型和数据模型)信息能够生成特定编程语言的源代码或者数据库的



DDL



脚本。当开发人员添加



/



更改代码或数据库实现时,设计和数据模型能够通过双向工程同步代码或



DDL



脚本以保持一致。表



3



显示了



EA







Rose



双向工程的特征。





























































































































































语言









EA





Rose





ANSI C++





Yes





Yes





Visual C++





No





Yes





VB6





Yes





Yes





Java





Yes





Yes





C#





Yes





No





VB.NET





Yes





No





Delphi





Yes






No.



第三方附加项



.






J2EE/EJB





No





Yes





CORBA





No





Yes





Ada83, Ada95





No





Yes





Database






Yes.



从数据模型到



DDL



脚本的正向工程。



ODBC



数据源的反向工程










Yes.DB2







Oracle, SQL 92, SQL Server, Sybase






COM





No






Yes.



只是反向工程










Web



应用程序









No





Yes















3. EA







Rose



的双向工程

















EA



为类生成类的源代码文件放在同一个包里。



Rational Rose







VC++







VB



中更多的涉及到具体的项目。



Rational Rose



也可以通过向导和提供代码模板来创建类,这样可以大大增加源代码生成的数量。另外,



EA







Rose



都可以应用设计模式。当使用



EA



时,用户必须自己创建模式,而



Rose



则提供了



Java







20







GOF



设计模式。















项目生命周期的支持


















CASE



工具应该为团队中的所有队员完成他们的任务提供支持。关于项目生命周期的支持,



EA



将大量的功能合成一体



,







Rose



则主要是一个建模工具,它可以与其他的



Rational



或第三方工具集成,如



RequisitePro, TestManager, Soda, MS Word, MS Project



以达到同样的目标。










4



比较了



EA







Rose



在不同科目的功能支持。





































































































































项目科目









EA





Rose





业务建模










Yes.



使用



UML Profile



为业务流程建模










Yes.



使用业务用例模型









需求管理










Yes.



功能和非功能需求;需求跟踪矩阵









合并



RequisitePro






分析和设计










Yes







UML



类图和交互图,如果需要可以添加一些原型,如



<<







>>







<<



用例实现



>>







Yes







UML



类图和交互图






框架向导提供了一系列的模板来构造模型









实现









参见表



3



;适合



C++







VB







C#







VB.NET



项目









参见表



3



;支持大多数语言,除了



.NET













测试









Yes






No. Quality Architect



提供了单元测试,但是它需要其他的



Rational



工具,如



Test Manager,Robot






版本控制









不直接支持。使用控制单元,为将来发布计划。









集成



SCC



相应版本控制应用程序









项目管理









风险管理、资源分配、项目预算









No






Web



发布









Yes





Yes





生成报表









Yes






No.



使用



SoDA.






多用户协作









Yes





Yes















4 EA







Rose



对项目生命周期的支持















结论















大体上,



EA







Rose







UML



建模能力上有相似的功能。



EA







Rational Rose



都支持



UML



九种图中的八种。






从表



1



中可以看出



EA



在用户友好性的灵活性中比



Rose



更胜一筹,特别是序列图。






在双向工程中,



Rose







EA



支持更多的语言,除



C#







VB.NET







(



事实上,



Rational



开发了另外的工具



– Rational XDE for .NET



就是针对



.NET



环境的



)














4



阐明,在项目生命周期的支持方面,



EA



相对于



Rose



来说,是更好的选择。尽管你可以购买其他的



Rational



工具来协助它,但是绝大部分公司在考虑成本问题时却不认为这是一个可接受的方案。当然,你需要工具上没有或第三方工具不支持的一些其他的特定功能时,这也是要考虑的重要因素。在这一点上,



Rational Rose



得到了更广的支持。














最后,经过一系列同类型的比较,是不是费用也不同?






是的



――



非常大的不同!单是



Rose



花费就是



EA







28



倍。如果你要比较项目生命周期的支持,假设你是一个



Rose



用户,你将必须去购买



Rational



捆绑的一整套产品






,如



Requisite Pro, SoDA, Test Manager



等。虽然附加的工具比同类的



EA



提供了更丰富的功能,但是在大部分时间里



EA



的基本功能已经够用了。在写本文时,



EA



企业版(最高版本支持



SQL



后台)的费用是



$179.00(







111.58)







RationalRose



企业版的费用是



$5024(







3140),



一天整套开发包(



Rational Developer Suite



)的费用是



$8976(







5610)