- 浏览: 670562 次
- 性别:
- 来自: 石家庄
文章分类
最新评论
-
abao1:
老贾 在安装IDEA的过程中,在激活步骤时,按如下操作即可: ...
IntelliJ IDEA 2016注册方法和注册码 -
bo_hai:
./usr/bin/java: symbol lookup ...
jmagick安装步骤 -
wxcking:
不错的, 收藏一下
JAVA使用POI生成Excel文件 -
zgyfh:
大哥,密码是多少啊?zgyfh@tom.com谢谢了!新手学习 ...
WPF做的必备示例 -
记忆无泪:
jiasongmao 写道你的邮箱是多少,我可以发源代码到邮箱 ...
WPF做的必备示例
一、 二者的出身
作为世界最著名的两大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进行分析设计工作,所以对二者有着较为细致的体验。
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)
PowerDesinger可以通过模型转换工具进行数据库建模和面向对象模型的相互转换。但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中没有提供类似的功能。
转载地址:http://tech.it168.com/a2009/0115/263/000000263185.shtml
评论
现在我有如下认识,UML用来数据库建模不合适,还是用来做程序建模好了,要为数据库建模用ROSE 和 PD ,而PD比ROSE好,因为ROSE得数据库建模能力不是一开始就有的。而ROSE用来对JAVA程序建模是比较好的。
发表评论
-
强引用、软引用、弱引用和虚引用
2018-06-06 16:37 419Java 如何有效地避免OOM:善于利用软引用和弱引用 ... -
使用Spring实现读写分离( MySQL实现主从复制)
2018-05-17 11:46 551使用Spring实现读写分离( MySQL实现主从复制) ... -
工作流activiti
2018-04-18 15:52 437Activiti工作流教程 https://blog.cs ... -
java的动态代理机制详解
2017-12-22 15:54 418https://www.cnblogs.c ... -
OCR框架整理
2017-08-16 09:29 581泰比ABBYY OCR SDK开发包 Asp ... -
eclipse启动tomcat出现内存溢出错误 java.lang.OutOfMemoryError: PermGen space
2017-04-06 16:54 627发布工程后,启动tomcat出现如下内存溢出错误: java ... -
springMVC上传文件大小限制以及超过限制后的自定义处理
2017-04-01 08:12 1255http://blog.csdn.net/baidu_186 ... -
IntelliJ IDEA 2016注册方法和注册码
2017-03-30 13:52 2527IntelliJ IDEA号称当前Java开发效率最高的ID ... -
java使用wsimport生成服务代码时报错的解决办法
2017-01-18 11:27 1702今天遇到了WebService的问题:在使用jdk命令wsi ... -
OCR文字识别系统
2016-12-21 22:14 454慧视OCR文字识别系统 增值税专用发票扫描识别系统 ... -
Maven中央仓库无法更新jar包的解决办法
2016-12-09 00:44 1069删掉了*lastUpdated文件 然后到setti ... -
spring jar包下载地址
2015-09-23 17:31 633spring jar包下载地址:http://maven.sp ... -
JRex java webbrowser 爬虫ajax网页 源码
2015-01-08 16:37 969一般在浏览器中查看页面代码 是浏览器直接下载到的页面代码 在 ... -
程序员福利各大平台免费接口,非常适用
2014-12-03 10:03 913电商接口 京东获取单个商品价格接口: http: ... -
java制作图片的缩略图
2009-09-23 14:49 1654package com.mxo9.b2c.service.ad ... -
MD5、SHA加密实体类
2009-08-02 17:37 1207public class MD5Utility { ... -
des加密解密实体类
2009-08-02 17:21 1398/** * DES加密解密类. ... -
Windows客户端的JProfiler远程监控Linux上的Tomcat
2009-07-20 12:23 27771.测试环境 服务器:ubuntu8.04(内核版本 2.6. ... -
Jalopy在Eclipse下的使用
2009-07-13 17:47 1612Jalopy是一款代码美化工 ... -
使用Jconsole监视tomcat
2009-07-08 11:50 1638可以分一下几个步骤进行: 第一步: 修改tomcat的ca ...
相关推荐
### PowerDesigner数据库建模工具详解 #### 一、PowerDesigner概述 **PowerDesigner**是一款功能强大的计算机辅助软件工程(Computer Aided Software Engineering, CASE)工具,由Sybase公司开发,后被Dell ...
**PowerDesigner** 是一款强大的企业级建模工具,它集成了业务建模、数据库设计和 UML 对象建模等多种功能。自1989年发布以来,PowerDesigner 经历了多个版本的迭代,最新版 PowerDesigner 12.5 在继承了以往版本...
“数据库建模工具(PowerDesigner与Rose详细教程).doc”文档将详细讲解如何使用PowerDesigner进行建模,包括软件安装、界面介绍、基本操作、建模流程等,以及与另一款知名工具Rational Rose的对比,帮助你更好地理解...
本篇文章将对比分析几种常见的建模工具,包括IBM的Rational Rose、PowerDesigner和Microsoft的Visio,以及提及的Enterprise Architect。 Rational Rose是IBM推出的一款基于UML的建模工具,对UML的支持非常全面,它...
- PowerDesigner:用于数据库建模,支持概念、逻辑和物理模型的创建。 - Visio:图形工具,可用于简单数据流图和ER图的绘制。 - Rational Rose:更全面的UML建模工具,可包含数据库设计的部分功能。 3. 应用系统...
- **PowerDesigner与Rose的区别**:Rose是由Rational Software开发的另一款流行的CASE工具,两者在功能上有所重叠但也各有侧重。PowerDesigner更加强调数据库设计方面的能力,而Rose则在面向对象设计上有更深入的...
PowerDesigner 是一款强大的企业级建模工具,由中国人王晓昀编制,自1989年起在国际上广泛使用。这款工具集成了多种现代建模技术,包括业务建模、数据库分析和UML对象建模,为企业提供了一个完整的建模环境。在...
2. **数据库建模工具**: - **Sybase PowerDesigner**:高端数据建模工具,用于概念模型、逻辑模型和物理模型的设计。 - **Rational Rose Enterprise**:强大的UML工具,支持数据库建模。 - **Visio Professional...
ERwin 是目前流行的数据库建模工具之一,与 PowerDesigner、Rose 等工具齐名。ERwin 采用 IDEF1X 数据库建模语言,是关系数据库的设计方法。IDEF1X 是一种语言,起源于美国空军(1970s),已经被美国政府单位和工业...
- UML建模工具:IBM Rational Rose、MS Visio、Sybase Powerdesigner #### 二、实验目的与任务 - **目的**:通过实际应用软件系统的开发实现,使学生掌握软件设计与实现过程中的规范要求,理解软件工程的基本理论...
- **Rational Rose**:基于UML的建模工具,用于面向对象开发,有助于系统设计优化。 5. **技术特点**: - Visual Basic的可视化编程简化了应用开发。 - SQL Server 2000的易用性和全面功能使其成为Windows应用的...
最后,`Rational_Rose_2003基础教程.pdf`和PowerDesigner相关教程介绍了这两个强大的建模和数据建模工具。Rational Rose不仅支持UML,还能进行系统集成建模;PowerDesigner则是企业级的数据建模工具,它包括物理数据...
- **分析与设计工具**:如PowerDesigner,它支持数据库设计和数据建模,帮助开发者在实现和测试阶段进行有效的设计工作。 - **版本控制工具**:Visual SourceSafe提供了版本管理和安全控制,适用于代码和其他文件...
文档中多次提及Rational Rose,它是一个广泛使用的建模工具,可以用来创建各种UML图,如用例图、类图、序列图等。Rational Rose的使用流程包括安装、创建新模型、保存模型、编辑模型以及发布模型。Rational Rose提供...
- **建模工具**:了解UML统一建模语言,能使用Rational Rose、PowerDesigner等工具进行系统建模。 - **开发工具**:熟练使用Microsoft Visual Studio 2005、Microsoft SQL Server 2000/2005、Dreamweaver等软件。 ...
- **数据库关系流程图**:同样使用PowerDesigner或Rose等工具绘制,便于项目开发。 - **文档成果描述**:展示数据流和处理逻辑。 - **负责人**:分析员。 - **涉及范围**:数据库设计与实现。 - **备注**:有助...