《课程设计----员工信息管理(共23页).doc》由会员分享,可在线阅读,更多相关《课程设计----员工信息管理(共23页).doc(23页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、精选优质文档-倾情为你奉上课程设计说明书 课程名称: 面向对象课程设计题目: 员工信息管理系统院 系: 专业班级:学 号: 学生姓名:指导教师: 2013年 1 月 5 日安徽理工大学课程设计(论文)任务书 院系 教研室学 号学生姓名专业(班级)设计题目 员工信息管理系统设计技术参数 jdk1.6开发工具:MyEclipse 5.5.1GADBMS:MYSQL5.5,Navicat8设计要求开发一个员工信息管理系统,系统分为三个模块且必须具备查询、修改、添加、删除等功能。后台数据库是基于MYSQL5.5和Navicat8 建立的工作量需求分析,数据库设计,子模块和功能设计,各个模块实现窗口的设
2、计,编写系统说明书和实验报告,说明书不少于15页工作计划 12月26日需求分析12月28 日建立数据库和表及关系表,模块设计1月1日页面设计及熟悉MyEclipse 5.5.1GA及其运行环境1月4, 5日程序源代码编写、调试程序并编写Word文档和实现窗口的截图1月5日提交课程设计参考资料1刘彬.JSP数据库高级教程M.北京:清华大学出版社.2006 2王珊,萨日煊.数据库系统概论(第四版)M北京:高等教育出版社.20083黄晓东.Java课程设计M.北京:中国水利水电出版社,2004.4 王舜燕、钟珞.Java编程方法学M.北京邮电大学出版社,2008指导教师签字 教研室主任签字 学生姓名
3、: 学号: 专业班级: 课程设计题目: 员工信息管理系统 指导教师评语: 成绩: 指导教师: 年 月 日安徽理工大学课程设计(论文)成绩评定表目录一、 需求分析和设计在这个信息大爆炸的时代,大量的信息需要我们来整理。那么关于员工信息管理和工资的信息管理都需要计算机来实现,所以在人们日益增长的需求下我们应该实行计算机统一管理,以提高工作效率和管理水平。在制作员工信息管理系统之前,首先要知道所要做的系统可以实现哪些功能,要清楚不同级别的用户可以实现哪些功能,实现什么样的界面。当明确了这些,项目开发的思路就清晰了,然后再对员工信息管理的系统进行考察、分析,从中吸取经验,并结合本系统的要求以及实际情况
4、,设计出一个合理的系统。该程序是利用文件来实现的,程序的重要作用是对员工信息进行管理,包括员工信息的添加、查询、修改、删除。通过该课程设计,使同学们进一步理解概JAVA的基本概念、理论和方法,初步掌握JDK、Eclipse的调试和应用,以及程序中错误的解决方法,明确JAVA在实际程序设计中的应用。使课堂中学习到理论得到应用,练习文件形式在JAVA程序设计中的应用。二、系统模块图系统模块图主要是由管理员和和员工两部分组成,它整体的展现了我们所作的系统有哪些功能,它具有添加、删除、修改、查询等功能。很直观的我们可以看出第一个界面应该是登陆界面。系统模块图如图2-1所示:图2-1 系统模块图三、详细
5、设计1. 数据表结构分析:1.用户表的设计用户表如表3-1所示:表3-1 用户表列名数据类型长度是否为空userNameVarchar10否PWDVarchar10否TypeVarchar10否 用户表数据内容如图3-1所示:图3-1 用户表数据内容2.员工基本信息表的设计员工基本信息表如表3-2所示:表3-2 员工基本信息表列名数据类型长度是否为空员工编号Varchar10否员工姓名Varchar10否性别Varchar4否出生年月Varchar10否参加工作时间Varchar10否部门名称Varchar20否员工基本信息表数据内容如图3-2所示:图3-2 员工基本信息表数据内容3.员工工资
6、信息表的设计员工工资信息表如表3-3所示:表3-3 员工工资信息表列名数据类型长度是否为空员工编号Varchar10否基本工资Int4否岗位工资Int4否住房补贴Int4否养老保险Int4否应发金额Int4是应扣金额Int4是实发金额Int4是员工工资信息表数据内容如图3-3所示:图3-3 员工工资信息表数据内容2.程序实现-使用流程:1登陆程序和登陆界面:public class loginFrm extends Frame implements ActionListenerLabel lblUserName;Label lblPwd;TextArea txtlResult;TextFiel
7、d txtUserName;TextField txtPwd;Choice types;Button btnLogin;Button btnQuit;Button btnTest;public loginFrm()this.setTitle(系统登陆界面);lblUserName=new Label(姓名);lblPwd=new Label(密码);txtlResult=new TextArea(3,30);txtUserName=new TextField(26);txtPwd=new TextField(26);txtPwd.setEchoChar(*);/设置密码字符types=new
8、Choice();types.add(管理员);types.add(员工);btnLogin=new Button(登陆);btnQuit=new Button(退出);btnTest=new Button(请点击此按钮测试数据库连接!);btnLogin.addActionListener(this);btnQuit.addActionListener(this);btnTest.addActionListener(this);this.setLayout(new FlowLayout();this.add(lblUserName);this.add(txtUserName);this.ad
9、d(lblPwd);this.add(txtPwd);this.add(types);this.add(btnLogin);this.add(btnQuit);this.add(btnTest);this.add(txtlResult);this.pack(); this.setSize(300, 300); this.setVisible(true);public void actionPerformed(ActionEvent e)if(e.getSource()=btnQuit)dispose();System.exit(1);if(e.getSource()=btnTest)tryCl
10、ass.forName(com.mysql.jdbc.Driver); Connection con=DriverManager.getConnection(jdbc:mysql:/localhost:3306/test,root,); Statement st=con.createStatement(); txtlResult.setText(恭喜您,此系统通过MySQL的JDBC驱动连接到了数据库!); catch(Exception ex) txtlResult.setText(连接失败+ex.toString(); if(e.getSource()=btnLogin) String u
11、serName=txtUserName.getText(); String pwd=txtPwd.getText(); String type=admin; if(types.getSelectedItem().equals(员工) type=emp; tryUsers users=new Users(); users.setUserName(userName); users.setPwd(pwd); users.setType(type); LoginHandle loginHandle=new LoginHandle(); if(loginHandle.checkLogin(users)=
12、1) new mainFrm(); if(loginHandle.checkLogin(users)=2) new showSalaryFrm(Tom); if(loginHandle.checkLogin(users)=0) new msgFrm(用户名或密码错); catch(Exception ex)员工登陆界面如图3-1所示:图3-1 员工登陆界面2主程序:public class mainFrm extends Frame implements ActionListenerMenuBar m_menubar;Menu m_emp,m_sal,m_system;MenuItem mi_
13、emp_add,mi_emp_del,mi_emp_rew,mi_emp_query,mi_sal_add,mi_sal_del,mi_sal_rew,mi_sal_query,mi_exit,mi_about;public mainFrm()this.setTitle(员工管理系统);m_menubar=new MenuBar(); m_emp=new Menu(员工基本信息管理);mi_emp_add=new MenuItem(员工基本信息添加);mi_emp_del=new MenuItem(员工基本信息删除);mi_emp_rew=new MenuItem(员工基本信息修改);mi_e
14、mp_query=new MenuItem(员工基本信息查询); mi_emp_add.addActionListener(this);mi_emp_del.addActionListener(this);mi_emp_rew.addActionListener(this);mi_emp_query.addActionListener(this); m_emp.add(mi_emp_add);/将菜单元素添加到菜单 m_emp.add(mi_emp_del); m_emp.add(mi_emp_rew); m_emp.add(mi_emp_query);m_menubar.add(m_emp)
15、;/将菜单添加到菜单条/*注意*这部分工资的四个菜单元素与菜单个人完成 m_sal=new Menu(工资信息管理); mi_sal_add=new MenuItem(工资信息添加); mi_sal_del=new MenuItem(工资信息删除); mi_sal_rew=new MenuItem(工资信息修改); mi_sal_query=new MenuItem(工资信息查询); mi_sal_add.addActionListener(this); mi_sal_del.addActionListener(this); mi_sal_rew.addActionListener(this)
16、; mi_sal_query.addActionListener(this); m_sal.add(mi_sal_add);/将菜单元素添加到菜单 m_sal.add(mi_sal_del); m_sal.add(mi_sal_rew); m_sal.add(mi_sal_query); m_menubar.add(m_sal); m_system=new Menu(系统); mi_about=new MenuItem(关于); mi_exit=new MenuItem(退出); mi_about.addActionListener(this); mi_exit.addActionListen
17、er(this); m_system.add(mi_about); m_system.add(mi_exit); m_menubar.add(m_system); this.setMenuBar(m_menubar);/设置菜单条,令其显示在窗体上this.pack(); this.setSize(600, 400); this.setVisible(true);public void actionPerformed(ActionEvent e)if(e.getSource()=mi_exit)dispose();System.exit(1);if(e.getSource()=mi_emp_a
18、dd)new empAddFrm().setVisible(true);if(e.getSource()=mi_emp_del)new empDelFrm().setVisible(true);if(e.getSource()=mi_emp_rew)new empRewFrm().setVisible(true);if(e.getSource()=mi_emp_query)new empQueryFrm().setVisible(true);if(e.getSource()=mi_sal_add)new salAddFrm().setVisible(true);if(e.getSource()
19、=mi_sal_del)new salDelFrm().setVisible(true);if(e.getSource()=mi_sal_rew)new salRewFrm().setVisible(true);if(e.getSource()=mi_sal_query)new salQueryFrm().setVisible(true);if(e.getSource()=mi_about)new aboutFrm();员工管理系统界面如图3-2所示:图3-2 员工管理系统界面3员工信息和工资信息的添加:员工信息添加:public class empAddFrm extends Frame i
20、mplements ActionListenerButton btnQuit,btnAdd;Label lblId,lblName,lblSex,lblBirth,lblTime,lblDep;TextField txtId,txtName,txtBirth,txtTime;CheckboxGroup cbg;Checkbox cbm,cbw;Panel p;Choice choDep;public empAddFrm()this.setTitle(员工信息添加);lblId=new Label(员工编号:);lblName=new Label(员工姓名:);lblSex=new Label(
21、员工性别:);lblBirth=new Label(出生年月:);lblTime=new Label(工作时间:);lblDep=new Label(所属部门:);txtId=new TextField(20);txtName=new TextField(20);txtBirth=new TextField(20);txtTime=new TextField(20);cbg=new CheckboxGroup();cbm = new Checkbox(男, cbg, false); cbw = new Checkbox(女, cbg, true); choDep=new Choice(); c
22、hoDep.add(采购部);choDep.add(销售部);choDep.add(设备部); btnAdd=new Button(添加);btnQuit=new Button(退出);btnAdd.addActionListener(this);btnQuit.addActionListener(this);p=new Panel();this.setLayout(new GridLayout(7,2);this.add(lblId);this.add(txtId);this.add(lblName);this.add(txtName);this.add(lblSex);p.add(cbm)
23、;p.add(cbw);this.add(p);this.add(lblBirth);this.add(txtBirth);this.add(lblTime);this.add(txtTime);this.add(lblDep);this.add(choDep);this.add(btnAdd);this.add(btnQuit);this.pack();this.setVisible(true); this.setSize(300, 200);public void actionPerformed(ActionEvent e)if(e.getSource()=btnQuit)dispose(
24、);if(e.getSource()=btnAdd)Emp emp=new Emp();emp.setEm_id(txtId.getText();emp.setEm_name(txtName.getText();emp.setEm_birth(txtBirth.getText();emp.setEm_time(txtTime.getText();if(cbm.getState()emp.setEm_sex(男);else emp.setEm_sex(女);emp.setEm_dep(choDep.getSelectedItem();EmpHandle empHandle=new EmpHand
25、le();empHandle.AddToDb(emp);员工信息添加界面如图3-3所示:图3-3 员工信息添加界面工资信息添加:public salAddFrm()this.setTitle(工资信息添加);lblId=new Label(员工编号:);lblbasicsalary=new Label(基本工资);lblpostsalary=new Label(岗位工资);lblhouseallowance=new Label(住房补贴);lbloldageinsurance=new Label(养老保险);lbltotalpayamount=new Label(应发工资);lbldeduct
26、bleamount=new Label(应扣工资);lblfinalpayamount=new Label(实发工资);txtId=new TextField(20);txtbasicsalary=new TextField(20);txtpostsalary=new TextField(20);txthouseallowance=new TextField(20);txtoldageinsurance=new TextField(20);txttotalpayamount=new TextField(20);txtdeductbleamount=new TextField(20);txtfi
27、nalpayamount=new TextField(20); btnAdd=new Button(添加);btnQuit=new Button(退出);btnAdd.addActionListener(this);btnQuit.addActionListener(this);p=new Panel();this.setLayout(new GridLayout(9,2);this.add(lblId);this.add(txtId);this.add(lblbasicsalary);this.add(txtbasicsalary);this.add(lblpostsalary);this.
28、add(txtpostsalary);this.add(lblhouseallowance);this.add(txthouseallowance);this.add(lbloldageinsurance);this.add(txtoldageinsurance);this.add(lbltotalpayamount);this.add(txttotalpayamount);this.add(lbldeductbleamount);this.add(txtdeductbleamount);this.add(lblfinalpayamount);this.add(txtfinalpayamoun
29、t);this.add(btnAdd);this.add(btnQuit);this.pack();this.setVisible(true); this.setSize(300, 200);public void actionPerformed(ActionEvent e)if(e.getSource()=btnQuit)dispose();if(e.getSource()=btnAdd)Sal sal=new Sal();sal.setSal_id(txtId.getText();sal.setSal_basicsalary(txtbasicsalary.getText();sal.set
30、Sal_postsalary(txtpostsalary.getText();sal.setSal_houseallowance(txthouseallowance.getText();sal.setSal_oldageinsurance(txtoldageinsurance.getText();sal.setSal_totalpayamount(txttotalpayamount.getText();sal.setSal_deductbleamount(txtdeductbleamount.getText();sal.setSal_finalpayamount(txtfinalpayamou
31、nt.getText();SalHandle salHandle=new SalHandle();salHandle.AddToDb(sal);工资信息添加界面如图3-4所示:图3-4 工资信息添加界面4员工信息和工资信息的删除:员工信息删除:public class empDelFrm extends Frame implements ActionListenerButton btnDel,btnQuit;Label lblId;TextField txtId;public empDelFrm()this.setTitle(员工基本信息删除);btnQuit=new Button(退出);b
32、tnDel=new Button(删除);btnQuit.addActionListener(this);btnDel.addActionListener(this);lblId=new Label(员工编号);txtId=new TextField(20);this.setLayout(new GridLayout(2,2);this.add(lblId);this.add(txtId);this.add(btnDel);this.add(btnQuit);this.pack();this.setVisible(true); this.setSize(300, 70);public void
33、 actionPerformed(ActionEvent e)/退出本窗体if(e.getSource()=btnQuit)dispose();if(e.getSource()=btnDel)String userId=txtId.getText();EmpHandle empHandle = new EmpHandle();empHandle.deleteByIdFromDb(userId);dispose();员工信息删除界面如图3-5所示:图3-5 员工信息删除界面工资信息删除:public class salDelFrm extends Frame implements ActionL
34、istener Button btnQuit,btnDel;Label lblId;TextField txtId;public salDelFrm()this.setTitle(员工工资删除);btnQuit=new Button(退出);btnDel=new Button(删除);btnQuit.addActionListener(this);btnDel.addActionListener(this);lblId=new Label(员工编号);txtId=new TextField(20);this.setLayout(new GridLayout(2,2);this.add(lblI
35、d);this.add(txtId);this.add(btnDel);this.add(btnQuit);this.pack();this.setVisible(true); this.setSize(300, 100);public void actionPerformed(ActionEvent e) if(e.getSource()=btnQuit)dispose();if(e.getSource()=btnDel)String userId=txtId.getText();SalHandle salHandle = new SalHandle();dispose();工资信息删除界面
36、如图3-6所示:图3-6 工资信息删除界面5员工信息和工资信息的查询:员工信息查询:public class empQueryFrm extends Frame implements ActionListenerButton btnQuit;Label lblId;TextField txtId;List list;Button btnQuery;Button btnQueryAll;Panel p;public empQueryFrm()this.setTitle(员工基本信息查询);lblId=new Label(编号);txtId=new TextField(10);list=new L
37、ist();btnQuery=new Button(按编号查询);btnQueryAll=new Button(查询全部);btnQuit=new Button(退出);btnQuery.addActionListener(this);btnQueryAll.addActionListener(this);btnQuit.addActionListener(this);this.setLayout(new BorderLayout();p=new Panel();p.setLayout(new FlowLayout();p.add(lblId);p.add(txtId);p.add(btnQu
38、ery);p.add(btnQueryAll);p.add(btnQuit);this.add(North,p);this.add(Center,list);this.pack(); this.setSize(400, 300); this.setVisible(true);public void actionPerformed(ActionEvent e)/退出本窗体if(e.getSource()=btnQuit)dispose();if(e.getSource()=btnQueryAll)list.clear();EmpHandle empHandle=new EmpHandle();A
39、rrayList al=new ArrayList();al=empHandle.QueryAllFromDb();for(int i=0;ial.size();i+)list.add(al.get(i).toString();if(e.getSource()=btnQuery)list.clear();String em_id=txtId.getText();EmpHandle empHandle=new EmpHandle();ArrayList al=new ArrayList();al=empHandle.QueryByIdFromDb(em_id);for(int i=0;ial.size();i+)list.add(al.get(i).toString();员工信息查询界面如图3-7所示:图3-7 员工信息查询界面工资信息查询:public c