所在位置:UML新闻 - 内容 论坛精华    
UML: 大了,小了,还是刚好?

[2004/8/15]

UML 2.0 正在变得过于繁复。建模专家们当然不需要统一一个UML支持者的意见。但是随着微软在提供建模工具集方面消息的刺激,这方面的言论正引起了一场大争论,争论可能会对各方都是有利的:UML的未来之路究竟该怎么走?怎样进一步推广它?

Cris Kobryn,OMG的分析设计平台小组副主席,认为,“UML正在变得肥胖”。PivotPoint 技术公司的CEO,Kobryn说,UML2.0里面有15种图,常用的却只有六种:类图、顺序图、用例图、活动图、状态图和组合结构(Composite Structure),“我们要减肥了!”。

IBM的杰出工程师,OMG的UML2.0底层架构定案小组副主席,Bran Selic说,“我并不赞同这种说法”。他说,“UML面对的问题越来越复杂,你无法通过简化事情来解决这些问题”,Selic认为UML2.0也考虑了规模的问题。“我们通过组装UML2.0来解决这个问题,它被分解成很多部分,然后组装在一起,它是模块化的。规约包括有很多子语言,如事件驱动的建模和活动建模等,它们是相互独立的,这样UML的用户可以只用他选择的那个子语言就可以工作”。

但Kobryn看法却不一样,他觉得在实际的项目开发中,UML2.0工具常常导致混乱。“仔细看看这些图,你会疯掉的。比如说,组件图和组合结构图90%是相似的”,他说,“从建模的观点来看,为什么需要两个干同样事情的图?应该砍掉其中一个就对了”。

另外,活动和顺序图的子语言也是大体一样的。更复杂的是这两个混在一起,叫做交互图的这个玩意,Kobryn说,“这个语言太大了,很多人都发现了一些毛病和错误”。

Popkin公司的奠基人和CEO,OMG UML2.0定案小组成员,Jan Popkin认为,这个说法是否正确还有待考察。如果Kobryn的说法-UML2.0太胖-有水分的话,用户应该让开发商知道。他说,“UML里面有很多图,你可以发表言论,说它是可以更小的”

谁对谁错并不重要,“他们真正要问的是:UML的未来将是怎样?”,这是Popkin的看法。人们有批评是好事情,这将帮助它进步。Popkin指出,Kobryn在批评UML2.0太大上有利益考虑,“他说话的时候戴了一顶大帽子”,实际上,Kobryn的PivotPoint公司帮助他们的客户围绕UML2.0图的子集来创建模型。

Kobryn并没有确认是否他的公司在出售基于UML子集的产品,但他说,“PivotPoint 对建模语言的快速发展非常感兴趣”。

微软也参与了这场舌战。微软在5月宣布了它在Visual Studio 2005团队系统方面的计划,其中包括了建模工具集。他们定义自己的建模策略是“UML and more”,并表示,仅基于UML的工具无法精确地映射到.NET框架的CRL(公共运行时语言)。

另外,微软还指出,UML工具集并没有很好地和生命周期开发过程集成在一起。Visual Studio团队系统的一位架构师,微软的Jack Greenfield认为,尽管很多UML工具有生成代码的能力,有些还支持双向工程,在今天,UML更多的用途还是作为一种文档。


“UML图和软件的创建结合还不够紧密。”而他正在参与开发的Visual surface将是一个真正的工具,“它将可以产生我想要的东西:代码、配置文件……”

根据BZ上个月对这个观点的调查结果,至少有两种回答,一种:“画画图并不能完成项目”,还有一种是:“简单地画画UML并不能直接转换到好的代码”。 调查询问SD Times的读者们,在他们的开发团队中是否用到了UML,如果是,效果如何。58%的回答是在一些项目中有用到。但这些人中,仅有15%的回答他们在项目的全生命周期中都用到了UML。

尽管微软的建模计划偏离了UML,Popkin还没有看到他们对行业标准的违反。微软是UML标准的制订者之一,“微软帮助UML变得更有价值,并且还正在帮助UML前进,如果他们抛弃了UML,那就完全是另外一个故事了。”

(自sdtimes,UMLChina袁峰 摘译,不得转载用于商业用途)