员工考勤系统毕业设计论文(样例)

综 合 实 训

题 目: 员工考勤系统

专 班 姓 名: 董明月

指导老师: 刘淑英

答辩时间: 2015/4/18

目 录

摘 要 ............................................................................. 1

一、绪论 ........................................................................... 3

1.1 引言 ........................................................................... 3

1.2 开发背景 ....................................................................... 3

二、开发工具简介 ................................................................... 4

2.1 JSP ............................................................................ 4

2.2 MYSQL .......................................................................... 5

2.3 Tomcat ......................................................................... 6

三、实训任务书 ..................................................................... 7

3.1实训题目 ........................................................................ 7

3.2题目来源 ........................................................................ 7

3.3题目类型 ........................................................................ 7

3.4实训目标 ........................................................................ 7

3.5实训内容 ........................................................................ 7

3.6实训环境 ........................................................................ 7

3.7实训要求 ........................................................................ 8

3.8项目开发步骤 .................................................................... 8

3.9时间安排 ........................................................................ 8

四、任务分配表 ..................................................................... 9

五、 需求分析 ...................................................................... 9

5.1 项目概述及基本要求 . ............................................................ 9

5.2可行性分析 ...................................................................... 9

5.3功能需求 ....................................................................... 10

5.4结论 ........................................................................... 10

六、详细设计 ...................................................................... 11

七、主要代码 ...................................................................... 14

八、个人总结 ...................................................................... 30

九、致谢信 ........................................................................ 30

十、参考资料 ...................................................................... 30

摘 要

随着计算机的普及和计算机科学技术的飞速发展,人们开始越来越多地利用计算机解决实际问

题。员工考勤信息系统管理是企业信息管理的重要部分。面对大量的人事考勤信息,采用人力处理

将浪费大量的时间、人力和物力,且数据的准确性较低。

因此,开发要给界面友好,易于操作的员工信息管理软件进行自动化处理具有较大的社会现实

意义。同时,人事考勤系统是一切应用系统的典范,它具有一切应用系统的特征,系统结构与现实

生活紧密结合,具体直观,开发应用简单,不失一般性。

人事考勤管理系统的特点是从人事考勤管理的角度出发,用集中地数据库将几乎所有与人事考

勤相关的数据统一管理起来,形成了集成的信息源。友好的用户界面,强有力的报表生成工具,集

中精力从战略的角度来考虑企业人事考勤规划和政策。

作为计算机应用的一部分,使用计算机对考勤信息进行管理,有着手工管理所无法比拟的优点,

例如:检索迅速、查找方便、可靠性高、存储量大、保密性好、寿命长、成本低等。这些优点能够

极大地提高人事劳资管理的效率,也是企业的科学化、正规化管理,与世界接轨的重要条件。

本系统就是为了适应这种要求而设计的。使用简单,信息维起来非常方便。大大减少了公

司的人力和物力,为公司的考勤以及工资的发放带来很大的便利。

经过分析, 我们使用 sun Microsystems公司的 jsp技术进行开发, 利用Eclipse 提供的

MyEclipse 面向对象的开发工具. 其方便快捷的多窗口界面,控制台异常报错,等功能简化了开发时

间,通过插件机制来灵活地构件开发环境。从而在短时间内建立系统应用原型, 然后对初始原型系统

进行需求迭代, 不断修正和改进, 直到形成用户满意的可行系统。

整个系统从符合操作简便、界面友好、灵活、实用、安全的要求出发,完成考勤信息管理的全过程,

包括用户注册、出勤时间、退勤时间、工作时间、打印等功能,并根据此编码在计算机中建立固定

资产信息库,对考勤信息进行管理,使管理人员可对员工的工作时间信息进行跟踪,随时掌握员工

的具体考勤情况,减少考勤记录丢失现象,解决查找、统计困难等问题,提高管理人员的工作效率。

因此,开发这样一套管理软件成为很有必要的事情, 在下面的各章中我们将以开发一套员考勤管理系

统为例, 谈谈其开发过程和所涉及到的问题及解决方法。

在系统开发中我们使用MyEclipse 插件控件, MS的JDBC 驱动,连接MYSQL 数据库,将存在数据库

的信息通过界面显示出来,并进行修改,查询等操作。

关键字:JSP 、MyEclipse 、Tomcat 、MYSQL 。

ABSTRACT

The attendance system has become each great company management employee to win necessary of a

part, got an extensive application in the much more heavy high company.Always say that come, the

attendance system is the cultural course which passes to gather a employee and correspond of test

frequently an information etc. Student's testing to frequently manage system is frequentlya typical

information management system(MIS), its development mainly includes the application develop of

procedure of establishment and maintenance and head of backstage database 2.Request that starting to build

up the data consistency and the integrity is strong to the former, the data safety good database.But then

request to the latter.Through analysis, the sun Microsystems of our usage's jsp technique of the company

carries on a development, make use of the Eclipse provide of the MyEclipse face to the development tool of

object.Its convenience is fast of many window way interface, control pedestal the abnormality report be

wrong, wait function to simplify development time and pass a plug-in mechanism come vividly Gou piece

development environment.Build up system application prototype in the in a short time thus, then start

prototype system to carry on need Die generation to the beginning, continuously revise with improvement,

until the formation customer be satisfied with of can go system.The whole system from match an operation

simple, interface amity, vivid, practical, safety of the request set out and complete to test frequently

information management of whole processes, include each one to test frequently affairs, for example

personal leave, sick leave, be late, leave early, absence and other worthy test frequently an information to

assign 1 uniquely tests frequently serial number, and according to this coding is in the calculator build up a

fixed assets information database, carry on a management towards testing frequently a record of

information go into, modify, delete, statistics wait, make manager can to the student's concrete

information(or misty information) to carry on follow, reduce to test to frequently record to throw to lose

phenomenon, resolve to check to seek, statistics difficulty etc. problem, exaltation the manager's work

efficiency.The MyEclipse plug-in of our usage controls a piece in the system the development, the MS

JDBC drive, the Server2000 of the conjunction MYSQL database, pass the information of existence

database's interface manifestation to come out, and carry on a modification, search etc. operation.

Key words: JSP, MyEclipse, Tomcat, MYSQL.

一、绪论

1.1 引言

我国的计算机应用于企业管理,只是在70年代末期以后才逐渐开展起来的。目前,计算机辅助

管理已在我国的各行各业得到了广泛地应用,但总的来说,计算机在我国管理中的应用,还处于初

级阶段,尽管近两年发展较快,但还需要不断地探索和研究。尤其是计算机辅助考勤管理仅是近几

年才在我国得到普及和发展,而在许多发达国家计算机辅助考勤管理已十分普及。

随着我国国民经济建设的蓬勃发展和具有中国特色的社会主义市场经济体制的迅速完善,各个

行业都在积极使用现代化的手段,不断改善服务质量,提高工作效率,这些都在很大程度上给企业

提出越来越严峻的挑战,对企业体系无论是在行政职能、企业管理水平以及优质服务上都提出更高

的要求。建设一个科学高效的考勤管理系统是解决这一问题的必由之路。考勤管理作为企业内部的

一种管理也是如此,由于企业职工人数较多,每一位职工的具体实际情况也不尽相同,日常的考勤

工作。

我国中小企业信息化水平一直处在比较初级的阶段,有关统计表明,真正具备计算机信息化比

较高应用水平的企业在全国1000多万中小企业中所占的比例还不足10%。然而,随着我国市场经济

的不断成熟,企业的竞争也在不断的加剧,同时企业组织管理观念的变革以及业务流程标准化也在

不断完善,中小企业信息化建设的热情近几年来有了显著的提高。因此开发一个高质量的考勤工资

系统进行企业管理尤为重要。

伴随着计算机技术在各行各业日益广泛和深入的应用,企业对员工的考勤管理不在像过去一样

靠手工去做,在一些稍具规模的企事业单位内考勤也开始信息化。考勤规则的灵活定义,提供和多

种考勤机的接口,并可以手工录入考勤记录。

本系统就是为了适应这种要求而设计的。集信息的显示、输入、修改、删除、查询等各种处理

为体,信息维护起来非常方便。大大减少了公司的人力和物力, 为公司及工资的发放带来很大的便利。

1.2 开发背景

随着计算机技术的飞速发展以计算机与通信技术为基础的信息系统正处于蓬勃发展的时期。同

时以计算机为基础的各种软件也渐渐走入规模不同的各种企业单位中。企业在对竞争日趋强烈的现

代社会在不断提高自身产品质量的同时对员工的要求也逐渐提高考勤管理也就成为了一个大众化的

课题。

企业考勤管理系统是为了解决员工考勤管理的而设计的目的是建立一个能够初步实现企业考勤

管理系统的智能化管理提高考勤管理效率工作人员能够在各个岗位上的工作状态得到及时的反馈而

系统所需的工作人员的数量少效率高。

企业考勤管理系统是一个企事业单位不可缺少的一部分它的内容对于企业的决策者和管理者来

说都是至关重要的,因此,企业考勤管理系统应该能够为用户提供充足人事管理的信息和快捷的管

理查询手段,但一直以来人们使用传统的人工方式管理员工的上下班等信息,这种管理方式存在着

许多缺点,诸如效率低,保密性差等,而且时间一长,将产生大量的文件和数据,这对于查找、更

新和维护都带来了不少的困难。

随着科学技术的不断提高,计算机科学不断发展,其强大的功能已经被人们深刻认识,它已经

进入了人类社会的各个领域并发挥着越来越重要的作用。

作为计算机应用的一部分,使用计算机对企业考勤信息进行管理,具有着人工管理无法比拟的

优点,它检索迅速、查找方便、可靠性高、存储量大、保密性好、寿长、成本低等,可减少更多的

人力物力,这些都能够极大地提高企业的考勤管理效率,也是企业考勤管理科学化、正规化,与世

界接轨的重要条件。因此,开发一个企业考勤管理系统是很有必要的,具有其特有的技术意义和管

理意义。

二、开发工具简介

2.1 JSP

JSP 技术使用java 编程语言编写类XML 的tags 和scriptlets ,来封装产生动态网页的处理逻

辑。网页还能通过tags 和scriptlets 访问存在于服务端的资源的应用逻辑。JSP 将网页逻辑与网

页设计和显示分离,支持可重用的基于组件的设计,使基于Web 的应用程序的开发变得迅速和容易。

Web 服务器在遇到访问JSP 网页的请求时,首先执行其中的程序段,然后将执行结果连同JSP 文件

中的HTML 代码一起返回给客户。插入的java 程序段可以操作数据库、重新定向网页等,以实现建

立动态网页所需要的功能。

JSP 与JavaServlet 一样,是在服务器端执行的,通常返回给客户端的就是一个HTML 文本,因

此客户端只要有浏览器就能浏览。JSP 的1.0规范的最后版本是1999年9月推出的,12月又推出了

1.1规范。目前较新的是JSP1.2规范,JSP2.0规范的征求意见稿也已出台。

JSP 页面由HTML 代码和嵌入其中的Jav 代码所组成。服务器在页面被客户端请求以后对这些

Java 代码进行处理,然后将生成的HTML 页面返回给客户端的浏览器。Java Servlet 是JSP 的技术

基础,而且大型的Web 应用程序的开发需要Java Servlet 和JSP 配合才能完成。JSP 具备了Java

技术的简单易用,完全的面向对象,具有平台无关性且安全可靠,主要面向因特网的所有特点。

2.2 MYSQL

MySQL 是一个小型关系型数据库管理系统,开发者为瑞典MySQL AB公司。在2008年1月16号

被Sun 公司收购。而2009年,SUN 又被Oracle 收购. 对于Mysql 的前途, 没有任何人抱乐观的态度.

目前MySQL 被广泛地应用在Internet 上的中小型网站中。由于其体积小、速度快、总体拥有成本低,

尤其是开放源码这一特点,许多中小型网站为了降低网站总体拥有成本而选择了MySQL 作为网站数

据库。MySQL 的官方网站的网址是:www.mysql.com 。

使用C 和C++编写,并使用了多种编译器进行测试,保证源代码的可移植性. 支持AIX 、FreeBSD 、

HP-UX 、Linux 、Mac OS、Novell Netware、OpenBSD 、OS/2 Wrap、Solaris 、Windows 等多种操作系

统。为多种编程语言提供了API 。这些编程语言包括C 、C++、Python 、Java 、Perl 、PHP 、Eiffel 、

Ruby 和Tcl 等。支持多线程,充分利用CPU 资源。优化的SQL 查询算法,有效地提高查询速度。既

能够作为一个单独的应用程序应用在客户端服务器网络环境中,也能够作为一个库而嵌入到其他的

软件中提供多语言支持,常见的编码如中文的GB 2312、BIG5,日文的Shift_JIS等都可以用作数

据表名和数据列名。提供TCP/IP、ODBC 和JDBC 等多种数据库连接途径。提供用于管理、检查、优

化数据库操作的管理工具。可以处理拥有上千万条记录的大型数据库。

与其他的大型数据库例如Oracle 、DB2、SQL Server等相比,MySQL 自有它的不足之处,如规

模小、功能有限(MySQL Cluster的功能和效率都相对比较差)等,但是这丝毫也没有减少它受欢

迎的程度。对于一般的个人使用者和中小型企业来说,MySQL 提供的功能已经绰绰有余,而且由于

MySQL 是开放源码软件,因此可以大大降低总体拥有成本。 目前Internet 上流行的网站构架方式

是LAM (Linux+Apache+MySQL+PHP),即使用Linux 作为操作系统,Apache 作为Web 服务器,MySQL

作为数据库,PHP 作为服务器端脚本解释器。由于这四个软件都是自由或开放源码软件(FLOSS) ,

因此使用这种方式不用花一分钱就可以建立起一个稳定、免费的网站系统。

可以使用命令行工具管理MySQL 数据库(命令mysql 和 mysqladmin),也可以从MySQL 的网站

下载图形管理工具MySQL Administrator 和MySQL Query Browser 。phpMyAdmin 是由php 写成的MySQL

资料库系统管理程式,让管理者可用Web 界面管理MySQL 资料库。

phpMyBackupPro 也是由PHP 写成的,可以透过Web 介面创建和管理数据库。它可以创建伪

cronjobs ,可以用来自动在某个时间或周期备份MySQL 数据库。另外,还有其他的GUI 管理工具,

例如早先的mysql-front 以及 ems mysql manager,navicat 等等。

2.3 Tomcat

目前支持JSP 的应用服务器是较多的,Tomcat 是其中较为流行的一个Web 服务器,被avaWorld

杂志的编辑选为2001 年度最具创新的java 产品, 可见其在业界的地位。 Tomcat 是一个免费的开源的Serlvet 容器。

在Tomcat 中,应用程序的部署很简单,你只需将你的WAR 放到Tomcat 的webapp 目录下,Tomcat

会自动检测到这个文件,并将其解压。你在浏览器中访问这个应用的Jsp 时,通常第一次会很慢,

因为Tomcat 要将Jsp 转化为Servlet 文件,然后编译。编译以后,访问将会很快。另外Tomcat 也

提供了一个应用:manager ,访问这个应用需要用户名和密码,用户名和密码存储在一个xml 文件中。

通过这个应用,辅助于Ftp ,你可以在远程通过Web 部署和撤销应用。当然本地可以。在Tomcat 中,

应用程序的部署很简单,你只需将你的WAR 放到Tomcat 的webapp 目录下,Tomcat 会自动检测到这

个文件,并将其解压。你在浏览器中访问这个应用JSP 时,通常第一次会很慢,因为Tomcat 要将

JSP 转化为Servlet 文件,然后编译。编译后访问将会很快。另外Tomcat 也提供了一个应用:Manager ,

访问这个应用需要用户名和密码,用户名和密码存储在一个xml 文件中。通过这个应用,辅助于FTP ,

你可以在远程通过Web 部署和撤销应用,当然本地也可以。

基于Tomcat 的开发其实主要是JSP 和Servlet 的开发,开发JSP 和Servlet 非常简单,你可以

用普通的文本编辑器或者IDE ,然后将其打包成WAR 即可。我们这里要提到另外一个工具Ant ,Ant

也是Jakarta 中的一个子项目,它所实现的功能类似于Unix 中的make. 你需要写一个build.xml 文

件,然后运行Ant 就可以完成xml 文件中定义的工作,这个工具对于一个大的应用来说非常好,我

们只需在xml 中写很少的东西就可以将其编译并打包成WAR 。事实上,在很多应用服务器的发布中

都包含了Ant 。另外,在JSP1.2中,可以利用标签库实现Java 代码与Html 文件的分离,使JSP 的

维护更方便。

三、实训任务书

3.1实训题目

考勤系统

3.2题目来源

职业技术学院计算机系网络办公

3.3题目类型

项目开发

3.4实训目标

通过该综合实训课程的有效组织与实施,学生应该掌握的核心能力和关键能力有:

1. 编写代码的能力

2. 编写设计文档的能力

3. 编写测试文档的能力

4. 团队协作的能力

5. 学习新技术新工具的能力

3.5实训内容

本次综合实训的内容主要是员工考勤系统,在该系统中,围绕公司员工出勤的需求主要完成以下几个模块的内容:

用户注册、出勤时间、退勤时间、工作时间,数据备份功能,出勤信息统计功能,数据打印功能,基础数据维护功能,权限管理功能等。

3.6实训环境

硬件环境:CPU :PIII 以上,内存:512MB 以上,硬盘:40GB 以上

软件环境:JAVA 方向:IDE :eclipse ,JDK :jdk1.5,WEB 服务器:tomcat ,PLUGIN: struct1.1,DBMS:MYSQL,开发软件:CVS

3.7实训要求

(1)搭建好开发环境,测试后能稳定运行;

(2)需要安装杀毒软件,防止病毒感染,影响项目开发;

(3)项目开发需要团队协作一起开发,培养团队精神;

(4)按时到指定的机房进行项目开发;

(5)编码编程风格要完全按照规定书写;

(6)测试文档要严格按照规定格式书写;

(7)项目使用手册要完全按照规定模版书写;

(8)要按照老师的进度表保质保量的完成阶段开发任务。

3.8项目开发步骤

(1)需求分析,掌握办公自动化系统的各项业务流程;

(2)总体设计,完成整个系统的模块架构;

(3)详细设计,完成数据库字典的设计;

(4)详细设计,设计画面及其处理说明;

(5)编写代码,按照规范书写;

(6)项目测试,按照规范书写;

(7)撰写使用手册;

(8)上交项目源代码、测试文档和使用手册。

3.9时间安排

四、任务分配表

五、 需求分析

5.1 项目概述及基本要求

企业考勤管理系统是一个企事业单位不可缺少的一部分, 它的内容对于企业的决策者和管理者来说都是至关重要的,因此,企业考勤管理系统应该能够为用户提供充足人事管理的信息和快捷的管理查询手段,但一直以来人们使用传统的人工方式管理员工的上下班等信息,这种管理方式存在着许多缺点,诸如效率低,保密性差等,而且时间一长,将产生大量的文件和数据,这对于查找、更新和维护都带来了不少的困难。因此,开发一个企业考勤管理系统是很有必要的,具有其特有的技术意义和管理意义。

5.2可行性分析

技术可行性

根据新系统目标来衡量所需的技术是否具备,一般可从硬件、软件的性能要求、环 境条件、技术人员水平和数量等方面去考虑和分析,其中开发人员的技术力量应首先考 虑能力与水平,并考虑近期内可以培养和发展的技术人员。

经济可行性

该系统可以利用学校的现有设备,不必添加其他的硬件设施,成本低廉,而且使用 本系统可以节省时间,减少人工支出,提高工作效率。根据经验算法,而同时又减少了 数据的流通环节,不必要花费那么多的时间,也就是说最重要的是就是提高了效率,而 又保证了各项数据的准确性,也避免了工作人员的流动造成的收据丢失等问题,适应了 当前的发展形式。 运行可行性

对新系统运行后给现行系统带来的影响(包括组织机构、管理方式、工作环境等)和后果进行估计和评价。同时还应考虑现有管理人员的培训、补充,分析在给定时间里能否完成预定的系统开发任务等。按上述三方面进行可行性分析、研究后,我们认为该项目是可行的。 法律可行性

法律上可行整个系统由于是自行开发,自行使用,所以系统本身不存在法律上的版权争议。在服务器软件方面,应该使用正版软件,因为整个系统尽管是开发给内部使用,但它毕竟很多部分还是要依靠Internet 的,一旦服务器连接到Internet 上,它的操作系统可能会被Microsoft 跟踪,如果不是正版软件,将不得不面临民事诉讼的风险。

5.3功能需求

一般的性能需求是指相互消息传递顺利,分析正确,界面友好,运行时间满足使用 需要,安全性得到保证。在开发系统的每个阶段,均需要考虑彼此间的认证与授权。尤 其是认证,简单地说就是确定谁是特定用户,并针对安全源验证该用户的身份。在处理 完识别用户的方法之后,必须利用一种方法以向用户授权,从而能够使用系统的特定功 能。也就是说,需要一种方法来决定允许特定用户进行什么样的操作。 该系统主要分为五大功能:用户注册、出勤时间、退勤时间、工作时间、打印

5.4结论

根据以上的可行性研究,我们小组认为开发此系统的条件已经具备,可以开始进行开发。

六、详细设计

系统功能:

系统主要分为五大功能:用户注册、出勤时间、退勤时间、工作时间、打印 用户注册

用户初次进入考勤系统时,需注册个人信息,界面如下图所示:

当输入的用户名为空时,提示:用户名不能为空

当注册成功时,会显示下图界面:

用户登录

注册完信息后点击登录界面(如下图),输入自己的账号及密码,点击登录。

当输入信息有误时,出现如下界面,点击重新登录即可。

输入正确后出现如下界面

出勤 点击出勤

退勤

出勤成功后,登录信息会显示在登录后的页面上,点击退勤

打印

签到或退勤后打印截图:

七、主要代码

用户注册

html

PUBLIC

"-//W3C//DTD

HTML

4.01

Transitional//EN"

"http://www.w3.org/TR/html4/loose.dtd">

考勤记录页

欢迎进入考勤系统!

java.text.SimpleDateFormat formatter = new java.text.SimpleDateFormat("yyyy-MM-dd

HH:mm:ss");

java.util.Date currentTime = new java.util.Date();//得到当前系统时间 String str_date1 = formatter.format(currentTime); //将日期时间格式化 %>

当前时间为

Class.forName("com.mysql.jdbc.Driver"); Connection

con

=

DriverManager.getConnection("jdbc:mysql://localhost:3307/attendance","root","123456");

String sql;

Statement smt = con.createStatement(); sql="SELECT * FROM table_2"; ResultSet rs = smt.executeQuery(sql); out.println("考勤记录表


"); out.println("");

out.println("

");

out.println("

");

%>

}

con.close();

注册成功

request.setCharacterEncoding("gb2312");//设置接收编码格式

String requsername=request.getParameter("username");//接收参数username String reqpassword=request.getParameter("userpassword");//接收参数password

String reqconfirmpassword=request.getParameter("confirmpassword");//接收参数confirmpassword %>

String url="jdbc:mysql://localhost:3307/attendance"; //url地址,javaweb 是数据库名称 String user="root"; String password="123456"; Connection conn=null; PreparedStatement pstmt=null; try{

Class.forName("com.mysql.jdbc.Driver");//加载jdbc 驱动程序

conn=DriverManager.getConnection(url,user,password);//连接MYsql 数据库 }

catch(ClassNotFoundException e) {

out.println("找不到驱动类");//抛出异常,提示错误 }

catch(SQLException e){ out.println("连接数据库失败!"); } try{

String sql="insert into table1(name,password) values(?,?)";//增加一条用户信息 pstmt=conn.prepareStatement(sql); //创建语句对象prepareStatement pstmt.setString(1,requsername);//设置参数, 接收到的用户名 pstmt.setString(2,reqpassword);//设置参数, 接收到的密码 pstmt.executeUpdate();//添加注册用户 out.println("用户注册成功,请登录"); }

catch(SQLException e){

out.println("添加用户信息失败!"); }

//关闭数据库连接 try{

if(pstmt!=null){ pstmt.close();

//关闭预处理语句对象 pstmt=null; }

if(conn!=null){

conn.close();//关闭数据库连接 conn=null; }

}catch(Exception e){

out.println("数据库关闭异常!");

}

%>

用户登录

登录页面

登录验证

登录验证

request.setCharacterEncoding("gb2312");//设置接收编码格式

String requsername=request.getParameter("username");//接收参数username

String reqpassword=request.getParameter("userpassword");//接收参数password

String name1=new String(request.getParameter("username").getBytes("gb2312"),"GBK");

//把接收到的值映射为myname 字段,存数据

session.setAttribute("myname",name1);

%>

String url="jdbc:mysql://localhost:3307/attendance";

String user="root";

String password="123456";

Connection conn=null;

ResultSet rs=null;

boolean flag=false;

PreparedStatement pstmt=null;

String name=null;

try{

Class.forName("com.mysql.jdbc.Driver");//加载jdbc 驱动程序

conn=DriverManager.getConnection(url,user,password);//连接MYsql 数据库

} catch(ClassNotFoundException e)

{

out.println("找不到驱动类");//抛出异常,提示错误

} catch(SQLException e){

out.println("连接数据库失败!");

}

try{

String sql="select name,password from table1 where name=?&&password=?";

//查找一条用户信息

pstmt=conn.prepareStatement(sql); //创建语句对象prepareStatement

pstmt.setString(1,requsername);//设置查询所需要的内容

pstmt.setString(2,reqpassword);//设置查询所需要的内容

rs=pstmt.executeQuery();//执行查询

if(rs.next()){

name=rs.getString(1);

flag=true;

}

} catch(SQLException e){

out.println("添加用户信息失败!");

} //关闭数据库连接

try{

if(pstmt!=null){

pstmt.close(); //关闭预处理语句对象

pstmt=null;

}

if(conn!=null){

conn.close();//关闭数据库连接

conn=null;

}

}catch(Exception e){

out.println("数据库关闭异常!");

}

%>

if(flag){ %>

"/>

%>

用户登录失败

登录失败页面

对不起,你输入的信息有误,请点击链接重新登录:

用户登录成功

考勤记录页

欢迎进入考勤系统!

java.text.SimpleDateFormat formatter = new java.text.SimpleDateFormat("yyyy-MM-dd HH:mm:ss");

java.util.Date currentTime = new java.util.Date();//得到当前系统时间

String str_date1 = formatter.format(currentTime); //将日期时间格式化

%>

当前时间为

Class.forName("com.mysql.jdbc.Driver"); Connection con = DriverManager.getConnection("jdbc:mysql://localhost:3307/attendance","root","123456");

out.println("

姓名 出勤时间 退勤时间 工作时间
"+rs.getString(2)+" "+rs.getString(3)+" "+rs.while(rs.next()){

getString(4)+"

"+rs.getString(5)+"
"+rs.getString(2)+" "+rs.getString(3)+" "+rs.getString(4)+""); out.println(""); out.println(""); while(rs.next()){ d>");

} con.close();

%>

出勤

String path = request.getContextPath();

String basePath = request.getScheme()+"://"+request.getServerName()+":"+request.getServerPort()+path+"/";

%>

java.text.SimpleDateFormat formatter = new java.text.SimpleDateFormat("yyyy-MM-dd HH:mm:ss");

java.util.Date currentTime = new java.util.Date();//得到当前系统时间

String str_date1 = formatter.format(currentTime); //将日期时间格式化

String name=(String)session.getAttribute("myname");

%>

//打开数据库,对数据库进行操作

Class.forName("com.mysql.jdbc.Driver");

Connection con

DriverManager.getConnection("jdbc:mysql://localhost:3307/attendance","root","123456");

Statement smt = con.createStatement();

String sql;

sql = "insert into table_2(name,starttime) values ('"+name+"','"+str_date1+"')";

smt.execute(sql);

String name2=new String (str_date1);

//把接收到的值映射为myname1字段,存数据

session.setAttribute("myname1",name2);

%>

con.close();

%>

=

退勤

String path = request.getContextPath(); String basePath = request.getScheme()+"://"+request.getServerName()+":"+request.getServerPort()+path+"/";

%>

java.text.SimpleDateFormat formatter = new java.text.SimpleDateFormat("yyyy-MM-dd HH:mm:ss");

java.util.Date currentTime = new java.util.Date();//得到当前系统时间

String str_date3 = formatter.format(currentTime); //将日期时间格式化

String name3=(String)session.getAttribute("myname1");

String str_date2 = currentTime.toString();

%>

Class.forName("com.mysql.jdbc.Driver"); Connection con = DriverManager.getConnection("jdbc:mysql://localhost:3307/attendance","root","123456");

Statement smt = con.createStatement(); String sql; try{ sql= "update table_2 set endtime=('"+str_date3+"') where starttime=('"+name3+"')";

smt.execute(sql); }catch(Exception e){

out.println("插入endtime 出现异常!!");

}

try{ sql = "update table_2 set worktime=timediff(endtime,starttime)where starttime=('"+name3+"')"; smt.execute(sql); }catch(Exception e){ out.println("插入worktime 出现异常!!"); } try{ sql = ""; }catch(Exception e){ out.println("累计总时间出错!!"); } %>

打印

%>

Excel

"); out.println("

");

%> while (rs.next()) { } con.close(); out.println("

");

八、个人总结

经过几个月来的设计,“考勤管理信息系统”已经基本设计完成。在这几个月的开发过程中,学到了许多有关数据库管理软件设计的东西,对管理信息系统有了更加全面而深刻的认识。另外,通过对jsp 的使用,使我对该软件更加熟悉,学到了很多关于该软件可视化编程的东西,也深深体会到了jsp 功能的强大,使用和操作简单。基于该系统的一些设计,下面对系统做一个总结。

在整个设计过程中,主要的工作有:用户注册、出勤时间、退勤时间、工作时间、打印等功能。模块的页面设计及功能的设计实现。设计中力求界面友好、简洁,易于操作。代码部分尽量避免逻辑错误,尽量使程序具有较好的可读性,有利于其他的设计者对程序的阅读。力求对数据库操作的安全与稳定,尽量避免数据库操作异常,并要保证查询的快速无误。保证程序的逻辑结构,编程时注意多使用通用方法(函数和过程)。当然在设计中还有很多不足的地方。对于这样的软件开发,由于没有相应的切合实际的需求分析,所以在开发过程中遇到了许多棘手的问题。现在开发出来的软件对数据库的操作还不够稳定常会出现非法操作,异常处理做的还很欠缺。程序代码中还存在不少的问题,这些在最后的测试过程中还有必要做较多的修改和完善。

在设计时,由于时间和能力有限,还有部分的功能没有实现,希望以后能够慢慢地发现问题,改正问题,力求将系统做得越来越完美,实用。

九、致谢信

本次毕业设计是在刘淑英老师的悉心指导和热心帮助下完成的。她给我的设计和论文提出了很多宝贵的意见,并给我作了仔细的修改。在她的鼓励与耐心的指导下,我的设计和论文才能快速、保质量完成。在和刘老师的接触中,她给我以毫不保留的指导,促进了我对专业知识的巩固和提高,让我受益匪浅。然后还要感谢大学三年来所有的老师,为我打下博大精深的专业知识的基础,同时还要感谢所有的同学们,正是因为有了你们的支持和鼓励,此次毕业设计才会顺利完成。 在此,衷心的谢谢您们!

十、参考资料

[1] 罗鸿, 王忠民.ERP 原理·设计·实施(第2版)[M].北京:电子工业出版社,2003.

[2] 周玉清, 刘伯莹, 杨宝刚.ERP 原理与应用[M].北京:机械工业出版社,2002.

[3] 徐超. 企业资源计划(ERP)应用解析[M].合肥:安徽大学出版社,2006.

[4] Pnina Softer,Boaz Golany,Dov Dori. ERP modeling:a comprehensive approach.Information System[M],2003.

[5] [美]托马斯·H ·达文波特. 宋学军译.ERP 必备指南:realizing the promise of enterprise systems[M].北京:机械工业出版社,2002.

[6] 张毅. 制造资源计划MRP II及其应用[M].北京:清华大学出版社, 2000.

姓名 出勤时间 退勤时间 工作时间
"+rs.getString(5)+"
姓名 出勤时间 退勤时间 工作时间
" + rs.getString(2) + " " + rs.getString(3) + " " + rs.getString(4) + " " + rs.getString(5) + "

综 合 实 训

题 目: 员工考勤系统

专 班 姓 名: 董明月

指导老师: 刘淑英

答辩时间: 2015/4/18

目 录

摘 要 ............................................................................. 1

一、绪论 ........................................................................... 3

1.1 引言 ........................................................................... 3

1.2 开发背景 ....................................................................... 3

二、开发工具简介 ................................................................... 4

2.1 JSP ............................................................................ 4

2.2 MYSQL .......................................................................... 5

2.3 Tomcat ......................................................................... 6

三、实训任务书 ..................................................................... 7

3.1实训题目 ........................................................................ 7

3.2题目来源 ........................................................................ 7

3.3题目类型 ........................................................................ 7

3.4实训目标 ........................................................................ 7

3.5实训内容 ........................................................................ 7

3.6实训环境 ........................................................................ 7

3.7实训要求 ........................................................................ 8

3.8项目开发步骤 .................................................................... 8

3.9时间安排 ........................................................................ 8

四、任务分配表 ..................................................................... 9

五、 需求分析 ...................................................................... 9

5.1 项目概述及基本要求 . ............................................................ 9

5.2可行性分析 ...................................................................... 9

5.3功能需求 ....................................................................... 10

5.4结论 ........................................................................... 10

六、详细设计 ...................................................................... 11

七、主要代码 ...................................................................... 14

八、个人总结 ...................................................................... 30

九、致谢信 ........................................................................ 30

十、参考资料 ...................................................................... 30

摘 要

随着计算机的普及和计算机科学技术的飞速发展,人们开始越来越多地利用计算机解决实际问

题。员工考勤信息系统管理是企业信息管理的重要部分。面对大量的人事考勤信息,采用人力处理

将浪费大量的时间、人力和物力,且数据的准确性较低。

因此,开发要给界面友好,易于操作的员工信息管理软件进行自动化处理具有较大的社会现实

意义。同时,人事考勤系统是一切应用系统的典范,它具有一切应用系统的特征,系统结构与现实

生活紧密结合,具体直观,开发应用简单,不失一般性。

人事考勤管理系统的特点是从人事考勤管理的角度出发,用集中地数据库将几乎所有与人事考

勤相关的数据统一管理起来,形成了集成的信息源。友好的用户界面,强有力的报表生成工具,集

中精力从战略的角度来考虑企业人事考勤规划和政策。

作为计算机应用的一部分,使用计算机对考勤信息进行管理,有着手工管理所无法比拟的优点,

例如:检索迅速、查找方便、可靠性高、存储量大、保密性好、寿命长、成本低等。这些优点能够

极大地提高人事劳资管理的效率,也是企业的科学化、正规化管理,与世界接轨的重要条件。

本系统就是为了适应这种要求而设计的。使用简单,信息维起来非常方便。大大减少了公

司的人力和物力,为公司的考勤以及工资的发放带来很大的便利。

经过分析, 我们使用 sun Microsystems公司的 jsp技术进行开发, 利用Eclipse 提供的

MyEclipse 面向对象的开发工具. 其方便快捷的多窗口界面,控制台异常报错,等功能简化了开发时

间,通过插件机制来灵活地构件开发环境。从而在短时间内建立系统应用原型, 然后对初始原型系统

进行需求迭代, 不断修正和改进, 直到形成用户满意的可行系统。

整个系统从符合操作简便、界面友好、灵活、实用、安全的要求出发,完成考勤信息管理的全过程,

包括用户注册、出勤时间、退勤时间、工作时间、打印等功能,并根据此编码在计算机中建立固定

资产信息库,对考勤信息进行管理,使管理人员可对员工的工作时间信息进行跟踪,随时掌握员工

的具体考勤情况,减少考勤记录丢失现象,解决查找、统计困难等问题,提高管理人员的工作效率。

因此,开发这样一套管理软件成为很有必要的事情, 在下面的各章中我们将以开发一套员考勤管理系

统为例, 谈谈其开发过程和所涉及到的问题及解决方法。

在系统开发中我们使用MyEclipse 插件控件, MS的JDBC 驱动,连接MYSQL 数据库,将存在数据库

的信息通过界面显示出来,并进行修改,查询等操作。

关键字:JSP 、MyEclipse 、Tomcat 、MYSQL 。

ABSTRACT

The attendance system has become each great company management employee to win necessary of a

part, got an extensive application in the much more heavy high company.Always say that come, the

attendance system is the cultural course which passes to gather a employee and correspond of test

frequently an information etc. Student's testing to frequently manage system is frequentlya typical

information management system(MIS), its development mainly includes the application develop of

procedure of establishment and maintenance and head of backstage database 2.Request that starting to build

up the data consistency and the integrity is strong to the former, the data safety good database.But then

request to the latter.Through analysis, the sun Microsystems of our usage's jsp technique of the company

carries on a development, make use of the Eclipse provide of the MyEclipse face to the development tool of

object.Its convenience is fast of many window way interface, control pedestal the abnormality report be

wrong, wait function to simplify development time and pass a plug-in mechanism come vividly Gou piece

development environment.Build up system application prototype in the in a short time thus, then start

prototype system to carry on need Die generation to the beginning, continuously revise with improvement,

until the formation customer be satisfied with of can go system.The whole system from match an operation

simple, interface amity, vivid, practical, safety of the request set out and complete to test frequently

information management of whole processes, include each one to test frequently affairs, for example

personal leave, sick leave, be late, leave early, absence and other worthy test frequently an information to

assign 1 uniquely tests frequently serial number, and according to this coding is in the calculator build up a

fixed assets information database, carry on a management towards testing frequently a record of

information go into, modify, delete, statistics wait, make manager can to the student's concrete

information(or misty information) to carry on follow, reduce to test to frequently record to throw to lose

phenomenon, resolve to check to seek, statistics difficulty etc. problem, exaltation the manager's work

efficiency.The MyEclipse plug-in of our usage controls a piece in the system the development, the MS

JDBC drive, the Server2000 of the conjunction MYSQL database, pass the information of existence

database's interface manifestation to come out, and carry on a modification, search etc. operation.

Key words: JSP, MyEclipse, Tomcat, MYSQL.

一、绪论

1.1 引言

我国的计算机应用于企业管理,只是在70年代末期以后才逐渐开展起来的。目前,计算机辅助

管理已在我国的各行各业得到了广泛地应用,但总的来说,计算机在我国管理中的应用,还处于初

级阶段,尽管近两年发展较快,但还需要不断地探索和研究。尤其是计算机辅助考勤管理仅是近几

年才在我国得到普及和发展,而在许多发达国家计算机辅助考勤管理已十分普及。

随着我国国民经济建设的蓬勃发展和具有中国特色的社会主义市场经济体制的迅速完善,各个

行业都在积极使用现代化的手段,不断改善服务质量,提高工作效率,这些都在很大程度上给企业

提出越来越严峻的挑战,对企业体系无论是在行政职能、企业管理水平以及优质服务上都提出更高

的要求。建设一个科学高效的考勤管理系统是解决这一问题的必由之路。考勤管理作为企业内部的

一种管理也是如此,由于企业职工人数较多,每一位职工的具体实际情况也不尽相同,日常的考勤

工作。

我国中小企业信息化水平一直处在比较初级的阶段,有关统计表明,真正具备计算机信息化比

较高应用水平的企业在全国1000多万中小企业中所占的比例还不足10%。然而,随着我国市场经济

的不断成熟,企业的竞争也在不断的加剧,同时企业组织管理观念的变革以及业务流程标准化也在

不断完善,中小企业信息化建设的热情近几年来有了显著的提高。因此开发一个高质量的考勤工资

系统进行企业管理尤为重要。

伴随着计算机技术在各行各业日益广泛和深入的应用,企业对员工的考勤管理不在像过去一样

靠手工去做,在一些稍具规模的企事业单位内考勤也开始信息化。考勤规则的灵活定义,提供和多

种考勤机的接口,并可以手工录入考勤记录。

本系统就是为了适应这种要求而设计的。集信息的显示、输入、修改、删除、查询等各种处理

为体,信息维护起来非常方便。大大减少了公司的人力和物力, 为公司及工资的发放带来很大的便利。

1.2 开发背景

随着计算机技术的飞速发展以计算机与通信技术为基础的信息系统正处于蓬勃发展的时期。同

时以计算机为基础的各种软件也渐渐走入规模不同的各种企业单位中。企业在对竞争日趋强烈的现

代社会在不断提高自身产品质量的同时对员工的要求也逐渐提高考勤管理也就成为了一个大众化的

课题。

企业考勤管理系统是为了解决员工考勤管理的而设计的目的是建立一个能够初步实现企业考勤

管理系统的智能化管理提高考勤管理效率工作人员能够在各个岗位上的工作状态得到及时的反馈而

系统所需的工作人员的数量少效率高。

企业考勤管理系统是一个企事业单位不可缺少的一部分它的内容对于企业的决策者和管理者来

说都是至关重要的,因此,企业考勤管理系统应该能够为用户提供充足人事管理的信息和快捷的管

理查询手段,但一直以来人们使用传统的人工方式管理员工的上下班等信息,这种管理方式存在着

许多缺点,诸如效率低,保密性差等,而且时间一长,将产生大量的文件和数据,这对于查找、更

新和维护都带来了不少的困难。

随着科学技术的不断提高,计算机科学不断发展,其强大的功能已经被人们深刻认识,它已经

进入了人类社会的各个领域并发挥着越来越重要的作用。

作为计算机应用的一部分,使用计算机对企业考勤信息进行管理,具有着人工管理无法比拟的

优点,它检索迅速、查找方便、可靠性高、存储量大、保密性好、寿长、成本低等,可减少更多的

人力物力,这些都能够极大地提高企业的考勤管理效率,也是企业考勤管理科学化、正规化,与世

界接轨的重要条件。因此,开发一个企业考勤管理系统是很有必要的,具有其特有的技术意义和管

理意义。

二、开发工具简介

2.1 JSP

JSP 技术使用java 编程语言编写类XML 的tags 和scriptlets ,来封装产生动态网页的处理逻

辑。网页还能通过tags 和scriptlets 访问存在于服务端的资源的应用逻辑。JSP 将网页逻辑与网

页设计和显示分离,支持可重用的基于组件的设计,使基于Web 的应用程序的开发变得迅速和容易。

Web 服务器在遇到访问JSP 网页的请求时,首先执行其中的程序段,然后将执行结果连同JSP 文件

中的HTML 代码一起返回给客户。插入的java 程序段可以操作数据库、重新定向网页等,以实现建

立动态网页所需要的功能。

JSP 与JavaServlet 一样,是在服务器端执行的,通常返回给客户端的就是一个HTML 文本,因

此客户端只要有浏览器就能浏览。JSP 的1.0规范的最后版本是1999年9月推出的,12月又推出了

1.1规范。目前较新的是JSP1.2规范,JSP2.0规范的征求意见稿也已出台。

JSP 页面由HTML 代码和嵌入其中的Jav 代码所组成。服务器在页面被客户端请求以后对这些

Java 代码进行处理,然后将生成的HTML 页面返回给客户端的浏览器。Java Servlet 是JSP 的技术

基础,而且大型的Web 应用程序的开发需要Java Servlet 和JSP 配合才能完成。JSP 具备了Java

技术的简单易用,完全的面向对象,具有平台无关性且安全可靠,主要面向因特网的所有特点。

2.2 MYSQL

MySQL 是一个小型关系型数据库管理系统,开发者为瑞典MySQL AB公司。在2008年1月16号

被Sun 公司收购。而2009年,SUN 又被Oracle 收购. 对于Mysql 的前途, 没有任何人抱乐观的态度.

目前MySQL 被广泛地应用在Internet 上的中小型网站中。由于其体积小、速度快、总体拥有成本低,

尤其是开放源码这一特点,许多中小型网站为了降低网站总体拥有成本而选择了MySQL 作为网站数

据库。MySQL 的官方网站的网址是:www.mysql.com 。

使用C 和C++编写,并使用了多种编译器进行测试,保证源代码的可移植性. 支持AIX 、FreeBSD 、

HP-UX 、Linux 、Mac OS、Novell Netware、OpenBSD 、OS/2 Wrap、Solaris 、Windows 等多种操作系

统。为多种编程语言提供了API 。这些编程语言包括C 、C++、Python 、Java 、Perl 、PHP 、Eiffel 、

Ruby 和Tcl 等。支持多线程,充分利用CPU 资源。优化的SQL 查询算法,有效地提高查询速度。既

能够作为一个单独的应用程序应用在客户端服务器网络环境中,也能够作为一个库而嵌入到其他的

软件中提供多语言支持,常见的编码如中文的GB 2312、BIG5,日文的Shift_JIS等都可以用作数

据表名和数据列名。提供TCP/IP、ODBC 和JDBC 等多种数据库连接途径。提供用于管理、检查、优

化数据库操作的管理工具。可以处理拥有上千万条记录的大型数据库。

与其他的大型数据库例如Oracle 、DB2、SQL Server等相比,MySQL 自有它的不足之处,如规

模小、功能有限(MySQL Cluster的功能和效率都相对比较差)等,但是这丝毫也没有减少它受欢

迎的程度。对于一般的个人使用者和中小型企业来说,MySQL 提供的功能已经绰绰有余,而且由于

MySQL 是开放源码软件,因此可以大大降低总体拥有成本。 目前Internet 上流行的网站构架方式

是LAM (Linux+Apache+MySQL+PHP),即使用Linux 作为操作系统,Apache 作为Web 服务器,MySQL

作为数据库,PHP 作为服务器端脚本解释器。由于这四个软件都是自由或开放源码软件(FLOSS) ,

因此使用这种方式不用花一分钱就可以建立起一个稳定、免费的网站系统。

可以使用命令行工具管理MySQL 数据库(命令mysql 和 mysqladmin),也可以从MySQL 的网站

下载图形管理工具MySQL Administrator 和MySQL Query Browser 。phpMyAdmin 是由php 写成的MySQL

资料库系统管理程式,让管理者可用Web 界面管理MySQL 资料库。

phpMyBackupPro 也是由PHP 写成的,可以透过Web 介面创建和管理数据库。它可以创建伪

cronjobs ,可以用来自动在某个时间或周期备份MySQL 数据库。另外,还有其他的GUI 管理工具,

例如早先的mysql-front 以及 ems mysql manager,navicat 等等。

2.3 Tomcat

目前支持JSP 的应用服务器是较多的,Tomcat 是其中较为流行的一个Web 服务器,被avaWorld

杂志的编辑选为2001 年度最具创新的java 产品, 可见其在业界的地位。 Tomcat 是一个免费的开源的Serlvet 容器。

在Tomcat 中,应用程序的部署很简单,你只需将你的WAR 放到Tomcat 的webapp 目录下,Tomcat

会自动检测到这个文件,并将其解压。你在浏览器中访问这个应用的Jsp 时,通常第一次会很慢,

因为Tomcat 要将Jsp 转化为Servlet 文件,然后编译。编译以后,访问将会很快。另外Tomcat 也

提供了一个应用:manager ,访问这个应用需要用户名和密码,用户名和密码存储在一个xml 文件中。

通过这个应用,辅助于Ftp ,你可以在远程通过Web 部署和撤销应用。当然本地可以。在Tomcat 中,

应用程序的部署很简单,你只需将你的WAR 放到Tomcat 的webapp 目录下,Tomcat 会自动检测到这

个文件,并将其解压。你在浏览器中访问这个应用JSP 时,通常第一次会很慢,因为Tomcat 要将

JSP 转化为Servlet 文件,然后编译。编译后访问将会很快。另外Tomcat 也提供了一个应用:Manager ,

访问这个应用需要用户名和密码,用户名和密码存储在一个xml 文件中。通过这个应用,辅助于FTP ,

你可以在远程通过Web 部署和撤销应用,当然本地也可以。

基于Tomcat 的开发其实主要是JSP 和Servlet 的开发,开发JSP 和Servlet 非常简单,你可以

用普通的文本编辑器或者IDE ,然后将其打包成WAR 即可。我们这里要提到另外一个工具Ant ,Ant

也是Jakarta 中的一个子项目,它所实现的功能类似于Unix 中的make. 你需要写一个build.xml 文

件,然后运行Ant 就可以完成xml 文件中定义的工作,这个工具对于一个大的应用来说非常好,我

们只需在xml 中写很少的东西就可以将其编译并打包成WAR 。事实上,在很多应用服务器的发布中

都包含了Ant 。另外,在JSP1.2中,可以利用标签库实现Java 代码与Html 文件的分离,使JSP 的

维护更方便。

三、实训任务书

3.1实训题目

考勤系统

3.2题目来源

职业技术学院计算机系网络办公

3.3题目类型

项目开发

3.4实训目标

通过该综合实训课程的有效组织与实施,学生应该掌握的核心能力和关键能力有:

1. 编写代码的能力

2. 编写设计文档的能力

3. 编写测试文档的能力

4. 团队协作的能力

5. 学习新技术新工具的能力

3.5实训内容

本次综合实训的内容主要是员工考勤系统,在该系统中,围绕公司员工出勤的需求主要完成以下几个模块的内容:

用户注册、出勤时间、退勤时间、工作时间,数据备份功能,出勤信息统计功能,数据打印功能,基础数据维护功能,权限管理功能等。

3.6实训环境

硬件环境:CPU :PIII 以上,内存:512MB 以上,硬盘:40GB 以上

软件环境:JAVA 方向:IDE :eclipse ,JDK :jdk1.5,WEB 服务器:tomcat ,PLUGIN: struct1.1,DBMS:MYSQL,开发软件:CVS

3.7实训要求

(1)搭建好开发环境,测试后能稳定运行;

(2)需要安装杀毒软件,防止病毒感染,影响项目开发;

(3)项目开发需要团队协作一起开发,培养团队精神;

(4)按时到指定的机房进行项目开发;

(5)编码编程风格要完全按照规定书写;

(6)测试文档要严格按照规定格式书写;

(7)项目使用手册要完全按照规定模版书写;

(8)要按照老师的进度表保质保量的完成阶段开发任务。

3.8项目开发步骤

(1)需求分析,掌握办公自动化系统的各项业务流程;

(2)总体设计,完成整个系统的模块架构;

(3)详细设计,完成数据库字典的设计;

(4)详细设计,设计画面及其处理说明;

(5)编写代码,按照规范书写;

(6)项目测试,按照规范书写;

(7)撰写使用手册;

(8)上交项目源代码、测试文档和使用手册。

3.9时间安排

四、任务分配表

五、 需求分析

5.1 项目概述及基本要求

企业考勤管理系统是一个企事业单位不可缺少的一部分, 它的内容对于企业的决策者和管理者来说都是至关重要的,因此,企业考勤管理系统应该能够为用户提供充足人事管理的信息和快捷的管理查询手段,但一直以来人们使用传统的人工方式管理员工的上下班等信息,这种管理方式存在着许多缺点,诸如效率低,保密性差等,而且时间一长,将产生大量的文件和数据,这对于查找、更新和维护都带来了不少的困难。因此,开发一个企业考勤管理系统是很有必要的,具有其特有的技术意义和管理意义。

5.2可行性分析

技术可行性

根据新系统目标来衡量所需的技术是否具备,一般可从硬件、软件的性能要求、环 境条件、技术人员水平和数量等方面去考虑和分析,其中开发人员的技术力量应首先考 虑能力与水平,并考虑近期内可以培养和发展的技术人员。

经济可行性

该系统可以利用学校的现有设备,不必添加其他的硬件设施,成本低廉,而且使用 本系统可以节省时间,减少人工支出,提高工作效率。根据经验算法,而同时又减少了 数据的流通环节,不必要花费那么多的时间,也就是说最重要的是就是提高了效率,而 又保证了各项数据的准确性,也避免了工作人员的流动造成的收据丢失等问题,适应了 当前的发展形式。 运行可行性

对新系统运行后给现行系统带来的影响(包括组织机构、管理方式、工作环境等)和后果进行估计和评价。同时还应考虑现有管理人员的培训、补充,分析在给定时间里能否完成预定的系统开发任务等。按上述三方面进行可行性分析、研究后,我们认为该项目是可行的。 法律可行性

法律上可行整个系统由于是自行开发,自行使用,所以系统本身不存在法律上的版权争议。在服务器软件方面,应该使用正版软件,因为整个系统尽管是开发给内部使用,但它毕竟很多部分还是要依靠Internet 的,一旦服务器连接到Internet 上,它的操作系统可能会被Microsoft 跟踪,如果不是正版软件,将不得不面临民事诉讼的风险。

5.3功能需求

一般的性能需求是指相互消息传递顺利,分析正确,界面友好,运行时间满足使用 需要,安全性得到保证。在开发系统的每个阶段,均需要考虑彼此间的认证与授权。尤 其是认证,简单地说就是确定谁是特定用户,并针对安全源验证该用户的身份。在处理 完识别用户的方法之后,必须利用一种方法以向用户授权,从而能够使用系统的特定功 能。也就是说,需要一种方法来决定允许特定用户进行什么样的操作。 该系统主要分为五大功能:用户注册、出勤时间、退勤时间、工作时间、打印

5.4结论

根据以上的可行性研究,我们小组认为开发此系统的条件已经具备,可以开始进行开发。

六、详细设计

系统功能:

系统主要分为五大功能:用户注册、出勤时间、退勤时间、工作时间、打印 用户注册

用户初次进入考勤系统时,需注册个人信息,界面如下图所示:

当输入的用户名为空时,提示:用户名不能为空

当注册成功时,会显示下图界面:

用户登录

注册完信息后点击登录界面(如下图),输入自己的账号及密码,点击登录。

当输入信息有误时,出现如下界面,点击重新登录即可。

输入正确后出现如下界面

出勤 点击出勤

退勤

出勤成功后,登录信息会显示在登录后的页面上,点击退勤

打印

签到或退勤后打印截图:

七、主要代码

用户注册

html

PUBLIC

"-//W3C//DTD

HTML

4.01

Transitional//EN"

"http://www.w3.org/TR/html4/loose.dtd">

考勤记录页

欢迎进入考勤系统!

java.text.SimpleDateFormat formatter = new java.text.SimpleDateFormat("yyyy-MM-dd

HH:mm:ss");

java.util.Date currentTime = new java.util.Date();//得到当前系统时间 String str_date1 = formatter.format(currentTime); //将日期时间格式化 %>

当前时间为

Class.forName("com.mysql.jdbc.Driver"); Connection

con

=

DriverManager.getConnection("jdbc:mysql://localhost:3307/attendance","root","123456");

String sql;

Statement smt = con.createStatement(); sql="SELECT * FROM table_2"; ResultSet rs = smt.executeQuery(sql); out.println("考勤记录表


"); out.println("");

out.println("

");

out.println("

");

%>

}

con.close();

注册成功

request.setCharacterEncoding("gb2312");//设置接收编码格式

String requsername=request.getParameter("username");//接收参数username String reqpassword=request.getParameter("userpassword");//接收参数password

String reqconfirmpassword=request.getParameter("confirmpassword");//接收参数confirmpassword %>

String url="jdbc:mysql://localhost:3307/attendance"; //url地址,javaweb 是数据库名称 String user="root"; String password="123456"; Connection conn=null; PreparedStatement pstmt=null; try{

Class.forName("com.mysql.jdbc.Driver");//加载jdbc 驱动程序

conn=DriverManager.getConnection(url,user,password);//连接MYsql 数据库 }

catch(ClassNotFoundException e) {

out.println("找不到驱动类");//抛出异常,提示错误 }

catch(SQLException e){ out.println("连接数据库失败!"); } try{

String sql="insert into table1(name,password) values(?,?)";//增加一条用户信息 pstmt=conn.prepareStatement(sql); //创建语句对象prepareStatement pstmt.setString(1,requsername);//设置参数, 接收到的用户名 pstmt.setString(2,reqpassword);//设置参数, 接收到的密码 pstmt.executeUpdate();//添加注册用户 out.println("用户注册成功,请登录"); }

catch(SQLException e){

out.println("添加用户信息失败!"); }

//关闭数据库连接 try{

if(pstmt!=null){ pstmt.close();

//关闭预处理语句对象 pstmt=null; }

if(conn!=null){

conn.close();//关闭数据库连接 conn=null; }

}catch(Exception e){

out.println("数据库关闭异常!");

}

%>

用户登录

登录页面

登录验证

登录验证

request.setCharacterEncoding("gb2312");//设置接收编码格式

String requsername=request.getParameter("username");//接收参数username

String reqpassword=request.getParameter("userpassword");//接收参数password

String name1=new String(request.getParameter("username").getBytes("gb2312"),"GBK");

//把接收到的值映射为myname 字段,存数据

session.setAttribute("myname",name1);

%>

String url="jdbc:mysql://localhost:3307/attendance";

String user="root";

String password="123456";

Connection conn=null;

ResultSet rs=null;

boolean flag=false;

PreparedStatement pstmt=null;

String name=null;

try{

Class.forName("com.mysql.jdbc.Driver");//加载jdbc 驱动程序

conn=DriverManager.getConnection(url,user,password);//连接MYsql 数据库

} catch(ClassNotFoundException e)

{

out.println("找不到驱动类");//抛出异常,提示错误

} catch(SQLException e){

out.println("连接数据库失败!");

}

try{

String sql="select name,password from table1 where name=?&&password=?";

//查找一条用户信息

pstmt=conn.prepareStatement(sql); //创建语句对象prepareStatement

pstmt.setString(1,requsername);//设置查询所需要的内容

pstmt.setString(2,reqpassword);//设置查询所需要的内容

rs=pstmt.executeQuery();//执行查询

if(rs.next()){

name=rs.getString(1);

flag=true;

}

} catch(SQLException e){

out.println("添加用户信息失败!");

} //关闭数据库连接

try{

if(pstmt!=null){

pstmt.close(); //关闭预处理语句对象

pstmt=null;

}

if(conn!=null){

conn.close();//关闭数据库连接

conn=null;

}

}catch(Exception e){

out.println("数据库关闭异常!");

}

%>

if(flag){ %>

"/>

%>

用户登录失败

登录失败页面

对不起,你输入的信息有误,请点击链接重新登录:

用户登录成功

考勤记录页

欢迎进入考勤系统!

java.text.SimpleDateFormat formatter = new java.text.SimpleDateFormat("yyyy-MM-dd HH:mm:ss");

java.util.Date currentTime = new java.util.Date();//得到当前系统时间

String str_date1 = formatter.format(currentTime); //将日期时间格式化

%>

当前时间为

Class.forName("com.mysql.jdbc.Driver"); Connection con = DriverManager.getConnection("jdbc:mysql://localhost:3307/attendance","root","123456");

out.println("

姓名 出勤时间 退勤时间 工作时间
"+rs.getString(2)+" "+rs.getString(3)+" "+rs.while(rs.next()){

getString(4)+"

"+rs.getString(5)+"
"+rs.getString(2)+" "+rs.getString(3)+" "+rs.getString(4)+""); out.println(""); out.println(""); while(rs.next()){ d>");

} con.close();

%>

出勤

String path = request.getContextPath();

String basePath = request.getScheme()+"://"+request.getServerName()+":"+request.getServerPort()+path+"/";

%>

java.text.SimpleDateFormat formatter = new java.text.SimpleDateFormat("yyyy-MM-dd HH:mm:ss");

java.util.Date currentTime = new java.util.Date();//得到当前系统时间

String str_date1 = formatter.format(currentTime); //将日期时间格式化

String name=(String)session.getAttribute("myname");

%>

//打开数据库,对数据库进行操作

Class.forName("com.mysql.jdbc.Driver");

Connection con

DriverManager.getConnection("jdbc:mysql://localhost:3307/attendance","root","123456");

Statement smt = con.createStatement();

String sql;

sql = "insert into table_2(name,starttime) values ('"+name+"','"+str_date1+"')";

smt.execute(sql);

String name2=new String (str_date1);

//把接收到的值映射为myname1字段,存数据

session.setAttribute("myname1",name2);

%>

con.close();

%>

=

退勤

String path = request.getContextPath(); String basePath = request.getScheme()+"://"+request.getServerName()+":"+request.getServerPort()+path+"/";

%>

java.text.SimpleDateFormat formatter = new java.text.SimpleDateFormat("yyyy-MM-dd HH:mm:ss");

java.util.Date currentTime = new java.util.Date();//得到当前系统时间

String str_date3 = formatter.format(currentTime); //将日期时间格式化

String name3=(String)session.getAttribute("myname1");

String str_date2 = currentTime.toString();

%>

Class.forName("com.mysql.jdbc.Driver"); Connection con = DriverManager.getConnection("jdbc:mysql://localhost:3307/attendance","root","123456");

Statement smt = con.createStatement(); String sql; try{ sql= "update table_2 set endtime=('"+str_date3+"') where starttime=('"+name3+"')";

smt.execute(sql); }catch(Exception e){

out.println("插入endtime 出现异常!!");

}

try{ sql = "update table_2 set worktime=timediff(endtime,starttime)where starttime=('"+name3+"')"; smt.execute(sql); }catch(Exception e){ out.println("插入worktime 出现异常!!"); } try{ sql = ""; }catch(Exception e){ out.println("累计总时间出错!!"); } %>

打印

%>

Excel

"); out.println("

");

%> while (rs.next()) { } con.close(); out.println("

");

八、个人总结

经过几个月来的设计,“考勤管理信息系统”已经基本设计完成。在这几个月的开发过程中,学到了许多有关数据库管理软件设计的东西,对管理信息系统有了更加全面而深刻的认识。另外,通过对jsp 的使用,使我对该软件更加熟悉,学到了很多关于该软件可视化编程的东西,也深深体会到了jsp 功能的强大,使用和操作简单。基于该系统的一些设计,下面对系统做一个总结。

在整个设计过程中,主要的工作有:用户注册、出勤时间、退勤时间、工作时间、打印等功能。模块的页面设计及功能的设计实现。设计中力求界面友好、简洁,易于操作。代码部分尽量避免逻辑错误,尽量使程序具有较好的可读性,有利于其他的设计者对程序的阅读。力求对数据库操作的安全与稳定,尽量避免数据库操作异常,并要保证查询的快速无误。保证程序的逻辑结构,编程时注意多使用通用方法(函数和过程)。当然在设计中还有很多不足的地方。对于这样的软件开发,由于没有相应的切合实际的需求分析,所以在开发过程中遇到了许多棘手的问题。现在开发出来的软件对数据库的操作还不够稳定常会出现非法操作,异常处理做的还很欠缺。程序代码中还存在不少的问题,这些在最后的测试过程中还有必要做较多的修改和完善。

在设计时,由于时间和能力有限,还有部分的功能没有实现,希望以后能够慢慢地发现问题,改正问题,力求将系统做得越来越完美,实用。

九、致谢信

本次毕业设计是在刘淑英老师的悉心指导和热心帮助下完成的。她给我的设计和论文提出了很多宝贵的意见,并给我作了仔细的修改。在她的鼓励与耐心的指导下,我的设计和论文才能快速、保质量完成。在和刘老师的接触中,她给我以毫不保留的指导,促进了我对专业知识的巩固和提高,让我受益匪浅。然后还要感谢大学三年来所有的老师,为我打下博大精深的专业知识的基础,同时还要感谢所有的同学们,正是因为有了你们的支持和鼓励,此次毕业设计才会顺利完成。 在此,衷心的谢谢您们!

十、参考资料

[1] 罗鸿, 王忠民.ERP 原理·设计·实施(第2版)[M].北京:电子工业出版社,2003.

[2] 周玉清, 刘伯莹, 杨宝刚.ERP 原理与应用[M].北京:机械工业出版社,2002.

[3] 徐超. 企业资源计划(ERP)应用解析[M].合肥:安徽大学出版社,2006.

[4] Pnina Softer,Boaz Golany,Dov Dori. ERP modeling:a comprehensive approach.Information System[M],2003.

[5] [美]托马斯·H ·达文波特. 宋学军译.ERP 必备指南:realizing the promise of enterprise systems[M].北京:机械工业出版社,2002.

[6] 张毅. 制造资源计划MRP II及其应用[M].北京:清华大学出版社, 2000.

姓名 出勤时间 退勤时间 工作时间
"+rs.getString(5)+"
姓名 出勤时间 退勤时间 工作时间
" + rs.getString(2) + " " + rs.getString(3) + " " + rs.getString(4) + " " + rs.getString(5) + "

相关文章

  • 企业人事管理(优秀)
  • 东北大学本科生毕业设计(论文)专用纸 摘要 随着计算机技术的飞速发展,大量信息扑面而来,企业应建立一套完整的现代化.网络化.规范化的人事管理系统来改变传统手工办理人事业务速度慢.效率低的弊端,提高工作效率.优化人事管理.降低劳动成本,准确地 ...查看


  • [企业财务管理系统]毕业论文
  • 毕业设计(论文) 题目: 企业财务管理系统的设计与实现 毕业设计(论文)任务书 I .毕业设计(论文) 题目: 企业财务管理系统的设计与实现 II .毕 业设计(论文) 使用的原始资料(数据) 及设计技术要求: 1.用Myeclipse 平 ...查看


  • 110604168赵健毕业论文正文.结论.参考文献
  • 1 引言 1.1 系统开发的背景情况 在当今社会,经济与科技在不断迅速发展,技术的进步速度也是非常惊人的,在当下时代中,人们不断追求与时俱进的技术,和高效率的办事手段.不管在什么方面,只要能够达到人们所期待的那种高效率,高便捷的方法都会迎得 ...查看


  • 绩效管理的几个基本问题
  • 摘要本文从适应变革的人的d理行为的角度,介 绍了箱效的基奉概念.管理缋娃的曲要性.绩效管理的 基本程序髓其应注意的问题.本文认为,有效的绩效管 理的核.包括特效计划.管理绩效.绩娃考栝和奖励蜻 效四个环节的循环过程:它罡全体员工参与的自下而 ...查看


  • 企业人力资源管理系统的设计与实现 毕业论文
  • 分类号 论文选题类型 U D C 编号 本科毕业论文(设计) 题 目 企业人力资源管理系统的设计与实现 学 院 计算机学院 专 业 计算机科学与技术 年 级 2009级 学生姓名 学 号 指导教师 二○13 年 05月 华中师范大学 学位论 ...查看


  • 自考论文答辩开场白及注意事项
  • 各位老师,上午好!我叫-,是--级--班的学生,我的论文题目是<基于j2ee的房产中介信息交易网站设计>.论文是在田峰导师的悉心指点下完成的,在这里我向我的导师表示深深的谢意,向各位老师不辞辛苦参加我的论文答辩表示衷心的感谢,并 ...查看


  • 办公管理系统的设计与实现
  • 独创性说明 作者郑重声明:本毕业论文(设计)是我个人在指导教师指导下进行的研究工作及取得研究成果.尽我所知,除了文中特别加以标注和致谢的地方外,毕业论文(设计)中不包含其他人已经发表或撰写的研究成果,也不包含为获得辽东学院或其他单位的学位或 ...查看


  • 人事管理系统毕业论文
  • 本科毕业论文(设计) 论文(设计)题目: 人事综合管理系统 学 院: 专 业: 班 级: 学 号: 学生姓名: 指导教师: 年 月 日 贵州大学本科毕业论文(设计) 诚信责任书 本人郑重声明:本人所呈交的毕业论文(设计),是在导师的指导 下 ...查看


  • 便利店的优势与劣势分析毕业论文
  • NO: 毕业论文 题目:便利店的优势与劣势分析 毕业设计(论文)原创性声明和使用授权说明 原创性声明 本人郑重承诺:所呈交的毕业设计(论文) ,是我个人在指导教 师的指导下进行的研究工作及取得的成果.尽我所知,除文中特别加 以标注和致谢的地 ...查看


  • 数据库员工薪资管理系统课设
  • 课程设计(论文)任务书 院 专业 一.课程设计(论文) 题目 员工薪资管理系统 二.课程设计(论文) 工作自 2016 年 6 月 13 日起至 2016 年 6月 17 日止 三.课程设计(论文) 地点: 软件工程实训中心 四.课程设计( ...查看


热门内容