企业人事管理系统论文.docx
《企业人事管理系统论文.docx》由会员分享,可在线阅读,更多相关《企业人事管理系统论文.docx(17页珍藏版)》请在冰豆网上搜索。
企业人事管理系统论文
目录
目录1
第一章开发环境和开发工具1
1.1C#语言简介1
1.2开发背景1
1.3开发环境2
第二章数据库设计3
2.1引入背景3
2.2数据库需求分析3
2.3数据库概念结构设计4
2.4数据库逻辑结构设计6
第三章人事管理信息系统的分析与设计8
3.1系统设计8
3.1.1系统设计目标8
3.1.2开发设计思想8
3.1.3系统功能模块设计9
3.2主要界面及代码10
3.2.1登陆界面及代码10
3.2.2主界面及代码14
结论19
参考文献20
第一章开发环境和开发工具
1.1C#语言简介
C#是美国微软公司推出的Windows操作系统下的应用程序开发平台VisualStudio.NET(简称VS.NET)家族中的一员C#是对C++进行了很大改进的一种完全面向对象的可视化程序设计语言。
由于C#采用了类似于VisualBasic的较易使用的程序设计界面,从而成为了一种更加简单易学、功能强大的应用程序开发工具。
C#是一种先进的、面向对象的语言,使用C#语言可以让开发人员快速的建立大范围的基于MS网络平台的应用,并且提供大量的开发工具和服务,帮助开发人员开发机基于计算和通信的各种应用。
由于C#是一种面向对象的开发语言,所以C#可以大范围地适用于高层商业应用和底层系统的开发。
即使是通过简单的C#构造,也可以让各种组件方便的转变为基于Web的应用,并且能够通过Internet被各种系统或是其他开发语言所开发的应用调用。
1.2开发背景
随着科学技术的不断发展,计算机科学日渐成熟,其强大的功能已为人们所深刻认识,它己进入人类社会的各个领域并发挥着越来越重要的作用。
采用计算机进行信息化管理已成为衡量企业管理科学化和现代化的重要标志,而人事管理的全面自动化、信息化则是其中重要的组成部分。
人事管理的好坏对于企业的决策者和管理者来说都至关重要,在很大程度上影响着企业的经济效益和社会效益。
因此,本文所研究的人事管理信息系统具有一定的使用价值和现实意义。
一直以来人们使用传统人工的方式进行人事管理,这种管理方式存在着诸多缺点,如:
工作量大、效率低、保密性差,另外时间一长,将产生大量的文件和数据,这对于查找、更新和维护都带来了不少的困难。
鉴于此,本文研究了一种基于关系型数据库的人事管理方案。
利用SQLServer2000数据库管理系统灵活性和开发效率高的特点,采用面向对象的C#的方法,开发出企业人事管理信息系统。
该系统具有手工管理所无法比拟的优点,如:
检索迅速、查找方便、可靠性高、存储量大、保密性好、信息利用率高、成本低等。
该系统能够极大地提高人事管理的效率,优化企业的人力、物力,降低企业的管理成本,为企业人事管理的信息化、正规化奠定了坚实的基础。
1.3开发环境
本文所采用的开发环境主要是基于数据库系统的SQLServer2000和基于面向对象程序设计的C#。
利用SQLServer2005创建企业中的部门信息表。
个人信息表、员工工资表以及用C#连接数据库用的用户信息表。
利用C#和数据库建立连接之后,利用C#中的控件按钮以及一些程序代码实现一些特定的功能,例如员工信息查询、员工信息编辑、职工工资查询、职工工资编辑等,极大地提高了人事管理的效率。
第二章数据库设计
2.1引入背景
人事管理信息系统是一个数据库应用系统,员工的所有信息都保存在数据库中。
数据库结构设计是人事管理信息系统数据库应用系统开发过程中一个非常重要的环节,设计的好坏将直接对所开发的人事管理信息系统的效率以及实现的效果产生影响。
好的数据库结构设计会减少数据库的存储量,数据的完整性和一致性比较高,系统具有较快的响应速度,简化基于此数据库的应用程序的实现等等。
数据库结构设计主要就是要设计好数据库中各个表的结构,包括信息保存在哪些表格中、各个表的结构如何以及各个表之间的关系。
由于数据库设计的重要性,人们提出了许多数据库结构设计的技术。
2.2数据库需求分析
数据库需求分析是数据库结构设计的第一个阶段,也是非常重要的一个阶段。
在这个阶段主要工作是收集基本数据以及数据处理的流程,为以后进一步设计一打下基础。
需求分析主要解决两个问题:
:
.●内容要求。
调查应用系统用户所需要操作的数据,决定在数据库中存储什么数据。
●处理要求。
调查应用系统用户要求对数据库进行什么样的处理,理清数据库中各种数据之间的关系。
在数据库需求分析后,得到一个数据字典文档,包括3方面内容。
●.数据项。
包括名称、含义、类型、取值范围、长度以及和其他数据项之间的逻辑关系。
●.数据结构。
若干个数据项的有意义的集合,包括名称、含义以及组成数据结构的数据项。
●.数据流。
指数据中数据的处理过程,包括输入、处理和输出。
本系统数据项和数据结构设计如下:
●.员工基本情况。
包括的数据项有员工号、员工姓名、性别、所属部门、身份证号、生日、籍贯、国籍、民族、婚姻状况、健康状况、联系电话、邮箱、备注。
●企业部门信息。
包括的数据项有部门号、部门名称、部门电话、部门负责人、部门地址、开户银行、银行账号。
●员工工资信息。
包括职工编号、职工姓名、基本工资、考核工资、房补、工龄工资、奖励工资、应发金额合计、住房公积金、惩罚金额、医疗保险、养老保险、应扣金额合计、工资合计、发放历史、月份。
●用户登录信息。
包括用户号、用户名、密码、用户组号。
2.3数据库概念结构设计
数据库概念结构设计是在需求分析的基础上,设计出能够满足用户需求的各种实体,以及它们之间的关系,为后面的逻辑结构设计打下基础。
用E-R图是描述数据实体关系的一种直观描述工具,所以本系统采用了E-R图的方法进行数据库概念结构设计。
图2-1为员工实体E-R图
图2-1为员工实体E-R图
图2-2为员工薪水实体E-R图
图2-2为员工薪水实体E-R图
图2-3为部门E-R图
图2-3为部门E-R图
图2-4为实体之间关系E-R图
图2-4为实体之间关系E-R图
2.4数据库逻辑结构设计
概念结构是独立于实际数据模型的信息结构,必须将其转化为逻辑结构后才能进行数据库应用的设计。
也就是要将概念上的结构转化为BP数据库系统所支持的实际数据模型。
人事管理信息系统数据库中各个表格的设计结果如下面的四个表所示。
每个表表示数据库中的一个表。
部门情况表:
个人信息表:
员工信息表:
用户登录表:
在此基础上输入数据完成表的创建。
第三章人事管理信息系统的分析与设计
随着计算机技术的飞速发展,计算机在企业管理中应用的普及,利用计算机实现企人事管理势在必行。
当前企业信息管理系统正在从CS/结构向BS/结构转移,但是由于安全性等方面的因素,CS/结构的管理信息系统仍然占据企业管理信息系统的主流。
本文所论述的系统也是CS/结构的管理信息系统。
人事管理是现代企业管理不可缺少的一部分,是适应现代化制度要求,推动企业劳动人事管理走向科学化、规范化的必要条件。
3.1系统设计
3.1.1系统设计目标
本文研究开发的人事管理信息系统用于支持企业完成劳动人事管理工作,有如下三个方面的目标:
●支持企业实现规范化的管理。
●支持企业高效率完成劳动人事管理的日常业务,包括新员工加入时人事档案的建立、老员工转出、辞职、退休等。
●支持企业进行劳动人事管理及其相关方面的科学决策,如企业领导根据现有的员工数目决定招聘人数等。
3.1.2开发设计思想
基于以上系统设计目标,本文在开发人事管理信息系统时遵循了以下开发设计思想:
●采用现有的软硬件环境及先进的管理系统开发方案,从而达到充分利用现有资源,提高系统开发水平和应用效果的目的。
●尽量达到操作过程中的直观、方便、实用、安全等要求。
●系统采用CS/体系结构,Clinet(客户端)负责提供表达逻辑、显示用户界面信息、访问数据库服务器;Server(服务器端)则用于提供数据服务。
●系统采用模块化程序设计方法,既便于系统功能的各种组合和修改,又便于未参与开发的技术维护人员补充、维护。
●系统应具备数据库维护功能,及时根据用户需求进行数据的添加、删除、修改、备份等操作。
3.1.3系统功能模块设计
本系统分为四个模块:
系统模块、职工信息管理、部门信息管理、工资管理。
得到如图3-1所示的系统功能模块图。
图3-1系统功能模块图
3.2主要界面及代码
3.2.1登陆界面及代码
此界面用于实现与数据库的连接及进入人事管理系统主页面。
程序代码如下:
publicclassLongInFrm:
System.Windows.Forms.Form
{
privateSystem.Windows.Forms.Labellabel1;
privateSystem.Windows.Forms.Labellabel2;
privateSystem.Windows.Forms.TextBoxWorkerId;
privateSystem.Windows.Forms.TextBoxWorkerName;
privateSystem.Windows.Forms.ButtonOkButt;
privateSystem.Windows.Forms.ButtonCancelButt;
//privateSystem.Windows.Forms.FormMainForm;
///
///必需的设计器变量。
///
privateSystem.ComponentModel.Containercomponents=null;
privateSystem.Windows.Forms.Labellabel3;
publicstaticbool_IsValideLogin=false;
publicstaticstringstrgroup;
privateSystem.Windows.Forms.GroupBoxgroupBox1;
publicboolIsValideLogin
{
get
{
return_IsValideLogin;
}
}
publicLongInFrm()
{
//
//Windows窗体设计器支持所必需的
//
InitializeComponent();
//
//TODO:
在InitializeComponent调用后添加任何构造函数代码
//
}
///
///清理所有正在使用的资源。
///
protectedoverridevoidDispose(booldisposing)
{
if(disposing)
{
if(components!
=null)
{
components.Dispose();
}
}
base.Dispose(disposing);
}
privatevoidOkButt_Click(objectsender,System.EventArgse)
{
if(this.WorkerId.Text.Trim()==string.Empty||this.WorkerName.Text.Trim()==string.Empty)//没有输入用户ID和密码
{
MessageBox.Show("PlaseInputUserNameandPassWordd");
return;
}
LogInUserUser=newLogInUser();
User.UserID=this.WorkerId.Text.Trim();
User.PassWord=this.WorkerName.Text.Trim();
intintResult=User.IsUser();//得到返回值
if(intResult==0)//ID和密码完全正确
{
strgroup=LogInUser.Group;//获得权限
_IsValideLogin=true;
this.Close();
return;
}
else
{
if(intResult==1)//没用这个用户
{MessageBox.Show("PleaseintputyourcorrectUserID!
");
_IsValideLogin=false;
return;
}
else
{
if(intResult==2||intResult==3||intResult==4)//ID和密码不匹配
{_IsValideLogin=false;
MessageBox.Show("UserIDORPassWordisERROR");
return;
}
}
}
}
privatevoidCancelButt_Click(objectsender,System.EventArgse)//取消操作
{
_IsValideLogin=false;
this.Close();
}
privatevoidtextBox_KeyDown(objectsender,System.Windows.Forms.KeyEventArgse)
{
if(e.KeyCode==Keys.Enter)//Enter键设置
{
SendKeys.Send("{Tab}");
}
}
3.2.2主界面及代码
此界面用于对各模块进行查询及编辑。
程序代码如下:
staticvoidMain()//主程序
{
LongInFrmLonInForm=newLongInFrm();
LonInForm.ShowDialog();
if(LongInFrm._IsValideLogin==true)
{
Application.Run(newMainFrm());
}
}
privatevoidAddUser_Click(objectsender,System.EventArgse)//增加用户
{
if(this.checkChildFrmExist("AddUser")==true)
{
return;
}
AddUsernewFrm=newAddUser();
newFrm.MdiParent=this;
newFrm.Show();
}
privatevoidChgPwd_Click(objectsender,System.EventArgse)//密码修改
{
if(this.checkChildFrmExist("PwdChange")==true)
{
return;
}
PwdChangenewFrm=newPwdChange();
newFrm.MdiParent=this;
newFrm.Show();
}
privatevoidmenuItem7_Click(objectsender,System.EventArgse)//员工信息编辑
{
if(this.checkChildFrmExist("PerCompile")==true)
{
return;
}
PerCompilenewFrm=newPerCompile();
newFrm.MdiParent=this;
newFrm.Show();
}
privatevoidmenuItem8_Click(objectsender,System.EventArgse)//员工信息查询
{
if(this.checkChildFrmExist("SelPerson")==true)
{
return;
}
SelPersonnewFrm=newSelPerson();
newFrm.MdiParent=this;
newFrm.Show();
}
privatevoidEditDep_Click(objectsender,System.EventArgse)//部门信息编辑
{
if(this.checkChildFrmExist("DpCompile")==true)
{
return;
}
DpCompilenewFrm=newDpCompile();
newFrm.MdiParent=this;
newFrm.Show();
}
privatevoidmenuItem10_Click(objectsender,System.EventArgse)//部门信息查询
{
if(this.checkChildFrmExist("DepartSel")==true)
{
return;
}
DepartSelnewFrm=newDepartSel();
newFrm.MdiParent=this;
newFrm.Show();
}
privatevoidEditPay_Click_1(objectsender,System.EventArgse)//工资编辑
{
if(this.checkChildFrmExist("SalCompile")==true)
{
return;
}
SalcompilenewFrm=newSalcompile();
newFrm.MdiParent=this;
newFrm.Show();
}
privatevoidSearchPay_Click_1(objectsender,System.EventArgse)//工资查询
{
if(this.checkChildFrmExist("Salselect")==true)
{
return;
}
SalselectnewFrm=newSalselect();
newFrm.MdiParent=this;
newFrm.Show();
}
privatevoidmenuItem16_Click(objectsender,System.EventArgse)//退出系统
{
if(MessageBox.Show("确实要退出系统吗?
","询问",MessageBoxButtons.YesNo)==DialogResult.Yes)
{
this.Close();
}
}
结论
本系统用SQLServer2005做为后台数据库创建所需要的数据库和表,用C#语言进行连接,以及对数据库进行检索、添加和删除。
从最后设计出的测试结果来看,效果比较明显,检索迅速、查找方便、可靠性高、存储量大、信息利用率高。
该系统能够极大地提高人事管理的效率,优化企业的人力、物力,降低企业的管理成本,为企业人事管理提供帮助。
当然,要作为实际应用还有一些具体细节问题需要解决,还有一些功能需要改进。
例如:
没有实现多条记录的连锁删除和添加以及外部数据的导入功能;还没能实现动态生成报表;该系统还不能与企业中其他管理系统共享信息等。
在今后的工作、学习中我将认真总结经验教训,努力使自己成为一名技术过硬、工作严谨、思维活跃的工程人员,为提高人们的生活质量做出更大的贡献。
参考文献
[1]郑阿奇.SQLServer实用教程(第二版).北京:
电子工业出版社.2005
[2]崔淼,陈明非.VisualC#2005程序设计教程.北京:
机械工业出版社,2007.1
[3]段德亮,余键,张仁才。
C#课程设计.北京:
清华大学出版社,2008.6
[4]王小铭,管理信息系统及其开发技术,2003,电子工业出版社
[5]李永平,管理信息系统,2004,科学出版社
[6]项目管理信息系统的规划想法,2004,企业信息化论坛,http:
//www.e-