springboot英加美有限公司考勤系统 毕业设计-附源码

由于数据库和数据仓库技术的快速发展,英加美有限公司考勤系统建设越来越向模块化、智能化、自我服务和管理科学化的方向发展。考勤管理系统对处理对象和服务对象,自身的系统结构,处理能力,都将适应技术发展的要求发生重大的变化。 英加美有限公司考勤系统除了具有共享系统的全部功能以外,能通过对数据的分析对决策做出解释是其主要的新特点。其体系结构,将由专用的服务器/客户方式向广域网发展,使更多的系统间能够互相交流数据,带动整个行业、领域知识和效率的极大提升。

英加美有限公司考勤系统主要功能模块包括首页、个人中心、职员管理、部门信息、职员工资、职员考勤、职员请假等,采取面对对象的开发模式进行软件的开发和硬体的架设,能很好的满足实际使用的需求,完善了对应的软体架设以及程序编码的工作,采取MySQL作为后台数据的主要存储单元,采用Spring boot框架、Java技术、Ajax技术进行业务系统的编码及其开发,实现了本系统的全部功能。本次报告,首先分析了研究的背景、作用、意义,为研究工作的合理性打下了基础。针对英加美有限公司考勤系统的各项需求以及技术问题进行分析,证明了系统的必要性和技术可行性,然后对设计系统需要使用的技术软件以及设计思想做了基本的介绍,最后来实现英加美有限公司考勤系统的部署与运行。

关键词:考勤管理;Springboot框架;MySQL数据库

Springboot British Canadian American

 Limited Attendance System

ABSTRACT

Due to the rapid development of database and data warehouse technology, the attendance system construction of Yingjiamei Co., Ltd. is increasingly moving towards modularization, intelligence, self-service, and scientific management. The attendance management system will undergo significant changes in the processing and service objects, as well as its own system structure and processing capabilities, to meet the requirements of technological development. The attendance system of Yingjiamei Co., Ltd. not only has all the functions of a shared system, but also has the ability to interpret decisions through data analysis, which is its main new feature. Its architecture will develop from a dedicated server/client mode to a wide area network, enabling more systems to exchange data with each other, and driving the entire industry, domain knowledge knowledge and efficiency to a great extent.

The main functional modules of the attendance system of Yingjiamei Co., Ltd. include homepage, personal center, employee management, department information, employee salary, employee attendance, employee leave, etc. It adopts an object-oriented development model for software development and hardware installation, which can well meet the needs of practical use. It improves the corresponding software installation and program coding work, and adopts MySQL as the main storage unit for backend data, Adopting the Spring boot framework, Java technology, and Ajax technology for business system coding and development, all the functions of this system have been achieved. This report first analyzes the background, role, and significance of the research, laying the foundation for the rationality of the research work. Analyze the various requirements and technical issues of the attendance system of Yingjiamei Co., Ltd., prove the necessity and technical feasibility of the system, and then provide a basic introduction to the technical software and design ideas required for designing the system. Finally, implement the deployment and operation of the attendance system of Yingjiamei Co., Ltd.

Keywords: attendance management; Springboot framework; MySQL database

目   录

摘  要

ABSTRACT

1 绪论

1.1 研究背景与意义

1.1.1 研究背景

1.1.2 研究意义

1.2 国内外研究概况

1.3 本文的工作内容

1.4 本文的组织结构

1.5 本章小结

2 相关技术研究综述

2.1 开发技术说明

2.2 开发工具及技术简述

2.2.1 Spring Boot简介

2.2.2 Vue框架简介

2.2.3 IntelliJ IDEA简介

2.2.4 MySQL 8.0数据库简介

2.3 本章小结

3 系统需求分析

3.1 系统功能需求分析

3.2 系统数据流分析

3.3 系统非功能需求

3.4 系统开发环境需求

3.5 系统研发可行性分析

3.5.1 经济可行性

3.5.2 技术可行性

3.5.3 管理可行性

3.5.4 法律可行性

3.6 本章小结

4 系统总体设计

4.1 系统总体功能结构

4.2 系统软件体系结构

4.3 系统业务流程

4.4 系统后台处理流程

4.4.1 修改数据流程

4.4.2 删除数据流程

4.5 数据库设计

4.5.1 数据库概念设计

4.5.2 数据库表设计

4.6 本章小结

5 系统详细设计

5.1 身份验证模块

5.2 登录模块的实现

5.2.1 请求Token身份验证模块

5.2.2 密码加密模块

5.3 职员主要模块

5.3.1 个人信息管理模块

5.3.2 用户资料修改模块

5.4 职员管理模块的实现

5.5 请假信息管理模块的实现

5.6 考勤信息管理模块的实现

5.7 工资管理模块的实现

6 系统实现

6.1 登录界面

6.2 工资信息界面

6.3 职员用户界面

6.4 工资信息界面

6.5 本章小结

7 系统测试

7.1 系统测试的目的

7.2 系统测试的方法及步骤

7.3 性能测试

7.4 本章小结

8 总结与展望

参考文献

致  谢

绪 论

1.1 研究背景与意义

1.1.1 研究背景

现代的社会中,办公自动化进入社会的每一个角落已经势不可挡,而考勤管理系统是办公自动化的一个小小体现,主为考勤管理大盘又繁杂的职员数据工作提供了方便,提高了考勤管理工作的效率,为办公自动化的普及莫定了基础.考勤管理系统是任何一个现代化企事业单位不可或缺的部份,它的内容对于企事业的管理者来说至关重要考勤管理系统应该能够为管理者提供充足的信息和快捷的查询手段.但现在很多单位并没有对人事工作进行电子化管理,还存在那种管理人员多,管理效率低,决策依据少的尷尬局面。

1.1.2 研究意义

随着科学技术的不断提高,计算机科学日渐成熟,其强大的功能已为人们深刻认识,它已进入人类社会的各个领域并发挥着越来越重要的作用。作为计算机应用的一部分,使用计算机对人事信息进行管理,具有着传统管理所无法比拟的优点。因此,开发这样一套管理软件,对单位考勤管理工作进行有效电子化管理,化简繁琐的手工操作,提高工作效率都是很有意义的事情。

1.2 国内外研究概况 

(1)国外研究现状

国外专家学者对考勤管理系统的研究起步比较早,发达国家的非常注重自身考勤管理系统的开发。特别是一些跨国公司,更不惜花费大量的人力和物力来开发相应的考勤管理系统,他们通过建立一个多信息流数据流和业务流的开发性系统实现真正意义上的考勤管理目标,挑选和留住最佳人才,同时不断提高这些人才的工作效益。例如:苹果公司的职员考勤管理系统便是一个很好的典范。

2)国内研究现状

我国的信息管理系统是九十年代初开始快速发展的。经过十余年的发展,我国的数据库管理技术也广泛的应用与各个领域,并且形成了产业化。但是,我们的工厂、对信息管理系统的应用比起世界先进水平还相当落后。主要表现在:考勤管理系统范围使用相对狭窄、考勤管理系统功能相对欠缺、稳定性较差、功能相对单一等。

1.3 本文的工作内容

本文将参考各大高校、企业对会务管理系统的研究成果,在基于国内现有会务管理系统的研究现状上,针对于其硬件设备投入过大问题以及如何有效防止代签进行研究探讨。并与现在会议会务行业应用服务模式相结合,利用“互联网+”、“云计算”、“人工智能”等技术开发一款便捷化、人性化、高效化的会务管理软件。

本系统将设计服务端和移动客户端。服务端利用Spring Boot框架搭建一个后台API系统;移动客户端主要基于柚子科技公司的APICloud系统进行混合式开发 [30,31]。论文主要工作如下:

(1)对湖南信息学院办公室在学校会务工作接待进行调研,详细了解会议的开展过程以及会务人员对一场会议的管理流程和查看互联网上会务工作的相关资料、文献,分析英加美有限公司考勤系统的多种多样的业务需求;根据业务需求构建用例图和数据流图,对需求的整体性能进行考察,如遇需求缺陷立即改正完善;

(2)搭建英加美有限公司考勤系统的整体架构,根据业务需求,设计后台业务流程和数据库模型和具有便捷性和易使用性的手机移动端软件[32]的页面结构和界面UI;

(3)对相关功能进行详细设计,画出其运行时的流程图;

(4)根据英加美有限公司考勤系统的详细设计,用Java、HTML编程语言,Spring Boot、Vue框架对系统进行代码实现;

(5)配置服务器、搭建系统的运行环境,部署智能会务的后台API系统并进行基于Cucumber框架的单元测试。设计测试用例,通过安卓模拟器分别对移动端软件进行功能测试,将测试结果信息收集统计好并将检测出来的相关Bug修复,最后将系统完善。

1.4 本文的组织结构 

按照本文的工作内容,本文将分为八章,每一章节的主要论述安排如下:

第一章:绪论。首先对该课题的研究背景和意义进行总体的概括和介绍,同时对云计算技术,会务管理系统的国内外现状、发展趋势进行描述,最后论述本论文的工作内容和组织结构;

第二章:相关技术研究综述。介绍该毕设实现所需要用到相关技术。本章主要对现在前后端主流开发框架、开发技术、开发系统(如:Spring Boot、Vue开发框架、APICloud系统)进行一些简单的阐述介绍;

第三章:系统需求分析。将实际和网上文献调研得到的信息进行整理归类,结合现状对英加美有限公司考勤系统进行业务需求分析,其包括功能和非功能性的需求。通过采用用例图对系统进行分析,确保开发出能被会议会务行业所应用的软件;

第四章:系统总体设计。通过分析出来的需求分析,对系统的总体功能、总体结构、总体业务、后台架构、接口、APP页面结构、数据库模型进行设计。为系统能有效、安全的运行提供理论基础;

第五章:系统详细设计,并贴出相关页面截图,语言描述出具体功能实现的操作方法。

第六章:系统实现。采用Java、JavaScript、HTML、CSS等编程语言,以及SpringBoot、Vue、APICloud系统等软件框架;

第七章:系统测试。采用黑盒测试方法对测试用例的方式来对一些主要功能模块测试,最后得出测试结果。

第八章:总结全文并对未来的研究做出展望。

1.5 本章小结

本章主要从考勤系统的发展、课题的研究意义和国内外研究现状,对本文工作内容进行了阐述,并说明本论文的组织结构。

 相关技术研究综述

2.1 开发技术说明

本系统前端部分基于MVVM模式进行开发,采用B/S模式后端部分基于Java的springboot框架进行开发。

前端部分前端框架采用了比较流行的渐进式JavaScript框架Vue.js。使用Vue-Router和Vuex实现动态路由和全局状态管理,Ajax实现前后端通信,Element UI组件库使页面快速成型项目前端通过栅格布局实现响应式,可适应PC端、平板端、手机端等不同屏幕大小尺寸的完美布局展示

后端部分采用springboot作为开发框架,同时集成MyBatis、Redis等相关技术。

2.2 开发工具及技术简述

2.2.1 Spring Boot简介

Spring Boot是Pivotal团队在2013年基于SSM框架的基础上,将一些配置自动约定好,而不需要配置过多XML文件的全新开源的轻量级框架。其设计是为了让开发者尽可能快的将系统运行起来。Spring Boot内嵌Tomcat容器,让应用程序的运行只需要通过命令java -jar来启动。这样的设计能够更好的支持系统的部署,可以与云计算天然集成。

2.2.2 Vue框架简介

Vue是一套基于JavaScript的渐进式框架,用于构建前端项目。Vue具有如下特性:轻量级、双向数据绑定、指令、插件化。相比于Angular和React框架,Vue官方文档很清晰,更简单易学,学习成本更低。性能方面,开发Vue框架的团队创建了了一个对比性能的项目,从测试出的数据可以得出Vue的性能是远好于Angular,并且稍微优于React的。

WebPack配合Vue可以将前端开发工程化,给前端开发带来许多效率化的功能,如代码检验、代码压缩并打包、组件化的开发、import导包机制等。WebPack工程使用package.json文件管理一些公共包的依赖。

2.2.3 IntelliJ IDEA简介

IntelliJ IDEA 是一款界面风格良好、功能丰富、操作简单便捷的编辑软件。它支持多种开发语言,主要应用于Java语言的开发。同时它支持目前主流的技术,包含多种框架,对于企业级软件和Web端的开发比较适合。虽然IntelliJ IDEA主要是开发Java语言程序,但是它对入SQL、HTML等其他语言也有很友好的支持,并提供这些语言的编码帮助。同时,使用这个系统开发项目最强大的还有它的搜索引擎,可以支持对系统全局搜索,文件名匹配搜索和单页面字段搜索。对于复杂的项目,要在众多的文件与文件夹中找到一句代码是一件十分棘手的事情,但是IDEA通过全局搜索轻松地解决了这一大难题。

2.2.4 MySQL 8.0数据库简介

在众多中小型系统开发中,关系型数据库管理系统MySQL是(RDBMS:Relational Database Management System)目前最流行且开放源代码的数据存储工具。其采用最常用的数据库管理语言:结构化查询语言(SQL)进行数据库管理。MySQL在WEB应用上的使用是目前最多的关系数据库管理系统应用软件。

MySQL8.0本版更新于2018年,比MySQL 5.7快2倍,它可以帮助用户管理大量数据,并可以保障数据库的稳定运行,也能高速率地检索数据,平均处理数据的速率达到每秒几百万条条甚至几千万条。

2.3 本章小结

本章主要对系统开发时所运用到的开发框架、开发系统以及所需要的工具进行简单的介绍和分析。通过对相关技术进行综述可以得出,本系统采用的开发语言、开发技术和开发工具都是目前市场上很热门,很先进的语言、技术和工具。可以有力的支持本课题系统的研发。

 系统需求分析

以上两章节对英加美有限公司考勤系统的研究背景和研究意义以及所需要用到的技术、开发框架、开发工具、开发系统进行了简单的介绍和说明。本章开始将根据英加美有限公司考勤系统的业务需求展开探讨分析,针对管理员、用户,采用用例图做出具体的、详细的需求报告,同时叙述其可行性。

3.1 系统功能需求分析 

英加美有限公司考勤系统的开发主要是解决双手,提高效率,为企业的发展进行添砖加瓦,所以在系统的功能方面我们首先要从企业管理的角度进行,然后再从职员的角度进行,确保能够满足每个用户的需求,因此在功能上主要规划了企业的管理员以及职员两部分,实现了首页、个人中心、职员管理、部门信息、职员工资、职员考勤、职员请假这几大功能。

(1)登录:管理员的账号是在数据库中直接设计好的,管理员进入系统的登录界面可以直接输入用户名+密码,然后完成拼图滑动验证后,点击“登录”进行登录,职员的账号是由管理员直接添加的,职员可以同样可通过用户名和密码,然后完成拼图滑动验证后登录。

(2)首页:管理员等会成功以后会在首页界面以分析图的形式查看到系统中的职员工资信息统计;

(3)管理员:管理员点击“系统用户”菜单下单“管理员”按钮可以查看到企业的管理员用户,如果想要填写新的管理员,点击右侧的“添加”按钮,然后输入账号、密码等信息,点击“提交”按钮进行提交,同时也支持对已有的管理员进行编辑、删除和查询;

(4)职员用户:管理员点击“系统用户”菜单下单“职员用户”按钮可以查看到企业的所有职员用户,如果想要填写新的职员,点击右侧的“添加”按钮,然后输入账号、密码、昵称、手机号码、邮箱等信息,点击“提交”按钮进行提交,同时也支持对已有的职员进行编辑、删除和查询;

(5)职员工资:管理员点击“职员工资”按钮可以查看到企业的所有职员的工资信息,如果想要填写新的工资,点击右侧的“添加”按钮,然后选择职员,输入索引、年月份、职员工号、职员姓名、底薪、部门、全勤奖、加班费、其它扣款、金颜

、工资备注、登记时间、是否支付操作信息,点击“提交”按钮进行提交,同时也支持对已有的工资信息进行编辑、删除和查询;职员点击“工资信息”按钮可以查看自己的工资信息。

(6)职员考勤:管理员点击“职员考勤”按钮可以查看到企业的所有职员的职员考勤,如果想要填写新的职员考勤,点击右侧的“添加”按钮,然后选择职员,输入职员姓名、职员工号、部门、考勤类型、操作时间、地址、审核回复、审核状态这些信息,点击“提交”按钮进行提交,同时也支持对已有的职员考勤进行编辑、删除和查询;职员点击“职员考勤”按钮可以查看自己的职员考勤。

(7)部门信息:管理员点击“部门信息”按钮可以查看到企业的所有部门,如果想要填写新的部门信息,点击右侧的“添加”按钮,然后输入部门名称、负责人、联系电话、办公区域等信息,点击“提交”按钮进行提交,同时也支持对已有的部门信息进行编辑、删除和查询。

(8)个人信息:管理员和职员点击“个人信息”按钮,可以对个人的头像、昵称、手机号码等信息进行更新。

(9)修改密码:管理员和职员点击“修改密码”按钮,可以对登录密码进行更改,首先输入原密码,然后再输入新密码和确认密码,当原密码正确,输入两次新密码一致,则修改成功,否则给出错误提示信息。

系统总体用例图如图3.1所示。

图3.1 系统总体用例图

3.2 系统数据流分析

对系统的数据流进行分析,系统的使用者分为二类,一般用户,管理员。系统主要对界面信息传送,登录信息的验证,注册信息的接收,用户各种操作的响应做处理。

系统顶层数据流图如下图所示。

图3-2 顶层数据流图

要判断用户是是什么身份,是根据登录的数据来判断后,跳转到对应的功能界面。在系统的内部用户就可以对数据进行操作,数据库中心就可以接收到系统传输的有效数据流来对数据sql语句进行对应操作。

系统底层数据流图如下图所示。

 图3-3 底层数据流图

系统可以分为前台和后台两部分,每一种操作后系统都返回操作结果。前台和后台的数据连接主要通过数据库,既分别对数据库做不同的操作。

3.3 系统非功能需求

首先主要考虑的是系统功能软件,在具体设计的环节上,是不是能够较好的满足各类用户的基本功能需求,如果不能较好的满足用户需求,那么这个系统的存在是没有价值的。软件系统的非功能性求分析,从7个方面展开,一个是性能分析,针对系统;一个是安全分析,针对系统,一个是完整度分析,针对系统,一个是可维护分析,针对系统,一个是可扩展性分析,针对系统,一个是适应业务的性能分析。面对应届毕业生就业信息管理系统存在的性能、安全、扩展、完整度等7个方面性能综合比对分析后发现,需要相应的非功能性需求分析。

3.4 系统开发环境需求

软件开发环境及开发工具:

操作系统:Windows 10、Windows 7、Windows 8

开发语言:Java

使用框架:spring boot

前端技术:JavaScript、VUE.js(2.X)、css3

开发工具:IDEA(2020版)/MyEclipse(10)/Eclipse、Visual Studio Code

数据库:MySQL 5.7.26(版本号)

数据库管理工具:phpstudy/Navicat

JDK版本:Java sdk8

Maven:apache-maven 3.8.1-bin

硬件环境:

CPU:1.60GHz及以上

内存:4GB及以上

硬盘:500MB以上

显卡:图像级显卡以上

3.5 系统研发可行性分析

可行性分析是设计与开发系统的重要步骤,可对整个研发过程进行整体把握,从而判断是否能达到预期的效果。根据系统研发的实际情况,现对经济可行性、技术可行性、管理可行性、法律可行性四大方面进行探究分析,以保证系统能在指定时间内设计并研发完成好。

3.5.1 经济可行性

由于本课题中设计的英加美有限公司考勤系统的主要目的是为了能够更加方便及快捷的进行考勤管理的查询管理及检索服务,也就是能够可以直接投入使用的信息化软件。系统的主要成本主要是集中在对使用数据后期继续维护及其管理更新这个操作上。但是一旦系统投入到实际的运行及使用之后就能够很好的提高信息查询检索的效率,同时也需要有效的保证查询者的信息方面的安全性,同时这个考勤管理与系统所带来的实际应用方面的价值是远远的超过了实际系统进行开发与维护方面的成本,因此,从经济上来说开发这个软件是可行的。

3.5.2 技术可行性

技术方面的可行性主要是考虑开发工资管理系统的时候采用的开发语言、数据库等是否可行,本工资管理系统在语言上选择JAVA,采用的是Springboot框架以及MYSQL数据库,这些技术目前都很成熟,而且JAVA语言不仅仅支持面向过程,而且还支持面向对象,所以在使用的时候会更加的灵活,在技术选择上完全没有问题。

3.5.3 管理可行性

在现今互联网软件技术高速发展的社会,英加美有限公司考勤系统的研发过程以及研发完成后运营维护都能比较轻松的完成,人性化的UI设计,让用户使用便捷、体验好。因此该系统具备管理可行性。

3.5.4 法律可行性

该系统是为企业等单位提供一个更便捷的会务管理工具,不管从道德、技术还是使用目的等层面上来分析都完全遵守法律法规,因此在法律上是可行的。

3.6 本章小结

本章主要借助用例图先对英加美有限公司考勤系统进行总体功能性需求分析,明确系统需要实现的功能。通过分析系统功能,设计出顶层数据流图和0层数据流图,对参会方和主办方进行进一步阐述,保障需求的稳定,防止以后因频繁修改需求而产生额外的工作量,最后从经济可行性、技术可行性、管理可行性和法律可行性四方面进行了分析,最后确定了该系统的需求,为下面章节的展开奠定了基础。

 系统总体设计

4.1 系统总体功能结构

英加美有限公司考勤系统总体分为前台用户模块和后台管理员模块。

两个模块表现上是分别独立存在,但是访问的数据库是一样的。每一个模块的功能都是根据先前完成的需求分析,并查阅相关资料后整理制作的。

综上所述,系统功能结构图如下图所示。

图4.1 系统总体功能结构图

4.2 系统软件体系结构

英加美有限公司考勤系统的架构设计主要分为可以3层,主要有Web层,业务层,Model层。其中web层还包括View层和Controller层,Model层包括元数据扩展层和数据访问层。

系统架构如下图所示。

MVVM 就是将其中的View 的状态和行为抽象化,让我们将视图 UI 和业务逻辑分开。当然这些事 ViewModel 已经帮我们做了,它可以取出 Model 的数据同时帮忙处理 View 中由于需要展示内容而涉及的业务逻辑。它强制性的把应用程序的输入、输出和处理全部分开,将其分为三个核心部分,这三个部分分别有不同的功能。

图4-2系统架构图

视图层视图是指被用户所看到的并且能够与之进行交互的界面。视图可以向用户展示相关的数据,并接收用户输入的数据,但对用户数据不进行任何实际业务操作处理。

模型层通过控制层来处理视图层传递的数据,同一个模型可以给不同的视图提供数据,也可以被不同的视图重复使用。由于 Model 的主要内容是数据、方法和行为,其也是 MVVM 中逻辑最为复杂,代码量最多的部分,其中包含了许多应用中需要用到的业务逻辑,因此模型层的开发也变得尤为重要,后期一般不会对模型层进行大规模改动,也是 MVVM最稳定的部分。

控制层主要负责视图层和模型层之间的数据传输和处理请求操作。当用户通过视图发送数据和请求时,控制层可以接收请求和数据并决定调用哪些模型、通过模型的哪些操来处理数据和请求,处理完成后,控制层再将数据返回给相应的视图。

4.3 系统业务流程

管理员权限下的工作流程主要为:管理员通过系统界面提供登录按钮并点击,转入管理员登录界面,并在界面上填入相应的管理员账户和管理员密码,进入管理员权限下的后台系统,并且在系统左侧导航条设置了相应的操作功能。

用户权限下的工作流程主要为:用户通过系统提供的注册功能,进行身份验证并注册,而后在登录界面进行个人身份验证,并且进入用户的个人后台界面,并进行相应的操作。

英加美有限公司考勤系统的业务流程如图4.3所示:

4.3 系统总体业务流程图

4.4 系统后台处理流程

系统中的所有用户(管理员和职员)都可以实现增加数据功能,图4.4显示的就是在增加数据时的流程。

图4.4增加数据流程图

4.4.1 修改数据流程

人无完人,每个人都有出错的时候,在录入系统信息的时候如果信息有错,可以对系统中的数据进行编辑。图4.5显示的就是修改数据的流程。

图4.5修改数据流程图

4.4.2 删除数据流程

在系统中经常会出现一些过期的数据,比如职员工资等,那就可以直接删除这些数据,图4.6就是删除数据时的流程图。

图4.6删除数据流程图

4.5 数据库设计

在系统的开发中,数据库的设计至关重要。它需要综合运用到多门学科的相关知识。在系统的设计和开发中,系统能否成功上线,很大一部分取决于数据库的设计是否成功。如果数据库设计阶段有不足,系统的功能开发将受到很大影响。

4.5.1 数据库概念设计

概念设计包括实体和联系两部分,如该系统中,用户是一个实体,其属性包括用户 ID 标识、用户名、密码、电话、地址等属性。联系是指实体之间有意义的关联,包括一对一、一对多、多对多三种类型。

系统ER图如下图所示:

图4.7 系统ER关系图

4.5.2 数据库表设计

根据以上的关系模型最终得出数据表设计,以下是系统部分主要的数据表设计。

考勤管理管理与系统所拥有的数据表有以下:职员表,请假信息表,考勤管理表,工资管理表等。

由于数据表较多,只展示系统主要数据表,如下表所示。

表名:token

功能:token表

字段名称

类型

长度

字段说明

主键

默认值

id

bigint

主键

  主键

userid

bigint

用户id

username

varchar

100

用户名

tablename

varchar

100

表名

role

varchar

100

角色

token

varchar

200

密码

addtime

timestamp

新增时间

CURRENT_TIMESTAMP

expiratedtime

timestamp

过期时间

CURRENT_TIMESTAMP

表名:config

功能:配置文件

字段名称

类型

长度

字段说明

主键

默认值

id

bigint

主键

  主键

name

varchar

100

配置参数名称

value

varchar

100

配置参数值

表名:bumenxinxi

功能:部门信息

字段名称

类型

长度

字段说明

主键

默认值

id

bigint

主键

  主键

addtime

timestamp

创建时间

CURRENT_TIMESTAMP

bumenmingcheng

varchar

200

部门名称

fuzeren

varchar

200

负责人

lianxidianhua

varchar

200

联系电话

bangongquyu

varchar

200

办公区域

表名:zhiyuan

功能:职员

字段名称

类型

长度

字段说明

主键

默认值

id

bigint

主键

  主键

addtime

timestamp

创建时间

CURRENT_TIMESTAMP

yuangonggonghao

varchar

200

职员工号

mima

varchar

200

密码

yuangongxingming

varchar

200

职员姓名

xingbie

varchar

200

性别

bumen

varchar

200

部门

gangwei

varchar

200

岗位

ruzhishijian

date

入职时间

lianxifangshi

varchar

200

联系方式

shenfenzheng

varchar

200

身份证

表名:yuangongqingjia

功能:职员请假

字段名称

类型

长度

字段说明

主键

默认值

id

bigint

主键

  主键

addtime

timestamp

创建时间

CURRENT_TIMESTAMP

qingjiabianhao

varchar

200

请假编号

qingjialeixing

varchar

200

请假类型

yuangonggonghao

varchar

200

职员工号

yuangongxingming

varchar

200

职员姓名

qingjiatianshu

int

请假天数

kaishishijian

date

开始时间

jieshushijian

date

结束时间

shenqingshijian

datetime

申请时间

qingjialiyou

longtext

4294967295

请假理由

sfsh

varchar

200

是否审核

待审核

shhf

longtext

4294967295

审核回复

表名:yuangongkaoqin

功能:职员考勤

字段名称

类型

长度

字段说明

主键

默认值

id

bigint

主键

  主键

addtime

timestamp

创建时间

CURRENT_TIMESTAMP

yuangonggonghao

varchar

200

职员工号

yuangongxingming

varchar

200

职员姓名

bumen

varchar

200

部门

kaoqinleixing

varchar

200

考勤类型

kaoqinbeizhu

longtext

4294967295

考勤备注

caozuoshijian

datetime

操作时间

sfsh

varchar

200

是否审核

待审核

shhf

longtext

4294967295

审核回复

longitude

float

经度

latitude

float

纬度

fulladdress

varchar

200

地址

表名:yuangonggongzi

功能:职员工资

字段名称

类型

长度

字段说明

主键

默认值

id

bigint

主键

  主键

addtime

timestamp

创建时间

CURRENT_TIMESTAMP

nianyuefen

varchar

200

年月份

yuangonggonghao

varchar

200

职员工号

yuangongxingming

varchar

200

职员姓名

dixin

float

底薪

gangwei

varchar

200

岗位

quanqinjiang

float

全勤奖

jiabanfei

float

考勤费

qitakoukuan

float

其它扣款

jine

float

金额

gongzibeizhu

varchar

200

工资备注

dengjishijian

datetime

登记时间

ispay

varchar

200

是否支付

未支付

表名:users

功能:用户表

字段名称

类型

长度

字段说明

主键

默认值

id

bigint

主键

  主键

username

varchar

100

用户名

password

varchar

100

密码

role

varchar

100

角色

管理员

addtime

timestamp

新增时间

CURRENT_TIMESTAMP

4.6 本章小结

一个系统的设计是否良好决定了系统开发能否正常进行,也决定了后续发展与维护的难度。本章对系统进行总体设计,确定了系统总体功能结构、系统软件体系结构、系统前台业务流程、系统后台处理流程,再根据实际业务逻辑对数据库进行概念设计和逻辑设计和数据库表设计。系统的整体架构设计完成后便可进行功能上的设计和开发。

系统详细设计

本章将阐述英加美有限公司考勤系统的功能模块,对其进行详细设计。将从身份验证模块、职员模块、管理员模块两大方面以图文的方式进行阐述。

5.1 身份验证模块

5.2 登录模块的实现

主要由两部分组成,登录前的登录界面以及登录后的用户功能界面。登录界面,要求用户输入用户名和密码,当用户名和密码其中一个输入为空时,给出提示“用户名,密码不能为空”。获取用户名和密码后到数据库中查找,如果用户名存在,以及对应的密码正确,则登录成功,否则登录失败。登录失败后给出提示,并把焦点停在文本框中。登录成功后将该次会话的全局变量username设置为用户名。登录成功后进入会员的功能模块,主要有会员基本信息修改,已经发布考试信息管理,发布信息,和退出功能。退出功能是清除全局变量username的值,并跳回到首页。

登录流程图如下图所示。

图5-1登录流程图

5.2.1 请求Token身份验证模块

后台服务接口都是对外开放的,只要输入了正确的接口地址和参数就能请求后台的数据。基于Token的身份验证可以解决身份认证的问题。基于Token的身份验证流程如下:

(1)用户输入用户手机号码和用户密码发起登录;

(2)服务器收到登录请求,验证手机号码与用户密码;

(3)验证信息成功后,服务器会创建一个Token,并存入redis数据库,同时会把这个Token作为响应数据发送给用户;

(4)用户收到Token 以后,将其放在Local Storage存储起来;

(5)用户每当向服务器请求业务数据的时候需要在请求信息的header中带上服务器授予的Token值;

(6)服务器收到请求后根据用户信息从redis数据库中查出登录时保存的Token,如果Token验证成功,就处理前端请求,如果不成功则返回错误码。

基于Token身份验证的流程图如图5.2所示:

                        

                 5-2 基于Token身份验证的流程图

5.2.2 密码加密模块

系统的安全性首要考虑的是数据库密码的安全,密码是检验人身份的重要标志,账号是否得到足够的保护是每一个网站安全性的首要检测要素。一旦数据库密码遭到黑客窃取,那么将产生难以承担的后果。所以对数据库密码的防护是一个很重要的功能。本系统采用SHA-256 +随机盐+密钥对密码进行加密。那么就算黑客攻破数据库,拿到的也只是一串字符。而SHA-256是Hash算法,不是加密算法,这个字符按目前的技术来说是不能解密的,所以能充分保障用户密码的安全。对密码具体的加密验证流程为首先对登录的密码进行对称加密,密文传至后台后进行对称解密获得用户输入密码;然后对密码非对称加密,用户注册时系统会对密码进行非对称加密处理,储存在数据库中的密码为非对称加密后的密文,将对称加密的密文对称解密再非对称加密与数据库中非对称加密后的数据进行对比。密码加密解密流程如图5.3所示:

5-3 密码加密验证流程图

5.3 职员主要模块

5.3.1 个人信息管理模块

用户在注册时只需填写呢称、手机号码、密码。在注册完毕之后需要完善自己的个人信息并录入生物信息。个人基本信息包括真实姓名、性别、微信、出生年月、QQ、所在工作单位及部门、职位、账号头像、个性签名。

5.3.2 用户资料修改模块

用户登录/注册成功之后可以修改自己的基本信息。修改页面的表单中每一个input的name值都要与实体类中的参数相匹配,在用户点击修改页面的时候,如果改后用户名与数据库里面重复了,页面会提示该用户名已经存在了,否则通过Id来查询用户,并将用户的信息修改为表单提交的数据。

5.4 职员管理模块的实现

如果职员的信息需要修改,管理员可以通过查询职员的基本信息来查询职员,查询职员是通过ajax技术来进行查询的,需要传递职员的账号、职员姓名等参数然后在返回到该页面中,可以选中要修改或删除的那条信息,如果选中了超过一条数据,页面会挑一个窗口提醒只能选择一条数,如果没有选中数据会挑一个窗口题型必须选择一条数据。当选择确认修改的时候,后台会根据传过来的id到数据库查询,并将结果返回到修改页面中,可以在修改页面中修改刚刚选中的信息当点击确认的时候from表单会将修改的数据提交到后台并保存到数据库中,就是说如果提交的数据数据库中存在就修改,否则就保存。

5.5 请假信息管理模块的实现

此页面的关键是编写请假信息,包括请假审核详情等。单击提交按钮以完成信息的添加。如果未写入完整的请假信息,例如,如果未写入请假,系统将给出相应的错误提示,并且无法成功输入。数据以概念的形式以onsubmit =“return checkForm()”的形式写入以进行检查,checkForm()函数是一种用于写入数据的不同类型的校对方法,是不是为空也是经过form表单中的οnsubmit=”return checkForm()来检查。

管理员点击左侧菜单“请假”,页面跳转到请假信息外观,调用后台请假查询所有请假信息。并将信息密封到数据集合List,绑定到请求对象,然后页面跳转到相应的界面,显示出请假信息,单击删除按钮完成请假信息的删除。

图5-4请假信息流程图

5.6 考勤信息管理模块的实现

考勤功能需要考虑高并发,防止出现考勤信息重复、考勤状态显示出错等情况,特对考勤这一共享数据增加锁机制。在乐观锁、悲观锁以及线程锁中,综合考虑性能效率和错误的可接受性选择了乐观锁机制。乐观锁的实现方式是使用版本标识来确定读到的数据与提交时的数据是否一致,提交后修改版本标识,不一致时可以采取丢弃和再次尝试的策略。在数据库考勤表(对应考勤实体)设计中增加了version字段,每次数据提交时(更改考勤状态)会判断version是否匹配,若不匹配停止本次提交,若匹配则提交成功并增加version的值。

考勤功能整体流程:用户浏览考勤信息时,同时会显示考勤的状态,系统会在其显示详细信息的页面时便会判断考勤的状态,若职员状态为可浏览,则会显示搜索的链接按钮。在用户点击搜索按钮时,会先通过拦截器判断用户是否登录,若未登录,会跳转至登录页面,提示用户先登录,若为登录用户就会跳转至填写信息的页面,填写好信息之后,点击搜索按钮,成功之后显示出考勤。

考勤信息流程图如下图所示。

图5-5考勤信息流程图

5.7 工资管理模块的实现

根据需求,需要对工资进行添加、删除或修改详情信息。删除或修改工资工资时,系统根据工资的状态判定为可删除状态下,才会给出删除和修改链接,点击删除链接按钮时,请求到达后台,还会先查询工资工资状态再次做出判定能否删除。点击修改链接按钮时,会跳转到修改信息的页面,重新填写好数据后,数据提交到后台会对数据库中相应的记录做出修改。

添加工资工资时,会给出数据填写的页面,该页面根据填写好的职员账号、职员姓名、部门等信息同样会事先发送Ajax请求查询编号是否已存在,数据填写好之后提交到后台,会调用相关服务在数据库中插入记录。

工资管理流程图如下图所示。

图5-6工资管理流程图

 系统实现

6.1 登录界面

管理员的账号是在数据库中直接设计好的,管理员进入系统的登录界面可以直接输入用户名+密码,然后完成拼图滑动验证后,点击“登录”进行登录,职员的账号是由管理员直接添加的,职员可以同样可通过用户名和密码,然后完成拼图滑动验证后登录;其主界面展示如下图6.1所示

6.1用户登录界面

6.2  工资信息界面

管理员登录成功以后会在工资信息界面以分析图的形式查看到系统中的工资信息统计信息。

6.2 工资信息界面

6.3 职员用户界面

管理员点击“职员管理”菜单下单“职员”按钮可以查看到企业的所有职员用户,如果想要填写新的职员,点击右侧的“添加”按钮,然后输入账号、密码、昵称、手机号码、邮箱等信息,点击“提交”按钮进行提交,同时也支持对已有的职员进行编辑、删除和查询。添加职员用户界面如下图6.3所示,职员用户管理界面如下图4.5所示。

6.3 职员用户添加界面

     

6.4 职员用户管理界面

6.4 工资信息界面

管理员点击“模块管理”菜单下单“工资信息”按钮可以查看到企业的所有员工的工资信息,如果想要填写新的工资,点击右侧的“添加”按钮,然后选择职员,输入索引、年月份、职员工号、职员姓名、底薪、部门、全勤奖、加班费、其它扣款、金颜、工资备注、登记时间、是否支付操作信息,点击“提交”按钮进行提交,同时也支持对已有的工资信息进行编辑、删除和查询;职员点击“工资信息”按钮可以查看自己的工资信息,点击“提交”按钮进行提交。工资信息界面如下图6.5图6.6所示。

图6.5工资添加界面

图6.6工资管理界面

6.5 本章小结

本章是对上一章系统详细设计的实现。

 系统测试

7.1 系统测试的目的

为保障本会务系统设计与开发的稳定性、可靠性和使用的安全性、运行的流畅性。系统测试是一个重要的步骤,目的在于找出系统中的各种错误和缺陷,然后解决相关问题,提高系统的质量。

7.2 系统测试的方法及步骤

软件的测试方法和技术单从软件开发的过程按阶段可划分为:单元测试、集成测试、系统测试。

本系统是采用按照软件开发阶段划分的测试方法,因而本系统要进行单元测试、集成测试和系统测试。

(1)单元测试

单元测试又叫作模块测试,是针对程序模块来进行正确性检验的测试工作。单元测试主要针对程序的内部逻辑来进行检验。

(2)集成测试

集成测试又叫作组装测试,集成测试是在之前所有的单元测试都完成后,再按照

系统的设计要求将所有模块组装完成后进行的测试。集成测试主要是检查各模块与其它模块之间的对接过程可能存在的错误。

(3)系统测试

系统测试是将经过集成测试的所有子系统组装成一个完整的系统来进行测试。它

是按照系统的前期设计需求来选取测试用例的,并在真实的运行环境中进行测试,以检测系统是否满足预设的设计需求,通过与设计需求作对比来检测出软件有问题或者达不到设计需求的地方。

下表是职员管理功能的测试用例,检测了职员管理中对职员信息的增加,删除,修改,查询操作是否成功运行。观察系统的响应情况,得出该功能也达到了设计目标,系统运行正确。

前置条件;用户登录系统。

表7-1 职员管理的测试用例

功能描述

用于职员管理

测试目的

检测职员管理时的各种操作的运行情况

测试数据以及操作

预期结果

实际结果

点击添加职员,必填项合法输入,点击保存

提示添加成功

与预期结果一致

点击添加职员,必填项输入不合法,点击保存

提示必填项不能为空

与预期结果一致

点击修改职员,必填项修改为空,点击保存

提示必填项不能为空

与预期结果一致

点击修改职员,必填项输入不合法,点击保存

提示必填项不能为空

与预期结果一致

点击删除职员,选择职员删除

提示删除成功

与预期结果一致

点击搜索职员,输入存在的职员名

查找出职员

与预期结果一致

点击搜索职员,输入不存在的职员名

不显示职员

与预期结果一致

下表是请假功能的测试用例,检测了请假中对职员请假信息的增加,删除,修改,查询操作是否成功运行。观察系统的响应情况,得出该功能也达到了设计目标,系统运行正确。

前置条件;用户登录系统。

表7-2 请假的测试用例

功能描述

用于请假

测试目的

检测请假时的各种操作的运行情况

测试数据以及操作

预期结果

实际结果

点击添加职员请假,必填项合法输入,点击保存

提示添加成功

与预期结果一致

点击添加职员请假,必填项输入不合法,点击保存

提示必填项不能为空

与预期结果一致

点击修改职员请假,必填项修改为空,点击保存

提示必填项不能为空

与预期结果一致

点击修改职员请假,必填项输入不合法,点击保存

提示必填项不能为空

与预期结果一致

点击删除职员请假,选择职员请假删除

提示删除成功

与预期结果一致

点击搜索职员请假,输入存在的职员请假名

查找出职员请假

与预期结果一致

点击搜索职员请假,输入不存在的职员请假名

不显示职员请假

与预期结果一致

下表是考勤管理功能的测试用例,检测了考勤管理中分类列表的操作是否成功运行。观察系统的响应情况,得出该功能也达到了设计目标,系统运行正确。

前置条件;用户登录系统。

表7-3 考勤管理的测试用例

功能描述

用于考勤管理

测试目的

检测考勤管理时各种操作的情况

测试数据以及操作

预期结果

实际结果

未选择分类,点击提交

提示请选择分类

与预期结果一致

未选择列表,点击提交

提示请选择列表

与预期结果一致

7.3 性能测试

使用阿里云PTS(Performance Testing Service)性能测试服务对线上系统进行压力测试。线上服务器环境为:1核心CPU,1G内存,1Mbps公网带宽,Centos7.0操作系统。

压测过程中使用了2台并发机器,每台机器20个用户并发,对系统主页,登录,数据查询和数据维护等模块进行并发访问,测试结果是有40个用户并发时,数据管理相关页面的响应时间甚至达到了7s,通过查看服务器出网流量发现已经达到1381kb/s,可以看出服务器的带宽已经达到峰值,如果系统使用5Mbps的带宽,系统的响应时间和TPS将会大大增加。在整个测试的过程中,CPU的使用率占用仅8%,也提现出带宽瓶颈对系统的影响非常严重。

7.4 本章小结

本章阐述系统测试的方法和过程。首先,介绍了测试的目的和方法,测试方法包括单元测试、集成测试、系统测试等。在测试后台时,采用的是Cucumber测试框架。它是一款自动化测试工具,不仅能把用例中的测试步骤以非常友好的形式展现出来,还能通过一次编写测试用例即可完整地跑完一个单元功能的增删改查,得到后台接口是否正常、无误的信息。对系统主要模块和对数据有精细化要求的功能进行了详细测试。最后通过了集成测试和系统测试的验证,系统运行稳定,数据显示正常。

总结与展望 

随着计算机互联网技术的迅猛发展,各行各业都已经实现采用计算机相关技术对日益放大的数据进行管理。该课题是考勤管理管理为核心展开的。本研究针对考勤管理需求建模,数据建模及过程建模分析设计并实现平台研究的过程。给出系统应用架构并分析优劣势,通过功能分解图,系统组件图描述功能需求。设计建立了数据库,给出系统关键数据结构的定义。通过类关系图描述组件间的协作关系,给出各个类的定义方法。通过描述每一个类的字段,属性及方法实现系统的前后端代码。最终给出系统集成整合方法,完成英加美有限公司考勤系统设计与实现。系统投入运行时,各功能均运行正常。系统的每个界面的操作符合常规逻辑,对使用者来说操作简单,界面友好。整个系统的各个功能设计合理,体现了人性化。

但是由于自己在系统开发过程中对一些用到的相关知识和技术掌握不够牢固,再加上自身开发经验欠缺,因此系统在有些方面的功能还不够完善,考虑的不够全面,因此整个系统还有待日后逐步完善。

参考文献

[1]阙小平,吴贺男.考勤管理工作信息化建设思路探索[J].商讯,2021(33):113-115.

[2]贺岩春.探讨人力资源管理理念在建筑考勤管理中的应用价值[J].上海商业,2021(11):94-95.

[3]孙翔艳.探究国有考勤管理的现状及其战略转变[J].营销界,2021(28):155-156.

[4]郭海琴.加强干部人事档案信息化管理全面促进考勤管理创新[J].中国集体经济,2021(22):129-130.

[5]王琛.考勤管理工作信息化建设探析[J].现代营销(经营版),2021(06):113-114.

[6]陈慧娟.单位考勤管理向人力资源管理的转变[J].中国中小,2021(01):191-192.

[7]徐宏伟.人力资源管理软件在考勤管理中的运用研究[J].中国管理信息化,2020,23(24):110-111.

[8]刘蓉,丁旭.现代考勤管理信息系统的设计与实现[J].黄河.黄土.黄种人,2020(17):36-37.

[9]曹智. 基于SSM框架的考勤管理考勤系统的设计与实现[D].电子科技大学,2019.

[10]徐向.基于C/S的英加美有限公司考勤系统设计研究[J].数码世界,2019(02):69.

[11]彭辉.考勤管理的重要性及方法[J].中外家,2019(05):78.

[12]马英豪.考勤管理的重要性及方法[J].低碳世界,2018(12):308-309.

[13]王佳越. 基于Spring Cloud的英加美有限公司考勤系统的设计与实现[D].吉林大学,2018.

[14]王惠.基于JSP的英加美有限公司考勤系统的设计与实现[J].电脑知识与技术,2018,14(33):75-77.

[15]王炅.新时期考勤管理的探讨[J].内蒙古科技与经济,2018(16):31+34.

[16]余小成,汪颖,周凌云. 规范考勤管理 构建和谐劳动关系[N]. 人民法院报,2018-06-28(005).

[17]孙文刚. 基于混合架构的英加美有限公司考勤系统的设计与实现[D].吉林大学,2018.

[18]Haiyang MA,Lejun LI,Xiaomei LIU,Weijun ZHAO,Baoyi LOU.Teaching Design of Tourism Management Based on Information-based Teaching Method: A Case Study of Selection of Hotel Construction Site[J].Asian Agricultural Research,2021,13(12):55-61.


致  谢

本次设计历时3个月。在这个毕业设计中,它离不开指导教师的指导,使事情基本顺利。指导老师无论是在毕业设计历经中,还是在论文做完中都给了了我特别大的助益。另一个方面,教师认真负责的工作姿态,谨慎的教学精神厚重的理论水准都使我获益匪浅。他勤恳谨慎的教学育人学习姿态也给我留下了特别特别深的感觉。我从老师那里学到了很多东西。在理论和实践中,我的技能得到了特别大的提高。在此,特向教师表示由衷的感激。

经过对该毕业设计的全部研究和开发,我的系统研发经历了从需求分析到实现详细功能,再到最终测试和维护的特殊进展。让我对系统研发有了更深层次的认识。如今我的动手本领单独处理疑惑的本领也获取到了特别大的演练学习增多,这是这次毕业设计最好的收获。

最后,在整个系统开发过程中,我周围的同学和朋友给了我很多意见,所以我很快就确认了系统的商业思想。在次,我由衷的向他们表示感激。

点赞+收藏+关注  →私信领取本源代码、数据库

关注博主下篇更精彩
一键三连!!!
一键三连!!!
一键三连!!!
感谢一键三连!!!

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值