1、人事档案管理系统设计与实现 员工管理子系统设计与实现摘要:本文介绍的是采用MyEclipse开发的一个人事管理系统。针对要开发的系统进行调研,进行开发系统的可行性分析。在系统设计中,详细的展现了系统的员工管理功能模块、所需的数据库表及表字段、系统菜单的设计等。在系统的实现中,给出了系统的界面登录、实现表单中相应的功能控件的事件代码等。本系统具有数据查询、数据修改、数据删除、数据保存等功能。系统功能全面,用户操作方便是本设计的一个特色。 关键字:人事管理;人事管理系统;员工信息管理;数据库Abstract:ThisarticledescribestheuseofMyEclipsedevelopm
2、entofapersonnelmanagementsystem.Feasibilitystudyforthesystemtobedeveloped,todevelopasystematicanalysis.Insystemdesign,detailedshowstaffmanagementfunctionmodule,therequireddatabasetablesandtablefields,thesystemmenudesign.Intherealizationofthesystem,giventhesystemsinterfaceloginformrealizationeventcod
3、ecorrespondingfunctioncontrolsandsoon.Thissystemhasadataquery,datamodification,datadeletion,datastorageandotherfunctions.Systemisfullyfunctional,userconvenienceisafeatureofthisdesign.Key Words: People Manage; People Manage System; the Worker Info Manage; data base1. 概要设计1.1 引言 该文档的目的是描述企业人事管理系统项目的概要
4、设计,其主要内容包括: 系统总体设计 、系统接口设计、数据设计、系统出错处理设计。1.2 总体设计 总体设计又称初步设计,是工程项目开发过程中的一个重要阶段。在详细设计之前进行总体设计,可以站在全局的高度,花较少成本,从比较抽象的层次上分析对比多种可能实现的方案和软件结构,从而用较低成本开发出较高质量的软件系统。总体设计阶段要寻求实现系统的各种不同方案,从这些供选择的方案中选出合适的方案,为方案备份一份系统流程图,列出组成系统的所有物理元素,进行成本和效益分析,并且制定这个方案的进度计划。1.2.1 需求规定对各种ID的输入要求,都是int类型数据。1.2.2 需求详情人事管理系统具有如下功能
5、:员工基本信息的录入、修改、查询、删除模块,员工假条信息录入、修改、查询、删除模块,员工工资信息的录入,计算,查询,以及系统用户的设置和系统的维护。为企业人事管理提供信息咨询,信息检索,信息存取等服务,基本上能够满足现代企业对人事管理的需要。详细的说明可参见需求分析说明书。1) 本系统的硬件环境如下: CPU:P4 1.8GHz 内存:256MB以上 分辨率:推荐使用1024*768像素2) WEB服务器 CPU:P4 1.8GHz 内存:256MB以上3) 数据库服务器 CPU:P4 1.8GHz 内存:256MB以上4)本系统的软件环境如下:操作系统:Windows 2000以上数据库:M
6、ySQL开发工具包:JDK Version 1.4.2JSP服务器:Tomcat浏览器:IE6.0及以上详细说明参见需求分析说明书。 1.2.3 基本设计概念和处理流程信息查询界面查询条件数据库操作结果身份验证信息维护信息修改信息添加信息删除结果显示数据汇总更新内容新数据被删除项 图 1.2.3-1 流程处理图1.2.4 结构图 1.2.4-1 系统结构图 1.2.5 功能需求与程序的关系 本条用一张如下的矩阵图说明各项功能需求的实现同各块程序的分配关系:表1.1 部门信息表增加删除修改查询bumen表 zhiyuan表 zhiwu表kaoqin表1.2.6 尚未解决的问题 在考勤表中调用用户
7、表里面的信息进行核对1.3 接口设计 用户接口:运用图形接口选择功能,利用IO设备输入相应信息操作 外部接口:MySQL数据库与MyEclipse8.6通过jar包连接 内部接口:与数据库接口相关有5个接口,一个为公共接口,其余均为继承;与服务接口相关有4个接口;1.4 运行设计1.4.1 登录模块 用户登录模块对用户进行身份和权限的验证。身份的验证是指只有具有资格的用户才可以进入系统,用户通过登录口令进入系统,不输入口令或口令错误无法进入系统。用户权限的验证是指不同用户所能进行的操作不同,用户权限分为系统管理员,普通用户两种。系统管理员具有操作全部录入,查询,管理功能的权限,普通用户只有查询
8、浏览的权限。程序在每个页面都进行了身份和权限的验证,以防止非法用户绕过系统登录界面进入系统其他页面,或者不具有管理功能的用户进入管理模块。 1.4.2 录入模块 合法用户进入系统后,具有管理资格的用户可进行录入资料的操作。用户在录入页面进行信息的录入,系统对输入的每个信息进行有效性检查,对不符合输入要求的信息给出错误提示。对客户端进行数据有效性检查用 JavaScript 脚本语言来实现,资料提交后,将数据录入到数据库中,并给出提交成功的提升;如果不成功,给出相应的提示信息。1.4.3 查询模块 通过身份验证的用户都可进行查询功能的操作,包括查询和统计操作。查询模块能实现模糊和组合查询:模糊查
9、询是指用户输入关键字后,凡包含这个关键字的记录均是符合条件的记录:组合查询是指多个查询条件可以组合,查询结果是符合所有条件的记录。查询结果以表格的形式显示出来,并进行分页显示,防止大量的记录信息溢出计算机的内存或者一页显示数据记录太多,不方便用户查看。1.4.4 修改删除 只有具有管理功能的用户才能进入该功能模块,管理模块包括修改和剧除功能。修改时,用户先查询出符合条件的记录,该记录显示在浏览器中,管理者经过浏览确认后,可直接在该页面中进行修改删除,确认修改删除后在数据库中物理修改删除相应的数据。1.5 系统数据结构设计1.5.1 逻辑结构设计要点(1) 职工信息数据表:用于储存职工的基本信息
10、。职工信息表见表1所示: 列名注释主键类型id编码是intusername用户名否varcharpassword密码 否varcharcreatetime创建时间否DateTimeemail邮箱 否varcharcreator创建人否varcharlogtimes登陆次数否varcharnickname昵称否varcharrealname姓名否varcharsex性别 否varcharxiangpian备注否varchartel电话号码否varchar表1.1 用户表(users)列名注释主键类型id编码是intbumenming部门名否varchardes描述否varchar表1.2 部门信
11、息表(bumen)列名注释主键类型id编码是intzhiwuming职务否varchardes描述否varchar表1.3 职务信息表(zhiwu)表1.4 员工信息表(zhiyuan)列名注释主键类型id编码是intzhiwuming职务否varchardes描述否varchar表1.5 考勤信息表(kaoqin)列名注释主键类型id编码是intzgname职工姓名否varcharaccountname工号否varcharkqdate考勤日否DateTimeqdtime签到时间否DateTimeqttime签退时间否DateTimestatus状态否varcharczren操作人否varch
12、ardes说明否Text表1.6 请假信息表(leaves)列名注释主键类型id编码是intzgname申请人姓名否varcharaccountname工号否varcharbegdate开始日期否DateTimeenddate结束日期否DateTimestatus状态否intapplydes事由否Textreply审批回复否Textshenpiren审批人否varcharapplytime申请时间否DateTimeshenpitime审批时间否DateTimextype分类否Varchartianshu天数否int列名注释主键类型id编码是intzgname姓名否varcharaccountn
13、ame工号否varcharbasicwage基本工资否Float表1.7 薪资信息表(salaryness)列名注释主键类型id编码是intzgname姓名否varcharaccountname工号否varcharnianyue年度否varcharbasicwage基本工资否Floatkqwage全勤否Floatscorewage绩效否Float表1.8 工资单信息表(wagebill)shebao社保否Floattotalwage总工资否Floatcreatetime出单时间否DateTimedes说明否Textcreator出单人否varchar1.5.2 物理结构设计要点 根据每个字段的
14、需求长度设计存储内存,并设计主键与外键,添加序列以方便数据操作。1.5.3 数据结构与程序的关系 表1.9 主外键关系表添加删除修改查询主键外键序列1.6 系统维护设计由于网络系统的开放特点,系统的安全性是非常重要的。本系统进行了安全性设计,分别在登录服务器、操作数据库系统进行用户身份认证,以确保系统的安全性。为了便于维护,在层次设计上,分为多个层,维护时只需修改小部分。 2. 详细设计2.1 编写目的在前一阶段(概要设计说明书)中,已解决了实现该系统需求的程序模块设计问题。包括如何把该系统划分成若干个模块、决定各个模块之间的接口、模块之间传递的信息,以及数据结构、模块结构的设计等。在以下的详
15、细设计报告中将对在本阶段中对系统中的员工信息管理模块详细设计进行说明。 在本阶段中,确定应该如何具体地实现所要求的系统,从而在编码阶段可以把这个描述直接翻译成用具体的程序语言书写的程序。依照概要设计说明书所确定的处理流程、总体结构和模块外部设计,设计软件系统的结构设计、逐个模块的程序描述(包括各模块的功能、性能、输入、输出、程序逻辑、接口等等),解决如何实现程序具体运行步骤。2.2 程序系统的结构 2.2.1 员工信息管理模块程序描述 查询程序:根据页面提示的下拉选项,选择查询员工信息的查询条件,程序将页面条件传到后台进行查询,将查询结果返回到界面显示。 删除程序:在界面根据员工编号进行删除员
16、工信息(因为员工编号是唯一的)。 录入信息程序:首先进行用户身份和权限的校验,如果是管理员,则可以进行信息的录入,界面以表格形式展示录入信息框,用户输入各个信息,点击“确定”按钮即可。2.2.2 员工信息管理模块程序功能详见文末的附录功能核心代码2.2.3 输入项 进行查询的必要条件,比如员工号,查询员工信息。2.2.4 输出项 以表格形式展现查询出数据。2.2.5 流程逻辑 图 2.2.5-1 员工信息查询流程逻辑2.3 注释设计2.3.1 类的注释设计 2.3.2 方法的注释设计 3. 数据库设计3.1 编写目的数据库是人事管理系统的核心部分,其包含了函数、序列等对象,并对其进行统一管理。
17、通常情况下可以通过界面直接对数据库中的数据进行各种操作,这是因为数据库已经和系统连接成功。数据库保存了该系统的所有数据,包括界面插入的新数据、删除数据、修改数据等,界面查询出来的数据也来自数据库,因此数据库是系统的根基,有必要详细介绍数据库的设计。3.2 定义 员工:worker;人事管理系统:Personal Management System3.3 结构设计3.3.1 概念结构设计zhiyuan表:id职员编号,accountname账户名,password登录密码,name姓名,sex性别,nation民族,bumen部门,zhiwu职务,mobile电话,qq QQ,des备注,pho
18、to照片。bumen表:id部门编号,bumenming部门名称,des部门描述zhiwu表: id职务编号,zhiwuming职务名称,dws职务描述kaoqin表:id编号,zgname职工姓名,accountname工号,kqdate考勤日期,qdtime签到时间,qttime签退时间,status状态,czren操作人,des说明leaves表:id假条编号,zgname申请人姓名,accountname工号,begdate开始日期,enddate结束日期,status状态,applydes事由,reply审批回复,shenpiren审批人,applytime申请时间,shenpiti
19、me审批时间,xtype分类,tianshu天数Salaryness表:id编号,zgname姓名,accountname工号,basicwage基本工资。3.3.2 逻辑结构设计表1 部门信息表(bumen)列名注释主键类型id编码是intbumenming部门名否varchardes描述否varchar 表2 职务信息表(zhiwu)列名注释主键类型id编码是intzhiwuming职务否varchardes描述否varchar表3 员工信息表(zhiyuan)列名注释主键类型id编码是intaccountname账户名否varcharpassword登陆密码否varcharname姓名否
20、varcharsex性别否varcharlianxiren联系人否varcharjiguan籍贯否varcharnation名族否varcharbumen部门否varcharzhiwu职务否varcharmobile电话否varcharqqqq否varchardes备注否textphoto相片否varchar表4 考勤信息表(kaoqin)列名注释主键类型id编码是intzgname职工姓名否varcharaccountname工号否varcharkqdate考勤日否DateTimeqdtime签到时间否DateTimeqttime签退时间否DateTime表5请假信息表(leaves)列名注
21、释主键类型id编码是intzgname申请人姓名否varcharaccountname工号否varcharbegdate开始日期否DateTimeenddate结束日期否DateTimestatus状态否intapplydes事由否Textreply审批回复否Textshenpiren审批人否varcharapplytime申请时间否DateTimeshenpitime审批时间否DateTimextype分类否Varchartianshu天数否int表6 薪资信息表(salaryness)列名注释主键类型id编码是intzgname姓名否varcharaccountname工号否varchar
22、basicwage基本工资否Float表7 工资单信息表(wagebill)列名注释主键类型id编码是intzgname姓名否varcharaccountname工号否varcharnianyue年度否varcharbasicwage基本工资否Floatkqwage全勤否Floatscorewage绩效否Floatshebao社保否Floattotalwage总工资否Floatcreatetime出单时间否DateTimedes说明否Textcreator出单人否varchar3.3.3 物理结构设计本系统使用mySQL数据库,字符串均运用可变长字符串,更具灵活性;对时间效率、空间效率、维护代
23、价和各种用户要求进行良好权衡;设计了主外键关系,集中地存储和检索对象,提高检索速度。3.4 运用设计3.4.1 数据字典设计(1) 职工信息数据表:用于储存职工的基本信息。职工信息表见表1所示:表1 职务信息表(zhiwu)列名注释主键类型id编码是intzhiwuming职务否varchardes描述否varchar表2 部门信息表(bumen)列名注释主键类型id编码是intbumenming部门名否varchardes描述否varchar表3 职务信息表(zhiwu)列名注释主键类型id编码是intzhiwuming职务否varchardes描述否varchar表4 员工信息表(zhiy
24、uan)列名注释主键类型id编码是intaccountname账户名否varcharpassword登陆密码否varcharname姓名否varcharsex性别否varcharbumen部门否varcharlianxiren联系人否varcharjiguan籍贯否varcharnation名族否varcharzhiwu职务否varcharmobile电话否varcharqqqq否varchar表5 考勤信息表(kaoqin)列名注释主键类型id编码是intzgname职工姓名否varcharaccountname工号否varcharkqdate考勤日否DateTimeqdtime签到时间否D
25、ateTimeqttime签退时间否DateTimestatus状态否varcharczren操作人否varchardes说明否Text表6 请假信息表(leaves)列名注释主键类型id编码是intzgname申请人姓名否varcharaccountname工号否varcharbegdate开始日期否DateTimeenddate结束日期否DateTimestatus状态否intapplydes事由否Textreply审批回复否Textshenpiren审批人否varcharapplytime申请时间否DateTimeshenpitime审批时间否DateTimextype分类否Varcha
26、rtianshu天数否int表7 薪资信息表(salaryness)列名注释主键类型id编码是intzgname姓名否varcharaccountname工号否varcharbasicwage基本工资否Float表8 工资单信息表(wagebill)列名注释主键类型id编码是intzgname姓名否varcharaccountname工号否varcharnianyue年度否varcharbasicwage基本工资否Floatkqwage全勤否Floatscorewage绩效否Floatshebao社保否Floattotalwage总工资否Floatcreatetime出单时间否DateTime
27、des说明否Textcreator出单人否varchar3.4.2 安全保密设计user表中的级别字段用于区分是普通用户与管理用户,不同级别的用户登录该系统,拥有不同的操作权限,严格的权限控制,保证系统安全性;建立外键保证表之间的关联关系,避免误删或非法操作。4. 需求分析4.1 引言4.1.1 编写目的本文编写目的在于规定和控制项目开发的内容,保证本项目的需求分析活动在受控状态下进行,在进行软件开发前,明确本系统应达到的目标,对系统目标做出完整、清晰、准确、具体的要求。保证本需求分析的结果能够完整地反映待开发系统的要求。 4.1.2 文档概述文档主要描述人事管理系统的功能定义,并对模块划分、
28、业务流程进行了定义。所有设计人员、开发人员、测试人员都应该以该文档作为产品的功能定义,集团建设内容。4.2 课题的来源及意义 随着计算机技术的飞速发展,计算机在企业管理中应用的普及,利用计算机实现企业人事管理势在必行。对于大中型企业来说,利用计算机支持企业高效率完成劳动人事管理的日常事务,是适应现代企业制度要求、推动企业劳动人事管理走向科学化、规范化的必要条件;计算机管理所无法比拟的优点检索迅速、查找方便、可靠性高、存储量大、保密性好、寿命长、成本低等。这些优点能够极大地提高人事管理的效率,也是企业的科学化、正规化管理,与世界接轨的重要条件。 人事管理系统是一个企业单位不可缺少的部分,它的内容
29、对于企业的决策者和管理者来说都至关重要,所以人事管理系统应该能够为用户提供充足的信息和快捷的查询手段。但一直以来人们使用传统人工的方式管理文件档案,这种管理方式存在着许多缺点,如:效率低、保密性差,另外时间一长,将产生大量的文件和数据,这对于查找、更新和维护都带来了不少的困难。因此,开发这样一套适用的人事管理软件成为很有必要的事情,在下面的各章中我们将以开发一套人事管理系统为例,谈谈其开发过程和所涉及到的问题及解决方法。 本课题的开发主要是要花费相当多的人力和时间,虽然开发出来的软件可能离具体产生效益还有一定的距离。但是,出于通过毕业设计来运用自己的专业知识,并从长远利益来考虑,本课题的设计开
30、发还是具有相当大的意义。4.3 开发环境及开发工具4.3.1 系统运行硬件环境1)本系统的硬件环境如下:客户机:普通PCCPU:P4 1.8GH;内存:256MB以上分辨率:推荐使用1024*768像素WEB服务器CPU:P4 1.8GHz;内存:256MB以上数据库服务器CPU:P4 1.8GHz;内存:256MB以上2) 系统运行软件件环境操作系统:Windows 7数据库:MySQL开发工具包:JDK Version 1.4.2JSP服务器:Tomcat浏览器:IE8.04.4 系统需求分析4.4.1 系统开发策略 本系统开发主要采用自顶向下的开发方式,自顶向下的方法模型如下图所示: 需
31、求 规范 修改 设计 实现测试 生产 改进图4.4.1-1 软件设计周期图4.4.2 系统功能需求分析 1)功能需求分析概述 需求分析是软件定义时期的最后一个阶段,也是设计数据库的一个起点,它确定了系统必须完成哪些工作,提出完整、准确、清晰和具体的要求,直接影响到后面各个阶段的设计,及设计结果是否合理和实用。需求分析的任务是通过详细调查现实世界要处理的对象(组织、部门、企业等),充分了解原系统(手工系统/计算机系统)工作概况,明确用户的各种需求,然后在此基础上确定新系统的功能。新系统必须充分考虑今后可能的扩充和改变,不能仅仅按当前应用需求来设计系统。需求分析的结果是系统开发的基础,关系到工程的
32、成败和软件产品的质量。因此必须用行之有效的方法对软件需求进行严格的审查验证。2)需求分析的具体任务 确定对系统的综合要求a. 支持企业实现规范化的管理。b. 支持企业高效率完成人事档案管理的日常业务。c. 支持企业进行劳动人事管理及其相关方面的科学决策。 分析系统的数据要求任何一个软件系统本质上都是信息处理系统,系统必须处理的信息和系统应该产生的面貌,对软件设计有深远影响。因此,必须分析系统的数据要求,这是软件需求分析的一个重要任务。分析系统的数据要求通常采用建立概念模型的方法。复杂的数据有许多基本的数据组成,数据结构表示元素之间的逻辑关系,利用数据字典可以全面准确地定义数据,但是数据字典的缺
33、点是不够形象直观。为了提高可理解性,常常利用图形工具辅助描绘数据结构。软件系统经常使用各种长期保存的信息,这些信息通常以一定方式组织并存储在数据库和文件中,为了避免出现插入异常或删除异常,简化修改数据的过程,通常需要把数据结构规范化。3)人事管理系统的系统分析 随着信息量越来越大以及计算机技术的发展,计算机已成为各企事业单位管理的重要工具。人事管理系统是一个对员工信息、部门信息、岗位信息、工资信息的管理和进行快速方便的查询的一个系统。本系统主要完成以下任务:a. 员工各种信息的输入。b. 员工各种信息的修改。c. 对于转出、辞职、离退员工信息的删除。d. 按照某种条件,查询、统计符合条件的员工
34、信息。e. 对查询、统计的结果打印输出。f. 人事管理系统的使用帮助。4)业务流程图本系统的业务流程图如下: 图4.4.2-1 业务流程图5) 功能模块登录 图4.4.2-2 登陆界面图 插入员工信息 图4.4.2-3 插入员工信息图删除员工信息 图4.4.2-3 删除员工信息图 查询员工信息 图4.4.2-4 查询员工信息图部门管理图4.4.2-5 部门管理图职务管理 图4.4.2-5 职务管理图4.4.3 性能需求 界面需求: 系统的界面要求如下:) 页面内容:主题突出,术语和行文格式统一、规范、明确,栏目、菜单设置和布局合理,传递的信息准确、及时。内容丰富,文字准确,语句通顺。)导航结构
35、:页面具有明确的导航指示,且便于理解,方便用户使用。)技术环境:页面大小适当,能用各种常用浏览器以不同分辨率浏览;无错误链接和空链接;采用CSS处理,控制字体大小和版面布局。)艺术风格:界面、版面形象清新悦目、布局合理,字号大小适宜、字体选择合理,前后一致,美观大方;动与静搭配恰当,动静效果好;色彩和谐自然,与主题内容相协调。响应时间需求:无论是客户端和管理端,当用户登录,进行任何操作的时候,系统应该及时的进行反应,反应的时间在5秒以内。系统应能监测出各种非正常情况,如与设备的通信中断,无法连接数据库服务器等,避免出现长时间等待甚至无响应。可拓展性需求: 1.系统以MVC模式分层设计,接口化开
36、发,便于将来对系统扩展。 2.业绩管理、奖惩管理等都有预留接口,方便系统的二期开发。 系统有严格的权限管理功能,分为:普通员工、系统管理员、财务总监三个层级。各功能模块需有相应的权限方能进入系统并进行该权限下的操作:普通员工可以查看和修改自己信息;系统管理员可以增删查改所有人信息(但一般不能删除工作信息);财务总监可以录入员工的工资信息。系统能够防止各类误操作可能造成的数据丢失,破坏。登录系统时,用户输入的账号和密码不对是不能成功登录系统的,并且会给出提示。4.5 系统基本数据架构4 .5.1 数据词典表1 后台用户信息表(users)列名注释主键类型id编码是intusername用户名否v
37、archarpassword密码否varcharcreatetime创建时间否DateTimeemail邮箱否varcharcreator创建人否varcharlogtimes登陆次数否varcharnickname昵称否varcharrealname姓名否varcharsex性别否varcharxiangpian备注否varchartel电话号码否varchar 表2 部门信息表(bumen)列名注释主键类型id编码是intbumenming部门名否varchardes描述否varchar表3 职务信息表(zhiwu)列名注释主键类型id编码是intzhiwuming职务否varcharde
38、s描述否varchar表4 员工信息表(zhiyuan)列名注释主键类型id编码是intaccountname账户名否varcharpassword登陆密码否varcharname姓名否varcharsex性别否varcharlianxiren联系人否varcharjiguan籍贯否varcharnation名族否varcharbumen部门否varcharzhiwu职务否varcharmobile电话否varchar表5 考勤信息表(kaoqin)列名注释主键类型id编码是intzgname职工姓名否varcharaccountname工号否varcharkqdate考勤日否DateTimeqdtime签到时间否DateTimeqttime签退时间否DateTimestatus状态否varcharczren操作人否varcharde