企业人事管理系统的设计与实现毕业论文_第1页
企业人事管理系统的设计与实现毕业论文_第2页
企业人事管理系统的设计与实现毕业论文_第3页
企业人事管理系统的设计与实现毕业论文_第4页
企业人事管理系统的设计与实现毕业论文_第5页
已阅读5页,还剩44页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

资料范本资料范本本资料为word版本,可以直接编辑和打印,感谢您的下载企业人事管理系统的设计与实现毕业论文地点:__________________时间:__________________说明:本资料适用于约定双方经过谈判,协商而共同承认,共同遵守的责任与义务,仅供参考,文档可直接下载或修改,不需要的部分可直接删除,使用时请详细阅读内容西南科技大学毕业设计(论文)设计题目:基于C#的企业人事管理系统的设计与实现系别:班级:姓名:指导教师:20XX年X月X日摘要在当今社会,互联网空前的发展,给人们的工作和生活带来了极大的便利和高效,信息化,电子化已经成为节约运营成本,提高工作效率的首选。考虑到当前大量企业的人事管理尚处于手工作业阶段,不但效率低下,还常常因为管理的不慎而出现纰漏。因此根据部分企业提供的需求,设计此企业人事管理系统,以帮助企业达到人事管理办公自动化、节约管理成本、提高企业工作效率的目的。本企业人事管理系统采用C/S结构,主要对企业员工的信息以及跟人事相关的工作流程进行集中的管理,方便企业建立一个完善的、强大的员工信息数据库。它是以VS2008(MicrosoftVisualStudio2008).和SQL2008Express数据库作为开发平台。使用C#设计操作控件和编写操作程序,完成数据输入、修改、存储、调用查询等功能;并使用SQL2008数据库形成数据表,进行数据存储。本文详细介绍了企业人事管理系统的功能需求,系统设计和具体实现。并简要介绍了系统开发采用的过程方法。关键词

企业人事管理系统;C/S;员工信息;数据库TheDesignandImplementationofEnterprisePersonnelManagementSystemBasedonC/SAbstractInoursociety,theunprecedenteddevelopmentofInternethasbroughtusgreatconvenienceandefficiency.Informatizationandelectronizationhavebecomethefirstchoiceofsavingoperationcostandimprovingworkefficiency.Manyenterprises'personneladministrationsystemslieinthephaseofmanualmanagementwhichinefficientandeasytogowrongbycarelessness.Therefore,thisMIS(ManagementInformationSystem)isdesigned

tomakethepersonneladministrationmorescientific,normativeandefficient.Thesystemadoptsthestructuremodeofclient/server(C/S),WindowsXPastheoperationsystem,SQL2008Expressasthebackgrounddatabase,andMicrosoftVisualStudio82008asthedevelopingtool.Itcanhelpenterprisestoestablishaperfect,strongstaffinformationdatabase,whichfacilitatesthecentralizedmanagementofstaffinformationandworkflow.Thepaperexplainsthecoursedesign,systemdesignandimplementationofMIS,alsobrieflyintroducestheprocessofthesystemdevelopment.Keywords:PersonnelManagementSystem;C/S;EmployeeInformation;Database

第1章绪论

1

1.1应用的目的与意义

1

1.2人事管理系统发展趋势

1

1.2.2世界趋势

1

1.2.3技术革新

2

1.2.4工作目标和价值观的改变

2

第2章系统相关技术介绍

3

2.1C#技术简介

3

2.2SQL技术

3

2.2.1数据库的基本概念

3

2.2.2本系统中数据库的访问

3

第3章系统分析

5

3.1需求分析

5

3.2系统概述

5

3.3系统目标

5

3.4可行性分析

6

3.4.1经济可行性分析

6

3.4.2技术可行性分析

6

3.4.3管理可行性分析

6

3.5系统逻辑结构图及业务流程图设计

6

3.5.1系统逻辑结构

6

3.5.2数据字典

7

第4章系统数据库设计

12

4.1数据库概念结构设计

12

4.2数据库逻辑结构设计

16

第5章系统各模块的实现

17

5.1系统架构设计

17

5.2系统登陆实现

18

5.2.1系统登陆窗体的功能

19

5.3系统主界面设计

21

5.4数据导入于备份的实现

21

5.5公司部门管理的实现

22

5.6员工信息管理的设计

23

5.6.1员工信息管理的功能

23

5.7员工其它信息实现

25

5.7.1一对多类设计图

25

5.7.2一对多类设计图

25

5.8薪金发放功能的实现

26

第6章系统测试

28

6.1软件测试的目标

28

6.2测试举例

28

6.3测试结论

29

结论

30

致谢

31

参考文献

32

第1章绪论1.1应用的目的与意义人的管理是一切管理工作的核心。员工代表一个企业的形象,因而人事管理机制设计的好坏,直接影响一个企业的成败。员工的档案管理是企业人事管理的基础,在企业员工普遍流失的今天,一个准确而及时的人事管理系统,有利于人事部门对员工流动进行分析、编制,为企业所需人员提供了保障。人力资源部那些重复的,事务性的工作交给HRP(HumanResourcePlanning,人力资源管理系统)来解决,可以省去用户以往人力资源管理工作的繁琐、枯燥;用领先的人力资源管理理念,把人力资源管理的作业流程控制和战略规划设计巧妙地集合于一体;系统重点涉及到人力资源管理工作中的薪资、培训、奖惩、调动、基本信息、用户管理以及用户切换等方面,并有综合的系统安全设置、报表综合管理模块。可以很好地为用户的人力资源管理部门在对员工的成本管理、知识管理、绩效管理等综合管理给予帮助。以每个月中所发工资为例,其中包括人事信息变动、奖惩对本月的薪资计算都有影响,为了及时的计算发放工资往往要提前一个星期花费大量时间,加班加点才能及时完成,而这样做无论从工作效率还是准确度方面,都不允许,而且还浪费大量的人力财力。如果改用HRP管理做到高效、高精度,还可以减少管理时带来的一些繁琐的工作,节约管理带来的开支。1.2人事管理系统发展趋势1.2.2世界趋势人力资源管理系统主导21世纪,无论是发达国家还是发展中国家,对人力资源的战略性意义都有了深刻的认识,并开始付诸行动。世界公认,21世纪将是人力资源的世纪;人力资源问题将主导整个21世纪甚至更为遥远,这种状况的变化起因于竞争压力。目前,世界经济趋向全球化。世界经济的全球化过程和国家的开放过程,要求组织的管理部门降低管理成本以减少竞争压力和增强竞争能力。对于不同的组织,人力资源成本在总成本中的比例是不一样的。1.2.3技术革新无论是现在还是将来,工业的发展越来越多地取决于科学和技术、知识与技能。高新科技产业更是如此。这不仅要求员工尤其是技术人员掌握新的科学知识和技术能力,而且更重要的在于要求员工深入而快捷地掌握和应用这些知识和技能。这就导致了两个问题。第一,随着这种技术革新的发展和知识更新速度的加快,人们有更多的职业选择机会。第二,伴随着这种发展以及职业选择机会的增多,人力资源管理活动和频繁程度加剧;而且这种活动对科学技术的要求与它的反应程度也更高了,进而提高了人力资源成本。1.2.4工作目标和价值观的改变随着社会政治和经济的发展,人们的工作目标和价值观也都发生了重要的变化。这就对人事管理部门和管理人员提出了新的要求和新的问题,不得不考虑诸如工作类型设计、岗位分析、充分尊重员工以及为他们提供良好的个人发展和自我价值实现的环境与条件等问题。这样,人力资源管理就派上了用场。第2章系统相关技术介绍2.1C#技术简介要了解C#,首先要了解Microsoft.NETFrmeWork。Microsoft.NETFrameWork是微软公司提出的新一代软件开发模型,C#语言是.NETFrameWork中新一代的开发工具。C#语言是一种现代的,面向对象的语言,它简化了C++语言在类、命名控件、方法重载和异常处理等方面的操作,摒弃了C++的复杂性,更易使用。它使用组件编程,在这方面和VB类似。在动态查阅、中间代码技术、参数传递、交叉语言处理、面向对象方面有自己的特点。另外,由于C#中取消了指针的功能,这样可以有效防止病毒程序利用非法指针访问私有成员,也能避免指针的误操作产生的错误。因此,其在安全性方面也有了很大的提高。2.2SQL技术2.2.1数据库的基本概念SQL(StructuredQueryLanguge)结构化查询语言,是一种数据库查询和程序设计语言,用于存取数据以及查询、更新和管理关系数据库系统。SQL语言包括:数据定义语言、数据操作语言、数据查询语言、数据控制语言四部分。它不要求用户指定对数据的存放方法,也不需要用户了解具体的数据存放方式,所有具有完全不同底层结构的不同数据库系统,可以使用相同的SQL语言作为数据输入与管理的接口。它以记录集合作为操作对象,所有SQL语句接受集合作为输入,返回集合作为输出,这种集合特性允许一条SQL语句的输出作为另一条SQL语句的输入,所以SQL语句可以嵌套,这使它具有极大的灵活性和强大的功能。2.2.2本系统中数据库的访问本系统的数据库访问过程实现主要通过六个步骤:(1)建立数据库表,表中存储相应数据。(2)使用SqlConnection或OleDbConnection类建立数据库应用程序和数据库连接对象。(3)从数据库指定表中取出感兴趣的记录。(4)从数据库指定表中取出的感兴趣记录组成一个新表,填充到DataSet类对象中,可填充多个表,并可在DataSet类对象中指定表和表的关系。取出所感兴趣的记录后,断开数据库连接。(5)用支持数据库绑定控件(例如DataGrid控件)显示DataSet类对象中的数据,供用户浏览、查询和修改。(6)及时更新DataSet中内容,并把修改的数据存回源数据库。本系统中数据库连接部分的具体实现代码如下:StringMySQLConnectionString=globl::MyPersonnel.Properties.Settings.Defult.MyPersonnelConnectionString;Strings=”DTBSE=Northwind;SERVER=loclhost;UID=s;PWD=;”SqlConnectionMyConnection=newSqlConnection(MySQLConnectionString);MyConnection.Open();第3章系统分析3.1需求分析本系统主要是针对一般企事业单位设计,基于其他企业人工人事管理的不足,本系统完全可以取代人力更好地完成了数据的添加、修改、删除操作。3.2系统概述本系统主要针对中小企业的人事管理人员和企业管理人员设计,以帮助其实现企业人事管理的信息化和自动化。通过本系统,人事管理人员可以实现员工档案管理,员工离职管理,员工薪资的录入、发放和查询管理,员工考勤信息的添加、查询等操作。由于公司管理人员需要对企业人事信息进行系统的了解,本系统采用了模糊查询的功能,企业管理人员可以清晰地了解部门人员分配、员工年龄、文化程度、婚姻状况等信息。通过对员工薪金信息的修改,实现工资的发放。最终实现办公流程的系统化。在统计方面使用了数据库这样增强了员工信息的安全性,可以实现备份还原功能。3.3系统目标根据企业对人事管理的要求,制定企业人事管理系统具体目标如下:(1)员工基本档案、员工简历、员工家庭成员信息等相关界面的添加、修改、删除操作。(2)全方位的模糊查询功能的实现。(3)按相应条件对员工的考勤、工资等进行统计。(4)员工考勤信息的数字化显示,以方便企业对员工进行年终考核。(4)界面清晰美观,逻辑性强,操作简单易懂。(5)系统运行良好,兼容性强。(6)拥有数据备份还原功能,增强了数据的安全性。3.4可行性分析3.4.1经济可行性分析完成本系统需要硬件和软件两方面的支持。硬件方面需要开发服务器一台,个人电脑在此可作为服务器使用;软件方面,由于本系统属于小型管理系统,利用VisualStudio2008和SQLServer2008数据库开发工具即可实现,经济成本低,因此在经济上是可行的。3.4.2技术可行性分析本系统采用目前被广泛使用的C#开发技术、SQLServer2008数据库技术和WindowsServer2003操作系统进行开发设计。首先,c#是微软为.NET量身定做的开发语言集合了C/C++和VB的双重优点,具有简易型、灵活性、移植性强等特点,同时使用VisualStudio2008作为开发平台,对于开发中小系统来说,这种开发环境是完全没有问题的。其次,本系统采用SQLServer2008数据库。到目前为止,SQL数据库仍然是使用最广泛的一种数据库语言,因此本系统采用SQLServer2008,在系统安全性、可用性和高稳定性上又有了很大的提升。再次,本系统的操作环境采用Windows下的Server2003操作系统,WindowsServer2003是由微软公司推出的服务器操作系统,可以为本系统的开发提供良好的稳定性。最后,考虑到三者兼容的问题,由于三者都属于微软公司的产品,所以兼容性上不存在问题。硬件方面,采用标准的服务器硬件配置,能满足本系统的要求。综上所述,本系统的技术可行性不存在问题。3.4.3管理可行性分析本系统的主要应用对象为企业的人事管理人员和企业的高层管理者,由于本系统界面简洁、结构清晰、操作简单,所以在对相应使用人员进行培训的情况下是可以顺利使用本系统的。3.5系统逻辑结构图及业务流程图设计3.5.1系统逻辑结构系统逻辑结构图能够清晰地反映出本系统的结构功能和模块分布,是系统对外介绍的良好窗口。用户也可以一目了然地了解系统的整体逻辑结构,加深对系统功能的理解。本系统的逻辑结构图如图3-1所示:系统主界面调岗记录工资管理基本档案培训记录离职管理工资核算工资录入系统管理退出管理员管理部门管理系统退出人事管理奖惩记录工作经历系统帮助信息培训信息工资发放切换用户数据备份与恢复图3-1企业人事管理系统逻辑结构图3.5.2数据字典数据字典是关于数据的信息的集合,也就是对数据流图中包含的所有元素的定义的集合。数据字典的作用也正是在软件分析和设计的过程中给人提供了数据的描述信息。本系统的数据字典如下表所示。1.部门信息2.员工基本信息3.员工奖惩信息4.员工工作经历信息5.员工培训进修信息6.员工调岗信息7.员工离退职信息8.员工薪资信息9.薪资发放信息10.系统管理员信息第4章系统数据库设计4.1数据库概念结构设计企业人事管理系统的数据库主要用来记录一个企业所有员工的基本信息及考勤、薪资等信息等数据,数据量由企业的员工数量多少决定。本系统的数据库命名为PersonnelManagement,共用10张数据表来存储相应信息。数据库概念结构设计作为系统开发的重要组成部分,是根据管理系统的相应需求制定的,数据库的优劣直接影响到系统的后期开发。本系统中,为了保证系统的安全性,在登录系统的时候用户需要输入正确的用户名和密码,并且为了安全考虑用户的登陆会记录在数据库。因此,需要一个数据库表用来记录用户的用户名和密码。登录表的实体E-R图如图4-1所示:用户密码用户名登陆次数登陆时间用户性别操作用户用户姓名图4-1登录表的实体E-R图在企业人事管理系统中,员工信息表属于其中最重要的一个表,在这个表中记录了员工的基本信息,因此表中涉及的员工信息字段太多,本实体E-R图只给出了部分字段。本系统的员工基本信息表E-R图如图4-2所示:自编号员工地址用户照片员工基本信息表部门政治面貌…..十多项员工姓名员工年龄图4-2员工基本信息实体E-R图在企业中,员工受到奖惩是必不可少的。在数据库设计中,加入了一个员工奖惩表,以便对员工的奖惩信息进行记录。奖惩表的实体E-R图如图4-4所示:员工编号自编号奖惩原因说明员工奖惩表奖惩主体部门奖惩日期图4-3奖惩表实体E-R图在本系统中,涉及到了员工的培训信息,员工的考培训息是通过数据库进行显示的。其实体E-R图如图4-4所示:自编号员工编号起始时间培训内容终止时间员工培训信息表培训单位备注图4-4员工培训信息表在本系统中,涉及到了员工的调岗信息,员工的调岗信息是通过数据库进行显示的。其实体E-R图如图4-5所示:自编号员工编号原部门现部门原职位员工培训信息表调岗时间现职位图4-5员工考勤信息表人事管理系统离不开对员工的薪资管理,将员工的工资信息动态地录入数据库并且能够随时清晰地查看,是设计此薪资信息表的基本目的。其E-R图设计如图4-6所示:自编号社保基金员工编号基本工资奖金福利薪资管理信息表罚款金额其它薪金图4-6薪资管理表此外,现金发放表、部门信息、员工离职管理表,实体E-R图设计与其它员工基本信息类似,本论文中不再显示其E-R图设计。4.2数据库逻辑结构设计根据上面设计的E-R图,便可以在数据库中创建相应的数据库表,本系统的各数据表的结构如下:图4-2:系统架构图第5章系统各模块的实现5.1系统架构设计人事管理系统的架构分为窗体和模块两个部分。在窗体的部分有以下几个窗体,他们的作用分别是:“Frm_Login”是登录窗口,是验证系统用户的登陆权限和数据配置;“Frm_Main”是主窗口,是系统进入的第一个窗口,可以查看登录信息,以及显示功能菜单;“Frm_Department”是部门管理窗体,对公司部门进行管理;“Frm_DB”是数据恢复与还原窗口,可以对数据库进行备份与还原;“Frm_UserInfo”是员工信息主界面,用户可以选择要执行的任务及对员工信息更改;“Frm_OSInfo”是密码修改,用户可以在此修改自己的密码;“Frm_Reward”是奖惩信息窗口,用户可以对员工奖惩信息进行操作;“Frm_Worked”是工作经历窗口,用户可以对员工工作经历进行操作;“Frm_Study”是培训信息窗口,用户可以对员工培训信息进行操作;“Frm_Leave”是离退信息窗口,用户可以对员工离退信息进行操作;“Frm_WageInfo”是薪金信息窗口,用户可以对员工薪金信息进行操作;“Frm_IO”是调岗信息窗口,用户可以对员工的岗位进行变更操作;“Frm_UserWage”是薪金发放窗口,用户可以对员工薪金发放进行操作;系统架构说明如图5-1所示:图5-1:系统架构图5.2系统登陆实现系统用户登录模块主要用于完成对登录系统的用户的验证,只有合法的用户和正确的数据库配置才可以进入系统,否则给与相应的错误提示。其中采用了windows和MSSQL两种身份验证的方式,可以使不同工作环境的用户登录系统使用。以及设计了记住用户名和密码的功能,在安全上使用了MD5加密验证。其设计样式如图5-2所示:图5-2:用户登录配置模块图5.2.1系统登陆窗体的功能系统用户登录模块中进行了非常人性化的设计,窗体加载时会自动检查是否曾经对系统配置了数据库,如果没有登陆按钮将变为不可以点击状态并给出相应的提示。在一切配置完成以后,点击登陆时会对配置错误和非法登陆进行不同的错误提示。如果都正确将成功进入主界面。在登录远程数据库时需要一定的时间,此时不要着急请喝杯咖啡等待。(注:登录默认用户名admin密码123本地数据库服务器名称.默认数据库PersonnelManagement)其主要代码为:OSInfouser1=newOSInfo();user1.OSId=name;user1.OSPsd=password;OSInfoDALuserDAL=newOSInfoDAL();DataSetds=userDAL.FindByNameAndPassword(user1);DataSetda=userDAL.FindAll();try{if(da==null){MessageBox.Show("数据库连接失败,请检查重试!");return;}if(ds==null){MessageBox.Show("密码或用户名错误,请检查重试!");return;}elseif(ds.Tables[0].Rows.Count>0){SQLHelp.userInfo[0]=ds.Tables[0].Rows[0].ItemArray[0].ToString();SQLHelp.userInfo[1]=ds.Tables[0].Rows[0].ItemArray[1].ToString();SQLHelp.userInfo[2]=ds.Tables[0].Rows[0].ItemArray[2].ToString();SQLHelp.userInfo[3]=ds.Tables[0].Rows[0].ItemArray[3].ToString();SQLHelp.userInfo[4]=ds.Tables[0].Rows[0].ItemArray[4].ToString();SQLHelp.userInfo[5]=ds.Tables[0].Rows[0].ItemArray[5].ToString();Frm_Mainfrm=newFrm_Main();this.Hide();frm.Show();SQLHelp.CloseDB();}}catch(Exceptionex){MessageBox.Show("数据库连接失败"+ex.Message,"错误");}5.3系统主界面设计在系统主界面中采用了下拉菜单,这样解决了系统按钮菜单的单调性,从而让系统整体看起来美观大方简洁。在主界面中实现了切换用户、弹出子菜单、用户帮助和当前用户登录信息显示(用户名登录次数上次使用时间)等等。其设计样式如图5-3所示:图5-3:系统主界面设计图5.4数据导入于备份的实现在一个系统的使用过程中难免遇到一些突发事件,而导致系统数据的丢失。所以在设计系统时,必须有对系统数据备份与还原的模块。在系统功能中我加入了数据备份还原。其操作简单,在投入实际使用时只需要管理员操作鼠标即可。其设计样式如图5-4所示:图5-4:数据导入于备份设计图5.5公司部门管理的实现在一个公司中每个员工都有自己的一个归属,那就是部门。在系统设计中对部门信息的操作也是必要的。也由于部门涉及的信息不多,它的设计界面比较简单。在功能上实现了增、删、改、查的基本数据操作。在逻辑上进行完善,操作简单、逻辑清晰并且拥有较强抗击用户非法操作的功能。其设计样式如图5-5所示:图5-5:公司部门管理设计图5.6员工信息管理的设计在本系统中员工的信息的管理是所有子系统的基本,在功能上不仅实现员工信息的管理,更主要的是利用该模块作为接入员工子系统的跳转。并集齐员工信息增、删、改、查为一体。为达到可操作性和便捷性,在设计时使用了多种windows控件,其中包括右键菜单、下拉菜单、打开图片、图片显示、数据表等等。设计样式如图5-6所示:图5-6:员工信息管理设计图5.6.1员工信息管理的功能(1)模糊查询:在工号查询处的文本框中可以输入员工号进行模糊匹配查询。例如输入“1”就可以查询出员工号中含有1的所有员工数据。主要实现代码如下:stringsql="selectuserId,userNamefromuserInfowhereuserIdlike'%"+txt_Select.Text+"%'";DataSetda=newDataSet();da=SQLHelp.GetDataSet(sql);if(da!=null){dgrdv_User.DataSource=da.Tables[0];dgrdv_User.Columns[0].HeaderText="员工号";dgrdv_User.Columns[0].Width=85;dgrdv_User.Columns[1].HeaderText="员工姓名";dgrdv_User.Columns[1].Width=91;}(2)数据库操作:可对员工进行增删改的基本操作。单击添加后在正确的录入员工信息后单击确定,就可以完成员工信息的录入。在修改员工时首先需要单击员工的数据表,然后点击修改,修改之后单击确定即可完成修改。在删除员工时首先也需要单击员工的数据表,单击删除,确定操作以后即可删除员工数据。(提示:“如员工有其它信息将不能进行删除!如需要删除必须删除员工的其它信息”。)如果单击了修改或者添加后又不想进行操作可以点击取消按钮,这样就恢复成初始界面。(3)刷新:右键菜单单击刷新按钮可以重新从数据库获取一次数据,用此可以防止数据库数据与客户数据不同步的现象(4)向数据库写入照片:你可以选择员工的相片并且录入用户信息以后,修改或添加都可以将用户图片插入到数据库中。这样我们的数据库就可以存放上用户的一切信息,这样就可以仅通过该系统进行维护操作。图片插入代码如下所示:stringP_str=openF.FileName;//得到图片的所在路径FileStreamfs=newFileStream(//创建文件流对象P_str,FileMode.Open,FileAccess.Read);BinaryReaderbr=newBinaryReader(fs);//创建二进制读取器byte[]imgBytesIn=br.ReadBytes((int)fs.Length);SQLHelp.OpenDB();//打开数据库连接StringBuilderstrSql=newStringBuilder();//创建字符串构造器strSql.Append(//附加字符串"updateuserInfoSetuserPhoto=@PhotowhereuserId="+MID);SqlCommandcmd=newSqlCommand(strSql.ToString(),SQLHelp.conn);cmd.Parameters.Add("@Photo",SqlDbType.Binary).Value=imgBytesIn;cmd.ExecuteNonQuery();//执行SQL命令br.Close();fs.Close();(5)进入下级菜单:如果需要对员工其他数据进行操作,首先需要选择员工,然后单击右键或者单击下拉菜单进入相应的子菜单进行操作。5.7员工其它信息实现员工其它信息包括两大类,其中员工奖惩信息、工作经历、培训信息、调岗信息为一对多类。因为每个员工可以拥有其中一类的多个信息。员工的离退信息和薪金信息为一对一类,每个员工只能拥有其一条信息。在设计时如果一对多就可以查看、增加多条数据,也拥有一个数据控件进行分条查看。在一对一类中只能增加一条数据,如果已有数据就只能进行修改、删除的操作。5.7.1一对多类设计图一对多类设计相似,不一一列举其主要设计窗口以奖惩信息为例,如图5-7所示:图5-7:员工奖惩管理设计图5.7.2一对多类设计图一对一类设计相似,不一一列举。其主要设计窗口以离退信息为例,如图5-8所示:图5-8:员工离退管理设计图5.8薪金发放功能的实现企业人事管理系统中的核心部分便是薪金发放功能。本系统的薪金发放与薪金信息将结合,如果员工已有薪金信息且该信息不用修改,就可以填写薪金类型进行薪金发放。发放的总工资=(基本工资+奖金福利+社保基金+其它薪金-罚款金额)此过程由系统自动计算。设计样式如图5-9所示:图5-9:薪金发放设计图第6章系统测试为了确保本系统能够正常运行,需要在发布之后做一次较全面的测试。6.1软件测试的目标(1)测试是为了发现程序中的错误而执行的过程;(2)好的测试方案实际可能发现迄今为止尚为发现的错误的测试方案;成功的测试是发现了至今为止尚未发现的错误测试。6.2测试举例(1)测试用户登陆是否成功打开人事管理系统,在“用户名”里填入admin,“密码”框里我们填入123作为用户登录密码。填写完成点击“确定”按钮,将会出现操作程序页面,即该用户已经登陆成功了。(2)测试其他用户是否能够登录打开人事管理系统登录页面,输入任意密码,点击“登录”按钮。将出现密码出错提示页面。然后点“确定”返回人事管理系统登录页面。(3)测试编辑功能是否成功编辑功能:在登录成功之后,即可进入相应的管理页面,点击“编辑”,即出现编辑页面,即可以修改和删除员工的个人信息资料。最后保存。(4)测试查询功能是否成功查询功能:在登录成功之后,点击“查询”,在弹出的文本框,在里面输入想要查找的资料,点击“查询”按钮,成功即可出现结果页面,页面内显示查询出来的员工资料内容,表示测试成功。(5)用户登出系统的测试在管理操作已全部完成,需要退出程序的时候,在系统页面“系统设置”下拉菜单的有一个“退出”的选项,点击之后便可退出。也可以点“关闭”退出。(6)测试密码更改在程序中用户管理,弹出文本框,输入正确的旧密码,新密码后提示修改成功。6.3测试结论在通过一系列的功能测试之后,系统功能均能正常使用。结论本次毕业设计,可以说是我多年来大学生活的一个知识总结。在本次设计之初,我在C#以及数据库方面的知识仍停留在理论知识的水平上,随着系统完成的深入,我在理论知识不断提高的基础上完善了我的实际软件开发经验。这不但是一次毕业设计,更是一个理论与实践良好结合的机会。至此,本次设计基本实现预期的相关要求,在添加、修改、删除、查询等基本功能实现了的情况之下,完善了数据统计,考勤管理等功能。在本次毕业设计过程中,每当遇到不能解决的知识性问题或设计思路不流畅的时候,通过学校的图书馆、网络以及指导教师的指导进行解决。当然由于时间、本人能力等原因,本系统仍有很多不完善的地方。。致谢首先,要感谢我的毕业设计指导教师xxx老师,在xxx的悉心指导使我顺利的完成了本次毕业设计的题目。从设计选题到中期开发直到最后的设计成果展示,x老师始终本着严谨的治学态度、高度的探索精神来督促我完成本次题目。x老师在学术方面的求真务实态度和严谨认真的治学风格是我以后学习、工作和生活中终生受益的资产。其次,要感谢其它各位老师、同学的热心帮助。学校提供了优秀的知识资料供我参考,同学提供了良好的交流机会和论文改进的优秀意见。在此,要感谢他们。最后,还要感谢多年来培养我的大学老师们,是你们扎实的知识储备和负责的教学风格使我养成了良好的学习习惯并且具备了程序开发的基础知识。通过本次的毕业设计。从我个人角度上来说,我学到了很多知识,无论是在理论上还是在实践上,我的程序开发综合能力都有了一个提高。并且逐渐掌握了学习新鲜知识,掌握新鲜事物的能力。为我以后的学习和生活打下了一个更加坚实的基础。参考文献[1]张立等编著.程序天下--C#2.0实例自学手册[M].电子工业出版社.2008.1:70-72[2]王福明主编.C#程序设计案例教材[M].科学出版社.2009:3[3]黄兴荣等编著.C#程序设计实用教材[M].电子工业大学出版社.2009:189-191[4]韩晓祥、刘志军主编.C#程序设计[M].中国人民大学出版社.2009:20[5]姚普选.数据库原理及应用[M].清华大学出版社.2002:7-9[6]陈宗斌等.精通SQLServer2005[M].电子工业出版社.2008:40[7]唐政、房大伟等编著.C#项目开发实录[M].清华大学出版社.2009:45-48[8]纪红.人事管理信息系统的设计与实施[J].计算机与现代化.2010年第3期,总第6期:89附录//登录模块代码usingSystem;usingSystem.Collections.Generic;usingSystem.ComponentModel;usingSystem.Data;usingSystem.Drawing;usingSystem.Text;usingSystem.Windows.Forms;usingSystem.Data.SqlClient;namespace人事管理系统{publicpartialclassLoginForm:Form{//SqlCommandcmd;publicLoginForm(){InitializeComponent();}#region登录privatevoidbtnLogin_Click(objectsender,EventArgse){stringsql="";if(txtUser.Text.Trim()!=""&&txtPwd.Text.Trim()!=""){sql="selectcount(*)fromAdmin_UserBBswhereuuser=@uuserandupwd=@upwd";SqlParameter[]sqlparame=newSqlParameter[2];sqlparame[0]=newSqlParameter("@uuser",SqlDbType.Char,20);sqlparame[0].Value=this.txtUser.Text.Trim().ToString();sqlparame[1]=newSqlParameter("@upwd",SqlDbType.Char,6);sqlparame[1].Value=this.txtPwd.Text.Trim().ToString();SqlCommandcmd=newSqlCommand(sql,UserHelper.connection);try{UserHelper.connection.Open();cmd.Parameters.Add(sqlparame[0]);cmd.Parameters.Add(sqlparame[1]);intresult=(int)cmd.ExecuteScalar();if(result==1){UserHelper.connection.Close();UserHelper.loginName=this.txtUser.Text.ToString();sql=string.Format("insertintoWorkLogBBs(wuser,wdatetime,wstate)values('{0}','{1}','登录')",txtUser.Text,DateTime.Now.ToString());cmd.CommandText=sql;try{UserHelper.connection.Open();cmd.ExecuteNonQuery();MainFormmain=newMainForm(txtUser.Text);main.Show();this.Hide();}catch(Exceptionex){MessageBox.Show(ex.Message);}finally{UserHelper.connection.Close();}}else{MessageBox.Show("用户名或密码错误!");txtPwd.Clear();txtPwd.Focus();}}catch(Exceptionex){Console.WriteLine(ex.ToString());}finally{UserHelper.connection.Close();}}}#endregion//取消privatevoidbtnCancel_Click(objectsender,EventArgse){this.Close();}}}//主窗体设计usingSystem;usingSystem.Collections.Generic;usingSystem.ComponentModel;usingSystem.Data;usingSystem.Drawing;usingSystem.Text;usingSystem.Windows.Forms;usingSystem.Data.SqlClient;namespace人事管理系统{publicpartialclassMainForm:Form{boolef_flag=false;boolcowa_flag=false;boolsalary_flag=false;boolsystem_flag=false;boolbranch_flag=false;EmployeeFormef=newEmployeeForm();//员工信息窗体COWAFormcowa=newCOWAForm();//考勤信息窗体SalaryFormsalary=newSalaryForm();//薪资信息窗体BranchFormbranch=newBranchForm();//部门信息窗体SystemFormsystem=newSystemForm();//系统管理窗体stringuser="";publicMainForm(stringa){user=a;InitializeComponent();}///<summary>///员工管理///</summary>///<paramname="sender"></param>///<paramname="e"></param>privatevoidbtnMinistry_Click(objectsender,EventArgse){ef.MdiParent=this;if(ef_flag==false){ef.Show();ef_flag=true;}if(cowa_flag){cowa.Hide();cowa_flag=false;}if(salary_flag){salary.Hide();salary_flag=false;}if(branch_flag){branch.Hide();branch_flag=false;}if(system_flag){system.Hide();system_flag=false;}}///<summary>///考勤管理///</summary>///<paramname="sender"></param>///<paramname="e"></param>privatevoidbtnAttendance_Click(objectsender,EventArgse){cowa.MdiParent=this;if(cowa_flag==false){cowa.Show();cowa_flag=true;}if(ef_flag){ef.Hide();ef_flag=false;}if(salary_flag){salary.Hide();salary_flag=false;}if(branch_flag){branch.Hide();branch_flag=false;}if(system_flag){system.Hide();system_flag=false;}}///<summary>///薪资管理///</summary>///<paramname="sender"></param>///<paramname="e"></param>privatevoidbtnLaborage_Click(objectsender,EventArgse){salary.MdiParent=this;if(salary_flag==false){salary.Show();salary_flag=true;}if(ef_flag){ef.Hide();ef_flag=false;}if(cowa_flag){cowa.Hide();cowa_flag=false;}if(branch_flag){branch.Hide();branch_flag=false;}if(system_flag){system.Hide();system_flag=false;}}//系统管理privatevoidbtnSystem_Click(objectsender,EventArgse){if(system_flag==false){system.MdiParent=this;system.Show();system_flag=true;}if(cowa_flag){cowa.Hide();cowa_flag=false;}if(salary_flag){salary.Hide();salary_flag=false;}if(branch_flag){branch.Hide();branch_flag=false;}if(ef_flag){ef.Hide();ef_flag=false;}}//显示系统时间、用户privatevoidMainForm_Load(objectsender,EventArgse){tssGetdate.Text=DateTime.Now.ToString();tssUser.Text=user;}#region窗体关闭时privatevoidMainForm_FormClosed(objectsender,FormClosedEventArgse){CloseFrom();Application.Exit();}//窗体关闭时向数据库发送状态privatevoidCloseFrom(){stringsql=string.Format("insertintoWorkLogBBs(wuser,wdatetime,wstate)values('{0}','{1}','退出')",user,DateTime.Now.ToString());SqlCommandcmd=newSqlCommand(sql,UserHelper.connection);try{UserHelper.connection.Open();cmd.ExecuteNonQuery();}catch(Exceptionex){MessageBox.Show(ex.Message);}finally{UserHelper.connection.Close();}}#endregion//部门管理privatevoidbtnBranch_Click(objectsender,EventArgse){if(branch_flag==false){branch.MdiParent=this;branch.Show();branch_flag=true;}if(cowa_flag){cowa.Hide();cowa_flag=false;}if(salary_flag){salary.Hide();salary_flag=false;}if(ef_flag){ef.Hide();ef_flag=false;}if(system_flag){system.Hide();system_flag=false;}}//从公司信息数据表中读取基本信息privatevoidEmployeeForm_Load(objectsender,EventArgse){this.cboBranch.SelectedIndex=0;this.cboSex.SelectedIndex=0;this.cboMMM.SelectedIndex=0;this.cboYYY.SelectedIndex=0;this.cboDay.SelectedIndex=0;sql="selecteID,eName,eSex,eEducation,eCard,eBranch,eJob,eTel,eAddress,eJoinTime,eSalaryfromEmployeeInfo";this.dgvEmployeeInfo.DataSource=UserHelper.FillDataGridView(sql,"employeeInfo").Tables[0];this.lblEmpolyeeSum.Text=string.Format("公司总职工:{0}人",UserHelper.FillDataGridView(sql,"employeeInfo").Tables[0].Rows.Count);this.txtEID.Text=Convert.ToString((Convert.ToInt32(UserHelper.FillDataGridView(sql,"employeeInfo").Tables[0].Rows[(Convert.ToInt32(UserHelper.FillDataGridView(sql,"employeeInfo").Tables[0].Rows.Count)-1)][0])+1));sql="selectbBranchfromdbo.BranchInfo";ds=UserHelper.FillDataGridView(sql,"branch");for(inti=0;i<ds.Tables[0].Rows.Count;i++){this.cboBranch.Items.Add(ds.Tables[0].Rows[i][0].ToString());this.cboEBranch.Items.Add(ds.Tables[0].Rows[i][0].ToString());}}//系统设置privatevoidbtnSearch_Click(objectsender,EventArgse){stringtimes=this.cboMonth.Text+this.cboYear.Text;sql=string.Format("select*fromWorkLogBBswhere(substring(convert(varchar(20),wDateTime),0,3)+substring(convert(varchar(20),wDateTime),7,4))like'{0}'",times);this.dgvWorkInfo.DataSource=UserHelper.FillDataGridView(sql,"WorkInfo").Tables[0];}privatevoidtabControl1_Click(objectsender,EventArgse){if(this.tabControl1.SelectedIndex==1){sql="selectuUser,uName,uSex,uID_Card,uTel,uAddressfromadmin_userbbs";this.dgvUserInfo.DataSource=UserHelper.FillDataGridView(sql,"userInfo").Tables[0];}if(this.tabControl1.SelectedIndex==2){sql="selectuUserfromadmin_userbbs";DataSetdateset=UserHelper.FillDataGridView(sql,"user");for(inti=0;i<dateset.Tables[0].Rows.Count;i++){this.cboLoginUser.Items.Add(dateset.Tables[0].Rows[i][0].ToString());}this.cboLoginUser.SelectedIndex=0;}}privatevoidbtnLookup_Click(objectsender,EventArgse){stringmysql="";if(rdoUser.Checked){if(txtUser.Text.Trim()!=""){mysql=string.Format("selectuUser,uName,uSex,uID_Card,uTel,uAddressfromadmin_userbbswhereuUser='{0}'",this.txtUser.Text);}}if(rdoName.Checked){if(txtUname.Text.Trim()!=""){mysql=string.Format("selectuUser,uName,uSex,uID_Card,uTel,uAddressfromadmin_userbbswhereuName='{0}'",this.txtUname.Text);}}DataSetds=UserHelper.FillDataGridView(mysql,"userInfo");if(ds.Tables[0].Rows.Count==0){MessageBox.Show("没有这个用户的信息!","友情提示",MessageBoxButtons.OK,MessageBoxIcon.Information);}else{this.dgvUserInfo.DataSource=ds.Tables[0];}}privatevoidrdoUser_CheckedChanged(objectsender,EventArgse){this.txtUser.Enabled=true;this.txtUname.Enabled=false;}privatevoidrdoName_CheckedChanged(objectsender,EventArgse){this.txtUser.Enabled=false;this.txtUname.Enabled=true;}privatevoidcboLoginUser_SelectedIndexChanged(objectsender,EventArgse){sql=string.Format("selectupwdfromadmin_userbbswhereuUser='{0}'",this.cboLoginUser.Text.ToString());this.txtLoginPWD.Text=UserHelper.FillDataGridView(sql,"pwd").Tables[0].Rows[0][0].ToString();}privatevoidbtnSubmit_Click(objectsender,EventArgse){if(this.txtNewPwd.Text.Trim()!=""&&this.txtNewPwdOK.Text.Trim()!=""){if(this.txtNewPwd.Text.Trim()==txtNewPwdOK.Text.Trim()){sql=string.Format("updateadmin_userbbssetupwd='{0}'whereuUser='{1}'",this.txtNewPwd.Text.Trim().ToString(),this.cboLoginUser.Text);SqlCommandcmd=newSqlCommand(sql,UserHelper.connection);try{UserHelper.connection.Open();intresult=(int)cmd.ExecuteNonQuery();if(result==1){MessageBox.Show("修改成功!");}else{MessageBox.Show("修改失败!");}}catch(SqlExceptionex){Console.WriteLine(ex.ToString());}finally{UserHelper.connection.Close();}}}}//添加功能sql=string.Format("insertintoEmployeeInfo(eID,eName,eSex,eBirthday,eNation,eNativePlace,ePolity,eWedlock,eCard,eEducation,eGraduate,eBranch,eJob,eAddress,eTel,eJoinTime,eSalary)values(@eID,@eName,@eSex,@eBirthday,@eNation,@eNativePlace,@ePolity,@eWedlock,@eCard,@eEducation,@eGraduate,@eBranch,@eJob,@eAddress,@eTel,@eJoinTime,@eSalary)");List<SqlParameter>paras=newList<SqlParameter>();paras.Add(newSqlParameter("@eID",this.txtEID.Text.Trim()

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论