第1章 绪论 1.1背景及意义 当今社会不断信息化,计算机性能也日趋完善,与我们日常生活和工作密切 相关。在许多领域计算机都得到了广泛的应用,比如常见的KTV的点歌系统,图书馆管理员对图书管理,超市或网吧的收费管理,航空、铁路的售票情况,全国人口户籍的管理等无一不是计算机应用的功劳。 没有现代化信息科技的发展,各行各业的考勤管理工作都是靠人工来完成的,这样不仅给企业的发展带来了许多的不便,甚至还可能成为他们的绊脚石,止步不前。而现在,这些都交给计算机来完成,不但降低了工作人员的工作量,提高了工作效率,而且也更加实用、安全可靠。计算机技术的发展,尤其是数据库技术的发展,为各行各业建立管理信息系统,对改变管理模式占有无可替代的地位。为了提高人事管理者的工作质量和工作效率,应当考虑开发一个更加高效、适用的公司员工考勤管理系统。 1.2 国内外研究概况 随着国内经济形势的不断发展,中国互联网进入了一个难得的高峰发展时期,这使得中外资本家纷纷转向互联网市场。然而,许多单位的不合理结构,人员不足以及管理需求的增加使得更多的人具备了互联网管理的意识。 在当今高度发达的信息中,信息管理改革已成为一种更加广泛和全面的趋势。在日益更新的信息时代,各类管理系统更是蓬勃发展。同时,随着信息社会的快速发展,各类管理系统面临着越来越多的信息,因此很难获得他们对高效信息的需求,如何使用方便快捷的方式使查询者在广阔的系统信息中查询,存储,管理和共享信息方面有效,对我们的学习,工作和生活具有重要的现实意义。因此,国内外学术界对此进行了深入而广泛的研究。公司员工考勤管理系统就是其中之一。该系统是基于Mysql数据库,在Java程序设计的基础上实现的。 1.3 研究的内容 目前许多人仍将传统的单机设备作为信息管理的主要工具,而网络技术的应用只是起到辅助作用。在对网络工具的认知程度上,较为传统的office软件等仍是人们使用的主要工具,而面向各个专门行业的管理系统的信息管理软件仍然缺乏群众基础。本系统从公司员工考勤管理的实际需要出发,以提高工作效率、节约时间为目标,设计开发了一个基于Springboot的公司员工考勤管理系统,公司员工考勤管理系统围绕系统管理员、员工用户两种角色,主要包括:系统用户(管理员,党员用户),模块管理(部门管理、员工考勤、员工请假、加班记录、出差安排、打卡签到、通知公告、员工工资)等功能模块。论文首先介绍了本系统的相关技术,并进行了需求分析,分别给出了系统Web服务器端和移动终端的概要设计、数据库设计和详细设计,实现完成的系统经测试上线,运行效果良好。 第2章 相关技术 2.1开发技术 本系统前端框架采用了比较流行的渐进式JavaScript框架Vue.js。使用Vue-Router和Vuex实现动态路由和全局状态管理,Ajax实现前后端通信,Element UI组件库使页面快速成型。后端部分:采用SpringBoot作为开发框架,同时集成MyBatis、Redis等相关技术。 2.2 Java简介 Java主要采用CORBA技术和安全模型,可以在互联网应用的数据保护。它还提供了对EJB(Enterprise JavaBeans)的全面支持,Java servlet API,JSP(Java server pages),和XML技术。Java语言是一种面向对象的语言,它通过提供最基本的方法来完成指定的任务,开发者只需要知道一些概念就能够编写出一些应用程序。Java程序相对较小,其代码能够在小机器上运行。Java是一种计算机编程语言,具有封装、继承和多态性三个主要特性,广泛应用于企业Web应用程序开发和移动应用程序开发。 Java语言和一般编译器以及直译的区别在于,Java首先将源代码转换为字节码,然后将其转换为JVM的可执行文件,JVM可以在各种不同的JVM上运行。因此,实现了它的跨平台特性。虽然这使得Java在早期非常缓慢,但是随着Java的开发,它已经得到了改进。 2.3 MVVM模式 MVVM是Model-View-ViewModel的简写。它本质上就是MVC 的改进版。MVVM 就是将其中的View 的状态和行为抽象化,让我们将视图 UI 和业务逻辑分开。当然这些事 ViewModel 已经帮我们做了,它可以取出 Model 的数据同时帮忙处理 View 中由于需要展示内容而涉及的业务逻辑。微软的WPF带来了新的技术体验,如Silverlight、音频、视频、3D、动画……,这导致了软件UI层更加细节化、可定制化。同时,在技术层面,WPF也带来了 诸如Binding、Dependency Property、Routed Events、Command、DataTemplate、ControlTemplate等新特性。MVVM(Model-View-ViewModel)框架的由来便是MVP(Model-View-Presenter)模式与WPF结合的应用方式时发展演变过来的一种新型架构框架。它立足于原有MVP框架并且把WPF的新特性糅合进去,以应对客户日益复杂的需求变化。 2.4 B/S结构 B/S(Browser/Server)比前身架构更为省事的架构。它借助Web server完成数据的传递交流。只需要下载浏览器作为客户端,那么工作就达到“瘦身”效果, 不需要考虑不停装软件的问题。 2.5 MySQL数据库 Mysql的语言是非结构化的,用户可以在数据上进行工作。MySQL因为其速度、可靠性和适应性而备受关注。大多数人都认为在不需要事务化处理的情况下,MySQL是管理内容最好的选择。并且因为Mysql的语言和结构比较简单,但是功能和存储信息量很强大,所以得到了普遍的应用。 Mysql数据库在编程过程中的作用是很广泛的,为用户进行数据查询带来了方便。Mysql数据库的应用因其灵活性强,功能强大,所以在实现某功能时只需要一小段代码,而不像其他程序需要编写大段代码。总体来说,Mysql数据库的语言相对要简洁很多。 数据流程分析主要就是数据存储的储藏室,它是在计算机上进行的,而不是现实中的储藏室。数据的存放是按固定格式,而不是无序的,其定义就是:长期有固定格式,可以共享的存储在计算机存储器上。数据库管理主要是数据存储、修改和增加以及数据表的建立。为了保证系统数据的正常运行,一些有能力的处理者可以进行管理而不需要专业的人来处理。数据表的建立,可以对数据表中的数据进行调整,数据的重新组合及重新构造,保证数据的安全性。介于数据库的功能强大等特点,本系统的开发主要应用了Mysql进行对数据的管理。 2.6 SpringBoot框架 Spring框架是Java平台上的一种开源应用框架,提供具有控制反转特性的容器。尽管Spring框架自身对编程模型没有限制,但其在Java应用中的频繁使用让它备受青睐,以至于后来让它作为EJB(EnterpriseJavaBeans)模型的补充,甚至是替补。Spring框架为开发提供了一系列的解决方案,比如利用控制反转的核心特性,并通过依赖注入实现控制反转来实现管理对象生命周期容器化,利用面向切面编程进行声明式的事务管理,整合多种持久化技术管理数据访问,提供大量优秀的Web框架方便开发等等。Spring框架具有控制反转(IOC)特性,IOC旨在方便项目维护和测试,它提供了一种通过Java的反射机制对Java对象进行统一的配置和管理的方法。Spring框架利用容器管理对象的生命周期,容器可以通过扫描XML文件或类上特定Java注解来配置对象,开发者可以通过依赖查找或依赖注入来获得对象。Spring框架具有面向切面编程(AOP)框架,SpringAOP框架基于代理模式,同时运行时可配置;AOP框架主要针对模块之间的交叉关注点进行模块化。Spring框架的AOP框架仅提供基本的AOP特性,虽无法与AspectJ框架相比,但通过与AspectJ的集成,也可以满足基本需求。Spring框架下的事务管理、远程访问等功能均可以通过使用SpringAOP技术实现。Spring的事务管理框架为Java平台带来了一种抽象机制,使本地和全局事务以及嵌套事务能够与保存点一起工作,并且几乎可以在Java平台的任何环境中工作。Spring集成多种事务模板,系统可以通过事务模板、XML或Java注解进行事务配置,并且事务框架集成了消息传递和缓存等功能。Spring的数据访问框架解决了开发人员在应用程序中使用数据库时遇到的常见困难。它不仅对Java:JDBC、iBATS/MyBATIs、Hibernate、Java数据对象(JDO)、ApacheOJB和ApacheCayne等所有流行的数据访问框架中提供支持,同时还可以与Spring的事务管理一起使用,为数据访问提供了灵活的抽象。Spring框架最初是没有打算构建一个自己的WebMVC框架,其开发人员在开发过程中认为现有的StrutsWeb框架的呈现层和请求处理层之间以及请求处理层和模型之间的分离不够,于是创建了SpringMVC。 第3章 系统分析 3.1 需求分析 公司员工考勤管理系统主要是为了方便用户查阅员工出勤资讯,线上完成员工考勤、员工请假、加班记录、出差安排、打卡签到、通知公告、员工工资,方便管理员管理员工出勤信息,统计员工出勤的情况,更好存储所有数据信息及快速方便的检索功能。对系统的各个模块是通过许多今天的发达系统做出合理的分析来确定考虑用户的可操作性,遵循开发的系统优化的原则,经过全面的调查和研究。 系统所要实现的功能分析,对于现在网络方便的管理,系统要实现用户可以直接在平台上进行查看所有数据信息,根据需求可以进行在线添加,删除或修改信息,这样既能节省时间,不用再像传统的方式耽误时间,真的很难去满足用户的各种需求。所以公司员工考勤管理系统的开发不仅仅是能满足用户的需求,还能提高管理员的工作效率,减少原有不必要的工作量。 3.2 系统可行性分析 3.2.1技术可行性 该系统在Windows操作系统中进行开发,并且目前PC机的性能已经可以胜任普通网站的web服务器。系统开发所使用的技术也都是自身所具有的,也是当下广泛应用的技术之一。 系统的开发环境和配置都是可以自行安装的,系统使用JSP开发工具,使用比较成熟的Mysql数据库进行对系统前台及后台的数据交互,根据技术语言对数据库,结合需求进行修改维护,可以使得网站运行更具有稳定性和安全性,从而完成实现网站的开发。 (1)硬件可行性分析 公司员工考勤管理系统及信息分析的设计对于所使用的计算机没有什么硬性的要求,计算机只要可以正常的使用进行代码的编写及页面设计就可行,主要是对于服务器有些要求,对于平台搭建完成要上传的服务器是有一定的要求的,服务器必须选择安全性比较高的,然后就是在打开网站必须顺畅,不能停顿太长时间;性价比高;安全性高。 (2)软件可行性分析 开发整个系统使用的是云计算,流量的可扩展性和基于流量的智能调整云计算的优点就是流量的可扩展性和基于流量的智能调整,保障系统的安全及数据信息的及时备份。 因此,我们从两个方面进行了可行性研究,可以看出系统的开发没有问题。 3.2.2经济可行性 在公司员工考勤管理系统开发之前所做的市场调研及相关的管理系统,都是没有任何费用的,都是通过开发者自己的努力,所有的工作的都是自己亲力亲为,在碰到自己比较难以解决的问题,大多是通过同学和指导老师的帮助进行相关信息的解决,所以对于公司员工考勤管理系统的开发在经济上是完全可行的,没有任何费用支出的。 使用比较成熟的技术,系统是基于JSP的开发,采用Mysql数据库。所以系统在开发人力、财力要求不高,具有经济可行性。 3.2.3操作可行性 可操作性主要是对公司员工考勤管理系统设计完成后,用户的使用体验度,以及管理员可以通过系统随时管理相关的数据信息,并且对于管理员、员工用户两个用户角色,都可以简单明了的进入到自己的系统界面,通过界面导航菜单可以简单明了地操作功能模块,方便用户信息的操作需求和管理员管理数据信息,对于系统的操作,不需要专业人员都可以直接进行功能模块的操作管理,所以在系统的可操作性是完全可以的。本系统的操作使用的也是界面窗口进行登录,所以操作人员只要会简单的电脑操作就完全可以的。 3.3 项目设计目标与原则 1、关于公司员工考勤管理系统的基本要求 (1)功能要求:首页、系统用户(管理员,党员用户),模块管理(部门管理、员工考勤、员工请假、加班记录、出差安排、打卡签到、通知公告、员工工资)等功能模块。 (2)性能:在不同操作系统上均能无差错实现在不同类型的用户登入相应界面后能不出差错、方便地进行预期操作。 (3)安全与保密要求:用户都必须通过身份验证才能进入系统,并且用户的权限也需要根据用户的类型进行限定。 (4)环境要求:支持多种平台,可在Windows系列、Vista系统等多种操作系统下使用。 2、开发目标 公司员工考勤管理系统的主要开发目标如下: (1)实现管理系统信息关系的系统化、规范化和自动化; (2)减少维护人员的工作量以及实现用户对信息的控制和管理。 (3)方便查询信息及管理信息等; (4)通过网络操作,改善处理问题的效率,提高操作人员利用率; (5)考虑到用户多样性特点,要求界面简单,操作简便。 3、设计原则 本系统采用Java技术,Mysql数据库开发,充分保证了系统稳定性、完整性。 公司员工考勤管理系统的设计与实现的设计思想如下: 操作简单方便、系统界面安全良、简单明了的页面布局、方便查询相关信息。 2、即时可见:对公司员工考勤管理系统信息的处理将可以实时查询到,从而实现“即时发布、即时见效”的系统功能。 3、功能的完善性:拥有首页,系统用户(管理员,党员用户),模块管理(部门管理、员工考勤、员工请假、加班记录、出差安排、打卡签到、通知公告、员工工资)等功能模块的修改维护操作。 3.4系统流程分析 3.4.1操作流程 系统登录流程图,如图所示: 图3-1登录流程图 3.4.2添加信息流程 添加信息流程图,如图所示: 图3-2添加信息流程图 3.4.3删除信息流程 删除信息流程图,如图所示: 图3-3删除信息流程图 第4章 系统设计 4.1 系统体系结构 本系统选择B/S结构(Browser/Server,浏览器/服务器结构)和基于Web服务两种模式。适合在互联网上进行操作,只要用户能连网,任何时间、任何地点都可以进行系统的操作使用。系统工作原理图如图4-1所示: 图4-1 系统工作原理图 4.2系统结构设计 整个系统是由多个功能模块组合而成的,要将所有的功能模块都一一列举出来,然后进行逐个的功能设计,使得每一个模块都有相对应的功能设计,然后进行系统整体的设计。 本系统结构图如图4-2所示。 图4-2 系统功能结构图 4.3开发流程设计 系统流程的分析是通过调查系统所涉及问题的识别、可行性、可操作性、系统分析处理能力等具体环节来调节、整理系统的设计方案以确保系统能达到理想的状态。这些操作都要从注册、登录处着眼进行一系列的流程测试保证数据库的完整,从而把控系统所涉及信息管理的安全、保证信息输入、输出正常转换。然后,通过实际操作完成流程图的绘制工作。 公司员工考勤管理系统的开发对管理模块和系统使用的数据库进行分析,编写代码,系统测试,如图4-4所示。 图4-4开发系统流程图 4.4 数据库设计原则 学习编程,我们都知道数据库设计是基于需要设计的系统功能,我们需要建立一个数据库关系模型,用于存储数据信息,这样当我们在程序中时,就没有必要为程序页面添加数据,从而提高系统的效率。数据库存储了很多信息,可以说是信息管理系统的核心和基础,数据库还提供了添加、删除、修改和检查,使系统能够快速找到自己想要的信息,而不是在程序代码中找到。数据库中信息表的每个部分根据一定的关系精确地组合,排列和组合成数据表。 通过公司员工考勤管理系统的功能进行规划分成几个实体信息,实体信息将通过ER图进行说明,本系统的主要实体图如下: 管理员信息属性图如图4-5所示。 图4-5 管理员信息实体属性图 系统的E-R图如下图所示: 图4-6系统E-R图 4.5 数据表 将数据库概念设计的E-R图转换为关系数据库。在关系数据库中,数据关系由数据表组成,但是表的结构表现在表的字段上。 access_token 字段名称 类型 长度 不是null 主键 字段说明 token_id int 11 是 是 临时访问牌ID token varchar 64 否 否 临时访问牌 info text 0 否 否 maxage int 2 是 否 最大寿命 create_time timestamp 0 是 否 创建时间 update_time timestamp 0 是 否 更新时间 user_id int 11 是 是 用户编号 auth 字段名称 类型 长度 不是null 主键 字段说明 auth_id int 11 是 是 授权ID user_group varchar 64 否 否 用户组 mod_name varchar 64 否 否 模块名 table_name varchar 64 否 否 表名 page_title varchar 255 否 否 页面标题 path varchar 255 否 否 路由路径 position varchar 32 否 否 位置 mode varchar 32 是 否 跳转方式 add tinyint 1 是 是 是否可增加 del tinyint 1 是 是 是否可删除 set tinyint 1 是 是 是否可修改 get tinyint 1 是 是 是否可查看 field_add varchar 500 否 否 添加字段 field_set varchar 500 否 否 修改字段 field_get varchar 500 否 否 查询字段 table_nav_name varchar 500 否 否 跨表导航名称 table_nav varchar 500 否 否 跨表导航 option text 0 否 否 配置 create_time timestamp 0 是 否 创建时间 update_time timestamp 0 是 否 更新时间 business_trip_arrangement 字段名称 类型 长度 不是null 主键 字段说明 business_trip_arrangement_id int 11 是 否 出差安排ID staff int 11 否 否 员工 days_of_business_trip int 11 否 否 出差天数 destination varchar 64 否 否 目的地 reasons_for_business_trip text 0 否 否 出差原因 travelers text 0 否 否 出差人员 scheduling text 0 否 否 行程安排 recommend int 11 是 否 智能推荐 create_time datetime 0 是 否 创建时间 update_time timestamp 0 是 否 更新时间 clock_in 字段名称 类型 长度 不是null 主键 字段说明 clock_in_id int 11 是 否 打卡签到ID staff int 11 否 否 员工 clocking_time datetime 0 否 否 打卡时间 photo varchar 255 否 否 照片 clock_type varchar 64 否 否 打卡类型 employee_name varchar 64 否 否 员工姓名 department_name varchar 64 否 否 部门名称 recommend int 11 是 否 智能推荐 create_time datetime 0 是 否 创建时间 update_time timestamp 0 是 否 更新时间 department_management 字段名称 类型 长度 不是null 主键 字段说明 department_management_id int 11 是 否 部门管理ID department_name varchar 64 否 否 部门名称 number_of_departments varchar 64 否 否 部门人数 person_in_charge varchar 64 否 否 负责人 contact_number varchar 64 否 否 联系电话 recommend int 11 是 否 智能推荐 create_time datetime 0 是 否 创建时间 update_time timestamp 0 是 否 更新时间 employee_attendance 字段名称 类型 长度 不是null 主键 字段说明 employee_attendance_id int 11 是 否 员工考勤ID staff int 11 否 否 员工 employee_name varchar 64 否 否 员工姓名 department_name varchar 64 否 否 部门名称 post varchar 64 否 否 职务 branch_office varchar 64 否 否 分公司 attendance_time datetime 0 否 否 考勤时间 attendance_status varchar 64 否 否 考勤状态 recommend int 11 是 否 智能推荐 create_time datetime 0 是 否 创建时间 update_time timestamp 0 是 否 更新时间 employee_salary 字段名称 类型 长度 不是null 主键 字段说明 employee_salary_id int 11 是 否 员工工资ID staff int 11 否 否 员工 salary_month varchar 64 否 否 发薪月份 base_pay int 11 否 否 基本工资 overtime_allowance int 11 否 否 加班补贴 bonus int 11 否 否 奖金 attendance_deduction int 11 否 否 考勤扣款 five_insurances_and_one_fund int 11 否 否 五险一金 net_salary varchar 64 否 否 实发工资 recommend int 11 是 否 智能推荐 create_time datetime 0 是 否 创建时间 update_time timestamp 0 是 否 更新时间 employee_user 字段名称 类型 长度 不是null 主键 字段说明 employee_user_id int 11 是 否 员工用户ID job_no varchar 64 否 否 工号 employee_name varchar 64 否 否 员工姓名 employee_gender varchar 64 否 否 员工性别 department_name varchar 64 否 否 部门名称 post varchar 64 否 否 职务 examine_state varchar 16 是 否 审核状态 recommend int 11 是 否 智能推荐 user_id int 11 是 否 用户ID create_time datetime 0 是 否 创建时间 update_time timestamp 0 是 否 更新时间 employees_ask_for_leave 字段名称 类型 长度 不是null 主键 字段说明 employees_ask_for_leave_id int 11 是 否 员工请假ID staff int 11 否 否 员工 employee_name varchar 64 否 否 员工姓名 leave_type varchar 64 否 否 请假类型 start_time datetime 0 否 否 开始时间 end_time datetime 0 否 否 结束时间 reason_for_leave text 0 否 否 请假原因 examine_state varchar 16 是 否 审核状态 examine_reply varchar 16 否 否 审核回复 recommend int 11 是 否 智能推荐 create_time datetime 0 是 否 创建时间 update_time timestamp 0 是 否 更新时间 hits 字段名称 类型 长度 不是null 主键 字段说明 hits_id int 10 是 是 点赞ID user_id int 11 是 是 点赞人 create_time timestamp 0 是 否 创建时间 update_time timestamp 0 是 否 更新时间 source_table varchar 255 否 否 来源表 source_field varchar 255 否 否 来源字段 source_id int 10 是 是 来源ID notice_announcement 字段名称 类型 长度 不是null 主键 字段说明 notice_announcement_id int 11 是 否 通知公告ID title varchar 64 否 否 标题 publisher varchar 64 否 否 发布人 published_on date 0 否 否 发布时间 relevant_attachments varchar 255 否 否 相关附件 content text 0 否 否 内容 recommend int 11 是 否 智能推荐 create_time datetime 0 是 否 创建时间 update_time timestamp 0 是 否 更新时间 overtime_record 字段名称 类型 长度 不是null 主键 字段说明 overtime_record_id int 11 是 否 加班记录ID staff int 11 否 否 员工 department varchar 64 否 否 部门 post varchar 64 否 否 职务 date date 0 否 否 日期 overtime_duration varchar 64 否 否 加班时长 reasons_for_overtime text 0 否 否 加班原因 recommend int 11 是 否 智能推荐 create_time datetime 0 是 否 创建时间 update_time timestamp 0 是 否 更新时间 upload 字段名称 类型 长度 不是null 主键 字段说明 upload_id int 11 是 否 上传ID name varchar 64 否 否 文件名 path varchar 255 否 否 访问路径 file varchar 255 否 否 文件路径 display varchar 255 否 否 显示顺序 father_id int 11 否 否 父级ID dir varchar 255 否 否 文件夹 type varchar 32 否 否 文件类型 user 字段名称 类型 长度 不是null 主键 字段说明 user_id mediumint 8 是 是 用户ID state smallint 1 是 是 账户状态 user_group varchar 32 否 否 所在用户组 login_time timestamp 0 是 否 上次登录时间 phone varchar 11 否 否 手机号码 phone_state smallint 1 是 是 手机认证 username varchar 16 是 否 用户名 nickname varchar 16 否 否 昵称 password varchar 64 是 否 密码 email varchar 64 否 否 邮箱 email_state smallint 1 是 是 邮箱认证 avatar varchar 255 否 否 头像地址 create_time timestamp 0 是 否 创建时间 user_group 字段名称 类型 长度 不是null 主键 字段说明 group_id mediumint 8 是 是 用户组ID display smallint 4 是 是 显示顺序 name varchar 16 是 否 名称 description varchar 255 否 否 描述 source_table varchar 255 否 否 来源表 source_field varchar 255 否 否 来源字段 source_id int 10 是 是 来源ID register smallint 1 否 是 注册位置 create_time timestamp 0 是 否 创建时间 update_time timestamp 0 是 否 更新时间 第5章 系统详细设计 5.1管理员功能模块 管理员登录公司员工考勤管理系统,在登录页面输入用户名、密码、图片验证等进行登录,如图5-1所示。 图5-1管理员登录界面图 管理员进入系统后台可以查看:后台首页,系统用户(管理员,党员用户),模块管理(部门管理、员工考勤、员工请假、加班记录、出差安排、打卡签到、通知公告、员工工资)等功能,还可进行相应的操作,如图5-2所示。 图5-2管理员功能界面图 员工用户,在此页面可以查看用户信息:员工姓名,部门名称、昵称、工号等相关信息,还可在该页面对用户进行重置、添加和删除等操作,员工用户注册后需管理员审核通过方可登录。如图5-3,5-4所示。 图5-3系统用户管理界面图 图5-4用户注册审核界面图 部门管理:可以查看部门管理的部门名称、部门人数、负责人、联系电话等详细信息。可以进行查询、重置、删除、添加等操作,如图5-5所示。 图5-5部门管理界面图 员工考勤:可以查看员工编号、员工姓名、部门名称、职务、分公司、考勤时间、考勤状态等详细信息。可以进行查询、重置、删除、添加等操作,如图5-6所示。 图5-6员工考勤界面图 员工请假:可以查看员工姓名、请假类型、请假原因、开始时间、结束时间、审核状态等详细信息。可以进行查询、重置、删除、添加等操作,如图5-7所示。 图5-7员工请假界面图 加班记录:可以查看员工姓名、部门、职务、日期、加班时长、加班原因等详细信息。可以进行查询、重置、删除、添加等操作,对入党申请进行审核并在系统用户中维护身份。如图5-8所示。 图5-8加班记录界面图 5.2员工用户功能模块 员工用户登录公司员工考勤管理系统,在登录页面输入用户名、密码、图片验证等进行登录,如图5-9所示。 图5-9员工用户登录界面图 进入系统可以查看:后台首页,员工考勤、员工请假、加班记录、出差安排、打卡签到、通知公告、员工工资等功能,还可进行相应的操作,如图5-10所示。 图5-10员工用户功能界面图 员工请假,在该页面可以通过输入请假类型、请假原因、开始时间、结束时间、审核状态、审核回复等详细信息提交请假申请,如图5-11所示。 图5-11员工请假界面图 打卡签到,在该页面可以通过输入打卡时间、打卡类型、照片、员工姓名、部门名称、当前位置等详细信息提交打卡签到,如图5-12所示。 图5-12打卡签到界面图 员工工资,在该页面可以通过发薪月份即可查看基本工资、加班补贴、奖金、考勤捐款、五险一金等详细信息,如图5-13所示。 图5-1员工工资界面图 第6章 系统测试 6.1系统测试的目的 程序设计不能保证没有错误,这是一个开发过程,在错误或错误的过程中都是难以避免的。虽然这是不可避免的,但我们不能使这些错误始终存在于系统中,错误可能会造成无法估量的后果,如系统崩溃,安全信息泄露,系统无法正常启动等,为了避免这些问题,我们需要测试程序,再测试过程中发现问题,并纠正它们,从而使系统更长时间稳定成熟。本章的作用是发现这些问题,并对其进行修改,虽然耗时费力,但对于长期使用而言是非常重要和必要系统的开发。 软件在设计后必须进行测试,调试过程中使用的方法是软件测试方法。在开发新软件时,系统测试是检查软件是否合格的关键步骤,以及是否符合设计目标的参考。测试主要是查看软件中数据的准确性,正确的操作与否,以及操作的结果,还有哪些方面需要改进。 公司员工考勤管理系统的实现,对于系统中功能模块的实现及操作都必须通过测试进行来评判系统是否可以准确的实现。在公司员工考勤管理系统正式上传使用之前必须做的一步就是系统测试,对于测试发现的错误及时修改处理,保证系统准确无误的供给用户使用。 6.2系统测试方法 在对公司员工考勤管理系统进行测试的时候在找到问题的情况下必须在第一时间找到解决问题的办法,不要存在侥幸的心理,这样才能让公司员工考勤管理系统开发的质量可以过关,并且开发的周期会大大缩短,还有就是在测试时,不要出现重复性的错误,遇到一个错误问题,要将整个公司员工考勤管理系统开发所牵扯的该问题都必须一一解决,提高公司员工考勤管理系统平台的安全性、稳定性。 白盒测试与黑盒测试是测试中比较常用的两种方法。 ①结构测试俗称白盒测试:这种测试是在对程序的处理过程与结构都有详尽谅解的前提下,顺从程序内部的逻辑而完成的系统测试,以确定系统中所有的通路都能够遵照设计要求正常工作,不出现任何偏差。 ②功能测试又成黑盒测试:主要是针对程序功能能够按照设计正常实现的一种检测,在程序接口处进行,检测程序手法数据是否正常,与外部信息的交换是否完整。 6.3功能测试 用户登录测试: 模块名称 测试用例 预期结果 实际结果 是否通过 登录模块 用户名:admin 密码:123 弹出错误提示,提示密码错误 弹出错误提示,提示密码错误 通过 登录模块 用户名:123 密码:admin 弹出错误提示,提示用户名错误 弹出错误提示,提示用户名错误 通过 登录模块 用户名:admin 密码:admin 管理员登录成功 管理员登录成功 通过 修改密码测试: 模块名称 测试用例 预期结果 实际结果 是否通过 修改密码模块 原密码:666 新密码:123 确认密码:123 弹出错误提示,提示原密码错误 弹出错误提示,提示原密码错误 通过 修改密码模块 原密码:admin 新密码:123 确认密码:333 弹出错误提示,提示确认密码不一致 弹出错误提示,提示确认密码不一致 通过 修改密码模块 原密码:admin 新密码:123 确认密码:123 密码修改成功 密码修改成功 通过 通过对功能的测试,公司员工考勤管理系统的基本功能都是可行的,不管是系统里面的功能,还是界面的设计都是可值得推广宣传的。 结 论 此时项目已经完成,即使实施的时间不是很长,但是这个过程中需要准备很长的一段时间去对系统设计开发所相关技术进行学习。在学习的过程中,我逐渐认识得到了我自身存在的一些不足。对于一些控制是必要的应用技能,能够理解,整个过程中仅仅是一个掌握了常用的性能和控制方法,我觉得挺容易的。从该系统中,系统的分析和设计的调查数据,并且已经经历了几个月,并努力几个月,该系统已经完成。很显然,该系统仍有很多不成熟的地方,在系统设计过程中有许多技术缺陷存在。在设计的过程中也涉及到了很多自己无法解决的问题,主要通过咨询老师解决这些问题,对于毕业设计的圆满完成,需要感谢老师们的指导。系统的开发环境和配置都是可以自行安装的,系统使用Java开发工具,使用比较成熟的Mysql数据库进行对系统前台及后台的数据交互,根据技术语言对数据库,结合需求进行修改维护,可以使得系统运行更具有稳定性和安全性,从而完成实现系统的开发。 回顾毕业设计的整个过程,既付出汗水也收获了很多。虽然经历了各种各样的困难,自己的不断研究探索,系统的实现仍有不足之处。 在以后的学习及工作中,我仍然继续学习计算机方面的技术,让我在后期的平台开发中可以更好更快的实现需求功能。我相信我可以让更多的好工作,做出更大的贡献。 致 谢 公司员工考勤管理系统的完成,如何实现的更好,其中付出的努力是很大的,这段时光将会终身难忘。 首先要感谢我的指导老师,谢谢您在设计和论文中给我的指导。在您的细心指导下我才能快速的掌握系统的相关功能,在您的大力帮助下我才能将课本上的知识与自己的项目结合,真正的做到学以致用。感谢您经常牺牲自己的休息时间,利用其丰富的教学和项目经验对我进行指导。 感谢所有教过我的老师,为我倾注了大量的心血,正是你们的谆谆教诲、严谨教学才使我能顺利的完成学业,再此向你们表示深深的感谢。 感谢我的同学们,对我的大力支持及帮助,正是你们不断的帮助、鼓励,给我带来了极大的动力,最终系统可以顺利的运行。我们在交流、谈论的这段时间,将是我未来的财富,我要深深地感谢你们! 毕业在即,在今后的工作和生活中,我会铭记师长们的教诲、同学们的帮助,继续不懈努力和追求,来报答所有支持和帮助过我的人!