版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、 JAVA程序设计 课程设计报告课 题: mini人事管理系统 姓 名: 学 号: 201214 同组姓名: 专业班级: 网工 指导教师: 设计时间: 2014年6月17日 评阅意见:评定成绩: 指导老师签名: 年 月 日1目 录一 系统描述. .1(一) 前言.1(二) 开发系统的功能介绍.1二 分析与设计.2(一) 功能模块划分.2(二) 数据库结构描述.2(三)各个模块实现方法描述. . . .3(四) 测试数据及期望结果.3三 源代码.5(一) 主页面设计. 5(二)记录添加界面的开发设计. 11(三)上班登记子系统开发设计. 13 (四)信息统计页面的设计开发. 15 四 系统测试.
2、18 五 总结. . 21(一) 实验心得. 21(二) 参考文献. 22一.系统描述(一) 前言随着科学技术的不断提高,计算机科学日渐成熟,其强大的功能已为人们深刻认识,它已进入人类社会的各个领域并发挥着越来越重要的作用。作为计算机应用的一部分,使用计算机对人事信息进行管理,具有着手工管理所无法比拟的优点.例如:检索迅速、查找方便、可靠性高、存储量大、保密性好、寿命长、成本低等。这些优点能够极大地提高人事理的效率,也是企业的科学化、正规化管理,与世界接轨的重要条件。因此,开发这样一套管理软件成为很有必要的事情。目前,无论是机关、事业单位、还是企业单位,人事管理对于组织生存与长远发展所具备的重
3、要性都已经有了明确的认识,而人事管理水平的提升不仅需要高素质的管理人员,而且也需要信息化工具进行辅助在现代化的企业管理中,人事管理系统有着十分重要的作用,然而,用大型软件系统来于小型的企事业单位,不啻于“杀鸡用牛刀”,因此小型的的软件对于这种单位自然有十分重要作用。(二)开发系统的功能介绍1. 上班登记子系统上班登记子系统主要对所有员工的上班信息进行登记,包括员工的工号、员工的姓名、员工的上班时间和相应的备注信息,并且还要能够删除错误的员工上班时间信息的记录2. 下班登记子系统下班登记子系统主要对所有员工的下班信息进行登记,包括员工的工号、员工的姓名、员工的下班时间和相应的备注信息,并且还要能
4、够删除错误的员工下班时间信息的记录。3. 请假登记子系统请假登记子系统主要对所有员工的请假信息进行登记,包括员工的工号、员工的姓名、员工的请假时间和相应的备注信息,并且还要能够删除错误的员工请假时间信息的记录。4. 信息统计子系统 信息统计系统主要对所有员工的上班时间信息、下班时间信息、请假时间信息进行统计,包括员工的工号、员工的姓名、员工的上班时间、员工的下班时间、员工的请假时间和相应的备注信息,并且还可以删除错误的员工时间信息的记录。5. 记录添加子系统 记录添加子系统的主要作用是在数据库中添加员工工号、员工姓名、相应的时间和备注。二.分析与设计 本组共有三人一起完成本次的课程设计任务,组
5、长是李海霞,组员有李丹和周露,组内分工为:李丹负责上班系统的开发,周露负责下班系统的开发,李海霞负责请假系统的开发以及统计信息系统的开发,然后再将每人完成的开发系统总结到一块。大家一起研究错误出在哪里,该怎么改正这些错误。(一) 功能模块划分本系统分为如下的几大模块:Mini人事管理系统退出系统信息统计子系统请假登记子系统下班登记子系统上班登记子系统(二) 数据库结构描述在这个MINI开发系统中,选用mysql作为系统服务数据库,这是因为mysql功能强大,操作简便,应用较广。数据库方面只做了一张表,根据功能不同,在每个子系统里面读取的数据部分不同。设计的表如下:如表一列名数据类型可否允空长度
6、工号数值型否50姓名字符型否50上班时间日期型否30下班时间日期型否30请假时间日期型是30备注字符型是50(三) 各个模块实现方法描述1) 上班登记模块描述(负责人:李丹)上班登记子系统主要包括一个上班信息统计界面和一个上班信息添加界面。上班信息统计界面是一个表格,每一行就是一个员工的相关信息。如果某条记录不符合要求,可以将此条记录删除。上班信息添加界面主要是员工工号、员工姓名、相应时间和相关备注信息。可以根据信息添加界面上的系统时间指示来填入相应的时间。 其流程图为:添加记录上班登记系统选择删除记录刷新界面退出结束(四) 测试数据及期望结果这个阶段的工作主要是实际运行人事管理系统应用程序,
7、进入人事管理系统登录界面,在前一阶段,虽然也作了性能预测,但是仅仅做了性能估计,且在估计过程中,做了许多简化和假设,忽略了许多次要因素,因而估计是粗糙的,并可能失真。在试运行阶段,必须进行实际测量和评价,测试数据尽可能覆盖现实世界的各种情况。 如果实际测试结果不符合设计目标,则需返回物理设计阶段,修改参数。有时也许还需要返回初始阶段。 期望结果:比方说,员工A3:00来上班,点击上班登记,手动添加上班记录。下班亦然。在统计模块中可以自动统计并显示出每个员工每天上下班,请假的全部记录。三.源代码(一)主页面的设计开发package manpowersystem;import javax.swin
8、g.*;import java.awt.event.*;import java.awt.*;import com.borland.jbcl.layout.*;import javax.swing.event.*;/* <p>Title: </p>* <p>Description: </p>* <p>Copyright: Copyright (c) 2003</p>* <p>Company: </p>* author not attributable* version 1.0*/public clas
9、s MainFrame extends JFrame private ImageIcon fmImage; /主框架面板代码文件声明的属性和变量XYLayout xYLayout1 = new XYLayout();JButton jTitleButton = new JButton();JButton jOnWorkButton = new JButton();JButton jOffWorkButton = new JButton();JButton jLeaveWorkButton = new JButton();JButton jStaticButton = new JButton()
10、;JButton jExitButton = new JButton();public MainFrame() try jbInit();addWindowListener( new WindowAdapter() /窗口事件监听public void windowClosing( WindowEvent e ) dispose(); /销毁窗口 );catch ( Exception e ) e.printStackTrace();public static void main( String args ) MainFrame mainFrame = new MainFrame();main
11、Frame.validate();mainFrame.setLocation( 200, 150 );mainFrame.setSize( 600, 480 );mainFrame.setVisible( true );mainFrame.pack();private void jbInit() throws Exception fmImage=new ImageIcon( manpowersystem.MainFrame.class.getResource("Fengmian.png" ) );jTitleButton.setBackground( new Color(
12、210, 138, 177 ) );jTitleButton.setIcon( fmImage );jTitleButton.setFocusable( false ); /此按钮的聚焦作用失效xYLayout1.setWidth( 540 );xYLayout1.setHeight( 407 );this.getContentPane().setBackground( new Color( 210, 138, 177 ) );this.setLocale( java.util.Locale.getDefault() );this.setResizable( true );this.setTi
13、tle( "Mini人事管理系统" );this.addWindowListener(newMainFrame_this_windowAdapter( this ) );this.getContentPane().setLayout( xYLayout1 );jOnWorkButton.setBackground( new Color( 212, 158, 217 ) );jOnWorkButton.setFont( new java.awt.Font( "DialogInput", 1, 16 ) );jOnWorkButton.setText( &q
14、uot;上班登记" );jOnWorkButton.addActionListener(new MainFrame_jOnWorkButton_actionAdapter( this ) );jOnWorkButton.addHierarchyBoundsListener( newMainFrame_jOnWorkButton_hierarchyBoundsAdapter( this ) );OffWorkButton.setBackground( new Color( 212, 158, 217 ) );jOffWorkButton.setFont( new java.awt.Fo
15、nt( "DialogInput", 1, 16 ) );jOffWorkButton.setText( "下班登记" );jOffWorkButton.addActionListener(new MainFrame_jOffWorkButton_actionAdapter(this);jOffWorkButton.addAncestorListener( newMainFrame_jOffWorkButton_ancestorAdapter( this ) );jLeaveWorkButton.setBackground( new Color( 212
16、, 158, 217 ) );jLeaveWorkButton.setFont( new java.awt.Font( "DialogInput", 1, 16 ) );jLeaveWorkButton.setText( "请假登记" );jLeaveWorkButton.addActionListener(new MainFrame_jLeaveWorkButton_actionAdapter(this);jLeaveWorkButton.addAncestorListener( newMainFrame_jLeaveWorkButton_ancest
17、orAdapter( this ) );jStaticButton.setBackground( new Color( 212, 158, 217 ) );jStaticButton.setFont( new java.awt.Font( "DialogInput", 1, 16 ) );jStaticButton.setText( "统计情况" );jStaticButton.addActionListener(new MainFrame_jStaticButton_actionAdapter(this);jStaticButton.addAncest
18、orListener( newMainFrame_jStaticButton_ancestorAdapter( this ) );jExitButton.setBackground( new Color( 212, 158, 217 ) );jExitButton.setFont( new java.awt.Font( "DialogInput", 1, 16 ) );jExitButton.setText( "退出系统" );jExitButton.addActionListener(new MainFrame_jExitButton_actionAd
19、apter( this ) );jExitButton.addAncestorListener(new MainFrame_jExitButton_ancestorAdapter( this ) );this.getContentPane().add( jTitleButton,new XYConstraints( 0, 0, 358, 409 ) );this.getContentPane().add( jOnWorkButton,new XYConstraints( 393, 35, 115, 45 ) );this.getContentPane().add( jOffWorkButton
20、,new XYConstraints( 393, 109, 115, 45 ) );this.getContentPane().add( jLeaveWorkButton,new XYConstraints( 393, 184, 115, 45 ) );this.getContentPane().add( jStaticButton,new XYConstraints( 393, 258, 115, 45 ) );this.getContentPane().add( jExitButton,new XYConstraints( 393, 332, 115, 45 ) );this.setRes
21、izable(false);void this_windowClosed( WindowEvent e ) System.exit( 0 );void jOnWorkButton_ancestorMoved( HierarchyEvent e ) void jOffWorkButton_ancestorMoved( AncestorEvent e ) void jLeaveWorkButton_ancestorMoved( AncestorEvent e ) void jStaticButton_ancestorMoved( AncestorEvent e ) void jExitButton
22、_ancestorMoved( AncestorEvent e ) void jExitButton_actionPerformed( ActionEvent e ) System.exit( 0 );/退出系统按钮的事件处理void jOnWorkButton_actionPerformed( ActionEvent e ) OnWorkPanel onWorkPanel = new OnWorkPanel();onWorkPanel.setVisible(true);/上班登记按钮的事件处理void jOffWorkButton_actionPerformed(ActionEvent e)
23、 OffWorkPanel offWorkPanel = new OffWorkPanel();offWorkPanel.setVisible(true);/下班登记按钮的事件处理void jLeaveWorkButton_actionPerformed(ActionEvent e) LeaveWorkPanel leaveWorkPanel = new LeaveWorkPanel();leaveWorkPanel.setVisible(true);/请假登记按钮的事件处理void jStaticButton_actionPerformed(ActionEvent e) StaticPane
24、l staticPanel = new StaticPanel();staticPanel.setVisible(true);/统计情况按钮的事件处理Class MainFrame_this_windowAdapterextends java.awt.event.WindowAdapter MainFrame adaptee;MainFrame_this_windowAdapter( MainFrame adaptee ) this.adaptee = adaptee;public void windowClosed( WindowEvent e ) adaptee.this_windowCl
25、osed( e );class MainFrame_jOnWorkButton_hierarchyBoundsAdapter extends java.awt.event.HierarchyBoundsAdapter MainFrame adaptee;MainFrame_jOnWorkButton_hierarchyBoundsAdapter( MainFrame adaptee )this.adaptee = adaptee;public void ancestorMoved( HierarchyEvent e ) adaptee.jOnWorkButton_ancestorMoved(
26、e );class MainFrame_jOffWorkButton_ancestorAdapter implements javax.swing.event.AncestorListener MainFrame adaptee;MainFrame_jOffWorkButton_ancestorAdapter( MainFrame adaptee ) this.adaptee = adaptee;public void ancestorAdded( AncestorEvent e ) public void ancestorRemoved( AncestorEvent e ) public v
27、oid ancestorMoved( AncestorEvent e ) adaptee.jOffWorkButton_ancestorMoved( e );class MainFrame_jLeaveWorkButton_ancestorAdapter implements javax.swing.event.AncestorListener MainFrame adaptee;MainFrame_jLeaveWorkButton_ancestorAdapter( MainFrame adaptee ) this.adaptee = adaptee;public void ancestorA
28、dded( AncestorEvent e ) public void ancestorRemoved( AncestorEvent e ) public void ancestorMoved( AncestorEvent e ) adaptee.jLeaveWorkButton_ancestorMoved( e );class MainFrame_jStaticButton_ancestorAdapter implements javax.swing.event.AncestorListener MainFrame adaptee;MainFrame_jStaticButton_ancest
29、orAdapter( MainFrame adaptee ) this.adaptee = adaptee;public void ancestorAdded( AncestorEvent e ) public void ancestorRemoved( AncestorEvent e ) public void ancestorMoved( AncestorEvent e ) adaptee.jStaticButton_ancestorMoved( e );class MainFrame_jExitButton_ancestorAdapter implements javax.swing.e
30、vent.AncestorListener MainFrame adaptee;MainFrame_jExitButton_ancestorAdapter( MainFrame adaptee ) this.adaptee = adaptee;public void ancestorAdded( AncestorEvent e ) public void ancestorRemoved( AncestorEvent e ) public void ancestorMoved( AncestorEvent e ) adaptee.jExitButton_ancestorMoved( e );cl
31、ass MainFrame_jExitButton_actionAdapter implements java.awt.event.ActionListener MainFrame adaptee;MainFrame_jExitButton_actionAdapter( MainFrame adaptee ) this.adaptee = adaptee;public void actionPerformed( ActionEvent e ) adaptee.jExitButton_actionPerformed( e );class MainFrame_jOnWorkButton_actio
32、nAdapter implements java.awt.event.ActionListener MainFrame adaptee;MainFrame_jOnWorkButton_actionAdapter( MainFrame adaptee ) this.adaptee = adaptee;public void actionPerformed( ActionEvent e ) adaptee.jOnWorkButton_actionPerformed( e );class MainFrame_jOffWorkButton_actionAdapter implements java.a
33、wt.event.ActionListener MainFrame adaptee;MainFrame_jOffWorkButton_actionAdapter(MainFrame adaptee) this.adaptee = adaptee;public void actionPerformed(ActionEvent e) adaptee.jOffWorkButton_actionPerformed(e);class MainFrame_jLeaveWorkButton_actionAdapter implements java.awt.event.ActionListener Main
34、Frame adaptee;MainFrame_jLeaveWorkButton_actionAdapter(MainFrame adaptee) this.adaptee = adaptee;public void actionPerformed(ActionEvent e) adaptee.jLeaveWorkButton_actionPerformed(e);class MainFrame_jStaticButton_actionAdapter implements java.awt.event.ActionListener MainFrame adaptee;MainFrame_jSt
35、aticButton_actionAdapter(MainFrame adaptee) this.adaptee = adaptee;public void actionPerformed(ActionEvent e) adaptee.jStaticButton_actionPerformed(e);(二)记录添加界面的开发设计package manpowersystem;/* * <p>Title: </p> * <p>Description: </p> * <p>Copyright: Copyright (c) 2003</
36、p> * <p>Company: </p> * author not attributable * version 1.0 */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.*;public class RecordItem private String s
37、trEmployeeID;private String strEmployeeName;private String strOnWorkTime;private String strOffWorkTime;private String strLeaveWorkTime;private String strDescribe;public RecordItem() strEmployeeID = new String( "" );strEmployeeName = new String( "" );strOnWorkTime = new String( &q
38、uot;" );strOffWorkTime = new String( "" );strLeaveWorkTime = new String( "" );strDescribe = new String( "" );public void SetOnworkItem( String strEmployeeID, String strEmployeeName,String strOnWorkTime, String strDescribe ) this.strEmployeeID = strEmployeeID;this.s
39、trEmployeeName = strEmployeeName;this.strOnWorkTime = strOnWorkTime;this.strDescribe = strDescribe;public void SetOffworkItem( String strEmployeeID, String strEmployeeName,String strOffWorkTime, String strDescribe ) this.strEmployeeID = strEmployeeID;this.strEmployeeName = strEmployeeName;this.strOf
40、fWorkTime = strOffWorkTime;this.strDescribe = strDescribe;public void SetLeaveworkItem( String strEmployeeID, String strEmployeeName,String strLeaveWorkTime, String strDescribe ) this.strEmployeeID = strEmployeeID;this.strEmployeeName = strEmployeeName;this.strLeaveWorkTime = strLeaveWorkTime;this.s
41、trDescribe = strDescribe;public String GetEmployeeID() return strEmployeeID;public String GetEmployeeName() return strEmployeeName;public String GetOnWorkTime() return strOnWorkTime;public String GetOffWorkTime() return strOffWorkTime;public String GetLeaveWorkTime() return strLeaveWorkTime;public S
42、tring GetDescribe() return strDescribe;public void SetEmployeeID( String strEmployeeID ) this.strEmployeeID = strEmployeeID;public void SetEmployeeName( String strEmployeeName ) this.strEmployeeName = strEmployeeName;public void SetOnWorkTime( String strOnWorkTime ) this.strOnWorkTime = strOnWorkTim
43、e; public void SetOffWorkTime( String strOffWorkTime ) this.strOffWorkTime = strOffWorkTime;public void SetLeaveWorkTime( String strLeaveWorkTime ) this.strLeaveWorkTime = strLeaveWorkTime;public void SetDescribe( String strDescribe ) this.strDescribe = strDescribe;(三)上班登记子系统开发设计package manpowersyst
44、em;/* * <p>Title: </p> * <p>Description: </p> * <p>Copyright: Copyright (c) 2003</p> * <p>Company: </p> * author not attributable * version 1.0 */import java.io.*;import java.util.*;import java.awt.*;import java.awt.event.*;import javax.swing.*;import
45、javax.swing.event.*;import javax.swing.border.*;import javax.swing.table.*;import java.util.*;import com.borland.jbcl.layout.*;public class OnWorkPanel extends TablePanel String arrField = "工 号", "姓 名", "上班时间", "备 注"public OnWorkPanel() tableModel = new Defaul
46、tTableModel( 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 ); r
47、ecordPane.setLocation( 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 databa
48、se.DeleteData( tableModel.getValueAt( intRow, 0 ).toStri() );catch ( Exception e ) e.printStackTrace();UpdateRecord(); /更新表格public void UpdateRecord() Object arrTmp = ; /设定表格的字段tableModel = new DefaultTableModel( arrTmp, arrField );jRecordTable = new JTable( tableModel );jTableScrollPane.getViewport
49、().add( jRecordTable, null );try RecordItem result = new RecordItem 100 ;for ( int j = 0; j < 100; j+ )result j = new RecordItem();result = database.AccessData();for ( int i = 0; i < result.length; i+ ) Object newdata = result i .GetEmployeeID(),result i .GetEmployeeName(),result i .GetOnWorkT
50、ime(),result i .GetDescribe();String strTmp = result i .GetOnWorkTime();if ( strTmp.trim().length() = 0 )continue;tableModel.addRow( newdata );catch ( Exception e ) e.printStackTrace();public class OnWorkRecordPane extends RecordPane public OnWorkRecordPane() public void RestoreRecord() String strTm
51、p = jEmployeeIDTextField.getText();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(
52、);this.dispose();(四)信息统计页面的设计开发package manpowersystem;import java.util.*;import java.awt.*;import javax.swing.*;public class Clock extends JPanel implements Runnable boolean keepRunning = true;int lastxs = 0, lastys = 0, lastxm = 0, lastym = 0, lastxh = 0, lastyh = 0;Date dummy = new Date();String l
53、astdate = dummy.toLocaleString();String myName;public Clock( String inName ) myName = new String( inName );public void plotpoints( int x0, int y0, int x, int y, Graphics g ) g.drawLine( x0 + x, y0 + y, x0 + x, y0 + y );g.drawLine( x0 + y, y0 + x, x0 + y, y0 + x );g.drawLine( x0 + y, y0 - x, x0 + y, y0 - x );g.drawLine( x0 + x, y0 - y, x0 + x, y0 - y );g.drawLine( x0 - x, y0 - y, x0 -
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2026年冷链运输服务补充合同
- 2026年土地流转终止合同协议
- 2026年土地流转委托合同协议
- 2026年保险经纪合同模板完整版2026
- 2026年建筑材料合同解除协议
- 物业公司采购部年终总结
- 服装设计制作与销售手册
- 2024年国考行测真题(公共科目)
- 唐磊安全培训师课件
- 《酒水知识与酒吧管理》 课件 第6-9章 咖啡- 酒吧管理
- 腰椎OLIF手术课件
- 2025年浙江宁波大学公开招聘专任教师5人备考题库附答案
- 2025年农业投资入股协议(生态)
- 2025贵州铜仁市“千名英才·智汇铜仁”本地引才413人备考考试题库及答案解析
- 2025版 全套200MW800MWh独立储能项目EPC工程概算表
- 2026年班组建设年度工作计划
- 船舶协议装运合同
- 新年活动策划团建方案(3篇)
- 漫画委托创作协议书
- 人教版(PEP)四年级上学期英语期末卷(含答案)
- 员工代收工资协议书
评论
0/150
提交评论