UML工具的选择与比较

http://developer.51cto.com/art/200808/85603.htm

http://tech.it168.com/oldarticle/2006-08-21/200608211600060.shtml

http://blog.csdn.net/zdwzzu2006/article/details/3142544

                                                                              主流UML建模工具比较及选择方法

 

李懋1

(1. 对外经济贸易大学 信息学院 北京  100029)

 

摘 要:UML作为一种普遍使用的建模语言,可以用于任何信息系统的建模中。在实际的运用过程中,定义良好的建模语言只是成功的关键因素之一,之外还需要支持系统建模的建模工具及开发环境。目前在市场上至少存在100多种建模工具。本文将针对Rational Rose,Power Design和Visio三款主流建模工具进行详尽的分析比较,根据这些工具各自的特点,采用德尔菲法建立指标体系,开发一套基于B/S的建模工具选择系统,希望能协助系统建模人员选择合适的工具,方便系统建模。

关键字:UML;建模工具;指标体系;

 

Comparison and Selection of Main UMLModeling Tools

 

LiMao1

(1. University of International Businessand Economics, Information School, Beijing 100029, China)

 

Key words:UML; Modeling Tools; Index System;

Abstract: UML is a widely used modeling language, which could be usedin any of the information system modeling. In actual use, a good modelinglanguage is just one key of the success factors, in addition, there still needmodeling tools to support for system modeling and developing environment. Inthe current market, there are more than 100 kinds of modeling tools. Thisarticle will compare Rational Rose, Power Design and Visio and give selectionmethods on these three main modeling tools for detailed analysis, based on thecharacteristics of each of these tools, using the Delphimethod to establish indicators. At end, I will develop modeling tools selectionsystem based on B/S, to assist in selecting suitable tools for system modeling.


1.引言

统一建模语言(UML)统一了Booch、OMT和OOSE等一些主要的面向对象方法,融合了当今面向对象技术的发展成果和未来的发展趋势。作为采用可视化方法对软件系统进行描述、实施和说明的标准建模语言,其使用需要工具的辅助,一批优秀的建模工具便应运而生。比如现在建模人员广泛使用的建模工具有IBM的Rational Rose,Sybase的Power Designer和Microsoft的Visio等。如何选择建模工具,是系统建模的初学者遇到的第一个问题。本文将主要围绕此问题开展分析。

2.UML统一建模语言概述

UML(Unified Modeling Language)产生于上世纪80年代,是一种定义良好、易于表达、功能强大、普遍适用的建模语言。其融入了软件工程领域的新思想、新技术和新方法,不仅支持面向对象的分析与设计,还支持从需求分析开始的软件开发全过程。1997年,UML被OMG(Object Management Group)采纳为基于面向对象的标准建模语言,随后2003年,UML2.0再次被该机构采纳。

UML通过提供不同形式的图形来表达从软件需求分析开始的软件开发全过程的描述,支持从不同的角度来考察系统,UML定义了下列五类、共十种模型图。这些模型图为系统的分析、设计与开发提供了多种图形表示,它们的有机结合有助于分析与构造一个用户需求与系统功能相一致的信息系统。


3.UML建模工具概述

UML建模工具允许应用面向对象分析和设计的方法与理论,基于特定的概念与表示法,通过对建模人员进行过程性支持,辅助性进行建模,达到构建和设计变得更直观,更易理解的层次,并可以按规范生成相应的开发文档和尽可能多的代码。建模工具一般具有以下作用:

(1)绘制模型:这是建模工具必备的功能。

(2)提供存储信息的机制和手段:可缩短开发时间,减少重复性工作,为检索、一致性检查、复用等提供基础。

(3)对模型进行组织:建模人员使用工具可能要产生大量制品,其中包括对系统的定义、系统的分解产生的子系统、构成子系统的一系列子系统、构成子系统的各种模型以及一些代码等。这些制品涉及到大量的图及其详述,需要对这些制品进行组织、形成系统模型。

(4)其他功能还包括协作支持、代码生成、逆向工程、集成、支持多种抽象层和开发过程、文档生成、适当的信息屏蔽、模型库管理、打印支持、脚本编程、元建模等。

4.主流建模工具的介绍与比较

当前市场上基于UML可视化建模的工具很多,例如有IBM的Rational Rose, Microsoft的Visio,Sybase的Power Designer,还有PlayCase 、CA BPWin、CA ERWin等等。各工具有不同的定位、能力和市场策略,使得每一种工具都不同程度地实现了标准的不同子集。市面上的工具基本上都能提供规范所定义的主要功能,但不同产品甚至同一产品的不同版本,在具体的功能实现上总存在一些差异,表现出各自的特性而具有不同的适用面。在我国,广大软件开发人员使用较多的是Rose,Visio和PowerDesigner。本文将对这三种工具的最新版本展开分析,具体体现在双向工程,数据建模,性能,价格,可支持性,易使用性等方面。

4.1 Rational Rose

Rational Rose是目前应用最广泛的UML建模工具。从系统需求分析阶段到类的分析与设计再到软件的实现与测试阶段,Rose都提供了清晰的UML表示方法和相应的软件模型,并支持RUP(Rational Unified Process)——Rational统一过程。[1]

Rose的特点如下:

(1)界面良好,可以集成大量插件,支持多种平台,如Windows, Solaris, Unix等等,且可以与多种开发环境,如VB, Java, Power Builder, C++等无缝集成,还可以支持关系型数据库逻辑模型的生成,如Oracle,Sybase,SQL Server等。

(2)为大型软件工程提供了可塑性和柔韧性较强的解决方案,它对系统的代码框架生成有很好的支持,具备模型与代码之间转化的一致性,具有强有力的正/反向建模工作,但逆向工程,文档输出,代码生成等输入输出功能上表现得比较生硬单调,而且对数据库的建模能力有限。Rose内嵌的只支持Oracle 8数据库,对其他数据库设计的支持需要通过安装插件的方式获得。

(3)在操作体验上存在很多需要改进的地方,Rose偏向于让用户用鼠标进行操作,对键盘操作支持不好。Rose的Undo操作只能回退一步,有时甚至连一步都不能回退,假设不小心删除了一个精心设计的模型元素,如不及时Undo,就只得重头再来了。Rose往往占用更多的系统资源,容易异常退出

(4)没有导出模板的概念,更不能对导出项和格式进行设置,你只能按Rose的系统内置的方式进行模型文档的发布

(5)市场价格将近9000美元,是所有同类产品中最高的。适合采用RUP的大中型项目的开发人员使用。

4.2 Power Designer

Sybase公司的PowerDesigner侧重点在于数据库建模,支持20余种数据库,对于同一数据库的不同版本还提供单独的支持,以便在设计数据库模型时,提供数据库和版本相关的设计。对于面向对象模型,PD支持11种主流语言,对Java 5.0提供单独的支持。

PD的特点如下:

(1)开发速度快,效率和稳定性也较好,双向工程时对Sybase的产品支持很好(其他UML建模工具没有或者需要一定的插件),对其他面向对象语言如C++, Java, VB,C#等支持也不错。

(2)用户体验很好,大部分操作都可以通过键盘完成,允许用户UNDO操作几十步,使用户交互上更加人性化,允许用户批量编辑操作,可大大提高的工作效率,此外,PD具有工作空间,一个工作空间下可以同时打开多个设计模型文件,相互切换非常方便,而Rose一次只能打开一个文件,需要参考其他文件时,还需经过“关闭-打开-再关闭-在打开”的过程。

(3)对文档导出提供了精细的控制,你不但可以对文档所包含的内容项进行设置,还可以对内容项的格式进行设置。如导出的表结构是否包括名称、数据类型、备注等。

(4)适合于不准备全面采用RUP开发过程的大中型项目。其对UML建模过程中所使用到的各种图的支持相对滞后于Rose。但PD价格适中,功能也较为完备,是大中型项目(特别是涉及数据库的项目)较为理想的建模工具,如果采用Sybase公司的其他开发工具,最好还是采用该产品。

4.3 Visio

Visio是微软的产品,支持微软生成项目的逆向

 

 

Rational Rose

Visio

Power Design

作图功能

系统框图/树图

不支持

支持最好

支持,但使用不方便

UML图

支持全系列,且很容易体现迭代,用例驱动等特性,相关性最好

支持部分

支持全系列

ER图

功能较弱

功能较弱

功能强大

自动生成交互图和状态图

具备

具备

图形质量

较好

最好

流程图

不支持

功能强大

支持

数据库建模集成

较强

一般

功能强大

支持平台

跨平台

windows

windows

文档生成自动化

支持,部分功能欠缺

功能弱

支持,功能全

双向工程

与代码

功能强大,通过插件

功能较弱,只针对微软产品

功能强,无需插件

与数据库模型

功能强大,通过插件

用VBA和宏实现

功能强,无需插件

集成编辑器

功能完善

具备

稳定性

一般

较好

效率

低,不可多图同时进行

一般

高,可同时多图切换

易用性及人性化

价格

表1  对Rose, Visio和Power Designer综合比较

 

工程,以及相应的代码生成功能。它是目前最能够用图形方式来表达各种商业图形用途的工具,对UML支持仅仅是其庞大功能中很少的一部分。

Visio的特点如下:

(1)双向工程里代码生成则更多是支持微软的产品,如VB, VC++,.Net,数据库的生成则支持MSSQLServer等,需要VBA和宏实现。

(2)图形质量最好, 绘制流程图方面功能强大,对图形语义的描述较为方便,支持UML中的九种图,在易用性和人性化上,秉承了微软的理念,操作便捷,用户体验好,价格在三款软件中最为便宜。

(3)在多人协同开发,模型比较,对象模型与数据模型的一体化,以及用例管理与需求管理的有效集成等等方面不如其他两种工具,也不适合用于软件开发过程的迭代。它适合于使用微软开发工具的中小型项目使用,也可以为Rose和Power Designer的图形功能的相对不足提供补充。


5.选择建模工具的指标体系

根据以上的研究比较,对三个主流建模工具有了较为详细的介绍,但在实际选择过程中,建模人员往往并不考虑这些区别,而采用比较熟悉的工具。这本身便会造成一种资源的浪费。

为了能更好的利用这些工具,更好地与系统契合,笔者采用专家打分方式,通过制作调查问卷,邀请对外经济贸易大学信息学院40多名老师进行

表2 建模工具选择菜单

1.系统的规模

(1)大中型系统

(2)中型系统

(3)中小型系统

2.编程语言

(1)微软提供的编程语言

(2)其他编程语言

3.对于双向工程代码生成的要求

(1)高

(2)一般

(3)不需要

 

4.对于双向工程数据库生成的要求

(1)高

(2)一般

(3)不需要

 

5.对于UML图支持的程度

(1)高

(2)中

(3)低

 

6.是否使用迭代开发

(1)是

(2)否

 

7.对于数据建模的要求

(1)高

(2)中

(3)低

 

8.对于软件性能的要求

(1)高

(2)中

(3)低

 

8.对于软件人性化和易用性的要求

(1)高

(2)中

(3)低

 

9.对于模型设计效率的要求

(1)高

(2)中

(3)低

 

10.对于图形质量的要求

(1)高

(2)中

(3)低

 

11.对于文档自动化生成的要求

(1)高

(2)中

(3)低

 

12. .对于支持平台的要求

(1)windows

(2)跨平台

 

13.性价比要求

(1)高

(2)中

(2)低


打分,采用德尔菲法(专家打分法),根据每个指标的权重和平均分,设定了一套指标体系,并基于其设计并开发建模工具选择系统,以供大家参考使用。

指标体系如下:

参考指标为:双向工程,数据建模,性能,价格,易使用性,效率,图形质量,UML图,支持平台以及文档生成自动化

根据参考指标,创建级差,并制作出选择菜单根据各个指标的平均分,转化为0-5分区间内。


 

表3 三个工具在各个选项上的得分

 

 

Rose

Power Designer

Visio

系统的规模

大中型系统

5

5

0

中型系统

3

3

3

中小型系统

1

1

5

编程语言

微软提供的编程语言

3

3

5

其他编程语言

5

5

0

对于双向工程代码生成的要求

3

5

1

一般

5

3

2

不需要

1

1

3

对于双向工程数据库生成的要求[2]

4

5

3

一般

3

3

2

不需要

1

1

1

 对于UML图支持的程度

5

4

3

3

2

3

1

1

3

 是否使用迭代开发

3

0

0

2

2

2

对于数据建模的要求

3

5

1

4

3

2

3

2

4

对于软件性能的要求

3

4

5

4

3

4

5

2

3

对于软件人性化和易用性的要求

3

4

5

4

4

4

5

4

3

对于模型设计效率的要求

3

5

4

4

4

4

5

3

4

对于图形质量的要求

3

4

5

4

4

4

5

4

3

对于文档自动化生成的要求

2

4

3

3

3

3

4

2

3

 对于支持平台的要求

windows

3

5

5

跨平台

5

0

0

性价比要求

2

5

4

3

4

3

4

3

2


根据上面的模型,笔者基于B/S架构,采用ASP+ACCESS开发了一套简易的建模工具选择系统,

图1 建模工具选择结果演示

 

协助建模人员轻松选取适当的建模工具。请读者登陆 http://yahoosohu.qyun.net试用此评估系统。笔者的测试结果如下图。

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 



6.结束语

工欲善其事,必先利其器。好的建模方法一定要有适合的建模工具支持。本文着重介绍了主流建模工具的特点和不足,并通过设计和开发模型选择系统,方便建模人员选择适合的工具。希望本文能够抛砖引玉,使更多对建模工具感兴趣的同行参与进来,集思广益,相互促进。同时,笔者对于中国人自己的建模工具寄以厚望,希望越来越多优秀的中文建模工具涌现出来,给国人更多的选择机会。


 

参考文献:


[1] 杨芙清等. 面向对象的CASE环境青鸟型系统的设计与实现[A].中国科学. 1995.

[2] RationalRose Documentation. http://www.rational.com.

[3] SybasePower Designer Object Oriented Model User’s Guide. http://www.sybase.com.

 

[4] Visio Documentation.http://www.microsoft.com.

[5] UML相关工具一览.http://www.umlchina.com/Tools/Newindex1.htm.

[6] 吴伟敏. UML建模工具的比较--ROSE, Visio和Power Designer[J]. 现代计算机. 2003.

 

UML建模工具中EARose的两种特性对比,谁更具优势?

2010-06-0815:13 andylin02 csdn.net 我要评论(0) 字号:T T

UML的概念相信大家都听说过,那么UML建模工具你是否熟悉呢,这里就向大家介绍一下UML建模工具的比较,希望通过本文的介绍大家对UML建模工具有新的认识。

AD2013云计算架构师峰会超低价抢票中

本节继续介绍UML建模工具比较方面的知识,主要包括双向工程和项目生命周期支持两大部分的内容,相信通过本节的介绍大家对UML建模工具有深刻的理解。下面是具体介绍。

双向工程

双向工程包括正向工程- 从模型到代码和反向工程 - 从代码到模型。一旦设计完成后,使用模型(设计模型和数据模型)信息能够生成特定编程语言的源代码或者数据库的DDL脚本。当开发人员添加/更改代码或数据库实现时,设计和数据模型能够通过双向工程同步代码或DDL脚本以保持一致。表3显示了EA和Rose双向工程的特征。

表3.UML建模工具中EA和Rose的双向工程

EA为类生成类的源代码文件放在同一个包里。RationalRose在VC++或VB中更多的涉及到具体的项目。RationalRose也可以通过向导和提供代码模板来创建类,这样可以大大增加源代码生成的数量。另外,EA和Rose都可以应用设计模式。当使用EA时,用户必须自己创建模式,而Rose则提供了Java的20种GOF设计模式。

项目生命周期的支持

CASE工具应该为团队中的所有队员完成他们的任务提供支持。关于项目生命周期的支持,EA将大量的功能合成一体,而Rose则主要是一个建模工具,它可以与其他的Rational或第三方工具集成,如RequisitePro,TestManager,Soda,MSWord,MSProject以达到同样的目标。表4比较了EA和Rose在不同科目的功能支持。

表4UML建模工具中EA和Rose对项目生命周期的支持

结论

大体上,EA和Rose在UML建模能力上有相似的功能。EA和RationalRose都支持UML九种图中的八种。从表1中可以看出EA在用户友好性的灵活性中比Rose更胜一筹,特别是序列图。在双向工程中,Rose比EA支持更多的语言,除C#和VB.NET外(事实上,Rational开发了另外的工具–RationalXDEfor.NET就是针对.NET环境的)。表4阐明,在项目生命周期的支持方面,EA相对于Rose来说,是更好的选择。尽管你可以购买其他的Rational工具来协助它,但是绝大部分公司在考虑成本问题时却不认为这是一个可接受的方案。当然,你需要工具上没有或第三方工具不支持的一些其他的特定功能时,这也是要考虑的重要因素。在这一点上,RationalRose得到了更广的支持。
 

最后,经过一系列同类型的比较,是不是费用也不同?是的――非常大的不同!单是Rose花费就是EA的28倍。如果你要比较项目生命周期的支持,假设你是一个Rose用户,你将必须去购买Rational捆绑的一整套产品,如RequisitePro,SoDA,TestManager等。虽然附加的工具比同类的EA提供了更丰富的功能,但是在大部分时间里EA的基本功能已经够用了。在写本文时,EA企业版(最高版本支持SQL后台)的费用是$179.00(£111.58)而RationalRose企业版的费用是$5024(£3140),一天整套开发包(RationalDeveloperSuite)的费用是$8976(£5610)。本节关于UML建模工具的比较介绍到这里。

 

 

 

UML建模工具中EARose的比较

UML统一建模语言相信大家有所了解,那么还有什么其他的建模工具,哪种建模工具最实用呢,带着这些问题我们来看一下本文关于UML建模工具比较内容介绍。

AD2013云计算架构师峰会超低价抢票中

本节和大家一起看一下UML建模工具比较,主要介绍了UML建模的特性中EA和Rose的UML图建模比较,EA和Rose的UMLProfile比较两部分内容,相信通过对比我们能够找到更加实用的建模工具,下面就让我们一起来看一下UML建模工具的比较吧。

UML建模工具比较

自从1997年正式发布UML以后,大量商用UML建模CASE工具粉墨登场。这样为我们提供了许多的选择,同时也要求我们在选择正确的UML建模工具以更好地适应我们业务和软件应用程序开发需求,达到最好的投资回报率(ROI)方面做大量的调查。在这篇文章中,我们将比较两款CASE工具的UML建模能力、双向工程特性和项目生命周期支持:SparxSystems的EnterpriseArchitect(EA)专业版V.3.51和IBMRational的RationalRose企业版V.2002。

为什么我们需要UML建模CASE工具?

今天,系统的构建变得越来越复杂,UML建模CASE工具为项目相关人员(如,项目经理,分析员,设计者,构架师,开发者等)提供了许多的好处。UML建模CASE工具允许我们应用规范的面向对象分析和设计的方法与理论,远离纠缠不清的源代码,达到构建和设计变得更直观,更容易地理解与修改的层次。在大型项目中,使用CASE工具更重要。通过使用CASE工具:

◆通过用例模型,业务/系统分析可以捕获到业务/系统需求。

◆设计者/构架师所作的设计模型能在不同层次的同一层内清晰表达对象或子系统之间的交互(典型的UML图如类图和交互图)。

◆开发者能快速地将模型转变为一个可运行的应用程序,寻找类和方法的子集,以及理解它们如何交互。
模型被看作是蓝图和构建系统的最终手册。同样,建模也就是一种从高层并以适当的形式来考虑一个设计的表述和理解它怎样运行的能力。
出于这些动机,UMLCASE工具以及对应的方法论为我们提供了一种因系统太复杂而不能理解下层源代码的描述系统的方法,同时允许我们更快更便宜地开发正确的软件解决方案。
当然,要考虑CASE工具在UML建模能力,项目生命周期支持,双向工程,数据建模,性能,价格,可支持性,易使用性等方面的不同。这篇文章将探索Rose与EA在UML建模,项目生命周期支持以及双向工程领域的相同点和不同点,希望能帮助你在你的项目中选择正确的工具。

UML建模工具特性

UML标准由三部分组成,即:构造块(如对象,类,消息),构造块间的关系(如关联,泛化)和图(如,活动图)。UMLprofile使用UML可扩展性机制扩展标准UML符号,即,构造型,标注值和约束。EA专业版V.3.51和RationalRoseV.2002.05都支持UML1.4 九种图中的八种标准UML图-用例图,类图,序列图,协作图,活动图,状态图,实现图(组件)图,部署图,和几种UMLProfiles.如果需要,对象图可以使用协作图来创建。不同点仅仅存在于创建UML图(表1)和扩展UMLprofiles时所支持的一些特性。

表1.UML建模工具中EA和Rose的UML图建模比较

EnterpriseArchitect有一个通用的UMLprofile机制用来加载和运行不同的Profiles。EnterpriseArchitect为UMLprofiles指定一个特定格式的XML文件。而在RationalRose中却需要生成一个附加项。 表2展示了在EA和Rose中UMLprofiles的可用性。

表2.UML建模工具中EA和Rose的UMLProfile比较

 



[1] Rational Rose Documentation.http://www.rational.com.

[2]吴伟敏. UML建模工具的比较--ROSE,Visio和Power Designer[J].现代计算机. 2003.


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值