阅读了《UML建模工具比较》(来自:UmlChina 作者:Jie Zhao, Dunstan Thomas Consulting 著,ludingping [2004/09/23]), 它将比较两款CASE工具的UML建模能力、双向工程特性和项目生命周期支持:Sparx Systems的Enterprise Architect(EA)专业版V.3.51和IBM Rational的Rational Rose企业版V.2002,读书摘要如下:
1. 要考虑CASE工具在UML建模能力,项目生命周期支持,双向工程,数据建模,性能,价格,可支持性,易使用性等方面的不同,主要的方面有:UML建模能力,项目生命周期支持和双向工程
2. UML建模特性
EA专业版V.3.51和Rational Rose V.2002.05都支持UML 1.4 九种图中的八种标准UML图 - 用例图,类图,序列图,协作图,活动图,状态图,实现图(组件)图,部署图,和几种UML Profiles.
UML图 |
功能 | EA | Rose |
用例图 |
建立描述领域的边界 | Yes | No.但是,一些工作使用文本或包。 |
序列 协作 |
序列图与协作图之间的相互转化 | No | Yes |
序列 |
更改消息的范围 | Yes | No |
序列 |
显示消息层次号码 | Yes | No |
序列 协作 |
在浏览器中创建对象 | Yes | No |
序列 |
管理控件的焦点 | 容易 | 困难 |
所有 |
图的属性 | Yes | No |
表1. EA和Rose的UML图建模比较
UML Profiles | EA | Rose |
业务流程建模 |
支持Eriksson-Penker业务流程建模扩展 | 使用UML活动图 |
业务建模 |
No | Yes |
数据建模 |
Yes | Yes |
用户体验建模 |
Yes | No |
Web建模 |
Yes | Yes |
XML DTD |
No | Yes |
表2. EA和Rose的UML Profile比较
2. 双向工程
双向工程包括正向工程 - 从模型到代码 和反向工程 - 从代码到模型。
语言 | 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的双向工程
Rational Rose也可以通过向导和提供代码模板来创建类,这样可以大大增加源代码生成的数量。另外,EA和Rose都可以应用设计模式。当使用EA时,用户必须自己创建模式,而Rose则提供了Java的20种GOF设计模式。
3. 项目生命周期的支持
项目科目 |
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对项目生命周期的支持