1、中小企业人事管理系统设计与开发摘要:随着计算机技术的飞速发展和计算机在企业管理应用中的普及,利用计算机实现企业人事管理势在必行。对企业人事管理系统的积极使用是使现代化企业在竞争中立于不败之地的必要条件。人事管理系统对于企业单位的管理者来说,具有使用方便、查询快捷、管理准确等特点,成为企业单位不可缺少的部分。本文论述了基于 JSP 模式的人人事管理系统的设计与开发的全部过程。在现代化的教育技术模式下,计算机已经广泛应用于企业的人事管理,给传统的人事管理方式带来了重大的革命。如何有效进行人事管理是摆在我们面前的一个新的课题。本文在研究目前多个中小企业人事管理情况的基础上,从企业的实际需求出发,采用
2、当前较为流行的 B/S(浏览器/服务器)结构和 JSP 动态网页开发技术,基于 Windows XP 操作系统和 SQL SERVER 2000 数据库,设计并实现了一个功能较为完善的中小型企业人事管理系统。通过对系统进行一系列的需求分析、设计、编码、测试等工作,使系统实现了对企业员工信息的查看,添加,修改,删除,以及搜索的功能。重点对系统设计过程作了相应描述,同时也对系统需要改进的地方做了总结。本系统经过测试,运行效果稳定,操作方便,快捷,适用于一般中小企业的人事管理需求。关键字:JSP 人事管理 SQL 数据库 B/S 模式Abstract:第一章:绪论1.课题研究的背景2.国内外研究现状
3、3.课题研究的目的和意义第二章:相关知识及开发工具介绍1.JSP 概述JSP 技术是由 Servlet 技术发展起来的,自从有了 JSP 后,在 Java 服务器端编程中普遍采用的就是 JSP,而不是 Servlet。因为 JSP 在编写表示页面时远远比 Servlet 简单,并且不需要手工编译,目前 Servlet 主要用于做视图控制器,处理后台应用等。由于 JSP 构建在 Servlet 上。所以它有 Servlet 所有强大的功能 4。JSP 基于强大的 Java 语言,具有良好的伸缩性,与 Java Enterprise API 紧密地集成在一起,在网络数据库应用开发领域具有得天独厚的
4、优势,基于 Java 平台构建网络程序已经被越来越多的人认为是未来最有发展前途的技术 5。从 JSP 这几年的发展来看,JSP 已经获得了巨大的成功,它通过和 EJB 等 J2EE 组件进行集成,可以编写出处理具有大的伸缩性,高负载的企业级应用。JSP 技术在多个方面加速了动态 Web 页面的开发。通过分析和总结,列出了以下几点说明 JSP 的特点。(1)绝大多数 JSP 页面依赖于可重用的跨平台的组件来执行应用程序所要求的更为复杂的处理。开发人员能够共享和交换执行普通操作的组件,或者使用这些组件为更多的使用者或者客户团体所使用。基于组件的方法加速了总体开发过程,并且使得各种组织在他们现有的技
5、能和优化结果的开发努力中得到平衡。(2)JSP 能提供所有的 Servlets 功能。与 Servlet 相比,JSP 能提供所有的 Servlets 功能,它比用 Println 书写和修改 HTML更加方便。此外,您可以更明确地进行分工,Web 页面设计人员编写 HTML,只需要留出空间让 Servlets 程序员插入动态部分即可。(3)一次编写,随处运行。作为 Java 平台的一部分,JSP 拥有 Java 编程语言“一次编写,随处运行”的特点。随着越来越多的供应商将 JSP 支持添加到他们的产品中,您可以使用自己所选择的服务器和工具,但并不影响当前的应用。(4)Java 中连接数据库的
6、技术是 JDBC。很多数据库系统带有 JDBC 驱动程序,Java 程序通过 JDBC 驱动程序与数据库相连,执行查询,提取数据等操作。Sun 公司还开发了 JDBC-ODBC Bridge,用此技术 Java 程序就可以访问带有 ODBC 驱动程序的数据库,目前大多数数据库系统都带有 ODBC 驱动程序 6,所以 Java 程序能够访问如 Oracle,Sybase,MS SQL Server 和 MS Access 等类型的数据库 7。(5)JSP 的平台适应性更广。这是 JSP 与 ASP 的优越之处。几乎所有的平台都支持 Java,JSP+Beans,它们可以在任何平台下通行无阻。Wi
7、ndows NT 下的 IIS 通过一个插件就能支持 JSP,例如 JRUN 或者ServletExec,著名的 Web 服务器 Apache 已经能够支持 JSP。由于 Apache 广泛应用在Windows NT,UNIX 和 Linux 上,因此 JSP 有更广泛的运行平台 8。2.开发工具介绍JSPMicrosoft sql server 2ooo3.系统运行环境硬件环境CPU:内存:硬盘空间:软件环境Web 服务器:客户端浏览器:第三章:系统分析及及总体设计1.可行性分析2.需求分析3.系统模块规划4.系统流程图功能结构图系统功能结构图如图所示。中小企业人事管理系统登录模块主页面模块
8、员工档案模块奖惩管理模块管理员工档案添加员工档案查询员工档案管理奖惩记录管理培训记录培训管理模块职称管理模块添加培训记录添加奖惩记录管理职称评定添加职称评定5.系统数据库设计字段表:用户表(users ):字段名 数据类型 描述 是否主键 是否非空UserName varchar(16) 用户名 是 非空Password varchar(16) 密码 非空员工档案表(employee): 字段名 数据类型 描述 是否主键 是否非空EmployeeID varchar(6) 员工编号 是 非空UserName varchar(10) 员工姓名 非空Sex varchar(2) 员工性别 非空Br
9、anch varchar(20) 部门 非空Birthday smalldatetime(4) 出生日期 非空NativePlace varchar(20) 籍贯 非空Marriage varchar(4) 婚姻状况 非空IdentityID varchar(18) 身份证号码 非空Politics varchar(4) 政治面貌 非空Folk varchar(10) 民族 非空Education varchar(10) 学历Department varchar(20) 专业GraduateDate smalldatetime(4) 毕业日期University varchar(30) 毕业院
10、校AccumulateID varchar(15) 公积金账号 非空AdministrationLevel varchar(10) 行政级别 非空Duty varchar(20) 职务 非空Position varchar(20) 职称 非空ForeignLanguage varchar(10) 外语语种FLLevel varchar(4) 外语水平ComputerLevel varchar(4) 计算机水平Phone varchar(13) 电话号码员工调动模块管理奖惩记录添加调动记录MobilePhone varchar(11) 手机号码Address varchar(30) 家庭住址In
11、cumbency varchar(4) 在职情况 非空IncumbencyType varchar(10) 用工形式 非空Resume varchar(200) 个人简历员工培训管理表(train):字段名 数据类型 描述 是否主键 是否非空TrainNO bigint(8) 记录编号 是 非空EmployeeID varchar(6) 员工编号 非空TrainName varchar(20) 培训名称 非空TrainWhat varchar(40) 培训内容 非空StartTime smalldatetime(4) 起始日期EndTime smalldatetime(4) 结束日期Train
12、Organ varchar(40) 培训单位 非空TrainResult varchar(6) 培训结果 非空Remark varchar(200) 备注员工职称评定表(assess):字段名 数据数据类型 描述 是否主键 是否非空AssessNO bigint(8) 记录编号 是 非空EmployeeID varchar(6) 员工编号 非空Position varchar(20) 职称 非空GetDate smalldatetime(4) 获得日期 非空GetType varchar(4) 获得方式 非空Duty varchar(20) 职务 非空StartDate smalldateti
13、me(4) 聘用起始日期 非空EndDate smalldatetime(4) 聘用结束日期 非空Department varchar(30) 聘用单位 非空English varchar(2) 职称英语 非空Computer varchar(2) 职称计算机 非空Remark varchar(200) 备注员工奖惩管理表(reward):字段名 数据类型 描述 是否主键 是否非空RewardNO vigint(8) 记录编号 是 非空EmployeeID varchar(6) 员工编号 非空Position varchar(20) 职称 非空RewardPunish Varchar(2) 奖
14、/惩 非空RewardContent varchar(30) 奖惩内容 非空Reason varchar(40) 奖惩原因 非空Branch varchar(20) 批准部门 非空HandleName varchar(10)( 批准人 非空StartDate smalldatetime(4) 开始日期 非空CancelDate smalldatetime(4) 撤销日期CancelReason varchar(40) 撤销原因Remark varchar(200) 备注员工调动表(translate):字段名 数据类型 描述 是否主键 是否非空TranslateNO bigint(8) 记录编
15、号 是 非空EmployeeID varchar(6) 员工编号 非空TranslateDate smalldatetime(4) 调动日期 非空PriorBranch varchar(20) 调动前部门 非空NextBranch varchar(20) 调好后部门 非空PriorDuty varchar(20) 调动前职务 非空NextDuty varchar(20) 调动后职务 非空HandleName varchar(10) 经办人 非空Remark varchar(200) 备注第四章:系统详细设计1.登陆模块的设计登录模块如图 4-5 所示。登录失败用户登录 通过验证图 4-5 登录
16、控制结构图实现该功能的文件有:login.jsp,ChkLogin.jsp,这两个文件实现了登录模块的功能,其中 login.jsp 通过request.getParameter()方法来获取输入的用户名和用户密的值,并交由 ChkLogin.jsp 页面处理,ChkLogin.jsp 通过一系列的 JSP 方法,函数(如 response.sendRedirect()方法)登录检查 操作界面数据库登录界面退出界面组成业务逻辑来判断所获取的数据是否合法,进而决定是否允许来访者登录系统。2.员工档案管理模块的设计员工档案是人事管理系统的基本数据资料,是员工管理系统的基本功能,其提供的功能有:添加
17、人员档案,修改人员档案,删除人员档案和查询人员档案。其模块结构如下图4-6 所示。人员档案模块查询人员档案管理人员档案添加人员档案模块主页面 Employee.jspEmployeeLeft.jspAddEmployeeStep2.jspAddEmployeeStep1.jspManageEmployeeStep1.jspManageEmployeeStep2.jspModifyEmployeeStep1.jspModifyEmployeeStep2.jspDelEmployeeStep1.jspSearchEmployeeStep1.jspSearchEmployeeStep2.jspVie
18、wEmployeeStep1.jsp图 4-6 人员档案模块结构图本模块包含的 JSP 文档及其功能如下:Employee.jsp 功能与 index.jsp 类似,EmployeeLeft.jsp 用于显示本模块网页的功能链接。AddEmployeeStep1.jsp 主要用于提供用户输入人员档案信息的界面,AddEmployeeStep2.jsp 则用于提交信息并连接数据库和修改数据库。ManageEmployeeStep1.jsp 主要用于显示员工管理的条件查询页面, ManageEmployeeStep2.jsp 则用于操作数据库并显示查询结果列表, 单击列表中的“修改”则进入 Mod
19、ifyEmployeeStep1.jsp 页面,此页面提供修改人员信息功能,单击修改按钮后,刚进入 ModifyEmployeeStep2.jsp 向数据库中写入信息,如果更新成功刚显示“修改人员档案成功” ,否则显示“修改人员档案失败!”并将错误显示在页面中。如果单击删除链接,刚进入 DelEmployeeStep1.jsp 页面,实现删除操作。SearchEmployeeStep1.jsp 页面,主要用于查询人员档案,在管理人员档案操作中,既使用其来进行数据库查询,SearchEmployeeStep2.jsp 则用于显示查询结果列表,由于员工信息较多,因此只选取部分显示,如需查看详细信息
20、,则可单击员工编号,进入ViewEmployeeStep1.jsp 页面,该文件用于显示员工的详细信息以及其余模块的信息,如奖惩情况和调动情况。还要说的是关于 javabean 的,Employee.java 定义了类 Employee,用来封装与人员档案相关的方法,如增加、修改、删除、查询等,其定义的关键方法有:Add()用于添加人员档案,Modify()用于修改人员档案,Delete(String _EmployeeID)用于删除人员档案,ListAll()用于列出所有人员档案,Search()用于查询人员档案。3.培训管理模块的设计奖惩管理模块主要用于记录企业员工的奖惩情况,其主要提供的
21、功能有添加奖惩记录和修改奖惩记录。奖惩管理模块的结构如下图 4-7 所示。奖惩管理模块模块主页面添加奖惩记录管理奖惩记录Reward.jspRewardLeft.jspDelRewardStep1.jspAddRewardStep1.jspAddRewardStep2.jspManageRewardStep1.jspModifyRewardStep1.jspModifyRewardStep2.jspViewRewardStep1.jsp图 4-7 奖惩管理模块结构图本模块主要包含页面关系如图 4-7 的结构图所示,其中 Reward.jsp 功能与 index.jsp作用相似,RewardLe
22、ft.jsp 作用是提供了本模块的功能链接,如添加奖惩记录,管理奖惩记录和退出系统。添加奖惩记录主要由 AddRewardStep1.jsp 和 AddRewardStep2.jsp 两个文件组成,其中前者提供了添加记录的界面,后者用于调用 JavaBean 中的 Reward 中的 Add()方法,向数据库传递填写的信息,更新数据库。 管理奖惩记录主要由ManageRewardStep1.jsp、ManageRewardStep2.jsp、ModifyRewardStep1.jsp、ModifyRewardStep2.jsp、ViewRewardStep1.jsp 和 DelRewardSt
23、ep1.jsp 五个文件组成,其中ManageRewardStep1.jsp 用于显示管理奖惩记录界面,当单击图中的修改链接后,则进入ModifyRewardStep1.jsp 页面,当点击修改按钮时刚进入 ModifyRewardStep2.jsp 页面,用于和数据库进行交互,修改数据库中的记录,并返回修改结果。如点击删除链接,刚进入 DelRewardStep1.jsp 页面,系统会提示是否确认删除操作,单击确定后则进行删除操作,并返回删除结果;如点击员工编号,则可进入 ViewRewardStep1.jsp 页面,显示该员工的详细奖惩信息。相应的对于该模块的 javabean 要说明的是
24、:eward.java 中定义了类 Reward,用来封装与奖惩管理有关的功能方法,比如添加,修改,删除,查看奖惩记录等,其定义的各方法及其功能描述如下:FindByNO(),该方法主要用于实现根据记录号查找奖惩信息,用于整体查询;Add(),主要用于实现奖惩记录的添加操作;Modify(),主要实现奖惩信息的修改操作;Delete()实现删除操作;SearchByID()通过员工编号进行查询操作,主要用于一般查询。ListAll(),主要用于列出查询结果。4.职称评定模块的设计职称评定模块主要用于记录企业员工的职称评定情况,其提供的功能有添加员工职称评定和管理员工职称评定。职称评定模块的结构如图所示职称评定模块模块主页面添加职称评定管理职称评定Assess.jspAssessLeft.jspDelAssessStep1.jspAddAssessStep1.jspAddAssessStep2.jspManageAssessStep1.jspModifyAssessStep1.jspModifyAssessStep2.jspViewAssessStep1.jsp5.奖惩管理模块的设计奖惩管理模块用于记录企业员工的奖惩状况,其提供的功能有添加员工奖惩记录和管理员工奖惩记录。奖惩管理模块的结果如图所示。