人力资源管理系统的设计与开发-毕业论文-毕业设计.doc

上传人:小飞机 文档编号:4085767 上传时间:2023-04-03 格式:DOC 页数:44 大小:1.28MB
返回 下载 相关 举报
人力资源管理系统的设计与开发-毕业论文-毕业设计.doc_第1页
第1页 / 共44页
人力资源管理系统的设计与开发-毕业论文-毕业设计.doc_第2页
第2页 / 共44页
人力资源管理系统的设计与开发-毕业论文-毕业设计.doc_第3页
第3页 / 共44页
人力资源管理系统的设计与开发-毕业论文-毕业设计.doc_第4页
第4页 / 共44页
人力资源管理系统的设计与开发-毕业论文-毕业设计.doc_第5页
第5页 / 共44页
点击查看更多>>
资源描述

《人力资源管理系统的设计与开发-毕业论文-毕业设计.doc》由会员分享,可在线阅读,更多相关《人力资源管理系统的设计与开发-毕业论文-毕业设计.doc(44页珍藏版)》请在三一办公上搜索。

1、人力资源管理系统的设计与开发 毕业论文 毕业设计苏州高博软件技术职业学院毕业设计(论文)报告系 别 专 业 班 级 姓 名 学 号 设计题目 指导教师 起迄日期 苏州高博软件技术职业学院毕业设计诚信承诺书本人慎重承诺和声明:我承诺在毕业设计过程中严格遵守学校有关规定,在指导教师的安排与指导下完成所规定的毕业设计工作,绝不弄虚作假,不请别人代做毕业设计或抄袭别人的成果。所撰写的毕业论文或毕业设计是在指导老师的指导下自主完成,文中所有引文或引用数据、图表均注明来源,本人愿意为由此引起的后果承担责任。学生签名: 日期: 年 月 日毕业设计知识产权权属声明本人在老师指导下所完成的论文及设计成果、知识产

2、权归属学校。学校享有以任何方式发表、复制、公开阅览、借阅以及申请专利等权利。学生签名: 日期: 年 月 日指导教师签名: 日期: 年 月 日人力资源管理系统的设计与开发摘 要二十一世纪人才最珍贵。如何吸引优秀人才、合理安排人力资源、降低人员成本、提高企业竞争力,已经是企业管理者考虑的首要问题。激发员工的创造性、工作责任感和工作热情已经成为关系企业兴衰的重要因素。因此,一套功能强大的人力资源管理系统的需求应运而生。本文以某公司的人力资源管理信息系统的开发为例,详尽的阐述了构建人力资源管理信息系统的技术路线和整个开发过程。在开发方法上,引入了当今流行的Microsoft .Net Remoting

3、 技术思想,把整个开发程分为需求分析、概要设计、详细设计、系统实现等步骤。该系统通过优化和再造管理流程,使人力资源的管理更为高效和科学,数据更为准确,从而将人事部门从繁重的、耗时的工作中解放出来,把精力集中到更高层的政策性工作中去。关键词 人力资源管理系统 ; C#.net编程语言 ; Visual Studio 2005 ;SQL Server 2005数据库目 录第1章 绪论11.1课题研究背景11.2课题研究目的和意义2第2章 系统分析概述32.1引言32.2系统需求分析32.3系统概述32.4开发环境的选择方法42.4.1Visual Studio 2005的概述42.4.2SQL S

4、erver 2005数据库的概述5第3章 系统方案总体设计63.1系统设计思想及相关技术介绍63.1.1三层架构设计63.1.2工厂模式73.1.3Microsoft .Net Remoting 技术83.2系统总体功能模块设计11第4章 数据库的设计124.1引言124.2数据库需求分析124.3数据库概念结构设计134.4数据库逻辑结构设计13第5章 界面设计与实现175.1登录界面设计175.2主要界面设计在职员工基本信息画面185.3主要界面设计组织登录画面235.4主要界面设计人事事务画面24结 论28致 谢29参 考 文 献30第1章 绪论1.1 课题研究背景随着知识经济的时代的到

5、来、成功加入WTO及信息化浪潮的来临,企业经营管理机制正在发生着根本性的变化。处于激烈市场竞争环境下的企业,如果想要在日新月异的市场变化中求得生存,就必须有效地进行企业内部改革和加强企业管理。因此,借助现代信息技术和管理理论,建立企业管理信息系统势在必行。面对知识经济时代下的挑战,企业的人力资源管理也同样要适应这样的趋势,但是现代人力资源管理面临两个方面的难题:1现代人力资源管理已经成为实现企业竞争优势的核心之一,根据世界银行的统计,现在全球64%的财富是由人力资源构成的。它所涉及的范围已经远远超出了人事管理的范畴,成为从企业战略规划到基础人力管理,涉及企业、社会、政府、员工等方方面面的复杂工

6、程,原先的手工简单处理手段和思路都远远不够了。2现代人力资源管理的范围大大扩展了,人力资源部要面临大量种类繁多的数据,有必要收集和处理这些数据,但是如果仅仅是收集和处理,并不能真正达到通过人力资源管理提高企业核心竞争力的目的。因此,有必要将信息技术与人力资源结合在一起,利用人力资源的管理信息系统提高人力资源管理的效率,同时深入挖掘人力资源管理信息中的宝藏,真正提高企业的核心竞争力。建设高效的人力资源管理信息系统,提高自己的人力资源管理水平是中国企业的必由之路。然而,受“分工”思想的影响,传统的信息系统的设计开发及应用主要以利用计算机系统强大的信息处理能力为手段,着重于采集、存储、加工利用和传播

7、信息,以数据共享来集成各种功能,从而支持不同部门的业务处理。传统的信息管理系统,存在以下不足:1. 其开发技术主要基于部门的职能以及管理层次等方面来设计信息系统的功能和结构。由此产生的信息系统虽然具有很好的信息处理功能,但对企业内部各部门功能之间的业务流程控制逻辑关系缺乏支持。一个企业业务的实现必定是其内部各个部门相互协调工作的结果,其业务流程即现实应用中信息系统的各项功能之间的联系,也是以它特有的顺序贯穿于各个部门。2偏重于以数据共享来集成各种功能的传统的信息系统,其各功能间的联系也是直接编写到程序代码中,与功能代码相互混杂。这样一来,系统的控制逻辑变得模糊,系统功能的实现也更为复杂,企业的

8、业务流程稍有变化,将导致程序代码的重新编写,从而使系统的可靠性、稳定性及对外界兼容性的下降。1.2 课题研究目的和意义人力资源系统的开发,其功能将真正扩展到全方位企业管理的范畴。人力资源系统的功能范围,也从单一的档案、工资,发展到可为企业的决策提供帮助的全方位解决方案。人力资源管理信息系统的目的和意义在于: 1充分利用网络资源,进一步优化和再造管理流程,使人力资源的管理更为高效和科学,数据更为准确,满足人力资源部提升服务和管理水平的要求,使人力资源的管理更为高效和科学,数据更为准确;2增强员工自助服务的功能,提高业务的透明度及员工的参与程度,简化人力资源事务性的管理流程,使人事劳动部门的管理人

9、员有更多的时间和精力用于人力资源的战略规划;3建立流程引擎和角色管理机制,增加面向用户的流程变更管理和用户管理的功能;4健全安全机制,完善安全监控及审计功能;5增强系统可视化的设计,提高用户的可操作性,尽可能减少用户培训;6决策支持:完善人力资源决策支持系统,使基于人力资源系统数据的决策更为直观和精确,确定管理人员能够及时快捷地获得决策所需的信息。总的来说,人力系统建设就是希望通过优化和再造流程的人力资源重建,使将来的人力系统成为企业准确、开放、安全、可靠的数据平台;成为企业人力资源战略决策的主要数据来源最终实现开发人才、服务人才、利用人才和降低人力资源成本、提高人力资源的利用效率的目的。第2

10、章 系统分析概述2.1 引言目前,部分企业还停留在人工纸质管理方法阶段,这样的管理方式已不适应时代发展,因为它不仅浪费了人力物力,还造成企业内部员工信息管理容易混乱、各部门分工不明确。在信息时代,这种传统的纸介质管理的低效方法必然会被以数据库为基础的功能强大效率卓越的信息管理系统所取代。2.2 系统需求分析系统开发的总体任务是实现企业信息管理的系统化、规范化和自动化。系统功能分析是在系统开发的总体任务的基础上完成的。人力资源管理系统需要完成的功能主要有:职员管理模块,包括职员基本信息,人事事务,合同管理;组织管理模块,包括组织结构。在数据库方面,利用关系数据库功能强大的查询语言对企业各类信息入

11、库保存,按要求及时处理。该系统集输入、维护、查询、和各种处理为一体,各种操作可以通过菜单进行,操作快捷、方便,性能高效、强大;使用易懂、易会,形象增强的数据处理,用户均可根据需要自行使用。2.3 系统概述本系统是一个人力资源管理系统,在实施过程中主要实现以下目标:(1)界面友好、美观,体现人力资源管理的特点,而且操作简便。(2)各功能模块层次清晰,代码高效易懂。(3)添加和编辑简便、清晰,提高工作效率。(4)查询方便,数据存储安全可靠。(5)功能全面,实用性强。主要功能有:1.组织管理部分组织管理包括组织结构一览,部门登录,组织登录三个子画面。其中组织结构一览用于检索查看不同组织下的部门树及部

12、门信息,修改删除组织和部门信息。具体项目名称有创建组织,修改组织,删除组织,创建部门,修改部门,删除部门,启用组织,复制组织。部门登录主要进行部门的登入,更新操作。项目名称有组织名称,部门代码,部门名称,上级部门等。登录模式时除上级部门名称内容外,其余空白。更新模式时取得上一画面的部门编码,检索部门信息,画面内容于数据库同项目绑定。组织登录主要用于组织复制,下属部门也要进行复制。该画面有三种编辑模式,分别是:创建-新建组织信息,窗体标题为组织登录;修改-更新组织信息:窗体标题为组织修改;复制-复制组织及所辖部门信息:窗体标题为组织复制。2职员管理部分包括职员基本信息,人事事务,合同管理三大部分

13、。职员基本信息部分实现在职员工信息的浏览,职员维护,员工工作经历的浏览及登录,语言能力一览及登录,员工技能信息一览及登录,员工家庭关系一览及登录,员工档案一览及登录,员工保险信息一览及登录,员工奖惩信息一览及登录。人事事务部分主要有职员转正一览,职员异动管理,职员离职管理。2.4 开发环境的选择方法目前,用于开发数据库管理信息系统的编程语言很多,比如Delphi、PowerBuilder、Visual C+、Java、Visual Basic6及VB.NET等等,而用于后台数据库管理的DBMS也有很多,比如有Oracle、MS SQL SERVER、SYBASE、INFORMIX、DB2、VI

14、SUAL FOXPRO、ACCESS等等。本人根据公司要求,采用面向对象的软件开发方法来实现此管理软件,系统开发工具我们选择了能够跨平台的开发工具Visual Studio 2005。在前台操作与后台数据库处理的连接上,主要采用ADO.NET技术和SQL Server2005数据库,运用客户机服务器模式(C/S)配合功能强大的SQL查询语言实现预定的功能需求。2.4.1 Visual Studio 2005的概述Visual Studio 2005是一个全面集成的开发环境,用于编写,调试代码,把代码编译为程序集进行发布,实际上,Visual Studio 提供了非常专业的多文档界面应用程序,在

15、该应用程序中可以进行与开发代码相关的任何操作,它提供了:l 文本编辑器:在文本编辑器中,可以编写C#代码(以及VB 2005,J#和C+代码)。这个文本编辑器相当复杂。l 代码的设计视图编辑器:它可以在项目中可视化的放置用户界面和数据访问控件。此时Visual Studio会自动在源文件中添加必要的C#代码,在项目中实例化这些控件。l 支持窗口:它们可以查看修改项目的各个方面。也可以使用这些窗口指定编译选项。l 在环境中编译:可以只选择一个菜单选项编译项目,而不必在命令行上运行C#编译器。Visual Studio会调用C#编译器。l 集成的调试程序:编程的本质是代码在第一次运行时,一般不会正

16、确执行。也许在第二次、第三次才能正确运行。Visual Studio无缝的链接到一个调试程序上,可以在该调试环境中设置断点,观察变量。l 集成的MSDN帮助:Visual Studio可以在IDE中调用MSDN文档说明。l 访问其他程序:Visual Studio还能调用许多其他工具来查看和修改计算机或网络的一些内容,而无需退出开发环境。2.4.2 SQL Server 2005数据库的概述SQL Sevrer2005是一个C/S体系结构的关系数据库管理系统,它使TransactSQL语言在客户和SQL Server之间发送处理请求,SQL Server利用C/S体系结构把工作分成两部分:客户

17、端负责逻辑处理把数据呈现给用户,SQL Server管理数据库。SQL Server用TransactSQL作为它的数据库查询和编程语言,使用TransactSQL能够方便地存取数据、查询、更新和管理关系数据库。第3章 系统方案总体设计3.1 系统设计思想及相关技术介绍3.1.1 三层架构设计在软件体系架构设计中,分层式结构是最常见,也是最重要的一种结构。微软推荐的分层式结构一般分为三层,从下至上分别为:数据访问层、业务逻辑层、表示层,如图3-1所示:图31三层的分层式结构在快速开发中重用业务逻辑组件,我们已经在系统中实现添加,更新,删除,查找客户数据的组件。这个组件已经开发并且测试通过,我们

18、可以在其他要保存数据的项目中使用这个组件。使用三层架构进行开发系统比较容易迁移,业务逻辑层与数据访问层是分离的,修改数据访问层不会影响到业务逻辑层。系统如果从用SQL Server存储数据迁移到用Oracle存储数据,并不需要修改业务逻辑层组件和GUI组件。系统容易修改,假如在业务层有一个小小的修改,我们不需要在用户的机器上重装整个系统。我们只需要更新业务逻辑组件就可以了。应用程序开发人员可以并行,独立的开发单独的层。概括来说,分层式设计可以达到分散关注、松散耦合、逻辑复用、标准定义的目的。一个好的分层式结构,可以使得开发人员的分工更加明确。一旦定义好各层次之间的接口,负责不同逻辑设计的开发人

19、员就可以分散关注,齐头并进。例如UI人员只需考虑用户界面的体验与操作,领域的设计人员可以仅关注业务逻辑的设计,而数据库设计人员也不必为繁琐的用户交互而头疼了。每个开发人员的任务得到了确认,开发进度就可以迅速的提高。松散耦合的好处是显而易见的。如果一个系统没有分层,那么各自的逻辑都紧紧纠缠在一起,彼此间相互依赖,谁都是不可替换的。一旦发生改变,则牵一发而动全身,对项目的影响极为严重。降低层与层间的依赖性,既可以良好地保证未来的可扩展,在复用性上也是优势明显。每个功能模块一旦定义好统一的接口,就可以被各个模块所调用,而不用为相同的功能进行重复地开发。进行好的分层式结构设计,标准也是必不可少的。只有

20、在一定程度的标准化基础上,这个系统才是可扩展的,可替换的。而层与层之间的通信也必然保证了接口的标准化。基于以上优点本系统也采用三层架构设计,其工作原理如下图3-2所示:图3-2 人力资源系统三层架构采用三层架构后,用户截面层通过统一的接口向业务层发送请求,业务层按自己的逻辑规则处理请求后进行数据库操作,然后将数据库返回的数据封装成类的形式返回给用户界面层。这样用户界面层甚至可以不知道数据库的结构,只要维护与业务层之间的接口即可。这种方式在一定程度上增加了数据库的安全性,同时也降低了对用户界面层的开发要求,因为它根本不需要进行任何的数据库的操作。上面图中代码隐藏页通过返回对象的形式来返回数据,在

21、类的内部可以规定哪些数据可访问,哪些数据是只读的等,从而通过封装数据达到再一次提高数据安全性的目的。3.1.2 工厂模式专门定义一个类来负责创建其他类的实例,被创建的实例通常都具有共同的父类或接口。简单工厂模式又称为静态工厂方法(Static Factory Method)模式,属于类的创建型模式,通常根据一个条件参数)来返回不同的类的实例,如图3-3所示。参与者: (1)工厂角色(Creator) 是简单工厂模式的核心,它负责实现创建所有具体产品类的实例。工厂类可以被外界直接调用,创建所需的产品对象。 (2)抽象产品角色(Product)是所有具体产品角色的父类,它负责描述所有实例所共有的公

22、共接口。 (3)具体产品角色(Concrete Product)继承自抽象产品角色,一般为多个,是简单工厂模式的创建目标。工厂类返回的都是该角色的某一具体产品。 简单工厂模式根据提供的参数返回具体相同方法的不同类的实例。这些类可以是派生于相同基类的类,也可以是相互之间没有任何关系,只是共享了相同接口的类。前提是:类实例中的方法必须是相同的,并且能够被交替使用。图3-3 简单工厂模式3.1.3 Microsoft .Net Remoting 技术本系统采用Remoting技术是实现数据的分布式处理,利用工厂模式实现系统的“封装机制”。什么是Remoting,简而言之,我们可以将其看作是一种分布式

23、处理方式。在Windows操作系统中,是将应用程序分离为单独的进程。这个进程形成了应用程序代码和数据周围的一道边界。如果不采用进程间通信(RPC)机制,则在一个进程中执行的代码就不能访问另一进程。这是一种操作系统对应用程序的保护机制。然而在某些情况下,我们需要跨过应用程序域,与另外的应用程序域进行通信,即穿越边界。在Remoting中通过通道(channel)来实现两个应用程序域之间对象的通信的。对于要传递的对象,我们只需要了解通道的类型和端口号之外,无需再了解数据包的格式。但必须注意的是,客户端在获取服务器端对象时,并不是获得实际的服务端对象,而是获得它的引用。这既保证了客户端和服务器端有关

24、对象的松散耦合,同时也优化了通信的性能。如图3-4所示:图3-4 Remoting技术服务器端l 远程对象的激活客户端通过通道来创建远程对象,称为对象的激活。在Remoting中,远程对象的激活分为两大类:服务器端激活和客户端激活。服务器端激活,又叫做WellKnown方式,很多又翻译为知名对象。为什么称为知名对象激活模式呢?是因为服务器应用程序在激活对象实例之前会在一个众所周知的统一资源标识符(URI)上来发布这个类型。然后该服务器进程会为此类型配置一个WellKnown对象,并根据指定的端口或地址来发布对象。.Net Remoting把服务器端激活又分为Singleton模式和Single

25、Call模式两种。 (1)Singleton模式:此为有状态模式。如果设置为Singleton激活方式,则Remoting将为所有客户端建立同一个对象实例。当对象处于活动状态时,Singleton实例会处理所有后来的客户端访问请求,而不管它们是同一个客户端,还是其他客户端。2)Singleton实例将在方法调用中一直维持其状态。举例来说,如果一个远程对象有一个累加方法(i=0;+i),被多个客户端(例如两个)调用。如果设置为Singleton方式,则第一个客户获得值为1,第二个客户获得值为2,因为他们获得的对象实例是相同的。如果熟悉Asp.Net的状态管理,我们可以认为它是一种Applicat

26、ion状态。本系统中就采用了该模式。(2)SingleCall模式:SingleCall是一种无状态模式。一旦设置为SingleCall模式,则当客户端调用远程对象的方法时,Remoting会为每一个客户端建立一个远程对象实例,至于对象实例的销毁则是由GC自动管理的。同上一个例子而言,则访问远程对象的两个客户获得的都是1。仍然可以借鉴Asp.Net的状态管理,认为它是一种Session状态。由于本系统采用的是服务器端激活的方式所以客户端激活方式在这就不多说了。l 远程对象的定义Remoting传递的对象是以引用的方式,因此所传递的远程对象类必须继承MarshalByRefObject,MSDN

27、对MarshalByRefObject的说明是:MarshalByRefObject 是那些通过使用代理交换消息来跨越应用程序域边界进行通信的对象的基类。不是从 MarshalByRefObject 继承的对象会以隐式方式按值封送。当远程应用程序引用一个按值封送的对象时,将跨越远程处理边界传递该对象的副本。因为您希望使用代理方法而不是副本方法进行通信,因此需要继承MarshallByRefObject。在Remoting中的远程对象中,如果还要调用或传递某个对象,例如类,或者结构,则该类或结构则必须实现串行化AttributeSerializableAttribute。 将该远程对象以类库的方

28、式编译成Dll。这个Dll将分别放在服务器端和客户端,以添加引用。客户端l 注册通道 IChannel channel1 = new TcpClientChannel (Channel1, new BinaryClientFormatterSinkProvider ();ChannelServices.RegisterChannel (channel1, false);l 获得远程对象本系统中采用的是WellKnown激活模式要获得服务器端的知名远程对象,在工厂类中可通过Activator进程的GetObject()方法来获得:如: url = baseurl + ConfigurationM

29、anager.AppSettings Employee.ToString ();IEmployee employee = (IEmployee) Activator.GetObject (typeof (IEmployee), url);其中参数第一个是远程对象的类型。第二个参数就是服务器端的Uri。Uri有2部分组成,由于是本地计算机所以前半部分用http:/ 127.0.0.1:8080,也可以用具体的服务器IP地址来代替它。端口必须和服务器端的端口一致。后半部分则是服务器定义的远程对象服务名。3.2 系统总体功能模块设计经过对整个系统的分析,可以得出以下功能模块,如图3-5所示:1. 职

30、员管理职员基本信息模块:检索当前启用的组织结构相关的部门及员工信息。2. 职员管理人事事务模块:进行职员转正及离职等管理。3. 职员管理合同管理模块:员工用合同管理功能,可以新建、修改、删除员工合同,也可以对员工合同作“续签”、“变更”、“终止”、“解除”等操作。4. 组织管理组织结构模块 :检索查看不同组织下的部门树及部门信息。修改删除组织和部门信息。图3-5 人力资源系统总体模块第4章 数据库的设计4.1 引言数据库是一个应用系统的核心,数据库设计的好坏直接关系到应用系统的执行效率,数据的一致性和完整性,设计数据库系统时应该首先充分了解用户各个方面的需求,包括现有的以及将来可能增加的需求,

31、数据库设计一般包括以下几个步骤:l 数据库需求分析l 数据库概念结构设计l 数据库逻辑结构设计4.2 数据库需求分析数据库需求分析就是要了解在这个应用系统中,用户需要查询、更新、删除和保存哪些数据,收集基本数据、数据结构以及数据处理的流程,组成一份详尽的数据字典,为后面的具体设计打下基础。通过对职员管理信息进行大量的调研,得出人力资源管理信息系统最典型,最关键的需求:(1)职员一览表中可以方便查询并随时修改员工的个人信息。(2)选择部门名后输入条件能查询员工信息。(3)员工离职时在表中删除相关信息。(4)职员转正时能将对应时间和基本信息导入数据库。(5)职位变动情况下要求部门信息的更改。(6)

32、利用部门表对部门信息操作。(7)利用合同表增加和修改合同。(8)将员工签订的合同信息录入数据库。通过系统功能分析,针对人力资源管理的需求,总结出如下需求信息:(1)员工信息。(2)部门信息。(3)合同管理信息。(4)组织信息4.3 数据库概念结构设计得到了上面的数据项和数据结构以后就可以设计出能够满足用户需求的各种实体以及实体之间的关系,为后面的数据库逻辑结构设计打下基础。这些实体包括各种具体信息,通过相互之间的作用形成数据流动。本系统因为是从整个部门系统中分离出来的,因此实体之间的关系图如图4-1所示:图4-1 人力资源系统数据库实体关系图4.4 数据库逻辑结构设计通过调查分析各种资料,根据

33、本管理系统用户需要操作和处理的各种数据,对数据表进行了分析。确定在数据库中存储的各种数据之间的关系以及数据类型,列举出部分数据表的关系如下:1. 组织表(HRM001Organization)包括的数据项有: 组织编码、组织名称、描述,活动标志,删除标志,创建者,创建日期,最终更新者,最终更新日等。2. 部门表(HRM002Department)包括的数据项有:部门编码、部门名称、组织编码、上级部门编码、创建时间、联系电话、传真、电子邮件、部门职责、删除标志、创建者、创建日期、备注等。3. 职员部门对照表(HRM003DeptEmployee)包括的数据项有:职员编码、部门编码、组织编码等。4

34、. 职员表(HRM004Employee)包括的数据项有:职员编码、职员姓名、住址、身份证号、国籍、民族、籍贯、生日、政治面貌、性别、入社时间、试用期、婚姻状况、户口所在地、联系电话等。5. 类别表(HRM005Category)包括的数据项有:类别编号、类别名称、类别种类、父类别编码、备注等。6. 合同表(HRM006ContactFile)包括的数据项有:合同模板编码、合同类别编码、合同名称、合同模板文件名、合同模板文件等。7. 员工合同信息表(HRM007EmployeeContactInfo)包括的数据项有:合同编码、员工编码、公司编码、合同类别、合同名称、签订日期、生效日期、到期日期

35、、终止日期、合同文件名称、续签原因、变更原因 、终止原因、解除原因、合同状态等。8.公司信息表(HRM008Company)包括的数据项有:公司编码、公司名称、公司地址、法人等。9.员工工作经历表(HRM009WorkExperience)包括的数据项有:员工编码、序号、开始时间、结束时间、行业、公司名、工作内容、离职原因、奖惩情况等。10.员工异动信息表(HRT001DutyChangeHistory)包括的数据项有:员工编码、序号、异动类型、原属部门、原职务、异动后部门、异动后职务、异动日期、异动原因等。根据上面的对数据表的分析,对本系统的数据表进行了认真的设计下面给出了本系统的部分数据表

36、的清单(表41),并以“职员基本信息”子系统中的职员信息表和“组织管理”子系统中的组织信息表为例,给出其数据关系表。表41数据表清单表 名描 述HRM001Organization组织信息表HRM002Department部门信息表HRM003DeptEmployee职员部门对照表HRM004Employee职员信息表HRM005Category类别信息表HRM006ContactFile合同信息表HRM007EmployeeContactInfo员工合同信息表HRM008Company公司信息表HRM009WorkExperience员工工作经历表HRM010StudyExperience员

37、工学习经历表HRM011LanguageAbility员工语言能力表HRM012SkillAbility员工技能表HRM013FamilyRelation员工家庭关系表HRM014RecordInfo员工档案表HRM015InsuredContact员工保险信息表HRM016RewardsPunishment员工奖惩信息表HRT002DimissionHistory员工离职信息表以下是“职员基本信息”子系统中涉及到的“职员信息表”和“组织管理”子系统中涉及到的“组织信息表”。图4-2职员表(HRM004Employee)图4-3组织表(HRM001Organization)第5章 界面设计与实

38、现5.1 登录界面设计1实现目标程序启动后,进入登陆窗体,用户输入用户名和密码,然后进行登录。同时可以按下取消按钮退出本系统,登录界面模块中主要实现如下功能:(1)可进行选择用户身份,支持鼠标操作。(2)用户名和密码验证成功后,进入主界面。(3)用户名错误或密码错误提醒并返回错误点。(4)输入三次错误的密码,系统自动退出。登陆的流程图如图5-1所示:图5-1 登陆流程图2.登陆界面图5-2 登录界面在登录的过程中,系统首先会根据画面上用户输入的内容进行验证检查,相关代码如下: private bool ValidateForm() if (string.IsNullOrEmpty(txtUse

39、rID.Text) txtUserID.Focus(); MessageBox.Show(用户名不能为空!); return false; if (string.IsNullOrEmpty(txtPwd.Text) txtPwd.Focus(); MessageBox.Show(密码不能为空!); return false; return true; 如果验证通过,系统会连接数据库,进行数据正确性以及用户权限的检查,以上检查成功的情况下,就会进入本系统的主窗体,如果失败,跳出错误提示框。 5.2 主要界面设计在职员工基本信息画面1.实现目标程序启动后,登录进入职员基本信息主窗体,。在管理模块中

40、主要实现如下功能:(1)检索当前启用的组织结构相关的部门及员工信息。(2)用作集中处理职员的各类人事信息。(3)对基本信息进行登录和修改操作。(4)通讯录的建立。(5)对职员信息的查询。2.主界面图5-4 在职员工一览界面本界面为主操作界面。用户通过登录界面的验证后,方能进入此界面。此画面可以进行职员信息的新建,更新和删除,以及通讯录和职员信息查询等功能。1) 点击职员新建或者维护按钮进入下面的画面:图5-5 职员维护界面在维护按钮对应的CS代码中,首先获得当前选中的职员的ID,部门ID,取得部门名称,实例化一个职员维护窗体的对象,然后把刚获得一系列值作为参数传给该窗体,并且显示。接下来就可以

41、进行员工信息的修改及保存,职员卡和入职通知的打印,在本页面中还能具体查看该职员的人事档案,如语言能力,员工技能,工作经历,家庭关系,学习经历以及保险信息和奖惩信息等的情况。2) 根据三层架构和工厂模式思想在该过程中的体现,以删除按钮为例具体说明如图5-6所示。图5-6 实现过程点击删除首先会弹出一个MessageBox提示是否要删除该员工信息,MessageBox所显示的信息都在MessageRex.Resource中定义好的,点击确认按钮通过Factory类中的方法返回一个接口类型的实例,使用该实例调用接口中的方法,接口中的方法没有具体的实现过程,在继承该接口的业务逻辑层的CS代码中具体实现

42、了该方法。 Public int RemoveIt (string ticket, ArrayList parmslist)ReturnDbHelper.ExecuteNonQuery(HRM004Employee,RemoveIt,parmslist); 业务逻辑层(KUROFUNE.BLL.HR)具体实现了需要进行哪些操作,调用共通模块中创建的一个本系统自己的数据库操作类(DbHelper)中的ExecuteNonQuery方法,该方法有3个参数,XML文件名,XML文件中定义的SQL语句的唯一标识,以及存放SQL语句中所需传入的参数的一个ArrayList类型的集合。ExecuteNon

43、Query返回一个受影响的行数。,如果该值大于等于1则删除成功,否则提示错误信息。主要代码如下: /单击OK按钮时 if (DialogResult.OK = digResult) /删除职员信息 /deleteEmployee(employeeID); IEmployee employee = Factory.ServiceFactory.CreateIEmployee(); ArrayList parmslist = new ArrayList(); parmslist.Add(employeeID); int rtn = employee.RemoveIt(m_ticket, parmslist); if (rtn = 1) /报删除成功 Msgger.ShowMsg(I000006); /刷新 btnrefresh_Click(sender, e); else /报删除失败 MessageBox.Show(该员工已与公司签订劳动合同,不能删除!, KUROFUNE); XML文件中定义的SQL语句如下:删除员工pa

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 生活休闲 > 在线阅读


备案号:宁ICP备20000045号-2

经营许可证:宁B2-20210002

宁公网安备 64010402000987号