《企业考勤管理系统--毕业论文设计.docx》由会员分享,可在线阅读,更多相关《企业考勤管理系统--毕业论文设计.docx(40页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、目 录前 言 1第一章绪 论21.1系统开发的背景21.2系统开发的意义和目的21.3系统的简介21.4设计(论文)的主要任务和目标3第二章系统开发环境介绍42.1系统的开发环境42.2C#编程语言简介42.3C/S结构简介52.4数据库管理系统52.5ADO.NET技术52.6本章小结6第三章企业考勤系统需求分析73.1系统的可行性分析73.1.1市场需求的可行性73.1.2系统开发操作的可行性73.1.3系统开发硬件的可行性73.2系统的需求分析83.3本章小结9第四章企业考勤系统设计104.1系统设计思想104.2系统设计原则104.3系统结构功能设计104.4数据流图114.5用户界面
2、设计原则124.6本章小结13第五章系统的数据库结构设计145.1数据库设计的重要性145.2数据库的设计原则145.3系统的主要表结构155.4表与表之间的关联165.5本章小结16第六章企业考勤系统的实现186.1系统登录界面的实现186.2添加职员功能的实现196.3考勤功能的实现226.4考勤管理功能的实现246.5修改密码的功能的实现256.6信息统计功能的实现266.7本章小结27第七章系统的测试287.1软件测试的简介287.2系统测试的内容287.3本章小结29第八章总结与展望308.1总结308.2未来的展望30参考文献32致 谢34摘 要由于现代生活节奏的加快和计算机科学技
3、术的迅速普及,人们开始寻求计算机的帮助来解决越来越多的实际问题。传统的人工企业考勤管理系统具有低效、公平性差、浪费资源的缺点,已经完全不能够满足人们的需要。基于这样的现实状况,本文的主要目的就是设计和实现一个企业考勤系统。本系统旨在实现基于C/S(客户/服务器)结构的企业考勤系统,包括管理员和职员两大模块,实现了对企业中职员考勤信息的记录和管理的功能,减少了人力和物力的浪费,大大提高了办公的效率。系统的设计强调标准化,有明确的功能模块结构,易于对系统的维护。该系统在Microsoft Visual Studio 2010的平台上,使用C#编程语言来开发,使用SQL Server 2008对后台
4、的数据进行管理。本文最大的特点在于理论与实际相结合。关键词:企业考勤系统;C/S结构;C#;数据库 AbstractDue to the rapid pace of modern life and the speedy popularization of computer science and technology, people began to seek the help of a computer to solve more practical problems. Traditional attendance management system with manual recordin
5、g, inefficient, unfair, waste of resources, has been completely unable to meet peoples needs. Based on this reality, the main purpose of this paper is to design and implement an attendance management system.The system is designed to implement an attendance management system which based on C / S (Cli
6、ent / Server) structure, including two modules as administrators and staff members. Realize the enterprise staff attendance records and information management functions. Reducing the human and material resources waste and greatly improving the work efficiency. System design emphasizes standardized f
7、unction modules with clear structure and easy system maintenance.The systems implement based on the platform of Microsoft Visual Studio 2010, and using C # programming language to develop. The system use SQL Server 2008 to manage back-office data. In this thesis, the biggest feature is the combinati
8、on of theory and practice.Keywords: C / S structure; attendance management system; C# language; database35前 言当今社会是一个飞速发展的社会,人们的生活节奏越来越快,这一切都离不开人们对计算机技术的熟练掌握和对计算机的广泛应用。除了传统意义上的计算机外,还有越来越多的内嵌CPU设备涌入人们的生活、学习和工作中。应用计算机技术的程度已经越来越成为评价一个企业,乃至一个行业的重要指标之一了。对于任何一个企业来说,企业考勤都是必不可少的。旧时以纯人工记录和统计考勤数据的方式已然是不能够适应当代社
9、会的发展速度的,企业考勤系统也就渐渐取代了人力,成为新的考勤工具。本课题主要以企业考勤为研究对象,详细地分析企业考勤的需求,根据具体的需要开发出能够取代纸张的、基于C/S(客户/服务器)结构的企业考勤系统。该系统的开发使用Microsoft Visual Studio 2010与SQL Server 2008这两个软件,采用C#语言进行开发。本论文分为八章,从开发系统的设计思路,到系统开发完成后的测试工作,逐步展开阐述。对于系统和论文的不足之处,希望读者能够提出宝贵的意见。第一章绪 论在本章中,我主要介绍了开发该系统的背景、意义和目的,阐述了这个系统的鲜明的特点,最后描述了在系统中我需要完成的
10、任务和功能。1.1系统开发的背景当今世界科学技术迅猛发展,计算机的应用日渐渗透进人们的工作、学习以及日常生活的方方面面。随着微型计算机和互联网的迅速普及,计算机技术的运用在各个行业发挥着不可或缺的作用。计算机之所以能够被如此多的使用,是因为它能够在某些方面极大的方便甚至是取代繁琐的人力劳动,大大地减少了时间上的浪费,提高了效率。企业是保障国民经济稳步增长的重要保证,而企业信息系统建设是我国企业跟上世界企业发展潮流的必然要求。近半个世纪以来,中国各类企业在信息化建设的道路上经受了不同程度的挫伤,国家对企业信息系统建设也越来越重视,开发出适用于不同功能的企业信息管理系统势在必行。1.2系统开发的意
11、义和目的企业考勤制度是企业制度化管理的重要一环,企业管理者通过考勤来获知职员上下班、出勤率等情况,并且将考勤结果作为考评企业职员的重要标准之一。1传统的企业考勤是用笔在专门的记录卡或者记录册上签名,由专人定期进行统计和汇总,这种完全靠人工的考勤方式有很多的不足,出错率高、公平性有待商榷、数据存档麻烦,很难让管理员真正全面地掌握企业中职员的出勤情况2,耗费大量的人力财力,在大型企业中效果尤其不好。很显然,传统的考勤方式已经不能适应当今社会快节奏的办公方式了。目前,企业管理越来越要求高效,考勤系统能够起到加强工作纪律,严肃工作作风的作用。现在企业考勤大多采用刷卡或者指纹签到,利用计算机技术帮助管理
12、大量的职员考勤数据,工作效率大大提高,有助于提高企业考勤制度的规范化和科学化程度。通过对企业考勤系统进行研究和开发,能够系统地将我所学的知识实实在在地运用到实践中,进一步加强和巩固在校的学习,为以后的工作打好基础。1.3系统的简介本课题所要设计和实现的系统采用C/S(Client/Server,客户/服务器)体系结构。C/S体系结构的应用系统能够在计算机不联网的情况下照常使用,不用依赖于外网环境,客户端与数据库直接相连,减少了中间环节。3此系统包括了职员登录和管理员登录两个权限,每个权限能够满足相应身份的人的不同需求。基于C/S体系结构的企业考勤系统可以实现管理员动态地添加、管理、删除职员基本
13、信息和考勤信息,方便职员上下班签到,以及了解自己的各项信息,具有较好的实用性。1.4设计(论文)的主要任务和目标目标:本课题主要使用C#语言,实现基于C/S架构的企业考勤管理系统,实现人员的考勤与统计,加强企业信息化管理。主要任务:(1)实现企业职员基本信息的录入和维护。(2)实现对企业职员考勤信息的记录和管理。(3)实现管理员的登录功能,便于其对企业职员信息的查看和统计。(4)完成系统的设计和源代码的编写,实现企业考勤系统。第二章系统开发环境介绍本章详细介绍了设计和实现企业考勤系统时所用的各种应用程序、硬件环境及系统开发的关键性技术,并且阐述了本系统的特点。2.1系统的开发环境系统开发平台:
14、Microsoft Visual Studio 2010数据库:SQL Server 2008操作系统:Windows 8中文版 64位操作系统2.2C#编程语言简介近几年微软公司推出了C#编程语言,虽然它是从C语言和C+语言派生出来的,但是它与C语言有一个本质上的差别,它是完全面向对象的程序设计语言。在这几年的发展中,C#越来越成为编程人员的首选语言,越来越多的应用软件采用C#来进行开发,尤其是在Web开发方面,C#的适用性更是无与伦比。4C#语言是一种简单的、现代的、类型安全的程序设计语言,是专门用于.NET的编程语言,用C#编写的所有代码总是在.NET Framework中运行。5说起C
15、#就不能不提到.NET Framework。.NET Framework(框架)简称.NET,是微软为开发应用程序创建的一个富有革命性的新平台。简单地说,.NET Framework是一个创建、部署和运行应用程序的多语言多平台环境,包含了一个庞大的代码库,各种.NET语言都可以共用这些代码库。6C#语言是既可以进行快速开发,又可以访问所有潜在平台的编程语言,并且它的开发环境能够完全与新的Web标准同步,容易与现存的应用系统集成,编程人员还可以使用C#语言来编写底层代码。在构建从高级商务对象到系统级应用的各种不同组件时,由于C#具有优良的面向对象设计特点,已成为首要的选择。C#语言之所以能够实现
16、在多语言和多平台之间调用因特网的功能,是因为C#在使用的同时,能够将所有的组件都转换为Web服务。7类似于Java,C#摒弃了C语言里的一些危险功能。虽然C#并没有完全禁止使用指针,但大多数程序工作都可以在不使用指针的情况下完成。8本课题所要设计和实现的企业考勤系统,是在Microsoft Visual Studio 2010开发环境下,使用C#语言进行开发,灵活地使用Microsoft Visual Studio 2010中的各种工具,方便快捷地实现系统需要的功能。2.3C/S结构简介C/S结构即客户/服务器结构,它充分地利用了计算机的各种硬件和软件资源,是一种在计算机领域里经常会用到的体系
17、结构。它为了极大地降低系统的通信开销,充分利用两端硬件环境的优势,将任务合理分配到客户(Client)端和服务器(Server)端实现。9在C/S体系结构中,不同的计算机分别承载着应用程序和数据库及其管理软件,它们彼此之间通过网络进行连接。10 C/S结构的基本原则是将计算机应用任务分解成多个子任务,由多台计算机分工完成,即采用“功能分布”原则。扮演服务器角色的计算机存放着数据库及其管理软件,存储了应用程序中需要被处理的全部数据,并且负责对这些数据进行处理,将处理好的数据传送给若干台与其相连的客户机;应用程序所在的计算机称为客户机,它主要用于将请求发送给服务器,并接收服务器返回的请求结果和数据
18、。11C/S结构特点:应用程序的全部操作将会显示在Client和Server上。在客户端计算机上安装必要的应用软件。数据的管理可以采用分散或集中两种方式。扮演客户端角色的计算机能够对数据或者工作做先行处理,之后再将进行过初步处理的数据传给服务器,在这个过程中,充分发挥了客户端计算机的处理能力,有效地提高其反应的速度。但是C/S系统由于自身软件的限制只适用于中小规模的局域网环境。122.4数据库管理系统企业考勤系统的运行必然离不开数据库的应用,对于该系统来说,数据库管理系统(Database Management System,DBMS)是其实现和正常运行的重要保证。数据库管理系统是位于用户与操
19、作系统之间的一层数据管理软件。数据库管理系统的主要功能包括:数据定义功能,数据组织、存储和管理,数据操纵功能,数据库的事务管理和运行管理,数据库的建立和维护功能,其他功能。13企业考勤系统需要存储职员的基本信息、考勤信息等,以及对这些信息的更新、添加、删除等,加上系统选用了Microsoft Visual Studio 2010软件来编写代码,因此在该系统中,选择SQL Server 2008来管理系统的后台数据。在SQL Server 2008的管理下,我们可以在Microsoft .NET和Visual Studio开发出的应用程序里使用数据,编程工作人员可以通过日常使用的工具直接访问数据
20、,是实现该系统的理想数据库管理系统。2.5ADO.NET技术ADO.NET的名称起源于ADO(ActiveX Data Objects),是一个COM组件库,Microsoft希望表明ADO.NET在.NET编程环境中使用数据访问接口的优先地位,而采用了这样的名称。在发布之初,人们普遍认为它是访问任何类型数据的通用解决方案:从数据库到电子邮件,从无格式文本文件到电子表格。ADO代表了对以前数据访问方法的一种重大变革14。ADO.NET提供了平台互用性和可伸缩的数据访问,对非连接编程模式的支持力度加强。它传输的数据是XML格式的,只要应用程序具备读取XML格式的能力,都能够借此来处理数据。ADO
21、.NET是一组面向对象的类库,通过它,应用程序和数据源才能够进行正常的通信。ADO.NET提供了一系列公共方法,来保证与数据源的交互行为,并且可以在不同的数据源之间进行交互。在企业考勤系统的开发中需要使用到类库中的Connection类、Command对象、DataReader类、DataSet对象、DataAdapter类、DataTable类等,保证与数据库的正常连接和系统顺利运行。152.6本章小结本章主要就设计和开发企业考勤系统所用到关键性技术以及开发使用的各种工具进行了简要的阐述。在系统界面和代码部分,我采用C#编程语言,并且在Microsoft Visual Studio 2010
22、环境下运行;在后台数据部分,使用SQL Server 2008对系统中的各项数据实现灵活、高效、有序的管理,即时地根据系统的添加、删除、考勤等功能对数据库中的数据更新。 第三章企业考勤系统需求分析本章主要对企业考勤系统进行市场需求的可行性分析,详细分析了开发该系统的各方面的可行性,具体阐述开发企业考勤系统需要实现的主要功能,以及在设计系统时的设计思路。3.1系统的可行性分析3.1.1市场需求的可行性积极创兴、以技术为核心的初创型企业过去是市场中唯一的颠覆力量,其增长速度高于那些规模更大、更加成熟的竞争对手。然而,这种局面很可能即将结束,大型企业已开始利用自身的技能、规模和影响力优势,转型成为真
23、正的数字化组织。16从埃森哲对大型企业正转型为数字化组织的六大趋势的分析来看,不难看出只有在企业中全面推行数字化,利用计算机和计算机技术来操作企业的各项事务,企业的发展速度才能够跟上时代发展的大潮,才会有可能在众多竞争对手中脱颖而出。企业考勤系统是企业制度化管理和企业数字化结合的产物,在当今的企业中有着巨大的需求量。3.1.2系统开发操作的可行性企业考勤系统的界面要求有较好的交互性,我选择在Microsoft Visual Studio 2010环境下采用C#进行开发,这样可以快捷地创建Windows窗体,可以灵活地根据具体的功能添加各种组件,并且可以很方便地对组件的触发事件进行编程,实现相应
24、的功能。C#是由C和C+衍生出来的面向对象的编程语言,并且和Java有着惊人的相似之处,因此在掌握和使用的过程中障碍少,面临的问题解决起来比较简单。该系统使用SQL Server 2008管理后台数据,该软件能够与Microsoft Visual Studio 2010很好地对接,很大程度上提高了系统数据的处理效率。总之,在这样的系统开发环境下,系统开发的可操作性很强。3.1.3系统开发硬件的可行性对于本课题所要设计和实现的企业考勤系统来说,我所做的系统仅是理论研究性质的,并不需要真正的投入市场使用,所要实现的功能也没有大型企业中使用的考勤系统复杂,因此,对于硬件的要求并不高。电脑硬件配置低,
25、则系统运行效率低,可能会出现死机的情况,但是对于现在个人电脑的配置,要想顺利地开发和运行本课题要求的考勤系统完全没有问题。我从以上三个方面对企业考勤系统的可行性进行了分析,在当前电脑硬件条件和本人计算机技术的掌握情况下,开发该系统没有问题。3.2系统的需求分析需求分析是软件生命周期的起始阶段,是指用户对目标软件系统在功能、行为、性能、设计约束等方面的期望。需求分析的任务是发现需求、求精、建模和定义需求的过程,包括从用户角度,以及从开发者角度来阐述需求。10企业考勤系统,顾名思义是指管理企业职员的上下班时间、出勤情况等考勤记录的管理系统,一般人事管理部门以此来掌握企业职员的出勤动态。在实际应用中
26、,企业考勤系统通常是考勤软件和考勤硬件结合使用的,但是由于条件限制,本课题设计和实现的考勤系统仅限于软件使用。考勤系统的核心功能是将企业中每个职员上下班时间和请假、缺勤等情况准确地记录下来,并且能够对这些数据进行管理和分析,以此为依据考评职员。在此功能的要求下,则必须要有管理员添加普通职员的功能,使得每个职员能够私密地登录自己的账号,查看自己的各项信息,并且彼此之间互不干扰。此系统中各个界面的主要功能如下:登录界面:设置两种登录权限,实现管理员和普通职员两种不同身份登录。管理员界面:1、添加新职员,删除现有职员; 2、添加新管理员,删除现有管理员; 3、添加职员的请假信息,查看职员上下班情况以
27、及请假信息; 4、修改当前管理员的密码; 5、选择职员并且查看该职员迟到、早退以及请假的统计数据; 6、导出或者打印职员的考勤信息; 7、根据职员的考勤情况,对职员的工资进行相应的增减; 8、注销当前账号的登录。普通职员界面:1、查看当前职员的基本信息; 2、上下班签到,并可以知晓自己是否迟到或者早退;3、查看当前登录的职员的考勤信息; 4、修改当前职员的密码; 5、注销当前账号的登录。3.3本章小结本章主要对设计和实现企业考勤系统的可行性进行了详细的分析,从市场需求、操作性、硬件配置等方面充分地论证了开发该系统的可行性。在本章的最后,介绍了企业考勤系统的核心功能,以及我对该系统的功能的理解和
28、设计思路。在接下来的几章中,会更加具体地阐述开发该系统的操作和实现过程。第四章企业考勤系统设计本章主要讲述设计企业考勤系统的设计思想、设计原则等。4.1系统设计思想企业中人事管理部门是对整个企业职员管理的核心部门,考勤是考评企业职员日常表现的重要标准之一,考勤系统则是提供这些参考数据的重要工具。企业考勤系统应该是企业人事管理系统的一个重要组成部分,其投入使用之后,对企业人事管理发挥着至关重要的作用。企业考勤系统的设计和实现将遵循此思想。根据企业中考勤的实际需求,企业考勤系统的设计以实用性、易用性为主,并且充分考虑未来的扩展性。4.2系统设计原则(1)实用性原则任何应用系统最终都是要应用于实际的
29、,这就要求设计充分调查企业中的实际情况,考虑企业考勤的实际需求,解决实际问题,以提高人事管理的效率为目标。(2)易用性原则任何系统开发的目的都是为了投入使用,拥有简洁明了的用户界面和较好的交互性是必不可少的。系统应该具有易于使用、方便维护的优点,使使用者只需要通过简单的了解就可以熟练地操作。(3)先进性原则系统要符合当今市场和技术的发展趋势,在选择技术时注意选择先进、成熟、稳定的技术,保证该系统不会过早地被淘汰。(4)可扩展性原则系统能够方便地扩展和维护,包括功能上的扩展和企业职员的扩展,以适应企业的发展。174.3系统结构功能设计该系统的功能模块如图4.1所示,主要画出了管理员和普通职员两个
30、重要部分的功能模块。从图中可以看出,管理员实现的功能比普通职员的稍多一些,在管理员权限下可以添加职员,并且管理、查看每个职员的各种信息,而在普通职员的权限下只能够看到自己的信息。图4.1 企业考勤系统功能结构图4.4数据流图图4.2 企业考勤系统数据流图DFD(Data Flow Diagram,数据流图)是在软件或者系统的设计阶段常常会用到的一种很实用的工具。数据流图把系统的逻辑功能、数据流向和变换的过程,用图形的方式表现出来,是在结构化分析时常常采用的一种功能模型。企业考勤系统的数据流图如图4.2所示,从数据流图中可以看出企业职员考勤的数据流向。4.5用户界面设计原则用户界面(User I
31、nterface,UI)是指人与计算机系统之间的通信媒介或手段,它是支持人-机双向信息交换的软件和硬件。界面是通信的媒介或手段,具体地说就是有关的支持软件和硬件。18用户界面是一个应用程序中最重要的组成部分,是使用者与系统交互的门窗。用户在使用应用程序时,最直接能够接触到的就是用户界面,而不是隐藏在用户界面后面的大量保证程序正常运行的代码。无论一个应用程序能实现多少功能,最终都需要依赖用户界面来保证可用性。用户界面设计应该遵循以下几点原则:(1)以用户为中心用户是所有操作的核心,用户在使用应用程序时,根据自己的意愿来控制程序如何工作。(2)界面统一性在人机交互设计中应该注意统一性,用户界面的设
32、计也是如此。统一性既包括使用标准的控件,也指使用相同的表现方法,如在字体、标签风格、颜色、术语、显示错误信息等方面确保统一。18具有同一性的用户界面,显得清爽,不会让用户觉得烦躁。(3)合理设计布局,保证界面简洁软件的界面就好比是人的脸面,其设计也需要遵循美学原则,在界面上尽量保持整洁,使形成的布局简洁明了。(4)出错信息和警告应用程序在使用的过程中,经常会因为用户操作不当或者输入错误跳出出错信息。对于这类提示框,在设计系统时要注意:使用用户能够理解的语言或符号信息描述提示的内容;对用户的错误操作等要提醒可能造成的后果,并且提出相应的解决办法;伴随视觉或者听觉上的提示,确保能够吸引用户的注意力
33、。4.6本章小结本章详细介绍了企业考勤系统的设计思路,明确地划分了系统中的功能模块,在参考了各种文献资料的基础上,提出了设计系统和用户界面需要遵循的各项原则,为具体的开发提供了明确的方向。第五章系统的数据库结构设计设计一个能够动态记录职员考勤信息的企业考勤系统,数据库的设计必不可少,本章就该系统的数据库设计展开阐述。5.1数据库设计的重要性数据库的应用已经渗透进我们工作的方方面面,现行的应用程序大多依赖于数据库才能够正常运行。经过优化的数据关系,保证了数据库的高效运行,提高了数据库的可维护性。好的数据库设计(关系型数据库)作用主要体现在以下几个方面:(1)充分体现需求,精准地表达出数据表之间的
34、关系;(2)保证数据是准确的,各个表中的数据要求具有一定的一致性;(3)缩短查询所用时间,保证查询的正确率;(4)在系统更新换代时,保证其扩展性。19数据库设计得优化,查询数据时才能够简单高效,提高系统的性能。一个应用程序的性能高低及可维护性的好坏,很大程度上取决于数据库的设计是否优化。5.2数据库的设计原则(1)正确理解和处理原始单据与实体之间的关系原始数据单据与实体之间存在三种关系:一对一、一对多和多对多的关系。这里的实体可以理解为基本表。(2)关系的三类完整性约束必须应用到具体操作中。 1、实体完整性:若属性(指一个或一组属性)A是基本关系R的主属性,则A 不能取空值; 2、参照完整性;
35、 3、用户定义的完整性。(3)遵从“三少原则”: 1、一个数据库中表的个数越少越好; 2、一个表中组合主键的字段个数越少越好; 3、一个表中的字段个数越少越好。175.3系统的主要表结构根据查阅的资料,并且经过分析,建立了系统数据库。在这个系统的数据库中一共有五张表,分别是管理员信息表(tb_admin)、职员信息表(tb_employee)、职员上班签到表(tb_onDuty)、职员下班签到表(tb_offDuty)、职员请假表(tb_vacate)。下面列出了几个主要表的详细设计内容。(1)管理员信息表记录了管理远的相关信息,如表5.1所示。表5.1 管理员信息表(tb_admin)列名数
36、据类型是否主键功能描述IDnvarchar(50)是管理员编号namenvarchar(50)否管理员用户名passwordnvarchar(50)否管理员登录密码(2)职员信息表记录了普通职员的各项基本信息,如表5.2所示。表5.2 职员信息表(tb_employee)列名数据类型是否主键功能描述employeeIDnvarchar(50)是职员编号namenvarchar(50)否职员姓名(用户名)passwordnvarchar(50)否职员登录密码sexnvarchar(50)否性别birthdaydate否出生日期salaryint否工资phonenvarchar(50)否联系方式d
37、epartmentnvarchar(50)否所在部门nationnvarchar(50)否民族educationnvarchar(50)否学历inTimedate否时间politicsnvarchar(50)否政治面貌(3)上班签到表记录了职员每天的上班时间以及是否迟到,如表5.3所示。(4)下班签到表记录了职员每天的下班时间以及是否早退,如表5.4所示。(5)职员请假表记录了职员请假的日期以及请假原因,如表5.5所示。表5.3 职员上班签到表(tb_onDuty)列名数据类型是否主键功能描述IDint是记录的编号employeeIDnvarchar(50)否职员编号namenvarchar(
38、50)否职员姓名onDutydatetime否职员上班时间beLatenvarchar(50)否是否迟到表5.4 职员下班签到表(tb_offDuty)列名数据类型是否主键功能描述IDint是记录的编号employeeIDnvarchar(50)否职员编号namenvarchar(50)否职员姓名offDutydatetime否职员下班时间leaveEarlynvarchar(50)否是否早退表5.5 职员请假表(tb_vacate)列名数据类型是否主键功能描述IDint是记录的编号employeeIDnvarchar(50)否职员编号namenvarchar(50)否职员姓名vacatenv
39、archar(50)否职员请假日期reasonnvarchar(50)否请假原因5.4表与表之间的关联由于职员与其上班时间、下班时间,以及请假记录是一对多的关系,所以将在tb_employee表中的employeeID分别与tb_onDuty表、tb_offDuty表和tb_vacate表中的employeeID建立连接。由于本人能力有限,设计的表结构不够完美,导致表与表之间的连接显得比较冗余。5.5本章小结本章主要讲述了有关于企业考勤系统数据库设计的指导思想、设计原则等,详细地列出了数据库的表结构。数据库的建立是系统设计的基础,没有良好的数据库,系统的功能即使再丰富,也不能实现满足高效性的。
40、第六章企业考勤系统的实现前几章的内容可以说都是为实现系统而做的准备,在本章中就要开始阐述系统的具体实现。6.1系统登录界面的实现企业考勤界面在登录时,用户根据自己的身份选择相应的权限,输入自己的用户名和登录密码,只有用户名和密码都正确,并且与选择的权限相对应才能够成功进入系统。否则,系统会提示输入错误。系统默认是以管理员权限登录,用户名为admin,密码为admin。系统的登录界面如图6.1所示。图6.1 企业考勤系统登录界面登录界面登录功能实现的主要代码如下所示。if (limit.SelectedIndex = 0) /用自定义方法getCom在tb_admin数据表中查找是否有当前登录用
41、户 SqlDataReader checkNP = myClass.getCom(select * from tb_admin where name = + textName.Text.Trim() + and password = + textPassword.Text.Trim() + ); bool ifCom = checkNP.Read(); /必须用Read方法读取数据 if (ifCom) dataClass.mySQL.loginName = textName.Text.Trim(); /将用户名记录到公共变量中 dataClass.mySQL.loginPassword =
42、textPassword.Text.Trim(); dataClass.mySQL.loginID = checkNP.GetString(0); /获取当前操作员编号 dataClass.mySQL.myCon.Close(); /关闭数据库连接 dataClass.mySQL.myCon.Dispose(); /释放所有资源 this.Hide(); /隐藏当前窗体 new main().ShowDialog(); else MessageBox.Show(用户名或密码错误!, 提示, MessageBoxButtons.OK, MessageBoxIcon.Information); t
43、extName.Text = ; textPassword.Text = ; myClass.closeCon();以上代码是当登录权限为管理员时的登录代码。管理员和普通职员的区分,通过对下拉列表中值的判断来实现。用户名、密码和权限一一对应方可登录,否则会弹出登录失败的提示框。登录成功后,即可进入系统主界面。由于管理员权限与普通职员权限下要实现的功能不同,因此管理员和职员进入的主界面不完全相同。在该界面中我使用了一个MenuStrip组件来创建菜单栏。管理员权限下的主界面如图6.2所示。图6.2 企业考勤系统主界面(管理员)6.2添加职员功能的实现管理员进入主界面后可以添加职员,管理员需要填写
44、职员的姓名、编号、出生年月工资、所在部门等一系列的信息,并且为该职员设置登录初始密码。管理员填写完职员信息后按“确认添加”按键进行添加,或者按“重置”按键清空刚才输入的所有信息。添加成功的职员的基本信息记录在数据库tb_employee表中。在添加职员的时候,如果管理员填写的员工编号与tb_employee表中employeeID列中的某一记录值相同,在按下按键的时候会弹出提示职员编号重复的提示框,此时添加职员的操作失败。职员姓名一栏为空时也会出现类似的情况。只有被管理员添加成功过的职员,才有资格登录系统。管理员添加职员的界面如图6.3所示。添加职员功能实现的主要代码如下所示。private
45、void ok_Click(object sender, EventArgs e) if (this.name.Text = ) MessageBox.Show(职员姓名不能为空!, 提示, MessageBoxButtons.OK, MessageBoxIcon.Information); return; if (myClass.getDataSet(select * from tb_employee where employeeID = + employeeID.Text.Trim() + ).Tables0.Rows.Count 0) MessageBox.Show(职员编号重复!, 提示, MessageBoxButtons.OK, MessageBoxIcon.Information); return; dataClass.mySQL.execSql(insert into t