【图形设计】手把手教你画活动图,再无难搞的流程分析

article/2025/9/22 5:32:32

编辑导语:在工作中,每当遇到复杂多变的业务,流程冗长时,可以借助活动图来分解流程。作者从四个方面分析如何画活动图,搞定流程分析。

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

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

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

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

一、认识活动图

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

二、活动图的构成

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

△ 活动图常用元素

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

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

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

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

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

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

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

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

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

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

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

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

3. 判断,用菱形表示

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

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

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

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

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

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

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

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

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

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

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

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

6. 同步,用小黑棒表示

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

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

三、活动图怎么画

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

△ 充值 APP 系统用例图

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

四、划划重点

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

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

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

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

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

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

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

1. 画活动图的方法

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

2. 画活动图请遵循

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

总而言之,我们用活动图,是为了帮助我们分析好流程。请灵活使用工具,别被工具使用。

 


http://chatgpt.dhexx.cn/article/PNUufjjO.shtml

相关文章

UML图:活动图详细介绍

活动图简介 什么是活动图(Activity Diagram) 活动图是UML用于对系统的动态行为建模的另一种常用工具,它描述活动的顺序,展现从一个活动到另一个活动的控制流,活动图在本质上是一种流程图;活动图着重表现从一个活动到另一个活动的…

活动图、类图、顺序图、状态图

目录 1. 活动图1.1 活动图的开始、结束、对象1.2 活动节点1.3 分支1.4 分岔和汇合( Forking and Joining)1.5 泳道(Swimlanes)1.6 活动图小结 2. 类图2.1 类图定义2.2 类图中常用的UML元素2.3 UML中类的表示2.4 类元素的命名2.5 关…

【UML】——活动图

一、活动图概述 1、流程图: 常被用来建立算法模型,使用流程图可以表示一个算法的执行序列、过程、判定点、分支和循环 活动图和流程图十分类似,不同之处在于它支持并行活动 活动图的缺点:很难清楚的描述动作与对象之间的关系&…

活动图与流程图区别以及各自画法

* 定义 一、流程图是流经一个系统的信息流、观点流或部件流的图形代表。在企业中,流程图主要用来说明某一过程。这种过程既可以是生产线上的工艺流程,也可以是完成一项任务必需的管理过程。 二、活动图(activity diagram,动态图)是阐明了业务…

UML——活动图

强烈推荐一个大神的人工智能的教程:http://www.captainai.net/zhanghan 在没有接触UML图的时候我们最常画的图就是流程图,通过画机房收费系统的活动图发现活动图的本质上是一种流程图,它包括的要素有开始状态、活动、判断节点、除此之外和流程…

UML--活动图

一、 概述 活动图(Activity Diagram)是描述满足用例要求所要进行的活动以及活动间的约束关系,有利于识别并行活动。它对于系统的功能建模特别重要,强调对象间的控制流程,活动图在本质上是一种流程图 二、特点 -描述一个操作执行过程中所完成的…

用例图、类图、状态图、活动图、顺序图、协作图

实验二 UML建模工具 1.实验目的 (1)熟悉StarUML等工具软件的特色及工作环境; (2)熟悉各种UML图的含义及用途;掌握利用starUML等工具绘制各种UML图的方法。 2.实验内容 (1)上网…

UML活动图

面向对象的软件开发方法的第一步&#xff1a;业务建模<--使用活动图 转载&#xff1a;https://www.cnblogs.com/xiaolongbao-lzh/p/4591953.html 活动图概述 •活动图和交互图是UML中对系统动态方面建模的两种主要形式 •交互图强调的是对象到对象的控制流&#xff0c;而…

UML图绘制(三)-----活动图的画法 一

一.什么是活动图 活动图&#xff08;activity diagram&#xff09;是阐明了业务用例实现的工作流程。 业务工作流程说明了业务为向所服务的业务主角提供其所需要的价值而必须完成的工作&#xff0c; 业务用例由一系列活动组成&#xff0c;他们共同为业务主角生成某些工件。 …

最标准的UML(活动图)画法

本人在查阅网上相关资料后&#xff0c;感觉标准都不统一&#xff0c;画什么的都有&#xff0c;所以查阅了UML参考手册&#xff0c;希望可以帮助到学习活动图的小伙伴 下述内容参考来源为《UML参考手册》 1、活动图的图标示例&#xff0c;开始节点为黑色实心圆&#xff0c;而不…

UML活动图画法详细解析

活动图基本概念 活动图是UML中一种重要的用于表达系统动态特性的图。 活动图的作用是描述一系列具体动态过程的执行逻辑&#xff0c;展现活动和活动之间转移的控制流&#xff0c;并且它采用一种着重逻辑过程的方式来叙述。 例如起床上班活动图&#xff1a; 活动图的主要组成…

使用Visio画各种可视化的流程图之活动图和状态图

一、活动图 活动图:描述了业务实现用例的工作流程。 步骤如下: 1.点击新建->类别-软件和数据库-UML活动-创建。 2.添加初始节点。 3.添加动作、判定、节点、注释等形状。 4.连接各个节点&#xff0c;并添加最后一个节点。 二、状态图 状态图:是描述状态到状态控制流&…

一张图阐述UML活动图的画法【软件工程】

文章目录 I.介绍活动图II.一图搞定活动图画法 I.介绍活动图 活动图是软件工程UML图的一个重要的种类&#xff0c;是状态图的一个变体&#xff0c;显示了系统从一个活动到另一个活动的流程&#xff0c;阐明了业务用例实现的工作流程。 活动图显示了一些活动,强调的是对象之间的…

浏览器历史版本下载地址

Google Chrome 历史版本下载&#xff1a; https://www.slimjet.com/chrome/google-chrome-old-version.php FireFox 历史版本&#xff1a; http://ftp.mozilla.org/pub/firefox/releases/ IE 历史版本&#xff1a; IE历史版本不用下载&#xff0c;直接在IE中按下F12&#xff0…

浏览器历史版本列表

Firefox、Chroem、Edge、Safari等都是全平台同版本号发布。 浏览器历史版本主要用来配合标签以及CSS属性来查看浏览器从哪一年开始支持该属性&#xff0c;从而好选择使用哪个标签以及属性。 标签以及CSS属性兼容可以参考&#xff1a;https://blog.csdn.net/lengye7/article/de…

google 浏览器下载历史版本的方法

现在的浏览器版本更新太快&#xff0c;有时我们需要下来之前的浏览器版本&#xff0c;这里来记录一下如何下载 google 浏览器的历史版本。 1.我们先确定要下载 google 浏览器的哪个版本&#xff0c;版本号是多少&#xff08;https://en.wikipedia.org/wiki/Google_Chrome_vers…

JavaIO编程之ReadLine

用Java写了一个客户端和服务器对话的小程序&#xff0c;用TCP/IP协议&#xff0c;程序运行之后&#xff0c;客户端和服务器端能连接上&#xff0c;可是彼此都收不到对方的消息&#xff0c;而且readLine()后面的代码也不执行了。。。 网上查了查&#xff0c;才知道&#xff0c;…

Java 网络IO编程总结(BIO、NIO、AIO均含完整实例代码)

转载请注明出处&#xff1a;http://blog.csdn.net/anxpp/article/details/51512200&#xff0c;谢谢&#xff01; 本文会从传统的BIO到NIO再到AIO自浅至深介绍&#xff0c;并附上完整的代码讲解。 下面代码中会使用这样一个例子&#xff1a;客户端发送一段算式的字符串到服务器…

IO编程 之 缓冲篇

涉及linux中IO编程的时候&#xff0c;我们总是不可避免地要跟各种各样的缓冲机制打交道&#xff0c;学好linux IO编程不是简单地掌握几个函数的用法就万事大吉&#xff0c;正确地运用IO需要对其缓冲机制全面的理解&#xff0c;切不可依葫芦画瓢&#xff0c;蒙混过关。 切入正题…

【蓝桥杯单片机组】两种外设访问方式:IO编程和MM编程

微信搜索&#xff1a;ReCclay&#xff0c;也可免费阅读博主蓝桥系列所有文章&#xff0c;后台回复“代码”即可获取蓝桥所有备赛代码&#xff01;关注博主公众号&#xff0c;还可拥有加入博主粉丝群实时沟通技术难题、免费下载CSDN资源等多项福利&#xff0c;还在等什么呢&…