基于工作流的企业办公自动化系统的分析与设计

/ 2

基于工作流的企业办公自动化系统的分析与设计

张少宇(广东金融学院,广东广州510521)

摘要:办公自动化(OfficeAutomation,A)在20世纪70年代迅速发展起来并传入我国,90年代进入飞速发展的阶段。文章分析了工作流技术在办公自动化系统中的应用。最后,提出以对象方式定义办公自动化系统中工作流的方法并在系统中实现,使用户对各种工作流的管理更便捷。

关键词:办公自动化;工作流;集成

在当今信息时代,无论政府机关,还是工商企业都需要加强部门、人员之间的交流、协调和协作,都需要更好地获取信息,共享信息资源,更快地反映情况,掌握每一项工作进度,为领导决策提供大力支持,为业务人员提供服务。因此,许多企业、政府部门都十分重视建设自身的办公自动化系统。但是,许多企业单位在实际使用以系统的过程中却遇到了不少的问题。尤其是当企业组织机构、业务流程改变时,原有的以系统基本上就不能满足改组后的办公需求。这些问题的存在大大限制了办公自动化系统的应用范围和发展前景。

1办公自动化系统中的工作流模型分析

1.1过程模型

办公自动化系统中过程模型反映实际业务流程信息。业务流程从逻辑上可以包括一个和几个子流程。过程模型把组织机构、应用数据、表单与实际应用步骤联系起来。

1.2组织模型

组织模型是用来定义企业中的组织形式的模型。它应该提供灵活的结构以适应不同企业或企业中不同的组织。

1.3资源模型

资源模型是企业进行生产经营不可缺少的物的因素,在工作流的执行过程中,必须得到企业资源的支持,相应的组织实体才能够按照要求完成活动。

1.4访问控制模型

在办公自动化系统中,访问控制模型用来定义系统用户在系统功能的操作能力和工作流程的参与程度的级别和范围。综合实用性和灵活性的考虑,本文提出的办公自动化系统采用基于角色的访问控制模型(如图1)。

①对象:系统的基本操作单元,是系统用户操作的直接收受者,包括系统功能项操作和工作流过程任务参与。②用户:系统访问控制划分的最小单元,每一个用户就是对系统中对象进行操作的直接实施者。③组:涵盖了组织模型中的部门和工作组的概念,是用户在工作能力和职权方面的划分和组织。④角色:以工作职责为前提,能够完成系统某类功能或具有参与工作流过程中某类任务的人员的总称。

2系统的总体设计

①对工作流进行提取。首先,明确系统的需求,针对系统任务所提出的单位的核心结构、业务分类和业务具体执行程序、业务的相关数据来源与流向。然后,基于系统所分析的结果,按照其相关工作性质系统的划分工作流。一般情况下工作流会设计到一个或几个部门。

②系统原型的构建。流程定义是工作流的一个正式化描述。包括过程的开始、结束的条件、活动网络和关于单独行为的一些信息的描述,例如角色、权限等等。实际设计上,您能选择典型的工作流,与原型技术的面向对象的设计符合的原则,根据实际情况可以被划分成设计小组的很多位设计师,因此每个小组,会分别设计工作流的原型。

③集成系统。针对已经设计出来的工作流原型,在让用户试用后提出相关意见,并在此基础上不断完善工作流的原型设计。同时,要考虑到一些特殊岗位及特殊人员的要求,直到所有的工作流都满足要求为止。把每一类活动都完善之后,就需要设计工作流处理模型,将活动集成在一起。每一个用户进入总界面作出操作选择之后,即启动工作流驱动机制,经驱动机制选择其所对应的模块任务,最后进行流向修改。

系统集成也就是工作流集成,当系统的基本功能己经实现时,改进用户界面。由于基本的工作流程是相对地独立的,因此在一个联合工作流程不需要改变基本的传动机构,当焦点是提供用户以用户界面一个联合办公界面。

3基于工作流引擎的OA系统的设计与实现

3.1工作流引擎的模块设计

工作流引擎是业务流程事例的一个系统,并且提供服务软件的操作环境,是工作流管理系统核心,每个模块具体设计是如下:从级别划分,系统分层可以分为逻辑层和持续层。逻辑层,包括所有数据对象和完成引擎的目标的一定数量的辅助函数应付所有逻辑功能。持续层主要对目标数据进行持续工作,包括个体对象创造、访问、更新和删除保护的工作,阻断了逻辑层对下级的控制。逻辑层和持续层的层数存在从数据局限的,当数据改变,会尽可能小的影响逻辑层的变化。从逻辑功能的上来划分,包括定义、例子、日志、新闻和其他辅助对象的过程(包括数据分析,日志,错误处理等等)。

3.2引擎数据库的设计

对于工作流的实体对象一般均为持续对象,其数据均存储在数据库中。根据数据的保存时间可以将数据库中的表划分几种情况。

定义表:存贮过程的定义所有信息,是为连续过程的依据。

例子表:数据流临时储藏的操作,临时运行后将被删除。

日志表:系统运行过程的历史数据,是作为统计的依据。

组织表:不但存依赖时间而存在,工作流事例将引导它。

实体对象对应其数据共存。但在其流程全过程之中,并不是所有的对象与数据都同时存在。在不同数据在不同时期具体分类如下:

①定义表:与过程相关的数据、断点、应用实例、工作项及其相关数据。

②例子表:复制、处理事例与过程相关的数据、断点实例、断点数据、工作相关的数据,信息工作。

③日志表:处理事例与过程相关的数据,断点实例,断点数据,工作项及其相关数据。

3.3引擎的对象设计及引擎服务

工作流引擎对象的设计:在过程、点、工作和其他支持的对象的主要目的工作流引擎,他们决定了所有活动和逻辑引擎的认识。某种程度上设计的类型通过保护节点类型之间的区别使面向对象的方法连续。对象管理负责将对象的需要按不同的类型建立不同的事例。

在对象的工作流生存周期中,当过程被生成,过程从静态状态被转变为动态流程状态。流程将存在两个逻辑单元:过程和节点的生成,以及过程形成的数据变量。当流程变为可转变的过程时,系统会生成过程实例,但节点并非一定能成为实例状态,其具体情况则要由过程转变的路径来决定。其中可流转的具体实例对象也将存在活动的内存状态和稳定的数据库状态两种状态。就节点来说,当目前的节点结束后,根据定义路由过程将自动进行到下一个节点,而这时的节点需要将该节点从固定的状态转成为可流转的状态,从而向对象管理器发出请求创建新的节点,对象管理器将根据所请求类型自动生成相应的空对象实例,并对对象实例按照程序定义标识进行原始数据的初始化,然后获取过程传输来的具体数据,将所有已知相关数据通过持续对象写入数据库,同时将启动逻辑关系处理系统,生成工作项或进行路由。在完成目前的任务后,如果该节点将完成,自己将自动删除或者由于内存不足而直接退出内存状态。节点的记忆体只有当进程在必要时才会再次向对象管理器请求再载入。对象管理器通过持续的数据层从数据库创建对象并装配数据,从而使其成为一种内存对象。如果该节点已经完成,在被删除之前会将信息进行日志信息记录。过程、过程数据的节点和节点的相关数据、工作项目最后都将记入日志。

参考文献:

[1]吴朝晖.邓水光.工作流系统设计与关键实现[M].杭州:浙江大学出版社.2006.

[2]范玉顺.工作流管理技术基础—实现企业业务重组、过程管理与过程自动化的核心技术[M].北京:清华大学出版社,2001.

[3]KrzysztofCwalina,BradAbrams..NET设计规范[M].北京:人民邮电出版社,2006.

[4]张小兵,杨雪梅,刘连军.OA系统开发平台选择方案评析[S].科学与管理.2007,(6):55-56.