本月是对象管理集团(OMG)采用统一建模语言(UML)作为官方规范的15周年纪念。虽然有时候有争议,但是UML已经在现代应用程序建模中发挥了很大作用。
在UML之前,面向对象分析和设计的世界被许多竞争对象方法所超越。UML在很大程度上是由对象方法论者Jim Rumbaugh, Ivar Jacobson和Grady Booch合作创立,他们在20世纪90年代中期在瑞理软件公司(Rational Software)一起工作,现在是IBM的一部分。
瑞理软件公司事实上已经就标准提交向OMG RFP作出回应。在各种输入后(最终UML的符号为居中的“boxes”代表类,而不是Booch的原始“clouds”)1997年9月25日通过OMG的OA&D(对象分析与设计)特别小组一致投票推荐采纳UML。
今天,它用于模型结构并作用于遍及许多行业不同的软件系统。从小公司到大公司,UML是许多模型工具的基础。在2008年,微软对UML迟来的怀创造出各种各样的里程碑(不低于创始人比尔•盖茨在他最后一次的技术大会主题演讲中宣布的)。
UML越来越强大
如果你看一下UML出现之前,有一个广泛的大多是互不兼容的建模选项,Eclipse基金会的执行董事Mike Milinkovich说,原因是人们对开源软件的合作。“UML在将一个相当破碎的社区整合起来, 并创建一个每个人都可以参照的标准”,他说。“它使整个模型社区可用,包括在这里的开源社区。”
OMG总裁William Hoffman很好的记住了UML的根源_丰富的建模方法时代。“这是揭示‘哪一种语言是面向对象的语言’战争的后续战斗,”他说。“它成为设计和方法的战争。”
这些年来,UML增加了额外的元素,其中许多支持嵌入式系统和模型驱动的代码生成。现在有些人想知道它是否已被要求做得太多。
Ovum公司的高级分析师Tony Baer,说,UML已经成长并改变——但并不总是更好的。例如,他指出,UML 2.0变得如此复杂,在他看来,它的可用性变得远不及以前。“其实很多人使用UML今天依靠原来的UML规范,”他说。
尽管如此,UML还是有许多让人敬佩的。可以说它已经预示着在应用程序开发标准上更广泛的承诺——在今天这比在20世纪90年代中期的时候显著。
“这在软件工程中是一个特别活跃的时期,有来自许多其他方法论强有力的思想”,Grady Booch(目前IBM研究院的软件工程的首席科学家,IBM院士)在一份声明中指出”。
Baer表示:“这是一个罕见的案例,由几个在同一公司的人提交的一个行业标准,实际上赢得了一群竞争对手。他说,UML走过了一个应用程序开发的创新浪潮,在20世纪90年代初的这种情况下,跟随着客户端服务器计算的发展。
“一旦我们从绿色屏障中得到自由,出乎意料的得到一个巨大的发展,”他说。当时,引人注目的还有,尽管无休止的炒作,计算机辅助软件工程(CASE)已经失败。
“CASE是一个自上而下的灾难,但有些人认为,也许它包括部分的模型概念,可能有益于探索,”他说,并且,尽管自我和利益相冲突,“IBM,微软,甲骨文其实同意了。”
随着时间的推移,虽然UML已经纳入了许多扩展和配置文件,但是有些已经比不上其他的成功了。Baer指出,系统建模语言(SysML),一个通用的建模语言系统,直接继承于UML,已经是“一个空前成功的故事,”他说。
OMG的Hoffman说,有些众多的UML扩展是OMG开放式规范过程的副产品。“我们的规范过程是开放的,”他说。“UML向着社会希望它发展的方向发展去的。实际上,我们非常满足的看到从初期的做图到现在它的所有扩展使用。”
“UML 2.0是一个比UML 1.1更大的语言,模型驱动的解决方案公司的模型驱动架构服务副总裁Ed Seidewitz说,“无论是否过大都是一个主观判断。”
这个语言不需要软件架构师使用它的全部内容,他指出,不同的人使用不同的部件。
“大多数人不使用全部语言。也很少有不被人利用的,”他说。“最关键的事情是,你可以有一个大的语言,并且你不必使用整个语言。”
UML仍然有增长空间,并且有时它已被定位为诅咒敏捷开发。Baer说,作为他的部分,由于开发和交付速度和敏捷开发部门的压力,UML的采用受挫。“人们急于避免分析瘫痪,”他说,“这使得UML停滞。”
“对于许多人来说,UML是如何定义自己的模式,他们喜欢画视觉效果图和使用活动图,这是UML的一部分,Macro Modeling公司总裁兼Eclipse建模项技术总监Ed Merks说。
“当然,有很多的机构,喜欢UML,并把它看作是一个重要的标准,并利用它来描述他们的信息,描述他们正在尝试做并用可视化的方式与其他建筑师分享的事情,并完全指定需要实现什么,”Merks说。
但还有改进的余地。例如,Merks斥责OMG不接受的参考实现,他说的一些东西伤害了UML。例如,他说,“每个人都实现了XML的序列化和反序列化,但是通过他们自己的努力和一些不完全确定的事情,所以大家都按照他们自己的方式做,因此,它在供应商之间定义交换格式相当困难。”
展望UML 2.5
UML的下一步是2.5版本,它的出现旨在解决一些问题。一个主要目标是简化。 “UML 2.5规范使工具制造商和供应商更容易了解,从不同的供应商那里成为完全符合的工具,更一致和可互操作,”OMG的CEO Richard Soley说。
他预测,UML 2.5的发展,作为整体工作的一部分,使UML生态系统,更好,更精确,更可用。
UML是一个大而复杂的语言,而且作出根本的改变是很困难的。即将发布的新版UML 2.0“实际上并没有简化UML,它正在简化规范,”Ed Seidewitz说,这是一个工作组的一员,思考着近期和较长期UML的变化。“UML社区考虑的是,在短期内,我们至少可以使规范更有用——更清晰,更一致和更正确。”
展望未来,UML 2.5“为UML的未来变化或增强功能提供坚实的基础”,Richard Soley说。回顾之前,OMG的Bill Hoffman说:“这是一个很好的旅程。”
我们一直都在努力坚持原创.......请不要一声不吭,就悄悄拿走。
我原创,你原创,我们的内容世界才会更加精彩!
【所有原创内容版权均属TechTarget,欢迎大家转发分享。但未经授权,严禁任何媒体(平面媒体、网络媒体、自媒体等)以及微信公众号复制、转载、摘编或以其他方式进行使用。】
微信公众号
TechTarget
官方微博
TechTarget中国
相关推荐
-
ThoughtWorks技术雷达:直指四大趋势
今天随着智能硬件、 IoT、云计算等等新技术的兴起,使得产品与技术结合在了一起,如产品都嵌入也芯片传感器;另外,商业的创新也完全由技术驱动。
-
读懂开源模式的优缺点
开源云计算消除了供应商的限制和壁垒,但是这些优点是以提供商支持成本为代价的。因为这些缺点和优点,开源软件使企业陷入了两难的境地。
-
为什么Docker成为虚拟化与云计算领域的新宠儿?
又是一年OSCON大会,今年云基础设施成了所有技术人士最为关心的热门词汇。而其中最炙手可热的新兴项目正是Docker,这款超轻量化集装箱式应用可谓充满发展潜力。
-
开源软件真的会对非盈利组织不利吗?
根据一个非盈利的软件解决方案提供商的主管的说法,对于非营利组织来说,开源软件/自由软件可能不是最佳的解决方案。