今天在csdn首页上看到了一篇文章(http://blog.csdn.net/qingrun/archive/2005/03/15/320157.aspx,青润观点:没有人在搞UML,中国只有搞工程的)。青润在文章里提到了一篇讨论的帖子(http://community.csdn.net/Expert/topic/3836/3836209.xml?temp=.236294,3月23日,Ivar做客CSDN,与您畅谈程序员“而立”后的成长之路,立刻参与,就有机会当面与大师交流!),我也看了一下,回复的帖子中很多都是对UP以及UML的质疑。这些质疑或者青润的这篇文章到底谁对谁错,我也说不清楚,但是我却因为这个想到了一些别的问题。
青润所说的“搞UML”,其实是研究UML的意思,UML作为一种语言有什么可研究的呢?我想更多的是研究它适用于什么样的场景使用,以及在工程中如何用UML促进各种活动的开展。当然,UML是不是合理,UML能做的事情,有没有更好的办法来做,这当然也是很重要的课题,等等吧。
其实从这个意义上来讲,中国还是有很多人在研究UML的,起码,有很多人在试图应用UML解决一些问题。当然应用的水平和程度有深有浅,但至少对于软件开发群体中的各种角色来讲,作为一种“脑力劳动者”,在应用的过程中肯定也会有一些心得的。而对 UML质疑的人那么多也能说明一些问题,我想这些质疑的人都或多或少了解一些UML,但是他们可能因为种种原因,认为UML不是解决自己所面临问题的最佳办法。
我觉得有质疑是正常的,因为UML本身并不能说是完善的,有质疑的话,可能就会推动有些人来做一些完善的工作,或者其他途径的探索。就好比在过去大家都觉得UP是一个软件团队开发过程的不二法门,但是现在也有越来越多的团队在做一些XP的实践一样。 这都是很正常的。如果一个东西大家都说好啊好,那么有两种可能,一种是这个东西真的非常好,就好比大家都觉得冯晓刚的电影拍的非常好一样;另外一种是大家根本没有了解到它的真义,看到别人喊好,觉得自己不喊实在对不起观众,于是就也跟着喊了起来,出现这种情况其实是比较可悲的。
中国人一向不缺乏质疑的头脑。实际上如果我们在google搜索一下“质疑”这两个字,就能够看到国人对于各种事情的质疑,比如“质疑”相对论,“质疑”下一代互联网,“质疑”这个明星做这件事情,“质疑”什么什么之类的,很多很多。这让我想起来了一件俗话,“人怕出名猪怕壮”,猪长肥了,也就是被屠宰的时候了。而一个人出名了,就会有各种的风言风语,质疑,等等吧。
青润在文章中提到了一个观点,就是说:你如果要毁灭它,首先要了解它。这个观点我觉得是相当精辟的。在各种质疑的背后,我们可能忽略了一个事实,提出质疑的人是否真的了解了它所质疑的事情呢?换句话说,如果你真的觉得UML有这样的缺点那样的缺点,你有没有分析过是你使用得不恰当呢,还是UML真的就有这样的问题呢?再说一个可能很伤人的看法:中国人虽然不缺乏质疑的头脑,但是却缺乏了冷静分析和总结创造的头脑。所以我们看到虽然很多事情都遭到了质疑,但是很多的质疑都仅仅停留在这个层面上而已,很少有人去想到底有什么样的办法能够让事情做得更好。
最后说一些我本人对UML的一些看法,当然我不是“搞”UML的,只是学习过UML 的一些基础知识,也做过一些这方面的应用而已。UML是用来做什么的呢?我想它至少有两个方面的作用,一是提供了一种能够让大家进行规范化表达的途径,而这种途径是以图形化的方式展现的,这就使得它足够简单明了;二是让我们从图形化的抽象中能够思考一些问题,比如为什么这样设计比较合理,而那样设计不大合理等等,因为图形化的东西很直观,我们从里面可以很明白地看出一些问题来。
UML本身肯定不是一个适合各种环境各种工程的灵丹妙药,虽然人们都在期盼它变成这样的灵丹妙药,而很多人在思想深处已经把它当成了这种灵丹妙药。当我们在实际应用中发现它有不适合的地方时候,应该想的是怎么用别的途径把这件事情做得更好。当然了,如果能够想一下,UML怎么改进就能够解决了这个问题,就更好了。