版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
java课程设计人力资源管理系统设计选题:人力资源管理系统专业:
姓名:学号:
指导老师:目录第一章 需求分析报告 2 目的分析 2 操作方式上的可行性 2技术上的可行性 51.4经济可行性 51.5项目目标 5第二章项目开发计划 62.1人员分配 62.2运行环境 62.2.1软件环境 62.2.2硬件环境 62.3开发环境 72.3.1服务器软件环境 72.3.2服务器硬件环境 72.3.3开发及其软件环境 72.3.4开发机器硬件环境 7第三章系统分析报告 8业务流程图 83.2数据流程图 9数据字典功能分析 103.4数据库设计 113.4.1数据库概念模型设计 113.4.2数据库物理模型设计 113.4.3数据库E-R图 123.4.4数据库表的设计 123.5功能分析 133.5.1人员档案 133.5.2基本信息 133.5.3人事调配 133.5.4管理员管理 143.5.5管理员权限 143.5.6人力资源功能模块图 14第四章系统设计报告 154.1功能模块设计 154.2新系统信息处理流程设计 164.2.1处理流程设计的任务 164.2.2流程设计 164.3输出设计 174.3.1输出设计的内容 174.3.2输出设计的方法 174.3.3输出设计评价 184.4代码设计 184.5程序设计说明书 184.5.1任务概述 184.5.2系统功能模块 19第五章系统实现部分 215.1程序框图 215.2源程序框架 215.3测试用例 22界面测试 225.3.2.功能测试 23需求测试 23性能测试 23系统使用说明书 245.5功能简介 265.6操作步骤 265.6.1系统初始化 26运行控制 26系统结束 265.7注意事项 26主要领导的理解和全力支持 275.7.2培训 27改进企业的相关制度和信息结构 27明确项目的实施目标 28组织精悍的项目实施小组 285.7.6测试软件功能 28第六章工作总结 29第七章附录 29员工信息添加部分原代码: 297.2日历的部分源代码 40需求分析报告目的分析对于快速发展中的企业,面对市场经济的竞争压力、知识经济的管理压力,已经开始意识到,企业业务流程的各个环节,如产品的设计、生产、销售、服务等,都离不开人的参与,任何一个环节出现问题,往往都表现为人的问题。员工的素质与士气已成为企业生存与发展的基础,人力资源管理已经成为企业管理和发展的主要症结所在。良好的人力资源管理效率与开发能力将有助于企业营造人才发展环境,提升竞争能力。企业的人力资源管理已经成为企业各种管理中的重要基础内容和支柱。利用信息技术,建立企业人力资源管理信息系统,提高管理的效率和效益,已经成为企业信息化的重要内容和任务。人力资源管理是指根据企业发展战略的要求,有计划地对人力资源进行合理配置,通过对企业中员工的招聘、培训、使用、考核、激励、调整等一系列过程,调动员工的积极性,发挥员工的潜能,为企业创造价值,确保企业战略目标的实现。随着企业的信息化和体制改革的步伐,人才竞争使企业的人力资源面临前所未有的挑战。越来越多的企业不断地加大对员工的投资,从而更好地吸引、保留和发展所需人才,使企业拥有持久的、强大的竞争优势。我们将为企业提供全面的人力资管理解决方案,旨在满足快速成长的企业管理信息化需求,主要目的就是帮助客户快速持续和健康成长,并且使人力资源部门借助此管理系统从重复烦杂的日常管理事务中解脱出来,将更多精力投注于人力资源战略规划以支持和推动企业战略目标的实现,不断提升人力资源部对企业的价值,有效地提升企业的核心竞争力。本说明书目的在于明确说明系统需求,界定系统实现功能的范围,指导系统设计以及编码。操作方式上的可行性该系统运行平台较为常见,易于操作,组织机构操作可行性较大。主要的数据如下:操作系统:WindowsXP/2000数据库系统:Oracle9i数据库宿主环境:Windows客户端连接工具:MySQLConnector/NET随着技术的不断增加,功能的不断加强,和网络技术的不断成熟,信息安全的不断完善以及开发工具的日益进步,采用计算机系统来管理人事信息要求数据的采集、更新能够完整、准确和及时。所以开发通用的企业人力资源管理系统已经完全可以做到。通过网络化的人力资源管理,大大提高了企业人才的利用率,使之为企业创造了更大的价值。人才利用率的提高,增强了企业的核心竞争力,全面提升了企业的管理能力,从而企业适应了信息时代的网络化管理要求。1.5项目目标系统的工作内容包括:员工基本信息的录入与查询;员工档案的维护;员工合同的保存,录入与维护;员工履历的保存与查询;员工人事调动的记录与查询;员工受到的奖励以及培训教育的记录与维护。本系统的目标是满足各企业日常的人力资源管理的各种基本操作,为企业节约大量时间,为企业增强综合竞争力打下良好基础。第二章项目开发计划2.1人员分配姓名职务主要负责模块梁飞组长管理员模块功能的实现,协助其他组员完成任务邓远峰组员数据库设计、系统日志协助其他组员完成任务胡娜组员员工模块功能的实现,协助其他组员完成任务张霄组员部门模块功能的设计,协助其他组员完成任务2.2运行环境2.2.1软件环境分类名称版本语种操作系统WindowsXPSP3简体中文操作系统的附加功能数据库平台Oracle9i简体中文数据库平台补丁PLSQLDeveloper简体中文应用平台Tomcat英文应用平台补丁邮件系统客户端软件英文2.2.2硬件环境服务器最低配置推荐配置应用和数据库服务器CPU:IntelCore2E5300CPU:IntelCore2E5300内存:2G内存:2G邮件服务器CPU:IntelCore2E5300CPU:IntelCore2E5300内存:2G内存:2G2.3开发环境2.3.1服务器软件环境分类名称版本语种操作系统WindowsXPSP3简体中文操作系统的附加功能数据库平台Oracle9i简体中文数据库平台补丁PLSQLDeveloper简体中文应用平台Tomcat英文应用平台补丁邮件系统客户端软件英文2.3.2服务器硬件环境服务器最低配置推荐配置应用服务器、数据库服务器、邮件服务器、目录服务器CPU:IntelCore2E5300CPU:IntelCore2E5300内存:2G内存:2G2.3.3开发及其软件环境分类名称版本语种操作系统WindowsXPSP3简体中文操作系统的附加功能数据库平台Oracle9i简体中文应用平台Tomcat英文开发平台WindowsXPSP3简体中文客户端软件简体中文+英文2.3.4开发机器硬件环境分类最低配置推荐配置开发机器CPU:IntelCore2E5300CPU:IntelCore2E5300内存:2G内存:2G第三章系统分析报告业务流程图(transactionflowdiagram)是一种描述系统内各单位、人员之间业务关系、作业顺序和管理流向的图表,利用它可以帮助分析人员找出业务流程中不合理流向。业务流程图的绘制基本上按照业务的实际处理步骤和过程绘制。绘制流程图的目的是为了分析业务流程,在对现有业务流程进行分析的基础上进行业务流程重组,产生新的更为合理的业务流程图。通过除去不必要的、多余的业务环节;合并重复的环节;增补缺少的必须的环节;确定计算机系统要处理的环节等重要步骤,在绘制流程图的过程中可以发现问题,分析不足改进业务处理过程。业务流程图的图像符号说明:外部实体处理过程存储信息或者文件数据库信息传输过程人力资源管理信息系统业务流程图如3-1图3-1人力资源管理信息系统业务流程图本系统实现的业务流程图:图3-2系统业务流程图3.2数据流程图数据流程图描述数据流动、存储、处理的逻辑关系、也成为逻辑数据流图(logicaldataflowdiagram),一般用DFD表示。数据流程图一般用到四个基本符号:外部实体处理过程存储文件或信息数据流数据流程图3-3:图3-3人力资源管理信息系统数据流程图本系统实现的数据流程图:一层数据流程图3-4:图3-4一层数据流程图二层员工信息流程图3-5:图3-5二层员工信息数据流程图数据字典功能分析1.员工信息表(emp)=员工编号+员工姓名+年龄+性别+所在部门编号+工资+奖金+入职时间+职位+上级编号2.部门信息(dept)=部门编号+部门名称+部门所在位置3.管理员信息表(admins)=管理员编号+管理员账号+管理员密码+管理员权限等级4.管理员权限表(admins-lv)=管理员权限等级编号+管理员等级权限名称表3-1信息完整性判定条目系统名:人力资源编号:01系统名:人力资源编号:01加工名:信息完整性判断输入:员工信息输出:1判定成功,输出合法的员工信息2判定失败,输出实拍的提示信息加工逻辑:对于员工基本信息1.判断员工的员工编号+员工姓名+年龄+性别+所在部门编号+工资+奖金+入职时间+职位+上级编号不能为空。2.判断输入记录是否符合要求。描述:确保信息采集的完整性表3-2信息有效性判定条目系统名:人力资源编号:02系统名:人力资源编号:02加工名:信息有效性判断输入:员工信息等输出:1判定成功,输出有效的员工信息。2、判定失败,输出失败提示信息加工逻辑:判断员工是否存在,员工的基本信息是否确认。判断工号不能重复。判断日期是否合法。表3-3提交信息条目系统名:人力资源编号:03系统名:人力资源编号:03加工名:提交信息输入:员工信息输出:1、成功,输出成功提示2、失败,输出失败提示加工逻辑:对于员工员工信息更新入库判断是否有变更,提示变更更新数据库数据库设计3.4.1数据库概念模型设计图3-6数据库概念模型图3.4.2数据库物理模型设计图3-5数据库物理模型图3.4.3数据库E-R图图3-6数据库员工信息E-R图图3-7管理员信息E-R图3.4.4数据库表的设计字段名基本信息字段类型长度能否为空主键emp表emp_id员工编号Number4否●dept_id部门编号Number4否emp_name员工姓名Varchar10否emp_sex员工性别Varchar2否emp_age员工年龄Number2否emp_job目前的作Varchar10否emp_mgr上级领导编号Number4否emp_hiredate入职时间Date--否emp_sal工资Number5否emp_comm奖金Number5否dept表dept_id部门编号Number4否●dept_name部门名称Varchar10否dept_loc部门所在地Varchar20否admins表admins_id管理员编号Number4否●level_id管理等级编号Number4否admins_name管理员账号Varchar10否admins_password管理员密码Varchar10否admins_isusing是否在使用Number1否admins_lv表level_id管理员等级编号Number4否●level_name管理员等级名称Varchar10否dept表与emp表存在主外键关系dept_id与emp表为一对多关系admins_lv表与admins表存在主外键关系level_id与admins表为一对多关系功能分析3.5.1人员档案建立符合公司组织机构的组织模型和完整人事档案库,记录一定范围内的职工和雇工的档案信息,并且这些信息可以和绩效考核的成绩关联,方便存档和查询。系统重点围绕数据维护、查询和分析便捷的要求,并通过关键业务节点的业务流程化,提高HR业务的处理效率。3.5.2基本信息记录员工基本信息,包括姓名、性别、年龄、部门、职务、上级人员编号、入职时间等相关信息。员工(在职、兼职、离退)基本信息的管理,包括:增加、删除、修改;员工基本信息的浏览;提供员工信息表(查询);在系统提供的标准人事信息基础上,用户可自行定义其他人事信息子集及项目(即导向员工档案、员工履历、员工合同等界面)。根据选择的条件可进行快速筛选、定位所需的人员信息,并方便地进行员工自然信息的修改,便于人员信息的维护。各级单位可分别对本单位员工进行管理,即可分别维护本单位员工的基本信息。3.5.3人事调配部门信息,记录部门详细信息,编号,地址。3.5.4管理员管理系统管理员进行后台管理的模块,包括管理员的账号,编号,密码,权限级别。3.5.5管理员权限系统管理员权限进行后台管理的模块,包括管理员的权限编号和名称。3.5.6人力资源功能模块图第四章系统设计报告4.1功能模块设计作为一个具有应用价值的管理信息系统,在本质上说,其操作对象为数据库中存储的具体记录,因此,不仅要求所有使用的数据库系统具有比较高的稳定性、安全性及高负载下保持足够响应的能力,还要求设计者清楚需求,作为科学家的数据库逻辑结构设计,以提高数据库的利用效率,减少数据冗余。本系统共包括两大模块,分别是工作管理模块和人员管理模块。每个模块的功能如下:
在本系统中,不同级别的使用者拥有不同的权限,本系统的用户身份分为职工、管理员、主管四种:职工登录后能进行的操作包括修改登录密码和查询个人信息;管理员负责维护职工基本信息和职工流动信息,同时也具备修改密码和查询个人信息的权限;主管主要负责组织机构编制的管理,对新增子公司和各下属机构部门信息的管理。也可更改登录密码或查询个人信息。
2.员工管理模块功能:(1)实现个人档案信息的查询;(2)实现个人档案信息的更新,包括增加、删除、修改功能;(3)实现职位变动信息的查询;(4)实现职位变动信息的更新,包括增加、删除、修改功能;3.部门管理模块功能:(1)实现职位信息的查询;(2)实现职位信息的更新,包括增加、删除、修改功能;(3)实现部门信息的查询;
(1)系统用户模块分为两个部分。第一部分是系统为每个系统的使用者提供了修改登录密码的权限。第二部分是登录人员可对个人基本信息、调动信息以及各项考勤信息进行查询。
(2)修改登录密码:在管理人员添加用户时,系统会把每个新添用户的密码设置为一个默认值,管理人员无法对此默认值进行修改。用户一旦被分配了职工编号和权限,就可登录本系统,并对个人登录密码进行修改。
(3)查询个人信息:用户登录后可以查看个人基本信息并进行核对,但为了系统安全性考虑,本系统没有给职工修改个人基本信息的权限,所以当用户基本信息发生变更,或者用户发现显示的基本信息与现实不符时,须向人事管理人员提出人事基本信息修改的申请。
在一个完整的信息系统里面,日志系统是一个非常重要的功能组成部分。它可以记录下系统所产生的所有行为,并按照某种规范表达出来。我们可以使用日志系统所记录的信息为系统进行排错,优化系统的性能,或者根据这些信息调整系统的行为。在安全领域,日志系统的重要地位尤甚,可以说是安全审计方面最主要的工具之一。4.2新系统信息处理流程设计4.2.1处理流程设计的任务设计出所有模块和他们之间的相互关系(即联结方式),并具体地设计出每个模块内部的功能和处理过程,为程序员提供详细的技术资料。4.2.2流程设计图4-1人力资源管理顶层数据流图4-2人力资源管理员工管理流程图4.3输出设计输出设计的任务是使管理信息系统输出满足用户需求的信息。输出设计的目的是为了正确及时反映和组成用于管理各部门需要的信息。信息能够满足用户需要,直接关系到系统的使用效果和系统的成功与否。4.3.1输出设计的内容输出信息使用情况。企业管理者可以为新加入的员工建档,保存员工的基本信息,查询部门的分布。输出信息内容。输出项目、精度、信息形式(文字、数字)。员工信息输出内容包括图4-3员工信息输出表4.3.2输出设计的方法在系统设计阶段,设计人员应给出系统输出的说明,这个说明既是将来编程人员在软件开发中进行实际输出设计的依据,也是用户评价系统实用性的依据。因此,设计人员要能选择合适的输出方法,并以清楚的方式表达出来。表格信息。一般而言,表格信息是系统对各管理层的输出,以表格的形式提供给信息使用者,一般用来表示详细的信息。4.3.3输出设计评价本系统输出设计为用户提供及时、准确、全面的信息服务;便于阅读和理解,符合用户的习惯;充分考虑和利用了输出设备的功能;为今后的发展预留一定的余地。4.4代码设计代码是代表事物名称、属性、状态等的符号,一般用数字、字母或它们的组合来表示。数据库占用码码分类0未使用1正在使用员工代码的设计:员工代码设计X员工代码设计Xxxx部门号工种号编号4.5程序设计说明书4.5.1任务概述本系统能满足各企业日常的人力资源管理的各种基本操作,为企业节约大量时间,为企业增强综合竞争力打下良好基础。系统的应用范围包括:员工基本信息的录入与查询;员工档案的维护;员工合同的保存,录入与维护;员工履历的保存与查询;员工人事调动的记录与查询;员工受到的奖励以及培训教育的记录与维护4.5.2系统功能模块为一个具有应用价值的管理信息系统,在本质上说,其操作对象为数据库中存储的具体记录,因此,不仅要求所有使用的数据库系统具有比较高的稳定性、安全性及高负载下保持足够响应的能力,还要求设计者清楚需求,作为科学家的数据库逻辑结构设计,以提高数据库的利用效率,减少数据冗余。本系统共包括两大模块,分别是工作管理模块和人员管理模块。每个模块的功能如下:
在本系统中,不同级别的使用者拥有不同的权限,本系统的用户身份分为职工、管理员、主管四种:职工登录后能进行的操作包括修改登录密码和查询个人信息;管理员负责维护职工基本信息和职工流动信息,同时也具备修改密码和查询个人信息的权限;主管主要负责组织机构编制的管理,对新增子公司和各下属机构部门信息的管理。也可更改登录密码或查询个人信息。
2.员工管理模块功能:(1)实现个人档案信息的查询;(2)实现个人档案信息的更新,包括增加、删除、修改功能;(3)实现职位变动信息的查询;(4)实现职位变动信息的更新,包括增加、删除、修改功能;2.部门管理模块功能:(1)实现职位信息的查询;(2)实现职位信息的更新,包括增加、删除、修改功能;(3)实现部门信息的查询;
(1)系统用户模块分为两个部分。第一部分是系统为每个系统的使用者提供了修改登录密码的权限。第二部分是登录人员可对个人基本信息、调动信息以及各项考勤信息进行查询。
(2)修改登录密码:在管理人员添加用户时,系统会把每个新添用户的密码设置为一个默认值,管理人员无法对此默认值进行修改。用户一旦被分配了职工编号和权限,就可登录本系统,并对个人登录密码进行修改。
(3)查询个人信息:用户登录后可以查看个人基本信息并进行核对,但为了系统安全性考虑,本系统没有给职工修改个人基本信息的权限,所以当用户基本信息发生变更,或者用户发现显示的基本信息与现实不符时,须向人事管理人员提出人事基本信息修改的申请。
在一个完整的信息系统里面,日志系统是一个非常重要的功能组成部分。它可以记录下系统所产生的所有行为,并按照某种规范表达出来。我们可以使用日志系统所记录的信息为系统进行排错,优化系统的性能,或者根据这些信息调整系统的行为。在安全领域,日志系统的重要地位尤甚,可以说是安全审计方面最主要的工具之一。第五章系统实现部分5.1程序框图5.2源程序框架项目结构图view包总目录Adutil表总目录dao包总目录Record和tools包impl包总目录po包总目录5.3测试用例测试总共划分为以下几个方面进行测试。界面测试是测试里面比较简单直接的一种测试方法,只有心细应该就可以没有什么问题了,可是着往往也是设计人员忽略的问题和遗漏的地方,往往会出现问题的。以下是界面测试中可能出现问题的几个地方:错别字:即在界面的标题中或者是文本中出现了错别字,这种错误如果是测试人员不注意,就很难找出来,也许酒会出现在界面上或者是提示信息中。出现了一些更本读不懂得东西一般会出现在程序的提示信息中或者是较长的文本文档中这种情况一般是出现在平起来的文档中间页面的简单陈述是通过变量平起来的通过程序把字一个一个的输出来,通常是因为程序的错误和程序人员没有经过认真的自测引起来得,程序员自创的词语:虽然意思对单不符和界面的标准几需求,这种问题一般是程序人员使用了一些专业术语,并且混杂着自己的理解,主要是因为开发过程中团队没有明确的分工,没有规定统一的用语。页面类似的内容中,明显有字体和字号的不同情况,使界面整体风格上看上去不一直,这种情况只出现在没有css定义的情况下,或者已经定义了css,开发人员在开发过程中没有调用.标题相近的程序及模块,把标题弄混.这种情况多是因为业务方面的定义名称很相似或很类似,并且业务实体方面也很类似,开发人员在开发过程中忽略了开发名称和模块,只单独地实现其功能.①查询功能中,有按单一查询条件进行查询的,也有按多个查询条件组合查询的,这里要注意多个查询条件之间的关系,还有一些常识性的问题,比如按月查询,闰年中二月的天数.②录入功能中,需要注意的是前台设置的数值长度是否大于后台数值长度,以及前台与后台的数据结构是否相符,很多时候录入功能无法实现是由于这些原因.还有就是必须录入的字段的设置是否有误.③测试删除功能中需要注意的是单击”删除”按钮后,一般会出现提示信息,询问确定删除.通常情况下,我们单击”确认”按钮查看信息是否被删除掉了,而忽略了单击”取消”按钮后程序的反应,这时有可能的是没有删除,还有一种可能是即便单击了”取消”按钮,也一样删除了数据.另外,在删除多条记录的时候,要注意连续选中的几条记录是否真正都被删除了,即如果再按照这种查询方式查询,是否还能查询出来.有的时候需要在数据库中设一个标志位,而不是真正的物理删除.所以在下一次查询中,可能还会被查询出来,这主要是因为在查询条件中没有将标志位考虑在内.④关于修改功能的测试,主要是看修改确认后是否数据真正已被修改了.这是最基本的功能,需要注意的是看是否能把不应该修改的数据也修改成功了需求测试针对需求测试,是测试中很重要的一个环节.因为需求是在软件设计,开发乃至软件测试中重要的依据.要针对需求测试,首先就要对项目的需求和业务有一定的了解.这些需求很多时候是在实现增,删,查,改这些基本功能之上,针对项目和相关业务所作的一些逻辑上的控制.这就要求程序员在设计和编码的时候要去充分理解考虑需求.性能测试性能测试在软件的质量保证中起着重要的作用..通常我们把性能指标全部归结到硬件,操作系统和开发环境上,而忽略了代码本身性能上的考虑.性能需求指标中,稳定性,并访支撑能力以及安全性都很重要,作为程序员需要评估该模块在系统运营中所处的环境,将要受到的负荷压力以及各种潜在的危险和恶意攻击的可能性系统使用说明书该系统名为人力资源管理系统,用户可以通过在该系统注册,从而获取的登录名,然后可以登录该系统,但是对里面员工,部门,管理员权限只能进行查询,不可以进行修改,如果进入该系统的用户具有管理员权限,可以对该系统进行查询,添加,删除等工作,但是当权限过高时,却不能对该系统里面的信息进行修改。该系统还给用户提供了一些快捷菜单和换肤功能,对于快捷键的使用,必须首先选中对象,然后才可以对该系统进行操作,不然系统就会出现在故障(这部分我们设计人员做了多次修改,可是由于设计人员知识水平有限,并且没有充足的时间,所以在这里很遗憾的出现了一个小bug,不过正常情况下不影响系统的正常运行),当选中对象以后,就可以根据用户的权限的不同对系统进行操作,我们这个系统最大的亮点就是做出来了换肤功能,用户可以根据自己的心情,设置自己喜欢的系统皮肤,以便是心情愉快,更好的提高工作效率。下面介绍一些主要的界面4.3新增员工、部门、管理员界面5.5功能简介系统的应用范围包括:员工基本信息的录入与查询;员工档案的维护;员工合同的保存,录入与维护;员工履历的保存与查询;员工人事调动的记录与查询;员工受到的奖励以及培训教育的记录与维护。本系统能满足各企业日常的人力资源管理的各种基本操作,为企业节约大量时间,为企业增强综合竞争力打下良好基础。实现了按照权限对各表进行操作(添加、修改、删除)以及数据的更新功能;实现了更换皮肤功能;实现了日志功能。5.6操作步骤5.6.1系统初始化说明本系统的初始化过程。以流程的方式描述系统依次的动作,包括内存使用情况、数据初始化、对象的初始化等。说明对系统施加不同的外界运行控制时所引起的各种不同的运行模块组合,说明每种运行所历经的内部模块和支持软件。说明每一种外界运行控制的方式方法和操作步骤。说明每种运行模块组合将占用各种资源的情况。说明系统运行时的安全控制。说明本系统的结束过程。以流程的方式描述系统退出时依次的动作,包括内存释放情况、对象的释放等。一般情况下系统出错设计和系统维护设计不应简化,但对特定情况下(如用户需求中未明确规定或项目周期较短、经费较少、项目复杂程度较少等)这两部分的设计可以简化。5.7注意事项要想通过人力资源管理系统来提高企业的管理水平,光是选取一个好的或比较好的、适合本企业特点的人力资源管理软件还是远远不够的。人力资源管理软件通常只是一个通用的系统框架,它提供诸如报表生成、查询、宏,等等辅助工具来协助使用者工作。作为一种通用的系统,它适用于多种行业和企业的需要,能够处理各种各样包括规范的和不规范的、普遍存在的和特殊的、相对简单的和错综复杂的情景。因此,实施中根据企业的实际情况和企业所在地的政策法规,进行给这个骨架里添血加肉的工作就非常重要。毫不夸张地说,人力资源管理系统项目成功与否的关键就在于这种被称为实施过程添血加肉的工作。
由于人力资源管理系统管理的是所有与人相关的数据,信息量大,变化频繁,内部关联性较弱,数据的采集、确认、更新和检查都比较困难,而且其管理的信息与员工的切身利益密切相关,特别是工资计算不能有任何错误,因此,实施工作尤为繁琐和困难,其难度和工作量远远大于一般人的预计。根据实施经验,笔者认为,为了最大限度地提高企业的人力资源管理水平,成功地实施人力资源管理系统,需要特别注意以下七点:
人力资源管理系统的实施不只是人事部门或计算机部门的事。为了保证数据的完整、准确和及时,需要企业内各个部门和全体员工的积极配合。同时,采用人力资源管理软件,需要在充分回顾企业政策的基础上,根据先进的人力资源管理理念,从程序到操作进行全面改进。所有这些工作,如没有企业决策层的参与是很难实现的。培训
要想使人力资源管理系统真正地发挥应有的效用,必须通过培训转变人们特别是中高层领导的思维方式和行为方式。要让他们学会并习惯于通过系统来进行科学的管理,而不是决策凭感觉,分析凭经验。培训不光要使中高层领导明白采用人力资源管理系统的好处,更重要的是使他们了解系统的功能和系统的运行方式,学习软件系统中蕴涵的先进理念,主动积极地反思现行的体系,探讨改进的方案。5.7.3改进企业的相关制度和信息结构
由于历史的原因和条件的局限,很多企业现行的相关制度、人事相关信息的组成和报表不尽合理和科学。而实施人力资源管理系统正是一个非常好的契机来回顾本企业不合理、不科学或不符合国家相关法律和规章的地方,重新合理地组织人事相关信息和报表,从而减少企业运行的潜在风险,将人力资源部员工的工作放在刀刃上。因此,实施人力资源软件不应只是单纯地将现行的制度和报表计算机化,而是应该充分地回顾本企业的相关政策和信息组成,去掉不合理的成分,将改进的建议报告给企业的决策领导并争取付诸实施。.4明确项目的实施目标
在项目的初期,应该明确:整个项目的实施计划和目标,需要采集的数据,需要保留的历史信息,现有数据如何规范化,以及项目实施的时间和进度安排等等。组织精悍的项目实施小组
项目实施小组人员的组成应包括企业管理人员,人事、薪资、计算机专业人员,他们将负责整个项目的组织协调、进度控制、数据分析和数据有效性的检查,提供相关建议,培训其他人员,建立系统和检查各部门的运行程序。项目实施小组应明确每个小组成员的工作职责。他们也将是该企业运行人力资源管理系统的主要骨干和技术支持。5.7.6测试软件功能
项目实施小组在明确实施目标和进度后,一项重要的任务就是根据实施目标全面测试购买的软件系统,争取在三个月内将软件系统95%的错误解决掉。由于人力资源管理系统需处理的信息关系非常复杂,各企业的需求也不尽相同,再加上软件的商品化程度远不如已经运行多年的成熟软件产品,存在的错误较多。如果不在项目实施的初期解决这些问题,随着问题的不断暴露,不仅会浪费大量的人力,更严重的是会使他人失去信心,严重影响工作的进展。
5.7.7建立科学的程序性文件
人事相关信息的特点是信息量大、变化频繁、采集和确认困难而且无内联关系。采用计算机系统来管理人事信息要求数据的采集、更新能够完整、准确和及时。这两者之间的矛盾会因为新系统的投入运行而变得越来越突出。新系统在运行后无疑会迫使一部分员工改变已经熟悉了的工作方法和习惯,学习包括计算机知识在内的新知识、新方法、新程序,一部分人的利益也许会受到影响。在系统的实施过程中,很多企业由于有关人员素质较低、工作责任心不强,加上某些管理人员的随意指挥,会造成系统的实施和运行事倍功半,而且降低了系统的功效。所以,除加强培训外,建立必要的科学的程序性文件,做到有章可循,减少和杜绝各种特例情形,才能为人力资源管理系统的实施和正常运行提供有效的保证。第六章工作总结通过开发本系统,我掌握了java的一些基本知识和编程技巧,由于自己的理论知识水平有限,实践知识和设计经验不足,在设计过程中难免存在一些问题甚至错误,通过不断地调试、修改这些错误使我的java开发能力得到了进一步的提高。如:更进一步的JDBC深入数据对象技术,java语言的使用;学过的软件MIS、数据库系统概论及操作也得到了充分的应用。在开发过程中我学到了一些经验:其一,编程的重要步骤是分析,系统分析的好坏将决定着的系统开发成功与否,一份好分析设计将是成功开发主要因素。我们在着手开发之前不要急于编程,先应有较长的时间去把分析做好,做好数据库设计工作,写出相关的开发文档等。然后再开始编写程序代码,这样做到每写一步代码心底有数,有条不絮。当然也有些还需待继续深入地方如:技术等。其二,我还觉得,我个人在这次设计中走了很多弯路。主要是因为平时很少接触软件开发工作,在应用方面缺乏经验,各种语言仅仅是我们手中的工具,我们应该领悟解决问题的思想和方法。在这次编程中最初想用链表解决,后来小组讨论改用了函数,这样让我们的程序简便不少,也省去了不少麻烦。此外,本次系统开发设计,我觉得在今后的学习中,要加强对思想的培养和积累,打破局限性,将各门课融会贯通。如果及时得到老师的指点,象这样的系统开发起来应该还比较容易。第七章附录员工信息添加部分原代码:packagecom.hrms.view;importjava.awt.Dimension;importjava.awt.FlowLayout;importjava.awt.event.ActionEvent;importjava.awt.event.ActionListener;importjava.awt.event.MouseEvent;t.event.MouseListener;importjava.util.ArrayList;importjava.util.Iterator;importjava.util.List;importjavax.swing.JButton;importjavax.swing.JComboBox;importjavax.swing.ImageIcon;importjavax.swing.JFrame;importjavax.swing.JLabel;importjavax.swing.JOptionPane;importjavax.swing.JPanel;importjavax.swing.JTextField;importcom.hrms.po.Dept;importcom.hrms.po.Emp;importcom.hrms.tools.Tools;@SuppressWarnings("serial")publicclassEmpAddextendsJFrameimplementsActionListener{ privateJPanelpanel; privateJLabelemp_id,dept_id,emp_name,emp_sex,emp_age,emp_job, emp_mgr,emp_hiredate,emp_sal,emp_comm; privateJTextFieldtxtemp_id,txtemp_name,txtemp_age,txtemp_job, txtemp_hiredate,txtemp_sal,txtemp_comm; privateJComboBoxcboSex; privateJButtonAdd,Cancel; privateJFramejframe=null; privateJComboBoxcboemp_mgr,cbodept_name; staticStringuser=null; publicEmpAdd(Stringusername){ user=username; Init(); } @SuppressWarnings("unchecked") privatevoidInit(){ this.setSize(newDimension(220,340)); this.setTitle("Emp表员工添加"); this.setResizable(false); this.setLocationRelativeTo(this); ImageIcontitleIcon=newImageIcon("title.png"); this.setIconImage(titleIcon.getImage()); this.panel=(JPanel)this.getContentPane(); this.panel.setLayout(newFlowLayout()); this.emp_id=newJLabel("员工编号:"); this.dept_id=newJLabel("部门名称:"); this.emp_name=newJLabel("员工姓名:"); this.emp_sex=newJLabel("员工性别:"); this.emp_age=newJLabel("员工年龄:"); this.emp_job=newJLabel("目前工作:"); this.emp_mgr=newJLabel("上级领导:"); this.emp_hiredate=newJLabel("入职时间:"); this.emp_sal=newJLabel("工资:"); this.emp_comm=newJLabel("奖金:"); this.txtemp_id=newJTextField(); this.txtemp_id.setColumns(15); //this.txtdept_id=newJTextField(); //this.txtdept_id.setColumns(15); this.cbodept_name=newJComboBox(); this.cbodept_name.addItem("请选择"); StringDept_strSQL="select*fromdept"; List<Dept>Dept_list=newArrayList<Dept>(); Dept_list=Tools.ExecQuery(Dept_strSQL,newObject[]{},"dept"); Iterator<Dept>Dept_Iter=Dept_list.iterator(); while(Dept_Iter.hasNext()){ this.cbodept_name.addItem(Dept_Iter.next().getDept_name()); } this.txtemp_name=newJTextField(); this.txtemp_name.setColumns(15); this.txtemp_age=newJTextField(); this.txtemp_age.setColumns(15); this.txtemp_job=newJTextField(); this.txtemp_job.setColumns(15); //this.txtemp_mgr=newJTextField(); //this.txtemp_mgr.setColumns(15); this.cboemp_mgr=newJComboBox(); this.cboemp_mgr.addItem("请选择"); this.cboemp_mgr.addItem("不存在"); StringEmp_strSQL="select*fromemp"; List<Emp>Emp_list=newArrayList<Emp>(); Emp_list=Tools.ExecQuery(Emp_strSQL,newObject[]{},"emp"); Iterator<Emp>Emp_Iter=Emp_list.iterator(); while(Emp_Iter.hasNext()){ this.cboemp_mgr.addItem(Emp_Iter.next().getEmp_id()); } this.txtemp_hiredate=newJTextField("请选择日期");p_hiredate.setColumns(16); this.txtemp_hiredate.setEditable(false); this.txtemp_hiredate.addMouseListener(newMouseListener(){ @SuppressWarnings("deprecation") @Override publicvoidmouseClicked(MouseEvente){ //TODOAuto-generatedmethodstub if(e.getModifiers()==16){ jframe=newJFrame(); jframe.setContentPane(newCalenderTrain(txtemp_hiredate, jframe)); jframe.setVisible(true); jframe.pack(); jframe.setLocation(500,250); jframe.show(); } } @Override publicvoidmouseEntered(MouseEvente){ //TODOAuto-generatedmethodstub } @Override publicvoidmouseExited(MouseEvente){ //TODOAuto-generatedmethodstub } @Override publicvoidmousePressed(MouseEvente){ //TODOAuto-generatedmethodstub } @Override publicvoidmouseReleased(MouseEvente){ //TODOAuto-generatedmethodstub } }); this.txtemp_sal=newJTextField(); this.txtemp_sal.setColumns(16);emp_comm=newJTextField(); this.txtemp_comm.setColumns(16); this.cboSex=newJComboBox(); this.cboSex.addItem("男"); this.cboSex.addItem("女"); this.Add=newJButton("确定"); this.Cancel=newJButton("清空"); ////给按钮加监听 this.Add.addActionListener(this); this.Cancel.addActionListener(this); this.panel.add(this.emp_id); this.panel.add(this.txtemp_id); this.panel.add(this.dept_id); this.panel.add(this.cbodept_name); this.panel.add(this.emp_name); this.panel.add(this.txtemp_name); this.panel.add(this.emp_sex); this.panel.add(this.cboSex); this.panel.add(this.emp_age); this.panel.add(this.txtemp_age); this.panel.add(this.emp_job); this.panel.add(this.txtemp_job); this.panel.add(this.emp_mgr); this.panel.add(this.cboemp_mgr); this.panel.add(this.emp_hiredate); this.panel.add(this.txtemp_hiredate); this.panel.add(this.emp_sal); this.panel.add(this.txtemp_sal); this.panel.add(this.emp_comm); this.panel.add(this.txtemp_comm); this.panel.add(this.Add); this.panel.add(this.Cancel); } @Override publicvoidactionPerformed(ActionEvente){ //TODOAuto-generatedmethodstubKV if(e.getActionCommand()=="确定"){ Submit_Click(); } if(e.getActionCommand()=="清空"){ Clear_Click(); } } publicstaticvoidmain(String[]args){ newEmpAdd(user).setVisible(true); } privatevoidSubmit_Click(){ booleannoerr=true; Stringemp_id=this.txtemp_id.getText(); intdept_id=0; Stringdept_name=this.cbodept_name.getSelectedItem().toString() .trim(); Stringemp_age=this.txtemp_age.getText(); Stringemp_mgr=this.cboemp_mgr.getSelectedItem().toString().trim(); Stringemp_name=this.txtemp_name.getText(); Stringemp_sex=this.cboSex.getSelectedItem().toString().trim(); Stringemp_job=this.txtemp_job.getText(); Stringemp_hiredate=this.txtemp_hiredate.getText().trim(); Stringemp_sal=this.txtemp_sal.getText(); Stringemp_comm=this.txtemp_comm.getText(); //输入内容的逻辑判断 if(this.txtemp_id.getText().length()==0){ JOptionPane.showMessageDialog(this,"员工编号不能为空!","提示", JOptionPane.WARNING_MESSAGE); txtemp_id.grabFocus(); noerr=false; } finalStringtxtemp__id=txtemp_id.getText().trim(); finalStringregex1="\\d{4}"; //利用正则表达式判定输入部门编号是不是数字以及位数是否正确 if(!txtemp__id.matches(regex1)&&noerr!=false){ JOptionPane.showMessageDialog(this,"员工编号输入格式不正确\n请参考1000格式输入", "提示",JOptionPane.WARNING_MESSAGE); txtemp_id.grabFocus(); noerr=false; } if(dept_name.equals("请选择")&&noerr){ JOptionPane.showMessageDialog(this,"请选择部门名称!","提示", JOptionPane.WARNING_MESSAGE); noerr=false; } if(!dept_name.equals("请选择")&&noerr){ dept_id=Tools.GetDeptID(dept_name); noerr=true; } //利用正则表达式判定输入部门编号是不是数字以及位数是否正确 //if(this.txtdept_id.getText().length()==0&&noerr!=false){ //JOptionPane.showMessageDialog(this,"部门编号不能为空!", //"提示",JOptionPane.WARNING_MESSAGE); //txtdept_id.grabFocus(); //noerr=false; //} //finalStringtxtdept__id=txtdept_id.getText().trim(); @SuppressWarnings("unused") finalStringregex2="\\d{4}"; //if(!txtdept__id.matches(regex2)&&noerr){ //JOptionPane.showMessageDialog(this, //"部门编号输入格式不正确\n请参考2000格式输入","提示", //JOptionPane.WARNING_MESSAGE); //txtdept_id.grabFocus(); //noerr=false; //} if(this.txtemp_name.getText().length()==0&&noerr){ JOptionPane.showMessageDialog(this,"员工姓名不能为空!","提示", JOptionPane.WARNING_MESSAGE); txtemp_name.grabFocus(); noerr=false; } if(this.txtemp_age.getText().length()==0&&noerr){ JOptionPane.showMessageDialog(this,"员工年龄不能为空!","提示", JOptionPane.WARNING_MESSAGE); txtemp_age.grabFocus(); noerr=false; } finalStringtxtemp__age=txtemp_age.getText().trim(); finalStringregex3="\\d{2}"; if(!txtemp__age.matches(regex3)&&noerr){ JOptionPane.showMessageDialog(this,"员工年龄输入格式不正确\n请参考20格式输入", "提示",JOptionPane.WARNING_MESSAGE); txtemp_age.grabFocus(); noerr=false; } if(this.txtemp_job.getText().length()==0&&noerr){ JOptionPane.showMessageDialog(this,"目前的工作不能为空!","提示", JOptionPane.WARNING_MESSAGE); txtemp_job.grabFocus(); noerr=false; } if(emp_mgr.equals("请选择")&&noerr){ JOptionPane.showMessageDialog(this, "请选择上级编号,若没有请选择不存在!","提示", JOptionPane.WARNING_MESSAGE); noerr=false; } if(emp_mgr.equals("不存在")&&noerr){ emp_mgr="0"; noerr=true; } if(emp_hiredate.equals("请选择日期")&&noerr){ JOptionPane.showMessageDialog(this,"日期未选择,请选择日期!", "提示",JOptionPane.WARNING_MESSAGE); //txtemp_id.grabFocus(); txtemp_hiredate.grabFocus(); noerr=false; } //finalStringtxtemp__mgr=txtemp_mgr.getText().trim(); @SuppressWarnings("unused") finalStringregex4="\\d{4}"; //if(!txtemp__mgr.matches(regex4)&&noerr){ //JOptionPane.showMessageDialog(this, //"上级员工编号输入格式不正确\n请参考2000格式输入","提示", //JOptionPane.WARNING_MESSAGE); //txt
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 施工员的实习报告
- 小学班主任的年度工作总结(32篇)
- 幼儿园圣诞节的小活动策划书(3篇)
- 晋升工程师工作总结
- 广东省佛山市S6高质量发展联盟2024-2025学年高二上学期期中联考 数学试卷含答案
- (一模)长春市2025届高三质量监测(一)数学试卷
- 广东省肇庆市(2024年-2025年小学五年级语文)人教版摸底考试(上学期)试卷及答案
- 2024年洁磁剂项目资金需求报告代可行性研究报告
- 上海市市辖区(2024年-2025年小学五年级语文)人教版期末考试((上下)学期)试卷及答案
- 上海市县(2024年-2025年小学五年级语文)人教版摸底考试(上学期)试卷及答案
- 2024产学研合作框架协议
- 2023年甘肃省工程设计研究院有限责任公司招聘笔试真题
- 2022部编版道德与法治三年级下册《请到我的家乡来》教学设计
- 《剪映专业版:短视频创作案例教程(全彩慕课版)》 课件 第6章 创作生活Vlog
- 唐诗宋词人文解读智慧树知到期末考试答案章节答案2024年上海交通大学
- 《电视摄像》电子教案
- 火龙罐综合灸疗法
- 深圳市中小学生流感疫苗接种知情同意书
- 射线、直线和角(张冬梅)
- 数据、模型与决策(运筹学)课后习题和案例答案007
- 道路运输达标车辆核查记录表(货车)
评论
0/150
提交评论