职工考勤管理系统的设计与实现.docx

上传人:b****4 文档编号:24182078 上传时间:2023-05-25 格式:DOCX 页数:40 大小:1.14MB
下载 相关 举报
职工考勤管理系统的设计与实现.docx_第1页
第1页 / 共40页
职工考勤管理系统的设计与实现.docx_第2页
第2页 / 共40页
职工考勤管理系统的设计与实现.docx_第3页
第3页 / 共40页
职工考勤管理系统的设计与实现.docx_第4页
第4页 / 共40页
职工考勤管理系统的设计与实现.docx_第5页
第5页 / 共40页
点击查看更多>>
下载资源
资源描述

职工考勤管理系统的设计与实现.docx

《职工考勤管理系统的设计与实现.docx》由会员分享,可在线阅读,更多相关《职工考勤管理系统的设计与实现.docx(40页珍藏版)》请在冰豆网上搜索。

职工考勤管理系统的设计与实现.docx

职工考勤管理系统的设计与实现

课程设计报告

职工考勤管理系统的设计与实现

课程《数据库原理及应用》

班级

姓名

学号

指导教师

时间:

2012年5月21日至2012年6月3日

指导教师对课程设计(论文)的评语(工作态度、任务完成情况、能力水平、设计说明书(论文)的撰写和图纸质量等):

 

成绩

指导教师签字年月日

第一章开发背景

20世纪90年代,随着我国市场经济的快速发展,职工考勤管理系统在企业的日常管理中发挥着越来越重要的作用。

职工考勤管理系统可以进行员工信息管理、出勤管理和密码管理等,方便处理企业内部员工的相关工资信息。

此外Internet的迅速普及,使Intranet成为Internet技术在企业管理信息系统中的应用和延伸,形成了集计算机,计算机网络、数据库、分布式计算等于一体的信息技术综合体,它打破了时间和地域的界限,使信息交流变得快捷、准确,为建立现代企业管理信息系统提供了充足的条件。

企业信息管理系统在此基础上延伸、扩展,使之上下、内外全面贯通。

引入Internet后,形成了新型的浏览器/服务器(Browser/Server)结构,而传统的客户机/服务器(Client/Server)结构在这方面就远不及B/S结构。

职工考勤系统是在适应市场需求的客观前提下,为了满足中小型公司或事业单位管理自己的员工而开发的。

该系统的是终目的是要将自己的职工考勤放到网络上,以方便员工查看。

 

第二章功能描述

本系统的功能描述如下:

(1)员工信息(超级用户)

主要是显示员工的基本信息。

(2)添加及删除员工信息

主要是用于管理员添加员工和删除员工等操作,只有是系统中的合法管理员才有资格进入超级用户界面。

(3)出勤记录(超级用户)

主要用于管理员记录每个员工每天的出勤记录,以及出差的天数以方便奖励或者处罚员工。

(4)密码管理

让每一位员工在查看到自己的出勤记录的同时也保管好自己的密码以防别人偷看自己的出勤信息,保护隐私。

(5)出勤记录(一般用户)

让每一位员工在查看到自己的出勤记录,以便管理好自己的工作,为公司以及自己创造出更大的利益。

(6)员工信息(一般用户)

让员工看到自己的同事,方便同事之间的交流。

 

第三章业务流程分析

根据职工考勤管理系统的设计要求可以画出该系统的业务流程图,如图3-1所示。

职工考勤管理系统

 

员工信息

出勤记录管理员

退出管理

出勤记录

一般用户

密码管理

 

图3-1职工考勤系统业务流程图

 

第四章数据流程分析

数据流程图

通过需求分析,得出职工考勤管理系统的数据流程如下图所示。

修改职工信息P02

删除职工记录

输入职工基本信息D01

职工表F01

添加操作

修改操作

删除操作

用户

查询操作

职工号

图4-1职工信息的载入

修改考勤信息P01

删除考勤信息

输入考勤基本信息D02

考勤表F02

添加操作

修改操作

删除操作

查询操作

用户

图4-2考勤的信息载入

数据字典

(1)数据流的描述

数据流的编号:

D01

数据流的名称:

员工基本信息

简述:

与员工有关的基本信息

数据流来源:

员工基本信息表

数据流去向:

员工,部门

数据流组成:

员工编号+姓名+性别+年龄+部门+职称+基本工资

数据流的编号:

D02

数据流的名称:

考勤结构信息

简述:

员工考勤的基本信息

数据流来源:

考勤信息表

数据流去向:

员工

数据流组成:

员工编号+加班+出差+迟到+旷工+请假

(2)处理逻辑的描述

处理逻辑编号:

p01

处理逻辑名称:

考勤统计

简述:

对考勤进行统计、计算

输入的数据流:

基本考勤信息

处理描述:

根据职工的职位及其他相应情况计算出考勤次数

输出的数据流:

考勤信息

处理逻辑编号:

p02

处理逻辑名称:

员工信息处理

简述:

对员工信息进行处理

输入的数据流:

员工信息

处理描述:

根据员工的基本信息进行各种操作

输出的数据流:

员工信息

(3)数据存储的描述

数据存储编号:

F01

数据存储名称:

员工基本信息表

简述:

员工的基本信息

数据存储组成:

员工编号+姓名+性别+部门

关键字:

员工编号

相关联的处理:

P02

数据存储编号:

F02

数据存储名称:

基本考勤表

简述:

员工的考勤信息

数据存储组成:

员工编号+加班加班+出差+迟到早退+旷工

关键字:

员工编号

相关联的处理:

P01

(4)外部实体的描述

外部实体编号:

S01

外部实体名称:

员工

简述:

员工考勤

输入的数据流:

D02,D01

输出的数据流:

F01,F02

第五章概念模型设计

根据系统数据流图和数据字典,得出系统的总体概念模型(E-R)如图5-1所示。

职工号

缺勤天数

职工号

姓名

考勤系统

员工

考勤

时间

缺勤类别

密码

部门岗位

 

图5-1实体之间关系E-R图

 

第六章逻辑模型设计和优化

职工考勤管理系统数据库中各个表格的设计结果如下面的几个表格所示。

每个表格表示在数据库中的一个表,如下表1-表4。

(1)员工信息表

表1员工信息表

编号

姓名

性别

部门

基本工资

Char(10)

Char(10)

Char(10)

Char(10)

Char(10)

(2)出勤记录表

表2出勤记录表

编号

姓名

性别

部门

缺勤次数

请假次数

出差次数

Char(10)

Char(10)

Char(10)

Char(10)

Char(10)

Char(10)

Char(10)

(3)用户表

表3用户表

用户名

密码

Char(10)

Char(10)

(4)管理员表

表4管理员表

用户名

密码

Char(10)

Char(10)

 

第七章物理设计和实施

数据库和数据库表创建语法

(1)创建数据库

/*==============================================================*/

/*DataBase:

职工考勤管理系统,创建数据库,数据库名称为职工考勤管理系统*/

/*==============================================================*/

createdatabase职工考勤管理系统

go

(2)创建数据库表

/*==============================================================*/

/*Table:

1,创建员工信息表*/

/*==============================================================*/

CREATETABLE员工信息表(

NUMBERCHAR(10)NOTNULL

NAMECHAR(10)NOTNULL,

DEPARTMENTCHAR(10)NOTNULL,

ZCCHAR(10)NOTNULL

JBGZCHAR(10)NOTNULL

GO

/*==============================================================*/

/*Table:

2,创建出勤记录表*/

/*==============================================================*/

CREATETABLE出勤记录表(

NUMBERCHAR(10)NOTNULL

NAMECHAR(10)NOTNULL

DEPARTMENTCHAR(10)NULL

SEXCHAR(10)NULL

QUEQINCHAR(10)NULL

QINJIACHAR(10)NULL

CHUCHAICHAR(10)NULL

GO

/*==============================================================*/

/*Table:

3,创建管理员表*/

/*==============================================================*

CREATETABLE管理员表(

NAMECHAR(10)NOTNULL,

MICHAR(10)NOTNULL,

GO

/*==============================================================*/

/*Table:

4,创建用户表*/

/*==============================================================*

CREATETABLE用户表(

NAMECHAR(10)NOTNULL,

MICHAR(10)NOTNULL,)

GO

第八章系统测试

1、登录界面

图8-1登录界面

对应代码:

privatevoidbtnLogin_Click(objectsender,EventArgse)

{

try

{

if(txtUserName.Text=="")

{

MessageBox.Show("用户名不能为空");

}

else

{

if(txtUserName.Text=="")

{

MessageBox.Show("密码不能为空");

}

else

{

SqlConnectioncon=DBCon.createCon();

con.Open();

if(comboBox1.Text=="一般用户")

{

SqlCommandcmd=newSqlCommand("selectcount(*)from用户表where用户名='"+txtUserName.Text+"'and密码='"+txtUserPwd.Text+"'",con);

inti=Convert.ToInt32(cmd.ExecuteScalar());

if(i>0)

{

this.Hide();

ptMainM=newptMain();

M.User=txtUserName.Text;

M.Show();

FormN=newForm();

N.Close();

}

else

{

MessageBox.Show("用户名或者密码错误,请重新输入!

");

r();

txtUserPwd.Clear();

txtUserName.Focus();

}

}

elseif(comboBox1.Text=="超级用户")

{SqlCommandcmd=newSqlCommand("selectcount(*)from管理员表where用户名='"+txtUserName.Text+"'and密码='"+txtUserPwd.Text+"'",con);

inti=Convert.ToInt32(cmd.ExecuteScalar());

if(i>0)

{

this.Hide();

frmMainM=newfrmMain();

M.Show();

FormN=newForm();

N.Close();

}

else

{

MessageBox.Show("用户名或者密码错误,请重新输入!

");

txtUserName.Clear();

txtUserPwd.Clear();

txtUserName.Focus();

}

}

else

{

MessageBox.Show("请选择登录界面");

}

}

}

}

catch(Exceptionex)

{

MessageBox.Show(ex.ToString());

}

}

privatevoidtxtPwd_KeyPress(objectsender,KeyPressEventArgse)

{

if(e.KeyChar==13)

{

btnLogin_Click(sender,e);

}

}

privatevoidbtnCancel_Click(objectsender,EventArgse)

{

this.Close();

}

}

}

2.管理员界面

图8-2管理员界面

对应代码:

privatevoid基本信息ToolStripMenuItem_Click(objectsender,EventArgse)

{

Form2f=newForm2();

f.MdiParent=this;

f.Show();

}

privatevoid退出系统ToolStripMenuItem_Click(objectsender,EventArgse)

{

if(MessageBox.Show("确定退出本系统吗?

","提示",MessageBoxButtons.OKCancel,MessageBoxIcon.Asterisk)==DialogResult.OK)

{

this.Close();

}

}

privatevoid出勤统计ToolStripMenuItem_Click(objectsender,EventArgse)

{

chuqintongjiP=newchuqintongji();

P.MdiParent=this;

P.name=User;

P.Show();

}

privatevoid添加员工ToolStripMenuItem_Click(objectsender,EventArgse)

{

tianjiayuangongf=newtianjiayuangong();

f.MdiParent=this;

f.Show();

}

privatevoid删除员工ToolStripMenuItem_Click(objectsender,EventArgse)

{

shanchuyuangongf=newshanchuyuangong();

f.MdiParent=this;

f.Show();

}

privatevoid修改密码ToolStripMenuItem_Click(objectsender,EventArgse)

{

mimaxiugaiP=newmimaxiugai();

P.name=User;

P.Show();

}

}

}

3一般用户界面

图8-3一般用户界面

对应代码:

privatevoid退出系统ToolStripMenuItem_Click(objectsender,EventArgse)

{

if(MessageBox.Show("确定退出本系统吗?

","提示",MessageBoxButtons.OKCancel,MessageBoxIcon.Asterisk)==DialogResult.OK)

{

this.Close();

}

}

privatevoid基本信息ToolStripMenuItem_Click(objectsender,EventArgse)

{

Form2f=newForm2();

f.MdiParent=this;

f.Show();

}

privatevoid修改密码ToolStripMenuItem_Click(objectsender,EventArgse)

{

xiugaimimaP=newxiugaimima();

P.name=User;

P.Show();

}

privatevoid出勤统计ToolStripMenuItem_Click(objectsender,EventArgse)

{

chuqinjilu2P=newchuqinjilu2();

P.MdiParent=this;

P.Show();

}

}

}

 

图8-4修改密码界面

对应代码:

privatevoidbutton1_Click(objectsender,EventArgse)

{

if(textBox2.Text.Trim()==""||textBox3.Text.Trim()==""||textBox1.Text.Trim()=="")

{

MessageBox.Show("请将数据填写完整","提示",MessageBoxButtons.OK,MessageBoxIcon.Information);

return;

}

else

{

Box1.Text.Trim()+"'";

inti=operate.HumanNum(str);

if(i>0)

{

MessageBox.Show("旧密码错误","提示",MessageBoxButtons.OK,MessageBoxIcon.Information);

return;

}

else

{

if(textBox2.Text.Trim()!

=textBox3.Text.Trim())

{

MessageBox.Show("两次密码不一致","提示",MessageBoxButtons.OK,MessageBoxIcon.Information);

return;

}

else

{

stringupdatestr="update管理员表set密码='"+textBox3.Text.Trim()+"'where用户名='"+name+"'";

a(updatestr);

MessageBox.Show("密码修改成功","提示",MessageBoxButtons.OK,MessageBoxIcon.Information);

this.Close();

}

}

}

}

privatevoidbutton2_Click(objectsender,EventArgse)

{

this.Close();

}

}

}

 

5.出勤记录界面

图8-5出勤记录界面

对应代码:

privatevoidbutton1_Click(objectsender,EventArgse)

{

this.textBox1.Enabled=true;

nabled=true;

this.textBox3.Enabled=true;

this.textBox4.Enabled=true;

if((str1=this.textBox1.Text.ToString())!

=""&&(str2=this.textBox2.Text.ToString())!

=""&&(str3=this.textBox3.Text.ToString())!

=""&&(str4=this.textBox3.Text.ToString())!

="")

{

if(MessageBox.Show("您确定要新增本条记录吗?

","提示",MessageBoxButtons.YesNo,MessageBoxIcon.Warning)==DialogResult.Yes)

{

flag=1;

MessageBox.Show("请输编号、姓名、部门,并且按提交按钮,才能新增成功!

");

return;

}

}

}

privatevoidbutton2_Click(objectsender,EventArgse)

{

if((str1=this.textBox1.Text.ToString())!

=""&&(str2=this.textBox2.Text.ToString())!

=""&&(str3=this.textBox3.Text.ToString())!

=""&&(str4=this.textBox3.Text.ToString())!

="")

{

if(MessageBox.Show("您确定要修改本条记录吗?

","提示",MessageBoxButtons.YesNo,MessageBoxIcon.Warning)==DialogResult.Yes)

{

flag=2;

MessageBox.Show("请按提交按钮,才能修改成功!

");

return;

}

}

}

privatevoidbutton3_Click(objectsender,EventArgse)

{

if((str1=this.textBox1.Text.ToString())!

=""&&(str2=this.textBox2.Text.ToString())!

=""&&(str3=this.textBox3.Text.ToString())!

=""&&(str4=this.textBox3.Text.ToString())!

="")

{

if(MessageBox.Show("您确定要删除本条记录吗?

","提示",MessageBoxButtons.YesNo,MessageBoxIcon.Warning)==DialogResult.Yes)

{

flag=3;

MessageBox.Show("请按提交按钮,才能删除成功!

");

return;

}

}

}

privatevoidbutton4_Click(objectsender,EventArgse)

{

if(flag==1)

{

SqlConnectioncon=

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 工程科技 > 信息与通信

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1