1、员工签到管理系统软 件 学 院三级实践课题系统名称: 员工签到管理系统 专 业: 计算机信息管理 班 级: 信管111 学生XX: X世超(40)2013 年 1 月 17 日三级实践课题设计任务书姓 名X世超 信息管理 专业 111 班题 目员工签到管理系统设计任务本系统以服务用户为中心,能够实现分类别管理。管理员对员工的考勤情况、部门的管理,员工管理,同时员工也可以进入系统对自己的个人信息进行查询。系统功能主要包括:员工签到管理员工签退管理考勤统计部门管理员工管理时间进度第17周:( 2012.12.31 2013.1.6 ):系统需求分析,进行界面设计;设计系统的数据库结构进行分析、设计
2、,并通过画E-R图的方式来帮助实现数据库结构的完整设计,列出数据库数据表,之后以列出的关系模型为依据进行第18周:(2013.1.72013.1.14):对系统进行详细的分析设计,根据不同的功能模块,对其进行相应的编码及测试;第19周:(2013.1.15 2013.1.22 ):对系统进行测试和纠错,进一步完善其功能,之后进行报告总结,交与老师验收。原 主始 要资 参料 考与 文 献01李春葆, C#程序设计教程M,:清华大学, 2010.102何玉洁,数据库原理与应用教程M,:机械工业, 2010.8指导教师签字: 年 月 日摘 要本文设计的员工签到管理系统是为了更好,更方便的管理公司员工
3、考勤的信息。此系统主要包括员工基本信息,员工签到管理等几个大模块。每个大模块又分成了几个小的模块,如员工基本信息模块又分成了员工列表,扩展信息,离职管理等小的模块。每个模块都完成了其相关信息的添加、修改、删除、查询和查看的功能,如员工列表模块就实现了员工信息的添加,修改,删除,查看和查询。在开发此系统时用了代码生存器,生成了与数据库有关的一些代码以及一些常用的存储过程如记录的添加,删除和修改存储过程。通过代码生成器生成的代码将数据访问层的很好的封装了起来,大大的提高了开发的效率。系统功能的实现大大提高了公司管理员工信息的效率。关键词:员工签到管理;员工签退管理;考勤统计;第1章 绪 论1.1课
4、题背景目前市场上流行的员工签到管理系统能够完成大多数的考勤任务,其硬件系统做的相当完善,但与之相对应的管理软件的功能还不够完全,少了一些必须的考勤项目,如员工签退管理、请假管理等等。在对员工签到管理系统进行详细的需求分析的基础上,对目前员工签到管理系统做了一些改进,添加必要的员工管理项目,并对已有的项目有针对性的优化,使系统能有效的帮助企业进行人力资源管理,通过代码生成器生成的代码将数据访问层的很好的封装了起来,大大的提高了开发的效率。系统功能的实现大大提高了公司管理员工信息的效率。1.2 研究内容员工签到管理系统主要实现对员工的考勤进行管理,同时,也实现了对不同员工所属不同部门进行管理以及对
5、考勤进行统计,员工管理系统主要实现了一下功能:员工签到管理员工签退管理考勤统计员工管理1.3 分工及排序分工及排序如图所示:图1-1分工及排序序号XX功能1周苑签到、签退,考勤统计2X世超员工管理3翟让时间管理、签到查询第2章 需求分析2.1 业务分析员工签到管理系统首先分为不同的管理身份,它主要由管理员对其进行操作,管理员主要对所有员工签到和签退进行管理,同时也可以对员工的离职、调动、招新以及对员工信息查询等,也可以对制度进行更改、查询、添加以及删除等,同时,管理员可以对上、下班时间及签到时间或签退时间进行管理,也可以对部门的添加、修改、查询以及对删除等,管理员也可以根据不同的条件对员工签到
6、以及签退信息进行统计。2.2功能需求分析经业务分析,员工签到管理系统主要适用于事业型企业,系统需要实现以下功能:1、员工签到:员工可以根据自己的员工编号和密码在登陆界面中对自己上班时间进行记录(这个记录只是员工根据自己信息进行签到)。1)员工进入系统,员工输入自己的员工编号和密码,点击签到,系统根据员工输入的员工编号和密码判断输入是否合法,如果合法并且签到时间早于时间表里的上班时间,则签到成功,若签到时间晚于时间表里的上班时间,则登录系统中的签到按钮则会变灰,不能签到;否则,提示签到失败;2)签到成功的话,系统根据员工签到的相关信息和系统当前时间把签到信息插入到签到表里;2、员工签退:员工可以
7、根据自己的员工编名和密码在登陆界面中对自己下班时间进行记录(这个记录只是员工根据自己信息进行签退)。1)员工进入系统,员工输入自己的员工编号和密码,点击签退,系统根据员工输入的员工编号和密码判断输入是否合法,如果合法并且签退时间晚于时间表里的下班时间,签退成功,若签退时间早于时间表里的下班时间,则登录系统中的签到按钮则会变灰,不能签到;否则,提示签到失败;2)签退成功的话,系统根据员工签退的相关信息和系统当前时间把签退信息插入到签退表里;3、时间管理:管理员可以根据公司要求对签到时间进行管理,包括对时间的更改、查询工作时间段以及对添加工作时间段(上午、下午、晚上)等(上班时间就是签到截止时间,
8、下班时间就是签退开始时间)。1)当网页显示时,把时间表里数据加载到控件中供管理员查询,管理员可以对时间段进行更新、查询、添加(上午、下午、晚上),点击相应的按钮对时间进行管理操作;2)管理员对时间段更改后,时间表里也会进行更新并保存;4、员工管理:管理员根据人员的变动,进行一系列的操作如人员的招新、员工的调动、员工的离职以及对员工信息查询等。1)如果管理员需要对员工进行管理,经过系统验证身份的合法性后方可登录系统,选择员工管理导航按钮进入员工管理网页;2)当网页显示时,把员工表里数据加载到控件中供管理员查询,管理员可以对员工的离职、调动、查询、招新进行管理,点击相应的按钮对员工进行操作;3)管
9、理员对员工信息更改后,员工表里也会进行更新并保存;5、考勤统计:根据员工签到记录进行管理,包括对员工所在的部门、早退次数、迟到次数、签到时间、签退时间等进行统计。1)如果管理员需要对员工考勤进行管理,经过系统验证身份的合法性后方可登录系统,选择员工考勤管理导航按钮进入考勤管理网页;2)当网页显示时,把员工表里数据加载到控件中供管理员查询,管理员根据员工所在的部门、早退次数、迟到次数、签到时间、签退时间等进行对员工的考勤进行统计(考勤信息无法修改);第3章 概要设计3.1 数据库概要设计 对于员工签到管理系统的数据库设计,本文将从以下几个方面进行描述:首先是概念模型描述,包括对系统的实体属性分析
10、及系统的E-R图,然后是系统的逻辑结构设计,即给出系统的数据库设计表结构及描述。3.1.1表的设计整个系统各实体和联系可用以下关系来表示(其中主键已用下划线标识):员工信息表(tb_StaffInfo):员工编号、部门编号、员工名、密码、职务、性别、年龄、出生日期、联系方式、联系地址;时间表(tb_Time):时间段编号、部门编号、时间段名称(分为上午、下午)、签到时间、上班时间、签退时间、下班时间;员工签到表(tb_StaffReach):签到编号、员工编号、部门编号、职务、性别、签到时间; 员工签退表(tb_StaffBack):签退编号、员工编号、部门编号、职务、性别、签退时间;部门表(
11、tb_Department):部门编号、部门名称;考勤统计表(tb_Count):员工编号、部门编号、员工名、部门名称、职务、性别、年龄、类别、早退(迟到)次数、考勤是否有效、签到(签退)时间。3.1.2 实体关系图在分析过系统各实体之间的联系后可得出系统的整体概念模型,用E-R图表示出来,如图所示的。图3.1 E-R图第4章 系统设计为了方便用户的操作,系统采用了模块化设计的思想,通过各模块的不同组合以实现不同的增、删、改、查功能。最终,使该系统能够具有规X化的格式、完整的信息量和易于查询等的特点。4.1 数据库详细设计该系统数据库采用SQL Server 2005 数据库。整个数据库系统共
12、有员工信息表,时间表,员工签到表,员工签退表,部门表,考勤统计表六个表组成所有数据表的表结构如下:1. 员工信息表该表主要用来记录员工信息,其表结构如表4-1所示:表4-1 员工信息表(tb_StaffInfo)字段名称数据类型数据约束说明StaffIdNvarchar(20)主键员工编号DepartIdNvarchar(20)部门编号StaffNameNvarchar(20)员工名KeysNvarchar(20)密码PriviligesNvarchar(20)职务GenderNvarchar(20)性别AgeNvarchar(2)年龄BirthdayNvarchar(50)出生日期Phone
13、Nvarchar(20)联系方式AddressNvarchar(20)联系地址2. 时间表该表主要记录了上下班时间等,其表结构如表4-2所示:表4-2 时间表(tb_Schedule)字段名称数据类型数据约束说明SchIdNvarchar(20)主键时间段编号DepartIdNvarchar(20)部门编号SchNameNvarchar(20)时间段名称CheckInTimeNvarchar(50)签到时间StartTimeNvarchar(50)上班时间CheckOutTimeNvarchar(50)签退时间EndTimeNvarchar(50)下班时间3. 员工签到表 该表主要记录了员工签
14、到信息,其表结构如表4-3所示:表4-3 员工签到表(tb_StaffReach)字段名称数据类型数据约束说明CheckInNvarchar(50)主键签到时间StaffIdNvarchar(20)员工编号DepartIdNvarchar(20)部门编号PriviligesNvarchar(20)职务GenderNvarchar(20)性别 4. 员工签退表 该表记录了员工签退信息,其表结构如表4-4所示:表4-4 员工签退表(tb_StaffBack)字段名称数据类型数据约束说明CheckOutNvarchar(50)主键签退时间StaffIdNvarchar(20)员工编号DepartId
15、Nvarchar(20)部门编号PriviligesNvarchar(20)职务GenderNvarchar(20)性别 5. 部门表 该表详细记录了部门信息,其表结构如表4-5所示:表4-5 部门表(tb_Department)字段名称数据类型数据约束说明DepartIdNvarchar(20)主键部门编号DepartNameNvarchar(20)部门名称6. 考勤统计表该表记录了考勤统计信息,其表结构如表4-6所示:表4-6 考勤统计表(tb_Count)字段名称数据类型数据约束说明StaffIdNvarchar(20)主键员工编号TimeNvarchar(50)主键时间DepartId
16、Nvarchar(20)部门编号StaffNameNvarchar(20)员工名DepartNameNvarchar(20)部门名称PriviligesNvarchar(20)职务GenderNvarchar(20)性别AgeNvarchar(2)年龄FrequencyNvarchar(20)次数ATTNvarchar(20)考勤是否有效TypeNvarchar(20)类别4.2界面设计员工签到管理系统主要包括管理员和员工两种身份,员工可以进行签到、签退,同时可以查询自己相关信息以及修改密码等,管理员主要是对员工的管理、部门管理、时间的设置、考勤信息的统计等等,以下是员工签到管理系统的页面。无
17、论是员工还是管理员都需要签到或签退,以下是登陆页面如图4.1所示:图4.1登录页面4.2.1员工操作界面4.2.1.1 员工信息查询用户通过身份验证后进入相应业务功能页面,如果验证身份是员工的话,就进入员工相应的页面,下图是员工查询个人信息的页面如图4.2所示:图4.2 员工信息查询页面4.2.1.2 员工密码修改如果员工需要对自己的密码进行修改,需要进入相应的页面,下图是员工密码修改的页面如图4.3所示:图4.3 员工修改密码页面员工修改密码流程图如下图4.4:图4.4 员工修改密码流程图4.2.2管理员操作界面4.2.2.1 员工信息管理管理员对员工信息进行一系列的操作,以下是员工信息的编
18、辑页面,如图4.5所示:图4.5员工信息编辑页面员工信息管理流程图如下图4.6:图4.6 员工信息管理流程图4.2.2.2 员工信息添加管理员对员工信息进行一系列的操作,以下是员工信息的添加页面,如图4.7所示:图4.7员工信息添加页面4.2.2.3 时间管理管理员可以根据公司的需要进行对时间的设置,以下是管理员对时间的设置,如图4.8所示:图4.8时间编辑页面4.2.2.4 添加时间段管理员可以根据公司的需要进行对时间的设置,以下是管理员对时间的设置,如图4.9所示:图4.9 添加时间段页面4.2.2.5 签到查询管理员可以对员工签到进行查询,以下是对员工签到信息查询,如图4.10所示:图4
19、.10员工签到查询4.2.2.6 签退查询管理员可以对员工签到进行查询,以下是对员工签到信息查询,如图4.11所示:图4.11 员工签退查询4.2.2.7 考勤统计 管理员根据不同条件对员工的考勤进行不同的统计,以下是管理统计界面,如图4.12所示:图4.12管理统计界面第5章 运行及测试在编码的过程中,需要通过不断的对系统进行调试,才能对其功能做出完善性的补充。所以测试在此期间起了相当大的作用。以下给出员工管理模块的若干主要测试用例。如表5.1所示。表5.1员工管理测试用例序号功能模块 测试功能点操作步骤及数据期望结果实际结果一功能员工管理员工信息更新输入的编号数据与以前数据重复,点击修改系
20、统给出提示系统给出提示“违反主键约束” 添加员工信息员工编号和部门号没填系统给出提示系统给出提示“编号和部门号输入为空,请重新输入”员工信息查询输入查询条件错误查不到数据查不到数据表5.2修改密码测试用例项目名称项目评价系统测试阶段系统测试测试类型功能+界面测试人X世超测试日期12月13号测试用例编号0002测试项员工信息管理-修改密码测试环境SQL2005界面测试:1、页面上无错别字。2、控件左对齐。功能测试:操作步骤:输入新的密码和确认密码,点击“提交”。具体输入预期结果1、密码(1)密码为空错误提示:请输入密码(2)密码是空格提示错误(3)密码是10位数字或者字母正确提交(4)密码为字符
21、提示错误(5)密码为字符和数字错误提示:密码长度不能超过4位(6)密码为空格、字符和数字提示:密码输入错误第6章 结束语不知不觉间,两周的实践课题即将结束。回头看去,期间有苦也有甜:有时一个问题做不出来,能让我们郁闷好几天;有时自己调出一个代码,会兴奋很长时间。这次二阶课题我们分小组,自己选择合适的题目,自由选择队友,带给我们很大的收获。通过这次实践我学会如何与团队合作,交流,分工,也增进了我们之间的友情。由于这次是自己动手,我可以把在上课时,老师教的知识用于实践,让我更加理解和熟练掌握它们,让我在以后的工作中能更好的工作。做这次课题中用到了许多知识,有老师讲过的,也有老师没有讲过的。遇到老师
22、讲过的又不会的就去找课本,遇到老师没讲过的我们就去找资料和去问老师,在老师讲解之下我们最终会解决问题。在此,我要X重感谢帮过我们的老师,以后我要更加努力学习,争取开发出更好的程序。参考文献1)01郭兴峰, ASP.NET动态开发基础教程(C#篇)M,:清华大学, 2006.52)02孙士宝,ASP.NET数据库设计教程(C#篇)M,:电子工业, 2010.33)Thiru Thangarathinam,ASP.NET 2.0 XML 高级编程M.:清华大学,2006。4)X海藩.软件工程导论M.:清华大学,2003。5)郝刚.ASP.NET 2.0 开发指南M.:人民邮电,2006。指导教师评
23、语:成绩: 指导教师签字: 年 月 日附录 系统相关代码主要代码如下:员工管理:publicvoid bind() SqlConnection conn = MyConnection.Connection();SqlDataAdapter sda = newSqlDataAdapter(select * from tb_StaffInfo, conn);DataSet ds = newDataSet(); sda.Fill(ds);this.GridView1.DataSource = ds;this.GridView1.DataKeyNames = newString StaffId ;th
24、is.GridView1.DataBind(); conn.Close(); protectedvoid Page_Load(object sender, EventArgs e) if (!this.IsPostBack) bind(); protectedvoid Button1_Click(object sender, EventArgs e) string strSql = select * from tb_StaffInfo;if (TextBox1.Text != | TextBox3.Text != | TextBox4.Text != ) strSql = strSql + w
25、here;if (TextBox1.Text != ) strSql = strSql + StaffId= + TextBox1.Text.Trim() + ; if (TextBox1.Text != & TextBox3.Text != ) strSql = strSql + and; if (TextBox3.Text != ) strSql = strSql + Priviliges= + TextBox3.Text.Trim() + ; if (TextBox1.Text != & TextBox4.Text != ) strSql = strSql + and; else if
26、(TextBox3.Text != & TextBox4.Text != ) strSql = strSql + and; if (TextBox4.Text != ) strSql = strSql + DepartId= + TextBox4.Text.Trim() + ; SqlConnection conn = MyConnection.Connection();SqlDataAdapter sda = newSqlDataAdapter(strSql, conn);DataSet ds = newDataSet(); sda.Fill(ds);this.GridView1.DataS
27、ource = ds;this.GridView1.DataKeyNames = newString StaffId ;this.GridView1.DataBind(); conn.Close(); /删除数据protectedvoid GridView1_RowDeleting(object sender, GridViewDeleteEventArgs e) SqlConnection conn = MyConnection.Connection();Sqlmand cmd = newSqlmand(select count(*) from tb_Count where StaffId=
28、 + GridView1.DataKeyse.RowIndex.Value.ToString() + , conn);int i = Int32.Parse(cmd.ExecuteScalar().ToString();if (i = 0) Sqlmand cmd2 = newSqlmand(); cmd2.mandText = delete from tb_StaffInfo where StaffId= + GridView1.DataKeyse.RowIndex.Value.ToString(); cmd2.Connection = conn; cmd2.ExecuteNonQuery();SqlDataAdapter sda = newSqlDataAdapter(select * from tb_StaffInfo, conn);DataSet ds = newDataSet(); sda.Fill(ds);this.GridView1.DataSource = ds;this.GridView1.DataBind(); conn.Close(); else Response.Write(alert(此账号在其他表中有外键引用,不能删除!
copyright@ 2008-2022 冰豆网网站版权所有
经营许可证编号:鄂ICP备2022015515号-1