《人员培训工作流系统的设计与实现.pdf》由会员分享,可在线阅读,更多相关《人员培训工作流系统的设计与实现.pdf(66页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、华中科技大学硕士学位论文人员培训工作流系统的设计与实现姓名:杨琦伟申请学位级别:硕士专业:软件工程指导教师:吴涛20060701 IV 摘摘 要要 在日渐兴起的电子商务环境下,企业或部门间的协作型模式最具发展潜力。它的实施有两个关键技术问题:传统的解决方案通常运行于专用增值网络,运行维护费用昂贵,消息结构复杂僵化,中小企业无法承受;如何保证系统能够随着需求的变化进行扩展和融合也是一个难题。最新的 Web 服务(Web Services)技术以其组件化、开放性和自描述等特性使得企业及其合作伙伴之间可以依赖 Web 服务进行商业信息交互,它已成为替换传统方案的最好选择之一。而工作流技术的出现正是解
2、决第二个难题的最佳方案,它对流程进行管理,任何需求的变化都可以通过灵活地改变业务流程实现。通过将 Web 服务和工作流技术相结合,可以使系统的扩展问题得到很好的解决。在分析具体案例的基础上,结合一种复合 Web 服务的业务流程管理系统K2.NET,设计了一个基于 Web 服务和工作流技术的,适合多方参与者、跨业务平台、高动态协作环境的分布式人员培训系统,实现了中小型企业在此应用下的协同办公;满足了此类应用的商业环境异构性和跨互联网的分布性要求;充分考虑了登陆角色的安全性控制;严格地采用过程形式化体系,针对实际业务需求,实现了一种基本申请流程和相关的三种修改流程;对于需求中特别要求的审批制度,提
3、出了一种审批策略算法以适应多种变化。最后,探讨了可直接支持战略的高效可敏捷扩展型流程资产管理技术,以及对既往流程资产进行新环境下的价值挖掘。测试结果表明本系统完全能满足用户的需求,具有较好的性能。目前存在的缺陷是代码执行效率不高,可以通过代码优化或者在保证功能实现的情况下简化当前状态机来提高代码效率。整个系统是参考国际工作流联盟所提出的结构模型,并结合用户需求设计出的 一个轻型工作流系统。称其为“轻型”,因为该系统是针对中小型用户的实际需要所设计,相对普通的工作流系统而言,它的功能结构简单,在降低成本的同时也缩短了开发周期,且具有良好的操作性、维护性、稳定性和扩展性。通过分析看出该系统完全有能
4、力代替以前只能由人工完成的工作,并在此基础上大幅缩短了执行时间和大量减少可能出现的人为失误,使得工作效率得到了提高、工作质量得到了保证。关键词:关键词:培训 Web 服务 工作流 形式化 V Abstract With the increasing prosperity of the e-business environment,collaborative model of enterprise-to-enterprise or sector-to-sector is the most potential model.There are two key technical issues in
5、the implementation of this model.The first one,traditional solutions often operate on the exclusive value-added network,which are maintained costly,complex and rigidity,and can not been afforded by most medium-sized and small business enterprises.Another challenge is ensuring that the system can be
6、expanded as needs change and integration.The latest Web services technology,which makes enterprises and their partners could exchange their information each other based on its components,openness and self described attributes,has become one of the best replacements of traditional program.And workflo
7、w technology is the best option to resolve the second problem.Using workflow technology,it is flexible to achieve any requirement changes through modifying business processes.Through combining Web services and workflow technology,resolving the expansion problem of the system would become very easy.B
8、ased on the analysis of some cases,with a business process management system integrated web serviceK2.NET,firstly,the paper designs a distributed,web service and workflow based training platform,which is multi-participants,transplantable and suitable for dynamic cooperation environment.This training
9、 platform realizes the cooperation with companies,isomerism of this business circumstance,distribution of multi-internet,the control of different roles.Moreover,it adopts formal process architectonic,which can fulfill a basic applying training flow and three modified application flow according to th
10、e requirements.For special requirements of the permission strategy,proposing an approved policy algorithms which could adapt to variety changes of strategies.Finally,this paper discusses the assets management technology which supports strategic agile extended flow,and makes some researches on mining
11、 the potential value of assets information in new condition.Experiment result shows,this leave workflow management system can satisfy the requirement and has a nice performance.However,some bugs still exist.For instance,VI the efficiency of codes executing is not high.This problem can be solved thro
12、ugh code optimization and predigest the status machine.In summary,the whole system consults the constructed model proposed by the union of international workflow.It is a lightweight workflow.Compared to normal workflow,this system,which is based on the requirement of medium-sized enterprise,has more
13、 straightforward function structure,shorter developed circulation and lower cost,and also has nicer maneuverability,maintainability,stability and expansibility.Therefore,this leave workflow management information has the ability of replacing the traditional manual work.It can reduce a lot of the exe
14、cuting time and most of contrived mistakes,which enhances the efficiency and assures the quality.Keywords:Training Web Service Workflow Formalization III 独创性声明独创性声明 本人声明所呈交的学位论文是我个人在导师指导下进行的研究工作及取得的研究成果。尽我所知,除文中已经标明引用的内容外,本论文不包含任何其他个人或集体已经发表或撰写过的研究成果。对本文的研究做出贡献的个人和集体,均已在文中以明确方式标明。本人完全意识到本声明的法律结果由本人承
15、担。学位论文作者签名:日期:年 月 日 学位论文版权使用授权书学位论文版权使用授权书 本学位论文作者完全了解学校有关保留、使用学位论文的规定,即:学校有权保留并向国家有关部门或机构送交论文的复印件和电子版,允许论文被查阅和借阅。本人授权华中科技大学可以将本学位论文的全部或部分内容编入有关数据库进行检索,可以采用影印、缩印或扫描等复制手段保存和汇编本学位论文。保密,在 年解密后适用本授权书。不保密。(请在以上方框内打“”)学位论文作者签名:指导教师签名:日期:年 月 日 日期:年 月 日 本论文属于 1 1 绪论绪论 1.1 研究背景及意义研究背景及意义 1.1.1 课题的研究背景课题的研究背景
16、 工作流起源于制造业与办公自动化领域,它是针对日常生活中具有固定程序的活动而提出的一个概念。目的是通过将工作分解成定义良好的任务和角色,按照一定的规则来执行这些任务并对他们进行监控,以提高办事效率,降低生产成本、提高企业生产经营管理水平和企业竞争力。根据工作流管理联盟(Workflow Management Coalition,简称 WfMC)的定义1:工作流是一类能够完全或者部分自动执行的经营过程,根据一系列过程规则,文档、信息或任务能够在不同的执行者之间传递和执行。工作流技术发端于 1970 年代中期办公自动化领域的研究工作,但工作流思想的出现还应该更早,1968 年 Fritz Nord
17、sieck 就已经清楚地表达了利用信息技术实现工作流程自动化的想法。1970 年代与工作流有关的研究工作包括2:宾夕法尼亚大学沃顿学院的 Michael D.Zisman 开发的原型系统 SCOOP,施乐帕洛阿尔托研究中心的Clarence A.Ellis 和 Gary J.Nutt 等人开发的 OfficeTalk 系列试验系统,还有 Anatol Holt和 Paul Cashman 开发的 ARPANET 上的“监控软件故障报告”程序。SCOOP、OfficeTalk 和 Anatol Holt 开发的系统都采用 Petri 网3的某种变体进行流程建模。其中SCOOP 和 OfficeT
18、alk 系统,不但标志着工作流技术的开始,而且也是最早的办公自动化系统。其发展加速是在 80 年代初期。当时,一些公司为了提高信息收集、处理、储存、应用、传递、共享的效率而建立了自己专用的或可商品化的表单传递应用系统(Forms-rooting Application),这些系统通常运行在大型机或小型机上,用于实现日常表单处理的电子化和自动化,这种系统可以看成是现代工作流管理系统的一个雏型4。80 年代中期,FileNet 和 ViewStar 等图形图像处理公司率先开拓了工作流产品市场,成为最早的一批工作流产品供应商。他们把图像扫描、复合文档、结构化路由、2 实例跟踪、关键字索引以及光盘储存
19、等等功能结合在一起,形成了一种用于文档处理的图像处理系统,它可以把扫描得到的计算机文档,按照一定的规则发送给相关人员,这便是早期的工作流管理系统5。FileNet 于 1984 年推出的 Workflow Business System、ViewStar 于 1988 年推出的 ViewStar、Action Technology80 年代推出的 Coordinator,便是其中的典型代表。进入 90 年代,随着计算机的普及,计算机网络技术的迅速发展,企业的信息化程度提高,企业信息资源越来越表现出一种异构分布、松散耦合的特点。企业的分散性、决策制定的分散性和对日常事物活动详尽信息的需求,以及
20、Client/Server 体系结构,分布式处理技术(CORBA、WWW、COM/DCOM、JAVA)的日益成熟,都说明了这样一个事实:集中式信息处理的时代已经过去,实现大规模、异构、分布式执行环境,使得相互关联的任务能够高效运转并接受密切监控成为一种趋势。Internet 的发展和普及为电子商务(E-Commerce)提供了技术可能,电子商务的独特优势必将成为未来商务活动的新模式6。而电子商务的重要功能就是商务流程的管理和监控,如企业供应链管理系统 SCM(Supply Chain Management)和企业客户关系管理 CRM(Customer Relationship Manageme
21、nt)。在这种技术背景下,工作流管理系统也由最初的无纸化办公环境,转而成为同化企业复杂信息,实现业务流程自动执行的必要工具。这样的一个转变,也把工作流技术带入了一个崭新的发展阶段,使得人们从更深层次、更广领域上对工作流展开了广泛的研究工作。1993 年 WfMC 的成立标志着工作流技术开始进入相对成熟的阶段,更标志着工作流技术在计算机应用领域之中被明确地划分出自己的一席之地,相应的概念与术语得到了人们的认可,工作流的技术研究以及相关的产品开发进入了一个崭新的阶段7。目前该组织的成员已经超过了 200 个,其中包括软件厂商、科研机构与咨询机构。1.1.2 课题的研究意义课题的研究意义 近年来企业
22、由于面临市场竞争、全球化、减少成本及产品服务推陈出新的压力,迫切需要新的技术以有效地分配企业资源、缩短处理时间以及提高生产效率,尤其在大型异构的分布式环境下,需要严密的监控技术协调系统相关工作的有效执行,这些需求使得工作流技术渐渐成为最佳的选择。3 工作流从本质上讲是按照某种预定义的规则在多个参与者之间传递文档和信息,或使任务过程自动进行,从而实现某个预期的目标,或是促使此目标的实现5。各工作项以流程的形式,由发起者发起,经过本部门以及其他部门的处理,最终到达流程的终点。工作流管理系统的目标就是要协调组成工作流的四大元素,即人员、资源、事件、状态,推动工作流的发生、发展、完成,实现全过程监控。
23、一个工作流管理系统在企业应用之后预期会有下述影响:1)将提升企业内外多样活动的整合能力,增强组织内部部门与跨组织之间的协调与合作工作的进行。2)企业流程知识累积能力的增加,可汇集来自不同部门或单位的知识与心得,使得企业学习的机制更为增强。3)跨越了以纸张为基准的管理限制,企业营运的管理将更有弹性与实效。4)充分运用工具的特性,可以用更具弹性的作业方式满足不同客户的不同需求,有助于改善企业的竞争力。工作流管理系统巨大的潜在市场和广阔的应用领域吸引了越来越多的科研机构与软件厂商投入到这方面的研究和开发中,更多更新的技术被集成进来,文件管理系统、数据库、电子邮件、移动式计算、Internet 服务等
24、都已被容纳到工作流管理系统之中。据不完全统计,目前通用 WfMS 及声称具有工作流功能的系统已经有几百种之多,国内目前也开始出现这方面的研究与开发。工作流技术的研究应用日益受到学术界与企业界的重视,许多大学和研究机构也致力于工作流技术的进一步发展,开展了一系列研究项目,取得了显著的成果。因此,本文的研究目的在于探讨分布式的工作流应用模型,提出一种基于 Web服务的工作流应用架构,并且在具体需求下尝试实现并验证,探讨如何提高工作流系统的实用性、跨平台性和可扩展性。1.2 国内外研究概况国内外研究概况 近年来,对工作流模型分析和描述方法的研究得到普遍重视。工作流模型是工作流管理系统的基本,它决定了
25、系统的行为和功能特性8。良好的工作流模型应能严格规范工作流的运行规则,从而使工作流执行程序能在 Run-time 时解释工作流模型,以正确调度和分配任务。4 1.2.1 WfMC 参考模型参考模型 1994 年 11 月 29 日,WfMS 发布了工作流系统参考模型(Workflow Reference Model)。该模型详细描述了工作流系统的有关概念,并在此基础上给出了 WfMS 的主要组成部分、各部分的功能及相互间的接口。如图 1.1 所示,该模型由过程定义工具、工作流执行服务、客户应用程序、被调应用程序、管理监控工具及相互间的接口组成。管理监控工具 工作流 API 及互换格式 工作流执
26、行服务 工作流引擎 工作流引擎 工作流引擎 过程定义工具 接口 1接口 3接口 2 客户应用 被调应用其他工作流执行服务 工作流引擎 工作流引擎 工作流引擎 接口 4建立时的功 能 过程实例化 及控 制功 能交互功能 图 1.1 WfMC 工作流管理系统参考模型 同其它标准一样,WFMS 参考模型给出的只是 WFMS 的各个功能部分,而没有给出任何实现的细节。实际构造一个 WFMS 时有许多的技术细节需要加以考虑,以便满足 WFMS 向大规模工作流管理方向发展所需的高度的灵活性、可用性、可伸缩性、可靠性以及互操作性等方面的要求。在系统定义的基础上,WFMC 定义了一种工作流过程描述语言9(Wo
27、rkflow Process Definition Language,简称 WPDL),它遵从工作流管理联盟所颁布的建模标准,在此基础上开发的工作流管理系统能够实现与现有的工作流产品相兼容,具有良好的互操作性。WPDL 语言主要由三部分构成10:基本数据类型和表达式、工作流模型表示和语言扩展属性,其中采用关键字(如 WORKFLOW、ACTIVITY)来描述对象、属性和关系,采用变量(如字符串常量、占位符)来表示实体的名字和属性值。基于 WPDL 语言的工作流建模,不仅清晰地描述了业务实体对象间的关系,还能较好地支持实体属性的逐步细化和求精,以完整、灵活和清晰的特性为现实世界各类业务的建模提供
28、了极大的便利。但是由于 WPDL 语言的出发点是作为一种标准化描述语言而出现的,因此它的缺点在于没有提供明确的实现机制,只是一种类似于标记语 5 言的文本定义,在用户的直观性和系统的进一步分析方面都有所欠缺。因此,WPDL语言常常用作底层数据存储或者异构系统之间数据传递的标准格式3,4,而依靠附加的建模及转换工具实现模型的定义。1.2.2 工作流模型分类工作流模型分类 1)基于任务的工作流模型 在基于任务的工作流模型(Task Flow)中任务(Task)是最基本的组件,在执行时工作流根据静态的流程定义格式与动态的系统运作情况以决定执行的顺序11。在图形表示上,基于任务的工作流模型是典型的有向
29、无环图(Directed Acyclic Graph),工作任务以节点(Node)表示,任务之间通过连接表示任务的先后次序关系,选择条件则是通过有向弧上的标注表示的,如图 1.2 所示。大部分 WFMS 都采用了这种模型,比如 WIDE12 与 IBM 的 FLOWMARK 13。接受请求验证验证失败 验证成功 图 1.2 基于任务的工作流范例 2)基于状态的工作流模型 在系统运行时,状态(State)是指在某个特定的时间一个对象于当时情况的抽象化表示。由上一个状态进入到下一个状态则表示有某个特定的事件(Event)或活动的发生而触发了状态间的转移。工作流的行为是以一连串的状态转移来表示的。扩
30、充后的状态转换图(State Transition)可以表达层次(Hierarchy)、并发(Concurrency)与工作之间的通信(Communication)。借助于系统不同程度的抽象化,扩充层次模型实现了流程模块化,用于描述反馈式系统(Reactive System)的模式化,工作之间的通信则用于描述工作间的信息交换14。在图形表达上,State Transition 也是有向无环图,每一个 State Transition 模型都有一个开始状态与结束状态,不同于 Task Flow 的是,状态是以节点表示,而事件或活动则是用状态之间的连线上的标注表示的,如图 1.3 所示。这种建模方
31、法中典型的是 Statecharts 15和 UML 活动图16等。6 待命中战斗值班坠毁着陆起飞新飞机注册 图 1.3 基于状态的工作流范例 3)基于关系的工作流模型 基于关系捕获(Relationship Capturing)的工作流建模方法是根据某种特定的关系(Relationship)而找出相关工作任务的集合,这些关系可能是触发(Triggers)或是使能(Enabling)或是抑制(Disabling)相关工作的条件17。以触发的建模方法为例,所谓工作被某事件所触发是指一个事件的发生造成一件工作被执行,而一件工作是被定义为一连串事件的集合,并且在事件发生时有一名人员负责此工作16。以
32、触发为基础的工作流的基本元素是工作任务,工作与工作间的连接表示触发关系,外部事件引起触发的发生,不同工作间的转移是根据外部事件的发生而引起触发,如图 1.4 所示。验证 设计设计师项目经理 图 1.4 触发工作流范例 4)基于通信的工作流模型 基于通信的工作流模型(Communication Based)主要在于确认各个执行者之间的通信关系18,此方法也包含工作任务,不同的是,工作任务的出现只在执行者通信关系产生时发生。图 1.5 是一个 Communication Based 模式化方法的范例,采用这种建模方法的系 7 统有 ActionTech 的 ActionWorkflow 19。在图
33、例中,工作被认为是一个封闭的循环,首先确定客户(Customer)与执行者(Performer)的关系,客户与执行者之间的通信主要分为四步:提议(Propose)、同意(Agreement)、实行(Performance)与满意(Satisfaction),工作流依靠其间反复来回的通信完成工作。客户 满意条件执行者 满意 提议 同意 实行 图 1.5 基于通信的工作流范例 5)混合模型 由于上述四种建模方法往往在表达大型系统上过于复杂、难懂,以及是从单方面来研究工作流系统,因而无法提供一个易懂地、一致地与可验证性地表达方式,所以除以上四种基本模型外,还产生了其他建模方法20。主要思路是综合上述
34、两种或多种建模思想,从而从系统的多个侧面来描述系统行为。其中 Petri 网建模方法就是结合任务与状态两个层面来建立工作流模型21。Petri 网最早在 1962 年由 Carl Adam Petri22所提出,随后相关的研究与扩充相继出现,例如 Time Petri Nets 23、Coloured Petri Nets 24,25、Object Petri Nets 26,27、Predicate/Transition Petri Nets 28、Stochastic Petri nets29等。Petri 网可以作为很多系统的图形及数学模组工具,它对描述和研究具有并行(Paralleli
35、sm)、并发(Concurrency)、同步(Synchronization)、资源分享(Resource Sharing)等性质的信息系统,是一种非常适合的工具30。由于 Petri 网具有直观的图形表示、形式化的语义、状态和事件的显示表示、丰富的分析技术等特点,对于从理论上验证工作流程模型结构的合理性十分有效。目前大部分的工作集中于对工作流过程模型的建立31及分析上,如文献32-35提出了过程 8 模型的验证方法,文献36提出模型继承的思想以实现可适应性的工作流,文献37,38研究了不同系统的互操作问题。还有一部分工作集中于资源分配的 Petri 网模型,如文献39-41采用资源管理器(R
36、esource Manager)的方式协调工作流中的人力资源。对于工作流 Petri 网中的数据信息的研究,或者采用单独信息视图的方法38,或者作为托管的属性在高级 Petri 网过程模型中附带出现31,32,这些表示方法仅仅停留在描述的阶段,而对于数据操作的并发和死锁问题却往往缺少行之有效的分析验证的方法。1.2.3 面向对象面向对象 面向对象的思想反映了人类思维的一般特征,即从特殊到一般以及从一般到特殊。进入 90 年代以来,基于这一思想而发展起来的各种技术,如 OOA、OOD、OOP等在计算机领域得到了广泛的应用。随着 WfMS 研究的不断深入,OO 思想也被引入进来,逐渐形成了面向对象
37、的工作流管理系统(OOWfMS)。1)面向对象方法 面向对象方法是一种运用对象、类、继承、封装、聚合、消息传递、多态性等概念来构造系统的软件开发方法42。面向对象方法与技术起源于面向对象的编程语言(OOPL)。但是,面向对象不仅是一些具体的软件开发技术与策略,而且是一整套关于如何看待软件系统与现实世界的关系、以什么观点来研究问题并进行求解、以及如何进行系统构造的软件方法学。概括地说,面向对象方法的基本思想是,从现实世界中客观存在的事物(即对象)出发来构造软件系统,并在系统构造中尽可能运用人类的自然思维方式。面向对象方法强调直接以问题域(现实世界)中的事物为中心来思考问题、认识问题,并根据这些事
38、物的本质特征,把它们抽象地表视为系统中的对象,作为系统的基本构成单位。这可以使系统直接地映射问题域,保持问题域中事物及其互相关系的本来面貌。结构化方法采用了许多符合人类思维习惯的原则与策略(如自顶向下、逐步求精)。面向对象方法则更加强调运用人类在日常的逻辑思维中经常采用的思想方法与原则,例如抽象、分类、继承、聚合、封装等等。这使得软件开发者能更有效地思考问题,并以其他人也能看得懂的方式把自己的认识表达出来。9 在用面向对象方法开发的系统中,以类的形式进行描述并通过对类的引用而创建的对象是系统的基本构成单位。这些对象对应着问题域中的各个事物,他们内部的属性与服务刻画了事物的静态特征和动态特征。对
39、象类之间的继承关系、聚合关系、消息和关联如实地表达了问题域中事物之间实际存在的各种关系。因此,无论是系统的构成成分,还是通过这些成分之间的关系而体现的系统结构,都可以直接地映射到问题域。2)面向对象在工作流中的应用 面向对象方法代表了一种贴近自然的思维方式,它强调运用人类在日常的逻辑思维中经常采用的思想方法与原则。面向对象方法中的抽象、分类、继承、聚合、封装等等思维方法和分析手段,能有效地反映客观世界中事物的特点和相互的关系。而面向对象方法中的继承、多态等特点,则可以提高过程模型的灵活性、可重用性。因此,应用面向对象的方法将降低工作流分析和建模的复杂性,并使工作流模型具有较好的灵活性,可以较好
40、地反映客观事物。关于 OOWfMS 的研究有两个不同的层面。其一是指 WfMS 的实现使用 OOP 的方法,即将 WfMS 系统中的各种元素以对象的形式加以描述,并在某种环境下加以实现,从而实现系统要素的重构与重用。例如,InConcert43将各种类型的对象保存在一种 RDBMS 中;CodAlf44则是基于 OSF DEC 的 OO 扩展 DC+而实现的;FlowMark45则以 C+为编程语言,并将所有的对象保存在一个名为 ObjectStore 的 OODBMS 中。OOWfMS 研究的另一个方面是关于面向对象的工作流过程模型,即使用面向对象的方法来完成业务过程的分析建模,并得到相应的
41、对象表示。在文献46中给出了一种可以定义对象之动态关系的扩展对象模型,而由各种动态关系联系起来的多个对象构成的联盟则可以有效地表示工作流程,这种模型在通用的分布式对象技术环境下实现起来比较容易。1.3 本论文的研究工作本论文的研究工作 本文通过总结前人在工作流管理方面的经验,并结合具体的系统应用,展开了对基于 Web 服务的分布式工作流系统的研究。第一章,首先提出研究基于分布式工作流系统的必要性,然后介绍了国内外发展状况,最后概括了系统功能和本文内容。10 第二章,首先分析了用户需求,提出了三层的系统构架设计,以满足此系统的分布式以及基于 Web 服务的要求。公司员工在网上实现培训申请的填报,
42、其办公流程的数据将通过网络汇集于 Web 服务器,然后由 Web 服务器端的工作流引擎控制整个办公流程。培训系统以公司员工为对象,其功能除了可以方便员工向公司申请各种培训外,亦可以让公司准确掌握员工的培训状况并实施互动有效的管理:实施人员培训系统后,TA 根据公司的计划安排一次培训,所有员工都可以根据自己的需求申请或者提名自己的下级参加这次培训。在填写申请单时,TA 部门的相关规定都能在界面上找到。而部门领导拿到员工的申请后,只需参考页面资料,而不必再向 HR 或 TA部门咨询。同时,对于要求审批的申请,下一步应该提交给哪一位主管,该主管应该在什么期限内签署完毕,都非常清楚。申请人可以实时看到
43、自己递交申请的状态:到了哪个部门;审批意见是什么;还需要哪些人的签字,以及最晚还需要多少时间审批完毕。随后分析了系统应用的关键技术,提出总体设计。在本系统中,使用了包括 XML Web Service,K,存储过程,CBAC(Context-based Access Control,基于环境的访问控制)等一系列关键技术用于解决在系统开发中遇到的技术难点。本文详细介绍了这几项关键技术,并总结了他们的优缺点,与其他可行的解决方案进行了相对的比较。第三章,应用 K2.NET 实现此基于 Web 服务的工作流系统。在结合系统的需求和采纳一系列关键技术的前提下,本文提出了一个集成 K2 工作流的 ASP
44、.NET 的 Web应用架构。首先,系统的最终用户通过网络浏览器登录系统。在经过正确有效的身份验证过程后,用户与 ASP.NET 的 Web 服务器进行交互性操作。Web 服务器在接收到来外界的操作后,启动 K2 流程服务器中相应的业务流程,这时,由 K2 流程服务器负责管理和监督业务流的执行。并可以通过系统内部的 Web 服务来访问数据库,更新流程运行的状态。第四章,系统测试和结果分析。采用自动化工具 Rational Robot 对该系统进行了模拟真实环境的测试,给出了模拟真实环境测试的参数选择。通过分析测试结果可以得知,通过 K2.NET 的辅助管理以及 WEB 服务的后台支持,成功实现
45、了预期的功能。第五章,最后对论文的研究工作做了总结与展望,并提出了今后的研究方向。11 2 需求分析与总体设计需求分析与总体设计 2.1 系统需求概述系统需求概述 人员培训工作流系统主要是提供一个协同办公的高效的服务,根据客户方提供的相关需求文档,整理归纳出以下关于人员培训的具体要求。2.1.1 维护课程信息维护课程信息 课程信息是人员培训中的核心信息,整个系统都是围绕着课程来展开的,其主要内容包括:1)课程分类信息:为方便维护和查找而将所有课程进行多级分类。2)课程基本信息:包括课程名以及课程相关介绍等文字信息。3)课程技能集:培训的最终目的是员工某种技能的提升,所以在员工选择参加某个课程培
46、训时,他应该能明确的了解以下信息:参加这个课程的员工需要哪些技能,分别应该达到何种程度;培训完这个课程后,学员的哪些技能会得到提高,分别提高到何种程度。TA 可以根据已有资料对课程的所有信息进行维护;公司员工可以查看相关课程信息,对照自己或者下级的已有技能以及期望的技能,做出自己申请或者提名下级参加某个课程培训的决定。实际上,针对某一个课程可以安排多次的培训,想参加的员工并不需要每一次培训都参加,而只需要挑选时间地点等各方面适合自己的某一次相关培训即可。下面介绍培训计划的维护。2.1.2 维护培训计划维护培训计划 安排一次课程的培训,只有课程信息是不够的,我们还需要知道这次培训的课程提供者是谁
47、,联系人是谁,目标有哪些,计划安排多少人参加,费用多少,以及具体的时间和地点。把这些信息组合在一起,就是我们通常所说的培训计划。除此之外,每个培训计划都是互不影响的个体,就算是同一课程的培训,也有可能是性质完全不同的培训。比如说对于.NET 课程,我们可以安排两个相关培训计划,一个是针对公司里的普通程序员,在国内的培训中心完成;而另一个则是针对公司里 12 的高级程序员,在美国的微软作培训。那么申请这两个培训计划的申请单在审批的过程中所走的审批路线也应该是不同规格的,前一种也许只需要直接上级的审核就可以了,而后一种就极有可能比前一种要多出几道审核,比如还需要部门主管或者人事部门的同意。所以每个
48、培训计划还应有一个审批策略信息,以指明关于这个培训计划的申请应该由哪些具体职位的人来审核。另外,在申请单被批准后,直到培训开始的这段时间里,申请人可能由于多种原因而希望对原申请单提出多种修改请求。而此时的任何修改,都会影响到公司关于此次培训的计划以及预算等。对于不同的修改请求,其造成的影响也是不一样的,有的会影响培训的计划人数,有的会影响培训预算等等。也就是说,在这种情况下,对原申请单的任何修改也是需要经过审核的。不同的修改,就会有不同的审核,相应就会有不同的审批策略。概括起来,有三种修改都需要经过审核:请求置换参加另一培训,请求置换申请人以及请求取消本次申请。每一种修改都需要不同的流程来实现
49、,加上刚开始的普通申请流程,一共四种流程。所以,每个培训计划的审批策略信息中都有四种策略信息,分别和上面的四种流程相对应。2.1.3 申请参加培训申请参加培训 任何一个通过验证的最终用户可以通过本系统提交一个请求参加或者提名下级参加还未开始的培训计划。总共有三种培训类型:1)内部培训部门提供的培训:由公司的培训部门提供,主要是公司相关制度的培训,以及基本社会能力的培训等,既可提名亦可直接申请,相关费用只有课程费用。2)外部课程提供者提供的培训:由国内的课程提供者提供,比如大家熟悉的国内知名培训机构新东方学校,主要是相应的各种工作技能和能力培训,既可提名亦可直接申请,相关费用除了课程费用外,还包
50、括注册费、会员费、考试费等其它费用。3)海外培训:由公司推荐去国外参加特殊的培训或者学术会议等,主要是相应的各种工作技能和能力培训,只能由直接上级提名,不可直接申请,相关费用除了课程费用外,还包括行李托运补助、交通补助、伙食补助、服装补助等其它各种补助。每个培训计划都有参加人数的限制,每提交成功一个申请单,相应培训计划的剩余申请人数就会自动减少一个,已提交申请人数就会相应增加一个。一旦剩余申请人数为零,就不能再提交此次培训计划的申请了。当然,对同一培训计划的重复性申请也是不允许的,除非上一次的申请被拒绝或者失败了。13 2.1.4 审核培训申请审核培训申请 员工成功提交申请,启动相应四种流程中