新聞錄入系統(tǒng).doc_第1頁
新聞錄入系統(tǒng).doc_第2頁
新聞錄入系統(tǒng).doc_第3頁
新聞錄入系統(tǒng).doc_第4頁
新聞錄入系統(tǒng).doc_第5頁
已閱讀5頁,還剩27頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

課 程 設 計 說 明 書學生姓名:學 號:0606054112學 院:軟件學院專 業(yè):軟件工程題 目: 新聞公告系統(tǒng) -新聞的錄入功能 指導教師: 職稱: 2012 年 6 月 21 日1 系統(tǒng)設計1.1 目標設計在工資管理中,需要從公司管理方式以及實際情況中提取相關信息,以反映工資管理情況。傳統(tǒng)的手工操作方式,易發(fā)生數(shù)據丟失,統(tǒng)計錯誤,勞動強度高,且速度慢。使用計算機可以高速,快捷地完成以上工作。避免重復勞動,規(guī)范工資管理行為,從而提高了管理效率和水平。讓人們的效率大大提高。不難想象,正是資訊的迅速發(fā)展使得人們從過去繁復的手工勞作中得以解脫,從而使這種服務在現(xiàn)在才可能迅速普及。同時,編寫一套完整的工資管理系統(tǒng)的任務就顯得尤為重要。開發(fā)設計思想本系統(tǒng)開發(fā)設計思想:l 對公司軟硬件調查,從實際環(huán)境出發(fā),以便充分利用公司現(xiàn)在資源,提高系統(tǒng)開發(fā)水平和應用效果。l 了解公司的需要及相關方面的規(guī)定,根據需要做出符合要求的軟件,并達到操作過程中的直觀、方便、實用、安全等要求。l 將系統(tǒng)按模塊分工到人,提高效率,且模塊化設計便于系統(tǒng)功能的各種組合和修改及日后的維護l 系統(tǒng)應具備數(shù)據庫維護功能,及時根據用戶需求進行數(shù)據的添加、刪除、修改、等操作。1.3 開發(fā)和運行環(huán)境選擇開發(fā)工具:SQL2000, java語言。運行環(huán)境: Windows XP,Windows 2000或VISTA操作系統(tǒng)。1.4 系統(tǒng)功能分析本系統(tǒng)主要用于員工基本信息的管理,對員工以及其他信息的添加、修改、刪除、查詢等基本操作。對于數(shù)據庫的保護有數(shù)據備份和數(shù)據恢復的功能。針對這些要求,設計本月工資信息管理系統(tǒng)。該系統(tǒng)主要包括職工信息、職工考勤信息、職工津貼信息。 1) 職工信息管理系統(tǒng) 功能為:財務部門相關人員錄入、修改、刪除、查詢員工個人信息;員工本人能通過用戶名和密碼查詢自己的信息以及修改自己的密碼;2) 職工工資管理系統(tǒng) 功能為:根據工資生成公式,按照員工的考勤情況及各種表現(xiàn)按月生成相應的工資;財務部門相關人員能錄入、修改、刪除、查詢每個月每個員工的工資信息以及工資匯總;員工本人能查詢自己的工資信息以及工資匯總;3) 職工津貼管理系統(tǒng) 功能為:財務部門相關人員錄入、修改、刪除、查詢職工津貼信息;職工本人能查詢自己的津貼;4) 職工考勤管理系統(tǒng) 功能為:后勤管理人員錄入、修改、刪除、查詢職工考勤信息;職工本人能查詢自己的考勤情況。采用模塊化設計思想,可以大大提高設計的效率,并且可以最大限度地減少不必要的錯誤。其系統(tǒng)結構框圖如圖所示: 工資管理系統(tǒng) 員工管理模塊 考勤管理模塊 津貼管理模塊 工資生成模塊 系統(tǒng)模塊圖1.1 系統(tǒng)功能模塊圖2. 數(shù)據庫設計2.1 數(shù)據庫需求分析根據工資管理要求及用戶需求調查分析,得到以下數(shù)據流圖數(shù)據庫操作操作數(shù)據系統(tǒng)操作工資信息考勤信息進入基本界面職工信息津貼管理圖2.1第一層數(shù)據流圖修改職工信息刪除職工記錄輸入職工基本信息職工表添加操作修改操作刪除操作用戶查詢操作職工號圖2.2職工信息的載入用戶修改工資信息刪除工資信息輸入工資基本信息工資表添加操作修改操作刪除操作查詢操作圖2.3工資的信息載入修改考勤信息刪除考勤信息輸入考勤基本信息考勤表添加操作修改操作刪除操作查詢操作用戶圖2.4考勤的信息載入修改津貼信息刪除津貼信息輸入津貼基本信息津貼表添加操作修改操作刪除操作查詢操作用戶圖2.5津貼的信息載入職工管理員進入系統(tǒng)進入員工(工資,考勤,津貼)表津貼表職工表考勤表工資表進行錄入,修改,刪除,查詢操作 圖2.6信息查詢及管理的流程圖2.2 數(shù)據庫概念設計有了數(shù)據流圖,用E-R圖來說明工資信息管理系統(tǒng)的數(shù)據庫概念模式,如圖2-2所示基本工資其他獎金加班獎金年終獎金職工號時間缺勤類別缺勤天數(shù)職工號醫(yī)療保險個人所得稅職工號部門崗位工齡姓名職工號考勤工資津貼員工領取1 n電話號碼m缺勤扣除影響n1 nm密碼影響n領取1n圖2.7 實體之間關系E-R圖2.3 數(shù)據庫邏輯設計將以上E-R轉換成如下關系模式員工(職工號,姓名,工齡,部門崗位,電話號碼,密碼)工資(職工號,個人所得稅,基本工資,醫(yī)療保險,缺勤扣除)考勤(職工號,缺勤天數(shù),缺勤類別,時間)津貼(職工號,年終獎金,加班獎金,其他獎金)其中,標有下劃線的字段表示為該數(shù)據表的主碼,即主關鍵字。在上面的實體以及實體之間關系的基礎上,形成數(shù)據庫中的表格以及各個表格之間的關系。工資信息管理系統(tǒng)數(shù)據庫中各個表格的設計結果如下面的幾個表格所示。每個表格表示在數(shù)據庫中的一個表。表一:員工信息表:列名數(shù)據類型可否取空備注說明no Char ( 8 )NOT NULL職工號(主鍵)nameChar(10)NOT NULL職工姓名gwChar(20)NOT NULL部門崗位glSmallintNOT NULL工齡hmChar(11)NULL電話號碼miSmallintNOT NULL登錄密碼表二:工資表:列名數(shù)據類型可否取空備注說明noChar ( 8 )NOT NULL職工號(主鍵)JbmoneyNOT NULL基本工資ylmoneyNULL醫(yī)療保險SwmoneyNULL個人所得稅kcmoneyNULL缺勤扣除JtmoneyNULL津貼yzmoneyNOT NULL 月總工資表三:員工考勤信息表列名數(shù)據類型可否取空備注說明noChar ( 8 )NOT NULL職工號(主鍵)tsInt(4)NULL缺勤天數(shù)lbChar(30)NULL缺勤類別SjChar(10)NULL缺勤時間表四:津貼信息表列名數(shù)據類型可否為空備注說明noChar ( 8 )NOT NULL職工號(主鍵)JiabanmoneyNULL月加班獎金nzmoneyNULL年終獎金qtmoneyNULL其他獎金 3功能模塊詳細設計3.1主界面及工資基本信息界面的設計圖2.8 歡迎畫面圖2.9登錄界面圖3.0 系統(tǒng)主界面圖3.1 考勤信息錄入,修改,刪除,查詢界面3.2功能描述 1主界面 通過菜單將各個模塊連接起來 2.工資基本信息模塊 工資基本信息的添加、修改和刪除等基本操作3.3主要源代碼import java.awt.*;import java.awt.event.*;import javax.swing.*;import java.awt.*;import java.sql.*;import java.lang.*; import java.util.*; import javax.swing.table.*;import java.math.*; class zzlc implements ActionListenerJFrame frame=new JFrame(歡迎進入ZZLC工資管理系統(tǒng));JLabel label=new JLabel(制作人:陳松 張淑靜 張虎 黎成,JLabel.CENTER);JButton button1=new JButton(進入系統(tǒng));JButton button2=new JButton(退出系統(tǒng));ImageIcon im=new ImageIcon(1.jpg); JLabel a1=new JLabel(im);void Create()JPanel pcontentPane=(JPanel)frame.getContentPane();JPanel pcontentPane1=new JPanel();pcontentPane.add(label);pcontentPane.setLayout(new FlowLayout();pcontentPane.add(button1);pcontentPane.add(button2);pcontentPane.add(new Label( );pcontentPane.add(a1);pcontentPane.setBackground(Color.pink);pcontentPane.setVisible(true);button1.addActionListener(this); button2.addActionListener(this);frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);frame.pack();frame.setBounds(200,100,550,600);frame.setVisible(true);public static void main(String args)zzlc dome=new zzlc();dome.Create(); public void actionPerformed(ActionEvent e) if(button1.equals(e.getSource() DL dl=new DL(); dl.create(); if(button2.equals(e.getSource()/退出System.exit(0); class DL implements ActionListenerJFrame frame=new JFrame(職工/管理員登陸);JLabel label1=new JLabel(用戶名);JLabel label2=new JLabel(密碼);JButton logonButton1=new JButton(管理員登錄);JButton logonButton2=new JButton(職工登錄);JButton cancelButton=new JButton(退出);JTextField t1=new JTextField(0);JTextField t2=new JTextField(0);ImageIcon im=new ImageIcon(2.jpg); JLabel a2=new JLabel(im);JTextField username=new JTextField(9);JPasswordField password=new JPasswordField(9);void create()JPanel p=(JPanel)frame.getContentPane();JPanel p1=new JPanel();p.setLayout(new FlowLayout();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(new JLabel( );p.add(logonButton2);p.add(new JLabel( );p.add(cancelButton);p.add(new JLabel( );p.add(a2);p.add(t1);p.add(t2);p.setBackground(Color.red);p.setVisible(true);logonButton1.addActionListener(this);logonButton2.addActionListener(this); cancelButton.addActionListener(this); frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);frame.pack(); frame.setBounds(200,100,750,550); frame.setVisible(true);public void actionPerformed(ActionEvent e) if(logonButton1.equals(e.getSource()&(username.getText().equals(123)=true)&(password.getText().equals(123)=true)GZGLZJM gz=new GZGLZJM();gz.create();elseJOptionPane.showMessageDialog(null,對不起,你輸入的密碼錯誤!);if(logonButton2.equals(e.getSource()&(username.getText().equals(t1.getText()=true)&(password.getText().equals(t2.getText()=true)XK xk=new XK();xk.create(); Connection con; Statement sql; ResultSet rs; Vector vector=new Vector(); try Class.forName(sun.jdbc.odbc.JdbcOdbcDriver); catch (ClassNotFoundException e1) System.out.println( + e1);try con = DriverManager.getConnection(jdbc:odbc:123, , );sql = con.createStatement(ResultSet.TYPE_SCROLL_SENSITIVE,ResultSet.CONCUR_READ_ONLY); sql.executeQuery(SELECT Gno,mm FROM Y WHERE Gno=+t1.getText() +AND mm=+t2.getText();catch (SQLException e1) System.out.println(e1); if(cancelButton.equals(e.getSource()System.exit(0); class GZGLZJM extends JFrame implements ActionListener JFrame f=new JFrame(工資管理系統(tǒng)); JButton b1=new JButton(津貼管理); JButton b2=new JButton(總查詢); JButton b3=new JButton(工資管理); JButton b4=new JButton(后勤管理); JButton b6=new JButton(員工個人信息管理); JButton b5=new JButton(返回); ImageIcon im=new ImageIcon(3.jpg); JLabel a3=new JLabel(im); void create() JPanel p=(JPanel)f.getContentPane(); JPanel p1=new JPanel(); p.setLayout(new FlowLayout(); p.add(b1); p.add(new JLabel( ); p.add(b6); p.add(new JLabel( ); p.add(b3); p.add(new JLabel( ); p.add(b4); p.add(new JLabel( ); p.add(b2); p.add(new JLabel( ); p.add(b5); p.add(a3); p.setBackground(Color.red); p.setVisible(true); b1.addActionListener(this); b2.addActionListener(this); b3.addActionListener(this); b4.addActionListener(this); b5.addActionListener(this); b6.addActionListener(this); f.setBounds(200,100,800,600); f.setVisible(true); public void actionPerformed(ActionEvent e) if(b5.equals(e.getSource()/返回 DL d=new DL(); f.dispose(); if(b1.equals(e.getSource()/津貼管理 JTGL jt=new JTGL(); jt.create(); if(b6.equals(e.getSource()/員工個人信息管理 YGGL yg=new YGGL(); yg.create(); if(b2.equals(e.getSource()/查詢 XK xk=new XK(); xk.create(); if(b4.equals(e.getSource()/后勤管理 KQGL kq=new KQGL(); kq.create(); if(b3.equals(e.getSource()/工資管理 GZGL gz=new GZGL(); gz.create(); class KQGL implements ActionListener JFrame f=new JFrame(錄入修改刪除考勤信息); JButton b1=new JButton(錄入); JButton b2=new JButton(修改); JButton b3=new JButton(刪除); JButton b4=new JButton(查詢所有); JButton b5=new JButton(返回); JTextField tf1=new JTextField(4); JTextField tf2=new JTextField(4); JTextField tf3=new JTextField(4); JTextField tf4=new JTextField(4); JTextField tf5=new JTextField(6); JButton b6=new JButton(查詢單人考勤); String cloum=職工號,缺勤天數(shù),缺勤類別,缺勤時間; Object row=new Object504; JTable table=new JTable(row,cloum); JScrollPane scrollpane=new JScrollPane(table); JSplitPane splitpane=new JSplitPane(JSplitPane.VERTICAL_SPLIT); void create() JPanel p=(JPanel)f.getContentPane(); p.setLayout(new FlowLayout(); /p.add(scrollpane); p.add(splitpane); JPanel p1=new JPanel(); p1.add(b1); p1.add(b2); p1.add(b3); p1.add(b4); p1.add(b6); p1.add(b5); JPanel p2=new JPanel(); p2.setBackground(Color.red); p2.add(scrollpane); JPanel p3=new JPanel(); p.setLayout(new FlowLayout(); p.add(new JLabel(); p.add(new JLabel(職工號); p.add(tf1); p.add(new JLabel(缺勤天數(shù)); p.add(tf2); p.add(new JLabel(缺勤類別); p.add(tf3); p.add(new JLabel(); p.add(new JLabel(缺勤時間); p.add(tf4); p.add(new JLabel( 在此處輸入職工號點擊查詢刪除); p.add(tf5); 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); b6.addActionListener(this); f.setBounds(200,100,500,600); f.setResizable(true);/可以調整界面大小 f.setVisible(true); public void actionPerformed(ActionEvent e) if(b1.equals(e.getSource() /添加 Connection con;Statement sql;ResultSet rs;try Class.forName(sun.jdbc.odbc.JdbcOdbcDriver); catch (ClassNotFoundException e1) System.out.println( + e1);try con = DriverManager.getConnection(jdbc:odbc:123, , ); sql = con.createStatement(); String insertStr = INSERT INTO K VALUES + ( + + tf1.getText() + + , + tf2.getText()+, + +tf3.getText()+ + ,+tf4.getText()+); sql.executeUpdate(insertStr); con.close(); catch (SQLException e1) System.out.println(e1); if(b2.equals(e.getSource()/修改Connection con;Statement sql;ResultSet rs;try Class.forName(sun.jdbc.odbc.JdbcOdbcDriver); catch (ClassNotFoundException e1) System.out.println( + e1);try con = DriverManager.getConnection(jdbc:odbc:123, , ); sql = con.createStatement(); sql.executeUpdate(UPDATE K SET ts=+tf2.getText()+WHERE Kno=+tf1.getText()+); sql.executeUpdate(UPDATE K SET lb=+tf3.getText()+WHERE Kno=+tf1.getText()+); sql.executeUpdate(UPDATE K SET sj=+tf4.getText()+WHERE Kno=+tf1.getText()+); con.close(); catch (SQLException e1) System.out.println(e1); if(b3.equals(e.getSource()/刪除 Connection con;Statement sql;ResultSet rs;try Class.forName(sun.jdbc.odbc.JdbcOdbcDriver); catch (ClassNotFoundException e1) System.out.println( + e1);try con = DriverManager.getConnection(jdbc:odbc:123, , ); sql = con.createStatement(ResultSet.TYPE_SCROLL_SENSITIVE,ResultSet.CONCUR_READ_ONLY); sql.executeUpdate(DELETE FROM K WHERE Kno=+tf5.getText(); con.close(); catch (SQLException e1) System.out.println(e1); if(b4.equals(e.getSource()/查詢全部 Connection con; Statement sql; ResultSet rs; Vector vector=new Vector(); try Class.forName(sun.jdbc.odbc.JdbcOdbcDriver); catch (ClassNotFoundException e1) System.out.println( + e1); try con = DriverManager.getConnection(jdbc:odbc:123, sa, );sql = con.createStatement(ResultSet.TYPE_SCROLL_SENSITIVE,ResultSet.CONCUR_READ_ONLY); if(b4.equals(e.getSource()for(int i=0;i50;i+) for(int j=0;j4;j+) table.setValueAt(,i,j); rs = sql.executeQuery(SELECT * FROM K ORDER BY Kno DESC); int k=-1; while(rs.next() +k; String Kno = rs.getString(1); Str

溫馨提示

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

評論

0/150

提交評論