|
EDA365欢迎您登录!
您需要 登录 才可以下载或查看,没有帐号?注册
x
当今社会中,企业之间竞争越来越激烈,尤其是我国加入世界贸易组织后,随着外国企业的进入,这种竞争会继续加剧。企业如何发展,如何取得更大价值,是人们普遍关心的问题。为了适应市场经济的形势,依靠加强管理来增加效益已经成为人们的共识。本文的研究目的是使企业管理流程化,并将这种流程与企业信息化管理系统结合起来,以此来加强管理,提高效率,转变企业的传统管理方式,以适应现代化企业参与国际化竞争的要求。0 v+ Y5 T! f( R+ |- j
工作流(workflow)是为提高工作效率而提出的,目前尚无统一、明确的定义。工作流管理联盟(Workflow Management Coalition)将工作流定义为:业务流程的全部或部分自动化,在此过程中,文档、信息或任务按照一定的过程规则流转,实现组织成员间的协调工作以达到业务的整体目标。当前,大部分企业的管理程序都是以手工为基础,流程参与人员在处理完自己的工作之后,手动地将流程档案交给下一位人员来处理。这种管理方式既费时又费力,在计算机应用如此发达的今天,使用这种管理模式,是极其落伍而且效率低下。; y8 M: `. i* _
企业管理流程化就是要将企业传统的管理方式抽象为流程模式,通过计算机系统在企业中自动运行,实现流程中的各项任务的跟踪与控制,使企业内部信息正确流转。通过流程管理功能,企业能够方便地实现工作流程化、过程自动化、权限动态化、信息标准化。将流程管理模块同企业信息化管理系统结合起来后,它能够提供强大的流程管理工具和流程监控工具,完成企业各种流程设置与管理,缩短设计、工艺、制造中的各种中间环节,大大提高企业的工作效率,增强企业的竞争力。
, s1 r! `# S$ ?+ N- Y% h; q 二、理论基础
2 O" l% I9 J9 K/ S 流程设计的理论依据是工作流技术和嵌套事务的管理。工作流是描述一个企业或组织的业务处理活动过程的模型。事务的概念是在数据库理论中提出的,而嵌套事务的理论是建立在事务基础上的。2 ^- @; V( _: }3 K& R1 @
2.1工作流理论
: l3 @. c4 |& R; U, `3 ?# _ 2.1.1工作流的基本概念和定义
6 n$ {, S' h2 ?# I6 I3 O' z( H 工作流管理一直是企业界和学术界关注的热点领域。1993年,国际上专门成立了工作流管理联盟(WFMC),以便对工作流实现标准化管理。工作流是一类能够完全或者部分自动执行的经营过程,它根据一系列过程规则、文档、信息或任务能够在不同的执行者之间进行传递与执行。它是一种反映业务流程的计算机化的模型,它是为了在先进计算机环境支持下实现经营过程集成与经营过程自动化而建立的可由工作流管理系统执行的业务模型。2 b6 V$ g, [$ a% y7 @; b
2.1.2工作流管理系统
9 ?: I/ }" c& V8 \, e! h7 W 工作流是描述一个企业或组织的业务处理活动过程的模型。例如,一个设计过程是由绘图、校对、审定、发布等活动组成的工作流,它包含设计人员、CAD系统、工程数据库系统等多个人和系统的交互操作。如果完全依靠人工干预进行管理,其效率将非常低,对于复杂的工作流来说,甚至是不可能的。因此,为了对业务活动(工作流)进行有效的管理,必须建立工作流管理系统(Workflow Management System,WFMS)。& I9 ^! H+ P2 @7 \9 I) s. C
工作流管理系统是一个软件系统,它完成工作流的定义和管理,并按照在计算机中预先定义好的工作流逻辑推进工作流实例的执行。是支持企业经营过程高效执行并监控其执行过程的计算机软件系统。工作流管理系统一般提供3种功能:# S D6 H- {0 [6 g) @# Z
1)建立阶段功能:主要考虑工作流过程和相关活动的定义和建模功能,即完成经营过程的计算机化的定义;8 x; G& s/ r$ N
2)运行阶段的控制功能:在一定的运行环境下,执行工作流过程,并完成每个过程中活动的排序和调度功能;/ [# O! p5 T! m- y r+ E' S
3)运行阶段的人机交互功能:实现各种活动执行过程中用户与IT应用工具之间的交互。
/ a, R a5 W/ O( S( Y 2.1.3工作流技术在流程设计中的应用, n/ d$ {" g; O% |- R) l* a
在流程设计中,把事务性工作流管理系统的概念引入到企业信息化管理系统中,这里所说的事务不是指传统的事务模型,传统的事务模型支持事务的ACID性质严重地限制了应用系统的可使用性,如分布异构环境中的多数据库系统、工程设计中的长事务系统及各种工作流管理系统等。当前的研究重点放在先进事务模型问题上。先进事务模型可分为扩展事务模型和松弛事务模型。扩展事务模型的特点是将事务定义为子事务组成的分层结构,从而可实现不同的执行策略和控制协议,多级事务模型和嵌套事务模型是两种典型的扩展事务模型;松弛事务模型的特点是有选择地放松事务对ACID性质的要求,弹性事务模型是一种典型的松弛事务模型。我们在流程模块设计中采用的是嵌套事务的管理。2 |% P# L o1 z% c2 r3 s
应用工作流技术,可以为企业的经营管理带来以下好处:
: M4 E* P/ G% U$ q3 N$ f 1.降低劳动强度,提高工作效率;
$ P# O4 L& V( {; h 2.高度自动化,协作化,大大减少重复劳动;
) z) e3 B$ q! S2 p 3.通过工作流的监控机制,可以发现流程的瓶颈,从而为重新整合企业的业务流程提供依据,使之更为有效;
7 }' X* T% a3 P( k, d$ |- i 4.减少或避免人为因素造成的原则性错误及由此带来的损失;
( l4 [' ~4 |0 |) W1 E3 \ 5.避免传统处理方式中的随意性造成业务流程混乱;2.2事务管理的理论2.2.1事务的概念及特点
* P2 B* @+ t2 U( { 事务可定义为一个操作序列。该操作序列是用户用来给出一个实现查询或数据库更新来和数据库进行交互。事务作为整体必须具有一种基本特性,即它是将数据库从某个一致状态转变成另一个一致状态。如果事务没有这样的特性,它对数据库的所有更新就不被接受。所谓一致的数据库状态即是数据库满足完整性约束条件。这些完整性约束的一般形式都和函数依赖、键、多值依赖、群集、归纳等有关。另外,还有很多完整性约束是由逻辑表达式来说明的,就像在查询模块的限制部分中出现的那样。' p; R, W1 }$ I# d9 L4 X% h
事务不论按照什么顺序先后执行,只要数据库的初始状态是一致的,那么完成这样的串行执行之后,它显然还处在一致状态。
9 i; ~$ P: n/ E" y7 Q: m 2.2.2嵌套事务的概念1 L+ }$ J, p2 \1 \8 O' \+ ~# z
嵌套事务是一个可以包含任意多个子事务的事务,而每个子事务还可以由任意个子事务所组成,由此构成了的一种任意深度的阶层式嵌套事务。其中,根事务被定义为不被任何事务所包含的事务,即是顶层事务。存在子事务的事务被称为父亲。父亲的子事务称为孩子。也可以用祖先与子孙或超级与下级来称谓。这种父子关系可以被称为事务的阶层。! I/ q2 I% @% K% ^! M+ i
顶层事务的阶层性可以用一棵称为事务树的结构来表示。事务树中的结点代表事务,而结点间的连线则表示相关事务的父子关系。如下图所示,根结点代表顶层事务A,子事务C的孩子由D和F代表,C的父亲是B。C的子孙是D、E、F和G,而它的祖先是B和A。依此类推,C系列的祖先和子孙阶层还要包括其自身。因此,C的阶层即是C的子孙树的跨度集合。
" B+ U. t" s! }7 _/ y 事务树结构图5 @0 X* V% l/ i3 n' h! h' E+ E3 [
2.2.3嵌套事务在流程模块中的应用$ Q8 i$ H' Y- _
在嵌套事务过程管理环境中,一个工作流的过程被定义为具有阶层关系的事务的集合,一个工作流即是一个嵌套事务,因此可以将工作流作为一个事务来处理,而工作流中的每一个步骤即是一个子事务。工作流模式使用嵌套事务结构中事务隔绝性与原子性的宽松定义。采用两阶段锁方法处理恢复。在第一恢复阶段沿任务树自底向上查找确定最顶层父亲事务,该父亲事务不需要被恢复。下一阶段将恢复其所有孩子事务。在该模式中,事务的原子性的范围只是作用于工作流阶层的一部分。
+ x5 w$ ?. ]4 ?6 v" L$ q% B 三、总体设计3.1要实现的功能
u1 q/ z0 ]$ K* A9 ^) I' _' W 流程管理是企业信息化管理系统中一个不可缺少的模块,它用来定义和控制数据操作规程的基本过程,主要管理当用户对数据进行操作规程时人与人之间或活动与活动之间的数据流向,以及在一个项目的生命周期内跟踪所有事务和数据的活动。流程模块要包括以下功能:' u) A. \# y# Y' x. h) H, F) Q
1.自定义流程类型:用户可以自定义流程类型以满足企业需求;
3 }) W) P2 [% i. `' s: J: N, o5 U 2.设计流程图:用户可以使用工具方便简单的设计工作流程图;/ u' {0 ^# S$ |/ h; q
3.自定义业务规则:用户可以在流程中触发执行自定义的脚本,完成特定的业务工作;
: P" q( L6 o U! }: }8 d 4.分配工作任务:用户可以分配工作任务,包括系统中的一些工作任务,如登入、登出、归档等;
& ]8 l8 q; Q4 X7 q$ F. A% q6 U 5.分配工作人员:在每一个工作点可以分配工作人员。另外,管理者可以把工作委托给其他人完成,也可以在运行时确定工作人员;
' N0 i$ @" _. @0 f 6.启动工作流:可以选择要处理的工程图纸或文档,启动工作流处理后继工作;: x/ @! V$ H9 \) _3 y% T: p
7.接收流程:接收本人要处理的流程;+ q5 T. j/ m" i
8.执行工作任务:可以利用流程信箱接收和发送流程,执行分配给自己的任务;
" ~1 p2 Z9 s. l/ G. l 9.发送流程:将流程发送到下一个节点;3 U% D, n$ t O% l* c. V
10.流程跟踪:流程图节点以不同的颜色表示当前运行情况;/ d& p" E+ w* `/ B5 Z
11.流程监控:流程的管理者可以及时掌握流程的情况。可以查看过期任务、解决流程运行中出现的问题。
6 S- q: @- g- J( q% F7 G) B 3.2 组成
* N/ ~) \9 ]( k 根据流程要包括的功能,把整个流程分为三个部分,分别实现上述功能: P. R% q% I8 g* m' N
1.流程设计模块:设计流程图的工具。使用流程设计模块可以建立流程图、保存流程图、把流程图分配给流程;
5 v# S. Z( g v1 O+ b 2.流程运行模块(流程信箱):启动流程、接收流程、执行任务、发送流程;+ W! J; ~* e4 L- ~ s
3.流程管理模块:流程管理工具。管理员可以查看和监控已经运行的流程,出现问题或过期的流程可以及时得到调整。" f, F' c- W4 B# ~4 ?) w& M
3.3 系统结构
& a, A/ t9 E& P8 V6 k4 H; `# Q( H 流程模块分为四个层次,体系结构如下图所示:
+ ~, E. ?5 J( J5 | 系统结构示意图
' f( t0 u8 K6 Z6 h) w( i 整个模块由数据库、内核层、功能层、界面层组成。数据库可以是任意关系型数据库,如:
% W, r# I) ]* G5 O9 M/ r1 a% Q3 f Oracle,SQLServer,Interbase等等。它提供了数据管理的最基本功能,如存、取、删、改、查等操作。企业信息化管理系统中使用的数据库要保存三类数据:数据库元数据(Meta Data),企业信息化管理系统运行数据和部分产品数据。元数据用于描述数据库结构,是数据库结构调整和跨数据库平台移植的原始依据,此数据由数据库管理系统DBMS维护。运行数据是指系统交付运行时的所有基础数据,比如系统用户信息、企业信息化管理系统运行逻辑规则描述信息、系统配置信息等等。运行数据属于系统基础数据,在数据库结构调整和跨数据库平台移植时需要保护。产品数据是系统运行过程中动态产生的数据,是与企业生产成果密切相关的数据。新投入运行的系统应该是一个产品数据为空的系统。信息化管理数据库系统中的元数据和运行数据是静态数据,相对比较稳定,系统投入运行前要设置完毕,必要情况下才进行调整,元数据和运行数据的修改属于系统维护工作;信息化管理数据库系统中的产品数据是动态数据,是在系统正常运行过程中产生的数据。
9 t+ Y% _' j, o& r7 b, K0 N" C 内核层是对数据库的操作,在这一层,封装成标准DLL,供上层调用。在内核层采用面向对象技术,把数据对象抽象为类。面向对象技术是当今计算机软件中用于对客观实体进行描述的最为有力的手段。把产品数据以对象的方式进行描述,很大程度上简化了应用逻辑的复杂性和编程工作的复杂性。在面向对象系统中,对象是基本运行实体,它既包括数据(属性),也包括作用于数据的操作(行为)。所以一个对象把属性和行为封装成一个整体。类是对在属性和行为上一致的对象集合的抽象。一个类所包含的方法和数据描述一组对象的共同行为和属性。把一组对象的共同特性加以抽象并存储在一个类中的能力,是面向对象技术最重要的一点,是否建立了一个丰富的类库,是衡量面向对象系统成熟与否的重要标志。对象和类是面向对象模型的最基本的概念,其灵活性支持丰富的语义表达和复杂的数据模型。
8 L8 k) _6 P0 I" W 功能层通过对内核层的调用,实现流程模块的功能,在这一层,封装成COM组件,方便界面层使用不同的语言来调用。功能层提供了描述产品数据动态变化的数学模型。在此基础上,根据企业信息化管理系统的管理目标,可以建立相应的功能模块。
8 R& y/ }/ T, r! q I$ T 界面层是系统与用户打交道的地方,也是用户评价软件产品的最重要的部分,提供友好的人机交互界面,方便用户操作。目前采用Windows界面,将来可以考虑采用XML实现,方便网上使用。
2 A/ Z2 i2 l* `* H0 t; Y6 N9 A 3.4 数据库设计
6 a1 Z* I3 [2 y. _ 数据库的设计目标是建立统一的流程结构与运行规则,在行业版本中通用。使用的数据库为商用关系型数据库,根据用户的不同需求,可以采用Oracle、SQL Server、InterBase等关系型数据库。根据系统的要求,建立需要的数据库表,保证数据的完整性,符合第三范式的要求。2 y1 ~% d( s) N
3.5 数据结构设计
' b! H9 t' n5 u$ m: s 根据本流程模块系统的层次结构,把整个程序分为三个层次,第一层是DBLayer层,在这一层负责对数据库的操作,不处理具体的业务过程。该层封装成DLL的形式,供上层调用。第二层是FlowLayer层,通过对DBLayer层的调用,来实现具体业务处理。这层封装成COM的形式,便于在各种编程语言中调用,易于实现界面的移植。第三层是界面层,把对流程的处理通过界面表达出来。通过采用层次结构,各层的功能划分比较明确,在需要添加新的功能时,只需要在对应的层次上修改,而不需要对整个程序作大的改动,适合于模块功能的扩展。* D9 i. o6 ^9 N- ]5 K M1 c
3.6 运行环境要求
4 C( {" V3 g" i/ Z( S 硬件环境:PC机与兼容机,CPU要奔腾200以上,内存32M以上。$ W( X6 A$ h+ Y( L. A
软件环境:Windows 9X、Windows NT ,Windows 2000,Windows XP。
* ] h$ M4 b& ]& X; ^% M 四、结论. I, ]" w6 p! n/ F9 g/ r1 w
本文所阐述的流程是一套适合于我国企业目前技术水平和管理状况的流程管理模块。这个模块功能齐全,操作简单,拥有良好的人机交互功能,为企业管理过程的自动化提供保证,实现企业管理流程化。此流程模块还具有严格的权限控制,在流程的运行过程中,只有该流程的相关人员才有权力对流程中的文档进行浏览和修改等操作,使企业中的工程任务的保密性大大提高,将流程管理与企业组织紧密联系在一起。) _! J1 O, c! [ M9 h( s
|
|