版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
兰州交通大学毕业设计(论文)I摘要随着信息技术的迅猛发展以及人力资源管理的地位在企业中的日益提高,越来越多的企业希望通过信息化的手段提升自身的人力资源管理水平,人力资源管理系统由此应运而生。企业人力资源管理系统是一个典型的信息管理系统,服务于企业管理部门人员,用于管理企业信息.本系统以MicrosoftVisualStudio为开发平台,使用C#编程语言实现。系统的主要有功能模块有系统管理、工资设置、资源管理、人事管理、工资管理,数据库的连接采用ADO.NET技术实现,可以快速的完成人事信息的登记、查询、修改等功能。本文详细介绍了人力资源管理系统的开发流程,包括需求分析、系统分析、概要设计、详细设计、以及测试与调试的整个过程。论文中主要介绍了工资管理模块的设计与实现。在系统设计过程中采用面向对象的编程思想把对数据库的基本操作封装在DataAccess类,其他对象均通过继承DataAccess类,调用其中的数据库操作方法来完成对数据库的访问。此系统将人力资源管理的科学性,合理性与计算机的方便快捷有机地结合起来,给企业的人力资源管理带来更多的方便。关键词:企业人力资源;信息管理;C#;ADO.NET
AbstractWiththerapiddevelopmentofinformationtechnologyanddailyimprovementofthestatusofhumanresourcemanagementintheenterprise,moreandmorecompanieswanttopromotetheleveloftheirhumanresourcemanagementbywayofinformatization.Asaresult,humanresourcemanagementsystemcomesintobeing.EnterpriseHumanResourceManagementSystemisatypicalinformationmanagementsystem,whichisservingfortheemployeesinthemanagementdepartmenttomanageenterprise'sinformation.ThesystemisdevelopedontheplatformofMicrosoftVisualStudio,implementedwithC#language.Ithasthefollowingfunctions:Systemmanagement,Paysetting,resourcemanagement,personalmanagement,Paymanagement.TheconnectionwithdatabaseisimplementedwithADO.NETtechnique,soitcanfinishrecording,queeringandmodifythehumanresourceinformationquickly.Thedevelopmentproceduresaredetailedintroducedinthepaper,suchasrequirementanalysis,functionanalysis,constructionaldesign,detaildesignandtesting&debugging,includingthewholeprocess.Themodelingsofsalarymanagementaremainlyexplainedinthispaper.Duringthedesignofthesystem,object-orientedprogrammingideasareused.WeencapsulatestheoperationofdatabaseintotheClassofDataAcess,otherobjectscanextendtheDataAccessClasstorealizeitsmethodstooperatethedatabase.Thisdevelopedsystemcombinesthescientificcharacteristicandreasonablecharacteristicofhumanresourcesmanagementwiththeconvenienceofcomputer,whichbringsmoreconveniencetotheenterprise'shumanresourcesmanagement.Keywords:Corporatehumanresources;InformationManagement;C#;ADO.NET
目录1绪论 -1-1.1课题的背景 -1-1.2课题研究的内容 -2-1.2.1课题来源 -2-1.2.2
课题的意义 -2-1.2.3
系统开发预期目标 -3-2关键技术分析 -4-2.1MicrosoftVisualStudio.NET的开发环境 -4-2.2C#.NET语言 -4-2.3ADO.NET对象 -5-2.4使用SQLSever2000实现关系型数据库 -6-2.4.1SQLServer2000数据库 -6-2.4.2SQLServer2000的主要功能 -7-3需求与可行性分析 -8-3.1可行性研究 -8-3.1.1经济可行性 -8-3.1.2技术可行性 -8-3.2系统需求分析 -9-3.3数据库设计 -12-4各功能模块的设计与实现 -17-4.1系统开发环境 -17-4.2系统类设计 -20-4.3系统栏目设计 -21-4.4人事管理模块设计 -24-4.4.1人事信息维护 -24-4.4.2员工信息查询 -32-4.5工资管理模块设计 -33-4.5.1工资信息管理 -33-4.5.2员工奖励管理 -34-4.6用户管理模块设计 -35-4.6.1用户管理 -35-4.6.2密码修改 -35-总结 -36-致谢 -37-参考文献 -38-1绪论1.1课题的背景随着计算机的飞速发展,计算机的应用已经十分广泛,它在人们的生产、生活、工作和学习中发挥着重要的作用。管理信息系统是先进的科学技术和现代管理相结合的产物,建立以计算机为主要手段的管理信息系统,已成为现在学校、企业、政府部门等各类组织提高自身素质,实现组织目标的战略措施。通过使用管理信息系统,使各单位的信息管理工作系统化,规范化,自动化,从而达到提高管理效率的目的。而信息系统的目标为信息系统的发展方向提供了准则,是各单位战略规划的一部分,具有极其重要的作用。企业人力资源管理系统是一个企业不可缺少的部分,它的内容对于企业管理者来说是至关重要,所以企业人力资源管理系统应该能够为企业管理者提供充足的信息和快捷的查询手段。但一直以来人们使用传统人工的方式管理员工档案,这种管理方式存在着许多缺点,如:效率低、保密性差,另外时间长了,将产生大量的文件和资料,这对于查找、更新和维护都带来了不少的困难。加上企业人事管理工作内容杂,管理细,要求高,传统管理办法已基本不适应新形势的要求。企业人事管理的手工登录与查询,是一项非常繁重而枯燥的劳动,每年员工的变化都需要重新规划,耗费许多人才和物力,而且会因人的情绪烦躁而出现失误,因此在计算机飞速发展的今天,应用数据库技术实现企业人力资源的管理是可行而必要的工作,实现企业人力资源管理系统,既能够提高工作效率,又可以提高工作水平。计算机具有运算速度快、正确、能按照设计逻辑处理问题等特性,在员工信息的录入、统计中如采用一个计算机化的信息系统进行处理,就不会发生信息遗漏或者数据输入不正确的情形。作为计算机应用的一部分,使用计算机对人力资源进行管理,具有手工管理所无法比拟的优点。例如:检索迅速、查找方便、可靠性高、存储量大、保密性好、寿命长、成本低等。这些优点能够极大地提高的效率,也是企业科学化、正规化管理的重要条件,而且还节省了许多人力物力,增强了企业资料的安全性,提高了企业人力资源的管理能力。在.net框架下采用“自上而下地总体规划,自下而上地应用开发”的策略开发本系统的详细过程,从员工信息的查询到管理实现了自动化的模式,从而提高了工作效率。为企业的学生信息管理部门提供了一套操作简易、应用广泛、扩展性强的人力资源系统。可以对企业内部的员工管理更加方便。这种采用计算机管理的好处是可以对企业的众多员工的信息进行动态的管理、修改、添加和删除都非常方便,不必再像原来准备一个巨大的档案库,在诸多文挡中查找资料,减少了这些重要工作出错的可能性。本世纪以来,由于社会生产力的迅速发展和科学技术的突飞猛进,人们进行信息交流的深度和广度不断增加,管理所需要的信息量急剧增长,同时对信息的处理要求及时、准确,这导致了传统的信息处理方法和手段已不能适应现代管理的需要;电子计算机的诞生和在信息处理中的应用使企业管理现代化成为可能。但是在我国,由于各种原因,管理信息系统的发展尚处于初级阶段,尽管如此,充分利用我们现有的资源和技术力量,开发一些适合本企业或者本行业的管理信息系统,还是非常必要的。近年来,随着科学技术的迅猛发展和管理水平的不断提高,将人力资源管理上升到战略层次正在逐渐成为集团企业的迫切管理需求随着计算机和网络技术的发展,信息化管理技术已经广泛地应用于各类企事业单位。本文针对企业人力资源管理的特色以及人力资源的优化配置,设计开发了的企业人力资源管理系统,为建立企业人力资源管理系统提供了技术框架。微软的.NET平台作为新一代的互联网平台,提供了支持未来计算的高效的Web服务开发工具。利用.NET平台进行企业人力资源管理系统的开发成为此类系统未来开发的趋势。1.2课题研究的内容1.2.1课题来源近几年来,信息化管理技术已经广泛地应用于各类企事业单位。针对中小型企业的现状,再配备合理的经营管理软件,就可以改善传统上数据不够准确、及时、全面和详细等诸多问题,管理者工作更方便,从而提高企业工作效率,使企业的管理更加科学化、合理化、制度化和规范化。而企业信息管理系统就满足了这些需求,填补了这个空白。目前,人力资源管理已经从传统的以“事务”为中心的管理模式转变到以“人”为中心的管理模式,运用科学的管理手段与IT技术相结合营造良好的用人环境,真正做到人尽其才,才尽其用,成为提高人力资源管理部门管理水平的主要途径。本文针对企业人力资源管理的特色以及人力资源的优化配置,借鉴目前人力资源管理方面的先进方法,设计开发了的企业人力资源管理系统,为建立企业人力资源管理系统提供了技术框架,具有良好的扩充性。因此,开发一个代替手工操作的新型的计算机管理的信息系统是十分必要的,这也是本课题的由来。1.2.2
课题的意义企业人力资源管理系统是一个非常通用的信息管理系统。信息管理系统是数据库技术与企业管理相结合的产物,人力资源信息管理系统是整个现代企业信息管理系统的重要组成部分。通过企业人力资源管理系统可以使管理者快速地完成企业日常事务中的人事工作,降低人力资源管理的成本,企业人力资源管理系统设计和开发正在越来越受到企业管理的重视,几乎所有的企事业单位都需要拥有自己的人力资源管理系统,以便对本单位员工的基本信息进行保存和管理。通过一个人力资源管理系统的开发过程,可以使我们掌握实际编程技术,培养形成正确的思维方法和严谨的科学态度,提高调查研究,方案论证,创新意识以及自我学习的能力。通过使用C#.NET这种面向对象的可视化编程工具与后端的SQLServer2000数据库相结合,开发出一个符合设计要求,比较实用的人力资源管理系统。1.2.3
系统开发预期目标在决定开发管理信息系统应用项目之前,首先要做好系统开发的可行性分析。可行性分析的任务是确定项目开发是否必要和可行。建设MIS的必要性取决于需求的迫切性和实现的可行性。从以下几个方面认真进行研究,从而为确定系统开发项目的决策提供科学依据。(1)经济可行性:对组织的经济状况和投资能力进行分析,一方面是支出的费用,其中包括设备购置费、软件开发费、管理和维护费用、人员工资和培训费等;另一方面是取得的收益,其中有一部分可以用钱来衡量,如开发本系统,为企业节省的人力,物力。收益的另一部分难以用钱表示,如加强人事信息管理。(2)技术上可行性:现技术上的可行性分析所考虑采用的硬件和软件技术能满足用户提出的要求(如计算机的容量、速度等)。此外,因本系统难度不大,所涉及的范围只限于企业人事信息管理,所以在技术上已达到开发该系统的能力。(3)营运上的可行性:指系统对组织结构的影响,现有人员和结构、设备、环境等系统的适应性以及进行人员培训补充计划的可行性。(4)管理上的可行性:重要是管理人员对开发信息系统的态度和管理方面的基础工作。重要领导不支持的项目肯定不可行。管理基础工作好坏重要表现在管理制度和方法是否科学,规章制度是否齐全以及原始数据是否正确等方面。预期目标:针对企业所需,建立一个计算机的人力资源管理系统,加强企业职工的各种信息资源的管理和应用,提高企业人事管理的现代化水平,在为企业日常业务提供全面信息服务的基础上,提供管理决策支持功能,大大减少工作量以及用人的数量,提高管理效率和速度。为实现此目的提出以下目标:实现信息的准确,快捷和顺畅。实现部门信息管理,员工信息管理,工资管理用户管理等功能。系统操作简单易行,查询灵活方便。为企业管理层提供直观方便的信息,提高迅速反应能力,提供有效的决策支持。系统运行稳定,维护方便可靠,有较高的安全性。
2关键技术分析2.1MicrosoftVisualStudio.NET的开发环境 .NETFramework是一种新的计算平台,它简化了在高度分布式Internet环境中的应用程序开发。.NET自从发布以来受到了业界的瞩目,国外的软件公司已经把.NET技术应用到实际的项目当中,而且得到了很好的效果。VisualStudio.NET是一套完整的开发工具,用于生成ASP.NETWeb应用程序、XMLWebservices、桌面应用程序和移动应用程序。VisualBasic.NET,VisualC++.NET,VisualC#.NET和VisualJ#.NET全都使用相同的集成开发环境(IDE),该环境允许它们共享工具并有助于创建混合语言解决方案。另外,这些语言利用了.NETFramework的功能,此框架提供对简化ASP.NETWeb应用程序和XMLWebservices开发的关键技术的访问。.NET技术是微软公司推出的一个全新概念,“它代表了一个集合,一个环境和一个可以作为平台支持下一代Internet有可编程结构。”.NET的目的就是将互联网作为新一代操作系统的基础,对互联网的设计思想进行扩展。就是让用户在任何地方、任何时间,利用任何设备都能访问所需的信息、文件和程序。用户不需要知道这些文件放在什么地方,只需要发出请求,然后就可以接受处理的结果,后台的复杂处理过程对用户而言是透明的。2.2C#.NET语言C#是微软公司发布的一种面向对象的、运行于.NETFramework之上的高级程序设计语言。并定于在微软职业开发者论坛(PDC)上登台亮相。C#是微软公司研究员AndersHejlsberg的最新成果。C#看起来与Java有着惊人的相似;它包括了诸如单一继承、接口、与Java几乎同样的语法和编译成中间代码再运行的过程。但是C#与Java有着明显的不同,它借鉴了Delphi的一个特点,与COM(组件对象模型)是直接集成的,而且它是微软公司.NETwindows网络框架的主角。C#是一种安全的、稳定的、简单的,由C和C++衍生出来的面向对象的编程语言。它在继承C和C++强大功能的同时去掉了一些它们的复杂特性(例如没有宏和模板,不允许多重继承)。C#综合了VB简单的可视化操作和C++的高运行效率,以其强大的操作能力、优雅的语法风格、创新的语言特性和便捷的面向组件编程的支持成为.NET开发的首选语言。并且C#成为ECMA与ISO标准规范。C#看似基于C++写成,但又融入其它语言如Delphi、Java、VB等。微软C#语言定义主要是从C和C++继承而来的,而且语言中的许多元素也反映了这一点。C#在设计者从C++继承的可选选项方面比Java要广泛一些(比如说struts),它还增加了自己新的特点(比方说源代码版本定义)。但它还太不成熟,不可能挤垮Java。C#还需要进化成一种开发者能够接受和采用的语言。而微软当前为它的这种新语言大造声势也是值得注意的。目前大家的反应是:“这是对Java的反击”。C#更像Java一些,虽然微软在这个问题上保持沉默。这也是意料中的事情,我觉得,因为Java近来很成功而使用Java的公司都报告说它们在生产效率上比C++获得了提高。Java所带来的巨大影响和大家对它的广泛接受已经由工作于这种语言和平台之上的程序员数量明显的说明了(估计世界范围内共有两百五十万程序员使用Java)。由这种语言写成的应用程序的数量是令人惊讶的并已经渗透了每一个级别的计算,包括无线计算和移动电话(比如日本发明的Java电话)。C#能够在用户领域获得这样的礼遇吗?我们必须等待并观望,就象已经由SSI公司的CEO和主席KalpathiS.Suresh指出来的那样,“我发现所有这些都是渐进的。如果C#不存在,我们总能回到Java或C和C++。这些都不完全是新技术;它们在更大的意义上来说只是大公司制造的市场噱头。我们必须给他们时间安顿下来看看这些是不是真的对IT工业有什么影响”。2.3ADO.NET对象ADO.NET主要包含五个对象:Connection对象、Command对象、DataReader对象、DataAdapter对象以及DataSet对象。Connection对象主要建立与特定数据源的连接;Command对象主要提供对数据源执行命令的访问;DataReader对象主要从数据源中提供高性能的单向数据流;DataAdapter对象主要提供连接DataSet对象和数据源的桥梁;DataSet对象是数据的内存驻留表示形式。(1)Connection对象Connection对象用于建立到指定数据库的连接。它有两种:Sqlconnection对象和OleDbConnection对象。Sqlconnection对象用于连接到MicrosoftSQLServer数据库,而OleDbConnection对象用于连接到所有第三方SQL服务器产品以及其他支持OLEDB的数据源。使用ADO.NET的第一步就是连接数据库。这可以用Connection对象来完成。Connection对象把数据连接的所有功能包装了起来。利用Connection对象建立到数据库的连接时,主要是设置其ConnectionString属性,再用open()方法打开连接。使用完连接后可以用close()方法关闭连接。连接是与数据库服务器相关,而不是与实际的数据库本身相关,可以通过调用ChangDatabase()方法传入新数据库名而改变Connection对象的当前数据库。(2)Command对象在利用Connection对象建立了到数据源的连接后,就可以利用Command对象对数据源执行SQL语句或存储过程。可以把Command对象看成是向DataReader对象返回数据结果流的方法。Command对象的一个基本属性是Connection属性,指定将命令提交到DBMS中执行Connection对象。不同数据库可以有多个连接,使用相同的Command对象和不同的连接。Command对象带有的要执行命令信息由CommandText属性指定。CommandText属性可以指定表名、SQL语句、SQL存储过程名。(3)DataAdapter对象DataAdapter对象用于从数据源中检索数据并填充Dataset中的表。它是数据和数据访问机制之间的连接,它体现了一种Microsoft数据访问体系结构的新概念。DataAdapter使用.NET数据提供程序的Connection对象来连接到数据源,使用Command对象从数据源中检索数据并更改解析回数据源。sqlDataAdapter对象表示用于填充Dataset和更新SQLServer数据库的一组数据命令和一个数据库的连接。SqlDataAdapter是Dataset和SQLServer之间的连接器,用于检索和保存数据。SqlDataAdapter通过对数据源使用适当的SQL语句映射Fill()和Update来提供这一连接。(4)DataSet对象DataSet是ADO.NET结构的主要构件,它是从数据库中检索到数据在内存中的缓存。DataSet对象不区别OleDb和SqlClient.NET命名空间。不管哪个.net的数据提供者,声明Dataset对象的方法是相同的:DimmydatasetasDataSet2.4使用SQLSever2000实现关系型数据库2.4.1SQLServer2000数据库SQLServer2000是在SQLServer7.0的基础上上扩展升级的产品。SQLServer7.0是Microsoft公司在数据库领域中非常重要的产品,它具有非常好的再造和重写特性。面市后,SQLServer7.0以其良好的性能、稳定性、便于管理和易于开发等优势,赢得了许多客户的喜爱,成为一个热门的数据库产品。SQLServer2000继承了数据库软件设计和引擎方面的优势,已经成为新一代网络应用程序的最佳数据库和分析解决方案之一。在高性能和企业级可伸缩性领域,SQLServer2000设计成利用Windows2000对更多处理器、更大的系统内存的支持,最终达到支持64位硬件平台。SQLServer7.0已经在可管理性和易用性方面在行业内领先,SQLServer2000通过与Windows2000活动目录紧密结合进一步改进了这些功能。而且,SQLServer2000还包含对现有管理工具和实用程序的重大改进,并引入更具自我调节和自我管理的引擎功能。通过与OLAP服务、数据转换服务、存储库和英文查询的紧密结合,SQLServer7.0代表了行业内最全面的数据仓库和决策支持平台。SQLServer2000继续了这种创新,在整个系统内进行了重要的改进。特别重要的是,SQLServer2000关系引擎增加了实质化的视图,改善了在特大型数据库环境中执行复杂查询的性能。同时,SQLServer2000引入了新的数据挖掘功能,可自动发现在大量数据之间隐藏的关系并可基于历史数据作出预测。最后,在电子商务领域,SQLServer2000高度集成了对XML和通过Web访问数据库的支持。2.4.2SQLServer2000的主要功能SQLServer2000是一个高性能的客户端/服务器结构的关系型数据库管理系统。SQLServer是一个关系数据库管理系统。MicrosoftSQLServer为在多种环境下实现商务应用提供了强有力的C/S平台。为了提供高档的C/S数据库管理的可靠性,MicrosoftSQLServer建立在MicrosoftWindowsNT操作系统强有力的功能、可扩充和可管理性之上的,是为分布式C/S需要而设计的一个可扩充的、高性能的数据库管理系统。SQLServer是一个后台数据库管理系统,它功能强大,操作简便,日益为广大数据库用户所喜爱,越来越多的开发工具提供了与SQLServer的接口。目前,SQL语言已广为用户和业界所接受,并成为国际标准。它是一个综合的,功能极强同时又简捷易学的语言。SQL语言集数据查询、数据操纵、数据定义和数据控制功能于一体,主要特点包括:(1)完全的Web支持SQLServer2000提供了以Web标准为基础的扩展数据库编程功能。丰富的XML和Internet标准支持允许您使用内置的存储进程以XML格式轻松存储和检索数据。还可以用XML更新程序容易地插入、更新和删除数据。对Web的完全支持主要体现在:内容丰富的XML支持特性;与.NETEnterpriseServer-BizTalk和CommerceServer的集成;可支持Web的分析,Web和应用程序宿主,对数据的Web访问;点击流分析;安全性以及全文检索特性。(2)更高的稳定性和可靠性使用SQLServer2000可以获得非凡的可伸缩性和可靠性。通过向上伸缩和向外扩展的能力,SQLServer满足了苛刻的电子商务和企业应用程序要求。主要体现为:高度可用性;要伸缩性、安全性;分步式分区视图以及索引视图;虚拟接口系统区网络以及复制特性。
3需求与可行性分析3.1可行性研究3.1.1经济可行性现在,计算机的价格已经十分低廉,性能却有了长足的进步。而本系统的开发是企业员工信息管理的统一平台,业务集中处理,全公司范围仅需建立一个处理中心,其他用户仅为低成本的客户端。这使得系统软硬件设施投入少,低廉的投入成本,建设时间也大大缩短,为公司的工作效率带来了一个质的飞跃,为此本系统在经济上是可行的。3.1.2技术可行性随着计算机技术和软件开发技术的发展,VisualC#.NET是基于微软.NETFramework之上的面向对象的中间解释性语言,可以看作是VisualC#在.NetFramework平台上的升级版本,增强了对面向对象的支持。VisualC#.NET把基本数据类型(字符串、整型、双精度等等)转换成带有属性和方法的对象;它还引入了Java类型的错误捕获机制(用Try和Catch);C#.NET还把代码编译成微软中间语言(MicrosoftIntermeC#.NET采纳了包括Java在内的许多其它面相对象编程语言的功能和特点VisualdiateLanguage,IL);它还提供了基于XML的应用程序配置。更重要的是设计面向对象解决方案的能力可以用任何语言实现。VisualC#.NET是基于微软.NETFramework之上的面向对象的中间解释性语言,可以看作是VisualC#在.NetFramework平台上的升级版本,增强了对面向对象的支持。C#.NET的代码编辑器还有一个重要的新功能:在代码编辑窗口中,点击代码行左边的加号或者减号可以扩展或者折叠代码块。这个功能原本为隐藏可视化设计器自动生成的代码而设计,但它也可以用于隐藏与当前任务无关的代码。ADO.NET是对MicrosoftActiveXDataObjects(ADO)一个跨时代的改进,它提供了平台互用性和可伸缩的数据访问。由于传送的数据都是XML格式的,因此任何能够读取XML格式的应用程序都可以进行数据处理。事实上,接受数据的组件不一定要是ADO.NET组件,它可以是基于一个MicrosoftVisualStudio的解决方案,也可以是任何运行在其它平台上的任何应用程序。ADO.NET的基本结构、用于数据源连接的对象、用于数据访问方式的对象以及用于数据显示与交互操作数据控件DataGrid等,同时ADO.NET中引入了数据集DataSet和数据适配器DataAdapater的概念,从而提供了一种新的数据访问模式——断开式数据访问。这种“断开”结构有效的避免了由于活动连接过多而造成的数据库堵塞和网络资源的浪费。无论是从技术方面还是从背景概述介绍的情况上都可以看出,开发企业人力资源管理系统、实现员工信息管理的计算机化是非常必要的,也是可行的。因为使用计算机化的企业人力资源管理系统可以彻底改变目前员工信息管理工作的现状,能够提高工作效率,能够提供更准确、及时、适用、易理解的信息,能够从根本上解决手工管理中信息滞后、资源浪费等问题。另外,由于sqlserver2000是一个简单实用的数据库管理系统,选择它们作为开发工具,可以很容易地实现企业人力资源管理系统所需的功能,完成企业人力资源管理的各项任务。3.2系统需求分析近年来,随着科学技术的迅猛发展和管理水平的不断提高,将人力资源管理上升到战略层次正在逐渐成为集团企业的迫切管理需求随着计算机和网络技术的发展,信息化管理技术已经广泛地应用于各类企事业单位。本文针对企业人力资源管理的特色以及人力资源的优化配置,设计开发了的企业人力资源管理系统,为建立企业人力资源管理系统提供了技术框架。微软的.NET平台作为新一代的互联网平台,提供了支持未来计算的高效的Web服务开发工具。利用.NET平台进行企业人力资源管理系统的开发成为此类系统未来开发的趋势。对于企业信息的管理来说,每个部门都有它自身相关信息,如:部门编号、部门名称、联系方式等;每一个员工也有它自身的相关信息,如:姓名、性别、出生年月、籍贯、学历、政治面貌、毕业学校等等。每个部门的信息和员工的档案信息各有不同之处,但也有相同点。如果不对这些信息进行细致的分析,将直接导致管理的混乱。企业人力资源管理系统的主要任务是实现对企业各部门和所有员工的系统管理。本系统所描述的企业人力资源管理系统的主要功能包括系统管理、工资设置、资源管理、人事管理、工资管理以及相关查询功能和输出打印功能,全面系统地实现了企业人力资源管理系统的功能。本系统主要功能包括:系统管理功能用户管理:包括对用户的添加、删除操作,(只有管理员用户有权打开);密码修改:修改用户密码,自己只能修改自己的密码;退出系统:退出人事资源管理系统;(2)工资设置(只有管理员用户有权打开)奖励项目设置:对职工奖励项目的设置;惩罚项目设置:对员工惩罚项目的设置;(3)资源管理部门管理:添加、删除、维护部门信息;职称类型管理:添加、删除、维护职称类型信息;培训课程管理:添加、删除、维护培训课程信息;考核项目管理:添加、删除、维护考核项目信息;合同类型管理:添加、删除、维护合同类型信息;(4)人事管理员工信息查询新员工登记:对新员工的信息登记;员工调动:对员工部门间的调动信息进行登记;培训管理:对员工培训信息的管理;合同管理:对合同是否到期等信息进行管理;(5)工资管理工资信息管理员工奖励管理员工惩罚管理考核信息管理工资查询从功能描述的内容可以看到,本系统可以实现五个完整的功能。根据这些功能,设计出系统的功能模块图、用例图、逻辑关系图,分别如下:部门管理部门管理职称类型管理培训课程管理考核项目管理合同类型管理用户管理密码修改退出系统奖励项目设置惩罚项目设置新员工登记员工调动员工培训管理员工合同管理员工信息查询工资信息管理员工奖励管理员工惩罚管理考核信息管理工资信息查询人力资源管理系统系统管理工资设置资源管理人事管理工资管理图3.1系统功能实现模块图图3.2用例图
NN1管理管理员编号密码权限员工姓名性别生日文化程度电话工龄专业民族政治面貌图3.3逻辑关系图3.3数据库设计这一节将介绍系统的数据库表结构和创建表结构的相关信息。本系统的数据库采用SQLServer2000,在设计数据库表结构之前,首先要创建一个数据库,本系统使用的数据库名为employees。数据库employees包含17个表:部分表的设计信息如下:(1)人事表的结构如表3.1所示。表3.1人事表的结构字段名数据类型长度编号varchar5姓名varchar10性别varchar2身份证号varchar20出生年月datetime8民族varchar20婚姻状况varchar4政治面貌varchar10入党团时间datetime8籍贯varchar50联系电话varchar20手机号码varchar30表3.1人事表的结构(续表)字段名数据类型长度家庭地址varchar50毕业院校varchar50专业varchar20文化程度varchar10特长varchar50参加工作时间datetime8总工龄int4照片image16部门varchar200工种varchar20职务varchar20职称varchar20基本工资money8其它工资money8调入时间datetime8本单位工龄int4简历text16登记人varchar30登记日期datetime8(2)工资表的结构如表3.2所示。表3.2工资表的结构字段名数据类型长度IDbigint所属工资月份varchar15员工编号varchar5员工姓名varchar10基本工资money8加班费money8工龄工资money8全勤奖money8奖励总额money8职务津贴money8旷工费money8惩罚总额money8养老保险money8失业保险money8医疗保险money8应发工资money8应扣工资money8实发工资money8(3)保险表的结构如表3.3所示。表3.3险表的结构字段名数据类型长度员工编号varchar5员工姓名varchar10养老保险money失业保险money医疗保险money(4)部门表的结构如表3.4所示。表3.4部门表的结构字段名数据类型长度部门编号varchar12本级编号varchar2部门名称varchar20部门全称varchar200部门主管varchar10部门地址varchar50部门电话varchar30编码级次int(5)惩罚项目表的结构如表3.5所示。表3.5罚项目表的结构字段名数据类型长度IDbigint惩罚项目varchar20(6)工种表的结构如表3.6所示。表3.6工种表的结构字段名数据类型长度IDbigint工种varchar20(7)合同表的结构如表3.7所示。表3.7合同表的结构字段名数据类型长度员工编号varchar5员工姓名varchar10合同编号varchar15合同类型varchar20合同开始日期datetime表3.7合同表的结构(续表)字段名数据类型长度合同结束日期datetime合同期限varchar10合同期工资money试用期varchar10试用期工资money备注varchar2147483647状态varchar4(8)合同类型表的结构如表3.8所示。表3.8合同类型表的结构字段名数据类型长度编号varchar2合同类型varchar20(9)奖励项目表的结构如表3.9所示。表3.9奖励项目表的结构字段名数据类型长度IDbigint奖励项目varchar20(10)民族表的结构如表3.10所示。表3.10民族表的结构字段名数据类型长度IDbigint民族varchar20(11)培训表的结构如表3.11所示。表3.11培训表的结构字段名数据类型长度员工编号varchar5员工姓名varchar10课程名称varchar30时数int开始时间datetime结束时间datetime成绩varchar5费用money备注varchar255
(12)培训课程表的结构如表3.12所示。表3.12培训课程表的结构字段名数据类型长度课程编号varchar3课程名称varchar50主办单位varchar30培训方式varchar8授课对象varchar50授课方式varchar10是否认证varchar2授课时数bigint费用money开课时间datetime结束时间datetime
4各功能模块的设计与实现4.1系统开发环境VisualStudio.NET2005是微软新推出的.NET平台下的开发互联网应用程序的一套新工具,在本课题的开发研究中,我们主要用到了其中的VisualC#.NET进行程序的开发,具体的系统开发软件环境组成如下所示:操作系统:WindowsXP,Windows2000professional数据库服务器:SQLServer2000数据库开发工具:VisualStudio.NET2005模块初始化:功能:初始化系统,进入系统主控界面,并使系统进入正常工作状态。输入项目:通过登录界面,将用户名和密码转化成标准的SQL语句进行查询。输出项目:验证正确则进入主控界面,否则无法登陆系统。测试要点:是否能正确连接到数据库,并能将SQL语句正确执行,以验证用户名及密码的正确性:对登录用户身份的确认。技术要点:初始化模块是创建一个DataAccess类,其主要作用是:(1)、创建数据库连接;(2)、创建公共的ExecuteSQL,通过参数传递将SQL查询语句传入,返回一个 执行结果;(3)、创建函数GetDataSet。总之,实现对数据中数据的各种操作。DataAccess.cs的文件代码如下:usingSystem;usingSystem.Collections.Generic;usingSystem.Text;usingSystem.Data.SqlClient;usingSystem.Data;namespaceempApplication{classDataAccess//对数据库进行添加,删除,查询,修改的操作{publicSqlConnectiongetConnection(){//根据你自己的数据库服务器修改用户和密码stringcstring= "server=.;uid=sa;pwd=;database=employees";SqlConnectioncon=newSqlConnection(cstring);returncon;}publicboolExecuteSQL(stringsql)//执行sql语句,成功返回true{SqlConnectioncon3=getConnection();SqlCommandcmd=newSqlCommand(sql,con3);try{con3.Open();cmd.ExecuteNonQuery();returntrue;}catch{returnfalse;}finally{con3.Close();}}publicDataSetGetDataSet(stringsql,stringtable)//执行sql语句,返回dataset{DataSetds=newDataSet();SqlConnectioncon=getConnection();SqlDataAdapterda=newSqlDataAdapter(sql,con);try{da.Fill(ds,table);}catch(Exceptionex){thrownewException(ex.ToString());}finally{da.Dispose();}returnds;}publicintGetCount(stringsql)//返回影响的行数{SqlConnectioncon2=getConnection();SqlCommandcmd=newSqlCommand(sql,con2);try{con2.Open();intcount=Convert.ToInt32(cmd.ExecuteScalar());returncount;}catch{return-1;}finally{con2.Close();con2.Dispose();cmd.Dispose();}}//验证用户是否合法publicBooleanCheckUser(UserInfoDatauserInfo){stringsql="select*fromloginwhere编号='"+userInfo.UserID+"'and密码='"+userInfo.Pwd+"'";if(GetCount(sql)>0){returntrue;}elsereturnfalse;}}}4.2系统类设计类关系图如下:图4.1类图
4.3系统栏目设计图4.2系统的主界面系统的主界面主要有七组子菜单组成,子菜单里包括系统的具体功能:系统管理,工资设置,资源管理,人事管理,工资管理,关于。当主窗体运行时,首先启动登录窗口。如果不能通过身份验证,就不能进入系统,进行系统的操作。图4.3系统的登录界面登录模块的代码如下:usingSystem;usingSystem.Collections.Generic;usingSystem.ComponentModel;usingSystem.Data;usingSystem.Drawing;usingSystem.Text;usingSystem.Windows.Forms;namespaceempApplication{publicpartialclassFrmlogin:Form{publicFrmlogin(){InitializeComponent();}privatevoidFrmlogin_Load(objectsender,EventArgse){}privatevoidbutton1_Click(objectsender,EventArgse)//登录{UserInfoDatauser=newUserInfoData();stringuid=this.textUser.Text.Trim();stringpasswd=this.textPwd.Text.Trim();if(uid!=""&&passwd!=""){user.UserID=uid;user.Pwd=passwd;DataAccessdata=newDataAccess();if(data.CheckUser(user)){constants.UserID=user.UserID;MDIParent1winmain=newMDIParent1();winmain.Show();this.Hide();}else{MessageBox.Show("您的编号或密码输入有误,请重新输入");this.textUser.Text="";this.textPwd.Text="";}}else{MessageBox.Show("请输入编号和密码");this.textUser.Text="";this.textPwd.Text="";}}privatevoidbutton2_Click(objectsender,EventArgse){Application.Exit();}}4.4人事管理模块设计4.4.1人事信息维护人事信息管理模块设计主要包括对企业员工的管理。管理员通过相关按钮的使用可修改、删除、添加和更新部门信息。使用Connection对象与数据库建立连接后,可以使用Command对象来对数据源执行查询、插入、删除、更新等各种操作。图4.4部门信息维护页面技术要点:首先定义两个公共类,来完成对部门信息的所有操作。DeptInfo类的定义:usingSystem;usingSystem.Collections.Generic;usingSystem.Text;namespaceempApplication{classDeptInfo{privatestringdeptNo;privatestringnowNO;privatestringdeptName;privatestringchairMan;privatestringfullName;privatestringtelePhone;privatestringaddress;privatestringjibie;publicstringDeptNO{get{returndeptNo;}set{deptNo=value;}}publicstringNowNo{get{returnnowNO;}set{nowNO=value;}}publicstringDeptName{get{returndeptName;}set{deptName=value;}}publicstringChairMan{get{returnchairMan;}set{chairMan=value;}}publicstringFullName{get{returnfullName;}set{fullName=value;}}publicstringTelePhone{get{returntelePhone;}set{telePhone=value;}}publicstringAddress{get{returnaddress;}set{address=value;}}publicstringJiBie{get{returnjibie;}set{jibie=value;}}}}DeptOperation类的定义如下:usingSystem;usingSystem.Collections.Generic;usingSystem.Text;namespaceempApplication{classDeptOperation{privatestaticDataAccessdata=newDataAccess();publicstaticboolinsertDepInfo(DeptInfodept)//插入部门信息{stringsql="insertintodepartment(部门编号,本级编号,部门名称,部门主管,部门全称,部门地址,部门电话,部门级次)values('"+dept.DeptNO+"','"+dept.NowNo+"','"+dept.DeptName+"','"+dept.ChairMan+"','"+dept.FullName+"','"+dept.Address+"','"+dept.TelePhone+"','"+dept.JiBie+"')";returndata.ExecuteSQL(sql);}publicstaticboolUpdateDepInfo(DeptInfodept)//更新部门信息{stringsql="updatedepartmentset本级编号='"+dept.NowNo+"',部门名称='"+dept.DeptName+"',部门主管='"+dept.ChairMan+"',部门全称='"+dept.FullName+"',部门地址='"+dept.Address+"',部门电话='"+dept.TelePhone+"',部门级次='"+dept.JiBie+"'where部门编号='"+dept.DeptNO+"'";returndata.ExecuteSQL(sql);}publicstaticbooldelDeptInfo(DeptInfodept)//删除{stringsql="deletefromdepartmentwhere部门编号='"+dept.DeptNO+"'";returndata.ExecuteSQL(sql);}}}部门信息管理代码编写如下:usingSystem;usingSystem.Collections.Generic;usingSystem.ComponentModel;usingSystem.Data;usingSystem.Drawing;usingSystem.Text;usingSystem.Windows.Forms;namespaceempApplication{publicpartialclassFrmbmgl:Form{privatestaticDataAccessdata=newDataAccess();publicFrmbmgl(){InitializeComponent();}privatevoidFrmbmgl_Load(objectsender,EventArgse){//TODO:这行代码将数据加载到表“employeesDataSet.department”中。您可以根据需要移动或移除它。this.departmentTableAdapter.Fill(this.employeesDataSet.department);//TODO:这行代码将数据加载到表“employeesDataSet.department”中。您可以根据需要移动或移除它。this.departmentTableAdapter.Fill(this.employeesDataSet.department);}privatevoidbtxg_Click(objectsender,EventArgse)//修改部门信息{inti=this.dataGridView1.SelectedRows.Count;if(i<1){MessageBox.Show("请选择要修改的行!");return;}else{intindex=this.dataGridView1.CurrentRow.Index;DeptInfodept=newDeptInfo();dept.DeptNO=employeesDataSet.Tables["department"].Rows[index]["部门编号"].ToString();dept.NowNo=this.textBox2.Text.Trim();dept.DeptName=this.textBox3.Text.Trim();dept.ChairMan=this.textBox4.Text.Trim();dept.FullName=this.textBox5.Text.Trim();dept.TelePhone=this.textBox6.Text.Trim();dept.Address=this.textBox7.Text.Trim();dept.JiBie=this.textBox8.Text.Trim();boolflag=DeptOperation.UpdateDepInfo(dept);if(flag){this.departmentTableAdapter.Fill(this.employeesDataSet.department);MessageBox.Show("修改成功");this.textBox1.Text="";this.textBox2.Text="";this.textBox3.Text="";this.textBox4.Text="";this.textBox5.Text="";this.textBox6.Text="";this.textBox7.Text="";this.textBox8.Text="";}}}privatevoiddataGridView1_SelectionChanged(objectsender,EventArgse)//选择dataGridView1中一行时所发生的事件{if(dataGridView1.SelectedRows.Count>0){DataGridViewRowdr=dataGridView1.SelectedRows[0];this.textBox1.Text=dr.Cells[0].Value.ToString();this.textBox2.Text=dr.Cells[1].Value.ToString();this.textBox3.Text=dr.Cells[2].Value.ToString();this.textBox4.Text=dr.Cells[4].Value.ToString();this.textBox5.Text=dr.Cells[3].Value.ToString();this.textBox6.Text=dr.Cells[6].Value.ToString();this.textBox7.Text=dr.Cells[5].Value.ToString();this.textBox8.Text=dr.Cells[7].Value.ToString();}}privatevoidbtadd_Click(objectsender,EventArgse)//添加部门信息{DeptInfodept=newDeptInfo();if(this.textBox1.Text==""||this.textBox1.Text==null){MessageBox.Show("请填写部门编号!");return;}else{dept.DeptNO=this.textBox1.Text.Trim();stringsql="select*fromdepartmentwhere部门编号='"+dept.DeptNO+"'";if(data.GetCount(sql)>0){MessageBox.Show("该部门编号已存在,请重输编号!");return;}else{dept.NowNo=this.textBox2.Text.Trim();dept.DeptName=this.textBox3.Text.Trim();dept.ChairMan=this.textBox4.Text.Trim();dept.FullName=this.textBox5.Text.Trim();dept.TelePhone=this.textBox6.Text.Trim();dept.Address=this.textBox7.Text.Trim();dept.JiBie=this.textBox8.Text.Trim();boolflag=DeptOperation.insertDepInfo(dept);if(flag){this.departmentTableAdapter.Fill(this.employeesDataSet.depart
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 《员工满意度调查》课件
- 数学学案:课堂导学柯西不等式
- 数学学案:课前导引用数学归纳法证明贝努利不等式
- 公司安全生产培训工作
- 大学生大学人生规划
- 《光电元件》课件
- 休克期患者的护理
- 《奥美广告策划》课件
- 《汤姆叔叔的小屋》课件
- 线的世界中班课件
- 连锁门店店长、导购销售薪酬设计方案
- 肠梗阻个案护理查房
- 护士人文修养-护患关系
- 《可信计算技术研究》课件
- 技术创效实施策划方案
- 社区文化知识讲座
- 汽车安全与法规 (第3版) 课件 第4-6章 汽车被动安全性、汽车主动安全系统、汽车被动安全性能试验
- 提升创新创业能力
- GB/T 43480-2023无损检测相控阵超声柱面成像导波检测
- 人教版三年级数学上册“双减”作业设计 7.3周长的认识(解析版)
- 曼昆宏观经济学课后习题答案
评论
0/150
提交评论