2015年快来了,你还在使用十几年前发明的uml来OOAD建模么?
那么,你落后了.
UML已经诞生有十几年历史了。但是从现在的种种迹象看,UML非但没有流行起来,反而有渐渐从开发领域隐退的迹象。
在过去的几年,主要的出版商(Wrox、Manning、Orielly、Apress等) 几乎没有再出版什么关于UML的专著,而国内也只看到一本UML大象书。出版界似乎对UML失去了兴趣。UML图在一些技术书籍中仍然存在,但通常只是作为类结构的辅助说明,占有的比例非常之小。在各种技术博客、论坛、用户组,也鲜见有人讨论UML。如果要说明某些技术概念,我发现绝大多数人宁愿直接给出代码。
主流的开发工具在过去几年有很多进步,但是在历次改进中,没有哪一个工具把“更好的支持UML”作为主要卖点。以UML为主导的开发方式似乎从未在实际开发中实现过。如果问哪些技术手段有助于开发更好的软件?回答大概不外乎:测试驱动、持续集成、迭代、Scrum Master、重构,诸如此类。没有人提起UML。
从我过去参与过的项目和从别的项目看到的情况看,使用了UML的结果无一例外:只要开始编码,所有UML图都被扔到一边,再也无人去维护它。
而且我发现一个很有意思的现象是;如果我把UML图拿出来给相关人员看,不论对方是技术人员还是非技术人员,基本上都是一脸茫然,说不出什么意见;反之。如果我拿出的是一份说明文档或者实际的代码,那么对方通常都能很快提出自己的一些想法。 结论:把UML作为交流手段似乎是行不通的。
那么,UML究竟存在什么问题?在项目开发中使用UML究竟有多大的帮助?UML还有再度流行的机会吗?
你的意见呢?
然而无论直观感觉,还是多年的研究结果都表明:在企图精确描述软件世界时,模型并不比编程语言更优越——即,在深入到一定细节后,表达等量的内容,模型和编程语言同样复杂(如果前者不是更复杂的话)。
所以以模型替代编程语言的所有努力看上去是注定会失败的。UML是所有这些徒劳无功的形象代言人。
因此,我想,只有当我们看到那些事无巨细的类图、极端精确的时序图,看到那些双向转换模型的纷繁规则,看到那些神似编程语言的“建模语言”时,我们才可以去嘲笑UML。
因为这些多少代表了UML/UP以为自负可以达到,但其实不可能达到的境地。