所在位置:UML新闻 - 内容 论坛精华    
做减法的UML工具Architexa

[2010/7/15]

基于Eclipse的UML工具Architexa刚一发布,就得到了InfoQ、Dr. Dobb’s、SD Times等媒体的专访或介绍,各媒体赞誉有加,认为这是具有新思路的UML工具。其实有不少的工具都有自己的特点,为什么没有得到这样的待遇呢?看来,人脉和营销手段确实很重要啊。目前,UML相关的工具已经有100多种,在这个拥挤的市场里,Architexa为什么还能够引起注意?

和现有的众多UML工具不同,Architexa的宣传口号是“Know your code”,聚焦于帮助程序员更好地理解他的代码。Architexa可以将代码转成三种图:层次图、类图和序列图。也就是说,Architexa敢于做减法,聚焦于下游的工作流,是能够脱颖而出的关键。如果不敢于做减法,没有办法和IBM Rational这样的巨头以及Sparx Systems这样的新秀竞争。现有的建模工具中,确实有不同的工具各自在不同的工作流表现得较强,例如Enterprise Architect擅长业务建模、需求,UModel(还有以前的Together)擅长分析设计,Rhapsody擅长状态机建模等等,但这些工具还是强调提供全方位的建模。而且,Architexa的创始人Vineet Sinha认为,目前的工具将代码转换成模型后,信息太多,还不能帮助程序员更好理解代码。

Vineet Sinha十年前曾就职于微软。当时,分配给他的工作是给Microsoft Office的代码基添加新特性。看到Office的代码,他感到很头痛,觉得需要工具来帮他更好地理解软件的架构。后来,Sinha进入了MIT计算机科学系读博士。2005年,他在圣地亚哥的一次重要学术会议中展示了他的工作Relo项目。Relo是开发人员研究大型代码库的好工具,特别是分析开源项目的源代码。经过这次展示后,一些听众询问Sinha如何能够买到Relo的拷贝,Sinha开始有了商业化的想法。2007年,Sinha获得博士学位后,创办了同名的公司,致力于将Relo商业化,这就是现在的Architexa。目前Architexa只支持Java,将来将支持更多的语言,如C++、Ruby和PHP。

如果不做到模型即代码,确实应该不需要花时间做设计模型,而是用代码来代替设计模型,即,提供分析模型(核心领域的模型),加上典型用例的代码案例,开发人员经过学习,就可以根据已有代码案例举一反三,编写出其他用例的代码。设计工作流的UML模型则作为一种帮助了解代码的手段,通过类似Architexa的工具获得。

为期三天的代码生成大会Code Generation 2010在伦敦结束。代码生成(Code Generation)还是模型解释(Model Interpretation)?这是一个长期争论的主题。

(UMLChina,不得转载用于商业用途)