开发者社区> 技术小阿哥> 正文
阿里云
为了无法计算的价值
打开APP
阿里云APP内打开

审批链的一种设计

简介:
+关注继续查看

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

一、版本记录

二、需求功能简述

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

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、该审批事项应进入下一对应审批人的“等待审批”列表


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

137757359958.JPG

图示:系统当前审批流程


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



三、系统设计说明

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


1. 执行审批操作用例

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


1) 流程图/描述

步骤说明

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

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

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

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

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


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

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



2) 类图/描述


3) 时序图/描述


4) 其它说明


四、数据库设计说明

1. 数据实体描述

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



本文转自 斯然在天边 51CTO博客,原文链接:http://blog.51cto.com/winters1224/1283204,如需转载请自行联系原作者

版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。

相关文章
SAP实施项目中采购员在非生产性采购申请审批流中的角色安排
SAP实施项目中采购员在非生产性采购申请审批流中的角色安排
0 0
【一键启用】行政审批|简化复杂行政事务
在现代企业管理中,想要提升工作效率,节约人力、物力、资源浪费,就要告别纸质化办公。行政审批集合含用章、出差、加班、名片印制申请、办公用品领取,用“流程”简化繁杂的行政事务,提升员工协同关系同时也为企业节约了大量的时间成本。
0 0
如何在流程进行中对审批内容做补充并发表意见
通常在审批流进行时,流程参与人经常需要对发起人的审批内容做一些修改和补充,并发表自己的建议和意见。该篇文章将会演示如何实现该功能。
342 0
用OA系统进行任务分配,规范流程,激活主动性
合理地分配任务是项目执行效率的重要保证,为了让企业的任务能第一时间被分配到最适合的岗位、最适合的员工,OA系统通过搭建精细化的任务管理模块,将任务分解成一个个具体的工作事项进行分配,有助于优化资源、调动积极性、提高完成效率……
671 0
SAP采购审批策略定义及介绍 .
 SAP的订单审批设置是非常巧妙的,通过条件、条件组合以及审批组、审批代码及审批状态来定义一些基本元素,最后在批准策略中像一个大房子一样把所有的相关因素都包含进去再进行组合,则形成了一个有机的审批过程,非常值得研究一下,下面做一个简要的描述.     “特性”,即采购审批条件,可以定义几个条件来确认采购订单是否需要审批,例如公司定义的采购组;审批类型;总订购金额;        “类”,相当与一个条件的组合,你定义了N个特性作为条件,需要其中的M个组合在一起,则可以在编辑类中定义;其中类类别请选择032审批策略。
659 0
关键链项目管理(二) 关键链
项目最本质的一个特性是不确定性,所以实际的执行与预估有些偏差很正常。预估较实际所花费的工作量时大时小,有人快,有人慢。单独从个人能力来解释进度并不客观,因为本来项目排程时就应当考虑到人的能力的不同。
562 0
文章
问答
文章排行榜
最热
最新
相关电子书
更多
《蚂蚁链授权宝》
立即下载
低代码开发师(初级)实战教程
立即下载
阿里巴巴DevOps 最佳实践手册
立即下载