人力资源管理系统的设计与实现- 疯子多多- 51CTO技术博客


摘 要
近几年来,随着人事制度改革的不断深化,人事代理和档案托管工作发展很快,不仅档案托管的数量成倍增加,而且服务范围也不断拓展,比如对托管人员可代办社会保险,医疗保险,代办职称评审,素质测评,职业设计,企业诊断等,这种新形势给我们的管理工作提出了新的要求,原来手工操作的管理方式已经落伍,面对这种状况,赣州市人才交流中心投入大量人力和物力,历时一年开发了一套人事档案管理软件.该软件的问世,标志着赣州市的人事代理工作取得了重大突破,上了一 新的台阶,为赣州市"电子政务"工程又添新丁.
《人事档案管理系统》充分体现了"管理以人为本"的先进理念,提炼融合了现代人力资源管理思想,有机结合了实际经验,从用户实际出发,以建立中央数据库为基础,大大提高了该软件产品的针对性和通用性;利用计算机的自动化操作,自动生成各类文档,报表,彻底改变以往只能借助纸张介质手工操作,不仅效率低,且频繁出错的现状,协助管理者真正实现"办公网络化,管理数字化,决策科学化",是一个理想的数字化工作平台;完善的数据维护功能满足了用户对安全保密性的特殊要求;该软件具有全新的界面风格和视觉效果,丰富的选项与下拉式菜单结构,操作起来更加灵活方便,随着形势的变化和工作实际需要,软件已考虑升级设计,为帮助广大用户熟悉和使用此软件,我们编写了这本使用手册,本手册共五章,全书通俗易懂,易学,易用,除用大量的文字详细介绍单位模块的各大功能的同时,还插入了大量的模块界面图和其它插图,并绘有流程及框图,以帮助读者学习使用.

目  录
引 言 4
1.本课题的来源 4
2、本论文的目的、内容及作者主要贡献 4
第二章 开发工具的选择 5
第三章 系统调研及可行性分析 9
3.1 系统调研 9
3.2  可行性分析概述 9
3.3 技术可行性分析 10
第四章 系统分析 11
4.1  系统需求分析 11
4.2  数据流程图 12
第五章 系统总体设计 13
5.1.功能描述: 13
第六章 系统详细设计 15
6.1.数据库设计 15
6.2.系统主要界面设计 19
致 谢 23

1.本课题的来源
随着计算机技术的飞速发展,计算机在企业管理中应用的普及,利用计算机实现企业人事管理势在必行。对于大中型企业来说,利用计算机支持企业高效率完成劳动人事管理的日常事务,是适应现代企业制度要求、推动企业劳动人事管理走向科学化、规范化的必要条件;计算机管理所无法比拟的优点检索迅速、查找方便、可靠性高、存储量大、保密性好、寿命长、成本低等。这些优点能够极大地提高人事管理的效率,也是企业的科学化、正规化管理,与世界接轨的重要条件。不同的企业具有不同的人事管理制度,这就决定了不同的企业需要不同的人事管理系统。
2、本论文的目的、内容及作者主要贡献
(1)目的:
目前市面上流行的人事管理系统不少。但是,对于企、事业单位的人事管理系统来说,不需要大型的数据库系统。只需要一个操作方便,功能实用,能满足本中心对数据的管理及需求的系统。我们的目标就是在于开发一个功能实用、操作方便,简单明了的人事管理系统。
(2)内容
能够录入人事的基本资料,在操作上能够完成诸如添加、修改、删除、按各种条件进行查询、新用户的设置及密码修改等方面的工作,基本满足人事日常业务的需要。
 (3)作者的主要贡献
本人独立完成了此课题的研究与开发,包括调研、分析、设计、编码、测试、文档编写等内容。

现在,市场上可以选购的应用开发产品很多,流行的也有数十种。目前在我国市场上最为流行、使用最多、最为先进的可用作企业级开发工具的产品有:
Microsoft公司的Visual Studio 2003
Microsoft公司的Visual C
Borland公司的Delphi
Java等等
在目前市场上这些众多的程序开发工具中,有些强调程语言的弹性与执行效率;有些则偏重于可视化程序开发工具所带来的便利性与效率的得高,各有各的优点和特色,也满足了不同用户的需求。然而,语言的弹性和工具的便利性是密不可分的,只有便利的工具,却没有弹性的语言作支持,许多特殊化的处理动作必需要耗费数倍的工夫来处理,使得原来所标榜的效率提高的优点失去了作用;相反,如果只强调程续语言的弹性,却没有便利的工具作配合,会使一些即使非常简单的界面处理动作,也会严重地浪费程序设计师的宝贵时间。
作为数据库系统的开发,Visual Studio 2003是一个非常理想选择。数据库是MIS中的重要支持技术,在MIS开发过程中,如何选择数据库管理是一个重要的问题,目前,数据库产品较多,每种产品都具有各自的特点和适用范围,因此,在选择数据库时,应考虑数据库应用的特点及适用范围,本系统选用的数据库语言Visual Studio 2003语言,该开发工具具有很多长处:
Visual Studio 2003是一种可视化的、面对对象和条用事件驱动方式的结构化高级程序设计,可用于开发Windows环境下的种类应用程序。它简单易学、效率高,且功能强大,可以与Windows的专业开发工具SDK相媲美,而且程序开发人员不必具有C/C++编程基础。在Visual Basic环境下,利用事件驱动的编程机制、新颖易用的可视化设计工具,使用Windows内部的应用程序接口(API)函数,以及动态链接库(DLL)、动态数据交换(DDE)、对象的链接与嵌入(OLE)、开放式数据访问(ODBC)等技术,可以高效、快速地开发出Windows环境下功能强大、图形界面丰富的应用软件系统。
总的来说,Visual Studio 2003具有以下特点:
可视化编程:
用传统程序设计语言设计程序时,都是通过编写程序代码来设计用户界面,在设计过程中看不到界面的实际显示效果,必须编译后运行程序才能观察。如果对界面的效果不满意,还要回到程序中修改。有时候,这种编程-编译-修改的操作可能要反复多次,大大影响了软件开发效率。Visual Studio 2003提供了可视化设计工具,把Windows界面设计的复杂性“封装”起来,开发人员不必为界面设计而编写大量程序代码。只需要按设计要求的屏幕布局,用系统提供的工具,在屏幕上画出各种“部件”,即图形对象,并设置这些图形对象的属性。Visual Studio 2003自动产生界面设计代码,程序设计人员只需要编写实现程序功能的那部分代码,从而可以大大提高程序设计的效率。
面向对象的程序设计:
2003版以后的Visual Studio 2003支持面向对象的程序设计,但它与一般的面向对象的程序设计语言(C++)不xx相同。在一般的面向对象程序设计语言中,对象由程序代码和数据组成,是抽象的概念;而Visual Studio 2003则是应用面向对象的程序设计方法(OOP),把程序和数据封装起来作为一个对象,并为每个对象赋予应有的属性,使对象成为实在的东西。在设计对象时,不必编写建立和描述每个对象的程序代码,而是用工具画在界面上,Visual Studio 2003自动生成对象的程序代码并封装起来。每个对象以图形方式显示在界面上,都是可视的。
结构化程序设计语言:
Visual Studio 2003是在BASIC语言的基础上发展起来的,具有高级程序设计语言的语句结构,接近于自然语言和人类的逻辑思维方式。Visual Studio 2003语句简单易懂,其编辑器支持彩色代码,可自动进行语法错误检查,同时具有功能强大且使用灵活的调试器和编译器。
Visual Studio 2003是解释型语言,在输入代码的同时,解释系统将高级语言分解翻译成计算机可以识别的机器指令,并判断每个语句的语法错误。在设计Visual Studio 2003程序的过程中,随时可以运行程序,而在整个程序设计好之后,可以编译生成可执行文件(.EXE),在不脱离Visual Studio 2003环境,直接在Windows环境下运行。
事件驱动编程机制:
Visual Studio 2003通过事件来执行对象的操作。一个对象可能会产生多个事件,每个事件都可以通过一段程序来响应。例如,命令按钮是一个对象,当用户单击该按钮时,将产生一个“单击”(CLICK)事件,而在产生该事件时将执行一段程序,用来实现指定的操作。
在用Visual Studio 2003设计大型应用软件时,不必建立具有明显开始和结束的程序,而是编写若干个微小的子程序,即过程。这些过程分别面向不同的对象,由用户操作引发某个事件来驱动完成某种特定的功能,或者由事件驱动程序调用通用过程来执行指定的操作,这样可以方便编程人员,提高效率。
访问数据库:
Visual Studio 2003具有强大的数据库管理功能,利用数据控件和数据库管理窗口,可以直接建立或处理Microsoft Access格式的数据库,并提供了强大的数据存储和检索功能。同时,Visual Studio 2003还能直接编辑和访问其他外部数据库,如DBASE,FoxPro,Paradox等,这些数据库格式都可以用Visual Basic编辑和处理。
Visual Studio 2003提供开放式数据连接,即ODBC功能,可通过直接访问或建立连接的方式使用并操作后台大型网络数据库,如SQL Server,Oracle等。在应用程序中,可以使用结构化查询语言SQL数据标准,直接访问服务器上的数据库,并提供了简单的面向对象的库操作指令和多用户数据库访问的加锁机制和网络数据库的SQL的编程技术,为单机上运行的数据库提供了SQL网络接口,以便在分布式环境中快速而有效地实现客户/服务器(client/server)方案。
动态数据交换(DDE):
利用动态数据交换(Dynamic Data Exchange)技术,可以把一种应用程序中的数据动态地链接到另一种应用程序中,使两种xx不同的应用程序建立起一条动态数据链路。当原始数据变化时,可以自动更新链接的数据。Visual Basic提供了动态数据交换的编程技术,可以在应用程序中与其他Windows应用程序建立动态数据交换,在不同的应用程序之间进行通信。
对象的链接与嵌入(OLE):
对象的链接与嵌入(OLE)将每个应用程序都看作是一个对象(object),将不同的对象链接(link)起来,再嵌入(embed)某个应用程序中,从而可以得到具有声音、影像、图像、动画、文字等各种信息的集合式的文件。OLE技术是Microsoft公司对象技术的战略,它把多个应用程序合为一体,将每个应用程序看作是一个对象进行链接和嵌入,是一种应用程序一体化的技术。利用OLE技术,可以方便地建立复合式文档(compound document),这种文档由来自多个不同应用程序的对象组成,文档中的每个对象都与原来的应用程序相联系,并可执行与原来应用程序xx相同的操作。
动态链接库(DLL):
Visual Studio 2003是一种高级程序设计语言,不具备低级语言的功能,对访问机器硬件的操作不太容易实现。但它可以通过动态链接库技术将C/C++或汇编语言编写的程序加入到Visual Basic应用程序中,可以像调用内部函数一样调用其他语言编写的函数。此外,通过动态链接库,还可以调用Windows应用程序接口(API)函数,实现SDK所具有的功能。

3.1 系统调研
正式开发管理信息系统之前进行调研是非常必要的,其必要性主要表现在以下几个方面。
(1)明确用户的要求,以根据调查结果进行可行性分析,确认系统的开发是否可行。
(2)提出新系统的人员并不都是系统研究人员,有些人对于其功能和处理数据的方法没有明确的认识。它们只是根据自己业务工作的需要提出了要求,系统开发人员要对此进行详细的调查和分析,确认用户的要求可以通过现有的计算机技术实现,保证开发的管理信息系统的功能与用户提出的要求相吻合。
(3)企业的现行系统可能是手工系统,也可能是使用和计算机的系统,无论是何种情况,都要详细地调查现行系统中信息处理的具体情况,系统内部功能结构,以便设计出一个合理的、好的新系统逻辑模型,为新系统的设计工作打好基础,保证整个系统开发的质量。
总之,必要对现行系统进行详细的调查,明确用户需求,保证开发的新系统的功能与用户的要求相吻合,避免耗费大量的人力、物力、财力,新系统的开发却失败的悲剧发生。
3.2  可行性分析概述
可行性分析是在用户的要求和系统调研的基础上进行的,对新系统的开发从社会、技术、经济、管理等方面进行分析,并得出新系统的开发工作可行、不可行、需要修改、追加投资、暂缓开发、分步实施等方案和结论,{zh1}完成可行性分析。
可行性分析一般可定义为:可行性分析是在建设的前期对工程项目的一种考察和鉴定,对拟议中的项目进行全面与综合的技术、经济能力的调查,判断它是否可行。
(1)可行性分析阶段的主要工作包括以下几个方面:
①新系统目标可行性分析:分析新系统的目标是否符合企业的现状和发展的需要。
②社会可行性分析:社会可行性分析主要是指管理信息系统的开发是否符合国家法律、下策,是否能够与社会大系统实现良好的对接。
③技术可行性分析:技术可行性分析是根据新系统的目标来衡量是否具备所需要的技术,包括系统开发人员数量和水平,硬件方面,软件方面及其它应用技术。
④经济可行性分析:经济可行性分析主要是对开发新系统所投入的资金与系统投入使用后所带来的经济效益进行比较,确认新系统是否会给企业带来一定的经济效益。
⑤管理可行性分析:管理可行性分析主要是分析企业现行的管理体制和企业领导是否具有现代化的管理意识和管理水平。
3.3 技术可行性分析
技术可行性分析主要包括四个方面:目前有关的技术能否支持所开发的新系统;新系统开发人员的数量和水平,即人力资源;硬件和软件资源。
(1)技术支持:
首先根据新系统的目标,考虑目前有关的技术能否支持所开发的新系统。这里讨论的技术必须是已经普遍使用的,而不是待研究的或正在研究的。
(2)硬件资源:
开发管理信息系统所需的硬件资源包含以下两个方面:
系统开发人员在管理信息系统的开发过程中所需要的计算机设备及其有关的外部设备;管理信息系统开发成功投入使用后,使用单位所应具备的计算机设备及其有关的外围设备。对硬件资源进行可行性分析时主要考虑计算机的主机内存、类型、功能、联网能力、安全保护措施以及输入/输出设备,外存储器和联网数据通信设备的配置、功能、效率等指标是否符合系统方案设计要求,同时还要考虑计算机的性能/价格比。
(3)软件资源
软件资源的可行性分析主要考虑以下几点是否满足用户的要求:
①操作系统的选择;②编译系统的选择;③数据库管理系统的选择;
④高级编程语言的选择;⑤汉字处理系统的选择;⑥应用软件包的选择。

4.1  系统需求分析
系统分析是开发管理信息系统的关键性阶段,是一个从不断认识和逐步细化的过程,是下一阶段的工作基础,是为下一阶段进行物理方案设计、解决“怎么做”提供依据,基关键性主要体现在“理解需求”和“表达需求”两方面。
通过对现行系统的详细调研,主要是从系统的角度理解用户的需要,确定新系统的综合要求,并提出这些需求的实现条件以及需求应达到的标准,也就是确定新系统要做什么,做到什么程度。这些需求包括:
(1)功能需求。确定新系统应做什么,这是最主要的需求。
(2)性能需求。给出所开发的新系统的技术性能指标,包括存储容量限制、运行时间限制、安全保密性等。
(3)环境需求。这是对系统运行以及所处环境的要求。例如,在硬件方面采用什么机型、有什么硬件设备等;在软件方面,采用什么支持系统运行的系统软件(指操作系统、数据库管理系统)。
(4)未来需求。这类要求是指目前不属于系统开发的范围,但将来随着外界环境的变化以及系统的发展可能会提出的要求。了解这类要求的目的是在开发过程中,可对系统将来可能的扩展与修改做准备。一旦需要时,就比较容易进行补充和修改了。

5.1.功能描述:
该信息管理系统可以在Windows 2000 Server平台上运行,开发工具采用Visual Studio2003语言开发。其工作流程为:用户登录通过权限判断,普通用户不能浏览、阅读和查询信息,指定用户可以操作,可以进行信息录入、修改和删除的操作。
系统的主要功能特点有:
(1)系统登录表单:该表单的功能是在系统被访问之前,要对进入系统的用户进行安全性检查,防止非法用户进行系统破坏数据及威胁系统安全,避免不必要的损失。只有合法的用户在输入正确的密码后方可进入系统。
(2)主界面:在该界面窗口中,共有文件、数据、关于等所有系统功能,用户可以操作菜单的方式快捷地使用系统。
(3)更改密码:使用本表单可以方便地修改用户的密码,以防密码泄露后对数据的安全性造成威胁。

8) 工资发放历史表
 
6.2.系统主要界面设计
 
主界面 图5-2-1
主要作用:
针对各个公司的各部门进行编辑,主要是总结和区分各个公司的管理体系。
详细描述:
根据各个公司的大小都具有不同的部门,诸如财务科、办公室等等,在进行各部门级别编号、机构合成编码的同时,可以减少繁琐的操作,只需说明某部门的调动,从哪一个部门即可以将该部门的相应信息全部调到其它部门,进行编制、管理。
在进行部门的进修,如若有重名、重姓的职员,系统会给出相应的提示信息和确认信息,达到xxx,更xx的目的。
代码如下:
//-------------by fengziduoduo ----------------
//-------------在窗体初始化时,根据数据库中的记录创建树形图----------------
  private void SetOrgInfo_Load(object sender, System.EventArgs e)
  {
   this.sqlDataAdapter1.Fill(tblSetOrgInfo);//读入数据
            DataTable tempDataTable = tblSetOrgInfo.Copy();//将组织机构表另存一份为tempDataTable
   DataView viewSetOrgInfo = new DataView(tempDataTable);//新建一个数据视图
      viewSetOrgInfo.RowFilter = "ItemLevel = 0";
   //将数据集中的所有记录逐个根据他们之间的关系添加到树形表中去
   if (viewSetOrgInfo.Count > 0)
   {   foreach (DataRowView myRow in viewSetOrgInfo)
    { string strEnterpriseName = myRow["单位名称"].ToString().Trim();
     //此处是添加{dy}个节点“省医药集团”
     this.treeView1.Nodes.Add(new TreeNode(strEnterpriseName));
     //此处初始化参数是{dy}个节点“省医药集团”,然后该函数会递归添加所有子节点
     PopulateTreeView(strEnterpriseName,treeView1.Nodes[0],myRow);
     treeView1.SelectedNode = treeView1.Nodes[0]; //选中{dy}个节点
    }
}
}  
  。。。。。。
 
职员信息维护界面 5-2-2

主要作用:
针对各部门的员工的详细资料进行查询、编辑、添加、删除等操作。
详细说明:
    对于各个公司的员工,管理者可以将其添加至对应的部门,并对个人信息(如电话,地址等)进行注册登记、备案等。
对于因多次违反公司纪律或年龄超限或因其它原因需离开本公司的员工,管理者可以将其所在部门的名单删除,并且其个人相关信息也会随之删除。
对于因调动或登记错误及需更新的信息,管理者可以随时更改,避免不必要的损失发生。
代码如下:
//--------------------初始化窗体,读入数据------------------
  private void AmendStafferInfo_Load(object sender, System.EventArgs e)
  {    this.sqlDataAdapter1.Fill(tempTable);
   this.dataGrid1.DataSource = tempTable.DefaultView;
   InputComboBox();//填充【单位编号】下拉列表框的下拉列表
   DataGridStateControl();
   DataBindingsFunction();
   cmAmend = (CurrencyManager) BindingContext[tempTable];
  }
。。。。。。
 
工资管理界面 5-2-3
主要作用:
主要针对各个部门的员工的工资资料进行查询、编辑、添加、删除等操作。
详细说明:
对于员工的工资发放,系统会进行全面地、合理地、准确地计算,在计算的同时会扣除。
代码如下:
//--------------------初始化窗体,读入数据------------------
  private void WageManage_Load(object sender, System.EventArgs e)
  { this.sqlDataAdapter1.Fill(datagridTempTable);//该表用来储存要在表格中显示的数据
   this.sqlDataAdapter2.Fill(tempTable);//该表用来储存要在下面的文本框中显示并供修改的数据
   this.dataGrid1.DataSource = datagridTempTable.DefaultView;//在表格中显示数据
   DataGridStateControl(); DataBindingsFunction();
   cmSalary = (CurrencyManager) BindingContext[tempTable];
  }
。。。。。。

经过两个多月的构思与设计,在指导老师的精心指导和安排下,本系统已经设计完毕。其使用功能基本符合公司在实际工作的需要,具有一定的实用性。但是由于时间比较仓促,加上本人软件设计经验的不足。因此,在分析问题、解决问题时显得不够严密、完善,还需要在以后的工作中不断地改进和完善。
在这次的毕业设计中,让我深深地体现到进行软件开发不是一件简单的事情,它需要设计者具有全面的专业知识、缜密的思维、严谨的工作态度以及较高的分析问题、解决问题的能力,而我在很多方面还有欠缺。{zh1},我要衷心感谢老师在我的设计过程中给予我的极大帮助,使我能够及时、顺利地完成此次的毕业设计。同时,也要感谢我的老师和同学们及实习企业在本系统的设计过程中给予我的支持和帮助。

[1] 周佩德.《数据库原理及应用》.电子工业出版社
[2] 刘炳文等,VISUAL Studio2003程序设计——数据库篇,1999
[3] 李光明.《Visual Studio2003编程实例大制作》.冶金工业出版社
[4] 刘炳文,精通VISUAL  Studio2003入门与提高,人民邮电出版社
[5] 黄淼云.《C#办公自动化编程》.国防工业出版社
[6] 王要武,管理系统,电子工业出版社,2003
[7] 李红等编著,管理信息系统开发与应用,电子工业出版社,2003
[8] 周之英缟著,现代软件工程,科学出版社,2003
[9] 康博工作室,张红军,王红等缟著《Visual Studio2003中文版高级应用与开发指南》,人民邮电出版社,2001年4月{dy}版
[10] 林立军,程斌,翁迪恩缟著《Visual Studio2003数据库开发指南》,西安电子科技大学出版社,2000年2月{dy}版
[11] 张宏林,孔艳,王哲等编著。《按实例学Visual Studio2003>北京,人民邮电出版社,2000
[12] 宋伟,吴建国等编著《中文Visual Studio2003编程基础》,北京,清华大学出版社
[13] [美]Jeffrey P.McManus著赵学锁,龚波,李志,曹天伟等译《Visual Studio2003数据库存访问技术》,2000年3月{dy}版

本文出自 “” 博客,请务必保留此出处





郑重声明:资讯 【人力资源管理系统的设计与实现- 疯子多多- 51CTO技术博客】由 发布,版权归原作者及其所在单位,其原创性以及文中陈述文字和内容未经(企业库qiyeku.com)证实,请读者仅作参考,并请自行核实相关内容。若本文有侵犯到您的版权, 请你提供相关证明及申请并与我们联系(qiyeku # qq.com)或【在线投诉】,我们审核后将会尽快处理。
—— 相关资讯 ——