用例图这样画,3步让你做需求分析有理有据

之前写《做产品,为什么要画这些图?》,介绍产品常用视图后,一直想深入介绍每一种图的用法,却生怕理解不到位,又不想当文字搬运工,迟迟不敢开写。

这次趁着打磨课程,逼自己猛啃几本书,结合这几年做产品的经历,总算提炼出自己的思路。

我首先要讲的是用例图,用例是UML中最重要的一个元素,后续分析流程、设计功能,都是围绕它展开的。

本文先介绍为什么要画用例图,再为你解读用例图知识,最后用一个案例演示如何画用例图。

做产品前几年,我很少画用例图,直到做数据中台,碰到的需求更复杂,我重翻《大象:ThinkinginUML》找灵感。

读到用例时,我恍然大悟,原来我放着用例这么好的法宝不用,简直暴殄天物。

后来,我从业务调研开始,用用例的分析方法,把业务研究透、描述出来,系统该做成怎样,脑海里渐渐清晰。

当然,并非每个需求都得画用例图,简单的需求完全可以不用牛刀。

用例的设计之初,是希望我们别老在系统内执着功能,而是跳到系统外,以用户的眼光看系统,思考什么情况下给什么人提供什么支持。

如果我们学会了用例图的分析思想,理解它的表达逻辑,至少能试着站在用户的角度去看问题。

开启这种视角,才不会总用晦涩难懂的术语,将用户搞晕,才能用业务方的语言去沟通,真正以用户为中心去获取需求,转化为产品服务。

练习的办法,便是按用例的规则和方法,一点点做,逐渐转变思考的方式。

这让我想起,以前给老妈换手机,要教会她使用,可让我头疼了。

后来,我反思自己,改变策略,只给她讲,她用手机会做的几件事情。

结果,她居然记住了。

发现没?功能描述容易脱离用户使用场景,让人困惑。

所以,我们要从场景出发,围绕用户在具体情况下,要做的事情,告诉他怎么做就好了。

每个讲产品经理的思维方式,都会讲系统思维。可,真能用系统思维去思考的人,可谓凤毛麟角。

究竟什么是系统思维呢?

做产品时,如果只讨论功能,就是孤立地看待产品。

产品脱离了使用者,就没有意义。只有当我们把产品和使用者都考虑进去,才算是系统的思考。

用例的本质,就是将产品和使用者当成一个系统来看。

下面一起看看用例为何物吧。

用例,是UML中用来捕获功能性需求的一种方法,它从不同视角,描述不同角色用系统/产品做什么事,即什么人做什么事。

一个用例,就是参与者为完成某个特定目标的一系列活动或功能的集合。

换句话说,用例是参与者为满足自己的期望,而完成的事情。

所以说,用例不是功能,而是由参与者驱动的,是有明确目标的,是从用户视角看问题的。

比如,人喝水,大致要做拿杯子、倒水、喝这几个动作,人喝水是用例,拿杯子却不是,因为不会有人没有目的只拿杯子。

用例图,由参与者、用例、边界和关系构成。

1)参与者,用小人表示

按官方文档的定义,参与者是在系统外部与系统交互的人或事物,可以是人、部门或系统。

产品面向的用户,也是在系统之外的参与者。

有时,系统内部也有一些人或对象,参与完成业务,这种称之为业务工人,并非参与者,需区分清楚。

2)用例,用椭圆表示

用例,表示参与者为完成某个目标的一系列活动。用例名称,以动宾短语出现,表示参与者做的事情。

用例是业务分析、需求分析、系统分析与设计过程的基本单位,粒度可大可小。

粒度的确定,一直是个难题,没有标准,只能根据实际情况分析。一个大型系统,可能会有上百个用例,一个小产品,也许只有几个用例。

这有2个经验供你参考:

独立性,一个用例有一个明确、独立的目标,如果一个用例包括多个目标,则可再逐层细化出子用例。

3)边界,用矩形表示

边界将系统内外分开,参与者在外面,用例在里面。边界内的用例,就是系统要实现的事情。

一个系统的好坏,常取决于边界是否清晰,即明确做什么、不做什么。边界内的事,是系统的任务;如没有特定条件推动,系统与外界没有联系。

设计产品时,一出现自相矛盾、疑惑的问题,往往可能是不知不觉偏离了最初的定位,跑到边界外部。

因此,做产品要多回归定位,检查产品有没有越界。一个好的产品,是界限分明的,做什么不做什么从不含糊。

4)关系,用常见的箭头连线

UML中关系挺多的,常用的有关联、包含、扩展、实现四种。

关联关系,一般由参与者指向用例,意味着参与者发起用例。当然,也有少数情况,是用例指向参与者,如推送消息,是系统自动触发用户。

包含关系,指一个用例包含了子用例,由父用例指向子用例。请注意,父用例并不等于所有子用例之和,它的范围可以大于所有子用例。子用例是一定会执行的。

扩展关系,指一个用例在某种情况下需要完成特定活动,由扩展用例指向被扩展用例。与包含关系不同,扩展是特殊分支,在特定情况下才出现的支流,如电商的订单退款。

实现关系,连接用例与用例实现,表示一个用例可以有哪几种实现方式。

5)用例表,图形之外的文字补充

除了画图,UML中用例图还会写用例表,以描述说明用例,内容包括用例名称、用例描述、参与者、前后置条件、基本流程等。

在UML中,用例图的常见类型,有业务用例图和系统用例图。

1)业务用例图

业务用例图,是从业务的视角,对业务进行描述。即描述没有新系统或产品前,业务是如何进行的。

UML使用业务用例图,旨在把业务描述清楚,发现业务问题和目标,新系统才能更好地解决问题,实现业务目标。

简单需求,很少画业务用例图;复杂需求,用这个思路分析,更好发现业务问题,保证产品需求不跑偏。

2)系统用例图

一般说用例图,默认指系统用例图,它描述参与者使用新系统或产品做什么事,从而实现业务目标。

它是从业务用例分析推导出来的,是新系统的蓝图、开发范围。

从业务用例如何分析、推导出系统用例呢?下面的案例马上讲到。

画图是为了表达、传递信息,当我们画用例图时,本质是在分析业务场景、系统功能性需求,并描述出来。

因此,与其说学如何画用例图,不如说是在学如何分析,用例图只是分析的结果。

下面,我将通过用一个简单的案例,把这个分析过程,一步步展示出来。

以手机话费充值业务为例,假设我们接到一个需求,要开发一个话费充值APP,为用户提供充值服务。

常规做法,接到需求,会想到去调研业务、研究竞品,列出功能结构图,再画流程图,很快就能画原型,写PRD。

对于简单的产品,这么做没问题。但碰到复杂的系统,就得有一套好的分析思路和方法工具。

用例图,可以帮我们从业务场景分析入手,理清业务,逐步推导出系统功能。

具体怎么做呢?我总结了这3步。

这个业务的“人”比较好找,就是普通手机用户。目标,是为了保证手机可用,得充话费。

由此,得出充值话费的几种实现方式,而我们要做一个充值APP,便是实现方式之一。

△充值话费业务用例实现

一个是充值,这个过程不能中断,一断充值就不成功,所以,可以得到一个小目标:充值话费。

一个是查结果,支付完成后,不一定马上有结果,但基本都会成功,这时用户可选择离开;还有一种场景,发现话费快用完了,查什么时候充值的。可见,查看结果目标也相对独立。

有上面的分析,我们可以把两个有完整目标的活动集合,归纳为两个业务用例:充值话费、查看结果。

再把视角缩到充值过程,充值得支付金额,而支付一般是通用的,供其他模块使用,在系统内部看相对独立,可抽出来,作为子用例。

当查看结果时,发现话费并未到账,需要联系客服处理,虽然这不多见,但偶有发生,所以是一个特殊情况下才会发生的支流,可作为扩展用例。

经过从场景到流程的分析,业务用例基本清楚。就到最关键的一步,推导出系统用例。

常用的推导方法有:映射、抽象、拆分、合并和补充等。

这容易被误以为是抄袭。实际上,如今大部分产品功能都类似,很少有完全创新的东西。如能从用例去分析,就知道为什么这个功能要“抄”,哪个不“抄”,“抄”了要不要改,改哪些。

3)拆分、合并,把一些大的用例进行拆解,或小的用例进行合并,合并类似抽象归纳。

这些都是后续系统分析、梳理系统关系、设计系统架构的基础。

为方便说明,我只简化出核心部分,并把子用例合在一起展示。

△充值APP系统用例图

至此,充值APP的系统用例图就出来了。

有这份新系统的蓝图,就可以细化前端APP和管理后台的用例,进而再分析系统流程、系统关系、设计产品功能。

这一路的分析推导下来,再画原型图、写PRD,你自然知道要写什么,设计出来的功能,也更有依据、有逻辑,不容易被人以为是靠拍脑袋的。

用例图的基本用法,到此结束了,看累了吧?没关系,我帮你小结下,记住这几条就够了。

用例是从用户视角去思考的,学会站在用户的角度去看产品,更能理解业务,表达清楚需求。

用例的本质,是场景化思维和系统思维的体现。画图的过程,实际上是在锻炼我们的思维方式。

用例图,由参与者、用例、边界、关联构成,写用例表,更完整。

用例图,常见类型有业务用例图和系统用例图。

1)分析业务场景,找出人、事、物、目标。

2)分析业务流程,细化目标,得出业务用例图。

3)由业务用例图推导出系统用例图。

常用推导方法有:映射、抽象、拆分、合并和补充等。

最后,不是所有需求都要画用例图,视情况而定。

用例作为一种需求分析方法,不管你在是否用到它,关键是理解它的分析思路和表达逻辑。

善用用例,可以提高我们在需求分析、产品设计中的理解、思考和表达能力,确保我们的输出是高效、准确、有理有据的。

THE END
1.uml用例图怎么画?看完你就知道了UML用例图是一种简单表现用户系统交互形式的图示,用于描述系统内用户和与之相关的用例之间的关系,包含系统、参与者、用例和显示这些元素关系等模型,可从用例图中获知系统不同种类的用户和用例,也经常配合其它图表使用。然而uml用例图怎么画呢?跟随迅哥一起来看看吧~~ ...https://www.liuchengtu.com/tutorial/umlyonglitu.html
2.StarUML怎么画用例图StarUML画用例图的方法还不会使用StarUML画用例图吗?下面小编就将和大家一起分享关于StarUML画用例图的方法,有需要的朋友可以来看看哦,希望可以帮助到大家。 首先,在电脑上打开StarUML软件,选择“Empty Project”,单击OK。 右键单击界面中的“Untitled”,选择"Add"→“Model”,命名为egg1。 http://www.onlinedown.net/article/10007856.htm
3.用代码画时序图!YYDS的图如下: 4.如何用PlantUML画UML用例图 什么是用例图? 用例图:用例图(use case diagram)是用户与用最常用的用户和表示,通过不同的关系。经常用图也和其他的图形来使用。 如何用 PlantUML 画 UML 用例图呢? 你可以先新建一个 PlantUML 文件,然后选择用户案例,并定义一个文件名。 https://developer.aliyun.com/article/1009111
4.UML1、1UML UML 面向对象技术教面向对象技术教程程第三章第三章 用例及用例图用例及用例图练习题及参考答案练习题及参考答案练习题:练习题:l试画出学院班级管理系统的用例图。试画出学院班级管理系统的用例图。 用例有:登录;找回密码;查看、修改、删除、录入班级基本用例有:登录;找回密码;查看、修改、删除、录入班级...https://www.renrendoc.com/paper/205718851.html
5.用例图这样画,3步让你做需求分析有理有据建议收藏我首先要讲的是用例图,用例是 UML 中最重要的一个元素,后续分析流程、设计功能,都是围绕它展开的。 本文先介绍为什么要画用例图,再为你解读用例图知识,最后用一个案例演示如何画用例图。 文章有点长,不过相信你看完,对如何做需求分析会有新的认识。 https://www.niaogebiji.com/pc/article/detail/?aid=74981
1.UML用例图怎么画?3步助你找准用户需求!用例图就是描述参与者和用例之间的关系,并帮助开发者可视化了解系统的功能,借助UML用例图,系统用户、系统分析人员、领域专家能够以可视化的方式对问题进行探讨,减少了大量交流上的障碍,便于对问题达成共识。本篇文章BoardMix博思白板分享如何绘制UML用例图。 https://boardmix.cn/article/usecasediagram/
2.如何使用eclipse画UML用例图?使用eclipse画UML用例图的方法UML的用例图是软件工程里面应用很广的一种图例,是初级的软件开发人员入门要掌握的一种图例。那么,UML的用例图是怎么画的呢?有什么工具呢?今天小编就来教大家怎么用eclipse画UML用例图;感兴趣的朋友一起去看看吧! 方法: 1、这篇经验基于的两个工具,一个是eclipse,一个是trufun plato,结合这两个工具,我们就可以...https://www.jb51.net/softjc/522587.html
3.如何画出规范的UML用例图如何画出规范的 UML 用例图 来源:阿里云开发者 阿里妹导读 如果你在做设计过程中有一些困惑,如:不会找用例、两个用例图分不清楚、不知道自己画的对不对。那么希望本文能帮助厘清上面几个问题,真正掌握用例图,在后面的设计中能运用的得心应手。 在做设计的时候你是否有以下困惑?https://blog.itpub.net/70024923/viewspace-2996993/
4.架构师基本功:如何画好一张UML用例图?架构师基本功:如何画好一张 UML 用例图? 出处:mp.weixin.qq.com 摘要目录1 从业务建模到业务用例图 1.1 a 阅读原文 xiaozi 于2024-08-14 分享12 海报分享 关联话题: #腾讯 欢迎在评论区写下你对这篇文章的看法。评论デスクトップに保存 据说喜欢分享的,后来都成了大神 知鸦日报 每日精选 提交...https://tool.lu/index.php/ja_JP/article/6wb/detail
5.创建UML用例图创建UML 用例图 可以在 Visio 中创建 UML 用例图,以总结用户 (或执行组件) 如何与系统(如软件应用程序)交互。 执行组件可以是人员、组织或其他系统。 用例图显示了系统的预期行为。 它们不显示执行步骤的顺序。 (使用序列图显示对象如何随时间而交互。)https://support.office.com/zh-cn/article/create-a-uml-use-case-diagram-92cc948d-fc74-466c-9457-e82d62ee1298
6.UML用例图的画法详细介绍软件工程软件工程用例图怎么画首先,用例图是用来描述系统功能的技术,表示一个系统中用例与参与者及其关系的图,主要用于需求分析阶段,同时它由参与者(actor)、用例(case)和容器(container)三部分组成,并具有关联(Association)、泛化(Generalization)、包含(Include)和扩展(Extend)四种关系。 https://blog.csdn.net/qq_52736131/article/details/122269057
7.UML(三)用例图UML学习机房收费之用例图 学习了UML建模语言,利用其画机房收费系统的9种图今天首先介绍用例图,那么什么叫做用例图呢?上一篇UML之九图把控大体介绍了UML今天分开来讲用例图:用来描述用户需求,从用户角度出发描述系统的功能以及功能的执行者,以及他们之间的关系。 简单来说就是这个系统都有什么用户,有什么功能,他们之间...https://www.pianshen.com/article/932045868/
8.一文带你学会UML用例图腾讯云开发者社区一文带你学会 UML--用例图 用例图的含义 由参与者(Actor)、用例(Use Case)以及它们之间的关系构成的用于描述系统功能的动态视图称为用例图。 其中用例和参与者之间的对应关系又叫做通讯关联(Communication Association)。 用例图的作用 用例图是需求分析中的产物,主要作用是描述参与者与和用例之间的关系,帮助开发人员...https://cloud.tencent.com/developer/article/1873256