基于workflow的员工请假系统设计及实现毕业论文
2020-04-10 16:15:41
摘 要
工作流是指整个流程在计算机辅助下的自动化过程,其特点在于对任务资源的自动调度和统一分配。与传统的方式相比,基于工作流的办公自动化系统更加灵活和便捷,由于其将业务和流程分开管理的特点,基于工作流的办公自动化系统在维护时所需要的人力和时间都相对较小,可调整性强。
参照国内外的工作流系统应用现状,本文在对工作流关键技术如JavaEE、Activiti、SSH等的分析基础上,抽象出传统办公系统中请假的流程模型,实现一种基于工作流的员工请销假系统,包括员工请假、各级领导审批、请假人销假、业务流程图查看、审核状态查看等功能,并借助Activiti工作流引擎进行了开发。
测试结果表明,应用到工作流技术的请销假系统相比较于传统的请销假网页来说其在流程的执行和业务的办理上更为顺畅,业务的办理过程也更为直观。
关键词:工作流;办公自动化;工作流引擎;
Abstract
Workflow refers to the automatic procedure of the entire process under computer’s aid. It’s significance lies in the automatic scheduling and uniform allocation of task resources.Compared with other website systems, the workflow system is more flexible and convenient. Because of the separate management of business and processes, the workflow-based office automation system requires relatively littlemanpower and time for maintenance,andis highly adjustable.
Referring to the status quo of the application of workflow systems at home and abroad, this paper abstracted the process model of leave request in the traditional office system.Also, based on the analysis of key technologies such as JavaEE, Activiti, SSH, etc.,this paperhas implemented a workflow-based leave request system, including employee leave request function, leadership approval function, requestcompletation function, business process view function, request status view function, etc., and developed it with Activiti workflow engine.
The results of the test shows that the system applied the workflow technology is more smooth than that with the traditional webpage in terms of process execution and business management, and the process of handling business is also more intuitive.
Key Words:workflow;office automation;workflow engine;
目 录
第1章绪论 1
1.1研究背景及意义 1
1.2 国内外研究现状 1
1.3论文章节结构 2
第2章员工请假系统设计 3
2.1 需求分析 3
2.2 请假系统设计思路 4
2.3请假系统结构划分 4
2.3.1软件架构 4
2.3.2 功能模块划分 5
2.4请假网站前端设计 5
2.4.1前端功能 6
2.4.2前端流程 7
2.4.3交互方式 8
2.5请假网站后台设计 9
2.5.1后台功能 9
2.5.2后台流程 10
2.6请假系统数据库表设计 11
2.6.1请假业务表E-R图 12
2.6.2Activiti底层表 12
第3章员工请假系统实现 14
3.1开发环境 14
3.2请假系统前端重点页面实现 14
3.2.1 请假单填写页面 14
3.2.2 个人任务列表显示页面 15
3.2.3请假流程图查看页面 16
3.3请假系统后台重点功能实现 17
3.3.1 请假表单保存功能 17
3.3.2个人任务办理功能 17
3.3.3请假流程图查看功能 18
3.4请假系统数据库的实现 19
第4章系统的调试和运行 21
4.1系统流程图的查看 21
4.2填写请假单阶段 22
4.3领导审批阶段 22
4.4流程状态查看 23
4.5销假阶段 23
4.6流程结束 24
第5章总结与展望 25
参考文献 26
致谢 27
第1章 绪论
1.1研究背景及意义
随着社会的飞速发展,对于各个企业而言,其业务范围不断扩展,工作需求不断深化,紧密的组织结构对于办公的流程管理提出了考验。在传统的工作流程办理中,大量的纸质表单需要借助人工来一层层传递和审批,费时费力,工作效率非常低下。
随着近几年“互联网 ”思想的深入,借助互联网搭建起的办公自动化系统(Office Automation,简称OA)能够自动地执行定义好的运行流程,使得各个流程的参与者只需要利用计算机就能进行工作内容的输入、审批和管理等操作,大大提升了工作效率。OA系统改变过去低效的手工办公方式,实现公文运转的在线化、自动化、高效化和协同化。
然而,传统的互联网办公自动化系统在设计和执行时,并没有区分开流程和业务逻辑,一旦有所调整就要面临程序结构的大幅变动,因此造成整个办公自动化系统的可修改性、复用性都受到了限制,无法真正满足企业的工作需求,因此,借助工作流技术带来的灵活性、可编辑性所搭建起的基于工作流的自动化办公系统,才是真正能够满足实际要求的系统。
1993年工作流管理联盟(Workflow Management Coalition,简称WfMC)给出了工作流定义:工作流是一类能够完全或者部分执行的经营过程,它根据一系列过程规则、文档、信息或者任务能够在不同的执行者之间进行传递与执行。
工作流不但能够自动化处理相关的活动或任务,减少人机交互处理过程中带来的潜在错误,而且能够精确化每一处理步骤,最大化地提高企业的生产效率,这就要求工作流能够支持动态可变的、灵活的应用场景。对于以工作效率为核心的办公自动化系统而言,工作流兼具了流程和参数可调整的灵活性,业已成为办公自动化系统的搭建中不可缺少的关键技术。
本研究课题旨在利用工作流技术,借助JavaEE搭建起互联网端的工作流员工请假系统,因此本文主要的研究内容主要围绕着工作流和网页进行,包括以下几点:
(1)工作流技术的基本理论和概念;
(2)员工请假的流程和模型;
(3)网页系统对于工作流技术的使用;
(4)实际的员工请假系统的实现;
1.2国内外研究现状
早在20世纪70年代,工作流的思想就已经跟随着办公自动化概念的出现开始萌芽。随着计算机的普及,各种形式、各种平台的办公系统都开始逐渐被开发和实现,各国的企业和政府都逐渐开始使用自动化的办公系统来作为提高效率、节约成本的有效手段。
目前来看,在国外工作流思想和技术应用范围广泛,例如集成了工作流的科学网关、用于成像的智能工作流引擎开发;而国外的研究成果,则包括了例如具有注意力跟踪功能的工作流系统、工作流感知存储系统、自适应处理工作流管理引擎等诸多类型的工作流管理系统。
国内的工作流系统虽然起步比较晚,但从使用率和普及面来看,近十几年的发展也非常迅速,在产品研发方面、物流监控方面、应急处理方面-等都有应用到工作流的思想或者技术。
使用机构方面,国内的工作流系统的主要应用对象还是以政府部门和企事业单位的管理流程为主,主要原因在于政府部门和企事业单位对于流程的规范性要求很高,公文的依赖性强,事务的办理流程和普通公司相比要更复杂;应用范围方面,工作流的使用目的则覆盖了日常办公的大部分内容,既包括了各种文件的签发和审批,也涵盖了人事的管理和物资的申请等各个层面,较为常见的有请销假的管理、公文的签发、车辆和公章的使用申请等内容。
未来的热点研究方向,主要体现在工作流的形式化描述的研究,工作流的设计与分析以及工作流的事务模型研究等方面。
1.3论文章节结构
第一章主要介绍了课题的背景、目的和目前国内外的研究成果。
第二章针对课题提出的基于工作流的员工请假系统,进行了需求和功能和分析,给出了自己的设计规划和系统功能划分,详细地介绍了系统的每个部分所应该实现的功能和运行时的执行流程,同时对整个系统的数据库的搭建以及工作流引擎Activiti规定的表结构做了解释。
第三章针对本文中的设计思路,进行了课题中所要求的基于工作流的员工请假系统的整体开发,重点对开发过程中涉及到请假任务实现的关键性功能代码做了摘录,对其代码逻辑流程进行了详细的分析和解释。另外,对本文开发时所使用的软硬件环境也做了简短的介绍。
第四章将本系统进行了实际的运行,记录了在一次完整的“请假-审批-销假”的过程中各个重点阶段的系统结果,并对每个阶段的结果显示都做了较为详尽的分析和解释。
第五章对本文做了一个全面的总结,并对工作流技术在本课题中的发展和进一步应用提出了构想。
第2章 员工请假系统设计
2.1需求分析
办公自动化,或者说数字化办公,其强调的是对现有管理组织结构的优化和对办公协同性的增强,借助WfMC的标准实现效率的提高和决策的一致性。
员工请假系统是现代办公自动化系统的一个分支,尽管各个企业或部门在请假方面的申请流程和管理方式不尽相同,但是一般而言,在请假管理的需求上,其基本的要求为:快捷、方便、流程各阶段有对应的办理人、能够异地异步办理流程。因此,在整个工作流员工请假系统的功能上,可总结为以下几点:
(1)整体的系统方便快捷,能够借助互联网异步异地办公;
(2)能够分角色登录系统,办理属于自己职务范围的事务;
(3)流程清晰明了,在其中一个环节完成后能够自主向下执行;
(4)整个网站系统的流程合理,符合实际的工作中的事务办理过程;
根据传统企业办理请假申请的实际流程,可将其抽象为如图2.1所示。
图2.1 请假事务流程图
可以看出,在流程的事务办理过程中,出现了“员工”、“部门领导”和“人事主管”三个不同的角色,而且流程中有两次需要办理人进行接下来流程的选择。这是一个被抽象出的简单请销假流程,也是本文所研究的工作流系统在设计时的业务依据。
2.2 请假系统设计思路
在办公自动化的系统设计中,每一个事务或者管理安排,都能够被抽象成一个有始有终的流程图,或者说有序的任务组合。在传统的商务或门户网站的搭建中,后台是根据前端的业务需求进行设计的,后台为前端服务,但是在基于工作流的网站系统开发过程中,需要考虑到后台工作流引擎和前端网站在开发侧重点上的差异性:后台工作流引擎的核心处理对象是流程或者任务,而前端页面的关注重点在于实际的业务。
像这种前端和后台在侧重点上的不同,意味着在基于工作流的网站系统开发中,设计思路不是和传统的网站类似地根据前端做后台,而是要将实际业务与虚拟流程绑定,做到每一个所需业务的实现都能够有一个流程的执行和它对应,即“业务绑定流程”的设计思想才是工作流的设计开发过程中,在思想上的重点所在。也正是这种“业务绑定流程”的开发思路,使得工作流项目具有良好的可编辑性和灵活性,不会因为业务的修改导致整个系统的大范围更新或者重建,这也正是目前工作流越来越适合开发自动化办公系统的原因之一。
在系统的前期设计中,也正是秉承着上述思路,将整个系统的需求切割成功能和需求两个大的部分来规划和安排,在完成功能和流程后利用各个接口将其结合成为一个系统整体。
2.3请假系统结构划分
2.3.1软件架构
整个员工请假系统,构建在JavaEE(全称为Java Platform Enterprise Edition)的组件设计思想基础之上,从软件架构上看,其结构如图2.2。
图2.2 JavaEE的软件架构
2.3.2功能模块划分
从前期的需求分析和软件框架要求中可以整理出员工请假系统的功能结构,共分为前端、后台、数据库三个大的部分,每个部分各自分为不同的模块。
网站前端的部分,按照功能分为用户交互和数据传递两个模块。其中用户交互的模块主要负责员工请假系统中用户可视化操作的功能,例如登录、表单的显示、列表的显示、流程图的显示等,主要的使用语言为jsp、css等前端网页语言;而数据传递模块主要负责在网站前端和后台方法中进行数据的请求和数据传递,主要使用的语言为Struts的语言标签。
网站后台的部分,按照功能分为执行方法和底层方法两种分工明确的Java类。其中执行方法主要负责根据前端的数据进行判断和选择性地操作各种底层方法,底层方法则将工作流的API应用其中,负责一些片段化的操作和流程的真正执行,提供一些基础的功能。这两种方法都是Java语言,但在功能和接口的调用上存在差异。
数据库则利用Mysql和后台的Hibernate互动,进行数据的储存和查询调用等功能。
具体的功能模块如图2.3所示。
图2.3 系统功能模块图
2.4请假网站前端设计
网站前端承担的是整个系统的数据显示功能,其意义在于对用户隐藏底层的代码结构,仅仅将需求中的功能和用户所请求的数据呈现出来。
2.4.1前端功能
从功能划分来看,网站的前端主要负责和用户交互的功能,在员工请假系统中具体来说,应该负责以下几个功能:
(1)显示登陆者的角色。不同的角色登录时,网站前端应该能够显示登陆者的角色或者职务,方便区分不同角色应执行和办理的事务;
(2)发起请假流程的申请。用户在网站中应该能够进行请假流程的发起,当发起后应该能填写和提交请假表单;
(3)办理申请的请假请求。领导角色在员工提交了请假的表单后,应该能够实时收到和查看员工的请假单,并相应地做出同意或驳回等操作;
(4)请假通过后完成销假。员工角色在自己的申请被通过后,应该能够发起销假的操作,完成整个请假和销假的流程;
另外,从现实的请销假流程出发,一个实际的请假系统中,还应该一些人性化的功能,这些功能能够优化整个请假流程的用户体验,更加符合传统的办公任务流程习惯,例如:
(1)在每次任务的审阅和办理后,下一个任务的办理人处能够看到之前办理人所签署的审核意见。
(2)将请假的申请和请假的办理功能分开显示。申请请假对应现实中拿到请假单和填写请假单的部分,员工能够看到自己的请假申请列表;办理请假对应现实中员工提交请假单和领导审阅或者驳回的操作,领导能够看到下级员工所提交的所有请假申请。
(3)员工的请假被驳回后,能够返回到员工的手中,进行修改和重新的提交,避免重复进行请假的申请。
(4)员工的请假申请单提交后,能够查看目前的任务办理进度和整体的流程图,而且在流程完成后能够看到领导的审批意见。
因此,本系统网站前端的页面安排,按功能划分的结果如图2.4中所示。
图2.4 前端页面结构图
2.4.2前端流程
借助JSP设计网页前端的流程时应该考虑到,基于实际的请假流程所构建的员工请假系统应该符合传统的事务办理流程和习惯。本课题中,设计将员工请假系统的角色分为员工、组长、人事主管三个类型,因此网站的前端在执行时的流程图如图2.5所示。
图2.5 网站前端流程图
图2.5中所显示的是在一次完整的请假申请过程中,不考虑驳回的情况下,网站前端由不同的用户登陆后所执行的操作。可以看出,网站前端所需要显示的数据应该具有以下几个特点:
(1)显示的数据是基于任务的,也就是说数据和任务绑定,这意味着即使同一角色,在不同任务阶段前端显示的数据应该不完全相同。
(2)显示的数据是基于角色的,这意味着前端所能显示的数据被赋予了权限,不同的角色,对于同一任务的查看权限不尽相同,所能看到的数据量也有区别。
(3)显示的数据具有实时性,在请假申请被员工提交之后,每次任务的进度状态或者参数发生变化之后,网页前端的数据都应该能够实时地进行同步修改。
(4)是通过请求后台得到的,网站前端的数据,不能直接通过访问数据库得到,必须要请求后台才能通过返回的数据来显示,这限制了网页前端在整个系统中的能力,保障了整个框架的安全性。
2.4.3交互方式
员工请假系统,由于融合了网站和工作流技术,在设计时既需要注意一般开发网站时的难点,也需要考虑到工作流引擎利用过程中的问题,因此前端和后台的设计上彼此都有一些比较关键的部分,其中比较明显的开发重点就在于前端和后台的交互上。
图2.6中所表示的是从前端的角度来看,在一整个请假流程中,前端的每个阶段所需要和后台交互的内容,包括数据存储、数据查询、命令请求等。
以上是毕业论文大纲或资料介绍,该课题完整毕业论文、开题报告、任务书、程序设计、图纸设计等资料请添加微信获取,微信号:bysjorg。
相关图片展示: