手把手教你画活动图,再无难搞的流程分析
上次介绍了《用例图这样画,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)活动连线不要交叉
总而言之,我们用活动图,是为了帮助我们分析好流程。
请灵活使用工具,别被工具使用。
手把手教你画活动图,再无难搞的流程分析相关推荐
- python画人口迁徙图_echarts 手把手教你画迁徙图(城市内部级别+百度地图支持)2...
最近要做一个上海的迁徙图,搜到的都是 echarts 和mapv一样,有自己的API说明和demo 形式上非常相近,而且看起来功能比mapv更加完善. 另外是滴滴的一个蝌蚪迁徙图,看起来是真实轨迹的模 ...
- python画circos图_手把手教你画Circos图
导读 Circos是一个由加拿大科学家Martin Krzywinski利用perl语言开发的用于描述关系型数据和可视化多维度数据的软件.Circos凭借输入简单,不需要太多的数据处理技巧就能调整到要 ...
- r语言热图对列不进行聚类_R语言:手把手教你画pheatmap热图
R语言:手把手教你画pheatmap热图 微生态 导读: pheatmap默认会对输入矩阵数据的行和列同时进行聚类,但是也可以通过布尔型参数cluster_rows和cluster_cols设置是否对 ...
- pyecharts官网使用说明书---保姆级手把手教你画图版
pyecharts官网使用说明书---保姆级手把手教你画图版 1.画图脚本结构 2.参数的类型 3.参数与结构相结合 3.1图表函数 3.2add数据 3.3全局配置参数 3.4系列配置参数 4.总结 ...
- 七夕整活?没有难度!手把手教你画个戒指送给ta!
七夕了,整点浪漫的!虽然没有对象,但是该浪的还是得浪起来(手动狗头)! 那就送个戒指吧!看着这些好看的戒指,是不是有内味了,走起,手把手教你画一个! 一.准备工作 一款三维软件,我用的是Solidwo ...
- python画龙猫_手把手教你画龙猫,详细到每一条线!
宫崎骏老爷爷的画功简直就是美术生心中的神仙呐 今天小胖要教大家画宫崎骏笔下的龙猫! 手把手教你画龙猫,详细到每一条线! 快学起来吧~ 第一步: 在纸张的左上角画一把小伞 手把手教你画龙猫,详细到每一条 ...
- 结构专业规范大全_钢结构大全图文详解,手把手教你钢结构识图,反正我收藏了!...
钢结构大全图文详解,手把手教你钢结构识图,反正我收藏了! 钢结构是由钢制材料组成的结构,是主要的建筑结构类型之一.结构主要由型钢和钢板等制成的梁钢.钢柱.钢桁架等构件组成,并采用硅烷化.纯锰磷化.水洗 ...
- 一文打通ER图(手把手教你画)
期末了,E-R图也是大学课程设计中经常用到的,也是期末考的重点,毕竟大学生也没什么好考的,最近也有不少同学问,不少单子也扯到E-R图,但是我看了看网上的玩意好像没到手把手的地步,那么我就写一个手把手的 ...
- 思维导图学习法 手把手教你思维导图怎么画
前阵子和朋友聊天时,这才发现如今的小孩子学习压力是越来越大,头脑好一点的还能勉强读好书,脑袋瓜稍微老实点的就很吃亏了.读小学成绩还能不落下,到了初高中,成绩一差就没心思读书了. 不过后来听一培训机构的 ...
最新文章
- 沈向阳:微软每一个技术研发都会进行AI伦理道德评审
- 中国首份AI落地白皮书发布!地方政府规模大,金融领域最积极,北京供给超上海深圳总和...
- zabbix 进阶(二)
- CentOS下配置HTTPS访问主机并绑定访问端口号
- MongoDB服务重启及后台运行解决方法
- 详解Python序列解包(3)
- JS中的类,类的继承方法
- POJ培训计划2253_Frogger(最短/floyd)
- JDBC的批量查询报告内存溢出解决方法
- Eclipse for python环境搭建及创建python项目
- 生命游戏(Anylogic实现)
- 层次分析法(AHP)及源代码实现
- 浅谈SQL注入防御手段
- 如何正确安装独立显卡?图文详解教会你安装独立显卡
- Spark认知Spark环境搭建
- 压测、压力测试分析、UV、PV、通用性能提高、并发
- 森林防火综合解决方案
- Web Service 测试
- sharepoint显示不正常_正常的吸气和呼吸、异常的呼气丨胸部HRCT表现
- 如何在虚拟机操作系统CentOS 7.5上部署TiDB数据库群集
热门文章
- 华清远见重庆中心—后端基础阶段技术总结/个人总结
- 什么是内存泄漏?(面试常考)
- wordpress添加媒体_如何向您的WordPress博客添加表情符号支持
- 中间人攻击——ARP欺骗的原理、实战及防御(转载)
- pytorch搭建DCGAN
- 基于php的汽车俱乐部会员管理系统——计算机毕业设计
- 微信该服务器已饱满,微信官方:看看你们都许的什么愿望!把我服务器都干崩了...
- python装饰器使用教学,Python教程|简单上手Python中装饰器的使用
- 山东理工大学pta程序设计---实验七函数 知识点+题目
- [养静气] - 安得静心有洞天