《OA自动化办公系统毕业论文.doc》由会员分享,可在线阅读,更多相关《OA自动化办公系统毕业论文.doc(69页珍藏版)》请在三一办公上搜索。
1、 毕 业 论 文(初 稿)题 目 OA自动化办公系统 英文题目 OA office automation system 学生姓名: 蔡李钢 申请学位门类:本科 学 号: 201120182034 专 业: 软件工程 学 院: 软件学院 指导教师: 赵丹 职称: 讲师、硕士 二0一五年四月 十 八 日摘 要 随着计算机技术、网络技术和通信技术的快速发展,企业无纸化办公是一个必然的趋势。基于web形式的自动化办公系统的出现,满足了企业对大量信息快速的处理传递,使得我们的工作效率和工作质量得到了大大的提高,不仅节省了资源,还极大的推动了企业的发展。办公系统的出现,使企业各个部门员工之间即使相距很远,
2、也能够轻松办公。可以说,自动化办公系统的合理使用,将让企业的发展进入一个新的高度。本论文介绍了课题研究的背景、目的和意义以及OA的发展状况,详细介绍了课题研究采用的相关技术和理论知识。系统主要功能有以下几个模块:请假销假流程模块、费用报销模块、采购申请模块、周报管理模块、考勤打卡模块等。 本系统采用J2EE技术规范,运用Spring+Hibernate+JSP+Oracle的MVC三层模式设计架构,流程方面使用snaker工作流引擎技术。本系统主要阐述OA自动化办公的工作流管理及一些日常业务方面的管理。关键字 :snaker; 办公自动化; springmvc; 流程管理ABSTRACTWit
3、h the rapid development of computer technology, network technology and communication technology, the paperless office is a inevitable trend. Emergence of office automation system based on the web form, to meet the enterprise information fast processing, make our work efficiency and quality has been
4、greatly improved, not only saves resources, but also greatly promoted the development of enterprises.Office system, make the enterprise each department staff even though far apart, but also can relaxed office. It can be said, the rational use of office automation system, will make the development of
5、 enterprises into a new height.This paper introduces the research background, purpose and significance and the development status of OA, introduces the research adopted the related technology and theory of knowledge. The main function of the system has the following modules: leave for leave process
6、module, application module, purchasing expense module, report management module, attendance punch card module.The J2EE specification of the system, using Spring+Hibernate+JSP+Oracle MVC three Layer model architecture design process, using Snaker workflow engine technology. This system is mainly the
7、OA Office Automation Workflow Management and daily business management.Key words:snaker; Office automation; spring mvc; Process management目 录绪论 1第1章 相关技术和理论基础1.1工作流 31.2 JSP技术 31.3 oracle数据库 31.4 springmvc 框架 4第2章 需求分析和系统概述 2.1 需求分析 5 2.2 系统概述 5第3章 系统设计 3.1 概要设计 63.1.1 体系结构设计 63.2.2 系统设计图 63.2 详细设计
8、73.2.1 用户登陆模块 73.2.2 我的工作模块 93.2.3 流程管理模块 143.2.4 配置管理模块 163.2.5 系统管理模块 173.2.6 业务流程模块 203.3 数据库设计 323.3.1数据库概要设计 323.3.2数据库逻辑设计 33第4章 系统实现 4.1 项目总览 504.1.1 程序结构图 504.2 表现层实现 514.3 控制层实现 524.3.1 控制层文件 524.4 业务层实现 594.4.1 业务层文件 59第5章 系统测试 5.1 测试计划 605.2 测试用例 605.2.1 对身份验证功能进行测试 60结论 63致谢 64参考文献 65绪 论
9、课题研究背景 计算机的出现给人类社会带来了第三次工业革命,计算机和计算机网络已经深入到了各行各业,各个领域。随着计算机信息技术和互联网的快速发展和普及,工作流技术在企业中的应用越来越广泛,自动化办公系统也应运而生。OA的出现使得广大的企业员工办公效率变得越来越方便快捷,企业资源的消耗也大大的减少。本文重点研究的是一个基于springmvc和snaker工作流引擎的自动化办公系统。可以说,基于工作流(Workflow)的办公自动化(OA)研究在国际已经有相当长的历史。20世纪80年代中期,以个人电脑、办公套件为主要标志的办公系统诞生,它实现了文档写作电子化、数据统计以及企业办公无纸化等,完成了办
10、公信息载体从原始纸介质向电子比特方式的飞跃改革。20世纪90年代中期,由于LotusNotes为代表的群件技术的出现以及网络通信技术的飞速发展,给OA系统带来了一次革命性的的改变,办公自动化系统逐渐以网络技术和协同工作技术为主要特征。课题研究的目的和意义众做周知,传统的办公方式主要以纸介质为主,在信息革命的浪潮中,显然早已不能满足高效率、快节奏的现代工作和生活的需要。近年来随着科技,经济及社会的不断发展与进步,企业管理和办公活动的重要性逐渐突出。自动化系统OA由此应运而生,它高效、迅捷、节能等巨大优势使得其被越来越广泛的应用和普及。使用办公自动化系统是对传统办公模式的一种变革,不仅可以提高员工
11、的工作效率、企业的综合管理水平,同时也能提高企业的市场竞争力。本文的研究内容 本系统采用B/S架构,即浏览器和服务器的架构,基于springmvc和snaker工作流引擎,研究的主要对象是企业职工和管理员在线办公,让用户能够有效的处理各种相关的信息,以及促进企业管理的信息化,规范化和集成化,实现计算机的智能化管理,形成高效率的工作团队,以提高工作效率和工作业绩。研究内容主要有以下几个方面: (1). 用户、角色、权限等系统管理 (2). 请假、销假、内外部采购等流程额申请和审批。 (3). 工作周报查看、上传等管理。 (4). 考勤打卡管理本文的组织安排 绪论 对课题的研究背景、目的和意义以及
12、本文的研究内容进行了简明的介绍。第1章 对本课题所应用到的相关技术和理论基础作了一个简要的介绍。第2章 介绍了系统需求分析和总体设计。第3章 介绍了数据库的设计,包括数据库的需求分析和逻辑结构设计。第4章 介绍了系统的详细设计与实现,包括主要功能模块的设计。第5章 第5章 对系统功能的测试分析。第一章 相关技术和理论基础1.1 工作流 根据国际工作流管理联盟(Workflow Management Coalition,WFMC ) 的定义,工作流(Workflow)就是自动运转的业务流程,部分或者整体的表现为参与者对文件、信息或任务按照规程采取行动,并令其在参与者之间传递。简单说,工作流就是一
13、系列相互衔接,自动进行的业务活动或任务。工作流是办公自动化的基石,可以说一切办公自动化的流程都是以工作流的形式运行。本系统采用的是Snaker工作流引擎。Snaker是一个轻量级工作流引擎,基于Java语言,适用于企业应用中常见的业务流程。本着轻量、简单、灵巧的理念设计,Snaker有着强大的可扩展性和大量的可扩展接口,默认支持spring、jfinal、Nutz、Hibernate、Mybatis等框架。1.2 JSP技术Java Server Pages,简称JSP,中文名字是java服务器页面 。JSP能够使得基于Web的应用程序变得更加容易和快捷。JSP的技术基础是Java Servl
14、et,大型的Web应用程序的开发需要Java Servlet和JSP配合才能完成。JSP具备了Java技术的简单易用,平台无关性且安全可靠,具有完全的面向对象,主要面向因特网的所有特点。JSP是一种非常类似MicrosoftASP、PHP等能实现普通静态HTML和动态页面输出混合编码的技术。JSP使用Java编程语言编写类XML的tags和scriptlets,借助形式上的内容和外观表现的分离,来封装产生动态网页的处理逻辑,Web页面制作的任务可以比较方便地通过JSP来合成,分给页面设计人员和程序员。在运行时态,JSP将会被首先转换成Servlet,并以Servlet的形态编译运行,所以它的效
15、率和功能与Servlet相比没有差别,一样具有很高的效率。1.3 oracle数据库数据库的概念:数据库是一种存储数据并对数据进行操作的工具。数据库的作用在于组织和表达信息,简而言之,数据库就是信息的集合。计算机的数据库可以分为两类:非关系数据库(flat-file)和关系数据库(relational)。关系数据库中包含了多个数据表的信息,数据库含有各个不同部分的术语,象记录、域等。ORACLE 数据库系统是美国ORACLE公司(甲骨文)提供的以分布式数据库为核心的一组软件产品,是目前最流行的客户/服务器(CLIENT/SERVER)或B /S体系结构的数据库之一。ORACLE数据库是目前世界
16、上使用最为广泛的数据库管理系统,作 为一个通用的数据库系统,它具有完整的数据管理功能;作为一个关系数据库,它是一个完备关系的产品;作为分布式数据库它实现了分布式处理功能。Oracle优越的性能使得其成为大型应用和超大型系统的首选数据库,Oracle数据库提供了基于角色的权限管理模式。通过角色管理,大大加强了数据库的安全性,提供了良好的分布式管理功能,用户可以很轻松地实现多数据库的协调工作,提出了独创性的表空间理念。在数据模型方面,Oracle有着区别于其他数据库的表空间概念。使数据在逻辑上划分得更加清晰,而且具有更大的灵活性。1.4 springmvc框架MVC模式是Model-View-Co
17、ntroller的缩写,中文翻译为模式-视图-控制器。MVC模式最早是smalltalk语言研究团提出的,应用于用户交互应用程序中。在J2EE模式目录中,通常采用service to worker模式实现,而service to worker模式可由集中控制器模式,派遣器模式和Page Helper模式组成。Spring MVC属于SpringFrameWork的后续产品,已经融合在Spring Web Flow里面。Spring 框架提供了构建 Web 应用程序的全功能 MVC 模块。使用 Spring 可插入的 MVC 架构,可以选择是使用内置的 Spring Web 框架还可以是 Str
18、uts 这样的 Web 框架。Spring 框架是高度可配置的,而且包含多种视图技术,例如 JavaServer Pages(JSP)技术、Velocity、Tiles、iText 和POI。Spring MVC 框架并不知道使用的视图。Spring MVC 分离了控制器、模型对象、分派器以及处理程序对象的角色,这种分离让它们更容易进行定制。第二章 需求分析和系统概述2.1 需求分析实现网上办公自动化系统的基本功能,包括周报管理、考勤管理、消息提醒、用户管理、流程管理等。其中流程要能正常流转,要有请假销假、采购、报销、付款申请等流程模块。2.2 系统概述OA自动化办公系统主要实现企业日常办公的
19、无纸化,减少资源消耗和提高工作效率,总共包括五个模块,第一个模块是我的工作模块,包括用户周报管理、请假管理等;第二个模块是流程管理,包括我的任务、流程定义、流程实例等,第三个模块是配置管理,包括数据字典、表单管理、表管理。第四个模块是系统管理,包括用户管理、部门管理、角色管理以及权限管理等。第五个模块是业务流程模块,包括内外部物品申请、请假申请、销假申请、采购付款等流程。第三章 系统设计3.1 概要设计3.1.1 体系结构设计该系统是基于B/S(Browser/Server,B/S)架构的三层体系结构,即浏览器和服务器结构。它是随着Internet技术的兴起,对C/S结构的一种变化或者改进的结
20、构。用户工作界面是通过浏览器来实现,极少部分事务逻辑在前端(Browser)实现,但是主要事务逻辑在服务器端(Server)实现,形成所谓三层结构。这样就大大简化了客户端电脑载荷,减轻了系统的维护与升级的成本和工作量,降低了用户的总体成本。3.1.2 系统设计图 办公自动化系统业 务 流 程配 置 管 理流 程 管 理我 的 工 作系 统 管 理数据字典报销申请采购申请表单管理请假管理周报管理用户管理角色管理权限管理请假申请我的任务流程实例3.2 详细设计3.2.1 用户登陆模块用户提供登陆信息(用户名和密码),系统根据用户提供的信息对用户进行查询鉴别,如果身份合法,则跳转至系统主页。界面如下
21、所示:部分前台代码: OA自动化办公系统账号:密码: 记住我登录3.2.2 我的工作模块点击 我的工作标签,即出现工作周报、请假管理等功能模块。点击 工作周报 ,在右边出现周报列表,如图:周报管理部分前台代码:工作周报请选择接收人: 工作开始日期:工作结束日期:上传附件: 周报管理部分后台代码:/* * 编辑工作周报时,返回工作周报编辑视图 * param id * param model * return */RequestMapping(value = update/id, method = RequestMethod.GET)public String
22、edit(PathVariable(id) Long id, Model model) model.addAttribute(weekly, worklyReportManage.get(id);return myWork/weeklyReportEdit;/* * 查看工作周报时,返回工作周报查看视图 * param id * param model * return */RequestMapping(value = view/id, method = RequestMethod.GET)public String view(PathVariable(id) Long id, Model m
23、odel) model.addAttribute(weekly, worklyReportManage.get(id);return myWork/weeklyReportView;点击 销假管理,在右边出现销假列表,如图:3.3.3 流程管理模块点击 流程管理,左侧出现 我的任务、流程实例、历史任务三个功能标签。1、 我的任务点击流程管理的【我的任务】,可以查看当前登陆用户收到的流程处理消息,包括待办任务、协办任务和知会任务,如图:当提交流程申请给用户审批后,右侧待办任务列表即会出现相应的任务条,如图:2、 流程实例点击流程管理的【流程实例】,可以查看当前正在流程执行中的任务。如图3、 历史
24、任务点击流程管理的【历史任务】,可以查看已经结束了的流程任务。如图4、 流程定义点击流程管理的【流程定义】,可以查看、启用、部署、删除流程(需要权限)。部署新的流程后流程就可以运转。如图3.3.4 配置管理模块配置管理是对数据字典、表单以及表的管理。如图:3.3.5 系统管理模块系统管理有用户管理、部门管理、角色管理、权限管理、资源管理以及菜单管理。1、 用户管理点击系统管理的【用户管理】 可以对用户进行增删改查的操作,如图2、 部门管理点击系统管理的【部门管理】 可以对部门进行增删改查的操作。如图3、 角色管理点击系统管理的【角色管理】 可以对角色进行增删改查的操作。如图4、 权限管理点击系
25、统管理的【权限管理】 可以对权限进行增删改查的操作。如图5、 资源管理点击系统管理的【资源管理】 可以对资源进行增删改查的操作。如图 6、菜单管理点击系统管理的【菜单管理】 可以对菜单进行增删改查的操作。如图3.3.6 业务流程模块业务流程模块一共有八个流程,分别是内部物品申请、外部物品申请、请假申请、采购付款申请、报销申请、采购申请、销假申请、销售申请八个流程。有根据权限的不同,不同用户显示的流程不同。下面介绍几个流程。1. 报销申请流程报销申请目前是公司内部使用的一项制度。不管是普通员工还是部门经理,如果要向公司报销费用,一定需要遵守公司制度,填写报销申请单。然后依次经过相应审批人审批确认
26、,最终由会计确认生成凭证。流程图:申请人提交申请(非副总、总经理)- 部门经理审批 - 会计审批 - 财务负责人审批 - 副总经理审批-出纳付款-会计确认做账-结束申请人提交申请(副总或总经理)- 会计审批 - 财务负责人审批 - 总经理审批 - 出纳付款 - 会计确认做账-结束部门经理申请商务费用超过限额:申请人提交申请(部门经理)-部门经理审批-总经理审批-会计审批-财务负责审批-副总审批-出纳付款-会计确认-结束报销申请部分前台代码:!-#var(HashMap variable_applyExpenseForm)- 请款人:部门 :请款类别 :请备注:input type=text style=widt