人事工資管理系統(tǒng)課程設(shè)計(jì)報(bào)告.doc
蘇州科技大學(xué)電子信息與智能化實(shí)驗(yàn)中心面向?qū)ο蠹夹g(shù)課程設(shè)計(jì)A報(bào)告人事工資管理系統(tǒng)專業(yè)年級計(jì)算機(jī)科學(xué)與技術(shù)(嵌入式培養(yǎng))15級班級嵌入式1511學(xué)號1520014111915200141115152001411011520014113715200141136姓名張梓軒戚春陽徐敏杰袁祺林王雨欣成績指導(dǎo)教師 丁 俊2016年12月24日姓名角色承擔(dān)任務(wù)自評成績張梓軒組長E-R圖;統(tǒng)一數(shù)據(jù)庫;工資管理系統(tǒng)顯示所有員工的工資,部門整體調(diào)薪的實(shí)現(xiàn);人事管理系統(tǒng)的時(shí)序圖和活動圖;戚春陽組員統(tǒng)計(jì)管理系統(tǒng)顯示各個(gè)部門和人數(shù)功能的實(shí)現(xiàn);用戶權(quán)限和密碼設(shè)置;系統(tǒng)時(shí)間輸出;實(shí)現(xiàn)系統(tǒng)設(shè)置管理中的數(shù)據(jù)備份和數(shù)據(jù)恢復(fù);整合所有人代碼,實(shí)現(xiàn)功能的統(tǒng)一和代碼的優(yōu)化;登錄界面的活動圖和時(shí)序圖;徐敏杰組員人事管理系統(tǒng)添加員工信息,修改員工信息;用例圖和用例說明;任務(wù)書的編寫;系統(tǒng)設(shè)置系統(tǒng)的活動圖、時(shí)序圖;袁祺林組員人事管理系統(tǒng)查詢員工的登陸信息、模糊查詢和刪除員工;課程總結(jié);任務(wù)書的編寫;人事管理系統(tǒng)的時(shí)序圖和活動圖;王雨欣組員員工獎懲表的增、刪、改、查;系統(tǒng)類圖;課程設(shè)計(jì)與需求分析;統(tǒng)計(jì)管理系統(tǒng)的活動圖和時(shí)序圖;注:如果按小組進(jìn)行,需要此表,否則刪除。人事工資系統(tǒng)設(shè)計(jì)報(bào)告1 課程設(shè)計(jì)任務(wù)概述 人事工資管理系統(tǒng)是非常通用的管理信息系統(tǒng),一個(gè)公司必須要有健全的人事工資管理系統(tǒng)來管理員工的信息,才能實(shí)現(xiàn)它的日常運(yùn)轉(zhuǎn)。因此,為了支持企業(yè)規(guī)范化的管理,高效率地完成人事的業(yè)務(wù),需要實(shí)現(xiàn)包括員工的姓名、年齡、編號、電話號碼等基本信息的建立,授予員工所能獲取的權(quán)限,例如管理員權(quán)限,就可以對普通員工進(jìn)行信息管理,其中包括新員工個(gè)人的基本信息資料的增加、修改,退休員工的信息的刪除,員工獎懲信息的增加、刪除和修改;此外還支持管理員對部門整體進(jìn)行調(diào)薪,擴(kuò)大了管理員的管理范圍;同時(shí)為了支持人事管理及其相關(guān)方面的科學(xué)決策,增加了員工的個(gè)人基本信息查詢、薪資查詢、獎懲情況查詢和部門的總體情況查詢等,大大提高了公司內(nèi)部員工管理的效率,減少了不必要的精力的投入,使得企業(yè)的正常維護(hù)得以實(shí)現(xiàn)。 2 系統(tǒng)需求分析2.1 系統(tǒng)功能分析 本系統(tǒng)主要是實(shí)現(xiàn)企業(yè)人事管理的系統(tǒng)化、規(guī)范化和自動化,實(shí)現(xiàn)數(shù)據(jù)的錄入、插入、刪除、查詢、統(tǒng)計(jì)、更新等功能。具有員工注冊以及登錄的功能,且登錄后管理員可修改自己用戶權(quán)限;大體分為以下四個(gè)主功能:1.人事管理系統(tǒng):主要用來實(shí)現(xiàn)對員工的基本信息的增加、信息的刪除、信息的修改以及模糊查詢,還包括對員工的獎懲信息的增加,信息的刪除,信息的修改以及信息的查詢;2.工資管理系統(tǒng):主要包括模糊查詢部門信息、員工的總體以及個(gè)人工資信息,以及對部門的薪資進(jìn)行整體調(diào)整的功能;3.統(tǒng)計(jì)管理系統(tǒng):主要指用來顯示部門的整體情況以及員工人數(shù);4.系統(tǒng)設(shè)置系統(tǒng):主要是用來對數(shù)據(jù)進(jìn)行恢復(fù)和備份。2.2 用例圖及用例說明2.2.1 用戶注冊用例1.用例名稱: 注冊2.用例描述: 注冊成為本管理系統(tǒng)的用戶3.角色: 用戶4.前置條件: 格式輸入正確5.后置條件: 保存此用戶的信息6.基本路徑: A.填寫用戶名和密碼 B.保存用戶信息7.擴(kuò)展點(diǎn): A.未填寫完整或者格式錯誤 a1.錯誤提示 B.用戶已經(jīng)存在 b1.錯誤提示3 系統(tǒng)設(shè)計(jì)3.1 系統(tǒng)類圖3.2 系統(tǒng)活動圖用戶登陸活動圖:人事管理系統(tǒng)活動圖:統(tǒng)計(jì)管理系統(tǒng)活動圖: 工資管理系統(tǒng)活動圖: 系統(tǒng)設(shè)置管理活動圖:3.3 系統(tǒng)時(shí)序圖用戶登陸時(shí)序圖:人事管理系統(tǒng)時(shí)序圖:工資管理系統(tǒng)時(shí)序圖:統(tǒng)計(jì)管理系統(tǒng)時(shí)序圖:系統(tǒng)設(shè)置管理時(shí)序圖:4 系統(tǒng)實(shí)現(xiàn)4.1登錄模塊設(shè)計(jì)與實(shí)現(xiàn)登錄模塊是用戶登錄進(jìn)去進(jìn)行相關(guān)操作的,如員工信息的增刪改查等等。(1)View層代碼loginTitle = new javax.swing.JLabel();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.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(new java.awt.Font("Microsoft YaHei UI", 1, 44);loginTitle.setHorizontalAlignment(javax.swing.SwingConstants.CENTER);loginTitle.setText("u4ebau4e8bu5de5u8d44u7ba1u7406u7cfbu7edf");jLabel1.setText("u7528u6237u540d");jLabel2.setText("u5bc6 u7801uff1a");/limit.setModel(javax.swing.DefaultComboBoxModel187e702);jLabel3.setText("u6743 u9650uff1a");loginBtn.setText("u767bu9646");(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 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 (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數(shù)據(jù)交互層Overridepublic User login(User user) / TODO Auto-generated method stub 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();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"); resultUser.setUserType(rs.getInt("user_type"); catch (SQLException e) e.printStackTrace();finallyJDBCUtil.closeResource(conn, psmt, stmt, rs);return resultUser;4.2系統(tǒng)主界面可在該模塊完成員工資料的常用操作。員工的各項(xiàng)人事記錄可在選擇員工后,在主界面下面的分欄里面進(jìn)行添加、修改、刪除操作。4.3人事管理模塊設(shè)計(jì)及實(shí)現(xiàn)對員工的相關(guān)資料及記錄進(jìn)行管理??稍谠撃K對員工基本資料、獎懲記錄、修改員工信息可實(shí)現(xiàn)對員工的調(diào)動、薪水記錄進(jìn)行修改。當(dāng)進(jìn)入到人事管理子系統(tǒng)模塊,再點(diǎn)擊模糊查詢。刪除員工按鈕,會進(jìn)入到下面的界面其中的模糊查詢代碼如下(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.JButton();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 javax.swing.table.DefaultTableModel(new Object , new String "姓名", "編號", "部門編號", "職稱", "性別", "基本工資","電話號碼", "工號" );jScrollPane1.setViewportView(jTable1);jButton1.setText("u786eu5b9a");jButton1.addActionListener(new java.awt.event.ActionListener() public void actionPerformed(java.awt.event.ActionEvent evt) jButton1ActionPerformed(evt););jLabel1.setText("u8bf7u8f93u5165u59d3u540duff0cu652fu6301u6a21u7ccau67e5u627e");jname.setText(null);jButton2.setText("u9000u51fau6a21u7ccau67e5u627e");jButton2.addActionListener(new java.awt.event.ActionListener() public void actionPerformed(java.awt.event.ActionEvent evt) jButton2ActionPerformed(evt););jButton3.setText("u5237u65b0");jButton3.addActionListener(new java.awt.event.ActionListener() public void actionPerformed(java.awt.event.ActionEvent evt) jButton3ActionPerformed(evt););jLabel2.setText("u5237u65b0u540eu53efu7ee7u7eedu67e5u627e");jButton4.setText("u5220u9664u6b64u5458u5de5");jButton4.addActionListener(new java.awt.event.ActionListener() public void actionPerformed(java.awt.event.ActionEvent evt) jButton4ActionPerformed(evt););jLabel3.setText("u7a7au503cu53efu67e5u627eu6240u6709u5458u5de5");jLabel4.setText("u9700u8981u8f93u5165u5168u540du53efu4ee5u5220u9664u5458u5de5");public void findStaffName(JTable jTable, String name) DefaultTableModel model = (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.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 "+ "where 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.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_baseSal");listObject.add(rs.getInt("staff_phoneNum");listObject.add(rs.getString("staff_workNum");list.add(listObject); catch (SQLException e) / TODO Auto-generated catch blocke.printStackTrace(); finally JDBCUtil.closeResource(conn, psmt, stmt, rs);return list;4.4 工資管理模塊設(shè)計(jì)與實(shí)現(xiàn)在員工基本信息管理界面里可以對單個(gè)員工進(jìn)行基本工資的修改,因而在面向人數(shù)較多的企業(yè)時(shí),這種方式存在弊端,部門整體調(diào)薪操作可以對整個(gè)業(yè)績高的部門進(jìn)行整體調(diào)薪(1) view層private void initComponents() jButton1 = new javax.swing.JButton();jLabel1 = new javax.swing.JLabel();jdepart = new javax.swing.JTextField();jButton2 = new javax.swing.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();money = new javax.swing.JTextField();jLabel5 = new javax.swing.JLabel();jLabel6 = new javax.swing.JLabel();setDefaultCloseOperation(javax.swing.WindowConstants.EXIT_ON_CLOSE);jButton1.setText("u8fd4u56deu4e3bu754cu9762");jButton1.addActionListener(new java.awt.event.ActionListener() public void actionPerformed(java.awt.event.ActionEvent evt) jButton1ActionPerformed(evt););jLabel1.setText("u8bf7u8f93u5165u90e8u95e8u540du53efu8fdbu884cu6a21u7ccau67e5u627e");jButton2.setText("u786eu5b9a");jButton2.addActionListener(new java.awt.event.ActionListener() public void actionPerformed(java.awt.event.ActionEvent evt) jButton2ActionPerformed(evt););jLabel2.setText("u7ed9u6307u5b9au90e8u95e8u7684u6240u6709u5458u5de5u8c03u85aa");jTable1.setModel(new javax.swing.table.DefaultTableModel(new Object , new String "部門編號", "部門名稱" );jScrollPane1.setViewportView(jTable1);jLabel3.setText("u8f93u5165u5168u540du9009u5b9au90e8u95e8");sure.setText("u786eu5b9a");sure.addActionListener(new java.awt.event.ActionListener() public void actionPerformed(java.awt.event.ActionEvent evt) sureActionPerformed(evt););jLabel4.setText("u8f93u5165u8c03u6574u529bu5ea6");money.addActionListener(new java.awt.event.ActionListener() public void actionPerformed(java.awt.event.ActionEvent evt) moneyActionPerformed(evt););jLabel5.setText("u6e29u99a8u63d0u793a:u63d0u85aau5219u8f93u5165u6b63u6570,u964du85aau5219u8f93u5165u8d1fu6570");jLabel6.setText("u5143");(2) action層private void sureActionPerformed(java.awt.event.ActionEvent evt) String jdept = jdepart2.getText();Double money2 = Double.parseDouble(money.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 (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 like%" + 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");listObject.add(rs.getInt("dept_no");listObject.add(rs.getString("dept_name");list.add(listObject); catch (SQLException e) / TODO Auto-generated catch blocke.printStackTrace(); finally JDBCUtil.closeResource(conn, psmt, stmt, rs);return list;4.5 統(tǒng)計(jì)管理模塊設(shè)計(jì)與實(shí)現(xiàn)統(tǒng)計(jì)部門總數(shù)和各部門人數(shù)(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.swing.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 , new String "員工編號", "員工姓名", "統(tǒng)計(jì)人數(shù)" );jScrollPane1.setViewportView(jTable1);jButton1.setText("u786eu5b9a");jButton1.addActionListener(new java.awt.event.ActionListener() public void actionPerformed(java.awt.event.ActionEvent evt) jButton1ActionPerformed(evt););jLabel1.setText("u8bf7u8f93u5165u90e8u95e8u540du8fdbu884cu6a21u7ccau67e5u627e");jdepart.addActionListener(new java.awt.event.ActionListener() public void actionPerformed(java.awt.event.ActionEvent evt) jdepartActionPerformed(evt););jButton2.setText("u8fd4u56deu4e3bu754cu9762");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 "部門編號", "部門名稱" );jScrollPane3.setViewportView(jTable2);jLabel2.setText("u8f93u5165u7a7au503cu53efu67e5u627eu5168u90e8u5458u5de5u6240u5728u90e8u95e8u7684u4fe1u606f");public void findDepart(JTable jTable, String name) DefaultTableModel model = (DefaultTableModel) jTable.getModel();model.setRowCount(0);Vector v = departDao.findDepart(name);for (int i = 0; i < v.size(); i+) model.addRow(Vector) v.get(i);Overridepublic void showDepartNumber(JTable jTable, String name) DefaultTableModel model = (DefaultTableModel) jTable.getModel();model.setRowCount(0);Vector v = departDao.showDepartNumber(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 depart2 = jdepart.getText();if (depart2 != null) d.showDepartNumber(jTable1, depart2);d.findDepart(jTable2, depart2); 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 like%" + 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");listObject.add(rs.getInt("dept_no");listObject.add(rs.getString("dept_name");list.add(listObject); catch (SQLException e) / TODO Auto-generated catch blocke.printStackTrace(); finally JDBCUtil.closeResource(conn, psmt, stmt, rs);return list;Overridepublic Vector showDepartNumber(String name) / TODO Auto-generated method stubVector list = new Vector();String sql = "select staff_id,staff_name from t_staff_info " +"where dept_no in " +"(select dept_no from t_department " +"where dept_name like %"+name+"%)"conn = JDBCUtil.getConnection();try stmt = conn.createStatement();rs = stmt.executeQuery(sql);int rowCount=0;while (rs.next() listObject = new Vector();listObject.add(rs.getInt("staff_id");listObject.add(rs.getString("staff_name"); /int rowCount = rs.last().getRow();/得到當(dāng)前行號,也就是記錄數(shù) rowCount+;list.add(listObject);listObject.add(rowCount); catch (SQLException e) / TODO Auto-generated catch blocke.printStackTrace(); finally JDBCUtil.closeResource(conn, psmt, stmt, rs);return list;4.6 系統(tǒng)設(shè)置模塊設(shè)計(jì)與實(shí)現(xiàn)可以對數(shù)據(jù)庫備份,恢復(fù),管理操作員,基礎(chǔ)資料設(shè)置.其中數(shù)據(jù)備份和數(shù)據(jù)恢復(fù)的代碼是public void backUp(User user) / TODO Auto-generated method stubtry ObjectOutputStream oos = new ObjectOutputStream(new FileOutputStream("g:user.txt"); oos.writeObject(user); oos.close(); backupok b=new backupok(); b.setVisible(true); catch (FileNotFoundException e) / TODO Auto-generated catch blocke.printStackTrace();backupfalse b=new backupfalse();b.setVisible(true); catch (IOException e) / TODO Auto-generated catch blocke.printStackTrace();backupfalse2 b=new backupfalse2();b.setVisible(true);Overridepublic User recOver() User user=null;try ObjectInputStream ois = new ObjectInputStream(new FileInputStream("g:user.txt"); user=(User)ois.readObject();ois.close();recoverok r=new recoverok();r.setVisible(true); catch (FileNotFoundException e) / TODO Auto-generated catch blocke.printStackTrace();recoverfalse2 r=new recoverfalse2();r.setVisible(true); catch (IOException e) / TODO Auto-generated catch blocke.printStackTrace();recoverfalse r=new recoverfalse();r.setVisible(true); catch (ClassNotFoundException e) / TODO Auto-generated catch blocke.printStackTrace();return user;5 系統(tǒng)測試測試1 系統(tǒng)登錄測試:步驟及操作:運(yùn)行系統(tǒng),轉(zhuǎn)到登陸界面,輸入賬號及密碼,選擇用戶類型,測試登陸功能。允許偏差:不允許任何偏差 條件:用戶即可,包括管理員和普通用戶。測試1 系統(tǒng)登錄結(jié)果:測試數(shù)據(jù)期望輸出實(shí)際輸出選取理由用戶名密碼12abc 錯誤錯誤密碼為空56789134我5錯誤錯誤密碼非法 a123錯誤錯誤用戶名為空123的34a123錯誤錯誤用戶名非法陳思成a123登錄成功登錄成功為合法登錄請求測試2 獎懲系統(tǒng)增加獎懲信息測試如下表所示:測試數(shù)據(jù)期望輸出實(shí)際輸出選取理由員工編號獎懲日期獎懲原因獎懲類別獎懲分?jǐn)?shù)213七月二十八日上班睡覺懲三十失敗失敗獎懲分?jǐn)?shù)格式錯誤十五七月二十八日獲獎獎90失敗失敗員工編號格式錯誤242017-3-4業(yè)績突出獎100成功成功輸入符合條件在測試獎懲系統(tǒng)時(shí),用戶不存在提示界面原因:不存在此員工。6 課程設(shè)計(jì)總結(jié)已經(jīng)實(shí)現(xiàn)了數(shù)據(jù)備份,數(shù)據(jù)恢復(fù)。查詢員工的登錄信息,模糊查詢,刪除、增加、修改員工信息。顯示所有員工工資,部門整體調(diào)薪,員工獎懲。顯示各個(gè)部門和各個(gè)部門的人數(shù)。還沒有實(shí)現(xiàn)對員工的請假管理,考評管理,以及操作日志管理相關(guān)功能。 經(jīng)過老師的一步步地指導(dǎo),我們一步步地完善自己的代碼,使系統(tǒng)能夠?qū)崿F(xiàn)越來越多的功能。在實(shí)驗(yàn)的過程中,我們也會發(fā)現(xiàn)一些問題,比如:在數(shù)據(jù)庫設(shè)計(jì)初時(shí),在劃分模塊確定各實(shí)體及關(guān)系,也許是因?yàn)樽约簩θ耸鹿芾聿惶私?,也許是因?yàn)樽约簩τ跀?shù)據(jù)庫整體概念還是理解的不到位,所以遲遲不能確定該系統(tǒng)所設(shè)計(jì)相關(guān)的實(shí)體以及它們的關(guān)系,最后在查閱相關(guān)資料和老師的點(diǎn)撥下,我們克服了困難。 我覺得計(jì)算機(jī)語言最大的特點(diǎn)就是得靠我們認(rèn)真務(wù)實(shí),因?yàn)槲覀兙邆涞挠?jì)算機(jī)方面的基礎(chǔ)知識太少,我們得邊聽邊自學(xué),這樣既能培養(yǎng)我們的興趣,又能學(xué)到實(shí)在的知識。通過課程設(shè)計(jì)我們進(jìn)一步掌握了許多課本知識,同時(shí)還了解了許多課外的有關(guān)計(jì)算機(jī)語言的知識如數(shù)據(jù)庫的有關(guān)知識,這對于我們來說受益匪淺。 7 參考文獻(xiàn)1 王國旭. 基于企業(yè)需求的人事管理系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)J. 江西廣播電視大學(xué)學(xué)報(bào),2013,04:72-75.2 張瑩瑩. 企業(yè)人事管理系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)D.吉林大學(xué),2014.3 范雯芩. 人事工資管理系統(tǒng)的分析與設(shè)計(jì)D.云南大學(xué),2013.4 李港港. 一個(gè)中小企業(yè)人力資源管理系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)D.華中科技大學(xué),2012.5 常濤. 人事數(shù)據(jù)庫管理系統(tǒng)研發(fā)背景和現(xiàn)狀分析J. 電腦知識與技術(shù),2014,07:1364-1365+1386.6 薩維奇,施平安,李牧譯. Java完美編程(第3版). 清華大學(xué)出版社,2008.7 陶永明. 企業(yè)人事管理系統(tǒng)設(shè)計(jì)J. 計(jì)算機(jī)與信息技術(shù),2008,Z1:96-100.8 Connolly,T.M.著,何玉潔 譯. 數(shù)據(jù)庫設(shè)計(jì)教程(第二版),2005.9 趙靜. 人事檔案管理系統(tǒng)分析J. 經(jīng)營管理者,2013,30:285.