自从1997年正式发布UML以后,大量商用UML建模CASE工具粉墨登场。这样为我们提供了许多的选择,同时也要求我们在选择正确的UML建模工具以更好地适应我们业务和软件应用程序开发需求,达到最好的投资回报率(ROI)方面做大量的调查。在这篇文章中,我们将比较两款CASE工具的UML建模能力、双向工程特性和项目生命周期支持:Sparx Systems的Enterprise Architect(EA)专业版V.3.51和IBM Rational的Rational Rose企业版V.2002。
为什么我们需要UML建模CASE工具
今天,系统的构建变得越来越复杂,UML建模CASE工具为项目相关人员(如,项目经理,分析员,设计者,构架师,开发者等)提供了许多的好处。UML建模CASE工具允许我们应用规范的面向对象分析和设计的方法与理论,远离纠缠不清的源代码,达到构建和设计变得更直观,更容易地理解与修改的层次。在大型项目中,使用CASE工具更重要。通过使用CASE工具:
* 通过用例模型,业务/系统分析可以捕获到业务/系统需求。
* 设计者/构架师所作的设计模型能在不同层次的同一层内清晰表达对象或子系统之间的交互(典型的UML图如类图和交互图)。
* 开发者能快速地将模型转变为一个可运行的应用程序,寻找类和方法的子集,以及理解它们如何交互。
模型被看作是蓝图和构建系统的最终手册。同样,建模也就是一种从高层并以适当的形式来考虑一个设计的表述和理解它怎样运行的能力。
出于这些动机,UML CASE工具以及对应的方法论为我们提供了一种因系统太复杂而不能理解下层源代码的描述系统的方法,同时允许我们更快更便宜地开发正确的软件解决方案。
当然,要考虑CASE工具在UML建模能力,项目生命周期支持,双向工程,数据建模,性能,价格,可支持性,易使用性等方面的不同。这篇文章将探索Rose与EA在UML建模,项目生命周期支持以及双向工程领域的相同点和不同点,希望能帮助你在你的项目中选择正确的工具。
UML建模特性
UML标准由三部分组成,即:构造块(如对象,类,消息),构造块间的关系(如关联,泛化)和图(如,活动图)。UML profile使用UML可扩展性机制扩展标准UML符号,即,构造型,标注值和约束。EA专业版V.3.51和Rational Rose V.2002.05都支持UML 1.4 九种图中的八种标准UML图 - 用例图,类图,序列图,协作图,活动图,状态图,实现图(组件)图,部署图,和几种UML Profiles. 如果需要,对象图可以使用协作图来创建。不同点仅仅存在于创建UML图(表1)和扩展UML profiles时所支持的一些特性。
UML图 |
功能 |
EA |
Rose |
用例图 |
建立描述领域的边界 |
Yes |
No.但是,一些工作使用文本或包。 |
序列 协作 |
序列图与协作图之间的相互转化 |
No |
Yes |
序列 |
更改消息的范围 |
Yes |
No |
序列 |
显示消息层次号码 |
Yes |
No |
序列
协作 |
在浏览器中创建对象 |
Yes |
No |
序列 |
管理控件的焦点 |
容易 |
困难 |
所有 |
图的属性 |
Yes |
No |
表1. EA和Rose的UML图建模比较
Enterprise Architect 有一个通用的UML profile机制用来加载和运行不同的Profiles。Enterprise Architect为UML profiles指定一个特定格式的XML文件。而在Rational Rose中却需要生成一个附加项。
表2展示了在EA和Rose中UML profiles的可用性。
UML Profiles |
EA |
Rose |
业务流程建模 |
支持Eriksson-Penker业务流程建模扩展 |
使用UML活动图 |
业务建模 |
No |
Yes |
数据建模 |
Yes |
Yes |
用户体验建模 |
Yes |
No |
Web建模 |
Yes |
Yes |
Yes |
No |
Yes |
XML DTD |
No |
表2. EA和Rose的UML Profile比较
双向工程
双向工程包括正向工程 - 从模型到代码 和反向工程 - 从代码到模型。一旦设计完成后,使用模型(设计模型和数据模型)信息能够生成特定编程语言的源代码或者数据库的DDL脚本。当开发人员添加/更改代码或数据库实现时,设计和数据模型能够通过双向工程同步代码或DDL脚本以保持一致。表3显示了EA和Rose双向工程的特征。
语言 |
EA |
Rose |
ANSI C++ |
Yes |
Yes |
Visual C++ |
No |
Yes |
VB6 |
Yes |
Yes |
Java |
Yes |
Yes |
C# |
Yes |
No |
VB.NET |
Yes |
No |
Delphi |
Yes |
No. 第三方附加项. |
J2EE/EJB |
No |
Yes |
CORBA |
No |
Yes |
Ada83, Ada95 |
No |
Yes |
Database |
Yes. 从数据模型到DDL脚本的正向工程。ODBC数据源的反向工程 |
Yes.DB2,Oracle, SQL 92, SQL Server, Sybase |
COM |
No |
Yes. 只是反向工程 |
Web应用程序 |
No |
Yes |
表3. EA和Rose的双向工程
EA为类生成类的源代码文件放在同一个包里。Rational Rose在VC++或VB中更多的涉及到具体的项目。 Rational Rose也可以通过向导和提供代码模板来创建类,这样可以大大增加源代码生成的数量。另外,EA和Rose都可以应用设计模式。当使用EA时,用户必须自己创建模式,而Rose则提供了Java的20种GOF设计模式。
项目生命周期的支持
CASE工具应该为团队中的所有队员完成他们的任务提供支持。关于项目生命周期的支持,EA将大量的功能合成一体,而Rose则主要是一个建模工具,它可以与其他的Rational或第三方工具集成,如RequisitePro, Test Manager, Soda, MS Word, MS Project 以达到同样的目标。 表4比较了EA和Rose在不同科目的功能支持。
项目科目 |
EA |
Rose |
业务建模 |
Yes. 使用UML Profile为业务流程建模 |
Yes.使用业务用例模型 |
需求管理 |
Yes. 功能和非功能需求;需求跟踪矩阵 |
合并RequisitePro |
分析和设计 |
Yes;UML类图和交互图,如果需要可以添加一些原型,如<<层>>,<<用例实现>> |
Yes;UML类图和交互图 框架向导提供了一系列的模板来构造模型 |
实现 |
参见表3;适合C++,VB,C#和VB.NET项目 |
参见表3;支持大多数语言,除了.NET外 |
测试 |
Yes |
No. Quality Architect提供了单元测试,但是它需要其他的Rational工具,如Test Manager,Robot |
版本控制 |
不直接支持。使用控制单元,为将来发布计划。 |
集成SCC相应版本控制应用程序 |
项目管理 |
风险管理、资源分配、项目预算 |
No |
Web发布 |
Yes |
Yes |
生成报表 |
Yes |
No. 使用SoDA. |
多用户协作 |
Yes |
Yes |
表4 EA和Rose对项目生命周期的支持
结论
大体上,EA和Rose在UML建模能力上有相似的功能。 EA和Rational Rose都支持UML九种图中的八种。 从表1中可以看出EA在用户友好性的灵活性中比Rose更胜一筹,特别是序列图。 在双向工程中,Rose比EA支持更多的语言,除C#和VB.NET 外(事实上,Rational 开发了另外的工具 – Rational XDE for .NET 就是针对.NET环境的)。 表4阐明,在项目生命周期的支持方面,EA相对于Rose来说,是更好的选择。尽管你可以购买其他的Rational工具来协助它,但是绝大部分公司在考虑成本问题时却不认为这是一个可接受的方案。当然,你需要工具上没有或第三方工具不支持的一些其他的特定功能时,这也是要考虑的重要因素。在这一点上,Rational Rose得到了更广的支持。
最后,经过一系列同类型的比较,是不是费用也不同? 是的――非常大的不同!单是Rose花费就是EA的28倍。如果你要比较项目生命周期的支持,假设你是一个Rose用户,你将必须去购买Rational捆绑的一整套产品 ,如Requisite Pro, SoDA, Test Manager等。虽然附加的工具比同类的EA提供了更丰富的功能,但是在大部分时间里EA的基本功能已经够用了。在写本文时,EA企业版(最高版本支持SQL后台)的费用是$179.00(£111.58) 而Rational Rose企业版的费用是$5024(£3140),一天整套开发包(Rational Developer Suite)的费用是$8976(£5610)。
分享到:
相关推荐
### EA与Rose_UML建模工具比较 #### UML建模工具的重要性 自从1997年统一建模语言(Unified Modeling Language, UML)正式发布以来,UML建模工具已经成为软件开发不可或缺的一部分。随着系统的复杂度不断增加,UML...
UML建模工具是指使用UML语言的软件工具,主要包括: * Rational Rose * Enterprise Architect * Microsoft Office Visio * Sybase PowerDesigner * Borland Together * SmartDraw * Visual Studio 2008 七、结语 ...
- **Rational Rose**:IBM的一款强大的UML建模工具,支持多种类型的UML图。 - **Enterprise Architect (EA)**:一款简单易用且功能强大的UML建模工具,支持UML 2.1标准。 - **Microsoft Office Visio**:微软提供的...
具体可看http://www.softwarechn.com/SparxSystems/sparxsystems_index.htm4.PowerDesigner工具简介请看http://www.uml.org.cn/UMLTools/powerDesigner/powerDesignerToolIntroduction.htm5.EA与Rose UML建模工具...
首先,Rational Rose是较早出现的一款专业的UML建模工具,它直接从UML发展中诞生,最初主要用于UML建模,而不包含数据库端建模功能。但在后续的版本中,Rational Rose加入了数据库建模功能。Rational Rose在分析和...
目前市场上存在多种UML建模工具,如: - **Rational Rose**:历史悠久且功能强大的工具。 - **Microsoft Visio**:界面友好,适合初学者。 - **Enterprise Architect**:功能全面,适用于大型项目。 - **Visual ...
Enterprise Architect(简称EA)和Rose是软件开发过程中常用来进行UML建模的工具。EA使用的也比较广泛,在这里本人将使用过程中的一些用法分享一些,就当做个笔记,也希望能给需要的人带来方便。
在UML中,有一些常用的建模工具,如Rational Rose,它是一款强大的设计工具,专门为了支持UML建模而生。Rational Rose与Rational公司的其他产品(如Requisite Pro, SoDA, Test Manager等)高度集成,能够帮助实现...
该工具的开发目的是为了解决当前工业界中常用UML图绘制工具(如EA、ROSE、VISIO等)存在的诸多问题,如绘制出来的可视化模型过于简单、不易调整、软件安装相对复杂、功能界面不够友好等。通过使用JavaScript语言,...
在软件开发过程中,UML(统一建模语言)是一种标准化的建模工具,用于可视化系统的设计和结构。它提供了一种通用的语言来表达软件系统的各种方面,包括行为、结构和关系。本设计文档是基于ROSE工具进行创建的,包含...
- **Rational Rose**:一款非常流行的UML建模工具,支持从需求分析到设计、实现全过程的管理。 - **Enterprise Architect (EA)**:提供了一套完整的解决方案,适用于各种规模的项目。 - **StarUML**:一款开源的UML...
- **工具介绍**:常用的UML建模工具有EA(Enterprise Architect)、Rational Rose、PowerDesigner、Visio等。 #### 项目四:用例建模 - **用例模型**:用例模型描述了系统如何与外部世界交互,以及如何响应外部请求。...
- **Enterprise Architect (EA)**:一款综合性的建模工具,支持多种建模标准和技术。 - **StarUML**:一款开源的UML工具,支持多种UML图表类型。 - **Microsoft Visio**:虽然不是专门的UML工具,但也可以绘制UML图...
.mdl扩展通常关联于各种建模工具,例如IBM Rational Rose或EA Sparx Systems Enterprise Architect中的模型文件。这个文件可能包含了UML元素(类、接口、用例等)以及它们与质量属性的关联。 总的来说,"ADD 质量...
EA安装,比Rose还要强大的UML建模工具,Enterprise Architect 是Sparx Systems 公司的旗舰产品。它覆盖了系统开发的整个周期,除了开发类模型之外,还包括事务进程分析,使用案例需求,动态模型,组件和布局,系统...
UML(统一建模语言)是软件开发领域中一种标准化的可视化建模工具,它为开发者提供了一种描述系统功能的结构化图形语言。UML不仅有助于理解复杂系统,还能促进团队间的沟通与协作。 在UML的开发工具中,Rational ...
《企业架构师10》(Enterprise Architect 10)是一款由 Sparx Systems 公司开发的全面的企业级建模工具,主要用于系统分析、设计、实现和管理。它以其强大的功能和灵活性,在IT行业中广泛应用于软件工程、业务流程...
J2SE/J2ME/J2EE/JAVA代码优化/Flex(BlazeDS、PureMVC等技术)/LDAP/C++/Portal/即时通讯/数据建模/UML/UML设计工具(Rose、EA、PD等)/移动办公(Android、Symbian、Wap等技术)/项目管理(敏捷开发等)/软件架构...
- 求职者拥有超过2年的编程经验,熟练使用多种编程语言和技术,如UML、EA、Rose建模工具。 - 熟练运用Design Patterns,表明具备软件设计能力。 - 在Myeclipse、Eclipse平台上进行开发,熟悉S2SH框架,了解J2EE...