《中小型企业考勤管理系统设计【报告】.docx》由会员分享,可在线阅读,更多相关《中小型企业考勤管理系统设计【报告】.docx(19页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、中小型企业考勤管理系统设计1前言2口研究背景及意义21.2相关技术介绍22需求分析32.1 可行性分析32.2 系统功能分析3221登录注册管理3222人员及部门管理3考勤管理4薪酬管理42.3系统性能分析43系统设计53.1 总体框架设计53.2 系统功能设计5登录注册模块5322人员及部门管理模块5考勤管理模块5324薪酬管理模块63.2 数据库设计64系统实现与测试94系统实现94.2系统测试16421登录测试164.2.2 人员及部门管理测试17考勤管理测试17m.Show();系统注册界面主要完成对系统的用户帐号信息的注册,填入用户名,密码和真实姓 名,验证码输入正确,在用户名未注册
2、的情况下即可注册成功。注册界面如图所示。注册信息图4.1考勤管理系统注册界面图核心代码如下所示:账号不能在数据库中已存在String cmdText = nselect count(*) from employee where eid=num;SqlParameter numsprin = new SqlParameter(num, num.Text.Trim();SqlParameter sprm = new SqlParameter numsprm );int count = DBhelper.GetCountPrm(cmdText, sprm);if (count = 1)(this.n
3、umtext.ForeColor = Color. Red;this.numtext.Text 二”帐号已经注册过了了! ! ”;10else this.numtext.ForeColor = Color.Green;this.numtext.Text = OK;flagl = l;用户每天要进行签到,以便于对日后评估,九点为标准,过了九点签到视为迟到, 已经签到过了,提示已经签到了,按钮变为已签到状态,每次进入该页要查询一下该用 户该天是否已经签到过了,未签到先获取现在的时间,判断是否过了九点,是否迟到用 flag标记一下。界面如图所示。A JLI 7r2017/6/28 9:50:14考勤
4、规则1.每天到公司必须签到2.9点之间要签到,否则视为迟到野 # T Ml3 请遵守公司的考勤制度, :rTrT 冽r-,已签到产 为图4.2考勤管理系统员工签到界面图核心代码如下所示:public int getDate。判断今天有没有签到过int dayflag=0;String cmdText =select * from sign where eid=n and sdate=d;SqIParameter nsprm = new Sq 1 Parameter(n, numStr);SqlParameter dsprm 二 new SqlParameter(Hd, strYMD);SqlP
5、arameterJ sprm = new SqlParameter!J nsprm,dsprm ;SqlDataReader dr = DBhelper.GetDR(cmdText, sprm);if (!dr.HasRows)11 dayflag = 0;else dr.Read();dayflag = 1; return dayflag;)private void signinfo_Load(object sender, EventArgs e)System.DateTime currentTime = new System.DateTime();currentTime = System.
6、DateTime.Now;strYMD = currentTime.ToLongDateString();strT = currentTime.ToString(,t);strH = currentTime.Hour;int day = getDate();if (day = 1)说明已经签到了btn.Text = 已签到”;btn.Enabled = false;MessageBox.Show(“今天已经签到过了,明天再来! ! ”); )用户可以查看该月的签到记录,表中flag记录签到记录,flag二true时,为正常签到, flag=false时,为该天识到,表中没有该用户该天的记录,则
7、视为该用户未签到,在页面 右下角总计该月的天数,正常签到的次数,迟到的次数和未签到的次数进行了统计。界 面如图所示。12” 查询每天的人员签到记录1 A 日期:2017年6月28曰员工号签到时间签到状态08:49:0010:22:00注:筌到状弃选中则为正常签到,未选u则是迟到,其他为未筌到共1 页当前1 页该天签到情况正常签到图4.3考勤管理系统考勤查询界面图核心代码如下所示:设置签到了的所有日期到comboBoxl中void setDate() 去重处理String cmdText = select distinct sdate from sign1;SqlParameter sprm =
8、 new SqlParameter ;SqlDataReader dr = DBhelper.GetDR(cmdText, sprm);while (dr.Read()comboBoxl .Items. Add(drMsdate.ToString();dr.Close();获取该天正常签到或迟到的次数public int getCount(String str,String f)String cmdText = select count(*) from sign where sdate=date and sflag=flag;SqlParameter dsprm = new SqlParame
9、ter(date, str);SqlParameter fsprm = new SqlParameter(flag, f);SqlParameter sprms = new SqlParameter dsprm, fsprm ;13int count = DBhelper.GetCountPrm(cmdText, sprms);if (count 0)count = 0;)return count;)管理员和用户都可以查看公司每个部门的具体人员信息,表中的comboBox中的数 据是从数据库中查出来的,就是公司目前的部门信息。下面的组件中显示的是选中的部 门的人员的具体信息,组件右上角显示该部
10、门的人数,该界面还进行了分页的设计,展 示公司现有的部门和部门电话信息,利用listView组件展示出来,界面如图所示。公司现下有以下部门共8个部n部门名称 财务部 人事部 技术部 公关部 后勤部 企划部人力部 人力部部门电话部门所含人数610000图4.4考勤管理系统部门信息查询界面图核心代码如下所示:private void deptinfo_Load(object sender, EventArgs e)alldept.Text = getDeptCount().ToString();String cmdText = select * from dept”;SqlParameter sp
11、rms = new SqlParameter ;SqlDataReader r = DBhelper.GetDR(cmdText, sprms);14if (!r.HasRows)MessageBox.Show(没有找该数据!);while( r.Read()depid = (int)rnidu;depcount = getDeptCountPerson(depid);depname = rdnamen.ToString();deptel = rdtell.ToString();String! strs = depname,deptel,depcount.ToString() ;ListVie
12、wItem item = new ListViewItem(strs, 0);listView 1.Items. Add(item);管理员对员工信息可进行编辑,员工编号也可以修改,不过员工编号是唯一的,修改成其他已经注册过的员工编号会提示填写错误,可以修改部门,选择不同的员工进行 信息的编辑,界面如图所示。W)员工ID员工工号员工姓名年龄联系方式入职日期32014王小婷202017/9/302016王武202017/9/3042017王菲202017/9/3072018王洪军202017/9/3082019王思202017/9/3092020王则咽202017/9/30102021王文清20
13、2017/9/30员工ID员工工号员工姓名年龄联系方式入职日期32014王小婷202017/9/302016王武202017/9/3042017王菲202017/9/3072018王洪军202017/9/3082019王思202017/9/3092020王则咽202017/9/30102021王文清202017/9/30编辑信息入职日期:员工工号:下列是员工的所有信息(管理员可进行添加和删除操作)员工姓名:员工年龄:注:员工工号是唯一指识,不可重登,埴号时请注意,员工ID由案统吕沥2017年6月28日解成:添加分重,际重复图4.5考勤管理系统员工信息管理界面核心代码如下所示:public in
14、t getDeptCount()15String cmdText = select count(*) from dept;int count = DBhelper.GetCount(cmdText);if (count 0) count = 0; return count;)private void alterdept_Load(object sender, EventArgs e)id = getDeptCount();注意要查询到主键否则会报馈错sda = DBhelper.GetSDA(select id as 部门 ID, dname as 部门名称,dtel as 部门联系方式 fr
15、om dept);SqlCommandBuilder acb = new SqlCommandBuilder(sda);DataSet ds = new DataSet();sda.Fill(ds, nstn);dt = ds.Tablesnst;dataGridViewl .DataSource = dt; 4.2系统测试当程序的编辑完成了以后就需要进行测试了,需要检测系统的功能是否完整,系统 的业务是否达到要求,还要对安全性进行检测。我需要对系统的登陆进行验证,对系统 的功能进行测试,还需要分析系统的性能,还要对数据的完整性还有核心代码进行复检, 看看系统是不是符合设计的要求,能不能实现在
16、前几个章节所列举出来的那些功能。分析系统可得出,首先需要登陆系统,系统根据不同的用户进行身份验证,只有合 法用户可以访问系统,即用户名和密码正确才能应用系统,管理员通过系统验证后可进 行相应的业务操作。4.2.1 登录测试16表4-1登录测试用例表测试项目名称:考勤管理系统测试用例编号:01测试人员:测试时间:测试项目标题:测试登录是否异常测试输入数据止确用户名空码:admin;错误用户名空码:-预期结果:可以止确显不系统管埋界面首页 用户使用自己的用户名和空码可以登录系统 用户使用错误用户名及密码提不登录失败信息422人员及部门管理测试表4-2人员及部门管理测试用例表测试项目名称:考勤管理系
17、统测试用例编号:02测试人员:测试时间:测试项目标题:考勤管埋系统测试输入数据添加、修改、删除人员及部门信息预期结果:增加人员及部门信息信息只有验证通过后才能够提父到数据库 修改人员及部门信息只有通过修改验证后才能够完成信息修改删除人员及部门信息时要提小是否确认删除数据,确认后删除成功4.2.3 考勤管理测试表4-3考勤管理测试用例表测试项目名称:考勤管理系统测试用例编号:03测试人员:测试时间:测试项目标题:测试考勤管埋是否正常测试输入数据员工进行签到、查询考勤信息、进tr考勤备注预期结果:签到成功后显不已签到,并将签到时间等信息同步展现给用户17用户选择某段时间查询汇总考勤信息 对于迟到忘
18、打卡等考勤信息进行备注4.2.4 薪酬管理测试表4-4薪酬测试用例表测试项目名称:考勤管理系统测试用例编号:04测试人员:测试时间:测试项目标题:测试薪酬管理是否正常测试输入数据查询个人薪酬信息、统计薪酬信息预期结果:用户登录系统在薪酬管理模块输入密码通过验证后显了自己的薪酬信息 根据月份等时间段可以查询自己每月的薪酬、详细信息和基本工资信息 考勤部门根据薪酬计算公式自动统计汇总员工的工作信息18总结通过本次的项目设计,我掌握了 SQL Server的编程方法以及C#技术。在需求分析 阶段通过各种渠道了解系统开发的相关知识,丰富了我的软件项目开发经验,知道了自 己的不足,提高了实际的软件编程水
19、平,加深了编程技术的了解,学习知识和理论并应 用于实践。同时,通过撰写设计论文,掌握了软件文档的编写方法和格式。虽然这个系统有自己的特点,,但一些功能还不完善。在已完成的程序中,有许多不 满意的算法,没有统一的优化。系统有待进一步完善,可以在数据库方面做进一步提升, 针对各类应用的安全技术如加密等等这些安全保护措施都可以应用到系统中来。这些问 题也使我充分意识到了软件开发的困难。19薪酬管理测试18总结19参考文献201前言1.1研究背景及意义中小型企业考勤管理系统可以推动中小型企业按一定的规则制度进行管理,实现人 员考勤管理的科学化、规范化和现代化,建立适合中小型企业考勤管理模式。使用该系
20、统有利于提高中小型企业的管理效率和管理水平,具有较强的实用性。可以很好的契合 考勤管理工作信息化和规范化的诉求,倘若经过有力的推广和普及势必节省了很大一部 分的人力成本,明显提高员工的工作效率。本文分析中小型企业机构在考勤管理中的使 用习惯和重点功能,设计和实现一套考勤管理系统,提供强大的数据存储和检索能力, 系统可以提高自动化办公工作的效率,最大限度地发挥单位考勤管理的集中管理职能和 各种资源,实现办公信息化和自动化,系统在性能和可靠性方面取得突破和创新,不断 为企业员工服务,优化工作管理的要求,促进考勤管理工作的更好发展。L2相关技术介绍SQLServer在数据分析与管理方面具有很强的灵活
21、性,能较容易地对数据库进行集 中管理,也能在保持同时还具有以下优点,除了能够集中对数据库进行处理,同时还可 以在保持联机的状态下在不同的客户端对数据库进行复制和移动,从以上优点来看该数 据库已完全可以满足需求,同时,系统的开发和维护成本也相对较低。ASP.NET是基于编译的.NET的环境,程序是在服务器上首次在运行时编译的,并且 可以使用任何.NET兼容语言(包括VB.NET, C#和JS.NET)编写应用程序。这些技术 很容易被应用于程序的开发当中,给开发人员提供了支撑基础。可以使用某些网页创建 工具来创建网页,并将HTML页面轻松转换为ASP.NET页面。因此对于Web开发来说 提供了相当
22、程度的便利,能够对这些工具提供的所有功能进行实现。ADO.NET是.NET 框架下的一组类库,这些类库使用户可以更轻松地在应用程序中读取数据和执行数据操 作。参考文献lWeidong Huang,Xiang Xiao,Mengqiang Xu. Design and implementation of domain-specific cognitive system based on question similarity algorithmJ. Cognitive Systems Research?。19,57.2Aghiles Ardjal,Adel Merabet,Maamar Bett
23、ayeb,Rachid Mansouri,Labib Labib. Design and implementation of a fractional nonlinear synergetic controller for generator and grid converters of wind energy conversion systemJ. Energy,2019,186.3Yas Hosseini Tehrani,Seyed Mojtaba Atarodi. Design & implementation of a high precision & high dynamic ran
24、ge power consumption measurement system for smart energy loT applications. Measurement,2019,146.4魏雅洁.人力资源管理系统的设计与实现D.湖北工业大学,2017.5谢菊兵.考勤档案管理系统的设计与实现J.现代电子技术,2016,39(15):152-155.邓婉丽,考勤档案管理系统的设定研究J .企业改革与管理,2016(14):66.陈霆.考勤档案管理系统的设计与实现J.铁道运营技术,2016,22(04):42-44.谢建斌.考勤管理系统的设计与实现D.吉林大学,2016.9黄晓娥.基于计算机的
25、考勤档案管理系统设计与实现J.黑龙江科技信息,2015(13):154.10李爱爱.浅析考勤档案管理系统的设计与实现J .才智,2015(23):300.11虞翔.基于B/S的考勤管理系统的实现D.南京理工大学,2017.12丁磊.基于C#编程技术的企业考勤管理系统的设计与研究D.吉林大学,2017.20B/S模式基于TCP/IP开放网络标准协议,充分实现对计算机和网络上各种资源的跨 平台访问,具有较强的系统独立性和平台独立性;能够在很大程度上降低软件维护成本, 对于用户来说只需要在电脑上安装一个浏览器就可以对考勤管理数据进行各种维护操 作。2需求分析2.1 可行性分析经济上:必须对项目的经济
26、效益进行预算。如果开发成本太高而无法承受,那么它 也将与其带来的利益相抵触,因此它还必须能够确认,一旦系统启动并运行,就可以实 现工作效率。技术上:需要分析现有技术的可行性,以确定当前技术是否可以满足相同的开发条 件,以及该技术是否可以应用于中小型企业考勤管理。初始的设计会存在一些不完善性, 在系统运行的进程中,若出现功能领域的新要求,则要求系统具有特定的可伸缩性。这 为系统升级和后续维护提供了一些便利。保障系统运行的稳定性。通过系统监视,数据 库备份和其他相关操作可以使系统长时间稳定运行。系统架构设计具有多层次性,同时 在界面层的设计中与逻辑层保持隔离,这样以便于更方便维护和升级扩展系统。由
27、此可 以看出,系统在技术上是可行的。管理可行性:它是否可以支持系统的运行,当前的控制机制和方法是否适当,初始 信息是否准确。2.2 系统功能分析登录注册管理用户和管理员进行登录才能进入系统中,用户还可以进行注册。用户可以编辑自己 的信息,补全自己的信息,注册只是注册了部分信息,还可以为自己设置个头像。2.2.1 人员及部门管理此功能只是针对管理员的功能,对单位员工信息进行管理,可以查看所有员工信息, 可以对员工进行添加和删除,可以对员工信息进行编辑。用户可以查看部门信息,有哪些部门,也可以查看部门详细信息,部门有哪些人员,人数和具体的人员信息,管理员除了查看,还可以对部门信息进行添加,修改,和
28、删除, 此外还有分页的功能。2.2.2 考勤管理是用来管理和规范单位员工工作时间的有效手段,员工早上上班时需要打卡签到, 下班时同样需要打卡签退,其中迟到、早退以及无故旷工等都会导致员工的考勤异常, 可能会影响到员工的绩效。该模块包括考勤异常查询、考勤情况统计和绩效考核,其中 考勤记录一般是单位每月绩效发放或者年底绩效工资衡量标准的一项标准。公司人员每天必须签到,9点之后签到视为迟到,用户进行签到,可以查看近一个 月的自己考勤情况,而管理员可以查看每天的公司总体的考勤具体情况。薪酬管理薪酬管理作为最为基础的功能模块,在考勤管理系统中占据重要地位,包括核算、 整理和查询薪资等主要功能。2.3系统
29、性能分析因为系统并不是独立而是相互联系在一起的,其后期功能也会得到一定程度的完善, 考勤管理系统需要有一定的可扩展性和兼容性,因此,为满足操作系统过程中的准确性 和其他要求,管理系统要求有着严密的处理方式,所以不必担心会有用户有操作上的麻 烦。此外,数据在系统运行期间会因实际情况而发生不同的变化。考勤管理系统对于数据的安全要求很高,尤其是薪酬管理模块一般情况下只能由授 权用户使用,由于涉及到的信息比较重要,要保证系统正常运行,就必须确保其数据的 可靠性和准确性。如果收集的数据不够准确或不正确,管理系统的分析结果会有偏差或 错误,这会导致最终无法可靠地实现系统。同时,该系统作为相应信息数据的载体
30、,需 要充分考虑到系统异常或故障的情况,故障或异常情况可能导致数据丢失,这时需要必 备的数据恢复方案。3系统设计3.1 总体框架设计将软件系统看成是一个组件集合,各组件在不同的硬件平台上进行开发,从而来实 现共享与重用。这种模式将用户交互的界面及功能保留在客户端,而将主要逻辑功能集 中到中间服务器上,应用系统的功能表现为面向用户、业务逻辑与面向数据的服务,这 种应用被称为三层模式。在开发过程中封装具体的实现,将通过一致的界面封装和访问 特定的实现,然后由Web服务器调用业务逻辑。由于不需要更改应用程序层和数据库服 务层,因此这种结构构成了非常可伸缩的应用程序体系结构。适应性的许多方面有助于 获
31、得最佳性能,更好的安全性和更轻松的维护。3.2 系统功能设计登录注册模块在登录模块中,用户需要先输入相应的用户名和密码。只有在系统识别出用户后, 才能授予登录许可证。在登录过程中,无论是系统管理员还是其他普通用户,在系统识 别出身份后,系统都会自动将其功能权限分配给登录用户。通过。)来存储数据,对用户输入数据进行 判断。3.2.1 人员及部门管理模块在人员管理模块中,考勤部具有新增、删除、修改、查询以及进行考勤变动等功能。 为了保护员工的隐私,该系统限制了普通员工的权利。普通员工只能查询员工的所有个 人信息和一些其他信息,如姓名、部门、联系方式等。SqlDataReader用来读取数据库中有关
32、人员和部门的信息。3.2.2 考勤管理模块系统会根据是否预申请或者补申请过请假单(病假、事假等)来判断是否属于考勤 异常,对于由于打卡机故障,实际已经打卡但是却未被正确统计到系统的情况,员工需 要提交异常申请单至直接领导处审批,并提供当日的工作邮件记录或者工作证明人等, 领导审批后,该异常记录方可取消,如果异常申请单被领导退回,那么系统将该情况依 旧处理记录为考勤异常。dayflag设定为是否迟到的标志,通过与公司设置的上班时间进行比较。324薪酬管理模块薪酬信息管理模块是考勤管理系统里面最为基础的功能模块,薪酬管理模块的包括 三个主要功能,即核算、整理和查询。3.3 数据库设计因为简化了开发
33、系统,所以在管理系统时,仅将相同类型的连接用于主键。因为连 接不大,所以修改其中一个表不会影响其他表。首先,设计考勤管理系统中的所有相关 结构和连接,然后进一步将构成实体的数据元素和数据结构转换为E-R图描述的数据库 结构。工资明他图3考勤管理系统E-R图表3-1员工信息表列名数据类型是否允许为空Idint否eidvarchar(50)是enamevarchar(50)是eagevarchar(50)是etelvarchar(50)是ecreatedatedate是didint是passwordvarchar(50)是imgimage是表3-2部门信息表列名数据类型是否允许为空Idint否dn
34、amevarchar(50)是dtelvarchar(50)是表3-3考勤信息表列名数据类型是否允许为空idint否eidvarchar(50)是sflagbit是sdatevarchar(50)是stimetime(7)是表3-4薪酬信息表列名数据类型是否允许为空idint否eidvarchar(50)是basisint是addint是deleteint是4系统实现与测试4.1系统实现系统登录界面主要完成对账号,密码的认证,角色,验证码的验证,只有操作人员 输入的账号和密码能够和数据库内信息匹配的时候,并且验证码输入正确时才可以登 录,否则提示系统登录失败。核心代码如下所示:this.npt
35、ext.ForeColor = Color.Green;this.nptext.Text = 用户帐号正在登录中.;tri ng cmdText = select count(*) from employee where eid=num;SqlParameter numsprm = new Sq 1 Parameter(num1, number.Text.Trim();qlParameter sprm = new SqlParameter numsprm ;nt count = DBhelper.GetCountPrm(cmdText, sprm);if (count 1)this.nptex
36、t.ForeColor = Color.Red;this.nptext.Text =帐号不存在! ! ”;elseString cmdText 1 = select count(*) from employee where eid=number and password=pwdH;SqlParameter numsprm 1 = new SqlParameter(number, number.Text.Trim();SqlParameter pwdsprm = new SqlParameter(pwd, paw.Text.Trim();SqlParameter sprml = new SqlP
37、arameter numsprmI, pwdsprm ;int count 1 = DBhelper.GetCountPrm(cmdTextl, sprml);if (count 1 1)this.pwdtext.ForeColor = Color.Red; this.pwdtext.Text 二”密码不正确! ! ”;elsethis.pwdtext.ForeColor = Color.Green; this.pwdtext.Text = 密码正确! ! ”;if (flag = 1)MessageBox.Show(nuinber.Text.Trim() + 欢迎你的登录! !);Constant.number 二 number.Text.Trim();