流程|讲案例谈体会,教你3步画好时序图( 三 )


3. 列消息找到了对象,就可以列出对象间的交互消息。为了方便你回顾 「 充值话费 」用例的实现过程,咱们先上之前已经得出的活动图。
流程|讲案例谈体会,教你3步画好时序图
文章插图
充值 APP 「 充值话费 」用例活动图
工作中,我们把流程弄明白后,就可以边理边画,将对象间的交互,从最先发起的消息,一个个从上往下依次列出。
有些消息有带参数的,可以在描述文字后注明。如下图的第 7 步,充值 APP 生成并提交订单至管理后台,可以在括号里写上订单有哪些字段信息(如订单号、手机号码、购买时间等)。
流程|讲案例谈体会,教你3步画好时序图
文章插图
充值 APP 「 充值话费 」用例对象交互时序图
在 UML 中,时序图的消息是没有序号的。使用中,我发现为每个消息加上序号,比较方便描述与阅读,一直习惯这么用。
「 充值话费 」用例的流程中,刚好有一个并行流程,即上图的第 16 至 20 步。
管理后台在返回支付结果时,还需同步向手机运营商发起充值请求,这是常见的并行流程。
因此,将其画在组合框中,表示这里面上下两部分交互是同时进行的,不分先后。
从这里不难看出,分支一多,时序图会比较难画,也不好理解。
确实,时序图不太适合表达多分支的复杂流程。因此,我们用时序图更多是描述主干流程,复杂的分支可单独抽取出来画,也可以用文字说明。
4. 经验之谈看到上面的泳道活动图和时序图,你可能会想,它们俩还挺像的,工作中究竟用哪个呢?
它们都用于描述不同对象之间的动作。不过,泳道活动图,更侧重于表达谁做了什么事;而时序图,除了强调流程中交互的消息和顺序,还表达谁对谁做了什么事。
我的体会是,遇到强调消息传递、时间顺序的,用时序图;遇到流程比较复杂、分支比较多的,用活动图。
还可以多尝试两种都画,通过不同视角来观察同一个流程,会让我们的理解更加全面、深刻。
实践中,时序图,常用于表达系统的接口请求与反馈消息,更偏向技术实现。
作为产品经理,我们可以从产品视角、操作层面,用它来表达业务流程、产品流程。
这样,开发人员也很好理解,便于他们进行系统设计。
四、总结信息量还是不少,我给你总结下。
时序图,用来描述多个对象参与实现业务目标时,彼此之间按时间顺序进行交互的过程。常见的应用场景,是在支付领域。
用好时序图,能帮我们,搞清楚业务规则、系统逻辑,提高工作效率。
1. 画时序图的方法

  1. 定目标,指定用例或业务目标展开分析;
  2. 找对象,找出参与实现目标的对象/角色;
  3. 列消息,按时间顺序列出对象的交互消息。
2. 画时序图的经验
  • 给交互消息加序号,方便阅读沟通;
  • 触发交互的对象画在最左,交互频繁的走近些;
  • 同一个流程,画不同视图,理解更全面、深刻。
时序图,是我分析流程的最爱,有段时间我经常用它,突然灵感闪现,发现了它的高阶玩法,与数据分析结合(感兴趣可看下方的系列文章)。
多加练习吧,相信它也会是你的好帮手!
UML 需求分析系列文章:
作者:四月;公众号:四月喃哗
本文由 @四月 原创发布于人人都是产品经理。未经许可,禁止转载。
【 流程|讲案例谈体会,教你3步画好时序图】题图来自Unsplash,基于CC0协议。