目 录
1绪论---------------------------------------------------------------------------------------------------1
1.1背景与意义---------------------------------------------------------------------------------1
1.2工作流引擎的理论------------------------------------------------------------------------1
1.3国内现状------------------------------------------------------------------------------------2
1.4本论文的主要内容------------------------------------------------------------------------2
1.5关键技术------------------------------------------------------------------------------------3
1.5.1工作流的定义与建模------------------------------------------------------------3
1.5.2抽象工作流控制------------------------------------------------------------------3
1.5.3与业务系统无缝对接------------------------------------------------------------4
1.5.4提炼流转规则---------------------------------------------------------------------4
1.6章节结构安排------------------------------------------------------------------------------5
1.7本章小结------------------------------------------------------------------------------------5 2需求分析---------------------------------------------------------------------------------------------6
2.1总体描述------------------------------------------------------------------------------------6
2.2功能需求分析------------------------------------------------------------------------------6
2.2.1定义概念---------------------------------------------------------------------------8
2.2.2功能描述---------------------------------------------------------------------------8
2.2.3功能分析--------------------------------------------------------------------------13
2.3非功能需求分析--------------------------------------------------------------------------18
2.4本章小结-----------------------------------------------------------------------------------19 3系统设计--------------------------------------------------------------------------------------------20
3.1总体设计-----------------------------------------------------------------------------------20
3.1.1定义工作流-----------------------------------------------------------------------20
3.1.2执行工作流-----------------------------------------------------------------------23
3.2数据库设计--------------------------------------------------------------------------------27
3.3接口设计-----------------------------------------------------------------------------------29
3.3.1内部接口--------------------------------------------------------------------------29
3.3.2外部接口--------------------------------------------------------------------------30
3.3.3其他接口--------------------------------------------------------------------------31
3.4界面设计-----------------------------------------------------------------------------------32
3.5本章小结-----------------------------------------------------------------------------------33 4系统实现--------------------------------------------------------------------------------------------34
4.1实现流程-----------------------------------------------------------------------------------34
4.2系统整体结构实现-----------------------------------------------------------------------35
4.3模块实现-----------------------------------------------------------------------------------35
4.3.1实体层-----------------------------------------------------------------------------35
4.3.2数据访问层-----------------------------------------------------------------------36
4.3.3规则层-----------------------------------------------------------------------------37
4.3.4门面层-----------------------------------------------------------------------------39
4.3.5用户层-----------------------------------------------------------------------------39 4.4数据库实现--------------------------------------------------------------------------------41
4.5本章小结-----------------------------------------------------------------------------------41 5系统测试--------------------------------------------------------------------------------------------42
5.1功能测试-----------------------------------------------------------------------------------42
5.1.1测试用例-模板-------------------------------------------------------------------42
5.1.2测试用例-实例-------------------------------------------------------------------43
5.2测试方法-----------------------------------------------------------------------------------45
5.2.1模板用例测试--------------------------------------------------------------------45
5.2.2实例用例测试--------------------------------------------------------------------48
5.3本章小结-----------------------------------------------------------------------------------53 6总结--------------------------------------------------------------------------------------------------54
6.1应用结果说明-----------------------------------------------------------------------------54
6.2存在的问题和改进的建议--------------------------------------------------------------54
6.3应用前景-----------------------------------------------------------------------------------55
6.4本章小结-----------------------------------------------------------------------------------55附录----------------------------------------------------------------------------------------------------58 致谢----------------------------------------------------------------------------------------------------64 攻读学位期间发表的学术论文目录-------------------------------------------------------------65
1绪论
本章通过背景、国内现状等简单阐述了工作流引擎研究的意义,以及在企业中存在的必要性。期间详细描述了工作流引擎研究中的一些关键技术、关键设计思路等,这些关键性的内容即是工作流引擎中的基本和重要的元素,也扮演着研究过程中可能存在的难点。
1.1背景与意义
如今越来越多的企业都有了自己的信息系统,这些系统帮助他们将传统的人与人之间的纸质数据传递变为现在的计算机和网络之间的工作流传递。正是因为有了以信息系统为载体的工作流,使得企业内部不同部门以及不同人之间对于信息的共享、共识达到了新的空前的高度,也使得企业的业务发展更为快速和蓬勃。
可是在市场经济日益发展的今天,企业的业务方向、商业模式、经营策略也需要进行不断的转型和变化[1]。而一旦业务发生变化,企业的工作流就势必需要跟着发生变化。但是由于目前大多数的企业信息系统都将业务逻辑和工作流流转控制紧密的耦合在了一起,这就导致了企业的业务变化将全面影响到信息系统的工作流模块,使得工作流模块势必进行大规模的重建,而工作流又可能会与其他模块发生交叉集成,这就更可能引起整个系统在巨大范围内的二次开发[2]。
基于上述背景,很多企业引进了市场上成熟的工作流引擎产品,在信息系统层面从根本上分离了企业的业务逻辑和工作流。可是这些工作流引擎产品都开发得过于通用,虽然可以根据不同企业的不同业务需求进行灵活配置,但是每个企业,尤其是业务比较特殊的企业却很难对自身的工作流进行完全贴合的配置[3]。这样就不得不花费大量的时间、人力、资本在这个工作流引擎的基础上进行二次开发。
那么,企业究竟该怎么以较小的成本投入来获得工作流的高效运转呢?其实对于有一定信息化基础的企业来说,可以自主进行工作流引擎的设计和开发,在一定程度上摒弃那些成熟产品的通用性,而换成适合于自己企业内部运营的个性化轻量级模块。这样量身定做的工作流引擎具有易用性、扩展性的特点,同时又贴合企业的业务发展,也可以在适当的范围内进行较灵活的配置,使之紧随业务模式的变化而变化。
1.2工作流引擎的理论
工作流引擎是一种推动以业务为核心的数据流、信息流在不同执行人间进行有规则的传递和流转的工具,它最基本的功能就是工作流控制,以一种事先设定好的