• 1.63 MB
  • 2022-05-17 13:02:29 发布

企业员工考勤管理系统的设计与实现论文

  • 62页
  • 当前文档由用户上传发布,收益归属用户
  1. 1、本文档共5页,可阅读全部内容。
  2. 2、本文档内容版权归属内容提供方,所产生的收益全部归内容提供方所有。如果您对本文有版权争议,可选择认领,认领后既往收益都归您。
  3. 3、本文档由用户上传,本站不保证质量和数量令人满意,可能有诸多瑕疵,付费之前,请仔细先通过免费阅读内容等途径辨别内容交易风险。如存在严重挂羊头卖狗肉之情形,可联系本站下载客服投诉处理。
  4. 文档侵权举报电话: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页 陕西理工学院毕业设计序号工号姓名年龄性别部门日期上班时间下班时间出勤结果出差时间请假时间加班时间个人查询界面连接数据库代码如下:protectedvoidButton1_Click(objectsender,EventArgse){DateTimedt=System.DateTime.Now;intyear=dt.Year;intmonth=dt.Month;intday=dt.Day;stringmorenDay=year+"-"+month+"-"+day;stringdayTime=TextBox1.Text==null?morenDay:TextBox1.Text;Repeater1.DataSource=bll.searchUserWorkInfo(dayTime,id);Repeater1.DataBind();}5.2系统实施本系统可以通过在IIS里面进行配置运行系统,也可以直接在VS2010中运行系统。第59页共59页 陕西理工学院毕业设计6系统测试测试任何产品有两种方法:如果已经知道了产品应该具有的功能,可以通过测试来检验是否每个功能都能正常使用;如果知道产品内部工作过程,可以通过测试来检验产品内部动作是否按照规格说明书的规定正常使用。前一种方法称为黑盒测试,后一种方法称为白盒测试。这里使用黑盒测试法来对系统进行测试。6.1用户登录和用户注册模块测试(1)输入账号和密码进行登录,运行如图6.1所示。图6.1输入账号和密码(2)登录成功界面,运行如图6.2所示。图6.2登录成功界面第59页共59页 陕西理工学院毕业设计(3)当输入错误的用户或密码时提示界面,如图6.3所示。图6.3登录失败界面6.2个人管理测试此次测试以部门管理为例为例。(1)部门管理运行界面,如图6.4所示。图6.4用户登录界面(2)点击添加部门时,出现添加部门界面,如图6.5所示。图6.5加部门界面(3)点击添加按钮,添加成功界面,如图6.6示。图6.6添加成功界面第59页共59页 陕西理工学院毕业设计(4)点击质检部后的更新,并输入生活部,如图6.7所示。图6.7更新界面(5)点击修改按钮,修改成功界面,如图6.8所示。图6.8更新成功界面(6)点击删除按钮,删除界面,如图6.9所示。图6.9删除界面(7)点击确定按钮,删除成功界面,如图6.10所示。图6.10删除成功界面(8)删除成功之后的界面,如图6.11所示。图6.11删除成功后显示界面第59页共59页 陕西理工学院毕业设计6.3其他模块功能测试经过同样的方法,分别对考勤管理、基本信息管理进行测试,结果都跟预期的相同,系统测试全部通过。第59页共59页 陕西理工学院毕业设计致谢首先要感谢的是指导教师林勇老师,通过他的指导,我真正体验了一个程序员在系统开发时的工作。林勇老师认真负责的工作态度和系统的专业知识,使我体会到了一个程序开发人员应具有的最基本的态度。在毕业设计期间,林勇老师给予我极大的帮助,使我的毕业设计有了明确的方向,在此我表示衷心地感谢。其次,我要感谢专升本两年来教过我的所有老师,是你们的谆谆教诲使我有了扎实的基础,让我在计算机的不同方面有所了解。此外,我还要感谢我的同学们。在这次毕业设计中,遇到困难,我们共同研究,一起解决。他们帮我收集了大量的有关资料,使我的需求分析更加全面。感谢他们对我的这两年来的鼓励和支持。最后我还要感谢学校给了我这个实践的机会,专升本的两年虽然过去了,但通过这次毕业设计使我找出我在学习中和生活中存在的不足。不论在今后的学习还是生活,我都会努力改正,使自己更加完美。我相信这将是我人生中最宝贵的财富。第59页共59页 陕西理工学院毕业设计参考文献[1]龚赤兵.ASP.NET3.5入门指南[M].北京:人民邮电出版社,2009.[2]赵晓东.ASP.NET3.5从入门到精通[M].北京:清华大学出版社,2009.[3]王珊.数据库系统概论(第4版)[M].北京:中国水利水电出版社,2006.[4]卢晓东.SQLServer2005实现与维护[M].北京:清华大学出版社,2009.[5]孙晓彤.ASP.NET典型模块与项目实战大全[M].北京:电子工程出版社,2012.[6]王小科.C#项目开发案例全程实录[M].北京:清华大学出版社,2011.[7]卫琳.SQLServer2005数据库应用与开发教程[M].北京:清华大学出版社,2011.[8]龙马.新编ASP.NET+SQLServer2005从入门到精通[M].北京:人民邮电出版社,2008.[9]PaulWilton.ASP.NET2.0instantresults[M].北京:机械工业出版社,2006.[10]ImarSpaanjaars.BeginningASP.NET4.[M].北京:北京科学出版社,2009.[11]BruceEckel.ASP.NET2.0websiteprogramming[M].北京:机械工业出版社,2002.第59页共59页 陕西理工学院毕业设计科技外文文献ASP.NETASP.NETisaunifiedWebdevelopmentmodelthatincludestheservicesnecessaryforyoutobuildenterprise-classWebapplicationswithaminimumofcoding.ASP.NETispartofthe.NETFramework,andwhencodingASP.NETapplicationsyouhaveaccesstoclassesinthe.NETFramework.Youcancodeyourapplicationsinanylanguagecompatiblewiththecommonlanguageruntime(CLR),includingMicrosoftVisualBasic,C#,JScript .NET,andJ#.TheselanguagesenableyoutodevelopASP.NETapplicationsthatbenefitfromthecommonlanguageruntime,typesafety,inheritance,andsoon.ASP.NETincludes:·Apageandcontrolsframework·TheASP.NETcompiler·Securityinfrastructure·State-managementfacilities·Applicationconfiguration·Healthmonitoringandperformancefeatures·Debuggingsupport·AnXMLWebservicesframework·Extensiblehostingenvironmentandapplicationlifecyclemanagement·AnextensibledesignerenvironmentTheASP.NETpageandcontrolsframeworkisaprogrammingframeworkthatrunsonaWebservertodynamicallyproduceandrenderASP.NETWebpages.ASP.NETWebpagescanberequestedfromanybrowserorclientdevice,andASP.NETrendersmarkup(suchasHTML)totherequestingbrowser.Asarule,youcanusethesamepageformultiplebrowsers,becauseASP.NETrenderstheappropriatemarkupforthebrowsermakingtherequest.However,youcandesignyourASP.NETWebpagetotargetaspecificbrowser,suchasMicrosoftInternetExplorer6,andtakeadvantageofthefeaturesofthatbrowser.ASP.NETsupportsmobilecontrolsforWeb-enableddevicessuchascellularphones,handheldcomputers,andpersonaldigitalassistants(PDAs).ASP.NETWebpagesarecompletelyobject-oriented.WithinASP.NETWebpagesyoucanworkwithHTMLelementsusingproperties,methods,andevents.TheASP.NETpageframeworkremovestheimplementationdetailsoftheseparationofclientandserverinherentinWeb-basedapplicationsbypresentingaunifiedmodelforrespondingtoclienteventsincodethatrunsattheserver.Theframeworkalsoautomaticallymaintainsthestateofapageandthecontrolsonthatpageduringthepageprocessinglifecycle.TheASP.NETpageandcontrolsframeworkalsoenablesyoutoencapsulatecommonUIfunctionalityineasy-to-use,reusablecontrols.Controlsarewrittenonce,canbeusedinmanypages,andareintegratedintotheASP.NETWebpagethattheyareplacedinduringrendering.TheASP.NETpageandcontrolsframeworkalsoprovidesfeaturestocontroltheoveralllookandfeelofyourWebsiteviathemesandskins.Youcandefinethemesandskinsandthenapplythematapageleveloratacontrollevel.Inadditiontothemes,youcandefinemasterpagesthatyouusetocreateaconsistentlayoutforthepagesinyourapplication.Asinglemasterpagedefinesthelayoutandstandardbehaviorthatyouwantforallthepages(oragroupofpages)inyourapplication.Youcanthencreateindividualcontentpagesthatcontainthepage-specificcontentyouwanttodisplay.Whenusersrequestthecontentpages,theymergewiththemasterpagetoproduceoutputthatcombinesthelayoutofthemasterpagewiththecontentfromthecontentpage.AllASP.NETcodeiscompiled,whichenablesstrongtyping,performanceoptimizations,andearlybinding,amongotherbenefits.Oncethecodehasbeencompiled,thecommonlanguageruntimefurthercompilesASP.NETcodetonativecode,providingimprovedperformance.ASP.NETincludesacompilerthatwillcompileallyourapplicationcomponentsincludingpagesandcontrolsintoanassemblythattheASP.NEThostingenvironmentcanthenusetoserviceuserrequests.第59页共59页 陕西理工学院毕业设计Inadditiontothesecurityfeaturesof.NET,ASP.NETprovidesanadvancedsecurityinfrastructureforauthenticatingandauthorizinguseraccessaswellasperformingothersecurity-relatedtasks.YoucanauthenticateusersusingWindowsauthenticationsuppliedbyIIS,oryoucanmanageauthenticationusingyourownuserdatabaseusingASP.NETformsauthenticationandASP.NETmembership.Additionally,youcanmanagetheauthorizationtothecapabilitiesandinformationofyourWebapplicationusingWindowsgroupsoryourowncustomroledatabaseusingASP.NETroles.Youcaneasilyremove,addto,orreplacetheseschemesdependingupontheneedsofyourapplication.ASP.NETalwaysrunswithaparticularWindowsidentitysoyoucansecureyourapplicationusingWindowscapabilitiessuchasNTFSAccessControlLists(ACLs),databasepermissions,andsoon.FormoreinformationontheidentityofASP.NET,ASP.NETprovidesintrinsicstatemanagementfunctionalitythatenablesyoutostoreinformationbetweenpagerequests,suchascustomerinformationorthecontentsofashoppingcart.Youcansaveandmanageapplication-specific,session-specific,page-specific,user-specific,anddeveloper-definedinformation.Thisinformationcanbeindependentofanycontrolsonthepage.ASP.NEToffersdistributedstatefacilities,whichenableyoutomanagestateinformationacrossmultipleinstancesofthesameapplicationononecomputeroronseveralcomputers.ASP.NETapplicationsuseaconfigurationsystemthatenablesyoutodefineconfigurationsettingsforyourWebserver,foraWebsite,orforindividualapplications.YoucanmakeconfigurationsettingsatthetimeyourASP.NETapplicationsaredeployedandcanaddorreviseconfigurationsettingsatanytimewithminimalimpactonoperationalWebapplicationsandservers.ASP.NETconfigurationsettingsarestoredinXML-basedfiles.BecausetheseXMLfilesareASCIItextfiles,itissimpletomakeconfigurationchangestoyourWebapplications.Youcanextendtheconfigurationschemetosuityourrequirements.ASP.NETincludesfeaturesthatenableyoutomonitorhealthandperformanceofyourASP.NETapplication.ASP.NEThealthmonitoringenablesreportingofkeyeventsthatprovideinformationaboutthehealthofanapplicationandabouterrorconditions.Theseeventsshowacombinationofdiagnosticsandmonitoringcharacteristicsandofferahighdegreeofflexibilityintermsofwhatisloggedandhowitislogged.ASP.NETsupportstwogroupsofperformancecountersaccessibletoyourapplications:·TheASP.NETsystemperformancecountergroup·TheASP.NETapplicationperformancecountergroupASP.NETtakesadvantageoftherun-timedebugginginfrastructuretoprovidecross-languageandcross-computerdebuggingsupport.Youcandebugbothmanagedandunmanagedobjects,aswellasalllanguagessupportedbythecommonlanguageruntimeandscriptlanguages.Inaddition,theASP.NETpageframeworkprovidesatracemodethatenablesyoutoinsertinstrumentationmessagesintoyourASP.NETWebpages.ASP.NETsupportsXMLWebservices.AnXMLWebserviceisacomponentcontainingbusinessfunctionalitythatenablesapplicationstoexchangeinformationacrossfirewallsusingstandardslikeHTTPandXMLmessaging.XMLWebservicesarenottiedtoaparticularcomponenttechnologyorobject-callingconvention.Asaresult,programswritteninanylanguage,usinganycomponentmodel,andrunningonanyoperatingsystemcanaccessXMLWebservices.ASP.NETincludesanextensiblehostingenvironmentthatcontrolsthelifecycleofanapplicationfromwhenauserfirstaccessesaresource(suchasapage)intheapplicationtothepointatwhichtheapplicationisshutdown.WhileASP.NETreliesonaWebserver(IIS)asanapplicationhost,ASP.NETprovidesmuchofthehostingfunctionalityitself.ThearchitectureofASP.NETenablesyoutorespondtoapplicationeventsandcreatecustomHTTPhandlersandHTTPmodules.ASP.NETincludesenhancedsupportforcreatingdesignersforWebservercontrolsforusewithavisualdesigntoolsuchasVisualStudio.Designersenableyoutobuildadesign-timeuserinterfaceforacontrol,sothatdeveloperscanconfigureyourcontrol"spropertiesandcontentinthevisualdesigntool.IntroductiontotheC#Languageandthe.NETFramework C#isanelegantandtype-safeobject-orientedlanguagethatenablesdeveloperstobuildawiderangeofsecureandrobustapplicationsthatrunonthe.NETFramework.YoucanuseC#第59页共59页 陕西理工学院毕业设计tocreatetraditionalWindowsclientapplications,XMLWebservices,distributedcomponents,client-serverapplications,databaseapplications,andmuch,muchmore.MicrosoftVisualC#2005providesanadvancedcodeeditor,convenientuserinterfacedesigners,integrateddebugger,andmanyothertoolstofacilitaterapidapplicationdevelopmentbasedonversion2.0oftheC#languageandthe.NETFramework.C#syntaxishighlyexpressive,yetwithlessthan90keywords,itisalsosimpleandeasytolearn.Thecurly-bracesyntaxofC#willbeinstantlyrecognizabletoanyonefamiliarwithC,C++orJava.DeveloperswhoknowanyoftheselanguagesaretypicallyabletobeginworkingproductivelyinC#withinaveryshorttime.C#syntaxsimplifiesmanyofthecomplexitiesofC++whileprovidingpowerfulfeaturessuchasnullablevaluetypes,enumerations,delegates,anonymousmethodsanddirectmemoryaccess,whicharenotfoundinJava.C#alsosupportsgenericmethodsandtypes,whichprovideincreasedtypesafetyandperformance,anditerators,whichenableimplementersofcollectionclassestodefinecustomiterationbehaviorsthataresimpletousebyclientcode.Asanobject-orientedlanguage,C#supportstheconceptsofencapsulation,inheritanceandpolymorphism.Allvariablesandmethods,includingtheMainmethod,theapplication"sentrypoint,areencapsulatedwithinclassdefinitions.Aclassmayinheritdirectlyfromoneparentclass,butitmayimplementanynumberofinterfaces.Methodsthatoverridevirtualmethodsinaparentclassrequiretheoverridekeywordasawaytoavoidaccidentalredefinition.InC#,astructislikealightweightclass;itisastack-allocatedtypethatcanimplementinterfacesbutdoesnotsupportinheritance.Inadditiontothesebasicobject-orientedprinciples,C#facilitatesthedevelopmentofsoftwarecomponentsthroughseveralinnovativelanguageconstructs,including:·Encapsulatedmethodsignaturescalleddelegates,whichenabletype-safeeventnotifications.·Properties,whichserveasaccessorsforprivatemembervariables.·Attributes,whichprovidedeclarativemetadataabouttypesatruntime.·InlineXMLdocumentationcomments.IfyouneedtointeractwithotherWindowssoftwaresuchasCOMobjectsornativeWin32DLLs,youcandothisinC#throughaprocesscalled"Interop."InteropenablesC#programstodojustaboutanythingthatanativeC++applicationcando.C#evensupportspointersandtheconceptof"unsafe"codeforthosecasesinwhichdirectmemoryaccessisabsolutelycritical.TheC#buildprocessissimplecomparedtoCandC++andmoreflexiblethaninJava.Therearenoseparateheaderfiles,andnorequirementthatmethodsandtypesbedeclaredinaparticularorder.AC#sourcefilemaydefineanynumberofclasses,structs,interfaces,andevents.C#programsrunonthe.NETFramework,anintegralcomponentofWindowsthatincludesavirtualexecutionsystemcalledthecommonlanguageruntime(CLR)andaunifiedsetofclasslibraries.TheCLRisMicrosoft"scommercialimplementationofthecommonlanguageinfrastructure(CLI),aninternationalstandardthatisthebasisforcreatingexecutionanddevelopmentenvironmentsinwhichlanguagesandlibrariesworktogetherseamlessly.SourcecodewritteninC#iscompiledintoanintermediatelanguage(IL)thatconformstotheCLIspecification.TheILcode,alongwithresourcessuchasbitmapsandstrings,isstoredondiskinanexecutablefilecalledanassembly,typicallywithanextensionof.exeor.dll.Anassemblycontainsamanifestthatprovidesinformationontheassembly"stypes,version,culture,andsecurityrequirements.WhentheC#programisexecuted,theassemblyisloadedintotheCLR,whichmighttakevariousactionsbasedontheinformationinthemanifest.Then,ifthesecurityrequirementsaremet,theCLRperformsjustintime(JIT)compilationtoconverttheILcodeintonativemachineinstructions.TheCLRalsoprovidesotherservicesrelatedtoautomaticgarbagecollection,exceptionhandling,andresourcemanagement.CodethatisexecutedbytheCLRissometimesreferredtoas"managedcode,"incontrastto"unmanagedcode"whichiscompiledintonativemachinelanguagethattargetsaspecificsystem.Thefollowingdiagramillustratesthecompile-timeandruntimerelationshipsofC#sourcecodefiles,thebaseclasslibraries,assemblies,andtheCLR.Languageinteroperabilityisakeyfeatureofthe.NETFramework.BecausetheILcodeproducedbytheC#compilerconformstotheCommonTypeSpecification(CTS),ILcodegeneratedfromC#caninteractwithcodethatwasgenerated第59页共59页 陕西理工学院毕业设计fromthe.NETversionsofVisualBasic,VisualC++,VisualJ#,oranyofmorethan20otherCTS-compliantlanguages.Asingleassemblymaycontainmultiplemoduleswrittenindifferent.NETlanguages,andthetypescanreferenceeachotherjustasiftheywerewritteninthesamelanguage.Inadditiontotheruntimeservices,the.NETFrameworkalsoincludesanextensivelibraryofover4000classesorganizedintonamespacesthatprovideawidevarietyofusefulfunctionalityforeverythingfromfileinputandoutputtostringmanipulationtoXMLparsing,toWindowsFormscontrols.ThetypicalC#applicationusesthe.NETFrameworkclasslibraryextensivelytohandlecommon"plumbing"chores.第59页共59页 陕西理工学院毕业设计中文译文ASP.NETASP.NET是一个统一的Web开发模型,它包括您使用尽可能少的代码生成企业级Web应用程序所必需的各种服务。ASP.NET作为.NETFramework的一部分提供。当您编写ASP.NET应用程序的代码时,可以访问.NETFramework中的类。您可以使用与公共语言运行库(CLR)兼容的任何语言来编写应用程序的代码,这些语言包括MicrosoftVisualBasic、C#、JScript.NET和J#。使用这些语言,可以开发利用公共语言运行库、类型安全、继承等方面的优点的ASP.NET应用程序。ASP.NET包括:·页和控件框架·ASP.NET编译器·安全基础结构·状态管理功能·应用程序配置·运行状况监视和性能功能·调试支持·XMLWebservices框架·可扩展的宿主环境和应用程序生命周期管理·可扩展的设计器环境ASP.NET页和控件框架是一种编程框架,它在Web服务器上运行,可以动态地生成和呈现ASP.NET网页。可以从任何浏览器或客户端设备请求ASP.NET网页,ASP.NET会向请求浏览器呈现标记(例如HTML)。通常,您可以对多个浏览器使用相同的页,因为ASP.NET会为发出请求的浏览器呈现适当的标记。但是,您可以针对诸如MicrosoftInternetExplorer6的特定浏览器设计ASP.NET网页,并利用该浏览器的功能。ASP.NET支持基于Web的设备(如移动电话、手持型计算机和个人数字助理(PDA))的移动控件。ASP.NET网页是完全面向对象的。在ASP.NET网页中,可以使用属性、方法和事件来处理HTML元素。ASP.NET页框架为响应在服务器上运行的代码中的客户端事件提供统一的模型,从而使您不必考虑基于Web的应用程序中固有的客户端和服务器隔离的实现细节。该框架还会在页处理生命周期中自动维护页及该页上控件的状态。使用ASP.NET页和控件框架还可以将常用的UI功能封装成易于使用且可重用的控件。控件只需编写一次,即可用于许多页并集成到ASP.NET网页中。这些控件在呈现期间放入ASP.NET网页中。ASP.NET页和控件框架还提供各种功能,以便可以通过主题和外观来控制网站的整体外观和感觉。可以先定义主题和外观,然后在页面级或控件级应用这些主题和外观。除了主题外,还可以定义母版页,以使应用程序中的页具有一致的布局。一个母版页可以定义您希望应用程序中的所有页(或一组页)所具有的布局和标准行为。然后可以创建包含要显示的页特定内容的各个内容页。当用户请求内容页时,这些内容页与母版页合并,产生将母版页的布局与内容页中的内容组合在一起的输出。所有ASP.NET代码都经过了编译,可提供强类型、性能优化和早期绑定以及其他优点。代码一经编译,公共语言运行库会进一步将ASP.NET编译为本机代码,从而提供增强的性能。ASP.NET包括一个编译器,该编译器将包括页和控件在内的所有应用程序组件编译成一个程序集,之后ASP.NET宿主环境可以使用该程序集来处理用户请求。除了.NET的安全功能外,ASP.NET还提供了高级的安全基础结构,以便对用户进行身份验证和授权,并执行其他与安全相关的功能。您可以使用由IIS提供的Windows身份验证对用户进行身份验证,也可以通过您自己的用户数据库使用ASP.NETForms身份验证和ASP.NET成员资格来管理身份验证。此外,可以使用Windows组或您自己的自定义角色数据库(使用ASP.NET第59页共59页 陕西理工学院毕业设计角色)来管理Web应用程序的功能和信息方面的授权。您可以根据应用程序的需要方便地移除、添加或替换这些方案。ASP.NET始终使用特定的Windows标识运行,因此,您可以通过使用Windows功能(例如NTFS访问控制列表(ACL)、数据库权限等等)来保护应用程序的安全。ASP.NET提供了内部状态管理功能,它使您能够存储页请求期间的信息,例如客户信息或购物车的内容。您可以保存和管理应用程序特定、会话特定、页特定、用户特定和开发人员定义的信息。此信息可以独立于页上的任何控件。ASP.NET提供了分布式状态功能,使您能够管理一台计算机或数台计算机上同一应用程序的多个实例的状态信息。通过ASP.NET应用程序使用的配置系统,可以定义Web服务器、网站或单个应用程序的配置设置。您可以在部署ASP.NET应用程序时定义配置设置,并且可以随时添加或修订配置设置,且对运行的Web应用程序和服务器具有最小的影响。ASP.NET配置设置存储在基于XML的文件中。由于这些XML文件是ASCII文本文件,因此对Web应用程序进行配置更改比较简单。您可以扩展配置方案,使其符合自己的要求。ASP.NET包括可监视ASP.NET应用程序的运行状况和性能的功能。使用ASP.NET运行状况监视可以报告关键事件,这些关键事件提供有关应用程序的运行状况和错误情况的信息。这些事件显示诊断和监视特征的组合,并在记录哪些事件以及如何记录事件等方面提供了高度的灵活性。ASP.NET支持两组可供应用程序访问的性能计数器:·ASP.NET系统性能计数器组·ASP.NET应用程序性能计数器组ASP.NET利用运行库调试基础结构来提供跨语言和跨计算机调试支持。可以调试托管和非托管对象,以及公共语言运行库和脚本语言支持的所有语言。此外,ASP.NET页框架提供使您可以将检测消息插入ASP.NET网页的跟踪模式。ASP.NET支持XMLWebservices。XMLWebservices是包含业务功能的组件,利用该业务功能,应用程序可以使用HTTP和XML消息等标准跨越防火墙交换信息。XMLWebservices不用依靠特定的组件技术或对象调用约定。因此,用任何语言编写、使用任何组件模型并在任何操作系统上运行的程序,都可以访问XMLWebservices。ASP.NET包括一个可扩展的宿主环境,该环境控制应用程序的生命周期,即从用户首次访问此应用程序中的资源(例如页)到应用程序关闭这一期间。虽然ASP.NET依赖作为应用程序宿主的Web服务器(IIS),但ASP.NET自身也提供了许多宿主功能。通过ASP.NET的基础结构,您可以响应应用程序事件并创建自定义HTTP处理程序和HTTP模块。ASP.NET中提供了对创建Web服务器控件设计器(用于可视化设计工具,例如VisualStudio)的增强支持。使用设计器可以为控件生成设计时用户界面,这样开发人员可以在可视化设计工具中配置控件的属性和内容。C#是一种简洁、类型安全的面向对象的语言,开发人员可以使用它来构建在.NETFramework上运行的各种安全、可靠的应用程序。使用C#,您可以创建传统的Windows客户端应用程序、XMLWebservices、分布式组件、客户端-服务器应用程序、数据库应用程序以及很多其他类型的程序。MicrosoftVisualC#2005提供高级代码编辑器、方便的用户界面设计器、集成调试器和许多其他工具,以在C#语言版本2.0和.NETFramework的基础上加快应用程序的开发。C#语法表现力强,只有不到90个关键字,而且简单易学。C#的大括号语法使任何熟悉C、C++或Java的人都可以立即上手。了解上述任何一种语言的开发人员通常在很短的时间内就可以开始使用C#高效地工作。C#语法简化了C++的诸多复杂性,同时提供了很多强大的功能,例如可为空的值类型、枚举、委托、匿名方法和直接内存访问,这些都是Java所不具备的。C#还支持泛型方法和类型,从而提供了更出色的类型安全和性能。C#还提供了迭代器,允许集合类的实现者定义自定义的迭代行为,简化了客户端代码对它的使用。第59页共59页 陕西理工学院毕业设计作为一种面向对象的语言,C#支持封装、继承和多态性概念。所有的变量和方法,包括Main方法(应用程序的入口点),都封装在类定义中。类可能直接从一个父类继承,但它可以实现任意数量的接口。重写父类中的虚方法的各种方法要求override关键字作为一种避免意外重定义的方式。在C#中,结构类似于一个轻量类;它是一种堆栈分配的类型,可以实现接口,但不支持继承。除了这些基本的面向对象的原理,C#还通过几种创新的语言结构加快了软件组件的开发,其中包括:·封装的方法签名(称为委托),它实现了类型安全的事件通知。·属性(Property),充当私有成员变量的访问器。·属性(Attribute),提供关于运行时类型的声明性元数据。·内联XML文档注释。在C#中,如果需要与其他Windows软件(如COM对象或本机Win32DLL)交互,可以通过一个称为“Interop”的过程来实现。互操作使C#程序能够完成本机C++应用程序可以完成的几乎任何任务。在直接内存访问必不可少的情况下,C#甚至支持指针和“不安全”代码的概念。C#的生成过程比C和C++简单,比Java更为灵活。没有单独的头文件,也不要求按照特定顺序声明方法和类型。C#源文件可以定义任意数量的类、结构、接口和事件。C#程序在.NETFramework上运行,它是Windows的一个必要组件,包括一个称为公共语言运行时(CLR)的虚拟执行系统和一组统一的类库。CLR是Microsoft的公共语言基础结构(CLI)的一个商业实现。CLI是一种国际标准,是用于创建语言和库在其中无缝协同工作的执行和开发环境的基础。用C#编写的源代码被编译为一种符合CLI规范的中间语言(IL)。IL代码与资源(如位图和字符串)一起作为一种称为程序集的可执行文件存储在磁盘上,通常具有的扩展名为.exe或.dll。程序集包含清单,它提供关于程序集的类型、版本、区域性和安全要求等信息。执行C#程序时,程序集将加载到CLR中,这可能会根据清单中的信息执行不同的操作。然后,如果符合安全要求,CLR执行实时(JIT)编译以将IL代码转换为本机机器指令。CLR还提供与自动垃圾回收、异常处理和资源管理有关的其他服务。由CLR执行的代码有时称为“托管代码”,它与编译为面向特定系统的本机机器语言的“非托管代码”相对应。下图演示了C#源代码文件、基类库、程序集和CLR的编译时与运行时的关系。语言互操作性是.NETFramework的一个关键功能。因为由C#编译器生成的IL代码符合公共类型规范(CTS),因此从C#生成的IL代码可以与从VisualBasic、VisualC++、VisualJ#的.NET版本或者其他20多种符合CTS的语言中的任何一种生成的代码进行交互。单一程序集可能包含用不同.NET语言编写的多个模块,并且类型可以相互引用,就像它们是用同一种语言编写的。除了运行时服务,.NETFramework还包含一个由4000多个类组成的内容详尽的库,这些类被组织为命名空间,为从文件输入和输出到字符串操作、到XML分析、到Windows窗体控件的所有内容提供多种有用的功能。典型的C#应用程序使用.NETFramework类库广泛地处理常见的“日常”任务。第59页共59页 陕西理工学院毕业设计附录A:源程序代码用户登录主页连接数据库代码如下:usingSystem;usingSystem.Collections.Generic;usingSystem.Linq;usingSystem.Web;usingSystem.Web.UI;usingSystem.Web.UI.WebControls;namespaceemployeeMan{publicpartialclasslogin:System.Web.UI.Page{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);}}protectedvoidImageButton2_Click(objectsender,ImageClickEventArgse)第59页共59页 陕西理工学院毕业设计{TextBox1.Text="";Password1.Value="";}}}添加部门连接数据库代码如下:usingSystem;usingSystem.Collections.Generic;usingSystem.Linq;usingSystem.Web;usingSystem.Web.UI;usingSystem.Web.UI.WebControls;namespaceemployeeMan{publicpartialclassaddDept:System.Web.UI.Page{protectedvoidPage_Load(objectsender,EventArgse){if(!IsPostBack){if(Session["loginUser"]!=null){userInfous=Session["loginUser"]asuserInfo;}}}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");}}}月考勤统计查询连接数据库代码如下:usingSystem;usingSystem.Collections.Generic;usingSystem.Linq;usingSystem.Web;第59页共59页 陕西理工学院毕业设计usingSystem.Web.UI;usingSystem.Web.UI.WebControls;usingSystem.Text;usingSystem.Globalization;usingSystem.IO;namespaceemployeeMan{publicpartialclassmonthWorkCount:System.Web.UI.Page{userInfoBLLbll=newuserInfoBLL();deptBLLdeptbll=newdeptBLL();protectedvoidPage_Load(objectsender,EventArgse){if(!IsPostBack){GetPage();}}privatevoidGetPage(){PagedDataSourceps=newPagedDataSource();ps.AllowPaging=true;DateTimedt=System.DateTime.Now;intmonth=dt.Month;stringmonthTime=month.ToString();if(month<10){monthTime="0"+month.ToString();}ps.DataSource=bll.getMonthWorkCount(monthTime);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();}}protectedvoidImageButton2_Click(objectsender,ImageClickEventArgse){CurrPage.Text=(Convert.ToInt32(CurrPage.Text)+1).ToString();GetPage();}protectedvoidRepeater1_ItemDataBound(objectsender,RepeaterItemEventArgse)第59页共59页 陕西理工学院毕业设计{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;}}}protectedvoidButton1_Click1(objectsender,EventArgse){stringfilename="月考勤信息";System.Web.HttpContext.Current.Response.Clear();System.Web.HttpContext.Current.Response.Buffer=true;System.Web.HttpContext.Current.Response.Charset="gb2312";System.Web.HttpContext.Current.Response.AppendHeader("Content-Disposition","online;filename="+filename+".xls");System.Web.HttpContext.Current.Response.ContentEncoding=System.Text.Encoding.GetEncoding("gb2312");System.Web.HttpContext.Current.Response.ContentType="application/ms-excel";System.Globalization.CultureInfomyCItrad=newSystem.Globalization.CultureInfo("zh-CN",true);System.IO.StringWriteroStringWriter=newSystem.IO.StringWriter(myCItrad);System.Web.UI.HtmlTextWriteroHtmlTextWriter=newSystem.Web.UI.HtmlTextWriter(oStringWriter);Repeater1.RenderControl(oHtmlTextWriter);Repeater1=null;System.Web.HttpContext.Current.Response.Write("CopyrightbySDU
");System.Web.HttpContext.Current.Response.Write(oStringWriter.ToString().Replace("");System.Web.HttpContext.Current.Response.End();}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];第59页共59页 陕西理工学院毕业设计}stringmonthTime=tempMonth==""?"0"+morenMonth:tempMonth;stringuserOrder=TextBox2.Text;Repeater1.DataSource=bll.searchMonthWorkCount(userOrder,monthTime);Repeater1.DataBind();Label1.Text=Repeater1.Items.Count.ToString();}publicstringcompareDate(objectsDate,objecteDate){stringstext="";if(sDate!=null&&eDate!=null){DateTimedate1=Convert.ToDateTime(sDate.ToString());DateTimedate2=Convert.ToDateTime(eDate.ToString());if(date1.CompareTo(Convert.ToDateTime("09:00:00"))>0){stext+="迟到";}if(date2.CompareTo(Convert.ToDateTime("18:00:00"))<0){stext+="早退";}}else{stext+="漏签";}returnstext;}}}部门更新连接数据库代码如下:usingSystem;usingSystem.Collections.Generic;usingSystem.Linq;usingSystem.Web;usingSystem.Web.UI;usingSystem.Web.UI.WebControls;namespaceemployeeMan{publicpartialclassupdateDept:System.Web.UI.Page{intid=0;deptBLLbll=newdeptBLL();protectedvoidPage_Load(objectsender,EventArgse){第59页共59页 陕西理工学院毕业设计if(!IsPostBack){stringtempid=Request.QueryString["id"].Trim();id=Convert.ToInt32(tempid);deptInfoupDept=bll.getDeptById(id);TextBox1.Text=upDept.deptName;}}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");}}}工作打卡代码如下:usingSystem;usingSystem.Collections.Generic;usingSystem.Linq;usingSystem.Web;usingSystem.Web.UI;usingSystem.Web.UI.WebControls;namespaceemployeeMan{publicpartialclassworkTime:System.Web.UI.Page{userInfoBLLbll=newuserInfoBLL();intid=0;userInfous=null;userInfouserStart=null;userInfouserEnd=null;protectedvoidPage_Load(objectsender,EventArgse){userInfoBLLbll=newuserInfoBLL();stringdayTimecy=getDayTime();if(Session["loginUser"]!=null){us=Session["loginUser"]asuserInfo;第59页共59页 陕西理工学院毕业设计id=us.userId;userStart=bll.checkStartTime(id);}getWeek();}publicstringgetNowTime(){System.DateTimecurrentTime=newSystem.DateTime();currentTime=System.DateTime.Now;inti=currentTime.Hour;stringstrTimer=currentTime.Hour+":"+currentTime.Minute+":"+currentTime.Second;returnstrTimer;}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;}publicboolgetWeek(){boolflag=false;stringstr=DateTime.Now.DayOfWeek.ToString();if("Saturday".Equals(str)){flag=true;}if("Sunday".Equals(str)){flag=true;}returnflag;}第59页共59页 陕西理工学院毕业设计protectedvoidButton1_Click(objectsender,EventArgse){stringstartTime=getNowTime();stringdayTime=getDayTime();boolflag=getWeek();if(bll.checkHoliday(dayTime)||flag){//是节假日if(bll.checkSign(id,dayTime)){bll.updateStartTimeHoliday(id,startTime,dayTime);}else{bll.insertStartTimeHoliday(id,startTime,dayTime);}}else{//不是节假日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();boolflag=getWeek();if(bll.checkHoliday(dayTime)||flag){//是节假日if(bll.checkSign(id,dayTime)){bll.updateEndTimeHoliday(id,endTime,dayTime);}else{bll.insertEndTimeHoliday(id,endTime,dayTime);}第59页共59页 陕西理工学院毕业设计}else{//不是节假日if(bll.checkSign(id,dayTime)){bll.updateEndTime(id,endTime,dayTime);}else{bll.insertEndTime(id,endTime,dayTime);}}Literallit=newLiteral();lit.Text="";Page.Controls.Add(lit);}}}更新密码界面:usingSystem;usingSystem.Collections.Generic;usingSystem.Linq;usingSystem.Web;usingSystem.Web.UI;usingSystem.Web.UI.WebControls;namespaceemployeeMan{publicpartialclassupdatePsw:System.Web.UI.Page{userInfoBLLbll=newuserInfoBLL();intid=0;userInfous=newuserInfo();protectedvoidPage_Load(objectsender,EventArgse){us=Session["loginUser"]asuserInfo;if(!IsPostBack){if(Session["loginUser"]!=null){id=us.userId;Label1.Text=us.userName;}}}protectedvoidButton1_Click(objectsender,EventArgse){第59页共59页 陕西理工学院毕业设计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);//Response}else{Literallt=newLiteral();lt.Text="";Page.Controls.Add(lt);}}}}出差管理代码如下:usingSystem;usingSystem.Collections.Generic;usingSystem.Linq;usingSystem.Web;usingSystem.Web.UI;usingSystem.Web.UI.WebControls;namespaceemployeeMan{publicpartialclassoutMan:System.Web.UI.Page{userInfoBLLbll=newuserInfoBLL();protectedvoidPage_Load(objectsender,EventArgse){GetPage();}privatevoidGetPage(){第59页共59页 陕西理工学院毕业设计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();}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){if(Repeater1.Items.Count<=0){((Panel)e.Item.FindControl("Panel1")).Visible=true;}}}}}请假管理代码如下:usingSystem;usingSystem.Collections.Generic;第59页共59页 陕西理工学院毕业设计usingSystem.Linq;usingSystem.Web;usingSystem.Web.UI;usingSystem.Web.UI.WebControls;namespaceemployeeMan{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)第59页共59页 陕西理工学院毕业设计{}if(e.Item.ItemType==ListItemType.Footer){if(Repeater1.Items.Count<=0){((Panel)e.Item.FindControl("Panel1")).Visible=true;}}}}}日考勤信息代码如下:usingSystem;usingSystem.Collections.Generic;usingSystem.Linq;usingSystem.Web;usingSystem.Web.UI;usingSystem.Web.UI.WebControls;namespaceemployeeMan{publicpartialclassdayWorkCount:System.Web.UI.Page{userInfoBLLbll=newuserInfoBLL();deptBLLdeptbll=newdeptBLL();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;第59页共59页 陕西理工学院毕业设计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;}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;}}}protectedvoidButton1_Click1(objectsender,EventArgse){stringfilename="日考勤信息";System.Web.HttpContext.Current.Response.Clear();System.Web.HttpContext.Current.Response.Buffer=true;System.Web.HttpContext.Current.Response.Charset="gb2312";System.Web.HttpContext.Current.Response.AppendHeader("Content-Disposition","online;filename="+filename+".xls");System.Web.HttpContext.Current.Response.ContentEncoding=System.Text.Encoding.GetEncoding("gb2312");System.Web.HttpContext.Current.Response.ContentType="application/ms-excel";System.Globalization.CultureInfomyCItrad=newSystem.Globalization.CultureInfo("zh-CN",true);System.IO.StringWriteroStringWriter=newSystem.IO.StringWriter(myCItrad);System.Web.UI.HtmlTextWriteroHtmlTextWriter=newSystem.Web.UI.HtmlTextWriter(oStringWriter);Repeater1.RenderControl(oHtmlTextWriter);Repeater1=null;System.Web.HttpContext.Current.Response.Write("CopyrightbySDU
");System.Web.HttpContext.Current.Response.Write(oStringWriter.ToString().Replace("");System.Web.HttpContext.Current.Response.End();}protectedvoidButton1_Click(objectsender,EventArgse){stringmorenDay=getDayTime();stringdayTime=TextBox1.Text==""?morenDay:TextBox1.Text;stringuserOrder=TextBox2.Text;intdeptId=Convert.ToInt32(DropDownList1.SelectedValue);Repeater1.DataSource=bll.searchDayWorkCount(userOrder,deptId,dayTime);Repeater1.DataBind();}publicstringcompareDate(objectsDate,objecteDate){stringstext="";if(sDate!=null&&eDate!=null&&!"".Equals(sDate)&&!"".Equals(eDate)){DateTimedate1=Convert.ToDateTime(sDate.ToString());第59页共59页 陕西理工学院毕业设计DateTimedate2=Convert.ToDateTime(eDate.ToString());if(date1.CompareTo(Convert.ToDateTime("09:00:00"))>0){stext+="迟到";}if(date2.CompareTo(Convert.ToDateTime("18:00:00"))<0){stext+="早退";}}else{stext+="漏签";}returnstext;}}}第59页共59页 陕西理工学院毕业设计附录B:系统使用说明书(1)软件简介该企业员工考勤管理系统是用户注册、登录、签到、查看自己考勤情况,管理员能进行用户管理、出差管理、请假管理、加班管理、节假日管理、部门管理的一种考勤管理系统。(2)软件的运行环境和安装① 硬件要求计算机至少能够运行Windows98操作系统工,内存在16MB以上,可硬盘空间在100MB以上。实际上大多数计算机早已超过这个要求.考虑到执行效率,建议增加内存容量.② 软件要求Windowsxp操作系统,WindowsServer2003服务器,IE或360浏览器③ 项目部署和数据库添加本系统采用虚拟的IIS,运行IIS进入登录界面,运行系统。(3)软件的使用说明系统分为两种角色:管理员和用户,用户是可以添加的,管理员只有一个。下面给出默认的用户名和密码:管理员的用户名admin,密码为111111;当用户登录后就可以进行相应的管理操作。第59页共59页