ImageVerifierCode 换一换
格式:DOC , 页数:32 ,大小:89.04KB ,
资源ID:9789776      下载积分:12 金币
验证码下载
登录下载
邮箱/手机:
图形码:
验证码: 获取验证码
温馨提示:
支付成功后,系统会自动生成账号(用户名为邮箱或者手机号,密码是验证码),方便下次登录下载和查询订单;
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

开通VIP
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.zixin.com.cn/docdown/9789776.html】到电脑端继续下载(重复下载【60天内】不扣币)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

开通VIP折扣优惠下载文档

            查看会员权益                  [ 下载后找不到文档?]

填表反馈(24小时):  下载求助     关注领币    退款申请

开具发票请登录PC端进行申请。


权利声明

1、咨信平台为文档C2C交易模式,即用户上传的文档直接被用户下载,收益归上传人(含作者)所有;本站仅是提供信息存储空间和展示预览,仅对用户上传内容的表现方式做保护处理,对上载内容不做任何修改或编辑。所展示的作品文档包括内容和图片全部来源于网络用户和作者上传投稿,我们不确定上传用户享有完全著作权,根据《信息网络传播权保护条例》,如果侵犯了您的版权、权益或隐私,请联系我们,核实后会尽快下架及时删除,并可随时和客服了解处理情况,尊重保护知识产权我们共同努力。
2、文档的总页数、文档格式和文档大小以系统显示为准(内容中显示的页数不一定正确),网站客服只以系统显示的页数、文件格式、文档大小作为仲裁依据,个别因单元格分列造成显示页码不一将协商解决,平台无法对文档的真实性、完整性、权威性、准确性、专业性及其观点立场做任何保证或承诺,下载前须认真查看,确认无误后再购买,务必慎重购买;若有违法违纪将进行移交司法处理,若涉侵权平台将进行基本处罚并下架。
3、本站所有内容均由用户上传,付费前请自行鉴别,如您付费,意味着您已接受本站规则且自行承担风险,本站不进行额外附加服务,虚拟产品一经售出概不退款(未进行购买下载可退充值款),文档一经付费(服务费)、不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
4、如你看到网页展示的文档有www.zixin.com.cn水印,是因预览和防盗链等技术需要对页面进行转换压缩成图而已,我们并不对上传的文档进行任何编辑或修改,文档下载后都不会有水印标识(原文档上传前个别存留的除外),下载后原文更清晰;试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓;PPT和DOC文档可被视为“模板”,允许上传人保留章节、目录结构的情况下删减部份的内容;PDF文档不管是原文档转换或图片扫描而得,本站不作要求视为允许,下载前可先查看【教您几个在下载文档中可以更好的避免被坑】。
5、本文档所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用;网站提供的党政主题相关内容(国旗、国徽、党徽--等)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。
6、文档遇到问题,请及时联系平台进行协调解决,联系【微信客服】、【QQ客服】,若有其他问题请点击或扫码反馈【服务填表】;文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“【版权申诉】”,意见反馈和侵权处理邮箱:1219186828@qq.com;也可以拔打客服电话:4009-655-100;投诉/维权电话:18658249818。

注意事项

本文(面向对象技术课程设计A人事工资管理系统.doc)为本站上传会员【天****】主动上传,咨信网仅是提供信息存储空间和展示预览,仅对用户上传内容的表现方式做保护处理,对上载内容不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知咨信网(发送邮件至1219186828@qq.com、拔打电话4009-655-100或【 微信客服】、【 QQ客服】),核实后会尽快下架及时删除,并可随时和客服了解处理情况,尊重保护知识产权我们共同努力。
温馨提示:如果因为网速或其他原因下载失败请重新下载,重复下载【60天内】不扣币。 服务填表

面向对象技术课程设计A人事工资管理系统.doc

1、面向对象技术课程设计A 任务书 一、课程设计目的 “面向对象技术”是计算机科学及技术专业的核心专业课,面向对象程序设计技术也是软件工程师的基本技能,“面向对象课程设计”的目的是理解和巩固面向对象程序设计的基本理论、原理和方法的重要的实践环节。 本课程设计综合应用学生所学知识,结合小型应用系统的设计,建立面向对象程序设计的概念,理解和巩固封装、类及对象、继承及多态、JAVA数据结构、多线程、IO、UI设计及UML等知识,掌握常用设计模式知识以及分层设计思想,为后续课程的学习打下良好的基础。 二、课程设计阶段教学内容及任务 本课程设计分二个阶段,第一阶段为课程知识的复习及巩固,教学形

2、式为讲授及训练相结合(算法及程序设计基础课程设计实施计划);第二阶段为项目实战案例及职业素养教育,以学生编程训练为主,在这一阶段,学生需要以分组为单位,完成以下实训项目:人事管理系统。 三、选题要求、学时分配和辅导 选题要求 (1)以学号的最低位为选题依据,每人1题,独立完成各自的任务。 (2)任务完成后,以小组为单位,独立撰写课程设计报告并打印。 四、评分和验收标准 1评分标准 课程成绩组成: 平时+任务合作及设计质量+课程设计报告质量 2验收标准 教师根据设计报告、软件的运行演示和学生回答问题的情况评定成绩。 (1)设计报告规范、完整,概念原理论述清楚、软

3、件设计结构合理,独立完成设计,软件运行正常,能够突出表现多道程序运行的特点,回答问题准确明了,可以评为优秀(A)。 (2)设计报告规范、完整,概念原理论述清楚、软件设计结构合理,独立完成、软件基本运行正常,能够表现多道程序运行的特点,回答问题正确,可以评为良(B)。 (3)设计报告规范、概念原理论述基本清楚、软件设计结构合理,基本独立完成,软件基本运行正常,基本能够表现多道程序运行的特点,回答问题部分正确,可以评为中良(C)。 (4)设计报告基本规范、概念原理论述基本清楚、软件设计结构基本合理,部分独立完成,软件基本可以运行,基本能够表现多道程序运行的特点,回答问题部分

4、正确,可以评为及格(D)。 (5)设计报告不规范、概念原理论述不清楚、软件设计结构不合理,大部分不能独立完成,软件基本不能运行,回答问题大部分不正确,可以评为不及格(E)。 五、设计的基本步骤 (1) 需求分析 查找相关技术资料,了解基本原理,根据题目要求的功能,确定运行流程。. (2) 设计软件的界面 程序运行界面要求使用中文或中英文对照.。 (3) 总体设计、 用UM图实现:用例图、类图、状态图、时序图  确定软件的总体结构、模块关系、总体流程; 确定开发要使用的语言环境; 要解决的关键技术问题。 (4) 详细设计 确定要使用的函数、API,掌握它们的

5、使用的参数和返回值。 确定模块内部的流程和实现算法; 确定要设计的过程、构件、类、对象、函数和它们的参数。 (5) 编码设计 建立设计编程的环境; 注意编程的风格的规范。 (6) 实际数据运行测试 检查程序是否有错误; 检查界面是否美观; 检查操作是否方便; 检查提供的信息是否清晰; 检查性能是否稳定。 六、设计说明书内容要求 6.1 概述 目的:实现人事管理。 主要完成的任务:实现了员工信息的查询,对员工信息的增、删、改,对员工工资的查询,和对员工信息的统计,数据的备份和恢复。 使用的开发工具:Myecli

6、pse8.5,MySQL。 解决的主要问题:解决了对员工信息的管理,对工资的统计。 6.2 总体设计 确定基本的技术路线:面向对象。 确定软件的总体结构、模块关系、总体流程: 人事管理系统 工资管理系统 统计管理系统 管理管理系统 人事工资管理系统 数 据恢复 数据备份 部门个数统计 部门人数统计 员工工资管理 员工调薪管理 员工信息管理 员工奖惩管理 6.3 详细设计 1. ResultSet executeQuery(String sql) throws SQLException//执

7、行给定的 SQL 语句,该语句返回单个 ResultSet 对象。 参数: sql - 要发送给数据库的 SQL 语句,通常为静态 SQL SELECT 语句;返回: 包含给定查询所生成数据的 ResultSet 对象;永远不能为 null ;抛出: SQLException - 如果发生数据库访问错误,在已关闭的 Statement 上调用此方法,或者给定 SQL 语句生成单个 ResultSet 对象之外的任何其他内容。 2. 3.主要的方法体: public  User  login(User user);//登录方法  public Vector findUserAll

8、);//查找所有员工信息  public void backUp(User user);//数据备份  public User  recOver(); //数据恢复 public Vector showUserType();//显示用户种类 public Vector showUserTypeMain();//显示用户种类 public int updateUserType(UserType userType);//更新用户种类 public int saveUserType(UserType userType);//保存用户种类 public int re

9、moveUserType(int tid);//删除用户种类 public Vector showUserTypeAndUser();//连接查询员工信息及其种类 public Vector showUserTypeLikeType(String userType); //模糊查询用户种类 public Vector findStaffInfo(String staffname);//模糊查找 public int saveStaff(StaffInfo staffInfo);//添加员工 public int removeStaff(String name);/

10、/根据姓名删除员工 public int updateStaff(StaffInfo2 staffInfo2);//修改员工信息 public Vector findStaffSalary(String staffname);//模糊查找 public int updateSalary(String depart,double salary);//调整员工薪水信息 public int addRewardPunish(RewardPunish rp);//增加奖惩数据 public int deleteRewardPunish(RewardPunish rp);/

11、/删除奖惩数据 public int updateRewardPunish(int id,String date, String type, String reason, int score,String remark);//更新奖惩数据 public Vector showRewardPunish(int id);//显示奖惩数据 public int SelectRewardPunish(RewardPunish rp);//选择奖惩数据 public Vector findDepart(String name);//根据部门名模糊查找 public V

12、ector showDepartNumber(String name);//根据部门名统计各部门人数 6.4 编码设计 开发环境的设置和建立:下载并安装My Eclipse8.5,My SQL6.0; 程序设计时要注意的事项:需加载及MySQL相对应的驱动包; 关键构件/插件的特点和使用:JTable需要放在ScrollPane中,可及数据库中的表相对应,而且可以实现下拉滚动。 主要程序的代码设计及注释: 一.登录模块是用户登录进去进行相关操作的,如员工信息的增删改查等等。 (1)View层代码 loginTitle = new javax.swing.JLabel(

13、); jLabel1 = new javax.swing.JLabel(); jLabel2 = new javax.swing.JLabel(); uname = new javax.swing.JTextField(); pwd = new javax.swing.JPasswordField(); limit = new javax.swing.JComboBox(); jLabel3 = new javax.swing.JLabel(); loginBtn = new javax.swing.JButton(); registerBtn = new javax.swin

14、g.JButton(); jLabel4 = new javax.swing.JLabel(); setDefaultCloseOperation(javax.swing.WindowConstants.EXIT_ON_CLOSE); setForeground(java.awt.Color.white); setResizable(false); setState(1); loginTitle.setFont(new java.awt.Font("Microsoft YaHei UI", 1, 44)); loginTitle.setHorizontalAlignment(ja

15、vax.swing.SwingConstants.CENTER); loginTitle.setText("\u4eba\u4e8b\u5de5\u8d44\u7ba1\u7406\u7cfb\u7edf"); jLabel1.setText("\u7528\u6237\u540d"); jLabel2.setText("\u5bc6 \u7801\uff1a"); //limit.setModel(javax.swing.DefaultComboBoxModel@187e702); jLabel3.setText("\u6743 \u9650\uff1a"); login

16、Btn.setText("\u767b\u9646"); (2) Action层 private void registerBtnActionPerformed(java.awt.event.ActionEvent evt) { registerFrame r = new registerFrame(); r.setVisible(true); private void loginBtnMouseClicked(java.awt.event.MouseEvent evt) { String name = this.uname.getText(); String

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

18、 (flag != null) { wusername = name; wtype = limit; ok o = new ok(); o.setVisible(true); setVisible(false); } else { fail f = new fail(); f.setVisible(true); dispose(); (3) Dao数据交互层 @Override public User login(User user) { // TODO Auto-generated method stub

19、 User resultUser=null; String sql = "select user_no,user_name,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();

20、try { stmt = conn.createStatement(); rs = stmt.executeQuery(sql); if(rs.next()){ resultUser = new User(); resultUser.setUserNo(rs.getInt("user_no")); resultUser.setUserName(rs.getString("user_name")); resultUser.setUserPwd(rs.getString("user_pwd")); resultU

21、ser.setUserType(rs.getInt("user_type")); } catch (SQLException e) { e.printStackTrace(); finally{ JDBCUtil.closeResource(conn, psmt, stmt, rs); return resultUser; 二.人事管理模块设计及实现 对员工的相关资料及记录进行管理。可在该模块对员工基本资料、奖惩记录、修改员工信息可实现对员工的调动、薪水记录进行修改。 当进入到人事管理子系统模块,再点击模糊查询。删除员工按钮,会进入到下面的界面

22、其中的模糊查询代码如下 (1) view层 private void initComponents() { 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.JButt

23、on(); jButton3 = new javax.swing.JButton(); jLabel2 = new javax.swing.JLabel(); jButton4 = new javax.swing.JButton(); jLabel3 = new javax.swing.JLabel(); jLabel4 = new javax.swing.JLabel(); setDefaultCloseOperation(javax.swing.WindowConstants.EXIT_ON_CLOSE); jTable1.setModel(new

24、 javax.swing.table.DefaultTableModel( new Object[][] { }, new String[] { "姓名", "编号", "部门编号", "职称", "性别", "基本工资","电话号码", "工号" })); jScrollPane1.setViewportView(jTable1); jButton1.setText("\u786e\u5b9a"); jButton1.addActionListener(new java.awt.event.ActionListener() { public vo

25、id actionPerformed(java.awt.event.ActionEvent evt) { jButton1ActionPerformed(evt); }); jLabel1.setText("\u8bf7\u8f93\u5165\u59d3\u540d\uff0c\u652f\u6301\u6a21\u7cca\u67e5\u627e"); jname.setText(null); jButton2.setText("\u9000\u51fa\u6a21\u7cca\u67e5\u627e"); jButton2.addActionListen

26、er(new java.awt.event.ActionListener() { public void actionPerformed(java.awt.event.ActionEvent evt) { jButton2ActionPerformed(evt); jButton3.setText("\u5237\u65b0"); jButton3.addActionListener(new java.awt.event.ActionListener() { public void actionPerformed(java.awt.event.Action

27、Event evt) { jButton3ActionPerformed(evt); jLabel2.setText("\u5237\u65b0\u540e\u53ef\u7ee7\u7eed\u67e5\u627e"); jButton4.setText("\u5220\u9664\u6b64\u5458\u5de5"); jButton4.addActionListener(new java.awt.event.ActionListener() { public void actionPerformed(java.awt.event.ActionEven

28、t evt) { jButton4ActionPerformed(evt); jLabel3.setText("\u7a7a\u503c\u53ef\u67e5\u627e\u6240\u6709\u5458\u5de5"); jLabel4.setText("\u9700\u8981\u8f93\u5165\u5168\u540d\u53ef\u4ee5\u5220\u9664\u5458\u5de5"); public void findStaffName(JTable jTable, String name) { DefaultTableModel model

29、 = (DefaultTableModel) jTable.getModel(); model.setRowCount(0); Vector v = staffInfoDao.findStaffInfo(name); for (int i = 0; i < v.size(); i++) { model.addRow((Vector) v.get(i)); (2) action层 private void jButton1ActionPerformed(java.awt.event.ActionEvent evt) { String name = jname.

30、getText(); if (name != null) { staff.findStaffName(jTable1, name); } else { pleaseInput p = new pleaseInput(); p.setVisible(true); (3) dao层 public Vector findStaffInfo(String staffname) { Vector list = new Vector(); String sql = "select *" + "from t_staff_info " + "wh

31、ere staff_name like'%" + staffname + "%'"; conn = JDBCUtil.getConnection(); try { stmt = conn.createStatement(); rs = stmt.executeQuery(sql); while (rs.next()) { Vector listObject = new Vector(); // listObject.add( new // User(rs.getInt("id"),rs.getString("uname"),rs

32、getString("pwd"))); listObject.add(rs.getString("staff_name")); listObject.add(rs.getInt("staff_id")); listObject.add(rs.getInt("dept_no")); listObject.add(rs.getString("staff_pos_name")); listObject.add(rs.getString("staff_sex")); listObject.add(rs.getInt("staff_baseS

33、al")); listObject.add(rs.getInt("staff_phoneNum")); listObject.add(rs.getString("staff_workNum")); list.add(listObject); } catch (SQLException e) { // TODO Auto-generated catch block e.printStackTrace(); } finally { JDBCUtil.closeResource(conn, psmt, stmt, rs); re

34、turn list; 4.4 工资管理模块设计及实现 在员工基本信息管理界面里可以对单个员工进行基本工资的修改,因而在面向人数较多的企业时,这种方式存在弊端,部门整体调薪操作可以对整个业绩高的部门进行整体调薪 (1) view层 private void initComponents() { jButton1 = new javax.swing.JButton(); jLabel1 = new javax.swing.JLabel(); jdepart = new javax.swing.JTextField(); jButton2 = new javax.sw

35、ing.JButton(); jLabel2 = new javax.swing.JLabel(); jScrollPane1 = new javax.swing.JScrollPane(); jTable1 = new javax.swing.JTable(); jLabel3 = new javax.swing.JLabel(); jdepart2 = new javax.swing.JTextField(); sure = new javax.swing.JButton(); jLabel4 = new javax.swing.JLabel();

36、 money = new javax.swing.JTextField(); jLabel5 = new javax.swing.JLabel(); jLabel6 = new javax.swing.JLabel(); setDefaultCloseOperation(javax.swing.WindowConstants.EXIT_ON_CLOSE); jButton1.setText("\u8fd4\u56de\u4e3b\u754c\u9762"); jButton1.addActionListener(new java.awt.event.Acti

37、onListener() { public void actionPerformed(java.awt.event.ActionEvent evt) { jButton1ActionPerformed(evt); jLabel1.setText("\u8bf7\u8f93\u5165\u90e8\u95e8\u540d\u53ef\u8fdb\u884c\u6a21\u7cca\u67e5\u627e"); jButton2.setText("\u786e\u5b9a"); jButton2.addActionListener(new java.awt.event

38、ActionListener() { public void actionPerformed(java.awt.event.ActionEvent evt) { jButton2ActionPerformed(evt); jLabel2 .setText("\u7ed9\u6307\u5b9a\u90e8\u95e8\u7684\u6240\u6709\u5458\u5de5\u8c03\u85aa"); jTable1.setModel(new javax.swing.table.DefaultTableModel( new Object[][]

39、{ }, new String[] { "部门编号", "部门名称" })); jScrollPane1.setViewportView(jTable1); jLabel3.setText("\u8f93\u5165\u5168\u540d\u9009\u5b9a\u90e8\u95e8"); sure.setText("\u786e\u5b9a"); sure.addActionListener(new java.awt.event.ActionListener() { public void actionPerformed(java.awt.eve

40、nt.ActionEvent evt) { sureActionPerformed(evt); jLabel4.setText("\u8f93\u5165\u8c03\u6574\u529b\u5ea6"); money.addActionListener(new java.awt.event.ActionListener() { public void actionPerformed(java.awt.event.ActionEvent evt) { moneyActionPerformed(evt); jLabel5 .setText("\u6

41、e29\u99a8\u63d0\u793a:\u63d0\u85aa\u5219\u8f93\u5165\u6b63\u6570,\u964d\u85aa\u5219\u8f93\u5165\u8d1f\u6570"); jLabel6.setText("\u5143"); (2) action层 private void sureActionPerformed(java.awt.event.ActionEvent evt) { String jdept = jdepart2.getText(); Double money2 = Double.parseDouble(mo

42、ney.getText()); StaffInfo s=new StaffInfo(); s.num(staff.updateSalary(jdept,money2)); private void jButton1ActionPerformed(java.awt.event.ActionEvent evt) { dispose(); private void jButton2ActionPerformed(java.awt.event.ActionEvent evt) { String department = jdepart.getText(); if

43、department != null) { depart.findDepart(jTable1, department); } else { pleaseInput p = new pleaseInput(); p.setVisible(true); (3) dao层 public Vector findDepart(String name) { Vector list = new Vector(); String sql = "select *" + "from t_department " + "where dept_name li

44、ke'%" + name + "%'"; conn = JDBCUtil.getConnection(); try { stmt = conn.createStatement(); rs = stmt.executeQuery(sql); while (rs.next()) { Vector listObject = new Vector(); // listObject.add( new // User(rs.getInt("id"),rs.getString("uname"),rs.getString("pwd")));

45、 listObject.add(rs.getInt("dept_no")); listObject.add(rs.getString("dept_name")); list.add(listObject); } catch (SQLException e) { // TODO Auto-generated catch block e.printStackTrace(); } finally { JDBCUtil.closeResource(conn, psmt, stmt, rs); return list; 统计管理模块设

46、计及实现 统计部门总数和各部门人数 (1) view层 private void initComponents() { jScrollPane1 = new javax.swing.JScrollPane(); jTable1 = new javax.swing.JTable(); jButton1 = new javax.swing.JButton(); jLabel1 = new javax.swing.JLabel(); jdepart = new javax.swing.JTextField(); jButton2 = new javax.sw

47、ing.JButton(); jScrollPane3 = new javax.swing.JScrollPane(); jTable2 = new javax.swing.JTable(); jLabel2 = new javax.swing.JLabel(); setDefaultCloseOperation(javax.swing.WindowConstants.EXIT_ON_CLOSE); jTable1.setModel(new javax.swing.table.DefaultTableModel( new Object[][] {

48、 }, new String[] { "员工编号", "员工姓名", "统计人数" })); jScrollPane1.setViewportView(jTable1); jButton1.setText("\u786e\u5b9a"); jButton1.addActionListener(new java.awt.event.ActionListener() { public void actionPerformed(java.awt.event.ActionEvent evt) { jButton1ActionPerformed(evt); j

49、Label1 .setText("\u8bf7\u8f93\u5165\u90e8\u95e8\u540d\u8fdb\u884c\u6a21\u7cca\u67e5\u627e"); jdepart.addActionListener(new java.awt.event.ActionListener() { public void actionPerformed(java.awt.event.ActionEvent evt) { jdepartActionPerformed(evt); jButton2.setText("\u8fd4\u56de\u4e3

50、b\u754c\u9762"); jButton2.addActionListener(new java.awt.event.ActionListener() { public void actionPerformed(java.awt.event.ActionEvent evt) { jButton2ActionPerformed(evt); jTable2.setModel(new javax.swing.table.DefaultTableModel( new Object[][] { }, new String[] { "部门编号",

移动网页_全站_页脚广告1

关于我们      便捷服务       自信AI       AI导航        抽奖活动

©2010-2025 宁波自信网络信息技术有限公司  版权所有

客服电话:4009-655-100  投诉/维权电话:18658249818

gongan.png浙公网安备33021202000488号   

icp.png浙ICP备2021020529号-1  |  浙B2-20240490  

关注我们 :微信公众号    抖音    微博    LOFTER 

客服