基于Java EE技术的公司职员信息管理系统查询与统计功能的设计与实现

上传人:仙*** 文档编号:29768676 上传时间:2021-10-08 格式:DOC 页数:50 大小:2.55MB
返回 下载 相关 举报
基于Java EE技术的公司职员信息管理系统查询与统计功能的设计与实现_第1页
第1页 / 共50页
基于Java EE技术的公司职员信息管理系统查询与统计功能的设计与实现_第2页
第2页 / 共50页
基于Java EE技术的公司职员信息管理系统查询与统计功能的设计与实现_第3页
第3页 / 共50页
点击查看更多>>
资源描述
班班 级级 学学 号号 本科毕业设计论文 题题 目目 基于 Java EE 技术的公司职员信息管理系统查询与统计功能的设计与实现 学学 院院 软件学院 专专 业业 软件工程 学生姓名学生姓名 导师姓名导师姓名 摘要摘摘 要要二十一世纪的今天,随着互联网的普及与发展,计算机技术已经广泛的应用于人们的生产办公中,特别是信息的处理加工,更大大的推进着企业的生产效率的增长,企业管理信息化已经成为一个必然的趋势。本课题研究并开发基于 J2EE 多层框架的人事信息管理系统。此系统不同于以往的人事信息管理软件,而是在互联网的大背景下,实现以数据库服务器来维护人事信息数据,浏览器客户端来动态访问服务器,这种采用 BS 架构的管理系统,有利于充分利用互联网覆盖范围广,通信及时等的优点,来实现对人事信息的统一管理。本文中对人事信息管理系统的设计及实现作了较为深入和全面的分析,并且探讨了将人事信息系统软件的实现与网络服务技术相结合,这种模式为电子政务的发展所带来的积极作用。其优势在于客户端无需安装特定的软件,只需要打开 IE 浏览器访问其服务就可以取得各种相应信息。在系统部署完成后,也可以通过在服务器端添加网络服务的形式来拓展系统的功能。完成本系统后,在测试及试用过程中,能够实现各人事管理单位之间信息的通畅和高速运转,各方面均已达到了预期的目标,建立了一个高效的人事信息管理平台。关键词:企业管理信息化 企业人事管理系统 J2EE 技术 B/S 机构ABSTRACTABSTRACTIn the twenty-first century, with the popularity and the development of the Internet, computer technology has been widely used in the work .Especially the handling of information processing, largely promote to improve the growth of productivity. Enterprise information has become an inevitable trend.The paper aims to research and develop human information management system basing J2EEThe system is different from the past human information management softwareIt maintains human information with data base server and visits server with browser clientThe BS structure management system can exert the advantages of making full use of Internet and transferring information quickly to realize the human information unified managementThe paper makes a full and comprehensive analysis for human information management system designingIt also probes into combining human information system software with Internet service technology and it plays an active role for e-governmentThe advantage lies in that the customers do not need install certain software and they can get kinds of information by opening IE browser. After finishing the system,customers can add net service by server to expand functionThe system can make human management more smooth and quick in different officesAll the aspects can reach expectable aim,and it can also build a high efficient human informationmanagement platform Keywords: Enterprise Management Information Enterprise Management System J2EE BS structure 目录 i目目 录录第一章第一章 绪论绪论.11.1 项目背景及意义.11.2 本文工作内容.21.3 论文组织结构.3第二章第二章 基础理论与技术基础理论与技术.52.1 J2EE 技术.52.2 MVC 模式.52.3 SHH 框架.7第三章第三章 需求分析与概要设计需求分析与概要设计.93.1 业务流程分析 .93.2 系统功能需求分析 .103.3 系统非功能需求分析 .143.4 系统体系结构设计 .14第四章第四章 系统详细设计与实现系统详细设计与实现.174.1 系统功能模块结构 .174.2 系统流程设计.184.3 系统数据库设计 .214.4 系统模块功能实现 .244.4.1 注册登录功能:.244.4.2 基本信息管理功能:.254.4.3 履历信息管理功能:.264.4.4 技能信息管理功能:.284.4.5 薪水信息管理功能:.29第五章第五章 系统测试及结果分析系统测试及结果分析.31ii 目录5.1 系统部署环境及配置 .315.2 系统测试(测试用例) .315.3 测试结果分析 .34第六章第六章 结论与展望结论与展望.356.1 本文总结 .356.2 系统存在的不足 .356.3 系统的展望 .35致谢致谢.37参考文献参考文献.39 第一章 绪论 1第一章 绪论1.1 项目背景及意义近年来,随着信息技术,特别是信息高速公路的发展,世界经济正在趋向于网络化,世界各国正从工业经济向信息经济转变,各国的企业界也都在致力于企业信息化,使企业资源合理配置,以使企业能适应瞬息万变的市场经济竞争环境,求得最大的经济效益。在 20 世纪 90 年代中后期,随着连接,集成,网络,存取和友好界面等技术融合到起信息化的概念就越来越有力地得到了阐明,越来越多的企业开始理解它并对它发生了兴趣,企业信息化得以迅猛发展.时至今日,信息技术在企业中得到广泛应用,深刻地影响着企业管理者的价值观和思维方式,极大地提高了企业的效率和核心竞争力,使资源得到最佳化的平衡信息技术的发展和应用,给企业人力资源管理工作带来了深刻的变化。企业的人力资源应能够适应信息化带来的变化,能够使信息化成为提高管理效率和水平的手段,因而对人力资源的获取,甄选,保留,等提出了更高的要求.另一方面,人力资源管理信息化也是企业信息化重要组成部分。为了适应快速变化的市场,企业需要更加灵活,越来越多的企业开始推进人力资源管理信息化,试图通过信息技术来降低企业成本,规范业务流程,提高工作效率。企业信息化提高了人力资源管理部门的工作效率,帮助人力资源管理部门从繁杂的例行性事务中解脱出来.在知识经济时代,知识就是财富,企业最有价值的资源是掌握知识和技能的人,而人力资源管理就是对知识型员工的管理.企业信息化后,员工承担的工作内容也有很大的变化,员工承担更多的是对信息系统中各类信息的分析,预测,监测异常情况变动,并且能较快地研究出决策,加强对错综复杂环境的把握,员工自身素质提出了更高的要求。由于我国的传统文化和企业氛围一直倡导人和,致使人力资源管理工作一直是人治大于法治,管理工作经常体现为个人意志.很多企业将注意力放在人力资源管理的具体操作层面上,只是将传统的行政人事部门改头换面成人力资源管理部门,致使人力资源管理的流程不顺,缺乏可依据的标准,信息误导现象严重,信息集成层次不高,无法更宏观地利用人力资源数据.长此以往,管理制度不完善,流程不规范,人力资源管理基础薄弱.信息化2 公司职员信息管理系统的设计与实现的人力资源管理应该建立在网络畅通,制度完善,流程规范的基础上,人力资源管理者在规范化流程的指导下,根据信息系统的数据进行分析,判断,决策。随着信息化进程的深人,这一间题将更加突出.追求急功近利,一步到位带来的问题很多企业在人力资源管理信息化的进程中急功近利,妄想一步到位,以为从此就可以一劳永逸。在进行人力资源管理信息系统设计时,味追求功能齐全,技术先进,却与企业的实际发展情况相脱节,势必造成系统与现实水土不服.同时,很多企业不重视后期的持续发展,管理者认为只要获得有效的人力资源管理信息系统,其余的工作都可以顺理成章地完成了.然而,事实并非如此,人力资源管理信息化是随着企业的人力资源管理工作的变迁而不断变化的.新的技术,管理方式,规则以及消费者的需求层出不穷,企业必须不断改变其人力资源策略,从而引起信息系统的变化,因而,信息化的人力资源管理需要不断地改进和修正。本设计就是建立一个公司职员信息管理系统,并实现查询功能,统计功能和管理功能。通过本系统,可以清晰的查看公司职员的各种信息,从而有利于更科学有效地开发与管理企业人力资源,便于企业高层领导从总体上把握人力资源情况,为企业决策提供依据。1.2 本文工作内容本项目是根据企业的需求,通过分析公司背景,了解公司人事的行政流程,设计和实现一个公司职员信息管理系统,该系统的设计和实现主要设计以下内容:1.项目需求和分析通过对企业方面调研和了解,熟悉企业的人事管理流程,整理出企业人事管理的需求和注意事项,做出需求分析报告,引领整个项目开发的流程,做出事先的统一调配和规划。2.项目的架构SSH 框架是当前主流的 Web 开发框架,在将请求与视图分离,业务的整合,对象模型到关系模型的映射方面有其独到之处。3.项目的具体实现数据库的设计,接口的设计,功能模块的实现,由于采用了 B/S 结构,和用户交互的界面是网页,同时还要设计网页页面,与功能模块相衔接。 第一章 绪论 31.3 论文组织结构本文主要介绍了企业人事管理系统的设计和实现,以及该系统的架构技术和实际的测试结果。本章主要叙述了项目提出的背景、研究现状以及项目的研究目标。第二章详细介绍了 Struts2、 Spring 、Hibernate 架构等相关理论。第三章详细介绍了系统的功能需求分析与非功能需求分析。第四章详细说明了系统的各个功能模块的具体实现流程,并且辅以类图、流程图进行进一步的说明。第五章介绍了几个主要功能的测试以及示例。最后总结了全文,指出了系统需要改进的地方和进一步的研究方向。4 公司职员信息管理系统的设计与实现第二章 基础理论与设计5第二章 基础理论与技术本章主要介绍系统采用的相关理论和技术。2.1 J2EE 技术J2EE 是一种利用 Java 2 平台来简化企业解决方案的开发、部署和管理相关的复杂问题的体系结构。J2EE 技术的基础就是核心 Java 平台或 Java 2 平台的标准版,J2EE不仅巩固了标准版中的许多优点,例如编写一次、随处运行的特性、方便存取数据库的 JDBC API、CORBA 技术以及能够在 Internet 应用中保护数据的安全模式等等,同时还提供了对 EJB(Enterprise JavaBeans) 、Java Servlets API、JSP(Java Server Pages)以及 XML 技术的全面支持。其最终目的就是成为一个能够使企业开发者大幅缩短投放市场时间的体系结构。J2EE 体系结构提供中间层集成框架用来满足无需太多费用而又需要高可用性、高可靠性以及可扩展性的应用的需求。通过提供统一的开发平台,J2EE 降低了开发多层应用的费用和复杂性,同时提供对现有应用程序集成强有力支持,完全支持 Enterprise JavaBeans,有良好的向导支持打包和部署应用,添加目录支持,增强了安全机制,提高了性能。2.2 MVC 模式MVC 模式是“ModelViewController”的缩写,即把一个应用的输入、处理、输出流程按照 Model、View、Controller 的方式进行分离,这样一个应用被分成 三个层模型层、视图层、控制爱。MVC 应用程序总是由这三个部分组成。Event(事件)导致 Controller 改变 Model 或 View,或者同时改变两者。只要 Controller 改变了 Model的数据或者属性,所有依赖的 View 都会自动更新。类似的,只要 Controller 改变了View,View 会从潜在的 Model 中获取数据来刷新自己。视图(View)代表用户交互界面,对于 Web 应用来说,可以概括为 HTML 界面, 但有可能为 XHTML、XML 和Applet。随着应用的复杂性和规模性,界面的处理也变 得具有挑战性。一个应用可能6 公司职员信息管理系统的设计与实现有很多不同的视图,MVC 设计模式对于视图的处理仅限于视图上数据的采集和处理,以及用户的请求,而不包括在视图上的业务流程的处理。业务流程的处理交予模型(Model)处理。比如一个订单的视图只接受来自模型的数据并显示给用户,以及将用户界面的输入数据和请求传递给控制和模型。 模型(Model):就是业务流程状态的处理以及业务规则的制定。业务流程的处理过程对其它层来说是黑箱操作,模型接受视图请求的数据,并返回最终的处理结果。业务模型的设计可以说是 MVC 最主要的核心。目前流行的 EJB 模型就是一个典型的应用例子,它从应用技术实现的角度对模型做了进一步的划分,以便 充分利用现有的组件,但它不能作为应用设计模型的框架。它仅仅告诉你按这种模型设计就可以利用某些技术组件,从而减少了技术上的困难。对一个开发者来说,就可以专注于业务模型的设计。MVC 设计模式告诉我们,把应用的模型按一定的规则抽取出来,抽取的层次很重要,这也是判断开发人员是否优秀的设计依据。抽象与具体不能隔得太远,也不能太近。MVC 并没有提供模型的设计方法,而只告诉你应该组织管理这些模型,以便于模型的重构和提高重用性。我们可以用对象 编程来做比喻,MVC 定义了一个顶级类,告诉它的子类你只能做这些,但没法限制你能做这些。这点对编程的开发人员非常重要。业务模型还有一个很重要的模型那就是数据模型。数据模型主要指实体对象 的数据保存(持续化)。比如将一张订单保存到数据库,从数据库获取订单。我们可以将这个模型单独列出,所有有关数据库的操作只限制在该模型中。 控制(Controller)可以理解为从用户接收请求,将模型与视图匹配在一起,共同完成用户的请求。划分控制层的作用也很明显,它清楚地告诉你,它就是一个分发器,选择什么样的模型,选择什么样的视图,可以完成什么样的用户请求。控制层并不做任何的数据处理。例如,用户点击一个连接,控制层接收请求后,并不处理业务信息,它只把用户的信息传递给模型,告诉模型做什么,选择符合要 求的视图返回给用户。因此,一个模型可能对应多个视图,一个视图可能对应多个模型。 模型、视图与控制器的分离,使得一个模型可以具有多个显示视图。如果用户通过某个视图的控制器改变了模型的数据,所有其它依赖于这些数据的视图都 应反映到这些变化。因此,无论何时发生了何种数据变化,控制器都会将变化通知所有的视图,导致显示的更新。这实际上是一种模型的变化一传播机制。第二章 基础理论与设计72.3 SSH 框架SSH 在 J2EE 项目中表示了 3 种框架,即 Spring + Struts +Hibernate。Struts 是一个为开发基于 MVC(模型-视图-控制器)模式的应用框架架构的开源框架,是利用 Java Servlet 和 JSP 构建 Web 应用的一项非常有用的技术。Struts 2 是 Struts的下一代产品。是在 Struts 和 WebWork 的技术基础上进行了合并,全新的 Struts 2 框架。其全新的 Struts 2 的体系结构与 Struts 1 的体系结构的差别巨大。Struts 2 以WebWork 为核心,采用拦截器的机制来处理用户的请求,这样的设计也使得业务逻辑控制器能够与 Servlet API 完全脱离开,所以 Struts 2 可以理解为 WebWork 的更新产品。Spring 是一个开源框架,是为了解决企业应用开发程序复杂性由 Rod Johnson 创建的。框架的主要优势之一就是其分层架构,分层架构允许使用者选择使用哪一个组件,同时为 J2EE 应用程序开发提供集成的框架。Spring 使用基本的 JavaBean 来完成以前只可能由 EJB 完成的事情。然而,Spring 的用途不仅限于服务器端的 开发。从简单性、可测试性和松耦合的角度而言,任何 Java 应用都可以从 Spring 中受益。传统 J2EE 应用的开发效率低,应用服务器厂商对各种技术的支持并没有真正统一,导致 J2EE 的应用没有真正实现 Write Once 及 Run Anywhere 的承诺。Spring 作为开源的中间件,独立于各种应用服务器,甚至无须应用服务器的支持,也能提供应用服务器的功能,如声明式事务等。 Spring 致力于 J2EE 应用的各层的解决方案,而不是仅仅专注于某一层的方案。可以说 Spring 是企业应用开发的“一站式”选择,并贯穿表现层、业务层及持久层。然而,Spring 并不想取代那些已有的框架,而是与它们无缝地整合。Hibernate 是一个开放源代码的对象关系映射框架,它对 JDBC 进行了非常轻量级的对象封装。使得 Java 程序员可以随心所欲的使用对象编程思维来操纵数据库。Hibernate 可以应用在任何使用 JDBC 的场合,既可以在 Java 的客户端程序使用,也可以在 Servlet/JSP 的 Web 应用中使用,最具革命意义的是,Hibernate 可以在应用 EJB的 J2EE 架构中取代 CMP,完成数据持久化的重任。Hibernate 的核心接口一共有 5 个,分别为:Session、SessionFactory、Transaction、Query 和 Configuration。这 5 个核心接口8 公司职员信息管理系统的设计与实现在任何开发中都会用到。通过这些接口,不仅可以对持久化对象进行存取,还能够进行事务控制。第三章 需求分析与概要设计9第三章 需求分析与概要设计本章主要介绍了业务流程分析、系统功能需求分析、 系统非功能需求分析、系统体系结构设计。3.1 业务流程分析管理员首先登陆系统,系统的主要功能有以下 5 个:1.基本信息管理当管理员需要查看员工的基本信息的时候,可以进入基本信息管理功能按姓名或者员工号查找该员工,找到符合的员工,然后系统会显示该员工的基本信息。如果某个员工的信息出现错误,管理员可以修改该员工的基本信息。当某一个员工发生离职时,管理员在经过确认后,可以删除该员工的基本信息。2.履历信息管理当员工进入公司时,需要记录员工的工作履历信息,可以添加员工以往的工作履历,例如工作的公司、工作开始的时间、工作结束的时间。一旦发生录入错误,管理员可以修改或者删除重新录入。3.技能信息管理当员工进入公司或者员工通过了新的技能验证时,管理员可以通过技能信息管理给员工添加这一技能信息,包括:技能的名称,技能的等级,获得技能的时间,一旦发生录入错误,可以修改,同时,当管理员发现员工提出的添加申请不符合真是情况,管理可以删除这一虚假技能信息。4.薪水信息管理不同的员工之间有不同的薪水,管理员可以按照员工的级别修改员工应该发放的基本工资,同时,员工的加班费用也不同,按照加班的多少,时间的长短,可以修改员工的加班费用,最后由系统得出汇总,得到每个月员工的真是薪水的数量。5.修改密码10 公司职员信息管理系统的设计与实现员工和管理员可以修改自己的登录密码。系统的功能分解图如图 3.1。登陆基本信息管理履历信息管理技能信息管理薪水信息管理修改密码查找基本信息删除基本信息修改基本信息添加履历信息修改履历信息删除履历信息添加技能信息修改技能信息删除技能信息修改薪水信息图 3.1 功能分解图3.2 系统功能需求分析1.注册登录第三章 需求分析与概要设计11业 业 业 业 业 业 业 业 业 业 业业 业 业业 业 业 业业 业图 3.2 注册登录用例图新用户将进行注册,由于涉及到权限问题,为了避免员工恶意修改删除信息,所以只对外开放注册员工账号注册,不可以注册管理账号,管理员账号应该是已经预留好给人事部门的。只有已经注册的用户才可以登陆,同时员工登陆和管理员登陆所获得的权限是不一样的,所能进行的操作时不一样的。用例图如图 3.2。2.主功能当用户登陆以后,用户进行基本信息、从业履历信息,技能基本信息、薪水信息、修改密码等相关操作。用例图如图 3.3。12 公司职员信息管理系统的设计与实现业 业 业 业 业 业 业 业业 业 业 业业 业 业 业 业 业业 业业 业 业 业 业 业业 业业 业 业 业 业 业图 3.3 主功能用例图3.基本信息操作首先判定查询的权限,进入如果是员工进入查询页面,则只能查找自己的一些基本信息,和查看其他员工的信息,可以查看自己的基本信息,包括姓名,年龄,员工号等,但是不可以进行修改、删除、添加等操作。如果是管理员,则拥有很高的权限,比员工可以进的更多的操作,比如:可以进行查看所有员信息,同时,也可以进行员工信息的修改、删除、添加等操作。用例图如图 3.4。第三章 需求分析与概要设计13业 业业 业 业 业 业 业业 业 业 业 业 业业 业 业 业 业 业业 业 业 业 业 业业 业 业 业 业 业业 业 业 图3.4 基本信息操作用例图4.从业履历信息操作首先判定查询的权限,进入如果是员工进入从业履历页面,则只能查看自己的一些从业信息,是不可以进行修改、删除、添加等操作。如果是管理员权限,可以进行查看所有员工从业信息,同时,也可以进行员工从业信息的修改、删除、添加等操作。用例图如图 3.5。业 业 业 业 业 业业 业 业 业 业 业 业 业业 业 业 业 业 业业 业 业 业 业 业 业 业业 业业 业 业 业 业 业业 业 业图 3.5 从业履历信息操作用例图5.技能信息操作14 公司职员信息管理系统的设计与实现首先判定查询的权限,进入如果是员工进入技能信息页面,可以查看自己的一些技能信息,同时当有新技能通过时,可以自己添加,还可让管理员添加,但员工是不可以修改、删除以前的技能信息的。如果是管理员权限,可以进行查看所有员工技能信息,同时,也可以进行员工从业信息的修改、删除、添加等操作。用例图如图 3.6。业 业 业 业 业 业业 业 业 业 业 业 业 业业 业 业 业 业 业业 业 业 业 业 业 业 业业 业 业业 业 业 业 业 业业 业图 3.6 技能信息操作用例图6.薪水信息操作业 业 业 业 业 业业 业 业 业 业 业业 业 业 业 业 业业 业 业 业 业 业业 业业 业 业 业 业 业业 业 业图 3.7 薪水信息操作用例图第三章 需求分析与概要设计15首先判定查询的权限,进入如果是员工进入薪水信息操作页面,则只能查看自己的一些薪水信息,是不可以进行修改、删除、添加等操作。如果是管理员权限,可以进行查看所有员工薪水信息,同时,也可以进行员工薪水信息的修改、删除、添加等操作。用例图如图 3.7。3.3 系统非功能需求分析硬件需求:处理器:主频 2.0 以上硬板:80G 以上安全措施需求:一旦发生断电,系统可以回滚到操作前的数据,不会发生数据只存储一半的错误情况。安全性需求:为了使职员间的信息保密,该系统只允许员工用户查看信息,同时为了防止虚假修改,也不允许员工的信息,修改,删除等操作只能用管理员进行。3.4 系统体系结构设计本系统采用的是 B/S 结构:B/S 结构(Browser/Server 结构)结构即浏览器和服务器结构。它是随着 Internet 技术的兴起,对 C/S 结构的一种变化或者改进的结构。在这种结构下,用户工作界面是通过 WWW 浏览器来实现,极少部分事务逻辑在前端(Browser)实现,但是主要事务逻辑在服务器端(Server)实现,形成所谓三层 3-tier结构。这样就大大简化了客户端电脑载荷,减轻了系统维护与升级的成本和工作量,降低了用户的总体成本(TCO) 。以目前的技术看,局域网建立 B/S 结构的网络应用,并通 Internet/Intranet 模式下数据库应用,相对易于把握、成本也是较低的。它是一次性到位的开发,能实现不同的人员,从不同的地点,以不同的接入方式(比如 LAN, WAN, Internet/Intranet 等)访问和操作共同的数据库;它能有效地保护数据平台和管理访问权限,服务器数据库也很安全 。特别是在 JAVA 这样的跨平台语言出现之后,B/S 架构管理软件更是方便、速度快、效果优。16 公司职员信息管理系统的设计与实现B/S 结构的优点: 1.具有分布性特点,可以随时随地进行查询、浏览等业务处理。 2.业务扩展简单方便,通过增加网页即可增加服务器功能。 3.维护简单方便,只需要改变网页,即可实现所有用户的同步更新。 4.开发简单,共享性强。 在开发系统时采用 MVC 模式,共有三层:模型(Model),视图(View)和控制Controller)。MVC 模式的目的就是实现 Web 系统的职能分工。Model 层实现系统中的业务逻辑,通常可以用 JavaBean 或 EJB 来实现。View 层用于与用户的交互,通常用JSP 来实现。 Controller 层是 Model 与 View 之间沟通的桥梁,它可以分派用户的请求并选择恰当的视图以用于显示,同时它也可以解释用户的输入并将它们映射为模型层可执行的操作。同时采用 SSH 框架设计(Struts,Spring,Hibernate) Struts 进行流程控制,Spring 进行业务流转,Hibernate 进行数据库操作的封装!系统的逻辑结构图如图 3.8。客户端JavaScriptHTMLCSSWeb层ServletJSPAction层控制程序流向具体action操作业务逻辑层处理事务处理业务逻辑Dao层Hibernate操作数据库数据库图3.8 系统逻辑结构图共分为如下几层:客户端、Web 层、Action 层、业务逻辑层、DA0 层和数据库层。每层只能访问他的相邻层,不允许跨层访问。下层为卜层提供公用 API。 Web 层和Action 层通过 Action 传递数据,Action 层和业务逻辑层通过 Dao 层向数据库传递数据。第三章 需求分析与概要设计171.客户端:采用 HTML 实现,CSS 负责页面的美观,JavaScript 负责实现一些动态效果和简单验证功能,以减少服务器的负担。 2.Web 层:主要通过 Servlet 和 JSP 技术实现,为了实现表示和业务逻辑分离,采用 Struts taglib 标签。 3.Action 层:负责页面的调转程序的流向,操作页面的具体功能。4.业务逻辑层:用于处理业务逻辑和事务。负责整个系统整体逻辑的作。 5.DAO 层:主要负贵对数据库的操作,使用 Hibernate 操作。 6.数据库:主要存储系统的数据,对上层提交的操作,在数据上进行更新。第四章 系统详细设计与实现19第四章 系统详细设计与实现本章主要介绍了:系统功能模块结构,系统流程设计,系统数据库设计和系统模块功能的实现。4.1 系统功能模块结构系统的功能模块主要分为:人事基本信息管理,履历信息管理,技能信息管理,薪水信息管理,修改密码,退出等。具体功如下:1.人事基本信息管理人事基本信息管理主要是操作员工的人事基本信息内容,主要的功能包括:查找人事基本信息,显示所有员工基本信息,修改人事基本信息,删除人事基本信息。2.履历信息管理履历信息管理功能主要是操作履历信息管理内容,主要的功能包括:查找个人履历信息,修改个人履历信息,删除个人履历信息,添加个人履历信息。3.技能信息管理技能信息管理主要是操作员工的技能信息内容,功能主要有:查找个人技能信息,修改个人技能信息,删除个人技能信息,添加个人技能信息。4.薪水信息管理薪水信息管理功能主要有:查找个人薪水信息,修改个人薪水信息,显示个人薪水信息。5.修改密码修改密码功能主要是:一旦,发现老的密码不安全,或者已经有被盗取的迹象时,用户可以设定新的密码。6.退出退出功能主要是:如果员工和管理员使用完系统以后,可以退出系统,返回登录首页。图 4.1 是公司职员管理系统的组件图,它反映了整个应用所使用的技术,比如JSP,WEB 等技术。20 公司职员信息管理系统的设计与实现JSPStruts Action Beanweb serviceXHibernatehibernate entity bean图 4.1 系统组件图4.2 系统流程设计系统登录流程如下:系统用户在系统登录页面输入用户名和密码,点击提交按钮,触发后台系统登录的 LoginAction,首先获取登录页面输入的用户名和密码。 建立到正式数据库的连接,从系统用户信息表中,以用户名和密码为查询条件,查询该记录;如果能够查询到该记录,则该用户合法,并且根据系统用户表中该用户的权限等级,来从系统菜单信息表中确定那些菜单是应该显示给该用户的,查询完毕向系统菜单页面跳转:如果不能查询到该记录,则该用户不存在或密码不正确,在系统登录页面显示相应的错误信息。同时如果连续输入多次密码错误的话就锁定用户,1小时之内不能输入。相应的活动图如图 4.2。第四章 系统详细设计与实现21显示系统登录页面用户是否注册注册登录显示错误信息根据用户权限,进入相应的主界面未注册 已经注册 通过验证 验证用户密码是否正确未通过验证 图 4.2 登陆活动图人事基本信息流程:查找流程:用户按照所需要的信息进行查找,可以进行按姓名查找,也可以按员工号查找,如果找到就在开始的查找页面进行显示,如果找不到用户,就跳转到显示页面,显示无符合信息。在查找完以后,每个信息后面都有几个相应的操作,比如修改,删除等等。相应的活动图如图 4.3。22 公司职员信息管理系统的设计与实现基本信息管理界面查询基本信息找到查询的内容 未找到查询的内容 显示查找结果显示无符合信息图 4.3 基本信息查询活动图修改流程:找到需要修改的信息,如果修改成功显示成功信息,修改不成功,就显示错误。相应的活动图如图 4.4。基本信息管理界面修改基本信息修改未成功 修改成功 显示成功信息显示错误信息图 4.4 基本信息修改活动图第四章 系统详细设计与实现23删除信息流程:找到需要删除的信息,如果删除成功显示成功信息,如果删除不成功,就显示错误。相应的活动图如图 4.5。基本信息管理界面删除基本信息删除未成功 删除成功 显示成功信息显示错误信息图 4.5 基本信息删除活动图4.3 系统数据库设计本系统在开发时共用了 5 个具体的数据表分别如下:用户信息表主要的属性有:用户名(usename) ,密码(password) ,权限(limit) ,具体的属性内容。如表 4.1 所示。表 4.1 用户信息表数据名称实际含义数据类型数据约束username用户名String不能为空password密码string不能为空limit权限int1 或者 024 公司职员信息管理系统的设计与实现基本信息数据表主要属性有:姓名(name) ,年龄(age) ,性别(gender) ,民族(nation) ,身份证号(identification) ,员工编号(number) ,该员工加入公司的时间(addDate) ,该员工在公司工作的时间(workTime)。具体如表 4.2 所示。表 4.2 基本信息表数据名称实际含义数据类型 数据约束name姓名string不超过 30 字符,age年龄int 大于 18 小于 65gender性别string男或者女nationn民族string56 种民族之一identification身份证号string18 位birthday出生年月日date大于 0number员工编号int 大于 0addDate该员工加入公司的时间date大于 0workTime该员工在公司工作的时间int 大于等于 0从业履历数据表主要属性有所工作的公司名称(company) ,开始工作的时间(beginDate) ,结束工作的时间(leaveDate) 。如表 4.3 所示。表 4.3 从业履历表数据名称实际含义数据类型 数据约束company所工作的公司名称string不能为空beginDate开始工作的时间date不能为空leaveDate结束工作的时间date不能为空技能信息数据表主要属性有:技能名称(skillName) ,技能等级(skillLevel) ,技能获取时间(SkillDate)如表 4.4 所示。表 4.4 技能信息表数据名称实际含义数据类型数据约束skillName技能名称string不能为空skillLevel技能等级int大于 1skillDate技能获取时间date不能为空薪水信息数据表主要属性有基本薪水(Basicsalary) ,加班(plus) ,总计(total) 。如表 4.5 所示。第四章 系统详细设计与实现25表 4.5 薪水信息表数据名称实际含义数据类型 数据约束Basicsalary基本薪水int大于 1000plus加班int 大于等于 0total总计int 大于等于 05 张表的 ER 图如图 4.6。基本信息技能ID薪水信息从业信息用户姓名用户名基本ID身份证号员工号年龄性别技能ID用户ID权限密码薪水ID基本薪水加班费总计技能获得时间技能等级技能名称从业公司从业结束时间从业开始时间从业ID用户基本信息用户薪水信息用户技能信息用户从业信息11N111N基本ID技能ID薪水ID从业ID1N图 4.6 ER 图其中 5 张表的对应关系如下:用户表与基本信息表关系为一对一,因为每个用户只有一个基本信息表,所以要用一对一。用户表与履历信息表关系为一对 N,因为每个用户可能有很多不同的从业经验,所以需要用一对 N。用户表与技能信息表关系为一对 N,因为每个用户可能有很多不同的技能信息,所以需要用一对 N。用户表与薪水信息表的关系为一对一,因为每个用户只有一份薪水信息,所以要用一对一。26 公司职员信息管理系统的设计与实现4.4 系统模块功能实现4.4.1 注册登录功能注册:系统首先进入注册界面,输入合法的 username 和 password,不能为空,点击提交,然后调用 register()函数,连接数据库,在数据库中添加新的一条记录。如果添加成功的话,则跳转到登录界面,如果不成功,则在登录界面显示注册不成功。登录:系统首先接受 JSP 页面传过来的 username 和 password 属性,点击提交,然后调用login()函数,连接数据库,按 username 查找到相对应的用户名,然后匹配相对应的password,如果能够匹配的话就依照 limit 的值是管理员还是员工条跳转到相应的menu.jsp,进行主界面操作。如果没有找到匹配的 username 和 password 的话就提示用户名密码错误。User 类图如图 4.7。图 4.7 user 类图User 类主要有 3 个属性:Private String username:主要是记录用户的登录名。Private String password:主要记录用户的登录密码。Private int limit:存放用户的权限,0 为员工用户,1 为管理员。User 类得 2 个函数:Public Boolean register():注册新用户。Public Boolean login():登录验证用户名和密码。第四章 系统详细设计与实现274.4.2 基本信息管理功能基本信息管理功能主要是对员工的基本信息进行处理操作。主要功能包括员工信息的查找,员工信息的修改,员工信息的删除。 查找:首先进入基本信息管理界面,输入需要查找的员工的姓名 name,提交到后台,然后调用 search_name(String name)函数。连接数据库,按 name 查找到相对应的用户名,将找到的用户信息从数据库中拿出,显示到 baiscview.jsp 界面。如果没有找到匹配的 name 话就显示无符合信息。修改:首先通过查找找到需要进行修改的用户,点击修改,转入到修改页面,输入你要修改的信息, 员工的姓名 name, 员工的身份证号码 identification,员工的年龄 age,员工的员工号 number,员工的性别 gender,然后页面提交表单到后台,系统调用 update_userbasic()函数,通过调用 Dao 包的 update()函数,更新数据库中的原有信息,同时返回到基本信息管理界面,显示修改成功。如果不成功的话就显示修改失败。删除:首先通过查找找到需要进行修改的用户,点击删除,系统调用 delete_userbasic()函数,通过调用 Dao 包的 delete()函数,更新数据库中的原有信息,同时返回到基本信息管理界面,显示删除成功。如果不成功的话就显示删除失败。Userbasic 类图如图 4.8。图 4.8 userbasic 类图28 公司职员信息管理系统的设计与实现Userbasic 类有 5 个属性:Private String name:记录员工的姓名。private String identification:记录员工的身份证号码。private int age:记录员工的年龄。private int number:记录员工的员工号。private String gender:记录员工的性别。Userbasic 类有 4 个函数:Public String search_name() :按姓名查找用户。Public String search_number () :按员工查找用户。Public String update_userbasic() :修改用户基本信息。Public String delete_userbasic () :删除用户基本信息。4.4.3 履历信息管理功能履历信息管理功能主要是对员工的履历信息进行处理操作。主要功能包括员工履历信息的查找,员工履历信息的修改,员工履历信息的删除。员工只能查看履历信息,管理员可以修改,删除,添加履历信息。 查找:首先进入履历信息管理界面,输入需要查找的员工的姓名:name。提交到后台,然后调用 company_name(String name)函数。连接数据库,按 name 查找到相对应的用户名,将找到的用户信息从数据库中拿出,显示 companyview.jsp 界面。如果没有找到匹配的 name 话就显示无符合信息。修改:首先通过查找找到需要进行修改的用户,点击修改,转入到修改页面,输入你要修改的信息,公司名称 company、开始时间 begaintime、结束时间 endtime;,不能为空,点击提交,然后页面提交表单到后台,系统调用 update_company()函数,通过调用 Dao包的 update()函数,更新数据库中的原有信息,同时返回到履历信息管理界面,显示修改成功。如果不成功的话就显示修改失败。第四章 系统详细设计与实现29删除:首先通过查找找到需要进行修改的用户,点击删除,系统调用 delete_company()函数,通过调用 Dao 包的 delete()函数,更新数据库中的原有信息,同时返回到履历信息管理界面,显示删除成功。如果不成功的话就显示删除失败,同时,跳转到删除操作的界面。添加:首先进入需要添加履历信息用户的界面,通过表单输入公司名称 company、开始时间 begaintime、结束时间 endtime,不能为空,点击提交,然后调用insert_company()函数,连接数据库,在数据库中添加新的一条记录。如果添加成功的话,则跳转到履历信息管理界面,如果不成功,则在履历信息管理界面显示不成功。Company 类图如图 4.9。图 4.9 company 类图Company 类有 3 个属性:private String company:记录工作公司的名称。private Date begaintime:记录工作开始的时间。private Date endtime:记录工作结束的时间。Company 类有 5 个函数:public String company_name():按照姓名查找履历信息。public String company_number():按照员工号查找履历信息。public String update_company():修改员工履历信息。30 公司职员信息管理系统的设计与实现public String insert_company():添加员工履历信息。public String delete_company():删除员工履历信息。4.4.4 技能信息管理功能技能信息管理功能主要是对员工的技能信息进行处理操作。主要功能包括员工技能信息的查找,员工技能信息的修改,员工技能信息的删除。 查找:首先进入技能信息管理界面,输入需要查找的员工的姓名:name。提交到后台,然后调用 skill_name(String name)函数。连接数据库,按 name 查找到相对应的用户名,将找到的用户信息从数据库中拿出,显示 skillview.jsp 界面。如果没有找到匹配的name 话就显示无符合信息。修改:首先通过查找找到需要进行修改的用户,点击修改,转入到修改页面,输入你要修改的信息, 技能名称 skillname,技能等级 skilllevel,技能获得时间 skilldate。不能为空,点击提交,然后页面提交表单到后台,系统调用 update_skill()函数,通过调用Dao 包的 update()函数,更新数据库中的原有信息,同时返回到技能信息管理界面,显示修改成功。如果不成功的话就显示修改失败。删除:首先通过查找找到需要进行修改的用户,点击删除,系统调用 delete_skill()函数,通过调用 Dao 包的 delete()函数,更新数据库中的原有信息,同时返回到技能信息管理界面,显示删除成功。如果不成功的话就显示删除失败。添加:首先进入需要添加技能信息用户的界面,通过表单输入技能名称 skillname,技能等级 skilllevel,技能获得时间 skilldate,不能为空,点击提交,然后调用insert_skill()函数,连接数据库,在数据库中添加新的一条记录。如果添加成功的话,则跳转到技能信息管理界面,如果不成功,则在技能信息管理界面显示不成功。Skill 类有 3 个属性:private String skillname:记录技能的名称。第四章 系统详细设计与实现31private Date skilllevel:记录技能的等级。private Date skilldate:记录技能获得时间。Skill 类有 5 个函数:public String skill_name():按照姓名查找履历信息。public String skill_number():按照员工号查找履历信息。public String update_skill():修改员工履历信息。public String insert_skill():添加员工履历信息。public String delete_skill():删除员工履历信息。Skill 类图如图 4.10。图 4.10 skill 类图4.4.5 薪水信息管理功能薪水信息管理功能主要是对员工的薪水信息进行处理操作。主要功能包括员工薪水信息的修改。 修改:首先通过查找找到需要进行修改的用户,点击修改,转入到修改页面,输入你要修改的信息, 基本薪水 salary,加班费用 plus,不能为空,点击提交,然后页面提交表单到后台,系统调用 update_salary()函数,通过调用 Dao 包的 update()函数,更新数据库中的原有信息,同时返回到薪水信息管理界面,显示修改成功。如果不成功的话就显示修改失败。Salary 类有 2 个属性:32 公司职员信息管理系统的设计与实现private int salary:记录基本薪水的多少。private int plus:记录加班费用的多少。Salary 类有 1 个函数:public String update_salary():修改员工薪水信息。Salary 类图如图 4.11。图 4.11 salary 类图第五章 系统测试及结果分析33第五章 系统测试及结果分析5.1 系统部署环境及配置测试环境是指为了完成软件测试工作所必需的计算机硬件、软件的总称。简单的说,经过良好规划和管理的测试环境,可以尽可能的减少环境的变动对测试工作的不利影响,并可以对测试工作的效率和质量的提高产生积极的作用。 测试的环境如下:硬件配置: 处理器:i3-380 主频 2.13G 硬盘:320G 显卡:HD4350软件环境:操作系统:Windows 7 数据库:Mysql工具:MyeclipseTomcat5.2 系统测试(测试用例)以下对整个系统做了一个全面完整的测试,包括注册登录,基本信息管理模块的测试、履历信息管理模块的测试、技能信息管理模块的测试、薪水信息管理模块的测试、修改密码的测试。首先是注册登录的测试,首先注册一个用户,然后用该注册的用户登录系统,测试结果为,注册成功,同时用该注册用户,登录成功。用户登录需要选择权限,有员工和管理员,登录时用户名和密码不能为空,如果密码和用户名正确,则进入系统主功能界面。如图 5.1,5.2 所示。34 公司职员信息管理系统的设计与实现图 5.1 注册登录图 5.2 主功能界面基本信息管理功能主要是对员工的基本信息进行处理操作。主要功能包括员工信息的查找,员工信息的修改,员工信息的删除。基本信息管理主要测是查找,修改,删除基本信息。如图 5.3 所示。第五章 系统测试及结果分析35图 5.3 个人基本信息功能按姓名和按员工号分别查找员工信息,同时可以根据需要对员工信息进行删除和修改,当要删除员工的信息时,点击员工信息后面的删除选项,可以从数据库中删除员工的信息,如果删除成功的话就在查找页面显示,删除成功,如果删除失败的话,就在查找页面显示删除失败,同时跳转到需要删除信息的那个查找页面。当要修改员工的信息时,点击员工信息后面的修改选项,可以进入修改界面,修改成功以后显示修改成功,不成功显示修改失败,同时跳转到需要修改的那个页面,结果如图 5.4 所示。36 公司职员信息管理系统的设计与实现图 5.4 删除员工信息5.3 测试结果分析以上只写出了几个典型的有代表性的测试用例,限于篇幅有限,没有一一罗列。在整个测试过程中,大部分功能正常,但也发现了一些问题,并及时做了修正。但是由于时间和个人能力的等方面的原因,该系统难免会出现一些问题,本人会在以后的使用和维护中不断完善该系统。第六章 结论与展望37第六章 结论与展望6.1 本文总结本论文研究并开发基于 J2EE 多层框架的人事信息管理系统。此系统不同于以往的人事信息管理软件,而是在互联网的大背景下,实现以数据库服务器来维护 人事信息数据,浏览器客户端来动态访问服务器,这种采用 BS 架构的管理系统有利于充分利用互联网覆盖
展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 办公文档


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

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


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