2

餐饮系统大拆解:用类图拆解员工结构与工作职责(1)

 2 years ago
source link: http://www.woshipm.com/pd/5204801.html
Go to the source link to view the article. You can view the picture content, updated content and better typesetting reading experience. If the link is broken, please click the button below to view the snapshot at that time.
neoserver,ios ssh client

编辑导语:利用类图这一方式,产品经理可以更清晰地梳理设计思路,进而推动后续方案的迭代优化,同时结合类图梳理,团队内也能降低沟通成本。具体应该如何拆解?本篇文章里,作者结合餐饮系统,对类图拆解和梳理做了案例上的总结,一起来看一下。

LIApllLQXIQcUaZ1ADkq.jpg

学了UML的知识后,还要多看案例。下面我们就来拆解餐饮系统,该系统是餐厅用的点餐、预定和外卖等业务的系统,我会分成几篇逐一拆解。

该系统大致可分为:

  1. 面向企业的:财务管理、物资管理、员工管理。
  2. 面向用户的:用户管理、交易管理(含点餐、预定、排队)、营销管理。
  3. 面向数据的,即通过数据帮助企业决策。

本次,我们梳理的是员工结构与工作职责。而你需要有《图解产品》一书的知识背景。

一、梳理人员结构与工作职责

要设计餐厅系统,就要考虑清楚该餐厅的涉众(利益相关者)有谁,以及涉众中的参与人(使用系统的人)有谁,并梳理清楚参与人的工作职责。如何梳理?

这些内容在《图解产品》一书中都有。大致方法是你需要用三个角度找全涉众,再从其中明确参与者,这些参与者就是用系统的人,这之后再通过四个调研方法找全工作职责。

下图就是我用该书方法,梳理出来的内容:

餐饮系统大拆解:用类图拆解员工结构与工作职责(1)

该图就是一个类图,表达了服务员、厨师、店经理人等之间的关系,以及他们的工作职责。如表达了服务员、厨师都是员工,并且都有姓名、地址等内容,但各自的工作又不一样,如厨师负责做菜,服务员负责送菜。

二、为什么这么梳理?

1. 指导后台的原型

后台要创建员工,那么每个员工既要有一些公用字段,更有一些特有字段。如每个员工都有年龄、性别等,但是厨师长还要有健康证、厨师等级等内容。通过该类图,就可明确后台新建员工时要填写的字段。

2. 明确要实现的业务

产品经理只有知道了每个员工的工作职责后,才能再说如何设计业务。通过这个类图,就可知道各自工作,从而再将部分工作在线上完成。

3. 方便研发的实现

类图是严谨的、无歧义的。研发也非常清楚什么是类,以及这些符号的意思,这样就便于研发构建数据库。其实这个图即使你不画,研发也会从你的原型图中抽象出来,但这样做就增加了沟通成本。

三、是否都要画?如何梳理?

1. 是否都要画?画到多详细?

这要基于目的、受众、阶段、业务复杂度等方面考虑。而本图是一个中型系统常见的内容。

该图和实战中不同的是,梳理的角色略少,没有老板、财务等角色;列出的员工信息也略少,没有列出每个员工的特殊字段。

2. 如何梳理?

梳理清楚类(厨师、服务员等)是产品经理功底的表现,这些类大致等同于职位名称,但并不总是如此。更准确地说应梳理工作职能块,而不是职位名称。

这其实是领域建模的范畴,而设计复杂中台和SaaS的核心知识就是领域建模,但限于篇幅这里不做展开。

四、符号的含义是什么?

在《图解产品》一书中用了30多页讲了类的知识(信息结构一章),你要看书才能理解为什么叫类,以及符号的含义和梳理类的方法。本文仅就书中未讲到之处做补充。

1. 继承关系

继承关系是指一个类(服务员)会继承另一个类(员工)的属性和行为。表达方式如下图。

餐饮系统大拆解:用类图拆解员工结构与工作职责(1)

在该关系中,服务员也被称为子类,员工被称为父类(超类)。子类拥有父类的所有属性与行为,但子类却有父类没有的特殊内容。

如服务员继承了员工这个类的“姓名”等内容,但服务员还有上菜这个工作(称其为操作或行为),但一般员工却没有该工作。

通过继承关系的梳理,可明确后台每类员工的公共和特殊属性有什么。

继承的另一个说法是泛化,也就是说服务员泛泛而谈就是一个员工。

2. 类的操作

类的操作就是类自己能做的事情,或者是你或他人能对类做的事情。

在本案例中,服务员能端茶送水,但却不能做菜,这就是在表明服务员这个类能做什么,不能做什么。再如,一个洗衣机你可以对他加衣服、加洗衣粉,打开开关和关闭开关等操作。

操作的画法很简单,就是在类的所有属性(姓名等就是属性)下面再加一条横线,再写上具体的操作,如写上“上菜”等。

但要注意,按照UML的标准应写作“上菜()”而不是“上菜”。括号内可加上该操作的默认值和类型(如可默认上XX菜),如不想加任何值也要用“()”来表示。

但为了便于产品经理理解,本文没有加括号。而研发则可能在括号里再加内容,产品经理通常不需要做。

五、如何做好翻译官

产品经理是个翻译官,要见人说人话,见鬼说鬼话。

上面话就是说给研发听的。当你这样说了以后,研发容易理解,也没有歧义,并可轻松转化成代码。

也许研发还会夸你一句“小子,可以啊,类图都懂”。但这样的内容如说给业务人员听,就可能被骂,说你“不画人图,不说人话”

那你就要用一些不严谨的说法,从而保护好自己。你可以说员工“包含”服务员、店经理、厨师等,他们都有性别,姓名等信息。而他们各自的工作是XXX,其中餐厅服务员可以要求酒保递送菜单等。

其实这个说法还是上图内容,只是换了个说法。而你还可将上图用脑图表达出来,这样画的又快,又便于业务人员理解。

但注意该说法中的“包含”一词并不严谨,“包含”在研发体系中有特定的含义。

好了,以上这就是用类图表达员工信息与工作。而一个类图其实是就是一种梳理业务的方法,也是一种无歧义的表达方法,这可帮助你理顺思路。而产品经理也应做好翻译官,这样才能拥有更强的话语权,并获得对方的认同。

希望本文能帮到你,我们下期见!

作者:擎苍,《“图解”产品:产品经理业务设计与UML建模》作者,公众号:图解产品设计

本文由 @图解产品设计 原创发布于人人都是产品经理。未经许可,禁止转载。

题图来自Unsplash,基于CC0协议

给作者打赏,鼓励TA抓紧创作!

About Joyk


Aggregate valuable and interesting links.
Joyk means Joy of geeK