課程設(shè)計員工信息管理_第1頁
課程設(shè)計員工信息管理_第2頁
課程設(shè)計員工信息管理_第3頁
課程設(shè)計員工信息管理_第4頁
課程設(shè)計員工信息管理_第5頁
已閱讀5頁,還剩14頁未讀, 繼續(xù)免費閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認(rèn)領(lǐng)

文檔簡介

1、課程設(shè)計說明書 課程名稱: 面向?qū)ο笳n程設(shè)計題目: 員工信息管理系統(tǒng)院 系: 專業(yè)班級:學(xué) 號: 學(xué)生姓名:指導(dǎo)教師: 2013年 1 月 5 日安徽理工大學(xué)課程設(shè)計(論文)任務(wù)書 院系 教研室學(xué) 號學(xué)生姓名專業(yè)(班級)設(shè)計題目 員工信息管理系統(tǒng)設(shè)計技術(shù)參數(shù) jdk1.6開發(fā)工具:MyEclipse GADBMS:MYSQL5.5,Navicat8設(shè)計要求開發(fā)一個員工信息管理系統(tǒng),系統(tǒng)分為三個模塊且必須具備查詢、修改、添加、刪除等功能。后臺數(shù)據(jù)庫是基于MYSQL5.5和Navicat8 建立的工作量需求分析,數(shù)據(jù)庫設(shè)計,子模塊和功能設(shè)計,各個模塊實現(xiàn)窗口的設(shè)計,編寫系統(tǒng)說明書和實驗報告,說明書

2、不少于15頁工作計劃 12月26日需求分析12月28 日建立數(shù)據(jù)庫和表及關(guān)系表,模塊設(shè)計1月1日頁面設(shè)計及熟悉MyEclipse GA及其運行環(huán)境1月4, 5日程序源代碼編寫、調(diào)試程序并編寫Word文檔和實現(xiàn)窗口的截圖1月5日提交課程設(shè)計參考資料1劉彬.JSP數(shù)據(jù)庫高級教程M.北京:清華大學(xué)出版社.2006 2王珊,薩日煊.數(shù)據(jù)庫系統(tǒng)概論(第四版)M北京:高等教育出版社.20083黃曉東.Java課程設(shè)計M.北京:中國水利水電出版社,2004.4 王舜燕、鐘珞.Java編程方法學(xué)M.北京郵電大學(xué)出版社,2008指導(dǎo)教師簽字 教研室主任簽字學(xué)生姓名: 學(xué)號: 專業(yè)班級: 課程設(shè)計題目: 員工信息

3、管理系統(tǒng) 指導(dǎo)教師評語: 成績: 指導(dǎo)教師: 年 月 日安徽理工大學(xué)課程設(shè)計(論文)成績評定表目錄一、 需求分析和設(shè)計5二、系統(tǒng)模塊圖5三、詳細(xì)設(shè)計61. 數(shù)據(jù)表結(jié)構(gòu)分析:61.用戶表的設(shè)計62.員工基本信息表的設(shè)計63.員工工資信息表的設(shè)計72.程序?qū)崿F(xiàn)-使用流程:71登陸程序和登陸界面:72主程序:93員工信息和工資信息的添加:124員工信息和工資信息的刪除:155員工信息和工資信息的查詢:176員工信息和工資信息的修改:20四、設(shè)計總結(jié)23五、參考文獻23一、 需求分析和設(shè)計在這個信息大爆炸的時代,大量的信息需要我們來整理。那么關(guān)于員工信息管理和工資的信息管理都需要計算機來實現(xiàn),所以在人

4、們?nèi)找嬖鲩L的需求下我們應(yīng)該實行計算機統(tǒng)一管理,以提高工作效率和管理水平。在制作員工信息管理系統(tǒng)之前,首先要知道所要做的系統(tǒng)可以實現(xiàn)哪些功能,要清楚不同級別的用戶可以實現(xiàn)哪些功能,實現(xiàn)什么樣的界面。當(dāng)明確了這些,項目開發(fā)的思路就清晰了,然后再對員工信息管理的系統(tǒng)進行考察、分析,從中吸取經(jīng)驗,并結(jié)合本系統(tǒng)的要求以及實際情況,設(shè)計出一個合理的系統(tǒng)。該程序是利用文件來實現(xiàn)的,程序的重要作用是對員工信息進行管理,包括員工信息的添加、查詢、修改、刪除。通過該課程設(shè)計,使同學(xué)們進一步理解概JAVA的基本概念、理論和方法,初步掌握J(rèn)DK、Eclipse的調(diào)試和應(yīng)用,以及程序中錯誤的解決方法,明確JAVA在實際

5、程序設(shè)計中的應(yīng)用。使課堂中學(xué)習(xí)到理論得到應(yīng)用,練習(xí)文件形式在JAVA程序設(shè)計中的應(yīng)用。二、系統(tǒng)模塊圖系統(tǒng)模塊圖主要是由管理員和和員工兩部分組成,它整體的展現(xiàn)了我們所作的系統(tǒng)有哪些功能,它具有添加、刪除、修改、查詢等功能。很直觀的我們可以看出第一個界面應(yīng)該是登陸界面。系統(tǒng)模塊圖如圖2-1所示:圖2-1 系統(tǒng)模塊圖三、詳細(xì)設(shè)計1. 數(shù)據(jù)表結(jié)構(gòu)分析:1.用戶表的設(shè)計用戶表如表3-1所示:表3-1 用戶表列名數(shù)據(jù)類型長度是否為空userNameVarchar10否PWDVarchar10否TypeVarchar10否 用戶表數(shù)據(jù)內(nèi)容如圖3-1所示:圖3-1 用戶表數(shù)據(jù)內(nèi)容2.員工基本信息表的設(shè)計員工基

6、本信息表如表3-2所示:表3-2 員工基本信息表列名數(shù)據(jù)類型長度是否為空員工編號Varchar10否員工姓名Varchar10否性別Varchar4否出生年月Varchar10否參加工作時間Varchar10否部門名稱Varchar20否員工基本信息表數(shù)據(jù)內(nèi)容如圖3-2所示:圖3-2 員工基本信息表數(shù)據(jù)內(nèi)容3.員工工資信息表的設(shè)計員工工資信息表如表3-3所示:表3-3 員工工資信息表列名數(shù)據(jù)類型長度是否為空員工編號Varchar10否基本工資Int4否崗位工資Int4否住房補貼Int4否養(yǎng)老保險Int4否應(yīng)發(fā)金額Int4是應(yīng)扣金額Int4是實發(fā)金額Int4是員工工資信息表數(shù)據(jù)內(nèi)容如圖3-3所示

7、:圖3-3 員工工資信息表數(shù)據(jù)內(nèi)容2.程序?qū)崿F(xiàn)-使用流程:1登陸程序和登陸界面:public class loginFrm extends Frame implements ActionListenerLabel lblUserName;Label lblPwd;TextArea txtlResult;TextField txtUserName;TextField txtPwd;Choice types;Button btnLogin;Button btnQuit;Button btnTest;public loginFrm()this.setTitle(系統(tǒng)登陸界面);lblUserName

8、=new Label(姓名);lblPwd=new Label(密碼);txtlResult=new TextArea(3,30);txtUserName=new TextField(26);txtPwd=new TextField(26);txtPwd.setEchoChar(*);/設(shè)置密碼字符types=new Choice();types.add(管理員);types.add(員工);btnLogin=new Button(登陸);btnQuit=new Button(退出);btnTest=new Button(請點擊此按鈕測試數(shù)據(jù)庫連接!);btnLogin.addActionLi

9、stener(this);btnQuit.addActionListener(this);btnTest.addActionListener(this);this.setLayout(new FlowLayout();this.add(lblUserName);this.add(txtUserName);this.add(lblPwd);this.add(txtPwd);this.add(types);this.add(btnLogin);this.add(btnQuit);this.add(btnTest);this.add(txtlResult);this.pack(); this.set

10、Size(300, 300); this.setVisible(true);public void actionPerformed(ActionEvent e)if(e.getSource()=btnQuit)dispose();System.exit(1);if(e.getSource()=btnTest)tryClass.forName(com.mysql.jdbc.Driver); Connection con=DriverManager.getConnection(jdbc:mysql:/localhost:3306/test,root,123456); Statement st=co

11、n.createStatement(); txtlResult.setText(恭喜您,此系統(tǒng)通過MySQL的JDBC驅(qū)動連接到了數(shù)據(jù)庫!); catch(Exception ex) txtlResult.setText(連接失敗+ex.toString(); if(e.getSource()=btnLogin) String userName=txtUserName.getText(); String pwd=txtPwd.getText(); String type=admin; if(types.getSelectedItem().equals(員工) type=emp; tryUser

12、s users=new Users(); users.setUserName(userName); users.setPwd(pwd); users.setType(type); LoginHandle loginHandle=new LoginHandle(); if(loginHandle.checkLogin(users)=1) new mainFrm(); if(loginHandle.checkLogin(users)=2) new showSalaryFrm(Tom); if(loginHandle.checkLogin(users)=0) new msgFrm(用戶名或密碼錯);

13、 catch(Exception ex)員工登陸界面如圖3-1所示:圖3-1 員工登陸界面2主程序:public class mainFrm extends Frame implements ActionListenerMenuBar m_menubar;Menu m_emp,m_sal,m_system;MenuItem mi_emp_add,mi_emp_del,mi_emp_rew,mi_emp_query,mi_sal_add,mi_sal_del,mi_sal_rew,mi_sal_query,mi_exit,mi_about;public mainFrm()this.setTitl

14、e(員工管理系統(tǒng));m_menubar=new MenuBar(); m_emp=new Menu(員工基本信息管理);mi_emp_add=new MenuItem(員工基本信息添加);mi_emp_del=new MenuItem(員工基本信息刪除);mi_emp_rew=new MenuItem(員工基本信息修改);mi_emp_query=new MenuItem(員工基本信息查詢); mi_emp_add.addActionListener(this);mi_emp_del.addActionListener(this);mi_emp_rew.addActionListener(th

15、is);mi_emp_query.addActionListener(this); m_emp.add(mi_emp_add);/將菜單元素添加到菜單 m_emp.add(mi_emp_del); m_emp.add(mi_emp_rew); m_emp.add(mi_emp_query);m_menubar.add(m_emp);/將菜單添加到菜單條/*注意*這部分工資的四個菜單元素與菜單個人完成 m_sal=new Menu(工資信息管理); mi_sal_add=new MenuItem(工資信息添加); mi_sal_del=new MenuItem(工資信息刪除); mi_sal_r

16、ew=new MenuItem(工資信息修改); mi_sal_query=new MenuItem(工資信息查詢); mi_sal_add.addActionListener(this); mi_sal_del.addActionListener(this); mi_sal_rew.addActionListener(this); mi_sal_query.addActionListener(this); m_sal.add(mi_sal_add);/將菜單元素添加到菜單 m_sal.add(mi_sal_del); m_sal.add(mi_sal_rew); m_sal.add(mi_s

17、al_query); m_menubar.add(m_sal); m_system=new Menu(系統(tǒng)); mi_about=new MenuItem(關(guān)于); mi_exit=new MenuItem(退出); mi_about.addActionListener(this); mi_exit.addActionListener(this); m_system.add(mi_about); m_system.add(mi_exit); m_menubar.add(m_system); this.setMenuBar(m_menubar);/設(shè)置菜單條,令其顯示在窗體上this.pack(

18、); this.setSize(600, 400); this.setVisible(true);public void actionPerformed(ActionEvent e)if(e.getSource()=mi_exit)dispose();System.exit(1);if(e.getSource()=mi_emp_add)new empAddFrm().setVisible(true);if(e.getSource()=mi_emp_del)new empDelFrm().setVisible(true);if(e.getSource()=mi_emp_rew)new empRe

19、wFrm().setVisible(true);if(e.getSource()=mi_emp_query)new empQueryFrm().setVisible(true);if(e.getSource()=mi_sal_add)new salAddFrm().setVisible(true);if(e.getSource()=mi_sal_del)new salDelFrm().setVisible(true);if(e.getSource()=mi_sal_rew)new salRewFrm().setVisible(true);if(e.getSource()=mi_sal_quer

20、y)new salQueryFrm().setVisible(true);if(e.getSource()=mi_about)new aboutFrm();員工管理系統(tǒng)界面如圖3-2所示:圖3-2 員工管理系統(tǒng)界面3員工信息和工資信息的添加:員工信息添加:public class empAddFrm extends Frame implements ActionListenerButton btnQuit,btnAdd;Label lblId,lblName,lblSex,lblBirth,lblTime,lblDep;TextField txtId,txtName,txtBirth,txtT

21、ime;CheckboxGroup cbg;Checkbox cbm,cbw;Panel p;Choice choDep;public empAddFrm()this.setTitle(員工信息添加);lblId=new Label(員工編號:);lblName=new Label(員工姓名:);lblSex=new Label(員工性別:);lblBirth=new Label(出生年月:);lblTime=new Label(工作時間:);lblDep=new Label(所屬部門:);txtId=new TextField(20);txtName=new TextField(20);tx

22、tBirth=new TextField(20);txtTime=new TextField(20);cbg=new CheckboxGroup();cbm = new Checkbox(男, cbg, false); cbw = new Checkbox(女, cbg, true); choDep=new Choice(); choDep.add(采購部);choDep.add(銷售部);choDep.add(設(shè)備部); btnAdd=new Button(添加);btnQuit=new Button(退出);btnAdd.addActionListener(this);btnQuit.ad

23、dActionListener(this);p=new Panel();this.setLayout(new GridLayout(7,2);this.add(lblId);this.add(txtId);this.add(lblName);this.add(txtName);this.add(lblSex);p.add(cbm);p.add(cbw);this.add(p);this.add(lblBirth);this.add(txtBirth);this.add(lblTime);this.add(txtTime);this.add(lblDep);this.add(choDep);th

24、is.add(btnAdd);this.add(btnQuit);this.pack();this.setVisible(true); this.setSize(300, 200);public void actionPerformed(ActionEvent e)if(e.getSource()=btnQuit)dispose();if(e.getSource()=btnAdd)Emp emp=new Emp();emp.setEm_id(txtId.getText();emp.setEm_name(txtName.getText();emp.setEm_birth(txtBirth.get

25、Text();emp.setEm_time(txtTime.getText();if(cbm.getState()emp.setEm_sex(男);else emp.setEm_sex(女);emp.setEm_dep(choDep.getSelectedItem();EmpHandle empHandle=new EmpHandle();empHandle.AddToDb(emp);員工信息添加界面如圖3-3所示:圖3-3 員工信息添加界面工資信息添加:public salAddFrm()this.setTitle(工資信息添加);lblId=new Label(員工編號:);lblbasi

26、csalary=new Label(基本工資);lblpostsalary=new Label(崗位工資);lblhouseallowance=new Label(住房補貼);lbloldageinsurance=new Label(養(yǎng)老保險);lbltotalpayamount=new Label(應(yīng)發(fā)工資);lbldeductbleamount=new Label(應(yīng)扣工資);lblfinalpayamount=new Label(實發(fā)工資);txtId=new TextField(20);txtbasicsalary=new TextField(20);txtpostsalary=new

27、 TextField(20);txthouseallowance=new TextField(20);txtoldageinsurance=new TextField(20);txttotalpayamount=new TextField(20);txtdeductbleamount=new TextField(20);txtfinalpayamount=new TextField(20); btnAdd=new Button(添加);btnQuit=new Button(退出);btnAdd.addActionListener(this);btnQuit.addActionListener(

28、this);p=new Panel();this.setLayout(new GridLayout(9,2);this.add(lblId);this.add(txtId);this.add(lblbasicsalary);this.add(txtbasicsalary);this.add(lblpostsalary);this.add(txtpostsalary);this.add(lblhouseallowance);this.add(txthouseallowance);this.add(lbloldageinsurance);this.add(txtoldageinsurance);t

29、his.add(lbltotalpayamount);this.add(txttotalpayamount);this.add(lbldeductbleamount);this.add(txtdeductbleamount);this.add(lblfinalpayamount);this.add(txtfinalpayamount);this.add(btnAdd);this.add(btnQuit);this.pack();this.setVisible(true); this.setSize(300, 200);public void actionPerformed(ActionEven

30、t e)if(e.getSource()=btnQuit)dispose();if(e.getSource()=btnAdd)Sal sal=new Sal();sal.setSal_id(txtId.getText();sal.setSal_basicsalary(txtbasicsalary.getText();sal.setSal_postsalary(txtpostsalary.getText();sal.setSal_houseallowance(txthouseallowance.getText();sal.setSal_oldageinsurance(txtoldageinsur

31、ance.getText();sal.setSal_totalpayamount(txttotalpayamount.getText();sal.setSal_deductbleamount(txtdeductbleamount.getText();sal.setSal_finalpayamount(txtfinalpayamount.getText();SalHandle salHandle=new SalHandle();salHandle.AddToDb(sal);工資信息添加界面如圖3-4所示:圖3-4 工資信息添加界面4員工信息和工資信息的刪除:員工信息刪除:public class

32、 empDelFrm extends Frame implements ActionListenerButton btnDel,btnQuit;Label lblId;TextField txtId;public empDelFrm()this.setTitle(員工基本信息刪除);btnQuit=new Button(退出);btnDel=new Button(刪除);btnQuit.addActionListener(this);btnDel.addActionListener(this);lblId=new Label(員工編號);txtId=new TextField(20);this

33、.setLayout(new GridLayout(2,2);this.add(lblId);this.add(txtId);this.add(btnDel);this.add(btnQuit);this.pack();this.setVisible(true); this.setSize(300, 70);public void actionPerformed(ActionEvent e)/退出本窗體if(e.getSource()=btnQuit)dispose();if(e.getSource()=btnDel)String userId=txtId.getText();EmpHandl

34、e empHandle = new EmpHandle();empHandle.deleteByIdFromDb(userId);dispose();員工信息刪除界面如圖3-5所示:圖3-5 員工信息刪除界面工資信息刪除:public class salDelFrm extends Frame implements ActionListener Button btnQuit,btnDel;Label lblId;TextField txtId;public salDelFrm()this.setTitle(員工工資刪除);btnQuit=new Button(退出);btnDel=new Bu

35、tton(刪除);btnQuit.addActionListener(this);btnDel.addActionListener(this);lblId=new Label(員工編號);txtId=new TextField(20);this.setLayout(new GridLayout(2,2);this.add(lblId);this.add(txtId);this.add(btnDel);this.add(btnQuit);this.pack();this.setVisible(true); this.setSize(300, 100);public void actionPerf

36、ormed(ActionEvent e) if(e.getSource()=btnQuit)dispose();if(e.getSource()=btnDel)String userId=txtId.getText();SalHandle salHandle = new SalHandle();dispose();工資信息刪除界面如圖3-6所示:圖3-6 工資信息刪除界面5員工信息和工資信息的查詢:員工信息查詢:public class empQueryFrm extends Frame implements ActionListenerButton btnQuit;Label lblId;T

37、extField txtId;List list;Button btnQuery;Button btnQueryAll;Panel p;public empQueryFrm()this.setTitle(員工基本信息查詢);lblId=new Label(編號);txtId=new TextField(10);list=new List();btnQuery=new Button(按編號查詢);btnQueryAll=new Button(查詢?nèi)?;btnQuit=new Button(退出);btnQuery.addActionListener(this);btnQueryAll.addA

38、ctionListener(this);btnQuit.addActionListener(this);this.setLayout(new BorderLayout();p=new Panel();p.setLayout(new FlowLayout();p.add(lblId);p.add(txtId);p.add(btnQuery);p.add(btnQueryAll);p.add(btnQuit);this.add(North,p);this.add(Center,list);this.pack(); this.setSize(400, 300); this.setVisible(tr

39、ue);public void actionPerformed(ActionEvent e)/退出本窗體if(e.getSource()=btnQuit)dispose();if(e.getSource()=btnQueryAll)list.clear();EmpHandle empHandle=new EmpHandle();ArrayList al=new ArrayList();al=empHandle.QueryAllFromDb();for(int i=0;ial.size();i+)list.add(al.get(i).toString();if(e.getSource()=btn

40、Query)list.clear();String em_id=txtId.getText();EmpHandle empHandle=new EmpHandle();ArrayList al=new ArrayList();al=empHandle.QueryByIdFromDb(em_id);for(int i=0;ial.size();i+)list.add(al.get(i).toString();員工信息查詢界面如圖3-7所示:圖3-7 員工信息查詢界面工資信息查詢:public class salQueryFrm extends Frame implements ActionLis

41、tenerButton btnQuit;Label lblId;TextField txtId;List list;Button btnQuery;Button btnQueryAll;Panel p;public salQueryFrm()this.setTitle(員工工資信息查詢);lblId=new Label(編號);txtId=new TextField(10);list=new List();btnQuery=new Button(按編號查詢);btnQueryAll=new Button(查詢?nèi)?;btnQuit=new Button(退出);btnQuery.addActi

42、onListener(this);btnQueryAll.addActionListener(this);btnQuit.addActionListener(this);this.setLayout(new BorderLayout();p=new Panel();p.setLayout(new FlowLayout();p.add(lblId);p.add(txtId);p.add(btnQuery);p.add(btnQueryAll);p.add(btnQuit);this.add(North,p);this.add(Center,list);this.pack(); this.setS

43、ize(400, 300); this.setVisible(true);public void actionPerformed(ActionEvent e)if(e.getSource()=btnQuit)dispose();if(e.getSource()=btnQueryAll)list.clear();SalHandle salHandle=new SalHandle();ArrayList al=new ArrayList();al=salHandle.QueryAllFromDb();for(int i=0;ial.size();i+)list.add(al.get(i).toSt

44、ring();if(e.getSource()=btnQuery)list.clear();String Sal_id=txtId.getText();SalHandle salHandle=new SalHandle();ArrayList al=new ArrayList();al=salHandle.QueryByIdFromDb(Sal_id);for(int i=0;ial.size();i+)list.add(al.get(i).toString();工資信息查詢界面如圖3-8所示:圖3-8 工資信息查詢界面6員工信息和工資信息的修改:員工信息修改:public class emp

45、RewFrm extends Frame implements ActionListenerButton btnQuit,btnAlt;Label alt,select,newz;TextField Txt1,Txt2;Choice Item;public empRewFrm()btnQuit=new Button(退出);btnAlt=new Button(修改);alt=new Label( 請輸入要修改的編號);select=new Label( 請選擇要修改的項目);newz=new Label( 請輸入修改后的值);Txt1=new TextField(6);Txt2=new Tex

46、tField(6);Item=new Choice();Item.add(em_id);Item.add(em_name);Item.add(em_sex);Item.add(em_birth);Item.add(em_time);Item.add(em_dep);btnQuit.addActionListener(this);btnAlt.addActionListener(this);this.add(alt);this.add(Txt1);this.add(select);this.add(Item);this.add(newz);this.add(Txt2);this.add(btnQuit);this.add(btnAlt);this.setLayout(new GridLayout(5,2);this.add(btnQuit);this.addWindowListener(new closeWin();this.setVisible(true); this.setSize(600, 300);public void actionPerformed(ActionEvent e)if(e.getSource()=btnQuit)dispose();if(e

溫馨提示

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

最新文檔

評論

0/150

提交評論