1、 毕业综合实践说明书( 届)题 目 *公司人事管理系统的设计与实现学 院 专 业 班 级 学 号 学生姓名 指导教师 完成日期 摘要人力资源管理是企业管理中的一个重要内容,随着时代的进步,企业也逐渐变得庞大起来。如何管理好企业内部员工的信息,成为企业管理中的一个大问题。在这种情况下,开发一个人力资源管理系统就显得非常必要。本系统结合公司实际的人事、制度,经过实际的需求分析,整个系统从符合操作简便、界面友好、灵活、实用、安全的要求出发,本企业人事管理系统具有如下功能:员工基本信息的录入、修改、查询、删除模块,员工假条信息录入、修改、查询、删除模块,员工工资信息的录入,计算,查询,以及系统用户的设
2、置以及系统的维护功能。为企业人事管理提供信息咨询,信息检索,信息存取等服务,基本上能够满足现代企业对人事管理的需要。由于计算机技术的飞速发展,数据库技术作为数据管理的一个有效的手段,在各行各业中得到越来越广泛的应用。因此,本文围绕一个”人事管理系统”程序的设计和应用系统的开发课题为背景,详细介绍了以asp和SQLSERVER为语言编写管理信息系统的过程。管理系统的开发不仅是一个应用程序编写的过程,更重要的是在系统分析和设计阶段所做的工作。该程序在设计过程中严格遵循软件工程学的方法,用分阶段的生命周期计划严格管理,并主要讲述了程序的总体设计、详细设计阶段,对程序进行需求迭代,不断修正和改进,利用
3、SQL SERVER的强大数据库功能,直到形成一个完善的可行性系统.优美、秀丽的界面,方便实用的查询与维护功能共同构成了“人事管理系统”。关键词: SQL SERVER;管理系统;设计目 录目 录3引言11绪论11.1系统设计背景11.2设计的目的与意义21.3设计任务31.4可行性分析31.4.1 社会可行性分析31.4.2 技术可行性分析31.4.3 经济可行性分析41.4.4 管理可行性分析42人事管理系统开发基础42.1 管理系统简介42.1.1 管理信息系统42.2 开发软件介绍52.2.1 C#简介52.2.2 SQL Server52.2.3 Visual Studio 2010
4、技术平台53数据流程的设计63.1系统构成图63.2 数据流程图73.3数据库的设计84系统的设计与实现94.1登陆界面94.2员工信息管理114.2.1 添加员工信息124.2.2 员工信息更新删除154.2.3 员工信息的查询194.3考勤信息管理204.3.1 添加假别204.3.2 员工考勤登记235设计总结和评价25参考文献25引言随着科学技术的不断前进,计算机得到了越来越普遍的应用。计算机是企业管理现代化的重要手段。企业人事管理工作是企事业管理工作的一个重要组成部分,对于企业人事复杂的管理机构,采用传统的手工管理方法来处理各种档案信息,需要耗费大量的人力和物力,而且系统的查询和维护
5、也相当困难,已经远远不能满足社会发展的需要。因此,我觉的我为吉博教育有限公司做一个人事管理系统是非常有用的,可以使人们从复杂的人工管理中解脱出来,而且还可以提高工作效率和管理水平。针对传统落后的人工作业模式,根据企业人事管理工作的内容、特点,并在充分注重软件操作的简单性以及科学可视化原则的前提下,设计并开发了一套科学的企业人事管理系统。该系统在实际应用中,稳定可靠,并能及时为企业人事管理提供准确、全面的数据,有效地提高了企业人事档案管理的工作效率、质量及管理决策的有效性、可靠性,实现了企业人事的计算机现代化管理。随着我国国有和私营企业的快速发展, 特别是企业员工的规模不断扩大,为了实现对企业员
6、工进行科学系统地管理必须开发一套以计算机为本的信息管理系统;本系统为企业人事管理系统,它集成了企业人事基础信息管理、人事管理、数据备份与恢复管理、管理员权限管理等多种功能,其开发主要包括数据库的建立和维护及查询修改等功能的实现,因而具有较强的实用性和先进性。现在我所学的计算机应用技术专业,能够学到相关的信息管理系统设计的知识,这让我能够合理的设计出人事管理系统。通过企业指导老师和学校指导老师的帮助跟自身所学的有关人事管理系统的知识,能够设计出员工需要的人事管理系统。并通过对该系统的设计,提升了自己的设计能力,加深了自己的专业知识。1绪论1.1系统设计背景人力资源管理系统的发展历史可追溯到20世
7、纪60年代末期。由于当时计算机技术已经进入实用阶段,同时大型企业用手工来计算和发放薪资既费时费力又非常容易出差错,为了解决这个矛盾,第一代的人力资源管理系统应运而生。当时由于技术条件和需求的限制,用户非常少,而且那种系统充其量也只不过是一种自动计算薪资的工具,既不包含非财务的信息,也不包含薪资的其他信息和薪资数据分析功能。第二代的人力资源管理系统出现于20世纪70年代末。由于计算机技术的飞速发展,无论是计算机的普及性,还是计算机系统工具和数据库技术的发展,都为人力资源管理系统的阶段性发展提供了可能。第二代人力资源管理系统基本上解决了第一代系统的主要缺陷,对非财务的人力资源信息和薪资的历史信息都
8、给予了考虑,其报表生成和薪资数据分析功能也都有了较大的改善。但这一代的系统主要是由计算机专业人员开发研制的,未能系统地考虑人力资源的需求和理念,而且其非财务的人力资源信息也不够系统和全面。人力资源管理系统的革命性变革出现在20世纪90年代末。由于市场竞争的需要,如何吸引和留住人才,激发员工的创造性、工作责任感和工作热情已成为关系企业兴衰的重要因素,人才已经成为企业最重要的资产之一。“公正、公平、合理”的企业管理理念和企业管理水平的提高,使社会对人力资源管理系统有了更高的需求;同时由于个人电脑的普及,数据库技术、客户/服务器技术,特别是Internet/Intranet技术的发展,使得第三代人力
9、资源管理系统的出现成为必然。第三代人力资源管理系统的特点是从人力资源管理的角度出发,用集中的数据库处理几乎所有与人力资源相关的数据(如薪资福利、招聘、个人职业生涯的设计、培训、职位管理、绩效管理、岗位描述、个人信息和历史资料)统一管理起来,形成了集成的信息源。友好的用户界面,强有力的报表生成工具、分析工具和信息的共享使得人力资源管理人员得以摆脱繁重的日常工作,集中精力从战略的角度来考虑企业人力资源规划和政策,能够设定企业的成本中心并按成本中心将薪资和总账连接起来,直接生成总账凭证,还能存储完备的历史信息供查询和生成报表;这类系统也可处理部分简单的人事信息。人力资源管理系统从科学的人力资源管理角
10、度出发,从企业的人力资源规划开始,记录招聘、岗位描述、技能、绩效评估、个人信息、薪资和福利、各种假期、到离职等与员工个人相关的信息,并以易访问和可检取的方式储存到集中的数据库中,将企业内员工的信息统一地管理起来。完整的记载员工从面试开始到离职整个周期的薪资、福利、岗位变迁、绩效等历史信息。1.2设计的目的与意义通过企业人事管理系统人事组织部门能做到以人为中心,各部门之间使用共有的资源,即时通信,提高工作效率,简化繁琐的手工统计、信息汇总和工资业务大量人工工作。本系统的设计理念是: 整合的、集中的信息源:企业里现有有关人力资源方面的信息的保存和查找可能会用自编程序或Excel来实现。这种分散的信
11、息源,在信息的采集、整理和更新时会产生许多重复的工作,造成人工浪费。由于这些信息都是分散保留的,因此当上级需要一份报表时,要将这些分散的信息匹配在一起,其工作量是可想而知。而要使所有的信息得到及时的更新从而保持相容的状态则几乎是不可能。 人力资源管理系统,就可以用集中的数据库将与人力资源管理相关的信息全面、有机地联系起来,有效地减少了信息更新和查找中的重复劳动,保证了信息的相容性,从而大大地提高了工作效率,还能使原来不可能提供的分析报告成了可能。 易访问、易查询的信息库:在没有采用和实施人力资源管理系统之前,当企业管理人员要统计数字时,往往依赖于某个人或某些人来获取。首先是找到人力资源部的相关
12、人员,由他们从不同的计算机文件、打印件或档案柜中查找相关的信息,再汇总后提交。这种依赖于人的过程往往会因为花费的时间较长或某个人不在办公室而不能及时完成。在采用和实施人力资源管理系统之后,就会将依赖于人的过程改为依赖于计算机系统的过程。企业管理人员只要获取了相应的权限,就可以随时进入系统,直接查阅相应的信息。 提高管理水平:采用和实施企业人事管理系统不仅仅是为了提高工作效率。应该看到,在实施企业人事管理系统后,经过整合的、较为全面、准确、一致和相容的信息不仅可以让企业领导对本企业人力资源的现状有一个比较全面和准确的认识,同时也可以综合的分析报表供企业领导人在决策时参考。如在薪资普调或薪资体系变
13、更前,生成按岗位的历史薪资分析报告等,可辅助企业领导决策科学化。 实施企业人事管理系统的过程本身也包含着回顾企业本身的机构和岗位设置、管理流程、薪资体系等等,并根据软件中所蕴含的先进管理思想来改变现行的体系。在实施的过程中可以看到这样一种现象:管理水平相对完善的企业,实施工作往往会比管理水平相对较低的企业容易;而管理水平较低的企业在实施过程中也会迅速地暴露出本企业在人力资源管理中存在的问题。同时,实施过程也是一个反思先行制度,重组、改进和提高管理水平的契机。 另外,信息的透明和安全是一对矛盾的两个方面。企业人事管理系统的安全性设计使得机密的人事薪资信息处在一种“受控”状态下的透明。只有得到系统
14、授权的用户才可以访问被允许获取的信息。因此,我们不需要担心会因为采用人力资源管理系统而降低了人事薪资信息的保密性,相反,信息的安全性会因为企业人事管理系统的采用而得到加强。1.3设计任务人事管理系统是一个协助各单位科学、全面、高效地进行人事管理的系统。它是企业管理的一个重要内容,随着时代的进步,企业也逐渐变的庞大起来。如何管理好企业内部员工的信息,成为企业管理中的一个大问题。在这种情况下,一个可以规范化、自动化的企业人事管理系统就显得非常必要。本人事管理系统就是把分散的企事业单位的职工信息实行统一、集中、规范的收集管理。在内容上它包括员工的考勤管理、人事档案完整资料(员工基本资料状况)、用户系
15、统管理等。本人事管理系统主要分为三个部分,分别为:一、 主要是企业人事初级管理系统的设计与实现。二、 主要是设计与实现用户注册管理、安全管理等功能模块;三、主要是具体实现后台管理子系统,进行用户角色管理、页面添加等。本人在Microsoft Visual Studio.NET 2010开发环境中构建员工基本信息管理、人事变动管理、部门管理等三个功能模块,使人事管理业务处理更加方便快捷,从而提高工作质量效率。1.4可行性分析1.4.1 社会可行性分析 随着计算机的发展与普及,以及互联网技术的扩展,日常劳资人事管理必将实现无纸化办公,并且加入到公司内部的Intranet或者是Internet上去,
16、实现数据的共享,这样有利于劳资人事信息在单位内部的查询,提高了数据资源的利用,并且能及时的得到更新,不需要象过去那样浪费大量的人力物力去进行抄写,提高了工作的效率。 1.4.2 技术可行性分析 Visual Studio.NET提供了一个统一的、紧密集成的可视化编程环境,简化了开发应用程序的过程,缩短了实用方法的时间。利用Visual Studio.NET,可以非常轻松地创建具有自动伸缩能力的可靠的应用程序和组件。而且微软的优秀成果c#语言保持了c/c+所特有的强大功能和控制能力。与c+十分相似的模型和语法,具有与COM+服务完全的交互性和完全支持能力,能够轻松地迁移现有的代码。数据库方面SQ
17、L2005已经可以满足中小型企业的数据要求,甚至有些大型企业都可以达到要求。如今进算计普及程度日益推广,计算机配置日新月异,能承载此系统的机器就如办公的机器都可以达到要求。所以说本系统具有技术可行性。 1.4.3 经济可行性分析 采用传统的手工输入方法,不仅工作繁琐而且需要人力输入多,记录容易出 错,那样产生了成本高,效果差的弊病,对于一个企业的资料库建立是十分困难和麻烦的。而采用这种系统所发费的成本,精力都远远低于手工,并且实用十分方便,更新也简易,每个部门只需一个人统一管理,对企业实现办公无纸化能起到很大的作用。所以此系统经济可行性也具备了。 1.4.4 管理可行性分析本系统采用了系统数据
18、备份、恢复的功能,而且界面层次分明,一目了然,加上设计方面加入了人性化元素。管理此系统并不难,易学易会。 2人事管理系统开发基础2.1 管理系统简介2.1.1 管理信息系统管理信息系统(MIS)是一个由人、计算机等组成的能进行信息收集、传递、存储、维护和使用的系统。管理信息系统是信息系统的一个分支之一,经过30多年的发展,已经成为一个具有自身概念、理论、结构、体系和开发方法的集管理科学、信息科学、系统科学及计算机科学等覆盖多学科的综合性学科。管理信息系统的结构通常由四个部分组成:信息源、信息处理器、信息用户和信息管理者。管理信息系统的主要任务一般要实现对基础数据的严格管理,确定信息处理过程的标
19、准化,高效的完成日常处理业务、优化分配各种资源,包括人力、物力、财力等。MIS是一个人机结合的辅助管理系统,管理和决策的主题是人,计算机只是辅助的设备。目前国内使用和发展的MIS平台模式大体上分为两种:客户机/服务器(Client/Server,简称C/S)模式和Web浏览器/服务器(Browser/Server,简称B/S)模式。C/S结构,即Client/Server(客户机/服务器)结构,是大家熟知的软件系统体系结构,通过将任务合理分配到Client端和Server端,降低了系统的通讯开销,可以充分利用两端硬件环境的优势。 B/S结构,即Browser/Server(浏览器/服务器)结构
20、,是随着Internet技术的兴起,对C/S结构的一种变化或者改进的结构。在这种结构下,用户界面完全通过WWW浏览器实现,一部分事务逻辑在前端实现,但是主要事务逻辑在服务器端实现。B/S结构利用不断成熟和普及的浏览器技术实现原来需要复杂专用软件才能实现的强大功能,并节约了开发成本,是一种全新的软件系统构造技术。这种结构更成为当今应用软件的首选体系结构。现在的软件应用系统正在向分布式的Web应用发展;内部的和外部的用户都可以访问新的和现有的应用系统,Web和Client/Server 应用都可以进行同样的业务处理;不同的应用模块共享逻辑组件;通过现有应用系统中的逻辑可以扩展出新的应用系统。这也就
21、是目前应用系统的发展方向。 传统的CS体系结构虽然采用的是开放模式,但这只是系统开发一级的开放性,在特定的应用中无论是Client端还是Server端都还需要特定的软件,没能提供用户真正期望的开放环境;BS结构则不同,它的前端是以TCPIP协议为基础的,企业内的WWW服务器可以接受安装有Web浏览程序的Internet终端的访问,作为最终用户,只要通过Web浏览器,各种处理任务都可以调用系统资源来完成,这样大大简化了客户端,减轻了系统维护与升级的成本和工作量,降低了用户的总体拥有成本(TCO)。越来越厚的使用说明书和越来越花时间的培训,并不能称为良好的售后服务,真正好的产品在功能越来越复杂的同
22、时应该使产品的使用越来越简单,使用浏览器作为软件界面不但容易统一各种应用系统,也非常便于使用。在工作节奏越来越紧张的今天调集大批的职员进行培训是很困难的,时间和人力都难以集中,浏览器这种易于使用几乎不需要培训的方式是最好的选择。2.2 开发软件介绍2.2.1 C#简介C#是微软公司发布的一种面向对象的、运行于.NET Framework之上的高级程序设计语言。并定于在微软职业开发者论坛(PDC)上登台亮相。C#是微软公司研究员Anders Hejlsberg的最新成果。C#看起来与Java有着惊人的相似;它包括了诸如单一继承、接口、与Java几乎同样的语法和编译成中间代码再运行的过程。但是C#
23、与Java有着明显的不同,它借鉴了Delphi的一个特点,与COM(组件对象模型)是直接集成的,而且它是微软公司 .NET windows网络框架的主角。C#是一种安全的、稳定的、简单的、优雅的,由C和C+衍生出来的面向对象的编程语言。它在继承C和C+强大功能的同时去掉了一些它们的复杂特性(例如没有宏以及不允许多重继承)。C#综合了VB简单的可视化操作和C+的高运行效率,以其强大的操作能力、优雅的语法风格、创新的语言特性和便捷的面向组件编程的支持成为.NET开发的首选语言。 C#是面向对象的编程语言。它使得程序员可以快速地编写各种基于MICROSOFT .NET平台的应用程序,MICROSOF
24、T .NET提供了一系列的工具和服务来最大程度地开发利用计算与通讯领域。C#使得C+程序员可以高效的开发程序,且因可调用由 C/C+ 编写的本机原生函数,因此绝不损失C/C+原有的强大的功能。因为这种继承关系,C#与C/C+具有极大的相似性,熟悉类似语言的开发者可以很快的转向C#。2.2.2 SQL ServerSQL Server 是Microsoft 公司推出的关系型数据库管理系统。具有使用方便可伸缩性好与相关软件集成程度高等优点,可跨越从运行Microsoft Windows 98 的膝上型电脑到运行Microsoft Windows 2012 的大型多处理器的服务器等多种平台使用。Mi
25、crosoft SQL Server 是一个全面的数据库平台,使用集成的商业智能 (BI)工具提供了企业级的数据管理。Microsoft SQL Server 数据库引擎为关系型数据和结构化数据提供了更安全可靠的存储功能,使您可以构建和管理用于业务的高可用和高性能的数据应用程序。2.2.3 Visual Studio 2010技术平台Visual Studio是微软公司推出的开发环境。是目前最流行的Windows平台应用程序开发环境。Visual Studio 2010版本于2010年4月12日上市,其集成开发环境(IDE)的界面被重新设计和组织,变得更加简单明了。Visual Studio
26、2010同时带来了 NET Framework 4.0、Microsoft Visual Studio 2010 CTP( Community Technology Preview-CTP),并且支持开发面向Windows 7的应用程序。除了Microsoft SQL Server,它还支持 IBM DB2和Oracle数据库。3数据流程的设计3.1系统构成图 图1-1人事管理系统构成图3.2 数据流程图YYNYY员工基本信息人事管理系统主界面根据权限各模块是否可用验证用户及密码用户注销部门信息考勤信息用户管理个人信息退出系统人事管理错误信息提示登录是否指向员工信息N无法操作数据库维护图1-2
27、人事管理系统数据流程图3.3数据库的设计(1)用户编码信息表数据来源:用户管理模块的录入字段名是否主键字段类型字段长度是否允许空备注UserId是char10否用户名UserPassword否char8否用户密码UserKind否char20否用户状态(2)部门信息表数据来源:部门信息管理模块的录入字段名是否主键字段类型字段长度(B)是否允许为空备注D_Id是char 3否部门编号D_Name否char 20否部门名称D_Tel否char100否 联系方式D_Address否char10否 联系地址D_Chief否char10否 负责人D_Belong否char10是 所属部门 (3)职员基本
28、信息表数据来源:职员基本信息管理模块的录入字段名是否主键字段类型字段长度(B)是否允许为空备注E_Id是char8否职员编号E_Name是nvarchar30否职员姓名Sex否nvarchar2否性别E_Birth否nvarchar8是所在部门E_Tel否nvarchar50否联系电话E_Address否nvarchar255否联系地址E_Intro否nvarchar255是个人简介E_Picurl否nvarchar50是员工头像D_Name是char50是所在部门 (4)职员考勤信息表数据来源:考勤信息管理模块的录入字段名是否主键字段类型字段长度是否允许空备注E_Name是char 8否考勤
29、对象L_StartTime否nvarchar 50否开始时间L_EndTime否nvarchar 50否 结束时间L_Kind否char 2否请假类别L_Reason否char 200是请假理由4系统的设计与实现4.1登陆界面 图2-1登陆界面主要源代码如下:public partial class _Default : System.Web.UI.Page #region Web 窗体设计器生成的代码 override protected void OnInit(EventArgs e) / / CODEGEN: 该调用是 ASP.NET Web 窗体设计器所必需的。 / Initializ
30、eComponent(); base.OnInit(e); / / 设计器支持所需的方法 - 不要使用代码编辑器修改 / 此方法的内容。 / private void InitializeComponent() #endregion protected void Page_Load(object sender, EventArgs e) protected void Btn_Login_Click(object sender, EventArgs e) if (TxtUser.Text.Trim() = ) Response.Write(alert(登录名不能为空); return; user
31、 userLogin = new user(); bool isok = false; if (rb_admin.Checked) string sql = select * from Tb_User_Login where isnull(userName,)= + TxtUser.Text.Trim() + and isnull(userPass,)= + TxtPwd.Text.Trim() + and isnull(userRole,)= + rb_admin.Text+ ; SqlDataReader myReader = userLogin.Login(sql); if (myRea
32、der.Read() SessionName = myReaderuserName.ToString().Trim();/保存用户名称 SessionPass = myReaderuserPass.ToString().Trim();/保存用户密码 SessionRole = myReaderuserRole.ToString().Trim();/保存用户权限. isok = true; myReader.Close(); else string sql = select * from Tb_User_Login where isnull(userName,)= + TxtUser.Text.
33、Trim() + and isnull(userPass,)= + TxtPwd.Text.Trim() + and isnull(userRole,)= + rb_user.Text+ ; SqlDataReader myReader = userLogin.Login(sql); if (myReader.Read() SessionName = myReaderuserName.ToString().Trim();/保存用户名称 SessionPass = myReaderuserPass.ToString().Trim();/保存用户密码 SessionRole = myReaderu
34、serRole.ToString().Trim();/保存用户权限. isok = true; myReader.Close(); if (!isok) lbMessage.Text = 用户名称或密码错误,登陆失败!; return; else Response.Redirect(Index.aspx); protected void Btn_Cancel_Click(object sender, EventArgs e) TxtUser.Text = ; TxtPwd.Text = ; lbMessage.Text = ; 4.2员工信息管理在人事管理中涉及最多是是关于员工信息增、删、改、
35、查的问题,所以我主要介绍员工信息管理,也因此我在设计时将所有的员工信息管理的增、删、改、查抽象化出来形成类,以实现代码的重复使用。此处附上图与源代码如下:4.2.1 添加员工信息 图3-1添加员工信息界面 主要源代码如下:public partial class WebFiles_Employee_Add_employee : System.Web.UI.Page protected void Page_Load(object sender, EventArgs e) if (!IsPostBack) this.tb_birth.Attributes.Add(onfocus, javascri
36、pt:calendar(); Image1.ImageUrl = /WebFiles/Images/ + picurl.SelectedValue + .GIF; string connstr = ConfigurationManager.ConnectionStringsMispersonalconn.ConnectionString; SqlConnection Sqlconn = new SqlConnection(connstr); DataSet ds = new DataSet(); string Agreerstr = select D_ID,D_Name from Tb_dep
37、artment order by D_ID desc; SqlDataAdapter SqlAgreer = new SqlDataAdapter(Agreerstr, Sqlconn); SqlAgreer.Fill(ds, Agreer); Agreer.DataSource = ds.TablesAgreer.DefaultView; Agreer.DataTextField = D_Name; Agreer.DataValueField = D_ID; Agreer.DataBind(); Sqlconn.Close(); protected void add_Click(object
38、 sender, EventArgs e) if (tb_id.Text.Trim() = ) Response.Write(alert(员工编号不能为空); return; /if (tb_name.Text.Trim() = ) / / Response.Write(alert(员工姓名不能为空); / return; / if (tb_birth.Text.Trim() = ) Response.Write(alert(出生年月不能为空); return; if (tb_tel.Text.Trim() = ) Response.Write(alert(联系电话不能为空); return;
39、 if (tb_address.Text.Trim() = ) Response.Write(alert(联系地址不能为空); return; Employ Registor = new Employ(); string pic= /WebFiles/Images/ + picurl.SelectedValue + .GIF; Registor.Insert(tb_id.Text.Trim(),tb_name.Text.Trim(),sex.SelectedValue,tb_birth.Text.Trim(),tb_tel.Text.Trim(),tb_address.Text.Trim(),Agreer.SelectedValue,tb_intro.Text.Trim(),pic); Response.Redirect(/WebFiles/Employee/List_employee.aspx); protected void cancel_Click(object sender, EventArgs e) tb_id.Text = ; tb_name.Text = ; tb_birth.Text = ; tb_tel.Text= ; tb_address.Text = ; tb_intro.Te