JAVA程序设计课程设计报告课题:mini人事管理系统姓名:学号:201214同组姓名:专业班级:网工指导教师:设计时间:2014年6月17日评阅意见:评定成绩:指导老师签名:年月日0目录一系统描述...............................................1(一)前言...............................................1(二)开发系统的功能介绍.................................1二分析与设计...............................................2(一)功能模块划分.......................................2(二)数据库结构描述.....................................2(三)各个模块实现方法描述.............................3(四)测试数据及期望结果.................................3三源代码...................................................5(一)主页面设计........................................5(二)记录添加界面的开发设计.............................11(三)上班登记子系统开发设计.............................13(四)信息统计页面的设计开发.............................15四系统测试................................................18五总结..................................................21(一)实验心得..........................................21(二)参考文献..........................................22一.系统描述1(一)前言随着科学技术的不断提高,计算机科学日渐成熟,其强大的功能已为人们深刻认识,它已进入人类社会的各个领域并发挥着越来越重要的作用。作为计算机应用的一部分,使用计算机对人事信息进行管理,具有着手工管理所无法比拟的优点.例如:检索迅速、查找方便、可靠性高、存储量大、保密性好、寿命长、成本低等。这些优点能够极大地提高人事理的效率,也是企业的科学化、正规化管理,与世界接轨的重要条件。因此,开发这样一套管理软件成为很有必要的事情。目前,无论是机关、事业单位、还是企业单位,人事管理对于组织生存与长远发展所具备的重要性都已经有了明确的认识,而人事管理水平的提升不仅需要高素质的管理人员,而且也需要信息化工具进行辅助在现代化的企业管理中,人事管理系统有着十分重要的作用,然而,用大型软件系统来于小型的企事业单位,不啻于“杀鸡用牛刀”,因此小型的的软件对于这种单位自然有十分重要作用。(二)开发系统的功能介绍1.上班登记子系统上班登记子系统主要对所有员工的上班信息进行登记,包括员工的工号、员工的姓名、员工的上班时间和相应的备注信息,并且还要能够删除错误的员工上班时间信息的记录2.下班登记子系统下班登记子系统主要对所有员工的下班信息进行登记,包括员工的工号、员工的姓名、员工的下班时间和相应的备注信息,并且还要能够删除错误的员工下班时间信息的记录。3.请假登记子系统请假登记子系统主要对所有员工的请假信息进行登记,包括员工的工号、员工的姓名、员工的请假时间和相应的备注信息,并且还要能够删除错误的员工请假时间信息的记录。4.信息统计子系统信息统计系统主要对所有员工的上班时间信息、下班时间信息、请假时间信息进行统计,包括员工的工号、员工的姓名、员工的上班时间、员工的下班时间、2员工的请假时间和相应的备注信息,并且还可以删除错误的员工时间信息的记录。5.记录添加子系统记录添加子系统的主要作用是在数据库中添加员工工号、员工姓名、相应的时间和备注。二.分析与设计本组共有三人一起完成本次的课程设计任务,组长是李海霞,组员有李丹和周露,组内分工为:李丹负责上班系统的开发,周露负责下班系统的开发,李海霞负责请假系统的开发以及统计信息系统的开发,然后再将每人完成的开发系统总结到一块。大家一起研究错误出在哪里,该怎么改正这些错误。(一)功能模块划分本系统分为如下的几大模块:(二)数据库结构描述在这个MINI开发系统中,选用mysql作为系统服务数据库,这是因为mysql功能强大,操作简便,应用较广。数据库方面只做了一张表,根据功能不同,在每个子系统里面读取的数据部分不同。设计的表如下:如表一列名数据类型可否允空长度工号数值型否50姓名字符型否50上班时间日期型否30下班时间日期型否30Mini人事管理系统上班登记子系统下班登记子系统请假登记子系统信息统计子系统退出系统3请假时间日期型是30备注字符型是50(三)各个模块实现方法描述1)上班登记模块描述(负责人:李丹)上班登记子系统主要包括一个上班信息统计界面和一个上班信息添加界面。上班信息统计界面是一个表格,每一行就是一个员工的相关信息。如果某条记录不符合要求,可以将此条记录删除。上班信息添加界面主要是员工工号、员工姓名、相应时间和相关备注信息。可以根据信息添加界面上的系统时间指示来填入相应的时间。其流程图为:(四)测试数据及期望结果这个阶段的工作主要是实际运行人事管理系统应用程序,进入人事管理系统登录界面,在前一阶段,虽然也作了性能预测,但是仅仅做了性能估计,且在估计过程中,做了许多简化和假设,忽略了许多次要因素,因而估计是粗糙的,并可能失真。在试运行阶段,必须进行实际测量和评价,测试数据尽可能覆盖现实世界的各种情况。如果实际测试结果不符合设计目标,则需返回物理设计阶段,修改参数。有时也许还需要返回初始阶段。期望结果:比方说,员工A3:00来上班,点击上班登记,手动添加上班记添加记录上班登记系统选择删除记录刷新界面退出结束4录。下班亦然。在统计模块中可以自动统计并显示出每个员工每天上下班,请假的全部记录。三.源代码(一)主页面的设计开发packagemanpowersystem;importjavax.swing.*;importjava.awt.event.*;importjava.awt.*;importcom.borland.jbcl.layout.*;importjavax.swing.event.*;/***pTitle:/p*pDescription:/p*pCopyright:Copyright(c)2003/p*pCompany:/p*@authornotattributable*@version1.0*/publicclassMainFrameextendsJFrame{privateImageIconfmImage;//主框架面板代码文件声明的属性和变量XYLayoutxYLayout1=newXYLayout();JButtonjTitleButton=newJButton();JButtonjOnWorkButton=newJButton();JButtonjOffWorkButton=newJButton();JButtonjLeaveWorkButton=newJButton();JButtonjStaticButton=newJButton();JButtonjExitButton=newJButton();publicMainFrame(){try{5jbInit();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());6this.setResizable(true);this.setTitle(Mini人事管理系统);this.addWindowListener(newMainFrame_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(newMainFrame_jOnWorkButton_hierarchyBoundsAdapter(this));OffWorkButton.setBackground(newColor(212,158,217));jOffWorkButton.setFont(newjava.awt.Font(DialogInput,1,16));jOffWorkButton.setText(下班登记);jOffWorkButton.addActionListener(newMainFrame_jOffWorkButton_actionAdapter(this));jOffWorkButton.addAncestorListener(newMainFrame_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));jL