员工管理系统Java课程设计Word文档下载推荐.docx
《员工管理系统Java课程设计Word文档下载推荐.docx》由会员分享,可在线阅读,更多相关《员工管理系统Java课程设计Word文档下载推荐.docx(22页珍藏版)》请在冰豆网上搜索。
可以加以其他功能或修饰,使程序更加完善、合理。
3)详细设计
设计所需的数据表,给出所需数据表的字段名称,数据类型,字符长度,字段说明,约束条件。
编码实现每个子功能模块,并进行测试。
计划与进度安排:
周一全天:
设计解决问题方法周四1~4节:
调试程序
调试程序周四1~4节:
完成论文,答辩
成绩:
指导教师(签字):
年月日
专业负责人(签字):
年月日
主管院长(签字):
年月日
摘要
Java语言是当前最为流行的程序设计语言之一,诸多优秀的的特性使其成为被业界广泛认可和采用的工具。
随着目前公司规模的渐渐扩大,员工管理将成为意见不得不总是的问题。
有些公司人员流动较大,而且人数动辄上百人,,若采用传统的方式进行管理,不仅易出错更是一件令人痛疼的事。
随着计算机的诞生,在此领域产生众多的信息管理系统来管理信息,不仅信息处理方便,而且简单强大。
本系统正事其中的一项,针对员工信息管理,方便公司对员工的信息进行处理,极大减少了人事管理的工作量。
另一方面,本系统中所涉及到图形用户界面设计是我们学习程序设计这门课的难点兼重点,通过审计本系统不仅巩固了我们的基础,以及程序设计能力,还锻炼了我们对程序设计的流程及大体上的把握不仅如此,在设计过程中,我们的调试能力也得到增强。
使我们对设计“大程序”有了经验。
目前,无论是机关、事业单位、还是企业单位,员工管理对于组织生存与长远发展所具备的重要性都已经有了明确的认识,而员工管理水平的提升不仅需要高素质的管理人员,而且也需要信息化工具进行辅助.在现代化的企业管理中,员工管理系统有着十分重要的作用!
关键词:
文件和流界面设计GUI异常处理Hashtable类
一、设计目的2
二、设计问题3
2.1课设问题3
2.2设计思路4
三、概要设计6
3.1程序功能模块设计的实现6
3.2系统总体结构7
3.3员工信息面板功能的实现7
3.4员工界面功能模块设计的实现8
四、详细设计8
4.1定义程序变量8
4.2程序面板设计9
4.3录入员工信息10
4.4查询员工信息10
4.5修改员工信息10
4.6删除员工信息10
4.7显示员工信息10
五、设计总结10
六、参考文献11
七、致谢11
一、设计目的
随着现代社会的快速发展,我们已进入信息化时代,管理系统在人们的生活中的应用越来越广泛,它已深入到我们工作、学习、生活的各个方面。
为了适应时代的发展,本次课程设计的主要任务是设计一个学生员工系统并完成一些基本操作。
其目的是:
(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("
姓名:
b.add(姓名);
c=newJPanel();
c.add(newJLabel("
性别:
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(newBorderLayout());
con.add(lb,BorderLayout.NORTH);
con.add(d,BorderLayout.CENTER);
con.add(f,BorderLayout.SOUTH);
setDefaultCloseOperation(EXI