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



聚集和组成这其中有点形似与混合物 与 化合物的区别 。 聚集 , 用空心菱形剪头 , 从部分指向整体 , 一种混合物的关系组成 , 用实心菱形剪头 , 代表强聚集关系 , 类似化合物的关系 , 桌子由桌面和桌腿组成 。 当然这只是为了没接触的同学好理解 , 如果有ETC精请克制自己不要自动抬杠……结构元素-用例图篇幅最长的类图介绍完了 , 接下来介绍一个也很常用的用例图 , 相对简单很多 , 跟画画一样 , 一个小人儿和一大堆气泡发生了连线的关系
用例图可以在设计系统或者需求的时候 , 理清楚实际的场景 , 排坑 。 比如设计某功能时 , 总会有一些操作场景被遗漏 , 导致进入测试阶段中了 , 才发现有问题 , 要修补 。 使用用例图 , 能很大程度上在设计阶段避免这种情况 。

小人儿就是参与者气泡就是用例二者之间使用依赖线连接 ,上面可以标记<< include>> 或 << extend>> , << include>>可理解为用例间包含的关系 , 一个用例包含了下一层级的用例 。 << extend>>可以理解为此用例还有其他场景可以使用 , 扩展出了一个入口用例图只用来标识参与者和用例的关系 , 并不代表先后顺序
用例图在交付时通常给客户和开发组参考 , 每个用例图的场景描述至少占一页文档 , 包含:
·发起用例的参与者
·用例的假设条件
·用例的前置条件
·场景中的步骤
·场景完成后的后置条件
·从用例中获益的参与者
行为元素终于大半篇幅讲完了结构元素 , 本节开始讲行为元素了 , 如果小伙伴们看麻了 , 可以收藏或者转发给自己的小号 , 后面继续看~
行为元素对于产品同学来讲 , 基本是不陌生的 , 如果经常绘制业务流程图的话 , 会发现有很多一致的地方 , 很正常 , 都是团队的沟通工具嘛
行为元素-状态图(状态机图)这种图在制作大型业务系统的时候 , 肯定会用到 , 比如我在设计CRM系统的时候 , 里面的商机就会有多种状态流转 , 就用到了这个图 。
给研发兄弟看 , 也会沟通的很顺畅 , 因为研发在实际工作中会频繁用到这里 , 他们基于这些状态去设计代码层面的调用逻辑 。 便于他们设计的时候提前规划 , 提高研发的效率 。 研发最怕的 , 是做一半了中途改了基础底层状态的设计 , 分分钟掀桌子
状态图的定义 , 可以说是对象改变了自己的状态 , 以响应事件和时间的流逝 , 比如灯的开与关 。
状态图和类图的差别 , 是状态图针对的是单个对象来建模 , 类图可以针对一组类来建模
绘制方法 , 圆角矩形代表一个状态 , 状态间带箭头的实现代表状态的迁移 , 箭头指向目标状态 。 实心圆点代表状态转移的起点 , 牛眼圆圈代表重点
记不住那么多没关系 , 有专门的工具 , 跟visio一样 , 直接找来拖就行了 , 文章末尾会介绍绘制工具

下图是基于工单类的审批流程绘制的状态图

行为元素-时序图时序图 , 也叫顺序图 , 强调了时间维度 , 时序图的关键思想是强调了对象之间的交互按照特定时间发生 , 这些特定时间的交互序列 , 从开始到结束需要一定的时间 。
时序图通常用对象标识 , 从每个对象下方延展出一条生命线 , 一个时序图可以用单个或者多个如下单元组成

每个线程对象之间可以用消息通信 , 有两类
一类消息叫调用 , 这是一个来自消息发送者对象的请求 , 它被传递给消息的接收对象 , 请求接收者对象执行某种操作 。 通常 , 需要发送者等待接收者执行 , 等待反馈 , 这种消息又叫做同步消息 。