人事信息管理系统课程设计.docx
《人事信息管理系统课程设计.docx》由会员分享,可在线阅读,更多相关《人事信息管理系统课程设计.docx(49页珍藏版)》请在冰豆网上搜索。
![人事信息管理系统课程设计.docx](https://file1.bdocx.com/fileroot1/2023-5/27/08457468-e9f9-451b-bbb4-68bae9bed85d/08457468-e9f9-451b-bbb4-68bae9bed85d1.gif)
人事信息管理系统课程设计
第1章概述
1.1课程设计的目的
随着现代经济的高速发展,各种企业的不断崛起,企业员工的不断增加,企业在管理方面对需求越来越大。
伴随着计算机的迅速发展和广泛使用,企业人事信息管理转向电子化成为必然。
传统的人事信息管理存在很大的不足:
利用人进行信息的增减,容易导致信息的错误,而且管理的效率低下,导致资源的可利用性低,劳动力大,安全性也不够,加上,随着时间的递增,信息量不断增大,对信息的增加、删除、检索、查找就会存在很大的问题。
因此,随着企业的强大和发展,传统的管理方式不再适应企业的需要。
应用计算机进行管理信息,有着其手工无法比拟的优点。
例如:
存储量大、修改方便、检索快速、安全性高,使用寿命长、成本低、可靠性好等。
这些优点能够极大地提高人事信息管理的效率,有助于企业的发展。
1.2课程设计的意义
人事信息管理系统的开发需要就Java语言和数据库两方面的知识,因此设计一个实用性强的人事信息管理系统,对于我们进行课程设计方面知识的提高有很大的推动作用。
人事信息管理系统的开发需要用到多方面的知识,包括数据库的选用、数据库的建立和维护、信息的存储、管理界面的设计。
这些对于设计者的知识水平有较高的要求。
因此,如何规划、设计和开发好这个人事信息管理系统,对于提高我们的Java开发水平有极大的帮助。
同时,在设计开发过程中,我们可以选用适当的数据库和数据库连接驱动程序,建立好合适的数据库表格和设计好美观大方的管理界面。
第2章系统功能设计
2.1系统需求分析
2.1.1人事信息管理系统的客户功能需求
该开发系统的设计主要用于实现以下几个功能:
(1)人事信息管理系统主界面
人事信息系统主界面主要包括系统设计,公司结构,员工管理,职务管理,出勤管理,工资管理,奖罚管理,福利管理和帮助等内容,可以进行各种信息的添加、查询,删除等操作。
(2)员工信息管理子系统
员工信息管理子系统主要是对所有员工的个人信息进行登记、删除、检索、查找,包括员工的编号,员工的性别,员工的姓名,员工的身份证号码,员工的联系电话、联系方式,员工的入公司时间,照片等记录。
并且还能够删除错误的员工个人记录的信息。
(3)职务信息管理子系统
职务信息管理子系统主要是对所有员工的职务信息进行登记,包括了两个部分的内容——职务管理和职务变更。
职务管理包括员工的编号,员工的姓名以及员工的现任职务,并且能够删除错误的员工职务记录的信息。
职务变更包括员工的编号,员工的姓名,员工的各种职务以及任职该职务的时间。
并且能够删除错误的员工职务变更记录的信息。
(4)出勤信息管理子系统
出勤信息管理子系统主要是对所有员工的出勤信息进行登记,包括了四个部分的内容——上班登记、下班登记、请假登记和加班登记。
上班登记主要是对所有员工的上班信息进行登记,包括员工的编号,员工的姓名,员工的上班时间和相应的备注信息,并且能够删除错误的员工上班时间记录的信息。
下班登记主要是对所有员工的下班信息经行登记,包括员工的编号,员工的姓名,员工的下班时间和相应的备注信息,并且能够删除错误的员工下班时间记录的信息。
。
请假登记主要是对所有员工的请假信息进行登记,包括员工的编号,员工的姓名,员工的请假日期,员工的请假时间,员工的请假原因和相应的备注信息,并能够删除错误的员工请假记录的信息。
加班登记主要是对所有员工的加班信息进行登记,包括员工的编号,员工的姓名,员工的加班日期,员工的加班时间,员工的加班薪资和相应的备注信息,并能够删除错误的员工加班记录的信息。
(5)工资信息管理子系统
工资信息管理子系统主要是对所有的员工的工资信息进行登记,包括了员工的编号,员工的姓名,员工的基本工资、补贴金、加班费、奖惩金,员工的总工资和相应的备注信息,并且能够删除错误的员工工资记录的信息。
(6)惩罚信息管理子系统
惩罚信息管理子系统主要是对说有的员工的惩罚信息进行登记,包括了员工的编号,员工的姓名,员工的奖励、惩罚,员工的惩罚说明和相应的备注信息,并且能够删除错误的员工惩罚记录的信息。
(7)福利信息管理子系统
福利信息管理子系统主要是对所有的员工的福利信息进行登记,包括员工的编号,员工的姓名,员工的养老保险金、失业保险金、工伤保险金,员工的福利总计和相应的备注信息,并且能够删除错误的员工福利记录的信息。
2.1.2系统开发和运行环境
(1)硬件配置及外设设备
硬件平台是指开发与运行所需要的硬件环境,主要包括计算机机型及硬件配置。
由于本系统是一个MINI管理系统,因此对计算机硬件的要求不是很高,成本较低,只要配备如表2-1所示的就可以。
表2-1计算机硬件配备要求表
内容
最低配置
建议配置
主机
P3/1G
P4/2G以上
内存
256MB
1G以上
硬盘
20GB
60GB以上
(2)开发运行软件环境
软件平台是指系统开发与运行的软件环境。
本系统在开发时选用的操作系统是稳定性较强的WindowsXP中文专业版,Java程序设计的开发环境是JDK5.0,集成开发工具是JCreator专业版,数据库的设计工具选用的Microsoft公司的Access2003。
Java语言是一种跨平台、适合于分布式计算机环境的面向对象编程语言。
具体来说,它具有如下特性:
简单性、面向对象、分布式、解释性、可靠、安全、平台无关、可移植、多线程、动态性等。
Java的开发环境大体上分成两种方式。
一种方式是使用JDK(JavaDevelopersKits)工具集,这是一种命令行的方式。
另一种方式是使用集成开发环境(IntegratedDevelopingEnvironment,IDE)。
采用JDK开发Java程序,能够很快理解程序中各部分代码之间的关系,有利于理解Java面向对象的设计思想。
JDK的另一个显著特点是随着Java版本的升级而升级。
但它的缺点也是非常明显的就是从事大规模企业级Java应用开发非常困难,不能进行复杂的Java软件开发,也不利于团体协同开发。
JCreator专业版是一款适合于各个Java语言编程开发人员的IDE工具。
她为使用者提供了大量强劲的功能,例如:
项目管理、工程模板、代码完成、调试接口、高亮语法编辑、使用向导以及完全可自定义的用户界面。
JCreator具有无限撤销、代码缩进、自动类库方法提示、安所选职能定位查阅JavaAPI文档的功能,它支持JSP、Ant、CVS,其.小巧、易用、美观,是Java初级程序员的理想IDE。
Access2003是一款Window环境下的数据库管理软件,是Office办公套件中一个极为重要的组成部分,是Microsoft公司于2003年推出的微机数据库管理系统,它不仅解决了以往的Acess中处理中文的麻烦,而且具有了新的优点,在功能上做了加强。
它具有界面友好、易学易用、开发简单、接口灵活等特点,是典型的新一代桌面关系数据库管理系统。
利用它可以方便的实现对信息保存、维护、查询、统计等,而且它可以十分方便的与Office其他组件交流数据。
2.2系统的概要设计
2.2.1系统的功能框架分析
信息管理子系统,职务信息管理子系统,出勤信息管理子系统,工资信息管理子系统,惩罚信息管理子系统以及福利信息管理子系统。
同时,为了增强系统的安全性,首先需要通过用户权限认证,只有在登陆界面上输入正确的用户名和密码,才能的功能路本系统进行操作。
通过了系统功能框架的分析,得到了如图2-1的系统功能模块。
构建一个人事信息管理系统,该系统主要由六个子系统组成,分别包括个人
图2-1系统功能框架
下面简单说明一下各个框架的功能:
(1)系统设置模块:
本应用模块的主要功能是进行管理员设置、返回主页面、以及系统的安全退出。
(2)公司结构模块:
本应用模块的主要功能是进行公司结构的说明,相关部门的管理以及职位的调整。
(3)员工管理模块:
本应用模块的主要功能是实现对员工信息的增加、信息的修改、信息的查询以及信息的删除等操作。
(4)职务管理模块:
本应用模块的主要功能是实现对员工现任职务、员工植物变更记录的管理,以及职务的设置。
(5)出勤管理模块:
本应用模块的主要功能是实现对员工上下班时间登记,员工请假信息,员工加班信息记录的管理。
(6)工资管理模块:
本应用模块的主要功能是实现对员工工资信息的管理,包括工资的查询和调整。
(7)奖惩管理模块:
本应用模块的主要功能是实现对员工的奖惩信息的管理,包括奖惩的查询和添加。
(8)福利管理模块:
本应用模块的主要功能是实现对员工福利信息的管理,包括福利的查询和调整。
(9)帮助模块:
本应用模块的主要功能是实现系统帮助,关于系统。
2.2.2系统的数据库逻辑设计分析
数据库设计是在选定的数据库管理系统基础上建立数据库的过程。
数据库设计除了用户分析外,还包括概念结构设计、逻辑结构设计和物理结构设计等三个阶段。
数据库系统已经成为一门独立的学科,所以,当我们把数据库设计原理应用到MIS开发中,数据库设计的几个步骤与系统开发的各个阶段相对应,且融为一体,它们的对应关系如图2-2所示。
图2-2数据库设计与系统开发阶段对应关系图
(1)概念模型E-R图
这一设计阶段是在逻辑关系分析的基础上,设计出能够满足用户需求的各种实体,以及他们之间的关系,为后面的数据库逻辑设计打下基础。
本文根据上面的分析规划出的实体有部门设计、员工信息、职务管理、职务变更、上班登记、下班登记、员工请假信息、员工加班信息、员工奖惩信息、员工工资信息、员工福利信息、管理员信息等。
实体与实体之间的关系E-R图如图2-3至图2-14所示。
图2-3部门设计实体E-R图
图2-4员工信息实体E-R图
图2-5职务管理实体E-R图
图2-6职务变更实体E-R图
图2-7上班登记实体E-R图
图2-8下班登记实体E-R图
图2-9员工请假实体E-R图
图2-10员工加班实体E-R图
图2-11员工奖惩实体E-R图
图2-12员工工资实体E-R图
图2-13员工福实体E-R图
图2-14管理员信息实体E-R图
(2)表结构分析
根据本系统功能需求,数据库采用Microsoft公司的Access2003,它完全可以适合工作需求,并且它所支持的数据类型十分丰富,维护简单,费用比较低,开发人员技术要求不是很高。
根据模块的设计,以及规范化的设计要求,为满足系统需要,本系统共建立12个表分别是:
部门设计表,雇员信息表,职务管理表,职务变更表,上班登记表,下班登记表,员工请假信息表,员工加班信息表,员工奖罚信息表,员工工资表,员工福利表,管理员信息表。
各个数据表的结构如表2-2至表2-13所示。
表2-2部门设计表(Department_Infor)
字段名
数据类型
字段大小
是否主键
部门编号
文本
20
是
部门名称
文本
20
备注
备注
表2-3员工信息表(employee_Infor)
字段名
数据类型
字段大小
是否主键
员工编号
文本
8
是
姓名
文本
20
性别
逻辑
2
年龄
数字
密码
文本
10
身份证号
文本
18
联系电话
文本
20
地址
文本
50
入员时间
日期/时间
8
照片
OLE对象
备注
备注
表2-4职务管理表(Duty_Infor)
字段名
数据类型
字段大小
是否主键
员工编号
文本
8
是
姓名
文本
20
现任职务
文本
30
所属部门
文本
20
备注
备注
表2-5职务变更表(Duty_Change_Infor)
字段名
数据类型
字段大小
是否主键
员工编号
文本
8
是
姓名
文本
20
现任职务
文本
30
上任时间
日期/时间
8
卸任时间
日期/时间
8
备注
备注
表2-6上班登记表(Start_Register_Infor)
字段名
数据类型
字段大小
是否主键
员工编号
文本
8
是
姓名
文本
20
上班时间
日期/时间
8
备注
备注
表2-7下班登记表(Finish_Register_Infor)
字段名
数据类型
字段大小
是否主键
员工编号
文本
8
是
姓名
文本
20
下班时间
日期/时间
8
备注
备注
表2-8员工请假信息表(On_Leave_Infor)
字段名
数据类型
字段大小
是否主键
员工编号
文本
8
是
姓名
文本
20
请假时间
日期/时间
8
时间长短
文本
20
备注
备注
表2-9员工加班信息表(Over_Time_Infor)
字段名
数据类型
字段大小
是否主键
员工编号
文本
8
是
姓名
文本
20
加班日期
日期/时间
8
加班时间
文本
20
备注
备注
表2-10员工奖惩信息表(Award_Punish_Infor)
字段名
数据类型
字段大小
是否主键
员工编号
文本
8
是
姓名
文本
20
奖励金
货币
罚款
货币
备注
备注
表2-11员工工资信息表(Wage_Infor)
字段名
数据类型
字段大小
是否主键
员工编号
文本
8
是
姓名
文本
20
基本工资
货币
公司补贴
货币
加班费
货币
奖励金
货币
扣除金额
货币
总工资
货币
备注
备注
表2-12员工福利表(Welfare_Infor)
字段名
数据类型
字段大小
是否主键
员工编号
文本
8
是
姓名
文本
20
养老保险
货币
失业保险
货币
工伤保险
货币
总福利金
货币
备注
备注
表2-13管理员信息表(Manager_Infor)
字段名
数据类型
字段大小
是否主键
管理员
文本
20
密码
文本
10
(3)数据字典分析
数据流程图描述了系统的分解,但没有对图中各成分进行说明,数据字典(DataDictionary,DD)就是为数据流程图的每个数据流文件加工,以及组成数据流或文件的数据项作出说明,具体见表2-14至表2-18
表2-14员工管理的数据字典
作用
对员工管理信息查询进行描述
来源
管理员对员工编号的查询
去向
员工本地查询
数据结构
员工信息查询(员工编号,姓名,性别,年龄,密码,联系电话,地址,入员时间,照片)
表2-15职务管理的数据字典
作用
对员工现任职位查询进行描述
来源
管理员对员工编号的查询
去向
员工本地查询
数据结构
职位信息查询(员工编号,姓名,现任职务、所属部门)
表2-16出勤管理的数据字典
作用
对员工出勤信息查询进行描述
来源
管理员对员工编号的查询
去向
员工本地查询
数据结构
出勤信息查询(员工编号,姓名,上班时间,下班时间,请假信息,加班信息)
表2-17工资信息查询的数据字典
作用
对员工工资信息查询结构进行描述
来源
管理员对雇员编号的查询
去向
员工本地查询
数据流结构
工资信息查询(雇员编号,姓名,基本工资,公司补贴,加班费,奖励金,扣除金额,总工资)
表2-18福利信息查询的数据字典
作用
对员工福利信息查询结构进行描述
来源
管理员对雇员编号的查询
去向
员工本地查询
数据流结构
福利信息查询(雇员编号,姓名,养老保险,失业保险,工伤保险,总福利金)
2.2.3数据流程分析
1总的系统流程图如图2-15所示:
图2-15总的系统流程
②业务流程图(TransactionFlowDiagram,TFD)是一种描述系统内各单位、人员之间业务关系、作业顺序和管理信息流向的图表,利用它可以帮助分析人员找出业务流程中的不合理的流向。
通过前面对企业仓库管理情况进行的一系列调研与分析,得到如图2-16所示的业务流程图。
图2-16业务流程图
人事管理系统的业务处理过程如下:
企业认识管理系统记录基本的信息并能对系统的的已有信息进行查询;信息添加记录中对基本信息添加;信息输出记录对基本信息并能进行查询。
③根据业务流程图分析,对于其中的数据流向,处理及存储进行逐层分解,可以得到数据流程图(DataFlowDiagram,DFD)。
数据流程图是分层次的,绘制是采取自顶向下逐层分解的方法。
顶层数据流程图只有一张,它说明了系统总的处理功能、输入和输出。
下一步是对顶层数据流程图中的“处理”进行分解,也就是对第一层数据流程图的再分解。
数据流程图如图3-3所示。
图3-3数据流程图
第3章管理系统主界面设计开发
3.1程序设计
3.1.1程序设计思想与原则
编写程序应符合软件工程化思想。
应用软件的编程工作量极大,而且要经常维护、修改。
如果编写程序不遵守正确的规律,就会给系统的开发维护带来不可逾越的障碍。
软件工程的思想即利用工程化的方法进行软件开发,通过建立软件工程环境来提高软件开发效率。
自顶向下的模块化方法描述了大程序设计的原则,在具体编程中,则应采用结构化程序设计方法。
这种方法指导人们用良好的思想方法却设计程序,其特点是采用顺序结构、循环结构和选择结构三种基本逻辑结构来编写程序。
3.2功能界面设计
虽说程序设计最核心的地方是程序的功能,但程序的界面设计是不可忽视的,它直接影响到程序的易用性。
尤其在Windows时代,一个良好的应用界面会给你的程序锦上添花,甚至有画龙点睛之韵味。
一般来说,在完成核心算法的编制后,就要开始精心设计应用界面了。
图3-1系统登录界面
登陆界面的代码:
publicclassHRM_App
{
publicstaticvoidmain(String[]args)
{
Login_Login=newLogin();
}
}
系统主页面代码为:
importjava.awt.*;
importjavax.swing.*;
importjavax.sql.*;
importjava.awt.event.*;
publicclassAppMainextendsJFrame
{
privateJMenuBarbarMain=newJMenuBar();
privateMenuBarListener_MenuBarListener=newMenuBarListener();
publicfinalJDesktopPanedesktop=newJDesktopPane();
publicstaticDbConnectionconnetion=newDbConnection();
privateinti,j;
publicAppMain()
{
super("人事管理系统");
Containercontainer=getContentPane();
container.add(desktop,BorderLayout.CENTER);
MenuBarListener.setDeskTop(desktop);
BuildBarMain();
this.setJMenuBar(barMain);setSize(900,700);
intw=(Toolkit.getDefaultToolkit().getScreenSize().width-900)/2;
inth=(Toolkit.getDefaultToolkit().getScreenSize().height-700)/2;
setLocation(w,h);setVisible(true);
addWindowListener(newWindowAdapter()
{
publicvoidwindowClosing(WindowEventevent)
{
intresult=JOptionPane.showOptionDialog(null,"是否真的退出人事信息管理系统?
","系统提示",JOptionPane.YES_NO_OPTION,JOptionPane.QUESTION_MESSAGE,
null,newString[]{"确定","取消"},"取消");
if(result==JOptionPane.YES_OPTION)
{
try
{
AppMain.connetion.connection.close();
}
catch(java.sql.SQLExceptionsql)
{
sql.printStackTrace();
}
System.exit(0);
}}});}
privateJMenuBarBuildBarMain()
{
finalJMenu[]_Menu={newJMenu("系统设置"),
newJMenu("公司结构"),newJMenu("员工管理"),
newJMenu("职务管理"),newJMenu("出勤情况"),
newJMenu("工资管理"),newJMenu("奖罚管理"),
newJMenu("福利管理"),newJMenu("帮助")};
finalJMenuItem[][]_MenuItem={{newJMenuItem("管理员设置"),newJMenuItem("返回主界面"),newJMenuItem("安全退出")},{newJMenuItem("公司结构"),newJMenuItem("部门管理"),newJMenuItem("职位调整")},{newJMenuItem("增加员工"),newJMenuItem("信息修改"),newJMenuItem("信息查询"),newJMenuItem("减少员工")},{newJMenuItem("现任职务查询"),newJMenuItem("职务变更查询"),newJMenuItem("职务变更")},{newJMenuItem("上下班登记"),newJMenuItem("请假管理"),newJMenuItem("加班管理")},{newJMenuItem("工资查询"),newJMenuItem("工资调