【毕业设计】基于struts的人力资源管理系统_第1页
【毕业设计】基于struts的人力资源管理系统_第2页
【毕业设计】基于struts的人力资源管理系统_第3页
【毕业设计】基于struts的人力资源管理系统_第4页
【毕业设计】基于struts的人力资源管理系统_第5页
已阅读5页,还剩71页未读 继续免费阅读

下载本文档

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

文档简介

佳木斯大学毕业论文设计论文题目基于STRUTS的人力资源管理系统学院信息电子技术专业生物医学工程学生姓名学号1指导教师职称高级实验师助教2008年6月8日摘要随着计算机信息技术及网络通讯技术的飞速发展,企业所处的外部环境发生了前所未有的变化,企业间的竞争日趋激烈,而竞争的主要因素是人才的竞争,人力资源成为企业中最宝贵的资源。但由于传统的管理方式的落后,不但浪费了人力,物力和时间,又不能完全的向员工开放,提高员工的积极性,极大的发挥他们的潜力。因此,开发一个功能强大的人力资源管理系统显得十分必要。本文主要研究采用JSPSTRUTSHIBERNATE技术开发的营口市纸制品有限公司人力资源管理系统本系统采用浏览器/服务器(B/S)结构开发,选用经典的STRUTS作为开发架构,服务器采用TOMCAT,与后台数据库的连接采用中间件HIBERNATE。本文主要介绍了系统的构成、系统的需求分析与设计,并给出了系统的实现方案及技术细节,包括运行环境的配置、数据库的建立及功能模块的实现细节等。关键字人力资源JSPB/SSTRUTSABSTRACTWITHTHECOMPUTERINFORMATIONTECHNOLOGYANDNETWORKCOMMUNICATIONSTECHNOLOGYTHERAPIDDEVELOPMENTOFENTERPRISESINWHICHTHEEXTERNALENVIRONMENTOFUNPRECEDENTEDCHANGE,ENTERPRISESINTHEINCREASINGLYFIERCECOMPETITION,ANDCOMPETITIONISTHEMAJORFACTORINTHETALENTCOMPETITION,HUMANRESOURCESBECOMETHEMOSTVALUABLEENTERPRISESRESOURCESHOWEVER,DUETOTHETRADITIONALMANAGEMENTMETHODSAREBACKWARD,NOTONLYAWASTEOFMANPOWER,RESOURCESANDTIME,CANNOTBEFULLYOPENTOSTAFF,IMPROVESTAFFENTHUSIASM,GREATPLAYTOTHEIRPOTENTIALTHEREFORE,THEDEVELOPMENTOFAPOWERFULHUMANRESOURCESMANAGEMENTSYSTEMISVERYNECESSARYTHISPAPEREXPLORETHEUSEOFJSPSTRUTSHIBERNATETECHNOLOGYDEVELOPEDBYTHEYINGKOUPAPERPRODUCTSCO,LTDOFHUMANRESOURCESMANAGEMENTSYSTEMTHISSYSTEMUSESTHEBROWSER/SERVERB/SSTRUCTURALDEVELOPMENT,SELECTEDASTHECLASSICSTRUTSFRAMEWORK,THESERVERUSEDTOMCAT,ANDABACKGROUNDDATABASECONNECTIVITYMIDDLEWAREHIBERNATETHISPAPERDESCRIBESTHESYSTEMSSTRUCTURE,SYSTEMSANALYSISANDDESIGNOFTHEDEMAND,ANDGIVESTHESYSTEMOFPROGRAMMEANDTECHNICALDETAILS,INCLUDINGTHEALLOCATIONOFTHEENVIRONMENT,THEESTABLISHMENTANDFUNCTIONSOFTHEDATABASEMODULE,SUCHASDETAILSOFTHEREALIZATIONOFKEYWORDSHUMANRESOURCESJSPB/SSTRUTS目录摘要IABSTRACTII第1章绪论111课题研究背景112课题研究意义113国内外的状况3第2章系统分析421可行性分析4211技术可行性4212经济可行性4213社会可行性522需求分析5221应用需求分析5222系统功能需求6第3章系统设计931系统总体设计932设计思想1033数据库设计10331数据需求分析11332ER图11333逻辑结构设计1534系统运行环境和开发工具18341运行环境18342开发工具1835系统开发的主要技术19351JAVA简介19352浏览器/服务器结构(B/S)19353动态WEB技术JSP20354TOMCAT应用服务器21355框架技术213551STRUTS框架213552HIBERNATE框架22第4章系统实现2341用户操作总体设计23411用户登录设计23412人员管理模块设计2542技术难点30421中文乱码30422HQL语言30423安全性30第5章系统测试3251测试的定义及目的3252测试的方法32521界面测试32522功能测试33523需求测试3453人力资源管理系统的测试34总结36致谢37参考文献39附录1程序源代码40附录2程序使用说明书54附录3外文文献及其译文66第1章绪论11课题研究背景目前,网络的发展已呈现出商业化、全民化、全球化的趋势,网络已成为企业进行竞争的战略手段。企业经营的多元化拓展,企业规模的进一步扩大,对于企业的管理、业务扩展、企业品牌形象等提出了更高的要求。在以信息技术为支撑的新经济条件下,越来越多的企业利用起网络这个有效的工具。目前,全球范围内的企业内部组织正在发生巨变,未来企业成功的关键将主要依靠人力资源,人才之争已经成为市场竞争的核心内容之一,以人为本成为企业立足和发展的根本。有效地管理企业的人力资源,不仅能节省大量的人力物力,而且能够帮助企业制订计划,激发员工的积极性,充分发挥每员工的潜能,为企业创造更大的价值。营口市纸制品有限公司自建厂以来,在短短几年的时间里从一个只有几十人的小厂发展成一个拥有几百名员工的公司,在发展过程中公司原有的管理体制已经不能适应企业的发展,公司不断出现新的问题,同时对人力资源的管理也提出了新的要求公司领导逐渐认识到人事管理的重要性,认识到企业的发展离不开优秀的人才和人力资源的有效配置,公司只有拥有先进的管理和优秀的人力资源,才能拥有未来的市场,才能提高企业的竞争力。本系统的开发不但能够改善公司原有的管理方式,把人力资源管理人员从繁重的手工劳动中解脱出来,而且通过人力资源的有效管理能够适时地制定公司的培训计划,根据员工的个人能力对其岗位进行调动,充分发挥员工自身的能力,为公司带来更大的经济利益。12课题研究意义人力资源管理是指组织为了实现既定的目标,运用现代管理措施和手段,对人力资源的取得、开发、保持和运用等方面进行管理的一系列活动的总和。从上可知,人力资源管理的内涵至少包括以下内容一是任何形式的人力资源开发与管理都是为了实现一定的目标,如个人家庭投资的预期收益最大化、企业经营效益最大化及社会人力资源配置最优化。二是人力资源管理必须充分有效地运用计划、规划、组织、指挥、监督、协调、激励和控制等现代管理手段才能达到人力资源管理目标。三是人力资源管理主要研究人与人关系的利益调整,个人的利益取舍、人与事的配合,人力资源潜力的开发、工作效率和效益的提高以及实现人力资源管理效益的相关理论、方法、工具和技术。四是人力资源管理不是单一的管理行为,必须使相关管理手段的相互配合才能取得理想的效果。例如,薪酬必须与绩效考核、晋升、流动等相配套。可见,人力资源管理的主要任务就是以人为中心,以人力资源投资为主线,研究人与人、人与组织、人与事的相互关系,掌握其基本理念和管理的内在规律,为充分开发、利用人力资源,不断提高和改善职业生活质量,充分调动人的主动性和创造性,促使管理效益的提高和管理目标的实现。人力资源管理与人事管理既有历史上的渊源关系,又有本质的区别。它们不仅仅是称谓的变换和职能部门名称的改变,而且有着下列区别1传统人事管理将事作为重心,把人降格为“执行指令的机器”,着眼于为人找位,为事配人。而人力资源管理则将人作为重心,把人作为第一资源,既重视以事择人,也重视为人设事,尤其对特殊的人力资源。2传统人事管理将人视为组织的财产,部门所有、闲置和压抑等现象严重,只重拥有不重开发使用。现代人力资源管理将人力资源作为劳动者自身的财富。作为人力资本,它有增值的本能。因而个人、组织和社会均重视人力资源开发使用,一旦闲置和遭到压抑,则具有在市场机制作用下重新配置的本能。3传统人事管理的主体是行政部门,管理制度受到领导人意志左右,个人、组织包括企业均是被动的接受者。而人力资源管理的主体也就是市场运行的主体,他们的行为受到市场机制的左右,遵循市场通行规则和人力资源管理自身特有的规律。4传统人事管理的部门作为组织内的一个从事执行的职能部门,从事日常的事务性工作。而人力资源管理部门被纳入决策层,把人的开发、利用、潜能开发作为重要内容,鼓励成员参与管理,将人力资源管理部门作为组织战略决策的参与者。管理模式也由“垂直”模式过渡到“主体”模式。5人力资源管理充分运用了当代社会学、心理学、管理学、经济学和技术学等学科的最新成果,更加强调管理的系统化、规范化、标准化以及管理手段的现代化,突出了管理者诸要素之间互动以及管理活动与内外部环境间的互动。从上述区分中可知,人力资源管理转变在未来将会出现以下发展趋势一是管理原则上同时强调个人和集体;二是管理方法上同时强调理性与情感;三是在领导方式上同时强调权威与民主;四是在考核晋升上同时强调能力与资历;五是在薪资报酬上同时强调即时工资和长远收益。13国内外的状况20世纪70年代以来,随着全球竞争的日益激烈和人力资本作用的日益突出,发达国家的人事管理进入了一个新阶段,主要表现在企业首席执行官开始关注、重视有关人的管理工作,并由副总裁级的领导主管这方面的工作。企业对有关人员的管理方面的投资大幅度增长。对人事工作者的资历和能力要求越来越高,其待遇也有较大改善人事主管在组织决策层开始享有较大的发言权。企业越来越重视各级管理者和员工的教育培训工作。在这一时期,人事管理开始向人力资源管理阶段发展,其职责范围大为扩展,受重视程度、对企业的贡献和作用以及在企业中的地位等也都有了很大提高。今后几年我国的各大中小型企业将有以下主要的发展趋势1人力资源主管要将精力用在战略性的人力资源管理工作规划、人力资源配置、选人、育人、留人、用人的策略及制度建设等方面,不能将主要精力用在烦琐的人事和行政工作事务上。2人力资源主管不仅要健全、完善人事管理制度,更重要的是有效地执行,并敢于坚持原则,敢于碰硬、坚持公开公平公正,坚持制度面前人人平等。3人力资源部门是一个职能服务部门,如何让老板认识到企业各种目标的实现都与人力资源部的工作息息相关,这是人力资源主管发挥作用的主要方面。4人力资源主管要想更好地在企业中发挥作用,必须熟悉企业生命周期的管理,并根据不同阶段、调整人力资源策略,对企业在什么时期用什么样的人,什么岗位用什么样的员工了如指掌,并为企业储备各类人才,建立人才梯队。5人力资源主管发挥作用重要的一环是沟通交流、协调的艺术,涉及到三个方面一是和老板(顶头上司)的沟通,让老板认识到人力资源工作的重要性,以得到支持。第2章系统分析21可行性分析211技术可行性技术可行性本系统主要采用JSP技术开发,使用STRUTS实现MVC框架的设计,与后台数据库的连接采用HIBERNATE。由于JSP的动态内容是JAVA代码实现的,而JAVA又具有一次编写多处运行的特点,因此采用JSP开发的系统具有平台无关性,可以在不同的操作系统上运行。STRUTS是一种基于MVC经典设计模式的框架,在当前WEB开发中已经发展得比较成熟它可以最大限度地实现组件的复用,具有很好的可重用性和可扩展性,有利于项目的扩展和二次开发。HIBERNATE本质上是一个面向JAVA开发环境的对象/关系数据库映射工具,借助HIBERNATE对象/关系数据库映射技术,可以非常轻松地将以面向对象思想封装的对像的各个状态数据映射到基于SQL的关系模型数据结构中去由于本系统所采用的技术已经发展得比较成熟,因此本系统在技术上是可行的。212经济可行性经济可行性随着计算机技术的飞速发展和企业间竞争的加强,目前计算机的硬件和软件的价格非常低廉,因此本系统的开发和运行不需要花费很大的成本。但是本系统运行将会为企业带来很大的经济利益,主要表现在以下几个方面一,本系统可以代替人工进行许多复杂、重复的信息的记录和统计工作;二,管理人员可以方便的的对公司的员工、人才的招骋、培训计划、员工薪金等进行管理;三,普通员工可以方便的从本系统了解到公司的培训计划、奖惩信息、个人薪金等信息;因此,本系统在经济上是可行的。213社会可行性目前,全球范围内的企业内部组织正在发生巨变,未来企业成功的关键将主要依靠企业人力资源。有效地管理企业的人力资源,为企业提供强有力的储备力量将成为企业发展的主动力。通过人力资源的有效管理能够激发员工的积极性,充分发挥每个员工的潜能,为企业创造更大的价值。因此本系统的开发是适应时代发展的。22需求分析需求分析是软件开发最基本的,也是最重要的一点。它是所有开发设计的前提,要是在没有搞清用户需求之前,就动手设计编程,其后果是无论程序做的如何精妙都是徒劳的。需求分析的基本任务的准确的回答“系统必须做什么”。虽然在可行性分析阶段已经粗略了解了用户的需求,但可行性研究的基本目的是用较小的成本在较短的时间内确定系统必须完成哪些工作,也就是对目标系统提出完整、准确、清晰、具体的要求。需求分析的结果是系统开发的基础,关系到工程的成败和软件产品的质量,因此,必须对软件需求分析进行严格的审查分析。221应用需求分析营口市纸制品有限公司现拥有几百名员工,传统的手工人事管理管理已经不能适应企业的发展,公司在管理方面面临严重的问题。人事管理体制部门要花费大量的人力、物力来管理员工的信息、薪金等情况,既浪费了时间、又浪费人力和物力,而且数据的准确性低。同时,由于管理制度的落后,有些员工表现出对工作不积极,在工作中偷懒、违反公司制度等情况。因此,开发一个操作简单、功能强大的人力资源管理系统是十分必要的。222系统功能需求由于本系统存储了关于公司的很多重要的信息,因此对于本系统的管理需要考虑的关键就是安全的问题。本系统通过对不同的用户设置不同的访问权限来保证数据库的安全,管理员可以对系统进行增加、删除、修改等操作,而对于普通的用户,只能浏览一些信息,不能执行任何的修改数据库信息的操作。为了实现企业对员工的有效管理,在管理员的访问权限内本系统需要完成以下功能对公司员工信息进行管理,对应聘人才信息及人才库的管理,公司培训计划的制定与实施,对员工薪金进行管理,对员工奖惩信息的管理具体的功能图请参见21。管理员添加人员信息添加应聘信息添加人才库添加培训计划添加薪金管理添加奖惩制度图21管理员的功能图对于普通的用户,本系统需要完成以下功能浏览培训计划,查看培训总结,查看个人薪金,浏览奖惩信息具体的功能图请参见图22。普通用户浏览培训计划查看培训总结浏览薪金列表浏览奖惩信息图22普通用户的功能图按系统分模块并给出各模块的功能图人员管理模块包括浏览和添加用户,如图23。人员管理添加人员信息浏览人员信息图23人员管理功能图招聘管理模块包括浏览招聘信息、添加招聘信息、浏览人才库,如图24。招聘管理添加应聘信息浏览应聘信息浏览人才库图24招聘管理功能图培训管理模块包括浏览培训计划、添加培训计划、察看培训总结,。薪金管理模块浏览薪金和添加薪金,如图25。薪金管理浏览薪金列表添加薪金数据图25薪金管理功能图奖惩管理模块添加和浏览奖惩制度,如图26。奖惩管理浏览奖惩信息添加奖惩信息图26奖惩管理功能图第3章系统设计31系统总体设计为实现需求分析提及的各种功能本系统主要由五部分组成,分别是人员管理、招骋管理、薪金管理、培训管理、奖惩管理,规划系统功能模块如下人力资源管理系统人员管理招聘管理培训管理薪金管理奖惩管理浏览人员信息添加人员信息浏览招聘信息添加应聘信息浏览人才库浏览培训计划添加培训计划查看培训总结浏览薪金列表浏览奖惩制度添加薪金管理添加奖惩制度图31人力资源管理系统结构图人员管理模块该模块主要功能是对员工基本信息进行管理。管理员登录以后可以浏览、查询公司内员工的基本信息和他们的详细信息,如果有新的员工进入公司,管理员可以添加新员工的信息,并且可以对信息进行修改。招聘管理模块该模块主要是对公司的应聘人员信息、公司人才库进行管理。管理员可以添加应聘人员的信息到数据库中,并且可以根据需要进行详细的查看或者删除。管理人员还可以把比较优秀的适合公司招聘要求的应聘者添加到公司的人才库中。培训管理模块该模块主要是对企业的培训计划、培训实施、培训总结等信息进行管理。管理人员可以根据公司发展的需要适时的制定公司的培训计划,根据计划实施的情况进行培训的总结。普通用户进入系统以后可以查看到公司的培训计划和培训总结,了解公司对员工的培训情况。薪金管理模块该模块主要功能是对员工薪金信息进行管理。管理员负责录入员工薪金的各项信息,由系统自动进行统计,管理员有权限浏览员工薪金信息并且可以对信息进行修改或者删除,而普通用户只能浏览到自己的薪金信息。奖惩管理模块该模块主要功能是对公司的奖惩信息进行管理。管理员和普通用户都可以浏览到公司的奖惩信息,但是只有管理员可以根据公司的奖惩决议添加员工的奖惩信息,并且可以对信息进行修改或删除。32设计思想随着WEB开发技术的日益成熟,在WEB开发领域中出现了许多设计好的软件开发框架,STRUTS就是一种基于MVC经典设计模式的框架,它实际上是建立在MODEL2基础对MODEL,VIEW和CONTROLLER都提供了现成的实现组件本系统主要采用JSP技术开发,使用STRUTS实现MVC框架的设计,与后台数据库的连接采用HIBERNATE。由于JSP的动态内容是JAVA代码实现的,而JAVA又具有一次编写多处运行的特点,因此采用JSP开发的系统具有平台无关性,可以在不同的操作系统上运行。STRUTS是一种基于MVC经典设计模式的框架,在当前WEB开发中已经发展得比较成熟它可以最大限度地实现组件的复用,具有很好的可重用性和可扩展性,有利于项目的扩展和二次开发。HIBERNATE本质上是一个面向JAVA开发环境的对象/关系数据库映射工具,借助HIBERNATE对象/关系数据库映射技术,可以非常轻松地将以面向对象思想封装的对像的各个状态数据映射到基于SQL的关系模型数据结构中去由于本系统所采用的技术已经发展得比较成熟,因此本系统在技术上是可行的。33数据库设计数据库设计是信息系统开发和建设中的核心技术,具体说,数据库设计是指对于一个给定的应用环境,构造最优的数据库模式,建立数据库及其应用系统,使之能够有效地存储数据,满足各种用户的应用需求(信息要求和处理要求)。331数据需求分析根据系统需求,可以列出以下数据表1用户表保存系统的用户信息,数据项包括用户ID、用户名、密码、性别、真实姓名、创建时间、是否管理员2培训信息表用来保存公司的培训信息,数据项包括培训ID、培训名称、培训目的、培训开始时间、培训结束时间、培训人员、培训讲师、创建时间、培训影响度、培训材料。3应聘信息表存储公司应聘人员的信息,数据项包括应聘ID、姓名、性别、年龄、应聘职位、所学专业、工作经验、毕业院校、电话、EMAI地址、创建时间、详细经历、是否入库。4奖惩信息表存放公司员工的奖惩信息,数据项包括奖惩ID、奖惩名称、奖惩原因、奖惩说明、创建时间。5薪金表保存员工的薪金信息,数据项包括薪金ID、员工姓名、基本薪金、饭补、房补、全勤奖、赋税、额外补助、罚款、发放时间、总计。332ER图在需求分析阶段所得到的应用需求应该首先抽象为信息世界的结构,才能更好的更准确的用数据库管理系统实现这些需求。根据需求分析的内容用ER图分别表示出各个实及其属性,以及用ER图表示实体之间的关系,如图所示培训名称开始时间结束时间人员创建时间影响度材料目的讲师图32培训信息实体属性应聘姓名性别年龄应聘职位所学专业工作经验是否入库毕业学校电话电子邮件创建时间详细经历图33培训信息实体属性奖惩奖惩名称奖惩原因奖惩说明创建时间图34奖惩信息实体属性薪金基本薪资员工姓名饭补房补全勤奖赋税额外补助罚款发放时间总计图35薪金信息实体属性用户密码性别真实姓名创建时间用户名是否管理员图36用户信息实体属性图37员工实体与薪金信息实体之间的联系员工薪金11领取图38员工信息实体与培训信息实体之间的联系员工培训NN参加员工领取获得参加奖惩培训薪金11NNNN图310ER图333逻辑结构设计表31培训信息表EDUCATE字段名数据类型长度是否主键备注IDINT4Y培训IDNAMEVARCHAR100N培训名称PURPOSEVARCHAR500N培训目的BEGINTIMEDATETIME8N培训开始时间ENDTIMEDATETIME8N培训结束时间DATUMVARCHAR2000N培训人员TEACHERVARCHAR50N培训讲师图39员工信息实体与奖惩信息实体之间的联系员工奖惩NN获得CREATETIMEDATETIME8N创建时间EFFECTVARCHAR500N培训影响度SUMMARIZEVARCHAR2000N培训材料说明培训信息表是用来存储公司的培训信息。培训ID是此表的主键,用来唯一标识一条培训记录,其它字段用来记录培训的详细信息。表32应聘信息表JOB字段名数据类型长度是否主键备注IDINT4Y应聘IDNAMEVARCHAR50N姓名SEXBIT1N性别AGEINT4N年龄JOBVARCHAR50N应聘职位SPECIALTYVARCHAR50N所学专业EXPERIENCEVARCHAR50N工作经验SCHOOLVARCHAR50N毕业学校TELVARCHAR50N电话EMAILVARCHAR50N电子邮件CREATETIMEDATETIME8N创建时间CONTENTNTEXTN详细经历ISSTOCKBIT1N是否入库说明应聘信息表是用来存储公司应聘人员的信息的。应聘ID是应聘表的主健,用来唯一标识一条应聘记录,因为应聘者有可能重名,因此在此表中不能用应聘者的姓名作为主键。ISSTOCK字段用来标识应聘者是否加入到公司的人才库中。表33奖惩信息表INSTITUTION字段名数据类型长度是否主键备注IDINT4Y奖惩IDNAMEVARCHAR50N奖惩名称REASONVARCHAR100N奖惩原因EXPLAINVARCHAR2000N奖惩说明CREATETIMEDATETIME8N创建时间说明奖惩信息表是用来存放员工的奖惩信息,奖惩ID是奖惩表的主健,用来唯一标识一条奖惩记录。NAME,REASON,EXPLAIN,CREATETIME用来记录奖惩的详细信息。表34薪金表STIPEND字段名数据类型长度是否主键备注IDINT4Y薪金IDNAMEVARCHAR50N员工姓名BASICFLOAT8N基本薪资EATFLOAT8N饭补HOUSEFLOAT8N房补DUTYFLOAT8N全勤奖SCOTFLOAT8N赋税PUNISHMENTFLOAT8N额外补助OTHERFLOAT8N罚款GRANTTIMEDATETIME8N发放时间TOTALIZEDOUBLE8N总计说明薪金表是用来保存员工的薪金信息。薪金ID是薪金表的主健,用来唯一标识一条记录。BASIC,EAT,HOUSE,DUTY等字段记录了员工薪金的各项信息,TOTALIZE字段是系统根据薪金的各项信息自动生成的。表35用户表USER字段名数据类型长度是否主键备注IDINT4Y用户IDUSERNAMEVARCHAR50N用户名PASSWORDVARCHAR50N密码SEXBIT1N性别RNAMEVARCHAR50N真实姓名CREATETIMEDATETIME8N创建时间ISADMINBIT1N是否管理员说明用户表是用来保存系统用户的基本信息。用户ID是用户表的主健,用来唯一标识一条记录,其数据类型为自动编号,递增数为1。USERNAME字段为用户名,记录用户登陆名称,该字段的记录值是唯一的,不允许有重复,通过该字段也能唯一标识一条记录。ISADMIN字段用来标识用户是否是管理员,通过该字段可以设置用户的权限。34系统运行环境和开发工具341运行环境硬件需求PIII/256M/10G及以上配置,要求为系统分配足够的数据库磁盘空间推荐配置PIV2G/512M/40G操作系统需求WINDOWS2000及以上操作系统推荐,也可以使用SUNSOLARIS等LINUX操作系统数据库软件需求MYSQL数据库推荐,也可以使用ORACLE数据库中间件软件需求TOMCAT系列服务器342开发工具ECLIPSE是一个开放源代码的、基于JAVA的可扩展开发平台。就其本身而言,它只是一个框架和一组服务,用于通过插件组件构建开发环境。幸运的是,ECLIPSE附带了一个标准的插件集,包括JAVA开发工具(JAVADEVELOPMENTTOOLS,JDT)。虽然大多数用户很乐于将ECLIPSE当作JAVAIDE来使用,但ECLIPSE的目标不仅限于此。ECLIPSE还包括插件开发环境(PLUGINDEVELOPMENTENVIRONMENT,PDE),这个组件主要针对希望扩展ECLIPSE的软件开发人员,因为它允许他们构建与ECLIPSE环境无缝集成的工具。由于ECLIPSE中的每样东西都是插件,对于给ECLIPSE提供插件,以及给用户提供一致和统一的集成开发环境而言,所有工具开发人员都具有同等的发挥场所。这种平等和一致性并不仅限于JAVA开发工具。尽管ECLIPSE是使用JAVA语言开发的,但它的用途并不限于JAVA语言;例如,支持诸如C/C、COBOL和EIFFEL等编程语言的插件已经可用,或预计会推出。ECLIPSE框架还可用来作为与软件开发无关的其他应用程序类型的基础,比如内容管理系统。基于ECLIPSE的应用程序的突出例子是IBM的WEBSPHERESTUDIOWORKBENCH,它构成了IBMJAVA开发工具系列的基础。例如,WEBSPHERESTUDIOAPPLICATIONDEVELOPER添加了对JSP、SERVLET、EJB、XML、WEB服务和数据库访问的支持。ECLIPSE最初由OTI和IBM两家公司的IDE产品开发组创建,起始于1999年4月。IBM提供了最初的ECLIPSE代码基础,包括PLATFORM、JDT和PDE。目前由IBM牵头,围绕着ECLIPSE项目已经发展成为了一个庞大的ECLIPSE联盟,有150多家软件公司参与到ECLIPSE项目中,其中包括BORLAND、RATIONALSOFTWARE、REDHAT及SYBASE等。ECLIPSE是一个开发源码项目,它其实是VISUALAGEFORJAVA的替代品,其界面跟先前的VISUALAGEFORJAVA差不多,但由于其开放源码,任何人都可以免费得到,并可以在此基础上开发各自的插件,因此越来越受人们关注。近期还有包括ORACLE在内的许多大公司也纷纷加入了该项目,并宣称ECLIPSE将来能成为可进行任何语言开发的IDE集大成者,使用者只需下载各种语言的插件即可。35系统开发的主要技术351JAVA简介JAVA是SUN公司推出的新的一代面向对象程序设计语言,特别适合于INTERNET应用程序开发。JAVA的产生与流行是当今INTERNET发展的客观要求,JAVA是一门各方面性能都很好的编程语言,它的基本特点是简单、面向对象、分布式、解释的、健壮的、安全的、结构中立的、可移植的、性能很优异的、多线程的、动态的,特别适合在INTERNET环境上开发的应用系统。352浏览器/服务器结构(B/S)伴随着INTERNET的迅速发展,计算机技术正在由基于C/S(CLIENT/SERVER)模式的应用系统转变为基于B/S模式的应用系统。过去,网络软件的开发都采用C/S(CLIENT)模式,在这种模式下,主要的业务逻辑都集中于客户端程序,因此,必然导致以下问题1系统安装、调试、维护和升级困难。由于客户端的硬件配置可能存在差异,软件环能各不相同,因此,在安装时,必须对每一个客户端分别进行配置,同样,在软件升级时也要对客户端分别处理。2在整个系统中,业务逻辑和用户界面都集中到了客户端,必然会增加安全隐患。B/S模式带来了巨大的好处A开发成本及维护成本降低。由于B/S架构管理软件只安装在服务器端(SERVER)上,即应用程序在部署、升级、维护时,只需要在服务器端进行配置就可以了,网络管理人员只需要管理服务器就行了,用户界面主要事务逻辑在服务器(SERVER)端完全通过WWW浏览器实现,极少部分事务逻辑在前端(BROWSER)实现,所有的客户端只有浏览器,网络管理人员只需要做硬件维护。B良好的安全性能,防火墙技术可以保证后台数据库的安全性。所有的配置工作都集中在服务器端且所有客户端请求都是通过DBMS来访问数据库,从而大大减少了数据直接暴露的风险。353动态WEB技术JSPJSP的全称是JAVASERVERPAGES,它是SUN推出的一种动态网页技术标准。它在传统的静态页面文件(HTML,HTM)中加入JAVA程序片段和JSP标记,就构成了JSP页面。JSP具有以下的优点A将业务层与表示层分离使用JSP技术,网络开发人员可充分使用HTML来设计页面显示部分(如字体颜色等),并使用JSP指令或者JAVA程序片段来生成网页上的动态内容;B能够跨平台JSP支持绝大部分平台,包括现在非常流行的LINUX系统,应用非常广泛的APACHE服务器也提供了支持JSP的服务;C组件的开发和使用很方便如ASP的组件是由C,VB等语言开发的,并需要注册才能使用;而JSP的组件是用JAVA开发的,可以直接使用;D一次编写,处处运行作为JAVA开发平台的一部分,JSP具有JAVA的所有优点,包括WRITEONCE,RUNEVERYWHERE354TOMCAT应用服务器目前支持JSP的应用服务器是较多的,TOMCAT是其中较为流行的一个WEB服务器,被JAVAWORLD杂志的编辑选为2001年度最具创新的JAVA产品,可见其在业界的地位。TOMCAT是一个免费的开源的SERLVET容器,在TOMCAT中,应用程序的部署很简单,你只需将你的WAR放到TOMCAT的WEBAPP目录下,TOMCAT会自动检测到这个文件,并将其解压。你在浏览器中访问这个应用的JSP时,通常第一次会很慢,因为TOMCAT要将JSP转化为SERVLET文件,然后编译。编译以后,访问将会很快。TOMCAT也具有传统的WEB服务器的功能处理HTML页面。但是与APACHE相比,它的处理静态HTML的能力就不如APACHE。我们可以将TOMCAT和APACHE集成到一块,让APACHE处理静态HTML,而TOMCAT处理JSP和SERVLET。TOMCAT是一个很好的工具,不仅仅因为其免费,功能强大,更因为其开放性,越来越受到人们的重视。355框架技术3551STRUTS框架STRUTS是一个为开发基于模型MODEL视图VIEW控制器CONTROLLERMVC模式的应用架构的开源框架,是利用SERVLET,JSP和CUSTOMTAGLIBRARY构建WEB应用的一项非常有用的技术。由于STRUTS能充分满足应用开发的需求,简单易用,敏捷迅速。它使用服务层框架可以将JAVABEANS从JSP/SERVLET中分离出来,而使用表现层框架则可以将JSP中剩余的JAVABEANS完全分离,这部分JAVABEANS主要负责显示相关信息,一般是通过标签库(TAGLIB)实现,不同框架有不同自己的标签库,STRUTS是应用比较广泛的一种表现层框架3552HIBERNATE框架HIBERNATE通过持久层的框架将数据库存储从服务层中分离出来,它是O/RMAPPING的一种实现是目前在JAVA界使用非常广泛的O/RMAPPING的一种实现,可以实现关系型数据库和对象之间的映射。用来开发数据库系统非常方便,可以将数据库和程序的设计融合在一起。表现层和服务层的分离是通过两种框架达到目的的,剩余的就是持久层框架了,通过持久层的框架将数据库存储从服务层中分离出来就是其目的,持久层框架有两种方向直接自己编写JDBC等SQL语句(如IBATIS);使用O/RMAPPING技术实现的HIBERNATE和JDO技术;当然还有EJB中的实体BEAN技术。HIBERNATE的工作原理是通过文件把值对象和数据库表之间建立起一个映射关系,这样,我们只需要通过操作这些值对象和HIBERNATE提供的一些基本类,就可以达到使用数据库的目的。例如,使用HIBERNATE的查询,可以直接返回包含某个值对象的列表(LIST),而不必向传统的JDBC访问方式一样把结果集的数据逐个装载到一个值对象中,为我们的编码工作节省了大量的劳动。HIBERNATE提供的HQL是一种类SQL语言,是提供对象化的数据库查询方式,但HQL在功能和使用方式上都非常接近于标准的SQL第4章系统实现41用户操作总体设计用户操作主要包括用户登录和人员管理模块,具体功能如下用户登录用于登录系统。人员管理模块用于浏览、添加和修改人员信息。411用户登录设计用户登录是用户进入主页面的入口,其运行结果如图41所示。图41用户登录运行结果系统登陆是人力资源管理中最先使用的功能,因为用户登陆在数据库中使用的是人员表,人员表中有一个ISADMIN字段,是来标识是否是管理员的。在登陆时要根据数据库的这个字段来判断此用户是否具有管理员的权限。在网页里添写用户名和密码后点击登陆按钮,网页会访问一个URL,这个URL是“LOGONDOACTIONLOGON”,这个ACTION的NAME属性的值是USERSFORM,它是STRUTS的ACTOINFORM的实现类在配置文件中的名字,如下所示ACTION是STRUTS的ACTION的URL,他们在STRUTS的配置文件中都是已经配好的,如下所示在这个配置文件中,可以了解到如下信息根据NAME“USERFORM“可以找到与之相对应的ACTIONFORM的实现类“COMBOSBPRO_PERSONMANAGEACTIONFORMUSERSFORM”。根据TYPE“COMBOSBPRO_PERSONMANAGEACTIONUSERSACTION“可以找到处理用户数据的ACTION类。根据和可以了解,这个ACTION返回SUCCESS时,页面会被转到MANAGEJSP文件,这就是登陆成功的页面。如果当ACTION返回FAILED时,页面会被转到FAILEDJSP文件,这个文件是当用户登陆失败将要转到的页面。STRUTS的USERACTION实现类的EXECUTE方法是最先被执行的,这个方法本身也没有具体的事务,而是根据ACTION的参数不同执行相应的方法。在登陆页里面可以找到有一个“ACTIONLOGON”的字样,它的目的就是在这里做逻辑判断。当ACTIONLOGON时调用LOGON方法。LOGON方法从USERSFORM中得到用户提交的数据,然后在调用USERSDAO的LOGONUSERS方法。并且把USERSFORM转成USERS类做为LOGONUSERS方法的参数。调用后会返回一个BOOLEAN型的值。如果为真,则返回“MAPPINGFINDFORWARD“SUCCESS“”否则返回“MAPPINGFINDFORWARD“FAILED“”也就是当用户登陆成功后,返回给用户登陆成功的页面,登陆失败后返回用户一个登陆失败的页面。那么USERSDAO的LOGONUSERS方法是根据什么得到的返回值呢,现在就让我们看看这个方法,这个方法先通过HIBSESSIONFACTORY得到一个HIBERNATE的SESSION并且开始一个事务,SESSION再像使用一个欲编译似的命令似的东西,设定参数、提交事务和最后在关闭SESSION。得到一个LIST里面就存储着所有查询出的结果。根据这个结果就可以判断出该用户是否有登陆的权根了,在返回TRUE或者FALSE。就这样合法的用户就可以顺利的登陆了。那刚才那些有些类似于欲编译的东西是什么呢,这些就是HIBERNATE特有的查询语言,被称为HIBERNATE查询语言(HQL),而它本身也就是使用的JDBC的欲编译技术。412人员管理模块设计人员管理模块主要包括浏览人员信息、添加人员信息、人员信息的删除、人员信息的修改。此模块文件架构如图4所示。各项管理工作都是在用户成功登陆后的管理页面进行的,在管理控制页面的左侧是各项的相关链接,右侧是操作平台。单击“添加人员信息”,即打开添加人员信息的页面如图42所示。图42添加人员信息页面添加人员信息的链接是这样的,如下所示添加人员信息在STRUTS配置文件中,添加人员信息的链接没有使用ACTIONFORM类,也没有使用ACTION的实现类,如下所示ADDUSERJSP文件,只是一个普通的JSP文件,但是它的表单元素都是与USERSFORM相对应的,USERSFORM如下所示USERSFORM类中的RESET方法作用是当用户点击“重置”按钮时,清空INPUT输入框的内容,TOSTRING方法覆盖了OBJECT和TOSTRING方法,POPULATE方法很有,它把USERSFORM转化成USERS实体类,大大方便了程序在对数据库操作时使用的方便。而且这个方法中还把用户的生日等表单元素的值由字符型转成日期类型。在ADDUSERJSP页面中的ACTION上可以看到它要提交的URL,如下所示配置文件中MODIFYUSER的ACTION实现类是“COMBOSBPRO_PERSONMANAGEACTIONUSERSACTION”,如下所示在USERSACTION找到参数ACTION等于ADDUSER时所调用的方法ADDUSERS,它只是把从USERFORM表单转化成的USER类做为参数传给了USERSDAO的ADDUSERS方法。在由这个方法向数据库添加人员信息,如下所示PUBLICVOIDADDUSERSUSERSUSERSTHROWSHIBERNATEEXCEPTIONUSERSSETCREATETIMENEWJAVAUTILDATESESSIONSESSIONHIBSESSIONFACTORYCURRENTSESSIONTRANSACTIONTXSESSIONBEGINTRANSACTIONSESSIONSAVEUSERSTXCOMMITHIBSESSIONFACTORYCLOSESESSION如果添加成功页面会被发转到USERDOACTIONLISTUSER的URL。USERDO的配置文件如下所示这样就在页面做一次提交时它访问了二次USERSACTION,第一次的作用是向数据库中添加信息,随后又把所有人员信息取出来显示给用户,同样USERSACTION还只是调用USERSDAO,取数据库的具体操作在USERSDAO文件中,他这次调用的是LISTUSER方法,如下所示PUBLICLISTLISTUSERTHROWSHIBERNATEEXCEPTIONSESSIONSESSIONHIBSESSIONFACTORYCURRENTSESSIONTRANSACTIONTXSESSIONBEGINTRANSACTIONQUERYQUERYSESSIONCREATEQUERY“SELECTUFROMUSERSASUORDERBYCREATETIME“LISTLISTQUERYLISTTXCOMMITHIBSESSIONFACTORYCLOSESESSIONRETURNLISTUSERSACTION取出从USERSDAO中数据,在把它存到REQUEST里,然后返回RETURNMAPPINGFINDFORWARD“SUCCESS“在STRUTSR的配置文件里返回页是LISTUSERJSP。所有用户的信息都在这个页中显示出来。在显示页中,从REQUEST里面的取出数据,如果有则显示在页面上,使用“LISTNULL422HQL语言本系统中,所有对数据库的操作都由HIBERNATE来完成,因此用到了大量的HQL语言HQL是HIBERNATE设计的一套完整而实用高效的查询语言,它通过面向对象的语句结构实现了和SQL语言类似的功能如果向表里插入一条数据的话,直接调用SAVE方法即可,但如果要使用查询功能的话,我按照一般的SQL语句的方法FROM表名WHERE条件,却总是找不到预期的数据,后来看书中发现,FROM后跟的是表对应映射的类文件名,而非表名,比如招聘表为INVITE,它对应的类为INVITEJAVA,所以在FROM后要根INVITE而不是INVITE423安全性将项目发布到互联网上后,有些用户不是点击超链接打开网站的某个页面,而是在地址栏中直接写,而后进入,试图避开身份验证,处于对安全性的考虑,本项目在用户登陆后才能进入的页面中,加入了如下的一行判断,如果用户非法进入,则看到的将是一片空白页STRINGNAMESTRINGSESSIONGETATTRIBUTE“NAME”IFNAMENULL第5章系统测试在完成了程序的编写工作后,接下来将进行软件的测试,这里说的软件,并不单单是指程序本身,还包括其他方面测试和开发一样,也是一项技术性很强的工作,有着很多的技巧软件测试是软件质量保证的主要活动之一,因此,测试的质量直接影响软件的质量51测试的定义及目的软件测试就是在软件投入运行前,对软件的需求分析,设计规格说明和编码的最终复审,是保证软件质量的关键步骤如果要给软件测试下定义,可以这样将,软件测试是为了发现错误而执行程序的过程测试的目的在于将软件设计时设计者与程序开发者之间理解不一致的地方,功能与需求不一致的地方,不符合逻辑思维的情况都反映给质量控制部门,由质量控制部门调配需求部门统一作出一个明确解答,再由开发人员进行修改和补充测试的目标是以最少的时间和人力找出软件中潜在的各种错误和缺陷52测试的方法依据前面所说的测试对象,我们把测试划分为几个方面来进行测试521界面测试界面测试是测试过程中比较简单直观的一种测试方法,只要细心地按界面要求核对就行了可这快往往是程序开发人员容易忽视和遗漏的地方,也是常常出BUG的地方下面是界面测试中经常出现的几种BUG错别字,即界面中的标题或者文本内容中出现了错别字这种BUG如果测试人员不细心,和难找出来,可能会出现在提示信息或界面中出现了一些根本读不懂的内容,一般多出现在程序的提示信息和一些较长的文本中这种情况基本上出现在拼起来显示的提示中,页面的简单陈述是通过变量拼组起来的,通过程序将字一个一个地输出出来通常是因为程序中的控制错误或是程序开发人员对程序没有进行认真的自测,导致出现这种BUG程序员自创的词语,虽然意思对,但不符合界面的标准及需求这种情况基本上是由于开发人员使用一些专业术语,并且混杂着自己的理解出现BUG,主要是由于开发过程中团队合作没又明确的分工,没有统一的规范用语页面类似的内容中,明显有字体,字号不同的情况,使界面整体风格看上去不一致,这种情况只出现在没有CSS定义的情况下,或是已经定义的CSS,开发人员在开发过程中没有调用标题相近的程序及模块,把标题弄混这种情况多是因为业务方面的定义

温馨提示

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

评论

0/150

提交评论