員工管理系統(tǒng)java專業(yè)設計報告報告_第1頁
員工管理系統(tǒng)java專業(yè)設計報告報告_第2頁
員工管理系統(tǒng)java專業(yè)設計報告報告_第3頁
員工管理系統(tǒng)java專業(yè)設計報告報告_第4頁
員工管理系統(tǒng)java專業(yè)設計報告報告_第5頁
已閱讀5頁,還剩14頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

1、第一章、設計任務書一、課程設計目的和要求1.目的:1)復習、鞏固java語言的基礎知識,進一步加深對java語言的理解和掌握;2)課程設計為學生提供了一個既動手又動腦,獨立實踐的機會,將課本上的理論知識和實際有機的結合起來,鍛煉學生的分析解決實際問題的能力。提高學生適應實際,實踐編程的能力;3)培養(yǎng)學生在項目開發(fā)中團隊合作精神、創(chuàng)新意識及能力。2.要求:1)對系統(tǒng)進行功能模塊分析、控制模塊分析正確,符合課題要求,實現(xiàn)相應功能;可以加以其他功能或修飾,使程序更加完善、合理;2)系統(tǒng)設計要實用,編程簡練,可用,功能全面3)說明書、流程圖要清楚4)記錄設計情況(備查,也為編寫設計說明書作好準備);5

2、)要求采用模塊化程序設計方法,及鋸齒型書寫格式,要求上機調試通過和按設計報告格式。6)設計上交內容:設計報告一份(按格式書寫);源程序文件。二、設計項目:1、項目名稱:公司員工管理系統(tǒng)2、項目概述:在人才過剩的今天,企業(yè)對于有用人才的需求逐步加大,企業(yè)內部的人事變動和部門規(guī)劃也開始加速,傳統(tǒng)的人事檔案已經不能滿足各個企業(yè)的人員流動速度,迫使人們起用新的管理方法來管理員工的相關信息。科學技術日新月異的進步,讓人類生活發(fā)生了巨大的變化,計算機技術的飛速發(fā)展,使各行各業(yè)在計算機技術應用方面得到了廣泛的普及和使用。信息化時代的到來成為不可抗拒的潮流,人類文明正在進入一個嶄新的時代。因此,員工管理系統(tǒng)也

3、以方便、快捷、費用低、綠色環(huán)保的優(yōu)點正慢慢地進入各個行業(yè)和領域,將傳統(tǒng)的員工管理方式徹底的解脫出來,提高效率,減輕工人人員以往繁忙的工作,加速信息的更新速度,使企業(yè)管理層第一時間了解到員工的信息,從而進一步的進行對員工的調配。3、項目功能簡介:增加增加用戶、員工的基本信息(基本信息和工資信息)、部門信息、薪資信息刪除可根據(jù)員工的編號及姓名等資料的刪除修改用戶可以對員工的姓名和編號、進行修改。查詢用戶可以根據(jù)姓名、編號,準確的查到要找的員工,也可以選擇部門,查看選中的部門的所有員工。輔助可以調用單獨制作的計算器進行數(shù)字計算,節(jié)省操作時間關于 可以了解本系統(tǒng)的運行環(huán)境,開發(fā)理念、開發(fā)人員等信息三、

4、設計時間及內容序號時間內容11月4日班級分組,選定課題,查閱相關資料21月5日劃分模塊、小組成員分工,編制源程序31月6日編制源程序41月7日編制源程序51月8日編制源程序61月11日上機調試,修改、完善系統(tǒng)71月12日上機調試,修改、完善系統(tǒng)81月13日撰寫課程設計報告,上機調試,修改、完善系統(tǒng)91月14日撰寫課程設計報告,作品答辯101月15日實習成績的評定四、設計方式和安排1、項目承接:筑夢小組2、小組成員:王英(組長)、涂云躍、孫勝勝、夏春碧、劉瑋、周玉琳、華云平、王英3、項目選題:根據(jù)小組成員的深入討論后,結合當今市場需求,決定以員工管理為設計方向,以人性化管理操作為設計理念,根據(jù)課

5、題工作量大小,合理分配人數(shù)(后臺數(shù)據(jù)庫開發(fā):夏春碧、孫勝勝、王英、周玉琳,前臺開發(fā):王英、涂云躍、劉瑋、華云平,全組成員參加總體調試改進,組長負責本組設計工作的協(xié)調、分工等。4、設計過程:1)分析設計準備階段(按組討論、對系統(tǒng)功能進行分析,確定算法,并進行明確分工);2)編程調試階段(繪制流程圖,編制源程序;上機調試,修改程序)五、考核內容和方式1、在設計期間,小組成員要按時上機,設計結束根據(jù)記錄的設計材料整理成設計說明書。設計說明書中應寫下設計中的主要收獲,要求對問題有一定的分析,文字簡短明確流暢。2、通過設計答辯方式,并結合小組成員的動手能力,獨立分析解決問題的能力和創(chuàng)新精神,設計成績由指

6、導教師根據(jù)考勤、設計說明書質量、答辯表現(xiàn)以及學習態(tài)度按五級分制綜合評定。成績分優(yōu)、良、中、及格和不及格五等。第二章、項目總體設計一、總體設計思路:本系統(tǒng)管理的是大量的員工信息,涉及到員工各方面的信息安全,從系統(tǒng)的設計理念出發(fā),我們必須保障系統(tǒng)內信息的安全,所以我們采取了通過密碼驗證的方式進入系統(tǒng)。設計流程介紹如下:進入登陸窗口為空判斷為空不為空輸入用戶名和密碼正確判斷用戶名密碼不正確主窗體正確各種相關操作二、后臺數(shù)據(jù)庫設計1、數(shù)據(jù)庫名稱:yggl(員工管理 縮寫)2、數(shù)據(jù)字典:庫名(yggl)用戶信息表(userinformation)字段類型說明大小是否為空user_id int 員工編號n

7、ot nulluser_name varchar員工姓名20not nullpasswordvarchar密碼20not nullpopedom varchar權限20not null部門信息管理(departmentinformation)字段類型說明大小是否為空d_numberint部門編號not nulld_namevarchar部門名稱20not nulld_countvarchar部門人數(shù)20not null員工基本信息表(employeeinformation)字段類型說明大小是否為空e_numberint-員工編號not nulle_namevarchar-姓名20not nul

8、le_sexvarchar-性別2not nulle_borndatevarchar-出生日期30not nulle_marriagevarchar-婚姻狀態(tài)4not nulle_politicsvisagevarchar政治面貌20not nulle_schoolagevarchar學歷20not nulle_enterdatevarchar進入公司時間30not nulle_indueformdatevarchar轉正時間30not nulle_departmentvarchar部門20not nulle_headshipvarchar職務20not nulle_estatevarchar

9、狀態(tài)20not nulle_remarkvarchar備注500not null薪資信息表(wageinformation)字段類型說明大小是否為空w_numberint員工編號not nullw_namevarchar員工姓名30not nullw_basicwageint基本工資not nullw_boonint福利not nullw_bonusint獎金not nullw_countmethodvarchar計算方法50not nullw_factwageint實發(fā)工資not null3、問題與難點:表與表之間的相互級聯(lián)與更新三、前臺效果圖發(fā)布與設計過程(一)、登錄窗口設計1、設計思路:

10、本窗口是整個系統(tǒng)的入口,關系到系統(tǒng)內部各個員工的信息安全,在整個設計中有著重要的作用。具體可以分為用戶名密碼是否為空的判斷和用戶名密碼是否正確判斷。2、介紹與圖解: 當用戶密碼為空時,給出相應提示信息,當用戶密碼輸入并且正確時才能成功進入系統(tǒng)主窗體。 3、關鍵代碼: 1)登錄按鈕的監(jiān)聽(為空判斷)buttonenter.addmouselistener(new mouseadapter()public void mouseclicked(mouseevent me)if(textname.gettext().equals("")new joptionpane().showm

11、essagedialog(null,"用戶名不能為空!");else if(textage.gettext().equals("")new joptionpane().showmessagedialog(null,"密碼不能為空!");elsestring sql="select * from userinformation where user_name = '" + textname.gettext() + "' and password = '" + textage

12、.gettext()+ "'"system.out.println(sql);judge(sql);); 2)登錄按鈕的監(jiān)聽(為空判斷) private void judge(string sqlstring) if (database.joindb() if (database.query(sqlstring) try if(database.rs.isbeforefirst() system.out.println("密碼正確"); jf.setvisible(false); system.out.println("main&quo

13、t;); /關閉數(shù)據(jù)庫連接 .close(); new main(); else system.out.println("錯誤"); new joptionpane().showmessagedialog(null,"用戶名或密碼錯誤!","",joptionpane.error_message); catch(exception ex) system.out.println(ex.getmessage(); else system.out.println("連接數(shù)據(jù)庫不成功!"); new joptionpane

14、().showmessagedialog(null,"連接數(shù)據(jù)庫失敗!","",joptionpane.error_message); (二)系統(tǒng)主窗體設計 1、設計思路: 本界面是整個系統(tǒng)操作主界面,是各個模塊的操作的入口。具體分析如下: 主 窗 體系統(tǒng)管理信息管理信息查詢關于修改密碼重新登錄添加刪除修改密碼員工信息管理(基本信息工資信息)部門信息管理員工信息查詢(基本信息工資信息)部門信息查詢 2、圖解與介紹: (1)主窗體 1)效果圖 2)關鍵代碼: /主函數(shù)類 import java.awt.*;/倒包import java.awt.event.

15、*;/倒包import javax.swing.*;/倒包import java.sql.*;/倒包public class main extends jframe implements runnable thread t = new thread(this);/在窗體里創(chuàng)建線程并實例化 jdesktoppane deskpane = new jdesktoppane();/在窗體里建立虛擬桌面并實例化 jpanel p = new jpanel();/創(chuàng)建一個面板并實例化 label lp1 = new label("歡 迎 進 入 員 工 管 理 系 統(tǒng)! 如 有 不 明 白 之

16、 處 請 詢 問 開 發(fā) 人 員!");/菜單上的圖標創(chuàng)建并實例化- imageicon icon1 = new imageicon("image/tjsc.gif"); imageicon icon2 = new imageicon("image/cxdl.gif"); imageicon icon3 = new imageicon("image/xgmm.gif"); imageicon icon4 = new imageicon("image/tcxt.gif"); imageicon icon5

17、= new imageicon("image/jj.gif"); imageicon icon6 = new imageicon("image/help.gif"); imageicon icon7 = new imageicon("image/cx.gif"); imageicon icon8 = new imageicon("image/gl.gif"); imageicon icon9 = new imageicon("image/xt.gif"); imageicon icon10 =

18、new imageicon("image/xxgl.gif"); imageicon icon11 = new imageicon("image/xxcx.gif"); imageicon icon12 = new imageicon("image/bz.gif"); imageicon icon13 = new imageicon("image/gy.gif"); imageicon icon14 = new imageicon("image/glxx.gif"); imageicon ico

19、n15 = new imageicon("image/cxxx.gif"); public main() /構造函數(shù) settitle("員工管理系統(tǒng)");/設置窗體標題 container con = getcontentpane(); con.setlayout(new borderlayout();/創(chuàng)建一個布局 con.add(deskpane, borderlayout.center);/實例虛擬桌面的布局 font f = new font("新宋體", font.plain, 12);/設置一個字體,以后設置字體全部調用

20、這種字體,懶得弄那么花花哨哨的 jmenubar mb = new jmenubar();/實例化菜單欄 /實例化菜單開始 jmenu systemm = new jmenu("系統(tǒng)管理"); systemm.setfont(f); jmenu managem = new jmenu("信息管理"); managem.setfont(f); jmenu employeemm = new jmenu("員工信息管理");/這個是信息管理的二級菜單 employeemm.setfont(f); jmenu selectm = new jm

21、enu("信息查詢"); selectm.setfont(f); jmenu employeesm = new jmenu("員工信息查詢");/這個是信息查詢的二級菜單 employeesm.setfont(f); jmenu aboutm = new jmenu("關于"); aboutm.setfont(f); /實例化菜單結束 /實例化系統(tǒng)管理菜單的菜單項 jmenuitem password = new jmenuitem("密碼修改"); password.setfont(f); jmenuitem l

22、ogin = new jmenuitem("重新登陸"); login.setfont(f); jmenuitem adddelete = new jmenuitem("添加/刪除用戶"); adddelete.setfont(f); jmenuitem exit = new jmenuitem("退出系統(tǒng)"); exit.setfont(f); systemm.add(password); systemm.add(login); systemm.add(adddelete); systemm.add(exit); /實例化系統(tǒng)管理菜

23、單的菜單項結束/為系統(tǒng)管理菜單加事件- password.addactionlistener(new actionlistener() /密碼修改監(jiān)聽 public void actionperformed(actionevent e) system.out.println("xiugaipassword"); deskpane.add(new xiugaipassword();); login.addactionlistener(new actionlistener() /重新登陸監(jiān)聽 public void actionperformed(actionevent e)

24、system.out.println("denglu"); setvisible(false); new denglu();); adddelete.addactionlistener(new actionlistener() /添加/刪除用戶監(jiān)聽 public void actionperformed(actionevent e) deskpane.add(new adddeleteuser();); exit.addactionlistener(new actionlistener() /退出系統(tǒng)監(jiān)聽 public void actionperformed(action

25、event e) /new joptionpane().showmessagedialog( setvisible(false);); /實例化信息管理的菜單項 jmenuitem departmentm = new jmenuitem("部門信息管理"); departmentm.setfont(f); jmenuitem employeem = new jmenuitem("基本信息管理"); employeem.setfont(f); jmenuitem wagem = new jmenuitem("薪資信息管理"); wage

26、m.setfont(f); employeemm.add(employeem); employeemm.add(wagem); managem.add(employeemm); managem.add(departmentm); /實例化信息管理的菜單項結束/為管理菜單加事件- departmentm.addactionlistener(new actionlistener() /部門信息管理監(jiān)聽 public void actionperformed(actionevent e) system.out.println("departmentmanage"); deskpa

27、ne.add(new bumenmanage();); employeem.addactionlistener(new actionlistener() /基本信息管理監(jiān)聽 public void actionperformed(actionevent e) system.out.println("employeemanage"); deskpane.add(new employeemanage();); wagem.addactionlistener(new actionlistener() /薪資信息管理監(jiān)聽 public void actionperformed(ac

28、tionevent e) system.out.println("gongzimanage"); deskpane.add(new gongzimanage();); /實例化信息查詢的菜單項 jmenuitem departments = new jmenuitem("部門信息查詢"); departments.setfont(f); jmenuitem employees = new jmenuitem("基本信息查詢"); employees.setfont(f); jmenuitem wages = new jmenuitem

29、("薪資信息查詢"); wages.setfont(f); employeesm.add(employees); employeesm.add(wages); selectm.add(employeesm); selectm.add(departments); /實例化信息查詢的菜單項結束/為查詢菜單加事件- departments.addactionlistener(new actionlistener() /部門信息查詢監(jiān)聽 public void actionperformed(actionevent e) system.out.println("bumen

30、chaxun"); deskpane.add(new bumenchaxun();); employees.addactionlistener(new actionlistener() /基本信息查詢監(jiān)聽 public void actionperformed(actionevent e) system.out.println("yuangongxxchaxun"); deskpane.add(new yuangongxxchaxun();); wages.addactionlistener(new actionlistener() /薪資信息查詢監(jiān)聽 publi

31、c void actionperformed(actionevent e) system.out.println("gongzichaxun"); deskpane.add(new gongzichaxun();); jmenuitem about = new jmenuitem("關于"); about.setfont(f); aboutm.add(about);/為幫助菜單加事件- about.addactionlistener(new actionlistener() public void actionperformed(actionevent

32、e) deskpane.add(new about();); mb.add(systemm); mb.add(managem); mb.add(selectm); mb.add(aboutm); setjmenubar(mb);/以下全都是在添加圖標- /窗口圖標 image img = toolkit.getdefaulttoolkit().getimage("imagemain.gif"); seticonimage(img); /添加菜單圖標 19systemm.seticon(icon9); managem.seticon(icon8); selectm.setic

33、on(icon7); adddelete.seticon(icon1); password.seticon(icon3); exit.seticon(icon4); employeemm.seticon(icon5); employeesm.seticon(icon5); departmentm.seticon(icon10); departments.seticon(icon11); aboutm.seticon(icon13); about.seticon(icon13); employeem.seticon(icon14); wagem.seticon(icon14); employee

34、s.seticon(icon15); wages.seticon(icon15); jtoolbar jtoolbar1 = new jtoolbar();/創(chuàng)建一個工具欄 jtoolbar1.setlayout(new gridlayout(9, 1);/設置成網格布局 jbutton jbutton1 = new jbutton();/創(chuàng)建并實例化按鈕 jbutton1.settooltiptext("員工基本信息管理");/設置按鈕懸停信息 jbutton jbutton2 = new jbutton(); jbutton2.settooltiptext("

35、員工基本信息查詢"); jbutton jbutton3 = new jbutton(); jbutton3.settooltiptext("修改密碼"); jbutton jbutton5 = new jbutton(); jbutton5.settooltiptext("計算器"); jbutton jbutton6 = new jbutton(); jbutton6.settooltiptext("退出系統(tǒng)"); jtoolbar1.setmaximumsize(new java.awt.dimension(600,

36、50);/設置工具欄最大值 jtoolbar1.setminimumsize(new java.awt.dimension(600, 50);/設置工具欄最小值 jbutton1.seticon(new imageicon("image/1.png");/添加左邊第一個按鈕1圖標 jbutton1.addactionlistener(new actionlistener() /監(jiān)聽該按鈕1圖表顯示 public void actionperformed(actionevent e) system.out.println("employeemanage")

37、; deskpane.add(new employeemanage();); jtoolbar1.add(jbutton1);/將按鈕添加到jtoolbar1中,以下同理添加按鈕2 jbutton2.seticon(new imageicon("image/2.png"); jbutton2.addactionlistener(new actionlistener() public void actionperformed(actionevent e) deskpane.add(new yuangongxxchaxun();); jtoolbar1.add(jbutton2

38、); jbutton3.seticon(new imageicon("image/3.png"); jbutton3.addactionlistener(new actionlistener() public void actionperformed(actionevent e) deskpane.add(new xiugaipassword();); jtoolbar1.add(jbutton3); jbutton5.seticon(new imageicon("image/5.png"); jbutton5.addactionlistener(new

39、 actionlistener() public void actionperformed(actionevent e) system.out.println("calculator"); deskpane.add(new jisuanqi();); jtoolbar1.add(jbutton5); jbutton6.seticon(new javax.swing.imageicon("image/6.png"); jbutton6.addactionlistener(new actionlistener() public void actionperf

40、ormed(actionevent e) system.exit(0);); jtoolbar1.add(jbutton6); /添加工具欄中按鈕的方法結束 jtoolbar1.setbounds(0, 0, 30, 600);/工具欄位置 jtoolbar1.setenabled(false);/禁止更改大小 con.add(jtoolbar1, borderlayout.west);/布局 label lb2 = new label("歡 迎 使 用 員 工 管 理 系 統(tǒng) !"); lb2.setforeground(color.black); p.setlayout

41、(new borderlayout(); p.add(lp1, borderlayout.east); p.add(lb2, borderlayout.center); t.start(); con.add(p, borderlayout.south); toolkit t = toolkit.getdefaulttoolkit();/這個類是抽象的,一切實際實現(xiàn)的抽象窗口工具包。類的工具包是用來約束的,實現(xiàn)各個組成部分的具體本地工具箱。 int width = t.getscreensize().width - 200; int height = t.getscreensize().heig

42、ht - 100; setsize(width, height); setlocation(150, 100); setvisible(true); setresizable(false); /線程的方法 public void run() system.out.println("線程啟動了!");/友好提示 toolkit t = toolkit.getdefaulttoolkit(); int x = t.getscreensize().width; lp1.setforeground(color.red); while (true) if (x < -600)

43、x = t.getscreensize().width; lp1.setbounds(x, 0, 700, 20); x -= 10; try thread.sleep(100); catch (exception e) (2)密碼修改窗口 1)效果圖2)關鍵代碼/將所有用用戶名讀出來 database.joindb(); string sql="select * from userinformation" try if(database.query(sql) while(database.rs.next() string name=database.rs.getstrin

44、g("user_name"); tf.additem(name); catch(exception e)/為確定按鈕加事件 b1.addactionlistener(new actionlistener() public void actionperformed(actionevent e) string name="" + tf.getselecteditem(); system.out.println(name); string sql="select * from userinformation where user_name='

45、"+ name +"'" system.out.println(sql); try if(database.query(sql) database.rs.next(); string ps1=pas1.gettext(); string password=database.rs.getstring("password"); if(ps1.equals(password) if(pas2.gettext().equals(pas3.gettext()string supdate="update userinformation s

46、et password='"+ pas3.gettext()+"' where user_name='"+ name +"'" database.executesql(supdate); new joptionpane().showmessagedialog(null,"密碼更改成功!"); else new joptionpane().showmessagedialog(null,"兩次密碼不同!"); else new joptionpane().showmessage

47、dialog(null,"舊密碼不正確!"); catch(exception el) system.out.println(el););(3)添加刪除用戶窗口1)效果圖2)關鍵代碼:/將所有用用戶名讀出來 database.joindb(); string sql = "select * from userinformation" try if (database.query(sql) while (database.rs.next() /順序讀出所有用戶名 string name = database.rs.getstring("user_name"); cbusername.additem(name); catch (exception e) /為添加和取消按鈕加事件- butok.addactionlistener(new actionlistener() public void actionperformed

溫馨提示

  • 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

提交評論