uml|产品经理的思考利器——UML(7000字长文)( 二 )


通过使用UML , 这些人员能够阅读和交流系统架构和设计规划 。 (可以理解为想实现在不同世界的研发沟通时 , 达到车同轨书同文的效果)
除此之外 , 工作中还会遇到各种xxML , 都是某类领域为了方便业内交流 , 或者战略上为了制定行业标准而发明的建模语言 , 如VRML(虚拟现实建模语言) , sysML(从UML2.0衍生并进化)等
为什么要学UML?我能得到什么?在我看来 , UML更是一种思想 , 诞生之初给研发人员使用 , 但也适合产品架构师 , 系统分析师这类的角色使用 , 掌握以后有这个几个好处
好处1 思维方式的扩展UML是一种面向对象的思考方式 , 用抽象的方式去反映现实世界的某个片段 。 如果去和前文提到“用户体验要素(战略层/范围层/结构层/框/框架层/表现层)”联系的话 , UML的作用处在范围层&结构层
UML同时也是分而治之的思想的重要体现 , 在现实中也有其他类似的体现 , 比如工程测量中“先整体后局部 , 由高级到低级 , 由控制到碎部”
掌握了它 , 就可以在思考复杂问题的时候有层次有章法 , 面对再大再庞杂的系统 , 也可以逐个解开
好处2 识别“领域知识” , 跨领域沟通与学习能力的提升“领域知识”是一个元概念 , 有时候和用户/客户交流 , 你会被带入到全新的领域(不理解领域的话 , 可类比行业去理解 , 实际不太一样)中 , 和领域内的专家与客户交谈 , 他们的独有的业务经验 , 对你来讲 , 就是一个“领域知识” , 这种场景在B端业务中会更为常见 。
如果我们无法定义一件事 , 就无法注意到它 。
好了 , 我现在把定义引入进来了 , 大家可尝试在工作或生活中注意到它:
在与客户交谈时 , 注意客户描述业务实体的名词术语 , 这些名词术语会被当成「类」 , 还要注意听到的动词 , 这些动词可能会构成「类」中的「操作」 , 然后还有其他名词可能变为「类」中的「属性」 。
当梳理出来之后 , 再去询问客户每个「类」的作用 , 客户会告诉你「类」的职责 , 这样就能快速了解该领域的基础逻辑 。
就是我开篇提到的痛点 , 在学习了UML之后 , 对“领域知识”有了新的认知 , 有信心在进入陌生领域时系统的建立起认知
好处3 完全是私货 对思考的习惯有很大影响学了UML后 , 我甚至可以对人际关系有了更冷静的感知 , 比如沟通的时候 , 沟通的是你 , 你的关系 , 别人 , 还是你身上的某部分属性 , 都可以想的很透彻 , 更能接近事实和本质 , 可提高思考的深度
这种深度的提高 , 对我这种傻实在的人来说 , 很有帮助 。 或者对社会经验不太足的学生来说 , 也会有帮助
UML都包含哪些内容 , 如何快速上手?引了这么多 , 直接看UML有啥东西吧!
主要可分为如下图两大类:
1、结构元素 , 图例左半部分 , 自上而下为类图 , 接口 , 用例图 , 关系 , 分组 , 注释
2、行为元素 , 图例右半部分 , 自上而下为状态图 , 时序图 , 协作图 , 活动图
可以理解为这就是咱们现实世界的粗暴分解 , 结构和过程组成了世界上的一切 , 形成了时空
再奉上一张网上超级经典的图 , UML拆解的样例 , 这里基本用上了UML中高频使用的图例类型 , 请保存好 , 后面会持续用到
那么 , 产品同学要掌握的图有哪些?结构元素结构元素-类图类 , 是一类或者一组具有类似属性和共同行为的事物 , 映射到现实中 , 可参考我上面的那个黄颜色的图
类图(Class Diagram)是面向对象系统建模中最常用和最重要的图 , 是定义其它图的基础 , 主要是用来显示系统中的类、接口以及它们之间的静态结构和关系的一种静态模型
类图描述一个类的属性和操作 , 以及对系统的约束 。 它们是唯一的 , 可以直接映射到面向对象的语言的 UML图 。 请看详解
「类」的实例 , 叫做「对象」
类和类之间 , 也会存在相互关系 , 这个关系也有专门的标识方式 , 这里要先引入“面向对象”的一些相关概念了 , 如下图
面向对象的思考方式 , 是以开发出能够反映出现实世界某个特定片段为目标的 , 或者叫建模 。
对象是类的实例 , 比如你和我都是“人”这个「类」的实例 , 对象具有自身的结构 , 属性和操作 。
比如抽象 , 是过滤掉对象的一部分属性 , 保留解决问题所够用的属性和操作 , 因为现实生活中 , 解决问题不一定需要全部的信息
再就是继承 , 我们的电冰箱 , 电烤箱可以看成单独的「类」 , 都是电器这个「类」下的子类 , 继承了电器的“开”与“关” , 但冰箱有冷冻功能 , 烤箱有加热功能 。 对应的 , 电器这个「类」也是电冰箱电烤箱的「超类」