【《基于Java的企业考勤管理系统设计与实现》9300字(论文)】_第1页
【《基于Java的企业考勤管理系统设计与实现》9300字(论文)】_第2页
【《基于Java的企业考勤管理系统设计与实现》9300字(论文)】_第3页
【《基于Java的企业考勤管理系统设计与实现》9300字(论文)】_第4页
【《基于Java的企业考勤管理系统设计与实现》9300字(论文)】_第5页
已阅读5页,还剩20页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

绪论1.1背景在国家经济的高速高质量的发展下,各行业都展现了蓬勃向上的姿态。大大小小的公司集团越来越多,其中员工的数量,部门的分类页越来越复杂。为了方便管理员工信息及日常活动信息,一般的公司内部便会催生出独立的人力资源部门或者单个的管理人事的人,用于统计员工日常的考勤信息,计算员工出勤天数与应得工资等。但就上文而言,如果员工的类别与部门变得越来越复杂了该怎么办。现在公司内部的活动及考勤大多都可以使用钉钉或企业微信来完成,人事也可以从后台很直观的看见每个人的考勤信息。但当公司在其他地方设立分公司或办事处,每天上班的员工不一样,上班时间也不同,我们不可能为此修改钉钉或企业微信的上班打卡规则。举个例子,有一个培训班,总部按钉钉规则正常上班下班,但其中的培训师在各个培训地点也需要按照课程时间正常的上下课打卡,上班时间与上下课时间不同,钉钉等考勤软件无法修改,所以该培训结构使用了纸质打卡,每月定期将打卡纸送往总部交予人事部门统计考勤信息,这样做也是不得以而为之,这时在调研了一些公司及辅导班的状况所了解的。也有一些公司为了精准性,采用面部识别打卡或者指纹打卡,人事再通过信息收集来考勤。以上说了三种考勤方式,纸质打卡,指纹打卡,人脸识别打卡。都需要配套的人事进行统计考勤,人员过多时会造成很大的工作量,随着互联网的发展,我们可以使用配套的管理系统来辅助公司的人事进行考勤,来减少人力资源成本,缩短时间,这也是本文要设计考勤管理系统的初衷。1.2研究意义本系统设计的意义在于,在考虑到特殊打卡类型的企业,以及采用指纹打卡及面部识别打卡的企业,有一个相对便捷的考勤后台管理系统还是很有必要的,可作为辅助类管理系统或主力管理系统使用,适用于大多数企业的日常办公需求。能够高效的帮助企业人事部门在日常的办公、部门人员监督等方面可以起到一定的作用。确定系统主要业务及属性之后,本人查找了各类办公管理系统,并且对各类系统进行评比,吸取相应优点,摒弃缺点,人事考勤管理系统是可以很好的帮助公司的人事部门对公司内员工的考勤信息进行管理的,主要的业务模块有管理各员工的身份信息,公司内部门信息以及考勤状态等。在个人方面,由于系统设计到Java,数据库,mybatis,前端知识,各类ui插件等,很考验我们的动手与逻辑水平。在学校中,我们大多只学习了Java以及数据库知识,前端的js与界面美化则涉及的很少,所以设计并实现本系统的意义不光在于能做出一个好的系统给其他企业使用,更在于我们可以巩固旧知识,学习新知识,这考验了我们的耐心以及对知识的积累。我相信,在独立做出来考勤后台管理系统后,对我们的日常工作也是大有裨益的。这些便是设计并实现该系统的意义所在。1.3研究设计内容考勤管理后台系统的意义在于为公司或单位在考管理上面提供信息的存储与快速查询统计服务的,它的设计理念依靠于公司的日常业务与企业管理流程来的。使用web网页系统可以保证随时使用,更具有稳定性。信息存取使用大量的sql语句来嵌套进代码中,实现系统自身非常的高效便捷,可以快速的增加删除修改查询指定的一个或多个员工信息。该系统的主要功能模块是对员工的信息管理,对部门的信息管理以及考勤和计算工资的管理。这些模块功能可以支持管理员很好的处理内部考勤信息。进行审核,并进行增加,删除,修改等操作。并且对员工工资信息及考勤信息进行相应管理,并同时更新相应信息,完全实现自动化。根据项目开发的进度,本文主要介绍了模块功能的研究设计等内容,对职员信息、部门信息、工资管理、考勤管理等方面工作及其计算机实现方法做出了较为详细的叙述并最终予以编码实现。但本人编码水平有限,所以最终的系统成品肯定有所不足,这就需要在实际使用时发现问题并改进问题。为了更好的增加用户体验,希望用户在使用时提出宝贵的建议。2系统分析2.1需求分析需求分析是指在软件开发之前所进行的对软件的解析,也称软件需求分析或系统需求分析。比如在开发一款软件时,如果面向的对象是普通用户,我们就要分析一下用户的心理。从用户出发,界面该如何设计,需要什么样的功能,点击按钮应该需要有什么样的效果,用户怎么样使用才能更加便捷,然后再进行系统的详细设计。2.1.1界面需求由于系统涉及的统计类数据较多,所以应该使用大量的可视化图表,如分页表格,柱状图,饼状图等,方便考勤人员统计相应数据。展示页面应当占有较大界面,其余的功能模块可以以菜单栏的形式放置于界面的一侧。公司的名称信息以及登陆人的信息放置于整体界面的上方,最左则显示公司的logo,界面总体为这三大模块。当进行删除,增加,修改等操作时,需要有提示框弹出,并且提示框整体不能过大。这是大体的界面需求。2.1.2功能需求考勤管理系统额作用是方便公司管理人员对公司的人事信息,考勤信息,薪酬信息的系统化管理需求,以业务模块化方法处理公司事务,将事务处理方式与计算机的技术统一起来,实现对人,财,物,信息的统一规范处理,使之更加的规范化与智能化。登录模块,在操作员进入系统之前需要进行登录操作,输入自己的账号和密码,两个都不能为空,为空会提示请输入账户名或密码,输入正确的账号后可以进入系统主页面进行操作,输入错误的账号和密码则会提示“账户名或密码输入错误”。人事管理模块,该大模块包含了部门管理模块,人员信息模块,福利待遇模块。部门管理模块就是对各个部门进行管理,增加,修改,删除,查询部门信息。人员信息模块就是对人员信息管理,并且与其他功能模块相互联系。奖惩模块主要是对公司内部的奖励惩罚机制进行相应修改和设置。考勤模块,该模块主要对员工的出勤天数进行统计,请假与出差进行分类统计,并且根据公司设定对加班,出差,迟到,旷工所补偿或减少的工资进行设置,并且管理员工的加班,出差,迟到等信息。薪水管理模块可以展示公司内部员工的大致工资信息列表,如果需要详细信息,可以点击查看具体的详情。日志模块,该模块主要记录管理员详细的操作记录,如增加了什么信息,删除或修改了哪些内容,可以按照业务分类进行日志的查询。系统设置模块,该模块可以对管理员进行管理,如增加删除管理员,对密码等信息进行修改等。系统结构示意图如图2-1所示。图2-1系统结构示意图2.1.3开发规范需求由于我们在学习中涉及到的完整的系统开发不多,大多数是学习一些小demo,所以在系统开发中我们也要要求自己遵守相关的开发规范,也是为未来的职业生涯打下一个良好的基础与习惯。代码规范:在涉及变量名定义时,需要使用驼峰命名或下划线连接单词,不要使用缩写或阿拉伯数字与字母混合的变量,页尽量不要使用拼音。每个接口或方法上面可以注释一下该接口或方法所实现的功能。接口文档:我们自己开发时,对于哪些接口,接口的作用等都了如执掌,但是当系统内的接口变多,或者以后别人接手二次开发时,不能很好的统一了解或二次使用接口,这个时候接口文档的必要性就体现出来了。数据灵活:不将数据查询语句的条件写死,比如查询2020年的数据,不能直接写2020年,可以根据代码获取相应的年份或者前端传过来条件进行查询。因为如果将年份写死,到了明年的话又需要修改代码。2.2可行性分析在正式的开发前我们是需要对系统进行调研研究的,这样做的必要性体现在以下这几方面:明确系统使用者也就是用户的需求,根据调查结果进行可行性分析,明确系统的开发是否可行有一些需求或者整体需求的提出人员并不是开发的专业人员,对数据的处理与逻辑不是很了解,他们只是根据自己需要的提出需求。这时候开发人员就需要对整体的需求进行拆解,明确需求可以通过现有的技术来实现,也保证了开发出来的系统逻辑与业务功能是与需求相吻合的。总之,对系统进行详细调查,明确需求是必须的,以免耗费了大量的人力,物力,财力做出来的系统与需求大相径庭,我们需要避免这样的事件发生。2.2.1开发环境可行性开发需要一台装有windows10的电脑,需要装上jdk,自己手动配置环境,安装上MySQL以及Navicat管理工具,最后编译器使用Idea。这些都是与正常使用的电脑兼容的,所以开发环境这方面是可行的。2.2.2技术可行性本系统使用的框架是SSM架,Java语言作为后端,前端就是正常的H5,JavaScript,CSS。关于后端的Java,我们已经在大学里学习了,数据库额相关知识也已经学习了,所以后端的基本的增删改查逻辑目前是没有问题的。主要在前端方面,我们在学习时没有专业性的学习过,所以需要一边做系统一边学习写页面,在这方面花费的时间可能会长一点,前端也是没有问题的。综上来说,在技术层面的可行性是通过的。2.2.3成本可行性整个开发在一台电脑上便可以实现,其内部有综上所述的软件即可。对于软件的成本,idea是有高校学生版的,可以免费使用。MySQL以及Navicat也是免费的,所以在资金成本上基本不需要花费的。在时间成本方面,我们从实习到论文答辩的时间大概为九个月,可以使用平常空闲的时间来设计并做出这套教务后台系统,考虑到目前设计的复杂度,系统完成的时间多则两个月,所以在时间上面,我们是很充裕的,也不会耗费大量的时间。3系统涉及到的运行环境与技术3.1运行环境CPU:i76700HQ内存:8GB操作系统:Windows10浏览器:谷歌浏览器数据库:MySQL编译软件:Idea3.2MVC设计模式企业考勤系统使用的设计模式为mvc设计模式,也就是我们通俗说的三层架构,包括了模型,视图和控制器。模型就是封装业务逻辑和数据的一个一个的模块,控制器就是调用这些模块,视图就主要是你看到的。当用户在页面上输入数据或者指令后,系统内的控制器就会把业务逻辑数据选择性处理,然后将处理后的数据返回给视图层展现给用户,这里的操作指的就是转发。mvc模式就是把一个系统给分成几个大模块,每个模块相互独立相互实现功能,但又彼此联系,在修改时候只需要修改其中一个就行了。3.3MySQLMySQL是关系数据库的一种,适用于存储大量的数据,而且存入与读取速度较快,它的伸缩性很好,更容易嵌入系统中,并且可以跨平台使用。与SQLServer数据库对比,MySQL的存储量更大,适合辅导机构使用,所以本系统使用的就是MySQL数据库,通过它来存储系统各项数据,并且通过它调用数据动态的显示在网页上。3.4MybatisMyBatis是Java开发的一种框架,它对数据库进行操作,与以往不同的是,它内置了很多基础的数据库操作方法,且配置简单,只需配置相应的xml文件就行。此外需要在配置文件中配置一下数据库的各种信息,如主机名,密码,端口号即可,无需关注链接信息。程序中通过使用MyBatis来执行SQL语句,在程序中编写相应额数据表工具类,上面添加注释,执行的sql语句得到的数据可以映射在工具类中的字段中,从而进行下一步操作,十分方便。它的好处在于只需要写好查询语句即可,不需要再对数据库连接等等配置花费太多的心思。4数据库设计数据库在系统中扮演者存储数据的功能,而且是分属性存储。所以数据库的设计好坏关系到企业考勤管理系统的使用效率以及最后的实现效果。合理的数据库字段设计与数据表的设计可以提高数据存储的效率,并且可以有利于系统功能的实现。初期设计数据库时需要深刻了解用户的需求,并且如果系统后期有二次开发或增添功能时,我们也需要考虑到可能需要增加到的字段或数据表。根据对企业考勤管理系统的分析,系统主要涉及到对员工上下班及请假信息的查询,添加,修改,删除,统计数据,管理数据,这些操作都需要对数据库中的业务数据表进行相应的操作。4.1概念结构设计E-R图概念:R图是关系数据库中数据表的更直观的一种模型,它可以很好的表示数据库表内字段与字段之间的联系。当系统设计的不那么直观时,E-R图可以很好的描述出数据表内的相应信息。它的主要样式是各属性字段位于上方,由方框包围,通过箭头指向下方的数据表,可以很直观的看到各个组成关系。针对于企业考勤管理系统的需求,以及业务流程和数据分析,设计出了如下的E-R图实体结构。员工信息实体:员工姓名,性别,员工部门,出生年月,学历,职位,创建人,创建时间,修改人,修改时间,状态。如图4-1所示。部门信息实体:部门名称,部门人数,创建人,创建时间,修改人,修改时间,状态。如图4-2所示。考勤信息实体:员工id,上班时间,下班时间。如图4-3所示。工资福利信息实体:员工id,基本工资,岗位工资,住房补贴,社会保险,住房公积金。如图4-4所示。图4-1部门信息实体图4-2员工信息实体图4-3考勤信息实体图4-4工资福利信息实体4.2逻辑结构设计通过上一章的分析,各实体之间有多对多的关系,所以在逻辑设计中既要考虑实体到关系表的转换,更需要合理的联系到关系表的转换。这时候就需要将已经建立好的实体数据模型转化为真正的数据表结构,以下是根据数据概念而得出的数据表结构。员工信息表:主键id,员工姓名,性别,员工部门,出生年月,学历,职位,创建人,创建时间,修改人,修改时间,状态。如表4-1所示。部门信息表:主键id,部门名称,部门人数,创建人,创建时间,修改人,修改时间,状态。如表4-2所示。考勤信息表:主键id,员工id,上班时间,下班时间。如表4-3所示。工资福利信息表:主键id,员工id,基本工资,岗位工资,住房补贴,社会保险,住房公积金。如表4-4所示。表4-1部门信息表字段类型/长度说明idint(11)主键Namevarchar(50)部门名称people_countint(11)部门人数Creat_userBigint(20)创建人Create_timedatetime创建时间Update_userBigint(20)修改人Update_timedatetime修改时间statusint(2)状态表4-2员工信息表字段类型/长度说明idint(11)主键usernamevarchar(50)用户名namevarchar(50)姓名passwordvarchar(50)密码sexvarchar(50)性别telvarchar(50)联系电话roleint(11)权限/职位表4-3考勤信息表字段类型/长度说明idint(11)主键staff_idint(11)员工idstart_timevarchar(50)上班时间end_timedatetime下班时间statusvarchar(50)状态update_userint(11)修改人update_timedate修改时间表4-4工资福利信息表字段类型/长度说明idint(11)主键staff_idint(10)员工idbasic_salaryint(10)基本工资post_wageint(10)岗位工资housing_subsidiaryint(5)住房补贴insureanceint(5)社会保险5系统实现5.1用户登录在登录模块中,出于安全性考虑,是不设有注册渠道的,系统最初会有一个超级管理员,后续超级管理员可以添加其他管理员并且赋予相应的权限。进入登录页面后,输入账号与密码,后台接口会与数据库内数据进行匹配,当数据匹配不上时,会提示账号或密码错误。账号由十一位数字组成,当账号输入格式不对时,系统也将进行相应提示。如图5-1所示。图5-1用户登录核心代码:5.2员工信息管理该模块是对员工的基本信息进行管理,可以添加,查询员工的相应信息,如所在部门,姓名,性别,年龄,基本工资,餐补,住房补助等信息。所有的员工统计生成职工信息统计表,如果对职工的基本信息进行修改或删除员工信息,则需要相应的权限。在查询员工信息时,前端表单接收到姓名,职位,部门的三个表单的数据后,会将这三个数据传递给后端接口。后台接口判断这三个表单数据的值来进行不同的方式查询,即模糊查询。在编辑员工信息时,输入姓名,电话,职位,部门点击确定后。前台表单接收当前员工的id编号,姓名,电话,职位,部门并整合成一条数据。使用post请求方式请求后端接口进行保存。如图5-2所示。图5-2员工信息核心代码:5.3工资管理该模块是完成对员工的工资信息的输入、查询、并以此进行统计生成“职工工资总额构成情况表”和“职工工资总额季度汇总表”。这个模块主要呈现的员工工资数据列表,点击数据列表可以查看到具体的员工工资详情,点击新增,则可以新增相应的员工工资信息,工资详情页面如图5-3所示。图5-3工资统计核心代码:5.4考勤管理模块这个模块的作用是查询和新增员工考勤数据的,并且以列表或者信息详情页展示出来的。该模块包含了三个展示信息窗口,分别是列表信息展示,新增信息展示和详细信息展示,后两者可以通过前者点击显示。改模块和职工管理模块的使用方法和逻辑大致相同,这里就不做一一赘述了,具体界面如图5-4所示。图5-4考勤信息核心代码:5.5系统设置该模块主要针对于系统超级管理员使用,一般管理员在登录后该模块是不出现的,超级管理员可以在该模块内添加管理员,设置管理员的权限与其他信息,也可以修改管理员的密码等,删除相应的管理员,数据字典如图5-5所示。图5-5数据字典核心代码:6系统测试6.1测试概念系统在完成后是不能直接使用,因为可能会存在较多较少的bug,系统是需要经过多次的测试加调试才能顺利运行。在开发完成后需要进行最重要的一个步骤,即软件测试,为什么要进行软件测试,因为刚完成的系统多多少少会存在各种问题,如果直接上线,势必会引发线上灾难。测试的作用就是尽可能的找出所有的错误,并且加以反馈,待错误修复后,再进行测试直至通过,最后留存档案。在每个阶段对系统进行技术审核,尽可能早的发现并解决错误。一般情况下,系统的调试分为单元调试(模块调试)与综合调试(整体调试)。系统调试是分为单元调试和综合调试的,综合调试是包含单元调试的,在进行完成单元后,才能进行综合。正常的系统测试就是按照这个步骤来进行的,而且互相关联,意思就是下一个步骤是按照前一个步骤的逻辑来继续的。并且测试组会将系统分成若干模块,每个模块又分成若干的功能。测试完所有功能,再继续测试所有单个模块,最后是测试整个系统。这也就是从单元调试到综合调试的步骤了,经过这样一个留存,可以一一排查出所有的错误,推进系统的进一步完善。6.2系统测试用例6.2.1管理员登录模块测试用例测试流程:(1)进入系统登录页面,输入错误的用户名或密码(2)登录(3)输入正确的登录信息(4)登录表6-1登录模块测试用例用例编号测试数据测试结果实际结果1用户名:null密码:111弹出错误提示,显示“请输入用户名”弹出错误提示,显示“请输入用户名”2用户名:admin密码:null弹出错误提示,显示“请输入密码”弹出错误提示,显示“请输入密码”3用户名:admin密码:1111111弹出提示“请输入正确的账户和密码”弹出提示“请输入正确的账户和密码”4用户名:1111111密码:123弹出提示“请输入正确的账户和密码”弹出提示“请输入正确的账户和密码”56用户名:admin密码:123成功登录后台成功登录后台成功登录后台成功登录后台 6.2.2员工信息模块测试用例测试流程:(1)打开员工资料界面,点击基本资料,输入员工的真实姓名(2)点击确认(3)查看返回的数据是否符合预期结果表6-2员工信息模块测试用例用例编号测试数据测试结果实际结果1陈静返回所有名字带有“陈静”的员工资料返回所有名字带有“陈静”的员工资料2Null返回所有的员工资料返回所有的员工资料6.2.3部门信息模块测试用例测试流程:(1)打开系统管理基础设施页面,选择部门管理,在某一个部门下面添加部门与删除该部门(2)点击提交(3)删除该部门(4)点击提交表6-3部门信息模块测试用例用例编号测试数据测试结果实际结果1上级部门:技术部部门名称:开发部弹出提示框,显示添加成功”弹出提示框,显示添加成功”2点击删除显示“删除成功”显示“删除成功”6.2.4职位信息模块测试用例测试流程:(1)在系统页面输入新职位名称(2)点击确定按钮表6-4职位信息模块测试用例用例编号测试数据测试结果实际结果1Null提示职位名称不能为空提示职位名称不能为空2助理提示添加成功提示添加成功6.2.5奖惩信息模块测试用例测试流程:(1)在系统页面输入奖惩(2)点击确定按钮表6-5奖惩信息模块测试用例用例编号测试数据测试结果实际结果1“1000001”“2020-12-04”“加班”“奖励”提示“添加成功”提示“添加成功”2Null提示必填信息提示必填信息6.2.6人事异动信息模块测试用例测试流程:(1)在人事管理的员工调动界面输入信息添加调动(2)点击确定按钮(3)不输入信息(4)点击确定按钮表6-6人事异动信息模块测试用例用例编号测试数据测试结果实际结果1“1000001”“技术部”“工程师”“2020-12-04”“无”“无”提示添加成功提示添加成功2Null提示字段不能为空提示字段不能为空7总结企业考勤管理系统是以SSM架为基础开发的,是一项系统工程。在技术方面设计到了Java开发语言,HTML等前端技术与数据库技术。在业务方面涉及到了管理观念,管理体制以及管理科学,加上一些公司的的日常管理制度。系统在开发中需要各个环节有效连接,才能将开发顺利地进行。本文研究的是一个轻量,便捷,效率高的企业考勤管理系统。在系统开发之初进行了很多调研,包括公司的日常业务加上现有的考勤管理系统的优点,最后集合开发出来的,经过调试与测试,该系统的各模块功能均能达到预期的效果。系统设计的前端方面,由于接触的

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论