• 958.50 KB
  • 2022-05-17 13:13:28 发布

毕业论文范文——职工考勤管理系统

  • 41页
  • 当前文档由用户上传发布,收益归属用户
  1. 1、本文档共5页,可阅读全部内容。
  2. 2、本文档内容版权归属内容提供方,所产生的收益全部归内容提供方所有。如果您对本文有版权争议,可选择认领,认领后既往收益都归您。
  3. 3、本文档由用户上传,本站不保证质量和数量令人满意,可能有诸多瑕疵,付费之前,请仔细先通过免费阅读内容等途径辨别内容交易风险。如存在严重挂羊头卖狗肉之情形,可联系本站下载客服投诉处理。
  4. 文档侵权举报电话:19940600175。
职工考勤管理系统摘要:随着科学技术的不断发展,计算机科学日渐进步,其强大的功能耳闻目睹,它已进入人类社会的各个领域并发挥着越来越重要的作用。此职工考勤管理系统的实现利用了计算机的相关技术,满足了单位日常考勤管理的需求,使单位考勤过程更加快速、安全、高效的信息管理系统。本系统基于C/S模式,采用VisualBasic语言与MicrosoftSQL2000数据库开发完成,实现了系统管理、职工信息管理、考勤管理与工资设置管理等功能。其中系统管理包括上下班时间设置和更改用户密码等模块;职工信息管理包括添加,删除,查询职工信息模块;考勤管理包括考勤和考勤查询模块;工资设置包括基本工资设置/修改和工资计算公式/修改报模块;工资管理模块包括出勤统计,查询工资等模块。本系统能基本满足用户在考勤管理方面的需求,界面友好,符合用户使用习惯,能实际地提高单位考勤管理的效率。关键词:职工考勤管理;C/S模式;VisualBasic;MicrosoftSQL2000II StaffAttendanceManagementSystemAbstract:Withthecontinuousdevelopmentofscienceandtechnology,computerscienceisflourishing,itspowerfulfeaturestour,ithasaccesstoallareasofhumansocietyandplayanincreasinglyimportantrole.Thisstaffattendancemanagementsystemusingacomputer-relatedtechnologytomeettheneedsoftheunitofday-to-daymanagementofthedemandforattendance,attendanceunitprocessmorerapid,safe,efficientinformationmanagementsystem.ThesystemisbasedonC/Smodel,theuseofVisualBasiclanguageandMicrosoftSQL2000databasedevelopmentcompleted,therealizationofthesystemmanagement,informationmanagementstaff,attendancemanagementandsettingmanagementfeaturessuchaswages.Oneofsystemmanagement,includingworkinghoursandchangesettingssuchasuserpasswordsmodule;staffinformationmanagement,includingadd,delete,querymodulesinformationworkers;attendance,includingattendanceandattendancemanagementinquirymodule;wagesetincludesbasicwagesset/modifyandwagecalculationformula/amendthereportmodule;wagemanagementmoduleincludeattendancestatistics,thequerymodulewages.Thesystemcanbasicallymeettheneedsofusersinattendancemanagementneeds,user-friendly,inlinewithuserhabits,canactuallyimprovetheefficiencyofthemanagementunitofattendance.Keywords:AttendanceManagementstaff;C/Smode;VisualBasic;MicrosoftSQL2000II 目录1引言11.1研究背景及目的11.2开发工具的选择21.3C/S模式22系统需求分析42.1系统功能需求分析42.2性能需求分析42.2.1精度要求42.2.2时间要求42.2.3保密性42.2.4可转移、可转换性42.3技术可行性52.4使用可行性53系统总体设计63.1系统模块设计63.1.1系统启动63.1.2员工信息管理63.1.3职工考勤管理63.1.4职工工资设置63.1.5职工工资管理73.2系统结构模块图73.3数据流图分析114系统详细设计114.1系统开发思想114.2数据库设计114.2.1考勤信息表114.2.2职工请假信息表124.2.3职工信息表124.2.4出勤统计表134.2.5出差信息表134.2.6用户表144.2.7部门表144.2.8职位表144.2.9工资设置表144.2.10工资统计表154.3系统用户界面的设计154.3.1设计过程描述154.3.2系统制作的实现过程164.3.3系统界面的实现过程16 5软件测试与分析275.1定义275.2测试的作用和意义275.3测试内容275.4测试结果28结语29参考文献30附录32致谢36 1引言1.1研究背景及目的随着现代科技的进步,用计算机来进行考勤管理成为现代化企业运作必不可少的一部分。以前考勤工作都是由人工完成,不仅浪费了人力与物力,而且无法保证其准确性和透明度,同时给企业的管理带来了许多的不便。现在利用计算机来管理考勤工作,大大降低了工作人员的工作量,提高了工作效率,使原本复杂枯燥无味的工作变的简单而轻松。计算机技术,特别是数据库技术的发展。为企业建立管理信息系统,甚至对改变管理思想起着不可估量的作用。实践证明信息技术已在企业的管理层面扮演越来越重要的角色。当今社会正处于信息时代,信息技术已渗透到社会生活的各个领域,特别是各行业的管理领域,智能化信息处理已是提高效率、规范管理、客观审查的最有效途径。考勤作为一个公司的基本管理,是单位对员工工作管理的基本依据。但是,目前国内大多数企业在考勤时,依然使用的是传统的考勤方法,不仅考勤速度慢,在考勤时需要专门人员在旁记录、统计、制成报表,当报表最后交到主管人员手上时,也许时间已经过了几天,根本不能发挥考勤真正的监督作用。而且考勤数据不准确,考勤人员在考勤过程中可能记录出错,甚至弄虚作假的现象出现,极大的影响了企业对职工的管理。使用考勤管理系统,管理者可以快速记录公司全体职工当日的出勤状况,并可按月份统计职工出勤、出差、请假状况及正常工作时间。考勤管理系统以现有的计算机网络为基础,实现资源共享,全面提升人力资源管理的效率,将人员从枯燥的手工作业中解脱出来。目前,对于这一系统的研究现状是多样化的,其中,考勤管理系统包括IC卡考勤管理系统,非接触IC卡考勤管理系统,以及指纹识别考勤管理系统等。各种考勤管理系统利用计算机语言实现的方式也不尽相同,如VFP,VC++,VB等。可以说对于本课题,其国内外的研究现状是比较完善的了。但是,不管用哪种方式去实现,都是为了实现一个适合的考勤管理系统,以完善的公司的管理制度,达到更高的管理效率。本系统基于C/S(客户机/服务器)模式,运用SQLServer2000数据库与VisualBasic程序语言设计了一个考勤管理软件,为实现企业考勤提供了一个良好的平台。37 1.2开发工具的选择VisualBasic6.0利用VisualBasic6.0对数据库的支持实现对库的管理,利用VisualBasic6.0的面向对象的特性使得编程更加容易,界面更加友好。VisualBasic6.0不仅仅是一个单纯的程序编辑器,它更是一个集成的开发工具,集中了设计、编译、调试、运行等多种功能,并且每个功能都相对独立,都有自己的界面。VisualBasic6.0具有以下的特性:基于窗体和面向对象的可视化设计工具,事件驱动的编程机制,结构化的程序设计语言,提供了易学易用的应用程序集成开发环境,支持多种数据库系统的访问,还支持OLE技术和Active技术等。中文版SQLServer2000是Microsoft公司开发的大型企业级数据库管理系统,它是个真正的客户机/服务器结构的管理系统,在电子商务、数据库以及数据库解决方案等众多领域中起者核心作用。SQLServer2000分布式查询使用户得以引用来自不同数据源的数据,就好像这些数据是SQLServer2000数据库的一部分,同时分布式事务支持充分保护任何分布式数据更新的完整性。基于以上VisualBasic6.0和SQLServer2000的种种优势,使其成为编写职工考勤管理系统的编程工具。1.3C/S模式C/S模式是是继分布式系统后发展起来的基于计算机网络的一种计算机模式,在网络系统上的计算机系统分成客户机和服务器两类。Client和Server常常分别处在相距很远的两台计算机上,Client程序的任务是将用户的要求提交给Server程序,再将Server程序返回的结果以特定的形式显示给用户;Server程序的任务是接收客户程序提出的服务请求,进行相应的处理,再将结果返回给客户程序。它是软件系统体系结构,通过它可以充分利用两端硬件环境的优势,将任务合理分配到Client端和Server端来实现,降低了系统的通讯开销。目前大多数应用软件系统都是Client/Server形式的两层结构。由于现在的软件应用系统正在向分布式的Web应用发展,Web和Client/Server应用都可以进行同样的业务处理,应用不同的模块共享逻辑组件;因此,内部的和外部的用户都可以访问新的和现有的应用系统,通过现有应用系统中的逻辑可以扩展出新的应用系统。这也就是目前应用系统的发展方向。37 在此系统中用户通过客户机在网络系统上向服务器提出服务请求,服务器根据请求向有关方面提供经过加工的信息。客户机本身也承担本地信息管理工作,和分布式系统相比,客户机/服务器将信息工作分解为两个部分,一部分由服务器来实现,另一部分由客户机自身来完成。从客户机上采集考勤信息,发送到服务器,进行统计、打印,客户机也可以统计、打印本部门的考勤信息。客户端和服务器通过局域网相互联系,各部门管理员可以通过网络查询到其他部门或整个公司个人的考勤情况。同时,C/S架势具有一定的优势与劣势:其优势为应用服务器运行数据负荷较轻;数据的储存管理功能较为透明。C/S架构的劣势是高昂的维护成本且投资大。37 2系统需求分析2.1系统功能需求分析系统开发的总体任务是实现各种信息的系统化、规范化和自动化。本系统需要完成的主要功能有:认证用户:系统在连接数据库前需对用户进行认证。如果认证通过,执行连接。对非法用户则拒绝执行操作并关闭程序。设置上下班时间:系统应能由用户设置上下班时间,并能根据此时间来判断员工是否迟到或早退。记录职工出勤状况:系统必须能记录职工每日的上下班时间,能够对请假或出差的职工进行登记。并且能记录其请假或出差的详细情况,能够提供多种查询方式供用户查询职工的出勤记录。统计出勤状况:系统要能够按用户指定的时间范围对职工的出勤状况进行统计,列出详细的统计结果,其中需包含迟到,早退,请假,出差和旷工次数。并提供检索功能,使能够对单个职工的出勤统计结果进行查询。添加删除职工:系统需能够对职工进行添加或者删除操作。并能够对新增的职工进行正常的记录,统计和查询操作。2.2性能需求分析系统需能够对数据库进行反复读写操作,并且保证在数据库存有大量信息的时候,系统的所有功能依然能正常运行。系统每种操作都可以通过菜单来进行。操作快捷、方便。易懂易会。系统集输入、维护、查询、统计和各种处理为一体,各种性能需求如下:2.2.1精度要求在精度要求上,根据使用需要,在各项数据的输入,输出及传输过程中,数据是独立的。2.2.2时间要求在软件方面,响应时间,更新处理时间都较为迅速快捷,完全满足用户要求。2.2.3保密性本软件作为毕业设计课题,它的规模比较小,只通过密码保密。2.2.4可转移、可转换性可转移的环境是Windows2000/windowsxp37 ;可修改用户名、密码等;可用向上兼容的高版本的VisualBasic编程系统。2.3技术可行性由于开发此考勤管理系统需要的硬件环境有WindowsXP,支持的软件有开发工具VisualBasic所需用的操作人员熟练使用VisualBasic及MicrosoftSQL2000,具有一定的数据库开发功底及编程能力,现有开发工具VisualBasic支持强大的数据库开发,再加上WindowsXP稳定的运行环境的支持和开发人员的过硬技术,从功能和性能上完全都满足系统的要求,因此从技术方面讲开发此职工考勤管理系统是可行的。2.4使用可行性本系统是按照当今企业考勤管理的需求而设计的,并将动态实时的员工注册、考勤记录、工资计算、工资导出保等有机地联系在一起,对企业员工人事、考勤、工资处理进行全方位的管理。系统界面友好,操作简单易行,查询灵活方便,数据存储安全。系统的安全性是基于使用的操作系统的程序的设计,在操作系统方面,如果使用的是WindowsXP在安全上就要看此系统的管理程度了。作为一个企业考勤管理系统安全也是非常重要的,除了有适当的容错性外,还要增加一些程序来帮助系统的维护。在程序设计方面,该系统存在权限的管理,使每个操作的范围,限制在一定的空间,这样就不只加强了系统的安全,还提高了系统的稳定性,使之适应现今后的需求同发展。37 3系统总体设计3.1系统主要模块设计3.1.1系统登录模块系统启动时显示一个欢迎界面,之后出现管理员登录界面,系统用户分为两种,一种是系统管理员,另一种是普通用户,系统管理员有最高权限,能使用系统中的每一个功能,可增减用户,普通用户则有所限制,每个用户都可以修改自己的密码。3.1.2职工信息管理模块Ø添加职工信息:系统能为每添加的职工自动编号,以E开始。系统管理员可以添加职工信息。Ø修改职工信息:系统管理员登陆后可以修改职工的基本信息,职工编号除外。Ø查询职工信息:在模块管理员和登陆系统的职工都可以进行查询,查询信息为职工的基本信息。Ø删除职工信息。3.1.3职工考勤管理模块Ø职工考勤:分上下班考勤及其他考勤,其他考勤分为请假、加班、出差。上下班考勤主要是记录上下班的时间,记录迟到早退。这部分功能只有系统管理员有权限记录。Ø修改考勤信息:对出错的考勤信息进行修改。Ø查询考勤信息:根据职工编号,或考勤时间对职工的出勤情况进行查询。Ø删除考勤信息:分为删除上下班考勤信息和其他考勤信息。Ø设置上下班时间:分上下午上下班时间设置修改。3.1.4职工工资设置模块系统的这一模块包括基本工资设置和工资计算公式设置。其中,职工的基本工资设置是根据职工所在的部门情况而设置的。工资计算是根据每个职工的出勤以及其他出勤信息来计算的。37 3.1.5职工工资管理模块在此模块中包括统计出勤信息,计算实发工资和工资查询等功能。其中统计出勤信息主要是按本年指定月份统计;计算实发工资主要是按本年指定月份计算职工的实发工资。3.2系统结构模块图设计本考勤系统目的是为企业解决职工考勤的繁琐工作,减轻企业负担,减少不必要的劳动力、金钱的损耗,提高工作效率,为企业创造更多效益,实现单位考勤管理的系统化、规范化和自动化。因此本系统根据以上章节设计的功能来设计系统的的总体结构图以及相关模块的流程图。系统结构图如图1所示。职工考勤管理系统系统设置员工信息管理员工考勤管理员工工资设置员工工资管理文件备份文件Ø系统结构图图1系统结构图37 Ø系统主程序流程图如图2所示用户身份验证N系统主界面切换用户职工信息添加修改Yy一工资管理密码修改系统说明职工考勤职工信息出勤工资数据库用户名密码数据库图2系统主程序流程图Ø用户登录流程图如图3所示开始选择用户密码是否正确进入主界面结束NY图3用户登录流程图Ø添加员工信息流程图如图4所示37 开始输入内容判断是否添加显示结果继续添加结束NYNY图4添加职工信息流程图Ø职工出勤信息流程图如图5所示开始输入内容显示结果Y确认添加N继续添加N结束图5职工出勤信息流程图Ø密码修改流程图如图6所示37 开始N密码是否正确Y输入新密码验证新密码NY修改成功结束图6密码修改流程图Ø职工信息查询流程图如图7所示开始输入数据存在?YN显示结束图7职工信息查询流程图37 3.3数据流图分析数据流图从数据传递和加工的角度,以图形的方式刻画数据流从输入到输出的传输变换过程。数据流图是结构化系统分析的主要工具,表示系统内部信息的流向,并表示系统的逻辑处理的功能。数据流图的作用主要包括:Ø系统分析员可自顶向下分析系统信息流程。Ø可在图上画出需要计算机处理的部分。Ø根据数据存贮,进一步作数据分析,向数据库设计过渡。Ø根据数据流向,定出存取方式。Ø对应一个处理过程,用相应的语言、判定表等工具表达处理方法。37 4系统详细设计4.1系统开发思想系统应符合企业人事、考勤、工资处理管理的规定,满足管理人员的工作需求,并达到操作过程中的直观、方便、实用、安全等要求。4.2数据库设计数据库是一种存储数据并对数据进行操作的工具。数据库的作用在于组织和表达信息,是信息的集合。功能的实现都离不开数据库的支持,考勤系统的所有信息都是存储在数据库中的,以便用户共享查询使用,因此数据库设计为本系统开发的一部分不可缺少。本系统使用MicrosoftSQL2000数据库。为了实现考勤系统所要求的功能,需要建立以下几个数据库:职工信息表、考勤信息表、部门表、请假类型表、职务表、用户表等。由于开发时使用的数据量较小,因此这些表都集中在同一个数据库中。4.2.1考勤信息表包括考勤日期、职工编号、职工姓名、上班时间、下班时间等字段。具体设置如表4.1所示。表4.1KQInfo字段名数据类型说明IDintNOTNULLKQIDNvarcharKQNameNvarcharKQDatedatetimeNULLKQflagNvarcharKQIntimedatetimeNULLKQOuttimedatetimeNULLKQlaterealNULLKQearlyrealNULL37 4.2.2工资设置表该表包括职工编号、职位、薪水等字段,具体设置如表4.2所示。表4.2salaryset字段名数据类型说明IDintNOTNULLEmployIDNvarcharSPositionNvarcharSalarymoneyNULL4.2.3职工信息表包括职工编号、姓名、性别、年龄、部门、职务、备注、等字段,具体设置如表4.3所示。表4.3Employinfo字段名数据类型说明SIDNvarcharNOTNULLSNameNvarcharNOTNULLSSexNvarcharNOTNULLSPlaceNvarcharNOTNULLSAgesmallintSBirthdaydatetimeSDegreeNvarcharSWorktimedatetimeNOTNULLSIntimedatetimeNOTNULLSDeptNvarcharNOTNULLSPayTimedatetimeNOTNULLSPositionNvarcharNOTNULLSRemarkNvarcharNULLSEmailNvarcharNULLSTelNvarcharSSpecialNvarcharSAddressNvarcharNULLSCodeNvarcharNULL37 4.2.4出勤统计表此表包括职工编号、姓名、考勤时间、迟到、早退等字段。具体设置如表4.4所示。表4.4Kqtotal字段名数据类型说明IDintNOTNULLEmployIDNvarcharEmployNameNvarcharKQtimedatetimeNULLRecordMonthdatetimeAttendanceintNULLLateEarlyintNULLAbsentintNULLOvertimeComintNULLOvertimeSpeintNULLErrandintNULL4.2.5出差信息表出差信息表主要包括职工编号、出差天数、目的地和时间等字段,具体设置如表4.5所示。表4.5Errandinfo字段名数据类型说明EIDintNOTNULLERIDNvarcharERdaysrealNULLERpurposeNvarcharERfromdaydatetimeNULL37 4.2.6用户表用户表包括用户名、登陆密码、用户权限字段。具体设置如表4.6所示。表4.6UserInfo字段名数据类型说明UserIDNvarcharNOTNULLUserPWDNvarcharquanintNULL4.2.7部门表部门表主要是部门这一字段,实现部门的添加删除。具体设置如表4.7所示。表4.7dept字段名数据类型说明SDeptNvarcharNOTNULL4.2.8职位表职位表包括职位字段,具体设置如表4.8所示。表4.8sposition字段名数据类型说明spositionNvarcharNOTNULL4.2.9职工请假信息表包括请假编号、事假、病假、请假时间等字段。职工请假信息表的具体设置如表4.9所示。表4.9QJInfo字段名数据类型说明QIDintNOTNULLQJIDNvarcharQJillrealNULLQJprivaterealNULL[QJfromdaydatetimeNULL37 4.2.10工资统计表该表包括职工的编号、姓名、基本工资、出差等字段,具体设置见表4.10。表4.10salarytotal字段名数据类型说明IDintNOTNULLEmployIDNvarcharEmployNameNvarcharYearMonthNvarcharBasicSalarymoneyNULLLESubmoneyNULLAbsentSubmoneyNULLOvertimemoneyNULLErrandmoneyNULLTotalmoneyNULL4.3系统用户界面的设计4.3.1设计过程描述好的管理系统有着良好的交互性和友好的用户界面。因此本系统在系统启动时会显示一个动感的欢迎界面。一个数据库管理系统安全性是非常重要的,欢迎界面后就是管理员身份验证,只有提供正确的密码才有权使用此系统。简洁、功能明了的主界面能给使用者带来舒适的感觉,主系统以MDI多文档界面,使用此窗口设计的好处是可以使程序更加有条理,对于一个多任务的应用程序,使用多文档窗体还可以减少占用系统资源。系统实现设计完成后,需做的的操作为:Ø首先根据考勤管理系统功能、整理添加到基本信息里。Ø根据输入的条件对考勤管理系统进行添加和修改等数据维护工作。4.3.2系统制作的实现过程进入VB6.0新建工程“职工考勤管理系统”,37 建立公共模块,公共模块的建立是为了提高代码的效率,方便维护,可能用公共模来存放工程中经常使用的函数、过程和全局变量等。在这个系统中每个模块都要使用数据库,因此可以使用一个公共的数据操作函数,来执行一系列的SQL语句。具体程序请看附录的源程序。主系统中MDI窗体的建立,在添加窗体中选择MDI窗体,一个工程只能的一个MDI窗体,将WindowsTate的值设为2运行时最大化窗体,在主系统中添加了工具条控件TOOLBAR,状态条(StatusBar)及一个Imagelist控件此两个控件在部件的[MicrosoftWindowsCommonControl6]中,Imagelist控件为ToolBar控件上的按钮提供图形。系统中所有显示列表窗体的MDICHILED属性均为TRUE,即为主系统MDI窗体的子窗体,在这些窗体中添加了MSFlexGrid控件,此控件在部件的[MicrosoftFlexGridControl6.0(SP3)]中。4.3.3系统界面的实现过程Ø登录模块和主窗体的设计完成了程序各个功能模块的创建,现在来设计整个系统。首先设计如图8所示的登录窗口。图8系统登陆窗口主系统是一个MDI窗体,其中包含有:下拉菜单、工具按钮、状态栏。主系统界面如图9所示。37 图9主系统界面文件下拉菜单,切换用户:可回到系统登录界面,即是用户锁定功能,也是切换用户更改系统管理权限功能,本系统设置两个权限,一是系统管理员,可对系统中每个功能进行操作;二是普通用户,此用户的功能有所限制,其只能对数据进行查询、修改本用户密码等操作。数据初始化,即对一些表的数据进行初始化,删除旧的、过期的信息。Ø系统设置系统设置的下拉菜单提供考勤系统的一些主要设置,上下班时间设置菜单,可对上下午上下班的时间进行设置,为上下班考勤提供时间依据,如图10所示。图10上下班时间设置截图37 部门职务增减,可增加或减少企业内的部门及部门内的各种职务如图11所示。图11增减职务&部门截图增减用户,可增加系统的普通用户,此功能只有系统管理员拥有执行权力,实现模块如图12所示。图12增减用户截图修改密码,可以修改所登录系统用户的系统密码,如图13所示。图13修改密码截图37 Ø员工信息管理模块的设计员工信息管理:添加职工信息,对职工的基本信息进行添加操作,包括职工编号,姓名,性别等等。实现界面如图14所示。图14添加职工信息模块此功能中职工信息的几项为必填的,如果没填写好系统便会给出提示,如果时间格式输入错误也会对时间格进行提示,系统能为每添加的职工自动编号,以E开始,填加完一个职工的信息后单击确定按钮就会显示职工信息列表,此时只要选中一条信然后双击就会跳出修改职工信息窗口(选中后的那条记录会有一个小框框住),此窗口可以对除职工编号和姓名外的任何信息进行修改;选中一条信息然后单击右键会便会弹出菜单,单击修改职工信息会实现刚才所述一样的功能,还有一项是删除职工信息,单击它系统会提示是否真的删除。查询员工信息:可对职工的基本信息进行查询,可按职工编号,职工姓名及进入公司的时间进行查询,实现界面如图15所示。37 图15职工基本信息查询界面也可以进行职工编号和姓名及姓名与进入公司时间的复合查询,组合条件为AND,查询结果列表中同样可选中一条记录,双击或右击的操作皆可实现查询。Ø职工考勤管理模块的设计考勤,分上下班考勤及其他考勤,上下班考勤主要是记录上下班的时间,记录迟到早退,在下拉组合框中选择或输入职工编号,再选择上班时间或下班时间,此时在职工姓名那系统会自动显示该员工编号所对应的员工姓名,当选择了上班时间或下班时间时,在文本框中系统会提供当时的时间,单击确定按钮就可根据系统设置的上下午上下班时间判断此职工是否迟到或早退,若退到或早退则系统会记下迟到计时,此考勤系统设定上班时间后十五分钟开始计迟到。职工上下班考勤实现界面如图16所示。图16职工考勤界面37 其他考勤:在此模块中可对员工的请假、加班、出差进行考勤工作,在出现的窗口中填入相应的信息单击确定便会出现相应信息列表。此考勤的窗口如图17所示。图17其他考勤实现界面查询考勤信息:根据员工编号,或考勤时间进行查询。窗口如图18所示。图18查询考勤信息界面37 在此查询可显示完整的考勤信息,如上下班、请假、加班、出差;输入查询条件后若查到条件中的信息便会在下面显示所有信息,若没有找到则不显示任何信息,在显示列表中你同样可进行选中一条信息,右击操作,实现功能与上所述相似,此信息列表只有出勤信息列表有双击记录修改功能,其他的均没有。Ø员工工资设置分基本工资设置和工资计算公式设置。基本工资设置中可按员工编号或职务进行设置。基本工资设置界面如图19所示图19设置基本工资界面按职务设置时职工中所有此职务的职工都按些基本工资进行计算月工资总额,按职工编号设置是对一些特别的职工进行基本工资设置,选择项目再写入金额点击确定就行了,此项设置为计算员工工资前提。工资计算公式模块如图20所示图20工资计算公式界面37 Ø职工工资管理模块的设计在出勤统计模块中可统计出每个职工在选择的月份内的出勤情况可统计出每在统计月份的下拉组合框中选择你要统计的月份,然后填好月工作天数,系统默认为23天,如果此月已统计过,系统会给出提示,之后显示出勤信息列表;如果选择的月份还未考勤过则系统会提示此月尚未考勤,请重新选择的信息。一切就绪后单击统计按钮,系统就开始统计出勤信息,此时若数据量大则要一定的时间,此时统计按钮失效,在控件菜单栏中显示“正在处理,请稍候…”直到统计完成。出勤统计模块如入21所示。图21出勤统计实现界面统计实发工资模块界面如图22所示。操作与出勤统计类似,选择统计月份,若已统计,系统给出提示,然后出现工资信息列表显示信息,若未统计过,且选择月份的出勤信息已统计,单击统计按钮时则进行统计,此时统计和重新统计按钮失效,在控件菜单栏中显示“正在处理,请稍候…”直到统计完成,重新统计是当基本工资信息或工资计算公式改变时对已统计好的月份的员工工资再进行统计,得出新的工资信息。查询工资,分为统计信息的查询和基本工资的查询,选择项目再选择职工编号,单击查询,便会在相应的列表中显示查询信息,单击显示全部则会你选择的项目的所有信息在相应的列表上。图22统计实发工资界面37 ØExcel导出工资表此模块是调用Excel对工资信息进行导出,用Excel方便打印信息,选择好要导出工资的月份,选好存的位置单击导出按钮即可,在操作中也有相应的提示信息,如所选月份没有工资信息,没有选择好保存位置等。实现界面如图23所示。图23Excel导出工资信息界面Ø数据库备份功能设计此窗体的布局如图24所示图24数据库备份存储界面Ø关于系统此界面介绍了系统的制作信息,界面实现如图25所示。37 图25制作信息界面Ø工具栏工具栏中相应的按钮实现的功能与菜单中相应子菜单的功能一样,只是为操作的方便提供的一些常用功能的工具按钮操作。当指针指向相应的按钮对象时将会显示提示信息。Ø系统状态栏状态条(StatusBar)控件是包含在部件[MicrosoftWindowsCommonControl6]中的一个高级控件,它提供状态窗体,显示各种状态数据,最多能被分成16个Panel对象,此把它分成了五个对象,第一个为欢迎信息,第二个为系统用户的权限,第三个显示当前日期,第四个显示当前时间,第五个为制作者信息。当指针指向相应的Panel对象时也会显示提示信息。37 5软件测试与分析在开发软件系统的过程中,面对错综复杂的问题,人的主观认识不可能完全符合客观现象,与工程密切相关的各类人员之间的通讯和配合也不可能完美无缺,因此,在软件生命周期的每个阶段都不可避免地会产生错误。在每个阶段结束之前通严格的技术审查,尽可能早的发现所有差错。此外,在编码过程中还会不可避免地引入新的错误。如果在软件投入生产性运作之前,没有发现并纠正软件中的大部分错误,则这些错误迟早会在生产过程中暴露出来,那时不仅改正这些错误的代价更高,而且往往会造成很恶劣的后果。测试的目的就是在软件投入生产性运行之前,尽可能多地发现软件中的错误。5.1定义静态测试:主要方法有审阅,检查。单元测试,组装测试,系统测试。5.2测试的作用和意义系统测试是管理信息系统的开发周期中的一个十分重要环节。尽管在系统开发周期的各个阶段均采取了严格的技术审查,但依然难免会留下错误,如果没有在投入运行前的系统测试阶段被发现并纠正,问题迟早会在运行中暴露出来,到那时要纠正错误将会付出更大的代价。系统测试占用的时间、花费的人力和成本占软件开发的很大比例。统计表明,开发较大规模的系统,系统测试的工作量大约占整个软件开发工作量的40%-50%。而对于一些特别重要的大系统,测试的工作量和成本更大,甚至超过系统开发其他各阶段的总和的若干倍。5.3测试内容Ø软件的正常运行、关闭及退出时保存记录的提示(默认为是)。Ø用户登录界面友好,可操作性及安全性能较好,能对不同管理级别者进行限制,以保证数据库的安全。Ø数据库的可维护性好,数据的录入、删除及更改均能顺利完成,并能实现动态更新。Ø数据查询便捷,能对各种不同的查询条件进行搜索,以找到最合适的答案。Ø37 数据溢出、越界均能进行非法提示,以警告用户正确使用。对用户的非正常操作方式也提出警告。5.4测试结果对本系统进行代码测试、功能测试、以及界面测试、满足系统设计的需要。经过测试运行,本系统界面较为友好美观,能够较好的实现各个功能模块,其中包括上下班时间的设定;对职工进行考勤管理,及时记录其是否迟到早退等;能够提供员工出入单位的情况记录;能够提供请假、出差情况的记录,并实现查询、添加、修改、删除、浏览等处理功能;能够在每个月底进行整个月的出勤情况统计;同时,还能够实现工资的查询,统计并且可以成功的导出工资表,导出的形式为Excel表格;能够拥有一定的安全性、协调性和完整性;能准确反映出某天或者某月的个人、部门或者整个单位的考勤状况,避免以往手工统计的烦琐工作,从而为管理人员提供准确的考勤数据,大大节约管理成本,减少了不必要的劳动力。对企业实现人事管理现代化、规范化具有重要的意义,为人力资源开发、职工的绩效考核提供重要的参考依据。但是,但在安全性上存在一定的漏洞;功能不够完善,打印功能还不能很好的实现;界面还需美化;系统扩充功能还需进一步加强实现。以上问题都有待进一步的改善。在测试过程中也会经常出现错误。在调试的过程中常见的错误码就是if语句的嵌套错误码,导致功能不能实现,解决方法是在调试出错中调试,查看是哪部分出错,再进入源程序进行分析解决,有时可能会调试几次都未能成功;还有一个就是循环语句,有时不小心就将语句写成了死循环,在出勤统计模块和工资统计模块中都用到的循环语句,解决的方法是将每个循环独立来一个个地嵌套,一步步地调试嵌套到哪个循环后不能执行再从中找问题进行解决,所以在调试过程中,耐心是解决方法之一。查询的SQL语句也是常出现错误的,所以系统程序的每个环节都非常重要。37 结语本设计从需求分析到系统实现主要依照软件工程中“计算机软件开发规范”规定的软件生存周期实现。本文论述了考勤管理系统的设计开发实现过程,介绍了VisualBasic6.0开发环境以及C/S模式,较充分的了解了考勤管理机制。本考勤管理系统能准确反映出某天或者某月的个人、部门或者整个单位的考勤状况,避免以往手工统计的烦琐工作,从而为管理人员提供准确的考勤数据,大大节约管理成本,减少了不必要的劳动力。这对企业实现人事管理现代化、规范化具有重要的意义,为人力资源开发,职工的绩效考核提供重要的参考依据。但是,此系统仅仅是一个设计,由于时间问题和自己的经验水平有限,系统的功能并不是很齐全,并且系统在设计的过程中会经常出现错误。在设计此系统的过程中,我使我感觉到从理论到实践的必要性,能运用书本上所学的知识应用到实际的工作中是最能体现自己所学的标志,从中也体会到的理论结合实际的重要性。37 37 参考文献37[1]沈炜.VisualBasic编程从基础到实践[M].电子工业出版社,2006.[2]鲁荣江.VisualBasic项目案例导航[M].科学出版社,2002.[3]刘韬.VisualBasic数据库系统开发实例导航(第2版)[M].人民邮电出版社,2005.[4]徐立.VisualBasic应用与开发案例教程[M].清华大学出版社,2005.[5]邱李华.SQLServer2000数据库应用教程[M].人民邮电出版社,2007.[6]柏万里.数据库技术基础教程[M].北京理工大学出版社,2007.[7]李春葆.数据库原理与应用(第2版)[M].清华大学出版社,2007.[8]龚小勇.关系数据库与SQLServer2000[M].机械工业出版社,2004.37[9]吴洁明.软件工程应用实践教程[M].清华大学出版社,2003.[10]刘爱琴.VisualBasic程序设计教程[M].航空工业出版社,2005.[11]萨师煊.数据库系统概论(第2版).高等教育出版社,1991.[12]龚沛曾.VisualBasic程序设计教程(6.0版)[M].高等教育出版社,2000.[13]郭瑞军.VisualBasic数据库开发实例精粹[M].电子工业出版社,2001.[14][美]MichaelOtey.SQLServer2000开发指南[M].清华大学出版社,2002.[15]JamesW.Cooper.VISUALBASIC设计模式—VB6.0和VB.NET[M].清华大学出版社,2003.37 37 附录系统主模块:PublicstrPublicSQLAsString"传递SQL字符PublicgetusernameAsString"保存用户名PublicflagAsInteger"添加和修改的标志PublicgetSQLAsString"保存SQL语句PublickqSQLAsString"保存查询考勤的SQL语句PublickqSQL2AsString"保存查询其它考勤的SQL语句PublicArecordIDAsInteger"保存上下班记录编号PublicLrecordIDAsInteger"保存请假记录编号PublicOrecordIDAsInteger"保存加班记录编号PublicErecordIDAsInteger"保存出差记录编号PubliciflagAsInteger"数据库是否打开标志PublicSflagAsInteger"是否查询删除标志PublicuflagAsInteger"记录用户权限PublicmflagAsInteger"记录切换用户PublicFunctionTransactSQL(ByValsqlAsString)AsADODB.RecordsetDimconAsADODB.ConnectionDimrsAsADODB.RecordsetDimsrtConnectionAsStringDimstrArray()AsStringSetcon=NewADODB.Connection"创建连接Setrs=NewADODB.Recordset"创建记录集OnErrorGoToTransactSQL_ErrorstrConnection="Provider=Microsoft.jet.oledb.4.0;DataSource="&App.Path&"Employ.mdb"strArray=Split(sql)"返回下标从零开始的一维数组con.OpenstrConnection"打开连接IfStrComp(UCase$(strArray(0)),"select",vbTextCompare)=0Then"返回Variant(Integer),为字符串比较的结果rs.OpenTrim$(sql),con,adOpenKeyset,adLockOptimisticSetTransactSQL=rs"返回记录集iflag=1Elsecon.Executesql"执行命令iflag=1EndIfTransactSQL_Exit:Setrs=NothingSetcon=NothingExitFunction37 TransactSQL_Error:MsgBox"查询错误:"&Err.Descriptioniflag=2ResumeTransactSQL_ExitEndFunctionPublicSubTabToEnter(KeyAsInteger)IfKey=13Then"判断是否为空回车SendKeys"{TAB}""转换为TAB键EndIfEndSubSubmain()DimfstartAsNewfrmstartfstart.Showvbmodual"显示开始窗体EndSubPublicSubunloadall(OptionalByValForceAsBoolean=False)"卸载所有窗体DimiAsLongOnErrorResumeNextFori=Forms.Count-1To0Step-1UnloadForms(i)IfNotForceThenIfForms.Count>iThenExitSubEndIfEndIfNextiIfForceOr(Forms.Count=0)ThenCloseIfForceOr(Forms.Count>0)ThenEndEndSub系统登录模块源代码:PrivateSubcmdok_Click()DimsqlAsStringDimrsAsADODB.RecordsetIfTrim(Text1.Text)=""ThenMsgBox"请输入用户名!",vbOKOnly+vbExclamation,"提示"Text1.SetFocusElsesql="select*fromUserinfowhereUserID=""&Text1.Text&"""Setrs=TransactSQL(sql)Ififlag=1ThenIfrs.EOF=TrueThenMsgBox"没有此用户,请重新输入!",vbOKOnly+37 vbExclamation,"提示"Text1.SetFocusElseIfTrim(rs.Fields(1))=Trim(Text2.Text)Thenuflag=Trim(rs.Fields(2))rs.CloseMe.Hidegetusername=Trim(Text1.Text)IfTrim(Text1.Text)="Admin"Thenuflag=1Elseuflag=2EndIffrmmdimain.ShowUnloadMeExitSubElseMsgBox"密码错误,请重新输入!",vbOKOnly+vbExclamation,"提示"Text2.SetFocusText2.Text=""EndIfEndIfElseUnloadMeEndIfEndIfpwdcount=pwdcount+1Ifpwdcount=3ThenMsgBox"对不起,你已输入三次错误信息,不能进入本系统!",vbOKOnly+vbExclamation,"警告"UnloadMeExitSubEndIfEndSub修改密码模块源代码:PrivateSubCommand1_Click()DimsqlAsStringDimrsAsADODB.RecordsetIfTrim(Text1(0).Text)=""ThenMsgBox"请输入旧密码!",vbOKOnly,"提示"Text1(1).SetFocus37 ExitSubElseIfTrim(Text1(1).Text)=""ThenMsgBox"请输入新密码!",vbOKOnly,"提示"Text1(1).SetFocusExitSubElseIfTrim(Text1(1).Text)<>Trim(Text1(2).Text)ThenMsgBox"输入的两次新密码不相同,请重新输入!",vbOKOnly,"提示"Text1(1).Text=""Text1(2).Text=""Text1(1).SetFocusElsesql="updateuserinfosetuserpwd=""&Text1(1)&""whereuserID=""sql=sql&getusername&"""TransactSQL(sql)MsgBox"密码修改成功!",vbOKOnly,"提示"UnloadMeEndIfEndIfEndSub37 致谢本论文的工作是从2008年底至2009年5月完成的。整个毕业设计经历了几个月的不懈努力到了收获阶段,在此,我要向在这次毕业设计中给予过我指导、帮助和关心的老师和同学表示我最真挚的谢意。本文是在叶从欢老师的热情关心和指导下完成的,他热情的态度和严谨的治学作风使我受益匪浅,对顺利完成本课题起到了极大的作用。在此向他表示我最衷心的感谢!在论文完成过程中,本人还得到了其他老师的无私的帮助、指点和建议和许多同学的鼓励和热情支持的设计能够顺利实现,本人向他们表示深深的谢意!感谢四年来学校老师的培养和教育,正是他们细心的教导才有了我对知识的浅尝。最后向在百忙之中评审本文的各位专家、老师表示衷心的感谢!37