350题目: 酒店人事管理系统

上传人:无*** 文档编号:44332778 上传时间:2021-12-05 格式:DOC 页数:45 大小:1.34MB
收藏 版权申诉 举报 下载
350题目: 酒店人事管理系统_第1页
第1页 / 共45页
350题目: 酒店人事管理系统_第2页
第2页 / 共45页
350题目: 酒店人事管理系统_第3页
第3页 / 共45页
资源描述:

《350题目: 酒店人事管理系统》由会员分享,可在线阅读,更多相关《350题目: 酒店人事管理系统(45页珍藏版)》请在装配图网上搜索。

1、题目: 酒店人事管理系统 院(系):计算机科学与技术学院 专 业: 计算机科学与技术 届 别: 2012 学 号: 0825111008 姓 名: 戴春娥 指导老师: 陈维斌 指导老师职称: 教授 华侨大学教务处印制2012年5月摘 要人事管理是现代酒店管理工作不可缺少的一部分,是推动酒店走向科学化、规范化的必要条件。员工是酒店生存的主要元素,员工的增减、变动将直接影响到酒店的整体运作,所以自动化的酒店人事管理系统就显得非常有必要。本系统使用Visual Studio 2010作开发平台,利用SQL Server 2005作为后台数据库,并采用三层的软件体系结构,分别为:表示层、业务逻辑层、数

2、据访问层。表示层采用WPF设计完成;业务逻辑层采用C#设计完成;数据访问层采用LINQ to Entities设计完成。该系统是一个基于C/S结构的酒店人事管理系统,实现了系统管理、人事管理、工资管理、考勤管理等功能。本人主要负责人事管理、合同管理、招聘管理三个模块。本文首先概括性地阐述了该系统的开发背景、意义;其次介绍了相关的开发工具及技术;接着对本人所负责的模块进行需求分析,并提出了具体的设计方案和数据库模型;然后展现各功能模块的实现思想及详细设计过程;最后介绍了该系统的开发技巧与难点分析。关键词:酒店人事管理;Visual Studio 2010;SQL SERVER 200545ABS

3、TRACTPersonnel Management is part of a modern hotel management indispensable, is a necessary condition to promote the hotel towards scientific and standardized. Employees are the main elements of the survival of the hotel, the increase and decrease or changes in employees will directly affect the ho

4、tels overall operation, so the automated hotel personnel management system is very necessary.The system uses the Visual Studio 2010 as development platform, uses SQL Server 2005 as the back-end database, and uses the three-tier software architecture, namely: the presentation layer, the business logi

5、c layer and the data access layer. Presentation layer uses the WPF to complete the design; the business logic layer uses C# to complete the design; the data access layer uses LINQ to Entities to complete the design.The system is based on c/s structure of the hotels personnel management system, for s

6、ystem administration, it has actualized personnel management, payroll management, attendance management, and other functions. I am mainly responsible for personnel management, contract management and recruitment management module.This article first describes the General system development background

7、 and significance; followed introduced the development of relevant tools and techniques; then on my modules responsible for requirements analysis, and provide concrete design plan and database models; and then show the thought of realization of functional modules and a detailed design process; final

8、ly introduced the system of development skills and difficulties analysis. Keywords: Hotel personnel management, Visual Studio 2010, SQL SERVER 2005目录摘 要2ABSTRACT3第1章 引 言61.1项目背景61.2项目意义6第2章 相关开发技术介绍82.1 SQL Server 简介82.2 WPF简介82.3 LINQ to Entities概述82.4 三层架构9第3章 系统需求分析113.1功能需求分析113.1.1人事管理功能描述113.1

9、.2合同管理功能描述123.1.3招聘管理功能描述123.2用例图分析123.2.1人事管理用例图133.2.2合同管理用例图153.2.3招聘管理用例图163.3性能需求分析16第4章 系统总体设计184.1系统功能模块图184.1.1 系统总体规划图184.1.2 人事管理功能模块图184.1.3 合同管理功能模块图204.1.4招聘管理功能模块图214.2数据库设计224.2.1 数据库表的设计224.2.2数据库关系模型图27第5章 系统详细设计295.1系统架构设计295.2人事管理模块的设计与实现305.2.1新员工入职315.2.2查询员工信息315.2.3 编辑员工信息325.

10、2.4 职位变动325.2.5 批量离职335.2.6报表分析335.3合同管理模块的设计与实现335.3.1创建合同345.3.2删除合同345.3.3合同数据导出355.4招聘管理模块的设计与实现355.4.1发布招聘计划365.4.2.停止招聘计划36第6章 开发技巧与难点分析376.1输入验证设计376.2在数据库中存取图片386.2.1存储图片386.2.2读取图片396.3分页技术40第7章 总结42参考文献43致谢45第1章 引 言1.1项目背景21世纪的今天,随着计算机技术的飞速发展,计算机在企业管理中已经广泛普及,利用计算机实现企业人事管理已成为必然趋势。对于大中型企业来讲,

11、利用计算机支持企业高效率完成劳动人事管理的日常事务,是适应现代企业制度要求、推动企业劳动人事管理走向科学化、规范化的必备条件;合理的利用有助于企业发展的管理系统是企业改革的一种优越的体现,不仅保证了核算准确度,还成倍的提高了工作效率,而且便于查询。而工资管理是一项琐碎、复杂而又十分细致的工作,工资计算、发放、核算的工作量很大,一般不允许出错,如果实行手工操作,每月发放工资须手工填制大量的表格,这就会耗费工作人员大量的时间和精力。计算机管理所无法比拟的优点有检索迅速、可靠性高、查找方便、保密性好、存储量大、成本低以及寿命长等。这些优点能够极大地提高人事管理的效率,也是企业的科学化、正规化管理与世

12、界接轨的重要条件。然而不同的企业具有不同的人事管理制度,这也就决定了不同的企业需要不同的人事管理系统。人事管理系统是一个企业单位不可缺少的部分,它的内容对于企业的决策者和管理者来说都至关重要,所以人事管理系统应该能够为用户提供充足的信息和快捷的查询手段。但一直以来人们使用传统人工的方式管理文件档案,这种管理方式存在着许多缺点,如:效率低、保密性差,另外时间一长,将产生大量的文件和数据,这对于查找、更新和维护都带来了不少的困难。面对目前的实际状况,迫切需要开发一个适用的人事管理软件来适应这一些工作。1.2项目意义随着计算机的普及和计算机科学技术的飞速发展,人们开始越来越多地利用计算机解决实际问题

13、。酒店人事管理系统是一个现代化的企业在竞争中立于不败之地的必要部分,它能够为查询人事信息提供充足的信息和快捷的查询手段。人事工资信息管理是大型酒店信息管理的重要部分,也是一项琐碎,繁杂而又非常细致的工作,一般是不允许发生差错的,它直接影响着劳动者队工作的积极性,是提高劳动生产力,提高企业活力的基础。在以往手工进行的办公工作中,需反复的进行各种抄写,计算等工作,不仅花费大量的时间,而且数据的准确性低。因此,开发一个界面友好,易于操作的酒店人事管理软件进行自动化处理变得十分重要。通过酒店人事管理系统进行人事信息的管理,不仅使得人事管理方式变得集中化,而且提高了人事管理的可用性和可靠性,最终使酒店走

14、向科学化、正规化管理。通过数据库存储方式不仅方便进行查找和修改人事信息,而且方便进行数据统计和数据备份。人才招聘管理是企业人力资源管理的重要组成部分,提供一套全面的招聘管理解决方案,将整个招募管理e化,优化招聘管理的流程,提升人才招聘的有效性,它主要包括招聘申请、招聘计划、招聘渠道管理、应聘人才库、报表等,真正实现“足不出户”,而“尽揽天下英才”。第2章 相关开发技术介绍2.1 SQL Server 简介SQL Server是微软公司开发的一个关系数据库管理系统,以Transact SQL的数据库查询和编程语言。T-SQL 是结构化查询语言SQL的一种,支持ANSI SQL92标准。数据库通常

15、有两个主要部分:一个是保存物理数据库的文件,一个是应用程序用于访问数据的数据库管理系统 (DBMS) 软件。DBMS 负责维护数据库的结构,包括: 1据库内数据间的关系。2数据存储正确,定义数据间关系的规则未被违反。3系统崩溃的情况下,按照已知的一致性程度恢复所有数据。2.2 WPF简介WPF 是Windows Presentation Foundation 的简称,顾名思义是专门用来编写程序表示层的技术和工具。WPF是微软推出的基于Windows Vista的用户界面框架,属于.NET Framework 3.0的一部分。它提供了统一的编程模型、语言和框架,真正做到了分离界面设计人员与开发人

16、员的工作;同时它提供了全新的多媒体交互用户图形界面。它把界面展示和逻辑控制分开处理,前台使用XAML语言作为前台页面构建语言,后台使用C#、VB高级语言作为控制语言进行数据处理和交互。WPF技术是微软在开发理念上的一次升级由“事件驱动”变成“数据驱动”。使用WPF进行开发较之Windows Forms开发要简单,程序更加简洁清晰。WPF可以实现数据绑定,这是它一大优点。除了可以用在传统的绑定环境中,数据绑定已经被扩展应用到控件属性上。 通过数据绑定,我们在应用程序UI和程序逻辑之间建立了一种联系。正常建立绑定后,在数据的值发生改变 后,绑定到数据的元素将自动更新、体现出数据的变化。因为WPF可

17、以提高开发效率并有利于团队开发,所以我们使用WPF技术来开发系统。2.3 LINQ to Entities概述LINQ to Entities提供语言集成查询(LINQ)支持,它允许开发人员使用C#或者VB根据实体框架概念模型来编写查询。其中,LINQ to Entities将LINQ查询转换为命令目录树查询,针对实体框架执行这些查询,并返回可同时由实体框架和LINQ使用的对象。LINQ的优点在于封装了SQL语句,只对对象进行操作(添加、删除、修改和查询)、代码量大大减少,让我们重点关心业务逻辑,把我们引入到面向对象编程方式上来。LINQ to Entities技术使开发人员能够通过使用 LI

18、NQ 表达式和 LINQ 标准查询运算符,直接从开发环境中针对 实体框架对象上下文创建灵活的强类型查询。 LINQ to Entities 查询使用对象服务基础结构。ObjectContext 类是作为 CLR 对象与 EDM 进行交互的主要类。开发人员通过 ObjectContext 构造 ObjectQuery 实例。ObjectQuery 泛型类表示一个查询,此查询返回一个由类型化实体组成的实例或集合。由 ObjectQuery 返回的实体对象由对象上下文跟踪,并可以使用 SaveChanges 方法进行更新。然而面向对象的编程模型并没有解决数据的访问和整合的复杂问题。对于数据库的访问和

19、XML 的访问,面向对象方法论无法从根本意义上解决其复杂度和难度,而LINQ 提供了一种更好的解决方案。因此,我们使用Linq to entity。2.4 三层架构所谓的三层开发就是将系统的整个业务应用划分为表示层、业务逻辑层、数据访问层,这样有利于系统的开发、维护、部署和扩展。分层是为了实现“高内聚、低耦合”。采用“分而治之”的思想,把问题划分开来各个解决,易于控制,易于延展,易于分配资源。 表示层:负责直接跟用户进行交互,一般也就是指系统的界面,用于数据录入,数据显示等。意味着只做与外观显示相关的工作,不属于他的工作不做。 业务逻辑层:用于做一些有效性验证的工作,以更好地保证程序运行的健壮

20、性。如完成数据添加、修改和查询业务等;不允许指定的文本框中输入空字符串,数据格式是否正确及数据类型验证;用户的权限的合法性判断等等,通过以上的诸多判断以决定是否将操作继续向后传递,尽量保证程序的正常运行。 数据访问层:顾名思义,就是用于专门跟数据库进行交互。执行数据的添加、删除、修改和显示等。需要强调的是,所有的数据对象只在这一层被引用,除数据访问层之外的任何地方都不应该出现这样的引用。本系统以三层构架的方式来实现,表示层采用WPF来编写完成,业务逻辑层采用C#、中间类型与逻辑函数来实现,数据访问层使用LINQ to Entities的访问方式。具体如图2-1所示。用户操作LINQ查询WPF表

21、示层C#中间类型与逻辑函数业务逻辑层数据库:SQL Server 访问方式:LINQ to Entities数据访问层图2-1 三层架构示意第3章 系统需求分析3.1功能需求分析经分析本系统主要实现9大功能:人事管理、合同管理、招聘管理、培训管理、餐卡管理、工资管理、考勤管理、系统管理、宿舍管理。本人主要介绍人事管理、合同管理、招聘管理三大块,具体功能分析如下:3.1.1人事管理功能描述人事管理主要包括员工管理、离职员工管理、部门管理、职位管理。(1)员工管理:人事部门负责维护员工的基本资料。当员工第一天来公司报到时,人事部门将员工的基本资料(姓名、性别、出生年月及所属部门等)录入数据库中。通

22、过人事管理实现对员工信息的基本维护,并记录员工的职位调动情况。当员工提交辞职申请时,人事部门可将员工的离职基本信息录入数据库中。主要功能包括:l 录入新员工基本信息l 维护员工基本信息l 按多条件(姓名、性别、所属部门等)搜索员工l 打印员工信息l 上传/修改员工照片l 录入员工职位调动情况l 录入员工离职信息(2)离职员工管理:人事部门负责维护离职员工的基本资料。主要功能包括:l 维护离职员工基本信息l 按多条件(姓名、性别、所属部门等)搜索离职员工l 打印离职员工基本信息(3)部门管理:人事部门负责维护各个部门的基本信息。若酒店需要新增一个部门时,人事部门将部门基本信息录入数据库中。主要功

23、能包括:l 录入部门基本信息 l 维护部门基本信息l 按部门编号、部门名称搜索部门(4)职位管理:人事部门负责维护各个部门的每个职位的基本信息。若酒店需要为某个部门新增一个职位时,人事部门将职位基本信息录入数据库中。主要功能包括:l 录入职位基本信息 l 维护职位基本信息l 按部门名称、职位名称等搜索部门(5)报表分析:统计分析部门员工个数、男女比例,实现导出统计表格,对数据资料进行保护。3.1.2合同管理功能描述人事部门为每一个新入职的员工签订试用期合同,并负责维护每个员工合同的基本信息。主要功能包括:l 录入员工合同基本信息 l 维护员工合同基本信息l 按员工编号、部门名称、合同种类等条件

24、搜索员工合同l 打印员工合同3.1.3招聘管理功能描述通过计划人员需求,形成招聘计划管理。人事部门接受部门招聘申请,制定招聘计划,将招聘信息发布到网页上或通过打印来发布招聘信息。主要功能包括:l 制定招聘计划 l 维护招聘计划基本信息l 按多条件搜索招聘计划l 发布招聘计划l 停止招聘计划l 打印招聘计划3.2用例图分析用例图主要用来图示化系统的主事件流程,它主要用来描述需求,即希望系统具备的完成一定功能的动作,通俗地理解用例就是软件的功能模块,是设计系统分析阶段的起点,设计人员根据需求来创建和解释用例图,用来描述软件应具备哪些功能模块以及这些模块之间的调用关系,用例图图符如表3-1所示。表3

25、-1 UML用例图图符可视化图符名称描述用例用来表示用例图中的用例 执行者用于描述与系统功能有关的外部实体,可以是用户,也可以是外部系统。关联连接执行者和用例3.2.1人事管理用例图通过系统的功能需求分析,可得到系统的执行者为人事部经理,系统的用例为人事管理。人事管理的总体用例图如图3-1所示。图3-1 人事管理用例图(1)员工管理用例图如图3-2所示。图3-2 员工管理用例图(2)离职员工管理用例图如图3-3所示。图3-3 离职员工管理用例图(3)部门管理用例图如图3-4所示。图3-4部门管理用例图(4)职位管理如图3-5所示。图3-5职位管理用例图3.2.2合同管理用例图合同管理用例图如图

26、3-6所示。图3-6合同管理用例图3.2.3招聘管理用例图招聘管理用例图如图3-7所示。图3-7招聘管理用例图3.3性能需求分析整个系统应当操作简便,界面友好,维护简便。数据库要求运行稳定,执行速度快,数据安全性高。软件系统本身运行对计算机硬件平台和操作系统平台要求适中。第4章 系统总体设计系统总体设计主要包括:系统功能模块图设计、数据库设计。4.1系统功能模块图在对开发系统进行全面分析调查的基础上,制定出应用软件的总体设计规划,对建立大型的信息系统来说是必须的,也是全面展开开发工作的基础。4.1.1 系统总体规划图对于开发软件系统来说,前期的总体设计规划是必要的,也是必须的,因为他将影响到整

27、个系统质量的好坏和设计实现的进度,所以,在开发一个酒店人事管理系统时,必须先对其进行总体的设计规划,而使之后的工作能朝着预定的方向发展.通过上面对系统的需求分析,我们可以规划一个简单的酒店人事管理系统的总体设计方向。系统总体规划图如图4-1所示。酒店人事管理系统培训管理人事管理合同管理招聘管理工资管理餐卡管理考勤管理宿舍管理系统管理图4-1系统总体规划图本文主要介绍人事管理、合同管理和招聘管理三个模块。4.1.2 人事管理功能模块图人事管理功能模块图如图4-2所示。人事管理部门管理新增部门查询部门编辑部门删除部门职位管理删除职位编辑职位查询职位新增职位员工管理员工离职删除员工编辑员工查询员工新

28、员工入职职位变动员工数据导出离职员工管理查询离职员工删除离职员工离职员工数据导出报表分析图4-2人事管理功能模块图此模块主要功能在于管理职工的信息、离职员工信息以及职位调动情况,具体说明如下:1) 员工管理:用于对在职员工的管理。具体包括:l 新员工入职:实现添加新员工的功能。l 查询员工:根据员工编号、所在部门等多个条件查询员工信息。l 编辑员工:当员工信息发生变更时,人事部经理可将变更数据写入数据库。l 删除员工:实现删除员工信息的功能。l 员工离职:当职工提交辞职申请时,人事部经理可对员工进行批量离职操作,将离职信息录入数据库。l 职位变动:当职工发生职位变更的时候(升迁、换部门),人事

29、部经理可对员工进行批量职位变动,将职位变动信息录入数据库。l 员工数据导出:将员工信息以Excel格式导出。2)离职员工管理:用于对系统中离职员工的管理。具体包括:l 查询离职员工:实现根据员工编号、部门名称、离职原因、离职日期等多个条件查询离职员工信息。l 删除离职员工:实现删除离职员工信息的功能。l 离职员工数据导出:将离职员工信息以Excel格式导出。 3)部门管理:主要是对部门信息的管理。具体包括:l 新增部门:实现部门添加功能。l 编辑部门:当部门信息发生变更时,人事部经理将变更数据写入数据库。l 删除部门:实现删除部门信息的功能。l 查询部门:实现根据部门编号、部门名称查询部门信息

30、的功能。 4)职位管理:主要是对各部门的职位管理。具体包括:l 新增职位:实现为某个部门添加新职位的功能。l 编辑职位:当职位信息发生变更时,人事部将变更数据写入数据库。l 删除职位:实现删除职位信息的功能。l 查询职位:实现根据部门名称、职位名称查询职位信息的功能。 5)报表分析:统计分析部门员工个数、男女比例,并导出统计表格。4.1.3 合同管理功能模块图合同管理功能模块图如图4-3所示。合同管理创建合同查询合同编辑合同删除合同合同数据导出图4-3合同管理功能模块图此模块的主要功能在于对员工合同信息的管理,具体说明如下:1) 创建合同:包括单个创建合同、批量创建合同,人事部经理对每一个新入

31、职的员工添加试用期合同。2) 编辑合同:当使用期职工转正时,将其试用期合同更改为正式职工合同,员工离职时结束合同。3) 查询合同:实现查看员工合同的功能。4) 删除合同:实现删除员工合同的功能。5) 合同数据导出:将合同数据以Excel格式导出。4.1.4招聘管理功能模块图招聘管理功能模块图如图4-4所示。招聘管理新增招聘计划停止招聘计划查询招聘计划发布招聘计划编辑招聘计划招聘数据导出删除招聘计划图4-4招聘管理功能模块图此模块的主要功能在于对招聘信息的管理。具体说明如下:1) 新增招聘计划:新增一条招聘计划信息2) 编辑招聘计划:当招聘信息输入有误时,可以进行变更。3) 查询招聘计划:实现查

32、看招聘计划的功能。4) 发布招聘计划:在确认招聘信息后,将招聘状态改为已发布,并可以通过打印的形式进行招聘信息的发布。5) 停止招聘计划:当招聘时间结束、人数招满时,将招聘状态改为已停止。6) 删除招聘计划:实现删除招聘计划的功能。7) 招聘数据导出:将招聘数据以Excel格式导出。4.2数据库设计本文主要介绍人事管理、合同管理、招聘管理三个模块的数据库设计。4.2.1 数据库表的设计通过人事管理、合同管理、招聘管理三个模块的功能分析,可以建立以下9张数据表,用于存放各个模块的数据。(1) 部门表表名称:Department作用:用于存放部门的基本信息。结构及数据类型如表4-1所示。表4-1部

33、门表名称数据类型主要的外来键强制注释DepartmentIdvarchar(20)TRUEFALSETRUE部门编号DepartmentNamevarchar(50)FALSEFALSETRUE部门名称Descriptionvarchar(255)FALSEFALSEFALSE部门描述CreateTimedatetimeFALSEFALSEFALSE创建时间UpdateTimedatetimeFALSEFALSEFALSE更新时间OperateUserIdvarchar(20)FALSEFALSEFALSE最后一次操作人(2) 职位表表名称:Position 作用:用于存放各个部门中的每个职位

34、的基本信息。结构及数据类型如表4-2所示。表4-2职位表名称数据类型主要的外来键强制注释PositionIdvarchar(20)TRUEFALSETRUE职位编号DepartmentIdvarchar(20)FALSEFALSETRUE所属部门IDPositionNamevarchar(50)FALSEFALSETRUE职位WageTemplatemoneyFALSEFALSETRUE职位工资标准Descriptionvarchar(10)FALSEFALSEFALSE说明CreateTimedatetimeFALSEFALSETRUE创建时间UpdateTimedatetimeFALSEF

35、ALSETRUE更新时间OperateUserIdvarchar(20)FALSEFALSEFALSE最后一次操作人ID(3) 省表表名称:Province作用:用于存放每个省的基本信息。结构及数据类型如表4-3所示。表4-3省表名称数据类型主要的外来键强制注释ProvinceIdintTRUEFALSETRUE省编号ProvinceNamevarchar(50)FALSEFALSEFALSE省名称(4) 城市表表名称:City作用:用于存放各个省份里的每个城市的基本信息。结构及数据类型如表4-4所示。表4-4城市表名称数据类型主要的外来键强制注释CityIdintFALSEFALSETRUE

36、城市编号CityNamevarchar(50)TRUEFALSETRUE城市名称ProvinceIdintFALSETRUEFALSE省编号(5) 员工表表名称:Employee作用:用于存放每个员工的基本信息。结构及数据类型如表4-5所示。表4-5员工表Employee名称数据类型主要的外来键强制注释EmployeeIdvarchar(20)TRUEFALSETRUE员工编号PositionIdvarchar(20)FALSETRUETRUE职位编号DepartmentIdvarchar(20)FALSETRUEFALSE所属部门编号EmployeeNamevarchar(50)FALSEF

37、ALSEFALSE员工姓名EmployeeImageimageFALSEFALSEFALSE员工照片地址IdentityCardvarchar(24)FALSEFALSEFALSE身份证号Sexvarchar(4)FALSEFALSEFALSE性别:男、女BirthdaydatetimeFALSEFALSETRUE生日Phonevarchar(50)FALSEFALSEFALSE电话CellPhonevarchar(50)FALSEFALSEFALSE手机Addressvarchar(200)FALSEFALSEFALSE联系地址Emailvarchar(200)FALSEFALSEFALSE

38、邮箱地址Educationvarchar(50)FALSEFALSEFALSE学历Schoolvarchar(200)FALSEFALSEFALSE毕业院校Professionalvarchar(200)FALSEFALSEFALSE学历专业GraduateTimedatetimeFALSEFALSETRUE毕业时间Politicsvarchar(50)FALSEFALSEFALSE政治面貌:群众、团员、预备党员、党员EntryWorkTimedatetimeFALSEFALSETRUE员工入职日期ZhuanZhengTimedatetimeFALSEFALSETRUE员工转正日期LeaveT

39、imedatetimeFALSEFALSETRUE员工离职日期RetirementTimedatetimeFALSEFALSETRUE员工退休日期EmployeeStatevarchar(10)FALSEFALSETRUE员工状态:实习生、兼职、试用期、正式员工、休假、退休、离职MartalStatusvarchar(4)FALSEFALSEFALSE婚否:已婚、未婚Ethnicvarchar(20)FALSEFALSEFALSE民族ProvinceIdintFALSEFALSEFALSE省编号CityNamevarchar(50)FALSEFALSEFALSE城市名称Remarksvarch

40、ar(200)FALSEFALSEFALSE备注WorkLocationvarchar(50)FALSEFALSEFALSE工作地区(6) 员工职位变动记录表表名称:PositionChangeLog作用:用于存放每个员工的职位变动信息。结构及数据类型如表4-6所示。表4-6员工职位变动记录表名称数据类型主要的外来键强制注释PositionChangeLogIdintTRUEFALSETRUE职位变动记录编号EmployeeIdvarchar(20)FALSETRUETRUE员工编号OldPositionIdvarchar(20)FALSEFALSETRUE原职位编号NewPositionId

41、varchar(20)FALSEFALSETRUE新职位编号RemarktextFALSEFALSEFALSE备注ChangeTimedatetimeFALSEFALSETRUE变动时间ApproverIdvarchar(20)FALSEFALSEFALSE变动审批人编号(7) 员工离职表表名称:EmployeeDimission作用:用于存放每个员工的基本离职信息。结构及数据类型如表4-7所示。表4-7员工离职表名称数据类型主要的外来键强制注释DimissionIdintTRUEFALSETRUE离职编号EmployeeIdvarchar(20)FALSETRUETRUE员工编号Dimiss

42、ionTimedatetimeFALSEFALSETRUE离职日期DimissionReasonvarchar(20)FALSEFALSEFALSE离职原因DimissionApproverIdvarchar(20)FALSEFALSEFALSE离职审批人编号Remarkvarchar(200)FALSEFALSEFALSE备注(8) 招聘计划表表名称:Recruitment作用:用于存放每个招聘计划的基本信息。结构及数据类型如表4-8所示。表4-8招聘计划表名称数据类型主要的外来键强制注释RecruitIdintTRUEFALSETRUE招聘编号PositionIdvarchar(20)FA

43、LSETRUETRUE职位编号PlanNumberintFALSEFALSETRUE计划招聘人数WorkLocationvarchar(50)FALSEFALSETRUE工作地区WorkTypevarchar(50)FALSEFALSETRUE用工形式:正式员工、实习生、兼职StartDatedatetimeFALSEFALSETRUE职位发布日期EndDatedatetimeFALSEFALSETRUE职位关闭日期Degreevarchar(Max)FALSEFALSEFALSE学历要求Specialityvarchar(50)FALSEFALSEFALSE专业要求AgeRagevarcha

44、r(20)FALSEFALSEFALSE年龄限制WorkYearvarchar(20)FALSEFALSEFALSE工作年限SalaryRangevarchar(20)FALSEFALSEFALSE薪资范围JobSkillvarchar(200)FALSEFALSEFALSE职位技能要求LanguageSkillvarchar(200)FALSEFALSEFALSE语言技能要求Statusvarchar(10)FALSEFALSEFALSE招聘状态:未发布 、已发布 、已停止(9) 员工合同表表名称:EmployeeContract作用:用于存放每个员工合同的基本信息。结构及数据类型如表4-9

45、所示。表4-9员工合同表名称数据类型主要的外来键强制注释ContractIdintTRUEFALSETRUE合同编号EmployeeIdvarchar(20)FALSETRUETRUE员工IDContractTypevarchar(10)FALSEFALSEFALSE合同种类如:试用期合同、临时合同、正式合同、其他合同ContractStatusvarchar(5)FALSEFALSEFALSE合同状态:如有效、终止、解除、未签StartTimedatetimeFALSEFALSETRUE合同起始日期EndTimedatetimeFALSEFALSETRUE合同结束时间CreateTimeda

46、tetimeFALSEFALSETRUE信息创建时间UpdateTimedatetimeFALSEFALSETRUE信息更新时间OperateUserIdvarchar(20)FALSEFALSEFALSE操作人IDRemarkvarchar(1000)FALSEFALSEFALSE备注4.2.2数据库关系模型图为了能够更好地了解员工表与其他各表之间的关系,系统使用Power Designer工具完成数据库建模,并最终生成各表之间的关系模型如图4-5所示。通过图4-5可以看出,关键的表有员工表、部门表、职位表、员工职位变动记录表、员工离职表、员工合同表、招聘计划表等。在数据库设计中,设置主键、

47、外键、唯一键,维护引用完整性,是非常必要的,为保持数据一致性,完整性提供保证。各表之间的具体关系如下:l 城市表中的属性“省编号”引用于省表中的属性“省编号。”l 职位表中的属性“部门编号”引用于部门表中的属性“部门编号。”l 员工表中的属性“职位编号”引用于职位表中的属性“职位编号”;属性“所属部门编号”引用于部门表的“部门编号”。l 员工职位变动表中的属性“员工编号”引用于员工表中的属性“员工编号”;属性“原职位编号”和“新职位编号”均引用于职位表中的属性“职位编号”。l 招聘计划表中的属性“职位编号”引用于职位表中的属性“职位编号。”l 员工合同表中的属性“员工编号”引用于员工表中的属性

48、“员工编号。”图4-5数据库关系模型图第5章 系统详细设计根据需求分析、总体设计的结果,采用Visual Studio2010作为开发工具,实现酒店人事管理系统的各个功能设计。本章主要介绍人事管理模块、合同管理模块、招聘管理模块的功能设计。5.1系统架构设计本系统采用三层架构方法,这三层分别为业务逻辑层、数据访问层和表示层。这种架构的优势是在数据库或用户界面发生改变时不需要重新开发,只做简单调整即可。系统架构图如图5-1所示,系统架构详细图如图5-2所示。图5.1系统架构图 图5-2系统架构详细图解决方案中有3个项目,项目BLL对应于三层架构中的业务逻辑层,主要负责数据库访问和基本的数据逻辑处

49、理;项目Model对应于数据访问层,主要用于实现数据库“表”到“实体”之间的映射;项目UI对应于表示层,主要负责用户页面布局及基本交互脚本。这三个项目之间的关系如图5-3所示。UIBLL数据库Model用户提交请求LINQ中间数据逻辑查询函数LINQ to Entities图5-3 项目关系图5.2人事管理模块的设计与实现人事管理的业务逻辑层主要对应于项目BLL中PersonnelBLL.cs文件,数据访问层对应于项目Model中Personnel文件夹,表示层对应于项目UI中Personnel文件夹。人事管理模块主要包括员工管理、离职员工管理、部门管理、职位管理,其中将查询,删除的功能在同一

50、个页面中实现,满足了实际需求,也节省了系统开销。同时将查询结果分页显示,提高了系统效率。人事管理主界面如图5-4所示。图5-4人事管理界面说明:由于人事管理模块中员工管理、离职员工管理、部门管理、职位管理设计思想基本一致,实现的功能大部分是相同的,因此下面以员工管理为例进行讲解。5.2.1新员工入职完成新员工基本信息的录入,包括姓名、性别、出生日期、头像、所在部门、职位等信息,并设有基本的输入验证,如果输入格式有误,添加时会弹出提示窗口,具体界面设计如图5-5所示。图5-5新员工入职界面 5.2.2查询员工信息实现根据员工编号、所在部门、性别等多个条件拼接查询员工信息,并将查询结果分页显示,具

51、体界面设计如图5-6所示。图5-6查询员工信息界面5.2.3 编辑员工信息当员工信息发生变更时,点击编辑按钮,进行相应信息修改。变更信息填写完后点击更新按钮,变更信息将存入数据库中,若不需要更改,可点击取消按钮,界面将显示原来默认信息,具体界面设计如图5-7所示。图5-7编辑员工信息界面5.2.4 职位变动 当职工发生职位变更的时候,人事部经理可对员工进行批量职位变动,将职位变动基本信息录入数据库。具体界面设计如图5-8所示。图5-8职位变动界面5.2.5 批量离职当职工提交辞职申请时,人事部经理可对员工进行批量离职操作,将离职信息录入数据库,并自动将员工状态改为离职。具体界面设计如图5-9所

52、示。图5-9批量离职界面5.2.6报表分析统计分析部门员工个数、男女比例,并导出统计表格。具体界面设计如图5-10所示。图5-10报表分析界面5.3合同管理模块的设计与实现合同管理的业务逻辑层主要对应于项目BLL中ContractBLL.cs文件,数据访问层对应于项目Model中Contract文件夹,表示层对应于项目UI中Contract文件夹。合同管理模块主要包括创建合同、编辑合同、删除合同、数据导出,其中将查询,删除的功能在同一个页面中实现,满足了实际需求,也节省了系统开销。同时将查询结果分页显示,提高了系统效率。合同管理界面设计如图5-11所示。图5-11合同管理界面5.3.1创建合同

53、当有新员工入职后,人事部经理为每一个新入职的员工,即合同状态为未签的员工添加试用期合同。当员工转正后,人事部经理可为员工创建正式合同。而且可以同时创建批量多个合同。具体界面设计如图5-12所示。图5-12创建人事合同界面5.3.2删除合同当员工离职或合同作废后,可将员工的人事合同删除,并将合同状态改为未签。5.3.3合同数据导出将职工合同信息通过定制模板以Excel格式导出。具体如图5-13所示。图5-13合同数据导出5.4招聘管理模块的设计与实现招聘管理的业务逻辑层主要对应于项目BLL中RecruitmentBLL.cs文件,数据访问层对应于项目Model中Recruitment文件夹,表示

54、层对应于项目UI中Recruitment文件夹。招聘管理模块主要包括新增招聘计划、编辑招聘计划、删除招聘计划、发布招聘计划、停止招聘计划、招聘数据导出,其中将查询,删除的功能在同一个页面中实现,满足了实际需求,也节省了系统开销。同时将查询结果分页显示,提高了系统效率。招聘管理界面设计如图5-14所示。图5-14招聘管理界面5.4.1发布招聘计划 在确认招聘信息后,通过点击发布招聘按钮将招聘状态改为已发布,并可以通过打印的形式进行招聘信息的发布。5.4.2.停止招聘计划 当招聘时间结束、人数招满时,通过点击停止招聘计划将招聘状态改为已停止。第6章 开发技巧与难点分析6.1输入验证设计在新员工入职

55、时,如果在员工编号填写非数字,身份证号、邮箱地址、电话号码、手机号码输入格式有误,程序执行过程中会出现异常,但是,用户输入的错误时不可避免的,怎样才能避免此问题呢?可以提交时,在所有需要验证的控件中对用户输入的字符进行判断,如果输入合法,则继续执行;如果输入不合法,则弹出消息对话框,代码如下:if (System.Text.RegularExpressions.Regex.IsMatch(EmployeeId.Text, 0-9*$) = false) /判断输入是否为数字 MessageBox.Show(请输入数字编号); /弹出消息对话框else if (IdentityCard.Text

56、 != ) if(System.Text.RegularExpressions.Regex.IsMatch(IdentityCard.Text, (d17(?:d|x)$)|(d15$) = false) MessageBox.Show(身份证号输入格式错误,请重新输入); else if (Email.Text != ) if(System.Text.RegularExpressions.Regex.IsMatch(Email.Text, d6$) = false) MessageBox.Show(邮箱地址输入格式错误,请重新输入) else if (Phone.Text!=) if(Sys

57、tem.Text.RegularExpressions.Regex.IsMatch(Phone.Text, (d3,4-)?d6,8$) = false) MessageBox.Show(家庭电话输入格式错误,请重新输入); else if (CellPhone.Text != ) if(System.Text.RegularExpressions.Regex.IsMatch(CellPhone.Text, 1+3,5+d9) = false) MessageBox.Show(手机号输入格式错误,请重新输入); 6.2在数据库中存取图片在新员工入职时,为了能够在窗体中显示员工照片,需要将图片存入数据库并进行读取。下面讲解向数据库中存取图片的方法。6.2.1存储图片将图片以Image类型存储到数据库中,首先通过浏览按钮打开图片,获取图片的流对象,然后利通Read方法从图片文件读取二进制数据存储到字节数组,最后将图片的字节数组保存到数据库,代码如下:/浏览图片按钮事件 private void btnBrowse_Click(object sender, RoutedEventArgs e)

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

copyright@ 2023-2025  zhuangpeitu.com 装配图网版权所有   联系电话:18123376007

备案号:ICP2024067431-1 川公网安备51140202000466号


本站为文档C2C交易模式,即用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知装配图网,我们立即给予删除!