毕业设计(论文)-人力资源管理系统.doc_第1页
毕业设计(论文)-人力资源管理系统.doc_第2页
毕业设计(论文)-人力资源管理系统.doc_第3页
毕业设计(论文)-人力资源管理系统.doc_第4页
毕业设计(论文)-人力资源管理系统.doc_第5页
已阅读5页,还剩26页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

题 目:人 力 资 源 管 理 系 统 院 (系): 计算机与电子信息工程系 年 级: 专 业: 计算机科学与技术 学生姓名:(其余用三号字、宋体字) 学 号: xxxxxxx 指导教师: xxxx 职 称: xxxx 题目类型: 理论研究 实验研究 工程设计 工程技术研究 软件开发2007 年 10 月10日摘 要随着计算机应用的普及,推动企业计算机管理现代化的时机已经到来,采取信息化管理,宣传是企业在新经济时代的必然趋势,也是企业管理者的迫切需求。人事管理网站作为信息管理系统(mis)的一种,是人力资源管理的重要环节,也是企业管理的科学化、正规化的重要条件。人事管理网站是一个企业不可缺少的部分,它的内容对于企业的决策者和管理者来说都至关重要,所以人事管理网站应该能够为用户提供充足的信息和快捷的查询手段。本论文中,将软件工程的基本原理和方法应用到整个系统,并对其进行需求分析,提出了解决问题的具体方法。在具体制作中,用jsp技术来实现b/s系统,jsp技术与数据库技术结合,用户在浏览器端可以随意查询自己需要的标本,而数据的后台操作则由服务器端处理。这样提高了网页的互动性,使整个系统能更好的为用户服务。关键词:软件工程; jsp ;动态网页 ;人力资源管理abstractwith the popularization of computer application, its time to promote the modernization of the computer management for an enterprise and its inevitable especially in the new economic society, also, the business managers cry for it. as a kind of the mis, the personnel management website is the important part of the effective human resource management and its an essential condition for an enterprise management to be scientific and regular. the personnel management website is an indispensable part for modern enterprise, its contents are both vital for the executive and the manager, therefore ,it should provide sufficient information and quick inquiry methods. in this paper, the basic theory and the method of the soft project were used in the whole system, and basing on the analysis of the systems demand, the measure was brought forward. in the building of the network, jsp technology was used to realize b/s system. because of the integrity of jsp technology and database technology the users can inquire about the specimen they need freely with the disposal of data by the server. in this way ,the inter dynamic of the webpage was improved and the whole system could server the users better.keywords:soft project; jsp; dynamic webpage;the personnel management website目录摘 要2abstract3目录4引言11 系统分析11.1 需求分析11.2 可行性分析12 总体设计22.1 项目规划22.2 系统功能结构图23 系统设计23.1 设计目标23.2 开发及运行环境33.3 数据库设计34系统总体架构54.1 模块功能介绍54.2文件架构图55 用户操作功能模块85.1 用户操作文件总体架构85.2 用户登陆模块设计85.3 人员管理模块设计126 错误调试与处理206.1 nullpinterexception异常206.2 numberformatexception异常206.3 404错误页206.4 乱码显示的处理21结论21致 谢22参考文献22 27 引言全球范围内的企业内部组织正在发生巨变,未来企业成功的关键的依靠企业人力资源,人才之争已经成为市场竞争中的核心内容之一,以人为本成为企业立足和发展的根本。有效力管理企业的人力资源,为企业提供强有力的储备力量,使之成为企业发展的主动力。通过人力资源的有效管理,掌握最新的、准确的企业人力资源信息,并对其进行复杂的统计与分析,从而充分发挥每个员工的潜能,为企业创造更大的价值。网络化的今天,网络人力资源管理系统,使新的人力资源协作管理模式成为可能。通过网络管理系统,专门的人力资源管理人员可以提高自身的工作效率,作好人力资源管理的协调工作,提高人力资源利用率;通过网络管理系统,员工可以直接管理自己的技能,有效地发现和挖掘自身的潜能,及时与自己的上级、下属、同事进行的沟通与交流,同心协作,积极为企业的发展与决策贡献力量。通过网络人力资源管理系统对企业人力资源进行管理,使企业人力资源管理适应时代的发展要求,大大提高了企业的核心竟争力。1 系统分析 随着计算机的普及和计算机科学技术的飞速发展,人们开始越来越多地利用计算机解决实际问题。员工信息管理是企业信息管理的重要部分,面对大量的人事信息,采用人力处理即浪费时间、又浪费人力和物力,并且数据的准确性低。因此,开发一个界面友好,易于操作的人力资源管理软件进行自动化处理变得十分重要,这正是本系统开发的目的和意义。本文介绍了人事管理的开发过程。论文详细介绍了从系统的需求分析、系统分析、概要设计、详细设计的整个开发过程。1.1 需求分析通过调查,要求系统需要有以下功能;q 全面管理企业的员工信息。q 管理企业人力资源管理的基础信息。q 人才招聘管理及企业人才库管理功能。q 企业人才培训的全程跟踪管理。q 提供企业员工考勤管理。q 设置企业员工薪酬管理。q 提供系统用户管理功能。1.2 可行性分析q 经济性通过网络化的人力资源管理,大大的提高了企业人才的利用率,使之为企业创造了更大价值。人才利用率的提高,增强了企业的核心竟争力,全面提升了企业的管理能力,从而企业适应了信息时代的网络化管理要求,。q 技术性通过网络化管理,增强了员工之间的沟通,更好的协调员工之间的协作关系;对员工考勤与薪酬管理更加的科学;全程跟踪员工的培训,通过信息的记录,更好的作出员工培训方案。2 总体设计2.1 项目规划人力资源管理系统由人事管理、考勤管理、招聘管理、培训管理、系统管理5部分组成,规划系统功能模块如下:人事管理模块:该模块主要功能是对人事管理的基础信息、员工基本信息、合同信息等进行管理招聘管理模块:该模块主要是对企业招聘信息、企业的应聘信息、企业人才库进行管理。培训管理模块:该模块主要是对企业的培训计划、培训实施、培训材料等信息进行管理。薪酬管理模块:该模块主要功能是对管理员工薪酬信息进入管理。系统管理模块:该模块主要功能是对操作员信息、操作员操作权限进入管理。2.2 系统功能结构图人力资源管理系统功能结构如图1所示。人力规划招聘信息管理企业人才库培训计划培训实施培训材料薪酬登记薪酬修改薪酬查询添加用户用户管理主管部门审批人事部门审批员工考勤登记员工考勤登记考勤分析报表考勤规划设置人事管理考勤管理招聘管理培训管理薪酬管理系统管理人力资源管理系统 图1 人力资源管理系统功能结构图3 系统设计3.1 设计目标本系统主要用于对企业中的“人”进行管理。具体地讲,人力资源管理系统就是通过人力资源规划、员工考核、薪酬管理、员工激励、人才培训和开发等一系列手段来提高劳动生产率,最终达到发展目标的一种管理行为。具体实现目标如下:q 实现对员工信息进行全面管理的功能。q 设置人力资源基础信息管理功能。q 设置员工考勤管理功能模块。q 员工薪酬信息管理。q 实现企业员工培训信息全程跟踪的功能。q 实现企业的招聘信息、应聘信息的管理功能。q 企业人才库管理功能。q 系统用户信息的管理。q 系统最大限度地实现了易安装性、易维护性和易操作性。q 系统运行稳定、安全可靠。3.2 开发及运行环境硬件平台:q cpu:p41.8ghz;q 内存:256mb以上。软件平台:q 操作系统:windows xp/windows 2000;q 数据库:sql server 2000;q 开发工具包:jdk version1.4.2;q jsp服务器:tomcat;q 浏览器:ie5.0,推荐使用ie6.0;q 分辨率:最佳效果1024*768像素。3.3 数据库设计本系统采用sql server 2000 数据库,系统数据库名为personmanage,数据库personmanage中包括5个数据表。关于数据库中的数据表如下:(1)educate(培训信息表)培训信息表主要用于保存培训信息。表b.1 educate的结构字段名数据类型长度是否主键描述idint4是数据库流水号namevarchar100培训名称purposevarchar500培训目的begintimedatetime8开始培训时间endtimedatetime8结束培训时间datumvarchar2000培训人员teachervarchar50培训讲师studentvarchar50学生createtimedatetime8创建时间educatebit1培训级别effectvarchar500培训影响度summarizevarchar2000培训材料(2)institution(奖惩表)奖惩表主要用于保存奖惩信息。表b.2 institution的结构字段名数据类型长度是否主键描述idint4是数据库流水号namevarchar2000奖惩名称reasonvarchar50奖惩原因explainvarchar50描述createtimedatetime8创建时间(3)job(应聘信息表)应聘信息表主要用于保存应聘信息。表b.3 job的结构字段名数据类型长度是否主键描述idint4是数据库流水号namevarchar50姓名sexbit1性别ageint4年龄jobvarchar50应聘职位specialtyvarchar50所学专业experiencevarchar50工作经验studyeffortvarchar50在校所学专业schoolvarchar50毕业学校telvarchar50电话emailvarchar50电子邮件createtimedatetime8创建时间contentntext16详细经历isstockbit1标识(4)stipend(薪金表)薪金表主要用于保存薪金表。表b.4 stipend的结构字段名数据类型长度是否主键描述idint4是数据库流水号namevarchar50员工姓名basicfloat8基本薪资eatfloat8饭补housefloat8房补dutyfloat8全勤奖scotfloat8赋税punishmentfloat8额外补助otherfloat8罚款granttimedatetime8发放时间totalizefloat8总计(5)user(用户表)用户表主要用于保存用户信息。表b.5 user的结构字段名数据类型长度是否主键描述idint4是数据库流水号usernamevarchar50用户名称passwordvarchar50用户密码sexbit1用户性别birthdaydatetime8用户出生年月日createtimedatetime8用户创建的时间isadminbit1是否是超级管理员contentvarchar2000管理员级别4 系统总体架构4.1 模块功能介绍人力资源管理系统是针对中小企业对现有员工和新聘员工的一个web管理平台。主页功能模块主要包括以下功能模块:人员管理:主要包括浏览人员信息、添加人员信息、人员信息的添加、人员信息的修改。招聘管理:主要包括应聘人员信息的详细查看、删除、添加以及信息入库。培训管理:主要包括培训计划的详细信息、信息删除、添加培训计划和填写培训总结。奖惩管理:主要包括奖惩详细信息、删除详细信息、添加详细信息、修改详细信息。薪金管理:主要包括薪金的修改、添加、删除。4.2文件架构图人力资源管理系统文件架构图,如图c.1所示。 图c.1 人力资源管理系统文件架构图奖惩管理文件架构图,如图c.2所示。图c.2 奖惩管理文件架构图人员管理文件架构图,如图c.3所示。图c.3人员管理文件架构图 薪金管理文件架构图,如图c.4所示。图c.4 薪金管理文件架构图招聘管理功能模块文件架构图,如图c.5所示。图c.5 招聘管理功能模块文件架构图5 用户操作功能模块5.1 用户操作文件总体架构1 模块功能介绍用户操作模块主要包括用户登录和人员管理模块,具体功能如下:用户登录模块:用于登录系统。人员管理模块:用于浏览、添加和修改人员信息。5.2 用户登陆模块设计用户登录模块是用户进入主页面的入口,其运行结果如3所示。图3 用户登录模块运行结果系统登陆是人力资源管理中最先使用的功能,因为用户登陆在数据库中使用的是人员表,人员表中有一个isadmin字段,是来标识是否是管理员的。在登陆时要根据数据库的这个字段来判断此用户是否具有管理员的权限。在网页里添写用户名和密码后点击【登陆】按钮,网页会访问一个url,这个url是“logon.do?action=logon”,代码如下: 用户名: 密  码:   在这个表单的name的值是usersform,它是struts的actoinform的实现类在配置文件中的名字,如下所示:action是struts的action的url,他们在struts的配置文件中都是已经配好的,如下所示: 在这个配置文件中,可以了解到如下信息:q 根据name=userform可以找到与之相对应的actionform的实现类“com.bos.bpro_personmanage.actionform.usersform”。q 根据type=com.bos.bpro_personmanage.action.usersaction可以找到处理用户数据的action类。q 根据和可以了解,这个action返回success时,页面会被转到manage.jsp文件,这就是登陆成功的页面。如果当action返回failed时,页面会被转到failed.jsp文件,这个文件是当用户登陆失败将要转到的页面。struts的action的实现类是这个登陆页的核心内容,就来看看它是怎么实现的吧,如下所示:package com.bos.bpro_personmanage.action;import javax.servlet.http.httpservletrequest;import javax.servlet.http.httpservletresponse;import net.sf.hibernate.hibernateexception;import org.apache.struts.action.action;import org.apache.struts.action.actionform;import org.apache.struts.action.actionforward;import org.apache.struts.action.actionmapping;import com.bos.bpro_personmanage.actionform.usersform;import com.bos.bpro_personmanage.en.users;import com.bos.bpro_personmanage.service.usersdao;public class usersaction extends action private usersdao dao=new usersdao(); public actionforward execute(actionmapping mapping, actionform form, httpservletrequest request, httpservletresponse response) throws exception string action =request.getparameter(action);/ system.out.println(nusersaction*action=+action); if(action=null|.equals(action) return mapping.findforward(error); else if(listuser.equals(action) return listuser(mapping,form,request,response); else if(adduser.equals(action) return addusers(mapping,form,request,response); else if(logon.equals(action) return logon(mapping,form,request,response); else if(updateuser.equals(action) return updateuser(mapping,form,request,response); else if(deleteuser.equals(action) return deleteuser(mapping,form,request,response); else if(selectuser.equals(action) return selectuser(mapping,form,request,response); return mapping.findforward(error); private actionforward selectuser(actionmapping mapping, actionform form, httpservletrequest request, httpservletresponse response) throws hibernateexception long id=new long(request.getparameter(id); users u=dao.loadusers(id.longvalue(); request.setattribute(user,u); return mapping.findforward(success); private actionforward deleteuser(actionmapping mapping, actionform form, httpservletrequest request, httpservletresponse response) throws hibernateexception long id=new long(request.getparameter(id); users users=new users(); users.setid(id); dao.deleteusers(users); return mapping.findforward(success); private actionforward updateuser(actionmapping mapping, actionform form, httpservletrequest request, httpservletresponse response) throws hibernateexception usersform usersform=(usersform)form; users users=usersform.populate(); dao.updateusers(users); return mapping.findforward(success); private actionforward logon(actionmapping mapping, actionform form, httpservletrequest request, httpservletresponse response) throws hibernateexception usersform usersform=(usersform)form; users users=new users(); users.setusername(usersform.getusername(); users.setpassword(usersform.getpassword(); boolean flag=dao.logonusers(users); if(flag) request.getsession().setattribute(users,users); return mapping.findforward(success); else return mapping.findforward(failed); private actionforward addusers(actionmapping mapping, actionform form, httpservletrequest request, httpservletresponse response) throws hibernateexception usersform usersform=(usersform)form; users users=usersform.populate(); dao.addusers(users); return mapping.findforward(success); private actionforward listuser(actionmapping mapping, actionform form, httpservletrequest request, httpservletresponse response) throws hibernateexception request.setattribute(list,dao.listuser(); return mapping.findforward(success); struts的action实现类的execute()方法是最先被执行的,这个方法本身也没有具体的事务,而是根据action的参数不同执行相应的方法。在登陆页里面可以找到有一个“action=logon”的字样,它的目的就是在这里做逻辑判断。当action=logon时调用logon()方法。logon()方法从usersform中得到用户提交的数据,然后在调用usersdao()的logonusers()方法。并且把usersform转成users类做为logonusers()方法的参数。调用后会返回一个boolean型的值。如果为真,则返回“mapping.findforward(success);”否则返回“mapping.findforward(failed);”也就是当用户登陆成功后,返回给用户登陆成功的页面,登陆失败后返回用户一个登陆失败的页面。那么usersdao的logonusers()方法是根据什么得到的返回值呢,现在就让我们看看这个方法,如下所示: public boolean logonusers(users users) throws hibernateexception session session = hibsessionfactory.currentsession(); transaction tx = session.begintransaction(); query query = session .createquery(select count(*) from users as u where u.username = :name and u.password =:password and u.isadmin=:isadmin ); query.setstring(name, users.getusername(); query.setstring(password, users.getpassword(); query.setbyte(isadmin,new byte(1).bytevalue(); list list = null; list = query.list(); mit(); hibsessionfactory.closesession(); if (list != null) iterator it = list.iterator(); if (it.hasnext() if (integer) it.next().intvalue() = 1) return true; return false; 这个方法先通过hibsessionfactory得到一个hibernate的session并且开始一个事务,session再像使用一个欲编译似的命令似的东西,设定参数、提交事务和最后在关闭session.。得到一个list里面就存储着所有查询出的结果。根据这个结果就可以判断出该用户是否有登陆的权根了,在返回true 或者false。就这样合法的用户就可以顺利的登陆了。那刚才那些有些类似于欲编译的东西是什么呢,这些就是hibernate特有的查询语言,被称为hibernate 查询语言(hql),而它本身也就是使用的jdbc的欲编译技术。5.3 人员管理模块设计人员管理模块主要包括浏览人员信息、添加人员信息、人员信息的添加、人员信息的修改。此模块文件架构如图4所示。各项管理工作都是在用户成功登陆后的管理页面进行的,在管理控制页面的左侧是各项的相关链接,右侧是操作平台。管理控制页面右侧实际上是一个iframe,如下所示: 在左侧的链接中使用target=frame就可以在这个iframe中打开新的链接了。单击“添加人员信息”,即打开添加人员信息的页面如图4所示。图4 添加人员信息页面添加人员信息的链接是这样的,如下所示:添加人员信息在struts配置文件中,添加人员信息的链接没有使用actionform类,也没有使用action的实现类,如下所示: adduser.jsp文件,只是一个普通的jsp文件,但是它的表单元素都是与usersform相对应的,usersform如下所示:package com.bos.bpro_personmanage.actionform;import com.bos.butil.dateutil;import javax.servlet.http.httpservletrequest;import org.apache.struts.action.actionerrors;import org.apache.struts.action.actionform;import org.apache.struts.action.actionmapping;import com.bos.bpro_personmanage.en.users;public class usersform extends actionform public string getcontent() return content; public void setcontent(string content) this.content = content; public void reset(actionmapping arg0, httpservletrequest arg1) this.id=null; this.username=null; this.password=null; this.isadmin=null; this.createtime=null; this.content=null; this.sex=null; this.birthday=null; public actionerrors validate(actionmapping arg0, httpservletrequest arg1) return null; public string tostring() stringbuffer tostr = new stringbuffer(); tostr.append(usersform = n); tostr.append( id = + this.id + ;n); tostr.append( username = + this.username + ;n); tostr.append( password = + this.password + ;n); tostr.append( sex = + this.sex + ;n); tostr.append( birthday = + this.birthday+ ;n); tostr.append( createtime = + this.createtime+ ;n); tostr.append( isadmin = + this.isadmin + ;n); tostr.append( content = + this.content + ;n); tostr.append( ;n); return tostr.tostring(); public string getbirthday() return birthday; public void setbirthday(string birthday) this.birthday = birthday; public byte getsex() return sex; public void setsex(byte sex) this.sex = sex; public users populate() users u=new users(); u.setid(getid(); u.setisadmin(getisadmin(); u.setcontent(getcontent(); u.setusername(getusername(); u.setpassword(getpassword(); u.setsex(getsex(); u.setbirthday(dateutil.parsetodate(getbirthday(),dateutil.yyyymmdd); u.se

温馨提示

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

评论

0/150

提交评论