关键字:比较
自从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 UML Profiles EA Rose 业务流程建模 支持Eriksson-Penker业务流程建模扩展 使用UML活动图 业务建模 No Yes 数据建模 Yes Yes 用户体验建模 Yes No Web建模 Yes Yes Yes No XML DTD No Yes表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.DelphiLink.html第三方附加项 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