课程设计(论文)任务书学院*学院专业*******学生姓名班级学号*******课程名称Java语言程序设计课程设计(论文)题目员工信息管理系统设计目的:1)复习、巩固Java语言的基础知识,进一步加深对Java语言的理解和掌握;2)课程设计为学生提供了一个既动手又动脑,独立实践的机会,将课本上的理论知识和实际有机的结合起来,锻炼学生的分析解决实际问题的能力。提高学生适应实际,实践编程的能力;3)培养学生在项目开发中的团队合作精神、创新意识及能力。设计要求(技术参数):1)对系统进行需求分析及可行性分析系统实现的目的,项目开发的背景,系统要达到的目标,开发系统所用的开发环境,预期使用的用户等。2)对系统进行总体设计分析系统的功能结构模块,并给出系统的功能结构图,设计要符合课题要求,实现相应功能;可以加以其他功能或修饰,使程序更加完善、合理。3)详细设计设计所需的数据表,给出所需数据表的字段名称,数据类型,字符长度,字段说明,约束条件。编码实现每个子功能模块,并进行测试。计划与进度安排:周一全天:设计解决问题方法周四1~4节:调试程序周一全天:调试程序周四1~4节:完成论文,答辩成绩:指导教师(签字):年月日专业负责人(签字):年月日主管院长(签字):年月日摘要Java语言是当前最为流行的程序设计语言之一,诸多优秀的的特性使其成为被业界广泛认可和采用的工具。随着目前公司规模的渐渐扩大,员工管理将成为意见不得不总是的问题。有些公司人员流动较大,而且人数动辄上百人,,若采用传统的方式进行管理,不仅易出错更是一件令人痛疼的事。随着计算机的诞生,在此领域产生众多的信息管理系统来管理信息,不仅信息处理方便,而且简单强大。本系统正事其中的一项,针对员工信息管理,方便公司对员工的信息进行处理,极大减少了人事管理的工作量。另一方面,本系统中所涉及到图形用户界面设计是我们学习程序设计这门课的难点兼重点,通过审计本系统不仅巩固了我们的基础,以及程序设计能力,还锻炼了我们对程序设计的流程及大体上的把握不仅如此,在设计过程中,我们的调试能力也得到增强。使我们对设计“大程序”有了经验。目前,无论是机关、事业单位、还是企业单位,员工管理对于组织生存与长远发展所具备的重要性都已经有了明确的认识,而员工管理水平的提升不仅需要高素质的管理人员,而且也需要信息化工具进行辅助.在现代化的企业管理中,员工管理系统有着十分重要的作用!关键词:文件和流界面设计GUI异常处理Hashtable类目录一、设计目的.............................错误!未定义书签。二、设计问题.............................错误!未定义书签。2.1课设问题.....................................错误!未定义书签。2.2设计思路.....................................错误!未定义书签。三、概要设计.............................................63.1程序功能模块设计的实现.......................错误!未定义书签。3.2系统总体结构.................................错误!未定义书签。3.3员工信息面板功能的实现.......................错误!未定义书签。3.4员工界面功能模块设计的实现...................错误!未定义书签。四、详细设计.............................错误!未定义书签。4.1定义程序变量.................................错误!未定义书签。4.2程序面板设计.................................错误!未定义书签。4.3录入员工信息.................................错误!未定义书签。4.4查询员工信息.................................错误!未定义书签。4.5修改员工信息.................................错误!未定义书签。4.6删除员工信息.................................错误!未定义书签。4.7显示员工信息.................................错误!未定义书签。五、设计总结.............................错误!未定义书签。六、参考文献.............................错误!未定义书签。七、致谢.............................错误!未定义书签。一、设计目的随着现代社会的快速发展,我们已进入信息化时代,管理系统在人们的生活中的应用越来越广泛,它已深入到我们工作、学习、生活的各个方面。为了适应时代的发展,本次课程设计的主要任务是设计一个学生员工系统并完成一些基本操作。其目的是:(1)提高员工信息管理的运作效率,通过对雇员全面的信息采集和处理;(2)运用已学的java知识编一些简单使用的程序,使我们初步具备综合运用所学Java语言基础知识,面向对象程序设计的基本思想、方法与技术;(3)由计算机来代替人工执行一系列诸如增加新员工、删除、修改、查询、显示等操作。这样就使管理人员轻松快捷的完成员工信息的管理工作。二、设计问题2.1课设问题:员工管理系统要求完成:(1)完成员工的添加、删除、查询、修改功能(2)使用界面操作(3)使用文件完成2.2设计思路:首先设计面板,然后往面板里添加组件,点击各个组件来实现要求的对员工信息的添加、删除、查询、修改功能。三、概要设计3.1程序功能模块设计的实现本段代码中主要的类有EmployeeManager和ActionEvent,设置了监听接口由ActionEvent类来实现,并且用if语句来为变量服务。后面设置了一个异常处理,使用try和catch来捕获异常。使用GUI技术实现员工的图形界面。3.2系统总体结构系统总体结构3.3员工信息面板功能的实现首先构造两个面板(JPanel),分别为界面以及显示,并将其加入到容器中.主界面员工信息管理系统信息添加信息查询信息修改信息删除信息显示显示界面3.4员工界面功能模块设计的实现录入:提示员工信息是否被录入,选择是(Y),则员工信息录入到文件中查询:在主界面中输入员工号,点击查找,若员工信息不存在则显示如图若文本文件中存在所要查找的员工信息(例如工号0801),则在主界面中显示该员工信息(员工号、姓名和性别)删除:在主界面中输入员工号,点击删除按钮,弹出对话框,选择是(Y)程序将删除词员工的所有信息。四、详细设计4.1定义程序变量自定义employee类,其中定义number,name,sex三个变量,分别包含setNumber、getNumber、setName、getName、setSex、getSex方法。classemployeeimplementsjava.io.Serializable{Stringnumber,name,sex;publicemployee(){};publicvoidsetNumber(Stringnumber){this.number=number;}publicStringgetNumber(){returnnumber;}publicvoidsetName(Stringname){this.name=name;}publicStringgetName(){returnname;}publicvoidsetSex(Stringsex){this.sex=sex;}PublicStringgetSex(){returnsex;}}4.2程序面板设计定义EmployeeManager类继承JFrame,使用JLabel、JTextField、JRadioBUtton、ButtonGroup、JButton等类构造各组件,使用。使用Hashtable类创建散列表对象“员工表”存放employee对象,每个employee对象用该对象的学号作为关键字。使用exists()方法判断文本文件是否存在。若存在则进行数据的写入操作。使用addActionListener()方法对JButton进行注册监听。GridLayout布局管理器对面板进行设计如下所示。publicclassEmployeeManagerextendsJFrame{JLabellb=newJLabel(录入请先输入记录,查询、删除请先输入工号,修改是对查询+内容改后的保存!);JTextField工号,姓名;JRadioButton男,女;ButtonGroupgroup=null;JButton录入,查询,删除,修改,显示;JPanela,b,c,d,f;employee员工=null;Hashtable员工表=null;Filefile=null;FileInputStreaminOne=null;ObjectInputStreaminTwo=null;FileOutputStreamoutOne=null;ObjectOutputStreamoutTwo=null;publicemployee工人;publicEmployeeManager(){super(沈阳理工员工基本信息管理系统);工号=newJTextField(10);姓名=newJTextField(10);group=newButtonGroup();男=newJRadioButton(男,true);女=newJRadioButton(女,false);group.add(男);group.add(女);录入=newJButton(录入);查询=newJButton(查询);删除=newJButton(删除);修改=newJButton(修改);显示=newJButton(显示);录入.addActionListener(newLRAct());查询.addActionListener(newCXAct());修改.addActionListener(newXGAct());删除.addActionListener(newSCAct());显示.addActionListener(newXSAct());修改.setEnabled(false);a=newJPanel();a.add(newJLabel(工号:,JLabel.CENTER));a.add(工号);b=newJPanel();b.add(newJLabel(姓名:,JLabel.CENTER));b.add(姓名);c=newJPanel();c.add(newJLabel(性别:,JLabel.CENTER));c.add(男);c.add(女);d=newJPanel();d.setLayout(newGridLayout(6,1));d.add(a);d.add(b);d.add(c);f=newJPanel();f.add(录入);f.add(查询);f.add(修改);f.add(删除);f.add(显示);file=newFile(员工信息.txt);Hashtable员工表=newHashtable();if(!file.exists()){try{FileOutputStreamout=newFileOutputStream(file);ObjectOutputStreamobjectOut=newObjectOutputStream(out);objectOut.writeObject(员工表);objectOut.close();out.close();}catch(IOExceptione){}}Containercon=getContentPane();con.setLayout(newB