電(diàn)商(shāng)O2O后台产(chǎn)品对接设计的主要内容
终于到了产(chǎn)品经理(lǐ)自由发挥的主战场,产(chǎn)品设计环节。当我们明确了产(chǎn)品目标,完成业務(wù)需求的对接后,接下来就开始进行产(chǎn)品方案的设计。

不同于C端产(chǎn)品,后端产(chǎn)品设计的重点在于业務(wù)逻辑和流程,其次是操作(zuò)效率體(tǐ)验,前端界面几乎是最次要的部分(fēn)。

我最开始做后台的时候,以為(wèi)和C端一样只需要画原型,附带一点流程图就可(kě)以了,然后发现原型根本无从下手。后来,我总结出了十个步骤,作(zuò)為(wèi)我自己做后端产(chǎn)品设计的方法。这些步骤是以比较完整的角度设计一个业務(wù)模块,一般的一小(xiǎo)个页(yè)面或流程,可(kě)以省略中(zhōng)间几步。

在此以我接触过的一个電(diàn)商(shāng)/O2O领域的供应链系统為(wèi)例,描述一下从0到1设计系统的采購(gòu)模块需要如何进行。

1. 确定业務(wù)名(míng)词的定义
这是第一步,先要知道我们即将做的是一个什么东西,以及这项业務(wù)中(zhōng)会涉及到哪些业務(wù)名(míng)词,他(tā)们在实际业務(wù)中(zhōng)是什么意思,和在系统中(zhōng)如何定义。

如果系统没有(yǒu),那需要从0开始定义。

比如说在供应链系统中(zhōng),仅仅是和库存相关的词就有(yǒu)可(kě)用(yòng)库存、在途库存、冻结库存、良品、不良品、废品、库房、库區(qū)、库位等等,如果一开始不定义清楚,后面就会一脸懵逼。

2. 确定这项业務(wù)中(zhōng)参与的人员角色
通过和业務(wù)方的对接,确定有(yǒu)哪些不同的角色参与到了这项业務(wù)中(zhōng),每个角色做什么事情,并明确不同角色之间权限的边界,避免出现职责混乱。

这个环节看似简单,但需要在对接业務(wù)需求的时候就考虑清楚。此外,有(yǒu)些角色的参与可(kě)能(néng)会涉及到其他(tā)产(chǎn)品線(xiàn),这种情况下需要在其他(tā)系统中(zhōng)同步这项业務(wù)。

在这里引入UML图,具(jù)體(tǐ)定义自行百度。

UML图我所知道的很(hěn)多(duō)公(gōng)司都不要求画这个,但可(kě)以作(zuò)為(wèi)产(chǎn)品经理(lǐ)在后台产(chǎn)品设计过程中(zhōng)的帮助。在这一步可(kě)以产(chǎn)出UML中(zhōng)的用(yòng)例图。

举例,在供应链系统的采購(gòu)业務(wù)中(zhōng),会涉及到的角色如下:采購(gòu)人员,负责采購(gòu)下单,跟进供应商(shāng),做账结算;库存计划员,负责计算库存需求预测并提交采購(gòu)申请;供应商(shāng),负责接受采購(gòu)单进行发货;仓管人员,负责收货入库;质(zhì)检人员,负责对采購(gòu)的商(shāng)品质(zhì)量检验;财務(wù)人员,负责根据账单打款。

这其中(zhōng),由于财務(wù)的参与,需要将采購(gòu)结算信息同步至财務(wù)系统。

3. 梳理(lǐ)整个业務(wù)的核心流程;
核心流程是整块业務(wù)中(zhōng)那几个重要的环节,确定了角色后,可(kě)以将核心业務(wù)环节按照正向流程画出来。这里的流程图不用(yòng)特别细,只画重要环节,即核心事项的走向,并标明事项的角色。具(jù)體(tǐ)的判断、变化、异常等后面再说。

下图為(wèi)采購(gòu)业務(wù)的核心流程图:
4. 根据核心流程梳理(lǐ)核心数据的流动规则;
这一步是重点。在電(diàn)商(shāng)、O2O等交易型的公(gōng)司中(zhōng),订单、库存、成本、收入这些就是核心数据。事实上流程本身不难梳理(lǐ),核心业務(wù)数据才是系统数据正确的保证。

这一步需要理(lǐ)清整个流程中(zhōng)哪些数据会产(chǎn)生变化,分(fēn)别在哪个环节发生,如何加如何减,具(jù)體(tǐ)数字是多(duō)少,计算规则又(yòu)是什么,之后的环节又(yòu)流转到哪里。

比如说供应链系统,核心在于库存流和资金流,所以每个流程都需要明确这两个数据,库存的入库、出库、冻结、在途都是什么规则,在哪一步发生;每次入库出库时库存的金额是多(duō)少,收入和支出又(yòu)如何计算。

在采購(gòu)模块中(zhōng),首先是库存,通常是将最后一步入库作(zuò)為(wèi)库存增加的环节。还有(yǒu)一种方案是收货环节库存增加且冻结,入库时将冻结库存转化為(wèi)可(kě)用(yòng)库存,质(zhì)检不合格退货的则冻结库存减少。

然后是资金,采購(gòu)流程涉及到两点:

入库的库存成本计算规则,常见的是将当前采購(gòu)价作(zuò)為(wèi)库存成本,此外还有(yǒu)加权平均法等方式,这里就不展开了;
采購(gòu)结算金额的支出,等于每批次入库库存数量的采購(gòu)价格总额。
以上环节的内容确定后,可(kě)以开始找业務(wù)方进行第一轮评审,核对基本的业務(wù)流程和规则。完成确认后,接下来的事项就是逐步细化。

5. 细化流程,梳理(lǐ)每个流程节点的具(jù)體(tǐ)操作(zuò)和流程节点之间的走向;
这一步就是把流程细化,将前面梳理(lǐ)的核心流程根据实际业務(wù)情况扩展,确定每个步骤有(yǒu)哪些操作(zuò),每个操作(zuò)的前置条件和后置条件是什么,流程之间是如何流转的,以及各种异常情况和处理(lǐ)方式。这个步骤可(kě)以产(chǎn)出完整的流程图。

采購(gòu)业務(wù)的流程细节就不写了,完成的流程图如下:
6. 确定整个流程中(zhōng)有(yǒu)哪几个实體(tǐ)类型,和每个实體(tǐ)类型包含的字段
实體(tǐ)类型可(kě)以理(lǐ)解為(wèi)业務(wù)上的一个单子、批次,或者数据上需要进行增删改查操作(zuò)的一条记录。细化流程后已经确定了每个环节要操作(zuò)什么,接下来理(lǐ)清整个流程模块中(zhōng)有(yǒu)哪些实體(tǐ)类型,以及每个实體(tǐ)类型里有(yǒu)具(jù)體(tǐ)哪些重点字段。

这一步和下一步要确定的关联关系,本身的作(zuò)用(yòng)是从后端研发的角度去设计数据的基础结构,这两步可(kě)以产(chǎn)出UML图中(zhōng)的类图。

尽管类图不一定要画,不过作(zuò)為(wèi)后台产(chǎn)品经理(lǐ),确定实體(tǐ)类型的意义在于通过了解后台结构和关系来梳理(lǐ)业務(wù)逻辑,理(lǐ)清整个业務(wù)的后端结构,并作(zuò)為(wèi)之后具(jù)體(tǐ)页(yè)面结构和操作(zuò)设计的基础。

回到采購(gòu)系统的案例中(zhōng),在采購(gòu)流程中(zhōng)可(kě)以梳理(lǐ)出这几个实體(tǐ)类型和重要字段:

采購(gòu)申请单(仓库、采購(gòu)申请量),采購(gòu)单(仓库,供应商(shāng),采購(gòu)量),采購(gòu)收货单(仓库,供应商(shāng),发货批次,采購(gòu)收货量),采購(gòu)入库单(仓库,供应商(shāng),发货批次,采購(gòu)入库量),采購(gòu)退货单(仓库,供应商(shāng),发货批次,采購(gòu)退货量)。

7. 确定各实體(tǐ)类型之间的的关联关系,和他(tā)们之间详情数量的关系
有(yǒu)实體(tǐ)类型之后,接下来根据实际业務(wù)情况,确定各个实體(tǐ)类型之间的关联关系,一对一还是一对多(duō),强关联还是弱关联。

数量的关联比较好理(lǐ)解,在采購(gòu)的案例中(zhōng),基于一个采購(gòu)申请单可(kě)以根据不同供应商(shāng)创建多(duō)个采購(gòu)单,那就是一对多(duō);一个采購(gòu)单可(kě)以多(duō)次发货,采購(gòu)单和发货单也是一对多(duō);一个采購(gòu)收货单只能(néng)一次全部入库或退货,那就是一对一。注意不要有(yǒu)多(duō)对多(duō)就行了。

强弱的关联可(kě)以理(lǐ)解為(wèi)某个实體(tǐ)是否一定要通过关联它的实體(tǐ)创建。比如采購(gòu)单可(kě)以从采購(gòu)申请单中(zhōng)创建,也可(kě)以单独创建,那就是弱关联;采購(gòu)收货单一定要有(yǒu)采購(gòu)单才能(néng)创建,采購(gòu)入库单一定是收货单收货后才能(néng)入库,这两个不能(néng)凭空创建,所以是强关联。

详情数量指的是流程中(zhōng)核心数据的明细,比如供应链的各种入库出库数量、订单的各种金额等。事实上这些个数量即是实體(tǐ)中(zhōng)的一个字段,每个流程节点中(zhōng)的操作(zuò)会随之产(chǎn)生数据,原则上后续的流程不能(néng)覆盖前面的数据,需要新(xīn)建一个数据字段来记录,于是会有(yǒu)一大堆数据字段,他(tā)们之间存在具(jù)體(tǐ)的计算方式、关联规则,会直接关系到数据的准确性,需要按照实际业務(wù)情况确定。

采購(gòu)流程中(zhōng)的数据字段前面已经写了,它们之间的关系,首先采購(gòu)申请数量和实际采購(gòu)数量,因為(wèi)存在供应商(shāng)无法满足和有(yǒu)不良品会退货的情况,采購(gòu)量通常会大于采購(gòu)申请量,这两者之间没有(yǒu)明确的关系;接下来是采購(gòu)收货数量,由于供应商(shāng)发货的不确定性,收货量和采購(gòu)量也没直接关系;再是质(zhì)检后的入库量和退货量,显然他(tā)们和收货数量就有(yǒu)严格的关系限制了,入库量+退货量=收货量。

这两步整理(lǐ)出来的类图如下(不过格式不标准,可(kě)以将就看下):
8. 设定页(yè)面架构
明确实體(tǐ)关系之后,页(yè)面层级结构自然就出来了。通常来说后台页(yè)面的层级结构遵循两个原则,不同的实體(tǐ)类型需要划分(fēn)為(wèi)不同页(yè)面,以及不同角色需要划分(fēn)到不同的页(yè)面。

同一个角色和同一个实體(tǐ),在一个页(yè)面中(zhōng)操作(zuò)即可(kě)。此外,如果有(yǒu)需要把多(duō)条记录中(zhōng)的某类数据详情放一起列出来,然后大批量操作(zuò)的功能(néng),也需要独立到一个页(yè)面中(zhōng)实现,比如说如果需要多(duō)个采購(gòu)单的库存一起入库,那就需要加一个库存列表页(yè)面,展示所有(yǒu)待入库的详细库存(当然实际业務(wù)上通常不需要)。

后台产(chǎn)品的页(yè)面架构设计满足逻辑和操作(zuò)即可(kě),不会像C端产(chǎn)品那么精(jīng)细。

9. 确定每个页(yè)面的列表数据有(yǒu)哪几种状态
页(yè)面设计的重点是不同列表各自的状态和操作(zuò)。状态的作(zuò)用(yòng)是為(wèi)了告诉用(yòng)户当前的动态描述和需要进行的事项。

状态的设置有(yǒu)三个参考因素:

一个是流程中(zhōng)当前所处的环节需要做什么或者已经做了什么,我们常见的待XX,已XX就是根据基本流程梳理(lǐ)出来的;

二是操作(zuò)的数量,存在有(yǒu)些环节无法直接通过流程判断状态,需要将操作(zuò)的数量和总数量进行对比,得出状态。

有(yǒu)些业務(wù)中(zhōng)会有(yǒu)先操作(zuò)一部分(fēn)数量的情况,比如采購(gòu)收货时,可(kě)能(néng)只收了一部分(fēn),用(yòng)户又(yòu)需要了解到收货数量的情况,因此状态可(kě)以设计為(wèi)部分(fēn)收货、全部收货这两种。

有(yǒu)些情况下完结也需要通过数量进行判定,主要是各类申请的满足情况,比如采購(gòu)申请单,会关联多(duō)个采購(gòu)单,采購(gòu)申请数量和采購(gòu)数量、收货数量之间由于不确定性,没有(yǒu)强关联关系,因此采購(gòu)申请单的完结,只能(néng)用(yòng)实际入库数量和采購(gòu)申请数量做对比,数量都满足了状态再更新(xīn)為(wèi)完结。

三是和其他(tā)列表状态的同步更新(xīn)。一个复杂的流程会涉及到多(duō)个实體(tǐ)的列表,每个列表都有(yǒu)各自的状态,某个列表状态变化后,需要根据用(yòng)户实际情况,考虑其他(tā)列表是否要同步这个变化。

比如采購(gòu)流程中(zhōng),收货、质(zhì)检、入库都是基于采購(gòu)收货单的操作(zuò),由仓库、质(zhì)检进行,那么因為(wèi)采購(gòu)需要实时跟进这些信息,所以在被关联的采購(gòu)单中(zhōng)就需要同步这些操作(zuò),显示全部收货、已质(zhì)检、已入库这些状态。

再比如采購(gòu)申请单和采購(gòu)单,由于采購(gòu)申请单的角色是库存计划员,不需要跟进采購(gòu)的情况,所以主流程只需要显示待采購(gòu)、采購(gòu)中(zhōng)、已完结这3个状态,不需要同步采購(gòu)单的其他(tā)状态。

10. 确定各状态下有(yǒu)哪些操作(zuò),如何进行
操作(zuò)是根据状态实时变动的,每个状态有(yǒu)它对应能(néng)做的操作(zuò)。根据前面梳理(lǐ)的详细流程中(zhōng)每个操作(zuò)节点,和用(yòng)户在这个步骤中(zhōng)需要查看的信息,整理(lǐ)成操作(zuò)和详情内容。

具(jù)體(tǐ)操作(zuò)包含通用(yòng)的操作(zuò)比如创建、编辑、删除、启用(yòng)禁用(yòng)、取消、回退;流程中(zhōng)的操作(zuò),比如发货、收货、入库、质(zhì)检、退货、完结、审核通过不通过,将这些操作(zuò)放到对应的状态中(zhōng)即可(kě)。

具(jù)體(tǐ)功能(néng)设计的时候,要考虑用(yòng)户的操作(zuò)效率,同一个操作(zuò)可(kě)以针对多(duō)个场景设置不同的方式。

比如一些大数据量的操作(zuò),除了正常的逐条操作(zuò),还可(kě)以增加批量操作(zuò)、导入导出的功能(néng);一些复杂的操作(zuò),可(kě)以设置為(wèi)多(duō)个步骤;还有(yǒu)当需要填写很(hěn)多(duō)表单信息的时候,可(kě)以帮用(yòng)户默认填写。

最后三个步骤的结果考虑清楚后,原型自然就出来了。画完原型,产(chǎn)品设计阶段就大功告成了。

当然以上10个步骤看起来有(yǒu)点复杂,我见过很(hěn)多(duō)人习惯于画完流程图后直接画原型,不需要详细考虑中(zhōng)间那么些个步骤。

我自己有(yǒu)时候也会这样,因為(wèi)一边画原型可(kě)以帮自己梳理(lǐ)思路,而且简洁明了。只是一旦遇到流程复杂的业務(wù),如果中(zhōng)间的步骤不考虑清楚,那么原型改来改去会非常耗时间,所以还是一步步来比较好。
资讯大讲堂
资讯频道不再读取旧站数据,敬请谅解;部分(fēn)内容整理(lǐ)于互联网络,如有(yǒu)不妥之处请与我们联系 ..
新(xīn)舟科(kē)技(jì )
从事互联网营销设计和开发等业務(wù),提供从線(xiàn)上营销规划到运营进阶的一站式解决方案 ..
发布需求
推荐阅读
津ICP备12008570号-1 © 2024 all rights reserved.
业務(wù)咨询
158-0220-1910
在線(xiàn)客服
实时交谈,便捷高效
反馈或报价
发送表单给我们,获得报价和更多(duō)支持