单据|不管多复杂的系统设计,都离不开这9个字( 二 )


单据|不管多复杂的系统设计,都离不开这9个字
文章插图
系统流程图与业务流程图
根据不同的业务场景,流程可以分为主干流程、辅助流程、异常流程三种:

  1. 主干流程:处理业务必不可少的主流程,就像树的主干一样,不实现就没法满足业务诉求,比如采购的建单、仓库的收货、上架等;
  2. 辅助流程:从主干流程分出来的子流程,如同树的细枝末节,属于锦上添花,实现了有利于业务更好开展,不实现也不会影响,比如导入采购明细、批量收货、批量上架等;
  3. 异常流程:出现异常情况的处理流程,也必须实现,否则遇到异常了就出现了流程卡点,比如采购单的驳回、收货错误修改、出库拣货异常等;
通常来说,主干流程和异常流程优先级最高,必须在项目上线时就要具备,但异常流程因为不经常发生,如果工期赶不上,可以考虑用简单的方案替代(比如业务方线下处理)。辅助流程一般不紧急,可根据资源情况安排,如果项目第一期排不上,可放到后续迭代版本中。
单据|不管多复杂的系统设计,都离不开这9个字
文章插图
如何梳理流程
在梳理业务流程时,我们可以遵循先主干再异常,最后分支的原则,尽量把项目中涉及到的流程以及每一个操作角色、操作环节都清晰地描绘出来,然后再对着操作节点梳理系统功能。
有些操作节点是需要系统功能支持的(比如采购建单、收货),就需要有与之对应的系统功能,还有一些是纯线下行为(比如搬运、清扫),则不需要系统功能。
另外,操作节点和系统功能并不是一对一的,有的操作可能需要多个功能支持,也可能多个操作只对应一个功能。
系统功能梳理出来以后,我们接着梳理每个功能对应的输入和输出,有些输入和输出只体现在信息流上,有些则需要其它形式的产出。
例如仓库收货完成时,我们需要对收货的结果和过程数据保存下来,这是信息层面的输出,同时还需要为收货员打印一张纸质的收货单,这是实体单据输出。在梳理的过程中要对各环节的输入和输出做详细的记录和拆解,这是我们下一步设计单据和状态的依据。
流程梳理的最后一步是做系统划分,将系统功能与当前已有的系统进行匹对,定位每个系统功能的系统边界,如果还没有系统,正好以此梳理结果为依据做系统规划。
系统的划分并没有严格的执行标准,有些处于两个系统交界的功能放在A系统也行,B系统也行(例如两个系统交互时,枚举值的映射),这时可以根据架构合理性、资源情况和操作便捷性等因素综合评估。
二、定单据:框架构建,明确单据和状态在B端系统中,单据是用来存储和流转业务信息的凭证。系统流程及各环节的产出梳理出来以后,就可以以此规划系统单据和单据状态了。
单据有两大核心要素:关键属性和流转状态。关键属性来源于流程各环节的产出,记录业务开展过程中的详细数据,流转状态设计来源于系统关键节点的变化,记录流程的流转过程。
系统流程的每一个环节都会有输入和输出,输出的信息需要保存下来,这些信息就是单据的属性,也是最原始的单据数据,还是下一环节的输入数据。
我们试着对各环节的产出数据进行提炼,如果发现下一环节与上一环节的信息集合一样,只有个别信息不同,则可以将这两个环节设计为一个单据,但如果差异非常大,就需要设计成不同的单据。
例如下图中,采购的结果会生成采购单,我们需要设计一张采购单来承载采购的所有信息,收货的输入信息来源于采购明细。