1、基于JavaEE的网新恒天人事管理系统的设计跟实现题 目 基于JavaEE的网新恒天人事管理系统 的设计与实现 指导老师 XXX 专业班级 姓 名 xx 学 号 年 x 月 xx 日摘要:随着网络技术的不断发展及其在企业管理工作中的应用,在企业建立企业人事管理系统就显得十分必要。所以设计一个企业人事管理系统可以更方便的帮助管理者管理一家企业。本系统的开发正是适应了这一需求,经过实际的需求分析,本系统采用了JavaEE平台中最为流行的Spring+Spring MVC+MyBatis框架,以Tomcat作为应用并选择MySQL数据库管理系统作为工具进行开发。系统包含管理员、HR、领导、普通员工四
2、种不同的用户。操作简便、界面美观、灵活实用,设计开发出员工管理、工时管理、绩效管理、数据分析等功能,基本满足了企业管理的实际需要。本文主要介绍了本课题的开发背景、完成的功能和开发过程,并着重说明了开发设计的思想、技术难点和解决方案。关键词:JavaEE;企业人事管理系统;Tomcat;MySQL1系统概述1.1 系统的研究现状随着人类迈入21世纪,计算机技术、通信技术、网络技术为代表的现代信息技术的飞跃发展,人类正在从工业时代向信息时代迈进,人们越来越重视信息资源的开发与利用,“信息化”已成为一个国家经济和社会发展的关键环节,信息化水平的高低已成为衡量一个国家现代化水平和综合国力的重要标志。信
3、息化的实质是使信息这一社会的主导资源充分发挥作用,可以说推广信息技术是手段,真正利用信息是目的,信息化则是利用信息的过程。我国自1983年大力推广微型计算机应用以来,在管理信息领域,无论在理论方面还是在实践方面,都有了很大的发展。当今社会计算机技术发展飞速,无论在工厂,商场,公司或者企业当中,计算机的应用越来越普及,利用计算机实现企业人事管理势在必行。对于中型规模以上的企业来说,利用计算机提高企业人事管理的效率,是适应现代企业制度要求、推动企业人事管理走向科学化、规范化的必要条件。而基本信息管理是一项琐碎、复杂而又十分细致的工作,公司人员数量多,而且流动频繁,到外面招聘来的人员增多,公司内部职
4、工的部门,职务经常调整,职工档案的更新等。如果没有适当的工具来管理这些日常工作,就会耗费工作人员大量的时间和精力。利用B/S结构制作的人事管理系统对职工各种信息进行记录、统计,准确率快速提高,另外,可具有检索迅速、查找方便、可靠性高、存储量大、保密性好等优点。这些优点能极大地提高企业管理的效率,因此,开发这样一套管理系统成为很有必要的事情,它能够具体化、合理化的管理单位的人事信息,用结构化的思维方式,运用计算机解决实际工作和生活中遇到的问题。1.2 发展趋势信息作为生产力中最活跃的因素,很早就在人类生活中发挥着不可替代的作用,现在许多发展中国家对人力资源的战略性意义都有了深刻的认识,并开始付诸
5、行动。世界公认,21世纪将是人力资源的世纪,人力资源问题将主导整个21世纪甚至更为遥远。引起这个状况的变化,主要有以下几个方面。竞争压力:目前,世界经济趋向全球化。世界经济的全球化过程和国家的开放过程,要求组织的管理部门降低管理成本以减少竞争压力和增强竞争能力。而对于不同的组织,人力资源成本在总成本中的比例是不一样的。技术革新:无论是现在还是将来,工业的发展越来越多地取决于科学和技术、知识与技能。高新科技产业更是如此。这不仅要求员工尤其是技术人员掌握新的科学知识和技术能力,而且更重要的在于要求员工深入而快捷地掌握和应用这些知识和技能。这就导致了两个问题。第一,随着这种技术革新的发展和知识更新速
6、度的加快,人们有更多的职业选择机会。第二,伴随着这种发展以及职业选择机会的增多,人力资源管理活动和频繁程度加剧;而且这种活动对科学技术的要求与它的反应程度也更高了,进而提高了人力资源成本。工作目标和价值观的改变:随着社会政治和经济的发展,人们的工作目标和价值观也都发生了重要的变化。这就对人事管理部门和管理人员提出了新的要求和新的问题,不得不考虑诸如工作类型设计、岗位分析、充分尊重员工以及为他们提供良好的个人发展和自我价值实现的环境与条件等问题。这样,人力资源管理就派上了用场。1.3 系统的开发方法系统采用B/S体系结构,利用Java EE Velocity和MySQL 5.5进行开发的,具有简
7、单、易用性、用户界面友好等特点。系统开发的目标主要是:(1) 界面设计简洁、友好、美观大方;(2) 操作简单、快捷方便;(3) 数据存储安全、可靠;(4) 信息分类清晰、准确;(5) 强大的查询功能,保证数据查询的灵活性;(6) 对于用户输入的数据系统进行严格的数据校验,尽可能排除人为出错。2 系统需求分析2.1 系统功能分析本课题所研究的“JavaEE网新恒天人事管理系统”主要由客户端和管理端组成。客户端主要由新增员工模块、员工离职模块、员工升职模块、请假模块、加班模块、数据分析模块等组成,管理端主要由员工管理模块、工时管理模块、绩效管理模块、数据分析模块等组成。运行本系统先由登录界面窗口进
8、入用户权限认证窗口,通过用户名和口令验证的用户方可进入系统主窗口进行浏览与操作。客户端:(1)新增员工模块:只有HR与领导可以查看所有的员工信息,并且HR可以在此模块中,新增新入职的员工信息。(2)员工离职模块:所有员工都可以看到此菜单,但是只能查看到与自己有关的离职流程。其他流程不能查看与修改。员工提出离职的申请,并提交给其领导进行审核。(3) 员工升职模块:所有员工都可以看到此菜单,但是只能查看到与自己有关的升职流程。其他流程不能查看与修改。员工提出升职的申请,并提交给其领导进行审核。(4) 请假模块:所有员工都可以看到此菜单,但是只能查看到与自己有关的请假流程。其他流程不能查看与修改。员
9、工提出请假的日期与申请,并提交给其领导进行审核。(5) 加班模块:所有员工都可以看到此菜单,但是只能查看到与自己有关的加班流程。其他流程不能查看与修改。员工在前一天或这个月内,有加班的情况,可以提出加班申请,交由其领导进行核实,如果加班申请通过,则本月的工时,有相应的增加。(6) 数据分析模块:领导可以查看此菜单,领导可以通过图表的形式,查看到公司最近动态与相应的数据动态。管理端:(1)员工管理模块:HR与领导对员工的添加、修改、查看和删除。(2)工时管理模块:工时的填写、修改、查看和删除。(3)绩效管理模块:绩效的查看、新增和删除。(4)数据分析管理模块:领导查看。2.2 系统功能结构根据2
10、.1节的系统功能分析可知“网新恒天人事管理系统”包括新增员工模块、员工离职模块、员工升职模块、请假模块、加班模块、数据分析模块等模块,其功能结构图如图2.1所示。图2.1 系统功能结构图2.3功能描述和用例分析用例用于表示系统所提供的服务,它定义了系统是如何被参与者所使用的,它描述的是参与者为了使用系统所提供的某一完整功能而与系统之间发生的一段对话。根据分析,下面将列出本系统的系统用例图。2.3.1系统用例图系统用例图主要是用来描述系统的总体结构,为了确保系统的安全,只能是注册用户才能访问前台,其中该模块主要功能是HR可以将员工录入到系统中;员工可以申请离职、升职、加班与请假;领导可以审核各种
11、流程与查看公司报表数据。如下图所示:只能是领导才能访问后台,进行员工申请的流程进行查询、删除与审核并查看相关数据。该系统用例图如图2.2所示。图2.2系统用例图2.3.2 员工管理(1)功能介绍员工管理:为了确保系统的安全,只能是系统管理员才能对用户进行管理,对用户进行修改密码、修改用户名、添加系统用户、用户管理,注销退出。(2)活动图如图2.3所示。图2.3 系统员工管理活动图2.3.3 工时管理(1)功能介绍工时管理:系统管理员登录系统后,可以对工时进行填写和查看和修改。(2)活动图如图2.4所示。图2.4工时管理活动图2.3.4 绩效管理(1) 功能介绍绩效管理:主要是对绩效进行添加,修
12、改和查看。(2) 活动图如图2.5所示。图2.5 绩效管理活动图2.3.5 数据分析(1)功能介绍数据分析:主要是对员工的数据进行系统的分析,通过饼图、树状图,让人一目了然。(2) 活动图如图2.6所示。图2.6数据分析管理活动图2.3.6 流程管理(1)功能介绍流程管理:主要根据员工提出请假、加班、离职、升职的申请,HR和领导可以进行审核。(2)活动图如图2.7所示。图2.7 流程管理活动图2.4 系统性能需求本课题主要是解决网新恒天人事管理系统的日常管理中所涉及到的基本信息,目标是使企业人事管理系统在管理上做到数据的信息化、快速化和网络化。本系统主要包括员工管理、工时管理、绩效管理、数据分
13、析、流程管理等模块。下面详细介绍这几部分模块的作用及所实现的功能。(1)员工管理,员工信息的录入、查询、修改、删除,离职与升职的申请。(2)工时管理,可以进行工时的填写,请假与加班的申请。(3)绩效管理,员工可以查询自己的绩效,管理员可以进行绩效的审核、修改。(4)数据分析,数据查看功能。(5)流程管理,HR和领导对流程进行审核。2.4.1 时间需求(1) 查询的最长等待时间不超过5秒; (2) 更新信息的时间不超过5秒; (3) 数据上传的时间不超过5秒;2.4.2 空间需求(1) 支持的终端数:=1000 ;(2) 支持的并行操作的使用者数:=300 ;(3) 处理的记录数: =10000
14、 ;2.5 安全性和可靠性(1)每个角色只能看到相应的菜单,进行相应的操作,无法越权处理。(2)在设计过程中尽量避免在VM页面上写代码,提高系统的安全性。优化代码,提高系统的性能。3 系统分析3.1 系统开发Velocity是一个基于 Java 的模板引擎技术, 提供的模板语言可以使用在 Java 中定义的对象和变量上。Velocity 是 Apache 基金会的项目,开发的目标是分离 MVC 模式中的持久化层和业务层。但是在实际应用过程中,Velocity 不仅仅被用在了 MVC 的架构中,还可以被用在以下一些场景中。(1)Web 应用:开发者在不使用 JSP 的情况下,可以用 Veloci
15、ty 让 HTML 具有动态内容的特性。(2)源代码生成:Velocity 可以被用来生成 Java 代码、SQL 或者 PostScript。有很多开源和商业开发的软件是使用 Velocity 来开发的。(3)自动 Email:很多软件的用户注册、密码提醒或者报表都是使用 Velocity 来自动生成的。使用 Velocity 可以在文本文件里面生成邮件内容,而不是在 Java 代码中拼接字符串。(4)转换 xml:Velocity 提供一个叫 Anakia 的 ant 任务,可以读取 XML 文件并让它能够被 Velocity 模板读取。一个比较普遍的应用是将 xdoc 文档转换成带样式的
16、 HTML 文件。JavaBean是用Java语言编写的可重用软件组件,类似于Microsoft的COM组件,可以通过可视化的构建工具来创建。JavaBean可以嵌入到Applet小程序、应用程序、Servlet和复合组件中。编写JavaBean组件的方法同编写其他Java类一样,可以利用已有的组件、Applet程序或者Java类,并把它们转换为JavaBean。由于JavaBean是基于Java语言的,因此JavaBean不依赖平台。它具有独立性、易编写、易使用、易维护,可以在任何安装了Java运行环境的平台下使用,而不需要重新编译等特点。“JavaEE企业人事管理系统”选择采用的是Java
17、Bean+servle技术。本系统中Process、RoleEmp、Role、User等servle,来通过对业务的访问并进行处理,然后将处理结果返回,并根据返回的字符串,跳转到相应的vm页面;或返回相应的对象,通过相应的技术,将对象转换成相应的JSON字符串,交与前面进行解析,显示出需要显示的数据。3.2 系统开发需求(1)性能要求整个系统应当操作简便,界面友好,维护简便。数据库要求运行稳定,执行速度快,数据安全性高。软件系统本身运行对计算机硬件平台和操作系统平台要求适中。(2) 安全和保密要求系统对不同权限的用户提供不同的功能模块,对历史数据的更改和新数据的添加只有管理员才能进行操作,一般
18、的用户只能进行查看。对数据库的关键数据应要保密。3.3 系统开发与运行环境设计3.3.1 软件环境(1) 操作系统:Windows2000/XP/2003或更高版本 (2) 数据库: MySQL 5.7 (3) WEB容器:Tomcat7.0 JDK1.7或更高版本3.3.2 硬件环境(1) 运行内存:256MB或更高(2) 磁盘容量:512MB或更高(3) 其它:鼠标、键盘。4 系统设计4.1 数据库设计MySQL是一种开放源代码的关系型数据库管理系统,MySQL数据库系统使用最常用的数据库管理语言-结构化查询语言进行数据库管理。它在WEB应用方面 MySQL是最好的RDBM应用软件之一。M
19、ySQL是一种关联数据库管理系统,关联数据库将数据保存在不同的表中,而不是将所有数据放在一个大仓库内,这样就增加了速度并提高了灵活性。MySQL所使用的SQL语言是用于访问数据库的最常用标准化语言。MySQL软件采用了双授权政策,它分为社区版和商业版,由于其体积小、速度快、总体拥有成本低,尤其是开放源码这一特点,一般中小型网站的开发都选择 MySQL作为网站数据库。4.1.1 实体类抽象本系统设计的实体包括:员工信息、角色、流程、工时管理、工资管理,将它们以及它们之间的关系抽象出来,并绘制成ER图,如图4.1所示。4.1.2 系统ER图系统的实体包括:员工信息、角色、流程、工时管理、工资管理,
20、系统ER图如图4.1所示。图4.1 系统ER图4.1.3 数据库连接配置配置文件(1) 数据库的配置参数(#表示注释,DBConn.java)#加载驱动Class.forName(“com.mysql.jdbc.Driver”);#连接数据库jdbc.url=jdbc:mysql:/127.0.0.1:3306/fanghu#用户名jdbc.username=fanghu#登录密码jdbc.password=1234564.2 数据库的选择本系统使用MySQL关系型数据库,MySQL5.7能提供中小型系统所需要的数据库服务。MySQL拥有一个非常快速而且稳定的基于线程的内存分配系统,可以持续使
21、用面不必担心其稳定性。它可以运行在不同的操作系统下,提高了系统的可移植性。MySQL的核心程序采用完全的多线程编程。线程是轻量级的进程,它可以灵活地为用户提供服务,而不过多的系统资源。4.3 数据库表的设计 数据库表有员工表、员工等级表、员工基本薪资、员工的工作时表和请假表。数据表如表4.1-4.5所示。(1) 员工表(emp)如表4.1所示。表4.1员工表(emp)名称类型是否为空默认值属性备注emp_idint(11)Not null无AUTO_INCREMENT员工IDemp_nameVarchar(50)null无无员工姓名emp_sexchar (1)null无无员工性别emp_st
22、atuschar (1)null无无员工状态emp_idcodeVarchar(18)null无无员工身份证号码(18位)emp_telephonevarchar(13)null无无员工手机号emp_address_pvarchar(50)null无无员工地址(省份)emp_address_cvarchar(50)null无无员工地址(市)emp_typechar(1)null无无员工类型emp_passwordvarchar(50)null无无员工z登录密码emp_leader_idvarchar(50)null无无领导人ID(2) 员工等级表(emp_grade)如表4.2所示。表4.2员
23、工等级表(emp_grade)名称类型是否为空默认值属性备注emp_grade_idint(11)Not null无AUTO_INCREMENT员工等级IDemp_idint(11)Not null无无员工IDemp_grade_achar(1)null无无员工等级A(A:高级;B:中级;C:低级)emp_grade_bchar(1)null无无员工等级Bemp_grade_utVarchar(50)null无无员工等级更新时间(yyyy-MM-dd) (3) 员工基本薪资(emp_salary)如表4.3所示。表 4.3员工基本薪资(emp_salary)名称类型是否为空默认值属性备注emp
24、_salary_idint(11)Not null无无员工薪资表IDemp_idint(11)null无无员工IDemp_salarydouble(11,2)null无无员工基本薪资 (4) 员工的工作时表(emp_work_time)如表4.4所示。表4.4员工的工作时表(emp_work_time)名称类型是否为空默认值属性备注emp_work_timeint(11)Not null无无工作时间IDemp_idint(11)null无无员工IDwrok_date_yvarchar(4)null无无工作时间work_date_mvarchar(2)null无无工作时间work_timedou
25、ble(6,1)null无无员工工作时间 (5) 请假表(leave_time)如表4.5所示。表4.5请假表(leave_time)名称类型是否为空默认值属性备注leave_time_idint(11)Not null无unique请假表IDemp_idint(11)null无无员工IDleave_time_date_yvarchar(4)null无无请假时间(年)leave_time_date_mvarchar(2)null无无请假时间(月)leave_timesdouble(10,2)null无无请假小时leave_desvarchar(1024)null无无请假理由statusvarc
26、har(1)null未发货无是否有效end_timevarchar(50)null无无结束时间start_timevarchar(50)null无无起始时间process_idvarchar(50)null无无流程ID4.4 系统详细设计4.4.1 登录模块设计用户登录,用户可以对自己的信息进行查看、修改,查看自己的流程。整个过程如图4.2所示。 图4.2用户程序流程图4.4.2 HR新增用户、员工离职、升职模块设计新增用户模板主要是HR完成用户的新增过程。用户首先登录网站,验证是否注册,若未注册需要HR新增该用户,若已注册便可以登录,如果该用户的角色是HR,那么该用户就可以看到用户管理的页面
27、,并可以进行新增用户的操作。在用户新增界面中,HR可以填写需要新增用户的基本信息与该用户的领导。整个过程如图4.3所示。图4.3 HR新增用户流程图员工个人可以进入系统,进入流程管理的界面,并提交离职流程,提交给员工对应的领导,整个过程如图4.4所示。图4.4员工离职流程图员工个人可以进入系统,进入流程管理的界面,并提交升职流程,提交给员工对应的领导,整个流程如图4.5所示。图4.5员工升职流程图4.4.3 员工工时填写模块设计员工个人可以进入系统,并进入工时填写页面,可能填写本月的工时信息,并提交给领导进行审核。具体过程如图4.6所示。图4.6员工工时填写流程图4.4.4 员工请假、加班模块
28、设计员工个人可以进入系统,进入流程管理的界面,并提交请假流程,提交给员工对应的领导,整个流程如图4.7所示。图4.7员工请假流程图员工个人可以进入系统,进入流程管理的界面,并提交加班流程,提交给员工对应的领导,整个流程如图4.8所示。图4.8员工加班流程图5 系统实现5.1 登录界面及主界面模块的实现(1)图形界面系统登录界面如图5.1所示。图5.1系统登录界面系统主界面如图5.2所示。图5.2主界面(2)设计说明运行本系统将展示出图5.1所示的界面,即登录界面。使用者输入合法的用户名和密码进行登录,会员与管理员登陆需要输入用户名及密码,然后将这二个参数传到后台进行处理,同时去数据库中进行查询
29、匹配看是否有匹配的信息然后将信息返回回去,如果有则进入系统,如果没有则提示管理员您输入的用户名或密码失败,请输入正确的信息进行登陆,将展示出图5.2所示的界面。主要方法代码如下:RequestMapping(value = /doLogin) ResponseBody public ResultDto doLogin(Model model, RequestBody EmpDto empDto, ServletResponse response, ServletRequest request) throws IOException / 获得在下面代码中要用的request,response,session对象 HttpServletRequest servletRequest = (HttpServletRequest) request; HttpSession session = servletRequest.getSession(); boolean checkOutLogin = iEmpService.checkOutLogin(empDto); Map errorMap = new HashMap(); String error = ; try SecurityContext.login(empDto.getEmpN
copyright@ 2008-2022 冰豆网网站版权所有
经营许可证编号:鄂ICP备2022015515号-1