课程设计说明书1 需求分析随着21世纪信息化的到来,计算机的应用日益广泛,计算机在代替体力、脑力劳动方面发挥着不可或缺的作用,在工业方面及日常工作中也越来越离不开它。
在企业里,要处理大量的数据信息,为了提高员工管理的工作效率,降低操作出错的概率,因而开发出一套员工信息管理系统是很有必要的。
员工信息管理系统,可实现了公司员工信息管理系统的电子化,减轻管理人员的工作负担,能够规范、高效地管理大量的劳动人事信息,减小管理成本,提高工作效率,避免人为操作错误和不规范行为。
该软件实现了员工对个人工资的查询以及管理人员对员工信息进行动态管理的功能,例如基本信息的查询,修改,添加,删除;员工工资的查询,修改,添加,删除等。
2 具体功能(1)新员工注册功能。
(2)员工登陆功能。
(3)员工查看个人工资功能。
(4)管理人员登录功能。
(5)管理人员对员工基本资料的修改,添加,删除,查询功能。
(6)管理人员对员工工资信息的修改,添加,删除,查询功能。
3 系统设计3.1、功能示意图1课程设计说明书所示:系统功能如图3-1工员版工工工员员员资工资工工工资资本信基基信信信信基基息本息息息本本本息的信信的信的的信查息息修息删息添询的的除的改的加添修删查加询除改图3-1系统功能图3.2、数据库设计本软件数据库类型为MYSQL,数据库“employee.mdb”,其中共包含三种表,其一是登录用户信息表 user(如表3-1),其二是员工基本信息表emps(如表3-2),其三是员工工资信息表salary(如表3-3)。
对应的数据库截图分别为:登录用户信息表users截图(如图3-2),员工基本信息表emps截图(如图3-3),员工工资信息表salary截图(如图3-4)。
2课程设计说明书表3-1 用户表表3-2 员工基本信息表3课程设计说明书表3-3 员工工资信息表图3-2 登录用户信息表users截图4课程设计说明书截图 3-3 员工基本信息表 emps 图图 3-4 员工工资信息表salary截图3.3、模块设计本工程下包含三个包,分别是com.control;com.model;com.view.具体模块如表3-3。
表3-3模块功能表类名功能描述com.control EmpHandle.java 员工控制模块登录控制模块com.control LoginHandle.java5课程设计说明书com.control SalaryHandle.java 工资控制模块 com.model Dblink.java 数据库连接控制模块 4 系统实现员工信息管理 4.1、删除员工信息功能的实现创建包括加载数据库驱动,该类用于完成基本的数据库操作,所示,4-1 删除界面如图(即通过构造方法加载数据库驱动程序和创建数据库连接Sql语句等。
数据库连接,执行、方法关闭数据库,另外还有四个方法分别为empAddFrm() ,通过打开数据库)Close()。
通过这四种方法分别实现员工基本信息()、()()、empDelFrmempQueryFrm empRewFrm的添加、查询、修改、删除等操作。
在调用方法之前如果没有打开数据库则先打开数据 ()方法具体内容:库。
四种方法内容相似,以下为 empDelFrm public void actionPerformed(ActionEvent e){退出本窗体//6课程设计说明书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());晩挨浢朮瑥瑓瑡??浥?敳?彭敳? 男 );汥敳攠灭献瑥浅獟硥尨女 );emp.setEm_dep(choDep.getSelectedItem());EmpHandle empHandle=new EmpHandle();empHandle.AddToDb(emp);}}图4-1 删除界面4.2、修改员工信息功能的实现该类定义了四个变量,其中login_user保存当前登陆用户的用户名,ID在查看联系人详细内容和修改联系人信息用来保存此联系人的ID。
此类为登陆模块,用于实现用户的登陆功能,也是进入系统的入口,其界面如图4-17课程设计说明书所示。
修改界面如图4-2所示。
图 4-2 修改界面如果是已注册的用户,输入用户名、密码后单击确定,则会调用相应方法检查用户名密码是否为空,是否正确。
此方法具体代码如下:public void actionPerformed(ActionEvent e){//退出本窗体if(e.getSource()==btnQuit){dispose();}if(e.getSource()==btnUpdate){Emp emp=new Emp();emp.setEm_id(txtId.getText());emp.setEm_birth(txtBirth.getText());emp.setEm_time(txtTime.getText());emp.setEm_dep(choDep.getSelectedItem());EmpHandle empHandle=new EmpHandle();empHandle.Update(emp);}}如果登陆成功,则调用ShowMain并释放当前窗体。
失败则弹出具体失败原因(帐号密码为空或帐号密码错误)并放回Login界面。
如果没有注册,点击注册,则调用Regist并释放当前窗体。
8课程设计说明书4.3、查询员工信息功能的实现查询界面如图4-3所示。
图4-3 查询界面此方法具体代码如下: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;i<al.size();i++){list.add(al.get(i).toString());}}if(e.getSource()==btnQuery){list.clear();9课程设计说明书String em_id=txtId.getText();EmpHandle empHandle=new EmpHandle();ArrayList al=new ArrayList();al=empHandle.QueryByIdFromDb(em_id);for(int i=0;i<al.size();i++){list.add(al.get(i).toString());}}}4.4、添加员工信息功能的实现添加界面如图4-4所示。
图4-4 添加界面此方法具体代码如下:public void actionPerformed(ActionEvent e){//退出本窗体if(e.getSource()==btnQuit){dispose();}if(e.getSource()==btnAdd){10课程设计说明书Emp emp=new Emp();emp.setEm_id(txtId.getText());emp.setEm_name(txtName.getText());emp.setEm_birth(txtBirth.getText());emp.setEm_time(txtTime.getText());晩挨浢朮瑥瑓瑡??浥?敳?彭敳? 男 );汥敳攠灭献瑥浅獟硥尨女 );emp.setEm_dep(choDep.getSelectedItem()); EmpHandle empHandle=new EmpHandle();empHandle.AddToDb(emp);}}系统实现员工工资信息管理 5 5.1、删除员工工资信息功能的实现删除界面如图5-1所示。
图5-1 删除界面此方法具体代码如下:11课程设计说明书public void actionPerformed(ActionEvent e) {String Sa_Id=txt.getText();SalaryHandle salaryHandle=new SalaryHandle(); if(e.getSource()==btnQuit){dispose();}if(e.getSource()==btnDelId){list.clear();ArrayList al=new ArrayList();al=salaryHandle.QuerySalaryByIdFromDb(Sa_Id); for(int i=0;i<al.size();i++){list.add(al.get(i).toString());}}if(e.getSource()==btnOk){System.out.println(Sa_Id);salaryHandle.DelSalaryByIdToDb(Sa_Id);敮?獭?浲尨删除成功);list.clear();}}5.2、修改员工工资信息功能的实现修改界面如图5-2所示。
12课程设计说明书图5-2 修改界面此方法具体代码如下:public void actionPerformed(ActionEvent e) {if(e.getSource()==btnQuit){dispose();}if(e.getSource()==btnUpdate){Salary salary=new Salary();salary.setSa_Id(txtId.getText());salary.setSa_Jiben(Integer.parseInt(txtJiben.getText()));salary.setSa_Gangwei(Integer.parseInt(txtGangwei.getText())); salary.setSa_Zhufang(Integer.parseInt(txtZhufang.getText())); salary.setSa_Yanglao(Integer.parseInt(txtYanglao.getText())); salary.setSa_Yingfa(Integer.parseInt(txtYingfa.getText())); salary.setSa_Yingkou(Integer.parseInt(txtYingkou.getText())); salary.setSa_Shifa(Integer.parseInt(txtShifa.getText()));//int类型不能用getTexta()方法获得SalaryHandle salaryHandle=new SalaryHandle(); salaryHandle.UpdateSalary(salary);}}5.3、查询员工工资信息功能的实现查询界面如图5-3所示。