计算机专业课程设计人事管理系统.docx
- 文档编号:8279799
- 上传时间:2023-01-30
- 格式:DOCX
- 页数:27
- 大小:286.09KB
计算机专业课程设计人事管理系统.docx
《计算机专业课程设计人事管理系统.docx》由会员分享,可在线阅读,更多相关《计算机专业课程设计人事管理系统.docx(27页珍藏版)》请在冰豆网上搜索。
计算机专业课程设计人事管理系统
第1章绪论
1.1课程设计的目的及意义
1.1.1目的
随着现代经济的高速发展,各种企业的不断崛起,企业员工的不断增加,企业在管理方面对需求越来越大。
伴随着计算机的迅速发展和广泛使用,企业人事信息管理转向电子化成为必然。
传统的人事信息管理存在很大的不足:
利用人进行信息的增减,容易导致信息的错误,而且管理的效率低下,导致资源的可利用性低,劳动力大,安全性也不够,加上,随着时间的递增,信息量不断增大,对信息的增加、删除、检索、查找就会存在很大的问题。
因此,随着企业的强大和发展,传统的管理方式不再适应企业的需要。
应用计算机进行管理信息,有着其手工无法比拟的优点。
例如:
存储量大、修改方便、检索快速、安全性高,使用寿命长、成本低、可靠性好等。
这些优点能够极大地提高人事信息管理的效率,有助于企业的发展。
1.1.2意义
人事信息管理系统的开发需要就Java语言和数据库两方面的知识,因此设计一个实用性强的人事信息管理系统,对于我们进行课程设计方面知识的提高有很大的推动作用。
人事信息管理系统的开发需要用到多方面的知识,包括数据库的选用、数据库的建立和维护、信息的存储、管理界面的设计。
这些对于设计者的知识水平有较高的要求。
因此,如何规划、设计和开发好这个人事信息管理系统,对于提高我们的Java开发水平有极大的帮助。
同时,在设计开发过程中,我们可以选用适当的数据库和数据库连接驱动程序,建立好合适的数据库表格和设计好美观大方的管理界面。
1.2主要研究内容
通过对部分中小企业人事管理情况的研究,了解企业的人事管理情况,并参考成功的人事管理系统的开发经验,进行软件的开发以及维护,主要的内容有各个模块的实现,为企业管理提供方便快捷的管理模式。
第2章系统开发相关技术简介
2.1MicrosoftVisualStudio2008
MicrosoftVisualStudio2008是面向WindowsVista、Office2007、Web2.0的下一代开发工具,代号“Orcas”,是对VisualStudio2005一次及时、全面的升级。
VS2008引入了250多个新特性,整合了对象、关系型数据、XML的访问方式,语言更加简洁。
使用VisualStudio2008可以高效开发Windows应用。
设计器中可以实时反映变更,XAML中智能感知功能可以提高开发效率。
同时VisualStudio2008支持项目模板、调试器和部署程序。
VisualStudio2008可以高效开发Web应用,集成了ASP.NETAJAX1.0,包含ASP.NETAJAX项目模板,它还可以高效开发Office应用和Mobile应用
2.2c/s架构设计简介
C/S模式是一种分布式计算模式。
它将某个应用适当分解为多个任务,由多台机器分别执行,共同实现整个应用。
在这多个任务之间存在着多种交互关系,其中最基本的是“请求/响应“关系:
既Client向Server提出某种信息或数据的处理请求,Server针对请求,完成相应处理,并将结果作为响应返回给Client.C/S模式主要由服务器管理程序(Server)、可户应用程序(Client)和中间件(middleware)三部分组成。
Server负责有效地管理系统的资源,其任务集中于
1.数据库安全性的要求
2.数据库访问并发性的控制
3.数据库前端的客户应用程序的全局数据完整性规则
4.数据库的备份与恢复
Client的主要任务是:
1.提供给用户与数据库交互的界面
2.向数据库服务器提交用户请求并接收来自数据库服务器的信息
3.利用客户应用程序对存在与客户端的数据执行应用逻辑要求
中间件负责联结客户应用程序与服务器管理程序,完成数据库服务器和客户应用程序之间的数据传输,协同完成一个作业,以满足用户查询管理数据的要求。
C/S模式比文件服务器系统能提供更高的性能,因为客户端和服务端将应用的处理要求分开,同时又共同实现其处理要求,对客户端应用程序管理数据,而客户断程序发送请求和分析从服务器接收的数据。
第3章系统需求分析
3.1需求概述
需求分析是系统开发的第一步,也是最重要的一步。
利用软件工程的方法对系统进行详细的需求分析,彻底了解用户的需求,从而构造出一个从抽象到具体的逻辑模型系统。
本科毕业设计管理是教学管理工作的重要环节,目前我校采用的手工或单机管理模式具有管理工作难度大、重复劳动量大、效率低等缺点,难以适应本科毕业设计管理的要求。
针对毕业设计管理过程中选题灵活性强、指导老师多、毕业设计地点分散、进度要求严格、工作量大等特点,系统要充分利用学校蜿有的计算机和网络资源,对整个毕业设计各个阶段的工作实施全程管理,最终实现毕业设计管理的电子化、网络化、规范化、可监控化,从而提高毕业设计管理的效率。
3.2功能需求
该开发系统的设计主要用于实现以下几个功能:
(1)人事信息管理系统主界面
人事信息系统主界面主要包括系统设计,公司结构,员工管理,职务管理,出勤管理,工资管理,奖罚管理,福利管理和帮助等内容,可以进行各种信息的添加、查询,删除等操作。
(2)员工信息管理子系统
员工信息管理子系统主要是对所有员工的个人信息进行登记、删除、检索、查找,包括员工的编号,员工的性别,员工的姓名,员工的身份证号码,员工的联系电话、联系方式,员工的入公司时间,照片等记录。
并且还能够删除错误的员工个人记录的信息。
(3)职务信息管理子系统
职务信息管理子系统主要是对所有员工的职务信息进行登记,包括了两个部分的内容——职务管理和职务变更。
职务管理包括员工的编号,员工的姓名以及员工的现任职务,并且能够删除错误的员工职务记录的信息。
职务变更包括员工的编号,员工的姓名,员工的各种职务以及任职该职务的时间。
并且能够删除错误的员工职务变更记录的信息。
(4)出勤信息管理子系统
出勤信息管理子系统主要是对所有员工的出勤信息进行登记,包括了四个部分的内容——上班登记、下班登记、请假登记和加班登记。
上班登记主要是对所有员工的上班信息进行登记,包括员工的编号,员工的姓名,员工的上班时间和相应的备注信息,并且能够删除错误的员工上班时间记录的信息。
下班登记主要是对所有员工的下班信息经行登记,包括员工的编号,员工的姓名,员工的下班时间和相应的备注信息,并且能够删除错误的员工下班时间记录的信息。
。
请假登记主要是对所有员工的请假信息进行登记,包括员工的编号,员工的姓名,员工的请假日期,员工的请假时间,员工的请假原因和相应的备注信息,并能够删除错误的员工请假记录的信息。
加班登记主要是对所有员工的加班信息进行登记,包括员工的编号,员工的姓名,员工的加班日期,员工的加班时间,员工的加班薪资和相应的备注信息,并能够删除错误的员工加班记录的信息。
(5)工资信息管理子系统
工资信息管理子系统主要是对所有的员工的工资信息进行登记,包括了员工的编号,员工的姓名,员工的基本工资、补贴金、加班费、奖惩金,员工的总工资和相应的备注信息,并且能够删除错误的员工工资记录的信息。
(6)惩罚信息管理子系统
惩罚信息管理子系统主要是对说有的员工的惩罚信息进行登记,包括了员工的编号,员工的姓名,员工的奖励、惩罚,员工的惩罚说明和相应的备注信息,并且能够删除错误的员工惩罚记录的信息。
(7)福利信息管理子系统
福利信息管理子系统主要是对所有的员工的福利信息进行登记,包括员工的编号,员工的姓名,员工的养老保险金、失业保险金、工伤保险金,员工的福利总计和相应的备注信息,并且能够删除错误的员工福利记录的信息。
3.3性能需求
随着现在计算机技术的不断完善,以及现代经济的不断发展,传统的管理技术不再满足企业的需要,越来越多的企业注重计算机信息管理系统,人事信息管理系统是典型的计算机信息管理系统之一,企业借助于它进行人力资源管理,达到事半功倍。
随着企业的雇佣人数的增加,有效地管理人员信息成为必然。
人事信息管理系统的开发主要包括后台数据库的建立和维护,以及前台程序开发两个方面。
本文分析了人事信息管理系统的组成情况以及一些基本功能模块,包括系统功能框架分析,系统开发的软硬件环境分析,系统的数据库逻辑设计分析,以及系统的数据流程分析,并且重点对系统的用户界面开发和各个子系统开发作了详细的介绍。
系统主要利用Java语言和编成环境以及vs2008的主要功能进行设计开发,在文中进行了详细的介绍。
该开发系统是中型至大型企业的人事信息管理系统,它界面美观,简单实用,安全性高,能够基本上满足企业人事信息管理的需要,实现了企业员工信息的整体化,系统化,规范化和自动化。
编写程序应符合软件工程化思想。
应用软件的编程工作量极大,而且要经常维护、修改。
如果编写程序不遵守正确的规律,就会给系统的开发维护带来不可逾越的障碍。
软件工程的思想即利用工程化的方法进行软件开发,通过建立软件工程环境来提高软件开发效率。
自顶向下的模块化方法描述了大程序设计的原则,在具体编程中,则应采用结构化程序设计方法。
这种方法指导人们用良好的思想方法却设计程序,其特点是采用顺序结构、循环结构和选择结构三种基本逻辑结构来编写程序。
3.4需求建模
3.4.1概念模型E-R图
这一设计阶段是在逻辑关系分析的基础上,设计出能够满足用户需求的各种实体,以及他们之间的关系,为后面的数据库逻辑设计打下基础。
本文根据上面的分析规划出的实体有部门设计、员工信息、职务管理、职务变更、上班登记、下班登记、员工请假信息、员工加班信息、员工奖惩信息、员工工资信息、员工福利信息、管理员信息等。
实体与实体之间的关系E-R图如图3-1至图3-11所示。
图3-1部门设计实体E-R图
图3-2员工信息实体E-R图
图3-3职务管理实体E-R图
图3-4职务变更实体E-R图
图3-5上班登记实体E-R图
图3-6下班登记实体E-R图
图3-7员工请假实体E-R图
图3-8员工加班实体E-R图
图3-9员工奖惩实体E-R图
图3-10员工工资实体E-R图
图3-11员工福实体E-R图
图3-12管理员信息实体E-R图
3.4.2数据流程分析
1总的系统流程图如图3-13所示:
图3-13总的系统流程
②业务流程图(TransactionFlowDiagram,TFD)是一种描述系统内各单位、人员之间业务关系、作业顺序和管理信息流向的图表,利用它可以帮助分析人员找出业务流程中的不合理的流向。
通过前面对企业仓库管理情况进行的一系列调研与分析,得到如图3-14所示的业务流程图。
图3-14业务流程图
人事管理系统的业务处理过程如下:
企业认识管理系统记录基本的信息并能对系统的的已有信息进行查询;信息添加记录中对基本信息添加;信息输出记录对基本信息并能进行查询。
③根据业务流程图分析,对于其中的数据流向,处理及存储进行逐层分解,可以得到数据流程图(DataFlowDiagram,DFD)。
数据流程图是分层次的,绘制是采取自顶向下逐层分解的方法。
顶层数据流程图只有一张,它说明了系统总的处理功能、输入和输出。
下一步是对顶层数据流程图中的“处理”进行分解,也就是对第一层数据流程图的再分解。
数据流程图如图3-15所示。
图3-15数据流程图
第4章系统的概要设计
4.1系统体系结构设计
虽说程序设计最核心的地方是程序的功能,但程序的界面设计是不可忽视的,它直接影响到程序的易用性。
尤其在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("工资调整")},{newJMenuItem("奖罚查询"),newJMenuItem("添加奖罚")},{newJMenuItem("福利查询"),newJMenuItem("福利调整")},{newJMenuItem("系统帮助"),newJMenuItem("关于系统")}};
finalString[][]MenuItemName={{"setmanager_sysMenu","MainInterface_sysMenu","exit_sysMenu"},{"company_structure_Menu","manageDepartment_Menu","setduty_Menu"},{"add_employeeMenu","updata_employeeMenu","select_employeeMenu","delete_employeeMenu"},{"duty_dutyMenu","select_dutyMenu","change_dutyMenu"},{"start_attendance","finish_attendance","askforleave_attendance","Over_Time_attendance"},
{"select_wageMenu","change_wageMenu"},{"select_award_punishMenu","add_award_punishMenu"},{"select_welfareMenu","updata_welfareMenu"},
{"help_helpMenu","about_helpMenu"}};
for(j=0;j<_Menu.length;j++)
{
_Menu[j].setFont(newFont("TimesRoman",Font.PLAIN,14));
for(i=0;i<_MenuItem[j].length;i++)
{
_MenuItem[j][i].setFont(new
Font("TimesRoman",Font.PLAIN,12));
_MenuItem[j][i].addActionListener(newActionListener()
{
publicvoidactionPerformed(ActionEvente)
{
_MenuBarListener.setEventName(MenuItemName[j][i]);
}});
_MenuItem[j][i].addActionListener(_MenuBarListener);
_Menu[j].add(_MenuItem[j][i]);
}
barMain.add(_Menu[j]);
}
_MenuItem[0][1].addActionListener(newActionListener()
{
publicvoidactionPerformed(ActionEvente)
{
dispose();
}});
returnbarMain;
}
publicstaticvoidmain(String[]args)
{
AppMainappmain=newAppMain();
appmain.setDefaultCloseOperation(JFrame.DO_NOTHING_ON_CLOSE);
}}
系统主界面如图3-2所示:
图3-2系统主页面
4.2运行环境
数据库SQLServer2000
编译环境VisualStudio2008
操作系统WindowsXP
编译语言java
4.3功能设计
构建一个人事信息管理系统,该系统主要由六个子系统组成,分别包括个人信息管理子系统,职务信息管理子系统,出勤信息管理子系统,工资信息管理子系统,惩罚信息管理子系统以及福利信息管理子系统。
同时,为了增强系统的安全性,首先需要通过用户权限认证,只有在登陆界面上输入正确的用户名和密码,才能的功能路本系统进行操作。
通过了系统功能框架的分析,得到了如图4.1的系统功能模块。
系统功能结构图如图4.1
图4.1
4.4数据库设计
表4-1员工信息表(employee_Infor)
字段名
数据类型
字段大小
是否主键
员工编号
文本
8
是
姓名
文本
20
性别
逻辑
2
年龄
数字
密码
文本
10
身份证号
文本
18
联系电话
文本
20
地址
文本
50
入员时间
日期/时间
8
照片
OLE对象
备注
备注
表4-2职务管理表(Duty_Infor)
字段名
数据类型
字段大小
是否主键
员工编号
文本
8
是
姓名
文本
20
现任职务
文本
30
所属部门
文本
20
备注
备注
表4-3职务变更表(Duty_Change_Infor)
字段名
数据类型
字段大小
是否主键
员工编号
文本
8
是
姓名
文本
20
现任职务
文本
30
上任时间
日期/时间
8
卸任时间
日期/时间
8
备注
备注
表4-4上班登记表(Start_Register_Infor)
字段名
数据类型
字段大小
是否主键
员工编号
文本
8
是
姓名
文本
20
上班时间
日期/时间
8
备注
备注
表4-5下班登记表(Finish_Register_Infor)
字段名
数据类型
字段大小
是否主键
员工编号
文本
8
是
姓名
文本
20
下班时间
日期/时间
8
备注
备注
表4-6员工请假信息表(On_Leave_Infor)
字段名
数据类型
字段大小
是否主键
员工编号
文本
8
是
姓名
文本
20
请假时间
日期/时间
8
时间长短
文本
20
备注
备注
表4-7员工加班信息表(Over_Time_Infor)
字段名
数据类型
字段大小
是否主键
员工编号
文本
8
是
姓名
文本
20
加班日期
日期/时间
8
加班时间
文本
20
备注
备注
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 计算机专业 课程设计 人事管理系统