1、本科毕业论文(科研训练、毕业设计)题 目:可视化流程的设计姓 名:学 院:软件学院系:专 业:软件工程年 级: 学 号:指导教师(校内): 职称:指导教师(校外): 职称:2004 年 5 月 22 日可视化流程的设计摘要: 工作流是一项重要而有价值的技术,它的概念是从生产和办公的过程中演变而来的。自工业文明以来,它就一直存在至今,它也是通过对工作活动的流程的研究来提高工作效率的研究产物,它能很好的把工作活动定义为规范的任务,角色,规则以及用来调节绝大多数生产和办公中的工作过程。一开始,这些工作都是由操作实体的人来做的,随着 IT 时代的到来,这些过程通过计算机系统实现半自动或全自动控制,如今
2、,对多数组织而言,工作流管理系统在办公自动化方面作出了巨大的贡献。本文介绍了有关工作流的基础知识并且设计和实现了一个工作流建模(过程定义)工具。关键词:工作流 可视化 工作流管理系统 过程定义The Design of Visual Workflow Abstract: Workflow is a important and valuable technology,its concept has evolved from the notion of process in manufacturing and the office.Such processes have existed since
3、 industrialization and are products of a search to increase efficiency by concentrating on the routine aspects of work activities.They typically separate work activities into well-defined tasks,roles,rules,and procedures which regulate most of the work in manufacturing and the office.Initially,proce
4、sses were carried out entirely by humans who manipulated physical objects.With the introduction of information technology,processes in the work place are partially or totally automated by computer system.Nowadays,workflow management system is making great contributions to the office-automation of ma
5、ny organizations.This paper introduces some basic knowledge about workflow,we design and implement a modeling tool (process-definition) of workflow.Keywords: workflow visual workflow management system process-definition可视化流程设计系统目 录引言 1第一章 背景知识 21.1 工作流技术产生的历史 21.2 工作流的基本概念和定义 31.3 工作流管理系统 51.4 工作流参考
6、模型 71.5 工作流技术的特点和研究发展情况 91.6 采用工作流管理系统的好处 10第二章 系统概述 132.1 开发目的 132.2 开发环境 132.3 功能概述 132.4 DELPHI简介 .14第三章 系统设计与实现 163.1 界面设计 163.2 设计原理 173.3 文件的保存和读取 193.4 工作结点属性界面的设计 213.5 语法检查 22结束语 24致谢 24参考文献 25厦门大学本科毕业论文 软件学院 阮泉泉1引 言工作流就是自动运作的业务过程部分或整体,表现为参与者对文件、信息或任务按照规程采取行动,并令其在参与者之间传递。简单地说,工作流就是一系列相互衔接、自
7、动进行的业务活动或任务。我们可以将整个业务过程看作是一条河,其中流过的就是工作流。可视化流程设计系统就是对工作流进行直观的操作与管理。随着工作流在企业内部以及在日常生活中伴演着越来越重要的角色。开发一个可以对工作流进行操作、管理的可视化流程设计系统,具有很重要的意义。也具有很强的市场价值。本文介绍了有关工作流的基础知识并且设计和实现了一个工作流建模(过程定义)工具。可视化流程设计系统2第一章 背景知识1.1 工作流技术产生的历史工作流技术的历史可以追溯到 70 年代末的办公自动化和任务批处理。第一次使用工作流术语可追溯到 80 年代初,但是那个时候还没有真正的工作流管理系统出现。在以前,网络互
8、联的应用不十分普及,并且功能相对较弱,各种软件系统被设计成用于处理单个任务。随着计算机网络技术的发展,计算机的处理模式从集中式处理向分布协作式处理发展。在这种新的处理模式中,人们可以更加精确地对高层的系统行为进行建模,开发的系统能够更快地对应用需求的变化作出反应。因此,应用系统不仅仅要处理单个任务,还要能够管理组织机构内部的工作流,这种应用需求推动了工作流管理的迅速发展。为了更加深刻地认识工作流管理对未来的影响,有必要回顾一下过去 40 年应用软件系统的演化历程,从历史的观点来认识工作流。图 1 显示了工作流管理系统成为应用软件系统的一个组成部分的历史发展过程。在 6 0 年代,应用系统是一个
9、个独立的程序,每个应用程序都有着自己特有的用户界面和专门的数据存取系统,各个应用程序之间互不相干。在 70 年代,把数据管理部分分离出来,于是产生了数据库管理系统 (DBMS),应用系统大大地简化了数据管理工作。到了 80 年代,同样地又把用户界面部分分离出来,于是产生了用户界面管理系统 (UIMS)。通过使用 UIMS,应用程序不再过多地管理和用户的交互功能,并且使应用程序有相似的用户界面,方便了用户使用。直到 90 年代,工作流管理系统作为一个通用的应用功能开始出现,用于支持业务处理,使应用开发人员可以把业务流程从应用中提取出来。OS APLDBMSOS APLDBMSOSUIMS APL
10、DBMSOSUIMSWFMSAPL图 1.1 工作流管理系统的发展历程厦门大学本科毕业论文 软件学院 阮泉泉3进入 90 年代,越来越多的组织机构开始认识到需要有支持设计和执行业务流程的高级工具。业务流程问题成为目前信息系统开发中的突出问题,要求信息系统包含工作流管理系统以支持各种业务流程,其理由主要有 4 个:(1)新的管理哲学激发了组织机构对业务流程的兴趣,如业务流程再造 (BPR)和持续过程改进 (CPI);(2)组织机构内部的业务过程数量比以前大大增加,如今的组织机构比以前提供更多的产品和服务,并且产品和服务的生命周期也比以前大大缩短了,从而业务过程的数量也急剧增加;(3)为了适应激烈
11、的竞争,组织机构需要经常改变业务流程;(4)业务流程变得更加复杂。从工作流管理的发展历程可以看出,工作流管理的概念早在 80 年代初就已提出,但是由于当时计算机技术发展的限制,一直未能得到充分发展。直到最近几年,随着计算机技术和网络技术的迅猛发展,以及伴随着市场竞争的加剧,企业对提高生产质量、缩短生产周期等的要求强烈,使得工作流管理成为企业界和研究领域的热门话题。种种迹象表明工作流管理将会对下一代的信息系统产生重大影响。1.2 工作流的基本概念和定义1993 年,国际工作流管理联盟(Workflow Management Coalition,WfMC)的成立标志着工作流技术开始进入相对成熟的阶
12、段。为了实现不同工作流产品之间的互操作,WfMC 在工作流管理系统的相关术语、体系结构及应用编程接口等方面制定了一系列标准。不同的研究者和工作流产品供应商从不同的角度给出了工作流的定义。以下是机构比较具有代表性的定义。工作流管理联盟给出的工作流定义:工作流是一类能够完全或者部分自动执行的业务过程,它根据一系列过程规则、文档、信息或任务能够在不同的执行者之间进行传递与执行。GigaGroup 的定义是:工作流是业务过程中可运转的部分,包括任务的顺序以及由谁来执行、支持任务的信息流、评价与控制任务的跟踪、报告机制。IBM Almaden Research Center 的定义是:工作流是业务过程中
13、的一种计算机化的表示模型,定义了完成整个过程所需用的各种参数。这些参数包括对过程中每一个单独步骤的定义、步骤间的执行顺序、条件以及数据流的建立、每一步骤由谁负责以及每个活动所需要的应用程序。可视化流程设计系统4Amit Sheth 的定义是:工作流是涉及到多任务协调执行的活动,这些任务分别由不同的处理实体来完成。一项任务定义了需要做的某些工作,它可用各种形式来进行定义,包括在文件或电子邮件中的文本描述、一张表格、一条消息以及一个计算机程序。用来执行任务的处理实体可以是人,也可以是计算机系统(比如一个应用程序、一个数据库管理系统)。以上这些对工作流的定义是用非形式化语言对工作流所进行的描述,虽然
14、各有不同,但基本上都达成了这样的一个共识:工作流是业务过程的一个计算机实现,而工作流管理系统则是这一实现的软件环境。这些工作流的定义分别反映了业务过程如下几个方面的问题,即业务过程是什么(由哪些活动、任务组成,也就是结构上的定义)、怎么做(活动间的执行条件、规则以及所交互的信息,也就是控制流与信息流的定义)、由谁来做(人或者计算机应用程序,也就是组织角色的定义)、做得怎样(通过工作流管理系统进行监控)。在实际情况这可以更广泛地把凡是由计算机软件系统(工作流管理系统)控制其执行的过程都称为工作流。工作流通常用于过程的自动化,通过将文档、信息或任务按照预先定义好的规则和流程在参与者之间进行传递,从
15、而帮助用户实现和完成整个经营目标。在企业应用中,工作流经常与业务过程重组(Business Process Re-engineeringBPR)相联系,完成对一个组织(和机构)中核心业务过程(或者称为关键业务过程)的建模、评价分析和操作的实施。虽然并非所有的 BPR 过程都需要采用工作流的方式进行实施,但是,工作流技术通常是实施 BPR 的一个较好的方法,因为工作流提供了业务过程逻辑与它的信息支撑系统的分离,并实现了应用逻辑和过程逻辑分离,这种方式在进行企业实际应用时具有显著的优点。它可以在不修改具体功能模块实现方式(硬件环境、操作系统、数据库系统、编程语言、应用开发工具、用户界面)的情况下,
16、通过修改(重新定义)过程模型来改进系统性能,实现对生产业务过程部分或全部地集成管理,有效地把人、信息和应用工具合理地组织在一起,提高软件的重用率,发挥系统的最大效能。工作流技术可以支持企业实现对经营管理和生产组织的过程控制以及决策支持,能够实现现代企业“在适当的时间把适当的信息传给适当的人”的要求。工作流系统还可以提供系统日志功能。这种日志记录对于进行企业业务过程运转情况的事后分析和流程优化提供了十分重要的数据。如前面介绍,工作流主要是用来描述业务过程的,因此,一个工作流就可以看成是组织机构的一个具体的经营流程的抽象或图示化的表示。那么什么是业务过程呢?我们知道,组织机构的经营过程由一系列相关
17、任务组成,这些任务按照组织机构的管理规章和业务流程顺序或并行执行,最终完成组织机构的经营目标,如提供一种产品和服务。而如何才能描述清楚一个组织机构的业务过程呢?首先我们认为要描述一个组织机构的业务过程,主要应该说厦门大学本科毕业论文 软件学院 阮泉泉5明以下几个问题:这个业务过程要做什么?即其目标或想达到的目的是什么?这个业务过程是如何完成的,有哪些任务并经过哪些步骤完成?这个业务过程有谁参与完成,有哪些部门参与?这个业务过程用了哪些方式或手段来完成?为了能够说明以上四个方面的问题,并且以计算机可以识别的方式建立业务过程模型,在工作流中必须定义一系列的基本概念和术语来描述模型的组成,从而实现对
18、组织机构业务过程的建模。首先是工作流的定义,如我们在前面介绍的,工作流就是将一组工作任务组织起来完成某个业务过程。所以,工作流整个模型就是为了说明业务过程的目的,或者说这个模型描述的业务过程的目标。工作流中两个最基本的元素是活动和活动之间的连接关系。活动对应于业务过程中的任务,主要是反映业务过程中的执行动作或操作。活动之间的连接关系代表了业务过程规则和业务流程。一个工作流就是一个用一组连接关系组合起来的一组活动组成的一个反映组织机构业务过程的模型。执行活动和活动之间的连接关系说明了如何完成组织机构的业务过程,包括完成业务过程需要完成哪些任务和采用的步骤。1.3 工作流管理系统在明确了工作流基本
19、概念的基础上,下面介绍工作流管理系统的定义。WfMC 给出的关于工作流管理系统的定义是:工作流管理系统是一个软件系统,它完成工作流的定义和管理,并按照在计算机中预先定义好的工作流逻辑推进工作流实例的执行。通常,工作流管理系统指运行在一个或多个称为工作流引擎的软件上的用于定义、实现和管理工作流运行的一套软件系统,它和工作流执行者(人、应用)交互,推进工作流实例的执行,并监控工作流的运行状态。在这里需要强调指出的是工作流管理系统不是企业的业务系统。在很大程度上,工作流管理系统为企业的业务系统运行提供一个软件支撑环境,非常类似于在单个计算机上的操作系统,只不过工作流管理系统支撑的范围比较大、环境比较
20、复杂而已,所以也有人称工作流管理系统是业务操作系统(BOS-Business Operating System) 。在工作流管理系统的支撑下,通过集成具体的业务应用软件和操作人员的界面操作,才能够良好地完成对企业业务过程运行的支持。所以,工作流管理系统在一个企业或部门的业务过程中的应用过程是一个业务应用软件系统的集成与实施过程。工作流管理系统可以用来定义与执行不同覆盖范围(单个工作者、部门、全企业、企业间) 、不同时间跨度(分钟、小时、天、月)的业务过程。这完全取决于实际应用前景的需可视化流程设计系统6求。按照业务过程以及组成活动的复杂程度的不同,工作流管理系统可以采取许多实施方式,在不同的实
21、施方式中,所应用的信息技术、通信技术和支持系统结构会有很大的差别。工作流管理系统的实际运行环境可以是在一个工作组内部或者在全企业的所有业务部门。虽然不同的工作流管理系统具有不同的应用范围和不同的实施方式,它们还是具有许多共同的特性。从比较高的层次上来抽象地考察工作流管理系统,可以发现所有的工作流管理系统都是提供了 3 种功能:1)建立阶段功能:主要考虑工作流过程和相关活动的定义和建模功能;2)运行阶段的控制功能:在一定的运行环境下,执行工作流过程,并完成每个过程中活动的排序和调度功能;3)运行阶段的人机交互功能:实现各种活动执行过程中用户与 IT 应用工具之间的交互。图 1.2 给出了工作流管
22、理系统三个主要功能之间的关系。根据图 1.4 给出的工作流管理系统的主要特性,下面分别介绍它所提供的 3 个主要功能所涉及的研究工作和实施技术。图 1.2 工作流管理系统的特性在工作流建立阶段,通过使用一种或多种系统分析、建模和定义工具,把一个业务流程从现实世界转化为一个形式化的,计算机可以处理的流程模型或者叫流程模板 (Template),也可以称为流程元数据,或过程定义;在运行阶段,流程控制功能相当于现实世界与模型世界的桥梁,它解释已经定义好的模型,也就是说根据模型来调度一个流程中不同的任务并且激活相应的人或 IT 应用程序。这种流程控制功能实际上是由称为引擎(Engine)的软件模块厦门
23、大学本科毕业论文 软件学院 阮泉泉7来完成的;在运行阶段,一个流程的任务通常是由参与人员通过使用一定的信息处理工具或流程控制软件激活一定的应用程序来完成的,因此工作流管理系统需要与完成不同任务的用户、IT 工具或应用程序交互。这样看来,一个完整的工作流管理系统具有包括建模工具、工作流服务器 (引擎 )、用户界面以及 IT 工具或应用程序在内的分布式结构。1.4 工作流参考模型随着对工作流产品需求的不断扩大,许多公司纷纷推出了不同的工作流产品。这些工作流产品都有自己的特点,也有自己的协议和接口标准,它们在不同的应用领域进行了应用。但是,由于工作流管理技术与产品缺乏统一的标准,不同的工作流产品从术
24、语的定义和使用、系统结构的设计到与应用之间的接口规范上都存在较大的差异,所以,这些产品之间、产品与其他应用之间的集成十分困难。按照对系统开发性的要求,这些工作流系统和产品的规范化程度和开发性不够,导致它们之间不能够实现互操作。工作流管理系统互操作是指两个或多个工作流机之间通信和协作工作的能力。具有通信和协作的能力就称为可以互操作,否则就称为不能互操作。不同工作流管理系统之间不能互操作这种情况给开发商和用户都带来了很大的不方便,也在一定程度上阻碍了工作流管理系统的推广和发展。为了能够更好地支持组织机构业务过程建模、分析和实施,适应世界市场的多元化趋势,需要建立工作流管理系统的相关标准,从系统结构
25、、术语使用、接口实施方面提供标准化与规范化的定义,并以此为基础实现不同工作流产品之间的互操作,便于与其它应用系统的集成。在建立工作流的相关规范和标准方面,国际上成立了一个称为“工作流管理联盟” (简称 WfMC)的国际组织。它提出了有关工作流管理系统的一些规范,定义了工作流管理系统的结构及其与应用、管理工具和其他工作流管理系统之间的应用编程接口,其主要目的是为了实现工作流技术的标准化和开放性,从而支持异构工作流管理系统与产品之间的互操作,并且使得其他的应用可以使用该结构和定义好的通用 API(应用编程接口)访问不同的工作流管理系统提供的服务,实现与其他应用的快速有效集成。图 1.3 给出了 W
26、fMC(Workflow Management Coalition 工作流管理联盟)提出的工作流参考模型。这个参考模型 WfMC 于 1994 年 11 月 29 日提出的,它详细描述了工作流系统的有关概念,并在此基础上给出了 WfMS 的各主要组成部分、各部分的功能及相互之间的接口。下面我们对此模型作一个简要说明。可视化流程设计系统8图 1.3 Wf MC 工作流管理系统参考模型过程定义工具: 主要功能是给用户提供一种对实际业务过程进行分析、建模的手段,并生成业务过程的可被计算机处理的形式化描述 (过程定义 )。这也就是建立时功能的主要内容。过程定义工具与工作流执行服务之间的交互是通过接口一
27、(工作流过程定义读/写接口)完成的,它为工作流过程定义信息的交换提供了标准的互换格式及 API 调用。工作流执行服务: 它借助于一个或多个工作流引擎,来激活并解释过程定义的全部或部分,并同外部的应用程序进行交互来完成工作流过程实例的创建、执行与管理,如过程定义的解释、过程实例的控制(创建、激活、暂停、终止等)、在过程各活动之间的游历(控制条件的计算与数据的传递等),并生成有关的工作项通知用户进行处理等等,为工作流程的进行提供一个运行时环境。其他工作流运行服务: 一般是由一个工作流引擎提供的。在大型 WfMS 中,工作流的运行时控制可能需要多个工作流引擎共同完成,例如某个大的工作流过程中可能会包
28、含多个子流程,这些子流程就可以由另外的工作流引擎来提供运行时控制环境,甚至这些子流程可能需要其它异质的工作流执行服务来完成。这一点涉及到 WfMS 系统之间的互连。为实现有效的互连,需要定义互连模型、互连一致性级别及操作元素集。这些将构成接口四(互操作接口)的内容。对此我们将在最后一节中详细讨论。客户应用程序: 它的作用是给用户提供一种手段,以处理过程实例运行过程中需要人工干预的任务。每一个这样的任务就被称作是一个工作项,它包括处理上的一些要求(如处理时间的限制)及待处理的数据对象等。WfMS 将为每一个用户维护一个工作项列表,它表示当前需要该用户处理的所有任务。客户与工作流执行服务之间的接口
29、为接口二(客户应用程序厦门大学本科毕业论文 软件学院 阮泉泉9API)。WfMS 的各种服务,如会话连接、过程控制、活动控制、过程状态、活动状态、工作项列表的处理以及过程实例的管理等都可以通过此接口而得到。被调应用程序: 指工作流执行服务在过程实例的运行过程中调用的、用以对应用数据进行处理的应用程序。在过程定义中包含有这种应用程序的详细信息,如类型、地址等。目前已有的几种方式包括应用代理(它通过一个标准的接口同执行服务进行交互)、某种标准的互换机制(如 OSI-TP 协议或 X.400 等)、本地过程调用、远程执行调用、ORB 等。接口三的目标就是提供一些标准的服务供应用代理使用。基于这些服务
30、也可以开发出一些专门的应用直接同工作流执行服务交互。关于这些服务的语义及语法细节还有待更深入的研究。目前初步确定的服务大致可分成会话建立、活动管理(双向的)以及数据处理等几类。管理及监控工具: 其功能是对 WfMS 中过程实例的状态进行监控与管理,如用户管理、角色管理、审计管理、资源控制(包括过程管理及过程状态控制等)。它与工作流执行服务之间的交互是通过接口五(管理及监控接口)完成的。该接口规范详细描述了需要从过程执行过程所发生的各种事件上捕获和记录的各种信息(Common Workflow AuditData,CWAD),如过程实例信息、活动实例信息、工作项信息及远程操作信息等。上述五个接口
31、被统称为 Workflow API(WAPI)。这些标准的制定对于实现不同厂家的产品之间的互操作(如用一个厂家的管理与监控工具去管理另外一厂家的工作流执行服务)及基于工作流执行服务开发新的应用具有重要意义。1.5 工作流技术的特点和研究发展情况工作流管理技术的主要特征是实现人与计算机交互事件结合过程中的自动化。它源于计算机软件的商业应用,是一个多学科交叉的新领域,涉及计算机科学与管理科学的多种原则、方法与技术,包括数据库、形式化描述语言、应用与系统的集成、软件工程、文档管理、组织与资源管理、仿真技术、企业重组、分工协作等。工作流技术并非强调业务过程的全面自动化和完全不需要人的参与,而是把重点放
32、在对工作流中任务状态的自动跟踪与监控,并对任务执行的条件和任务间的信息流进行明确定义,从而实现业务过程的高效运转,并能够在最大程度上实现业务过程的重用。工作流管理实现了业务过程逻辑与嵌入在单个用户应用中任务逻辑之间的分离,这种分离使得两种逻辑可以各自独立修改,而且同一个任务逻辑也能够在不同的过程逻辑(业务过程)中实现重用。因此,工作流管理系统同传统的信息系统相比,具有如下两个特点:首先,通过跟踪工作流各活动的状态,自动协调由人或应用软件完成的任务以实现业务的流转特性;其次,工作流管理通过分隔过程逻辑和业务逻辑来提高系可视化流程设计系统10统的灵活性,提高软件重用和异构软件的集成。随着组织机构业
33、务过程重组概念和方法在组织机构中被重视程度的提高,随着组织机构的组织模式从面向功能到面向过程的逐步转变,作为支持过程建模、优化分析、业务过程自动化的有效支持工具,工作流管理技术与工作流管理系统软件在近年来得到了广泛的重视,其发展十分迅速,市场销售额以每年几乎 70的速度递增,而且工作流管理技术已经在许多企业进行了成功的应用,取得了显著的成果。目前许多大学和研究机构都开展了工作流技术研究的项目,取得了众多的研究成果,对工作流技术的发展做出了贡献。这些研究成果涉及工作流管理的各个方面。在所取得的研究成果中,比较著名的有 IBM 公司 Almaden 研究中心研究开发的基于持久消息队列的分布式工作流
34、管理系统Exotica/FMQM(Flow Markon message queue manager)、佐治亚大学计算机系研究开发的具有自适应能力的工作流管理系统Meteor(managing end-to-end operations) 、基于分布式主动数据库技术的工作流管理系统WIDE(workflow on intelligent and distributed database environment)以及基于状态与活动图的工作流管理系统Mentor(middleware for enterprise-wide workflow management)。除了上面介绍的四个项目外,多年来
35、,工作流管理技术在工作流建模方法、工作流定义语言和工作流实现技术等方面都取得了许多研究成果。在工作流建模方面,主要研究的建模方法主要有:基于活动网络的建模方法、基于形式化表示的建模方法、基于对话模型的建模方法、基于状态与活动图的建模方法、基于事务模型的建模方法。在工作流描述语言方面,主要有 WfMC 提出的工作流过程描述语言 WPDL 和 NIST 提出的过程定义语言 PSL。另外,还有在 WIDE 项目中提出的工作流定义语言WFDL(workflow description language),Meteor 项目中定义的工作流定义语言WFSL(workflow specification l
36、anguage)及任务定义语言TSL(task specification language)。工作流实现技术是工作流管理技术中研究得最多,也是成果最多的方面。在实现技术上主要考虑的问题有采用什么样的底层支持技术,如何提高工作流管理系统的可靠性、柔性以及大规模复杂应用的分布性问题。从基础技术角度,主要有以下的实现技术:基于 Lotus Notes 软件、基于 CORBA、基于 Web、基于消息队列和 TP Monitor、基于主动数据库技术、基于 ECA(事件条件活动)规则、基于可移动代理、基于扩展事务模型等。1.6 采用工作流管理系统的好处工作流管理的目的是根据预定的目标,找到合适的方法和手
37、段来优化工作流程。其在企厦门大学本科毕业论文 软件学院 阮泉泉11业的应用会给企业带来巨大的效益。首先,采用工作流管理将使企业改变其传统的按照功能来配置其人员的组织结喉,变成按照企业要实现的主要业务流程来配置组织结构,这样可以大大缩短其主要业务过程的处理时间,提高其对市场的响应能力。组织结构的改变将大大减少在企业内部不必要的物料、信息的传递时间。当然,整个企业组织结构的调整首先需要调整传统的以部门组织生产、人员从属某个部门的做法,变成以项目来组织生产和人员的工作方法。一个人可能同时从属于多个项目。在企业进行工作流管理系统应用主要可以取得的好处有: 提高企业管理的规范化程度; 更好地与上下游企业
38、形成快速响应市场的供应链网络; 降低业务过程的整个处理时间,如在办公自动化环境中,通过更好地规划工作流程并执行相互独立的活动,减少文档传递过程中不必要的中间状态等方法来显著降低文档的传递和临时储存的时间; 降低管理成本,如避免不必要的重复的工作,提高工作人员的工作效率; 改进工作质量,如自动提供为完成某个任务所需要的相关信息。在客户服务中,能够快速方便的访问所有的相关数据和工作流程,从而可以大大提高客户服务质量; 在工作人员之间更好地均衡负荷,如在工作人员缺勤的情况下,自动地柔性分配替代人员; 通过在工作流模型假如对可预计的故障的处理策略来提高系统的柔性; 在工作流的基础上改进控制策略,降低响
39、应的控制成本:如通过监控工作流执行状态,利用分析和控制工具来进行优化控制; 通过对已完成的工作流实例的分析,找出存在的不足,进而不断改进工作流程; 使工作内容更加丰富,并且提高工作人员的业务能力,减少工作人员进行单调乏味并且十分耗时的文档查找工作。除了上面给出的从企业的经营目标出发可以得到的好处外,采用工作流管理系统对于企业的信息的现代化同样具有显著的作用。采用工作流管理系统可以在最大程度上集成企业的现有信息资源,实现资源的充分利用。由于工作流管理系统具有较好的柔性和开放性,因此可以保证企业的信息系统能够顺利的进行扩展以满足不断变化的市场环境。另外,由于工作流管理系统是在工作流模型的基础上进行
40、企业的业务过程运行,这就意味着企业的信息系统运行已经从过去没有一个具体的可量化指标的管理信息系统发展到了一个建立在工作流模型上(并且是可以利用 BPR 或者其他仿真工具进行优化后的模型) ,按照首先定义好的规则进行可视化流程设计系统12执行,并且对于执行的结果随时进行监控和评价的规范化阶段。这种由过程建模模型分析过程优化模型执行执行结果统计分析改进业务过程优化企业运作的实施方法为成功地实施企业信息系统奠定了坚实的基础。厦门大学本科毕业论文 软件学院 阮泉泉13第二章 系统概述2.1 开发目的通过使用本软件,能够帮助用户快速,方便的管理工作流,在需要时,可以设置、修改、检验工作流程。使复杂的工作
41、流程具体化,直观化,合理化。我们希望用户使用后能得到如下的好处:1更方便的管理工作流程,提供给用户一个可操作的平台。2适当减轻决策者的负担并且提高工作效率。3缩减工作成本。2.2 开发环境硬件:PC 机奔腾以上,内存 64M 以上操作系统:windows98 或更高版本开发语言:Delphi7.0数据库:Microsoft Access出于对时间和各方面因素的考虑,我们选择了 Delphi 来编写该软件,关于 Delphi 我们将在下文中做简要介绍。2.3 功能概述我们开发的系统是一个比较简单的工作流的建模(过程定义)工具,功能并不是很完善,主要实现了以下几个功能:1.工作流的可视化(即图形绘
42、制功能)该功能模块主要实现整个工作流的图形绘制功能,包括开始结点,工作结点,条件判断结点,结束结点和连接各结点的流转线条的绘制,并且要支持鼠标对图形的拖动以及图形拖动后流转线自动改变功能。当鼠标选中某个结点时,该结点的图标要以醒目的颜色以表示该结点为当前结点。可视化流程设计系统142.结点的信息存储功能该功能模块主要实现每个结点的信息定制及保存功能,包括该结点负责人的相关信息以及权限等。3.语法检查功能该功能模块的作用是判断用户绘制的图形是不是一个合法的工作流,一个合法的工作流必须有包括开始和结束结点,每个结点之间必须有流转线相连接而且方向要对等等限制条件,否则就是非法的。当在非法的情况下,该
43、功能还必须提示用户出错的原因以便加以修改。4.文件保存功能绘制好的工作流要能以特定的文件形式保存,保存的信息包括整个图形以及各结点对应的信息。5.文件读取功能保存好的文件应该能读取出来并且所有信息和上次保存的时候一样。2.4 Delphi 简介Delphi 是全新的可视化编程环境,为我们提供了一种方便、快捷的 Windows 应用程序开发工具。它使用了 Microsoft Windows 图形用户界面的许多先进特性和设计思想,采用了弹性可重复利用的完整的面向对象程序语言(Object-Oriented Language)、当今世界上最快的编辑器、最为领先的数据库技术。对于广大的程序开发人员来讲
44、,使用 Delphi 开发应用软件,无疑会大大地提高编程效率,而且随着应用的深入,您将会发现编程不再是枯燥无味的工作Delphi 的每一个设计细节,都将带给您一份欣喜。 Delphi 实际上是 Pascal 语言的一种版本,但它与传统的 Pascal 语言有天壤之别。一个 Delphi 程序首先是应用程序框架,而这一框架正是应用程序的“骨架” 。在骨架上即使没有附着任何东西,仍可以严格地按照设计运行。您的工作只是在“骨架”中加入您的程序。缺省的应用程序是一个空白的窗体(Form),您可以运行它,结果得到一个空白的窗口。这个窗口具有 Windows 窗口的全部性质:可以被放大缩小、移动、最大最小
45、化等,但您却没有编写一行程序。因此,可以说应用程序框架通过提供所有应用程序共有的东西,为用户应用程序的开发打下了良好的基础。Delphi 已经为您做好了一切基础工作程序框架就是一个已经完成的可运行应用程序,只是不处理任何事情。您所需要做的,只是在程序中加入完成您所需功能的代码而已。面向对象的程序设计(Object-Oriented Programming,简记为 OOP)是 Delphi 诞生的基厦门大学本科毕业论文 软件学院 阮泉泉15础。OOP 立意于创建软件重用代码,具备更好地模拟现实世界环境的能力,这使它被公认为是自上而下编程的优胜者。它通过给程序中加入扩展语句,把函数“封装”进 Wi
46、ndows 编程所必需的“对象”中。面向对象的编程语言使得复杂的工作条理清晰、编写容易。说它是一场革命,不是对对象本身而言,而是对它们处理工作的能力而言。对象并不与传统程序设计和编程方法兼容,只是部分面向对象反而会使情形更糟。除非整个开发环境都是面向对象的,否则对象产生的好处还没有带来的麻烦多。而 Delphi 是完全面向对象的,这就使得 Delphi成为一种触手可及的促进软件重用的开发工具,从而具有强大的吸引力。一些早期的具有 OOP 性能的程序语言如 C+,Pascal,Smalltalk 等,虽然具有面向对象的特征,但不能轻松地画出可视化对象,与用户交互能力较差,程序员仍然要编写大量的代
47、码。Delphi 的推出,填补了这项空白。您不必自己建立对象,只要在提供的程序框架中加入完成功能的代码,其余的都交给 Delphi 去做。欲生成漂亮的界面和结构良好的程序丝毫不必绞尽脑汁,Delphi 将帮助您轻松地完成。它允许在一个具有真正 OOP 扩展的可视化编程环境中,使用它的 Object Pascal 语言。这种革命性的组合,使得可视化编程与面向对象的开发框架紧密地结合起来。可视化流程设计系统16第三章 系统设计与实现3.1 界面设计本系统的界面由一个菜单栏,两个工具条(快捷工具拦和控件工具栏) ,和一个绘图区构成,具体内容如下:1菜单拦:包括文件,工具和帮助子菜单。文件菜单包括新建
48、,打开,保存,另存为和关闭子菜单,工具菜单里是语法检查子菜单,帮助菜单里是版本信息。2快捷工具拦:包括新建,打开,保存,删除,语法检查,关闭和版权信息按钮。3控件工具拦:包括绘制工作流的所有控件:开始结点,工作结点,条件判断结点,流转线和结束结点。4绘图区绘制工作流的区域。整个界面如下图所示:厦门大学本科毕业论文 软件学院 阮泉泉17图 3.13.2 设计原理本系统设计的基本思路是以单链表的形式用指针来存储每个结点所对应的各种信息,每个指针所存储的具体内容如下:point = node;node=RECORDstate:boolean;/true 为结点,false 为画线x0:integer
49、;/当是结点的时候就表示结点的坐标 x,当是画线的时候表示起点x,当是 head 表头时为流程图中一共有多少个单链表结点,不算单链表 head 头y0:integer;/当是结点的时候就表示结点的坐标 y,当是画线的时候表示起点y,当是 head 表头时表示 image_1 个数x1:integer;/当是结点的时候就表示结点的宽 pic_width,当是画线的时候表示中点 x,当是 head 表头时表示 text1 个数可视化流程设计系统18y1:integer;/当是结点的时候就表示结点的高 pic_height,当是画线的时候表示中点 y,当是 head 表头时用来记结点的个数(不包括开始和结束结点)x2:integer;/当是结点的时候就表示结点的号码,当是画线的时候表示终点 xy2:integer;/当是结点的时候就表示结点的 pic 号,当是画线的时候表示终点yhx_zhi:boolean;/当是线的时候为 true 就表示画线是直斜线bian1:integer; /当是结点的时候就表示右边连接了几个线,当是 线的时候就表示起点的结点号bian2:integer