课程设计----员工信息管理(共23页)

上传人:20****08 文档编号:57450299 上传时间:2022-02-24 格式:DOC 页数:23 大小:1.71MB
返回 下载 相关 举报
课程设计----员工信息管理(共23页)_第1页
第1页 / 共23页
课程设计----员工信息管理(共23页)_第2页
第2页 / 共23页
课程设计----员工信息管理(共23页)_第3页
第3页 / 共23页
点击查看更多>>
资源描述
精选优质文档-倾情为你奉上课程设计说明书 课程名称: 面向对象课程设计题目: 员工信息管理系统院 系: 专业班级:学 号: 学生姓名:指导教师: 2013年 1 月 5 日安徽理工大学课程设计(论文)任务书 院系 教研室学 号学生姓名专业(班级)设计题目 员工信息管理系统设计技术参数 jdk1.6开发工具:MyEclipse 5.5.1GADBMS:MYSQL5.5,Navicat8设计要求开发一个员工信息管理系统,系统分为三个模块且必须具备查询、修改、添加、删除等功能。后台数据库是基于MYSQL5.5和Navicat8 建立的工作量需求分析,数据库设计,子模块和功能设计,各个模块实现窗口的设计,编写系统说明书和实验报告,说明书不少于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指导教师签字 教研室主任签字 学生姓名: 学号: 专业班级: 课程设计题目: 员工信息管理系统 指导教师评语: 成绩: 指导教师: 年 月 日安徽理工大学课程设计(论文)成绩评定表目录一、 需求分析和设计在这个信息大爆炸的时代,大量的信息需要我们来整理。那么关于员工信息管理和工资的信息管理都需要计算机来实现,所以在人们日益增长的需求下我们应该实行计算机统一管理,以提高工作效率和管理水平。在制作员工信息管理系统之前,首先要知道所要做的系统可以实现哪些功能,要清楚不同级别的用户可以实现哪些功能,实现什么样的界面。当明确了这些,项目开发的思路就清晰了,然后再对员工信息管理的系统进行考察、分析,从中吸取经验,并结合本系统的要求以及实际情况,设计出一个合理的系统。该程序是利用文件来实现的,程序的重要作用是对员工信息进行管理,包括员工信息的添加、查询、修改、删除。通过该课程设计,使同学们进一步理解概JAVA的基本概念、理论和方法,初步掌握JDK、Eclipse的调试和应用,以及程序中错误的解决方法,明确JAVA在实际程序设计中的应用。使课堂中学习到理论得到应用,练习文件形式在JAVA程序设计中的应用。二、系统模块图系统模块图主要是由管理员和和员工两部分组成,它整体的展现了我们所作的系统有哪些功能,它具有添加、删除、修改、查询等功能。很直观的我们可以看出第一个界面应该是登陆界面。系统模块图如图2-1所示:图2-1 系统模块图三、详细设计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.员工工资信息表的设计员工工资信息表如表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;TextField 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 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.add(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)tryClass.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 userName=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)=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_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_emp_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);/将菜单添加到菜单条/*注意*这部分工资的四个菜单元素与菜单个人完成 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); 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.addActionListener(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_add)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()=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 implements 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(员工性别:);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(); choDep.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);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();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 EmpHandle();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(应发工资);lbldeductbleamount=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);txtfinalpayamount=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.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(txtfinalpayamount);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.setSal_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(txtfinalpayamount.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(退出);btnDel=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 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 ActionListener 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(lblId);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();工资信息删除界面如图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 List();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(btnQuery);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();ArrayList 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 class salQueryFrm extends Frame implements ActionListenerButton btnQuit;Label lblId;TextField txtId;List list;Button btnQuery;Button btnQueryAll;Panel p;public salQueryFrm()this.setTitle(员工工资信息查询);lblId=new Label(编号);txtId=new TextField(10);list=new List();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(btnQuery);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();SalHandle salHandle=new SalHandle();ArrayList al=new ArrayList();al=salHandle.QueryAllFromDb();for(int i=0;ial.size();i+)list.add(al.get(i).toString();if(e.getSource()=btnQuery)list.clear();String Sal_id=txtId.getText();SalHandle salHandle=new SalHandle();ArrayList al=new ArrayList();al=salHandle.QueryByIdFromDb(Sal_id);for(int i=0;ial.size();i+)list.add(al.get(i).toString();工资信息查询界面如图3-8所示: 图3-8 工资信息查询界面6员工信息和工资信息的修改:员工信息修改:public class empRewFrm extends Frame implements ActionListenerButton btnQuit,btnAlt;Label alt,select,newz;TextField Txt1,Txt2;Choice Item;public empRewFrm()btnQuit=new Button(退出);btnAlt=new Button(修改);alt=new Label( 请输入要修改的编号);select=new Label( 请选择要修改的项目);newz=new Label( 请输入修改后的值);Txt1=new TextField(6);Txt2=new TextField(6);Item=new Choice();Item.add(em_id);Item.add(em_name);Item.add(em_sex);Item.add(em_birth);Item.add(em_time);Item.add(em_dep);btnQuit.addActionListener(this);btnAlt.addActionListener(this);this.add(alt);this.add(Txt1);this.add(select);this.add(Item);this.add(newz);this.add(Txt2);this.add(btnQuit);this.add(btnAlt);this.setLayout(new GridLayout(5,2);this.add(btnQuit);this.addWindowListener(new closeWin();this.setVisible(true); this.setSize(600, 300);public void actionPerformed(ActionEvent e)if(e.getSource()=btnQuit)dispose();if(e.getSource()=btnAlt)EmpHandle emphandle=new EmpHandle();emphandle.updateByIdEmp(Txt1.getText(),Item,Txt2);员工信息修改界面如图3-9所示:图3-9 员工信息修改界面工资信息修改:public class salRewFrm extends Frame implements ActionListenerButton btnQuit,btnAlt;Label alt,select,newz;TextField Txt1,Txt2;Choice Item;public salRewFrm()btnQuit=new Button(退出);btnAlt=new Button(修改);alt=new Label( 请输入要修改的编号);select=new Label( 请选择要修改的项目);newz=new Label( 请输入修改后的值);Txt1=new TextField(6);Txt2=new TextField(6);Item=new Choice();Item.add(lblId);Item.add(sal_JiBenGongZi);Item.add(sal_GangWeiGongZi);Item.add(sal_BuTie);Item.add(sal_BaoXian);Item.add(sal_YingFa);Item.add(sal_KouE);Item.add(sal_ShiFa);btnQuit.addActionListener(this);btnAlt.addActionListener(this);this.setLayout(new GridLayout(4,2);this.add(alt);this.add(Txt1);this.add(select);this.add(Item);this.add(newz);this.add(Txt2);this.add(btnQuit);this.add(btnAlt);this.addWindowListener(new closeWin();this.setVisible(true); this.setSize(600, 200);public void actionPerformed(ActionEvent e)if(e.getSource()=btnQuit)dispose();if(e.getSource()=btnAlt)SalHandle salhandle=new SalHandle();salhandle.updateByIdSal(Txt1.getText(),Item,Txt2);工资信息修改界面如图3-10所示:图3-10 工资信息修改界面四、设计总结本次JAVA课程设计我所编写的程序是员工信息管理系统,程序中实现了对员工信息和工资信息的添加、查询、修改、删除的功能,我是应用文件的形式完成的,其中还应用到了图形用户界面。我设计的程序简单易懂,操作简单,且 适用于不同的单位使用,只需按照自己的需要将所要录入的信息名称做添加或修改就可以实现。通过这次JAVA的程序设计,使我对JAVA有了更加深入的了解,巩固了我对JAVA基础知识的掌握,并且能够更加熟练的应用JDK与Eclipse进行JAVA程序的编写。五、参考文献1刘彬.JSP数据库高级教程M.北京:清华大学出版社.2006 2王珊,萨日煊.数据库系统概论(第四版)M北京:高等教育出版社.20083黄晓东.Java课程设计M.北京:中国水利水电出版社,2004. 4 王舜燕、钟珞.Java编程方法学M.北京邮电大学出版社,2008专心-专注-专业
展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 办公文档 > 教学培训


copyright@ 2023-2025  zhuangpeitu.com 装配图网版权所有   联系电话:18123376007

备案号:ICP2024067431-1 川公网安备51140202000466号


本站为文档C2C交易模式,即用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知装配图网,我们立即给予删除!