技术

文涛学UML之一 每个人都说知道 每个人都不好好用的建模工具

文涛学UML之一 每个人都说知道 每个人都不好好用的建模工具

文涛学UML之一:每个人都说知道,每个人都不好好用的建模工具

NewMarTech

在小说阅读器中沉浸阅读

UML 是 Unified Modeling Language(统一建模语言)的缩写,是一套强大的软件建模工具。然而在我的同学同事朋友所生活的世界里,UML 是一个很多人都知道,但很多人在实践中都不用的东西。

说很多人都知道,很多人在实践中又不用,我有证据。

比如产品经理们常常会在白板上画个东拐西拐的大图,画完以后自己觉得很满意还要拍个照。他们画的图我见过很多,可谓包罗万象,看着像产品总体架构图,再看又像是类图,仔细一看还有状态机图的特点,再放大一看发现里头还有数据流,侧目一看还有点时序图的影子,远远望去更像是交互原型……定睛一看又什么都不是。

再比如程序员们常常对产品经理们说,你们写的那些文档都是屎,你们谁要是牛逼就学学 UML。然后有些老程序员还会有板有眼地下载一个开源软件,拖拖拽拽搞一个类图出来,然后画上各种关系,只是后来这个老程序员因为空谈误国罪离职了(我并不是影射 UML 不切实际,只是想到哪写到哪而已)。后来我们团队有一个实干兴邦的主任工程师授意一个年轻程序员花了好几天时间用 Workbench 拖拖拽拽设计数据库表结构,设计好以后我看了一眼那个工具导出的图,还就是个类图……后来实干兴邦的程序员也离职了(这似乎也证明了离职与否跟拜不拜 UML 并没有关系,然而我这次也只是想到哪写到哪而已)。

连我们商务的同学都会说,不就是 UML 吗?你看,很多人都懂一点。然而,我在这个公司呆了快三年了,接触了不少产品,至今也没有发现哪个产品是严格按照 UML 规范进行过设计,画出来过一系列完整的 UML 图。

不用 UML 的我们都在用什么呢?

我们公司的产品经理有各式各样的口味:有的人会用 Axure 做高保真原型,弄出来除了数据都是假的并且不会变之外,别的都跟真的似的,他会在图旁边写很多文字说明;有的人也用 Axure,但画的基本都是线框图,然后跟着一大堆附加文档;有的人干脆用纸笔画原型,细节全靠跟工程师说;有的人拿 Bootstrap 直接写 HTML+CSS+JS;有的人不做原型,直接拿着国家软件工程的几个文档模板写文档,各种 XRD;设计师出身的产品经理 Peter 比较牛逼,他用 Photoshop 做原型,当我问他你这图里的按钮点了以后能不能有反映时,Peter 顺手点开一个隐藏的图层说你看这是下拉菜单,我就瞬间惊呆了。

忘了说一句,上边提到的那些用 Axure/Photoshop 的高逼格产品经理,用的软件都是盗版的,为了保护他们个人和我们公司的声誉,我就不说 Peter 是谁了。当然,Bootstrap 是开源的,用它不会有什么问题,用 Bootstrap 做原型的那个人是我,当然也不全是 Bootstrap,有时也用别的框架。

工具本身没有高下之分,更犯不上抬高到道德层面。我想说的只是,每个人都有自己的习惯和以前能够的工具并没有问题,但这不利于团队对问题有一致的理解。

这些年我所感觉到身边人对 UML 有不同的看法,有人觉得它非常有用,有人觉得它已经过时。甚至有一些传奇的说法,说只要 UML 设计得好,可以用通过程序直接生成代码。

这一切都是听人说的,我并没有亲身学习和经历。

所以,在一个偶然的机会下,我决定学习 UML。皮裤技校有一门课,叫《面向对象分析与设计》,讲的就是 UML。课时不多,要掌握的话主要靠自己的实践。为了避免忘得太快,就有了「文涛学 UML」这套学习笔记。在接下来的几篇里,我会抱着分享的态度,讲讲我在这门课上学到了什么,以及,结合一个小案例,聊聊他的具体应用。

 title=

就是这个叔的这个书

http://book.douban.com/subject/21797406/

可以预见,几乎是肯定的,我的笔记会漏洞百出。

所以就靠你指正了。

neineican

每天内参,一日三餐

发送「各种号」了解微信订阅号服务号的秘密

发送「阅读数」了解阅读数点赞数的秘密

发送「工具」免费获得一篮子的微信运营实用工具

暂无评论

参与讨论