转自:http://developer.51cto.com/art/201006/207961.htm
三大常用UML工具性能对比
在学习UML建模语言的过程中,经常会用到UML工具,对UML常用工具你是否熟悉,这里就向大家简单介绍一下,希望通过本文的学习,你对UML常用工具有全面的认识。
常用UML工具
常用UML工具PowerDesigner原来是对数据库建模而发展起来的一种数据库建模工具。直到7.0版才开始对面向对象的开发的支持,后来又引入了对UML的支持。但是由于PowerDesigner侧重不一样,所以它对数据库建模的支持很好,支持了能够看到的90%左右的数据库,对UML的建模使用到的各种图的支持比较滞后。但是在最近得到加强。所以使用它来进行UML开发的并不多,很多人都是用它来作为数据库的建模。如果使用UML分析,它的优点是生成代码时对Sybase的产品PowerBuilder的支持很好(其它UML建模工具则没有或者需要一定的插件),其他面向对象语言如C++,Java,VB,C#等支持也不错。但是它好像继承了Sybase公司的一贯传统,对中国的市场不是很看看好,所以对中文的支持总是有这样或那样的问题。
常用UML工具ROSE是直接从UML发展而诞生的设计工具,它的出现就是为了对UML建模的支持,ROSE一开始没有对数据库端建模的支持,但是在现在的版本中已经加入数据库建模的功能。ROSE主要是在开发过程中的各种语义、模块、对象以及流程,状态等描述比较好,主要体现在能够从各个方面和角度来分析和设计,使软件的开发蓝图更清晰,内部结构更加明朗(但是它的结构仅仅对那些对掌握UML的开发人员,也就是说对客户了解系统的功能和流程等并不一定很有效),对系统的代码框架生成有很好的支持。但对数据库的开发管理和数据库端的迭代不是很好。有单机版和企业版的选择,但是价格也还是很难接受。不过RationalRose也是很多黑帽的重点对象,网上有很多破解版。只是版本不新而已.
常用UML工具VISIO原来仅仅是一种画图工具,能够用来描述各种图形(从电路图到房屋结构图),也是到VISIO2000才开始引进软件分析设计功能到代码生成的全部功能,它可以说是目前最能够用图形方式来表达各种商业图形用途的工具(对软件开发中的UML支持仅仅是其中很少的一部分)。它跟微软的office产品的能够很好兼容。能够把图形直接复制或者内嵌到WORD的文档中。但是对于代码的生成更多是支持微软的产品如VB,VC++,MSSQLServer等(这也是微软的传统),所以它可以说用于图形语义的描述比较方便,但是用于软件开发过程的迭代开发则有点牵强。
三种产品各有侧重点,各有优缺点,主要是看你的选择和你的开发方式和环境
第一,Case软件的一个基本功能就是作图。
在软件工程中,我们做的图大概有以下几种:系统框图/树图;UML图;ER图;Gantt图;任意流程图;其他任意的图表。
系统框图/树图用在比较随意、没有形成特定的文档的时候,在这个环节上面,Visio最好,rose不支持,PowerDesigner支持一点点不好用。
UML图中,三者都支持,Rose支持全系列的,而且很容易体现迭代、用例驱动等特性,相关性最好,缺点是图形质量差,逻辑检查与控制差,没有Name和Code的区分(PowerDesigner的特性)不太适合中国人,生成文档不好也不适合自定义,也没有设计对象的字典可以快速查找。PowerDesigner9.5全支持,优点就是图形质量好,生成的文档容易自定义,逻辑检查与控制好,有设计对象的字典可以快速查找和快速在图形中定位,缺点就是相互之间的衔接稍微麻烦一点,对UML和RUP不熟练的人用了,体现不出来迭代和用例驱动,熟练的人用了还算比较好解决。相比较起来Visio的图形质量是最好的,但是衔接和相关性也是最差的,逻辑检查和控制勉强能做一点点。
ER图不用说了,做得最好的是UML常用工具PowerDesigner,Rose和Visio比较业余。
Gantt图用于项目计划,Visio可以做,其他的都不支持。但是建议你不要用Visio做,还是用Project做好啦。
任意流程图不被Rose支持,Rose只支持面向业务的活动图和面向用例的活动图,限制比较多。PowerDesigner9.5支持,用起来还可以。Visio最好,因为它的图形质量最好,而且预定义的元素也最多。
Rose不支持其他任意的图表。PowerDesigner9.5支持,但是预定义的元素不多。这一点Visio最好,不用多说了。
第二,好的Case软件支持Case文档与代码、Case文档与数据库之间的双向转换。
常用UML工具Rose文档能够与代码、数据库双向转换,是通过中间插件实现的。PowerDesigner最好,大集成,支持与代码和数据库之间的双向转换,而且不需要插件。Visio是通过VBA和宏实现的,用起来稍微麻烦,虽然这个技术不难,但是现在懂这个的好像不太多。
其次谈一个支撑和协作问题。
常用UML工具Rose有相对最新最完整UML支持,PowerDesigner和Visio稍微滞后一点。Rose有RUP体系的支持和一系列支持RUP的软件与Rose协作,这一点是PowerDesigner和Visio望尘莫及的。但是PowerDesigner有一个优点就是“一站式”分析设计,不需要任何插件就可以与代码和数据库双向转换,Rose这方面需要Rational公司提供的相应的插件(数据库不要,只是客户端代码要),这个冬冬的钱真他妈的贵!这方面PowerDesigner真好:)。Visio感觉不入流。
可能还有其他方面,我也不一一罗列了,大家可以根据自己的环境取舍。我的建议是:如果你的团队对业务和英文比较熟悉但是对RUP不太熟悉,建议你使用Rose,因为它有完整的RUP理论支撑而且相关性很好;如果你的团队对业务和英文稍逊而且系统分析员能够良好地理解RUP,那么建议你采用PowerDesigner;当然,如果你不准备全面采用RUP开发过程,PowerDesigner是最好的;Visio都是必需的,但是只是作为Rose或者PowerDesigner的补充。
分享到:
相关推荐
《使用Jude绘制UML图:轻量级的高效工具》 在软件开发过程中,UML(统一建模语言)图是一种重要的可视化工具,...在实际使用中,结合自身的项目需求和资源条件,合理选择UML工具,将极大地提升软件开发的效率和质量。
#### 6.2 UML工具的功能 这些工具通常支持多种类型的UML图,并且具有强大的编辑功能,如自动布局、代码生成等。 ### 7. UML的最佳实践 #### 7.1 设计模式 UML可以用来描述常用的设计模式,如单例模式、工厂模式...
UML是软件设计和交流的重要工具,面试时可能涉及: 1. UML的主要图示,如用例图(Use Case Diagram)、类图(Class Diagram)、序列图(Sequence Diagram)、状态图(State Diagram)和活动图(Activity Diagram)。...
2. **面向对象编程**:面向对象的三大特性是封装、继承和多态。封装使数据和行为结合在一起,保护数据不受外部直接访问;继承允许子类继承父类的属性和方法,实现代码复用;多态则是同一接口,不同对象可以有不同的...
十、质量管理常用工具 质量管理工具包括老七种工具和新七种工具。老七种工具主要涉及流程、数据分析等,新七种工具则更多关注计划和决策过程。通过谐音和故事记忆法来帮助记忆这些工具。 最后,文件中还提及了制订...
2. 常用工具 2.1. ERWIN ERWIN是一款广泛使用的数据库建模工具,支持创建和管理概念模型和逻辑模型。它可以帮助设计者绘制ER图,定义表结构,以及进行反向工程,从已存在的数据库生成模型。 2.1.1. 逻辑模型 在...
详细设计则涉及具体实现,如类图、序列图、状态图等UML工具的应用。这部分内容有助于培养良好的系统设计思维。 三、编程与实现 在理解了需求和设计之后,程序员将根据设计文档编写代码。课件可能涵盖面向对象编程的...
三是模型的验证与确认,通过与实验数据的对比或专家评审确保模型的有效性。 总之,建模与仿真在系统工程中发挥着不可或缺的作用,它提供了一种强大的分析工具,帮助我们理解和改善复杂的系统。通过不断学习和掌握...
- **文献[2]**: 对比了PowerDesigner和Rational Rose两种建模工具的技术特点。虽然两者都是优秀的建模工具,但PowerDesigner在集成性和易用性方面更具优势,更适合于本次项目的需求。 ### 结论 通过上述分析可以...
1. **统一建模语言(UML)**:UML是软件开发中常用的一种标准化建模语言,用于可视化地表示软件系统的不同方面,如系统架构、交互和行为。学习UML可以提高设计效率,更好地理解和沟通软件设计方案。UML包含用例图、...
UML(统一建模语言)是软件开发中常用的一种建模工具,用于表示软件系统的结构和行为。《uml.rar》可能包含关于类图、用例图、序列图、状态图和组件图等UML图的详细解释,以及如何使用它们来表达和沟通架构设计。...
- 性能监控工具:如何使用工具监控系统的性能瓶颈。 - 内存泄漏排查:常见内存泄漏的原因及解决方法。 4. **线程安全分析**: - 线程同步机制:synchronized关键字、ReentrantLock等锁机制。 - 死锁避免策略:...
- **建模工具**:介绍了用于软件设计和架构建模的工具,如UML工具等。 #### 十一、软件质量 - **质量属性**:书中详细阐述了软件质量的各种属性,如可靠性、可用性、安全性等,并解释了它们对用户体验的影响。 - **...
3. **建模工具**:Rational Rose是一种常用的建模工具,支持统一建模语言(UML)。使用它可以帮助团队更好地理解系统架构和设计思路。 4. **编程环境**:根据实际需求选择合适的编程环境,如Java、Python等。 #### ...
最后,第八章“系统分析与设计方法”介绍了定义问题与归结模型、需求分析与软件设计、结构化分析与设计、面向对象的分析与设计以及统一建模语言(UML)等内容,为系统架构设计师提供了全面的设计方法和工具。...
- **软件包**:了解不同类型的开发工具、管理工具和办公自动化工具的用途和比较。 总的来说,系统分析师考试涵盖了计算机硬件、软件、网络、数据库、信息化战略、项目管理等多个方面,要求考生具备全面的IT知识和...
质量特性是评估软件好坏的关键,功能性、可靠性、可用性、效率、可维护性和可移植性是主要的六大特性,还有21个子特性,如适合性、准确性、互用性等,通过这些特性来衡量软件的综合性能。 质量管理常用工具包括七种...