基于Java的考勤查询系统

获取项目源文件,技术交流与指导联系Q:1225467431

 

随着计算机科学与技术的发展,人们开始使用计算机来解决生活中的实际问题。企业管理也更加信息化。员工考勤信息管理是企业信息化管理的重要组成部分。在面对大量的企业,利用人力解决员工考勤会浪费大量的时间,利用考勤系统解决了人力和物力的浪费,并且数据的准确性更高。因此,开发一个美观、实用的考勤管理系统有很大的意义。

本文设计并实现了一个基于Java的考勤查询系统,该系统实现了员工考勤查询功能,由个人考勤、修改密码、全部考勤、组织结构、考勤概况、权限管理等模块组成,具有快捷方便、页面美观、实用性强等特点。本设计是一个集中的数据库将相关数据统一管理起来,把所有信息都集成到了一起。将数据运用不同的模块展示出来。模块间关联比较少不但易于维护,而且美观的用户界面,强大的报表工具,信息的共享使得企业考勤管理人员挣脱沉重的日常任务,考勤查询系统从业务规划和考核政策的战略点出发,使考勤更加便捷。

本系统采用JavaJSCssJquery等语言,采用了B/S模式,运用模块化开发,实现了一个基于网页的考勤查询平台,使考勤各个模块更加清晰,容易操作。

关键词 模块化开发;数据库;考勤查询

Attendance Inquiry System Based on Java

Abstract

With the development of computer science and technology, people begin to use computer to solve real problems in life. Enterprise management information technology. Staff attendance information management is an important part of enterprise information management. In the face of a large number of enterprises, the use of human settlement of staff attendance will waste a lot of time, the use of time and attendance system to solve the waste of human and material resources, and the higher the accuracy of the data. Therefore, the development of a beautiful, practical attendance management system has great significance.

This paper designs and implements a query system based on Java attendance, the system realizes the employee attendance query function, by personal attendance, modify the password, all attendance, organizational structure, attendance situation, permissions, etc. modules, with fast and convenient, page appearance, strong practicability and the like characteristics. This design is a centralized database to unify the relevant data to form a source code for information integration. Display data from different modules. Modules associated with less is not only easy to maintenance and user friendly interface, powerful reporting tool, analysis tools and information sharing, so that enterprises attendance management staff to break free from the heavy day-to-day tasks and checking attendance system from the point of strategic business planning and appraisal policy of make the attendance more convenient.

The system uses Java, JS, CSS and jQuery language, uses the B / S model, using modular development, the realization of the one based on the attendance of the web query platform, make the attendance of each module is more clear, easy to operate. 

Keywords Modular development, database, attendance inquiry

 

摘要 1

Abstract 2

 

1章 绪论 1

1.1 课题应用背景 1

1.2 现有产品和存在问题 1

1.3 可行性及现实意义 2

2章 开发技术介绍 4

2.1 开发技术介绍 4

2.2 B/S模式及其优势 4

2.3 Web应用程序开发环境—JSP技术 5

2.4 Java语言 6

2.5 SQL server 2000 6

2.6 数据访问接口 7

3章 需求分析 9

3.1 问题分析 9

3.2 方案选择 9

3.3 功能需求 9

3.4 运行环境 10

4章 考勤查询系统详细设计 12

4.1 系统介绍 12

4.2 系统设计 12

4.2.1 系统功能 12

4.2.2 模块划分 13

4.3 数据库设计 14

4.3.1 数据库的逻辑设计 14

4.3.2 数据库的物理结构设计 22

4.4 系统流程图 25

5章 考勤查询系统的实现及测试 27

5.1 功能模块设计 27

5.2 修改密码模块 27

5.3 个人考勤 28

5.4 组织结构 30

5.5 全部考勤 31

5.6 考勤概况 33

5.7 员工表 33

5.8 审核 34

5.9 权限 34

5.10 假日 36

5.11 系统测试 37

5.11.1 兼容性测试 37

5.11.2 极端情况测试 37

5.11.3 表单验证测试 38

结论 39

致谢 40

参考文献 41

附录 43

 

第1章 绪论

1.1 课题应用背景

随着信息技术的发展,所有的公司规模的不断扩大,人员考勤查询系统变得越来越复杂,考勤,时间短,而且工作量大,在企业的考勤管理,起着非常重要的作用。由于员工考勤管理包含出勤率,个人奋斗值和员工态度相干的事件,一个考勤系统的好坏,间接影响到员工完成任务主动性的发挥,因此影响企业的经济效益。

随着经济的发展,公司中员工数量也变得越来越多。以往使用的考勤系统。如手工考勤已越来越不适应时代的开展,计算机人事考勤管理已成为迫切需要。

经过详细调查,目前,许多员工考勤仍在手工操持的基础上,这种管理方法是增加人力和物力资源,随着科学技术的不断发展,传统的手工管理方式将是以计算机为基本的信息管理方法来替代。运用计算机管理不但能减少操作难度,缩小错误和提高效率。因而,开发一种能为公司提供大量的信息和迅捷的查询技巧考勤管理是非常需要的。

本设计是从北京豆互动有限公司,在实际需求的基础上,对公司的手工考勤管理,通过严格的制度,对公司的设计和实用的前提下开发了一个智能考勤系统检查卡系统。

1.2 现有产品和存在问题  

目前市场上,有很多的考勤系统的存在,根据我们的调查分析,目前的情况是非常混乱的,不均匀。一些大型公司,一个好的智能考勤系统;和一些公司的考勤系统不强的智能,即使有设备,随意性较强。

当前市场上还在使用的考勤管理系统可分为以下四类:

手工管理系统都是依靠人工管理,每天工作人员都要签名考勤,该管理系统是最初的考勤方法,已基本消除了所有的公司,但一些中小型单位仍然还在使用。

指纹考勤管理系统,安全性更高的公司有更多的应用。在员工考勤系统,这是一个相对较新的产品。指纹考勤管理系统是唯一通过指纹身份认证。硬件是智能机考勤机作为前端,计算机数据库作为后台信息管理,员工指纹第一采样和存储。通过指纹考勤,指纹库的人员比较。确认后,保存员工缺勤,日期,后台管理系统进行验证操作。指纹考勤系统的缺陷:指纹考勤机使用,理论上是可行的,以防止欺诈现象。但在实际应用中,有一部分人员指纹不清,会出现错误的现象,与温度,湿度也更严格的要求,适应性差。  

纸卡考勤系统。纸卡考勤考勤系统是半自动的。的优点是,钱少,但所需的计算是男人。卡片机的原理是通过刷卡机,员工在打卡机播放时间使用他们的卡,在高峰期间记录。数据卡是一种消费品,存在着一个问题:现在这个系统欺诈现象尤为严重,并且需要有人照顾。但底部的投资成本。纸卡片机是早期的考勤方法,尤其浪费人力,并没有实际意义的实现信息化,必然面临淘汰的产品,但它仍然是公司的一部分。

智能卡考勤系统,智能卡考勤系统是磁卡机与电脑连接的使用,它是上下班考勤信息。有一个很好的管理功能,该卡信息的直接管理,如统计,打印,修改等。它实现的工作原理是:通过员工,每个人都有一个计算机可以识别的字符串,这是我唯一的字符串。计算机通过字符串作为员工的唯一记录。虽然该机具有便携卡考勤系统的管理能力,但欺诈现象非常普遍。智能卡是数字考勤,但仍有不足之处需要改进。智能卡,考勤系统,适用于大中型企业,有更大的管理功能。

1.3 可行性及现实意义 

通过调查,其他考勤系统、智能卡考勤系统,目前市场上存在的不足。考勤卡系统仍然在使用中被淘汰;指纹考勤系统的技术和硬件设备和增加空间。智能卡考勤系统是最完善的考勤设备。智能卡考勤系统具有成熟的市场和先进技术!在风险的发展,短的开发时间和开发成本,适用性强,这是卡,指纹考勤系统不能做,研发具有很强的实用性。

与其他考勤系统比较具有3个优点:  

1.适应范围广。智能卡考勤系统不受温度,湿度的控制,光照等环境条件;此外,Delphi数据库开发技术,在网络支持,不受时间和空间的限制。

2.管理功能更强大。delphi开发的考勤管理系统是非常强大的,可维护性也很强。降低前负荷和操作难度。

3.成本低。因为该系统操作方便,软件开发资金和维护成本比较大。硬件上采用射频卡:卡片机相对便宜,每张卡片6-8百万。本课题是考勤系统的设计为题,在公司,开始开发想干的应用,处理了传统考勤的缺点。  

企业考勤管理系统是解决员工考勤管理,为了创造一个可以实现企业考勤管理系统的智能化管理,提高考勤效率,员工可以在不同的位置,在反馈的工作状态,系统需要的人越来越少,效率高。

企业考勤管理系统是一个企业不可缺少的,它的实现是非常重要的管理的企业,因尔,考勤查询系统能够为用户提供全部员工考勤信息和查询手段,从始至终人们使用传统的人工考勤,这种管理方式存在着许多缺陷,如效率低,安全差等,而不是时钟,但将产生巨量的文件和数据,寻找和维护都带来了很多的困难。

随着科学技术的不断进步,计算机技术的不断发展,其强大的功能已被所有的深刻理解,人类社会的各个领域已经离不开它。作为计算机应用的一部分,使用计算机管理企业考勤系统,和手工管理比较优点突出,它是简单和快速,查找方便,保密性好,容量大,寿命长,成本低,可靠性高,可减少大量的人力和物力,从而可以大大提高企业考勤管理的效率,也是企业的考勤管理科学,规范,快速,与世界接轨的必要条件。因此,一个企业的考勤管理系统的发展是十分必要的,具有特殊的意义。

第2章 开发技术介绍

2.1 开发技术介绍

本考勤查询系统采用B/S开发模式,开发工具选择JAVAJSP、 AjaxJavaScriptHtmlCss语言,采用Tomcat服务器技术,后台数据库选用SQL Server

2.2 B/S模式及其优势

1C/S模式

以前,所有的软件开发都应用C/SClient / Server)形式,在这种情况下,全部的任务都集中于员工端完成,使用Client / Server(员工端/服务器)模式的考勤系统,重点在于硬件,每台计算机(员工端)通过硬件设施就能与服务器端互相连接。利用计算机网络连接,不再人力花费大量时间去收集考勤信息集,计算机智能快捷和效率较高。但由于其结构特性,只适用与昂那个与服务器硬件连接,不能在网上直接完成工作,能够通过改变连接方式,对该架构进行改正,使它能在各种情况下被使用,但是由于需要许多硬件设施保证,用起来也不是特别方便[1]

2B/S模式

B/SBrowser / Server)结构就是浏览器和服务器结构。它是伴随网页端技术的兴起,对C/S模式的一种完善或者说是更先进的模式。在这种结构下,用户完全可以通过访问网页的方式来实现,在前端(Browser)不需要进行繁琐的配置和逻辑就能实现,但是最核心的技术还是要在服务器端(Server)实现,从而形成三层架构。三层架构是由三部分组成,分别是工作的网站或接口、事务逻辑、数据库和与其相关的程序设计。这三部分储存在服务器的位置也会不同。三层架构应用中,提供网页的用户界面(GUI)的程序设计和具体的应用如登录入口或交互时所用的接口是应用程序的用户工作站必不可少的[16]

事务逻辑在局域网服务器或其他共享主机上运行,它作为网站所发出员工请求的服务器,它是作为员工登录,设定好访问哪种类型数据以及数据存储在数据库中的位置。第三层里面有数据库力的数据还有请求数据库对数据增、删、改和访问数据库的程序。但是页面设计可以比这个架构要简单,关于本模式来说,以上运用的方法比起C/S模式要简单许多[2]

本系统设计利用员工/服务器(B/S)模式,所有模块能够一起开发,而且员工还可以用不同的编程语言来开发。因为每个模块怎么开发都不会影响其他模块得开发,所以B/S模型对于开发软件是很方便的。这样就很大程度简化了员工编写代码的复杂度,减少了系统维护与添加其他模块的成本和工作量,公司的总成本也大大的降低了。根据公司要求本系统通过B /S模式下的数据库与网页链接的应用,更容易编写、成本也得到降低的。它是系统性的开发,能实现及时员工不在公司,也能通过网页查询自己的考勤信息;而且它能使访问数据平台变得更安全和设定本公司自己的管理机制和权限功能,数据库不存在安全问题。特别是本系统选择在Java的语言上编写,B/S架构在本系统更是显现出它快捷、方便、高效的优点。

这种B/S模式考勤查询系统不需要繁琐的硬件安装只要你的电脑有普通的Web浏览器就可以,其它编程代码,后台服务器等都在远端服务器上。使用B/S模式的考勤查询系统,在远程服务器端就能对数据库进行管理,员工只需要通过浏览器登录,就能查询考勤。打破了时间空间的界限,能够自动考勤程序,而且考勤结果更加准确、客观。

2.3 Web应用程序开发环境—JSP技术 

基于电子商务的迅速变化,在人们的生活和工作方式,但保险业也面临着巨大的冲击,保证电子商务与互联网密不可分,并构建了一个应用程序需要的技术和工具。本文讨论了技术发展的互联网+程序的介绍[3]

动态web技术的发展

从提供静态的网页信息服务系统逐渐发展成为可以用来购买的商品和应用,能够做成今天这个样子全是由于动态技术的不断发展所导致的。动态应用技术从此以后变成了主流。动态Web技术刚开始就是CGI技术,它在Web网页端运行就是从后台获取数据然后生成动态信息。然而, CGI编程是比较复复杂的,然后开始前台接收数据请求,导致系统承载大量的信息资源,运行效率也变低[4]

动态Web技术不断地发展,后来逐渐演变成两个,一个是Web服务器插件供应商提供和API。这种两种方式都有缺点。只为你自己的Web服务器不同的供应商的产品[5]。例如,虽然微软ASP是实现动态网页很容易,但它只能运行在IIS Web服务器的个人和微软。换句话说,如果ASP技术,你必须选择微软产品,也不可能适用于其他Linux操作系统的服务器,如Tomcat Web。另一种方法是采用Java技术,Java servelcts编写服务器端应用程序[7]。如CGI体验编码相同,编制一系列的过程,从而其开发起来难度变大,效率也变低[13]

JSP是经过前面的洗礼和总结才生成的动态网页技术。它有自己开放的、免费的、开源的技术规范,而且他是Java2的重要组成部分。JSP可以与以前的Web技术共同使用创建动态网页,改变了以前的不足,其特点是高效率和高效益。和ASP相比较JSP技术有以下五个优点:

1.编程语言的不同。用JSP ASP VB脚本,由于Java的平台独立性,JSP网页可以跨平台访问数据。

 2.组件技术是不同的。JSP使用java can组件技术,而ASP使用的ActiveX组件技术。

 3.速度和稳定性更好。由于JSP页面编译成services首次被调用,调用尽快处决。因此,尽管ASP网页使用高速缓存技术仍然JSP网页速度更快、稳定性更好。

4.具有可扩展标记功能。JSP页面的功能可扩展标记的功能,使开发人员能够创建定制的标记。

5.选择的自由度是不同的。Web页只能运行在IIS微软和Web服务器的个人,而JSP服务器没有限制在一个特定的J K服务器或操作系统[8]

2.4 Java语言

Java语言可以开发任何程序。它其实就是一个非常基本的和实用性又很强的技术,它广泛的在网络和业务上被使用。它对开发软件整体影响可以用印刷业对于文明发展的影响相比。Java在编程开发产生巨大的推动力量。

运用Java,你可以你可以方便自如的使用各种软件,因为Java不是基于平台的,他还能给你企业带来活力,用Java编写的软件没有局限性,不关你事用手机还是电脑都能使用[9]

Java是全世界都比较流行的语言之一,在世界每个角落你都能找到运用它编写的程序。从它语言的能力上看,所有的应用程序,想要提高系统高性能,提高产品的安全,使系统更加简化,节约开发人力、物力、财力你都应该选择这门语言。

Java无处不在。它的用户随处可见,它发展的素度也是其他语言无法比拟的。它可以在任何地方,任何时间使用。Java迅速的被使用这是一个事实,用它来传播信息喜闻乐见,它既能给开发者带来收益,也能给用户带来良好的体验。

2.5 SQL server 2000

SQL Server2000是由微软公司开发的,微软被称为SQL服务器是因为阿门之间有一系列的合作,它是可以满足一切前台需求的组件,他是为数不多数据库中最大的网站和企业数据存储系统的选择。

Microsoft SQL Server 2000 的特性包括:

Internet 集成

SQL Server 2000数据库提供了所有程序所需要的支持。它还具有可扩展性,可用性,还有所有Web站点的数据存储组件中它是最安全的。SQL Server 2000程序设计模型是基于Windows集成而设计的,开发Web应用程序是离不开SQL Server 2000的,支持数据库查询和智能搜索服务功能,在Web应用开发过程中包含了友好的查询、删除、修改和强大的访问功能。

可扩展性

SQL Server 2000数据库可以在不同的平台被使用,从运行微软的Windows 97笔记本电脑到运行微软的Windows 2000系统数据中心版的大型多处理器服务器。SQL Server2000企业版全部支持任何联合服务器,对于索引视图和比较大的诗句都支持,所以 Web网站性能所需的他全部都能够满足。 

企业级数据库功能

SQL Server 2000数据库支持现在数据库所要求的标准功能。数据库能够保护数据完整不受侵犯,而且解决了多个数据同时访问时数据库崩溃而且还给用户降低了成本。SQL Server 2000的查询功能,可以查询数据库中不同模块的数据。如果一部分数据数据丢失,SQL Server 2000数据库有自己的备份,便于重新组建数据库。还可以通过复制创建多个版本的数据库,同时保持数据同步的单独副本。数据可以在多个工作环境下被使用,主需要对他们重新发布服务器。

易于安装、部署和使用

SQL Server 2000包括许多的开发工具,可以在安装过程中,设置,部署,管理和使用SQL服务器上的多个接口。SQL Server 2000还支持Windows DNA整合规划模型,利用SQL Server数据库能产生强大的伸缩系统无缝的衔接起来。以上功能能使你快速的熟悉使用SQL Server数据库,只需要简单的安装和使用不但能减少开销而且能够轻易地完成你所需要的功能[10] 

数据库

SQL Server 2000包括联机分析处理汇总数据的提取和分析(OLAP)工具。SQL Server还包括一些其他常用的工具,可以直观地,便捷的,轻而易举的设计出你想要的数据库,而且还可以通过英文查询数据库对数据库进行分析[11]

2.6 数据访问接口

该系统采用Ajax访问数据库,通过Java代码封装Server语句来连接数据库,自定义访问每个数据库的接口。本系统页面的所有请求都是通过封装好的Jquery Ajax向后台Java发送请求,并且每条请求都有相应的在数据库中查找所需要的字段。后台通过接口名判断字段,然后运用已经封装好的Server语句向数据库发送请求,请求分为增、删、改和提取数据,然后再把数据通过Ajax返回到前台页面[12]

第3章 需求分析

3.1 问题分析

企业考勤管理系统是一个企业不可缺少的,它的实现是非常重要的对于企业的管理,因而,考勤查询系统能够为用户展示考勤信息和快捷的查询手段,公司结构管理, 企业一直使用人工考勤,这种考勤方式存在着严重缺陷,如效率低,差安全等,而且将产生大量的考勤信息文件,寻找和统计都给统计者带来了很大的难度。因此,开发一个企业考勤查询系统,具有特殊的意义[11]

企业考勤管理系统采用B/S模式,三层结构的设计。参与动态网页编写(熟悉HTMLCSSJavaScriptAjax),编程(ASPJavaJSP等语言),数据库(SQL ServerMySQL的应用程序使用,SQL语言,调谐),数据库设计和软件测试,用户界面设计,,文档(软件开发计划,用户设计内容形式的话)等方面的知识;和团队组织,项目管理,文档编写,所有的测试[15]

3.2 方案选择

本系统采用B/S模式, SQL Server 2000作为后台数据库,JavaJavaScriptHTMLCSSJquery作为开发工具,使用Tomcat服务器技术,完全基于B/S模式的系统设计。B/S模式具有以下优点[17]

1.开发成本和维护成本低。由于B/S架构管理仅安装在服务器,管理人员只需要管理服务器,用户界面,业务逻辑在客户端完全通过WWW浏览器实现,前面一小部分的业务逻辑实现,所有的工作人员只需登录浏览器,管理员只需要做代码维护。

2.良好的安全性,通过防火墙技术、数据库安全可以保证。所有员工通过Ajax请求访问数据库,从而减少数据连接直接暴露在网页中,增加风险[18]

3.3 功能需求

企业考勤查询系统主要由登录修改密码、全部考勤、员工信息、个人考勤,权限管理,公司治理等功能模块组成,充分利用B/S模式,改变传统的考勤查询模式,网页版考勤查询模型的实现。具体需求如下:

1.用户类别:只要数据库中有的员工都可以登录系统,用户可以查询本系统的考勤子资源。

2.权限模块:系统可以通过姓名或者卡号编号登录。每个用户都有自己的权限,权限不同页面构造也不同。普通员工可以进行个人考勤查询,同时还可以有修改考勤时间功能,请假功能;企业领导或者部门leader可查看员工信息、个人考勤、进行对员工考勤查看、请假审批管理、公司架构修改,可以对员工考勤的请假或者修改时间进行审批操作,可控制整个系统的登录权限。

3.管理员也不一定拥有全部权限,设置什么权限就拥有什么权限。

4.公司架构:管理员可以在本系统中进行修改公司构架。

5.登录管理:领导可对普通员工的考勤进行查看,更改员工登录权限。

6.部门管理:leader对本部门员工进行添加、删除、移动、查询的功能。

7.修改密码:所有用户都可以对本系统中的登录密码进行修改。

8.个人考勤:用户登录页面后,可以考勤,修改考勤信息还可以申请请假和修改上下班时间。

9.请假:领导和部门主管可以对本部门员工的请假进行批准。

10.全部考勤:leader或管理员可以对全部员工的考勤进行查询和审批,但普通员工没有查询其他员工的功能。

11.员工管理:管理员对普通员工表有查询与添、修改和删除的操作。

12.节假日设置:可以设置节假日,员工当天不算请假。

3.4 运行环境

系统对如下环境有要求:硬件环境,服务器端,软件环境和用户端。

对于服务器浏览器最低配置下,体验效果通常不太好,硬件性能最好选用好的,通常要到服务器配置高性能的硬件。

本系统要求服务器端的最低配置如下:

内存:512MB

硬盘空间:40GB

光驱:CD-ROM 48X

显卡:SVAG显示适配器。

处理器:Inter Pentium 4 1.6GHz 或更高

用户端

因为主要用浏览器浏览,所以配置应高于下面的配置:

处理器:Inter Pentium 1.0GHz

内存:32MB

硬盘空间:40GB

光驱:CD-ROM 48X

显卡:SVAG显示适配器。

软件环境

服务器端

操作系统:Windows 2000 Server

网络协议:TCP/IP

web服务器:Internet Information Server5.0/Personal Web Server

数据库:Mircrosoft SQLserver2000

浏览器:chrome 浏览器

用户端

操作系统:Windows 7

网络协议:IP

数据库:Mircrosoft SQLserver2000

浏览器:Internet Explorer 8.0以上

第4章 考勤查询系统详细设计

4.1 系统介绍

得到需求分析的前提是先得到抽象的信息结构。概念结构设计是整个数据库设计的关键。

系统需求分析是要明确系统的目标,形成目标系统的逻辑模型。什么是需要系统改为怎么做的物理模型,并开始系统的需求。首先,我们分析了系统的体系结构的。

功能是由多个独立的分系统,单一功能的模块。模块之间的关系不是很密切,每个模块可以独立编写,维护,调试和修改,从而有效避免模块间的影响误差,提高质量系统(维护,操作,等)。因此,它大大简化了系统的开发。

素有人都可以通过用户名和密码进入考勤查询系统,可以通过员工编号或名称来查询员工出勤率,也可以查看所有员工的考勤,也可以添加,删除,修改等操作。

4.2 系统设计

本课题系统设计主要是指合理安排的分析系统,对系统分区,硬件配置,数据存储和考勤系统实施规划。系统设计工作应按照规定的顺序。

系统设计的工作看起来很简单但是设计起来却非常复杂,总体设计都基于系统模块化设计,将系统分解成不同的系统模块。在详细设计阶段各个模块都划分很详细,并为每个模块的查看和修改过程进行了详细的描述,因此在设计过程中的系统实施阶段可以把这个描述与Java编程语言写的程序。

4.2.1 系统功能

针对职工管理系统的流程图,功能具体描述如下:

1.节假日设置:可以设置节假日,员工当天不算请假。

2.权限模块:系统可以通过姓名或者卡号编号登录。每个用户都有自己的权限,权限不同页面构造也不同。普通员工可以进行个人考勤查询,同时还可以有修改考勤时间功能,请假功能;企业领导或者部门leader可查看员工信息、个人考勤、进行对员工考勤查看、请假审批管理、公司架构修改,可以对员工考勤的请假或者修改时间进行审批操作,可控制整个系统的登录权限。

3.公司架构模块:管理员可以在本系统中进行修改公司构架。

4.部门管理模块:leader对本部门员工进行添加、删除、移动、查询的功能。

5.修改密码模块:所有用户都可以对本系统中的登录密码进行修改。

6.个人考勤模块:用户登录页面后,可以考勤,修改考勤信息还可以申请请假和修改上下班时间。

7.请假模块:领导和部门主管可以对本部门员工的请假进行批准。

8.全部考勤模块:leader或管理员可以对全部员工的考勤进行查询和审批,但普通员工没有查询其他员工的功能。

9.员工管理模块:管理员对普通员工表有查询与添、修改和删除的操作。

4.2.2 模块划分

将系统划分为若干模块。每个模块完成一个特定的功能,所有的模块拼接到一起,就形成一个完整的系统,并能够完成整个系统所需要的功能。本系统的模块划分并不是随意的,经过仔细研究模块之间的关系并减少与其他模块的联系。为了使系统用起来更加简单,提高可读性,可维护性。也就是说,每个模块只完成了系统的小型独立的功能需求,并联系的少,和一个单一的接口不与其他模块联系,即最大提高模块独立性,使系统达到性能最高。

系统的结构设计的任务是将模块系统划分好,并确定每个模块的性能和结构,并绘制模块结构图。玩车鞥以上需求要注意以下问题:

如何把一个系统分成多个子模块。如何在子系统分为几个功能模块。如何保持数据和它的子系统和模块的转移之间的关系。如何对模块结构的质量进行评价。

模块划分适用于软件系统的具体设计,特别是将一个复杂的系统用模块化结构开发,具有许多的优点。在使用结构化设计方法来连接前后的规划。

模块化开发有以下优点:

系统的功能是很容易理解和易于操作的。操作界面美观实用,操作方便,不同级别的操作员。模块与模块之间的数据交换是简单和。

根据系统的需求分析,模块的结构如图4-1

 

 

 

 

 

 

 

 

 

4-1 模块的结构图

4.3 数据库设计

4.3.1 数据库的逻辑设计

根据系统的功能可以设计有关的概念模型,该系统涉可以画出E-R图如图4-1

本系统涉及到的实体包括:

1.菜单实体属性设计

菜单的主要属性包括iddisbled index type实体属性如图4-2所示。

2.组织结构实体属性设计

组织结构的主要属性包括is_leaderemployee_idindex实体属性如图4-3所示。

3.权限实体属性设计

权限的主要属性包括auth_iddescname实体属性如图4-4所示。

 

 

4-2页面菜单实体图

 

4-3组织结构实体图

 

 

4-4权限的实体图

3.链接实体属性设计

链接的主要属性包括action_nameaction_textincidence实体属性如图4-5所示。

 

 

 

4-5链接实体图

 

3.链接实体属性设计

链接的主要属性包括datetype实体属性如图4-6所示。

 

 

 

4-6假期实体图

 

3.部门结构实体属性设计

部门结构的主要属性包括idparent_idname实体属性如图4-7所示。

3.返回值结构实体属性设计

返回值的主要属性包括 chscodetype实体属性如图4-8所示。

 

 

 

4-7部门结构实体图

 

 

 

4-8执行返回值实体图

3.用户考勤结构实体属性设计

用户考勤的主要属性包括 dateemployee_idlate_time 实体属性如图4-9所示。

3.员工信息结构实体属性设计

员工信息的主要属性包括 idemployee_idcard_no 实体属性如图4-10所示。

3.员工登录结构实体属性设计

员工登录的主要属性包括 iddatetimeip 实体属性如图4-11所示。

 

 

4-9用户考勤实体图

 

 

 

4-10员工信息实体图

 

 

4-11员工登录实体图

3.员工详情结构实体属性设计

员工详情的主要属性包括 iddatetimeip 实体属性如图4-12所示。

 

4-12员工详情实体图

4.员工详情结构实体属性设计

员工详情的主要属性包括 menu_idactionindex 实体属性如图4-13所示。

 

4-13员工详情实体图

 

综合上面的设计,系统的整体E-R图如图4-14所示。(由于版面限制,图中只画出了部分实体及其关系)

4.3.2 数据库的物理结构设计

1.页面菜单表,页面菜单表主要用来存储页面菜单,包括idtypeparent_idshow_textnameiconhrefactionsindexdisabled个字段,页面菜单表的结构如表4-1所示。

4-1页面菜单表(menu)

类型

长度

小数点

允许空值

主键

id

int

11

0

type

int

11

0

parent_id

int

11

0

show_text

varchar

64

0

name

varchar

64

0

icon

varchar

64

0

href

varchar

256

0

actions

text

0

0

index

int

11

0

disabled

int

11

0

4-14系统E-R

2.组织结构表,组织结构表主要用来展示和添加公司结构,包括department_idemployee_idis_leadertitleindex个字段,组织结构表的结构如表4-2所示。

4-2组织结构表(department_employee)

类型

长度

小数点

允许空值

主键

department_id

int

11

0

employee_id

int

11

0

is_leader

int

11

0

title

varchar

32

0

index

int

11

0

3.权限表,权限表主要用来管理员添加权限组,设置权限,对员工和leader访问页面进行规范,包括auth_idnamedesc个字段,权限表的结构如表4-3所示。

4-3权限表(auth_group)

类型

长度

小数点

允许空值

主键

auth_id

int

11

0

name

Varchart

32

0

desc

text

0

0

4.链接表,链接表主要用来存储存储ajax发送请求地址,包括action_nmeaction_textincidence个字段,链接表的结构如表4-4所示。

4-4 链接表(action)

类型

长度

小数点

允许空值

主键

action_nme

varchar

32

0

action_text

varchar

32

0

incidence

int

11

0

5.假期表,假期表主要用来管理员设置节假日,包括datetype个字段,假期表的结构如表4-5所示。

4-5假期表(special_date)

类型

长度

小数点

允许空值

主键

date

date

0

0

type

int

11

0

6.部门结构表,部门结构表主要用来管理员设置公司部门结构,包括idnameparent_ideditableindex个字段,部门结构表的结构如表4-6所示。

 

 

4-6部门结构表(department)

类型

长度

小数点

允许空值

主键

id

int

11

0

name

varchar

64

0

parent_id

int

11

0

editable

int

11

0

index

int

11

0

7.执行返回值表,执行返回值表显示发送请求返回值,包括typecodechs个字段,执行返回值表的结构如表4-7所示。

4-7执行返回值表(date_dic)

类型

长度

小数点

允许空值

主键

type

int

11

0

code

varchar

32

0

chs

varchar

256

0

8.用户考勤表,包括请假修改上下班时间字段,如表4-8所示。

4-8用户考勤表(employee_work_record)

类型

长度

小数点

允许空值

主键

employee_id

int

11

0

date

date

0

0

start_work_record

time

0

0

off_work_record

time

0

0

late_time

time

0

0

is_late

int

11

0

start_work_datetime

datetime

0

0

off_work_datetime

datetime

0

0

is_modify_start_work

int

1

0

is_modify_off_work

int

1

0

modify_work_datetime_remark

varchar

128

0

work_long

time

0

0

is_ask_for_leave

int

1

0

leave_time

time

0

0

ask_for_leave_remark

varchar

128

0

leave_long

time

0

0

review_for_leave

int

11

0

review_for_leave_remark

varchar

128

0

is_awaded_voation

int

1

0

awarded_employee_id

int

11

0

9.员工信息表,员工信息表用来表示员工信息,包括:姓名,年龄,卡号等,包括iddatetimeEmployee_idCard_noController_id个字段,员工信息表的结构如表4-9所示。

4-9员工信息表(access_control_record)

类型

长度

小数点

允许空值

主键

id

int

11

0

datetime

datetime

0

0

Employee_id

int

11

0

Card_no

int

11

0

Controller_id

int

11

0

10.员工登录表,员工登录表用来员工登录信息,包括:姓名,登录时间,卡号等,包括iddatetimeEmployee_idEmployee_nameipoperationresultdesc个字段,员工登录表的结构如表4-10所示。

4-10员工登陆表(log_2015_03)

类型

长度

小数点

允许空值

主键

id

int

11

0

datetime

timestamp

0

0

Employee_id

int

11

0

Employee_name

varchar

32

0

ip

varchar

64

0

operation

varchar

64

0

result

varchar

32

0

desc

text

0

0

11.员工详情表,员工详情表用来存储员工工作时长,包括:姓名,登录时间,卡号等,包括idnamecard_nodepasswordbeginendauth_idat_work八个字段,员工详情表的结构如表4-11所示。

4-11员工详情表(employee)

类型

长度

小数点

允许空值

主键

id

int

11

0

name

varchar

32

0

card_node

int

11

0

password

varchar

16

0

begin

date

0

0

end

date

0

0

auth_id

int

11

0

at_work

int

11

0

12.结构详情表,结构详情表用来存储员工结构,包括Auth_idMenu_idParent_menu_idactionindex个字段,结构详情表的结构如表4-12所示。

4-12结构详情表(auth_template)

类型

长度

小数点

允许空值

主键

Auth_id

int

11

0

Menu_id

int

11

0

Parent_menu_id

int

11

0

action

text

0

0

index

int

11

0

4.4 系统流程图

员工通过登录可以修改密码,对自己考勤进行查询,也可以修改密码等操作,管理员可以管理员工个人信息,设置员工权限,对员工请求进行审批等操作。如图4-15所示。

 

4-15系统流程图

 

第5章 考勤查询系统的实现及测试

5.1 功能模块设计

企业考勤管理系统主要实现登录管理、全部考勤管理、员工管理、个人考勤、请假管理、公司结构等功能,完全利用计算机技术,改变传统的操作方式进行管理,实现了网络化管理模式。

具体功能划分如下

5.2 修改密码模块

更改密码:所有员工登录系统后,可自行重新设置登录密码如图5-1 所示:

 

 

5-1 修改密码效果图

5.3 个人考勤

1.个人考勤查询如图5-2 所示:

用户登录后自行跳转至个人考勤页面,查看考勤。

查找:选择年月,点击查找,具体查找当前年月考勤情况。

排序:初始排序按照日期排序,也可以点击表头箭头进行正排和倒排。

分页:出事显示十条信息,可以分页处理,点击左侧records 按钮可以调试显示条数,可调制10,15,和显示本月全部考勤。

 

 

5-2 个人考勤效果图

 

2.考勤时间修改如图5-3所示:

点击操作下的edit,可以修改上班时间,下班时间,修改上下班时间注解。上下班时间可以自己手动输入时间也可以通过日期插件选择时间,时间精确到秒,上下班考勤注解用于填写修改时间目的,修改的项目将会全部变成黄色,用于领导审批。

日历插件是使用bootstrap插件库,可以选择年,月,日,时,分,秒。

 

 

 

5-3 个人考勤修改时间效果图

3.请假如图5-4所示:

初始页面会根据上班时间和下班时间,自动计算请假时间,如果请假时间不是00:00:00可以进行请假。点击请假按钮后,填写请加备注,请假时间将变成红色,等待审批状态。

 

 

5-4 个人考勤请假效果图

 

5.4 组织结构

组织结构页面运用js tree插件,点击初始按钮从后台数据库加载公司内部结构,部门与员工都可以右键操作如图5-5所示:

添加leader和员工时,通过点击按钮访问书籍库中的员工表,并且返回数据,数据通过chechbox的方式,用弹出层显示,并且支持单选,多选操作。选择后通过ajax返回到后台数据库,添加完成,页面异步加载,直接显示添加结果。

 

 

5-5 组织结构添加员工效果图

 

部门:右键可以选择增加新部门,填写部门名称后enter键保存。添加leader和添加普员工从后台数据库获得员工表,点击选取要添加员工,点击ok键保存。右键点击删除,删除本部门及所有下属员工。修改键,修改部门名称。

员工:右键可以改为leader或者员工,也可以删除员工。

拖动:部门员工都可以拖动,拖动到员工和部门下形成新的组织结构。

删除:点击删除,可以删除员工,部门以及leader

添加:点击添加,可以添加部门,员工以及leader

本页面结构在全部考勤和考勤概况中被使用到如图5-6所示:

 

 

 

5-6 组织结构效果图

 

5.5 全部考勤

本页面只有leader和管理员才有权限,可以通过日期年,月,日搜索本部下员工当天的考勤情况,如果当天员工出勤有问题,leader可以给当天请假或者迟到的员工进行奖励休假。本页面有员工姓名,日期,上下班时间等如图5-7所示:

点击奖励休假按钮,员工当天考勤不算请假或者框休,奖励休假按钮点击后,填写奖励备注,填写完毕后点击确定,个人考勤中,本天变成奖励休假,并且本页面奖励休假不能再次点击,变成已休假,员工考勤页面也会出现奖励休假,一切迟到,请假不算框休如图5-8所示:

 

5-7全部考勤效果图

 

 

5-8全部考勤奖励效果图

5.6 考勤概况

管理员和leader可以通过本页面查询某月公司全部人员或本部门下人员的考勤概况如图5-9所示:

 

5-9 考勤概况效果图

5.7 员工表

员工表显示员工基本信息,包括编号,姓名,卡号权限,如图5-10

 

5-10员工表效果图

修改

可以修改员工信息,包括编号,卡号,权限

删除

删除该员工

添加

添加新员工,设置姓名,卡号,权限,编号

5.8 审核

审核表用于leader审核员工进行请假,或者修改日期。主要展示员工姓名,日期,审批项目,审批备注等如图5-11所示:

 

5-11审核效果图

 

Leader进入页面可以对下属所有员工进行审核,可以审核员工修改时间或者请假,审批后员工考勤页面相应栏会变色,通知员工审核通过或者失败。

5.9 权限

权限表主要用于修改用户权限,包括权限,名字等如图5-12所示:

修改页面权限表主要用于修改用户访问页面的权限如图5-13所示:

 

 

5-12权限页面效果图

 

 

5-13权限页面修改效果图

点击权限页面访问数据库返回数据,点击复选框,对用户权限页面记性设置。

修改权限页面主要用于用户访问页面时可进行的操作,用户对该页面操作,和访问权限进行设置如图5-14所示:

 

5-14权限页面修改页面权限效果图

 

管理员通过配置权限以及权限页面,对员工和leader访问页面进行设置,对页面设置可读或者可写。

5.10 假日

设置假日时间,删除假日时间如图5-15所示:

 

5-15假日页面效果图

添加新日期并且添加假期时间,运用日历插件如图5-16所示:

 

5-16 添加假日效果图

5.11 系统测试

当网站开发工作完成后就进入了测试阶段,测试的主要工作是在网站上线前通过黑盒测试、功能测试以保证网站上线后功能的稳定性,也是比较关键的一个环节。

5.11.1 兼容性测试

Web产品开发过程中兼容性问题是让开发人员遇到的最头疼的问题,当前浏览器市场鱼龙混杂,浏览器产品众多,想要看看网站在各个浏览器的功能和样式情况,必须做好兼容性测试。

该系统在chrome浏览器,Firefox浏览器,360浏览器下,IE浏览器下都能正常运行。

5.11.2 极端情况测试

所谓极端情况就是一些不常见的情况,比如说数据库空的纪录为用户输入的文本信息超过了存储上线等等,如果这些情况发生应该给网站浏览者做一些必要的提示。本网页经过测试没有该现象。

5.11.3 表单验证测试

表单作为数据库数据的入口,验证每个输入框的规范性和合法性也是必须的,当用户输入的内容不规范或者没有填写必填字段应该给用户一些提示。表单提示如图5-17所示:

 

5-17表单提示

结论

通过对市场中考勤查询系统的研究,本文提出了基于Java 为后台的网站实现方案,并且运用模块化开发,建立了可操作的原型,解决了大部分的技术可行性研究,为下一步的实际应用编码提供了设计和技术上的指导。

本系统由于考勤模块比较多,而且页面间联系不是特别大所以选择开发运用B/S模式,选择Java语言作为后台语言,前台选择JqueryCss编写页面,而且还使用了bootstrap插件,页面更加美观实用。系统设计首先设计模块er结构图,然后设计数据库表,最后设计前台页面与后台数据库进行连接。从而设计出美观,实用性强,功能健全的考勤查询系统。

本网站包含了前台员工考勤,密码修改,全部考勤,考勤概况,组织结构,审核,请假等模块。后台管理系统提供了对员工信息增加、删除、修改、查询的功能。本网站只是做了第一版本,后续可能还会加上公司公告,公司活动以及公司员工个人表现突出的展示等功能模块。在本系统的开发,解决了员工考勤查询的复杂性,考勤变得更加方便,考勤页面更加美观,考勤方式也变得简单清晰,并且在考勤查询系统中加入了修改密码,公司架构,修改上下班时间,请假和审核等功能使考勤查询系统更加完善。

由于其知识浅薄,缺乏经验。因此,在考勤管理系统的设计和功能方面还存在一些问题,如没有实现的主要功能,太小的模块和接口的代码太复杂,界面的整体效果不明显。但这可以认识到自己的不足,相信在今后的工作中,根据工作的具体要求,不断修改,完善,力求系统慢慢趋于综合。

致谢

在我的本科学习课程,我得到了老师的教育,家人的支持,同学的友谊。在毕业之际,我想借此机会向所有帮助我的人表达我深深的谢意!

我要感谢我的任课老师,特别是我的指导老师,如果没有姚老师的悉心指导我的论文是完不成的,他在我今后学习和工作中起到了决定性作用,也是我人生中不可缺少的好导师。我还要感谢我的同学们,我们能聚在一起,是你们提醒了我的缺点,给我帮助,我希望你们永远幸福快乐;感谢我的室友和同学,你给我带来了很多的帮助。最后,我要感谢辛勤养育我的父母,我的选择,父母从来不会抱怨和一直支持。

参考文献

[1]  黄刘生数据结构.北京:经济科学出版社,199955

[2]  黄晓东JAVA课程设计案例精编.北京:中国水利水电出版社,200489

[3]  (美)Bruce EckelJAVA编程思想陈昊鹏饶若楠等译.天津:械工业出版社2005308

[4]  陈玉峰SQL Server2000数据库开发教程.北京:科学出版社2000206

[5]  李晓黎张巍JSP+SQL Server网络应用系统开发与实例.北京:人民邮电出版社2004.0387

[6]  汪晓平钟军JSP网络开发技术人民邮电出版社2004.5.157

[7]  宣小平但正刚张文毅JSP数据库系统开发实例导航.北京:人民邮电出版社2003.1.1145

[8]  冯昊JSP动态网页设计与上机指导.北京:清化大学出版社2003.7.2167

[9]  王宜贵软件工程北京:机械工业出版社200220-79

[10]  张洪斌java2高级程序设计中科多媒体出版社200111 85-90

[11]  耿祥义JSP基础编程清华大学出版社200455-162

[12]  徐建波周新莲.Web设计原理于编程技术中南大学出版社2005185-193  

[13]  孙鑫编著.Java Web开发详解.杭州:电子工业出版社2006189-274

[14]  林上杰林康司.JSP2.0技术手册.杭州:电子工业出版社20043-6

[15]  萨师煊,王珊数据库系统概论.北京:高等教育出版社,199898

[16]  蔡剑,景楠Java Web应用开发:J2EETomcat北京:清华大学出版社,2004266

[17]  Ou Jet alDesign and research on teaching platform of stage task using JavaEE.重庆:重庆出版社,201223

[18]  ScienceJ.X.Z.M., et al.A New Method to get Essential Efficient solution for A Class of D.C.Multiobjective Problem吉林长春.:长春出版社. 2010501-503

[19]  XIONG, J., L. YAO and J. HUImplementation of Dynamically Generating HTML WebPages by C\#北京:电子工业出版社2007. 10341

[20]  Yeh, Y. and H. LinCardiac Arrhythmia Diagnosis Method Using Fuzzy C-Means Algorithm on ECG Signals.中国台湾台南:台南出版社.2010272-275

猜你喜欢

转载自www.cnblogs.com/rdutdhtfj/p/12657454.html
今日推荐