《考勤管理系统设计与实现本科毕设论文.doc》由会员分享,可在线阅读,更多相关《考勤管理系统设计与实现本科毕设论文.doc(37页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、 毕业设计(论文) 题目: 考勤管理系统设计与实现 院 (系): 建筑与信息工程学院 毕业设计(论文)任务书学生姓名吴顺明学号专 业院(系)建筑与信息工程学院毕业设计(论文)题目考勤管理系统设计与实现任务与要求完成时间段年 月 日 至 年 月 日 共 周指导教师单位职称院(系)审核意见毕业设计(论文)进度计划表日 期工 作 内 容执 行 情 况指导教师签 字教师对进度计划实施情况总评 签名 年 月 日 本表作评定学生平时成绩的依据之一毕业设计(论文)中期检查记录表学生填写毕业设计(论文)题目:考勤管理系统设计与实现学生姓名: 吴顺明 学号:专业: 指导教师姓名:职称: 检查教师填写毕业设计(论
2、文)题目工作量饱满一般不够毕业设计(论文)题目难度大适中不够毕业设计(论文)题目涉及知识点丰富比较丰富较少毕业设计(论文)题目价值很有价值一般价值不大学生是否按计划进度独立完成工作任务学生毕业设计(论文)工作进度填写情况指导次数学生工作态度认真一般较差其他检查内容:存在问题及采取措施:检查教师签字: 年 月 日院(系)意见(加盖公章): 年 月 日摘 要当今社会,资金是企业生存的主要元素,资金的流动影响到企业的整体运作,企业员工的工资是企业资金管理的一个重要的组成部分。而随着企业人员数量的增加,企业的工资管理也变得越来越复杂。企业员工的人数越多,工资的统计工作就越多,工资的发放困难就越大。因此
3、,开发一个界面友好,易于操作的员工信息管理软件进行自动化处理具有较大的社会现实意义。同时,人事考勤管理系统是一切应用系统的典范,它具有一切应用系统的特征,系统结构与现实生活紧密结合,具体直观,开发应用简单,不失一般性。本论文主要介绍了系统的分析,设计和开发的全部过程。运用数据流图,ER图,程序流程图等对系统的设计过程进行详细的说明。全文共分为前言、需求分析、系统设计、开发技术、关键技术解决,结论六部分。系统采用B/S开发模式,开发工具选择JAVA、JSP、JavaScript、Html语言,采用Tomcat服务器技术,后台数据库选用SQL Server 2000。关键词: JSP,JAVA,S
4、QL Server 2000数据库,B/S模式AbstractIn todays society, money is the main element of the enterprise survival, capital flows affect the overall operation of the enterprise, an important part of enterprise financial management is the enterprise staffs wages. With the increasing number of business people, wa
5、ge management of enterprises has become more and more complex. The more the number of employees, the statistical work pay more wages, payment of the greater difficulty.Therefore, development of a friendly interface, the staff information management software is easy to operate with the social signifi
6、cance in automatic processing. At the same time, personnel attendance management system is a model for all applications, it has the characteristics of every application system, the system structure and real life closely, concrete intuitive, development and application of simple, without loss of gene
7、rality.This paper mainly introduced the system analysis, design and development of the whole process. Using data flow diagram, ER diagram, a detailed description of the procedure flow chart of the system design process. The full text is divided into preface, solve the demand analysis, system design,
8、 development technology, key technology, the conclusion of six parts. The system uses the B/S mode, selection of development tools JAVA, JSP, JavaScript, Html language, using Tomcat server technology, background database use SQL Server 2000.KEY WORD :JSP JAVA SQL Server 2000 database B/S model目录第一章
9、绪言1第一节 SQL server 2000简介1第二节 B/S模式及其优势2第三节 Java简介4第二章 考勤管理系统概念结构设计5第一节 需求分析5第二节 系统分析5第三章 考勤管理系统结构的设计8第一节 业务流程分析8第二节 功能模块设计9第三节 数据库设计10第四节 管理系统流程设计11第五节 数据库的逻辑设计12第四章 考勤管理系统的实现14第一节 数据库的连接14第二节 系统实现14结论28致谢29参考文献30第一章 绪言第一节 SQL server 2000简介Microsoft SQL Server2000是由 Microsoft公司开发的,简称SQL Server,由一系列相
10、互协作的组件构成,能满足最大的Web站点和企业数据处理系统存储和分析数据的需求。Microsoft SQL Server 2000 的特性包括: 一、Internet 集成 SQL Server 2000 数据库引擎提供完整的 XML 支持。它还具有构成最大的 Web 站点的数据存储组件所需的可伸缩性、可用性和安全功能。SQL Server 2000 程序设计模型与 Windows DNA 构架集成,用以开发 Web 应用程序,并且 SQL Server 2000 支持 English Query 和 Microsoft 搜索服务等功能,在 Web 应用程序中包含了用户友好的查询和强大的搜索功
11、能。二、可伸缩性和可用性同一个数据库引擎可以在不同的平台上使用,从运行 Microsoft Windows 98 的便携式电脑,到运行 Microsoft Windows 2000 数据中心版的大型多处理器服务器。SQL Server 2000 企业版支持联合服务器、索引视图和大型内存支持等功能,使其得以升级到最大 Web 站点所需的性能级别。 三、企业级数据库功能SQL Server 2000 关系数据库引擎支持当今苛刻的数据处理环境所需的功能。数据库引擎充分保护数据完整性,同时将管理上千个并发修改数据库的用户的开销减到最小。SQL Server 2000 分布式查询使您得以引用来自不同数据
12、源的数据,就好象这些数据是 SQL Server 2000 数据库的一部分,同时分布式事务支持充分保护任何分布式数据更新的完整性。复制同样使您得以维护多个数据复本,同时确保单独的数据复本保持同步。可将一组数据复制到多个移动的脱接用户,使这些用户自主地工作,然后将他们所做的修改合并回发布服务器。 四、易于安装、部署和使用SQL Server 2000 中包括一系列管理和开发工具,这些工具可改进在多个站点上安装、部署、管理和使用 SQL Server 的过程。SQL Server 2000 还支持基于标准的、与 Windows DNA 集成的程序设计模型,使 SQL Server 数据库和数据仓库
13、的使用成为生成强大的可伸缩系统的无缝部分。这些功能使您得以快速交付 SQL Server 应用程序,使学生只需最少的安装和管理开销即可实现这些应用程序。 五、数据仓库SQL Server 2000 中包括析取和分析汇总数据以进行联机分析处理 (OLAP) 的工具。SQL Server 中还包括一些工具,可用来直观地设计数据库并通过 English Query 来分析数据。 第二节 B/S模式及其优势一、C/S(Client/Server)模式过去,网络软件的开发都采用C/S(Client)模式,在这种模式下,主要的业务逻辑都集中于学生端程序,基于Client/Server(学生端/服务器)结构
14、的考试系统,利用计算机局域网络,每台计算机(学生端)通过安装必要的软件才能与服务器端相互通信。由于利用了计算机网络,不再需要大量人力以实现考题的一致性和考试信息的收集,自动化程度和效率较高。但由于其结构特点,只适用于一定范围的网络内部(局域网),范围难以扩展,可以通过改进通信协议,对该结构进行改造,使其适用于更广的网络范围(广域网),但由于需要安装学生端程序,维护和升级同样存在困难。这种结构也称为MIS型架构,试题内容放在远程的服务器上,在考试机上安装考试应用程序和数据库学生机配置,因此每次考试时要对机器进行安装、配置,这样一来考试组织比较烦琐;而且考试程序放在学生机上,安全性也受到一定程度的
15、影响。二、B/S(Browser/Server)模式B/S(Browser/Server)结构即浏览器和服务器结构。它是随着Internet技术的兴起,对C/S结构的一种变化或者改进的结构。在这种结构下,用户工作界面是通过WWW浏览器来实现,极少部分事务逻辑在前端(Browser)实现,但是主要事务逻辑在服务器端(Server)实现,形成所谓三层(3-tier)结构。一个三层架构的应用程序由三部分组成,这三部分各自分布在网络中的不同地方。这三个部分分别是:工作站或表示层接口、事务逻辑、数据库以及与其相关的程序设计。在一个典型的三层架构应用程序中,应用程序的用户工作站包括提供图形用户界面(GUI
16、)的程序设计和具体的应用程序入口表格或交互式窗口。这种应用程序的设计使用学生/服务器模式,各层可以同时开发,并且可以由不同的成员组用不同的语言来开发。因为各个层次的开发不会影响其他层次,所以这种模型对于进一步开发软件是很方便的。这样就大大简化了学生端电脑载荷,减轻了系统维护与升级的成本和工作量,降低了用户的总体成本(TCO)。以目前的技术看,局域网建立B/S结构的网络应用,并通过Internet/Intranet模式下数据库应用,相对易于把握、成本也是较低的。它是一次性到位的开发,能实现不同的人员,从不同的地点,以不同的接入方式(比如LAN,WAN,Internet/Intranet等)访问和
17、操作共同的数据库;它能有效地保护数据平台和管理访问权限,服务器数据库也很安全。特别是在Java这样的跨平台语言出现之后,B/S架构管理软件更是方便、快捷、高效。这种B/S模式学生端只要安装一个标准的Web浏览器,其它应用程序都存储在Web服务器上。建立在B/S模式上的在线考试系统,可建立大型、高效、共享的题库,在服务器端对数据库进行管理,学生端通过浏览器登录考试系统,打破了时空界限,可实现自动出卷、阅卷、评卷、简化考试程序,且考试结果更加公正、客观。采用B/S(Browser/Server)模式的计算机在线考试和管理系统适用于一个考场或几十个考场、几十人甚至几万人同时通过网络在线考试,解决了考
18、试系统对学生机软件过分依赖的问题,减轻了学生机软件维护工作量,比以往的考试系统更具有实用性。采用这种结构,考试系统安装和试题装卸的程序简易;进行不同类别试题的考试时仅需要在服务器上进行试题的更换处理,对考场的计算机配置应考专业的相应软件,考生就可以进行考试。此技术超越了传统的“学生机/服务器”两层结构,采用了三层体系结构:用户界面层/事务层/数据库层。因此Web结构有着更好的安全性。在用户机上不需要安装任何应用程序,应用程序可以安装在事务层所在的计算机上,试题存放在数据库服务器上(事务层和数据库可以是同一台机器)。第三节 Java简介简言之,Java环境可用来开发能在任何计算平台上运行的应用软
19、件。它实际上是一种非常基本且结构紧凑的技术,而它对World Wide Web以及商业的总体影响已可同电子表格对PC机的影响相比拟。Java已用动态的交互应用软件使Web栩栩如生。它使开发人员具有“编写一次到处运行TM”的巨大能力。而且,借助其JavaAPI及其编程语言上的Java虚拟机,它已产生一种分布信息的崭新模式。这种模式叫做Java企业计算,正在帮助各企业以各种不同的方法取得竞争优势。网管和控制已大大简化。软件分配基本上是免费的,而且立即可实现。电子贸易已获得。占有成本大幅度降低。信息和应用软件到处可存取。Java建立在简单的前提基础上,即所有微处理器都应讲同一种语言所有内部采用芯片的
20、产品都应能一起工作,无缝而方便地共享信息。它已经改变企业和个人同Internet大交道的方式。现在,它正在对消费类产品产生明显的影响,而且从总体上更加深刻地影响企业计算。借助Java,您可自由自在地使用您已拥有的硬件和软件。这是因为Java是独立于平台的,它还可使您超越企业计算,使应用软件在便携式计算机、信息亭、电视、蜂窝电话和其他大量设备上运行。全世界的公司都已发现Java数不胜数的应用。所有应用可从其无可比拟的能力,即提高可靠性、安全性和简化各种不同计算产品和环境的能力中受益匪浅,而且节省的时间和费用十分可观。Java无处不在。它已拥有几百万个用户,其发展速度要快于在它以前的其他任何一种计
21、算机产品。它可位于任何地方,而且能到处运行。Java正在迅速被用做传播信息的事实上标准,这是因为它既可给企业,也可给最终用户带来似乎数不清的好处。第二章 考勤管理系统概念结构设计第一节 需求分析在当今社会,各种物资越来越丰富,而作为一个企业,特别是一个商业企业来说,需要对这些物资进行管理。由于物质繁杂,管理起来有一定的难度,可以用信息化的手段来处理这件原本十分复杂的事物,所以我们可以用VFP来设计一个考勤管理系统。第二节 系统分析一、功能分析该系统要实现的功能如下:1.部门信息管理:包括一个企业的部门信息的添加、修改和删除。2.员工信息管理:包括企业员工信息如员工编号、姓名、性别、婚姻、身份证
22、、所在部门等信息的添加、修改、删除、查询和打印。3.员工考勤操作:主要是针对某一个员工在其需要考勤的进段进行考勤,记录其某一个时段(上午或下午)的考勤状况。4.考勤记录管理:包括对考勤操作留下来的记录进行分条浏览、修改、删除、查询和打印。5.员工加班操作:主要是记录某一个员工开始加班时间和结束加班时间,并根据这两个时间数值计算出其加班时长。6.加班记录管理:包括对加班管理操作留下来的记录进行修改、删除、查询和打印。7.日终处理操作:主要在每日下午将要下班时对今天应该考勤却未考勤的人的考勤状况进行调整,提供了两种选择:一种是将其作为休息,也就是放假;一种是将其作为旷勤。这样就保证每个员工在其应该
23、考勤的时候都有考勤记录。8.记录查询:包括对考勤记录、加班记录的按条件查询,对一个月内考勤记录、加班记录、日终处理记录的统计查询。9.信息记录打印:包括员工信息、部门信息的报表打印以及一个月内考勤记录、加班记录、日终处理记录的统计报表打印。10.系统功能:包括系统登陆、系统退出以及关于本系统;本系统使用内置账号,不提供添加或者修改账号的功能。二、模块设计根据上面所要求的功能,可以对上面的功能进行模块化,得出如下图所示的系统功能模块图。图2.1 系统功能模块图日常操作:对当天应该考勤的员工进行考勤;记录员工加班的开始时间及结束时间并计算出加班时长;对当天应该考勤而未考勤的职工进行强行考勤。信息管
24、理:管理部门信息,添加、修改、删除部门信息;员工信息管理,添加、修改、删除员工信息,只有首先添加了部门信息才能添加员工信息,因为一个员工应该是属于某一个具体部门的;对考勤操作留下的记录进行修改、删除和查询;对加班操作留下来的记录进行修改、删除和查询。记录查询:按条件对考勤记录、加班记录进行查询;查询一个月内的考勤记录、加班记录以及日终处理记录。记录打印:打印所有员工的信息报表及标签;打印所有部门的标签;按日期分组打印一个月内员工考勤记录。系统功能:在使用系统前要求先登录,只有合法的用户才能登录系统;显示系统的开发人等信息;退出系统。第三章 考勤管理系统结构的设计第一节 业务流程分析根据职工考勤
25、管理系统的设计要求可以画出该系统的业务流程图,如图3.1所示。一、系统流程图管理员(企业领导)图3.1 系统流程图二、数据流程图图3.2 数据流程图第二节 功能模块设计企业考勤管理系统分为系统管理、部门管理、公告管理、员工管理、请假管理、个人考勤、考勤管理、留言管理、退出系统等九大模块。各模块的具体功能划分如下:一、系统管理模块图3.3 系统管理模块功能树系统管理模块包括更改密码、高级管理(控制系统)两大子模块。1、更改密码:各级管理员登录系统后,可自行重新设置登录密码;2、高级管理:控制系统的功能操作二、部门管理图3.4 部门管理模块第三节 数据库设计表3.1 管理员信息表(administ
26、rators)名称字段名称数据类型主键非空用户名wnumvarchar(4)yesyes密码wpswdvarchar(30)noyes管理员姓名tnamevarchar(30)nono性别tsexintnono所在部门tdepintnoyes身份等级tpri intnoyes表3.2 控制系统信息表(cust_sys)名称字段名称数据类型主键非空标号actintyesyes员工teacintnono备注remarkvarchar(100)nono表3.3 留言表(liuyuan)名称字段名称数据类型主键非空记录IDrec_idintyesyes昵称namevarchar(20)nono性别se
27、xintnono邮箱emailvarchar(20)nono内容liuyuanvarchar(500)nono时间addtimedatetimenoyes表3.4 公告表(news)名称字段名称数据类型主键非空记录IDidintyesyes标题titlevarchar(100)nono新闻内容newsvarchar(500)nono部门IDdepintnono部门名称depnamevarchar(50)nono添加时间Add_timedatetimenono表3.5 部门表(departmen)名称字段名称数据类型主键非空记录IDSys_idintyesyes部门IDdepintnoyes部门
28、名称depnameVarchar(30)noyes表3.6 考勤表(kq)名称字段名称数据类型主键非空记录IDrec_idintyesyes用户IDwnumvarchar(50)nono是否上班go_onintnono上班时间go_workdatetimenono是否下班get_onintnono下班时间get_workdatetimenono性质pstateintnono表3.7 请假信息表(qj)名称字段名称数据类型主键非空标号actintyesYes员工teacintnoyes意见stuIntnoyes备注remarkVarchar(100)noYes第四节 管理系统流程设计管理员可通过
29、登录名与密码进入考勤系统,可以通过职工编号来进行对各别员工的查询,进行考勤,也可以查看全体员工的考勤情况,还可以进行添加,删除等操作。根据系统功能,可以画出如下流程图:图3.5 系统功能流程图针对职工管理系统的流程图,现具体描述其功能:1.管理员登陆:系统对其合法性进行检查;2.职工个人考勤:通过职工编号查询其信息;3.添加操作:添加职工的各种基本信息;4.删除操作:根据职工编号删除某个职工的全部信息。第五节 数据库的逻辑设计根据系统的功能可以设计有关的概念模型,该系统涉及一张职工考勤信息表,可以画出如下E-R图:一、管理员实体E-R图:图3.6 管理员实体E-R图二、职工实体E-R图:图3.
30、7 职工实体E-R图三、数据库设计:1.启动SQL Server 20052.建立数据库打开企业管理器,新建数据库Student3.创建表kaoqing, kaoqing表的字段的属性为:表3.8 Kaoqing表27第四章 考勤管理系统的实现第一节 数据库的连接1.创建ODBC数据源:选择“控制面板”“管理工具”“ODBC数据源”,在双击ODBC数据源后,选择“用户DSN”,添加新的数据源,单击“配置”,选择SQL Server,数据源名称为mymoon,设置用户名为sa,密码为163123,选择数据库Student。2.建立JDBC-ODBC 桥接器:Class.forName(“sun.
31、jdbc.odbc.JdbcOdbcDriver”);建立桥接器时可能发生异常,为捕获这个异常,所以建立桥接器的标准为:TryClass.forName(“sun.jdbc.odbc.JdbcOdbcDrivder”); Catch(ClassNotFoundException e)3.与ODBC数据源指定的数据库建立连接:使用java.sql包中的Connection类声明一个对象,然后使用类DriverManager调用它的一个静态方法getConnection创建这个连接对象,con=DriverManager.getConnection(jdbc:odbc:mymoon,sa,1631
32、23);捕获异常为try con=DriverManager.getConnection(jdbc:odbc:mymoon,sa,163123); catch(SQL Exception e)第二节 系统实现一、用户登录 当用户登陆时,首先出现的是一个登陆页面,只有输入正确的管理员姓名与密码时,才能进入考勤系统。关键代码如下: 登陆页面 欢迎进入职工考勤管理系统! /转页到check.jsp 页面 管理员: 密码: 如下图所示:图4.1 用户登陆界面图二、用户检查对输入的管理员姓名与密码进行检查,如若正确,则转到考勤页面,若不正确,则返回到登陆页面,再次输入
33、姓名与密码,直至正确。代码如下: JSP Page /正确,跳转到考勤页面 /不正确,返回到登陆页面 如下图所示:图4.2 用户检查图三、按职工编号考勤:输入职工编号,可以通过调用bean来取得数据库中信息,并显示出来。关键代码如下:根据职工编查询到的考勤记录 ConditonQuery.java的部分代码如下:package tom.jiafei;import java.sql.*;public class ConditionQuery String number;/职工编号 StringBuffer queryResultByNumber; public ConditionQuery()
34、queryResultByNumber=new StringBuffer(); tryClass.forName(sun.jdbc.odbc.JdbcOdbcDriver);/建立一个jdbc-odbc桥接器 catch(ClassNotFoundException e)/捕获建立桥接器时的异常 /private StringBuffer f(String condition) StringBuffer str=new StringBuffer(); Connection con; Statement sql; ResultSetrs; trycon=DriverManager.getConn
35、ection(jdbc:odbc:mymoon,sa,163123);/连接数据库 sql=con.createStatement(); rs=sql.executeQuery(condition); str.append(); str.append(+职工编号); str.append(+职工姓名); str.append(+所在部门); str.append(+性别); str.append(+缺勤次数); str.append(+请假次数); str.append(+出差次数); while(rs.next() str.append(); str.append(+rs.getString
36、(1)+); str.append(+rs.getString(2)+); str.append(+rs.getString(3)+); str.append(+rs.getString(4)+); str.append(+rs.getString(5)+); str.append(+rs.getString(6)+); str.append(+rs.getString(7)+); str.append(); str.append(); con.close(); catch(SQLException e)str.append(e); return str;其结果如下图所示:图4.3 职工编号考勤图四、查看全体职工考勤记录关键代码如下: % Connection con; Statement sql; ResultSet rs; try Class.forName(sun.jdbc.odbc.JdbcOdbcDriver); catch (ClassNotFoundException e) out.print(e); /捕获建立桥接器时的异常try con = DriverManager.getConnection(jdbc:odbc:mymoon, sa, 163123); sql = con.createStatement(); rs = sql.executeQu