那些年,工作流引擎设计踩过的坑

上篇中我简单梳理了工作流的基本定义和相关属性,本周将结合我个人的工作经验,总结分享下在工作流引擎设计过程中踩过的一些坑。

一、工作流系统总体框架

根据工作流系统的特性,一个基本的工作流主要部件应包括可视化建模工具、客户端、监控与管理工具、后台数据库服务器。工作流系统总体框架如图1所示。

那些年,工作流引擎设计踩过的坑_第1张图片

二、工作流的分类

一般而言,工作流分为固定流程自定义流程两种方式。

通常为了提高产品的自由度和灵活性,常将两者相结合设计。即:产品默认提供多种场景下的流程模板,比如针对IT行业产品研发可提供产品设计、需求管理、bug管理和敏捷开发等;对于行政人事,可提供行政审批、人力资源管理、招聘等。

下图为Teambition软件结合日常工作场景,将工作模式细分为多个场景并提供对应工作流模板,方便用户快速使用。

那些年,工作流引擎设计踩过的坑_第2张图片
Teambition多场景工作流模板

固定流程的好处是用户可以直接相应模板,提升工作效率。但固定流程在灵活性上存在着一定限制,在这种情景下更适合与自定义流程方式。

用户可结合实际场景自定义流程的流程节点、执行人和相应权限。

三、工作流程设计

       1.表单设计

       在工作流引擎中,表单为工作相关的数据载体,相当于现实生活中的各类纸制或Word工作单。表单设计一般需要注意一下几点:

1)基本属性

各个表单具备唯一属性。例如,对于出差申请单,基本属性需要包括表单名称、申请人、所属部门、出差日期及审批意见等。

2)操作类型

不论是新建表单还是已有表单,均需要包含几种常见的操作类型:编辑、导入、导出和删除等功能。

2.流程设计

流程设计是工作流引擎的核心。主要涉及以下几点内容:

1)流程基本内容

流程基本内容包括流程序号、下一步骤、转交和回退选项。

一般而言,下一步骤为空,即表示流程按步骤序号依次执行。如果设置该功能,则表示允许跳转至该步骤。

下一步骤的使用,可以方便用户设计好更加复杂、更加灵活的业务流程。

那些年,工作流引擎设计踩过的坑_第3张图片
流程基本内容

另外,日常工作大多有实效性,因此在工作流设计过程中需要考虑到时限。当超过时限应允许主办人强制转交,进入下一流程或结束。

2)条件设置

条件设置指对表单数据进行校验,根据条件判定自动选择流程,实现流程的自动化条件控制。如下图所示。

那些年,工作流引擎设计踩过的坑_第4张图片
条件设置


那些年,工作流引擎设计踩过的坑_第5张图片
工作流

  四、工作流实际案例   

下图所示为一款协作类产品,除了软件自身提供的常见工作流模板外,支持用户手动新建工作流。

该模板包含工作流引擎基本内容,例如,流程名称、各阶段相应执行人和监管人员抄送人。另外,对于工作流涉及的时限和转交功能均包含在内。今后大家工作中涉及该类领域时,可以详细交流下。


那些年,工作流引擎设计踩过的坑_第6张图片
流程编辑


那些年,工作流引擎设计踩过的坑_第7张图片
流程时限及转交设置

后记:

逼迫自己强行输出是一个痛并快乐的过程。坚持!最近和几个小伙伴们新建一个QQ群,大家互相监督,每周写篇产品相关文章,有兴趣的小伙伴可以加入我们~  ……^_^  群号:737758225

那些年,工作流引擎设计踩过的坑_第8张图片

以上。

小蜗牛

2018/04/10

你可能感兴趣的:(那些年,工作流引擎设计踩过的坑)