java课程设计报告mini人事管理系统_第1页
java课程设计报告mini人事管理系统_第2页
java课程设计报告mini人事管理系统_第3页
java课程设计报告mini人事管理系统_第4页
java课程设计报告mini人事管理系统_第5页
已阅读5页,还剩27页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、JAVA程序设计课程设计报告课 题:mini人事管理系统姓 名:学 号:同组姓名:专业班级:指导教师:设计时间:评阅意见:评定成绩:指导老师签名:年月日27一、系统描述11前言12. 开发系统的功能介绍1二、分析与设计21. 功能模块划分22. 数据库结构描述23. 各个模块实现方法描述34. 测试数据及期望结果5三、源代码51. 主页面设计 52. 记录添加界面的开发设计123. 上班登记子系统开发设计144. 下班登记子系统开发设计165. 信息统计页面的设计开发18四、系统测试22五、总结251. 实验心得252. 参考文献2628、系统描述1. 刖5随着科学技术的不断提高,计算机科学日

2、渐成熟,其强大的功能已为人们深 刻认识,它已进入人类社会的各个领域并发挥着越来越重要的作用。作为计算机 应用的一部分,使用计算机对人事信息进行管理,具有着手工管理所无法比拟的 优点.例如:检索迅速、查找方便、可靠性高、存储量大、保密性好、寿命长、成 本低等。这些优点能够极大地提高人事理的效率,也是企业的科学化、正规化管 理,与世界接轨的重要条件。因此,开发这样一套管理软件成为很有必要的事情。目前,无论是机关、事业单位、还是企业单位,人事管理对于组织生存与长 远发展所具备的重要性都已经有了明确的认识,而人事管理水平的提升不仅需要 高素质的管理人员,而且也需要信息化工具进行辅助在现代化的企业管理中

3、,人事管理系统有着十分重要的作用,然而,用大型 软件系统来于小型的企事业单位,不啻于“杀鸡用牛刀”,因此小型的的软件对 于这种单位自然有十分重要作用。2、开发系统的功能介绍(1)上班登记子系统上班登记子系统主要对所有员工的上班信息进行登记,包括员工的工号、 员工的姓名、员工的上班时间和相应的备注信息,并且还要能够删除错误的员工 上班时间信息的记录(2)下班登记子系统下班登记子系统主要对所有员工的下班信息进行登记,包括员工的工号、 员工的姓名、员工的下班时间和相应的备注信息,并且还要能够删除错误的员工 下班时间信息的记录。(3)请假登记子系统请假登记子系统主要对所有员丄的请假信息进行登记,包括员

4、工的工号、 员工的姓名、员工的请假时间和相应的备注信息,并且还要能够删除错误的员工 请假时间信息的记录。(4)信息统计子系统信息统计系统主要对所有员工的上班时间信息、下班时间信息、请假时间信息进行统计,包括员工的工号、员工的姓名、员工的上班时间、员工的下班 时间、员工的请假时间和相应的备注信息,并且还可以删除错误的员工时间信息 的记录。(5)记录添加子系统记录添加子系统的主要作用是在数据库中添加员工工号、员工姓名、相 应的时间和备注。二、分析与设计本组共有三人一起完成本次的课程设计任务,组长是李海霞,组员有李丹和周露, 组内分工为:李丹负责上班系统的开发,周露负责下班系统的开发,李海霞负责 请

5、假系统的开发以及统讣信息系统的开发,然后再将每人完成的开发系统总结到 一块。大家一起研究错误出在哪里,该怎么改正这些错误。1. 功能模块划分本系统分为如下的儿大模块:Mini人事管理系统下班登记 子系统上班登记子系统请假登记子系统信息统计子系统退出系统2. 数据库结构描述在这个MINI 发系统中,选用mysql作为系统服务数据库,这是因为mysql功 能强大,操作简便,应用较广。数据库方面只做了一张表,根据功能不同,在每 个子系统里面读取的数据部分不同。设计的表如表一:表一列名数据类型可否允空长度工号数值型否50姓名字符型否50上班时间日期型否30下班时间IT期型否30请假时间日期型是30备注

6、字符型是503.各个模块实现方法描述1)上班登记模块描述(负责人:李丹)上班登记子系统主要包括一个上班信息统计界面和一个上班信息添加界面。上班 信息统计界面是一个表格,每一行就是一个员工的相关信息。如果某条记录不符 合要求,可以将此条记录删除。上班信息添加界面主要是员工工号、员工姓名、相应时间和相关备注信息。可以 根据信息添加界面上的系统时间指示来填入相应的时间。其流程图为:2)下班登记模块描述(负责人:周露)下班登记子系统主要对所有员工的下班信息进行登记,包括员工的工号、员工的 姓名、员工的下班时间和相应的备注信息,并且还要能够删除错误的员工下班时 间信息的记录。下班信息添加界面主要是员工工

7、号、员工姓名、相应时间和相关 备注信息。可以根据信息添加界面上的系统时间指示填入相应的时间。其流程图为:3)请假登记模块描述(负责人:李海霞)请假登记子系统主要对所有员工的请假信息进行登记,包括员工的工号、员 工的姓名、员工的请假时间和相应的备注信息,并且还要能够删除错误的员工请 假时间信息的记录。在这个下班信息添加界面中,主要是读取员工的ID、员工的姓名、员工的请假 时间以及相关的描述信息,并将这些信息写入到数据库中。其流程图为:4)信息统讣模块描述(负责人:李海霞)信息统计系统主要对所有员工的上班时间信息、下班时间信息、请假时间信 息进行统计,包括员工的工号、员工的姓名、员工的上班时间、员

8、工的下班时间、 员工的请假时间和相应的备注信息,并且还可以删除错误的员工时间信息的记 录。信息统计子系统主要是一个信息统计界面。信息统计界面是一个表格,每一行就 是一个员工的相关信息。如果觉得某些记录不符合要求,还可以将此条记录删除。 在此界面,可以看到所有员工的上下班时间及其请假时间。4. 测试数据及期望结果这个阶段的工作主要是实际运行人事管理系统应用程序,进入人事管理系统登录 界面,在前一阶段,虽然也作了性能预测,但是仅仅做了性能估计,且在估计过程中, 做了许多简化和假设,忽略了许多次要因素,因而估计是粗糙的,并可能失真。 在试运行阶段,必须进行实际测量和评价,测试数据尽可能覆盖现实世界的

9、各种 情况。如果实际测试结果不符合设讣LI标,则需返回物理设汁阶段,修改参数。有 时也许还需要返回初始阶段。期望结果:比方说,员工A3: 00来上班,点击上班登记,手动添加上班记 录。下班亦然。在统计模块中可以自动统计并显示出每个员工每天上下班,请假 的全部记录。三、源代码1. 主页面的设计开发package manpowersystem;import javax.swing.*;import java.awt.event.*;import java.awt.*;import com.borland.jbcllayout.*;import javax.swing.event.*;public

10、class MainFrame extends J Frame private Imageicon fmlmage; /主框架面板代码文件声明的属性和变量XYLzayout xYLayoutl = new XYLayout();JButton jTitleButton = new JButton();JButton jOnWorkButton = new JButton();JButton jOffWorkButton = new JButton();JButton jLeaveWorkButton = new JButton();JButton jStaticButton = new JBu

11、tton();JButton jExitButton = new JButton();public MainFrame() try jblnit();addWindowListener( new WindowAdapter() 窗 口事件监听public void windowClosing( WindowEvent e ) dispose();销毁窗口 ) );catch ( Exception e ) e.printStackTrace();)public static void main( Stringf args ) MainFrame mainFrame = new MainFram

12、e();mainFrame.validate();mainFrame.setLocation( 200, 150 );mainFrame.setSize( 600, 480 );mainFrame.setVisible( true );mainFrame.packO;private void jblnit() throws Exception fmlmage二new Imageicon(nianpowersystem.MainFrame.class.getResource(MFengmian.pngH);jTitleButton.setBackground( new Color( 210, 1

13、3& 177 );jTitleButton.setIcon( fmlmage);jTitleButton.setFocusable( false ); 此按钮的聚焦作用失效xYLayout 1 .setWidth( 540 );xYLayout 1 .setHeight( 407 );this.getContentPane().setBackground( new Color( 210, 138, 177 ); this.setLocale( java.util.Locale.getDefault();this.setResizab!e( true );this.setTitle( ”Mini

14、 人事管理系统”); this.addWindowListener(newMainFrame_this_windowAdapter( this ); this.getContentPane().setLayout( xYLayoutl );jOnWorkButton.setBackground( new Color( 212, 15& 217 ); jOnWorkButton.setFont( new java.awt.Font( HDialogInput 1, 16 ); jOnWorkButton.setText(上班登记”); jOnWorkButton.addActionListene

15、r(newMainFrame_jOnWorkButton_actionAdapter( this ); jOnWorkButton.addHierarchyBoundsListener( newMainFrameOnWorkButton_hierarchyBoundsAdapter( this ); jOffWorkButton.setBackground( new Color( 212, 15& 217 ); jOffWorkButton.setFont( new java.awt.Font( MDialogInputH, 1, 16 ); jOffWorkButton.setText(下班

16、登记);jOffWorkButton.addActionListener(new MainFrame_jOffWorkButton_actionAdapter(this);jOffWorkButton.addAncestorListener( newMainFrame_jOffWorkButton_ancestorAdapter( this ); jLeaveWorkButton.setBackground( new Color( 212, 15& 217 );jLeaveWorkButton.setFont( new java.awt.Font( HDialogInputM, 1, 16 )

17、; jLeaveWorkButton.setText(请假登记);j Leave WorkButton.add ActionListener(newMainFrame JLeaveWorkButton_actionAdapter(this);jLeaveWorkButton.addAncestorListener( newMainFrameJLeaveWorkButton_ancestorAdapter( this ); jStaticButton.setBackground( new Color( 212, 158, 217 ); jStaticButton.setFont( new jav

18、a.awt.Font( HDialogInput, 1, 16 ); jStaticButton.setText(统计情况”); jStaticButton.addActionListener(newMainFrame JStaticButton_actionAdapter(this);jStaticButton.addAncestorListener( newMainFrameStnticButton_ancestorAdapter( this ); jExitButton.setBackground( new Color( 212, 158, 217 ); jExitButton.setF

19、ont( new java.awt.Font( MDialogInput, 1, 16 ); jExitButton.setText(退出系统”); jExitButton.addActionListener(new MainFrameExitButton_actionAdapter( this ); jExitButton.addAncestorListener(newMainFrameJExitButton_ancestorAdapter( this );this.getContentPane().add( jTitleButtonjiew XYConstraints( 0, 0, 35&

20、 409 ); this.getContentPane().add(jOnWorkButton,new XYConstraints( 393, 35, 115, 45 ); this.getContentPane().add( jOffWorkButton, new XYConstraints( 393, 109, 115, 45 );this.getContentPane().add( jLeaveWorkButton,new XYConstraints( 393, 184, 115, 45 );this.getContentPane().add( jStaticButton,new XYC

21、onstraints( 393, 25& 115, 45 );this.getContentPane().add( jExitButton,new XYConstraints( 393, 332, 115, 45 ) );this.setResizable(false);void this_windowCIosed( WindowEvent e ) System.exit( 0);)void jOnWorkButton_ancestorMoved( HierarchyEvent e ) void jOffWorkButton_ancestorMoved( AncestorEvent e ) v

22、oid jLeaveWorkButton_ancestorMoved( AncestorEvent e ) void jStaticButton_ancestorMoved( AncestorEvent e ) ) void jExitButton_ancestorMoved( AncestorEvent e ) void jExitButton_actionPerformed( ActionEvent e ) System.exit( 0 ); 退出系统按钮的事件处理void jOnWorkButton_actionPerformed( ActionEvent e ) OnWorkPanel

23、 onWorkPanel = new OnWorkPanel();onWorkPanel.setVisible(tnje);/上班登记按钮的事件处理 void jOffWorkButton_actionPerfornied(ActionEvent e) OffWorkPanel offWorkPanel = new OffWorkPanel(); offWorkPanel.setVisible(true);)/ F班登记按钮的事件处理 void jLeaveWorkButton_actionPerformed(ActionEvent e) LeaveWorkPanel leaveWorkPan

24、el = new LeaveWorkPanel(); leave WorkPanel. setVisible(true); 请假登记按钮的事件处理 void jStaticButton_actionPerformed(ActionEvent e) StaticPanel staticPanel = new StaticPanel();staticPanel.setVisible(true);)/统计情况按钮的事件处理Class MainFrame_this_windowAdapter extends java.awt.event. Window Adapter MainFrame adapte

25、e;MainFrame_this_windowAdapter( MainFrame adaptee ) this.adaptee = adaptee;public void windowClosed( WindowEvent e ) adaptee.this_windowClosed( e );class MainFrameOnWorkButton_hierarchyBoundsAdapter extends java.awt.event. HierarchyBoundsAdapter MainFrame adaptee;MainFrameJOnWorkButton_hierarchyBoun

26、dsAdapter( MainFrame adaptee ) this.adaptee = adaptee;public void ancestorMoved( HierarchyEvent e ) adaptee.jOnWorkButton_ancestorMoved( e );) class MainFrame_jOffWorkButton_ancestorAdapter implements javax.swing.event. AncestorListener MainFrame adaptee;MainFrameJOffWorkButton_ancestorAdapter( Main

27、Frame adaptee ) this.adaptee = adaptee;public void ancestorAdded( AncestorEvent e ) public void ancestorRemoved( AncestorEvent e ) implementspublic void ancestorMoved( AncestorEvent e ) adaptee.jOfTWorkButton_ancestorMoved( e );) classMainFramej Leave WorkButton_ancestor Adapterjavax.swing.event.Anc

28、estorListener MainFrame adaptee;MainFrameJLeaveWorkButton_ancestorAdapter( MainFrame adaptee ) this.adaptee = adaptee;)public void ancestorAdded( AncestorEvent e ) public void ancestorRemoved( AncestorEvent e ) public void ancestorMoved( AncestorEvent e ) adaptee.jLeaveWorkButton_ancestorMoved( e );

29、) class MainFrame_jStaticButton_ancestorAdapter implements javax.swing.event.AncestorListener MainFrame adaptee;MainFrameStnticButton_ancestorAdapter( MainFrame adaptee ) this.adaptee = adaptee;public void ancestorAdded( AncestorEvent e ) public void ancestorRemoved( AncestorEvent e ) public void an

30、cestorMoved( AncestorEvent e ) adaptee.jStaticButton_ancestorMoved( e );) class MainFrame_jExitButton_ancestorAdapter implements javax.swing.event.AncestorListener MainFrame adaptee;MainFrameExitBiitton_rmcestorAdapter( MainFrame adaptee ) this.adaptee = adaptee;)public void ancestorAdded( AncestorE

31、vent e ) public void ancestorRemoved( AncestorEvent e ) public void ancestorMoved( AncestorEvent e ) adaptee.jExitButton_ancestorMoved( e ); class MainFrame_jExitButton_actionAdapterimplements java.awt.event.ActionListener MainFrame adaptee;MainFrameExitButton_actionAdapter( MainFrame adaptee ) this

32、.adaptee = adaptee;public void actionPerformed( ActionEvent e ) adaptee.jExitButton_actionPerformed( e ); class MainFrame_jOnWorkButton_actionAdapter implements java.awt.event.ActionListener MainFrame adaptee;MainFrame_jOnWorkButton_actionAdapter( MainFrame adaptee ) this.adaptee = adaptee;public vo

33、id actionPerformed( ActionEvent e ) adaptee.jOnWorkButton_actionPerfornied( e);) class MainFrame_jOffWorkButton_actionAdapter implements java.awt.event.ActionListener MainFrame adaptee;MainFrame-jOffWorkButton_actionAdapter(MainFrame adaptee) this.adaptee = adaptee;implementsimplementspublic void ac

34、tionPerformed(ActionEvent e) adaptee.jOffWorkButton_actionPerformed(e); classMainFrame Leave WorkButton_actionAdapterjava.awt.event.ActionListener MainFrame adaptee;MainFrameJLeaveWorkButtonactionAdapterCMainFrame adaptee) this.adaptee = adaptee;public void actionPerformed(ActionEvent e) adaptee.jLe

35、aveWorkButton_actionPerformed(e); classMainFrame_jStaticButton_actionAdapterjava.awt.event.ActionListener MainFrame adaptee;MainFrameSkiticBiitton_QctionAdapter(MjinFnime adaptee) this.adaptee = adaptee;public void actionPerformed(ActionEvent e) adaptee.jStaticButton_actionPerformed(e);)2. 记录添加界面的开发

36、设计package manpowersystem;import java.io.*;import java.util.*;import java.awt.*;import java.awt.event.*;import javax.swing.*;import javax.swing.event.*;import j a vax. swing. border. *;import javax.swing.table.*;public class Recordltem private String strEmployeelD;private String strEmployeeName;priva

37、te String strOnWorkTime;private String strOffWorkTime;private String strLeaveWorkTime;private String strDescribe;public Recordltem() strEmployeelD = new String( ,M,); strEmployeeName = new String(” ); strOnWorkTime = new String( ); strOffWorkTime = new String( Hn); strLeaveWorkTime = new String( nn

38、); strDescribe = new String(“ ); public void SetOnworkItem( String strEmployeelD. String strEmployeeName, String strOnWorkTime, String strDescribe ) this.strEmployeelD = strEmployeelD;this.strEmployeeName = strEmployeeName;this, st rOn WorkTi me = strOnWorkTime;this.strDescribe = strDescribe;)public

39、 void SetOffworkItem( String strEmployeelD, String strEmployeeName,String strOffWorkTime, String strDescribe ) this.strEinployeelD = strEniployeelD;this.strEniployeeName = strEniployeeName;this.strOffWorkTime = st rOffWorkTi me;this.strDescribe = strDescribe;public void SetLeaveworkItem( String strE

40、mployeelD, String strEmployeeName,String strLeaveWorkTime, String strDescribe ) this.strEinployeelD = strEniployeelD;this.strEmployeeName = strEniployeeName;this, st rLeave WorkTi me = strLeaveWorkTime;this.strDescribe = strDescribe;)public String GetEmployeeID() return strEmployeelD;public String G

41、etEmpIoyeeName() return strEmpIoyeeName;public String GetOnWorkTime() return strOnWorkTime;)public String GetOffWorkTime() return strOffWorkTime;)public String Get Leave WorkTi me() return strLeaveWorkTime;public String GetDescribe() return strDescribe;public void SetEmployeeID( String strEmployeelD

42、 ) this.strEinployeelD = strEmployeelD;)public void SetEmployeeName( String strEmployeeName ) this.strEmployeeName = strEmployeeName; public void SetOnWorkTime( String strOnWorkTime ) this.strOnWorkTime = strOnWorkTime;)public void SetOffWorkTinie( String strOffWorkTime ) this.strOffWorkTime = strOf

43、fWorkTime;)public void SetLeaveWorkTime( String strLeaveWorkTime ) this, st rLea ve WorkTi me = strLeaveWorkTime;public void SetDescribe( String strDescribe ) this.strDescribe = strDescribe;)3. 上班登记子系统开发设计package manpowersystem;import java.io.*;import java.util.*;import java.awt.*;import java.awt.ev

44、ent.*;import javax.swing.*;import javax.swing.event.*;import javax .swing, border. *;import javax.swing.table.*;import java.util.*;import comborland.jbcl.layout.*;public class OnWorkPanel extends TablePanel String arrField = -I 号“,”姓名”,”上班时间,”备 注”; public OnWorkPanel() tableModel = new DefaultTableM

45、odel( arrData, arrField ); jRecordTable = new JTable( tableModel); jTableScrollPane.getViewport().add( jRecordTable, null);UpdateRecord(); / 更新表格this.setTitle( ”上班登记页面”);)public void AddRecord() OnWorkRecordPane recordPane = new OnWorkRecordPane();recordPane.setSize( 630, 300 );recordPane.setLocatio

46、n( 230, 100 );recordPane.setVisible( true );recordPane.setResizable( false );recordPane.validate();UpdateRecord(); / 更新表格)public void DelRecord() jTableScrollPane.getViewport().add( jRecordTable, null);intRow = jRecordTable.getSelectedRow();if (intRow = -1 )return;try database.DeleteData( tableModel

47、.getValueAt( intRow, 0 ).toString(); catch ( Exception e ) e.printStackTrace();UpdateRecord(); / 更新表格public void UpdateRecord() Object arrTmp= ;/设定表格的字段tableModel = new DefaultTableModel( arrTmp, arrField );jRecordTable = new JTable( tableModel); jTableScrollPane.getViewport().add( jRecordTable, nul

48、l);try Record Item result = new Record Item 100 ;for (int j = 0; j 100; j+ )resultf j = new Recordltem();result = database. AccessData();for (int i = 0; i result length; i+ ) Object newdata = resultf i .GetEniployeeID(),result i .GetEniployeeName(),result i .GetOnWorkTime(),result i .GetDescribe();S

49、tring strTmp = resultf i .GetOnWorkTinie();if ( strTmp.trim().length() = 0 )continue;tableModel.addRow( newdata);)catch ( Exception e ) e.printStackTrace();)public class OnWorkRecordPane extends Record Pane public OnWorkRecordPane() public void RestoreRecord() String strTmp = jEmployeeIDTextField.ge

50、tText();if(strTmp.trim().length() = 0)this.dispose();return;item.SetOnworkItem( jEmployeeIDTextField.getText(), jEmployeeNameTextField.getText(), jDateTimeTextField.getText(), jReasonTextField.getText() );try database.StoreData( item );catch ( Exception e ) e.printStackTrace(); this.dispose();j4. 下班登记子系统开发设计package manpowersystem;import java.io.*;import java.util.*;import java.awt.*;import java.awt.event.*;import javax.swing.*;import javax.swing.event.*;import javax.swing.border.*;import javax.swing.table.*;import java.uti

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论