职工考勤管理系统最新范本模板.docx
《职工考勤管理系统最新范本模板.docx》由会员分享,可在线阅读,更多相关《职工考勤管理系统最新范本模板.docx(43页珍藏版)》请在冰豆网上搜索。
职工考勤管理系统最新范本模板
职工考勤管理系统
20世纪90年代,随着我国市场经济的快速发展,职工考勤管理系统在企业的日常管理中发挥着越来越重要的作用。
职工考勤管理系统可以进行员工信息管理、出勤管理和密码管理等,方便处理企业内部员工的相关考勤信息。
此外Internet的迅速普及,使Intranet成为Internet技术在企业管理信息系统中的应用和延伸,形成了集计算机,计算机网络、数据库、分布式计算等于一体的信息技术综合体,它打破了时间和地域的界限,使信息交流变得快捷、准确,为建立现代企业管理信息系统提供了充足的条件。
职工考勤系统是在适应市场需求的客观前提下,为了满足中小型公司或事业单位管理自己的员工而开发的。
第一章开发背景.。
.。
..。
。
。
.。
。
。
。
..。
..。
。
。
.。
。
。
。
。
。
。
.。
。
.。
.。
.。
.。
.。
。
。
..。
.。
..。
。
。
.。
...。
。
..。
。
。
.。
.。
.。
.。
。
.。
。
.。
。
.。
。
..。
.。
.....。
。
。
。
..。
..。
。
。
。
....。
。
。
.。
...。
..。
。
1
第二章需求分析...。
.。
。
..。
.。
。
.。
。
。
。
。
....。
。
。
。
.。
.。
。
。
。
.。
。
.。
。
。
。
。
。
。
。
。
。
。
.。
.。
。
。
..。
。
。
。
。
。
....。
..。
。
.....。
。
.。
。
。
..。
.。
.。
。
...。
.。
。
..。
.。
....。
。
.。
。
。
。
。
。
..。
。
.....2
第三章概念结构设计。
。
。
..。
。
.。
。
.。
..。
....。
.。
。
......。
。
..。
.....。
。
.......。
。
。
..。
。
.。
。
。
。
....。
.。
.。
....。
.。
.。
..。
..。
。
。
。
.。
.。
......。
.。
。
...。
..。
。
.。
。
。
。
..。
3
一、局部E—R图设计....。
....。
。
。
..。
.。
。
。
。
。
。
。
。
。
。
.。
...。
..。
。
。
.。
.。
。
.。
.。
..。
。
。
。
。
.。
。
。
。
。
。
。
。
..。
。
。
.....。
....。
。
。
。
....。
。
....。
。
。
..。
.。
..。
...。
。
....3
(一)、确定局部范围。
。
。
.。
..。
。
。
。
。
.。
..。
.。
....。
。
.。
.。
.。
。
。
。
。
。
。
.。
。
.。
。
..。
.。
..。
.。
..。
。
。
.。
.。
..。
。
。
。
.。
。
。
.。
。
。
。
.......。
.。
....。
..。
....。
。
3
(二)、确定实体与属性.。
.。
.。
。
..。
.。
。
。
。
..。
..。
。
。
。
.。
.。
。
。
...。
.。
....。
。
..。
。
。
。
.。
..。
。
。
。
..。
.。
..。
..。
。
..。
。
。
。
.。
。
。
.。
..。
..。
。
。
.。
。
。
。
..。
。
3
(三)概念模型表示..。
....。
。
。
...。
.。
.。
......。
。
。
..。
。
。
。
。
.。
。
.。
。
。
.。
.。
。
...。
.。
。
。
。
。
.。
.。
。
...。
。
....。
.....。
......。
.。
。
..。
。
.。
..。
。
......4
二、合并成总体E-R图.。
。
。
。
。
。
。
。
...。
。
..。
。
。
.。
。
..。
。
。
。
.。
.。
。
。
。
...。
。
.。
........。
...。
.。
。
.。
.。
..。
...。
..。
.。
.。
..........。
。
.。
...。
..。
..。
....。
。
。
5第四章逻辑结构设计..。
.。
。
。
..。
。
。
.。
。
..。
。
。
.。
。
.。
。
。
。
..........。
。
.。
.。
。
。
。
。
。
.。
。
..。
..。
.....。
...。
..。
。
..。
。
。
...。
。
.。
.。
..。
.....。
....。
.。
.。
.。
.。
。
.。
。
。
。
...6
一、E—R图转换为关系模型..。
.。
...。
。
..。
.。
.。
。
..。
.....。
....。
。
.。
。
.。
..。
。
.。
。
。
。
.。
.....。
。
。
.....。
.。
..。
。
。
.。
。
。
。
.。
.。
.。
...。
.。
。
.。
。
。
。
...。
...6
关系模式的规范化。
.。
.。
。
。
.。
.。
。
。
。
。
。
.。
。
。
.。
。
。
。
....。
。
.。
......。
....。
...。
.。
。
..。
。
。
。
。
。
.。
.。
。
。
...。
.。
.。
.。
.......。
。
。
。
。
。
..。
.。
。
。
.....。
。
.。
。
。
6第五章数据库实施与维护。
。
。
.。
。
...。
.。
。
.。
。
。
。
。
。
.....。
。
.。
.。
。
...。
。
.。
。
.。
。
。
..。
.。
.。
。
.......。
。
.。
。
。
.。
。
。
.。
。
。
。
.。
。
。
.。
.。
。
...。
。
。
。
..。
。
..。
。
。
。
。
。
..。
.。
。
。
8
一、定义数据库结构.。
。
。
.。
。
。
.。
...。
.....。
。
..。
..。
.。
。
。
。
。
.。
.。
。
.。
。
.。
...。
.。
。
。
.。
。
。
.。
。
。
。
。
。
。
....。
.....。
...。
..。
.。
.....。
..。
.。
。
。
。
..。
。
。
.....。
。
.。
8
二、组织数据入库。
。
。
。
..。
。
..。
.。
..。
。
..。
..。
。
..。
...。
..。
。
...。
。
。
。
.。
...。
。
。
。
...。
。
....。
.。
。
.。
。
。
.。
。
.。
。
..。
。
....。
。
。
....。
...。
...。
.。
。
.....。
..。
。
.。
..9
三、数据库试运行。
。
。
...。
.。
.....。
。
...。
。
.。
。
。
..。
。
。
。
。
...。
。
。
.。
..。
...。
..。
.....。
。
。
..。
.。
....。
.....。
。
..。
。
。
..。
。
.。
.。
..。
。
。
。
.。
。
。
。
。
。
。
.。
。
。
.。
.。
...10第六章JAVA.。
.。
。
。
。
..。
。
。
.。
.。
。
..。
.。
..。
。
..。
...。
...。
.。
...。
.....。
。
.。
..。
。
..。
..。
..。
。
。
。
。
.。
。
。
.。
。
..。
。
...。
。
。
..。
.。
。
.。
。
...。
。
。
.。
。
.。
。
。
。
.....。
..。
.。
。
......。
。
.。
11
一、JAVA代码:
。
。
....。
。
。
。
。
.。
.。
。
..。
。
.。
。
..。
.。
..。
.。
.。
.。
.。
。
..。
..。
.。
..。
..。
.。
.。
.。
。
.。
。
。
。
..。
。
..。
。
。
...。
....。
.。
。
。
.。
。
。
。
.。
。
.。
.。
。
..。
。
。
。
.....。
...12
(一)、登录代码...。
...。
。
。
。
。
。
.。
。
。
.。
。
.。
.。
。
...。
。
.。
。
.。
..。
。
。
.。
。
..。
.。
。
......。
.。
。
。
..。
.。
.。
..。
.。
..。
。
。
。
.....。
。
..。
。
.。
。
。
。
..。
.。
.。
。
..。
.。
12
(二)、管理员主界面代码..。
。
..。
.。
.。
..。
.......。
.。
..。
.。
。
。
。
。
...。
。
..。
。
。
...。
.。
.。
.。
.。
.。
。
............。
。
.。
。
...。
...。
..。
.。
。
..15
二、JAVA运行..。
.。
。
...。
....。
..。
.。
.。
。
.。
..。
.。
。
.。
.。
..。
...。
..。
.。
.。
..。
。
......。
。
。
.。
。
。
...。
。
。
...。
。
。
。
。
.。
。
。
..。
。
。
。
。
。
.。
。
。
.。
。
。
.。
...。
..。
。
。
。
。
。
.。
。
。
.。
29
(一)、用户登录界面。
.。
....。
。
.。
....。
。
。
..。
。
。
.。
.。
.。
。
.。
。
.。
..。
。
..。
.。
。
。
。
.......。
。
....。
.。
。
。
.。
.。
。
。
..。
。
。
。
。
。
。
..。
。
。
。
。
..。
。
..。
。
.。
。
.29
(二)、主界面.。
。
..。
。
.。
。
.。
。
..。
。
...。
.。
。
。
..。
。
...。
。
。
。
。
.。
..。
.。
。
.。
。
。
。
。
。
..。
.。
。
.。
。
.。
...。
。
。
.。
。
.。
..。
..。
。
.。
。
。
.。
。
。
..。
。
.。
..。
.。
.。
.。
.。
...。
.29
(三)、基本功能...。
。
.。
....。
。
。
.。
.。
。
。
..。
...。
。
。
..。
。
.。
。
。
.。
.。
。
...。
.。
。
...。
。
.....。
。
..。
。
.。
。
。
.。
。
。
.。
..。
。
.。
。
。
。
.。
..。
。
.。
..。
。
...。
。
.。
...。
30第七章参考文献.。
.。
。
.。
。
。
.。
。
..。
..。
.。
。
。
.。
。
....。
。
。
。
.。
..。
。
。
....。
。
。
。
..。
.。
。
.。
。
..。
。
.....。
..。
。
...。
.。
.。
。
。
...。
。
。
...。
.。
.。
。
。
.。
。
.。
。
...。
..。
....。
。
。
..。
.。
.34
第一章开发背景
我们都知道,考勤管理系统是任何一个营业单位不可缺少的部分,它的内容对于单位的管理者和内部员工来说都至关重要,所以考勤管理系统应该能够为用户提供充足的信息和快捷的安全查询,及实时管理手段。
但在过去,人们一直在使用传统的人工的方式来进行考勤管理,这种落后的方式存在着许多缺点,如:
效率低,保密性差,另外时间一长,将产生大量的文件和数据,这对于查找,更新和维护都带来了不少的困难。
而使用计算机对员工出勤进行管理,具有手工作业所无法比拟的优点。
例如:
检索迅速、查找方便、可靠性高、存储量大、保密性好、寿命长、成本低等。
这些优点能够极大地提高管理的效率.
此次开发了一种基于SQLServer和Java下的考勤管理系统。
其不但具有实际考勤管理系统应有的档案管理,信息安全认证等功能,且拥有用户使用更简单、界面更直观等优点。
考勤管理系统在我国任何一个单位是必需的,随着我国的发展,考勤管理系统的作用会得到更加充分的体现.
。
1
第二章需求分析
职工考勤管理系统,可用于企业等机构的职工考勤情况管理,查询,更新与维护,使用方便,易用性强,图形界面清晰明了。
该软件用Java语言编写,用SQLServer2005数据库作为后台的数据库进行信息的存储,用SQL语句完成职工基本信息的添加,查询,修改,删除的操作以及成绩的录入,修改,删除等.用ODBC驱动实现前台Java与后台SQL数据库的连接。
Java语言跨平台性强,可以在windows,Linux,等系统下使用,方便简单,安全性好.SQLServer2005数据库高效安全,两者结合可相互利用各自的优势
,用户登陆界面.该界面可以选择使用者的身份,“管理员,职工"。
不同的身份有不同的操作界面和功能权限。
账号和密码输入正确
即可登录。
,职工管理界面。
提供了职工基本信息的查询,打卡、出差、加班、
请假的查询以及相应权限的添加、删除、修改操作。
,管理员管理界面。
提供了对所有职工信息的查询、添加、修改、
删除;职工考勤信息的录入、修改、删除、查询,修改密码等功
能。
管理员拥有最高的权限,允许对职工所有信息进行查询和修
改。
2
第三章概念结构设计一、局部E—R图设计
(一)、确定局部范围
职工考勤管理系统分为七部分:
管理员登录
职工登录
职工基本信息
,职工出勤信息
,职工加班信息
职工出差信息
,职工请假信息
(二)、确定实体与属性
两个准则:
(1)属性不能在具有需要描述的性质,即属性必须是不可分的数据项,不能再由另一些
属性组成。
(2)属性不能与其他实体具有联系,联系只发生在实体之间
根据两个准则进行分析:
在职工考勤管理系统中,职工具有属性(职工编号、职工姓名、性别、年龄、职称),其
属性又是不可分的,因此将职工作为实体。
出勤、加班、出差、请假都具有属性,其属
性又是不可分的,因此将他们作为实体。
管理员、用户登录也作为实体。
表1—1
实体属性
管理员登录表管理员ID,密码
用户登录表表职工编号,密码
职工信息表职工编号,职工姓名,性别,年龄,职称
职工出勤信息姓名,编号,上班打卡时间,下班打卡时间,缺勤记录表
职工加班信息姓名,编号,加班开始时间,加班结束时间,统计加班天数表
3
职工出差信息姓名,编号,出差开始时间,出差结束时间,统计出差天数表
职工请假信息请假开始时间,请假结束时间,统计请假天数表
(三)概念模型表示
实体型:
用矩形表示,矩形内写实体名.
属性:
用椭圆形表示,并用边将其与相应的实体型连接起来。
联系:
用菱形表示,菱形框内写明联系名,并用边与有关实体型连接起来,且在边旁标上联系的类型.
管理员信息表ER图用户信息表ER图
职工信息表ER图
职工出勤信息表ER图职工加班信息表ER图
4
职工出差信息表ER图请假信息表ER图
二、合并成总体E—R图
职工考勤管理系统
5
第四章逻辑结构设计
一、E-R图转换为关系模型
关系模式的规范化
步骤
非规范关系
是每个属性不能再分
1NF
消去非主属性対主码的部分依赖
2NF
消去非主属性対主码的传递依赖
3NF
管理员登录表(admin)
列名数据类型约束是否允许为空默认值说明
char(6)admin主键管理员passwordchar(12)NOTNULL密码
员工登录表(admin)
列名数据类型约束是否允许为空默认值说明
w_idchar(6)主键员工Password_wchar(12)NOTNULL密码
职工基本信息表(worker)
默认值说明列名数据类型约束是否允许为空
6
职工编w_idchar(4)主键NOTNULL号
职工姓w_namechar(6)NOTNULL名w_sexchar(6)NOTNULL性别w_ageintNOTNULL年龄w_drgeechar(4)NOTNULL职称
出勤记录信息表(work_note)
列名数据类型约束是否允许为空默认值说明w_idchar(4)主键NOTNULL职工编号s_timdatetime上班打卡时间x_timdatetime下班打卡时间q_notInt0缺勤记录(1或0)
出差信息(out_note)
列名数据类型约束是否允许为空默认值说明w_idchar(4)主键职工编号k_timdatetime出差起始时间j_timdatetime出差结束时间c_daysInt统计总天数
请假记录信息(off_note)
列名数据类型约束是否允许为空默认值说明w_idchar(4)主键职工编号off_timdatetime请假开始时间off_e_timdatetime请假结束时间off_daysint统计请假天数
加班信息(over_note)
7
列名数据类型约束是否允许为空默认值说明
w_idchar(4)主键NOTNULL职工编号
jia_timdatetime加班开始时间
jia_e_timdatetime加班结束时间
jia_daysint统计加班时间
第五章数据库实施与维护一、定义数据库结构
分析数据库各个表的结构,在SQL中实现的创建SQL语句。
—-首先创建职工考勤数据库
CREATEDATABASEzgkq
ON
(name=zg_dat,
filename='d:
\zg_dat.mdf’,
size=5,
maxsize=20,
Filegrowth=1
)
LOGON
(name=zg_log,
filename='e:
\zg_dat.ldf',
size=5,
maxsize=20,
Filegrowth=1
)
——调到数据库zgkg
USEzgkq
GO
——管理员登录表
CREATETABLElogin_admin
(adminchar(6)PRIMARYKEY,
passwordchar(12)NOTNULL
)
——员工登录表
CREATETABLElogin_w
8
(w_idchar(6)PRIMARYKEY,
password_wchar(12)NOTNULL)
——创建职工信息表worker
CREATETABLEworker(w_idchar(4)PRIMARYKEY,
w_namechar(6)NOTNULL,
w_sexchar(6)check(w_sex='男’orw_sex='女')NOTNULL,
w_ageintNOTNULL,
w_drgeechar(4)NOTNULL
)
-—创建出勤记录信息work_note
CREATETABLEwork_note(w_idchar(4)PRIMARYKEY,
s_timdatetime,
x_timdatetime,
q_notintCHECK(q_not=0ORq_not=1)DEFAULT0
)
——创建出差信息out_noteCREATETABLEout_note(w_idchar(4)PRIMARYKEY,
k_timdatetime,
j_timdatetime,
c_daysint
)
——创建请假信息off_noteCREATETABLEoff_note(w_idchar(4)PRIMARYKEY,
off_timdatetime,
off_e_timdatetime,
off_daysint
)
-—创建加班信息over_noteCREATETABLEover_note(w_idchar(4)PRIMARYKEY,
jia_timdatetime,
jia_e_timdatetime,
jia_daysint
)
二、组织数据入库
INSERTINTOlogin_adminVALUES(’admin’,’123456’)
9
—-
INSERTINTOlogin_wVALUES(’1001',’100001’)
INSERTINTOlogin_wVALUES('1002',’100002’)
INSERTINTOlogin_wVALUES(’1003',’100003')
INSERTINTOlogin_wVALUES(’1004’,'100004’)
INSERTINTOlogin_wVALUES('1005','100005')
--
INSERTINTOwork_noteVALUES('1001','2010-5-2108:
00:
00',’2010-5—2118:
30:
00',0)INSERTINTOwork_noteVALUES('1002','2010-5-2108:
00:
00',’2010-5—2118:
30:
00’,0)INSERTINTOwork_noteVALUES('1003','2010—5-2108:
00:
00’,’2010—5-2118:
30:
00’,0)INSERTINTOwork_noteVALUES('1004',’2010-5-2108:
00:
00',’2010—5-2118:
30:
00',0)INSERTINTOwork_noteVALUES('1005','2010—5—2108:
00:
00','2010-5-2118:
30:
00’,0)———-
INSERTINTOworkerVALUES(’1001','李芳','女',’28’,'员工')
INSERTINTOworkerVALUES(’1002',’王明','男','30','员工’)
INSERTINTOworkerVALUES(’1003’,’江月’,’女’,’31’,’员工’)
INSERTINTOworkerVALUES('1004’,'李芳’,'男','27’,’员工')
INSERTINTOworkerVALUES('1005’,'李芳','男’,’24',’员工’)——
INSERTINTOout_noteVALUES('1002',’2010—3—21',’2010-4—21',31)—-
INSERTINTOoff_noteVALUES(’1003’,’2010—3—21','2010—4-21’,31)--
INSERTINTOover_noteVALUES('1004','2010—4-21','2010-4—21',1)
三、数据库试运行
1——查询所有职工信息
SELECT*FROMworker
2—-查询所有出勤记录信息
SELECT*FROMwork_note
10
3--查询所有出差信息
SELECT*FROMout_note
4—-查询所有请假信息
SELECT*FROMoff_note
5-—查询所有加班信息
SELECT*FROMover_note
6——查询编号为1001的职工信息
SELECT*
FROMworker
WHEREw_id=’1001'
第六章JAVA
11
一、JAVA代码:
(一)、登录代码
packageZGKQ;
importjava.awt。
*;
importjava。
awt.event.*;
importjavax.swing。
*;
importjava.sql.*;
publicclassLoginextendsJFrameimplementsActionListener{
JFramejf;
Containercon=getContentPane();
JTextFieldtfName;
JPasswordFieldps;
JLabellabel;
JLabellbName;
JLabellbps;
JLabelshenfen;
JButtonbt1;
JButtonbt2;
privateStringpsword;
JComboBoxbox;
JPaneljp1;
publicLogin(){
jf=this;
setTitle("用户登录界面");
con。
setBackground(Color。
black);
Fontf=newFont(”新宋体”,Font.PLAIN,22);
/////////////////////////////////////////////////
((JPanel)this。
getContentPane())。
setOpaque(false);
ImageIconimg=newImageIcon(”4。
jpg”);//添加图片
JLabelbackground=newJLabel(img);
this。
getLayeredPane().add(background,newInteger(Integer。
MIN_VALUE));
background.setBounds(0,0,img。
getIconWidth(),img.getIconHeight());
jp1=newJPanel();
////////////////////////////////////////////////
tfName=newJTextField();
ps=newJPasswordField();
label=newJLabel("职工考勤管理系统");
lbName