资源描述
计算机信息工程学院毕业设计说明书公司考勤管理系统的设计与实现摘要公司考勤管理系统是一个管理系统,它主要是以监督和考核为手段,但其目的却是在激励企业的团队去取得最佳绩效。尤其是因为知识工作者的激增,公司考勤系统成了一个更热门和艰难的研究课题。本文首先介绍了公司考勤管理系统的背景、目的及意义,对本课题在国内外的研究现状及进展等进行了简单的讨论和阐述,并对该系统所用到的开发技术做简要的介绍。接着,本文探讨了公司考勤管理系统的功能需求和设计思想。在此基础上,对该系统进行需求分析,进而对系统的功能模块进行划分:信息管理、部门管理、员工管理、考勤管理、加班管理、请假管理、报表管理、系统管理。本系统的特点是用WEB页面进行网络考勤,增强了考勤的灵活性。此后在一定的环境下对系统的重要模块进行了模拟测试,证实了系统的可用性。最后,通过对公司考勤管理系统的开发实例进一步验证,说明了应用上述解决方案的可行性。关键词:公司考勤管理系统;JSP技术;数据库系统DESIGN AND ACTUALIZATION OF THE COMPANY ATTENDANCE MANAGEMENT SYSTEMAbstractCompany Attendance Management System is a management system, which mainly as a means of monitoring and evaluation , but its purpose is to motivate the team to achieve the best business performance . Especially since the surge of knowledge workers , the company has become a more popular and attendance systems and difficult research topic.This paper describes the background, purpose and significance of the company attendance management system , on the subject in the research status and progress at home and abroad for a simple discussion and elaboration, and the system used by the development of technology to make a brief introduction.Then, the paper discusses the functional requirements and design ideas company attendance management system. On this basis , the system needs analysis , and thus the functional modules of the system are divided : information management , departmental management, staff management , attendance management , overtime management, leave management , report management, systems management. Characteristic of this system is to use the WEB page for network attendance, attendance enhanced flexibility.Since then , under certain circumstances important modules of the system was simulated tests confirmed the availability of the system. Finally, examples of the development company attendance management system further verified, illustrate the feasibility of applying the solution.Key words: The attendance management system;JSP technology;Database system目录第1章 绪论11.1 课题研究的背景11.2 课题研究的目的11.3 课题研究的意义11.4 国外研究进展分析21.5 国内研究进展分析21.6 本章小结2第2章 开发技术介绍32.1 开发环境和工具32.2 JSP技术32.3 B/S结构42.4 Microsoft SQL server 200542.5 本章小结5第3章 需求分析63.1 系统说明63.2 任务概述63.3 功能需求分析63.3.1 用户登录模块63.3.2 员工模块73.3.3 管理员模块83.4 本章小结10第4章 系统概念结构设计114.1 系统功能模块图114.2 系统流程图124.3 系统实体模型134.4 数据库设计174.5 本章小结20第5章 系统的详细设计与实现215.1 系统设计的思想215.1.1体现功能215.1.2操作简单215.1.3视觉角度215.1.4功能结构设计215.2 主要功能模块设计215.2.1 用户登录模块215.2.2 公告管理模块225.2.3 部门管理245.2.4 员工管理模块265.2.5 考勤管理模块295.2.6 加班管理模块315.2.7 请假管理模块325.2.8 报表管理模块355.2.9 系统管理模块355.3数据库连接365.4 本章小结37第6章 系统测试386.1 测试内容386.1.1 功能测试386.1.2 单元测试416.1.3 类集成测试416.1.4 安全性测试416.2 本章小结41第7章 结论42致谢43参考文献44IV计算机信息工程学院毕业设计说明书第1章 绪论1.1 课题研究的背景为了记录公司员工每日的出勤情况,我国的大多公司还采用传统的手工方式。这种方式受人为因素影响很大,而且易错耗时,准确性、透明度、实时性都较差,增加了公司的人力资源成本。同时这种传统的手工记录方式容易出现疏漏,很可能存在考勤监督人员因人情关系导致考勤不公平的情况,造成公司员工存在侥幸心理,也无法有效解决替考、脱岗等问题,不利于公司的人员管理。 在当今社会,信息化已经成为一种趋势,信息技术的发展正在促使资本经济向知识经济、信息经济转变。随着现代科技的发展,利用信息技术和计算机技术来进行公司员工考勤也成为现代化公司必不可少的一部分。现代公司员工数量的激增与员工的频繁变动,使得公司的考勤统计管理工作日益繁杂,传统的企业考勤管理方法很难保证数据的准确与实时1。与此同时,计算机技术的飞速发展,使得计算机在企业管理中的应用逐渐普及,越来越多的公司开始利用通讯技术、计算机技术等现代化的信息技术手段来实现公司信息化建设与新型现代化管理,利用计算机技术实现企业职工考勤管理势在必行2。1.2 课题研究的目的公司考勤管理系统是为了解决职工考勤管理问题而设计的,目的是要实现对职工考勤的智能化、规范化管理,帮助考勤工作人员利用计算机技术方便快速的对公司各个部门的考勤信息进行管理,使散乱的考勤信息能够具体化、直观化3。这样,系统所需的考勤工作人员数量减少,同时也减轻了他们的负担,有利于提高公司考勤管理的效率。1.3 课题研究的意义随着计算机技术的快速发展,人们越来越多地开始利用计算机技术解决实际问题。员工考勤管理是公司信息管理的重要组成部分,面对大量的信息,采用人力处理将极大地浪费时间、人力和财力,而且统计麻烦容易出错4。一个公司对其员工的上下班、加班情况进行考勤,通过报表的形式导出,合理调整工作安排,利用计算机技术对考勤数据进行加工分析处理,得到我们需要的各种报表和考勤数据,方便了公司对员工考勤的管理。对于如今的公司领导者来说,拥有一个良好的公司考勤管理系统,可以加强职工的管理,对公司的发展有一定的促进作用。所以,开发一个高质量的、易于操作的公司考勤管理系统,对公司的长远发展有着重大的意义。1.4 国外研究进展分析国外的公司考勤管理系统应用可追溯到上世纪。美国军方于1813年开始采用公司考勤管理系统,美国联邦政府则于1842年开始采用公司考勤管理系统对政府公务员进行考勤5。公司考勤管理系统的理论最早起源于西方发达国家,它是市场经济高度发达和现代社会化大生产发展的产物。国外考勤系统的理念提出的早,而且经过长时间的实践和验证,已经不断完善成为公司必不可少的体系结构,在各个领域都及早地实现了由人力管理转向计算机管理的模式。而且公司考勤管理系统及早地运用计算机管理技术,并通过不断的实践和修改,避免了人为管理的一些主观问题,运用最少的人力资源,实现员工考勤的高效管理。1.5 国内研究进展分析公司考勤管理系统在中国有着悠久的历史,据考证中国至少在公元三世纪就开始应用正式的公司考勤系统6。但由于历史原因,目前我国公司管理水平较低,与先进发达国家公司相比存在着较大的差异。随着市场竞争越来越激烈,许多公司在探索管理员工考勤的有效途径,不断汲取外国的优秀经验。随着管理技术的发展和现代公司制度的不断国际化,国外先进的管理思想也相继传入我国,然而在与先进思想不断融合的同时,公司考勤管理系统仍然有很多问题没有得到很好的解决,“如何解决人为错误”就是其中一个很大的问题。最近几年,随着计算机技术的飞速发展,我国逐渐成为全面的信息化社会。科技发展的必然结果就是运用科技的力量去解决一些人为比较难实现、容易出错的问题。在如今的企事业单位中,已经有许多企业运用智能化的公司考勤管理系统来管理员工考勤,这极大地减少了工作人员的负担,有效避免一些人为错误,从而提高系统的工作效率。1.6 本章小结本章主要阐述了公司考勤管理系统的背景,以及开发公司考勤管理系统的目的和意义,并且讲述了该系统在国内外研究的进展与分析。46第2章 开发技术介绍公司考勤管理系统基于MyEclipse6.5平台,选择JSP、HTML、Java、JavaScript语言,采用B/S结构完成系统的设计,数据库选用Microsoft SQL server 2005。2.1 开发环境和工具该公司考勤管理系统基于MyEclipse6.5平台,主要采用JSP技术和数据库技术实现。Windows 7操作系统下,利用J2EE框架,并使用JAVA等编译语言Jbuilder为开发工具。MyEclipse6.5是一种非常好用的Java开发工具,它的功能非常强大,支持也特别广泛,尤其是对各种开源产品都有支持。目前支持Java Servlet,AJAX,JSP,JSF,Struts,Spring,Hibernate,JDBC数据库链接工具等多项功能。本系统是在Windows 7的环境下开发的,本机既安装了tomcat6.0服务器,又安装了浏览器,这样计算机同时扮演服务器端与客户端的角色,仿真成网络环境,方便系统的开发。系统主要运用JSP和JavaBean来开发动态网页,运用HTML来设计静态网页,还运用了Microsoft Visual Studio .NET 2003来设计网页的美观性。本系统采用的是Microsoft SQL Server 2005数据库,主要运用SQL语句访问它。JSP通过Java语言的JDBC技术与数据库相连,只要数据库有JDBC的驱动程序就可与之相连7。2.2 JSP技术JSP是由SunMicrosystems公司倡导、许多公司参与一起建立的一种动态技术标准。在传统的网页HTML文件(*.htm,*.html)中加入Java程序片段(Scriptlet)和JSP标签,就构成了JSP网页java程序片段可以操纵数据库、重新定向网页以及发送E-mail等,实现建立动态网站所需要的功能。所有程序操作都在服务器端执行,网络上传送给客户端的仅是得到的结果,这样大 大降低了对客户浏览器的要求,即使客户浏览器端不支持Java,也可以访问JSP网页8。JSP全名为Java Server Pages,其根本是一个简化的Servlet设计,他实现了Html语法中的java扩张(以 形式)。JSP与Servlet一样,是在服务器端执行的。通常返回给客户端的就是一个HTML文本,因此客户端只要有浏览器就能浏览。Web服务器在遇到访问JSP网页的请求时,首先执行其中的程序段,然后将执行结果连同JSP文件中的HTML代码一起返回给客户端。插入的Java程序段可以操作数据库、重新定向网页等,以实现建立动态网页所需要的功能8。JSP技术使用Java编程语言编写类XML的tags和scriptlets,来封装产生动态网页的处理逻辑,网页还能通过tags和scriptlets访问存在于服务端的资源的应用逻辑,JSP将网页逻辑与网页设计的显示分离,支持可重用的基于组件的设计,使基于Web的应用程序的开发变得迅速和容易9。JSP(JavaServer Pages)是一种动态页面技术,它的主要目的是将表示逻辑从Servlet中分离出来。JSP页面由HTML代码和嵌入其中的Java代码所组成。服务器在页面被客户端请求以后对这些Java代码进行处理,然后将生成的HTML页面返回给客户端的浏览器。JavaServlet是JSP的技术基础,而且大型的Web应用程序的开发需要Java Servlet和JSP配合才能完成。JSP具备了Java技术的简单易用,完全的面向对象,具有平台无关性且安全可靠,主要面向因特网的所有特点。JSP的工作原理是:首先,通过客户端的浏览器,以超文本(HTML)形式通过表单(FORM)向Web服务器提出请求。接着,服务器得到客户端的请求后,由Web服务器上的JSP引擎把JSP代码、相关组件、Java脚本以及HTML代码,转化为Servlet代码。然后,由JSP引擎调用Web服务器端的Java编译器对Servlet代码进行编译。最后,由Java虚拟机执行编译文件,并把客户端的请求结果以标准HTML页面的形式返回10。2.3 B/S结构B/S体系结构,即Browser/Server (浏览器/服务器)结构,是随着Internet技术的兴起,对C/S体系结构的一种变化或者改进的结构。在B/S体系结构下,用户界面完全通过WWW浏览器实现,一部分事务逻辑在前端实现,但是主要事务逻辑在服务器端实现。B/S体系结构主要是利用不断成熟的WWW浏览器技术,结合浏览器的多种脚本语言,用通用浏览器就实现了原来需要复杂的专用软件才能实现的强大功能,并节约了开发成本,是一种全新的软件体系结构。基于B/S体系结构的软件,系统安装、修改和维护全在服务器端解决。用户在使用系统时,仅仅需要一个浏览器就可运行全部的模块,真正达到了零客户端的功能,很容易在运行时自动升级11。2.4 Microsoft SQL server 2005Microsoft SQL server 2005即SQL Server 2005,它是一个全面的数据库平台,使用集成的商业智能 (BI) 工具提供了企业级的数据管理。SQL Server 2005 数据引擎是本企业数据管理解决方案的核心。此外SQL Server 2005结合了分析、报表、集成和通知功能。这使您的企业可以构建和部署经济有效的BI解决方案,帮助您的团队通过记分卡、Dashboard、Web services 和移动设备将数据应用推向业务的各个领域12。Microsoft仔细倾听了您的反馈,并对行业进行了认真研究,全世界的 Microsoft 研究团队共同努力,经过创造性思索才最终向您奉献出这一引入了上百种新增功能或改进功能的SQL Server 2005。这些功能将有助于您在以下三个主要方面提高业务13:1. 企业数据管理SQL Server 2005 针对行业和分析应用程序提供了一种更安全可靠和更高效的数据平台。SQL Server 的最新版本不仅是迄今为止 SQL Server 的最大发行版本,而且是最为可靠安全的版本。2. 开发人员生产效率SQL Server 2005 提供了一种端对端的开发环境,其中涵盖了多种新技术,可帮开发人员大幅度提高生产效率。3. 商业智能SQL Server 2005 的综合分析、集成和数据迁移功能使各个企业无论采用何种基础平台都可以扩展其现有应用程序的价值。构建于 SQL Server 2005 的 BI 解决方案使所有员工可以及时获得关键信息,从而在更短的时间内制定更好的决策14。2.5 本章小结本章主要介绍了本系统所用到的开发技术,开始先简单说明系统的开发环境及工具,接下来具体介绍了JSP技术、B/S结构,最后是Microsoft SQL server 2005数据库的简要介绍。第3章 需求分析3.1 系统说明公司考勤管理系统是企事业单位不可或缺的一部分,最初的考勤管理都是靠人工来完成的。当公司规模比较小的时候,人工可以完成,随着公司的规模越来越大,公司的员工人数也越来越多,人力进行考勤管理必然会造成工作效率低,工作错误增高的问题。因此对于公司来说,开发一个智能化、高效率的公司考勤管理系统是非常有必要的,具有深远的意义15。公司考勤管理系统基于myeclipse软件开发平台,采用三层体系结构、B/S模式,采用Tomcat6.0作为服务器管理程序,在服务器端用JSP编写程序,实现客户机和服务器之间的交互功能。运用JDBC实现和数据库服务器上的Microsoft SQL Server 2005数据库的数据交换。用户通过在客户端登录进入系统,借助IE浏览器访问Web服务器,即实现客户端与web服务器之间信息的存储与传递。本系统主要应用的技术是数据库的JDBC技术、SQL语句、JSP的内建对象以及JavaBean。3.2 任务概述毕业设计课题为“公司考勤管理系统的设计与实现”,即运用JSP技术开发一个基于Web公司考勤管理系统。首先要建立一个用户登录界面,登录用户界面后进入系统,系统的主要功能包括公告管理、员工管理、部门管理、考勤管理、加班管理、请假管理、报表管理、系统管理。公告管理是发布查看公告信息;员工管理是对员工信息查询、修改、删除等;部门管理是对部门信息查询、添加、修改;考勤管理是对考勤信息查询、添加、修改;加班管理是对加班信息的查询等操作;请假管理是员工申请请假,领导对请假的申请进行操作(同意和不同意);报表管理是打印相应员工出勤信息,方便公司对员工工作信息管理;系统管理是由管理员对系统进行修改及维护,包括数据备份与还原等。3.3 功能需求分析3.3.1 用户登录模块在进入系统之前,不管是管理员还是员工,必须先进行登录。用户登录的身份分为三种,一是超级管理员(公司领导),二是普通管理员(部门领导),三是员工,用户需要经过有效的身份验证才可以登录本系统。用户身份不同,对系统的操作也不同,下面分别对员工和管理员模块进行需求分析。3.3.2 员工模块普通员工在登录系统后可以进行信息查询和个人事务管理。普通员工可以修改个人信息,申请请假并查看请假记录,查看自己的考勤、加班、工资等记录;1. 信息查询模块普通员工在登录系统后可以查询个人的相关考勤信息,主要结构如下:图3-1 员工信息查看用例图2. 个人事务管理模块普通员工在登录系统后可以进行个人的事务管理,员工主要事务如下:图3-2 员工个人事务管理用例图3.3.3 管理员模块1、普通管理员在登陆系统后可以进行公告管理、员工管理、考勤管理以及报表导出,但不能修改考勤记录;2、超级管理员具有普通管理员的所用权限,此外还可以进行部门管理、添加管理员账号,修改考勤记录。1. 公告管理模块管理员可以在该模块对公告信息进行处理,该子模块具有如下功能:图3-3 管理员公告管理用例图2. 部门管理模块管理员可以在该模块对部门信息进行处理,该子模块具有如下功能:图3-4 管理员部门管理用例图3. 员工管理模块管理员可以在该模块对员工信息进行处理,该子模块具有如下功能:图3-5 员工管理用例图4. 考勤管理模块管理员可以在该模块对考勤信息进行处理,包括请假信息、加班信息,该子模块具有如下功能:图3-6 管理员考勤管理用例图3.4 本章小结在这一章的需求分析里,我首先阐述了公司考勤管理系统的原理机制、任务目标,接着将系统划分为多个功能模块,利用UML图对不同的功能模块进行功能需求分析,选择不同的解决方案。第4章 系统概念结构设计公司考勤管理系统采用B/S模式,重要的逻辑功能、信息检索等全部通过浏览器实现,减轻了管理人员的负担,系统操作界面统一直观,易于用户操作使用。根据第3章的功能需求分析,下面来设计公司考勤管理系统的总体结构16。4.1 系统功能模块图根据系统用户的需求,将本系统按功能划分成八大功能模块:公告管理模块、部门管理模块、员工管理模块、考勤管理模块、请假管理模块、加班管理模块、报表管理模块、系统管理模块。该系统功能模块图如图4-1所示:员工管理修改员工信息考勤制度考勤管理出勤请假加班报表管理数据备份系统管理数据还原请假管理报表导出管理员系统维护请假申请管理员系统维护查询请假记录管理员系统维护公司考勤管理系统部门管理添加部门信息管理员系统维护修改部门信息管理员系统维护加班管理查询加班记录管理员系统维护修改加班记录管理员系统维护公告管理公告修改查询员工信息公告删除公告发布图4-1 公司考勤管理系统功能模块图4.2 系统流程图公司考勤管理系统的流程图如图4-2所示:考勤管理员工管理公告管理请假管理加班管理报表管理系统管理部门管理信息修改信息发布信息删除开始登录验证主界面YN修改员工信息查询员工信息考勤信息查询考勤信息导入修改部门信息添加部门信息查询请假记录请假申请修改加班记录查询加班记录考勤信息登记报表导出数据还原数据备份图4-2 公司考勤管理系统流程图4.3 系统实体模型ER模型是独立于计算机系统的模型,完全不涉及信息在系统中的表示,只是用来描述某个特定组织关心的信息结构,这类模型称为“概念数据模型”17。构成E-R图的基本要素是实体型、属性和联系,根据需求分析可知,该公司考勤管理系统的各模块实体属性如下。(1)管理员,属性有:编号,姓名,密码,角色,添加时间;实体图如图4-3:图4-3 管理员实体图(2)考勤信息,属性有:员工编号,姓名,上班时间,下班时间,日期,备注(正常,缺席,迟到,早退),添加时间;实体图如图4-4:图4-4 考勤信息实体图(3)部门信息,属性有:部门编号,部门名称,部门领导,部门电话,日期,备注,添加时间;实体图如图4-5:图4-5 部门信息实体图(4)员工信息,属性有:员工编号,姓名,职位,性别,生日,密码,所在部门,电话,邮箱,籍贯,添加时间,备注;实体图如图4-6:图4-6 员工实体图(5)公告信息,属性有:标题,类型,内容,作者,添加时间;实体图如图4-7:图4-7 公告信息实体图(6)请假信息,属性有:员工编号,姓名,请假时间,请假事由,请假天数,请假类型,是否审核,添加时间;实体图如图4-8:图4-8 请假信息实体图(7)加班信息,属性有:员工编号,姓名,加班时间,日期,添加时间,备注;实体图如图4-9:图4-9 加班信息实体图4.4 数据库设计公司考勤管理系统离不开数据库的支持,系统的数据等都存放在数据库中,而且数据库独立于程序而存在,安全性较高。本系统中的数据库采用Microsoft SQL Server 2005数据库系统,在安全性、准确性、运行速度方面有绝对优势,并且处理数据量大,效率高。根据上面的实体图,我们可以详细的对数据表结构进行定义,数据库所有成员表如图4-10所示。图4-10 数据库成员表公司考勤管理系统的数据库表如下:表4-1 管理员信息表(allusers)序号字段名称字段类型大小允许为空最大长度备注1IDint 4自增编号102usernamevarchar(50) 50是2553passwordvarchar(50)50是2554cxvarchar(50) 50是2555addtimedatetime 8是23表4-2 加班记录表(overtime)序号字段名称字段类型大小允许为空最大长度备注1IDint 4自增编号102E_numvarchar(50) 50是2553namevarchar(50) 50是2554datevarchar(50) 50是2555work_timevarchar(50)50是2556notevarchar(500)500是2557addtimedatetime 8是23表4-3 考勤记录表(attendance)序号字段名称字段类型大小允许为空最大长度备注1IDint 4自增编号102E_numvarchar(50) 50是2553namevarchar(50)50是2554start_timevarchar(50) 50是2555end_timevarchar(50)50是2556datevarchar(50) 50是2557notevarchar(50)50是2558addtimeDateTime 8是23表4-4 请假记录表(leave)序号字段名称字段类型大小允许为空最大长度备注1IDint 4自增编号102E_numvarchar(50) 50是2553namevarchar(50)50是2554leave_datevarchar(50) 50是2555reasonvarchar(50) 50是2556daysvarchar(50)50是2557leave_typevarchar(20) 20是2558addtimedatetime8是239isshvarchar(50) 50是255表4-5 公告信息表(information)序号字段名称字段类型大小允许为空最大长度备注1IDint 4自增编号102titlevarchar(300) 300是2553stylevarchar(50) 50是2554contextText 16是2555authorvarchar(50) 50是2556addtimedatetime 8是23表4-6 员工信息表(employeeInfo)序号字段名称字段类型大小允许为空最大长度备注1IDint 4自增编号102E_numvarchar(50) 50是2553namevarchar(50)50是2554sexvarchar(50) 50是2555birthdayvarchar(50) 50是2556employee_telvarchar(50) 50是2557emailvarchar(50)50是2558birthplacevarchar(50) 50是2559department_namevarchar(50) 50是25510passwordvarchar(50) 50是25511professorvarchar(50) 50是25512notevarchar(50)50是25513addtimedatetime8是23表4-7 公司部门表(department)序号字段名称字段类型大小允许为空最大长度备注1IDint 4自增编号102department_numvarchar(50) 50是2553department_namevarchar(50) 50是2554managervarchar(50) 50是2555department_telvarchar(50) 50是2556faxvarchar(50)50是2557notevarchar(50)50是2558addtimedatetime 8是234.5 本章小结在这一章的系统结构设计里,主要是给出了公司考勤管理系统的系统功能模块图和系统的流程图,接着分析各模块的实体模型,并根据其进行数据库设计。第5章 系统的详细设计与实现5.1 系统设计的思想公司考勤管理系统的开发设计从用户角度出发,应满足公司工作人员日常使用的需要,实现操作过程的方便、实用、安全等,并采用模块化的程序设计方法,便于系统功能的调整与维护,同时应具备数据维护功能,可以根据用户的需求对数据进行添加、修改、删除、备份等操作18。具体为:5.1.1体现功能系统开发的目的是为了满足用户的功能要求,这是第一位的。在进行系统设计时,要首先保证用户能完全使用系统的功能,满足用户提出的合理需求。5.1.2操作简单这是人性化的体现,同时也是人类意志对技术的要求。“屏蔽”复杂的东西,让用户最方便、最舒服的使用我们的系统是很重要的目标。5.1.3视觉角度争取开发出美观友好的界面,美观的标准除了颜色形状和布局等因素外,很重要的就是简洁,这一目标和以上目标从根本上说是统一的。5.1.4功能结构设计采用简单表的设计方法,简单的查询、输入、修改、删除设计,一行就能显示清楚内容数据。操作符在每一行数据的最右边,按需要修改数据,然后点击该行的修改按钮就可以完成修改操作。删除操作也同样如此。5.2 主要功能模块设计公司考勤管理系统主要分为公告管理、部门管理、员工管理、考勤管理、加班管理、请假管理、报表管理、系统维护等八大模块。各模块的具体功能如下:5.2.1 用户登录模块用户只有通过登陆页面才能够进入主页面,在登陆页面中,须键入http:/localhost:8080/login.jsp网址,出现登陆界面,输入正确的用户名、密码,就可以进入系统了。如图5-1所示。图5-1公司考勤系统登陆界面如果出现“用户名密码错误”提示,如图5-2所示图5-2 “用户名密码错误”提示框本模块是用户登陆界面,实现的功能是检测合法用户,验证其用户名密码的有效性,以杜绝非法用户进入系统。本模块界面非常简单,用户名和密码两个文本框和一个登陆按钮,但实现的方法比较复杂,因为系统要自动判断其输入的用户名及密码是否正确,还要自动识别其权限(管理员与员工之分),如果登陆成功后,系统要将当前用户名和权限记录下来,便于之后给予其他操作适当的权限分配19。5.2.2 公告管理模块公告发布公告查询公告管理公告删除公告修改图5-3 公告管理模块图公告管理模块包括添加及查询公告信息,在查询页面管理员可以对此进行修改,删除。1. 信息公告发布信息公告发布用于超级管理员(公司领导)和普通管理员(部门领导)在本系统中发布公告信息,员工不能发布。图5-4 信息公告发布界面输入项:公告标题,公告类别,公告内容,添加人;输出项:公告发布成功则进入成功页面,不成功则显示错误信息;处 理:判断输入的公告标题,公告类别,公告内容是否为空,与数据库中已有的数据是否重复。2. 信息公告查询本系统的所有用户都可以查询公告信息,管理员可以修改、删除公告,但普通员工不可以。图5-5 信息公告查询界面输入项:公告标题;输出项:序号,公告标题,公告类别,添加人,添加时间;处 理:根据输入的公告标题模糊搜索出相关的公告信息并可编辑(修改、删除),点击列表中的标题可以链接查看具体的公告内容。5.2.3 部门管理部门添加部门查询部门管理部门删除部门修改图5-6 部门管理模块图部门管理模块包括添加及查询部门信息,管理员在查询页面可以对此进行修改,删除操作。1. 部门添加部门添加用于超级管理员(公司领导)在本系统中添加部门信息,其他用户不可以。图5-7 部门添加界面输入项:部门编号,部门名称,负责人,电话号码,传真,备注;输出项:部门信息添加成功则进入成功页面,不成功则显示错误信息;处 理:判断输入的部门编号,部门名称,负责人,电话号码是否为空,与数据库中已有的数据是否重复。2. 部门查询本系统的所有用户都可以查询部门信息,超级管理员可以添加、修改、删除部门,但其他用户不可以。图5-8 部门查询界面输入项:部门编号,部门名称;输出项:序号,部门编号,部门名称,负责人,电话号码,传真,备注,添加时间;处 理:根据输入的部门编号或部门名称模糊搜索出相关的部门信息并可编辑(修改、删除)。5.2.4 员工管理模块员工添加员工查询员工管理员工删除员工修改图5-9 员工管理模块图员工管理模块包括添加及查询员工信息,管理员在查询页面可以对此进行修改、删除,员工只能查看修改自己本人的信息。1. 员工信息添加员工信息添加用于超级管理员(公司领导)和普通管理员(部门领导)在本系统中添加员工信息,普通员工不可以。图5-10 员工信息添加界面输入项:工号,姓名,性别,出生年月,电话号码,邮箱,籍贯,所在部门,密码,职称,备注;输出项:员工信息添加成功则进入成功页面,不成功则显示错误信息;处 理:判断输入的工号,姓名,电话号码,密码是否为空,与数据库中已有的数据是否重复。2. 员工信息查询超级管理员可以查看所有员工信息,并且对其进行修改、删除操作,员工只能查看修改自己本人的信息。图5-11 员工信息查询界面输入项:工号,姓名;输出项:序号,工号,姓名,性别,出生年月,电话号码,邮箱,籍贯,所在部门,密码,职称,备注,添加时间;处 理:根据输入的员工工号或姓名模糊搜索出相关的员工信息并可编辑(修改、删除)。5.2.5 考勤管理模块考勤添加考勤查询考勤管理考勤删除考勤修改图5-12 考勤管理模块图考勤管理模块包括添加及查询员工的考勤记录,超级管理员可以导入考勤记录,在查询页面还可以对此进行修改、删除;普通管理员可以添加及查询员工的考勤记录,但不能修改、删除;员工只能查看自己本人的考勤记录。1. 考勤记录添加考勤记录添加用于普通管理员(部门领导)在本系统中添加员工的考勤记录,其他用户不可以。图5-13 考勤记录添加界面输入项:工号,姓名,上班时间,下班时间,日期,备注;输出项:员工考勤信息添加成功则进入成功页面,不成功则显示错误信息;处 理:判断输入的工号,姓名是否为空,与数据库中已有的数据是否重复。2. 考勤记录查询超级管理员可以查询所有员工的考勤记录,并且对其进行修改、删除,普通管理员不能修改、删除员工的考勤记录,员工只能查看自己本人的考勤记录。图5-14 考勤记录查询界面输入项:工号,姓名;输出项:序号,工号,姓名,上班时间,下班时间,日期,备注,添加时间;处 理:根据输入的员工工号或姓名模糊搜索出相关的员工考勤记录并可编辑(修改、删除)。5.2.6 加班管理模块加班添加加班查询加班管理加班删除加班修改图5-15 加班管理模块图加班管理模块包括添加及查询员工的加班记录,在查询页面超级管理员可以对此进行修改、删除;普通管理员可以添加及查询员工的加班记录,但不能修改、删除;员工只能查看自己本人的加班记录。1. 加班记录添加加班记录添加用于普通管理员(部门领导)在本系统中添加员工的加班记录,其他用户不可以。图5-16 加班记录添加界面输入项:工号,姓名,日期,加班时长,备注;输出项:员工加班记录添加成功则进入成功页面,不成功则显示错误信息;处 理:判断输入的工号,姓名是否为空,与数据库中已有的数据是否重复。2. 加班记录查询超级管理员可以查询所有员工的加班记录,并且对其进行修改、删除,普通管理员不能修改、删除员工的加班记录,员工只能查看自己本人的加班记录。图5-17 加班记录查询界面输入项:工号,姓名,日期;输出项:序号,工号,姓名,日期,加班时长,添加时间,备注;处 理:根据输入的员工工号或姓名模糊搜索出相关的员工加班记录并可编辑(修改、删除)。5.2.7 请假管理模块请假申请请假查询请假管理请假删除请假修改图5-18 请假管理模块图请假管理模块包括添加及查询员工的请假记录,员工提出请假申请,超级管理员(公司领导)和普通管理员(部门领导)都可以对其进行操作(同意和不同意),并且可以对员工的请假记录进行修改、删除,员工只能查询自己本人的请假记录,但不能修改、删除。1. 请假申请请假申请添加用于员工在本系统中进行请假申请,其他用户不需要。图5-19 请假记录申请界面输入项:工号,姓名,请假日期,请假类型,请假天数,请假事由;输出项:员工请假记录申请成功则进入成功页面,不成功则显示错误信息;处 理:判断输入的工号,姓名是否为空,与数据库中已有的数据是否重复。2. 请假记录查询超级管理员可以查询所有员工的请假记录,并且对其进行修改、删除,普通管理员不能修改、删除员工的请假记录,员工只能查看自己本人的请假记录。图5-20 请假记录查询界面输入项:工号,姓名;输出项:序号,工号,姓名,请假日期,请假类型,请假事由,请假天数,是否审核,添加时间;处 理:根据输入的员工工号或姓名模糊搜索出相关的员工请假记录并可编辑(修改、删除)。5.2.8 报表管理模块报表管理打印报表 图5-21 报表管理模块图图5-22 报表导出界面输入项:工号,姓名,日期,考勤;输出项:序号,工号,姓名,上班时间,下班时间,日期,备注,添加时间;处 理:根据输入的员工工号、姓名、日期、考勤等搜索出相关的员工考勤记录并点击“导出”按钮将此表格导出到Excel中。5.2.9 系统管理模块数据备份系统管理数据还原图5-23 系统管理模块图系统管理模块包括数据备份和数据还原,这有利于保障系统数据的安全,只是超级管理员(公司领导)的权限。1. 数据备份数据备份的关键代码为:String sql=backup database kaoqin to disk=C:/jspfldckqxns74.dat; connDbBean.executeUpdate(sql); out.print(alert(操作成功!,您的数据库已成功备份于C:/jspfldckqxns74.dat);location.href=sy.jsp;);2. 数据还原数据还原的关键代码为:String sql=restore database kaoqin from disk=C:/jspfldckqxns74.dat; connDbBean.executeUpdate(sql); out.print(alert(数据库还原成功!);location.href=sy.jsp;);5.3数据库连接数据库作为公司考勤管理系统的后台,在建立之后要和前台的JSP应用程序建立连接才能发挥它的作用。本系统运用JDBC技术与数据库服务器进行数据交换,以实现对人员信息,部门信息、考勤信息等这些信息的添加、修改和删除。下面简单介绍一下JDBC。JDBC(Java DataBase Connectivity)是一种用于执行SQL 语句的Java API。由一组用Java 编程语言编写的类和接口组成。JDBC为工具/数据库开发人员提供了一个标准的API,使他们能够用纯Java API来编写数据库应用程序。JDBC对Java程序员而言是API,对实现与数据库连接的服务提供商而言是接口模型。作为API,JDBC为程序开发提供标准的接口,并为数据库厂商及第三方中间件厂商实现与数据库的连接提供了标准方法。JDBC使用已有的SQL标准并支持其它数据库连接标准,如ODBC之间的桥接。JDBC实现了所有这些面向标准的目标并且具有简单、严格类型定义且高性能实现的接口。如何建立JDBC连接?Connection 对象代表与数据库的连接。连接过程包括所执行的 SQL 语句和在该连接上所返回的结果。一个应用程序可与单个数据库有一个或多个连接,或者可与许多数据库有连接。如何打开连接?与数据库建立连接的标准方法是调用DriverManager.getConnection方法。该方法接受含有某个URL的字符串。DriverManager类将尝试找到可与那个URL所代表的数据库进行连接的驱动程序。DriverManager类存有已注册的Driver类的清单。当调用方法getConnection时,它将检查清单中的每个驱动程序,直到找到可与URL中指定的数据库进行连接的驱动程序为止。Driver的方法connect使用这个URL来建立实际的连接20。private String dbDriver=com.microsoft.sqlserver.jdbc.SQLServerDriver; private String sConnStr = jdbc:sqlserver:/localhost:2732;databasename=kaoqin; public Connection connect = null; public ResultSet rs=null; public db() try Class.forName(dbDriver).newInstance(); connect = DriverManager.getConnection(sConnStr,sa,sa); catch (Exception ex) System.out.println(12121); 5.4 本章小结这一章主要介绍了公司考勤管理系统的登陆界面及相对应的数据库操作,详细阐述了该系统的八个主要模块的含义和实现功能,最后是数据库连接的相关内容。由于个人能力有限,该系统功能模块实现比较简单和粗糙,希望以后有更多的人置身于这方面的研究。第6章 系统测试系统完成后,测试人员必须对完成的功能进行测试工作,这是一个复杂而艰巨的任务。本测试重点使用黑盒测试方式对公司考勤管理系统进行功能、界面(UI)和性能方面的需求验证,以检查是否符合预期的要求。软件工程的基础之一就是要不断地测试,而且要尽可能的在开发早期找到并修改系统的问题,这是因为:大多数错误都在项目周期的早期犯下的,修改项目的成本会随着发现它们的时间呈一定的指数增长。技术人员擅长完成设计和编码这样的技术任务,而往往并不擅长非技术性的工作。软件开发人员接近机器底层,更多的是从机器的角度来考虑问题,而用户仅仅是为了使用操作。作为一种产品,必须要考虑到用户使用的方方面面,而且要考虑到各种容错处理。记录
展开阅读全文