2012年4月23日星期一

UML建模工具比较

UML建模工具比较

2007-8-10 作者:UmlChina 编辑:眼镜丢了
点击进入论坛
自从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
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.
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)。

http://www.360doc.com/content/05/0907/18/73_10907.shtml



  IT教育 ->IT社区 ->热门课程


.NET的前景和就业: 不能不说的精彩
http://interhb.cnhubei.com/ 2010-6-5 16:47:35 进入论坛
  在北美IT行业,.NET技术越来越受到重视,与之相关的职位也被越来越多的雇主和求职者所看好。
  .NET简介
  “Microsoft .NET代表了一个集合、一个环境、一个可以作为平台支持下一代Internet的可编程结构。” 微软首席执行官鲍尔默的这句话基本上简单扼要地表述了.NET的特性。.NET领导的是一个理想化的未来互联网环境,微软的构想是一个“不再关注单个网站、单个设备与因特网相连的互联网,而是要让所有的计算机群、相关设备和服务商协同工作”的网络计算环境。.NET把自己定位为可以作为平台支持下一代Internet的可编程结构。.NET的最终目的就是让用户在任何地方、时间、任何设备都能访问他们所需要的信息、文件和程序,而不需要知道具体细节。只需发出请求,然后只管接收,而所有后台的复杂性是完全屏蔽起来的。所以对于企业的IT人员来说,他们也不需要管理复杂的平台以及各种分布应用之间的工作是如何协调的。可以说从战略角度来看,Microsoft已经找到了在Internet上占据优势地位的道路。今天,Microsoft通过.NET为我们展示了一个由无数可协同运行的Web应用所构成的Internet,所有这些Web应用都来自全球服务交换网络。可以说自从微软2002年推出跨时代的.NET平台,至今不过六年时间,却在IT行业掀起了翻天覆地的变革。
  .NET的就业状况
  .NET代表了Microsoft的核心技术,也可以说是Microsoft贴在现有产品和未来产品上的一个新式行销标签。Microsoft已决定将.NET运用于其旗下的所有产品,如今MS Office已与.NET紧密捆绑,SQL SERVER 2005/2008已内建.NET SQL CLR,Microsoft的所有王牌操作系统XP / VISTA / WINDOWS SERVER 2003均已内置了.NET Framework。同时Microsoft从不满足现状,一直致力于技术的更新升级,已从2002年V1.0,2003年V1.1,2005年V2.0,2006年的V3.0到2007年的V3.5。从最初支持包括C#,VB.NET在内的十多种语言,到如今数十种支持.NET技术语言。Microsoft 的.NET技术已成为现在IT开发的首选平台。
  由于越来越多的企业纷纷采用.NET技术开发,或将现有产品移植到.NET平台上,使.NET的应用空前广泛。.NET的快捷开发,高效率,低成本的特性,已经真正给从事.NET的开发人员带来了令人欣喜的机会和强大的竞争力。市场对.NET开发人员的需求越来越大,在各大职业网站上,.NET的开发人员的职位数量已远远超出其他职位。
  从02年至今,developer职位中单就 .NET中的C#和VB.NET的就业已实现从无到60%的大幅跃进。如今搜索任何一个求职网站,.NET的职位已以绝对的数量优势胜出。以2008年3月17日星期一为例,在www.workopolis.com上搜索C#可以找到436个与之相关的职位,在monster.ca上可以搜索到398个相关职位,不能不说令人鼓舞。由于.NET Framework不同于以往的单一技术,从业人员不仅仅可从事传统的Windows上的开发,还可以从事有着无限前景的Web Site/Web Services上的开发。全球著名的戴尔公司,伦敦股票交易市场,以及加拿大著名的BMO Financial Group, Manulife Financial Group,RBC Financial,Scotia Bank 等著名公司或企业的网站和系统都是全面使用.NET的技术开发的。除了上述两个方面的就业,手机,汽车和电视机顶盒等小型设备上的应用开发,也处处可见.NET开发人员的身影。
  哪些人适合学.NET
  .NET的特点是易学,易上手。只要懂得Windows操作就可以选学,对背景要求相对较低。有高等教育背景的中国移民尤其适合。再者,学习.NET的资源充足,资料、例子应有尽有。随便在网上搜索就可以查到几百万条关于.NET的信息,学习资料信手可得。在有经验的老师指导下,你便可以迅速掌握。
  如何有效学习.Net技术并在职场脱颖而出
  微软的.NET Framework 3.5已经发布接近一年时间,但是了解这个最新的强大的编程平台的人员却寥寥无几。
  .NET是一个面向未来的高度集成的技术平台,其技术优势除了Microsoft和Partner们多年心血凝结而成的技术先进性和产品稳定性之外,对于我们要学习和应用它,并把它作为职业金饭碗的技术人员来说,应该更重视它的完整性和集成性。对.NET Framework中的SQL Server 2008,Visual Studio 2008等核心技术和Framework本身的精髓有一个全面的了解和掌握,才能充分发挥.NET平台的优势,进而提升自身的职业价值。就学习和职业准备来说,最新技术,动手实践和权威证书三位一体,相辅相成,可以起到事半功倍的效果。
  第一,要学习最新的技术
  新版的.NET Framework 3.5,SQL Server 2008和Visual Studio 2008构成了Microsoft .NET的最新核心。无论是对于准备将.NET作为自己技术优势的求职者或是已经有丰富的.NET从业经验的软件工程师来说,最新的技术都可以为你创造新的职业优势,提升你在竞争者或整个team中的地位。随着新版本的推出,旧的必然要升级,时刻保持自己在.NET的发展前沿,使自己可以充分利用公司系统升级带来的职业机遇。
  第二,学习必须和动手实践结合
  “实践是最好的学习方法”,这句话得到大多数人的认同。.NET作为商业技术平台,其目标是商业应用系统,学习.NET的目标就是能够充分利用.NET Framework的优势,快速、高质量的搭建商业应用。学习的重头戏就应该是亲手开发一个代表典型应用的,技术覆盖面比较全面的.NET应用系统,这也是.NET Co-op课程的设计理念。只有亲手做过,才有可能经历所有的步骤,掌握所有的细节。也只有亲手做过,才能在求职或工作中有信心表述自己的能力,承担更大的责任。
  第三,充分利用证书在学习和求职中的价值
  就.NET目前和将来的职业要求,证书是先行的。证书是就业市场用来衡量从业人员知识技术水平的唯一的可量化的标准。证书不但是检验自身水平的试金石,更是寻找更高更好工作的敲门砖。SQL Server作为微软.NET战略的核心产品,它和Visual Studio .Net完美地整合在一起,从Visual Studio .Net开发环境可直接连接到SQL Server。相对其它两种后端服务器产品,SQL Server的普及度更高,几乎所有采用微软技术的公司都有SQL Server的应用。一张业界公认﹑符合职业要求的证书可以让你从众多的竞争者中脱颖而出,胜过简历中洋洋洒洒的万语千言。
  获得微软认证资格就意味着,微软承认您已具备较高专业技术水平,能够运用微软开发工具、技术手段来设计开发代表一流水平的商务解决方案。毫无异议也将为你的简历添上精彩的一笔。就考证本身而言,也是对知识水平的检验。考证将涵盖所有技术层面,将会弥补自学或工作中不全面的部分,对已就职人员,在技术方面也会起到加深加强的作用。另外,考证本身也是一种北美文化。在西人大公司里,人人不忘考取各种证书,并且悬挂在显眼位置,既是炫耀也是未来升迁加薪的筹码,因为那能证明自己在努力更新知识,自然比别人更能跟上时代步伐从而更具实力。

没有评论:

发表评论