审批链的一种设计

审批链模型

需求分析与系统设计说明书

一、版本记录

二、需求功能简述

审批链模型提供了一个通用的、可配置的审批功能操作方案。

1. 业务角色说明

审批链模型中共设计有两类角色:提交人、审批人。

提交人可以执行提交操作、撤回审批两种操作。提交操作将创建一个新的审批事项,并开启一个新的审批流程。撤回审批操作将终止一个审批流程。

审批人可以执行审批操作。审批操作通常包括“通过”和“驳回”两种。每个审批操作将变更审批事项的“审批状态”,并变更下一个审批人或终止审批流程。

审批人可以继续递归细化为多个子审批人。审批人之间以“审批角色”作为区分。

2. 业务用例说明

用例名称

提交审批事项

前置条件:

用户

前端界面

系统后台

1、填写审批表单;发送“提交审批”请求

2、数据校验;如果校验未通过,则返回1;否则进入3

3、数据校验;如果校验未通过,则返回1;否则进入4



4、新增一个审批事项;将该审批事项的状态设定为“已提交”;审批链中增加记录“提交人-提交审批”


5、页面提示“提交成功”。


后置条件:

1、该审批事项应进入提交人的“我的审批”中;

2、该审批事项应进入对应审批人的“等待审批”中


用例名称

撤销审批事项

前置条件:

1、审批事项当前状态必须是“已提交”;

2、操作人必须是该审批事项的提交人

用户

前端界面

系统后台

1、选择审批事项,提交“撤销审批”请求

2、数据校验;如果校验未通过,则返回1;否则进入3

3、数据校验,并校验前置条件;如果校验未通过,则返回1;否则进入4



4、设定指定审批事项的审批状态为“已撤销”;审批链中增加记录“提交人-撤销审批”


5、页面提示“提交成功”。


后置条件:

1、该审批事项应退出对应审批人的“等待审批”列表


用例名称

执行审批操作

前置条件:

操作人必须是该审批事项的对应审批人

用户

前端界面

系统后台

1、选择审批事项,提交审批操作请求

2、数据校验;如果校验未通过,则返回1;否则进入3

3、数据校验,并校验前置条件;如果校验未通过,则返回1;否则进入4



4、根据审批事项当前状态、审批操作、审批角色,设定指定审批事项的“新审批状态”;审批链中增加记录“审批人-新审批状态”


5、页面提示“提交成功”。


后置条件:

1、该审批事项应退出对应审批人的“等待审批”列表

2、该审批事项应进入对应审批人的“完成审批”列表

3、该审批事项应进入下一对应审批人的“等待审批”列表


当前系统中应用到的审批流程图如下所示。

图示:系统当前审批流程


上图中,圆角方框内“已提交”、“撤销申请”、“风控管理员审批通过”、“领导审批通过”、“审批驳回”、“审批通过”等是审批事项的不同状态;线条上“员工”是系统用户的默认角色,“风控管理员”、“审批领导”是审批人的不同审批角色;线条上“提交审批”、“撤销申请”、“审批通过”、“审批驳回”等是可执行的审批相关操作。



三、系统设计说明

系统设计重点是处理不同角色、不同操作引发的不同状态转换,即根据当前状态、审批角色、审批操作来获取新状态的业务逻辑。下文重点针对此设计进行文档说明,其它部分略去。


1. 执行审批操作用例

执行审批操作用例的基本设计思路是,采用表驱动法,将数据转换逻辑转变为查表逻辑。通过把审批操作规则放置在数据库中,保证此设计方案的通用性和可配置性。


1) 流程图/描述

步骤说明

a) 前端提交审批人用户代码、审批事项代码、操作类型代码。

b) 根据审批事项代码,获取审批事项当前状态。

c) 根审批人用户代码和审批事项当前状态,获取审批人的审批角色代码。

d) 根据审批角色代码、审批事项当前状态、操作类型代码,从审批操作规则库表中找到对应的操作规则,从而找到审批事项的新审批状态。

e) 将审批事项当前状态更新为新审批状态;插入新的审批链信息。


步骤c中,由于可能存在一个审批人用户对应多个审批角色代码的问题,因此需要为审批角色配置“优先级”属性。当审批人-审批角色出现1对多映射时,该步骤只选取可对选定审批事项进行审批、且优先级最低的审批角色进行操作。该步骤要求审批角色和审批角色优先级之间一一对应,没有重复或空值

步骤d要求审批角色、当前状态、操作类型三个数据可以唯一确定一个新审批状态。这是本模型的限制。



2) 类图/描述


3) 时序图/描述


4) 其它说明


四、数据库设计说明

1. 数据实体描述

数据库实体包括两个部分:审批事项相关,和审批规则相关。审批事项相关的数据实体包括审批事项;审批内容;审批链。审批规则相关的数据实体包括用户信息、用户-审批角色映射、审批角色信息、审批规则信息。



2. 数据实体_关系图ER图)

上图:审批事项、审批内容和审批链数据实体概念模型图



上图:审批规则相关数据实体概念模型图




你可能感兴趣的:(审批链;设计;审批规则;)