UML已经失败了吗?
UML已经诞生有十几年历史了。但是从现在的种种迹象看,UML非但没有流行起来,反而有渐渐从开发领域隐退的迹象。
在过去的几年,主要的出版商(Wrox、Manning、Orielly、Apress等) 几乎没有再出版什么关于UML的专著,而国内也只看到一本UML大象书。出版界似乎对UML失去了兴趣。UML图在一些技术书籍中仍然存在,但通常只是作为类结构的辅助说明,占有的比例非常之小。在各种技术博客、论坛、用户组,也鲜见有人讨论UML。如果要说明某些技术概念,我发现绝大多数人宁愿直接给出代码。
主流的开发工具在过去几年有很多进步,但是在历次改进中,没有哪一个工具把“更好的支持UML”作为主要卖点。以UML为主导的开发方式似乎从未在实际开发中实现过。如果问哪些技术手段有助于开发更好的软件?回答大概不外乎:测试驱动、持续集成、迭代、Scrum Master、重构,诸如此类。没有人提起UML。
从我过去参与过的项目和从别的项目看到的情况看,使用了UML的结果无一例外:只要开始编码,所有UML图都被扔到一边,再也无人去维护它。
而且我发现一个很有意思的现象是;如果我把UML图拿出来给相关人员看,不论对方是技术人员还是非技术人员,基本上都是一脸茫然,说不出什么意见;反之。如果我拿出的是一份说明文档或者实际的代码,那么对方通常都能很快提出自己的一些想法。 结论:把UML作为交流手段似乎是行不通的。
那么,UML究竟存在什么问题?在项目开发中使用UML究竟有多大的帮助?UML还有再度流行的机会吗?
你的意见呢?