实训基地(论文)人力资源信息管理系统设计与实现_第1页
实训基地(论文)人力资源信息管理系统设计与实现_第2页
实训基地(论文)人力资源信息管理系统设计与实现_第3页
实训基地(论文)人力资源信息管理系统设计与实现_第4页
实训基地(论文)人力资源信息管理系统设计与实现_第5页
已阅读5页,还剩45页未读 继续免费阅读

下载本文档

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

文档简介

1、实训基地人力资源信息管理系统设计与实现design and realization of occupational training base human resource information management system 独创性说明作者郑重声明:所呈交的学士学位论文是本人在指导教师的指导下,独立进行研究工作所取得的成果。除文中已经注明引用的内容外,本论文不包含任何其他个人或集体已经发表或撰写过的作品成果。对本文的研究做出重要贡献的个人和集体,均已在文中以明确方式标明。作者签名: 日期: 实训基地人力资源信息管理系统设计与实现摘 要大连理工大学软件学院与ibm公司合办的du

2、t-ibm软件人才实训基地在双方的真诚合作和互相努力下,已经开办了两届的培训班。随着这两年工作的深入和基地规模的发展,开发一个针对实训基地需求的管理系统迫在眉睫,而本论文就是属于实训基地管理系统下的子系统人力资源信息管理系统,实现用户登陆以及用户个人信息的新增、修改、删除、查找,并根据权限,合理安排用户的操作。论文围绕实训基地人力资源信息管理系统,基于mvc模式,struts框架和hibernate数据持久化技术,结合软件工程的开发理论,进行了需求分析、设计、实现和测试。论文首先详细分析实训基地人力资源信息系统的需求,明确系统所要实现的功能和系统逻辑,确定系统边界并通过系统的用例分析进行系统需

3、求捕获;然后确定实现实训基地人力资源信息系统需要使用的关键技术,并对其详细阐述。在系统设计时,通过对用例的进一步分析,得出了系统的数据库设计和界面设计。在详细设计阶段,对系统的各个功能模块分别给出了详细的类图和序列图设计。在系统实现部分介绍了系统主要功能模块的实现细节及验证方法。最后运用黑盒测试技术,对系统的功能和结构进行了测试。系统具有良好的可维护性与可扩展性。实训基地人力资源信息管理系统是实用于dut-ibm实训基地的日常管理。它实现了实训基地管理的信息化和自动化,适用于实训基地目前和未来的管理和操作,使信息的操作更简单明了,并使系统易扩展。关键词:实训基地;信息管理;mvc;struts

4、 - i -实训基地人力资源信息管理系统设计与实现design and realization of occupational training base human resource information management abstractdalian university of technology and ibm joint dut-ibm software talent occupational training base has been open two terms based on both sincere cooperation and effort. according

5、 to the demand of development of training base ,it is necessary to have a proprietary system for training base. this dissertation is about the subsystem of training base management systemhuman resource information management system .this project affords users to login, and can add users information

6、,.modify users information ,inquiry and delete. it can also arrange different operations according to different authorities. it revolves the training base human resource information management system, based on the mvc pattern, the struts framework, with the hibernate data persisting technology, unif

7、ies the development theory of software engineering, has carried on the demand analysis, design, realization and test. firstly determines the essential technology which the training base human resource information management subsystem needs to use, and carries on the detailed elaboration to it. then

8、commissioned a detailed analysis of the the training base human resource information management systems demand, determine the boundaries of the system and through the use case analysis process the system requirements capture. system design, through the use of cases further analysis shows that the sy

9、stem database design and ui design. in the detailed design stage, produces the detailed designation of class diagram and the sequence diagram for the system each function module. in the system realization stage, introduce the details of the realization of system's main functions. finally, using

10、of the black-box testing technology, test the systems function and the structure. the system has good maintainability and scalability. the training base human resource information management system is used in the dut-ibm training base field of computer management information systems. it achieved the

11、 management of information technology and automation applies to the training base, the current and future management and operation.key words:training base; information management;mvc;struts - iv -目 录摘 要iabstractii1 绪论11.1 dut-ibm软件人才实训基地的发展和现状11.2 课题研究的目的和意义11.3 论文主要工作22 相关技术的理论研究32.1 j2ee平台32.1.1 j

12、2ee概述32.1.2 j2ee体系结构32.1.3 j2ee的优势52.1.4 j2ee的核心技术62.2 mvc设计模式72.2.1 mvc模式的原理和架构72.2.2 mvc模式的优势82.3 struts框架分析82.3.1 struts的体系结构92.3.2 选用struts框架的原因112.4 hibernate数据持久化技术112.4.1 数据持久层的引入112.4.2 关于对象/关系映射(orm)122.5 系统框架123 需求分析133.1 功能需求133.2 安全需求133.3 系统目标133.4 系统需求133.4.1 普通用户模块133.4.2 管理员模块143.5 通

13、过用例建模进行需求分析和页面设计143.5.1 人力资源信息管理用例定义144 系统设计224.1 概要设计224.1.1 系统架构设计224.1.2 数据库设计234.1.3 界面设计244.2 详细设计264.2.1 struts框架详细设计原则264.2.2 架构在rose模型中的位置274.2.3 主要模块的类设计和序列图设计285 系统实现325.1 查询用户信息模块325.1.1 视图层的实现325.1.2 控制层的实现335.1.3 模型层的实现345.1.4 持久层的实现355.2 注册个人信息模块375.3修改用户个人信息模块385.4删除用户个人信息模块406 系统测试41

14、6.1 测试方案概述416.2 测试用例设计示例416.2.1 黑盒测试416.3 测试结果分析42结 论43参 考 文 献44致 谢45实训基地人力资源信息管理系统设计与实现1 绪论1.1 dut-ibm软件人才实训基地的发展和现状dut-ibm实训基地创建于2007年3月,到现在为止已招收了两届的学生。从开办到现在,师资队伍不断壮大,部门从原来单一的web开发到现在新增的main frame技术开发,现有学员将近百人。该基地为同学们的职业技能培养提供了很好的硬件设备和师资力量,同时也定期对同学们指导讲座,让同学们在提升技术的同时也学到了沟通技巧,商务英语等知识。实训基地很大程度上解决了同学

15、们动手能力差,理论与实际难合理结合的现实问题。而通过这两届培训的经验和总结,这样的一个培训方式不仅有利于学校培养软件开发人才,更能使同学们拓展自身能力,扎实理论基础,提高动手能力。1.2 课题研究的目的和意义随着dut-ibm实训基地逐渐步入正规化,学员人数的日渐增多,人工实现学员管理和日常工作管理的难度增大,整个基地的电子信息化管理显得尤为重要。在实训基地现有的工作环境中急需一套能供其使用的管理系统,实现对学员的管理,以及日常工作的开展,使整个基地的管理模式化、正规化,更能模仿公司工作流程使学员更快地适应工作环境,除了培训学员的技术外,更能提高学员的职业软技能,使同学们寓学于用,提高其动手能

16、力,由此开发了实训基地管理系统,而本论文正是实现实训基地管理系统中的人力资源信息管理子系统。本系统不仅要满足系统的实用性,而且要有相当的可扩展性,保证能在以后的实用过程中,被不断完善和扩展。在现有的企业软件开发系统中,应用系统被分为前端(客户机)和后端(服务器)两部分,它们通过消息传递机制进行对话,由客户端发出请求给服务器,服务器进行相应处理后经传递机制送回客户端,客户端集中了应用系统的主要运行程序。这种模式发展得比较成熟,它的优点在于通过存储状态信息,减少网络上的信息传输以提高效率。但它的缺陷也很明显,胖客户端维护运行成本高,跨平台及伸缩性差。而浏览器(browser)/服务器(server

17、)模式为瘦客户,客户端几乎不需要维护等。本课题采用基于浏览器的b/s模式,通过对人力资源信息管理子系统的设计和实现,探讨一种基于j2ee平台的web应用设计方案,对j2ee的一些相关技术,mvc模式和struts框架作了一定的分析和研究,并付诸实践,从而体现基于组件设计、多层结构应用等j2ee的技术特点,其基于j2ee mvc的体系架构保证了系统的灵活性和可扩展性。j2ee体系架构具有独立性、可移植性、集成性等优点,为搭建具有可伸缩性、灵活性、易维护性的商务系统提供了良好的机制,这一特性使该系统能不断地被完善和拓展。同时因为这个系统所用的j2ee技术、struts框架、hibernate数据持

18、久化技术、db2数据库操作等正是在实训基地培训过程中所学习和使用的,这就便利学员在以后的实训中不断完善本系统,使其成为真正符合实训基地使用要求的管理系统。而且本系统为以后的系统扩展留好了接口,满足基地规模的壮大和日常事务项目的增多,确保为实训基地的老师和学员的日常工作和学习提供便利。1.3 论文主要工作论文主要结构如下: (1) 绪论,本章介绍dut-ibm软件人才实训基地的发展和现状以及本课题的研究意义。(2) 相关技术的理论研究,本章对系统在开发过程中使用的关键技术进行概述,如j2ee平台,mvc模式,struts框架,hibernate数据持久化技术等。(3) 需求分析,本章介绍了系统功

19、能需求,安全需求和系统目标,并通过用例分析进行系统需求捕获。(4) 系统设计,本章首先从数据库设计和界面设计两方面来进行系统的概要设计,然后给出了系统主要模块的详细设计,包括类图设计和序列图设计。(5) 系统实现,本章给出了系统主要模块的实现细节。(6) 系统测试,本章首先对测试方案进行了概述,再举例给出了测试用例示例,最后对测试结果进行分析。(7) 将系统投入使用。本论文与其他论文的区别在于,它是一个实用的系统,它是以基地的业务要求而设计并制作的一个实用系统,故它的实用性及可扩展性就不容忽视。2 相关技术的理论研究2.1 j2ee平台2.1.1 j2ee概述j2ee是一种利用java 2平台

20、来简化企业解决方案的开发、部署和管理相关的复杂问题的体系结构。j2ee是sun公司提出的一个分布式、多层应用的标准体系结构,而不是一门编程语言,它以组件的方式来设计、部署企业应用旨在简化和规范分布式多层企业应用系统的开发和部署1。j2ee技术的基础就是核心java平台或java 2平台的标准版,j2ee不仅巩固了标准版中的许多优点,例如"编写一次、随处运行"的特性、方便存取数据库的jdbc api、corba技术以及能够在internet应用中保护数据的安全模式等等,同时还提供了对ejb(enterprise javabeans)、java servlets api、jsp

21、(java server pages)以及xml技术的全面支持2。其最终目的就是成为一个能够使企业开发者大幅缩短投放市场时间的体系结构。通过提供统一的开发平台,j2ee降低了开发多层应用的费用和复杂性,同时提供对现有应用程序集成强有力支持,完全支持enterprise javabeans,有良好的向导支持打包和部署应用,添加目录支持,增强了安全机制,提高了性能。2.1.2 j2ee体系结构j2ee 是一种多层次分布式应用模型,应用逻辑按照功能划分为组件,组件在相应的组件容器中运行,每个层次都支持相应的服务器和组件,各个组件根据它们所在的层分布在不同的机器上,容器间通过相关协议进行通信,实现组件

22、之间的调用。j2ee的典型的四层结构如图2.1所示。图2.1 j2ee的四层结构fig. 2.1 four layers structure of j2eej2ee 的各层组件有:(1) 运行在客户机器上的客户层组件;(2) 运行在j2ee服务器上的web层组件;(3) 运行在j2ee服务器上的业务逻辑层组件;(4) 运行在eis服务器上的企业信息系统层(eis)组件。j2ee应用组件可以安装部署到以下几种容器中:(1) ejb容器:管理所有j2ee应用程序中ejb的执行,ejb和它们的容器运行在j2ee服务器上;(2) web容器:管理所有j2ee应用程序中jsp页面和servlet组件的执

23、行,web组件和它们的容器运行在j2ee服务器上;(3) 应用程序客户端容器:客户端容器管理所有j2ee应用程序中应用程序客户端组件的执行;(4) applet容器:是运行在客户端的web浏览器和java插件的结合。 j2ee应用程序组件:j2ee应用程序是由组件构成的j2ee组件是具有独立功能的软件单元,它们通过相关的类和文件组装成j2ee应用程序,并与其他组件交互。j2ee说明书中定义了以下的j2ee组件:(1) 应用客户端程序和applets是客户层组件;(2) java servlet和javaserver pages(jsp)是web层组件;(3) enterprise javabe

24、ans(ejb)是业务层组件; (4) j2ee应用程序可以是基于web方式的,也可以是基于传统方式的。web 层组件:j2ee web层组件可以是jsp页面或servlets。 正如下图所示的客户层那样,web层可能包含某些javabean对象来处理用户输入,并把输入发送给运行在业务层上的enterprise bean来进行处理。 图2.2 web层组件fig. 2.2 module of web layer业务层组件:业务层代码的逻辑用来满足银行、零售、金融等特殊商务领域的需要,由运行在业务层上的enterprise bean进行处理。有三种企业级的bean:会话(session)bean

25、s,实体(entity)beans和消息驱动(message-driven)beans2。会话bean表示与客户端程序的临时交互。当客户端程序执行完后,会话bean和相关数据就会消失。相反,实体bean表示数据库的表中一行永久的记录。当客户端程序中止或服务器关闭时,就会有潜在的服务保证实体bean的数据得以保存。消息驱动bean结合了会话bean和jms的消息监听器的特性,允许一个业务层组件异步接收jms消息。图2.3 业务层组件fig. 2.3 module of operation layer企业信息系统层: 企业信息系统层处理企业信息系统软件包括企业基础建设系统例如企业资源计划(erp)

26、,大型机事务处理,数据库系统和其它的遗留信息系统。例如,j2ee应用组件可能为了数据库连接需要访问企业信息系统。2.1.3 j2ee的优势j2ee体系架构具有独立性、可移植性、集成性等优点,为搭建具有可伸缩性、灵活性、易维护性的商务系统提供了良好的机制:(1) 独立于硬件配置和操作系统。j2ee应用运行在jvm(java virtual machine,java虚拟机)上,利用java本身的跨平台特性,独立于硬件配置和操作系统。jre(java2 runtime environment,java运行环境)几乎可以运行于所有的硬件和操作系统组合。因此j2ee架构的企业应用使企业免于高昂的硬件设备

27、和操作系统的再投资,保护已有的it资源。(2) 坚持面向对象的设计原则。作为一门完全面向对象的语言,java几乎支持所有的面向对象的程序设计特征。面向对象和基于组件的设计原则构成了j2ee应用编程模型的基础。j2ee多层结构的每一层都有多种组件模型,因此开发人员所要做的就是为应用项目选择适当的组件模型组合,灵活地开发和装配组件,这样不仅有助于提高应用系统的可扩展性,还能有效地提高开发速度,缩短开发周期。(3) 灵活性、可移植性和互操作性。利用java的跨平台特性,j2ee组件可以很方便低移植到不同的应用服务器环境中。这意味着企业不必再拘泥于单一的开发平台。j2ee的应用系统可以部署在不同的应用

28、服务器上,在全异构环境下,j2ee组件仍可彼此协同工作。这一特征使得装配应用组件首次获得空前的互操作性。(4) 轻松的企业信息系统集成。j2ee技术出台后不久,很快就有jdbc、jms、和jca等一批标准归纳自身体系之下,这大大简化了企业信息系统整合的工作量,方便企业将诸如legacy system(遗产系统),erp和数据库等多个不同的信息系统进行无缝集成。2.1.4 j2ee的核心技术j2ee的核心技术包括以下部分3:(1) servlets(服务端效程序);(2) jsp(java服务器页面);(3) ejb(企业版javabean);(4) jdbc(java数据库连接);(5) ja

29、vamail(javamail api);(6) rmi(远程方法调用);(7) jaxp(解析xml文件的java api);(8) jts(java事务服务);(9) jca(连接器体系结构);(10) jndi(名字目录服务);(11) jms(java消息服务api);(12) jax-rpc(xml远程方法调用,j2ee1.4,主要用于web服务);(13) jsxr(注册web服务使用,j2ee1.4);(14) j2ee management(j2ee1.4增加);(15) j2ee deployment(j2ee1.4新增);(16) jmx(java manage exten

30、sion);(17) saaj(带附件的soap消息api,j2ee1.4新增);(18) web services for j2ee(j2ee1.4新增);(19) java authorization contract for container1.0(jacc,j2ee 1.4增加)。2.2 mvc设计模式2.2.1 mvc模式的原理和架构设计模式描述了在面向对象软件设计过程中针对特定问题的简洁而优雅的解决方案。设计模式捕获了这些解决方案,并用简洁易用的方式表达出来4。软件领域中的设计模式为开发人员提供了一种使用专家设计经验的有效途径。mvc(模型视图控制器)是一种设计模式,它强制性地把

31、应用程序的输入、处理和输出分开。其应用架构划分为3个相互协调的核心模块:模型、视图和控制器,它们分别担负不同的任务。整个mvc的处理过程是:首先控制器接收用户的请求,并决定应该调用哪个模型来进行处理;然后模型根据用户的请求进行相应的业务逻辑处理,并返回数据;最后控制器调用相应的视图格式化模型返回的数据,并通过表示层呈现给用户。(1) 模型(model):模型表示业务逻辑和业务规则等,在mvc的三个部件中拥有最多的处理任务。它可以用javabean和ejb等组件技术来处理数据库的访问。模型能为多个视图提供数据。由于应用于模型的代码只需写一次就可以被多个视图重用,所以减少了代码的重复性。(2) 视

32、图(view):模型的动态表示,并提供用户交互界面。视图向用户显示相关的数据,并能接收用户的输入数据,但是它并不进行任何实际的业务处理。同时当模型状态发生变化时,视图应该得到通知,以便更新视图。视图是屏幕上的显示。模型进行操作之后,其结果就是通过视图来显示的。在视图中其实没有真正的处理发生,只是作为一种输出数据并允许用户操作的方式。(3) 控制器(controller):控制器用于管理用户与视图发生的交互。一旦用户想对模型进行处理时,它不能直接去执行模型,而是通过控制器来间接地实现。控制器能从视图中取值,然后将相应的值传给模型进行处理。控制器接受用户的输入并调用模型和视图去完成用户的需求。2.

33、2.2 mvc模式的优势大部分用过程语言比如asp、php开发出来的web应用,初始的开发模板就是混合层的数据编程5。例如,直接向数据库发送请求并用html显示,开发速度往往比较快,但由于数据页面的分离不是很直接,因而很难体现出业务模型的样子或者模型的重用性。产品设计弹性力度很小,很难满足用户的变化性需求。mvc要求对应用分层,虽然要花费额外的工作,但产品的结构清晰,产品的应用通过模型可以得到更好地体现。首先,最重要的是应该有多个视图对应一个模型的能力。在目前用户需求的快速变化下,可能有多种方式访问应用的要求。例如,订单模型可能有本系统的订单,也有网上订单,或者其他系统的订单,但对于订单的处理

34、都是一样,也就是说订单的处理是一致的。按mvc设计模式,一个订单模型以及多个视图即可解决问题。这样减少了代码的复制,即减少了代码的维护量,一旦模型发生改变,也易于维护。其次,由于模型返回的数据不带任何显示格式,因而这些模型也可直接应用于接口的使用。再次,由于一个应用被分离为三层,因此有时改变其中的一层就能满足应用的改变。一个应用的业务流程或者业务规则的改变只需改动mvc的模型层。改变其中一个不会影响其他两个,所以依据这种设计思想能构造良好的松耦合的构件。控制层的概念也很有效,由于它把不同的模型和不同的视图组合在一起完成不同的请求,因此,控制层可以说是包含了用户请求权限的概念6。最后,它还有利于

35、软件工程化管理。由于不同的层各司其职,每一层不同的应用具有某些相同的特征,有利于通过工程化、工具化产生管理程序代码。2.3 struts框架分析struts是apache基金会的一个open source项目,基于sun j2ee平台的mvc框架,主要采用servlet和jsp技术来实现,能够很好地帮助java开发者利用j2ee开发web应用,也是面向对象设计。实现重点在c(controller),包括actionservlet/requestprocessor和我们定制的action,也为v(view)提供了一系列定制标签(custom tag)。一个成功的软件需要有一个成功的架构,但软件架

36、构的建立是一个复杂而又持续改进的过程,软件开发者们不可能对每个不同的项目设计不同的架构,而总是尽量重用以前的架构,或开发出尽量通用的架构方案。struts就是其中之一,它是流行的基于mvc的web应用架构方案。struts是目前java web mvc框架中不争的王者。经过长达五年的发展,struts已经逐渐成长为一个稳定、成熟的框架,并且占有了mvc框架中最大的市场份额。2.3.1 struts的体系结构struts很好地实现了mvc(模型、视图、控制器)设计模式7。通过一个配置文件,它把各个层面的应用组件联系起来,使组件在程序层面上联系较少,耦合度较低,这就大大提高了应用程序的可维护性和可

37、扩展性。图2.4显示了struts框架的体系结构响应客户请求时,各个部分工作的原理。图2.4 struts的工作原理fig. 2.4the work theory of strutsstruts的核心api包括:actionservlet、actionmapping、action、actionform bean、struts标记库及actionforward。(1) actionservlet:控制器组件是由org.apache.struts.action.actionservlet类实现的,这个类是javax.servlet.http.httpservlet类的扩展,它是这一框架的核心。我们

38、可以把它看作是struts结构的web 应用的调度程序,调度的依据由actionmapping对象提供。它的基本功能是截获用户的http请求,并将用户请求封装到actionform中去进行数据校验,校验成功后, 将用户数据actionform传送到相应的用户action中进行业务逻辑处理,并根据处理结果返回一个actionforword对象,此对象连接到相应的(view)jsp页面。actionservlet类是strutscontroller中最主要的部分,所有用户的请求都会被发送到这里,所有的其他处理也必须从这里经过。它是整个struts框架的控制枢纽,通常不需要扩展。(2) action

39、mapping:actionmapping对象,顾名思义就是action映射对象,它帮助控制器进行框架内部的流程控制。actionservlet是控制器任务的具体执行者,actionmapping则为actionservlet指明了具体执行路线, 是struts体系结构的具体体现者。struts-config.xml是一组响应用户请求的actionmapping对象集合,每一个用户请求都有一个actionmapping对象与之相对应。它需要应用开发者配置与用户请求相对应的actionform数据属性、是否需要进行数据校验和回写、action数据处理、输入页面、以及处理完成后可能跳转的页面等一组

40、属性信息,这组属性信息构成一个actionmapping对象,它决定了该项请求的处理过程。(3) actionform:actionform类是org.apache.struts.action.actionform扩展类,程序开发人员为每个表单都创建的一个actionform bean,以维护web应用程序的会话状态,但一个actionform可以对应多个表单,具有很好的重用性。它要求为表单中出现的每个字段定义一个属性,是视图与模型进行数据交换的桥梁。使用它的目的是为了存储用户在相关表单中输入的数据,在数据校验通过后,由控制器传送给相应的action方法进行业务逻辑操作,同时在数据校验失败后,

41、将同一网页进行再生,并提供一组错误信息,这样就可以让用户只修改错误的录入数据。(4) action:所有action类都是org.apache.struts.action.action扩展类,是业务逻辑的一个包装,它是struts应用程序开发的核心,用途是接收控制器传送的actionform类用户请求数据,根据请求数据处理业务逻辑,并根据处理结果指明应用的流向,action类应该是控制应用程序的流程,而不是控制应用程序的业务逻辑。通常将业务逻辑放在javabean或ejb中处理,这样就可以为我们的web应用提供更大的灵活性和可重用性。action实际上是request和business log

42、ic中间的适配器。通俗地说就是从表单中取到数据并传给商业逻辑进行一系列的操作然后返回相应的操作信息。action子类应该覆盖父类的execute()方法。(5) struts标记库:jsp视图组件所使用struts标记库由四类标记组成,它们分别是: bean标记:用来在jsp页面中管理bean; 逻辑标记:用来管理根据条件生成的输出文本和其它用来控制显示的信息; html标记:用来生成动态html用户界面和窗体; 模板标记:使用动态模板构造通用格式的页面模板,实现页面的继承性和可重用性。struts标记库功能强大,内容非常丰富,充分使用这些标记,能最大限度地发挥struts的作用。(6)act

43、ionforward类所表示的是一个目标,也就是在action完成apache.struts.action.actionforward类。actionforward类所表示的是一个目标,也就是在action完成之后,控制器要专家控制权的地方。此时不是在程序代码中指定实际的jsp页面,而是以声明的方式把某个动作的转发映射与jsp页面相关联,然后在整个应用程序中使用那个actionforward对象。2.3.2 选用struts框架的原因首先,它是建立在mvc这种公认的好的模式上的,struts在模型,视图和控制器上都有涉及,但它主要是提供一个好的控制器和一套定制的标签库上,也就是说它的着力点在控

44、制器和视图上,因此,它天生就有mvc所带来的一系列优点,如:结构层次分明,高可重用性,增加了程序的健壮性和伸缩性,便于开发与设计分工,提供集中统一的权限控制、校验、国际化、日志等。其次,它是个开源项目得到了包括它的发明者craig r. mcclanahan在内的一些程序大师和高手持续而细心的呵护,并且经受了实战的检验,使其功能越来越强大,体系也日臻完善。最后,是它对其他技术和框架显示出很好的融合性。现在,它己经可以与tiles融为一体,可以展望,它很快就会与jsf等融合在一起8。当然,和其他任何技术一样,它也不是十全十美的,如:它对类和一些属性、参数的命名显得有些随意,给使用带来一些不便;还

45、有如action类execute方法的只能接收一个actionform参数等。但瑕不掩瑜,这些没有影响它被广泛使用。2.4 hibernate数据持久化技术 hibernate是采用orm模式实现数据持久层的一个优秀的java组件,它提供了强大、高效的将java对象进行持久化操作的服务。利用hibernate,开发人员可以方便地按照java对象的结构进行持久层的开发,并可以使用hibernate所提供的hql(hibernate query language,hibernate查询语言)完成java对象和关系型数据库之间的转换和操作9。2.4.1 数据持久层的引入j2ee三层结构在业界是指:表

46、示层、业务逻辑层、数据层。这样的划分当然是经典的,但是在实际项目中,往往会对三层体系结构做一些扩展来满足项目的需要。一个最常用的扩展就是将三层体系扩展为五层体系,即表示层、控制中介层、业务逻辑层、数据持久层和数据源层。它其实是在三层架构中增加了两个中间层。控制中介层位于表示层和业务逻辑层之间,数据持久层位于业务逻辑层和数据层之间。业务逻辑层和数据层之间增加一个数据持久层,实现对象和关系数据库之间的映射。利用这个映射框架的机制,对象与关系数据库之间的转换就可以透明地进行,而不用去关心数据库连接、并发性、事务等问题10。业务逻辑层直接获取或存储的就是清晰的对象,中间的转换过程就交给mapping框

47、架来处理。2.4.2 关于对象/关系映射(orm)对象/关系映射(o/rm)映射是将java对象的状态映射到数据库上,以便提供透明的持久化操作11。o/r映射的目标就是简便的持久化业务模型中的实体对象,使开发人员得以避免编写数据访问的代码。orm的全称是object-relational mapping,orm组件的主要功能是实现实体域对象的持久化并封装数据访问的细节。在对象关系映射中涉及到的两个关键点是:object(对象)和relation(关系)。它们分别代表了目前应用系统中所要处理的绝大多数工作对对象的操作和对关系型数据库的访问。orm并不是一个组件,它是具有某种功能的组件的总称,也可

48、以说是一种框架结构。2.5 系统框架图2.5是本系统的struts框架结构图。图2.5 struts框架fig. 2.5 the structure of struts3 需求分析3.1 功能需求人力资源信息管理子系统主要有三个核心对象:管理员,普通用户,个人信息。人力资源信息管理操作的流程包括用户注册,注册用户登录,普通用户修改个人信息,管理员查询、修改、删除用户个人信息等。系统能根据每位用户的权限和职位提供不同的操作,如:普通用户只能修改个人的信息,而没有查询、修改、删除他人信息的权力。3.2 安全需求人力资源信息管理子系统需要达到的安全目标主要包括以下几方面:(1) 在业务功能和业务数据

49、两方面有权限的规定,各业务环节能对该环节所需了解的业务信息充分的了解,对无需了解的信息不应获取。减少非法操作,保证实训基地管理的正规化。如给普通用户和管理员分配不同的权限和操作界面。(2) 保证对系统的安全访问及对应用的审计功能。(3) 设置系统安全保密机制,提供对用户、软件功能、数据文件的安全管理。(4) 系统提供数据的自动转储和恢复机制。3.3 系统目标(1) 可维护性:要求系统具有良好的扩充、发展能力,提供今后扩充系统功能、模块的接口。(2) 易用性:系统采用图形、图像化的人机界面。用户并不需要特别培训,就能够容易地掌握操作业务的方法和要点,提供系统在线帮助。(3) 数据的精确性:保证数

50、据的正确性和精确性,避免因差错给用户带来的不便。系统对用户的操作顺序、输入的数据进行正确性检查,并以显著方式提示错误信息。3.4 系统需求 一个完整的网络管理系统面向的对象至少应该有管理员和普通用户,提供的服务是多种多样的。本系统开发了一个面向客户的平台,提供的服务有注册、登陆、用户信息修改,还为管理员提供了查询用户信息的服务,因此系统份为用户和管理员两个模块。3.4.1 普通用户模块普通用户模块应该有以下功能:(1)注册用户帐户:用户登陆是一个网络应用系统必须的功能之一。用户想要使用系统提供的功能,就必须先拥有一个账户,因此要到系统中注册一个账户。用户在注册时系统要求用户输入用户注册信息,包

51、括学号、用户名、密码、确认密码、权限、职位等必填项以及邮箱地址、专业等非必填项。如果用户名已经存在,系统将向用户显示相应的错误信息,并提示用户使用其他的用户名。注册完以后,可以进行登陆。(2)利用注册的账户登陆到系统:登陆页面要求用户输入用户名和口令。在输入用户名和口令之后,系统将验证用户名和口令是否正确。如果验证成功,就使用户处于登陆状态。否则,系统将显示用户名或密码错误的信息。(3)修改用户的个人信息:用户登陆后可以随时修改个人的注册信息。3.4.2 管理员模块管理员模块除上述功能外,还应该具有以下功能:(1)查询个人信息:管理员可查询系统内存在的所有用户的信息;(2)修改他人信息:管理员

52、可修改系统内存在的所有用户除登陆密码以外的所有信息;(3)删除个人信息:管理员可以通过系统把用户从系统中删除。在本系统中,没有考虑比较完备安全的策略,只进行了一些基本的安全验证。3.5 通过用例建模进行需求分析和页面设计3.5.1 人力资源信息管理用例定义系统分为用户注册用例,用户登陆用例,用户修改个人信息用例,管理员查询用户信息用例,管理员查看用户详细信息用例,管理员修改用户信息用例,管理员删除用户信息用例,用例图如图3.1所示。图3.1 人力资源信息管理子系统用例图fig. 3.1 the use case diagram of human resource information sub

53、system(1) 用例1:用户注册用例用例描述:用户进入实训基地内部系统时,会出现如图3.2所示的页面,未注册用户可以单击页面的中“用户注册”进行注册。 图3.2 用户登录用例图fig.3.2 user login page用户点击“用户注册”后,直接跳转到如图3.3,在该页面上需要填写学号、姓名、密码、重新输入密码、权限、职位等,然后单击提交按钮提交即可。 图3.3 用户注册用例图 fig.3.3 the user login page如果提交成功就会跳转到图3.4所示的页面,系统自动提示您的注册已成功,点击“返回登录页面”则系统自动跳转至3.2所示页面。图3.4 用户注册成功用例图fig

54、.3.4 user successfully register page如果您未在注册信息中输入必填项或者您的输入格式有错误,系统会提示错误,并要求您重新输入,如图3.5。图3.5 用户注册失败用例图fig.3.5 user failed register page(2) 用例2:用户登陆用例用例描述:用户注册账户以后,就可以进行登陆,登陆页面如图3.2所示。在图3.2所示的页面中可以输入用户名和密码,然后单击提交按钮进行登陆。登陆后进入图3.6所示的页面。图3.6 登陆成功后的主页 fig.3.6 homepage如果用户输入的用户名有误,或者没有输入任何信息,或者输入的密码错误,点击“提交

55、”,则系统会自动报错,如图3.7所示。图3.7 用户登陆失败提示信息页面fig.3.7 user failed login information page(3) 用例3:用户修改个人信息用例用例描述:用户成功登陆到系统后,可修改自己的除学号、姓名外的注册信息。在如图3.8所示的页面上进行修改。图3.8 用户修改个人信息页面fig.3.8 user modify personal information page 用户修改的信息如果必填项都填写而且没有格式错误,点击“提交”,系统自动保存修改的信息,并将其存储到数据库,系统跳转到3.9所示的页面。图3.9 用户修改信息成功页面fig.3.9 u

56、ser successfully modify page如果用户修改的信息必填项没有填写或者输入的格式错误,系统会提示出错信息,要求用户重新输入后再提交,如图3.10所示。图3.10 用户修改信息出错提示页面fig.3.10 user failed modify information page(4) 用例4:管理员查询用户信息用例用例描述:如图3.11所示,管理员可以实施查询功能,系统能实现组合查询和分页显示的功能。图3.11 管理员查询信息页面 fig.3.11 manager inquiry information page若系统存在管理员输入的查询项信息则列出结果,管理员可在结果上继续进行操作,如详细信息,修改和删除。如图3.12所示。图3.12 查询结果页面fig. 3.12 the result of inquiry page若系统中不存在管理员输入的信息存档,系统会自动提示“没有您查询的记录”的提示信息,如图3.13。图3.13 无查询信息的记录结果页面fig.3.13 no record for inquiry page(5) 用例5:管理员查看用户详细信息用例

温馨提示

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

评论

0/150

提交评论