java课程设计报告mini人事管理系统.docx
《java课程设计报告mini人事管理系统.docx》由会员分享,可在线阅读,更多相关《java课程设计报告mini人事管理系统.docx(27页珍藏版)》请在冰豆网上搜索。
java课程设计报告mini人事管理系统
JAVA程序设计课程设计报告
课题:
mini人事管理系统
姓名:
学号:
同组姓名:
专业班级:
指导教师:
设计时间:
评阅意见:
评定成绩:
指导老师签名:
年月日
一、系统描述............................................1
1.前言...............................................1
2.开发系统的功能介绍.................................1
二、分析与设计..........................................2
1.功能模块划分.......................................2
2.数据库结构描述.....................................2
3.各个模块实现方法描述...............................3
4.测试数据及期望结果.................................5
三、源代码..............................................5
1.主页面设计.........................................5
2.记录添加界面的开发设计.............................12
3.上班登记子系统开发设计.............................14
4.下班登记子系统开发设计.............................16
5.信息统计页面的设计开发.............................18
四、系统测试............................................22
五、总结.................................................25
1.实验心得...........................................25
2.参考文献...........................................26
一、系统描述
1.前言
随着科学技术的不断提高,计算机科学日渐成熟,其强大的功能已为人们深刻认识,它已进入人类社会的各个领域并发挥着越来越重要的作用。
作为计算机应用的一部分,使用计算机对人事信息进行管理,具有着手工管理所无法比拟的优点.例如:
检索迅速、查找方便、可靠性高、存储量大、保密性好、寿命长、成本低等。
这些优点能够极大地提高人事理的效率,也是企业的科学化、正规化管理,与世界接轨的重要条件。
因此,开发这样一套管理软件成为很有必要的事情。
目前,无论是机关、事业单位、还是企业单位,人事管理对于组织生存与长远发展所具备的重要性都已经有了明确的认识,而人事管理水平的提升不仅需要高素质的管理人员,而且也需要信息化工具进行辅助
在现代化的企业管理中,人事管理系统有着十分重要的作用,然而,用大型软件系统来于小型的企事业单位,不啻于“杀鸡用牛刀”,因此小型的的软件对于这种单位自然有十分重要作用。
2、开发系统的功能介绍
(1)上班登记子系统
上班登记子系统主要对所有员工的上班信息进行登记,包括员工的工号、员工的姓名、员工的上班时间和相应的备注信息,并且还要能够删除错误的员工上班时间信息的记录
(2)下班登记子系统
下班登记子系统主要对所有员工的下班信息进行登记,包括员工的工号、员工的姓名、员工的下班时间和相应的备注信息,并且还要能够删除错误的员工下班时间信息的记录。
(3)请假登记子系统
请假登记子系统主要对所有员工的请假信息进行登记,包括员工的工号、员工的姓名、员工的请假时间和相应的备注信息,并且还要能够删除错误的员工请假时间信息的记录。
(4)信息统计子系统
信息统计系统主要对所有员工的上班时间信息、下班时间信息、请假时间信息进行统计,包括员工的工号、员工的姓名、员工的上班时间、员工的下班时间、员工的请假时间和相应的备注信息,并且还可以删除错误的员工时间信息的记录。
(5)记录添加子系统
记录添加子系统的主要作用是在数据库中添加员工工号、员工姓名、相应的时间和备注。
二、分析与设计
本组共有三人一起完成本次的课程设计任务,组长是李海霞,组员有李丹和周露,组内分工为:
李丹负责上班系统的开发,周露负责下班系统的开发,李海霞负责请假系统的开发以及统计信息系统的开发,然后再将每人完成的开发系统总结到一块。
大家一起研究错误出在哪里,该怎么改正这些错误。
1.功能模块划分
本系统分为如下的几大模块:
2.数据库结构描述
在这个MINI开发系统中,选用mysql作为系统服务数据库,这是因为mysql功能强大,操作简便,应用较广。
数据库方面只做了一张表,根据功能不同,在每个子系统里面读取的数据部分不同。
设计的表如表一:
表一
列名
数据类型
可否允空
长度
工号
数值型
否
50
姓名
字符型
否
50
上班时间
日期型
否
30
下班时间
日期型
否
30
请假时间
日期型
是
30
备注
字符型
是
50
3.各个模块实现方法描述
1)上班登记模块描述(负责人:
李丹)
上班登记子系统主要包括一个上班信息统计界面和一个上班信息添加界面。
上班信息统计界面是一个表格,每一行就是一个员工的相关信息。
如果某条记录不符合要求,可以将此条记录删除。
上班信息添加界面主要是员工工号、员工姓名、相应时间和相关备注信息。
可以根据信息添加界面上的系统时间指示来填入相应的时间。
其流程图为:
2)下班登记模块描述(负责人:
周露)
下班登记子系统主要对所有员工的下班信息进行登记,包括员工的工号、员工的姓名、员工的下班时间和相应的备注信息,并且还要能够删除错误的员工下班时间信息的记录。
下班信息添加界面主要是员工工号、员工姓名、相应时间和相关备注信息。
可以根据信息添加界面上的系统时间指示填入相应的时间。
其流程图为:
3)请假登记模块描述(负责人:
李海霞)
请假登记子系统主要对所有员工的请假信息进行登记,包括员工的工号、员工的姓名、员工的请假时间和相应的备注信息,并且还要能够删除错误的员工请假时间信息的记录。
在这个下班信息添加界面中,主要是读取员工的ID、员工的姓名、员工的请假时间以及相关的描述信息,并将这些信息写入到数据库中。
其流程图为:
4)信息统计模块描述(负责人:
李海霞)
信息统计系统主要对所有员工的上班时间信息、下班时间信息、请假时间信息进行统计,包括员工的工号、员工的姓名、员工的上班时间、员工的下班时间、员工的请假时间和相应的备注信息,并且还可以删除错误的员工时间信息的记录。
信息统计子系统主要是一个信息统计界面。
信息统计界面是一个表格,每一行就是一个员工的相关信息。
如果觉得某些记录不符合要求,还可以将此条记录删除。
在此界面,可以看到所有员工的上下班时间及其请假时间。
4.测试数据及期望结果
这个阶段的工作主要是实际运行人事管理系统应用程序,进入人事管理系统登录界面,
在前一阶段,虽然也作了性能预测,但是仅仅做了性能估计,且在估计过程中,做了许多简化和假设,忽略了许多次要因素,因而估计是粗糙的,并可能失真。
在试运行阶段,必须进行实际测量和评价,测试数据尽可能覆盖现实世界的各种情况。
如果实际测试结果不符合设计目标,则需返回物理设计阶段,修改参数。
有时也许还需要返回初始阶段。
期望结果:
比方说,员工A3:
00来上班,点击上班登记,手动添加上班记录。
下班亦然。
在统计模块中可以自动统计并显示出每个员工每天上下班,请假的全部记录。
三、源代码
1.主页面的设计开发
packagemanpowersystem;
importjavax.swing.*;
importjava.awt.event.*;
importjava.awt.*;
importcom.borland.jbcl.layout.*;
importjavax.swing.event.*;
publicclassMainFrameextendsJFrame{
privateImageIconfmImage;//主框架面板代码文件声明的属性和变量
XYLayoutxYLayout1=newXYLayout();
JButtonjTitleButton=newJButton();
JButtonjOnWorkButton=newJButton();
JButtonjOffWorkButton=newJButton();
JButtonjLeaveWorkButton=newJButton();
JButtonjStaticButton=newJButton();
JButtonjExitButton=newJButton();
publicMainFrame(){
try{
jbInit();
addWindowListener(newWindowAdapter(){//窗口事件监听
publicvoidwindowClosing(WindowEvente){
dispose();//销毁窗口}});}
catch(Exceptione){
e.printStackTrace();}}
publicstaticvoidmain(String[]args){
MainFramemainFrame=newMainFrame();
mainFrame.validate();
mainFrame.setLocation(200,150);
mainFrame.setSize(600,480);
mainFrame.setVisible(true);
mainFrame.pack();}
privatevoidjbInit()throwsException{
fmImage=newImageIcon
(manpowersystem.MainFrame.class.getResource("Fengmian.png"));
jTitleButton.setBackground(newColor(210,138,177));
jTitleButton.setIcon(fmImage);
jTitleButton.setFocusable(false);//此按钮的聚焦作用失效
xYLayout1.setWidth(540);
xYLayout1.setHeight(407);
this.getContentPane().setBackground(newColor(210,138,177));
this.setLocale(java.util.Locale.getDefault());
this.setResizable(true);
this.setTitle("Mini人事管理系统");
this.addWindowListener(new
MainFrame_this_windowAdapter(this));
this.getContentPane().setLayout(xYLayout1);
jOnWorkButton.setBackground(newColor(212,158,217));
jOnWorkButton.setFont(newjava.awt.Font("DialogInput",1,16));
jOnWorkButton.setText("上班登记");
jOnWorkButton.addActionListener(newMainFrame_jOnWorkButton_actionAdapter(this));
jOnWorkButton.addHierarchyBoundsListener(new
MainFrame_jOnWorkButton_hierarchyBoundsAdapter(this));
jOffWorkButton.setBackground(newColor(212,158,217));
jOffWorkButton.setFont(newjava.awt.Font("DialogInput",1,16));
jOffWorkButton.setText("下班登记");
jOffWorkButton.addActionListener(newMainFrame_jOffWorkButton_actionAdapter(this));
jOffWorkButton.addAncestorListener(new
MainFrame_jOffWorkButton_ancestorAdapter(this));
jLeaveWorkButton.setBackground(newColor(212,158,217));
jLeaveWorkButton.setFont(newjava.awt.Font("DialogInput",1,16));
jLeaveWorkButton.setText("请假登记");
jLeaveWorkButton.addActionListener(newMainFrame_jLeaveWorkButton_actionAdapter(this));
jLeaveWorkButton.addAncestorListener(new
MainFrame_jLeaveWorkButton_ancestorAdapter(this));
jStaticButton.setBackground(newColor(212,158,217));
jStaticButton.setFont(newjava.awt.Font("DialogInput",1,16));
jStaticButton.setText("统计情况");
jStaticButton.addActionListener(newMainFrame_jStaticButton_actionAdapter(this));
jStaticButton.addAncestorListener(new
MainFrame_jStaticButton_ancestorAdapter(this));
jExitButton.setBackground(newColor(212,158,217));
jExitButton.setFont(newjava.awt.Font("DialogInput",1,16));
jExitButton.setText("退出系统");
jExitButton.addActionListener(newMainFrame_jExitButton_actionAdapter(this));
jExitButton.addAncestorListener(newMainFrame_jExitButton_ancestorAdapter(this));
this.getContentPane().add(jTitleButton,newXYConstraints(0,0,358,409));
this.getContentPane().add(jOnWorkButton,newXYConstraints(393,35,115,45));
this.getContentPane().add(jOffWorkButton,
newXYConstraints(393,109,115,45));
this.getContentPane().add(jLeaveWorkButton,
newXYConstraints(393,184,115,45));
this.getContentPane().add(jStaticButton,
newXYConstraints(393,258,115,45));
this.getContentPane().add(jExitButton,
newXYConstraints(393,332,115,45));this.setResizable(false);}
voidthis_windowClosed(WindowEvente){
System.exit(0);}
voidjOnWorkButton_ancestorMoved(HierarchyEvente){}
voidjOffWorkButton_ancestorMoved(AncestorEvente){}
voidjLeaveWorkButton_ancestorMoved(AncestorEvente){}
voidjStaticButton_ancestorMoved(AncestorEvente){}
voidjExitButton_ancestorMoved(AncestorEvente){}
voidjExitButton_actionPerformed(ActionEvente){System.exit(0);
}//退出系统按钮的事件处理
voidjOnWorkButton_actionPerformed(ActionEvente){
OnWorkPanelonWorkPanel=newOnWorkPanel();
onWorkPanel.setVisible(true);}//上班登记按钮的事件处理
voidjOffWorkButton_actionPerformed(ActionEvente){
OffWorkPaneloffWorkPanel=newOffWorkPanel();
offWorkPanel.setVisible(true);}//下班登记按钮的事件处理
voidjLeaveWorkButton_actionPerformed(ActionEvente){
LeaveWorkPanelleaveWorkPanel=newLeaveWorkPanel();
leaveWorkPanel.setVisible(true);}//请假登记按钮的事件处理
voidjStaticButton_actionPerformed(ActionEvente){
StaticPanelstaticPanel=newStaticPanel();
staticPanel.setVisible(true);}//统计情况按钮的事件处理}
ClassMainFrame_this_windowAdapter
extendsjava.awt.event.WindowAdapter{
MainFrameadaptee;
MainFrame_this_windowAdapter(MainFrameadaptee){
this.adaptee=adaptee;}
publicvoidwindowClosed(WindowEvente){
adaptee.this_windowClosed(e);}}
classMainFrame_jOnWorkButton_hierarchyBoundsAdapterextendsjava.awt.event.
HierarchyBoundsAdapter{
MainFrameadaptee;
MainFrame_jOnWorkButton_hierarchyBoundsAdapter(MainFrameadaptee){
this.adaptee=adaptee;}
publicvoidancestorMoved(HierarchyEvente){
adaptee.jOnWorkButton_ancestorMoved(e);}}
classMainFrame_jOffWorkButton_ancestorAdapterimplementsjavax.swing.event.
AncestorListener{
MainFrameadaptee;
MainFrame_jOffWorkButton_ancestorAdapter(MainFrameadaptee){
this.adaptee=adaptee;}
publicvoidancestorAdded(AncestorEvente){}
publicvoidancestorRemoved(AncestorEvente){}
publicvoidancestorMoved(AncestorEvente){
adaptee.jOffWorkButton_ancestorMoved(e);}}
classMainFrame_jLeaveWorkButton_ancestorAdapterimplementsjavax.swing.event.AncestorListener{MainFrameadaptee;
MainFrame_jLeaveWorkButton_ancestorAdapter(MainFrameadaptee){
this.adaptee=adaptee;}
publicvoidancestorAdded(AncestorEvente){}
publicvoidancestorRemoved(AncestorEvente){}
publicvoidancestorMoved(AncestorEvente){
adaptee.jLeaveWorkButton_ancestorMoved(e);}}
classMainFrame_jStaticButton_ancestorAdapter
implementsjavax.swing.event.AncestorListener{
MainFrameadaptee;
MainFrame_jStaticButton_ancestorAdapter(MainFrameadaptee){
this.adaptee=adaptee;}
publicvoidancestorAdded(AncestorEvente)