人事工资管理系统课程设计报告_第1页
人事工资管理系统课程设计报告_第2页
人事工资管理系统课程设计报告_第3页
人事工资管理系统课程设计报告_第4页
已阅读5页,还剩37页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、苏州科技大学电子信息与智能化实验中心面向对象技术课程设计A报告 人事工资管理系统专业年级计算机科学与技术(嵌入式培养)15 级班级嵌入式 1511学号1520014111915200141115152001411011520014113715200141136姓名张梓轩戚春阳徐敏杰袁祺林王雨欣成绩指导教师丁俊2016年 12月 24日姓名角色承担任务自评成绩张梓轩组长E-R 图;统一数据库;工资管理系统显示所有员工的工资,部门整体调薪的实现;人事管理系统的时序图和活动图;戚春阳组员统计管理系统显示各个部门和人数功能的实现;用户权限和密码设置;系统时间输出;实现系统设置管理中的数据备份和数据恢复

2、;整合所有人代码,实现功能的统一和代码的优化;登录界面的活动图和时序图;徐敏杰组员人事管理系统添加员工信息,修改员工信息;用例图和用例说明;任务书的编写;系统设置系统的活动图、时序图;袁祺林组员人事管理系统查询员工的登陆信息、模糊查询和删除员工;课程总结;任务书的编写;人事管理系统的时序图和活动图;王雨欣组员员工奖惩表的增、删、改、查;系统类图;课程设计与需求分析;统计管理系统的活动图和时序图;注:如果按小组进行,需要此表,否则删除。人事工资系统设计报告1 课程设计任务概述人事工资管理系统是非常通用的管理信息系统,一个公司必须要有健全的人事工资管理系统来管理员工的信息,才能实现它的日常运转。因

3、此,为了支持企业规范化的管理,高效率地完成人事的业务,需要实现包括员工的姓名、年龄、编号、电话号码等基本信息的建立,授予员工所能获取的权限,例如管理员权限,就可以对普通员工进行信息管理,其中包括新员工个人的基本信息资料的增加、修改,退休员工的信息的删除,员工奖惩信息的增加、删除和修改;此外还支持管理员对部门整体进行调薪,扩大了管理员的管理范围;同时为了支持人事管理及其相关方面的科学决策,增加了员工的个人基本信息查询、薪资查询、奖惩情况查询和部门的总体情况查询等,大大提高了公司内部员工管理的效率,减少了不必要的精力的投入,使得企业的正常维护得以实现。 12 系统需求分析2.1 系统功能分析本系统

4、主要是实现企业人事管理的系统化、规范化和自动化,实现数据的录入、插入、删除、查询、统计、更新等功能。具有员工注册以及登录的功能,且登录后管理员可修改自己用户权限;大体分为以下四个主功能:1. 人事管理系统:主要用来实现对员工的基本信息的增加、信息的删除、信息的修改以及模糊查询, 还包括对员工的奖惩信息的增加, 信息的删除,信息的修改以及信息的查询;2. 工资管理系统:主要包括模糊查询部门信息、员工的总体以及个人工资信息,以及对部门的薪资进行整体调整的功能;3. 统计管理系统:主要指用来显示部门的整体情况以及员工人数;4. 系统设置系统:主要是用来对数据进行恢复和备份。2.2用例图及用例说明 2

5、2.2.1用户注册用例1.用例名称:注册2.用例描述:注册成为本管理系统的用户3.角色:用户4.前置条件:格式输入正确5.后置条件:保存此用户的信息6.基本路径:A.填写用户名和密码B. 保存用户信息7.扩展点:A.未填写完整或者格式错误a1. 错误提示B.用户已经存在b1.错误提示3 系统设计3.1 系统类图 33.2 系统活动图用户登陆活动图:人事管理系统活动图: 4统计管理系统活动图 :工资管理系统活动图:系统设置管理活动图:3.3 系统时序图用户登陆时序图: 5人事管理系统时序图:工资管理系统时序图: 6统计管理系统时序图:系统设置管理时序图: 74 系统实现4.1登录模块设计与实现登

6、录模块是用户登录进去进行相关操作的,如员工信息的增删改查等等。 8( 1) View 层代码loginTitle=new javax.swing.JLabel();jLabel1=new javax.swing.JLabel();jLabel2=new javax.swing.JLabel();uname=new javax.swing.JTextField();pwd =newjavax.swing.JPasswordField();limit=new javax.swing.JComboBox();jLabel3=new javax.swing.JLabel();loginBtn=new

7、javax.swing.JButton();registerBtn=new javax.swing.JButton();jLabel4=new javax.swing.JLabel();setDefaultCloseOperation(javax.swing.WindowConstants.EXIT_ON_CLOSE);setForeground(java.awt.Color.white);setResizable(false );setState(1);loginTitle.setFont(newjava.awt.Font("MicrosoftYaHei UI" , 1,

8、44);loginTitle.setHorizontalAlignment(javax.swing.SwingConstants.CENTER);loginTitle.setText("u4ebau4e8bu5de5u8d44u7ba1u7406u7cfbu7edf" );jLabel1.setText("u7528u6237u540d");jLabel2.setText("u5bc6u7801uff1a");/limit.setModel(javax.swing.DefaultComboBoxModel187e702);jLabel

9、3.setText("u6743u9650uff1a");loginBtn.setText("u767bu9646");( 2) Action 层privatevoidregisterBtnActionPerformed(java.awt.event.ActionEventevt) registerFrame r =new registerFrame();r.setVisible(true); 9privatevoidloginBtnMouseClicked(java.awt.event.MouseEventevt)String name =this.

10、uname .getText();String pwd =this. pwd .getText();String limit =this. limit.getSelectedItem().toString();inttype = 0;if(" 管理员 " .equals(limit) type = 1;usertype=" 管理员 " else type = 2;usertype=" 普通员工 " ;User user =new User(name, pwd, type);User flag =userService.login(us

11、er);if(flag !=null) wusername= name;wtype= limit;ok o =new ok();o.setVisible(true);setVisible(false);elsefail f =new fail();f.setVisible(true);dispose();( 3) Dao 数据交互层OverridepublicUser login(User user) / TODO Auto-generated method stubUser resultUser=null;String sql ="select user_no,user_name,

12、user_pwd,user_type"+" from t_user "+" where user_name='"+user.getUserName()+"' "+" and user_pwd='"+user.getUserPwd()+"'"+" and user_type="+user.getUserType()+"" ;conn= JDBCUtil.getConnection();trystmt=conn .cr

13、eateStatement();rs=stmt.executeQuery(sql);if( rs .next()resultUser =new User();10resultUser.setUserNo(rs .getInt("user_no");resultUser.setUserName(rs .getString("user_name");resultUser.setUserPwd(rs .getString("user_pwd");resultUser.setUserType(rs .getInt("user_typ

14、e");catch(SQLException e) e.printStackTrace();finallyJDBCUtil.closeResource( conn ,psmt ,stmt,rs );returnresultUser;4.2系统主界面可在该模块完成员工资料的常用操作。 员工的各项人事记录可在选择员工后, 在主界面下面的分栏里面进行添加、修改、删除操作。4.3人事管理模块设计及实现对员工的相关资料及记录进行管理。 可在该模块对员工基本资料、 奖惩记录、修改员工信息可实现对员工的调动、薪水记录进行修改。11当进入到人事管理子系统模块, 再点击模糊查询。 删除员工按钮, 会进

15、入到下面的界面其中的模糊查询代码如下( 1) view 层privatevoidinitComponents() jScrollPane1= new javax.swing.JScrollPane();jTable1=new javax.swing.JTable();jButton1=new javax.swing.JButton();jLabel1=new javax.swing.JLabel();jname =new javax.swing.JTextField();jButton2=new javax.swing.JButton();jButton3=new javax.swing.JB

16、utton();jLabel2=new javax.swing.JLabel();jButton4=new javax.swing.JButton();12jLabel3=new javax.swing.JLabel();jLabel4=new javax.swing.JLabel();setDefaultCloseOperation(javax.swing.WindowConstants. EXIT_ON_C LOSE);jTable1.setModel(new javax.swing.table.DefaultTableModel(new Object ,new String "

17、 姓名 " ," 编号 " ," 部门编号 " ," 职称 " ,"性别","基本工资 "," 电话号码 " ," 工号" );jScrollPane1.setViewportView(jTable1);jButton1.setText("u786eu5b9a");jButton1.addActionListener(newjava.awt.event.ActionListener() publicvoidactionPerf

18、ormed(java.awt.event.ActionEventevt) jButton1ActionPerformed(evt););jLabel1.setText("u8bf7u8f93u5165u59d3u540duff0cu652fu6301u6a21u7ccau67e5u627e");jname .setText(null);jButton2.setText("u9000u51fau6a21u7ccau67e5u627e");jButton2.addActionListener(newjava.awt.event.ActionListener(

19、) publicvoidactionPerformed(java.awt.event.ActionEventevt) jButton2ActionPerformed(evt););jButton3.setText("u5237u65b0");jButton3.addActionListener(newjava.awt.event.ActionListener() publicvoidactionPerformed(java.awt.event.ActionEvent13evt) jButton3ActionPerformed(evt););jLabel2 .setText(

20、 "u5237u65b0u540eu53efu7ee7u7eedu67e5u6 27e" );jButton4.setText("u5220u9664u6b64u5458u5de5");jButton4.addActionListener(newjava.awt.event.ActionListener() publicvoidactionPerformed(java.awt.event.ActionEventevt) jButton4ActionPerformed(evt););jLabel3.setText( "u7a7au503cu53e

21、fu67e5u627eu6240u6709u5458u5d e5" );jLabel4.setText("u9700u8981u8f93u5165u5168u540du53efu4ee5u5220u9664u5458u5de5");publicvoidfindStaffName(JTable jTable, String name) DefaultTableModel model = (DefaultTableModel)jTable.getModel();model.setRowCount(0);Vector v =staffInfoDao.findStaffI

22、nfo(name);for( inti = 0; i < v.size(); i+) model.addRow(Vector) v.get(i);( 2) action 层privatevoidjButton1ActionPerformed(java.awt.event.ActionEventevt)String name =jname .getText();14if(name !=null) staff.findStaffName(jTable1, name);elsepleaseInput p =new pleaseInput();p.setVisible(true);( 3) da

23、o 层publicVector findStaffInfo(String staffname) Vector list =new Vector();String sql ="select *"+"from t_staff_info "+ "where staff_name like'%"+ staffname +"%'"conn= JDBCUtil.getConnection();trystmt=conn .createStatement();rs=stmt.executeQuery(sql);wh

24、ile( rs .next() Vector listObject =new Vector();/ listObject.add( new/User(rs.getInt("id"),rs.getString("uname"),rs.getString("pwd");listObject.add(rs.getString("staff_name");listObject.add(rs.getInt("staff_id");listObject.add(rs.getInt("dept_no

25、");listObject.add(rs.getString("staff_pos_name");listObject.add(rs.getString("staff_sex");listObject.add(rs.getInt("staff_baseSal");listObject.add(rs.getInt("staff_phoneNum");listObject.add(rs.getString("staff_workNum");list.add(listObject);catc

26、h(SQLException e) / TODO Auto-generated catch block e.printStackTrace(); finallyJDBCUtil.closeResource( conn ,psmt ,stmt,rs );15returnlist;4.4工资管理模块设计与实现在员工基本信息管理界面里可以对单个员工进行基本工资的修改,因而在面向人数较多的企业时,这种方式存在弊端,部门整体调薪操作可以对整个业绩高的部门进行整体调薪( 1 ) view 层privatevoidinitComponents() jButton1=new javax.swing.JButt

27、on();jLabel1=new javax.swing.JLabel();jdepart=newjavax.swing.JTextField();jButton2=new javax.swing.JButton();jLabel2=new javax.swing.JLabel();jScrollPane1=new javax.swing.JScrollPane();jTable1=new javax.swing.JTable();16jLabel3=new javax.swing.JLabel();jdepart2=new javax.swing.JTextField();sure=new

28、javax.swing.JButton();jLabel4=new javax.swing.JLabel();money=new javax.swing.JTextField();jLabel5=new javax.swing.JLabel();jLabel6=new javax.swing.JLabel();setDefaultCloseOperation(javax.swing.WindowConstants. EXIT_ON_C LOSE);jButton1.setText("u8fd4u56deu4e3bu754cu9762");jButton1.addAction

29、Listener(newjava.awt.event.ActionListener() publicvoidactionPerformed(java.awt.event.ActionEventevt) jButton1ActionPerformed(evt););jLabel1.setText("u8bf7u8f93u5165u90e8u95e8u540du53efu8fdbu884cu6a21u7ccau67e5u627e");jButton2.setText("u786eu5b9a");jButton2.addActionListener(newja

30、va.awt.event.ActionListener() publicvoidactionPerformed(java.awt.event.ActionEventevt) jButton2ActionPerformed(evt););jLabel2.setText("u7ed9u6307u5b9au90e8u95e8u7684u6240u6709u5458u5de5u8c03u85aa");jTable1.setModel(new javax.swing.table.DefaultTableModel(new Object ,new String " 部门编号

31、" ," 部门名称 " );17jScrollPane1.setViewportView(jTable1);jLabel3 .setText( "u8f93u5165u5168u540du9009u5b9au90e8u9 5e8" );sure.setText("u786eu5b9a");sure.addActionListener(new java.awt.event.ActionListener()publicvoidactionPerformed(java.awt.event.ActionEventevt) sureA

32、ctionPerformed(evt););jLabel4.setText("u8f93u5165u8c03u6574u529bu5ea6");money .addActionListener(new java.awt.event.ActionListener()publicvoidactionPerformed(java.awt.event.ActionEventevt) moneyActionPerformed(evt););jLabel5.setText("u6e29u99a8u63d0u793a:u63d0u85aau5219u8f93u5165u6b63

33、u6570,u964du85aau5219u8f93u5165u8d1fu6570");jLabel6.setText("u5143");(2 ) action层privatevoidsureActionPerformed(java.awt.event.ActionEvent evt) String jdept =jdepart2.getText();Double money2 = Double.parseDouble( money .getText();StaffInfo s=new StaffInfo();s.num(staff.updateSalary(jd

34、ept,money2);private void jButton1ActionPerformed(java.awt.event.ActionEvent evt) dispose();18private void jButton2ActionPerformed(java.awt.event.ActionEvent evt) String department =jdepart.getText();if(department !=null) depart.findDepart(jTable1, department);elsepleaseInput p =new pleaseInput();p.s

35、etVisible(true);(3 ) dao 层publicVector findDepart(String name) Vector list =new Vector();String sql ="select *"+"from t_department "+ "where dept_name like'%"+ name +"%'"conn= JDBCUtil.getConnection();trystmt=conn .createStatement();rs=stmt.executeQuer

36、y(sql);while( rs .next() Vector listObject =new Vector();/ listObject.add( new/User(rs.getInt("id"),rs.getString("uname"),rs.getString("pwd");listObject.add(rs .getInt("dept_no");listObject.add(rs .getString("dept_name");list.add(listObject);catch(SQ

37、LException e) / TODO Auto-generated catch block e.printStackTrace(); finallyJDBCUtil.closeResource( conn ,psmt ,stmt,rs );19returnlist;4.5统计管理模块设计与实现统计部门总数和各部门人数( 1) view 层privatevoidinitComponents() jScrollPane1=new javax.swing.JScrollPane();jTable1=new javax.swing.JTable();jButton1=new javax.swing

38、.JButton();jLabel1=new javax.swing.JLabel();jdepart=newjavax.swing.JTextField();jButton2=new javax.swing.JButton();jScrollPane3=new javax.swing.JScrollPane();jTable2=new javax.swing.JTable();jLabel2=new javax.swing.JLabel();setDefaultCloseOperation(javax.swing.WindowConstants. EXIT_ON_C LOSE);20jTab

39、le1.setModel(new javax.swing.table.DefaultTableModel(new Object ,new String " 员工编号 " ," 员工姓名 " ," 统计人数 " );jScrollPane1.setViewportView(jTable1);jButton1.setText("u786eu5b9a");jButton1.addActionListener(newjava.awt.event.ActionListener() publicvoidactionPerfor

40、med(java.awt.event.ActionEventevt) jButton1ActionPerformed(evt););jLabel1.setText("u8bf7u8f93u5165u90e8u95e8u540du8fdbu884cu6a21u7ccau67e5u627e");jdepart.addActionListener(newjava.awt.event.ActionListener() publicvoidactionPerformed(java.awt.event.ActionEventevt) jdepartActionPerformed(evt

41、););jButton2.setText("u8fd4u56deu4e3bu754cu9762");jButton2.addActionListener(newjava.awt.event.ActionListener() publicvoidactionPerformed(java.awt.event.ActionEventevt) jButton2ActionPerformed(evt););jTable2.setModel(new javax.swing.table.DefaultTableModel(new Object ,new String " 部门编

42、号 " ," 部门名称 " );jScrollPane3.setViewportView(jTable2);21jLabel2.setText("u8f93u5165u7a7au503cu53efu67e5u627eu5168u90e8u5458u5de5u6240u5728u90e8u95e8u7684u4fe1u606f");publicvoidfindDepart(JTable jTable, String name) DefaultTableModel model = (DefaultTableModel)jTable.getModel

43、();model.setRowCount(0);Vector v =departDao.findDepart(name);for(inti = 0; i < v.size(); i+) model.addRow(Vector) v.get(i);OverridepublicvoidshowDepartNumber(JTable jTable, String name) DefaultTableModel model = (DefaultTableModel)jTable.getModel();model.setRowCount(0);Vector v =departDao.showDepartNumber(name);for( inti = 0; i < v.size(); i+) model.addRow(Vector) v.get(i);(2 ) action层privatevoidjButton1ActionPerformed(java.awt.event.ActionEventevt) String depart2 =jdepart.getText();if(depart2 !=null) d .showDepartNumber(jTable1, depart2);d .findDepart(jTable2, depart2);elseplea

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论