网络工程 具有智能化模块的OA管理系统设计与实现.docx
《网络工程 具有智能化模块的OA管理系统设计与实现.docx》由会员分享,可在线阅读,更多相关《网络工程 具有智能化模块的OA管理系统设计与实现.docx(36页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、本科毕业设计(论文)具有智能化模块的OA管理系统设计与实现Design and implementation of OA management system with intelligent module院 (系)计算机学院专 业网络工程班 级5班学 号16210220508学生姓名朱家民指导教师陈小松提交日期2020年4月 19日 毕业设计(论文)原创性声明本人郑重声明:所呈交的毕业设计(论文),是本人在指导老师的指导下,独立进行的设计(研究)工作及取得的成果,论文中引用他人的文献、数据、图件、资料均已明确标注出,论文中的结论和结果为本人独立完成,不包人已含他经发表或撰写的作品及成果。对本文
2、的研究作出贡献的个人和集体,均已在论文中作了明确的说明。本人完全意识到本声明的法律结果由本人承担。毕业论文作者(签字): 签字日期: 年 月 日成绩评定成绩项论文成绩(百分制)折合比例实得成绩(折合分)指导教师成绩30%评阅教师成绩20%答辩成绩50%总评成绩 注:毕业设计(论文)成绩按百分制评定。答辩成绩不及格的(评分低于60分的),则该毕业设计(论文)总评成绩为答辩成绩。摘 要为解决传统的手工完成方式和审批过程中的防篡改问题,本文设计出一个具有智能化模块的OA管理系统。该系统对审批流程做出了一种防篡改的方式,可以使得OA管理系统在审批过程中变得更为安全。本系统使用了SSM框架进行快速的开发
3、,数据库选择了关系型的数据库Mysql,权限控制框架选用Spring Security对不同身份的用户进行审批权限控制。系统的实现功能包括用户登录后发起流程申请,查看已申请的流程,管理员查看待办流程,使用人脸识别或独立密码对流程进行审批,对流程进行跟踪监控。关键词:防篡改;OA管理系统;流程审批;智能化;SSM框架AbstractOA management system can make the office management very good. In order to solve the problem of anti tampering in the traditional manu
4、al completion and approval process, this paper designs an OA management system with intelligent modules. The system makes a tamper proof way to the approval process, which can make the OA management system more secure in the approval process.This system uses the SSM framework for rapid development.
5、The relational database mysql is selected as the database, and the spring security is selected as the authority control framework to control the approval authority of users with different identities. The implementation functions of the system include initiating process application after the user log
6、s in, viewing the applied process, viewing the to-do process by the administrator, approving the process with face recognition or independent password, and tracking and monitoring the process.key words: Tamper proofing; OA management system; Process approval; Intellectualization; SSM frame目录第一章 绪论11
7、.1 研究背景与现状11.2 研究意义与目的11.3 本文主要工作2第二章 相关技术介绍32.1 Java语言32.2 web开发框架32.2.1 Spring 框架32.2.2 Spring MVC 框架42.2.3 Mybatis 框架42.2.4 Spring Security 安全权限控制框架52.3 Mysql数据库52.4 人脸识别52.5 Layui前端框架6第三章 系统需求分析73.1 可行性分析73.2 功能需求分析73.3 数据库分析93.4 运行环境103.4.1硬件环境103.4.2软件环境10第四章 系统设计与实现124.1 系统功能介绍124.2 系统结构设计124
8、.3 数据库设计134.4 功能模块设计164.4.1用户登录164.4.2管理员管理184.4.3流程管理20第五章 总结25参考文献26致谢27广东东软学院本科生毕业设计(论文)第一章 绪论1.1 研究意义与目的随着网络技术的不断发展,信息化时代的到来,OA管理系统告别了传统的纸质手工完成方式,不仅符合低碳环保的理念,还能提高办公效率。本文主要对OA管理系统与智能化模块结合,通过收集企业办公OA管理的一些信息管理、流程审批等安全问题进行探讨。通过系统的应用与实现,使公司内部的信息与外部的信息交流更为安全、可靠,使办公流程更为高效3。建立此系统,规范了公司的管理方式,提高办事效率。1.2 研
9、究背景与现状在计算机尚未出现的时代,一些信息的录入,文件审批等办公方式都是使用传统的纸质方式手工完成。这些方式在当时的企业也广泛流行,但带来的不便是文件过多时难以对文件进行管理,查找的时候会很浪费时间成本,且会增加纸张的使用,破坏生态环境。一些涉及到流程审批的文件,如会议管理、请假申请、出差申请、合同审批等需要一些负责人审批的流程,申请人需要提交申请单后拿着文件去找到相应的负责人才能进行审批。当公司里员工越来越多,这种流程审批的方式使得工作效率低下的问题越突出,甚至可能会被人篡改审批信息与签名,这存在一定的安全风险1。到了二十世纪后期,随着计算机在各大企业普及应用与网络技术的不断发展,这时候企
10、业的管理方式已经从传统的手工信息录入以及手工审批文件慢慢向自动化转型2。目前,社会上慢慢的开始出现OA管理系统,它的出现使企业对一些公文、文件审批、信息收集等的管理方式得到了革命性的改变,OA管理系统可以使优化管理体系,提高工作效率。1.3 本文主要结构本设计结合了新时代的人脸识别技术,将OA管理系统智能化。在流程审批过程中,可以使用人脸识别认证,也可以使用独立密码对用户身份进行认证,这些方式可以做到防止未经授权的人使用管理员身份进行审批篡改等操作。本文主要结构如下:第1章:绪论,主要概述本论文的研究背景与现状,研究意义与目的,对本文的主要工作、需要使用的技术做了简单的介绍。第2章:相关技术介
11、绍,主要对本系统所使用的Java基础语言、web开发框架,百度AI的人脸识别等技术进行介绍。第3章:系统需求分析,对本系统的实行可行性分析、功能需求分析以及使用的运行环境进行介绍。第4章:系统设计与实现,根据本系统的需求进行结构设计、数据库设计与功能模块设计,以及介绍本系统的实现方式和实现结果。第5章:总结,对本论文结合自己心得进行总结。第二章 相关技术介绍2.1 Java语言本文主要设计一个具有智能化模块的OA管理系统,本系统是一个办公自动化管理的web应用,在开发过程中主要使用Java语言作为基础,Java随着技术的不断发展,它已经在一部分领域逐渐替换掉了C语言的地位,如网络服务器、图形处
12、理、图像处理等。Java在web应用领域和企业应用领域已经积累了强大的生态系统,到目前为止,Java已成为当下最热门的编程语言之一,近年来的编程语言排行榜中使用Java进行开发的人数一直都占据着第一。Java之所以一直被这么多程序员所喜爱,是因为它拥有许多其它编程语言没有的优点,Java是一门面向对象的编程语言5,拥有封装、继承、多态的特性,本系统的查询类封装了查询参数,将多数情况需要用到的参数都抽取到一个公共的父类,正因为Java有这些优点,系统才变得更加灵活、更加易于维护。2.2 web开发框架本设计使用Spring+SpringMVC+Mybatis(简称SSM)作为系统框架,权限控制框
13、架使用Spring Security管理不同用户的角色和权限,Spring可以称为框架中的框架,它可以集成很多的框架,例如本系统中所使用的SpringMVC和Mybatis下面介绍的是本设计所使用到的一些框架。2.2.1 Spring 框架Spring是一个开源应用框架,它有两大核心技术,分别是IOC(Inversion Of Control)和AOP(Aspect-OrientedProgramming)。IOC中文是控制反转,本系统将逻辑代码通过注入的方式注入到Spring中,而不是在需要的地方直接使用实例化方式来调用,这就是使用IOC的好处。因为在Spring中,对象之间的关系都交由Sp
14、ring容器进行统一实例化、配置、装配和管理,通过这种方式可以更轻松的实现程序之间的解耦。此外IOC还有其它优点,如减少应用程序中的代码量、支持即时的实例化和延迟加载服务。AOP中文是指面向切面编程,本系统业务层的一些更新删除操作需要使用到事务,使用传统方式使得代码冗余度高,不方便维护管理,而使用AOP的方式统一在配置文件中对这些更新和删除接口设置一个事务即可,不需要写大量的重复代码。AOP能有这样的功能原因是Spring的AOP使用了代理模式,代理模式能够对一个方法进行增强,具体能够实现在调用某个方式时,可以对该方法在调用前和调用后执行某些操作6,本系统能够实现统一事务管理就是因为AOP使用
15、了代理模式。2.2.2 Spring MVC 框架Spring MVC是集成在Spring当中的一个框架,这里的MVC是指Model,View,Controller,也就是模型-视图-控制器。MVC把复杂的web应用分成了这三部分,在开发的时候这种分层的工作方法可以简化开发,因为Spring MVC是属于Spring的子框架,因此它可以继承Spring的一些优点,能够独享request和response数据,能够使MVC之间能够松散耦合和开发灵活。本设计使用SpringMVC主要在控制层体现出来,在数据和视图中间通过控制层对不同的请求接口进行编写逻辑,例如本系统的登录接口需要调用用户的信息匹配
16、,发起流程接口需要调用流程的保存功能,SpringMVC在这些接口和业务调用功能之间进行管理,使逻辑结构更为清晰。在Spring MVC出现之前,比较多人使用的是Struts框架来进行开发,但随着Spring的不断强大,Spring MVC拥有众多的优点,慢慢的越来越多人开始转向使用Spring MVC进行开发。使用Spring MVC有很多优点,例如本系统使用SpringMVC接收请求只需要在方法上添加一个注解,它还支持ajax,在接收或者返回json数据时只需要在方法上面使用注解标记即可。2.2.3 Mybatis 持久层框架Mybatis是一个持久层的开源框架,它能够直接访问数据库。本系
17、统把Mybatis作为数据访问层是因为它可以使用逆向工程一键生成代码,可以自己写SQL语句,也可以实现映射操作。它的使用方式较为简单,本系统使用xml配置文件方式,对输入的参数自动进行输入映射,将结果集灵活映射成Java对象7。本系统使用Mybatis框架的逆向工程,对数据库的表在配置文件中进行配置,运行程序即可生成单表的一些简单增删改查操作,可以使项目的一些业务的操作得到敏捷开发。当然对于表与表之间的关联操作,还需要自己手动修改xml配置文件,编写SQL语句进行一些关联的查询操作等8。因为本系统的一些模块的表之间关系较为复杂,编写关联查询的方式会很耗费时间成本,因此在各个表之间使用了冗余备份
18、。使用该方式不用思考过多的关联查询,只需要在相应的业务场景调用所需对应的表操作。当然该方式也会带来一个问题是可能造成数据不统一,解决这一问题只能通过观察相关联的表是否有进行对应的操作。2.2.4 Spring Security 安全权限控制框架Spring Security框架是一个安全权限控制框架,它有着安全特定的认证服务,越来越多的人开始使用这一安全框架来管理项目的权限控制。通常在一些需要认证的资源我们都需要获取当前登录用户的信息,判断该用户的权限是否能够访问某个资源。本设计要在流程审批过程中区分不同的角色进行审批,使用Spring Security恰好能方便的解决这一问题。本系统使用到S
19、pring Security校验登录用户的权限,在登录过程中对密码使用MD5加密操作也能在该框架中进行相关配置。对于一些需要特定权限的资源只需要在页面简单的配置一段标签即可使页面得到权限校验,这为本设计流程审批中区分不同角色权限以及防止篡改的功能有了很大的帮助。2.3 Mysql数据库本设计涉及到一些表与表之间的复杂关系,使用Mysql能够很好的将各个表联系组成一个关系模型,完成一些表与表之间的关联操作。数据库主要分为关系型数据库和非关系型数据库,常见的关系型数据库有Mysql、Oracle、SQL server等,非关系型数据库有redis、MongoDB等9。而Mysql就属于一种关系型的
20、数据库,它能够保持数据的一致性,且是一个开源的数据库,Mysql有多种存储引擎,主要的两个是MyISAM和InnoDB,其中InnoDB在底层数据结构方面使用的B+树设计能够存储两千万左右的数据,它的B+树是B树的变种,主要区别在于B+树的数据只存储在叶子结点上,叶子结点间使用双向链表连接起来,能够顺序访问指针提高区间访问性能,因此Mysql一直以来深受开发者的喜爱。Mysql作为关系型数据库,它根据关系模型来创建数据库。本设计的流程审批模块涉及到多张表复杂操作,在流程发起时需要对申请表、流程表、流程线表、流程节点表以及审批表等都要进行关联操作。因为设计结构较为繁琐,表与表之间的关系较为复杂,
21、为了解决这一问题,使用Mysql作为本设计的数据库。2.4 人脸识别本设计为了实现在审批过程中能够防止被他人冒用身份篡改信息,设计了人脸识别来识别操作用户是否本人,人脸识别技术主要利用图像处理技术提取出人像特征,建立人脸特征点模型,然后再与被测者的人脸图像进行分析比较返回一个相似度。本设计采用了百度AI开放平台的人脸对比技术,人脸对比可以应用于身份确认。人脸对比技术主要通过比较两张图片然后返回一个相似度,使用者根据相识度手动设置一个阈值判断是否同一个人,这个阈值一般设置在95以上。当阈值设置的过低,容易被冒用身份,本设计为了更好展示,设置的阈值在90。2.5 Layui前端框架本系统界面设计较
22、为简洁,不会涉及到过多的复杂界面,选用一个方便好使的前端框架尤为重要,本系统的设计进行了前后端的分离,因此决定采用Layui作为前端框架。Layui是一个前端框架,它提供了很多好看、方便的样式,对使用者的门槛要求低,方便快速入手。该框架还有个比较大的好处是定义了一些前后端交互的接口。比如数据表格展示只需要后端返回数据,使用Layui开放的接口对数据进行相应解析调整即可自动渲染表格,这种方式能够极大的减少开发成本。第三章 系统需求分析3.1 可行性分析本课题需要设计一个具有智能化的OA管理系统,分析此系统的可行性尤为重要。目前社会上的OA系统已经得到广泛使用,但一些审批过程中的安全性还需有待加强
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 网络工程 具有智能化模块的OA管理系统设计与实现 具有 智能化 模块 OA 管理 系统 设计 实现
限制150内