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

上传人:小飞机 文档编号:1926938 上传时间:2022-12-26 格式:DOCX 页数:36 大小:1.16MB
返回 下载 相关 举报
职工考勤管理系统的设计与实现.docx_第1页
第1页 / 共36页
职工考勤管理系统的设计与实现.docx_第2页
第2页 / 共36页
职工考勤管理系统的设计与实现.docx_第3页
第3页 / 共36页
职工考勤管理系统的设计与实现.docx_第4页
第4页 / 共36页
职工考勤管理系统的设计与实现.docx_第5页
第5页 / 共36页
点击查看更多>>
资源描述

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

1、职工考勤管理系统的设计与实现课程设计报告职工考勤管理系统的设计与实现课 程 数据库原理及应用 班 级 姓 名 学 号 指导教师 时间: 2012 年 5 月 21 日 至 2012 年 6 月 3 日 指导教师对课程设计(论文)的评语(工作态度、任务完成情况、能力水平、设计说明书(论文)的撰写和图纸质量等):成绩 指导教师签字 年 月 日目 录第一章 开发背景3第二章 功能描述4第三章 业务流程分析5第四章 数据流程分析64.1 数据流程图64.2 数据字典7第五章 概念模型设计9第六章 逻辑模型设计和优化10第七章 物理设计和实施11第八章 系统测试13第九章 课程设计心得体会33参考文献3

2、42 第一章 开发背景 20世纪90年代,随着我国市场经济的快速发展,职工考勤管理系统在企业的日常管理中发挥着越来越重要的作用。职工考勤管理系统可以进行员工信息管理、出勤管理和密码管理等,方便处理企业内部员工的相关工资信息。此外Internet 的迅速普及,使Intranet成为Internet技术在企业管理信息系统中的应用和延伸,形成了集计算机,计算机网络、数据库、分布式计算等于一体的信息技术综合体,它打破了时间和地域的界限,使信息交流变得快捷、准确,为建立现代企业管理信息系统提供了充足的条件。企业信息管理系统在此基础上延伸、扩展,使之上下、内外全面贯通。引入Internet后,形成了新型的

3、浏览器/服务器(Browser/Server)结构,而传统的客户机/服务器(Client/Server)结构在这方面就远不及B/S结构。职工考勤系统是在适应市场需求的客观前提下,为了满足中小型公司或事业单位管理自己的员工而开发的。该系统的是终目的是要将自己的职工考勤放到网络上,以方便员工查看。第二章 功能描述 本系统的功能描述如下: (1)员工信息(超级用户) 主要是显示员工的基本信息。 (2)添加及删除员工信息 主要是用于管理员添加员工和删除员工等操作,只有是系统中的合法管理员才有资格进入超级用户界面。 (3)出勤记录(超级用户) 主要用于管理员记录每个员工每天的出勤记录,以及出差的天数以方

4、便奖励或者处罚员工。 (4)密码管理 让每一位员工在查看到自己的出勤记录的同时也保管好自己的密码以防别人偷看自己的出勤信息,保护隐私。 (5)出勤记录(一般用户) 让每一位员工在查看到自己的出勤记录,以便管理好自己的工作,为公司以及自己创造出更大的利益。(6)员工信息(一般用户)让员工看到自己的同事,方便同事之间的交流。第三章 业务流程分析根据职工考勤管理系统的设计要求可以画出该系统的业务流程图,如图3-1所示。 职工考勤管理系统 员工信息 出勤记录管理员 退出管理 出勤记录一般用户 密码管理图3-1 职工考勤系统业务流程图第四章 数据流程分析4.1 数据流程图通过需求分析,得出职工考勤管理系

5、统的数据流程如下图所示。修改职工信息P02删除职工记录输入职工基本信息D01职工表F01添加操作修改操作删除操作用户查询操作职工号 图4-1职工信息的载入修改考勤信息P01删除考勤信息输入考勤基本信息D02考勤表F02添加操作修改操作删除操作查询操作用户图4-2考勤的信息载入4.2 数据字典 (1)数据流的描述数据流的编号:D01数据流的名称:员工基本信息 简述:与员工有关的基本信息数据流来源:员工基本信息表数据流去向:员工,部门数据流组成:员工编号+姓名+性别+年龄+部门+职称+基本工资数据流的编号:D02数据流的名称:考勤结构信息简述:员工考勤的基本信息数据流来源:考勤信息表数据流去向:员

6、工数据流组成:员工编号+加班+出差+迟到+旷工+请假 (2)处理逻辑的描述 处理逻辑编号:p01处理逻辑名称:考勤统计 简述:对考勤进行统计、计算输入的数据流:基本考勤信息处理描述:根据职工的职位及其他相应情况计算出考勤次数输出的数据流:考勤信息 处理逻辑编号:p02处理逻辑名称:员工信息处理 简述:对员工信息进行处理输入的数据流:员工信息处理描述:根据员工的基本信息进行各种操作输出的数据流:员工信息 (3)数据存储的描述数据存储编号:F01数据存储名称:员工基本信息表 简述:员工的基本信息数据存储组成:员工编号+姓名+性别+部门 关键字:员工编号相关联的处理:P02数据存储编号:F02数据存

7、储名称:基本考勤表 简述:员工的考勤信息数据存储组成:员工编号+加班加班+出差+迟到早退+旷工 关键字:员工编号相关联的处理:P01 (4)外部实体的描述 外部实体编号:S01外部实体名称:员工 简述:员工考勤输入的数据流:D02,D01输出的数据流:F01,F02第五章 概念模型设计 根据系统数据流图和数据字典,得出系统的总体概念模型(E-R)如图5-1所示。职工号缺勤天数职工号姓名考勤系统员工 考勤时间缺勤类别密码部门岗位图5-1 实体之间关系E-R图第六章 逻辑模型设计和优化职工考勤管理系统数据库中各个表格的设计结果如下面的几个表格所示。每个表格表示在数据库中的一个表,如下表1-表4。

8、(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: 职工考勤管理系统, 创建数据库,数

9、据库名称为职工考勤管理系统*/*=*/create database职工考勤管理系统go (2)创建数据库表/*=*/* Table:1, 创建员工信息表*/*=*/CREATE TABLE 员工信息表 (NUMBER CHAR (10)NOT NULLNAMECHAR (10) NOT NULL,DEPARTMENT CHAR (10) NOT NULL,ZC CHAR (10) NOT NULLJBGZ CHAR (10) NOT NULL)GO/*=*/* Table:2, 创建出勤记录表*/*=*/CREATE TABLE 出勤记录表 (NUMBER CHAR (10)NOT NULL

10、NAMECHAR (10)NOT NULLDEPARTMENT CHAR (10) NULLSEX CHAR (10) NULLQUEQIN CHAR (10) NULLQINJIA CHAR (10) NULLCHUCHAI CHAR (10) NULL )GO/*=*/* Table:3, 创建管理员表*/*=*CREATE TABLE 管理员表 (NAMECHAR (10) NOT NULL,MI CHAR (10) NOT NULL,)GO/*=*/* Table:4, 创建用户表*/*=*CREATE TABLE 用户表(NAMECHAR (10) NOT NULL,MI CHAR

11、(10) NOT NULL,)GO第八章 系统测试1、登录界面图8-1 登录界面对应代码:private void btnLogin_Click(object sender, EventArgs e) try if (txtUserName.Text = ) MessageBox.Show(用户名不能为空); else if (txtUserName.Text = ) MessageBox.Show(密码不能为空); else SqlConnection con = DBCon.createCon(); con.Open(); if (comboBox1.Text = 一般用户) SqlCom

12、mand cmd = new SqlCommand(select count(*) from 用户表 where 用户名= + txtUserName.Text + and 密码= + txtUserPwd.Text + , con); int i = Convert.ToInt32(cmd.ExecuteScalar(); if(i0) this.Hide(); ptMain M = new ptMain(); M.User = txtUserName.Text; M.Show(); Form N = new Form(); N.Close(); else MessageBox.Show(用

13、户名或者密码错误,请重新输入!); txtUserName.Clear(); txtUserPwd.Clear(); txtUserName.Focus(); else if (comboBox1.Text = 超级用户) SqlCommand cmd = new SqlCommand(select count(*) from 管理员表 where 用户名= + txtUserName.Text + and 密码= + txtUserPwd.Text + , con); int i = Convert.ToInt32(cmd.ExecuteScalar(); if (i0) this.Hide

14、(); frmMain M = new frmMain(); M.Show(); Form N = new Form(); N.Close(); else MessageBox.Show(用户名或者密码错误,请重新输入!); txtUserName.Clear(); txtUserPwd.Clear(); txtUserName.Focus(); else MessageBox.Show(请选择登录界面); catch (Exception ex) MessageBox.Show(ex.ToString(); private void txtPwd_KeyPress(object sender

15、, KeyPressEventArgs e) if (e.KeyChar = 13) btnLogin_Click(sender, e); private void btnCancel_Click(object sender, EventArgs e) this.Close(); 2. 管理员界面图8-2 管理员界面对应代码:private void 基本信息ToolStripMenuItem_Click(object sender, EventArgs e) Form2 f = new Form2(); f.MdiParent = this; f.Show(); private void 退

16、出系统ToolStripMenuItem_Click(object sender, EventArgs e) if (MessageBox.Show(确定退出本系统吗?, 提示, MessageBoxButtons.OKCancel, MessageBoxIcon.Asterisk) = DialogResult.OK) this.Close(); private void 出勤统计ToolStripMenuItem_Click(object sender, EventArgs e) chuqintongji P = new chuqintongji(); P.MdiParent = this

17、; P.name = User; P.Show(); private void 添加员工ToolStripMenuItem_Click(object sender, EventArgs e) tianjiayuangong f = new tianjiayuangong(); f.MdiParent = this; f.Show(); private void 删除员工ToolStripMenuItem_Click(object sender, EventArgs e) shanchuyuangong f = new shanchuyuangong (); f.MdiParent = this

18、; f.Show(); private void 修改密码ToolStripMenuItem_Click(object sender, EventArgs e) mimaxiugai P = new mimaxiugai(); P.name = User; P.Show(); 3 一般用户界面图8-3 一般用户界面对应代码:private void 退出系统ToolStripMenuItem_Click(object sender, EventArgs e) if (MessageBox.Show(确定退出本系统吗?, 提示, MessageBoxButtons.OKCancel, Messa

19、geBoxIcon.Asterisk) = DialogResult.OK) this.Close(); private void 基本信息ToolStripMenuItem_Click(object sender, EventArgs e) Form2 f = new Form2(); f.MdiParent = this; f.Show(); private void 修改密码ToolStripMenuItem_Click(object sender, EventArgs e) xiugaimima P = new xiugaimima(); P.name = User; P.Show()

20、; private void 出勤统计ToolStripMenuItem_Click(object sender, EventArgs e) chuqinjilu2 P = new chuqinjilu2(); P.MdiParent = this; P.Show(); 4.修改密码界面图8-4 修改密码界面对应代码:private void button1_Click(object sender, EventArgs e) if (textBox2.Text.Trim() = | textBox3.Text.Trim() = | textBox1.Text.Trim() = ) Messag

21、eBox.Show(请将数据填写完整, 提示, MessageBoxButtons.OK, MessageBoxIcon.Information); return; else string str = select count(*) from 管理员表 where 用户名= + name + and 密码= + this.textBox1.Text.Trim() + ; int i = operate.HumanNum(str); if (i 0) MessageBox.Show(旧密码错误, 提示, MessageBoxButtons.OK, MessageBoxIcon.Informati

22、on); return; else if (textBox2.Text.Trim() != textBox3.Text.Trim() MessageBox.Show(两次密码不一致, 提示, MessageBoxButtons.OK, MessageBoxIcon.Information); return; else string updatestr = update 管理员表 set 密码= + textBox3.Text.Trim() + where 用户名= + name + ; operate.OperateData(updatestr); MessageBox.Show(密码修改成功

23、, 提示, MessageBoxButtons.OK, MessageBoxIcon.Information); this.Close(); private void button2_Click(object sender, EventArgs e) this.Close(); 5 出勤记录界面图8-5 出勤记录界面对应代码:private void button1_Click(object sender, EventArgs e) this.textBox1.Enabled = true; this.textBox2.Enabled = true; this.textBox3.Enabled

24、 = 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)

25、 = DialogResult.Yes) flag = 1; MessageBox.Show(请输编号、姓名、部门,并且按提交按钮,才能新增成功!); return; private void button2_Click(object sender, EventArgs e) if (str1 = this.textBox1.Text.ToString() != & (str2 = this.textBox2.Text.ToString() != & (str3 = this.textBox3.Text.ToString() != & (str4 = this.textBox3.Text.To

26、String() != ) if (MessageBox.Show(您确定要修改本条记录吗?, 提示, MessageBoxButtons.YesNo, MessageBoxIcon.Warning) = DialogResult.Yes) flag = 2; MessageBox.Show(请按提交按钮,才能修改成功!); return; private void button3_Click(object sender, EventArgs e) if (str1 = this.textBox1.Text.ToString() != & (str2 = this.textBox2.Text.

27、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; private void button4_Click(object sender

28、, EventArgs e) if (flag = 1) SqlConnection con = DBCon.createCon(); con.Open(); SqlCommand cmd = new SqlCommand(insert into 出勤统计表 values(编号,姓名,部门,性别,缺勤次数,请假次数,出差次数), con); cmd.Parameters.Add(编号, SqlDbType.Char, 10).Value = textBox1.Text; cmd.Parameters.Add(姓名, SqlDbType.Char, 10).Value = textBox2.Te

29、xt; cmd.Parameters.Add(部门, SqlDbType.Char, 10).Value = textBox3.Text; cmd.Parameters.Add(性别, SqlDbType.Char, 10).Value = textBox4.Text; cmd.Parameters.Add(缺勤次数, SqlDbType.Char, 10).Value = textBox5.Text; cmd.Parameters.Add(请假次数, SqlDbType.Char, 10).Value = textBox6.Text; cmd.Parameters.Add(出差次数, SqlDbType.Char, 10).Value = textBox7.Text; cmd.Connection = con; cmd.ExecuteNonQuery(); con.Close(); SqlDataAdapter sda = new SqlDataAdapter(select * from 出勤统计表 , con

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

当前位置:首页 > 生活休闲 > 在线阅读


备案号:宁ICP备20000045号-2

经营许可证:宁B2-20210002

宁公网安备 64010402000987号