- 1.63 MB
- 2022-05-17 13:02:29 发布
- 1、本文档共5页,可阅读全部内容。
- 2、本文档内容版权归属内容提供方,所产生的收益全部归内容提供方所有。如果您对本文有版权争议,可选择认领,认领后既往收益都归您。
- 3、本文档由用户上传,本站不保证质量和数量令人满意,可能有诸多瑕疵,付费之前,请仔细先通过免费阅读内容等途径辨别内容交易风险。如存在严重挂羊头卖狗肉之情形,可联系本站下载客服投诉处理。
- 文档侵权举报电话:19940600175。
陕西理工学院毕业设计企业员工考勤管理系统的设计与实现高虹(陕理工数学与计算机科学学院计算机科学技术专业专升本1101班,陕西汉中723000)指导教师:林勇【摘要】系统使用MicrosoftVisualStudio2010开发,数据库选用SQLSever2005,主要功能有用户管理,包括用户分类、用户信息的建立、系统登陆;基本信息管理,包括节假日信息管理、部门信息管理、员工信息管理;考勤管理,包括员工出勤信息管理、员工加班信息管理、员工请假信息管理、出差信息管理;统计查询管理,包括日考勤统计、月考勤统计,以及当日缺勤员工查询统计功能,可根据各种需求生成统计报表。【关键词】MicrosoftVisualStudio2010;SQLSever2005;主要功能
陕西理工学院毕业设计TheDesignAndImplementationOfEnterpriseEmployeesAttendanceManagementSystemGAOHong(Grade11,Class01,MajorComputerScienceandechnology,School of Mathematics and Computer Science,ShaanxiUniversityofTechnology,Hanzhong723000,Shaanxi)Tutor:LINYongAbstract:SystemusingMicrosoftVisualStudio2010,databaseSQLSever2005.Themainfunctionofthesystemhastheusermanagement:includinguserclassification,theestablishmentofuserinformation,systemlogin,basicinformationmanagement;informationmanagement,includingholidaydepartmentinformationmanagement,employeeinformationmanagement;attendancemanagement,includingstaffattendanceinformationmanagement,thestaffovertimeinformationofleavemanagement,staffinformationmanagement,businessinformationmanagement;statisticalquerymanagement,includingdailyattendancestatistics,monthlyattendancestatistics,aswellasonthedayofabsencestaffquerystatisticsfeature,accordingtovariousneedstogeneratestatisticalreports.Keywords:TheMicrosoftVisualStudio2010;SQLSever2005;Themainfunction
陕西理工学院毕业设计目录引言11概述21.1选题背景21.2选题的目的和意义21.3系统的现状、研究方法及应用领域22系统开发工具与运行环境32.1MicrosoftVisualStudio2010简介32.2MicrosoftSQLServer2005简介42.3ASP简介52.4IIS简介52.5系统的运行环境62.5.1硬件环境62.5.2软件环境63系统分析73.1可行性分析73.1.1技术可行性73.1.2经济可行性73.2需求分析73.2.1系统的主要目标73.2.2数据流图74系统设计94.1系统总体设计94.2数据库设计94.2.1数据库概念结构设计94.2.2数据库逻辑结构设计114.2.3数据库表设计115系统实现135.1系统功能模块设计135.1.1登录模块设计135.1.2基本信息管理模块设计175.1.3考勤管理模块设计215.1.4出勤报表管理模块设计245.1.5个人管理模块设计265.2系统实施296系统测试306.1用户登录和用户注册模块测试306.2个人管理测试316.3其他模块功能测试33致谢34参考文献35科技外文文献36附录A:源程序代码43附录B:系统使用说明书59
陕西理工学院毕业设计引言不论是国家机构还是企业或公司,都在建立和完善自己的内部管理方面投入了大量的人力物力,目的都是通过自己的网站进行量化考核等。其中考勤作为网站中一个不可缺少的部分,它是更新员工每天的出勤信息,如请假信息、出差信息、加班信息和考勤信息等,最后系统化、标准化发布到网站上。管理员通过简单的操作界面把对员工的考勤信息写到数据库,然后通过做好的网页模板格式与审核流程发布到网站上。这样就会大大减轻管理员的工作量,通过网络数据库的引用,将网站的更新维护工作简化到只需要录入文字,使网站的更新速度缩短、对考勤信息管理及时、高效且可以大大降低服务器的负担,提高企业的量化考核。其重要性体现在以下两个方面:第一,此系统提供对员工出勤、请假、出差、加班等方面的考察;第二,企业员工考勤管理系统可以实现员工对自己的考勤情况进行查看。这样大大的节省管理员的时间以及公司所需支付的成本。第59页共59页
陕西理工学院毕业设计1概述1.1选题背景本课题应企业公司考勤管理系统的需求而设计,为管理人员和用户提供了一个方便操作平台。该系统的主要功能有用户管理:包括用户分类、用户信息的建立、系统登陆,基本信息管理:包括节假日信息管理、部门信息管理、员工信息管理,考勤管理:包括员工出勤信息管理、员工加班信息管理、员工请假信息管理、出差信息管理,统计查询管理:包括日考勤统计、月考勤统计,以及当日缺勤员工查询统计功能,可根据各种需求生成统计报表。在当今的社会上,无论是用户还是管理者,进行单纯的手动操作已成为历史,应用计算机进行考勤管理已得到更为广泛的关注,甚至是不可缺少的一部分。员工考勤管理以网络为支撑点,可以通过互联网进行考勤记录,使管理者在最短的时间内对员工的出勤情况进行考勤,并根据此生成报表。通过公司内部网络,使考勤信息在公司网站上方便员工和管理员查看。1.2选题的目的和意义员工考勤管理系统是一个企事业单位不可缺少的部分,它的内容对于企事业单位的决策者和管理者来说都至关重要,所以员工考勤管理系统应该能够为用户提供充足的信息和快捷的查询手段。但一直以来人们使用传统人工的方式进行考勤管理,这种管理方式存在着许多缺点,如:效率低、保密性差,另外时间一长,将产生大量的数据,可能会由于管理不慎造成数据丢失这对于查找和维护都带来了不少的困难。随着科学技术的不断提高,计算机科学日渐成熟,其强大的功能已为人们深刻认识,它已进入人类社会的各个领域并发挥着越来越重要的作用。因此,在信息化高速发展和计算机技术广泛应用的今天,利用数据库技术,采用B/S体系结构,设计开发一个员工考勤管理系统是非常必要的,无论从员工查看考勤管理信息还是管理员对员工进行考勤都具有重要的意义。1.3系统的现状、研究方法及应用领域现在有些小型企业由于缺乏专门的管理软件,依旧使用人工记录的方法对员工进行考勤管理,这不仅效率低下,时间一长,更可能丢失数据,从而使不能使企业得到很好的发展。管理考勤的员工也可能会因长时间简单重复的工作产生厌烦情绪,消极怠工,对企业管理更加不利。所以员工考勤管理系统成为越来越多的企业管理者管理企业的好帮手。将软件工程的基本原理和方法应用到整个系统中,并对其进行需求分析,提出解决问题的具体方法。各种信息系统的开发工具也得到了广泛的应用,并根据不同业务领域产生了各自的主流开发工具。基于B/S模式的网络信息系统开发的语言也有多种,asp.net,java,C#等主流开发语言。员工考勤管理系统采用了微软的ASP作为开发平台,ASP是ActiveServePage(活动服务器页面)的简称,在ASP环境下,开发者可以通过创建服务器端脚本来实现动态交互式Web页面和强大的Web应用程序,而且ASP脚本还可以和HTM语言(包括相关的客户端脚本)、Java小程序等混合在一起书写,这就丰富和扩充了ASP应用程序的功能。ASP的执行环境在服务器端,ASP网页必须在Web服务器环境下才能运行,但并不是任何服务器都可以执行ASP。ASP需要Microsoft的IIS(Internet信息服务器)的支持,并根据不同的操作系统安装相应的IIS服务器后进行配置。在具体制作中,用ASP技术来实现B/S系统,ASP技术与数据库技术相结合,员工在浏览器端可以查询自己所需的信息,而后台操作则由服务器端处理。该系统使用ASP.NET(C#语言)和ADO.NET技术开发,实现了员工考勤管理,使得对员工的管理更加及时、高效,提高了工作效率。本系统可以采用多种软件制作,此次设计采用MicrosoftVisualStudio2010+MicrosoftSQLServer2005制作,可以应用在机关或公司中。第59页共59页
陕西理工学院毕业设计2系统开发工具与运行环境2.1MicrosoftVisualStudio2010简介VisualStudio是微软公司推出的开发环境。是目前最流行的Windows平台应用程序开发环境。VisualStudio2010版本于2010年4月12日上市,其集成开发环境(IDE)的界面被重新设计和组织,变得更加简单明了。VisualStudio2010同时带来了 NETFramework 4.0、MicrosoftVisualStudio2010CTP(CommunityTechnologyPreview--CTP),并且支持开发面向Windows7的应用程序。除了MicrosoftSQLServer,它还支持 IBM DB2和Oracle数据库。1992年微软在原有C++开发工具MicrosoftC/C++7.0的基础上,开创性地引进了MFC(MicrosoftFoundationClasses)库,完善了源代码,发布了MicrosoftC/C++8.0,也就是VisualC++1.0。VisualC++1.0是真正意义上的WindowsIDE,这也是VisualStudio的最初原型,将软件开发带入可视化开发时代。VisualStudio2010特点:1)支持WindowsAzure,微软云计算架构迈入重要里程碑;2)助力移动与嵌入式装置开发,三屏一云商机无限;3)实践当前最热门的Agile/Scrum开发方法,强化团队竞争力;4)升级的软件测试功能及工具,为软件质量严格把关;5)搭配Windows7,Silverlight4与Office,发挥多核并行运算威力;6)创建美感与效能并重的新一代软件;7)支持最新C++标准,增强IDE,切实提高程序员开发效率。支持的操作系统:Windows7;WindowsServer2003R2(32-Bitx86);WindowsServer2003R2x64editions;WindowsServer2003ServicePack2;WindowsServer2008R2;WindowsServer2008ServicePack2;WindowsVistaServicePack2;WindowsXPServicePack3;WindowsXP(x86)ServicePack3–除StarterEdition之外的所有版本;WindowsVista(x86和x64)ServicePack2-除StarterEdition之外的所有版本;Windows7(x86和x64);WindowsServer2003(x86和x64)ServicePack2–所有版本;如果不存在MSXML6,则用户需要安装它;WindowsServer2003R2(x86和x64)-所有版本;WindowsServer2008(x86和x64)ServicePack2–所有版本;WindowsServer2008R2(x64)–所有版本。目前有五个版本:专业版、高级版、旗舰版、学习版和测试版。专业版(Professional)面向个人开发人员,提供集成开发环境、开发平台支持、测试工具等,其中带有MSDNEssential(有效期一年的MSDN订阅)的完整版售价799美元、升级版售价549美元,带有MSDN订阅的完整版售价1199美元、升级版售价799美元。高级版(Premium):创建可扩展、高质量程序的完整工具包,相比专业版增加了数据库开发、TeamFoundationServer(TFS)、调试与诊断、MSDN订阅、程序生命周期管理(ALM),完整版售价5469美元,升级版售价2299美元。旗舰版(Ultimate):面向开发团队的综合性ALM工具,相比高级版增加了架构与建模、实验室管理等,完整版售价11899美元,升级版售价3799美元。测试专业版(TestProfessional):简化测试规划与人工测试执行的特殊版本,包含TFS、ALM、MSDN订阅、实验室管理、测试工具,完整版售价2169美元,升级版售价899美元。学习版(Express):VisualStudio2010(Express)是一个免费工具。它从VisualStudio产品线,提供了新的集成开发环境,vs2010一个新的编辑器内建在WindowsPresentationFoundation(WPF)和新的支持像爱好者非专业开发人员。NETFramework的四集,学生和新手开发谁想要构建动态Windows应用程序,网站和网络服务。从本质上时,VisualStudio2010Express是轻量级版本。它将是经典的一个版本,相当于当年的6.0版。而且它可以自定义开始页;新功能还包括:(1)C#4.0中的动态类型和动态编程;(2)多显示器支持;(3)使用VisualStudio2010的特性支持TDD;(4)支持Office;(5)QuickSearch特性;(6)C++0x新特性;(7)IDE增强;(8)使用VisualC++2010创建Ribbon界面;(9)新增基于.NET平台的语言F#。第59页共59页
陕西理工学院毕业设计2.2MicrosoftSQLServer2005简介MicrosoftSQLServer2005是一个全面的数据库平台,使用集成的商业智能(BI)工具提供了企业级的数据管理。MicrosoftSQLServer2005数据库引擎为关系型数据和结构化数据提供了更安全可靠的存储功能,使您可以构建和管理用于业务的高可用和高性能的数据应用程序。MicrosoftSQLServer2005数据引擎是该企业数据管理解决方案的核心。此外MicrosoftSQLServer2005结合了分析、报表、集成和通知功能。这使您的企业可以构建和部署经济有效的BI解决方案,帮助您的团队通过记分卡、Dashboard、Webservices和移动设备将数据应用推向业务的各个领域。与MicrosoftVisualStudio、MicrosoftOfficeSystem以及新的开发工具包(包括BusinessIntelligenceDevelopmentStudio)的紧密集成使MicrosoftSQLServer2005与众不同。无论您是开发人员、数据库管理员、信息工作者还是决策者,MicrosoftSQLServer2005都可以为您提供创新的解决方案,帮助您从数据中更多地获益。SQLServer2005提供了5个不同版本:SQLServer2005EnterpriseEdition(32位和64位)——企业版EnterpriseEdition达到了支持超大型企业进行联机事务处理(OLTP)、高度复杂的数据分析、数据仓库系统和网站所需的性能水平。EnterpriseEdition的全面商业智能和分析能力及其高可用性功能(如故障转移群集),使它可以处理大多数关键业务的企业工作负荷。EnterpriseEdition是最全面的SQLServer版本,是超大型企业的理想选择,能够满足最复杂的要求。SQLServer2005StandardEdition(32位和64位)——标准版SQLServer2005StandardEdition是适合中小型企业的数据管理和分析平台。它包括电子商务、数据仓库和业务流解决方案所需的基本功能。StandardEdition的集成商业智能和高可用性功能可以为企业提供支持其运营所需的基本功能。SQLServer2005StandardEdition是需要全面的数据管理和分析平台的中小型企业的理想选择。SQLServer2005WorkgroupEdition(仅适用于32位)——工作组版对于那些需要在大小和用户数量上没有限制的数据库的小型企业,SQLServer2005WorkgroupEdition是理想的数据管理解决方案。SQLServer2005WorkgroupEdition可以用作前端Web服务器,也可以用于部门或分支机构的运营。它包括SQLServer产品系列的核心数据库功能,并且可以轻松地升级至SQLServer2005StandardEdition或SQLServer2005EnterpriseEdition。SQLServer2005WorkgroupEdition是理想的入门级数据库,具有可靠、功能强大且易于管理的特点。SQLServer2005DeveloperEdition(32位和64位)——开发版SQLServer2005DeveloperEdition允许开发人员在SQLServer顶部生成任何类型的应用程序。该应用程序包括SQLServer2005EnterpriseEdition的所有功能,但许可用作开发和测试系统,而不用作生产服务器。SQLServer2005DeveloperEdition是独立软件供应商(ISV)、咨询人员、系统集成商、解决方案供应商以及生成和测试应用程序的企业开发人员的理想选择。可以根据生产需要升级SQLServer2005DeveloperEdition。SQLServer2005ExpressEdition(仅适用于32位)——学习版SQLServerExpress数据库平台基于SQLServer2005。它也可以替换MicrosoftDesktopEngine(MSDE)。通过与MicrosoftVisualStudio2005集成,SQLServerExpress简化了功能丰富、存储安全且部署快速的数据驱动应用程序的开发过程。SQLServerExpress是免费的,可以再分发(受制于协议),还可以充当客户端数据库以及基本服务器数据库。SQLServerExpress是独立软件供应商ISV、服务器用户、非专业开发人员、Web应用程序开发人员、网站主机和创建客户端应用程序的编程爱好者的理想选择。如果您需要使用更高级的数据库功能,则可以将SQLServerExpress无缝升级到更复杂的SQLServer版本。SQLServer2005十个特点:(1)NET框架主机:使用SQLServer2005,开发人员通过使用相似的语言,例如微软的VisualC#.net和微软的VisualBasic,将能够创立数据库对象。开发人员还将能够建立两个新的对象--用户定义的类和集合;(2)XML技术:第59页共59页
陕西理工学院毕业设计在使用本地网络和互联网的情况下,在不同应用软件之间散步数据的时候,可扩展标记语言(XML)是一个重要的标准。SQLServer2005将会自身支持存储和查询可扩展标记语言文件;(3)ADO.NET2.0版本:从对SQL类的新的支持,到多活动结果集(MARS),SQLServer2005中的ADO.NET将推动数据集的存取和操纵,实现更大的可升级性和灵活性:(4)增强的安全性:SQLServer2005中的新安全模式将用户和对象分开,提供fine-grainAccess存取、并允许对数据存取进行更大的控制。另外,所有系统表格将作为视图得到实施,对数据库系统对象进行了更大程度的控制;(5)Transact-SQL的增强性能:SQLServer2005为开发可升级的数据库应用软件,提供了新的语言功能。这些增强的性能包括处理错误、递归查询功能、关系运算符PIVOT,APPLY,ROW_NUMBER和其他数据列排行功能,等等;(6)SQL服务中介:SQL服务中介将为大型、营业范围内的应用软件,提供一个分布式的、异步应用框架;(7)通告服务:通告服务使得业务可以建立丰富的通知应用软件,向任何设备,提供个人化的和及时的信息,例如股市警报、新闻订阅、包裹递送警报、航空公司票价等。在SQLServer2005中,通告服务和其他技术更加紧密地融合在了一起;(8)Web服务:使用SQLServer2005,开发人员将能够在数据库层开发Web服务,将SQLServer当作一个超文本传输协议(HTTP)侦听器,并且为网络服务中心应用软件提供一个新型的数据存取功能;(9)报表服务:利用SQLServer2005,报表服务可以提供报表控制,可以通过VisualStudio2005发行;(10)全文搜索功能的增强:SQLServer2005将支持丰富的全文应用软件。服务器的编目功能将得到增强,对编目的对象提供更大的灵活性。查询性能和可升级性将大幅得到改进,同时新的管理工具将为有关全文功能的运行,提供更深入的了解。2.3ASP简介ASP是ActiveServerPage的缩写,意为“动态服务器页面”。ASP是微软公司开发的代替CGI脚本程序的一种应用,它可以与数据库和其它程序进行交互,是一种简单、方便的编程工具。ASP的网页文件的格式是.asp,现在常用于各种动态网站中。另外阿斯匹林、天门冬氨酸、阿里软件销售合作伙伴、美国武装系统暨程序公司等的缩写也都为ASP。ASP是一种服务器端脚本编写环境,可以用来创建和运行动态网页或Web应用程序。ASP网页可以包含HTML标记、普通文本、脚本命令以及COM组件等。利用ASP可以向网页中添加交互式内容(如在线表单),也可以创建使用HTML网页作为用户界面的web应用程序。与HTML相比,ASP网页具有以下特点:(1)利用ASP可以实现突破静态网页的一些功能限制,实现动态网页技术;(2)ASP文件是包含在HTML代码所组成的文件中的,易于修改和测试;(3)服务器上的ASP解释程序会在服务器端执行ASP程序,并将结果以HTML格式传送到客户端浏览器上,因此使用各种浏览器都可以正常浏览ASP所产生的网页;(4)ASP提供了一些内置对象,使用这些对象可以使服务器端脚本功能更强。例如可以从web浏览器中获取用户通过HTML表单提交的信息,并在脚本中对这些信息进行处理,然后向web浏览器发送信息;(5)ASP可以使用服务器端ActiveX组件来执行各种各样的任务,例如存取数据库、发送Email或访问文件系统等;(6)由于服务器是将ASP程序执行的结果以HTML格式传回客户端浏览器,因此使用者不会看到ASP所编写的原始程序代码,可防止ASP程序代码被窃取;(7)方便连接ACCESS与SQL数据库;(8)开发需要有丰富的经验,否则会留出漏洞,让骇客(cracker)利用进行注入攻击。ASP也不仅仅局限于与HTML结合制作WEB网站,而且还可以与XHTML和WML语言结合制作WAP手机网站。但是其原理也是一样的。2.4IIS简介InternetInformationServices(IIS,互联网信息服务),是由微软公司提供的基于运行MicrosoftWindows的互联网基本服务。最初是WindowsNT版本的可选包,随后内置在Windows2000、WindowsXPProfessional和WindowsServer2003一起发行,但在普遍使用的WindowsXPHome版本上并没有IIS。IIS是InternetInformationServices的缩写,是一个WorldWideWebserver。Gopherserver和FTPserver全部包容在里面。IIS意味着你能发布网页,并且有ASP(ActiveServerPages)、第59页共59页
陕西理工学院毕业设计JAVA、VBscript产生页面,有着一些扩展功能。IIS支持一些有趣的东西,像有编辑环境的界面(FRONTPAGE)、有全文检索功能的(INDEXSERVER)、有多媒体功能的(NETSHOW)其次,IIS是随WindowsNTServer4.0一起提供的文件和应用程序服务器,是在WindowsNTServer上建立Internet服务器的基本组件。它与WindowsNTServer完全集成,允许使用WindowsNTServer内置的安全性以及NTFS文件系统建立强大灵活的Internet/Intranet站点。IIS(InternetInformationServer,互联网信息服务)是一种Web(网页)服务组件,其中包括Web服务器、FTP服务器、NNTP服务器和SMTP服务器,分别用于网页浏览、文件传输、新闻服务和邮件发送等方面,它使得在网络(包括互联网和局域网)上发布信息成了一件很容易的事。2.5系统的运行环境2.5.1硬件环境计算机至少能够运行Windows98操作系统,内存在16MB以上,可用硬盘空间在100MB以上。实际上大多数计算机早已超过这个要求。考虑到执行效率,建议增加内存容量。2.5.2软件环境该系统开发时的软件环境,具体如表2.1所示。表2.1系统与服务器对照表系统与服务器对照表操作系统WindowsXP服务器WindowsServer2003数据库SQLSever2005第59页共59页
陕西理工学院毕业设计3系统分析3.1可行性分析3.1.1技术可行性该系统利用比较普遍MicrosoftVisualStudio2010的技术,采用MicrosoftSQLServer2005数据库,对MicrosoftSQLServer2005数据库管理系统进行操作和管理,采用简单的B/S架构,建立一个具有动态、交互式、添加、查询、修改、删除等功能的简单的企业员工考勤管理系统。因此,本系统的设计在开发技术上是可行的。3.1.2经济可行性随着社会经济与Internet的快速发展,电脑已成为日常生活用具的一部分,开发系统也不需要太多的资金。因此,本系统的开发在经济方面是可行的。3.2需求分析需求分析是软件开发过程的开始阶段,对于整个软件开发过程以及软件产品的质量是至关重要的。在项目设计之初,我曾浏览多个企业员工考勤管理系统,深入了解企业对员工考勤需求,对收集到的需求信息进行分析,得出总体的企业员工考勤管理系统的功能主要有:(1)员工需要先进行注册帐号,然后根据员工的用户名和密码进行登录。(2)注册过的用户可以查看自己的考勤管理信息。(3)管理员登录,管理员登录后可以进行节假日信息管理,包括添加节假日信息、修改节假日信息、删除节假日信息等;部门信息管理,包括添加部门信息、修改部门信息和删除部门信息等;员工信息管理,包括查看员工信息、添加员工信息、删除员工信息等;考勤管理,包括员工出勤信息管理、员工加班信息管理、员工请假信息管理、员工出差信息管理等;统计查询管理:包括日考勤统计、月考勤统计,以及当日缺勤员工查询统计功能,可根据各种需求生成统计报表。针对以上需求,为了方便用户进行查阅,管理员对后台进行部门管理、节假日管理、员工信息管理、考勤管理,减轻工作负担,减少工作量,使考勤变成一项更简单,更方便的事情。但系统必须就有可靠性,软件系统对于用户的商业经营和管理来说极为重要,因此软件系统必须非常可靠;安全性,软件系统所承担的交易的商业价值极高,系统的安全性非常重要;可扩展性,软件必须能够在用户的使用率、用户的数目增加很快的情况下,保持合理的性能;只有这样,才能适应用户的市场扩展得可能性;可定制化,同样的一套软件,可以根据客户群的不同和市场需求的变化进行调整;可扩展性,在新技术出现的时候,一个软件系统应当允许导入新技术,从而对现有系统进行功能和性能的扩展;可维护性,软件系统的维护包括两方面,一是排除现有的错误,二是将新的软件需求反映到现有系统中去,一个易于维护的系统可以有效地降低技术支持的花费;客户体验,软件系统必须易于使用;市场时机,软件用户要面临同业竞争,软件提供商也要面临同业竞争。以最快的速度争夺市场先机非常重要。3.2.1系统的主要目标系统的程序模块应能合理地实现用户和管理员的基本功能,实现功能的易操作性,让员工考勤信息管理更加方便、快捷,以使管理员能及时查看员工的考勤信息;系统应对所有信息类型进行统一管理和规范,建立安全的运行环境,保证系统稳定、可靠和安全地运行,保护信息资源不受非法用户的控制。企业员工考勤管理系统就是为了满足这些需求而进行设计与开发的,其建设目标是要建立一个基于Web、达到资源的安全共享和及时有效,提供方便快捷的操作,实现人机交互性。3.2.2数据流图系统数据流图如图3.1和图3.2所示。第59页共59页
陕西理工学院毕业设计图3.1系统顶层数据流图图3.2系统第一层数据流图第59页共59页
陕西理工学院毕业设计4系统设计4.1系统总体设计该系统包括管理员、员工两个模块,其中员工包括登录和注册;员工登录系统之后可以查看自己的考勤情况。(1)基本信息管理,包括节假日信息管理、部门信息管理和员工信息管理等;(2)考勤管理,包括员工出勤信息管理、员工加班信息管理、员工请假信息管理和出差信息管理等;(3)统计查询功能,包括实现日考勤统计、月考勤统计,以及当日缺勤员工查询统计功能等,可根据各种需求生成统计报表;(4)系统应有良好的用户界面。管理员包括了员工出勤信息管理,员工加班信息管理,员工请假信息管理,员工出差信息管理,统计查询几个大模块。系统功能结构图如图4.1所示。此系统可以实现以下5个功能,根据这些功能,设计出的系统功能模块如图4.1所示。图4.1系统功能模块4.2数据库设计本系统采用MicrosoftSQLServer2005数据库对数据进行存储、查询和管理。4.2.1数据库概念结构设计根据需求分析,企业员工考勤管理系统主要实体包括:用户、部门、考勤、节假日。第59页共59页
陕西理工学院毕业设计图4.2用户实体属性图图4.3部门实体属性图图4.4考勤实体属性图图4.5节假日实体属性图图4.6部门E-R图第59页共59页
陕西理工学院毕业设计图4.7考勤E-R图4.2.2数据库逻辑结构设计通过对设计出的E-R图的分析,导出数据的关系模型如下:(1)用户(用户编号,用户账号,部门编号,用户性别,用户年龄,用户密码,是否为管理员,工号);(2)考勤(考勤编号,用户编号,开始时间,结束时间,是否加班,加班时间,是否请假,请假时间,是否出差,出差时间,当天日期,是否为节假日);(3)部门(部门编号,部门名称);(4)节假日(节假日编号,节假日名称,是否为节假日)。4.2.3数据库表设计根据以上的系统功能分析,在使用方便的前提下本着尽可能地减少数据冗余的原则,在MicrosoftSQLServer2005中建立了employeeManager数据库,并建立了以下表。下面是表的详细设计:表4.1节假日信息表节假日信息表名称数据类型是否主键是否为空说明holIdint是否节假日编号holDaynvarchar(50)否否节假日日期holIsbit否否是否为节假日表4.2部门信息表部门信息表名称数据类型是否主键是否为空说明deptidint是否部门编号deptnamenvarchar(50)否否部门名称第59页共59页
陕西理工学院毕业设计表4.3考勤信息表考勤信息表名称数据类型是否主键是否为空说明workIdint是否考勤编号startTimenvarchar(50)否否开始时间endTimenvarchar(50)否否结束时间isAddbit否否是否加班addTimeint否否加班时间isRestbit否否是否请假restTimeint否否请假时间isOutbit否否是否出差outTimeint否否出差时间dayTimenvarchar(50)否否当天日期userIdint否否工号isHolidaybit否否是否为节假日表4.4部门信息表部门信息表名称数据类型是否主键是否为空说明deptidint是否部门编号deptnamenvarchar(50)否否部门名称表4.5用户信息表用户信息表名称数据类型是否主键是否为空说明userIdint是否用户编号userNamenvarchar(50)否否用户账号userSexchar(1)否否用户性别userAgenvarchar(50)否否用户年龄userOrdernvarchar(50)否否工号deptIdint否否部门编号isAdminnvarchar(50)否否是否为管理员userPswnvarchar(50)否否用户密码表4.6节假日信息表节假日信息表名称数据类型是否主键是否为空说明holIdint是否节假日编号holDaynvarchar(50)否否节假日日期holIsbit否否是否为节假日第59页共59页
陕西理工学院毕业设计5系统实现5.1系统功能模块设计5.1.1登录模块设计(1)登录模块界面设计系统的首页应该简洁明了,并且包含应有的内容。本系统的管理员与用户是从相同界面进入系统的,界面的设计如图5.1所示。图5.1登录界面管理员登录进入系统之后的界面如图5.2所示。图5.2管理员登录界面未注册的用户应先注册,如图5.3所示。第59页共59页
陕西理工学院毕业设计图5.3注册界面用户登录页面如图5.4所示。图5.4用户登录界面(2)实现功能用户登录后可以进行签到并查询自己的信息,管理员登录后可以对系统进行基本信息管理、考勤管理、出勤报表、个人管理。(3)设计过程在整个系统中,登录是不可缺少的一部分。登录界面代码如下:第59页共59页
陕西理工学院毕业设计 用户 密码 注册第59页共59页
陕西理工学院毕业设计 登录界面连接数据库代码如下:protectedvoidImageButton1_Click(objectsender,ImageClickEventArgse){stringname=TextBox1.Text;stringpsw=Password1.Value;if(name.Length<=0){Literallt=newLiteral();lt.Text="alert("请输入账号");";Page.Controls.Add(lt);Response.Redirect("login.aspx");}if(psw.Length<=0){Literallt=newLiteral();lt.Text="alert("请输入密码");";Page.Controls.Add(lt);Response.Redirect("login.aspx");}userInfouser=newuserInfo();userInfoBLLbll=newuserInfoBLL();user=bll.checkUser(name,psw);if(user!=null){Session["loginUser"]=user;Response.Redirect("index.htm");}else{Literallt=newLiteral();lt.Text="";Page.Controls.Add(lt);第59页共59页
陕西理工学院毕业设计}}protectedvoidImageButton2_Click(objectsender,ImageClickEventArgse){TextBox1.Text="";Password1.Value="";}5.1.2基本信息管理模块设计(1)基本信息管理模块界面设计管理员从登录模块进入系统后,开始进行基本信息管理,如图5.5所示。图5.5基本信息管理模块界面节假日管理模块如图5.6所示。图5.6节假日管理模块界面部门管理模块如图5.7所示。第59页共59页
陕西理工学院毕业设计图5.7部门管理模块界面更新员工模块如图5.8所示。图5.8更新员工模块界面添加员工模块如图5.9所示。图5.9添加员工模块界面(2)实现功能管理员登录后可以进行基本信息管理,包括节假日管理、部门管理、更新员工、添加员工。(3)设计过程节假日管理页面连接数据库代码如下:protectedvoidButton1_Click(objectsender,EventArgse){stringisHoliday=DropDownList1.SelectedValue;stringnowTime=TextBox1.Text.Trim();bll.updateNowDayHoliday(nowTime,"8");}部门添加页面连接数据库代码如下:第59页共59页
陕西理工学院毕业设计protectedvoidButton1_Click(objectsender,EventArgse){stringdeptName=TextBox1.Text;deptBLLbll=newdeptBLL();deptInfodept=newdeptInfo();dept.deptName=deptName;bll.addDept(dept);Literallit=newLiteral();lit.Text="";Page.Controls.Add(lit);Response.Redirect("deptMan.aspx");}部门更新页面连接数据库代码如下:protectedvoidButton1_Click(objectsender,EventArgse){stringdeptName=TextBox1.Text.Trim();deptInfodept=newdeptInfo();dept.deptName=deptName;dept.deptId=Convert.ToInt32(Request.QueryString["id"]);bll.updateDept(dept);Literallit=newLiteral();lit.Text="";Page.Controls.Add(lit);Response.Redirect("deptMan.aspx");}部门删除页面连接数据库代码如下:protectedvoidRepeater1_ItemCommand(objectsource,RepeaterCommandEventArgse){if(e.CommandName=="Del"){intid=Convert.ToInt32(e.CommandArgument);deptInfodept=newdeptInfo();dept.deptId=id;bll.delete(dept);ClientScript.RegisterClientScriptBlock(this.GetType(),"","alert("删除成功!");location.href="deptMan.aspx";",true);}}更新员工页面连接数据库代码如下:protectedvoidButton1_Click(objectsender,EventArgse){//userInfouser=newuserInfo();userSearchHelperuser=newuserSearchHelper();user.userName=TextBox1.Text;user.userAge=Convert.ToInt16(TextBox2.Text);第59页共59页
陕西理工学院毕业设计user.userSex=DropDownList2.SelectedValue;user.userOrder=TextBox3.Text;user.deptId=Convert.ToInt32(DropDownList1.SelectedValue);user.isAdmin=DropDownList3.SelectedValue;user.userId=id;stringselOpe=DropDownList4.SelectedValue;if(selOpe.Equals("1")){user.isAdd=true;user.addTime=Convert.ToInt32(TextBox6.Text);}elseif(selOpe.Equals("2")){user.isRest=true;user.restTime=Convert.ToInt32(TextBox6.Text);}elseif(selOpe.Equals("3")){user.isOut=true;user.outTime=Convert.ToInt32(TextBox6.Text);}user.dayTime=TextBox7.Text;empBll.updateUser(user);empBll.updateUserWorkInfo(user);Literallit=newLiteral();lit.Text="";Page.Controls.Add(lit);Response.Redirect("userMan.aspx");}员工删除页面连接数据库代码如下:protectedvoidRepeater1_ItemCommand(objectsource,RepeaterCommandEventArgse){if(e.CommandName=="Del"){intid=Convert.ToInt32(e.CommandArgument);bll.deleteUser(id);ClientScript.RegisterClientScriptBlock(this.GetType(),"","alert("删除成功!");location.href="userMan.aspx";",true);}}添加员工页面连接数据库代码如下:protectedvoidButton1_Click(objectsender,EventArgse){userInfouser=newuserInfo();第59页共59页
陕西理工学院毕业设计user.userName=TextBox4.Text;user.userPsw=TextBox1.Text;user.userAge=Convert.ToInt32(TextBox2.Text);user.userSex=DropDownList2.SelectedItem.ToString();user.userOrder=TextBox3.Text;user.deptId=Convert.ToInt32(DropDownList1.SelectedValue);user.isAdmin=DropDownList3.SelectedValue;bll.addUser(user);Literallit=newLiteral();lit.Text="";Page.Controls.Add(lit);Response.Redirect("userMan.aspx");}5.1.3考勤管理模块设计(1)考勤管理模块界面设计管理员进入系统后,开始进行出勤管理、加班管理、请假管理、出差管理,运行界面如图5.10—5.13所示。图5.10出勤管理界面图5.11加班管理界面图5.12请假管理界面图5.13出差管理界面(2)实现功能通过考勤管理,管理员可以出勤管理、加班管理、请假管理、出差管理。(3)设计过程出勤管理页面连接数据库代码如下:第59页共59页
陕西理工学院毕业设计protectedvoidRepeater1_ItemDataBound(objectsender,RepeaterItemEventArgse){if(e.Item.ItemType==ListItemType.AlternatingItem||e.Item.ItemType==ListItemType.Item){}if(e.Item.ItemType==ListItemType.Footer){if(Repeater1.Items.Count<=0){((Panel)e.Item.FindControl("Panel1")).Visible=true;}}}加班管理连接数据库代码:privatevoidGetPage(){PagedDataSourceps=newPagedDataSource();ps.AllowPaging=true;ps.DataSource=bll.getAllUserAdd();ps.PageSize=10;intcount=ps.Count;Label1.Text=count.ToString();ps.CurrentPageIndex=Convert.ToInt32(CurrPage.Text)-1;intj=ps.PageCount;SumPage.Text=j.ToString();Repeater1.DataSource=ps;Repeater1.DataBind();}出差连接数据库代码:privatevoidGetPage(){PagedDataSourceps=newPagedDataSource();ps.AllowPaging=true;ps.DataSource=bll.getAllUserOut();ps.PageSize=10;intcount=ps.Count;Label1.Text=count.ToString();ps.CurrentPageIndex=Convert.ToInt32(CurrPage.Text)-1;intj=ps.PageCount;SumPage.Text=j.ToString();Repeater1.DataSource=ps;Repeater1.DataBind();}第59页共59页
陕西理工学院毕业设计请假页面连接数据库代码:publicpartialclassrestMan:System.Web.UI.Page{userInfoBLLbll=newuserInfoBLL();protectedvoidPage_Load(objectsender,EventArgse){GetPage();}privatevoidGetPage(){PagedDataSourceps=newPagedDataSource();ps.AllowPaging=true;ps.DataSource=bll.getAllUserRest();ps.PageSize=10;intcount=ps.Count;Label1.Text=count.ToString();ps.CurrentPageIndex=Convert.ToInt32(CurrPage.Text)-1;intj=ps.PageCount;SumPage.Text=j.ToString();Repeater1.DataSource=ps;Repeater1.DataBind();}protectedvoidImageButton1_Click(objectsender,ImageClickEventArgse){if((Convert.ToInt32(CurrPage.Text)-1)==0){}else{CurrPage.Text=(Convert.ToInt32(CurrPage.Text)-1).ToString();GetPage();}}protectedvoidImageButton2_Click(objectsender,ImageClickEventArgse){CurrPage.Text=(Convert.ToInt32(CurrPage.Text)+1).ToString();GetPage();}protectedvoidRepeater1_ItemDataBound(objectsender,RepeaterItemEventArgse){if(e.Item.ItemType==ListItemType.AlternatingItem||e.Item.ItemType==ListItemType.Item){}if(e.Item.ItemType==ListItemType.Footer)第59页共59页
陕西理工学院毕业设计{if(Repeater1.Items.Count<=0){((Panel)e.Item.FindControl("Panel1")).Visible=true;}}}}5.1.4出勤报表管理模块设计(1)出勤报表管理模块界面设计管理员登录系统之后,可以生成日考勤报表和月考勤报表并进行查询导出,运行界面如图5.14和图5.15所示。图5.14日考勤信息界面图5.15月考勤信息界面(2)实现功能管理员登录系统之后,可以生成日考勤报表和月考勤报表并进行查询导出。(3)设计过程日考勤报表设计代码如下:序号姓名工号性别部门日期上班时间下班时间是否出差出差时间是否加班加班时间考勤结果是否请假请假时间 第59页共59页
陕西理工学院毕业设计日考勤报表界面连接数据库代码如下:protectedvoidPage_Load(objectsender,EventArgse){if(!IsPostBack){GetPage();DropDownList1.DataSource=deptbll.GetAllDepts();DropDownList1.DataTextField="deptName";DropDownList1.DataValueField="deptId";DropDownList1.DataBind();}}privatevoidGetPage(){PagedDataSourceps=newPagedDataSource();ps.AllowPaging=true;stringdayTime=getDayTime();ps.DataSource=bll.getDayWorkCount(dayTime);ps.PageSize=10;intcount=ps.Count;Label1.Text=count.ToString();ps.CurrentPageIndex=Convert.ToInt32(CurrPage.Text)-1;intj=ps.PageCount;SumPage.Text=j.ToString();Repeater1.DataSource=ps;Repeater1.DataBind();}publicstringgetDayTime(){System.DateTimecurrentTime=newSystem.DateTime();currentTime=System.DateTime.Now;inttempMon=currentTime.Month;stringtempMonth="";if(tempMon<10){tempMonth="0"+tempMon;}inttempDay=currentTime.Day;stringtempDayTrue="";if(tempDay<10){tempDayTrue="0"+tempDay;}stringstrTimer=currentTime.Year+"-"+tempMonth+"-"+tempDayTrue;returnstrTimer;}第59页共59页
陕西理工学院毕业设计月考勤报表设计代码如下:序号姓名工号性别部门日期是否出差出差时间是否加班加班时间考勤结果是否请假请假时间 月考勤报表界面连接数据库代码如下:protectedvoidButton1_Click(objectsender,EventArgse){DateTimedt=System.DateTime.Now;intmonth=dt.Month;stringmorenMonth=month.ToString();stringtempMonth=TextBox1.Text;if(!"".Equals(tempMonth)){string[]temp=tempMonth.Split("-");tempMonth=temp[1];}stringmonthTime=tempMonth==""?"0"+morenMonth:tempMonth;stringuserOrder=TextBox2.Text;intdeptId=Convert.ToInt32(DropDownList1.SelectedValue);Repeater1.DataSource=bll.searchMonthWorkCount(userOrder,deptId,monthTime);Repeater1.DataBind();Label1.Text=Repeater1.Items.Count.ToString();}5.1.5个人管理模块设计(1)出勤报个人更改密码管理模块界面设计管理员登录系统之后,可以进行更改密码、工作打卡、个人查询操作,运行界面如图5.16—5.18所示。第59页共59页
陕西理工学院毕业设计图5.16更改密码界面图5.17工作打卡界面图5.18个人查询界面(2)实现功能管理员登录系统之后,可以进行更改密码、工作打卡、个人查询操作。(3)设计过程更新密码界面连接数据库代码如下:protectedvoidButton1_Click(objectsender,EventArgse){stringnewPsw=TextBox1.Text;if(!"".Equals(newPsw)){us.userPsw=newPsw;}else{Literallt=newLiteral();lt.Text="";Page.Controls.Add(lt);}inti=bll.updatePsw(us);if(i>0){Literallt=newLiteral();lt.Text="";Page.Controls.Add(lt);}else{Literallt=newLiteral();lt.Text="";Page.Controls.Add(lt);}}第59页共59页
陕西理工学院毕业设计工作打卡设计代码如下:
工作打卡界面连接数据库代码如下:protectedvoidButton1_Click(objectsender,EventArgse){stringstartTime=getNowTime();stringdayTime=getDayTime();if(bll.checkSign(id,dayTime)){bll.updateStartTime(id,startTime,dayTime);}else{bll.insertStartTime(id,startTime,dayTime);}Literallit=newLiteral();lit.Text="";Page.Controls.Add(lit);}protectedvoidButton2_Click(objectsender,EventArgse){stringendTime=getNowTime();stringdayTime=getDayTime();if(bll.checkSign(id,dayTime)){bll.updateEndTime(id,endTime,dayTime);}else{bll.insertEndTime(id,endTime,dayTime);}Literallit=newLiteral();lit.Text="";Page.Controls.Add(lit);}个人查询设计代码如下:第59页共59页
陕西理工学院毕业设计