UML建模工具Visio 、RationalRose、PowerDesign、EA的功能与异同
2015-11-06 14:11
225 查看
本节向大家介绍一下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时所支持的一些特性。
表1. EA和Rose的UML图建模比较
Enterprise Architect
有一个通用的UML profile机制用来加载和运行不同的Profiles。Enterprise
Architect为UMLprofiles指定一个特定格式的XML文件。而在Rational
Rose中却需要生成一个附加项。
表2展示了在EA和Rose中UML
profiles的可用性。
表2. EA和Rose的UML
Profile比较
双向工程
双向工程包括正向工程
- 从模型到代码
和反向工程 - 从代码到模型。一旦设计完成后,使用模型(设计模型和数据模型)信息能够生成特定编程语言的源代码或者数据库的DDL脚本。当开发人员添加/更改代码或数据库实现时,设计和数据模型能够通过双向工程同步代码或DDL脚本以保持一致。表3显示了EA和Rose双向工程的特征。
表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在不同科目的功能支持。
表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)。
本节向大家介绍一下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)。
相关文章推荐
- 手机自动化测试:appium源码分析之bootstrap一
- JAVA实现HTTP服务器端
- VS学习积累
- Java调用C/C++ API 讲解及代码示例
- 深入解析网页防篡改技术
- windows下启动tomcat
- Source Code of Java - Boolean
- javascript把前端错误记录到后台服务器
- Linux下安装Niginx
- Win10 build 10586预览版升级失败卡在40%该怎么办?
- 欢迎使用CSDN-markdown编辑器
- Flume HDFS Sink使用及源码分析
- Navicat Premium 导出数据。
- (六):Winelib开发组件2
- meta标签的使用
- 嵌入式软件工程师必备
- java 日期常用操作
- 多屏互动问题整理
- 程序员必须知道的几个Git代码托管平台
- IOS 给Label添加下划线,删除线,不同的颜色和大小