一、 二者的出身
作为世界最著名的两大CASE 工具,Rational Rose 和PowerDesigner 的名声可谓如雷贯耳。Rose 是当时全球最大的CASE 工具提供商Rational 的拳头产品,UML 建模语言就是 由Rational 公司的三位巨头Booch 、Rumbaugh 和Jacobson 发明的,后来Rational 被IBM 收购,所以Rose 可谓出身名门,嫁入豪族。而PowerDesigner 也有一段好玩的历史,作者王晓昀是一位中国人,在法国SDP 软件公司工作时,由于苦觅一个好用的 CASE 工具未果,干脆自由开搞,整了个AMC*Designor 出来,居然一炮打响,在法国卖得个“ 巴黎纸贵” ,后来SDP 被Powersoft 公司收购,同年Sybase 这只大黄雀又吃下了Powersoft 这只螳螂,所以PowerDesigner 也是惊艳出场,星光四射。
但两者所走的明星路线却很不相同,Rose 出道是时,走的是UML 面向对象建模,而后再向数据库建模发展,而PowerDesigner 则反其道而行之,它先是一个纯粹的数据库建模工具,后来才向面向对象建模,业务逻辑建模及需求分析建模进军,最终变成“ 演视歌三栖” 明星。
由于第一印象的影响,所以Rose 常常给人的印象还是只是面向对象分析设计的工具,而PowerDesigner 给人的印象则还停留在数据库建模工具上。 其实,现在的Rose 和PowerDesigner 都即可以进行数据库建模,也可以进行面向对象建模,只是存在支持上的偏重而已。
二、 二者区别概述
Rose 和PowerDesigner 虽然在项目分析设计领域已经成为被高度聚光的明星,但是在具体使用哪款工具的问题上,不同的公司,不同的人,出于成本,习惯抑或个人喜好,往往有自己的判断。
Rose 走大而全,一站式的策略,它没有将数据库设计和面向对象设计清晰地分开,仅以不同的目录来区分。而PowerDesigner 将两者划分到独立 的模型文件中,分别对应不同的设计环境,并通过模型之间的转换工具建立各模型的关联。即使对于数据库设计模型,PowerDesigner 也需要你选择一 个具体的数据库产品及其版本,以便工作环境对具体数据库敏感。所以Rose 显得大而化之,而PowerDesigner 则比较精细和具体化。Rose 的逆 向工程,文档输出,代码生成等输入输出功能上表现得比较生硬单调,PowerDesigner 在逆向工程,特别是文档输出和代码生成这些功能上提供了精细的控制,让用户拥有高度的自由度。
Rose 在操作体验上存在很多需要改进的地方,Rose 偏向于让用户用鼠标进行操作,对键盘操作支持不好。而PowerDesigner 在用户体验上得 分很高,大部分操作都可以通过键盘完成,在充分熟悉其快捷键的前提下,PowerDesigner 将给设计者一种行云流水的感觉,用户交互上更加人性化。 此外,Rose 往往占用更多的资源,容易异常退出,PowerDesigner 则显得轻便稳定。所以,我个人对两者的体验就是“Rose 笨拙,PD 利 索” 。下面将具体列出Rose 和PowerDesigner 的一系列的区别,相信大家可以借由这些比较而见微知著,窥斑知豹,以资在选择工具时,提供参 考。
三、 模型组织和层次结构上的区别
1 、模型组织Rose 将数据库模型和对象模型放在一起,在进行数据表模型设计时,没有特性化的东西。而PowerDesigner 将两者分开,其模型组织 层级关系是:工作空间-> 模型类型-> 具体语言/ 数据库的模型-> 包-> 文件夹->Diagram-> 设计元素。在 创建模型文件时,会让你选择模型类型,选择模型类型后,还可以选择模型类型下语言及版本相关的细分类。不同设计模型对应软件工程的不同阶段,如业务模型和需求模型属于项目需求阶段,而对象模型属于概要和详细设计阶段,数据库模型属于详细设计阶段。它们之间虽然有很强的内在联系,但差异性也很明显,硬将两者 放到一起,就象把猴子和猩猩关进同一个笼子,为了兼顾和平衡两者之间的考量,其结果是两者都得不到很好的支持。
图 1 新建模型窗口(PD )
图 2 新建模型窗口(Rose )
Power Desinger 可以通过模型转换工具进行数据库建模和面向对象模型的相互转换。但Rose 不能将对象转换为表,也不能将表转换为对象。
2 、工作空间PowerDesigner 有工作空间的概念,一个工作空间下可以同时打开多个设计模型文件;而Rose 同时仅能打开一个设计文件,如果在设 计时,需要参考其他的Rose 设计模型,则需要反复关闭现有模型,打开参考模型,显得设计上比较欠考虑。这个问题上两者的差异恰似Eclipse 和 JBuilder 的区别,Eclipse 可以同时打开多个工程,而JBuilder 只能同时打开一个工程。
3 、设计界面PowerDesigner 的设计界面可以左右上下移动,而Rose 只能向右,向下移动,此外。PowerDesigner 可以将模型元素放大很多倍,而Rose 只能放大到正常倍数,不过Rose 的Overview 工具可以使用户快速定位到设计区中特定的区域,有点类似于游戏界面中常用的小地 图,挺不错;
图 3 Overview 工具(Rose )
而在PowerDesigner 中,你可以通过F8 快捷键查看Diagram 的总览图,不过只得通过放大操作定位到定位区域。
4 对模型和语言的支持
? 对设计模型的支持力度和广度
PowerDesigner 对对象模型和数据库建模两者的支持力度已经大抵相等,此外,还支持概念模型、业务模型、需求模型、XML 模型、信息流模型、自 由模型的分析设计。不过对后面这几个模型的支持比较初级,而且在实际的应用中,这些模型用得也比较少,PowerDesigner 的突出亮点还是在数据库 建模和对象模型的设计上。
对于数据库模型,PowerDesigner 支持20 余种数据库,对于同一数据库的不同版本还提供单独的支持,以便在设计数据库模型时,提供数据库和版本 相关的设计。对于面向对象模型,PowerDesigner 支持11 种主流语言,为对Java 5.0 提供单独的支持。
Rose 基本上可以说是一个对象模型设计工具,对数据库模型的支持相对粗糙,内嵌的只支持Oracle 8 数据库,对其他数据库设计的支持需要通过安装插件的方式获得,且对数据库物理存储参数等较细粒度的内容支持得比较粗糙。Rose 的对象模型主要支持 Java 、VC 和VB 三种语言。
? 对Java 语言的支持
Rose 对Java 语言的支持更好,不但为不同版本的JDK 提供了支持(不过Rose 2003 还不支持JDK 5.0 ),还为Java 具体产品及设计模式(如EJB 、Corba 、Servlet ,GOF 设计模式等)提供了内嵌性的支持,这些支持直接反应在Rose 的主菜单上。正因为如此,使Rose 背上的沉重的历史负担,如EJB 和Corba 这种语言级的东西是易变且不断更新的,如何在这些具体产品的地位和影响已经降低时,对其作出割舍而又保证版本的兼容性,是摆在设计者面前的难题。
PowerDesigner 仅提供语言级对象设计的支持,不涉及语言内部的具体产品。其次因为它的设计工作区是和具体的模型类型及语言细分类相关的,而非在主菜单中直接提供支持,所以PowerDesigner 在升级时显得更加从容一些。
这也是为什么PowerDesigner 能以每年一个版本的速度升级,而Rose 在2003 版本后,新版本还迟迟投入市场的内在原因,否则以IBM 的财力,研发能力不至于对市场反应如果缓慢。
5 输入和输出功能的比较
? 反向工程
从将程序代码转换为设计模型的逆向工程功能上看,Rose 更象一个IDE ,它会对需要逆向工程操作的程序代码进行深度语义检查,如果存在诸如程序代码引用了类库之外的类,反向工程将失败,而且在报告失败之前,窗口会陷入长时间无响应状态。
PowerDesigner 仅对需逆向工程的程序代码进行浅度语法检查,这种浅度语法检查不涉及包,类之间的关联,仅对诸如类名是否和类文件名匹配,是否少了“}” 等语法性的内容进行检查。即便存在错误,PowerDesigner 也允许你忽略错误,继续进行逆向工程操作,这种宽松的限制带来了很大的便利。
图 4 逆向工程失败选择三种选择(PD )
忽略错误后,PowerDesigner 会尽量修补错误,例如代码中少了对应的“}” ,它将会补上,类名和文件名不一致,将忽略类文件名保持类名不变。
Rose 一直宣扬的理念是IDE 和设计工程进行双向互通:在Rose 中完成模型设计后导出为IDE 所用的代码,IDE 编码调整后又逆向工程到Rose 。理 念很美,深具吸引力,但是在实现中,往往很少有开发团队会这样做。一般CASE 工具只是在分析设计阶段使用,甚至很大比例的设计师仅把它当成画图的工具。
真正进入编码开发阶段后,将加入大量设计时不涉及的类和方法,如果将这些非骨架性的东西Reverse 到CASE 工具中,反而会使原来清晰的设计变得雾里 花,水中月。所以即使编码时,需要对原分析模型进行调整,一般也是手工去调整设计模型,而不是通过逆向工程去同步,毕竟分析设计是骨架性的,而编码是血肉性的,两者有属性上的区别。如果真的需要频繁进行的代码和UML 转换,最好使用类似于Together 一样的工具,它嵌入到IDE 中,使代码和模型转换方 便快捷。
? 文档导出功能
PowerDesigner 对文档导出提供了精细的控制,你不但可以对文档所包含的内容项进行设置,还可以对内容项的格式进行设置。如导出的表结构是否包括名称、数据类型、备注等项目,这些项目在表栏中的宽度占比,颜色,字号等等,不一而足。
PowerDesinger 12.0 还新增了一个多模型文档整合导出的Milti-Model Report 模型,允许你以多个模型作为输入生成为统一文档,实现模型设计按阶段分开,文档又统一整合的目的。
由于PowerDesigner 文档导出的设置非常精细,所以要设置好一个文档导出模式实非不易。有鉴于此,PowerDesinger 提供了三种常用的导出模板,用户也可以自己定义模板。通过模板可以迅速完成设计模型文档的导出工作。
而Rose 没有导出模板的概念,更不能对导出项和格式进行设置,你只能按Rose 的系统内置的方式进行模型文档的发布。
? 代码导出
在导出设计模型的代码时,PowerDesigner 提供了精细的控制,不但可以进行对象级别,还可以进行代码级别的控制(如是否要生成字段备注的代码,外键代码在表体代码内声明还是在表体外部声明等),而Rose 没有提供代码导出的控制,也只能按其系统内部设置的方式导出代码。
图 5 数据库模型导出设置(PD )
? 生成测试数据
PowerDesigner 可为数据表生成批量的测试数据,而且你还可以制定测试数据的生成规则。这个功能给初期项目的开发测试带来很大的便利。Rose 中没有提供类似的功能。
- 大小: 41.1 KB
- 大小: 38.2 KB
- 大小: 49 KB
- 大小: 11.3 KB
- 大小: 39 KB
分享到:
相关推荐
PowerDesigner是一款由Sybase(现为SAP的一部分)开发的高级建模工具,自1989年以来,它已经历了多次版本迭代,逐步发展成为一个功能丰富的集成化建模平台。Gartner在2004年将其评为全球排名第一的数据库建模工具,...
#### 一、PowerDesigner 简介与安装 **PowerDesigner** 是一款非常强大的数据建模工具,它能够帮助用户进行数据库设计、概念设计以及物理设计等,广泛应用于数据库开发的过程中。通过本教程,我们将了解如何使用 ...
#### 一、PowerDesigner简介 PowerDesigner是由Sybase公司推出的一款强大的数据库设计工具,其主要功能在于帮助用户完成从概念数据模型到物理数据模型的整个数据库设计过程。该工具支持多种类型的模型设计,如概念...
#### 一、PowerDesigner 简介 PowerDesigner 是一款由 SAP 公司开发的综合数据建模工具,广泛应用于数据库设计、数据仓库构建及业务流程分析等多个领域。自问世以来,PowerDesigner 不断迭代更新,为用户提供更加...
#### 一、PowerDesigner简介 PowerDesigner是一款强大的数据库建模工具,由SAP公司开发。它可以帮助开发者快速高效地完成数据库的设计与维护工作,支持概念模型、逻辑模型和物理模型的设计。PowerDesigner集成了多种...
#### 一、PowerDesigner 简介 PowerDesigner 是一款由 Sybase 公司(后被 SAP 收购)开发的数据建模工具,广泛应用于数据库设计和管理领域。它提供了一套完整的解决方案,用于数据建模、元数据管理、数据库生成以及...
#### 一、PowerDesigner简介 PowerDesigner是一款功能强大的CASE工具,广泛应用于数据库设计、数据建模等领域。它能够帮助开发人员和数据库管理员快速构建高质量的数据模型,实现从概念设计到物理设计的全过程管理...
#### 一、PowerDesigner简介 PowerDesigner是一款功能强大的CASE(Computer-Aided Software Engineering)工具,主要用于数据库设计、数据仓库建模、业务过程建模等方面。它支持多种数据库管理系统(DBMS),并且...
#### 一、PowerDesigner简介 PowerDesigner是Sybase公司推出的一款优秀的数据库设计工具,广泛应用于数据建模、数据库设计、仓库建模等多个领域。它能够帮助用户从概念设计到物理设计进行全方位的数据库开发工作,并...
**一、PowerDesigner简介** PowerDesigner不仅包括数据流图绘制,还提供了概念数据模型(CDM)、物理数据模型(PDM)以及业务流程模型等多种建模工具。它支持多种数据库管理系统,能够帮助用户进行系统分析、设计和...
PowerDesigner简介 PowerDesigner是Sybase公司的CASE工具集,使用它可以方便地对管理信息系统进行分析设计,它几乎包括了数据库模型设计的全过程。利用PowerDesigner可以制作数据流程图、概念数据模型、物理数据...
#### 一、PowerDesigner简介与应用场景 PowerDesigner是一款功能强大的数据库设计工具,它可以帮助用户轻松地进行数据建模、概念设计和物理设计等任务。PowerDesigner支持多种数据库平台,并且能够自动生成数据库的...
一、PowerDesigner简介 PowerDesigner是Sybase公司推出的一款企业级的数据库设计和数据建模工具,版本号为10.29。它提供了全面的数据库设计解决方案,包括概念数据模型(CDM)、逻辑数据模型(LDM)和物理数据模型...
#### 一、PowerDesigner简介及重要性 PowerDesigner,作为Sybase公司旗下的旗舰级CASE(Computer-Aided Software Engineering)工具,为软件开发和数据库设计领域带来了革命性的变化。自问世以来,它通过其强大的...
**PowerDesigner简介** PowerDesigner是一款由SAP公司出品的高级建模工具,支持多种数据库平台,包括MySQL。它提供了数据建模、业务流程建模、系统架构建模等功能,其中的反向工程功能尤其适用于数据库管理和维护。 ...
1. **PowerDesigner简介** PowerDesigner是Sybase公司的产品,它提供了一整套企业信息系统建模和设计解决方案。这个工具不仅支持数据建模,还包含了业务流程建模、系统架构建模等功能,是数据库开发人员和系统分析...
一、PowerDesigner简介 PowerDesigner是Sybase公司开发的一款数据建模软件,它提供了全面的数据建模解决方案,包括业务流程建模、信息系统架构设计、数据库设计和数据分析等功能。PowerDesigner 11版本在前几代的...
### PowerDesigner简介 PowerDesigner是一款由SAP公司开发的数据建模和软件工程工具,它支持多种数据库系统,如Oracle、SQL Server、MySQL等,并提供了一整套从需求分析到数据库设计的解决方案。在PowerDesigner中...