热门搜索 :
考研考公
您的当前位置:首页正文

教务管理系统工作流技术的应用研究...

来源:伴沃教育
华侨大学硕士学位论文

基于工作流技术的业务流程可重组教务管理系统的设计与实现

姓名:***申请学位级别:硕士专业:计算机应用技术指导教师:***

20100501

摘要

摘要

I本文针对传统的高校教务管理系统普遍存在柔性不足,无法及时应对需求变化和业务流程变更等问题,寻找对策与解决方案,主要研究内容如下:

第一,针对当前高校教务管理业务涉及部门广泛,流程运行复杂,业务流程变更难以预测等亟待解决的问题,提出基于工作流技术的业务流程可重组教务管理系统构建或重组方案,并对其必要性和可行性进行分析。

第二,研究工作流技术在教务管理系统重组中的应用模式,利用工作流技术中业务过程和逻辑过程分离的思想,提出基于工作流技术中以工作流引擎结合数据驱动教务管理系统业务流程的方法,设计了该方法的模型。

第三,对教务管理中的重要流程进行分析,利用BPR的思想对流程进行优化重组建模,同时深入研究工作流技术在教务管理系统中的应用,包括建模技术的讨论、工作流引擎结合数据驱动方式的技术实现,给出业务流程可重组的教务管理系统的总体框架模型及工作流引擎与数据驱动模式结合的教务管理流程的算法。

第四,设计并实现了业务流程可控、可调整,逻辑与实现分离的业务流程可重组教务管理原型系统。

关键字:工作流,教务管理系统,数据驱动,工作流引擎,BPR

Abstract

Abstract

I

This Paper about educational management system can not timely response to business process change. I propose the mind of educational management system business processes restructure base on workflow technology. Design and Implementation of business process management can be reorganized by the technology of open-source workflow engine scheduling algorithm with data-driven.

First, the view problems of the current education management business involves the wide range of department, business process complex, business process change is hard to predict. I proposed the program of business process management can be reorganized based on workflow technology, and analysis its necessity and feasibility.

Secondly, the paper research application mode of workflow technology in the education management system reengineering, using workflow technology in the separation between the business process and logic. Put forward the method of workflow engine with data-driven in order to drive business processes and complete the model.

Third, the paper analysis of some important education

Abstract

Imanagement business process, and use of BPR to Optimize the business processes. While, in depth consider of workflow technology application in education management system. Including discusses of modeling techniques, workflow engine with data-driven. Given the business process can be reorganized education management system model and the algorithms of work engine combined with data-driven.

Finally, Design and Implementation of education management system business processes can be control、adjustable and the separation between business process and logic

Keyword Workflow; Education Management System; Data-driven; Workflow engine; BPR

绪论

第一章 绪论

1.1课题研究的背景

近几年来因高校教学管理体制和学生培养机制不断改革,高校办学规模不断扩大,导致教学管理模式经常变化且教学管理工作量成倍提高,而教务管理工作涉及多个部门,中间涉及大量的业务流程,管理模式的改变、部门的整合、拆分和人员的变更等现象都会造成教务管理业务流程的变更,而对业务变更的预测难度高。

反观传统的教务管理系统,多数都是按照当时的业务需要、分阶段开发的,内部控制机制和模块结构机械、僵硬,功能一成不变,模块复用程度和模块重组能力极低,甚至可能出现多个“信息孤岛式的“独立系统。一旦出现需求变化和业务处理流程的变更,都必须在系统内部、甚至在多个独立系统之间,通过大面积修改程序来满足实际需求,系统维护成本极高。因此迫切需要一个能够灵活应对需求变化的教务管理系统,而科学管理的企业流程重建(Business Process Reengineering, BPR)思想可以打破传统的思考方式,进行大胆创新,彻底改变和优化现有的业务量流程,工作流技术可以将工作流程分解定义成良好的任务、角色,按照一定的规则和过程来执行这些任务并对他们进行监控,达到使工作流程能够完全或者部门自动执行,能够在适当的时间把适当的信息传给适当的人,为我们开发具有灵活性的系统提供了强有力的技术支持,将BPR和工作流技术应用与教务管理系统中可以克服现存的这些弱点。

1.2 国内外研究现状

在全球范围内,作为支持BPR和业务流程自动化BPA(Business Process Automation)的一种手段,工作流技术的研究应用日益受到学术界与企业界的重视。许多大学和研究机构都开展了相关研究,取得了重要的研究成果,对工作流技术的发展做出了贡献。

具体来说,工作流的主要研究领域分成两个:从理论上探讨工作流的模型和

1

绪论

语义的合理的表示方法;从实施上探讨利用先进技术实现具有可靠性、灵活性和高性能的工作流管理系统。理论上的研究主要包括:过程建模理论与方法;模型验证与仿真方法;分布环境下的资源协调和调度优化;过程模型与其它模型的优化等。在理论上目前的主要研究内容有:

1.工作流建模方面:成熟的工作流产品通常采用有向图模型,如流程图、状态图、活动网络图等建立工作流模型;Winograd与Flores在语言行为理论基础上提出了基于对话的工作流模型[33];Petri网也被用十工作流建模,Ellis和Nutt在Petri网基础上提出了ICN (Information Control Nets,信息控制网)模型

[34]

Van der Alast则在Petri网基础上定义了WF-net即工作流网,并给出了WfMC

提出的几种基本工作流原语到Petri网的映射[35].Gepper等人提出了采用ECA(Event- Condition -Action,事件-条件-动作)规则描述代理行为的代理服务模型[36]Davulcu等人使用并发事务逻辑CTR (Concurrent Transaction Logic)描述并分析业务过程[37];WIDE(Workflow on Intelligent and Distributed databaseEnvironment)提出了组织模型、信息模型与过程模型组合的工作流模型

[38]

;此外,还有超媒体结构方法、集合论和图论方法、面向对象方法、形式语言方

法、状态一实体一活动模型[39]等工作流建模方法。

2.工作流描述语言方面:主要有wfivlc提出的工作流描述语言WPDL(Workflow Process Definition Laguange,工作流过程定义语言)及XML (Extensible Markup Language,可扩展标记语言)过程描述语言XPDL[](XML Process Definition Laguange , XML过程定义语言)、NIS T提出的过程定义语言PSL[40]( Process Specification Language)以及融合了Microsoft的XLANG和IBM的WSFL( Web Services Flow Language, Web服务流语言)的BPEL (Bussiness Process Execution Language,业务过程执行语言)

[41]

等。

工作流管理系统实施方面的研究主要包括:分布式工作流机的实施问题;异常和错误处理问题;融入事务管理概念;应用集成问题。在实施上的研究主要考虑底层支持技术、可靠性、柔性及大规模复杂应用的分布性等方面的问题。主要内容包括:基于Lotus Notes软件;基于CORBA

[42]

(Common Object Request Broker

Architecture,公用对象请求代理体系架构)、WEB [43]等分布式体系架构;基于消息队列;基于可移动代理;基于高级和扩展事务模型[44]等。

2

绪论

国外市场上工作流管理系统产品中的典型有:基于文件以共享文件的方式来完成任务项传递的FileNet的Visual WorkFlo, IBM的F1owMark, InConcert的InConcert;基于消息通过用户的电子邮件系统来传递文档信息的Novell与FileNet合作开发的Ensemble, JetForm公司的InTempo, Keyfile公司的Keyflow;基于Web通过WWW来实现任务的协作的Action Technologies公司的ActionWorks Metro, Ultimus公司的Ultimus;群件与套件,它们依赖于自己系统的应用基础结构,包括消息传递、目录服务、安全管理、数据库与文档管理服务等,本身就构成一个完整的应用开发环境,代表产品有IBM/Lotus公司的Lotus Notes, Microsoft公司的Office与Exchange, Novell公司的GroupWise[26]。

国内工作流技术的研究起始于90年代后期,起步较晚。在国家863/CIMS主体下,以清华大学和上海交大为代表的相关课题组结合制造领域的工作流应用情况开展了深入的研究,如清华大学的范玉顺教授负责研制开发了一个较好的工作流软件原型CIMFLow。以清华、中科院、浙大等为代表的一些科研院所从广义应用角度对工作流理论和应用方面进行了研究。国内也有一些公司产品声称具有工作流管理功能,但大多不具有自主知识产权。

可见,目前工作流技术研究的侧重点不一,都取得了一定的成果,但工作流管理系统还处于技术发展曲线上的初级阶段。从实际情况来看,由于工作流管理技术最初是由市场需求引发,由工作流产品开发公司推动而发展的,而现阶段的产品主要集中在办公自动化方面,与教务管理的业务流程有较大的区别且这些工作流软件的开发平台大多是采用国外公司的工作流开发平台,国内无法对该平台进行修改比增加自身功能,不利用扩展性开发。因此本文研究基于工作流技术的业务流程可重组教务管理系统是非常有意义的。

1.3 研究的意义和价值

本项研究的意义主要表现在:

1.目前,一方面传统的教务管理系统已经在大多数高校中投入使用,重新开发要花费大量的人力、财力和长久的时间,不能及时应用,随着时间推移,需求再次改变又要重新开发,这样成本高;若不断升级只能应对一时的状况,而且会使系统流程更加混乱;另一方面,虽然工作流的产品已经初步形成,也已投入使

3

绪论

用,但现有的工作流产品不仅价格昂贵,而且主要是OA方面的产品,流程的执行也不适用于教务管理,因此,结合原有教务管理系统,在此基础上将教务管理系统开发成流程可控、可调整是非常有必要的,具有一定的现实意义。

2.本文以教务管理为背景,开发基于BPR思想和工作流技术的新一代通用教务系统,将业务流程从应用逻辑中分离出来,一旦发生教务管理业务需求的改变,能迅速、快捷地集成较为复杂的应用与资源,从而可以根据需求,灵活地改变业务流程。

1.4 研究的内容和方法

本文结合BPR思想、工作流技术和数据驱动技术对业务流程可重组的教务管理系统的构建方案、建模及实现技术进行深入研究,主要研究内容包括:

(1) BPR和工作流技术及基本理论研究;

(2) 对教务管理业务特征进行分析并对流程进行建模; (3) 业务流程可重组教务管理系统的架构设计; (4) BPR思想和工作流技术在教务管理系统中的应用;

1.5论文组织结构

全文共六章。第一章介绍了国内外工作流技术的研究现状和应用现状,引出了本文的主要研究内容。第二章主要涉及到业务流程可重组教务管理系统的需求分析。第三章确定系统目标、设计系统框架结构,分析教务管理业务并对流程进行建模。第四章研究工作流技术在教务管理系统中的应用。第五章利用工作流引擎结合数据驱动的算法设计与实现业务流程可重组教务管理系统。

4

教务管理业务需求分析

第二章教务管理业务需求分析

高校教务管理是一项以客观教学规律和科学管理理论为指导,面向全体教师和学生,为了促进教育教学改革、提高教学质量和办学效率而运用一定的现代化信息管理技术对整个教学活动的全过程进行系统的计划、指导、控制、决策和评价,以达到既定目标的复杂的管理活动。

2.1教务管理的基本过程

根据实际的状况出发,教务管理工作一般包括:教务计划管理、课程管理、教师管理、选课管理、排课管理和学籍管理等内容,其业务关系如图2.1所示:

教学计划管理排课管理课程管理考试管理教师管理选课管理成绩管理新生报到毕业管理学籍管理收费注册管理 图2.1 教务管理业务关系图

2.2 教务管理相关部门的主要业务

高校教务管理中,各部门在日常的管理中具有不同的功能,各部门从事的相关业务如图2.2所示

5

教务管理业务需求分析

教务处学院招生处财务处网络中心学务科教务科教学质量管理科实践科教学团秘委书毕业管理成绩管理学籍管理选课管理考试管理课程管理排课管理教师管理教学计划管理新生报到管理收费管理注册管理 图2.2 部门业务图

从系统业务关系图和部门功能图中可以看出,教务管理系统涉及多部门、多用户,各环节之间存在着复杂的联系,教务系统不仅要解决独立环节的事务问题,而且能够将过程中的所有环节衔接起来,使得上一个环节的事务处理结果能自动流转到下一环节以便利用或处理。

教务系统功能和流程的多变性与系统运行要求相当稳定形成矛盾,要能够快速的应对这种变化,同时又不中断日常教务管理工作的进行,这就对教务管理软件提出了更高的要求,即能在系统总体构架不变的情况下,灵活设置系统流程。因此,在教务管理中实施业务流程重组(BPR),对流程进行优化,以提高系统对流程变更的应对能力是必要的。

2.3 教务管理的特点分析

高校教务管理主要有以下几个特点: (1)高校教务管理的重要性

高校教务管理是高等学校教育工作的一项重要内容,是整个学校管理的核心和基础。首先,教务管理水平的高低直接决定了学校教学资源的利用率。其次,

6

教务管理业务需求分析

教务管理水平的高低直接决定了学校培养人才的质量。

(2)高校教务管理的复杂性

高校教务管理的工作涉及部门广泛,从招生部门、教务部门、各院系和财务部门等都有着不可分割的联系。而且作为高校主要资源的教师和学生都具有个体差异性和主观能动性。因此,高校的教务管理相比普通的经营过程管理,更为复杂。

(3)高校教务管理的灵活性

高等院校必须能敏锐地依据市场需求状况和学科发展形势,合理灵活地制订各专业人才的培养目标,及时调整办学模式,深化教学改革。这也使得教务管理必须向多元化、多样性趋势转变。

综上所知,高校教务管理的业务流程复杂、随体制、市场而做出不同的变化且这种业务流程变更事先难以进行有效预测。因此,需要一个能够随需应变的高校教务管理系统,来应对这种未知的状况。

2.4业务流程重组(BPR)在教务管理系统中的应用

根据哈默的定义[13],“业务流程重组(BPR)就是对企业的业务流程(Process)进行根本性(Fundamental)的再思考和彻底性(Radical)的再设计,从而获得在成本、质量、服务和速度等方面业绩的戏剧性的(Dramatic)改善”。 显然,BPR强调以业务流程为改造对象和中心、以关心客户的需求和满意度为目标、是对当前的业务进行根本性、彻底地再设计,提高运行效率,教务管理系统需要不断的优化其业务流程,使整个的流程活动更加符合科学管理的要求,应对高校改革、政策变更等实际情况。因此,在教务管理中实施BPR,能有效地提高教务管理系统的”随需“应变能力。

2.5工作流在教务管理业务流程重组中的应用

根据WFMC的定义[12]:工作流是一类能够完全或部分自动执行的经营过程,它根据一系列过程规则、文档、信息或任务,能够在不同的执行者之间进行传递和执行。

工作流由一系列触发条件定义的具有前趋后继关系、可以自动被执行的业务

7

教务管理业务需求分析

活动或者任务组成。一个工作流包括一组活动及其相互顺序关系,还包括过程及活动的启动和终止条件,以及对每个活动的描述,如活动的执行者、相关应用程序、需要和产生的数据等。

高校教务管理系统由多个组成部分构成,在功能方面,包括数据采集、统计、信息查询多环节;其用户既包含教务管理人员,也包含普通教师和学生;其特点是一项工作一般由多个用户人员协作完成,并且在他们之间遵循一定的工作流程。业务过程是由一系列的任务组成的流程处理过程,每一级业务过程都是以流程节点为基本元素,以流向为基本导向的点线结合系统。流程节点有开始节点、中间节点、结束节点,任何流程都起始于它的唯一开始节点,终止于一个或多个结束节点。

综上所述,教务管理具有明显的工作流特征,符合工作流管理的定义,不仅如此,工作流支持经营过程逻辑与它的信息支撑系统的分离,并实现了应用逻辑和过程逻辑的分离,这种方式在进行实际应用中具有显著的优点。它可以在不修改具体功能模块实现方式(如硬件环境、数据库系统、编程工具用户界面)的情况下,通过修改过程模型来改进系统功能,实现对高校教务业务过程的集成管理,有效地把人、信息和应用工具合理的组织在一起,提高软件重用率,发挥系统最大的性能。因此,工作流技术通常是实施BPR最常用的技术。

8

业务流程可重组教务管理系统的总体设计

第三章 业务流程可重组的教务管理系统的总体设计

3.1系统目标

教务管理业务流程的变更虽事先不能够有效进行预测,但通过对教务管理变更方式的分析,可以归纳出3类经常出现的变更:增加新职能、减少职能和业务流程部门间流转的变更。

󰂾 增加新职能必然要开发新的功能模块;

󰂾 减少职能意味着系统应去掉或屏蔽某些功能模块;

󰂾 业务流程的流转变更(如成绩的处理流程变更)需要改动多个模块之间

的控制关系和数据流动关系。

根据以上分析,我们确立的业务流程可重组的教务管理系统的总体目标是:系统在教务管理业务流程流转变更时,应能迅速有效地改变当前的流程结点间的关联关系和数据流动关系,以适应不断变化的需要。具体目标如下:

󰂾 使用适当的图形化建模工具对教务系统中的各流程建模,并根据流程模

型实现业务流程的自动化流转和处理。

󰂾 充分考虑系统的安全性和可靠性,同时,还要考虑系统的可扩展性和兼

容性。

󰂾 建立流程,设置结点间的相互约束关系,并设定执行角色。 󰂾 设计保持流程正常运行算法和业务变更流程的调整算法。

3.2 业务可重组的教务管理系统功能需求分析

教务管理系统涉及部门广泛、流程复杂,业务流程变更不确定,因此,为了保证业务流程变更时系统的正常运行和教务管理部门日常工作流的正常进行,应确保实现业务过程和逻辑过程分离,教务管理功能木块实现业务过程、工作流控制模块实现逻辑过程,系统的功能模型设计如下:

9

业务流程可重组教务管理系统的总体设计

用户管理教学计划管理选课管理教师管理课程管理学籍管理成绩管理排课管理收费注册管理毕业管理工作流控制模块过程定义数据库工作流引擎 图3.1 业务流程可重组教务管理系统功能需求图

1.工作流控制部分:①实现教务管理中业务流程的定义,给流程中的结点分配角色,设置结点间的约束关系;②教务管理业务流程变更时调整结点间约束关系,重新设置驱动事件;③流程角色的功能分配

2.教务管理功能模块主要功能包括:教师信息、课程信息、学籍管理、教学计划管理等、排课管理、毕业管理等。

教务管理运行模块部分通过工作流引擎调用数据库每个模块在数据库中预先设定的工作流流程的规则和约束进行执行。

3.3 系统总体结构

我们所设计的业务可重组的教务管理系统采用业务流程定义过程和系统功能运行过程分离的模式,在体系结构上,系统分成两大部分组成:工作流控制部分和教务管理系统运行功能模块部分。在工作流控制部分定义和维护教务管理系统中的流程创建、修改、角色和权限定义等,即教务管理系统中工作流过程需要执行的所需信息,在教务管理功能模块部分,是按照用户定义的流程来执行这些工作流。系统的框架结构如图3.2所示。

10

业务流程可重组教务管理系统的总体设计

教务过程的研究、建模组织,人员,角色的定义与分配过程实例化控制数据应用程序工作流引擎数据库工作流引擎关联数据应用数据库任务表任务表管理器应用程序系统模块用户界面数据模块

图 3.2教务管理系统的框架结构

工作流控制部分主要由过程建模,过程实例化,组织、角色分配、工作流引擎和工作流引擎数据库组成,过程建模和过程实例化将现实中的业务过程转换成机器识别的工作过程;组织、角色的分配是对完成建模的工作流为其创建每个事件的执行对象。工作流引擎是两个系统运行的桥梁,系统的功能运行部分通过工作流引擎调用工作流引擎数据库中定义好的工作流程、约束规则和要求进行执行。

教务管理运行功能模块主要由应用程序,用户界面,任务表管理器和应用数据库组成。应用数据库主要保存教务管理过程中的日常数据集,如学生成绩、学生信息、课程信息等。用户界面提供给用户一个操作场合,用户按照任务的要求进行相应的操作。任务列表是工作流引擎与用户交互的窗口,人员参与活动是通过工作列表进行的,本功能向用户提供待处理的工作列表,用户通过它操作活动实例,完成自己的任务。

3.4 教务管理系统的工作流程重组优化建模示例

3.4.1排课管理业务流程分析与优化

高校中,一般课程的安排过程是:从预先设定教学计划安排中检索出当前学期的教学计划,然后生成各学院和单位的教学任务,接着落实教学任务,即安排任务教师,然后排课。其流程图如图3.3所示

11

业务流程可重组教务管理系统的总体设计

教务处各学院教学科教学计划数据库生成教学计划任务教学任务书落实教学任务编排任课教师排课生成课表 图3.3 排课管理流程图

通过对流程图的分析可以看出:教学排课主要是教务处对各学院安排完成的教学计划进行任务安排,再统一进行排课,这种方式致使学院变更课程的困难度增加,学生不能自由选课,只能选择本班的课程,不利于学分制模式的推行。

为了更好地服务学生和教师,从以教师和学生为中心的原则出发,将排课管理流程优化重组后设计如下:

开始未完成学院教学秘书安排课程完成未完成教学秘书安排课程教师完成失败失败教务科安排公共课上课时间地点完成学院安排专业课上课时间地点完成未通过未通过教务处审核通过打印、发放学院结束图3.4排课管理流程图

优化重组后排课管理流程具有如下优点:

12

业务流程可重组教务管理系统的总体设计

1.

将课程计划安排的权利放给学院,让学院可以根据市场的需求自由变动课程,提高办学质量。 2.

除公共课之外,专业课程由各学院自行安排时间和上课地点,可防止专业课安排在一起,学生学习困难,影响学生学习积极性等情况。 3.

教务处只负责审核各学院安排的课程总量,可以减少学院跟教务处之间的课程安排的矛盾,尽可能满足教师与学生的需求。

3.4.2新生报到管理业务流程优化设计

根据对新生入学所需办理的手续及可能出现的状况进行分析,设计新生入学流程如下:

开始缴费完成凭相关材料到院系处审核存在,补录数据审批通过财务处缴费尚未缴费不存在此人招生处核查特困生审核通过院系领导审批院系报到接待处发放一卡通、缴费单、分班不存在凭缴费单领取宿舍钥匙和物品结束

图3.6 新生入学流程图

3.4.3选课管理业务流程优化设计

以学生和社会的需求出发,充分发挥学生的个人特长,培养优秀人才,将选课流程设计如下:

13

业务流程可重组教务管理系统的总体设计

开始未开放教务处开放权限给学院开放学生登录课程数据库学院开放课程数据排课数据库选课时限结束查询课程信息未完成生成选课数据库时限选课完成需打印完成选择课程学生个性化课表打印教务处权限关闭结束

图3.7 学生选课流程图

3.4.4成绩报送与审核业务流程优化设计

为了对教师成绩报送进行有效监督,学生能够及时反映成绩问题,将成绩报送与审核流程设计如下:

14

业务流程可重组教务管理系统的总体设计

开始失败教师登录出错未报送已报送教师成绩报送成功教师成绩复核无误有误院系教务员审核通过成绩入库并存档通过教务处审核有误学生成绩查询无错需要打印成绩单打印结束 图3.8 成绩管理流程图

3.5业务流程可重组教务管理系统的功能设计

根据教务管理系统框架结构的设计,功能的分析,为了能够较好的支持教务管理业务流程重组、变更,系统的功能模块设计如图3.9所示

15

业务流程可重组教务管理系统的总体设计

过程建模工作流程创建工作流部分基于工作流技术的业务流程可重组教务管理系统工作流创建、角色、结点分配基本信息采集子模块核心信息管理子模块综合绩效评价子模块任课教师信息学生信息课程信息其他数据信息教务管理系统运行部分新生报到管理课程安排管理学籍管理选课管理成绩报送管理成绩查询分析管理评教管理考勤统计开课统计成绩统计、分析工作量统计 图3.9 教务管理系统功能结构图

下面主要介绍各模块的主要功能: 1.过程建模

利用建模工具对分析、优化后的业务流程对教务管理系统的各流程建立工作流模型,将建立的工作流模型分开存储。 2.工作流程创建

通过用户向管理员或者管理部门提交变更后的流程或新流程,管理员修改当前流程或者创建相应的新流程,也可以只是当前流程中的角色变更、增添等。 3.工作流程创建、角色、结点分配

对于用户提交的申请,管理员或管理部门对当前的流程按照规范分配需要完成整个流程的结点、对应结点的角色,并创立当前的工作流程、存入数据库中。 4.教师管理

主要包括教师信息维护、教学日历管理、工作量系数维护、统计工作量。 5.教学计划管理

主要包括基本设置、新专业计划制定、原始计划维护、执行计划维护、公共

16

业务流程可重组教务管理系统的总体设计

选修课计划维护、教学任务维护、统计查询报表。 6.排课管理

主要包括人机交互排课及调整、课表打印。 7.选课管理

主要包括课程的开设、专业课人数限制。 8.成绩管理

主要包括成绩录入、统计分析、成绩综合处理、平时成绩登记表、成绩报告单、班级单科成绩分析、成绩录入与统计、考试成绩打印、班级学期成绩汇总表。

17

教务管理系统工作流技术的应用研究

第四章教务管理系统工作流技术的应用研究

4.1工作流思想的实现方案

工作流提供了经营过程逻辑与它的信息支撑系统的分离,并实现了应用逻辑和过程逻辑分离。它可以在不修改具体功能模块实现方式(如操作系统、数据库系统、编程语言、用户界面等)的情况下,通过修改过程模型来改进系统性能,从而实现对生产经营过程部分或全部的集成管理,有效的把人、信息和应用工具合理地组织在一起,进而提高了软件的重用率,发挥系统的最大性能。 我们通过对工作流技术的研究以及对教务管理特征的分析,决定采用以工作流引擎和数据驱动相结合的方法实现教务管理业务流程的运转。实现系统时采用工作流建模技术和.NET的工作流引擎技术实现应用逻辑和过程逻辑的分离。方案要点如下:

(1)对教务管理业务流程和相关组织部门、角色进行分析和研究,同业务人员探讨后确定业务流程、相关组织部门和人员角色的分配。

(2)利用工作流建模工具建立教务系统的业务模型,并将其转换成流程模型的数据保存到工作流引擎数据库中。

(3)组织部门和人员角色分配的相关数据也保存到工作流引擎数据库。 (4)工作流执行是通过读取工作流引擎数据库中相关业务表以获取流程步骤、结点约束条件和用户角色处理权限等。另外,还要考虑到客户端程序与工作流交互的方式,一般有邮件传递、过程调用或消息传递、共享文件等。

(5)教务管理的业务流程发生改变时,可以通过建模工具修改定义的业务流程,则系统就会按照新的流程自动流转。

4.2 工作流建模技术

4.2.1 工作流模型简介

工作流模型是描述一个企业或组织的业务处理活动过程的模型,是整个工作

18

教务管理系统工作流技术的应用研究

流管理系统的基础。工作流不仅仅需要明确的表达经营过程中的活动以及活动之间的关系,而且还要对活动间所传递的信息、活动的执行实体、活动所需的资源等方面进行定义,这样才能够构成一个完整的业务过程模型。因此,人们在工作流模型中加入了描述数据、组织、资源的相应部分。为了使工作流模型在描述信息、组织与资源上的能力更强,人们逐渐把相关的描述部分扩充为一个个较为完整的具有一定独立性的模型。这些模型采用更为细致的描述方法描述企业中有关组织、职员和信息的结构。它们辅助过程模型来实现对企业业务过程的全面描述。一个完整的工作流模型由过程模型、组织模型、访问控制模型以及工作流相关数据组成。

目前己有多家研究机构和工作流管理软件商对工作流模型的描述语言和定义方法进行了研究,产生了多种不同形式的工作流模型,例如,基于事物模型的工作流模型、基于Petri网的工作流模型、基于语言行为的工作流模型和基于活动网络的工作流模型。 4.2.2 教务管理工作流相关模型 1.教务管理系统的组织模型

要将工作流技术引入到教务管理系统中,首要的任务是通过建模工具建立教务管理系统的各业务流程的工作流模型。下面以教务管理系统中的“成绩报送审核”为例来探讨组织模型中的各种实体,如用户、角色等。

根据高校教学系统业务流程的特点,一般采用以下结点进行表示:开始结点、结束结点、活动结点、关系节点、子过程结点、数据存储结点。其中开始结点和结束结点分别代表一个工作流模型的开始和结束;高校教学系统中一个完整的业务流程,由一系列最基本的教学活动,按照一定的逻辑顺序规则组成,并最终产生一批数据,在这里,用活动结点来代表最基本的教学活动,用关系节点来表示活动之间的逻辑顺序规则,用数据存储结点来表示活动所产生的数据,用子过程结点来代表一个局部的工作流建模过程。在“成绩报送审”流程中,当教师成绩被提交后,即激活这个流程的开始结点;然后流转到各学院教学秘书活动结点对报送的成绩进行审核,根据审核结果再流转到下一个结点,这里就需要使用关系结点来处理审核结果的逻辑顺序规则;另外,用数据存储结点来接收审核过程中

19

教务管理系统工作流技术的应用研究

产生的数据,如审核结果、审核意见等;当流程流转到结束结点的时候,则该成绩报送审核流程结束。

在实际应用中,人员是以组织机构的形式进行管理的,为了更全面地描述高校中各部门人力的各项特征,必须对高校中各部门的人员的组织方式进行宏观建模。这里,组织模型由四种实体构成:人员、角色、部门、工作组,其关系如图4.1所示。

人员组成组成工作组参与组成部门角色 图4.1 组织模型的结构

a)人员:对应于教学部门中的每一名员工,是一个独立的、具有一定行为能力 和一定技术能力的人的实体。

b)角色:以部门分工为前提,能够完成某项功能的人员的总称。高校教学中的

每一个角色对应着一名或多名部门人员。在工作流模型中,角色被视为人员与组织的关系。

C) 部门:对应于高校的静态结构划分,与高校的实际部门设置相对应,可以是

传统的面向职能的,也可以是现在流行的面向过程。部门是由高校内部具有相同任务目标的人员组成的。在部门中根据责任的不同可以划分多个角色。 d) 工作组:以执行某一任务为目标而动态创建的、跨部门划分的一种组织结构。

为了适应部门职能合作更新或者其它临时需要,不同部门、不同角色的人员可以动态的组织起来,在一段时间内临时组成工作组。

总之组织模型为工作流模型提供有关人的视图。用户通过工作流建模工具建立过程模型时,将会为活动结点设置执行者属性,即引用组织模型中提供的组织单元充当活动的执行执行者。 2.教务管理系统的过程模型

过程模型是用来抽象实际的业务流程信息。业务流程从逻辑上看,可以是一个或几个子流程。一个流程或子流程由若干活动组成,活动间存在着约束关系。活动又是一些不同的操作的集合体。过程模型用于将组织机构、应用数据与实际操作联系起来。

20

教务管理系统工作流技术的应用研究

过程模型的数据结构主要包含以下信息: ① 流程基本信息表 ② 活动表 ③ 活动转移规则表

④ 任务表。任务表实际反映的就是实例化后的工作流信息,其中按工作流的流程定义分成多个任务列表。任务表主要由当前的活动号、前驱活动号、执行角色、执行状态和事件结点号组成。执行角色表示当前结点的操作人;执行状态代表当前任务是就绪、执行中、尚未执行等各种状态;事件结点号是一种把应用数据即程序与工作流中的活动联系起来的桥梁。

⑤ 任务结束列表。记录所有正常结束的任务的基本情况。

⑥ 任务指派规则表。任务需要分配给具体的操作人员执行,系统中采用以角色进行任务分配。这种分配方式又有两种情形:一种是不需人工参与,工作流引擎直接调用分配规则确定执行人员。例如教师成绩报送后需要学院的教学秘书进行审核转入,那么系统可以按照这条规则根据教师编号等特征去找寻所对应学院教学秘书的角色,通过此角色找到相应的教务教学秘书;另一种是根据任务分配规则,不能直接找到具体的人员,如教务处成绩审核可以由教务科进行处理,但教务科人员有多个,这时只是具体找到角色,只要此角色中有一个人进行过就算完成。

3.教务管理系统的访问控制模型

教务管理系统中,访问控制模型用来定义系统用户对系统功能的操作能力和工作流程的参与程度和范围。综合灵活性和实用性的考虑,本文使用基于角色用户组的访问控制模型。其关系如下图所示:

角色拥有拥有权限权限权限用户属于对象组 图4-2访问控制模型

A) 对象: 是系统执行的最基本的单元,是操作的接收者,包括工作流程执行的任务和系统功能模块功能的调用。

21

教务管理系统工作流技术的应用研究

B) 角色:以工作中结点的职责为界,能够完成某类系统功能或者参与流程中的某类任务的集合体。根据系统中的职责和拥有的权限不同,角色又被划分成系统内置角色和过程参与角色两类。

① 系统内置角色:此角色与系统中的操作功能项相对应,根据系统的功能模块进行划分,如系统管理员,职能部门管理员等。

② 过程参与角色:此角色对应于工作流过程中的人物参与者。

教务管理系统采用此种访问控制模型,再结合系统组织模型,用户、组合角色之间的联系,可以很好地实现访问控制的层级化。系统和工作流管理过程可以根据需求定义各种角色,并给角色赋予不同的权限,而建立的用户被指派与角色相对应,从而实现用户与访问权限的逻辑分离,方便权限的管理。 4.2.3建模示例

对于教学管理工作来说,过程模型描述了教学管理业务过程中包含的活动以及这些活动之间的逻辑关系。组织模型则描述了高校教学管理工作相关的组织单元及相互之间的关系。工作流相关数据是工作流管理系统在进行工作流实例的状态转换时所需要访问的数据,这些数据可以被工作流引擎、工作流参与人员和应用程序访问,并能够被修改。下面给出教务管理系统中的“成绩报送审核”过程模型设计方法和实例。

通过对成绩报送审核业务的分析,流程的优化设计(参见3.4.4),得出成绩报送审核的流程:教师登录时,激活成绩报送审核流程,进入成绩报送结点,成绩报送完成后,修改结点状态,通知下一结点;教学秘书登录,相应的激活成绩审核结点,若成绩审核通过,进入成绩转入结点,确认无误后由教务秘书将成绩转入至学籍处数据库,并书面提交成绩单存档。其流程如图4-3所示。

1.开始

2.成绩报送验证,若教师成绩已经报送,进入步骤4,即进行成绩审核;若尚未报送,则执行步骤3,通知教师,报送成绩。

3.教师成绩报送或者修改重新报送。

4.成绩审核,有教学秘书对教师报送的成绩根据教学计划的要求进行审核,若无问题执行步骤5,进行成绩转入;若审核有问题,则执行步骤3.

22

教务管理系统工作流技术的应用研究

5.成绩转入,教务秘书将课程成绩进行转入,转入无误,执行步骤6. 6.教务处、学院,对成绩单进行审核,无误进入步骤7,有误执行步骤3. 7.成绩存档. 8.结束.

失败出错c1c2c3c4c5

图4.2教师成绩报送与审核过程模型

说明:c1是登录,c2是成绩报送,c3是教学秘书审核,c4是教务处审核,c5是成绩存档。

4.3 数据驱动技术

利用数据驱动业务流程也是本论文应用的重要思想之一工作流引擎数据库为业务的自动化运转提供了可能。教务系统通过对工作流引擎数据库的读取,完成工作流相关业务的操作,通过对该数据库的读写,完成人员权限的分配。

下面我们仍以“成绩报送与审核”流程为例来介绍数据如何驱动业务流程的自动化运转。在成绩报送审核模块中,一旦教师完成对成绩单的填写、提交,流程提交结点将会触发成绩保存事件,将成绩信息存入应用数据库中,修改数据库结点联系表中的相应状态标志来自动激活“成绩审核”流程中的开始结点。利用开始结点的有关描述项,流转到下一个结点,从此结点的描述信息中查找结点的角色,向此角色(各院系教学秘书或者教务处教务科管理员)发出通知。当该角色对应的用户收到消息提示就可以打开对应的成绩信息供其审核。此时,该角色对应的审核状态位会修改为正在审核,此时教师将不能再对成绩进行修改。当成绩单的审核工作完成并提交后,审核提交事件将会自动记录人员填写意见、进行编辑时间和提交的时间等,并根据审核意见自动流转到下一个结点(如通过,则流转至成绩转入结点,有异常则流转至教师成绩重新修改结点)。从此结点的描述中查找结点的角色,向此角色发出通知。这样,根据设置好的工作流程,成绩报送就可以在高校内部按业务流程的要求进行自动流转。如高校部门变更、人员调动只要管理员打开建模工具在成绩流程中进行修改即将A转变成B,这个状态的

23

教务管理系统工作流技术的应用研究

转变可以从一个step的某个state变为另一个state;也可以从一个step的某一个state变为另一个step的某一个state。

4.4工作流引擎设计

4.4.1 系统工作流引擎体系结构设计

工作流引擎的设计思路为:对于教务管理中的一个新业务的出现,用户通过客户机进行登录访问,系统判断用户权限,激活用户的工作业务。工作流引擎负责调度与监控系统业务中各任务的执行与分发,同时启动逻辑处理模块向用户发布工作流任务表,使其对业务进行处理。当该业务完成后,工作流引擎通过监控该业务的状态获得此信息,并在数据库中将该流程实例置为已完成。

工作流引擎的工作流程执行过程是:当某一业务促发时,系统根据客户端用户的操作获取信息,系统分析该业务,从工作流引擎数据库中获取定义的流程,逻辑控制模块生成系统任务,将该流程所涉及的所有活动列入任务列表中,然后引用工作流引擎数据库中流程的定义,确定每个步骤的角色成员,修改系统任务,将处理过的任务转入下一用户,直到完成工作流引擎数据库中对该业务的流程定义。工作流引擎的工作流程如图4.34所示 搜寻当前用户的办理业务用户登录确定用户权限工作列表搜寻用户待办业务判断业务办理情况启动相应的定义的业务流程办理业务确定待办业务运行业务程序程序结束流程转入下一阶段应用程序数据判断条件确定下一阶段查找前一阶段记录当前流程的业务办理情况流程驳回上一阶段流程停留在本阶段通过窗口消息通知操作角色查找操作者图4.3 工作流引擎工作流程

24

教务管理系统工作流技术的应用研究

4.4.2 引擎的详细设计

系统采用基于关系数据库的工作流引擎,根据定义的业务规则对业务过程中的各项业务活动的流转以及任务指派等工作进行控制和协调。系统用工作流建模工具采用一套恰当的图形化工具对业务过程进行描述,然后将其转换成相应数据库表的关系结构,从而建立起工作流引擎的数据模型[32]。因此,系统建模工具是工作流引擎在构造时系统建模工具是工作流引擎在构造时的定义中心,而引擎驱动中心则是工作流引擎在运行时的控制中心,它负责工作流引擎在运行时的协调、调度和控制功能。

引擎驱动中心接受从外部接口发送过来有关流程控制的请求(如业务初始化、获取任务以及结束任务等),然后根据不同的请求类型调用相应的处理模块完成与本次请求相关的操作并将结果返回。事实上可以将引擎驱动中心看成一个多线程的并发服务器,它可以对多个外部请求提供并发服务。对外部请求的处理过程中肯定会涉及到对内部数据结构(即工作流引擎的数据模型)中有关数据的读写和更改操作,这些数据的完整性和互斥操作则可以通过DBMS提供的各种加锁机制来实现,从而实现了多个外部请求之间的独立性。

完成一个流程的审批通常需要各类人员相互协作,有时可能产生业务退回的情况,比如一个常见的成绩报送审批流程:教师报送—学院审核—教务处审核—成绩存档,在这个简单的流程中,涉及到了各类人员:教师、学院成绩管理人员、教务处人员,如果某个环节的成绩出现问题,则可能要求退回上一步,由此看来又具有协作性工作流的特点。该系统需要在多个部门和不同角色的用户之间传递业务数据。

通过对以上审批工作流引擎软件结构的分析,从教务管理系统功能的实际工作出发,结合组成工作流的四大元素(即人员、资源、事件、状态),再加上过程定义、过程控制和相应的规则,设计了工作流引擎数据库。

1.UML表示的工作流引擎数据库类图(见图4.4)。

25

教务管理系统工作流技术的应用研究

图4.4工作流引擎数据库类图

2. 工作流引擎数据表设计

在业务流程可重组的教务管理系统中,工作流引擎依据工作流引擎数据库中业务流程的定义进行调度,而利用结点间的约束来控制流程的运行。因此,工作流定义表、工作流结点关系表、流程步骤表和活动实例表是工作流控制过程中最关键的数据表,为了防止结点的混乱,在此数据库中,增添一张结点表,所有其他表中的结点都继承于结点表。限于篇幅,只针对五个最关键的数据表进行设计。

结点基本信息表(如表4-1所示)用来存放所有定义的结点基本信息,包括结点号、结点名称等。

表4-1 结点基本信息表(T_Node)

字段名 字段类型

NodeID Int NodeName String NodeType String NodeText String 含义 其他

结点编号 PK 结点名称 结点类型 结点的描述

说明:T_Node表存放所有的流程结点,结点类型、性质都在此定义,其他表中的结点都从此表中继承,没有单独再创建结点。流程在创建前,必须把所有的流程结点输入此表中,可以防止结点混乱、重复、难以维护的状况。

流程定义表(如表5-2所示)记录流程的基本信息,包括创建者、流程名称、流程开始时间和流程结束时间等。

26

教务管理系统工作流技术的应用研究

表4-2 流程定义表(T_Flow)

字段名 字段类型

FlowID Int FlowTitle String UserID Int CreateTime Date BeginDate Date EndDate Date FlowText String 含义 其他

流程编号 PK 流程名称

创建用户 FK 流程创建时间 流程执行开始时间 流程结束时间 流程的描述

流程步骤表(如表4-3所示)是详细记录每个定义流程的执行结点和执行角色,工作流引擎可以根据对此表的状态值的访问,得到结点的运行状态,进而通知功能运行模块中的执行角色。

表4-3流程步骤表(T_FlowStep)

字段名 字段类型 含义 其他

AutoID Int 无 PK FlowID Int 流程编号 FK FlowNodeID Int 结点编号 FK RoleID Int 角色编号 FK Content Text 内容 Status String 状态标志 Modifydate Date 修改时间

流程结点表(如表5-4所示)详细记录每个流程中前驱结点和后继结点间的关系,工作流引擎根据此表中流程的结点关系来判断下一结点能否开始执行。

表4-4 流程结点关系表(T_Node_Relation)

字段名 字段类型 含义 其他 AutoID Int 无 PK FlowID Int 流程编号 FK FromNode Int 前驱结点 FK ToNode Int 后驱结点 FK Relation String 结点关系 Status String 状态标志

说明:T_Node_Relation详细说明了每个流程中前驱结点和后继结点间的相互关系。

活动实例表(如表4-5所示)是流程结点的具体操作的信息,包括活动实例号,活动实例名,所属流程,优先级,当前状态等。

27

教务管理系统工作流技术的应用研究

表4-5 活动实例表

字段名 字段类型 ProcessID Int ProcessName String FlowID Int Priority String State Int Operate Sting 3. 结点表继承的实现

含义 其他

实例编号 PK 实例名称

所属流程 FK 活动实例优先级 活动实例状态 活动实例的操作

CREATE function getNode(@NodeID)

s @Result table(NodeID NodeName NodeType ) as begin

DECLARE @type , @name,@nodeid

declare @stack table(NodeID, NodeType,NodeName )

IF EXISTS (SELECT NodeType Type,NodeName Name FROM T_Node WHERE NodeID = @NodeID)

Select @type=Type @name=Name

insert o @Result values(@NodeID,@NodeName,@level) DELETE FROM @stack WHERE NodeID = @nodeid AND NodeName = @name End

4.4.3 引擎的核心算法

1.流程运行算法

系统运行当中利用栈作为存储结构,将某个运行流程的结点从工作流数据库中读出并依次存入当前栈中,结点出栈的顺序决定了流程的顺序,查询出栈的当

28

教务管理系统工作流技术的应用研究

前结点可获得该结点的运行状态和结点操作的角色,藉此控制整个工作流程的运行。

流程运行算法描述:

设GetNextNodeOf(Node)为取当前工作流运行节点Node的下一结点的节点函数,NodeStack为先入后出的结构结点栈,NodeStack为空。该算法的具体运算过程如下:

步骤1将某个流程运行的起始结点压入NodeStack。

步骤2如果NodeStack为空,则结束;否则取出NodeStack中的一个结点,设为Node。

步骤3如果Node为根对象,则取Node为起始的定义好的工作流流程,生成该对象相应的过程,否则从过程模型中选取对应的Node的活动,选取某一元过程型,生成子过程,记为NextNode。

步骤4将GetNextNodeOf(Node)中包含的节点压入NodeStack。 步骤5如果Node不再包括子节点,转步骤2,否则,转步骤3。 2.系统流程调整算法

除了系统中确定性的基本元流程外,系统在运行过程中可能会需要对业务流程进行动态调整。根据具体实际情况,调整的方式和范围都会不同。这种调整可能只是针对业务运行工作流,也可能是针对业务部门管理的工作流。在调整的过程中,由于可能对过程逻辑进行改变,为保证过程逻辑的正确性,需要通过某些算法实现正确性的自动维护,其中最为基础也是最重要的是事件驱动关系。 驱动关系的调整是最频繁使用的一种过程调整手段,它会被其他过程调整手段所引用。由于连接节点之间可能存在串连关系,因此删除或者添加某一节点(活动节点或者连接节点)将会产生“链式反应”,因此需要在调整控制流时维护驱动关系的正确性。算法2可以保证驱动关系的正确性。

算法2:

设GetInputNodeEvent(d)函数是获取连接结点d的所有输入事件,

GetInputNodeEventCount(d)函数是获取连接结点d的所有输入事件的个数,定义连接结点栈EventsStatck。

该算法的具体运算过程如下:

29

教务管理系统工作流技术的应用研究

步骤1如果添加一个控制流到连接节点d1,即向连接节点引入了一个输入事件e1,转下一步;如果为从节点删除一个控制流,即对连接节点删除一个输入事件,则转步骤3。

步骤2先检测GetInputNodeEvent(d1)是否已经存在该事件e1,如果已经存在,则退出该算法,否则转步骤4。

步骤3如果GetInputNodeEventCount(d1)=0,触发事件置为空;如果GetInputNodeEventCount(d1)=1,则从系统中删除该触发事件,设置触发事件为GetnextNodeInputEvent(d1),转步骤5。

步骤4如果GetInputNodeEventCount(d1)=1,设置该节点的触发事件为e1,转步骤5。如果GetInputNodeEventCount(d1)= 2,在系统内生成一个新事件作为节点的触发事件。

步骤5将c1压入EventsStatck。

步骤6 调用inputdata函数将当前的算法得出的事件存入到数据库中,调整数据库T_Relation表中当前变更工作流的结点关系和T_flowStep表中的结点执行流程。

4.5 教务管理业务流程执行

4.5.1 业务流程的自动化

完成教务管理系统的过程定义后,结合工作流引擎和数据驱动技术就可以通过模型来实现教务管理中工作流的自动化运作。

自动化实现的具体过程为: (1)确定当前的工作流程。

(2)根据流程中结点的所处状态和约束条件,结合流程步骤表,确定该结点 对应的后继活动。

(3)在流程步骤表中查找该由哪个角色(部门)来进行操作。

(4)根据用户表,确定具体的操作人员进行操作,工作流引擎相应地修改结点处理状态。

(5)工作流引擎再根据目前结点的状态信息,判断该活动的后继活动,回到

30

教务管理系统工作流技术的应用研究

步骤(1)的状态。

活动执行完成,引擎修改状态活动状态表processIDActIDFlowIDFlowNodeIDState…操作具体活动,改变活动状态人员表UserIDUSerName…确定操作对象引擎根据当前状态和完成状态,查找流程下一结点流程步骤表FlowIDFlowNodeIDActIDStatus修改state为的状态,修改…状态为未进行根据ActID查找相应操作活动操作表ActIDActNameRoleID…角色表RoleIDRoleNam…确定操作的角色

图4.5 业务自动化的执行过程

下面仍以“成绩报送与审核“流程为例,来讨论业务流程的自动化运作。 1.成绩单传输与处理自动化

对于根据定义好的工作流执行的成绩报送审核流程来说,成绩已提交但尚未审核,此时结点的提交事件会触发工作流引擎去修改工作流引擎数据库中成绩报送状态的state,修改其状态为完成,接下去工作流引擎会从流程步骤表中读取下一流程步骤结点,从活动操作表中读取结点的操作事件,根据操作事件的操作角色ID来查找活动的角色,进而通过人员表找到相应的人员,向对应此角色的所有人员发送通知,只要当前人员处理完成成绩单审核并提交,审核提交结点触发该完成事件,将自动的把成绩单提交到下一步活动的人员手中。

2.日志记录自动化

每当完成对成绩的报送、教学秘书完成对成绩的审核工作后,计算机都会自动记录填写IP地址、账户和提交时间等。

4.提醒方式自动化

在系统中需要设定对用户的提醒方式(以定时刷新消息框),每当有新的成绩需要审核时,特别是学生对该课程成绩比较急需时,系统会以消息的方式提示用户。

31

教务管理系统工作流技术的应用研究

4.5.2 实时消息传送机制

工作流管理中,一个很重要的功能是如何在不同的执行人员中进行消息的实时传递。例如在某一结点执行完成后,系统需要向下一个结点的角色发送信息,将当前的操作权转交给下一个用户,这时候就需要向此角色所对应的用户发送消息。对于以上情况,本文使用一种消息传递模式来对用户实现“自动提醒”。该机制的实现要点(1)在系统中特设一个消息功能栏,每当当前结点用户将工作处理完毕提交给下一结点用户时,消息机制将会自动将一消息发送到所有下一步所有结点用户的消息栏中。每次执行人员登录系统时,该机制刷新该用户的消息栏,对应其角色的消息信息。通知就自动出现在用户界面的消息栏中。(2)在工作流执行部分中设计了一个定时刷新用户消息栏的时钟控件,来实现实时的“自动提醒”功能。用户得到计算机关于新消息的提醒后再接转到数据库查看文件通知。

4.6 角色关系

业务流程可重组的教务管理系统的教务管理功能模块和工作流控制模块中都有各自的角色,业务流程运行都是寻找流程结点的具体操作者,而工作流模块部分的角色主要分配流程结点的操作员,而具体教务管理功能运行部门是具体的流程执行角色;两个模块间的角色映射如图4.5所示

系统管理员校领导工教务处领导作流招生处控制教学秘书模教师块角职能部门角色色收费管理角色评教管理角色系统管理员校领导教教务处领导务管招生处理运教学秘书行模教师块职能部门角角色色收费管理角色评教管理角色 图4.5角色映射关系图

32

业务流程可重组教务管理原型系统的实现

第五章 业务流程可重组教务管理原型系统的实现

5.1工作流引擎的实现

1)创建工作流实例

工作流实例中假设FID为流程的ID,CNMID为创建者ID,流程实例的名称为“成绩报送审核实例”。

WorkflowClient wc=new WorkflowClient(); ArrayList al=wc.GetStartActiVity(FID);

Wc.CreateWorknowInstance(pID, (ActiVityTemplate)al[O],CNMID); 2)成绩报送与审核流程运行实例

public static void updateworkflow (UID)/ /在成绩报送后调用,是整个系统的核心。 {

取得该成绩记录

if(成绩报送完毕)//流程已经进入下一个节点 {

寻找下一结点的任务和操作角色 }

if(任务表中还有对应的下一个任务项) {

if (流程没有结束) {

if(流程条件不满足)停留在当前结点并发通知; else {

产生下一结点的相应任务,获取相应角色,状态都是未审核; } } }

if(审核通过) {

更新当前状态为审核通过,通知下一结点; 调用updateworkflow (UID); }

if(审核不通过) {

更新该任务节点的状态为未通过,并停止流程;

33

业务流程可重组教务管理原型系统的实现

}

}

3)结点的判断算法实现

教务管理系统一个流程在运行中需要对结点的执行约束条件进行判别,在系统中的结点主要分四种:判断结点(Decision),分支(Fork),聚合(Join),状态结点(State),其中状态结点是系统运行中的活动结点。对于状态(state)分成3个类型:StartNode(启动结点),EndNode(结束结点),ProcessNode(子流程结点),当流程启动运行,除启动结点外,会每次判断当前结点的类型、状态,系统结点的关系判断主要根据预先定义好的三种约束关系,在代码实现过程中使用OR、AND、XOR三种关系来实现:

Public void acceptuToken(ExecutionContextInpl executionContext ) {

executionContext.SetNode(to); to.acceptToken(executionContext); }

Public boolen enable(actorID) {

Set preset = getPresetElement();

ExternalCondition[] condition = ExternalCondition[]; preset.toArray(new ExternalCondition[preset.size()]; switch(Type) {

Case External_AND: for(int i=0;iif(condition[i].containIdentifier()) {

return true;

} }

Case External_OR: return JoinEnable(actorID); Case External_XOR: for (int I =0;iif(condition[i].conditionIdentifier()) return true; }

return fasle; Default:

34

业务流程可重组教务管理原型系统的实现

return fasle; } }

5.2 系统的功能应用

系统采用Microsoft 的.NET开发平台中的 Workflow Foundation 进行开发,开发了工作流控制子系统(含工作流定义、申请、角色分配等模块),并融合原有教务管理系统,组合成了最新的基于工作流的业务流程可重组教务管理系统。

1.工作流管理系统的主体界面

工作流管理部分的功能主要包括了流程的申请、流程的创建、流程的修改、结点任务的分配、角色用户的分配等功能。

图5.1工作流系统主页面

主界面的工作台上拥有四个大功能,流程管理,用户管理,流程模板管理和系统管理,另外将一些常用功能以工具栏形式列出,用户可以点击工具栏上的消息按钮来查询自己当前尚需要做的工作,可以了解到处在在哪些工作流程中,就可以来进行处理;也可以点击查询流程按钮来查看需要处理的业务流程。

2.流程模板的定义

流程模板的定义界面是可以将基本的教务系统业务流程定义存入到数据库中,如有新的业务流程需要添加,可以直接调用此模板,也可以直接重新创建。

35

业务流程可重组教务管理原型系统的实现

图5.2 流程模板定义界面

根据界面功能可以了解到,在系统创建流程步骤的时候可以为当前的流程步骤分配所需的角色,可以是一个角色也可以是多个角色,系统在流程的执行过程中会调用工作流引擎中的算法进行判断,找到确定的角色对应的操作用户。在流程的定义中可以为每个步骤设定两者之间的关系,即所谓的结点间的约束,这种约束在系统中主要分成三种:⑴同级—同级;⑵上级—下级;⑶下级—上级。同级直接的约束可以表明结点间互换操作步骤不会产生影响,上级对下级和下级对上级之间的约束必须由级别高者先完成才可以继续下一结点的工作。 流程结点步骤的约束关系的添加如下页面所示:

图 5.3 关系约束界面

3.权限管理

权限管理界面主要是用来设置角色的权限,系统根据需要将权限赋给不同的角色。只有系统的管理员才可以拥有这个操作权限

36

业务流程可重组教务管理原型系统的实现

图5.4 权限分配界面

管理员可以为现在有的角色修改权限,也可以添加新的角色和角色权限,如有新的权限出现时必须现在权限表中进行添加,其他权限的操作都是继承于权限表的操作。

5.3教师成绩申报与审核工作流实例

为了方便更好的理解系统中业务流程重组通过教师成绩申报审核为例进行详细的说明。

首先,必须对教师申报审核的业务流程进行变更。经过详细讨论和研究,决定取消在教师成绩审核报送过程中的“教务处审核”这个业务,当成绩从学院教学秘书处审核转入后,就会调用流程结束事件,通知所有这条流程中的角色用户,流程结束,不在向教务处通报进行审核。这个工作只要管理员首先在流程定义的工具中将业务流程的“过程定义”进行修改,将修改后教师成绩申报审核流程存入到工作流引擎数据库中。修改后的流程如图5.5 所示。

开始失败登录成功出错教师成绩报送成功不通过院系教学秘书审核审核通过成绩存档结束

图5..5 成绩报送审核流程

37

业务流程可重组教务管理原型系统的实现

当教师进入成绩报送系统,将成绩输入提交完毕后,此时,系统会根据预先设计的流程执行角色,向下一角色发通知信,并将下一节点默认成流程的执行起点,系统会判断此流程中的当前角色的前期约束任务是否全部完成,若状态位全部为执行完毕,则当学院教学秘书角色登录后就可以执行,教学秘书审核当前成绩,根据要求进行审核,审核不通过,就会将当前的状态位重置为不通过,并给前驱的教师结点发送通知,要求教师进行成绩复核;符合就将成绩转入,继续通知流程的下一节点,促发流程下一结点的启动事件,下一结点是“文成绩存档”,系统将所有的成绩信息进行保存,并向系统流程中的所有角色用户发送通知,系统继执行当前流程,从数据库中取出当前流程的下一结点,下一结点是“结束结点”,系统调用结束事件,此成绩报送审核流程结束。

38

总结与展望

第六章 总结与展望

6.1 论文总结

工作流技术的应用范围越来越广,以工作流技术构建起的系统灵活性、可扩展性好,本文主要应用工作流思想和技术实现了基于工作流技术下的业务流程可重组教务管理系统。主要的工作内容如下:

1.对教学管理的工作流程进行研究,指出目前教务管理系统中普遍存在的问题,并对当前的流程进行分析建模,提出了将工作流技术应用到教务管理系统中,并设计开发业务流程可重组教务管理系统,增强教务管理系统的通用性。

2.对BPR和工作流技术进行研究,利用工作流技术中的业务逻辑与任务逻辑分离的思想,结合教务管理系统的特点,提出了应用工作流引擎技术结合数据驱动业务流程的方法,并建立了相应的体系模型。

3.对工作流引擎技术和数据驱动业务流程的工作流实现技术进行研究,分析了建模技术,工作流的业务流程自动化、消息的实时传输,并给出了流程运行的核心判断算法。

4.系统的设计与开发。首先对系统的体系结构,功能模块进行了设计,并建立了教务系统整体流程、新生报到流程、教师成绩报送审核流程等模型,将其存入数据库中,同时介绍了工作流模块部分的定义和具体的实现,并通过对教师成绩报送审核流程的实例讲述工作流的执行。

通过对教务管理系统的分析,运用工作流技术的教务系统的业务流程进行重组和开发,使本人对工作流思想、工作流技术、建模技术、教务管理系统软件有了更加深刻的了解和体会。

6.2 工作展望

教务管理是一个涉及面广泛、系统功能复杂的工程,系统使用不仅仅只局限于教务处单一的教务处,还要跟学校的数字化建设过程中与其他部门进行融合,对它的应用研究具有一定的社会效用,可以改善教务管理系统柔性和管理。本文

39

总结与展望

借助于工作的思想和技术对教务管理系统进行研究,在今后的工作中需要更进一步扩展以上的当前的研究成果。

由于当前工作流技术尚处在萌芽阶,随在各个行业已有一定的应用,但目前为止没有一个真正能够通用的工作流的商业软件,也没有一个完善的建模工具,而且教务管理系统本身比较庞大。因此,本文中只是对系统进行了一些比较粗浅的尝试,未能彻底将原有教务系统与工作流控制子系统进行融合,完成全部教务业务流程的重组、优化,还有待更进一步的完善和改进。

(A) 完善流程的定义、对已经改善的流程进行试用、反复寻找最合适的业

务流程。

(B) 开发不同的模式,在内部的使用中开发基于C/S的模式,在外部跟其

他部门的配合使用中开发基于B/S的模式。这样可以在不同的环境中得到应用,具有很强的适应性。

(C) 开发与完善当前的工作流引擎调用算法、流程结点的判断算法和结点

变更的算法,使系统具有自动平衡工作负荷的能力。

40

参考文献

参考文献

[1] Demeyer, S., Meijler, T.D., Nierstrasz, O., and Steyaert, P. 1997. Design Guidelines for

\"Tailorable\" Frameworks. Communications of the ACM, Object-Oriented ApplicationFrameworks, 40(10), 60-64.

[2] D. Georgakopoulos, M. Hornick, and A. Sheth. An overview of workflow management: From

process modeling to workflow automation infrastructure. Distributed and Parallel Databases, an International Journal, 3:119–153, 1995.

[3] Z. Kováks. The Integration of Product Data with Workflow Management Through a Common

Data Model. PhD thesis, Faculty of Computer Studies and Mathematics, University of the West of England, Bristol, Apr. 1999. [4] WfMC (2001), Workflow Management Coalition (WfMC), Workflow Security

Considerations -White Paper, Document Number WFMC-TC-1019, Document Status - Issue 1.0.

[5] Fleurke, M., Ehrler, L. and Purvis, M. (2003): JBees – an adaptive and distributed framework

for workflow systems. Proc. IEEE/WIC International Conference on Intelligent Agent Technology, Halifax, Canada.

[6] Aalst, W.M.P.v.d., Hofstede, A.H.M.t., Kiepuszewski, B.and Barros, A.P. (2002) Workflow

Patterns,Queensland University of Technology, Brisbane,Australia.

[7] Kappel,G.,Rausch-Schott,S.,Restschitzegger,W.,and Sakkinen,M.1996.A Transaction Model

For Handling Composite Events. In Proceedings of the Thrid International Workshop of the Moscow ACM SIGMOD Chapter on Advances in Databases and Information Systems. [8] Gerti Kappel,Setfan Rausch-Schott,Werner Reschitzegger. A Framework for Workflow

Management Systems Based on Objects,Rules and Roles,Linz, Austria.

[9] Jablonski,S.,and Bussler,C. 1996 Workflow-Management:Model Concepts,Architecture and

Implementation.International Thomson Computer Press.1996.

[10] H.C.W.Lau,W.B.Lee,P.K.H.Lau.2003 Flexible workflow integration:an object technology

approach. Industrial Management & Data Systems

[11] Marc Frappier, Mario Richard. SMP:a process-driven approach to project management.

Proceeding of the Hawaii international conference on system science. 2004 [12] 范玉顺 工作流管理技术基础. 北京:清华大学出版社,2001

[13] 陈禹六,李清,张锋. 经营过程重构(BPR)与系统集成,清华大学出版社 [14] 赵文,胡文蕙,张世琨,王立福. 工作流元模型的研究与应用. 软件学报, 2003

[15] 李红臣,史美林,陈信祥. 工作流系统中的业务过程描述及分析. 计算机研究与发展,2001 [16] 孙瑞志,史美林. 支持工作流动态变化的过程元模型. 软件学报 2003 [17] 丁柯,金蓓弘,冯玉琳.失误工作流的建模和分析. 计算机学报 2003

[18] 范玉顺,吴澄.基于协调理论的工作流建模方法. 计算机集成制造系统 2001

[19] 谢玉凤,杨光信,史美林. 基于条件化有向图的工作流过程优化. 计算机学报 2001 [20] 曾炜,阎保平. 工作流模型综述研究. 计算机应用研究. 2005

[21] Ronald Mascitelli 著, 赵海涛译. 如何构建项目型企业精益项目管理之道.北京:清华大

学出版社,2004

[22] Wil van der Aalst, Kees van hee, 王建民等译. 工作流管理—模型、方法和系统. 北京:清

41

参考文献

华大学出版社, 2004

[23] 孙瑞志, 史美林. 工作流系统在电子商务活动中的应用. 小型微型计算机系统[J], 2004. [24] 孙瑞志, 史美林. 工作流活动多实例的调度控制. 软件学报 2005 [25] 李慧芳, 范玉顺. 工作流系统时间管理. 软件学报 2002

[26] 罗海滨,范玉顺. 工作流管理技术研究与产品现状及发展趋势,计算机集成制造系统

2002 6(1):1-7.

[27] 周献忠,分布式工作流引擎的研究与实现[D].国防科技大学,2005.

[28] 张文奇,工作流管理系统中业务活动事物模型的研究与实现[D],华中科技大学,2005 [29] 胡春华,吴敏,刘国平. Web服务工作流中基于信任关系的QoS调度, 计算机学报,2009 [30] 刘曼路. 供应链环境下制造企业实施工作流管理系统关键成功因素研究. 浙江大

学,2007

[31] 胡长城,王作流引擎核心调度算法与PetriNet:

http://blog.csdn.net/james999,2005-4-17

[32] 何清法等,基于关系结构的轻量级工作流引擎.计算机研究与发展,2001.

[33] Leymann F,A ltenhuberW.Managing business processes as an information

resource.IBM Systems Journal,1994,33(2):326一348.

[34] Ellis C A, Nutt G J. Modeling and enactment of workflow systems. In: Marsan

Aed Application and Theory of Petri Nets. Lecture Notes in Computer Science 691,Berlin: Springer2Verlag,1993,1一16.

[35] Wil van der Aalst, Kees van Hee. Workflow Management: models, methods

And systems. Originally published in 1997, translated in English in 2002. [36] Geppert A,Tombros D,Dittrich KR. Defining the semantics of reactive components

in event driven workflow execution with event histories. Information Systems, 1998, 23(34): 235一252.

[37] Davulcu H, Kifer M, Ramakrishnan C, etal. Logic bashed modeling and analysis

of workflows. In: Proceedings of the ACM Symposium in PODS'98, Seattle, USA,1998, 25一33.

[38] Casati F, Grefen Technical Report,P, Pernici B etal. WEE: workflow model and

architecture.96219, University of Twente, 1996.

[39] WfMC-TC-1025, 1.0(Beta Status). Workflow Management Coalition:Workflow Process

Definition Interface--XML Process Definition Language[s]. 2002.

[40] Knutilla A, Schlenoff C, Rays etal. Process specification language: analysis of

existing representations. Technical Report, NISTIR 6133, Gaithersburg, MD: National Institute of Standards and Technology, 1998.

[41] IBM, BEA Systems, Microsoft,Business Process Execution Language for web services

version http: //www-128.ibm.com/developerworks/library/specification/ws-bpel /.2002,7

[42] Zahir Tari, Vivik Pande. Dynamic workflow management in CORBA distributed object systems. Software Engineering for Parallel and Distributed Systems Proceeding. 2000. [43] 史美林,杨光信,向勇等.一个基十Web的工作流管理系统.软件学报.1999 ,11,vol(10). [44] Alonso q Agrawal D, Abbadi A etal. Advanced transaction Models in workflow

contexts. In: Proceedings of International Conference on Data Engineering, New Orleans, 1996,574一581.

42

致谢

致谢

三年的光阴转瞬而逝,在华大的三年研究生生涯也即将结束,心中充满了依依不舍的留念之情,舍不得一起学习的同学,舍不得谆谆教导我的老师,在此对他们在这三年的学习和生活之中对我的帮助和关怀表示诚挚的感谢和崇高的敬意。

首先我要特别感谢我的导师陈维斌教授在这三年中对我的指导。陈老师治学态度严谨、工作认真、善于洞察前沿技术,有着深厚的理论基础和丰富的实践经验,他开阔的思维、对学术的追求和对工程实践的提倡给我以深深的启迪和教益,开阔了我的视野,扩大了知识面。本课题的研究和论文是在陈维斌、喻小光等老师的精心指导下完成的,当我在实践问题中碰到困难,老师们总是耐心讲解、循序渐进,使我思路变得清晰,问题看的更加清楚,少走很多弯路。

衷心的感谢研究生期间的各位任课老师对的关心和帮助,感谢你们孜孜不倦的教诲,为我打下坚实的专业知识基础,你们传授我的知识将让我终身受益。

衷心感谢各位师兄师姐和同门好友的热情支持和真诚帮助,在学习中给我无限的启迪,在生活中给予我无私的帮助。

43

基于工作流技术的业务流程可重组教务管理系统的设计与实现

作者:

学位授予单位:

田炯华侨大学

1. 刘志伟 基于内置式合约的构件测试方法研究[学位论文]20102. 徐淑延 泉州民营饭店引进职业经理人风险研究[学位论文]20103. 丘文姬 基于本体的数据模式匹配方法研究与实现[学位论文]20104. 卢俊 P2P直播技术研究与建模[学位论文]2010

5. 剧孟娟 旅游行业上市公司资本结构与公司绩效的相关性研究[学位论文]6. 王蜜宫 三维人脸特征点定位技术研究[学位论文]20107. 武林仙 数据空间数据源管理子系统[学位论文]2010

8. 周博 500MPa级细晶钢筋混凝土短柱抗震性能试验研究[学位论文]20109. 赵益民 海峡西岸中小旅游企业危机研究[学位论文]2010

10. 王磊 Ad hoc网络在嵌入式Linux平台上的实现及其上VoIP应用开发[学位论文]2010

本文链接:http://d.wanfangdata.com.cn/Thesis_D128103.aspx

因篇幅问题不能全部显示,请点此查看更多更全内容

Top