OA系统中流程设计方法探讨

来源:百度文库 编辑:神马文学网 时间:2024/10/03 02:29:37
【摘要】 在OA系统中,使用流程来进行审核以及公文流转已经不是什么新鲜的事情了。对于初学者来说却显得十分神秘,鉴于此,鄙人对OA中的流程原理,以及流程设计方法做了一些总结,希望能对诸位有所帮助。在OA系统中,使用流程来进行审核以及公文流转已经不是什么新鲜的事情了。对于初学者来说却显得十分神秘,鉴于此,鄙人对OA中的流程原理,以及流程设计方法做了一些总结,希望能对诸位有所帮助。
首先,我们来了解一下流程。
在软件中流程是为了实现某个功能,需要按部就班地执行的一段操作。软件中之所以要使用流程,是为了增加软件产品的延展性,使软件在不同的客户或同一客户不同的管理阶段都可以应用该软件。也就是增加软件使用者的自主设置能力。
从软件编写的角度,我把流程分为二种:一种是审核流程,一种是业务流程。在OA系统中,通常体现为审核流程和公文流转两种。
下面,我们看看实际管理工作中审核流程是什么样子的。
我们以“请假”这个日常生活中最常见的例子来阐述这个审批流程。
如果某员工需要请假,他会填写一个请假申请单,该申请单一般会有其部门主管签字审核后交到上级主管审核,也可能最终需要总经理审核。审核结束了才能正式获准请假。
如下图所示:
图片找不了,太遗憾了
以上是对请假申请中的几种可能性的描述,除此以外。我们还必须考虑到以下因素:
1、 请假单中的审批人可以为多个人中的任意一个。如:一个部门有几个主管,只要一个主管同意了就可以继续执行该流程。这种情况下,我们需要设置好每个审批点的人员信息。这些人员具有同样的审批权力。
2、 请假单中需要同时多个人审批后才可以继续该流程。如:一个部门有多个主管,必须每个主管都批准的情况下才可以继续该流程。这种情况下,流程中这些同级的主管权力相同,审批不分先后。
3、 另外,我们还需要考虑同样的单据,可能会有不同的审批流程。如:在一个企业中,员工请假的审批如上面所述,但如果是部门主管,则都需要总经理直接批准放可准假。这种情况下,我们就必须考虑同样是请假申请单的具体审批流向的问题。
4、 还有一种可能性就是高级别的主管可以直接跳过低级别的主管进行审批。如:在部门主管不在的情况下,上级主管可以直接审核该请假单。
5、 在审批权限设定方面也有部门和职位方面的考虑。比如:在软件中识别部门主管、识别上级部门、识别职位等等。这些可能性我们可以在设定到具体人员的时候考虑进去。在软件流程的设计中,暂时忽略这些情况。
OK,鄙人以为,上面的阐述已经含盖了审批流程的所有可能性。(这只是假设,该假设也就决定了软件中流程的设计方面仅适用于以上这些情况)
下面,我们针对这些情况,把这些请假单的信息在数据库中的传递情况整体一下:(此处忽略请假单的具体信息,只考虑单据信息)
1、 填写了申请单(假设单号为:A01)
2、 部门主管审批
3、 上级主管审批
4、 总经理审批
5、 流程结束
图片找不了,太遗憾了
由此我们可以看出,以上所做的请假的各种假设都可以在上表格中得到体现。也就是说,我们处理流程的数据库表结构完全可以参考该结构来完成。具体说明如下:
1、 操作ID:可以设定流程的唯一标志,在这里,我们可以把审批结果(同意、不同意)分设2个字段,也可以设定为2笔记录。如果分设为2个字段,则流向也需要分别设定2个字段。
2、 操作:相当于每个操作的描述,或者操作名称。
3、 单据编号:即指定每个请假单的唯一标识,只要请假申请单填制完毕,选择流程后,我们就可以把该单据的审批信息生成到表中,并分发到相关审批人。
4、审批点:也就是审批动作的执行点。该信息应该记录审批用户信息,可以是单用户,也应该可以是具有相同权限的多用户。多用户在操作的过程中,需要区分为两中情况:一种是多用户中有一个人审批即可自动流入下流程,另一种是所有审批人审批结束了才可以流入下流程。
5、 同级审批:这里有2种可能性:一种为:同级全部审批后即流转到下一级审批点;另一种:只要一个审批就可以流到下一级审批点。
6、 审批结果:就是决定流程去向的结果。该结果会确定流向的值。需要注意的是:如果审批中需要填写具体的审批意见,我们也可以在该Table中以专门的字段来记录这些意见。
7、 回写:该操作是为了标示出上流程传递到以后不需要再次传递。如:在上级领导审批完后,即把部门主管审批的结果标志为“完成”等字样,以防止信息重复传递。
8、 直接进入标志:该操作是为了确认可以跨越前道流程直接进行审批的标志。如果请假申请填写了以后,具有直接进入权限的人就可以直接进行审批。审批完成后其以前的审批流程则不需要再审批。这里,我们需要把该流程以前的流程标志为完成。
9、 终止标志:即流程完全结束。比如:我们可以先假设如果在某一个审批点被否决后即表示流程终止,在流程最终完成(包含同意/不同意)时也可以表示流程终止。
至此,我们应该清楚了流程的基本概念了。而且对其软件方法实现也应该有了具体的认识。那么在软件种怎么样来辩识这些流程呢?我们在软件中需要做哪些工作?
首先,我们需要把流程和具体的功能点集合起来,今天我们一直在讨论的请假申请的流程。那么我们设定了流程后,就必须跟请假申请单关联在一起。在软件中实现该功能的方法有二个。一是指定流程名称和单据名称的对应关系,在程序中写死。另一种方式是在我们填制了请假申请单后由用户去指定相关的流程。听起来后者活一点,但需要麻烦客户选择一下流程,但这种选择,也增加了流程的多样性,即可以在同一个申请单中有多种流程选择。这也解决了我们上面所说的员工请假和主管请假的区别对待的问题。
也许有人有犯迷糊了:我设定那么多人审批,他们都在哪儿去填写这些审批信息呢?提这样的问题的人,也许是刚出道~,呵呵。不过,我深信有人会有这种疑虑。其实这个问题很简单就可以解决了。
比如:你写一个组件,只要需要审批,你就把这个组件show出来,给用户可以输入的地方嘛~,然后,输入完了以后你就把这些信息保存到我们审批的Table中,如果用户不放心,你可以把他设定的审批点的意见全部Show在页面的下方。这样,他设定多少个审批点你也应付得过来。当然,到最终流程终止的时候,你还是要到单据中标注一下的。否则就全白忙活了。具体是写到哪个表中的哪个字段,你应该是最清楚的人了。
公文流转的流程我没时间写了。如果上面的方法您理解了。我相信区区公文流转,对您来说也不是什么难的事情了。