I摘要人事管理信息系统作为一种新型的管理方式,受到了社会的广泛关注,本毕业设计以JSP技术为基础,设计实现一个鞍钢附企工贸公司人事管理信息系统。系统主要根据实际的需求,以需求分析、系统的设计目标,并且重点进行系统功能模块的详细设计和实现,采用了NETBEAN开发平台和MYSQL数据库,实现了对员工信息的管理,对考勤信息的管理,对培训信息的管理和对用户登录密码的管理等主要模块。功能完善,易于管理。本论文详尽论述了需求分析、系统分析、概要设计、详细设计、以及测试与调试的整个过程。最后,总结了系统的优缺点以及未来的工作。本系统具有良好的功能完备性,较好的人机交互界面,测试结果表明,系统设计已经达到要求,具有较好的实用价值。关键词:鞍钢附企工贸公司人事管理信息系统系统开发数据库设计安全性II目录第一章引言....................................................1第二章需求分析..................................................2第三章总体设计..................................................3第四章详细设计与实现............................................6第五章系统测试.................................................25结论........................................................27参考文献........................................................27大连交通大学计算机工程实践1第一章引言管理信息系统是70年代初“后工业经济时代”的产物,在企业管理信息系统在其发展的初期,是单一的人-机系统,系统功能简单,效率低,对管理的作用有限。进入20世纪80年代末,随着计算机网络和通信技术的大力发展,企业管理信息系统进入网络化的发展时期。世界发达国家已建立起了完善的先进的管理信息系统体系。他们在数十年的实践中积累了丰富的管理信息系统开发经验,在企业管理方面也已形成了一套行之有效的理论和规范。由于管理信息系统本身及与其相应的计算机信息应用技术均非常成熟。几乎所有发达国家均建立了自己的人力资源管理信息系统,这个系统是全国性的,覆盖了全国的人力资源管理领域。国外公司的人事部或劳工部一般均建立了计算机信息系统,负责公司内部的人力资源或劳工管理。所以,国外的工资管理信息系统的开发与应用己非常普及。同时,由于发达国家的人力资源管理信息系统已实现全国联网,因此,在社会经济发展领域中发挥着巨大的作用。我国的人力资源管理信息系统大发展是在80年代末90年代初,多数企事业单位建立了局域网和广域网管理信息系统。随着世界经济和我国经济逐步向知识经济迈进,无论是基于工业经济的管理信息系统,还是面向少数专家和管理人员的专家系统(ES)或决策支持系统(SS),其处理对象和服务对象,自身的系统结构,处理能力,都有了进一步的发展。大连交通大学计算机工程实践2第二章需求分析目前市面上流行的人事管理系统不少。但是,对于企、事业单位的人事管理系统来说,不需要大型的数据库系统。只需要一个操作方便,功能实用,能满足本中心对数据的管理及需求的系统。我的目标就是在于开发一个功能实用、操作方便,简单明了的人事管理系统。能够录入人事的基本资料,在操作上能够完成诸如添加、修改、删除、按各种条件进行查询、能维护管理公司员工每个月的工资信息,在操作上能完成诸如添加,修改删除及按各种条件进行查询,还能管理员工的请假信息等其它的重要信息。主要目标如下:a、对员工信息的管理(包括查询、添加、删除和修改);b、对考勤信息的管理(包括查询、添加、删除和修改);c、对培训信息的管理(包括查询、添加和修改);d、对用户登录密码的管理(修改)。JSP的优点:1.对于用户界面的更新,其实就是由WebServer进行的,所以给人的感觉更新很快。2.所有的应用都是基于服务器的,所以它们可以时刻保持最新版本。3.客户端的接口不是很繁琐,对于各种应用易于部署、维护和修改。MySQL数据库具有以下主要特点:1.同时访问数据库的用户数量不受限制;2.可以保存超过50,000,000条记录;3.是目前市场上现有产品中运行速度最快的数据库系统;4.用户权限设置简单、有效。用例图如下:大连交通大学计算机工程实践3图2.1系统用例图数据库设计(DatabaseDesign)是指对于一个给定的应用环境,构造最优的数据库模式,建立数据库及其应用系统,使之能够有效地存储数据,满足各种用户的应用需求(信息要求和处理要求)。数据库的设计通常是以一个已经存在的数据库管理系统为基础的。根据用户需求和业务流程,本系统MYSQL数据库管理系统。通过对当前的开发语言的分析,JSP(JavaServerPages)是由SunMicrosystems公司倡导、许多公司参与一起建立的一种动态网页技术标准。JSP技术是用JAVA语言作为脚本语言的,JSP网页为整个服务器端的JAVA库单元提供了一个接口来服务于HTTP的应用程序。在传统的网页HTML文件(*.htm,*.html)中加入Java程序片段(Scriptlet)和JSP标记(tag),就构成了JSP网页(*.jsp)。Web服务器在遇到访问JSP网页的请求时,首先执行其中的程序片段,然后将执行结果以HTML格式返回给客户。程序片段可以操作数据库、重新定向网页以及发送email等等,这就是建立动态网站所需要的功能。所有程序操作都在服务器端执行,网络上传送给客户端的仅是得到的结果,对客户浏览器的要求最低,可以实现无Plugin,无ActiveX,无JavaApplet,甚至无Frame。开发平台使用的是NETBEAN。第三章总体设计3.1系统框架大连交通大学计算机工程实践4本系统共分4大部分,4个功能模块。分别是:员工信息管理模块,合同信息管理模块,培训信息管理模块和系统管理模块。系统结构如图3.1所示。图3.1系统结构图描述管理业务流程的图表由管理业务流程图和表格分配图,管理业务流程图是一种表明系统内部各部门、人员之间的业务关系、作业顺序和管理信息流动的流程图,它可以帮助分析人员找出流程中的不合理回路。下面图3.2就是人事管理流程图。3.2数据库设计大连交通大学计算机工程实践5数据库设计(DatabaseDesign)是指对于一个给定的应用环境,构造最优的数据库模式,建立数据库及其应用系统,使之能够有效地存储数据,满足各种用户的应用需求(信息要求和处理要求)。数据库的设计通常是以一个已经存在的数据库管理系统为基础的。通过对业务流程的分析,得到了系统的实体,以及实体之间关系,根据这些实体与关系之间的联系,得到了系统的E-R图,如图3.3所示。图3.3人事管理系统ER图E-R模型用实体间联系反映现实世界事物间的内在联系,而数据表的建立是应用程序开发过程中的非常重要的一个环节,必须清楚每一模块要操纵的数据是那些,以及数据间的相互关系,然后建立数据表。本系统数据库使用MYSQL,数据库名为friend,包含以下3个表:成员表,收支项目表,账簿表。下面分别详细介绍以上各表:表3.1成员表字段名称数据类型长度是否为空主外键说明真实姓名varchar255否主键真实姓名用户名varchar255是否用户名密码varchar255是否密码表3.2收支项目表大连交通大学计算机工程实践6字段名称数据类型长度是否为空主外键说明项目IDvarchar255否主键项目编号名称varchar255是否名称类型varchar255是否类型表3.3账簿表字段名称数据类型长度是否为空主外键说明账目IDInt20否主键账目编号收支项目varchar255是否收支项目收支日期varchar255是否收支日期收支成员varchar255是否收支成员收支金额Float20是否收支金额备注varchar255是否备注第四章详细设计与实现详细设计阶段就是把解决方法具体化,设计出详细规格说明,包含必要的细节,程序员可以根据它们写出实际的程序代码,详细设计也称模块设计,在这个阶段将详细地设计每个模块,具体的实现功能。在详细设计过程中,具体的功能实现过程可以按照软件工程中的方法描述中的交互模型具体描述,力求完全符合客户的真实需求。该系统的设计基于以下几个原则:1.标准化;2.模块化;3.先进性;4.安全性;5.交互性。4.1登陆系统1.实现目标:管理员(或者普通用户)进入系统前,必须通过系统登录进入主程序界面,系统登录界面(如图4.1所示)主要实现以下功能:确认用户的身份和对系统信息起到保密作用。大连交通大学计算机工程实践7图4.1系统登录界面2.实现方法在该登录界面中,不需要选择操作员的权限,系统可根据数据库中存放的管理员信息判断该用户是管理员还是普通用户。界面是由JSP语言来进行编辑的,在该子系统中进行界面设计时要充分考虑用户的操作习惯,减少用户大量的输入操作以减轻用户的工作量。部分代码如下Stringsql=select*fromadminwhereName='+name+'andpassword='+psw+';try{ResultSetresult=Dbcon.executeQuery(sql);if(result.next()){Stringisadmin=result.getString(isadmin),employeeId=result.getString(employeeId);session.setAttribute(employeeId,employeeId);session.setAttribute(isadmin,isadmin);if(isadmin.equals(是))response.sendRedirect(loginsuccess.jsp);elseresponse.sendRedirect(loginsuccess_user.jsp);}else{response.sendRedirect(loginfail.jsp);大连交通大学计算机工程实践8}}catch(SQLExceptione){e.printStackTrace();}4.2管理员主界面模块设计1.实现目标:程序启动后,在系统登录界面若被判断是管理员权限并验证操作员密码后,将进入主界面。主程序界面(如图4.2所示)主要实现如下功能:执行相应的权限操作;选择主界面的菜单,调用相应程序,进行相应操作;显示操作权限。图4.3管理员主界面2.实现方法主程序界面里有5个子菜单:(1)员工信息(2)工资信息(3)合同信息(4)培训信息(5)系统管理管理员主页面展开如图4.3大连交通大学计算机工程实践9图4.3主菜单展开图4.3员工信息管理模块1.实现目标:管理员单击主菜单下的员工信息管理菜单下的基本信息,进入当前员工信息页面。(如图4.4所示)。大连交通大学计算机工程实践10图4.4当前员工信息2.实现方法管理员可以进行员工信息查看并可对其进行修改和删除。界面是由JSP语言来进行编辑的,在该进行界面设计时要充分考虑用户的操作习惯,减少用户大量的输入操作以减轻用户的工作量。部分代码:publicVectorgetallEmployee(){Stringsql=select*fromemployee;try{ResultSetrs=Dbcon.executeQuery(sql);while(rs.next()){employeeoneEmployee=newemployee();oneEmployee.setEmployeeId(rs.getString(employeeId));oneEmployee.setName(rs.getString(name));oneEmployee.setCardNumber