按关键词阅读: 数据库 产品经理 crm uml
其他的可以看图 , 要解释下本图不是UML全部的内容 , 但足够本文章讲和使用了
好了 , 终于可以讲正题了!
「类」之间存在的关系 , 有如图几种 , 我们详细用图片展示
关联接触过数据库的同学对这个定义比较熟悉 , 基本等同于ER的思考逻辑使用直线表示就像「类」和「对象」的层级关系 , 「类」和「类」之间的“关联”关系 , 也是一个「类」 , 且这个「关联类」对应的「对象」叫做「链」 。
听起来有点套娃 , 但这个就是核心的思考方式了 , 可以向上抽象思考 , 也可以向下实例思考
关联讲完了 , 咱们来讲抽象 , 继承 , 泛化这三个放到一块讲 , 是他们的联系可放到一块去思考 , 在设计游戏时 , 「计时器类」是从「投球计时类」和「游戏计时类」抽象出来的 , 对应的子类用空心实线箭头指向被继承的类 , 这个箭头就是泛化关系 , 代表“is a kind of……”
好好琢磨下哈 , 然后咱们继续介绍下
接口和实现
接口跟封装可以一起介绍 , 可以理解为你在使用冰箱的时候 , 不需要知道冰箱怎么制冷的 。 只需要插电和开关冰箱门就好了 。 冰箱把制冷的细节都封装在了里面 , 给你留下了开关和插电的接口
冰箱这个「类」对应的他的开关接口 , 这之间的关系就是实现 , 使用空心虚线箭头标识
依赖用虚线单箭头表示 , 一个类使用了另一个类 , 比如在设计报表类系统时 , 会存在类似的关系 。 “展示报表”的功能 , 使用了“报表”这个类 , 有一个前置的逻辑 , 形成了依赖关系最后就是类图里的最后一块
聚集和组成这其中有点形似与混合物 与 化合物的区别 。 聚集 , 用空心菱形剪头 , 从部分指向整体 , 一种混合物的关系组成 , 用实心菱形剪头 , 代表强聚集关系 , 类似化合物的关系 , 桌子由桌面和桌腿组成 。 当然这只是为了没接触的同学好理解 , 如果有ETC精请克制自己不要自动抬杠……结构元素-用例图篇幅最长的类图介绍完了 , 接下来介绍一个也很常用的用例图 , 相对简单很多 , 跟画画一样 , 一个小人儿和一大堆气泡发生了连线的关系
用例图可以在设计系统或者需求的时候 , 理清楚实际的场景 , 排坑 。 比如设计某功能时 , 总会有一些操作场景被遗漏 , 导致进入测试阶段中了 , 才发现有问题 , 要修补 。 使用用例图 , 能很大程度上在设计阶段避免这种情况 。
小人儿就是参与者气泡就是用例二者之间使用依赖线连接 ,上面可以标记<< include>> 或 << extend>> , << include>>可理解为用例间包含的关系 , 一个用例包含了下一层级的用例 。 << extend>>可以理解为此用例还有其他场景可以使用 , 扩展出了一个入口用例图只用来标识参与者和用例的关系 , 并不代表先后顺序
用例图在交付时通常给客户和开发组参考 , 每个用例图的场景描述至少占一页文档 , 包含:
·发起用例的参与者
·用例的假设条件
·用例的前置条件
·场景中的步骤
·场景完成后的后置条件
·从用例中获益的参与者
行为元素终于大半篇幅讲完了结构元素 , 本节开始讲行为元素了 , 如果小伙伴们看麻了 , 可以收藏或者转发给自己的小号 , 后面继续看~
行为元素对于产品同学来讲 , 基本是不陌生的 , 如果经常绘制业务流程图的话 , 会发现有很多一致的地方 , 很正常 , 都是团队的沟通工具嘛
行为元素-状态图(状态机图)这种图在制作大型业务系统的时候 , 肯定会用到 , 比如我在设计CRM系统的时候 , 里面的商机就会有多种状态流转 , 就用到了这个图 。
给研发兄弟看 , 也会沟通的很顺畅 , 因为研发在实际工作中会频繁用到这里 , 他们基于这些状态去设计代码层面的调用逻辑 。 便于他们设计的时候提前规划 , 提高研发的效率 。 研发最怕的 , 是做一半了中途改了基础底层状态的设计 , 分分钟掀桌子
状态图的定义 , 可以说是对象改变了自己的状态 , 以响应事件和时间的流逝 , 比如灯的开与关 。
状态图和类图的差别 , 是状态图针对的是单个对象来建模 , 类图可以针对一组类来建模
绘制方法 , 圆角矩形代表一个状态 , 状态间带箭头的实现代表状态的迁移 , 箭头指向目标状态 。 实心圆点代表状态转移的起点 , 牛眼圆圈代表重点
记不住那么多没关系 , 有专门的工具 , 跟visio一样 , 直接找来拖就行了 , 文章末尾会介绍绘制工具
稿源:(未知)
【傻大方】网址:http://www.shadafang.com/c/1115960O12021.html
标题:uml|产品经理的思考利器——UML(7000字长文)( 三 )