知识大全 两款建模工具对比分析比较

Posted 模型

篇首语:亦余心之所善兮,虽九死其犹未悔。本文由小常识网(cha138.com)小编为大家整理,主要介绍了知识大全 两款建模工具对比分析比较相关的知识,希望对你有一定的参考价值。

一 二者的出身      作为世界最著名的两大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的一系列的区别 相信大家可以借由这些比较而见微知著 窥斑知豹 以资在选择工具时 提供参考 三 模型组织和层次结构上的区别    模型组织Rose将数据库模型和对象模型放在一起 在进行数据表模型设计时 没有特性化的东西 而PowerDesigner将两者分开 其模型组织层级关系是 工作空间 >模型类型 >具体语言/数据库的模型 >包 >文件夹 >Diagram >设计元素 在创建模型文件时 会让你选择模型类型 选择模型类型后 还可以选择模型类型下语言及版本相关的细分类 不同设计模型对应软件工程的不同阶段 如业务模型和需求模型属于项目需求阶段 而对象模型属于概要和详细设计阶段 数据库模型属于详细设计阶段 它们之间虽然有很强的内在联系 但差异性也很明显 硬将两者放到一起 就象把猴子和猩猩关进同一个笼子 为了兼顾和平衡两者之间的考量 其结果是两者都得不到很好的支持  

  

  图 新建模型窗口(PD)                                           

  图 新建模型窗口(Rose)     PowerDesinger可以通过模型转换工具进行数据库建模和面向对象模型的相互转换 但Rose不能将对象转换为表 也不能将表转换为对象         工作空间PowerDesigner有工作空间的概念 一个工作空间下可以同时打开多个设计模型文件 而Rose同时仅能打开一个设计文件 如果在设计时 需要参考其他的Rose设计模型 则需要反复关闭现有模型 打开参考模型 显得设计上比较欠考虑 这个问题上两者的差异恰似Eclipse和JBuilder的区别

  Eclipse可以同时打开多个工程 而JBuilder只能同时打开一个工程       设计界面PowerDesigner的设计界面可以左右上下移动 而Rose只能向右 向下移动 此外 PowerDesigner可以将模型元素放大很多倍 而Rose只能放大到正常倍数 不过Rose的Overview工具可以使用户快速定位到设计区中特定的区域 有点类似于游戏界面中常用的小地图 挺不错                                                                          图 Overview工具(Rose)   而在PowerDesigner中 你可以通过F 快捷键查看Diagram的总览图 不过只得通过放大操作定位到定位区域   对模型和语言的支持  ? 对设计模型的支持力度和广度PowerDesigner对对象模型和数据库建模两者的支持力度已经大抵相等 此外 还支持概念模型 业务模型 需求模型 XML模型 信息流模型 自由模型的分析设计 不过对后面这几个模型的支持比较初级 而且在实际的应用中 这些模型用得也比较少 PowerDesigner的突出亮点还是在数据库建模和对象模型的设计上       对于数据库模型 PowerDesigner支持 余种数据库 对于同一数据库的不同版本还提供单独的支持 以便在设计数据库模型时 提供数据库和版本相关的设计 对于面向对象模型 PowerDesigner支持 种主流语言 为对Java 提供单独的支持 Rose基本上可以说是一个对象模型设计工具 对数据库模型的支持相对粗糙 内嵌的只支持Oracle 数据库 对其他数据库设计的支持需要通过安装插件的方式获得 且对数据库物理存储参数等较细粒度的内容支持得比较粗糙 Rose的对象模型主要支持Java VC和VB三种语言 ? 对Java语言的支持Rose对Java语言的支持更好 不但为不同版本的JDK提供了支持(不过Rose 还不支持JDK ) 还为Java具体产品及设计模式(如EJB Corba Servlet GOF设计模式等)提供了内嵌性的支持 这些支持直接反应在Rose的主菜单上 正因为如此 使Rose背上的沉重的历史负担 如EJB和Corba这种语言级的东西是易变且不断更新的 如何在这些具体产品的地位和影响已经降低时 对其作出割舍而又保证版本的兼容性 是摆在设计者面前的难题 PowerDesigner仅提供语言级对象设计的支持 不涉及语言内部的具体产品 其次因为它的设计工作区是和具体的模型类型及语言细分类相关的 而非在主菜单中直接提供支持 所以PowerDesigner在升级时显得更加从容一些 这也是为什么PowerDesigner能以每年一个版本的速度升级 而Rose在 版本后 新版本还迟迟投入市场的内在原因 否则以IBM的财力 研发能力不至于对市场反应如果缓慢   输入和输出功能的比较? 反向工程从将程序代码转换为设计模型的逆向工程功能上看 Rose更象一个IDE 它会对需要逆向工程操作的程序代码进行深度语义检查 如果存在诸如程序代码引用了类库之外的类 反向工程将失败 而且在报告失败之前 窗口会陷入长时间无响应状态 PowerDesigner仅对需逆向工程的程序代码进行浅度语法检查 这种浅度语法检查不涉及包 类之间的关联 仅对诸如类名是否和类文件名匹配 是否少了 等语法性的内容进行检查 即便存在错误 PowerDesigner也允许你忽略错误 继续进行逆向工程操作 这种宽松的限制带来了很大的便利                                                                                图 逆向工程失败选择三种选择(PD)    忽略错误后 PowerDesigner会尽量修补错误 例如代码中少了对应的 它将会补上 类名和文件名不一致 将忽略类文件名保持类名不变     Rose一直宣扬的理念是IDE和设计工程进行双向互通 在Rose中完成模型设计后导出为IDE所用的代码 IDE编码调整后又逆向工程到Rose 理念很美 深具吸引力 但是在实现中

cha138/Article/program/net/201311/13403

相关参考

知识大全 数据库建模工具PowerDesigner总结(组图)

数据库建模工具PowerDesigner总结(组图)  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!

知识大全 五款常用mysql slow log分析工具的比较

  mysqlslowlog是用来记录执行时间较长(超过long_query_time秒)的sql的一种日志工具  启用slowlog  有两种启用方式:  在f里通过logslowqueries[=

知识大全 四大顶级Java编程工具横向对比

四大顶级Java编程工具横向对比  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!  好的程序员总是对

常见技术指标——TAPI--价与量的统一

成交量是股市的元气所在。因此,量的分析很重要。而股价,又是买卖双方的妥协点,对于买卖双方的力量对比分析,价同样重要。然而,无论是移动平均线之类的价分析工具,还是OBV之类的量分析工具,不是只谈价,不谈

知识大全 数据挖掘概述(二)

  数据挖掘工具是怎样准确地告诉你那些隐藏在数据库深处的重要信息的呢?它们又是如何作出预测的?答案就是建模建模实际上就是在你知道结果的情况下建立起一种模型并且把这种模型应用到你所不知道的那种情况中比如

中间意愿指标——CR(1)

CR指标又叫中间意愿指标,它和AR、BR指标又很多相似之处,但更有自己独特的研判功能,是分析股市多空双方力量对比、把握买卖股票时机的一种中长期技术分析工具。第一节CR指标的原理和计算方法一、CR指标的

污水深度处理工艺的对比分析

根据某污水处理厂提标改造要求,对现今常用的几种深度处理工艺:活性砂滤池、纤维转盘滤池和精密过滤器进行了综合对比分析,结果表明工艺各有特点,应根据不同的使用要求选择合适的处理工艺,该工程根据占地、流程和

污水深度处理工艺的对比分析

根据某污水处理厂提标改造要求,对现今常用的几种深度处理工艺:活性砂滤池、纤维转盘滤池和精密过滤器进行了综合对比分析,结果表明工艺各有特点,应根据不同的使用要求选择合适的处理工艺,该工程根据占地、流程和

污水深度处理工艺的对比分析

根据某污水处理厂提标改造要求,对现今常用的几种深度处理工艺:活性砂滤池、纤维转盘滤池和精密过滤器进行了综合对比分析,结果表明工艺各有特点,应根据不同的使用要求选择合适的处理工艺,该工程根据占地、流程和

静电除尘和电袋除尘技术研究对比分析(附案例)

本文对静电除尘和电袋除尘这两种目前应用较为广泛的除尘技术进行了对比研究,对静电除尘及所用高频直流电源进行了详细阐述,就工作机理、除尘效率和节能效果等进行了分析研究,并给出了电袋除尘机理和优势,分析了其