上次介绍了《用例图这样画,3步让你做需求分析有理有据》,这次聊聊活动图。

也许你对活动图并不了解,不过,说起流程图,想必你不会陌生。你可以暂且把活动图,看成 UML 中的流程图。

都知道,做产品要分析流程,可怎么把流程理清楚呢?当然不能凭空想象,而应该借助分析工具。

每当遇到复杂多变的业务,面对冗长的流程,我总会拿出需求分析工具箱,从中挑选合适的工具。用得最多的,非活动图莫属。

一、认识活动图

之前在《做产品为什么要画这些图?》谈到, UML 将视图分为静态视图和动态视图。

静态视图,描述产品的结构特征,即产品由什么组成的、能做什么、长什么样。例如,手机由屏幕、外壳、摄像头、电池、芯片等组成,能用来打电话、上网。

动态视图,描述产品的行为特征,即产品是怎样运行,或如何使用。例如,我们要解锁打开手机,得做输入密码,或识别指纹、人脸等操作。

活动图,是常用的动态视图之一,用来描述产品中具体对象,在具体场景下,如何使用产品,或参与实现目标的过程。

所谓对象,是指与产品相关的人或事物,如用户、运营人员、APP、后台系统等。

换句话说,活动图描述的是,谁在什么情况下,如何做特定的事情。

画活动图是为了分析流程,借助可视化的工具,描绘现实世界中具体事情的运转过程(常说的业务分析),输出既方便人们理解,又便于计算机开发实现的内容。

同样用于流程分析,流程图与活动图有啥区别呢?

流程图历史更悠久,使用范围更广,业务人员容易理解。

不过,或许是年代久远,而且画图元素较多,它的画图规范,要么被忽视,要么说法不一,想画出一个标准的流程图,也不容易。

在工作中,经常发现有人画流程图,容易出现把状态当成动作、操作对象不明确等问题。

以请假审批流程为例,看看这两种情况,你是否见过。

△ 请假审批流程图的常见问题

活动图的元素不多、规范明确,在 UML 的官方文档中有清晰的定义,方便学习。

比方说,它贴心规定活动名需用动宾短语,避免了上述流程图的常见问题。同时,活动图有同步的画法,能很好地体现并行流程。

因此,我最常用活动图来描述流程,一起看看它的用法吧。

二、活动图的构成

活动图由起始点、活动、判断、泳道、执行顺序、同步、结束点构成。

△ 活动图常用元素

1、起始与结束,有头有尾才完整

一个活动图开始,会先画一个起始点,用实心圆表示。流程结束处,再画上结束点,用同心圆表示。

这样的活动图更为完整,有头有尾,阅读者一看便知从哪开始,在哪结束。

需注意的是,起始点只有一个,结束点可能有多个。

如有多个结束点,我习惯尽量把线连接到同一个结束点,让整个过程看起来像一个闭环,简洁一些。

2、活动,用圆角矩形表示

每个活动,即具体对象做的操作,用圆角矩形表示,里面写上活动名称,活动名用动宾短语描述。

如输入手机号码、点击支付按钮等,为 动词+名词 的动宾组合。

假如一个活动图中有多个执行对象,又没用泳道区分,则需要写清楚是哪个对象做了什么动作,以便阅读理解。

如用户输入手机号码、运营人员点击退款等,为 主语+动词+名词 的主谓宾组合。

还有个细节常被忽视,即圆角矩形的两边是半圆,与流程图、状态图的画法不同。

△ 活动图与流程图、状态图的区别

3、判断,用菱形表示

活动的执行过程中,遇到需要判断的地方,则用菱形来表示,这也是流程产生分支的地方。

关于判断的内容(如审批是否通过、支付是否成功等),有的写在菱形内,有的写在菱形外,有的干脆没写。

个人觉得不必拘泥于形式,有写判断内容,会更清楚;如字数少,菱形内能写,会更简洁;如写不下,则写在菱形外。

总之,做到统一即可。如一处写在菱形外,则全部写在外面;别有的写在里面,有的写在外面。

4、泳道,用矩形划分区域

活动图中如有多个不同对象执行的动作,一般会增加泳道来描述各个对象的执行过程。

泳道用矩形来划分区域,矩形上方写明对象名称。

泳道,顾名思义,跟游泳比赛的运动员只能在其泳道中游泳一样,规定每个对象的动作只能画在其对应区域。

泳道活动图,即增加了泳道的活动图,用来梳理、描述有多个对象参与的流程,对象可以是人或部门,也可以是系统。

它可以很好地体现流程中不同参与对象所做的动作和顺序。

5、执行顺序,带箭头连线

执行顺序,与流程图一样,用带箭头的连线,将不同活动按顺序连接起来。

6、同步,用小黑棒表示

同步,用一条小黑棒来表示,可以摆竖,也可以摆横。这是活动图的特色,使之能描述并行流程。

不管业务流程,还是系统流程,偶尔会碰到同时触发动作,或要等全部执行完才开始下一步的情况,同步这一方法,能很好地描述这些流程。

三、活动图怎么画

如果你画过流程图,画活动图很容易上手。

下面以之前的手机话费充值 APP 为例(此案例详见《用例图这样画,3步让你做需求分析有理有据》),来介绍我总结的方法。

1、明确目标,找对象,识操作

之前谈到,用例图是参与者为完成特定目标的一系列活动或功能集合。说白了是,什么人做什么事。

活动图,正是描述用例实现过程的这些活动,即什么人如何完成这些事。

因此,画活动图,得从用例图开始,根据每一个用例来展开。

如果你没有画用例图,也没关系,但要围绕特定目标来展开,也就是分析的流程,是谁为了完成什么目标。

如果可以,最好拉上与分析主题相关的人,边确认边梳理;如若不能,可先找他们调研,再绘制。

你可以找一块白板,或一张白纸,或打开画图软件(如 Visio ),把参与流程的人或系统写出来。

在脑海里,一步步推演,把他们每一步操作记下来,每一步就是一个活动,活动名是动宾短语。

首先,找出提出服务请求的活动,即活动图的起点。接着,再找出服务被满足、目标被完成时的活动,即结束动作。然后,逐步完善中间的活动。

以案例中的微信手机充值业务为例,我是从用户的视角,围绕用户实现话费充值的目标来展开,记下用户所执行的操作。

△ 用户视角下的微信手机充值活动图

以充值 APP 为例,之前分析得出,充值得有运营商支持,支付对接微信支付、支付宝,协助用户处理未到账,还需有运营人员介入;整个充值 APP ,还应包括后台管理系统。

以“充值话费”用例,就有用户、充值 APP 、管理后台、手机运营商这几个对象参与了实现充值的过程。

找到参与对象后,就能把这些对象执行的操作列出来。

△ 充值 APP 系统用例图

2、勾勒脉络,先主干,后分支

相信不少人画流程,都遇过越画越乱、分支越多的情况,这是没按上述所说,围绕用例或为特定目标来展开。

一个活动图,建议只有一个目标,如果有多个目标,建议拆分成多个图,这样每个图才不至于太复杂,自己不会画晕,别人不会看懵。

此外,重点还要,先勾勒出主脉络,先把主干流程理出来,再逐步完善分支流程。

梳理主干时,要避免陷入细节,等把核心操作找出来,再补充相关细节。

如有的分支比较复杂,或相对独立,可再拆分成子流程单独画,而在主流程中,只写进入某某流程即可。

常见的分支,一般有审核、异常情况,多是遇到需要判断之后产生的。

画图时,一般遵循从上往下、从左往右的顺序。

△ 充值 APP “充值话费”用例活动图主干

3、调整布局,边推演,边检查

主干分支都完成了,还得根据版面,调整优化活动或泳道的摆放位置,让图更容易阅读。

请注意,尽量确保连线不要交叉。

连线一旦交叉,整个图会变复杂,执行顺序容易看错,阅读体验很不好。

我一般习惯每个活动占用一行,效果简洁一些。如果活动较多、版面有限,可以适当调整。

但尽量保持从上往下、从左往右的顺序,活动之间居中或水平对齐,连线不要交叉。

△ 充值 APP “充值话费”用例泳道活动图

绘图的过程,要在自己脑海里边画图、边推演,相当于把流程操作过一遍。

之后,再换换视角,退后几步,放大视野,全局去检查整个流程。

这有点像写文章,写完要自己通读几遍。

推演和全局检查,往往能帮我们发现流程是否合理、是否顺畅、是否有遗漏等问题。

最后,还要把画完的活动图,拿去找相关人员(如业务、运营、销售、开发等)沟通,确认流程表达无误、双方理解一致。

四、划划重点

活动图的画法,相对简单,很多人画过流程图,用起来并不难。

啰嗦这么多,是想让你知道其常用元素的意思,掌握画图的思路,明白画图的本质。

我们通过一个个活动,把流程梳理并描述出来的过程。

实际上,是在将脑海里原本模糊、杂乱在的思路理清,使之变得更加清晰、有序。

同时,我们把各自对流程的理解,落实到纸上、屏幕上。

相当于把脑中的想法,变成实实在在的图片,这才有了沟通、讨论的内容基础,更容易达成共识,甚至发现问题、优化流程。

最后,我再给你划划重点:

1、画活动图的方法

  • 1)明确目标,找对象,识操作
  • 2)勾勒脉络,先主干,后分支
  • 3)调整布局,边推演,边检查

2、画活动图请遵循

  • 1)从上往下、从左往右的顺序
  • 2)活动之间尽量对齐
  • 3)活动连线不要交叉

总而言之,我们用活动图,是为了帮助我们分析好流程。

请灵活使用工具,别被工具使用。

手把手教你画活动图,再无难搞的流程分析相关推荐

  1. python画人口迁徙图_echarts 手把手教你画迁徙图(城市内部级别+百度地图支持)2...

    最近要做一个上海的迁徙图,搜到的都是 echarts 和mapv一样,有自己的API说明和demo 形式上非常相近,而且看起来功能比mapv更加完善. 另外是滴滴的一个蝌蚪迁徙图,看起来是真实轨迹的模 ...

  2. python画circos图_手把手教你画Circos图

    导读 Circos是一个由加拿大科学家Martin Krzywinski利用perl语言开发的用于描述关系型数据和可视化多维度数据的软件.Circos凭借输入简单,不需要太多的数据处理技巧就能调整到要 ...

  3. r语言热图对列不进行聚类_R语言:手把手教你画pheatmap热图

    R语言:手把手教你画pheatmap热图 微生态 导读: pheatmap默认会对输入矩阵数据的行和列同时进行聚类,但是也可以通过布尔型参数cluster_rows和cluster_cols设置是否对 ...

  4. pyecharts官网使用说明书---保姆级手把手教你画图版

    pyecharts官网使用说明书---保姆级手把手教你画图版 1.画图脚本结构 2.参数的类型 3.参数与结构相结合 3.1图表函数 3.2add数据 3.3全局配置参数 3.4系列配置参数 4.总结 ...

  5. 七夕整活?没有难度!手把手教你画个戒指送给ta!

    七夕了,整点浪漫的!虽然没有对象,但是该浪的还是得浪起来(手动狗头)! 那就送个戒指吧!看着这些好看的戒指,是不是有内味了,走起,手把手教你画一个! 一.准备工作 一款三维软件,我用的是Solidwo ...

  6. python画龙猫_手把手教你画龙猫,详细到每一条线!

    宫崎骏老爷爷的画功简直就是美术生心中的神仙呐 今天小胖要教大家画宫崎骏笔下的龙猫! 手把手教你画龙猫,详细到每一条线! 快学起来吧~ 第一步: 在纸张的左上角画一把小伞 手把手教你画龙猫,详细到每一条 ...

  7. 结构专业规范大全_钢结构大全图文详解,手把手教你钢结构识图,反正我收藏了!...

    钢结构大全图文详解,手把手教你钢结构识图,反正我收藏了! 钢结构是由钢制材料组成的结构,是主要的建筑结构类型之一.结构主要由型钢和钢板等制成的梁钢.钢柱.钢桁架等构件组成,并采用硅烷化.纯锰磷化.水洗 ...

  8. 一文打通ER图(手把手教你画)

    期末了,E-R图也是大学课程设计中经常用到的,也是期末考的重点,毕竟大学生也没什么好考的,最近也有不少同学问,不少单子也扯到E-R图,但是我看了看网上的玩意好像没到手把手的地步,那么我就写一个手把手的 ...

  9. 思维导图学习法 手把手教你思维导图怎么画

    前阵子和朋友聊天时,这才发现如今的小孩子学习压力是越来越大,头脑好一点的还能勉强读好书,脑袋瓜稍微老实点的就很吃亏了.读小学成绩还能不落下,到了初高中,成绩一差就没心思读书了. 不过后来听一培训机构的 ...

最新文章

  1. 沈向阳:微软每一个技术研发都会进行AI伦理道德评审
  2. 中国首份AI落地白皮书发布!地方政府规模大,金融领域最积极,北京供给超上海深圳总和...
  3. zabbix 进阶(二)
  4. CentOS下配置HTTPS访问主机并绑定访问端口号
  5. MongoDB服务重启及后台运行解决方法
  6. 详解Python序列解包(3)
  7. JS中的类,类的继承方法
  8. POJ培训计划2253_Frogger(最短/floyd)
  9. JDBC的批量查询报告内存溢出解决方法
  10. Eclipse for python环境搭建及创建python项目
  11. 生命游戏(Anylogic实现)
  12. 层次分析法(AHP)及源代码实现
  13. 浅谈SQL注入防御手段
  14. 如何正确安装独立显卡?图文详解教会你安装独立显卡
  15. Spark认知Spark环境搭建
  16. 压测、压力测试分析、UV、PV、通用性能提高、并发
  17. 森林防火综合解决方案
  18. Web Service 测试
  19. sharepoint显示不正常_正常的吸气和呼吸、异常的呼气丨胸部HRCT表现
  20. 如何在虚拟机操作系统CentOS 7.5上部署TiDB数据库群集

热门文章

  1. 华清远见重庆中心—后端基础阶段技术总结/个人总结
  2. 什么是内存泄漏?(面试常考)
  3. wordpress添加媒体_如何向您的WordPress博客添加表情符号支持
  4. 中间人攻击——ARP欺骗的原理、实战及防御(转载)
  5. pytorch搭建DCGAN
  6. 基于php的汽车俱乐部会员管理系统——计算机毕业设计
  7. 微信该服务器已饱满,微信官方:看看你们都许的什么愿望!把我服务器都干崩了...
  8. python装饰器使用教学,Python教程|简单上手Python中装饰器的使用
  9. 山东理工大学pta程序设计---实验七函数 知识点+题目
  10. [养静气] - 安得静心有洞天