工作流系统设计手册一、引言工作流管理是目前被业界广泛应用并迅速发展的技术,它的主要功能是使业务处理过程自动化,协调人和各种应用程序的工作。工作流管理系统(WorkflowManagementSystem,简称:WfMS)以企业业务过程为核心,结合了计算机支持协同工作以及企业信息系统的相关技术,立足于过程自动化,着眼于整体效率的提高。随着计算机软硬件技术的发展,特别是Internet和Intranet的迅速普及,工作流管理系统的应用范围已不仅仅限于传统办公环境(如保险、银行、法律、行政管理等)和工业制造中,而且逐渐扩展到企业应用环境中。1993年成立的工作流管理联盟(WorkflowManagementCoalition,简称:WfMC)给出了一系列工作流的规范。其主要概念有:工作流工作流是一类能够完全或者部分自动执行的经营过程,它根据一系列过程规则,文档信息或任务能够在不同的执行者之间传递与执行。工作流是一种反映业务流程的计算机化的模型,实现经营过程集成与经营过程自动化而建立的可由工作流管理系统执行的业务模型。工作流管理系统它是一个软件系统,完成工作流的定义和管理,并按照在计算机中预先定义好的工作流逻辑推进工作流实例的执行。并监控其工作状态。工作流管理系统可称为企业的业务操作系统。(BusinessOperatingSystem,简称:BOS)工作流系统参考模型有关工作流管理联盟更详细的规范请参见二、JU工作流管理系统根据国际工作流管理联盟的标准模型,实现了过程定义工具、工作流执行服务(工作流机)、工作流管理工具以及工作流客户应用(人工动作)和供工作流执行服务(工作流机)直接调用的应用(自动化动作)。人工动作必须与表单绑定。表单提供了人机交互的工作界面,而表单的后面是标准通用的关系型数据库系统。对于数据库系统我们提供了标准的数据管理模块进行管理。这样就和目前常见的工作流系统有了明显的区别,结构化的数据库系统参与了工作流的全部过程,而目前常见的工作流系统多采用非结构化的文档数据库。经过扩充后的工作流系统既解决了人员之间的协同,提高了工作效率。也解决了其它工作流系统不能解决的第二个问题,为业务管理系统提供准确有效的数据,加上可自定义的报表工具,分析工具。即可生成极具个性的企业业务管理系统。过程定义工具和工作流客户应用是人机交互的主要部份。过程定义工具的使用是一个设计开发的过程,而工作流客户应用则是使用的过程,设计开发过程相对复杂,而使用的过程则非常简单。对于两种不同的过程,我们采用了统一的设计方法,采用了完全的B/S结构,现有的工作流系统一般设计工具采用C/S方式,运行端使用B/S或C/S方式,我们的系统将两者进行了统一,使用了独创的技术,可以直观方便地使用IE定义流程图。降低了对管理员的要求。同时,在流程运行时,流程图可以动态显示当前的状态,高度紧凑的系统提高了运行的效率,降低了出错的可能。三、工作流基本知识流程又叫业务流程、工作流程。是反映业务目的工作流模型,这个模型定义了要实现的目标以及实现目标所要经过的过程。流程可以用流程图来表示。独立流程独立流程是可以直接启动运行的流程,一个完整的独立流程由若干个动作和若干个流转条件组成。其包含的的属性有:工作流模型ID、名称、类型、编号、状态、版本号及绑定的数据源等。子流程和独立流程唯一不同的地方是子流程不可以直接启动。子流程将作为独立流程的一个动作来执行。数据源存储数据的集合,目前支持关系数据库中的表,当数据源与流程绑定后,则数据源用来保存工作流运行过程中的数据。动作又叫活动,动作是构成流程的基本单元,主要反映完成业务流程需要执行的操作。其包含的属性有:动作名称、动作描述、动作类型(人工动作、自动动作、子流程等)、是否起始动作、是否添加动作、动作人、动作时限、通知方式以及相应的表单信息等。动作在流程图中用一个方框来表示,方框内显示了动作的重要属性。起始动作表示一个业务流程的起点。当起始动作启动后,系统将自动生成一个流程实例。每一个流程最小有一个起始动作。起始动作目前是由人工来启动的。区别与别的工作流系统,起始动作本身也是一个动作,人工起始动作将启动表单,提供人机交互界面,与实际业务过程中的起草、申请、录入等工作相对应。在流程图中的动作方框内有一个明显的箭头图示表示起始动作,非起始动作则表示为齿轮。人工动作指需要业务人员进行一些手工处理的动作。人工动作在在执行时将启动表单界面,提供人机交互界面。自动动作指无需人工干预,系统自动运行的动作。添加动作在人工动作时,其启动的表单界面是空白表单。而当非添加动作时,其表单为上一动作传递而来,当起始动作为非添加动作时,启动的表单将从已存在的表单中选取。一般情况下,起始动作同时也是添加动作。非起始动作同时也是非添加动作。只有一些特殊的流程,起始动作不是添加动作。流转条件表示从一个动作(源动作)转到另一个动作(目标动作)的条件,流转条件包含一个结果为真(true)或假(false)的逻辑表达式,当表达式为真时,目标动作将被启动,当表达式为假时,目标动作不被启动。目前表达式支持VB的语法。在表达式定义过程中,流程表单中的每一输入数据项都可以作为变量被引用。流转条件包含的属性还有:类型(单径流转、多径流转)、文字描述、源动作、目标动作、名称等。流转条件在流程图中表示为一个连接源动作方框和目标动作方框的单向连接线。单径流转为流转条件的一种,当目标动作的动作人不唯一时,即一个动作存在多个动作人时,单径流转的处理逻辑是当其中一个动作人完成了目标动作,则此目标动作即变成完成动作。无须再做。多径流转为流转条件的一种,当目标动作的动作人不唯一时,即一个动作存在多个动作人时,多径流转的处理逻辑是当其中一个动作人完成了目标动作,则此目标动作仍为待办动作。只有所有的动作人都完成了动作,该目标动作才变成完成动作。流程图业务流程的图型表示。流程图有两种形式,一种为模型流程图。表示流程的模型。另一种为实例流程图,不但表示流程的模型,同时还表示流程的实例。即流程实例的完成动作和待办动作。流程实例流程启动以后产生的运行实例,即一个运行的业务流程。系统会产生一个唯一标识ID来表示流程实例。动作实例在流程实例中启动了的动作运行的实例,系统会产生一个唯一的标识ID来表示动作的实例。完成动作当一个动作实例已经完成,为完成动作。待办动作当一个动作实例没有完成,为待办动作。超时动作当一个待办动作超过动作设定的时限为超时动作。四、过程定义工具过程定义工具又叫建模工具,我们提供了方便易用的过程定义工具。该工具作为整个协同管理系统的一个系统管理员功能提供给用户。说明:在过程定义工具中并不包括组织结构和角色定义功能,这是因为,在人力资源模块中已经实现了这些功能。人力资源模块是系统的一个基本模块,并不仅仅为工作流子系统服务。当人力资源模块中的基础数据建立完成后,工作流系统只需要从人力资源模块引用数据即可,不必在工作流系统中单独建立组织结构和角色定义。定制一个工作流程需要完成如下几个步骤:新建工作流模型(可以从现有工作流模型中选取一个作为模板)定义工作流的基本属性绘制模型工作流图定义人工动作对应的表单新建工作流模型运行工作流程的定制流程功能模块即可定制一个新的工作流程。定制流程模块显示的第一个界面是分类列出系统已经定制的各项流程名称,点击名称,将在界面下部显示选中流程的流程图。我们可以从现有工作流模型中选取一个与将要定义的工作流程近似的工作流作为模板。这样可以大大减少定义的工作量。点击右上角的箭头即进入下一步,在进入下一步之前,将询问你是否将选中的工作流模型作为模板。选确定将使选中工作流复制到新建流程。否则将创建一个新流程模型。定义工作流的基本属性基本属性有如下内容:1.流程名称流程名称应在所有的流程模型中唯一。用来在界面标识流程。2.编码代号可根据企业规定的流程文件填写(如ISO9000文件)。3.类型按管理类型所做的分类,管理类型在系统管理的编码管理模块定义。4.描述用文字描述流程要实现的目标。5.属性确定是否是独立流程或子流程。6.正常周期流程实例的正常的生命周期。用来为流程分析提供参考。7.监控人流程实例的监控者,通常为业务主管或绩效考评部门。8.制定人流程的制定人,由系统自动填写为当前用户的名字。9.制定时间流程的制定时间,由系统自动填写为当前时间。10.数据源为与流程绑定的数据源。点右边的图示从列出的系统数据表中选取。如果没有合适的数据源,应使用数据管理的数据建模模块来定义数据源。11.状态为待用、试用、使用、停用、作废选项。当选中作废时,当前编辑流程模型将被从系统中删除。12.启用时间流程模型的启用时间。13.停用时间流程模型的停用时间。14.级别用数字表示的流程重要性。15.版本号流程的版本号16.父版本流程的上一个版本17.更改说明流程更改情况的说明。特别说明:监控人相当于本流程的管理员,监控人可以是流程的参与者,也可以不是流程的参与者。监控人负责协调流程运行过程中出现的异常。监控人可以随时查询并监控流程运行过程中的每一个动作。当发现异常时,监控人可以通过催办、回退、终止、移交、删除等手段来解决出现的问题。点击监控人右边的图示,将弹出一个角色选择对话框。对话框分类列出了由人力资源模块提供的各类角色。下面分别说明:职务:列出系统定义的所有职务,注意:具有同一职务的员工通常有多人。部门:列出人力资源模块中定义的部门。这里指部门的所有员工。岗位:是部门和职务的合成。如财务部经理。岗位缩小了职务的范围。员工:列出人力资源模块定义的员工。其中第一项为所有员工。指所有用户。上下级:根据上下级关系定义的角色,共有如下几项。发起人:流程起始动作的执行者。所有上级:在人力地图中,位于发起人上级的所有的员工。包括上级和上级的上级等。所有下级:在人力地图中,位于发起人下级的所有的员工。包括下级和下级的下级等。直接上级:是发起人的直接上级。直接上级只应有一人。直接下级:是发起人的直接下级。直接下级通常不止一人。部门领导:是发起人部门的部门负责人。该负责人在部门表里定义。高层主管:是部门表位于顶层同时又是发起人的上级或间接上级的员工。高层领导:是部门表位于顶层部门的所有人。定义完工作流属性提交后,将进入绘制模型工作流图界面绘制模型工作流图在这里将定义动作和流转条件。通过菜单的新增、编辑、删除来定义动作。新增动作菜单将显示一个动作属性对话框。其内容有:动作名称:本动作的名称描述:本动作的文字说明类型:为人工动作、自动动作和子流程的选择框。起始节点:勾选是否为起始动作。是否添加:勾选是否为添加动作。时间限制:动作的时限,当超过时限未执行的动作,为超时动作。使用者:动作的执行人。通知方式:动作完成后,以什么方式通知下一个动作的执行人。系统提供了6种通知方式,分别为:不发送通知、即时消息、手机短信、电子邮件、短信和邮件、手动。表单风格:人工动作对应的表单的风格。有两种选项:表格风格和文档风格。表单列数:人工动作对应的表单的列数。表单返回页:当人工动作完成后,即表单提交后,返回的页面。默认为首页。座标:动作方框在流程图上的位置。如不填写,则为左上角。当新增一个动作后,将在流程图显示区域显示一个方框。方框里显示了动作的名称、动作人和动作时限。动作方框左上角的图示表示动作是否为起点动作。当图示为箭头时表示起点动作,选中流程图上定义的动作。再点击编辑菜单将显示动作属性编辑对话框。实现对动作属性的编辑,其对话框和新增动作显示的对话框同。双击流程动作标题。和点击编辑菜单效果相同。点击菜单删除将删除当前选中的流转动作。在删除流转动作的同时,将删除与该动作相连的所有的流转条件。用鼠标拖动动作方框的标题,可以将动作放到流程图的任意位置。新增动作的初始位置在流程图的左上角。选择网格菜单将在流程图显示或隐藏网格。当网格显示时,拖动动作方框时,其座标位置将锁定在网格点上。这样将很方便地实现动作的对齐。流程动作定义完成后,下面的工作就是定义流转条件了。把鼠标移动到