论坛首页 Java企业应用论坛

工作流项目实施经验总结(二)-- 系统基本功能讨论

浏览 5809 次
精华帖 (0) :: 良好帖 (0) :: 新手帖 (0) :: 隐藏帖 (0)
作者 正文
   发表时间:2012-10-06   最后修改:2012-10-06

工作流系统基本功能

         由于工作流审批系统设计企业管理的细节,并且企业流程都有其自身的特点及复杂性,因此,流程定义与执行,是工作流系统最基本的功能。以下详细讨论各个部分的功能,本人在今后在进行工作流选型时也会着重考虑,因为他关系着系统的生死,系统也可以给大家做一个参考。

流程定义

         作为完善的工作流系统,系统交付后,全部应交由甲方公司管理,那么经常变更的部分当属流程的定义部分。该功能应该可以满足一切管理人员在工作中遇到的流程相关的问题。在实际的使用中,个人认为最重要的功能点如下:

l  可视化

软件发展到今天,可视化是必须必的。但就像很多软件一样,在基本功能实现的前提下,用户体验的好坏决定了软件的成败。因为流程图也是在系统中用户可见部分之一,因此,流程图中,必须要有丰富的图形,来形象的表示不同功能的节点。但是很遗憾,本人使用的软件设计图作出的都是节点都是方块,并且除了文字以外,没有任何区别。

第二点就是流程跳转条件一目了然,由于系统中大部分节点都是根据流程图中定义的条件自动跳转,而有一些条件需要用户在提交或审批时手动选择的,那么,对系统中已经有的条件,需要明确的显示在流程图中,否则用户使用时,不清楚流程的流转方式,很容易造成迷惑。

在涉及到金额的表单中,大家看这样两个场景:

1)         总金额小于10万只需要经理审核,而大于10万需要CFO审核,大于20万时,还需要CEO审核。

2)         分录的金额小于1,000仅需要经理审核,分录金额大于1,000需要CFO审核,分录金额大于5,000需要CEO审核。

这样两个场景,在用户填写时,很难了解系统到底是判断分录还是判断总金额,稍不注意,可能填写的内容就要审批到CFO甚至是CEO,导致用户抱怨。我认为,在流程定义时,需要有适当的提示,对哪个字段进行了条件判断。同时在用户提交时,一定要提示用户下一个处理人是谁,为什么跳转到该节点,这样才是好的用户体验。

l  模块耦合校验

审批流程简单说就是各个级别的审批,这些级别定义在系统组织机构功能中。在流程设计时,不可避免的需要给节点指定特定的岗位或人员,比如CEO。但由于组织机构维护可能由HR来处理,而流程制作由系统管理人员(大部分是IT部门人员)负责,这就可能出现HR删除流程中已经指定的关键岗位。这个是系统完整性问题,在系统中一个模块引用了另一个模块数据时,应该有校验功能,并且在用户操作出现冲突时,系统给予明确的提示,否则系统会出现数据不一致的严重问题。

l  可进行版本控制

流程经常会表单,好的管理方式是对流程进行版本控制。这样有问题的时候可以回退或分析问题。做到这一点,比较简单的方式是将流程信息导出为xml文件进行管理。

l  流程设计与展示分离

由于流程经常变更或增加流程,那么在仅设计流程的问题上,不修改任何用户填写界面和展示界面的代码,尤为重要。否则,离开了开发人员,系统将无法维护。有几个比较典型的例子:

1)         对页面字段设置流程跳转条件时。

2)         增加签字人员时,表单中之前未设置相关人员的签字位置。

这两点系统都应该留出相应的接口和方法,而不是经常的去修改用户界面的代码。

流程执行

         流程执行是系统中最核心也是较复杂的部分,较简单的流程控制和政策性较强的约束,会让系统相当难以使用。本人公司使用的系统一期正向的有提交和审批,逆向的仅有退回和一键驳回。退回仅可以一步步的退,一键驳回相当于直接由审批人作废了表单,强制结束。由于真的过于简单,使用时非常麻烦,经常需要开发人员后台调整数据。其实实际使用中,逆向的功能往往是成败的关键。因此又有了二期的功能,增加了一些功能,改进了一些功能,才使系统可用性有了较大的改善,那么下面讨论二期之后的功能。

l  正向功能

ü  暂存

用户使用时,为了老板尽量少的审批表单,有些表单往往是希望一个月提交一次,因此需要每次的表单暂存,待一个月份结束后提交。在系统中统计后也得到这样的结果,大概70%以上的表单都是暂存后提交的。如果缺失该功能,那么用户可能需要用excel记录一大堆要提交的内容,非常不便。

ü  提交

提交是最基本的功能,那么也有一些细节是要非常注意的:

1)         正如上文所说,需要提示用户,系统自动的跳转条件及下一审批人的姓名等信息。

2)         当下一处理人有多个人时,需要提示用户,在什么情况需要选择哪一个节点和哪个人。该问题出现的场景往往是因为分公司较多,不同的人员负责不同区域的公司,那么理想的情况是系统可以设置人员与负责公司的对应关系,系统自动判断。但有些情况较复杂,那么应该将公司的政策性文本在界面中展示给用户,以便用户判断,否则用户还需要查找公司的规范,不方便使用。

ü  复制表单

由于一些表单填写内容较多,但每次变更的内容较少,因此系统需要提供复制已经提交过表单的功能。

ü  抄送

有些表单,比如休假申请,领导审批后,用户可能需要通知部门其他同事等相关人员,那么让表单在系统中传播,非常重要。

ü  加签

该功能为用户根据需要,在流程提交时,增加审批的节点。该功能本人觉得非常的重要和实用,可以解决很多子公司流程与集团公司流程不同的问题。

ü  减签

该功能为用户可以取消系统中已经定义的审批节点。本人觉得需要慎重使用,一般不建议系统提供,否则造成审批节点缺失,业务部门发飙,可不是闹着玩的。但是一些公司有些领导身兼数职,有些节点都是同一个人,这时,系统提供自动签批的功能就非常有用,一个可参考的规则就是:以该用户在审批流程中的最高职位为准,如果前面该用户需要签批,那么自动跳过。

l  逆向功能

ü  退回

该操作由审批人使用,目的是将表单退回给上一个用户。

ü  一键驳回

该功能与退回类似,区别为审批人将表单直接退回给申请人,由申请人决定是修改后继续提交还是结束重新提交。本人公司的系统,退回的表单修改后提交,还需要重新走一遍流程,这其实有点太过于绝对。个人认为,系统应判断表单中修改的内容是否为关键信息,如果关键信息被修改,则需要重新走流程,如果非关键信息修改,可以直接提交给退回的审批者。如果是仅仅修改几个错字就重新走所有的审批流程,工作效率比较低。

ü  撤销

该操作的功能为将已经提交但还未结束的表单撤回到自己的手中,申请人和审批人都可以执行该操作。人孰无过,知错能改,善莫大焉。

ü  作废

该操作由申请人执行。比如出差申请审批通过后,由于某种原因取消了,那么可使用该操作进行取消。

   发表时间:2012-10-07  
这些功能 你实现了吗?
0 请登录后投票
   发表时间:2012-10-07  
尔今尔后 写道
这些功能 你实现了吗?

已经实现
0 请登录后投票
   发表时间:2012-10-09  
上图啊。。。无图无真相
0 请登录后投票
   发表时间:2012-10-09  
comsci 写道
上图啊。。。无图无真相

这个是我们公司的项目,不方便上图

这里想讨论的是纯理论问题,想了解大家对工作流项目实施和工作流系统本身功能有哪些好的建议
0 请登录后投票
   发表时间:2012-10-10  
受益了,谢谢分享啊,o(∩_∩)o 哈哈
0 请登录后投票
   发表时间:2012-10-20  
表达如下几点:
1、流程或系统上线时,需要发布相应的管理说明和培训。
2、报销流程,按授权额度判断需要提交到哪些领导那审批,有些人没有授权额度,同一级别的人授权额度可能不一样。不同的业务,授权额度不一样。需要对授权额度进行梳理,建立授权和流程、人、级别的关系,流程提交时根据授权额度判断。
3、发回修改,一般直接发回给本人就可以了,按业务需要可以添加直接终止路径。发回修改后,再次提交,能看到之前发回修改的审批意见最好。
0 请登录后投票
   发表时间:2012-10-22  
一个好的系统不是一撮而就的……lz继续……
0 请登录后投票
   发表时间:2012-10-25  
中国式的工作流,把许多问题都混入了工作流中。

应该保持工作流简单,对流程逻辑以外的逻辑要分离出来。
0 请登录后投票
   发表时间:2012-10-25  
billyw 写道
中国式的工作流,把许多问题都混入了工作流中。

应该保持工作流简单,对流程逻辑以外的逻辑要分离出来。

您的意思是工作流只是作为OA系统的一个连接部分,他只是负责了审批,该系统应该给各个业务系统提供接口,具体业务在各个业务系统进行处理。不知这样理解是否正确。

0 请登录后投票
论坛首页 Java企业应用版

跳转论坛:
Global site tag (gtag.js) - Google Analytics