软件工程项目实践报告
课题名称 (副标题) 学院(系) 专 业 学 号 学生姓名 小组编号 完成时间
人力资源管理系统
HRMS
2011年6 月 2 日
目录
1引言 ............................................................................................................................................... 4
1.1系统研究背景.................................................................................................................... 4 1.2编写目的 ........................................................................................................................... 4 1.3课题研究的目的和意义.................................................................................................... 4 2可行性分析 ................................................................................................................................... 6
2.1技术及开发方法可行性.................................................................................................... 6
2.1.1本系统技术要求 .................................................................................................... 6 2.1.2开发工具................................................................................................................ 6 2.2管理可行性........................................................................................................................ 7 2.3经济可行性........................................................................................................................ 7 2.4操作可行性........................................................................................................................ 7 3需求分析 ...................................................................................................................................... 8
3.1系统设计目标.................................................................................................................... 8 3.2系统主要功能要求............................................................................................................ 8
3.2.1系统预想模块 ..................................................................................................... 8 3.2.2系统预想功能........................................................................................................ 9 3.3数据流图与数据字典...................................................................................................... 10 4总体设计 .................................................................................................................................... 12
4.1系统模块结构图.............................................................................................................. 12 4.2功能设计 ......................................................................................................................... 12
4.2.1系统操作.............................................................................................................. 12 4.2.2人事档案 ........................................................................................................... 14 4.2.3人事管理模块 ................................................................................................... 15 4.2.4日常管理 ........................................................................................................... 16 4.2.5系统业务流程图 .................................................................................................. 17 4.3数据库设计...................................................................................................................... 17
4.3.1人力资源管理数据库设计 .................................................................................. 17 4.4数据库概念模型设计...................................................................................................... 24 5详细设计 ..................................................................................................................................... 29
5.1用户登录模块.................................................................................................................. 29 5.2主界面设计....................................................................................................................... 31 5.3系统操作模块设计.......................................................................................................... 34 5.5人事档案模块设计.......................................................................................................... 35 5.5人事管理模块设计.......................................................................................................... 37 5.6日常管理模块设计 ........................................................................................................... 40 6结论 ............................................................................................................................................. 42 7谢辞 ............................................................................................................................................. 43 8参考文献 ..................................................................................................................................... 44
1引言
1.1系统研究背景
基于对浙江沿海地带(目前了解的就台州)的小型家庭企业的经营结构的了解以及分析后发现这样一个现状:大多数的家庭企业并没有完善的人力资源管理制度,或者说这方面的系统很匮乏。这些企业对与企业员工的管理还停留在传统人工的方式管理。这种管理方式存在许多缺点,例如:每到月末或者年末,大量的资料需要整理,员工的工资核算、员工的考核、员工的基本资料等等繁重的日常工作。都是很浪费人力和资源的。随着经济发展和管理水平的提高,人力资源管理系统成为许多企业管理中非常重要的部分。人力资源管理系统(Human Resource Management System,HRMS)作为人力资源管理的一个计算机工具,可以将企业中员工招聘、岗位设置、日常考核、工资核算等信息用数据库统一管理。
现在网络的发展已呈现商业化、全民化、全球化的趋势。人力资源管理主要指对人力这一资源进行有效开发、合理利用和科学管理。通过人力资源的有效管理,掌握最新的、准确的企业人力资源信息,并对其进行复杂的统计与分析,从而充分发挥每个员工的潜能,为企业创造更大的价值
人力资源管理是当前备受企业管理领域关注的热点之一, 人力资源管理系统设计和开发正在越来越受到企业管理的重视,企业人力资源管理是企业管理的一个重要的内容,如今企业也逐渐变得庞大起来。如何管理好企业内部员工信息,成为企业管理中的一个大的问题。在这种情况下,一个可以规范化、自动化的企业人力管理系统就显得非常重要。目前,如何利用最新的互联网编程技术生成高效可靠的人力资源管理解决方案业已成为计算机行业中的热点问题。
1.2编写目的
现今企业管理个性化很浓,各家有各家高招,针对于现在企业发展趋势,必须要一套适合企业现今管理模式而且能定制未来发展模式的人力资源管理系统,也就是说我们需要的软件应该是可以随着公司的调整和改变做出相应的调整和改变的灵活系统。这样就能减少公司二次开发的成本,并且能充分的满足、贴切公司的需求,进而节约不必要的开支。本文从实际需求出发,结合当前所学,争对小型企业的现状,设计开发了人力资源管理系统。该系统实现了系统操作、人事档案、人事管理、日常管理等功能。
1.3课题研究的目的和意义
现代人力资源管理系统的特点是从人力资源管理的角度出发,用集中的数据库将几乎所有与人力资源相关的数据(如薪资福利、招聘、个人职业生涯的设计、培训、职位管理、绩效管理、岗位描述、个人信息和历史资料)统一管理起来,形成了集成的信息源。友好的用户界面,强有力的报表 生成工具、分析工具和信息的共享使得人力资源管理人员得以摆脱繁重的日常工作,集中 精力从战略的角度来考虑企业人力资源规划和政策 。目前,人力资源管理系统从科学的人力资源管理角度出发,从企业的人力资源规开始, 一般包括招聘、岗位描述、
培训、技能、绩效评估、个人信息、薪资和福利、各种假期、 到离职等与员工个人相关的信息,并以一种相容的、一致的、共享的、易访问和检索的方 式储存到集中的数据库中,从而将企业内员工的信息统一地管理起来。其灵活的报表生成功能和分析功能使得人力资源管理人员可以从繁琐的日常工作中解脱出来,将精力放到更 富有挑战性和创造性的人力资源分析、规划、员工激励和战略等工作中去。完整的历史信 息记载了员工从面试开始到离职整个周期的薪资、福利、岗位变迁、绩效等信息。
随着信息技术和管理思想的出现,人力资源管理的仍处于快速发展的过程当中,人力资源管理信息系统仍然有很多值得研究之处:
(1)目前我国的人力资源管理信息系统的应用还不是非常广泛,而且现在主要的系统主要是以事务处理为基础的,对于人力资源管理的战略性、知识性的支持还不是很充分,本文将以知识性、战略性为出发点,在前人研究的基础上,研究符合现代人力资源管理要求的信息系统体系;
(2)目前对于人力资源信息决策支持的研究比较少,或者不够深入,在这个领域还有非常多的课题值得研究。从实际需求出发,结合当前所学,争对小型企业的现状,设计开发了人力资源管理系统。
2可行性分析
由于任何开发项目都会在技术和资源等上的限制。因此在接受项目开发前,我们需要根据客户提供的时间和资源条件,对技术及开发方法、管理、经济、操作等进行可行性分析,以减少项目开发的风险,避免人力、物力和财力的浪费。
2.1技术及开发方法可行性
开发一个小型企业的人力资源管理系统,涉及到的技术问题主要在数据库和一门可视化开发的编程语言的结合运用。数据库采用Microsoft SQL Server 数据库系统,主要用来存放数据。在前台开发编程方面,采用Microsoft公司的Visual C++ 6.0中文版作为开发工具。
2.1.1本系统技术要求
功能:对人事档案、系统操作、工资核算、员工调动等进行综合管理。 输入/输出:输入查询条件,输出查询内容。
基本的数据流程和处理流程:先对人员信息进行录入,然后再对它们分类。可以对数据进行插入、删除、修改、查询等操作。
2.1.2开发工具
以上系统技术要求使用Microsoft Visual C++ 6.0和SQL Server2005可以满足,SQL Server可以为各种用户提供完整的数据库应用解决方案。除了其关系型系统的内核之外,它的分布式查询处理、强大的触发器功能、方便的数据发布等特点,使它充满着未来数据库技术的气息。
SQL Server 是一个关系数据库管理系统,它最初是由Microsoft、Sybase 和Ashton-Tate三家公司共同开发的,于1988 年推出了第一个OS/2 版本,在Windows NT 推出后,Microsoft与Sybase 在SQL Server 的开发上就分道扬镳了,Microsoft 将SQL Server 移植到Windows NT系统上,专注于开发推广SQL Server 的Windows NT 版本。Sybase 则较专注于SQL Server在UNIX 操作系统上的应用。在本系统中使用的是Microsoft SQL Server 2005。
SQL Server 2005 是一个全面的数据库平台,使用集成的商业智能 (BI) 工具提供了企业级的数据管理。SQL Server 2005 数据库引擎为关系型数据和结构化数据提供了更安全可靠的存储功能,可以构建和管理用于业务的高可用和高性能的数据应用程序。SQL Server 2005 数据引擎是本企业数据管理解决方案的核心。此外 SQL Server 2005 结合了分析、报表、集成和通知功能。
Visual C++ 6.0,是微软推出的一款C++编译器,将“高级语言”翻译为“机器语言(低级语言)”的程序。,Visual C++ 6.0 是Windows应用程序开发工具,是目前最为广泛的、易学易用的面向对象的开发工具,是一个功能强大的可视化软件开发工具。 Visual C++6.0不仅是一个C++ 编译器,而且是一个基于Windows操作系统的可视化集成开发环境。Visual C++6.0由许多组件组成,包括编辑器、调试器以及程序向导AppWizard、类向导Class Wizard等开发工具。
2.2管理可行性
结构化的设计方法,有助于系统开发过程的管理,因为科学合理的将整个程序划分多个功能模块,各模块单独设计,用助于降低整个程序的设计难度及减少错 误程序的影响范围,各模块易于实现,又使整个程序易于衔接和修改。
2.3经济可行性
建立适合企业本身需求的网络平台,提供广泛的涵盖用户多种需求的功能,数据处理方式灵活以满足需求,同时界面后台管理简便。可以降低开发成本,达到经济高效的目的。通过网络化的人力资源管理,大大的提高了企业人才的利用率,使之为企业创造了更大价值。人才利用率的提高,增强了企业的核心竟争力,全面提升了企业的管理能力,从而企业适应了信息时代的网络化管理要求。
2.4操作可行性
该系统在操作上很简单,对于用户来说,本系统只要求使用者掌握简单的上网经验,操作简单。启动系统后进入登陆用户界面,用户用自己的登录名和密码进入系统操作页面。不同的用户拥有不同的用户名和密码。一般用户可以对信息进行浏览、查阅等操作,管理员用户可以对信息进行浏览、删除、修改、添加等操作。面对于系统设计还应用的基础上,为将来系统的扩展,升级留有余地。在着眼于当前实际情况下,可以实现多种功能。
3需求分析
大部分小型企业仍然停留在传统的管理模式上,随着网络技术的不断发展及企业的网络化,传统模式便难以生存,也很大程度上减慢了企业的信息化发展。相比之下,人力资源管理系统(Human Resource Management System,HRMS)逐渐成为管理信息系统的首选。,
需求分析以系统规格说明和项目规划作为分析活动的基本出发点,并从软件角度对它们进行检查与调整;需求规格说明又是软件设计、实现测试直至维护的主要基础。良好的需求分析活动有助于避免或尽早发现早期的错误,从而提高软件生产率,降低开发成本,改进软件质量。
3.1系统设计目标
人力资源管理系统中的系统设计既要符合企业的生产经营的管理体制,又要符合计算机软件的本身的特点,因此要从以下几个方面进行综合考虑:
(1)综合考虑企业现行管理制度下各个部门的要求,把业务相对独立的一些职能划分为一个子系统。
(2)充分考虑企业管理部门的业务分工,尽可能地使一个功能子系统属于一个职能的管辖范围,以便于今后各子系统的管理和维护。
(3)系统界面简介明了,操作灵活、方便。实现管理员的登入,并对管理信息进行修改、删除、添加等操作。一般的使用者仅可以浏览、查阅系统,但无权对其进行其他操作。
3.2系统主要功能要求
人力资源管理服务于财务部门以及企业主要管理者迅速、方便的显示结果,对有关信息进行统计,可以集中、整合各种信息来源,有利于降低管理成本,提高企业管理效率和水平,从而促进企业的进一步发展和变革。
3.2.1系统预想模块
该系统分为4个模块:系统操作模块、人事档案模块、人事管理模块和日常管理模块,对各个模块又进行细化成多个子模块。主要业务内容如下:
(1)系统操作模块:该模块是对登陆该系统的用户的用户名及密码进行管理。分为系统登录、系统设置和用户注册三项。不同的用户拥有不同的权限。
(2)人事档案模块:该模块是关于企业的人事信息管理,首先是对应聘登记的基本信息的录入、修改、浏览等操作;其次是调动记录,主要对员工在部门和职务方面的变动信息,对员工的职位调动进行管理的,主要分为内部调动和外部调动两方面,内部调动为本城市中部门间的调动,外部调动为分企业间的调动。本模块还有登记新员工和复职、离职等信息管理。最后,员工档案等基本信息的管理和公司的部门管理。分为应聘登记、
调动记录和员工档案、
(3)人事管理模块:主要包括薪酬管理、用人申请、业务考核、添加部门4部分组成。其中,薪酬管理是完成对员工薪酬的添加,如果有需要更正的部分,通过薪酬管理模块来实现,系统还提供给员工查询薪酬的功能,通过薪酬查询来实现。用人申请模块是企业各部门对员工的需求。业务考核模块用于考核员工的工作态度、工作能力和工作绩效等。添加部门模块争对企业对部门的需求,来添加还没有的部门单位。
(4)日常管理模块:主要包括考勤录入和工资核算两模块。考勤录入用于登记员工日常的出勤状况,包括请假日期、请假原因、假期起始日期和结束日期等。工资核算模块可以根据员工工资请款自动计算出基本工资、职务工资、缺勤扣款、工龄工资及养老保险等。
3.2.2系统预想功能
对于人力资源管理系统这样的管理软件要求操作简单、灵活、方便,反应快速、准确。根据系统主要功能要求描述以及与用户的沟通,本系统在设计时实现下图(如图3-1)的预想功能:
图3-1 人力资源管理系统功能结构图
3.3数据流图与数据字典
参照上述主要功能要求分析,子模块的数据流图如下: (1)日常管理数据流图
如图3.3.1所示日常管理数据流图。
图3.3.1 日常管理数据流图
(2)相关员工数据字典图
图3.3.2 员工编号数据字典
图3.3.3 员工职务数据字典
4总体设计
4.1系统模块结构图
根据系统分析的结果,将人力资源管理系统的系统模块结构图划分为4个子系统:系统操作、人事档案、人事管理、日常管理(如图4.1)。每个子系统又进一步划分出多个子功能。
图4.1人力资源管理系统的系统模块结构图
4.2功能设计
4.2.1系统操作
系统操作子系统模块是对登陆该系统的用户的用户名及密码进行管理。不同的用户拥有不同的权限。它包括系统登录,系统设置以及用户注册等操作。
系统操作模块图如图4.2所示。
图4.2系统操作模块
系统操作功能如下: (1)系统登录
启动系统后进入登陆用户界面,用户用自己的登录名和密码进入系统操作页面。。 (2)系统设置
用于对系统的一些基本参数的设置。 (3)用户注册
不同的用户拥有不同的用户名和密码。每位用户需要注册不同的账号,根据注册的用户名和密码才能登陆用户界面。用户分为管理员用户和普通用户。普通用户可以对信息进行浏览、查阅等操作;管理员用户可以对信息进行浏览、删除、修改、添加等操作
4.2.2人事档案
该模块是关于企业的人事信息管理,它提供实时、高效的数据访问方式。分为应聘登记、调动记录和员工档案。人事档案模块图如图4.3所示:
图4.3人事档案模块
(1) 应聘登记
用于应聘者的基本信息的登记,待确定为可录用人员后,根据招聘登记上留下的联系方式或电子邮件告之录取通知。同时已录用的人员资料从招聘人员信息转入员工基本信息进行管理。 (2) 调动记录
可对员工的岗位调动、退休、临时员工转正、人员异动等人事活动进行管理。当员工岗位调动时,将员工基本信息写入调动信息表,记录离职原因、审批人以及相关信息。主要对员工在部门和职务方面的变动信息,对员工的职位调动进行管理的,本模块还有登记新员工和复职、离职等信息管理。
(3)员工档案
该模块对临时员工的信息,正式员工的信息,以及离职人员的信息进行管理。同时还记录员工从入职到离职全,包括奖励情况、教育经历、工作经历、培训经历等。并且可对员工信息进行查询,如姓名、年龄、员工照片等,以及记录员工的教育培训经历,奖惩、合同、休假、绩效考核、工资、家庭情况等其他信息。
4.2.3人事管理模块
人事管理模块如图4.4所示。主要包括薪酬管理、用人申请、业务考核、添加部门4部分组成。
图4.4人事管理模块
人事管理功能如下: (1)薪酬管理
完成对员工薪酬的添加,如果有需要更正的部分,通过薪酬管模块来实现,系统还提供给员工查询薪酬的功能,通过薪酬查询来实现。薪酬登记是完成对员工薪酬的添加,如果有需要更正的部分,通过薪酬修改模块来实现,系统还提供给员工查询薪酬的功能,通过薪酬查询来实现。 (2)用人申请
该模块是企业各部门对员工的需
(3)业绩考核
用于考核员工的工作态度、工作能力和工作绩效等。
(4)添加部门
争对企业对部门的需求,来添加还没有的部门单位。
4.2.4日常管理
主要包括考勤录入和工资核算两模块。日常管理模块如图4.5所示。
图4.5日常管理模块
日常管理功能如下: (1) 考勤录入
用于登记员工日常的出勤状况,包括请假日期、请假原因、假期起始日期和结束日期等。 (2) 工资核算
可以根据员工工资请款自动计算出基本工资、职务工资、缺勤扣款、工龄工资及养老保险等。
4.2.5系统业务流程图
图4.6 人力资源管理系统业务流程图
4.3数据库设计
4.3.1人力资源管理数据库设计 新建一个数据库:
本系统采用 SQL Server2005数据库为数据库开发工具,建立一个数据库---
人力资源管理,其中分别包括下列表(见图1)。
图1 关系表汇总
并根据实体E-R关系图,为之定义了相应的关系以适应本系统所需的功能。下面介绍几张主要数据表的表结构。 (1)员工信息表(tb_employee)
该表记录了员工的姓名、性别、出生年月等自然信息和员工的编号、所在部门、职位以及联系方式等业务信息,该表的表结构如图2
图2 员工信息表
(2)员工调动表(tb_dept_change)
该表主要存储了员工在部门和职务方便的变动信息,该表的表结构如图3
图3 员工调动表
(3)工资管理表(tb_laborage)
该表记录了员工的工资状态,如基本工资、工龄工资、职务工资、养老保险及缺勤扣资额等。该表的结构如图4。
图4 员工工资表
(4)请假条登记表(tb_reg_leave)
该表记录了员工的请假信息,如请假日期、请假原因、假期起始日和结束日期等。该表的结构如图5。
图5 请假条登记表
(5)应聘者考核表(tb_applicant)
该表记录了应聘者的考核基本信息的登记,该表的结构如如图6。
图6 应聘者考核表
(6)应聘者考核信息表(tb_req_chk)
该表记录了应聘者的考核基本信息的登记,该表的结构如如图7。
图7 应聘者考核信息表
(7)员工考核结果表(tb_assess)
该表记录了员工的考核信息,如工作态度、工作能力和工作绩效等。该表的结构如图
8
图8 员工考核结果表
(8)员工职务信息表(tb_dept_duty)
该表主要记录了员工的职务信息,该表的结构图如图9所示。
图9 员工职务信息表
(9)月工资单表(tb_paylist)
该表登记了员工的每个月的工资详情,该表的结构图如图10。
图10 月工资单表
(10)日出勤登记表(tb_timecard)
该表记录了员工每天的出勤信息,该表的结构图如图11所示。
图11 日出勤登记表
(10)用人申请登记表(tb_torequest)
该表记录了部门的用人申请信息,该表的结构图如图1所示。
图12用人申请登记表
(11)用户注册表(tb_user_loader)
该表主要用于用户注册登记,结构图如如13所示。
图13 用户注册表
(12)合同信息表(tb_bargain)
该表主要记录企业合同的信息,结构图如图14所示。
图14 合同信息表
4.4数据库概念模型设计
人力资源管理系统在运行过程中需要大量的数据表进行插入、修改、删除、检索等操作,因此在设计时使用了SQL server 2005数据库来满足运行需要。
在需求分析的基础上设计出能够满足用户需求的各种实体以及它们之间的关系。下面例举出各实体的实体图及实体关系E-R图:
1 员工信息实体:编号、姓名、性别、部门、职务、出生年月、学历、工作年限、电话、家庭地址和入职时间等。员工信息实体E-R图,如图1
图1 员工信息实体
2员工调动信息实体:调动日期、员工编号、原部门、原职位、现职位和现部门等。员工调动信息实体E-R图,如图2所示。
图2 员工调动信息实体
3合同实体:合同编号、员工编号、合同类型、合同开始日期、合同期限„合同实体E-R图,如图3所示。
图3 合同实体
4 考勤实体:所属工资月份、员工编号、出勤天数、请假天数、迟到或早退次数„„考勤实体E-R图,如图4所示。
图4 考勤实体
5请假信息实体:员工编号、请假类型、请假事由、缺勤扣资、养老保险、工龄工资和职务工资。请假信息实体E-R图,如图5所示。
图5 请假信息实体
6工资实体:所属工资月份、员工编号、员工姓名、出勤天数„„工资实体E-R图,如图5所示。
图6 工资实体
7操作员实体:名称、密码、权限、、操作员实体E-R图,如图7所示
图7 操作员实体
8员工考核实体:工作绩效、工作态度、工作能力、考核月份、考核年份、员工编号。员工考核实体E-R图,如图8所示
图8 员工考核实体
9员工-合同实体关系图 如图8所示
图9 员工-合同实体关系
10与工资有关的实体关系E-R图 如图10所示
图10 与工资有关的实体关系E-R图
5详细设计
5.1用户登录模块
用户登录界面是本系统的第一个界面,其中两个文本框用来输入用户名和密码。通过用户名、密码来核对用户的身份。如果输入的用户名和密码错误,会弹出提示框提示用户名或密码错误。只有输入正确的用户名和密码才能进入管理系统。当不输入用户名和密码,直接按取消时,也会进入主界面,但是是处于未登录状态,只能够浏览检索部分信息。 登入窗体如图所示:
图5.1 登录窗体界面
主要实现代码如下:
/*登陆功能*/
/* CString statusCon; #ifndef TESTING CLandingDlg dlg; if(IDOK != dlg.DoModal()) { ::G_IsLanded = FALSE; NonLoading();
statusCon =
UINT indicators[] = {100, 101}; m_StatusBar.Create(this);
m_StatusBar.SetIndicators(indicators, sizeof(indicators)/sizeof(UINT)); m_StatusBar.SetPaneInfo(0, 100, 0, 200); m_StatusBar.SetPaneInfo(1, 101, 0, 600); m_StatusBar.SetPaneText(0, statusCon);
RepositionBars(AFX_IDW_CONTROLBAR_FIRST, AFX_IDW_CONTROLBAR_LAST, 0);*/
5.2主界面设计
主界面是应用程序的主体,也是应用程序的门面,它设计的好坏将直接影响用户的第一感觉,如果主界面设计得很糟糕,则不论应用程序的其他部分设计得多么细致,用户都不能或不愿意使用它。所以,在设计主界面时应保持界面的简洁性和明确性。人力资源管理系统的主界面便遵循了这一原则,其运行结果如图所示。
图5.2 主界面
实现代码如下:
CDialog::OnInitDialog();
// Add
// IDM_ABOUTBOX must be in the system command range.
ASSERT((IDM_ABOUTBOX & 0xFFF0) == IDM_ABOUTBOX); ASSERT(IDM_ABOUTBOX
CMenu* pSysMenu = GetSystemMenu(FALSE); if (pSysMenu != NULL) { CString strAboutMenu; strAboutMenu.LoadString(IDS_ABOUTBOX); if (!strAboutMenu.IsEmpty()) { pSysMenu->AppendMenu(MF_SEPARATOR); pSysMenu->AppendMenu(MF_STRING, IDM_ABOUTBOX, strAboutMenu); } }
// Set the icon for this dialog. The framework does this automatically // when the application's main window is not a dialog SetIcon(m_hIcon, TRUE); // Set big icon SetIcon(m_hIcon, FALSE); // Set small icon
// TODO: Add extra initialization here TBBUTTON tbButton[ICONSUM] = {0};
m_ImageList.Create(32, 32, ILC_COLOR32 | ILC_MASK, 0, 0); m_ImageList.Add(::AfxGetApp()->LoadIcon(IDI_ICON3)); m_ImageList.Add(::AfxGetApp()->LoadIcon(IDI_ICON1)); m_ImageList.Add(::AfxGetApp()->LoadIcon(IDI_ICON4)); m_ImageList.Add(::AfxGetApp()->LoadIcon(IDI_ICON5)); m_ImageList.Add(::AfxGetApp()->LoadIcon(IDI_ICON2));
m_ToolBar.Create(WS_CHILD | WS_VISIBLE, CRect(0, 0, 0, 0), this, 0); m_ToolBar.SetImageList(&m_ImageList); for(int i=0; i
tbButton[0].idCommand = ID_ATTENDANCE_RECORD;
tbButton[1].idCommand = IDM_REQUEST_EMPLOYEE; tbButton[2].idCommand = IDM_PAYLIP;
tbButton[3].idCommand = IDM_PORTFOLIO; tbButton[4].idCommand = ID_ABOUT;
m_ToolBar.AddButtons(ICONSUM, tbButton); m_ToolBar.AutoSize();
m_ToolBar.SetStyle(TBSTYLE_FLAT | CCS_TOP);
m_Menu.LoadMenu(IDR_MAINFRAME_MENU); SetMenu(&m_Menu);
主窗体可进行下拉选项操作,如下图:
图5.3 主界面选项
系统操作主要完成系统登录,系统设置,用户注册的功能。为了方便用户使用,本系统把本模块的所有功能聚集在一个下拉框内。部分窗体界面如下图:
图5.4 系统操作模块功能
图5.5 用户注册
人事档案管理主要完成人事档案信息的增加、修改、删除、查找等功能。包括应聘登记、调动记录、员工档案。为了方便用户操作,系统对各个操作都单独设置了窗体,包含应聘信息检索、应聘者信息登记、员工档案录入等窗体。部分窗体界面如下:
图5.6 人事档案模块功能
图5.7 应聘信息检索窗体界面
图5.8 应聘者信息登记窗体界面
根据具体需要,按下主界面中“人事档案”下拉框,可进行相对应窗体的选择。
图5.9 员工档案录入窗体界面
5.5人事管理模块设计
人事管理模块主要是管理员为管理公司的各个人员而设置的,其主要内容包括薪资管理、用人申请、业务考核和部门添加等功能。对人员的添加和人员的信息查看功能的实现进行详细说明。
当公司根据当前的发展需要决定添加人员时,便要执行添加操作,包括人员
名称的设置、编号的排列以及人员的相关描述等文字性的说明,以便以后查找人员信息时更方便。
系统实现的部分窗体界面如下:
图5.10 人事管理模块功能
图5.11 用人申请窗体界面
图5.12 部门信息窗体界面
图5.13 工资登记窗体界面
图5.14 业务考核窗体界面
5.6日常管理模块设计
日常管理模块主要实现考勤录入、工资核算、请假等功能。部分窗体界面如下:
图5.15 日常管理模块功能
图5.16 考勤录入窗体界面
6结论
本课题主要研究了人力资源管理系统的设计与实现。研究的内容主要包括: 1.分析研究了系统研究背景和课题研究的目的和意义。
2.并对系统进行了详细的需求分析,并根据实际需求,分析了模块的数据流图、数据字典,并研究了该系统的E-R图。
3.概要设计了系统的功能模块,详细设计了系统所使用的数据库表。
4.详细介绍了该系统要实现的功能。本系统采用Microsoft Visual C++ 6.0和SQL Server2005软件,主要实现了系统操作、人事档案、人事管理、日常管理等模块功能。
在本次设计的过程中,我们小组按照软件工程的思想,对系统进行了认真详细的分析、设计、编码、测试等工作。在这段时间里,经过探索和钻研,我们小组对Microsoft Visual C++ 6.0和SQL Server2005软件有了更进一步的掌握,对系统开发过程也有了深层次的理解。 本次系统设计基本达到了人力资源管理系统的需求,由于时间有限,系统还存在一些问题与不足,而且系统的部分功能仍未实现,还需要进一步改善,在以后的工作和学习之余,进行改进。
本课题主要研究了人力资源管理系统的设计与实现。研究的内容主要包括: 1.分析研究了系统研究背景和课题研究的目的和意义。
2.并对系统进行了详细的需求分析,并根据实际需求,分析了模块的数据流图、数据字典,并研究了该系统的E-R图。
3.概要设计了系统的功能模块,详细设计了系统所使用的数据库表。
4.详细介绍了该系统要实现的功能。本系统采用Microsoft Visual C++ 6.0和SQL Server2005软件,主要实现了系统操作、人事档案、人事管理、日常管理等模块功能。
在本次设计的过程中,我们小组按照软件工程的思想,对系统进行了认真详细的分析、设计、编码、测试等工作。在这段时间里,经过探索和钻研,我们小组对Microsoft Visual C++ 6.0和SQL Server2005软件有了更进一步的掌握,对系统开发过程也有了深层次的理解。 本次系统设计基本达到了人力资源管理系统的需求,由于时间有限,系统还存在一些问题与不足,而且系统的部分功能仍未实现,还需要进一步改善,在以后的工作和学习之余,进行改进。
7谢辞
本课题是在课题指导老师***老师的悉心指导下完成的。在***老师的软件工程课的学习上,我们小组对软件工程有了进一步的了解,才得以顺利完成该课程设计,也使自己解决实际问题的思维方法及个人技能有了大大提高。软件工程的学习将继续影响着组员今后的学习、工作和生活。
8参考文献
【1】 张海藩,软件工程导论,北京:清华大学出版社,第五版,2008.2
【2】 郑阿奇,SQL Server使用教程,北京:电子工业出版社,第三版,2009.8
【3】 谭浩强,C++程序设计,北京:清华大学出版社,2004.6
【4】 谭浩强,C++程序设计题解与上机指导,北京:清华大学出版社,2005.3
【5】 许志闻,Visual C++图形程序设计,北京:机械工业出版社,2009.7
【6】 何援军,计算机图形学,北京:机械工业设计出版社,2009.1
【7】 王晟,Visual Basic数据库开发经典案例分析,北京:清华大学出版社
【8】 张水平,SQL Server 数据库应用技术,西北工业大学出版社,2005
【9】 杨志姝,李光海,SQL 应用与开发,清华大学出版社,2006
软件工程项目实践报告
课题名称 (副标题) 学院(系) 专 业 学 号 学生姓名 小组编号 完成时间
人力资源管理系统
HRMS
2011年6 月 2 日
目录
1引言 ............................................................................................................................................... 4
1.1系统研究背景.................................................................................................................... 4 1.2编写目的 ........................................................................................................................... 4 1.3课题研究的目的和意义.................................................................................................... 4 2可行性分析 ................................................................................................................................... 6
2.1技术及开发方法可行性.................................................................................................... 6
2.1.1本系统技术要求 .................................................................................................... 6 2.1.2开发工具................................................................................................................ 6 2.2管理可行性........................................................................................................................ 7 2.3经济可行性........................................................................................................................ 7 2.4操作可行性........................................................................................................................ 7 3需求分析 ...................................................................................................................................... 8
3.1系统设计目标.................................................................................................................... 8 3.2系统主要功能要求............................................................................................................ 8
3.2.1系统预想模块 ..................................................................................................... 8 3.2.2系统预想功能........................................................................................................ 9 3.3数据流图与数据字典...................................................................................................... 10 4总体设计 .................................................................................................................................... 12
4.1系统模块结构图.............................................................................................................. 12 4.2功能设计 ......................................................................................................................... 12
4.2.1系统操作.............................................................................................................. 12 4.2.2人事档案 ........................................................................................................... 14 4.2.3人事管理模块 ................................................................................................... 15 4.2.4日常管理 ........................................................................................................... 16 4.2.5系统业务流程图 .................................................................................................. 17 4.3数据库设计...................................................................................................................... 17
4.3.1人力资源管理数据库设计 .................................................................................. 17 4.4数据库概念模型设计...................................................................................................... 24 5详细设计 ..................................................................................................................................... 29
5.1用户登录模块.................................................................................................................. 29 5.2主界面设计....................................................................................................................... 31 5.3系统操作模块设计.......................................................................................................... 34 5.5人事档案模块设计.......................................................................................................... 35 5.5人事管理模块设计.......................................................................................................... 37 5.6日常管理模块设计 ........................................................................................................... 40 6结论 ............................................................................................................................................. 42 7谢辞 ............................................................................................................................................. 43 8参考文献 ..................................................................................................................................... 44
1引言
1.1系统研究背景
基于对浙江沿海地带(目前了解的就台州)的小型家庭企业的经营结构的了解以及分析后发现这样一个现状:大多数的家庭企业并没有完善的人力资源管理制度,或者说这方面的系统很匮乏。这些企业对与企业员工的管理还停留在传统人工的方式管理。这种管理方式存在许多缺点,例如:每到月末或者年末,大量的资料需要整理,员工的工资核算、员工的考核、员工的基本资料等等繁重的日常工作。都是很浪费人力和资源的。随着经济发展和管理水平的提高,人力资源管理系统成为许多企业管理中非常重要的部分。人力资源管理系统(Human Resource Management System,HRMS)作为人力资源管理的一个计算机工具,可以将企业中员工招聘、岗位设置、日常考核、工资核算等信息用数据库统一管理。
现在网络的发展已呈现商业化、全民化、全球化的趋势。人力资源管理主要指对人力这一资源进行有效开发、合理利用和科学管理。通过人力资源的有效管理,掌握最新的、准确的企业人力资源信息,并对其进行复杂的统计与分析,从而充分发挥每个员工的潜能,为企业创造更大的价值
人力资源管理是当前备受企业管理领域关注的热点之一, 人力资源管理系统设计和开发正在越来越受到企业管理的重视,企业人力资源管理是企业管理的一个重要的内容,如今企业也逐渐变得庞大起来。如何管理好企业内部员工信息,成为企业管理中的一个大的问题。在这种情况下,一个可以规范化、自动化的企业人力管理系统就显得非常重要。目前,如何利用最新的互联网编程技术生成高效可靠的人力资源管理解决方案业已成为计算机行业中的热点问题。
1.2编写目的
现今企业管理个性化很浓,各家有各家高招,针对于现在企业发展趋势,必须要一套适合企业现今管理模式而且能定制未来发展模式的人力资源管理系统,也就是说我们需要的软件应该是可以随着公司的调整和改变做出相应的调整和改变的灵活系统。这样就能减少公司二次开发的成本,并且能充分的满足、贴切公司的需求,进而节约不必要的开支。本文从实际需求出发,结合当前所学,争对小型企业的现状,设计开发了人力资源管理系统。该系统实现了系统操作、人事档案、人事管理、日常管理等功能。
1.3课题研究的目的和意义
现代人力资源管理系统的特点是从人力资源管理的角度出发,用集中的数据库将几乎所有与人力资源相关的数据(如薪资福利、招聘、个人职业生涯的设计、培训、职位管理、绩效管理、岗位描述、个人信息和历史资料)统一管理起来,形成了集成的信息源。友好的用户界面,强有力的报表 生成工具、分析工具和信息的共享使得人力资源管理人员得以摆脱繁重的日常工作,集中 精力从战略的角度来考虑企业人力资源规划和政策 。目前,人力资源管理系统从科学的人力资源管理角度出发,从企业的人力资源规开始, 一般包括招聘、岗位描述、
培训、技能、绩效评估、个人信息、薪资和福利、各种假期、 到离职等与员工个人相关的信息,并以一种相容的、一致的、共享的、易访问和检索的方 式储存到集中的数据库中,从而将企业内员工的信息统一地管理起来。其灵活的报表生成功能和分析功能使得人力资源管理人员可以从繁琐的日常工作中解脱出来,将精力放到更 富有挑战性和创造性的人力资源分析、规划、员工激励和战略等工作中去。完整的历史信 息记载了员工从面试开始到离职整个周期的薪资、福利、岗位变迁、绩效等信息。
随着信息技术和管理思想的出现,人力资源管理的仍处于快速发展的过程当中,人力资源管理信息系统仍然有很多值得研究之处:
(1)目前我国的人力资源管理信息系统的应用还不是非常广泛,而且现在主要的系统主要是以事务处理为基础的,对于人力资源管理的战略性、知识性的支持还不是很充分,本文将以知识性、战略性为出发点,在前人研究的基础上,研究符合现代人力资源管理要求的信息系统体系;
(2)目前对于人力资源信息决策支持的研究比较少,或者不够深入,在这个领域还有非常多的课题值得研究。从实际需求出发,结合当前所学,争对小型企业的现状,设计开发了人力资源管理系统。
2可行性分析
由于任何开发项目都会在技术和资源等上的限制。因此在接受项目开发前,我们需要根据客户提供的时间和资源条件,对技术及开发方法、管理、经济、操作等进行可行性分析,以减少项目开发的风险,避免人力、物力和财力的浪费。
2.1技术及开发方法可行性
开发一个小型企业的人力资源管理系统,涉及到的技术问题主要在数据库和一门可视化开发的编程语言的结合运用。数据库采用Microsoft SQL Server 数据库系统,主要用来存放数据。在前台开发编程方面,采用Microsoft公司的Visual C++ 6.0中文版作为开发工具。
2.1.1本系统技术要求
功能:对人事档案、系统操作、工资核算、员工调动等进行综合管理。 输入/输出:输入查询条件,输出查询内容。
基本的数据流程和处理流程:先对人员信息进行录入,然后再对它们分类。可以对数据进行插入、删除、修改、查询等操作。
2.1.2开发工具
以上系统技术要求使用Microsoft Visual C++ 6.0和SQL Server2005可以满足,SQL Server可以为各种用户提供完整的数据库应用解决方案。除了其关系型系统的内核之外,它的分布式查询处理、强大的触发器功能、方便的数据发布等特点,使它充满着未来数据库技术的气息。
SQL Server 是一个关系数据库管理系统,它最初是由Microsoft、Sybase 和Ashton-Tate三家公司共同开发的,于1988 年推出了第一个OS/2 版本,在Windows NT 推出后,Microsoft与Sybase 在SQL Server 的开发上就分道扬镳了,Microsoft 将SQL Server 移植到Windows NT系统上,专注于开发推广SQL Server 的Windows NT 版本。Sybase 则较专注于SQL Server在UNIX 操作系统上的应用。在本系统中使用的是Microsoft SQL Server 2005。
SQL Server 2005 是一个全面的数据库平台,使用集成的商业智能 (BI) 工具提供了企业级的数据管理。SQL Server 2005 数据库引擎为关系型数据和结构化数据提供了更安全可靠的存储功能,可以构建和管理用于业务的高可用和高性能的数据应用程序。SQL Server 2005 数据引擎是本企业数据管理解决方案的核心。此外 SQL Server 2005 结合了分析、报表、集成和通知功能。
Visual C++ 6.0,是微软推出的一款C++编译器,将“高级语言”翻译为“机器语言(低级语言)”的程序。,Visual C++ 6.0 是Windows应用程序开发工具,是目前最为广泛的、易学易用的面向对象的开发工具,是一个功能强大的可视化软件开发工具。 Visual C++6.0不仅是一个C++ 编译器,而且是一个基于Windows操作系统的可视化集成开发环境。Visual C++6.0由许多组件组成,包括编辑器、调试器以及程序向导AppWizard、类向导Class Wizard等开发工具。
2.2管理可行性
结构化的设计方法,有助于系统开发过程的管理,因为科学合理的将整个程序划分多个功能模块,各模块单独设计,用助于降低整个程序的设计难度及减少错 误程序的影响范围,各模块易于实现,又使整个程序易于衔接和修改。
2.3经济可行性
建立适合企业本身需求的网络平台,提供广泛的涵盖用户多种需求的功能,数据处理方式灵活以满足需求,同时界面后台管理简便。可以降低开发成本,达到经济高效的目的。通过网络化的人力资源管理,大大的提高了企业人才的利用率,使之为企业创造了更大价值。人才利用率的提高,增强了企业的核心竟争力,全面提升了企业的管理能力,从而企业适应了信息时代的网络化管理要求。
2.4操作可行性
该系统在操作上很简单,对于用户来说,本系统只要求使用者掌握简单的上网经验,操作简单。启动系统后进入登陆用户界面,用户用自己的登录名和密码进入系统操作页面。不同的用户拥有不同的用户名和密码。一般用户可以对信息进行浏览、查阅等操作,管理员用户可以对信息进行浏览、删除、修改、添加等操作。面对于系统设计还应用的基础上,为将来系统的扩展,升级留有余地。在着眼于当前实际情况下,可以实现多种功能。
3需求分析
大部分小型企业仍然停留在传统的管理模式上,随着网络技术的不断发展及企业的网络化,传统模式便难以生存,也很大程度上减慢了企业的信息化发展。相比之下,人力资源管理系统(Human Resource Management System,HRMS)逐渐成为管理信息系统的首选。,
需求分析以系统规格说明和项目规划作为分析活动的基本出发点,并从软件角度对它们进行检查与调整;需求规格说明又是软件设计、实现测试直至维护的主要基础。良好的需求分析活动有助于避免或尽早发现早期的错误,从而提高软件生产率,降低开发成本,改进软件质量。
3.1系统设计目标
人力资源管理系统中的系统设计既要符合企业的生产经营的管理体制,又要符合计算机软件的本身的特点,因此要从以下几个方面进行综合考虑:
(1)综合考虑企业现行管理制度下各个部门的要求,把业务相对独立的一些职能划分为一个子系统。
(2)充分考虑企业管理部门的业务分工,尽可能地使一个功能子系统属于一个职能的管辖范围,以便于今后各子系统的管理和维护。
(3)系统界面简介明了,操作灵活、方便。实现管理员的登入,并对管理信息进行修改、删除、添加等操作。一般的使用者仅可以浏览、查阅系统,但无权对其进行其他操作。
3.2系统主要功能要求
人力资源管理服务于财务部门以及企业主要管理者迅速、方便的显示结果,对有关信息进行统计,可以集中、整合各种信息来源,有利于降低管理成本,提高企业管理效率和水平,从而促进企业的进一步发展和变革。
3.2.1系统预想模块
该系统分为4个模块:系统操作模块、人事档案模块、人事管理模块和日常管理模块,对各个模块又进行细化成多个子模块。主要业务内容如下:
(1)系统操作模块:该模块是对登陆该系统的用户的用户名及密码进行管理。分为系统登录、系统设置和用户注册三项。不同的用户拥有不同的权限。
(2)人事档案模块:该模块是关于企业的人事信息管理,首先是对应聘登记的基本信息的录入、修改、浏览等操作;其次是调动记录,主要对员工在部门和职务方面的变动信息,对员工的职位调动进行管理的,主要分为内部调动和外部调动两方面,内部调动为本城市中部门间的调动,外部调动为分企业间的调动。本模块还有登记新员工和复职、离职等信息管理。最后,员工档案等基本信息的管理和公司的部门管理。分为应聘登记、
调动记录和员工档案、
(3)人事管理模块:主要包括薪酬管理、用人申请、业务考核、添加部门4部分组成。其中,薪酬管理是完成对员工薪酬的添加,如果有需要更正的部分,通过薪酬管理模块来实现,系统还提供给员工查询薪酬的功能,通过薪酬查询来实现。用人申请模块是企业各部门对员工的需求。业务考核模块用于考核员工的工作态度、工作能力和工作绩效等。添加部门模块争对企业对部门的需求,来添加还没有的部门单位。
(4)日常管理模块:主要包括考勤录入和工资核算两模块。考勤录入用于登记员工日常的出勤状况,包括请假日期、请假原因、假期起始日期和结束日期等。工资核算模块可以根据员工工资请款自动计算出基本工资、职务工资、缺勤扣款、工龄工资及养老保险等。
3.2.2系统预想功能
对于人力资源管理系统这样的管理软件要求操作简单、灵活、方便,反应快速、准确。根据系统主要功能要求描述以及与用户的沟通,本系统在设计时实现下图(如图3-1)的预想功能:
图3-1 人力资源管理系统功能结构图
3.3数据流图与数据字典
参照上述主要功能要求分析,子模块的数据流图如下: (1)日常管理数据流图
如图3.3.1所示日常管理数据流图。
图3.3.1 日常管理数据流图
(2)相关员工数据字典图
图3.3.2 员工编号数据字典
图3.3.3 员工职务数据字典
4总体设计
4.1系统模块结构图
根据系统分析的结果,将人力资源管理系统的系统模块结构图划分为4个子系统:系统操作、人事档案、人事管理、日常管理(如图4.1)。每个子系统又进一步划分出多个子功能。
图4.1人力资源管理系统的系统模块结构图
4.2功能设计
4.2.1系统操作
系统操作子系统模块是对登陆该系统的用户的用户名及密码进行管理。不同的用户拥有不同的权限。它包括系统登录,系统设置以及用户注册等操作。
系统操作模块图如图4.2所示。
图4.2系统操作模块
系统操作功能如下: (1)系统登录
启动系统后进入登陆用户界面,用户用自己的登录名和密码进入系统操作页面。。 (2)系统设置
用于对系统的一些基本参数的设置。 (3)用户注册
不同的用户拥有不同的用户名和密码。每位用户需要注册不同的账号,根据注册的用户名和密码才能登陆用户界面。用户分为管理员用户和普通用户。普通用户可以对信息进行浏览、查阅等操作;管理员用户可以对信息进行浏览、删除、修改、添加等操作
4.2.2人事档案
该模块是关于企业的人事信息管理,它提供实时、高效的数据访问方式。分为应聘登记、调动记录和员工档案。人事档案模块图如图4.3所示:
图4.3人事档案模块
(1) 应聘登记
用于应聘者的基本信息的登记,待确定为可录用人员后,根据招聘登记上留下的联系方式或电子邮件告之录取通知。同时已录用的人员资料从招聘人员信息转入员工基本信息进行管理。 (2) 调动记录
可对员工的岗位调动、退休、临时员工转正、人员异动等人事活动进行管理。当员工岗位调动时,将员工基本信息写入调动信息表,记录离职原因、审批人以及相关信息。主要对员工在部门和职务方面的变动信息,对员工的职位调动进行管理的,本模块还有登记新员工和复职、离职等信息管理。
(3)员工档案
该模块对临时员工的信息,正式员工的信息,以及离职人员的信息进行管理。同时还记录员工从入职到离职全,包括奖励情况、教育经历、工作经历、培训经历等。并且可对员工信息进行查询,如姓名、年龄、员工照片等,以及记录员工的教育培训经历,奖惩、合同、休假、绩效考核、工资、家庭情况等其他信息。
4.2.3人事管理模块
人事管理模块如图4.4所示。主要包括薪酬管理、用人申请、业务考核、添加部门4部分组成。
图4.4人事管理模块
人事管理功能如下: (1)薪酬管理
完成对员工薪酬的添加,如果有需要更正的部分,通过薪酬管模块来实现,系统还提供给员工查询薪酬的功能,通过薪酬查询来实现。薪酬登记是完成对员工薪酬的添加,如果有需要更正的部分,通过薪酬修改模块来实现,系统还提供给员工查询薪酬的功能,通过薪酬查询来实现。 (2)用人申请
该模块是企业各部门对员工的需
(3)业绩考核
用于考核员工的工作态度、工作能力和工作绩效等。
(4)添加部门
争对企业对部门的需求,来添加还没有的部门单位。
4.2.4日常管理
主要包括考勤录入和工资核算两模块。日常管理模块如图4.5所示。
图4.5日常管理模块
日常管理功能如下: (1) 考勤录入
用于登记员工日常的出勤状况,包括请假日期、请假原因、假期起始日期和结束日期等。 (2) 工资核算
可以根据员工工资请款自动计算出基本工资、职务工资、缺勤扣款、工龄工资及养老保险等。
4.2.5系统业务流程图
图4.6 人力资源管理系统业务流程图
4.3数据库设计
4.3.1人力资源管理数据库设计 新建一个数据库:
本系统采用 SQL Server2005数据库为数据库开发工具,建立一个数据库---
人力资源管理,其中分别包括下列表(见图1)。
图1 关系表汇总
并根据实体E-R关系图,为之定义了相应的关系以适应本系统所需的功能。下面介绍几张主要数据表的表结构。 (1)员工信息表(tb_employee)
该表记录了员工的姓名、性别、出生年月等自然信息和员工的编号、所在部门、职位以及联系方式等业务信息,该表的表结构如图2
图2 员工信息表
(2)员工调动表(tb_dept_change)
该表主要存储了员工在部门和职务方便的变动信息,该表的表结构如图3
图3 员工调动表
(3)工资管理表(tb_laborage)
该表记录了员工的工资状态,如基本工资、工龄工资、职务工资、养老保险及缺勤扣资额等。该表的结构如图4。
图4 员工工资表
(4)请假条登记表(tb_reg_leave)
该表记录了员工的请假信息,如请假日期、请假原因、假期起始日和结束日期等。该表的结构如图5。
图5 请假条登记表
(5)应聘者考核表(tb_applicant)
该表记录了应聘者的考核基本信息的登记,该表的结构如如图6。
图6 应聘者考核表
(6)应聘者考核信息表(tb_req_chk)
该表记录了应聘者的考核基本信息的登记,该表的结构如如图7。
图7 应聘者考核信息表
(7)员工考核结果表(tb_assess)
该表记录了员工的考核信息,如工作态度、工作能力和工作绩效等。该表的结构如图
8
图8 员工考核结果表
(8)员工职务信息表(tb_dept_duty)
该表主要记录了员工的职务信息,该表的结构图如图9所示。
图9 员工职务信息表
(9)月工资单表(tb_paylist)
该表登记了员工的每个月的工资详情,该表的结构图如图10。
图10 月工资单表
(10)日出勤登记表(tb_timecard)
该表记录了员工每天的出勤信息,该表的结构图如图11所示。
图11 日出勤登记表
(10)用人申请登记表(tb_torequest)
该表记录了部门的用人申请信息,该表的结构图如图1所示。
图12用人申请登记表
(11)用户注册表(tb_user_loader)
该表主要用于用户注册登记,结构图如如13所示。
图13 用户注册表
(12)合同信息表(tb_bargain)
该表主要记录企业合同的信息,结构图如图14所示。
图14 合同信息表
4.4数据库概念模型设计
人力资源管理系统在运行过程中需要大量的数据表进行插入、修改、删除、检索等操作,因此在设计时使用了SQL server 2005数据库来满足运行需要。
在需求分析的基础上设计出能够满足用户需求的各种实体以及它们之间的关系。下面例举出各实体的实体图及实体关系E-R图:
1 员工信息实体:编号、姓名、性别、部门、职务、出生年月、学历、工作年限、电话、家庭地址和入职时间等。员工信息实体E-R图,如图1
图1 员工信息实体
2员工调动信息实体:调动日期、员工编号、原部门、原职位、现职位和现部门等。员工调动信息实体E-R图,如图2所示。
图2 员工调动信息实体
3合同实体:合同编号、员工编号、合同类型、合同开始日期、合同期限„合同实体E-R图,如图3所示。
图3 合同实体
4 考勤实体:所属工资月份、员工编号、出勤天数、请假天数、迟到或早退次数„„考勤实体E-R图,如图4所示。
图4 考勤实体
5请假信息实体:员工编号、请假类型、请假事由、缺勤扣资、养老保险、工龄工资和职务工资。请假信息实体E-R图,如图5所示。
图5 请假信息实体
6工资实体:所属工资月份、员工编号、员工姓名、出勤天数„„工资实体E-R图,如图5所示。
图6 工资实体
7操作员实体:名称、密码、权限、、操作员实体E-R图,如图7所示
图7 操作员实体
8员工考核实体:工作绩效、工作态度、工作能力、考核月份、考核年份、员工编号。员工考核实体E-R图,如图8所示
图8 员工考核实体
9员工-合同实体关系图 如图8所示
图9 员工-合同实体关系
10与工资有关的实体关系E-R图 如图10所示
图10 与工资有关的实体关系E-R图
5详细设计
5.1用户登录模块
用户登录界面是本系统的第一个界面,其中两个文本框用来输入用户名和密码。通过用户名、密码来核对用户的身份。如果输入的用户名和密码错误,会弹出提示框提示用户名或密码错误。只有输入正确的用户名和密码才能进入管理系统。当不输入用户名和密码,直接按取消时,也会进入主界面,但是是处于未登录状态,只能够浏览检索部分信息。 登入窗体如图所示:
图5.1 登录窗体界面
主要实现代码如下:
/*登陆功能*/
/* CString statusCon; #ifndef TESTING CLandingDlg dlg; if(IDOK != dlg.DoModal()) { ::G_IsLanded = FALSE; NonLoading();
statusCon =
UINT indicators[] = {100, 101}; m_StatusBar.Create(this);
m_StatusBar.SetIndicators(indicators, sizeof(indicators)/sizeof(UINT)); m_StatusBar.SetPaneInfo(0, 100, 0, 200); m_StatusBar.SetPaneInfo(1, 101, 0, 600); m_StatusBar.SetPaneText(0, statusCon);
RepositionBars(AFX_IDW_CONTROLBAR_FIRST, AFX_IDW_CONTROLBAR_LAST, 0);*/
5.2主界面设计
主界面是应用程序的主体,也是应用程序的门面,它设计的好坏将直接影响用户的第一感觉,如果主界面设计得很糟糕,则不论应用程序的其他部分设计得多么细致,用户都不能或不愿意使用它。所以,在设计主界面时应保持界面的简洁性和明确性。人力资源管理系统的主界面便遵循了这一原则,其运行结果如图所示。
图5.2 主界面
实现代码如下:
CDialog::OnInitDialog();
// Add
// IDM_ABOUTBOX must be in the system command range.
ASSERT((IDM_ABOUTBOX & 0xFFF0) == IDM_ABOUTBOX); ASSERT(IDM_ABOUTBOX
CMenu* pSysMenu = GetSystemMenu(FALSE); if (pSysMenu != NULL) { CString strAboutMenu; strAboutMenu.LoadString(IDS_ABOUTBOX); if (!strAboutMenu.IsEmpty()) { pSysMenu->AppendMenu(MF_SEPARATOR); pSysMenu->AppendMenu(MF_STRING, IDM_ABOUTBOX, strAboutMenu); } }
// Set the icon for this dialog. The framework does this automatically // when the application's main window is not a dialog SetIcon(m_hIcon, TRUE); // Set big icon SetIcon(m_hIcon, FALSE); // Set small icon
// TODO: Add extra initialization here TBBUTTON tbButton[ICONSUM] = {0};
m_ImageList.Create(32, 32, ILC_COLOR32 | ILC_MASK, 0, 0); m_ImageList.Add(::AfxGetApp()->LoadIcon(IDI_ICON3)); m_ImageList.Add(::AfxGetApp()->LoadIcon(IDI_ICON1)); m_ImageList.Add(::AfxGetApp()->LoadIcon(IDI_ICON4)); m_ImageList.Add(::AfxGetApp()->LoadIcon(IDI_ICON5)); m_ImageList.Add(::AfxGetApp()->LoadIcon(IDI_ICON2));
m_ToolBar.Create(WS_CHILD | WS_VISIBLE, CRect(0, 0, 0, 0), this, 0); m_ToolBar.SetImageList(&m_ImageList); for(int i=0; i
tbButton[0].idCommand = ID_ATTENDANCE_RECORD;
tbButton[1].idCommand = IDM_REQUEST_EMPLOYEE; tbButton[2].idCommand = IDM_PAYLIP;
tbButton[3].idCommand = IDM_PORTFOLIO; tbButton[4].idCommand = ID_ABOUT;
m_ToolBar.AddButtons(ICONSUM, tbButton); m_ToolBar.AutoSize();
m_ToolBar.SetStyle(TBSTYLE_FLAT | CCS_TOP);
m_Menu.LoadMenu(IDR_MAINFRAME_MENU); SetMenu(&m_Menu);
主窗体可进行下拉选项操作,如下图:
图5.3 主界面选项
系统操作主要完成系统登录,系统设置,用户注册的功能。为了方便用户使用,本系统把本模块的所有功能聚集在一个下拉框内。部分窗体界面如下图:
图5.4 系统操作模块功能
图5.5 用户注册
人事档案管理主要完成人事档案信息的增加、修改、删除、查找等功能。包括应聘登记、调动记录、员工档案。为了方便用户操作,系统对各个操作都单独设置了窗体,包含应聘信息检索、应聘者信息登记、员工档案录入等窗体。部分窗体界面如下:
图5.6 人事档案模块功能
图5.7 应聘信息检索窗体界面
图5.8 应聘者信息登记窗体界面
根据具体需要,按下主界面中“人事档案”下拉框,可进行相对应窗体的选择。
图5.9 员工档案录入窗体界面
5.5人事管理模块设计
人事管理模块主要是管理员为管理公司的各个人员而设置的,其主要内容包括薪资管理、用人申请、业务考核和部门添加等功能。对人员的添加和人员的信息查看功能的实现进行详细说明。
当公司根据当前的发展需要决定添加人员时,便要执行添加操作,包括人员
名称的设置、编号的排列以及人员的相关描述等文字性的说明,以便以后查找人员信息时更方便。
系统实现的部分窗体界面如下:
图5.10 人事管理模块功能
图5.11 用人申请窗体界面
图5.12 部门信息窗体界面
图5.13 工资登记窗体界面
图5.14 业务考核窗体界面
5.6日常管理模块设计
日常管理模块主要实现考勤录入、工资核算、请假等功能。部分窗体界面如下:
图5.15 日常管理模块功能
图5.16 考勤录入窗体界面
6结论
本课题主要研究了人力资源管理系统的设计与实现。研究的内容主要包括: 1.分析研究了系统研究背景和课题研究的目的和意义。
2.并对系统进行了详细的需求分析,并根据实际需求,分析了模块的数据流图、数据字典,并研究了该系统的E-R图。
3.概要设计了系统的功能模块,详细设计了系统所使用的数据库表。
4.详细介绍了该系统要实现的功能。本系统采用Microsoft Visual C++ 6.0和SQL Server2005软件,主要实现了系统操作、人事档案、人事管理、日常管理等模块功能。
在本次设计的过程中,我们小组按照软件工程的思想,对系统进行了认真详细的分析、设计、编码、测试等工作。在这段时间里,经过探索和钻研,我们小组对Microsoft Visual C++ 6.0和SQL Server2005软件有了更进一步的掌握,对系统开发过程也有了深层次的理解。 本次系统设计基本达到了人力资源管理系统的需求,由于时间有限,系统还存在一些问题与不足,而且系统的部分功能仍未实现,还需要进一步改善,在以后的工作和学习之余,进行改进。
本课题主要研究了人力资源管理系统的设计与实现。研究的内容主要包括: 1.分析研究了系统研究背景和课题研究的目的和意义。
2.并对系统进行了详细的需求分析,并根据实际需求,分析了模块的数据流图、数据字典,并研究了该系统的E-R图。
3.概要设计了系统的功能模块,详细设计了系统所使用的数据库表。
4.详细介绍了该系统要实现的功能。本系统采用Microsoft Visual C++ 6.0和SQL Server2005软件,主要实现了系统操作、人事档案、人事管理、日常管理等模块功能。
在本次设计的过程中,我们小组按照软件工程的思想,对系统进行了认真详细的分析、设计、编码、测试等工作。在这段时间里,经过探索和钻研,我们小组对Microsoft Visual C++ 6.0和SQL Server2005软件有了更进一步的掌握,对系统开发过程也有了深层次的理解。 本次系统设计基本达到了人力资源管理系统的需求,由于时间有限,系统还存在一些问题与不足,而且系统的部分功能仍未实现,还需要进一步改善,在以后的工作和学习之余,进行改进。
7谢辞
本课题是在课题指导老师***老师的悉心指导下完成的。在***老师的软件工程课的学习上,我们小组对软件工程有了进一步的了解,才得以顺利完成该课程设计,也使自己解决实际问题的思维方法及个人技能有了大大提高。软件工程的学习将继续影响着组员今后的学习、工作和生活。
8参考文献
【1】 张海藩,软件工程导论,北京:清华大学出版社,第五版,2008.2
【2】 郑阿奇,SQL Server使用教程,北京:电子工业出版社,第三版,2009.8
【3】 谭浩强,C++程序设计,北京:清华大学出版社,2004.6
【4】 谭浩强,C++程序设计题解与上机指导,北京:清华大学出版社,2005.3
【5】 许志闻,Visual C++图形程序设计,北京:机械工业出版社,2009.7
【6】 何援军,计算机图形学,北京:机械工业设计出版社,2009.1
【7】 王晟,Visual Basic数据库开发经典案例分析,北京:清华大学出版社
【8】 张水平,SQL Server 数据库应用技术,西北工业大学出版社,2005
【9】 杨志姝,李光海,SQL 应用与开发,清华大学出版社,2006