職工信息標準管理系統(tǒng)范文_第1頁
職工信息標準管理系統(tǒng)范文_第2頁
職工信息標準管理系統(tǒng)范文_第3頁
職工信息標準管理系統(tǒng)范文_第4頁
職工信息標準管理系統(tǒng)范文_第5頁
已閱讀5頁,還剩26頁未讀, 繼續(xù)免費閱讀

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領

文檔簡介

職工信息管理系統(tǒng)1.可行性分析2.需求分析通過對職工信息管理系統(tǒng)研究分析,依照可行性分析方案和項目成員討論,編制本需求闡明書。本報告用于財職工信息管理系統(tǒng)需求規(guī)格明確系統(tǒng)功能需求,業(yè)務流程和性能規(guī)定以及與關于系統(tǒng)接口關系,它將是系統(tǒng)最后實現(xiàn)和審評依照之一,是進一步設計、開發(fā)基本。本報告閱讀范疇:項目組項目管理、軟件開發(fā)和系統(tǒng)測試人員、指引教師等。2.1.1目的作為課程設計,本項目開發(fā)人員、技術等資源非常有限,本項目開發(fā)職工信息管理系統(tǒng)不能算是真正意義上職工信息管理系統(tǒng),只是簡樸對職工個人資料、工資信息進行電子系統(tǒng)管理,其重要為顧客提供查詢個人工資信息功能,針對顧客是某事業(yè)單位職工信息管理,職工數(shù)量較少,系統(tǒng)功能簡樸,操作也要簡樸以便,要便于管理維護。2.1.2顧客特性最后顧客是職工管理員和公司職工,管理員需要對顧客資料進行增刪改查和對自己密碼修改等操作,規(guī)定管理員具備相應計算機知識,如權限管理等。公司職工是普通顧客,具備一定計算機操作即可。1、可以存儲一定數(shù)量顧客信息,并以便有效進行相應顧客資料操作和管理,這重要涉及如下內容。(1)管理員對顧客資料錄入、刪除及修改;(2)管理員對顧客資料查詢;(3)顧客對顧客資料查詢;(4)員工基本工資表,反映員工月基本工資;(5)員工津貼表,反映員工津貼;2、可以存儲員工信息,并以便有效進行員工信息和密碼修改,保證員工信息及時更新以及信息安全性保證。2.3.1性能需求職工信息管理系統(tǒng)使用者是公司職工,對于系統(tǒng)管理員管理工作和職工查詢、注冊等功能,性能規(guī)定都不是很高,本系統(tǒng)是簡樸小型個人信息管理系統(tǒng),只合用于小規(guī)模公司單位,使用人員數(shù)量不大,并發(fā)數(shù)小,因此性能規(guī)定不是很嚴格。2.3.2安全性需求對于職工信息管理關系到個人利益及公司整體利益,因此安全性規(guī)定比較高。重要是要保證數(shù)據(jù)完整性、一致性,控制權限,防止某人惡意襲擊系統(tǒng),修改原始記錄。同步對數(shù)據(jù)庫中數(shù)據(jù)需要定期備份,防止系統(tǒng)數(shù)據(jù)丟失。2.3.3界面圖形需求規(guī)定系統(tǒng)操作界面美觀大方,各功能操作詳細環(huán)節(jié)和辦法顯示清晰,人機交互頁面和諧。依照上述功能規(guī)定,咱們已經理解到這個系統(tǒng)必要做什么,從而設計了下面數(shù)據(jù)流圖以更好去設計整個系統(tǒng),見圖2.4;解決事務信息解決管理員管理員事務解決事務信息解決管理員管理員職工職工圖2.4又依照工資管理規(guī)定及顧客需求調查分析,得到如下第一層數(shù)據(jù)流圖,見圖2.5;信息表信息表添加操作修改操作刪除操作查詢操作顧客圖2.5職工信息管理系統(tǒng)職工信息管理系統(tǒng)職工管理員職工管理員信息及密碼操作查詢個人信息登錄系統(tǒng)注冊分派職工系統(tǒng)權限增、刪、修改職工信息管理和維護職工個人信息信息及密碼操作查詢個人信息登錄系統(tǒng)注冊分派職工系統(tǒng)權限增、刪、修改職工信息管理和維護職工個人信息系統(tǒng)模塊工資管理模塊職工登陸模塊信息管理模塊工資管理系統(tǒng)工資管理系統(tǒng)信息管理模塊職工登陸模塊工資管理模塊信息管理模塊職工登陸模塊工資管理模塊系統(tǒng)模塊圖3.13.2.1E-R圖來闡明工資信息管理系統(tǒng)數(shù)據(jù)庫概念模式依照系統(tǒng)功能實現(xiàn)和所劃分模塊,分析系統(tǒng)實體以及實體間關系,用E-R圖來闡明工資信息管理系統(tǒng)數(shù)據(jù)庫概念模式可得如下關系圖,見圖3.2;姓名基本工資姓名基本工資職工號工資員工職工號工資員工職工號職工號領取 1n領取 m影響影響 姓名津貼姓名津貼 領取姓名津貼領取姓名津貼密碼密碼 職工號職工號圖3.2實體之間關系E-R圖3.2.2關系模式將以上E-R轉換成如下關系模式:員工(職工號,姓名,密碼)工資(職工號,姓名,基本工資,)津貼(職工號,姓名,獎金)其中,標有下劃線字段表達為該數(shù)據(jù)表主碼,即主核心字。在上面實體以及實體之間關系基本上,形成數(shù)據(jù)庫中表格以及各個表格之間關系。工資信息管理系統(tǒng)數(shù)據(jù)庫中各個表格設計成果如下面幾種表格所示。每個表格表達在數(shù)據(jù)庫中一種表。表一:員工信息表:列名數(shù)據(jù)類型可否取空備注闡明noChar(8)NOTNULL職工號(主鍵)nameChar(10)NOTNULL職工姓名miSmallintNOTNULL登錄密碼表二:基本工資表:列名數(shù)據(jù)類型可否取空備注闡明noChar(8)NOTNULL職工號(主鍵)nameChar(10)NOTNULL職工姓名JbmoneyNOTNULL基本工資表三:津貼信息表列名數(shù)據(jù)類型可否為空備注闡明noChar(8)NOTNULL職工號(主鍵)nameChar(10)NOTNULL職工姓名JtmoneyNOTNULL津貼詳細設計4.1程序中數(shù)據(jù)構造本系統(tǒng)中重要數(shù)據(jù)構造就是職工信息和職工工資,包括職工號、姓名、工資等,在解決過程中各項可以作為一種職工不同屬性來進行解決。4.2各模塊實現(xiàn)算法4.2.1職工信息管理模塊功能為:財務部門有關人員錄入、修改、刪除、查詢員工個人信息某些基本算法實現(xiàn):publicclassYGGLextendsJFrameimplementsActionListener{ JFramef=newJFrame("員工信息管理"); JButtonb1=newJButton("添加新員工信息"); JButtonb2=newJButton("修改員工信息"); JButtonb3=newJButton("刪除員工信息"); JButtonb4=newJButton("查詢所有員工信息"); JButtonb5=newJButton("返回"); JTextFieldtf1=newJTextField(4); JTextFieldtf2=newJTextField(4); JTextFieldtf3=newJTextField(4); JTextFieldtf4=newJTextField(4); JTextFieldtf5=newJTextField(6); JTextFieldtf6=newJTextField(7); String[]cloum={"職工號","姓名","津貼","月基本工資","月薪","登陸密碼"}; Object[][]row=newObject[50][6]; JTabletable=newJTable(row,cloum); JScrollPanescrollpane=newJScrollPane(table); JSplitPanesplitpane=newJSplitPane(JSplitPane.VERTICAL_SPLIT); voidcreate(){ JPanelp=(JPanel)f.getContentPane(); p.setLayout(newFlowLayout()); p.add(scrollpane); p.add(splitpane); JPanelp1=newJPanel(); p1.add(b1); p1.add(b2); p1.add(b3); p1.add(b4); p1.add(b5); JPanelp2=newJPanel(); p2.setBackground(Color.cyan); p2.add(scrollpane); p.setLayout(newFlowLayout()); p.add(newJLabel("")); p.add(newJLabel("職工號")); p.add(tf1); p.add(newJLabel("姓名")); p.add(tf2); p.add(newJLabel("津貼")); p.add(tf3); p.add(newJLabel("月基本工資")); p.add(tf4); p.add(newJLabel("登陸密碼")); p.add(tf5); p.add(newJLabel("在此處輸入職工號點擊查詢刪除")); p.add(tf6); splitpane.add(p1,splitpane.TOP); splitpane.add(p2,splitpane.BOTTOM); splitpane.setDividerLocation(50); p.setBackground(Color.CYAN); b1.addActionListener(this); b2.addActionListener(this); b3.addActionListener(this); b4.addActionListener(this); b5.addActionListener(this); f.setBounds(200,100,600,600); f.setResizable(true);//可以調節(jié)界面大小 f.setVisible(true); } publicvoidactionPerformed(ActionEvente){ if(b1.equals(e.getSource())){//添加新員工信息 Connectioncon; Statementsql; try{ Class.forName("org.gjt.mm.mysql.Driver"); }catch(ClassNotFoundExceptione1){ JOptionPane.showMessageDialog(this,"連接數(shù)據(jù)庫失??!"); } try{ con=DriverManager.getConnection("jdbc:mysql://localhost:3306/wagemanagement","root","jxb"); sql=con.createStatement(); StringinsertStr="INSERTINTOwelfare(no,name,jt)VALUES('"+tf1.getText()+"','"+tf2.getText()+"','"+tf3.getText()+"');"; sql.executeUpdate(insertStr); StringinsertStr1="INSERTINTOwageinfo(no,name,jb)VALUES('"+tf1.getText()+"','"+tf2.getText()+"','"+tf4.getText()+"');"; sql.executeUpdate(insertStr1); StringinsertStr2="INSERTINTOworkerinfo(no,name,mi)VALUES('"+tf1.getText()+"','"+tf2.getText()+"','"+tf5.getText()+"');"; sql.executeUpdate(insertStr2); JOptionPane.showMessageDialog(this,"添加成功!"); con.close(); }catch(SQLExceptione1){ JOptionPane.showMessageDialog(this,"添加失敗!"); } } if(b2.equals(e.getSource())){//修改員工信息 Connectioncon; Statementsql; try{ Class.forName("org.gjt.mm.mysql.Driver"); }catch(ClassNotFoundExceptione1){ JOptionPane.showMessageDialog(this,"連接數(shù)據(jù)庫失敗!"); } try{ con=DriverManager.getConnection("jdbc:mysql://localhost:3306/wagemanagement","root","jxb"); sql=con.createStatement(); con=DriverManager.getConnection("jdbc:mysql://localhost:3306/wagemanagement","root","jxb"); sql=con.createStatement(); StringupdateStr="UPDATEwelfareSETjt='"+tf3.getText()+"',name='"+tf2.getText()+"'whereno='"+tf1.getText()+"';"; sql.executeUpdate(updateStr); StringupdateStr1="UPDATEwageinfoSETjb='"+tf4.getText()+"',name='"+tf2.getText()+"'whereno='"+tf1.getText()+"';"; sql.executeUpdate(updateStr1); sql.executeUpdate(updateStr1); StringupdateStr2="UPDATEworkerinfoSETname='"+tf2.getText()+"',mi='"+tf5.getText()+"'whereno='"+tf1.getText()+"';"; sql.executeUpdate(updateStr2); JOptionPane.showMessageDialog(this,"修改成功!"); con.close(); }catch(SQLExceptione1){ JOptionPane.showMessageDialog(this,"修改失敗!"); } } if(b3.equals(e.getSource())){//刪除員工信息 Connectioncon; Statementsql; try{ Class.forName("org.gjt.mm.mysql.Driver"); }catch(ClassNotFoundExceptione1){ JOptionPane.showMessageDialog(this,"連接數(shù)據(jù)庫失??!"); } try{ con=DriverManager.getConnection("jdbc:mysql://localhost:3306/wagemanagement","root","jxb"); sql=con.createStatement(ResultSet.TYPE_SCROLL_SENSITIVE, ResultSet.CONCUR_READ_ONLY); sql.executeUpdate("DELETEFROMwageinfowhereno='"+tf6.getText()+"';"); sql.executeUpdate("DELETEFROMwelfarewhereno='"+tf6.getText()+"';"); sql.executeUpdate("DELETEFROMworkerinfowhereno='"+tf6.getText()+"';"); JOptionPane.showMessageDialog(this,"刪除成功!"); con.close(); }catch(SQLExceptione1){ JOptionPane.showMessageDialog(this,"刪除失??!"); } } if(b4.equals(e.getSource())){//查詢所有員工信息 Connectioncon; Statementsql; ResultSetrs; try{ Class.forName("org.gjt.mm.mysql.Driver"); }catch(ClassNotFoundExceptione1){ JOptionPane.showMessageDialog(this,"連接數(shù)據(jù)庫失??!"); } try{ con=DriverManager.getConnection("jdbc:mysql://localhost:3306/wagemanagement","root","jxb"); sql=con.createStatement(ResultSet.TYPE_SCROLL_SENSITIVE, ResultSet.CONCUR_READ_ONLY); if(b4.equals(e.getSource())){ for(inti=0;i<50;i++) for(intj=0;j<4;j++) table.setValueAt("",i,j); rs=sql.executeQuery("selectdistinct*fromwageinfo,welfare,workerinfowherewageinfo.no=welfare.noandwageinfo.no=workerinfo.no;"); intk=-1; while(rs.next()){ ++k; Stringno=rs.getString(1); Stringname=rs.getString(2); Stringjb=rs.getString(3); Stringjt=rs.getString(6); intsum= rs.getInt(3)+rs.getInt(6); Stringmi=rs.getString(9); table.setValueAt(no,k,0); table.setValueAt(name,k,1); table.setValueAt(jb,k,3); table.setValueAt(jt,k,2); table.setValueAt(sum,k,4); table.setValueAt(mi,k,5); } } }catch(SQLExceptione1){ JOptionPane.showMessageDialog(this,"查詢失??!"); } } if(b5.equals(e.getSource())){//返回 GZGLZJMgl=newGZGLZJM(); gl.create(); f.dispose(); } }}4.2.2職工工資管理模塊功能為:依照工資生成公式,按照員工考勤狀況及各種體現(xiàn)按月生成相應工資;財務部門有關人員能錄入、修改、刪除、查詢每月每個員工工資信息以及工資匯總;員工本人能查詢自己工資信息以及工資匯總;某些基本算法實現(xiàn):publicclassGZGLextendsJFrameimplementsActionListener{ JFramef=newJFrame("工資管理"); JButtonb1=newJButton("錄入"); JButtonb2=newJButton("修改"); JButtonb3=newJButton("刪除"); JButtonb4=newJButton("查詢所有"); JButtonb5=newJButton("返回"); JTextFieldtf1=newJTextField(4); JTextFieldtf2=newJTextField(4); JTextFieldtf3=newJTextField(4); JTextFieldtf4=newJTextField(4); JTextFieldtf5=newJTextField(6); JTextFieldtf6=newJTextField(7); String[]cloum={"職工號","姓名","津貼","月基本工資","月薪"}; Object[][]row=newObject[50][5]; JTabletable=newJTable(row,cloum); JScrollPanescrollpane=newJScrollPane(table); JSplitPanesplitpane=newJSplitPane(JSplitPane.VERTICAL_SPLIT); voidcreate(){ JPanelp=(JPanel)f.getContentPane(); p.setLayout(newFlowLayout()); p.add(scrollpane); p.add(splitpane); JPanelp1=newJPanel(); p1.add(b1); p1.add(b2); p1.add(b3); p1.add(b4); p1.add(b5); JPanelp2=newJPanel(); p2.setBackground(Color.cyan); p2.add(scrollpane); JPanelp3=newJPanel(); p.setLayout(newFlowLayout()); p.add(newJLabel("")); p.add(newJLabel("職工號")); p.add(tf1); p.add(newJLabel("姓名")); p.add(tf2); p.add(newJLabel("津貼")); p.add(tf3); p.add(newJLabel("月基本工資")); p.add(tf4); p.add(newJLabel("月薪")); p.add(tf5); p.add(newJLabel("在此處輸入職工號點擊查詢刪除")); p.add(tf6); splitpane.add(p1,splitpane.TOP); splitpane.add(p2,splitpane.BOTTOM); splitpane.setDividerLocation(50); p.setBackground(Color.CYAN); b1.addActionListener(this); b2.addActionListener(this); b3.addActionListener(this); b4.addActionListener(this); b5.addActionListener(this); f.setBounds(200,100,500,600); f.setResizable(true);//可以調節(jié)界面大小 f.setVisible(true); } publicvoidactionPerformed(ActionEvente){ if(b1.equals(e.getSource())){//錄入 Connectioncon; Statementsql; try{ Class.forName("org.gjt.mm.mysql.Driver"); }catch(ClassNotFoundExceptione1){ System.out.println(""+e1); } try{ con=DriverManager.getConnection("jdbc:mysql://localhost:3306/wagemanagement","root","jxb"); sql=con.createStatement(); StringinsertStr="INSERTINTOwelfare(no,name,jt)VALUES('"+tf1.getText()+"','"+tf2.getText()+"','"+tf3.getText()+"');"; sql.executeUpdate(insertStr); StringinsertStr1="INSERTINTOwageinfo(no,name,jb)VALUES('"+tf1.getText()+"','"+tf2.getText()+"','"+tf4.getText()+"');"; sql.executeUpdate(insertStr1); con.close(); JOptionPane.showMessageDialog(this,"入錄成功!"); }catch(SQLExceptione1){ JOptionPane.showMessageDialog(this,"入錄失??!"); } } if(b2.equals(e.getSource())){//修改 Connectioncon; Statementsql; try{ Class.forName("org.gjt.mm.mysql.Driver"); }catch(ClassNotFoundExceptione1){ System.out.println(""+e1); } try{ con=DriverManager.getConnection("jdbc:mysql://localhost:3306/wagemanagement","root","jxb"); sql=con.createStatement(); StringupdateStr="UPDATEwelfareSETjt='"+tf3.getText()+"',name='"+tf2.getText()+"'whereno='"+tf1.getText()+"';"; sql.executeUpdate(updateStr); StringupdateStr1="UPDATEwageinfoSETjb='"+tf4.getText()+"',name='"+tf2.getText()+"'whereno='"+tf1.getText()+"';"; sql.executeUpdate(updateStr1); JOptionPane.showMessageDialog(this,"修改成功!"); con.close(); }catch(SQLExceptione1){ JOptionPane.showMessageDialog(this,"信息不存在!"); } } if(b3.equals(e.getSource())){//刪除 Connectioncon; Statementsql; ResultSetrs; try{ Class.forName("org.gjt.mm.mysql.Driver"); }catch(ClassNotFoundExceptione1){ System.out.println(""+e1); } try{ con=DriverManager.getConnection("jdbc:mysql://localhost:3306/wagemanagement","root","jxb"); sql=con.createStatement(ResultSet.TYPE_SCROLL_SENSITIVE, ResultSet.CONCUR_READ_ONLY); sql.executeUpdate("DELETEFROMwageinfowhereno='"+tf6.getText()+"';"); sql.executeUpdate("DELETEFROMwelfarewhereno='"+tf6.getText()+"';"); JOptionPane.showMessageDialog(this,"刪除成功!"); con.close(); }catch(SQLExceptione1){ JOptionPane.showMessageDialog(this,"刪除失??!"); } } if(b4.equals(e.getSource())){//查詢所有 Connectioncon; Statementsql; ResultSetrs; //Vectorvector=newVector(); try{ Class.forName("org.gjt.mm.mysql.Driver"); }catch(ClassNotFoundExceptione1){ JOptionPane.showMessageDialog(this,"連接數(shù)據(jù)庫失?。?); } try{ con=DriverManager.getConnection("jdbc:mysql://localhost:3306/wagemanagement","root","jxb"); sql=con.createStatement(ResultSet.TYPE_SCROLL_SENSITIVE, ResultSet.CONCUR_READ_ONLY); if(b4.equals(e.getSource())){ for(inti=0;i<50;i++) for(intj=0;j<4;j++) table.setValueAt("",i,j); rs=sql.executeQuery("selectdistinct*fromwageinfo,welfarewhere="); intk=-1; while(rs.next()){ ++k; Stringno=rs.getString(1); Stringname=rs.getString(2); Stringjb=rs.getString(3); Stringjt=rs.getString(6); intsum= rs.getInt(3)+rs.getInt(6); table.setValueAt(no,k,0); table.setValueAt(name,k,1); table.setValueAt(jb,k,3); table.setValueAt(jt,k,2); table.setValueAt(sum,k,4); } } }catch(SQLExceptione1){ JOptionPane.showMessageDialog(this,"查詢失??!"); } } if(b5.equals(e.getSource())){//返回 GZGLZJMgl=newGZGLZJM(); gl.create(); f.dispose(); } }}4.2.3職工登陸查詢模塊功能為:員工本人能通過顧客名和密碼查詢自己信息以及修改自己密碼;某些基本算法實現(xiàn):classDLextendsJFrameimplementsActionListener{ ImageIconim=newImageIcon("2.jpg"); JLabela2=newJLabel(im); JFrameframe=newJFrame("職工/管理員登陸"); JLabellabel1=newJLabel("顧客名"); JLabellabel2=newJLabel("密碼"); JButtonlogonButton1=newJButton("管理員登錄"); JButtonlogonButton2=newJButton("職工登錄"); JButtoncancelButton=newJButton("退出"); JTextFieldusername=newJTextField(9); JPasswordFieldpassword=newJPasswordField(9); staticStringt1; staticStringt2; voidcreate() { JPanelp=(JPanel)frame.getContentPane(); JPanelp1=newJPanel(); p.setLayout(newFlowLayout()); p.add(a2); p.add(label1); p.setSize(5,5); p.setLocation(4,8); p.add(username); p.setSize(100,200); p.setLocation(800,800); p.add(label2); p.setSize(50,20); p.setLocation(40,80); p.add(password); p.setSize(100,20); p.setLocation(80,120); p.add(logonButton1); p.add(logonButton2); p.add(cancelButton); p.setBackground(Color.cyan); p.setVisible(true); logonButton1.addActionListener(this); logonButton2.addActionListener(this); cancelButton.addActionListener(this); fr

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
  • 4. 未經權益所有人同意不得將文件中的內容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
  • 6. 下載文件中如有侵權或不適當內容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論