




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、苏州科技大学电子信息与智能化实验中心面向对象技术课程设计 A报告人事工资管理系统专业年级计算机科学与技术(嵌入式培养)15级班级嵌入式1511学号1520014111915200141115152001411011520014113715200141136姓名 张梓轩戚春阳 徐敏杰袁祺林王雨欣成绩 指导教师2016年12月24日姓名角色承担任务自评成绩张梓轩组长E-R图;统一数据库;工资管理系统显示所有员 工的工资,部门整体调薪的实现;人事管理系统 的时序图和活动图;戚春阳组员统计管理系统显示各个部门和人数功能的实现; 用户权限和密码设置;系统时间输出;实现系统 设置管理中的数据备份和数据恢复
2、;整合所有人 代码,实现功能的统一和代码的优化;登录界面 的活动图和时序图;徐敏杰组员人事管理系统添加员工信息,修改员工信息;用 例图和用例说明;任务书的编写;系统设置系统 的活动图、时序图;袁祺林组员人事管理系统查询员工的登陆信息、模糊查询和 删除员工;课程总结;任务书的编写;人事管理 系统的时序图和活动图;王雨欣组员员工奖惩表的增、删、改、查;系统类图;课程 设计与需求分析;统计管理系统的活动图和时序 图;注:如果按小组进行,需要此表,否则删除。人事工资系统设计报告1课程设计任务概述人事工资管理系统是非常通用的管理信息系统,一个公司必须要有健 全的人事工资管理系统来管理员工的信息,才能实现
3、它的日常运转。 因此,为了支持企业规范化的管理,高效率地完成人事的业务,需要实现 包括员工的姓名、年龄、编号、电话号码等基本信息的建立,授予员工所 能获取的权限,例如管理员权限,就可以对普通员工进行信息管理,其中 包括新员工个人的基本信息资料的增加、修改,退休员工的信息的删除, 员工奖惩信息的增加、删除和修改;此外还支持管理员对部门整体进行调 薪,扩大了管理员的管理范围; 同时为了支持人事管理及其相关方面的科学决策,增加了员工的个人基本 信息查询、薪资查询、奖惩情况查询和部门的总体情况查询等,大大提高 了公司内部员工管理的效率,减少了不必要的精力的投入,使得企业的正 常维护得以实现。2系统需求
4、分析2.1系统功能分析本系统主要是实现企业人事管理的系统化、规范化和自动化,实现数 据的录入、插入、删除、查询、统计、更新等功能。具有员工注册以及登录的功能,且登录后管理员可修改自己用户权限; 大体分为以下四个主功能:1. 人事管理系统:主要用来实现对员工的基本信息的增加、信息的删除、 信息的修改以及模糊查询,还包括对员工的奖惩信息的增加,信息的删除, 信息的修改以及信息的查询;2. 工资管理系统:主要包括模糊查询部门信息、员工的总体以及个人工资 信息,以及对部门的薪资进行整体调整的功能;3. 统计管理系统:主要指用来显示部门的整体情况以及员工人数;4. 系统设置系统:主要是用来对数据进行恢复
5、和备份。2.2用例图及用例说明2.2.1用户注册用例1.用例名称:注册2.用例描述:注册成为本管理系统的用户3.角色:用户4.前置条件:格式输入正确5.后置条件:保存此用户的信息6.基本路径:A.填写用户名和密码B.保存用户信息7.扩展点:A.未填写完整或者格式错误a1.错误提示B.用户已经存在b1.错误提示3系统设计3.1系统类图3.2系统活动图用户登陆活动图:人事管理系统活动图:?X/ft SFd I 儒&X/刑降的L,佶Aw 、.汕,X/xl/你既记I:倍&12-统计管理系统活动图:工资管理系统活动图:观鬲常舟風圍1宴帖画系统设置管理活动图:河 政礪荷人user txt tft ( 数锯
6、读取斗竝据恢鉴 3.3系统时序图用户登陆时序图:口: 凡用尸和厲丹口1.1.1:旧銘瞬尸懦卫尽甸*|。#建罩点山廈先费人事管理系统时序图:兰 U!TF!髓城昇吓引丿工资管理系统时序图:诃廿.哦托时吓1丿標作屛jz-af也回诞中肉宵3:-Mi聲萍悴汽曲:山3.1: ttrtgjrfaj&.Q3 1 1 r jr HTTiH-丨统计管理系统时序图:系统设置管理时序图:javafILI 舲.txt 丈 IS1 feBMBffiggQii- 3h.ii*成M备骨粧BK1T1T1111111111112.吐11融抠艮壑L-2.1 T 阳txl 汁 Q帽丈已取轉人粗据耳4系统实现4.1登录模块设计与实现登
7、录模块是用户登录进去进行相关操作的,如员工信息的增删改查等等。人事工资管理系统登录界面用户客ft pa :注册(1) View层代码loginTitle = new javax.swing.JLabel(); jLabell = new javax.sw in g.JLabel(); jLabel2 = new javax.sw in g.JLabel();uname = new javax.swing.JTextField(); pwd = new javax.swing.JPasswordField(); limit = new javax.swing.JComboBox(); jLabe
8、l3 = new javax.sw in g.JLabel();logi nBt n=new javax.swi ng.JButto n();registerBt n = new javax.swi ng.JButt on(); jLabel4 = new javax.sw in g.JLabel();EXIT_ON_CLOSsetDefaultCloseOperati on (javax.swi ng.Wi ndowC on sta nts. E);setForegro un d(java.awt.Color.white );setResizable( false );login Title
9、 login Title ER);login TitlesetState(1);.setFont( new java.awt.Font( Microsoft YaHei UI , 1, 44);.setHoriz on talAlig nmen t(javax.swi ng.Swi ngCon sta nts.CENT.setText( u4ebau4e8bu5de5u8d44u7ba1u7406u7cfbu7 edf);jLabel1 .setText( u7528u6237u540d);jLabel2 .setText( u5bc6 u7801uff1a);/limit.setModel(
10、javax.swi ng.DefaultComboBoxModel187e702);jLabel3 .setText( u6743 u9650uff1a);logi nBtn .setText( u767bu9646);(2) Action 层private void registerBt nActio nPerformed(java.awt.eve nt.Actio nEve nt evt) registerFrame r =new registerFrame();r.setVisible(true );private void log inBtnM ouseClicked(java.awt
11、.eve nt.MouseEve ntevt)String n ame =this . uname .getText();String pwd =this . pwd .getText();Stri ng limit =this . limit .getSelectedltem().toString();inttype = 0;if(管理员.equals(limit) type = 1;usertype=管理员”;else type = 2;usertype=普通员工”;User user =new User(n ame, pwd, type);User flag =userServiceog
12、in( user);if(flag !=null ) wuser name=n ame;wtype = limit;ok o =new ok();o.setVisible(true );setVisible(false ); else fail f =new fail();f.setVisible(true );dispose();(3) Dao数据交互层OverridepublicUser logi n( User user) / TODO Auto-ge nerated method stub User resultUser=n ull ;String sql =select user_
13、no ,user_ name,user_pwd,user_typefrom t_user +where user_ name=and user_pwd=and user_type=+user.getUserName()+III II+user.getUserPwd()+ +user.getUserType()+conn = JDBCUtil.getCo nn ection();try stmt = conn .createStatement();rs = stmt .executeQuery(sql);if (rs .next() 14 resultUser = new User();rs .
14、getlnt(user_no);rs .getString(user_name );rs .getString( user_pwd );rs .getInt( user_type );resultUser.setUserNo( resultUser.setUserName( resultUser.setUserPwd( resultUser.setUserType( catch (SQLException e) e.pri ntStackTrace();fin ally(conn , psmt , stmt , rs );JDBCUtil. closeResourceretur n resul
15、tUser;4.2系统主界面 27 可在该模块完成员工资料的常用操作。 主界面下面的分栏里面进行添加、修改、 员工的各项人事记录可在选择员工后, 删除操作。4.3人事管理模块设计及实现对员工的相关资料及记录进行管理。可在该模块对员工基本资料、奖惩记录、 修改员工信息可实现对员工的调动、薪水记录进行修改。当进入到人事管理子系统模块,再点击模糊查询。删除员工按钮,会进入到下面 的界面其中的模糊查询代码如下(1)view 层private void in itComp onen ts() jScrollPane1 = new javax.swing.JScrollPane(); jTablel= n
16、ew 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.JButton();jLabel2 = new javax.swing.JLabel();jButton4= new javax.swing.JButton();jLabel3= new javax.swing.J
17、Label();jLabel4= new javax.swing.JLabel();setDefaultCloseOperati on (javax.swi ng.Wi ndowC on sta nts.LOSE);jTable1 .setModel( new javax.swing.table.DefaultTableModel( new Object , new String 姓名”,”编号”,”部门编号性别”,”基本工资”,电话号码”,”工号” );jScrollPa ne1.setViewportView( jTable1 );jButt on1.setText( u786eu5b9a
18、);jButt on1.addAct ion Liste ner(newjava.awt.eve nt.Act ion Liste ner() public void action Performed(java.awt.eve nt.Act ion Eve nt evt) jButt on 1Act ion Performed(evt););jLabel1.setText( u8bf7u8f93u5165u59d3u540duff0cu652fu6301u6a 21u7ccau67e5u627e);jname .setText(null );jButto n2.setText( u9000u5
19、1fau6a21u7ccau67e5u627ejButt on2.addAct ion Liste ner(newjava.awt.eve nt.Act ion Liste ner() public void action Performed(java.awt.eve nt.Act ion Eve nt evt) jButt on 2Act ion Performed(evt););jButt on3.setText( u5237u65b0);jButt on3.addAct ion Liste ner(newjava.awt.eve nt.Act ion Liste ner() EXIT_O
20、N_C);public void action Performed(java.awt.eve nt.Act ion Eve ntevt) jButt on 3Actio nPeformed(evt););jLabel2 .setText( u5237u65b0u540eu53efu7ee7u7eedu67e5u627e);jButto n4 .setText( u5220u9664u6b64u5458u5de5);jButt on4.addAct ion Liste ner(newjava.awt.eve nt.Act ion Liste ner() public void action Pe
21、rformed(java.awt.eve nt.Act ion Eve ntevt) jButt on4 Actio nPeformed(evt););jLabel3.setText( u7a7au503cu53efu67e5u627eu6240u6709u5458u5d e5);jLabel4.setText( u9700u8981u8f93u5165u5168u540du53efu4ee5u52 20u9664u5458u5de5);public void fin dStafName(JTable jTable, Stri ng n ame) DefaultTableModel model
22、 = (DefaultTableModel)jTable.getModel();model.setRowCou nt(O);Vector v = staffI nfoDao.fin dStaffI nfo( name);for ( int i = 0; i v.size(); i+) model.addRow(Vector) v.get(i);(2) action 层evt)private void jButto nIActio nPeformed(java.awt.eve nt.Actio nEventString name =jname .getText();if (n ame != n
23、ull ) jTablel, n ame);staff .fin dStaffName( else please In put p = p.setVisible(new please In put(); true );(3) dao 层publicVector findStaffI nfo(Stri ng staffname) Vector list =new Vector。;Stri ng sql =select *+ from t_staff_i nfo %+ where staff_ name like%+ staffname +co nn = JDBCUtil.getCo nn ect
24、ion();try stmt = conn .createStatement();rs = stmt .executeQuery(sql);while ( rs .next() Vector listObject =new Vector。;/ listObject.add( new/User(rs.getI nt(id),rs.getStri ng(u name),rs.getStri ng(pwd);listObject.add(rs.getStri ng(staff name);listObject.add(rs.get lnt(staff id);listObject.add(rs.ge
25、t lnt(dept no);listObject.add(rs.getStri ng(staff pos n ame);listObject.add(rs.getStri ng(staff sex);listObject.add(rs.get lnt(staff baseSal);listObject.add(rs.get lnt(staff phoneNum);listObject.add(rs.getStri ng(staff workNum);list.add(listObject); catch (SQLException e) /TODO Auto-ge nerated catch
26、 blocke.pri ntStackTrace(); fin allyJDBCUtil. closeResource ( conn , psmt , stmt , rs );return list;4.4工资管理模块设计与实现在员工基本信息管理界面里可以对单个员工进行基本工资的修改,因而在面向人数较多的企业时,这种方式存在弊端,部门整体调薪操作可以对整个业绩高的部门进行整体调薪(1)view 层private void in itComp onen ts() jButton1 = new javax.swing.JButton();jLabel1=newjavax.swing.JLabel(
27、);jdepart=newjavax.swing.JTextField();jButton2 = new javax.swing.JButton();jLabel2=newjavax.swing.JLabel();jScrollPane1 = new javax.swing.JScrollPane();jTable1=newjavax.swing.JTable();jLabel3 = new javax.swing.JLabel(); jdepart2 = new javax.swing.JTextField(); sure = new javax.swing.JButton();jLabel
28、4=newjavax.swing.JLabel();money = new javax.swing.JTextField();jLabel5=newjavax.swing.JLabel();jLabel6=newjavax.swing.JLabel();EXIT_ON_C);setDefaultCloseOperati on (javax.swi ng.Wi ndowC on sta nts.LOSE);jButto n1.setText( u8fd4u56deu4e3bu754cu9762jButt on1.addAct ion Liste ner(newjava.awt.eve nt.Ac
29、t ion Liste ner() public void action Performed(java.awt.eve nt.Act ion Eve nt evt) jButt on 1Act ion Performed(evt););jLabel1.setText( u8bf7u8f93u5165u90e8u95e8u540du53efu8fdbu88 4cu6a21u7ccau67e5u627e);jButt on2.setText( u786eu5b9a);jButt on2.addAct ion Liste ner(newjava.awt.eve nt.Act ion Liste ne
30、r() public void action Performed(java.awt.eve nt.Act ion Eve nt evt) jButt on 2Act ion Performed(evt););jLabel2.setText( u7ed9u6307u5b9au90e8u95e8u7684u6240u6709u54 58u5de5u8c03u85aa);jTable1 .setModel( new javax.swing.table.DefaultTableModel( new Object , new String 部门编号,部门名称” );jLabel35e8);.setTex
31、t(u8f93u5165u5168u540du9009u5b9au90e8u9sure.setText(u786eu5b9a);sure.addActionListener(new java.awt.event.ActionListener()jScrollPa ne1.setViewportView(jTablel );public void action Performed(java.awt.eve nt.Act ion Eve ntevt) sureActio nPerformed(evt););jLabel4 .setText( u8f93u5165u8c03u6574u529bu5e
32、a6);money .addActionListener(new java.awt.event.ActionListener()public void action Performed(java.awt.eve nt.Act ion Eve ntevt) mon eyActio nPerformed(evt););jLabel5.setText( u6e29u99a8u63d0u793a:u63d0u85aau5219u8f93u5165u6b63u6570,u964du85aau5219u8f93u5165u8d1fu6570);jLabel6 .setText( u5143);(2) ac
33、tion 层private void sureAct ion Performed(java.awt.eve nt.Act ionEvent evt) String jdept =jdepart2 .getText();Double money2 = Double.parseDouble ( money .getText();StaffI nfo s=new StaffI nfo();s.num( staff.updateSalary(jdept,money2);private void jButt on 1Act ion Performed(java.awt.eve nt.Act ionEve
34、nt evt) dispose();private void jButt on 2Act ion Performed(java.awt.eve nt.Act ionEvent evt) String departme nt = if (departme nt !=depart .fin dDepart(jTable1, departme nt); else please In put p =p.setVisible(new please In put(); true );(3) dao 层publicVector findDepart(Stri ng n ame) Vector list =n
35、ew Vector();String sql =select *+ from t_departme nt + where dept_ name like%+ name +%co nn = JDBCUtil.getCo nn ection();try stmt = conn .createStatement();rs = stmt .executeQuery(sql);while ( rs .next() Vector listobject =new Vector。;/ listObject.add( new/User(rs.getI nt(id),rs.getStri ng(u name),r
36、s.getStri ng(pwd);listObject.add(rs .getlnt(dept no );listObject.add(rs .getString(dept_name);list.add(listObject); catch (SQLException e) / TODO Auto-ge nerated catch blocke.pri ntStackTrace(); fin allyJDBCUtil. closeResource ( conn , psmt , stmt , rs );jdepart .getText();null ) return list;4.5统计管理
37、模块设计与实现统计部门总数和各部门人数(1) view 层private void in itComp onen ts() jScrollPane1 = new javax.swing.JScrollPane(); jTable1=newjavax.swing.JTable();jButton1 = new javax.swing.JButton();jLabel1=newjavax.swing.JLabel();jdepart=newjavax.swing.JTextField();jButton2 = new javax.swing.JButton();jScrollPane3 = new
38、 javax.swing.JScrollPane(); jTable2= new javax.swing.JTable();jLabel2= new javax.swing.JLabel();EXIT_ON_CsetDefaultCloseOperati on (javax.swi ng.Wi ndowC on sta nts.LOSE);jTablel .setModel( new javax.swing.table.DefaultTableModel(new Object , new String 员工编号”,”员工姓名”,”统计人数” );jScrollPa ne1.setViewpor
39、tView( jTable1 );jButt on1.setText( u786eu5b9a);jButt on1.addAct ion Liste ner(newjava.awt.eve nt.Act ion Liste ner() public voidaction Performed(java.awt.eve nt.Act ion Eve ntevt) jButt on 1Act ion Performed(evt););jLabel1.setText( u8bf7u8f93u5165u90e8u95e8u540du8fdbu884cu6a 21u7ccau67e5u627e);jdep
40、art.addActi on Liste ner(newjava.awt.eve nt.Act ion Liste ner() public voidaction Performed(java.awt.eve nt.Act ion Eve ntevt) jdepartActio nPerformed(evt););jButto n2.setText( u8fd4u56deu4e3bu754cu9762);jButt on2.addAct ion Liste ner(newjava.awt.eve nt.Act ion Liste ner() public voidaction Performe
41、d(java.awt.eve nt.Act ion Eve ntevt) jButt on 2Act ion Performed(evt););jTable2 .setModel( new javax.swing.table.DefaultTableModel(new Object , new String 部门编号,部门名称” );jScrollPa ne3.setViewportView(jTable2 );jLabel2);setText( u8f93u5165u7a7au503cu53efu67e5u627eu5168u90 e8u5458u5de5u6240u5728u90e8u95
42、e8u7684u4fe1u606fpublic void fin dDepart(JTable jTable, String n ame) DefaultTableModel model = (DefaultTableModel) jTable.getModel();model.setRowCou nt(O);Vector v = departDao.fin dDepart (n ame);for ( int i = 0; i v.size(); i+) model.addRow(Vector)v.get(i);Overridepublic void showDepartNumber(JTab
43、le jTable, Stri ng n ame) DefaultTableModel model = (DefaultTableModel) jTable.getModel();model.setRowCou nt(O);Vector v = departDao.showDepartNumber( name);for (int i = 0; i v.size(); i+) model.addRow(Vector) v.get(i);(2) action 层private void jButto nIActio nPerformed(java.awt.eve nt.Actio nEvent e
44、vt) Stri ng depart2 =jdepart .getText();if (depart2 !=null ) d .showDepartNumber( jTablel , depart2);d .findDepart(jTable2 , depart2); else please In put p =p.setVisible(new please In put(); true );(3) dao 层public Vector findDepart(Stri ng n ame) Vector list =new Vector();-29 -String sql =select *+
45、from t_departme nt + where dept_ name like%+ name +%co nn = JDBCUtil.getCo nn ection();try stmt = conn .createStatement();rs = stmt .executeQuery(sql);while ( rs .next() Vector listobject =new Vector。;/ listObject.add( new/User(rs.getI nt(id),rs.getStri ng(u name),rs.getStri ng(pwd);listObject.add(r
46、s .getlnt(dept_no);listObject.add(rs .getString(dept_name);list.add(listObject); catch (SQLException e) / TODO Auto-ge nerated catch blocke.pri ntStackTrace(); fin allyJDBCUtil. closeResource ( conn , psmt , stmt , rs );return list;OverridepublicVector showDepartNumber(Stri ng n ame) /TODO Auto-ge n
47、erated method stubVector list =new Vector();String sql =select staff_id,staff_ name from t_staff_i nfo+where dept_ no in +(select dept_ no from t_departme nt +where dept_ name like %+n ame+ %);conn = JDBCUtil.getCo nn ecti on();try stmt = conn .createStatement();rs = stmt .executeQuery(sql);int rowC
48、o un t=0;while ( rs .next() listObject = new Vector。;listObject.add( rs .getlnt(staff_id );listObject .add( rs .getString(staff_name)_int rowCou nt = rs.last().getRow();得到当前行号,也就是记录数rowCo un t+;list.add( listObject);listObject.add(rowCo un t); catch (SQLException e) / TODO Auto-ge nerated catch bloc
49、ke.pri ntStackTrace(); fin ally JDBCUtil. closeResource ( conn , psmt , stmt , rs );return list;4.6系统设置模块设计与实现可以对数据库备份,恢复,管理操作员,基础资料设置其中数据备份和数据恢复的代码是public void backUp(User user) / TODO Auto-generated method stub try new ObjectOutputStream(newObjectOutputStream oos =FileOutputStream( g:user.txt);oos
50、.writeObject(user);oos.close();backupok b= new backupok();b.setVisible(true ); catch (FileNotFoundException e) /TODO Auto-ge nerated catch blocke.pri ntStackTrace();backupfalse b= new backupfalse();b.setVisible( true ); catch (IOException e) /TODO Auto-ge nerated catch blocke.pri ntStackTrace();backupfalse2 b= new backupfalse2();b.setVisible( true );Overridepublic User recOver() User use
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025年徐州市中考地理生物合卷试题卷(含答案及解析)
- 2025年注册验船师资格考试(B级船舶检验法律法规)复习题及答案一
- 2025年残联干事招聘考试行政能力测试题库
- 2025年村级红白理事会招聘考试趋势分析与预测
- 2025年高校教师招聘考试模拟题与备考策略指南
- 2025年物流公司仓储管理员招聘面试技巧与问题解析
- 2025年文化创意产业财务管理准则实战模拟题集详解
- 2025年前端开发进阶之路模拟题集与答案解析
- 2025年食盐储备库岗位应聘面试题及自我评价要点
- 2025年社会体育指导员中级考试知识点梳理及模拟题训练
- 下肢静脉曲张课件
- 脑健康中心建设指南(2024年版)
- 2024-2025学年八年级上册历史期末复习选择题(解题指导+专项练习)原卷版
- 高考小说阅读导练:蒙太奇、意识流、冰山理论专项(理论指导+强化训练+参考答案)
- 市政工程综合管网及道路施工组织设计方案
- 关于成立建筑垃圾循环利用公司策划书
- 医院义诊与公益活动管理制度
- 上肢骨折功能锻炼
- (完整版)初等数学研究答案
- Welcome Unit 开学第一课(课件)高中英语人教版必修第一册
- 13.1 磁场 磁感线 课件 高二上学期物理人教版(2019)必修第三册
评论
0/150
提交评论