1、 本科毕业论文 (科研训练、毕业设计 ) 题 目:可视化流程设计系统 姓 名: 学 院:软件学院 系: 专 业:软件工程 年 级: 学 号: 指导教师(校内): 职称: 指导教师(校外): 职称: 年 月 日 可视化流程设计系统 摘要 本文介绍了运用面向对象的设计原则,开发出可视化流程设计系统。该系统的功能结构和设计原理,详尽描述了图形用户界面与数据库的接口。 目前,不下百种的商用工作流管理系统业已问世,但在这些系统中仍存在着某些不足之处 .因此,一种基于数据库表示来设计实现工作流的想法便产生了。 所谓 “ 基于数据库表示 ” 是指整个工作流管理系统的重心与基础为数据,其中不仅流程定义、流程实
2、例数据等信息都存储于数据库中,而且工作流引擎也可直接利用数据库提供的过程化 SQL 实现。 本文共分为五章: 第一章是绪论。简要的说明当前工作流的发展情况。并提出本文的主要工作要点。开发可视化流程图设计的重要意义,以及其市场价值。 第二章介绍了工作流的总体架构。描述了用户、图形语义表述、数据库之间的关系。 第三章介绍了可视化流程系统的设计与实现。 第四章介绍了工作流的数据库表示。 第五章总结了本文的主要工作,给出了本文的结论,并提出进一步工作的设想。 关键词 面向对象程序设计 工作流 delphi 数据库流程定义 The System of Visual Flow Design Abstrac
3、t This thesis introduces how to use object-oriented programing to develop the system of visiual flow design.Througn the principle of the system,we can learn the graphical user interface and database interface.There are hundred commercial workflow products in the market nowadays, howerver the weaknes
4、s or limitation of these system still exists. Therefore, the idea of using database representation to design and realize workflow came into mind. “Based on database representation“ means that database is the centric and fundamental part of the workflow management system, where not only process defin
5、ition, process instances are stored in the database, but the workflow engine can be developed directly by using the procedure SQL language as well. The whole thesis is made up of the following five chapters: Chapter one is the preface.It shows the development of the workflow briefly,and this chapter
6、 gives the topic of the thesis.It shows the market value of developing the system of visual flow design. Chapter two puts formard the general architecture of workflow.It describes the relationship among the user,the graphics and the database. Chapter three describes the design and realization of the
7、 system of visual flow design. Chapter four describes the database representation of workflow. Chapter five is the concluding remark.It gives some ideas of further improvement. Keyword Object-oriended programming, Workflow, delphi, Workflow Definition 厦门大学本科毕业论文 软件学院 王元林 目录 第一章 绪论 . 1 1.1 引言 . 1 1.2
8、 工作流的发展及现状 . 2 第二章 工作流的总体架构 . 4 2.1 工作流的基本概念和定义 . 4 2.2 工作流管理系统的体系结构 . 4 2.3 系统的软件构件 . 5 2.4 系统的数据分类 . 6 2.5 其他应用的调用 . 6 第三章 可视化流程系统的设计与实现 . 7 3.1 可视化流程设计系统的功能原理 . 7 3.2 可视化流程设计系统的实现机制 . 7 3.3 WINDOWS 的消息处理机制 . 8 第四章 工作流的数据库表示 . 10 4.1 数据库基础 . 10 4.2 工作流的数据库设计 . 10 4.3 基于数据库的访问模式 . 11 4.4 逻辑关系在图形设备中
9、的应用 . 12 第五章 结论 . 13 致谢 . 14 参考文献 . 15 可视化流程设计系统 1 第一章 绪论 1.1 引言 “工作流”在人们的日常生活中伴演着越来越重要的角色。 根据 WfMC 的定义,工作流( Work Flow)就是自动运作的业务过程部分或整体,表现为参与者对文件、信息或任务按照规程采取行动,并令其在参与者之间传递。简单地说,工作流就是一系列相互衔接、自动进行的业务活动或任务。我们可以将整个业务过程看作是一条河,其中流过的就是工作流。工作流管理( Workflow Management, WFM)是人与电脑共同工作的自动化协调、控制和通讯,在电脑 化的业务过程上,通过
10、在网络上运行软件,使所有命令的执行都处于受控状态。在工作流管理下,工作量可以被监督,分派工作到不同的用户达成平衡。 根据 WfMC 的定义,工作流管理系统( Workflow Management System, WFMS)通过软件定义、创建工作流并管理其执行。它运行在一个或多个工作流引擎上,这些引擎解释对过程的定义,与工作流的参与者(包括人或软件)相互作用,并根据需要调用其他的 IT 工具或应用。 总体来说,实际企业中运作的工作流管理系统,是一个 “ 人 -电脑 ” 结合的系统。它的基本功能体现在几个 方面: 定义工作流,包括具体的活动、规则等,这些定义是同时被人以及电脑所 “ 理解 ” 的
11、。 遵循定义创建和运行实际的工作流。 监察、控制、管理运行中的业务(工作流),例如任务、工作量与进度的检察、平衡等。 业务过程( business process)就是活动的集合,这些活动均关联于特定的托付事项( commitment),为过程的产出增值。相对于 “ 工作流 ” ,业务过程是一个更一般化的统称,而工作流这个词,则已经不能仅从字面含义或原理上去理解,它已经被赋予了更深一层的特定含义 专指基于信息技术规划、运作、管理的业务过 程。 “ 自动 ” ( automate)是工作流的一个特征,但这主要是指它自动进行的特征,而不是说没有人的参与。工作流实际上是一个人 -电脑协调的混合过程,
12、在一个实际的工作流中,通常总有些步骤是人完成的。协调是工作流管理的一个目标或者特征,这包括了人与人、人与电脑,电脑(软件)之间等多种层面的含义。监察( Monitoring)与控制( Contorl)是工作流系统的重要功能与特征。这不仅包括对正在发生的业务过程(工作流),还包括它的定义或改变(比如 BPR 的过程)。这是工作流系统带给我们的明显好处之一。 无论从理论、方法 上,还是对象、内容上,我们都有理由将 “ 工作流 ” 看作是企业工程的一部分。实际上,已有的关于工作流体系的描述,本身就是一个通用的业务模型框架。仅仅囿于工作流是不够的,必须对整个体系的目标及所有相关要素综合考虑 这正是企业
13、工程。 工作流管理系统是一个真正的 “ 人 -机 ” 系统,用户是系统中的基本角色,是直接的任务分派对象,他或她可以直接看到电脑针对自己列出的 “ 任务清厦门大学本科毕业论文 软件学院 王元林 2 单 ” ,跟踪每一项任务的状态,或继续一项任务,而不必从一个模块退出,进入另一个模块,搜索相应任务的线索。前者是面向功能或对象的,而后者是直接面向用户的。这样 ,用户的任务分派和任务的完成状态,可以被最大程度地电脑化和受到控制。 现在的典型工作流产品是客户 -服务软件。而日益增长的重要途径是通过万维网界面,它可以令客户或远程的职员更好地参与。工作流的定义经常是借助于图形化工具,依照业务过程实例的情况
14、定义相应工作的安排。 1.2 工作流的发展及现状 由两个或者两个以上的人(部门)去完成的事情就是工作流程,就像我们平常的办事过程。工作流程自动化就是现实业务流程的计算机化。我们知道,许多单位现实上采用纸张表单的形式,用手工传递,由于大部分企业的组织架构都有明显的层级结 构,传统的办文程序,从文件起草、审阅、会签、签发、下发到归档、借阅等各个环节,存在流程复杂,流转时间长,导致办公效率低,决策缓慢等问题。 企业的组织架构是难以改造的,所以解决之道是由于采用先进的计算机和网络技术,不仅将办文内容电子化,而且实现整个办文过程电子化,从根本上改变了传统的工作模式。办文者可随时了解文件到达哪里,办理的情
15、况怎样,对逾期没有办理的文件,可以自动催办,文件办理完毕,可以自动归档,归档后的文件可供借阅和调阅等,消除手工工作过程中的存在流转时间长,文件去向不明以及不便于跟踪等问题。这样能 大大地提高工作效率、加强了组织管理、实现了知识的积累,对于提高单位的战斗力起到巨大的作用。 工作流技术的发展,经过十几年的努力,取得一定的结果。但在实际应用中,应用的企业还是较少,应用的范围窄,效果不理想。这里与产品的全面性、集成性有关,也与企业应用的状况有关,具体有以下几点: 1 工作流底层环境的建立 工作流管理系统必须建立在底层通信的基础上,才能实现分布计算,这要额外付出经费和精力进行构筑,这是企业所不希望的,从
16、而限制了在企业中的广泛应用。 2 标准化程度差 不同的厂商所 提供的工作流产品具有独立的一套工作流模型、工作流定义语言、 API 函数。但难于在不同系统之间进行交互,集成的效果不理想,不能方便地在不同系统间进行应用对象的重复利用和数据的方便交流。 3 系统的集成性不理想 工作流管理系统没有达到真正的集成,还是在自己独立地运行,处理一些行政上简单的流程业务,不能很好将 OA、 ERP、 CRM、 SCM 等具体事务处理系统紧密地联系在一起,达到数据录入一次即可有效的目的。 4 实现的复杂性 实施一个完整的工作流管理系统,是一个复杂的过程,要了解其他应用系统的业 务,进行流程处理分析、业务流程改造
17、、管理规程和操作规范建立等,并且还必须有不同软件供应商的全力配合。 可视化流程设计系统 3 5 系统的安全性 系统中对于并发访问和异常错误缺乏正确和可靠的支持。一旦系统出现非正常退出,如何恢复数据并保证数据的一致性还需要解决。 6 企业管理者的观念改变 一个系统实施的好与坏,与企业的管理者有密切的关系。任何一个应用系统实施成功标记就是:成功 =使用。 目前工作流技术的研究日益受到重视,大家研究的主要问题包括三个方面:工作流的理论基础,包括体系、模型、语言、接口等;工 作流实现技术,包括性能、可靠性方面的研究;工作流技术的应用,包括实施方法、应用集成等。 厦门大学本科毕业论文 软件学院 王元林
18、4 第二章 工作流的总体架构 工作流的概念起源于生产组织和办公自动化领域。他是针对日常工作中具有固定程序的活动而提出的一个概念。目的是通过将一个具体的工作分解成多个任务、角色,通过一定的规则和过程,约束这些任务的执行和监控,以达到提高企业生产经营管理水平。在 20 世纪 80 年代中期发展起来的工作流技术为企业更好地实现经营目标提供了先进的手段。 90 年代随着计算机和网络技术的发展,该技术得 到了快速的发展,特别是在生产制造业领域,结合先进的 ERP 应用系统得到较好的应用。 2.1 工作流的基本概念和定义 1993 年工作流管理联盟成立,制定了相关的系列标准,同时给出了工作流的定义: “
19、工作流是一类能够完全或者部分自动执行的经营过程,它根据一系列过程规则、文档、信息或任务能够在不同的执行者之间进行传递与执行。 ” 当然,还有其他的一些定义,但基本上都说明, “ 工作流是经营过程的一个计算机实现,而工作流管理系统则是这一实现的软件环境 ” 。 使用工作流来作为经营过程的实现技术,首先要求工作流系统能够反映 经营过程的如下几个方面的问题:经营过程是什么(活动、任务)?怎么做(条件、规则)?由谁来做(组织、角色)?做得怎样(监控)? 工作流管理系统的定义是: “ 工作流管理系统是一个软件系统,它完成工作流的定义和管理,并按照在计算机中预先定义好的工作流逻辑推进工作流实例的执行。 ”
20、 工作流系统不同于 ERP 系统,但只有在工作流管理系统的支撑下,通过集成具体的业务应用软件系统( ERP、 CRM、 SCM 等),才能良好地完成对企业经营过程运行的支持,在更广的范围内,不同的时间跨度上做好企业的经营管理,提高企业的整体水平和竞争 力。 2.2 工作流管理系统的体系结构 为了实现工作流技术的标准化和开放性,对异构的工作流管理系统与其他应用系统之间的集成,工作流管理联盟提出了工作流管理系统体系结构的参考模型,该模型中规范了功能组成部件和接口。 可视化流程设计系统 5 工作流管理系统体系结构图 图 2-2-1 从图中的体系结构中,我们可以看出,工 作流管理系统主要内容分三部分:
21、 软件构件。完成相应功能的实现,包括流程过程定义,流程的发起、审批、监控、结束等。 系统控制数据。存储本系统和其他系统进行逻辑处理、流程控制、规则、约束条件、状态、结果等数据。 其他应用与应用数据。供工作流系统调用的外部应用和数据。 2.3 系统的软件构件 通过分析,我们可以看到,工作流管理系统的软件构件是实现工作流管理的基本构件,负责整个工作流管理的基本功能实现。它包括:工作流模型建立,工作流执行服务,客户应用管理。 工作流模型建立:工作流模型描述 了能够由工作流执行服务、执行的过程所需要的所有信息,它是工作流管理系统的基础。它可以利用第三方的建模工具,形象化地建立流程模型,并通过接口关系,
22、建立系统所需要的控制数据;也可以通过系统本身的流程定义,直接生成控制数据。在流程定义中,要包括流程、活动、转换条件、相关数据、角色、需要的应用等实体。 工作流执行服务:工作流执行服务是工作流管理系统的核心。它是企业经营过程的任务调度器。在过程建立完毕后,将由工作流执行服务进行全面管理、监控和调度具体的实例执行。包括:过程的实例化和执行、为过程和活动进行调度、与 外部资源交互、处理相关数据。 客户应用管理:是客户操作具体任务和活动的管理模块,负责工作流任务表中任务的分发管理。可以将一个工作流管理系统中的任务管理器提供给客户;同时,也可以针对多个工作流产品或者是多个应用系统产品,编写通用的任务管理
23、器,进行系统的集成。 厦门大学本科毕业论文 软件学院 王元林 6 2.4 系统的数据分类 工作流管理系统中存储的数据可以分成:工作流控制数据,它是工作流执行服务对其进行控制,用于处理过程或活动实例;相关数据,控制过程实例状态转换的条件,并决定相关的逻辑走向,可以被应用所修改;应用数据,是指由应用程序操作的数据 ,反映的是具体业务的实际内容信息,它是在整个流程中进行流动。实际上,前两个数据是工作流管理系统中本身需要的数据,第三类数据是其他系统中的业务数据。比如, ERP 系统结构化的数据。 2.5 其他应用的调用 工作流管理系统在设计和实施中,都必须提供足够的柔性,来满足不同应用的需要。在与不同的应用系统进行交互时,要提供足够的灵活性。可以建立应用接口规范和提供标准的 API 函数在不同的系统间进行交互;可以建立灵活的调用通道,直接调用 ERP 系统中的应用进行事务处理,这种调用可以在分布和异构的系统间进行。