JSP企业人事管理系统
目 录
1 需求分析.... - 1 -
1.1系统总体介绍... - 1 -
1.2 系统功能分析... - 1 -
2 概念结构设计.... - 2 -
2.1 需求分析的设计思想... - 2 -
2.2.1 数据流图和数据字典... - 3 -
2.2.1.1 数据流图... - 3 -
2.2.1.2 数据字典... - 4 -
2.2 概念结构设计... - 10 -
2.2.1 局部概念模型设计... - 10 -
2.2.2 总体概要设计... - 13 -
2.3 CDM模型的生成过程... - 15 -
3 逻辑结构设计.... - 21 -
3.1 E-R图向关系模型的转换... - 21 -
3.2 PDM模型的生成过程... - 22 -
3.3 表结构的生成过程... - 23 -
3.4 连接数据库... - 25 -
3.4.1 数据库运行环境设置... - 25 -
3.4.2 数据库的实现... - 25 -
3.5 表的具体实现... - 27 -
4 项目具体实现.... - 30 -
4.1 前台界面设计... - 30 -
4.2 具体代码实现... - 32 -
结论.... - 36 -
致谢.... - 37 -
参考文45献45
JSP企业人事管理系统
1 需求分析
1.1系统总体介绍
本系统主要是为了帮助企业的人事部门和财务主管部门提高工作效率,减少企业的不必要开销,从企业的根本利益出发,实现企业人事信息管理的系统化、规范化和自动化。
该课题是对学生数据库原理与应用、软件工程、Powerdesigner等多门学科知识的综合运用,是提高学生实际动手能力的有效方法。本课题模拟实际项目开发过程,使学生熟悉管理系统开发的方法和重要步骤,提高学生的数据库设计及系统分析能力,使学生积累一定的实战经验。
1.2 系统功能分析
结合对企业对人事的管理,我们设计了企业人事管理系统,这个系统最终实现的主要功能如下:
员工基本信息部分:主要完成对员工基本信息的添加、修改、删除、查询等管理。
员工档案信息部分:主要完成员工档案信息的添加、修改、删除、查询等管理。
员工部门信息部分:主要完成员工所属部门的添加、修改、删除、查询等管理。
员工工资信息部分:主要完成员工工资信息的添加、修改、删除、查询等管理。
员工保险信息部分:主要完成员工保障信息的添加、修改、删除、查询等管理。
员工合同信息部分:主要完成员工与企业签订合同的一系列信息的添加、修改、删除、查询管理。
企业人事管理系统功能模块图如下:
图1-1 企业人事管理系统功能模块图
2 概念结构设计
随着计算机技术的迅猛发展,企业与员工的联系变的越来越紧密,为了方便管理企业,我们开发此系统主要是满足日益增长的人员流动和变向的市场需求,利于企业的发展和人事部门的管理。本系统的主要目的是:为了帮助企业的人事部门和财务主管部门提高工作效率,减少企业的不必要开销,从企业的根本利益出发,实现企业人事信息管理的系统化、规范化和自动化。
2.1 需求分析的设计思想
在现代化的企业当中,企业人事管理工作将发挥越来越重要的作用。企业人事管理工作已经渗透到企业日常工作的方方面面,无论是其自身还是所发挥的作用。随着时代的进步,企业也逐渐变得庞大起来,为了企业的创新、发展以及经济效益,如何管理好企业内部员工的信息和员工的工资信息,成为企业管理中的一个大的问题。在这种情况下,一个可以提高工作效率、减少公司开资的具有经济效益的人事管理系统就显得是必要的。
随着市场竞争的日趋激烈,人才成为实现企业自身战略目标的一个非常关键的因素。企业中人心向背和员工对工作的投入在很大程度上决定了该企业的兴衰成败。如何能保持本企业员工的工作责任感,激励他们的工作热情,减少人才流失,已成为困扰企业管理的一个日益尖锐的问题,可以说本系统从根本上来讲就是对人的管理。现在“公平,公正”的企业管理原则已为不少企业所采纳。但是要“公平,公正,合理”绝非易事,它不是仅靠规章制度和政策就可以解决的。通过建立透明、一致、易查和全面的人事管理系统,将与人相关的信息统一管理起来,才有可能为“公平,公正,合理”原则的实现,以及企业在动作和劳资纠纷等方面的风险规避等建立一套科学保障体系.
最初的人事管理,都是靠人力来完成的。当企业规模比较小的时候,人力可以完成,随着企业的规模越来越大,企业的员工越来越多,依然维持着人力进行人事管理,必然会造成工作效率低,工作错误增高的问题。如果增加人员就会增加公司的开资,这样增加了企业的经济负担。
用户的需求具体体现在各种信息的提供、保存、更新和查询,这就要求数据库结构能充分满足各种信息的输出和输入。收集基本数据、数据结构,以及数据处理的流程,组成一份详尽的数据字典,为后面的具体设计打下基础。
根据上述系统功能分析,针对各个功能模块的需求,总结出各个信息之间的联系如下:
机构与部门之间的联系:一个机构基本信息对应多个部门信息,而一个部门信息对应一个机构信息,所以机构基本信息与部门信息之间是一对多的关系。
部门与员工之间的联系:一个部门信息对应多个员工信息,而一个员工信息对应一个部门信息,所以员工信息与部门信息之间是一对多的关系。
员工与档案之间的联系:一个员工信息对应一个档案信息,而一个档案信息对应一个员工信息,所以员工信息与档案信息之间是一对一的关系。
员工与工资之间的联系:一个员工信息对应多个工资信息,一个工资信息对应一个员工信息,所以员工信息与工资信息二者之间是一对多的关系,产生职务属性。
员工与保险之间的联系:一个员工信息对应多个保险信息,一个保险对应一个员工信息,所以员工信息与保险二者之间是一对多的关系。
员工与合同之间的联系:一个员工信息对应多个合同信息,一个合同信息对应一个员工工资信息,所以员工信息与合同信息二者之间是一对多的关系。
合同与合同类别之间的联系:一个合同信息对应多个合同类别信息,一个合同类别
信息对应一个合同信息,所以合同类别信息与合同信息二者之间是一对多的关系。
2.2.1 数据流图和数据字典
一个基于计算机信息处理系统的逻辑模型由数据流和一系列数据转换构成,这些转换将输入数据变换为输出数据。数据流图就是用来刻画数据流和数据转换的信息系统建模技术。数据流图并不足以完整地描述软件的需求,因为它没有描述数据流的内容。一般地,数据流图必须与描述并组织数据条目的数据字典配合使用。
2.2.1.1 数据流图
数据流图(Data Flow Diagram,DFD)是用来描绘软件系统逻辑模型的图形工具,用于描绘信息在系统中的流动和处理情况。设计DFD只需考虑软件系统必须完成的基本逻辑功能,完全不需考虑如何具体地实现这些功能,即只考虑软件“做什么”,而不必考虑“怎么做”。
数据流图是结构系统分析的主要工具,它表示了系统内部信息的流向,并表示了系统的逻辑处理的功能,是一种功能模型。
在数据流图中有四种基本符号,如表2-1所示。
表2-1 数据流图基本符号的意义
符号
说明
加工,输入数据在此进行变换产生输出数据,中间要注明加工的名字
数据输入的源点和数据输出的终点,在其中要注明源泉点或终点的名字
数据流,被加工的数据及数据流向,在箭头边要用名词或名词性短语给出数据流的名字
数据存储文件,要用名词或名词性短语给出数据文件的名字
由于企业人事管理系统主要是以“员工”为主体,所以该数据流图也是只针对员工的一系列信息在系统中的数据流向及存储进行设计。
企业人事管理系统数据流图如图2-1所示 若图片无法显示请联系QQ3710167,本论文免费,转发请注明源于www.lwfree.cn
图2-1 企业人事管理系统数据流图
2.2.1.2 数据字典
数据字典通常包括数据项、数据结构、数据流、数据存储和处理过程五个部分。其中数
JSP企业人事管理系统
据项是数据的最小组成单位,若干个数据项可以组成一个数据结构,数据字典通过对数据项和数据结构的定义来描述数据流、数据存储的逻辑内容。
一、数据项
以下为本系统的部分数据项进行描述,详见附录B。
1.数据项:ygnumber
含义说明:唯一标识每个员工
别名:员工编号
长度:6
取值范围:000000至999999
取值含义:前两位标识该员工所在部门,后四位按顺序编号。
2.数据项:yfnumber
含义说明:唯一标识员工每月工资
别名:月份编号
长度:2
取值范围:00至99
取值含义:从1月份到12月份
3.数据项:bxnumber
含义说明:唯一标识保险类型
别名:保险编号
长度:6
取值范围:000000至999999
取值含义:每位按顺序编号
4.数据项:danumber
含义说明:唯一标识每个员工档案
别名:档案编号
长度:6
取值范围:000000至999999
取值含义:前两位标识该员工档案存储位置,后四位按顺序编号。
5.数据项:bmnumber
含义说明:唯一标识每个员工所属部门
别名:部门编号
长度:6
取值范围:000000至999999
取值含义:前两位标识该部门所属机构,后四位按顺序编号。
6.数据项:jgnumber
含义说明:唯一标识该机构
别名:机构代码
长度:6
取值范围:000000至999999
取值含义:每位按顺序编码。
7.数据项:htnumber
含义说明:唯一标识合同名称。
别名:合同编号
长度:6
取值范围:000000至999999
取值含义:每位按顺序编码
8.数据项:htlbnumber
含义说明:唯一标识合同类别。
别名:合同类别编号
长度:6
取值范围:000000至999999
取值含义:每位按顺序编码
二、数据结构
数据结构反映了数据之间的组合关系。一个数据结构可以由若干个数据项组成,也可以由若干个数据结构组成,或由若干个数据项和数据结构混合组成。本系统中对数据结构的具体描述如下:
1.数据结构:员工
含义说明:是人事管理系统的主体数据结构,定义了员工的有关信息
组成:员工编号,员工姓名,性别,年龄,学历,家庭住址,联系电话
2.数据结构:工资
含义说明:是人事管理系统中工资的数据结构,定义了员工工资的有关信息
组成:月份编号,基本工资,职务补助,奖励工资,缺勤次数,单次缺勤罚金
杂费,工资合计
3.数据结构:保险
含义说明:是人事管理系统中员工保险信息的数据结构,定义了员工保险的有关
信息
组成:保险编号,保险名称,开始缴费时间,缴费年限,缴费金额
4.数据结构:档案
含义说明:定义了员工档案的有关信息
组成:档案编号,档案类别,存放位置,档案状态
5.数据结构:部门
含义说明:是人事管理系统中部门的有关信息
组成:部门编号,部门名称,部门简介
6.数据结构:机构
含义说明:定义了机构的有关信息
组成:机构编号,机构名称,机构地址
7.数据结构:合同
含义说明:是人事管理系统中合同的有关信息
组成:合同编号,合同名称
8.数据结构:合同类别
含义说明:定义了合同类别的有关信息
组成:合同类别编号,合同类别名称
三、数据流
数据流是数据结构在系统内传输的路径。本系统中对数据流的具体描述如下:
1.数据流“添加”可描述如下:
数据流:添加
说明:对企业中新进员的基本信息进行登记
数据流来源:员工
数据流去向:增加信息
2.数据流“登记”可描述如下:
数据流:登记
说明:企业根据员工所从事工作的类型将员工进行部门分配
数据流来源:部门信息登记
数据流去向:员工
3.数据流“签合同”可描述如下:
数据流:签合同
说明:企业与员工签订合同,并对合同按类进行记录
数据流来源:员工管理
数据流去向:员工
4.数据流“合同信息”可描述如下:
数据流:合同信息
说明:企业与员工签订合同,并把合同信息返给员工
数据流来源:合同信息
数据流去向:员工
5.数据流“考核”可描述如下:
数据流:考核
说明:企业对员工的日期工作情况进行管理和考核,以为员发放工资
数据流来源:员工管理
数据去向:工资管理
6.数据流“工资信息”可描述如下:
数据流:工资信息
说明:企业根据工资管理对员工发放工资
数据流来源:工资管理
数据流去向:员工
7.数据流“入档”可描述如下:
数据流:入档
说明:企业对员工的所有信息进行存档,实现统一管理
数据流来源:员工管理
数据流去向:录入档案
8.数据流“参加”可描述如下:
数据流:参加
说明:企业给予员工提供保险信息的管理
数据流来源:员工管理
数据流去向:参加保险
9.数据流“删除”可描述如下:
数萘鳎荷境?
说明:对员工的基本信息进行删除操作
数据流来源:员工
数据流去向:删除信息
10.数据流“查询”可描述如下:
数据流:查询
说明:对员工的基本信息进行查询操作
数据流来源:员工
数据流去向:查询信息
11.数据流“修改”可描述如下:
数据流:修改
说明:对员工的基本信息进行修改操作
数据流来源:员工
数据流去向:修改信息
12.数据流“部门编号”可描述如下:
数据流:部门编号
说明:对部门的基本信息进行查询操作
数据流来源:查询信息
数据流去向:部门查询
13.数据流“员工编号”可描述如下:
数据流:员工编号
说明:对员工的基本信息进行查询操作
数据流来源:查询信息
数据流去向:员工查询
14.数据流“部门信息”可描述如下:
数据流:部门信息
说明:将查询结果返回给用户
JSP企业人事管理系统
数据流来源:部门查询
数据流去向:员工
15.数据流“员工信息”可描述如下:
数据流:员工信息
说明:将查询结果返回给用户
数据流来源:员工查询
数据流去向:员工
四、数据存储
数据存储是数据结构停留或保存的地方,也是数据流的来源和去向之一。它可以手工文档或手工凭单,也可以是计算机文档。本系统中对数据存储的具体描述如下:
1.机构信息
简述:用来存储有关企业属于哪个机构的信息
输入数据:机构信息
输出数据:机构信息
2.部门信息
简述:用来存储企业中所分的各个部门的基本信息。
输入数据:企业中为每个部个所设置的部门代码及该代码对应的名称。
输出数据:部门信息。
3.工资信息
简述:用来存储企业中每个月各个员工的工资的基本信息。
输入数据:工资信息与考勤信息。
输出数据:工资信息
4.保险信息
简述:用来存储企业中各个员工所参加的保险的基本信息。
输入数据:保险信息。
输出数据:保险信息。
5.档案信息
简述:企业中每个员个都有固定的档案跟随员工本人,该项就是用来存储各员工
的一系列信息的。
输入数据:档案编号及名称。
输出数据:档案中所记录的员工的基本信息。
6.合同信息
简述:用来存储企业中各个员工进入企业后与企业所签订的合同。
输入数据:合同信息。
输出数据:员工所签订的合同的基本信息。
7.合同类别信息
简述:用来将企业中各个员工与企业所签订的合同进行分类管理。
输入数据:合同类别信息。
输出数据:按类显示合同信息。
2.2 概念结构设计
2.2.1 局部概念模型设计
局部概念模型的设计思想是根据需求分析的内容用E-R图分别表示出各个实体及其
属性,以及用E-R图表示出各实体之间的联系,如图所示。
l 机构(机构代码,机构名称,机构地址)
l 部门(部门编号,部门名称,部门简介)
若图片无法显示请联系QQ3710167,本论文免费,转发请注明源于www.lwfree.cn
l 员工(员工编号,员工姓名,性别,年龄,学历,家庭住址,联系电话)
l 工资(月份编号,基本工资,职务补助,奖励工资,缺勤次数,杂费,单次缺勤罚金)
l 档案(档案编号,档案类别,存放位置,档案状态)
l 保险(保险名称,保险编号,开始交费时间,交费年限,交费金额)
l 合同(合同编号,合同名称)
l 合同类别(合同类别编号,合同类别名称)若图片无法显示请联系QQ3710167,本论文免费,转发请注明源于www.lwfree.cn
2.2.2 总体概要设计
各子系统的分E-R图设计好以后,下一步就是将所有的分E-R图综合成一个总的E-R图。由于各个局部所面向的问题不同,这就导致各个分E-R图之间必定会存在许多不一致的问题,称之为冲突。因此合并分E-R图并不能简单地将各个分E-R图画到一起,而是必须合理消除各分E-R图中的不一致,以形成一个能为全系统中所有用户共同理解和接受的统一的概念模型,是合并E-R图的主要工作和关键。各E-R图之间的冲突主要有三种:属性冲突、命名冲突、结构冲突。
在企业人事管理系统设计过程中,有属性冲突和结构冲突。属性域冲突,即属性值的类型、取值范围或取值集合不同。如员工编号在不同的关系中都要定义成相同的属性值的类型为字符型并且字长定义为6,才能避免属性冲突。
JSP企业人事管理系统
按照合成总体E-R图的规则,画出完整的E-R图,如图2-17所示。
图2-17 全局E-R图
若图片无法显示请联系QQ3710167,本论文免费,转发请注明源于www.lwfree.cn
2.3 CDM模型的生成过程
1.依次选择【开始】 【程序】 【Sybase】 【PowerDesigner 9 】
【PowerDesigner】选项,就会弹出【PowerDesigner】对话框,如图所示。
图2-18 【PowerDesigner】对话框
2.在图2-18中选择【file】 【new】得到对话框,如图所示。
图2-19 进入界面
3.选择“Conceptual Data Model”,单击“OK”按钮,出现CDM工作区,如图所示。
图2-20 CDM工作区
4.工具选项板
在CDM和PDM工作区中都存在着工具选项板,理解好各工具的含义对建立数据模型是十分重要的。工具选项板中包括制作模型的各种工具,使用这些工具能够快速地进行建模,CDM环境的工具板,如图所示。
图2-21 CDM中的工具板
5.绘制实体
(1)打开CDM工作区,选中工具选项板上“实体图标”。
(2)在CDM工作区中单击任意处,产生实体图形。
(3)双击CDM工作区中的实体图形,出现定义实体特征的窗口,如图2-21所示。
(4)输入Name、Code内容。这里Name表示实体的描述名称,一般最好用中文描述(如:员工编号), Code表示实体的代码名称,最好用简化的英文描述(如:ygnumber)。
(5)需要的话,输入实体表中可能存放的记录数(Number),这个数字用于统计数据库的尺寸。
(6)需要的话,可以定义实体的规则(Rules)、描述(Description)、注释(Annotation)、属性(Attributes)。
(7)单击“确定”按钮,当前CDM工作区就定义了一个实体。
6.在图2-21中选择第二项后,可以进行CDM模型的设计,图2-22 为建立实体名字,建立实体属性,如图所示。
图2-22为实体建立名字
7.定义实体属性
实体属性是附加到实体上的数据项。在DataArchitect环境下,定义一个实体属性需在图2-23所示的窗口上选择“Attributes”选项卡,出现定义实体属性的窗口,如图所示。若图片无法显示请联系QQ3710167,本论文免费,转发请注明源于www.lwfree.cn
图2-23定义实体属性的窗口
在图2-23窗口中必须完成如下工作:
(1)确定实体属性的Name和Code。Name是对属性含义的具体描述,一般最好用中文描述,Code是属性的代码,与今后程序设计时有很大关系,所以定义时应特别谨慎。
(2)确定实体属性的数据类型(Data Type列)。
(3)确定一个属性是否为这个实体的标识符或标识符的一部分(Primary复选框),实体的标识符可以由一个或多个属性组成,它惟一标识实体中的一个实例,即它代表了关系中的主键,在实体图形符号中,标识符(主键)属性带有下划线。
(4)标识一个实体的属性是否为强制的(Mandatory复选框),强制特性表示属性是否需要一个值,如果属性是强制的,那么该属性在数据库表中的对应列上不允许空值,一般主键是不允许为空的。
(5)标识一个实体属性是否在模型中显示(Display复选框)。
需要指出的是,在图2-23的窗口上必须输入Name、Code和Data Type列的内容。输入完成后,单击“确定”按钮,此时完成了一个实体属性的定义。
8.绘制联系
在DataArchitect环境下绘制联系分两种情况:
(1)绘制不带属性的联系
不带属性的联系通常是用实体之间的一条线,即使用“实体到实体连接图标”来绘制。
① 建立“联系”过程
首先选中工具板上“联系图标”,在CDM工作区中的两个实体之间画一条线即可。双击该线,出现该联系的属性窗口,如图所示。
JSP企业人事管理系统
图2-24 实体之间建立联系
(2)绘制带有属性的联系
带有属性的联系通常分两步,首先要使用“联合图标”建立一个“联合”,然后再使用“实体到联合连接图标”完成。
① 建立“联合”过程
首先选中工具板上“联合图标”,在CDM工作区中单击任意处,产生“联合”;用鼠标双击“联合”图形,出现定义“带属性”联系即联合特性的窗口,如图所示。若图片无法显示请联系QQ3710167,本论文免费,转发请注明源于www.lwfree.cn
图2-25 定义“带属性”联系特性的窗口
在“General”选项卡中,输入Name(即联系名,最好输入汉字名字)、Code(最
好输入英文名)。在“Attributes”选项卡中,输入联系的属性。单击“确定”按钮,在CDM工作区中产生一个“联合”(即带有属性的联系)。
② 建立实体到联合的连接
“联合”建立好后,需要将该“联合”与相关实体连接,使用“实体到联合连接图标”来完成。
其操作过程是:选中工具板上“实体到联合连接图标”,在CDM工作区中,将鼠标的十字箭头定位到一个“实体”,按住左键拖拉到“联合”中,松开鼠标,此时在该实体与联合之间出现一条“联合连接”线(也可以绘制另一个实体到联合的连接),这条线表明实体与联合之间建立了一种关联,然而这种关联的类型需要重新确定,双击“联合连接”线,出现定义“联合连接”线特性的窗口,如图所示。若图片无法显示请联系QQ3710167,本论文免费,转发请注明源于www.lwfree.cn
图2-26 定义“联合连接”特性的窗口
在图2-26的窗口中,需要在从下拉列表中选择“Cardinality”的值(即实体到联合的连接类型,有“0,n”、“0,1”、“1,1”、“1,n”四种类型可选择),单击“确定”按钮,完成设置。
需要强调的是,在进行概念结构设计时,联系一般用菱形框表示,有时它还连接着联系本身的属性。然而,在CDM环境里,仅当联系本身不带属性时,联系才可以用一条线来表示,否则,应该按照上述的第二种方法进行绘制。
9.生成的CDM模型如图所示。图2-27 CDM图
3 逻辑结构设计
3.1 E-R图向关系模型的转换
关系模型的逻辑结构是一组关系模式的集合。E-R图则是由实体,实体的属性和实体间的联系三个要素组成。所以将E-R图转换为关系模型实际上就是要将实体,实体的属性和实体间的联系转换为关系模式。
依照该规则将企业人事管理系统的E-R图转换为关系模型如下:
1. 实体类型的转换:将每个实体类型转换成一个关系模式,实体的属性及为关系模式的属性,实体标识符及为关系模式的键。
2. 联系类型的转换,根据不同的情况做不同的处理。
(1) 一个1:1联系可以转换为一个独立的关系模型,也可以与任意一端对应的关系模式合并。如果转换为一个独立的关系模式,则与该联系相连的各实体的码以及联系本身的属性均转换为关系的属性,每个实体的码均是该关系的候选码。如果与某一端实体对应的关系合并,则需要在该关系模式的属性中加如另一个关系模式的码和联系本身的属性。
(2) 一个1:n联系可以转换为一个独立的关系模式,也可以与 n端对应的关系模式合并。如果转换为一个独立的关系模式,则与该联系相连的各实体的码以及联系本身的属性均转换为关系的属性,而关系的码为n端实体的码。
(3)一个m:n联系转换为一个关系模式。与该联系相连的各实体的码以及联系本身的属性均转换为关系的属性,而关系的码为各实体码的组合。
(4) 三个或三个以上的实体间的一个多元联系可以转换为一个关系模式。与该多元联系相连的各实体的码以及联系本身的属性均转换为关系的属性,而关系的码为各实体码的组合。
(5) 具有相同码的关系模式可合并。
(1) 将每一个实体转换成一个关系(关系就是给出关系名,写出属性,并标明该关系的主键)。
1 员工信息(员工编号、档案编号、部门编号、员工姓名、性别、年龄、学历、家庭住址、联系电话)。
在此联系中主码为员工编号,因为员工信息与部门是多对一的联系,所以将部门编号传入员工信息中做非主属性,而员工信息与档案是一对一的联系,所以将档案编号传入员工信息中做非主属性。
2 员工工资信息(月份编号、员工编号、基本工资、职务补助、奖励工资、缺勤次数、单次缺勤罚金、杂费、工资合计、职务)
在此联系中主码为月份编号,因为员工信息与工资信息是一对多的联系,所以将员工编号传入工资信息中做非主属性,联系本身的属性传入工资信息中做非主属性。
3 保险信息(保险编号、员工编号、保险名称、开始缴费时间、缴费年限、缴费金额)
在此联系中主码为保险编号,因为员工信息与保险信息是一对多的联系,所以将员工编号传入保险信息中做非主属性。
4 档案信息(档案编号、员工编号、档案类别、存放位置、档案状态)
在此联系中主码为档案编号,因为员工信息与档案信息是一对一的联系,所以将员工编号传入档案信息中做非主属性。
⑤ 合同信息(合同编号、合同类别编号、员工编号、合同名称)
在此联系中主码为合同编号,因为合同类别信息与合同信息是一对多的联系,所以将合同类别编号传入合同信息中做非主属性。而员工信息与合同信息也是一对多的联系,所以员工编号传入合同信息中做非主属性。
⑥ 部门信息(部门编号、机构代码、部门名称、部门简介)
在此联系中主码为部门编号,因为机构信息与部门信息是一对多的联系,所以将机构代码传入部门信息中做非主属性。
⑦ 合同类别信息(合同类别编号、合同类别名称)
在此联系中主码为合同类别编号。
⑧ 机构信息(机构代码、机构名称、机构地址)
在此联系中主码为机构代码。
由E-R图可知,企业人事管理系统有八个实体和一个联系,又因为是员工信息与工资信息的一对多的联系,故可转换为八个关系模型。
由关系依赖知,在员工信息、工资信息、部门信息、机构信息、合同信息、合同类别信息、档案信息、保险信息这八个关系模式中,这八个关系模式中其属性都是不能再分的,为一阶范式。并且都是由主码唯一决定关系中的其他属性,不存在部分函数依赖和传递函数依赖,所以这五个关系都是3NF。皆为最优,关系模型的优化结束。
3.2 PDM模型的生成过程
选择生成CDM模型中的【Tools】 【Generate Physical Data Model...】得到对话框,如图所示。
JSP企业人事管理系统
2.选择Generate new Physical Data Model,再将 DBMS选择为QRACLE Version 9i,点击确定,最后形成PDM,如图所示。若图片无法显示请联系QQ3710167,本论文免费,转发请注明源于www.lwfree.cn
图3-2 PDM图
3.3 表结构的生成过程
由PDM图可得到如下各表的结构:
表3-1 部门信息登记文件
字段名称
别名
数据类型
长度
备注
部门代码
bmnumber
char
6
与部门信息中的部门代码关联
机构代码
jgnumber
char
6
与机构信息中的机构代码关联
部门名称
bmname
char
20
部门简介
bmjj
char
20
机构名称
jgname
char
20
表3-2 合同信息登记文件
字段名称
别名
数据类型
长度
备注
合同编号
htnumber
Char
6
与合同信息中的合同编号关联
员工编号
ygnumber
char
6
与员工信息中的员工编号关联
合同类别编号
htnumber
Char
6
与合同类别信息的合同类别编号关联
合同类别名称
htname
char
10
合同名称
htname
Char
20
表3-3 档案信息登记文件
字段名称
别名
数据类型
长度
备注
档案编号
danumber
char
6
与档案信息中的档案编号关联
员工编号
ygnumber
char
6
与员工信息中的员工编号关联
档案类别
dalb
char
20
存放位置
wz
char
10
档案状态
zt
char
4
表3-4 保险信息登记文件
字段名称
别名
数据类型
长度
备注
保险编号
bxnumber
char
6
与保险信息中的保险编号关联
员工编号
ygnumber
char
6
与员工信息中的员工编号关联
保险名称
bxname
char
20
缴费时间
bxsj
date
缴费年限
bxnx
number
2
缴费金额
bxje
number
5
表3-5 工资信息登记文件
字段名称
别名
数据类型
长度
备注
月份编号
yfnumber
Char
2
与工资信息中的月份编号关联
员工编号
ygnumber
char
6
与员工信息中的员工编号关联
基本工资
jbgz
Number
4
职务补助
bz
Number
4
奖励工资
jlgz
Number
4
缺勤次数
cs
number
2
单次缺勤罚金
fj
Number
4
杂费
zf
Number
4
工资合计
hj
number
5
职务
职务
Char
20
表3-6 员工档案库文件
字段名称
别名
数据类型
长度
备注
档案编号
danumber
Char
6
与档案信息中的档案编号关联
员工编号
ygnumber
Char
6
与员工信息中的员工编号关联
部门代码
bmnumber
Char
6
与部门信息中的部门代码关联
机构代码
jgnumber
Char
6
与机构信息中的机构代码关联
职务
职务
Char
20
月份编号
yfnumber
Char
2
与工资信息中的月份编号关联
基本工资
jbgz
Number
4
档案类别
dalb
Char
20
存放位置
wz
Char
10
档案状态
zt
Char
4
3.4 连接数据库
3.4.1 数据库运行环境设置
本实例是在Windows 2000下开发的,程序测试环境为Windows2000和WindowsXP。用户在Windows 98、Windows 2000和Windows XP下都可使用本实例。程序统一用户名及密码,用户名:111,密码:111。
3.4.2 数据库的实现
l 配置SQL Server2000数据库
(1)将实例目录“database”文件夹下扩展名为“.MDF”和“.LDF”的两个文件拷贝到SQL Server 2000安装路径下的“MSSQL”/“Data”目录下。
(2)打开SQL Server 2000中的“企业管理器”,然后展开本地服务器,在“数据库”数据项上单击鼠标右键,在弹出的快捷菜单中选择“所有任务”/“附加数据库”菜单项,如图3-3所示。
图3-3 附加数据库
(3)将弹出“附加数据库”对话框,如图3-4所示。
图3-4 附加数据库对话框
(4)在该对话框中单击“…”按钮选择所要附加数据库的.mdf文件的路径,例:附加采购管理系统的数据库可以选择 “C:\sql\MSSQL\Data\Data_cggl_Data.MDF”,如图3-5所示。单击【确定】按钮,即可完成数据库的附加操作。
JSP企业人事管理系统
图3-5选择所要附加的数据库
l 配置ODBC
(1)单击“控制面板”/“ODBC数据源”,打开“ODBC数据源管理器”。
(2)单击“添加”按钮,打开“创建新数据源”窗口,在此选择“SQL Server”。
(3)单击“完成”按钮,打开“建立新的数据源到SQL Server”窗口,在“名称”文本框中输入“RSDAGLXT”(数据库名称);在“服务器”下拉列表框中输入想连接的SQL Server服务器。如果要连接的SQL Server是安装在本地机上的,那么可以选择local,local表示连接到本地的服务器。如果要连接的SQL Server是安装在其他的服务器上的,则选择所需的服务器名称。
(4)单击“下一步”按钮,打开“创建到SQL Server 的新数据源”窗口,选定“使用用户输入登录ID和密码的SQL Server验证”选项,在“登录ID”文本框中输入“sa”;“密码”文本框为sossos。
(5)单击“下一步”按钮,在弹出的对话框中勾选“更改默认的数据库为”选项,在下拉列表中选择“RSDAGLXT”数据库,单击“下一步”按钮,再单击“完成”按钮,数据源便配置成功了。
3.5 表的具体实现
各表的具体信息如下:
表3-7 机构信息
数据项名
别名
数据类型
长度
逻辑关系
机构代码
jgnumber
char
6
主键,决定机构信息的其它数据项
机构名称
jgname
char
20
依赖于机构代码
机构地址
jgaddress
char
40
依赖于机构代码
表3-8 部门信息
数据项名
别名
数据类型
长度
逻辑关系
部门代码
bmnumber
char
6
主键,决定部门信息的其它数据项
部门名称
bmname
char
20
依赖于部门代码
部门简介
bmjj
char
20
依赖于部门代码
表3-9 员工信息
数据项名
别名
数据类型
长度
逻辑关系
员工编号
ygnumber
Char
6
主键,决定员工信息的其它数据项
员工姓名
yhname
Char
10
依赖于员工编号
性别
xb
Char
2
依赖于员工编号
年龄
age
Number
3
依赖于员工编号
学历
xl
Char
8
依赖于员工编号
家庭住址
jtaddress
Char
30
依赖于员工编号
联系电话
lxnumber
Number
11
依赖于员工编号
表3-10 工资信息
数据项名
别名
数据类型
长度
逻辑关系
月份编号
yfnumber
Char
2
主键,决定工资信息的其它数据项
基本工资
jbgz
Number
4
依赖于月份编号
职务补助
bz
Number
4
依赖于月份编号
奖励工资
jlgz
Number
4
依赖于月份编号
缺勤次数
cs
number
2
依赖于月份编号
单次缺勤罚金
fj
Number
4
依赖于月份编号
杂费
zf
Number
4
依赖于月份编号
工资合计
hj
number
5
依赖于月份编号
职务
职务
Char
20
依赖于月份编号
表3-11 档案信息
数据项名
别名
数据类型
长度
逻辑关系
档案编号
danumber
Char
6
主键,决定档案信息的其它数据项
档案类别
dalb
Char
20
依赖于档案编号
存放位置
wz
Char
10
依赖于档案编号
档案状态
zt
Char
4
依赖于档案编号
表3-12 保险信息
数据项名
别名
数据类型
长度
逻辑关系
保险编号
bxnumber
Char
6
主键,决定保险信息的其它数据项
保险名称
bxname
Char
20
依赖于保险编号
缴费时间
bxsj
Date
依赖于保险编号
缴费年限
bxnx
Number
2
依赖于保险编号
缴费金额
bxje
Number
5
依赖于保险编号
表3-13 合同信息
数据项名
别名
数据类型
长度
逻辑关系
合同编号
htnumber
Char
6
主键,决定合同信息的其它数据项
合同名称
htname
Char
20
依赖于合同编号
表3-14 合同类别信息
数据项名
别名
数据类型
长度
逻辑关系
合同类别编号
htnumber
Char
6
主键,决定合同类别信息的其它数据项
合同类别名称
htname
Char
10
依赖于合同类别编号
JSP企业人事管理系统
4 项目具体实现
4.1 前台界面设计
前台界面的实现主要从以下几个方面考虑的:
l 员工基本信息部分:主要完成对员工基本信息的添加、修改、删除、查询等管理。
l 员工档案信息部分:主要完成员工档案信息的添加、修改、删除、查询等管理。
l 员工部门信息部分:主要完成员工所属部门的添加、修改、删除、查询等管理。
l 员工工资信息部分:主要完成员工工资信息的添加、修改、删除、查询等管理。
l 员工保险信息部分:主要完成员工保障信息的添加、修改、删除、查询等管理。
l 员工合同信息部分:主要完成员工与企业签订合同的一系列信息的添加、修改、删除、查询管理。
企业人事管理系统登陆主界面及其设计思路如下:
该界面是整个系统的登陆界面,根据不同类型的用户,拥有不同的权限,选择不同的角色登陆系统。同时为了安全,不同用户需要密码登陆,这样更方便管理员的管理。用户登录主界面如下图4-1所示:
图4-1 登陆界面
登陆主界面的主要技术:
用户通过输入用户名和密码并选择权限登陆该系统,当用户输入完成后,系统接受输入参数,进入数据库查询与之匹配与否,如果匹配则允许登陆,否则,从新登陆。具体代码为:
<%@ page contentType="text/html;charset=GB2312" %>
<%@ page import="java.sql.ResultSet,user.user_operation,
java.sql.SQLException"%>
<%//-------接收输入参数------------
int sysuser_role=0;
ResultSet rs=null;
try{
rs=uop.getUserOne(sysuser_name,sysuser_password,sysuser_role);
int rowCount=0;
try{
if(rs.next()) rowCount=1;
}catch(SQLException e){}
if(rowCount!=0&&certCode.equals((String)session.getAttribute("certCode"))){
//------通过检查------
session.setAttribute("sysuser_id",rs.getString("sysuser_id"));
response.sendRedirect("/qiyerenshi/index.jsp");
}else{
response.sendRedirect("/qiyerenshi/login.jsp");
}
%>
企业人事管理系统首页面设计思路及界面如下:
系统首页面主要包括功能有:
l 人事档案管理
l 部门管理
l 日常考核
l 人事变动
l 教育培训
l 决策查询
l 统计
l 系统管理
主界面如下图4-2所示:若图片无法显示请联系QQ3710167,本论文免费,转发请注明源于www.lwfree.cn
图4-2 主界面图
界面主要技术:
4.2 具体代码实现
Menu.jsp:
<%@ page contentType="text/html;charset=GB2312" %>
<%@ page import="java.sql.ResultSet,user.user_operation,
java.sql.SQLException"%>
<%//-------接收输入参数------------
int sysuser_id=0;
int sysuser_role=0;
}catch(Exception e){}
user_operation uop=new user_operation();
rs=uop.getUserByPrimKey(sysuser_id);
String sysuser_name=null;
int rowCount=0;
try{
if (rs.next()) rowCount=1;
}catch(Exception e){}
if(rowCount!=0){
sysuser_role=rs.getInt("sysuser_role");
sysuser_name=rs.getString("sysuser_name");
}
%>
|
|
|
欢迎您:<%=sysuser_name%> |
|
您的角色:
<%
if(sysuser_role==1) out.print("系统管理员");
if(sysuser_role==2) out.print("企业管理员");
if(sysuser_role==3) out.print("部门管理员");
if(sysuser_role==4) out.print("普通用户");
%>
|
|
|
<%if(sysuser_role==1||sysuser_role==2){%>
|
员工管理
员工基本信息管理
日常考核管理
教育培训管理
人事变动管理
|
<%}%>
企业基本信息管理
决策管理
|
部门管理
部门基本信息录入
部门人员信息管理
|
<%}%>
<%if(sysuser_role==1||sysuser_role==2||sysuser_role==3||sysuser_role==4){%>
JSP企业人事管理系统
<%}%>
|
系统管理
<%if(sysuser_role==1||sysuser_role==2||sysuser_role==3||sysuser_role==4){%>
" target="main">修改当前用户密码
<%}%>
退出
<%}%>
|
结论
三周的计算机应用实训结束了,再回首一起做设计的日子,给我们留下了十分难忘的印象。在设计的这段日子当中,我们挥洒着当代大学生的活力与朝气,我们摔倒过,但不气馁;我们迷茫过,但会从新振作起精神。通过实习的磨练,我们渐渐地走向了成熟,我们心中又树立了新的目标新的起点,同时深深地体会到了课程设计对理论知识的促进与提高。
制定设计题目很关键,我们小组组员共同研究讨论,最终确定了较有挑战性的而实用广泛的企业人事管理系统。之后在收集资料过程中,我们上网下载,到图书馆检索,众多资料,纷繁复杂,通过学习的理论知识和广泛地资料分析我们制定了需求分析。在后来的概要设计和详细设计中我们进展较为顺利,从顶层数据流图到二层数据流图,从E-R图到CDM再到PDM连接,从企业人事管理到企业资源流通,我们的企业人事管理体统日臻完善。我组学习了编写大型应用系统的一般步骤,获得了宝贵经验。特别是怎么样通过理论与实践相结合,把书本上的内容应用到我们做的实践上去,使各个子模块实施其的详细功能,并且熟悉了PowerDesigner应用环境和数据库的知识。
课程设计之所以进行的如此顺利,得力于老师的信任和支持,得力于组员的真诚配合和勤勉不断的努力!为此,我们深深地感恩!感谢老师谆谆教导,感谢同学们间的互帮互助,衷心地祝愿老师身体健康!
JSP企业人事管理系统
致谢
三周的计算机应用实训结束了,在机房各位老师的指导和帮助下,我们基本上完成了本次人事管理系统的设计。在这次课程设计中,由于我们的学识比较浅薄,犯了许多的错误,可是老师们却孜孜不倦的为我们讲解和改正,使我们在这次课程设计中学到了许多东西。机房老师认真负责的工作态度,严谨的治学精神和深厚的理论水平使我们收益匪浅,成为我们以后学习和工作的榜样。在此向各位老师表示深深的感谢和由衷的敬意。
在本次实训中,我们也得到了很多同学的热心帮助,他们给了我们很多好的提议与帮助,耐心的为我们讲解和指导,使我们能比较顺利地解决了一些原来解决不了的问题。
正因为有这些人的热情帮助和鼓励,让我们对计算机有了更深入的了解,也让我们越来越喜欢我们的专业。为我们以后的工作指导方向,奠定了良好的基础。在此我们非常感激指导和帮助过我的老师和同学们,也向那些和我们同样努力完成此次课程设计的同学致敬!
参考文献
⑴王珊.数据库系统概论.北京:高等教育出版社,2000
⑵张龙祥.数据库原理与设计.北京:人民邮电出版社,2000
⑶李红.数据库原理与应用.北京:高等教育出版社,2002
⑷王能斌.数据库系统原理.北京:电子工业出版社,2002
⑸伍俊良.课程设计与系统开发案例.北京:清华大学出版社,2003
⑹何旭洪.数据库系统开发实例导航.北京:人民邮电出版社,2003
⑺何旭洪.信息管理系统开发.北京:人民邮电出版社,2005
⑻丁宝康,董健全.数据库实用教程.北京:清华大学出版社,2003
⑼曾宇昆,乔健.数据库教程上机辅导.北京:电子工业出版社,2005
⑽刘志铭,高春艳,孙健鹏.数据库开发实例.北京:机械工业出版社,2004
⑾周枫,刘晓燕,李秀敏,李丹.软件工程.重庆:重庆大学出版社,2001
⑿陈明.软件工程实用教程.北京:电子工业出版社,2004