需求分析
在工作中,看到同事的审批脆弱的设计(每次过来新得审批流程都要重新写代码,使得系统可扩展性很不好),需求分析很重要 ,在做事情的时候需要提前进行需求分析,现在各行各业都会有审批,审批分为多种:财务审批、行政审批、贷款审批等,审批在大、中、小型企业中很常见,审批系统也各式各样,功能各有不同。
很多审批系统设置过于转一,在功能设计上过于特殊化,只能应对单一场景。在设计的时候只是应对如银行贷款审批,如果想做其他的审批 除非重新做系统,不能把之前的系统升级改造,造成这些问题的原因主要是 数据库设计做的不够细,表的分类划分不明确,造成概念混淆,甚至很容易出现系统bug。
表设计
1.approve_type:审批类型表:整个系统的审批种类(财务审批、行政审批)(字段:主键、类型名称、类型代号、状态、创建时间)。
2.approve_process:审批流程表(审批具体流程)(字段:主键、审批类型、当前审批人、上级审批人,状态,创建时间,)
3.approve_prime:审批主表(提交审批也就是开始走审批流程的表)(字段:主键、提交时间、提交人、审批类型、业务类型,业务主键)。
4.approve_schedule:审批进度表(审核进度:可能包含多次只有最新的一次是审核通过)(字段:主键、当前审核等级,审核人,审核时间,审核状态,审核批次(第一次为1没有通过再次提交审批增加到2),状态)。
5.approve_status:审批状态表(当前审核单的状态详情)(主键:approve_prime 主键,审核状态,审核通过等级,是否是最终审核,审核创建时间,最新审核通过时间,是否有审核越级)
另外 其他的审批相关表与主要业务表分离确保系统逻辑清晰和各个模块之间的弱耦合。
例如在设计erp系统的时候要为销售部门、行政部门等设计一张费用支出表,增加审批时,如果更改原始表不得不更改之前写的代码。因此,增加审批要多建一张表:(expense:费用支出表 ,expense_detail:费用支出详情表 ,expense_approve:费用支出审批表,expense_approve:费用支出审批详情表)
网友评论