工資管理系統(tǒng)設(shè)計(jì)報(bào)告.doc
《工資管理系統(tǒng)設(shè)計(jì)報(bào)告.doc》由會(huì)員分享,可在線閱讀,更多相關(guān)《工資管理系統(tǒng)設(shè)計(jì)報(bào)告.doc(62頁(yè)珍藏版)》請(qǐng)?jiān)谘b配圖網(wǎng)上搜索。
延安大學(xué) 課程設(shè)計(jì)報(bào)告 科目:數(shù)據(jù)庫(kù)系統(tǒng)概論 題目:工資管理系統(tǒng) 學(xué)院:數(shù)學(xué)與計(jì)算機(jī)科學(xué)學(xué)院 班級(jí):軟件12 成員:鄧茂記: 王曉武: 宋彤彤: 彭文麗: 設(shè)計(jì)時(shí)間:2013年11月12日—— 2013年12月20日 目錄 第一章 開發(fā)背景及意義 1.1項(xiàng)目開發(fā)背景 1.2項(xiàng)目開發(fā)的目標(biāo)及意義 1.3系統(tǒng)開發(fā)方法 第二章 可行性研究 2.1 目標(biāo)方案可行性 2.2 技術(shù)可行性 2.3 經(jīng)濟(jì)可行性 2.4 操作可行性 2.5 系統(tǒng)流程圖 第三章 系統(tǒng)分析 3.1 需求分析 3.2 數(shù)據(jù)流圖 3.3 數(shù)據(jù)字典 第四章 數(shù)據(jù)庫(kù)設(shè)計(jì) 4.1 概念結(jié)構(gòu)設(shè)計(jì) 4.2 邏輯結(jié)構(gòu)設(shè)計(jì) 4.3 物理結(jié)構(gòu)設(shè)計(jì) 4.4 數(shù)據(jù)庫(kù)結(jié)構(gòu)的實(shí)現(xiàn) 第五章 工資管理系統(tǒng)功能實(shí)現(xiàn) 5.1 功能界面設(shè)計(jì) 5.2實(shí)現(xiàn)工資管理系統(tǒng)的java代碼 第六章 總結(jié)與體會(huì) 第一章 開發(fā)背景及意義 1.1 項(xiàng)目開發(fā)背景 眾所周知當(dāng)今時(shí)代的世界經(jīng)濟(jì)正從工業(yè)經(jīng)濟(jì)向知識(shí)經(jīng)濟(jì)轉(zhuǎn)變,而知識(shí)經(jīng)濟(jì)的兩個(gè)重要特征就是信息化合全球化。要實(shí)現(xiàn)信息化和全球化就必須依靠完善的網(wǎng)絡(luò)和數(shù)據(jù)庫(kù)機(jī)制。處于現(xiàn)在這樣一個(gè)飛速發(fā)展的信息時(shí)代,在各行各業(yè)中都離不開信息處理,這正是計(jì)算機(jī)被廣泛應(yīng)用于管理信息系統(tǒng)的環(huán)境,使用計(jì)算機(jī)進(jìn)行信息控制不僅提高了工作效率,而且大大的提高了其安全性。尤其是對(duì)于復(fù)雜的信息管理,計(jì)算機(jī)能夠充分發(fā)揮其優(yōu)越性。計(jì)算機(jī)進(jìn)行信息管理與信息管理系統(tǒng)的開發(fā)密切相關(guān),系統(tǒng)的開發(fā)時(shí)系統(tǒng)管理的前提。 因此,對(duì)于企業(yè)或是事業(yè)單位來(lái)說(shuō)開發(fā)一套工資管理系統(tǒng)是很必要的。雖然企業(yè)事業(yè)單位的管理已經(jīng)進(jìn)入信息化管理,但對(duì)于不同的單位所需要的功能是不一樣的,這樣通用的軟件使用效率不高,還會(huì)造成人力,財(cái)力的浪費(fèi),這樣就不能滿足所有單位和部門的需求。所以必須做好客戶的需求分析工作,設(shè)計(jì)符合用戶要求的系統(tǒng)。 1.2 系統(tǒng)開發(fā)的目標(biāo)及意義 企業(yè)和事業(yè)單位工資管理系統(tǒng)唯有采用自動(dòng)化,高效率,人性化的管理,才能滿足服務(wù)員工的需求。工資管理系統(tǒng)的主要目標(biāo)在于加強(qiáng)服務(wù)而不在于精簡(jiǎn)人力。所以系統(tǒng)要能提供更自動(dòng)化的服務(wù),期望以最快的速度將人事工資信息做最適當(dāng)?shù)倪\(yùn)用。主要目標(biāo)有:以自動(dòng)化、系統(tǒng)化、高效管理代替分散重復(fù)操作;提高單位效益和現(xiàn)代化信息管理水平;提高員工的自律性,促進(jìn)員工人才的成長(zhǎng)和流動(dòng);減輕人事工資管理員的負(fù)擔(dān),節(jié)省人力物力的開支等。 引進(jìn)以計(jì)算機(jī)信息管理技術(shù)和網(wǎng)絡(luò)通訊技術(shù),是加快人事工資管理信息服務(wù)進(jìn)程的重要手段。新的管理系統(tǒng)的使用會(huì)給人事管理體系發(fā)生變化。這促進(jìn)了工資數(shù)據(jù)管理方式和理念的轉(zhuǎn)變,提高了企業(yè)單位的現(xiàn)代化和信息化水平,為企業(yè)帶來(lái)更多的效益。 1.3 系統(tǒng)開發(fā)方法 1.開發(fā)工具:eclipse sql server 2005 2.開發(fā)語(yǔ)言:java語(yǔ)言 sql語(yǔ)言 第二章 可行性研究 2.1 目標(biāo)方案可行性 (1).計(jì)算機(jī)設(shè)備處理繁雜的工資增減問題,大幅度減少人力,物力,極大地提高企業(yè)的管理水平和管理效率。 (2).管理水平和管理效率的提高能直接產(chǎn)生經(jīng)濟(jì)效益。 (3).高效率的管理形成了良好的經(jīng)營(yíng)氛圍,為企業(yè)打造優(yōu)良形象,提高企業(yè)競(jìng)爭(zhēng)力。 (4).本系統(tǒng)安全保密性可靠,實(shí)施獨(dú)立的局域網(wǎng)絡(luò),人員進(jìn)入系統(tǒng)需要登錄,需輸入賬戶和密碼。 (5).本系統(tǒng)的管理,可以根據(jù)市場(chǎng)需要進(jìn)行調(diào)整,實(shí)用性強(qiáng)。 2.2 技術(shù)可行性 (1).工作人員一般都要求掌握計(jì)算機(jī)技術(shù),會(huì)使用各種管理軟件。 (2).員工及工作人員需要熟悉系統(tǒng)的功能和使用方法使系統(tǒng)能夠順利運(yùn)行。 2.3 經(jīng)濟(jì)可行性 (1).企業(yè)有能力承擔(dān)系統(tǒng)開發(fā)費(fèi)用。 (2).新系統(tǒng)將為企業(yè)帶來(lái)經(jīng)濟(jì)效益。管理系統(tǒng)是一個(gè)信息化,智能化和先進(jìn)理念的集合體,其主要表現(xiàn)就是減少了企業(yè)管理費(fèi)用和人力開發(fā)。 2.4 操作可行性 該系統(tǒng)是大家熟悉的Windows操作系統(tǒng),簡(jiǎn)單明了,操作方便,不需要對(duì)數(shù)據(jù)庫(kù)進(jìn)行深入了解,對(duì)于那些有一般的計(jì)算機(jī)知識(shí)的人員都可以輕松使用。 2.5 系統(tǒng)流程圖 員工出勤 員工加班 員工錄入 加班信息 出勤信息 基本 信息 基本工資 津貼 獎(jiǎng)金 人事管理信息 工資核算 工資管理 工資報(bào)表 第三章 系統(tǒng)分析 工資管理系統(tǒng)是一個(gè)企業(yè)單位不可或缺的部分,它能為用戶提供充足的信息和快捷的查詢手段,可以高效能、大容量的收集、處理、存儲(chǔ)工資管理信息,能夠?yàn)槠髽I(yè)管理人員及時(shí)掌握整個(gè)工資管理系統(tǒng)的全面情況,提供系統(tǒng)的準(zhǔn)確的工資管理信息,可以促進(jìn)工資管理工作的規(guī)范化及各項(xiàng)管理制度與指標(biāo)體系的建立與健全,為企業(yè)提供各種工資管理信息,以滿足工資管理的特殊要求。主要任務(wù)是對(duì)員工信息和工資信息的輸入、查詢、修改、增加、刪除,迅速準(zhǔn)確地完成工資信息的統(tǒng)計(jì)計(jì)算和匯總,快速打印出報(bào)表。 3.1 需求分析 3.1.1 員工基本檔案信息管理功能需求: 凡屬于本部門的員工,都需要對(duì)其基本的檔案信息做好記錄存儲(chǔ)處理。以方便高級(jí)管理人員時(shí)時(shí)的了解或查閱其員工基本信息。對(duì)員工基本信息的操作包括添加信息、修改信息、查詢信息,同時(shí)在數(shù)據(jù)庫(kù)中要形成員工基本信息表。 3.1.2 工資管理功能需求: (1).工資計(jì)算: 在進(jìn)行工資計(jì)算之前,管理員首先應(yīng)該根據(jù)部門的實(shí)際業(yè)務(wù)情況確定好各個(gè)部門中所需要的工資項(xiàng)目及分別對(duì)工資項(xiàng)目進(jìn)行計(jì)算的方式,然后按照系統(tǒng)工資種類的設(shè)定,對(duì)每個(gè)員工分別依次實(shí)際工資項(xiàng)目構(gòu)成情況,如基本工資、工齡工資、獎(jiǎng)金、津貼工資、加班工資等項(xiàng)目,錄入相應(yīng)的工資金額數(shù),再計(jì)算出總的實(shí)得工資的工資項(xiàng)目。在數(shù)據(jù)的錄入過程中系統(tǒng)會(huì)根據(jù)用戶誤輸、錯(cuò)誤輸入智能提示引導(dǎo)用戶錄入數(shù)據(jù)的正確性。要形成的數(shù)據(jù)庫(kù)中的表為員工工資信息表。 (2).工資統(tǒng)計(jì)分析: 對(duì)員工工資數(shù)據(jù)計(jì)算完后,同時(shí)要將工資信息統(tǒng)計(jì)分析,如匯總統(tǒng)計(jì),工資項(xiàng)目明細(xì)數(shù)據(jù)的匯總等,又分為對(duì)員工個(gè)人工資統(tǒng)計(jì)分析、部門工資統(tǒng)計(jì)分析、月份工資統(tǒng)計(jì)分析。且統(tǒng)計(jì)分析以報(bào)表形式顯示統(tǒng)計(jì)結(jié)果。通過報(bào)表的方式反饋到高級(jí)管理人員處,這時(shí),在數(shù)據(jù)庫(kù)中要形成員工個(gè)人工資信息統(tǒng)計(jì)表、部門工資信息統(tǒng)計(jì)表、統(tǒng)計(jì)員工年終獎(jiǎng)。 3.1.3 工資查詢功能描述: 在查詢這個(gè)模塊里,系統(tǒng)能支持用戶在客戶端按照各種不同的字段名稱進(jìn)行工資信息的查詢。同時(shí),迅速的響應(yīng)用戶的查詢請(qǐng)求,不同級(jí)別的人系統(tǒng)會(huì)根據(jù)其權(quán)限級(jí)別的大小享有不同程度的功能。不同級(jí)別的人不能越權(quán)進(jìn)行操作。 3.1.4 報(bào)表生成與打?。? 在員工領(lǐng)取工資時(shí),能為個(gè)人生成個(gè)人工資組成及相應(yīng)金額的工資條。同時(shí)形成部門月報(bào)表。 3.1.5 工資管理系統(tǒng)是針對(duì)企事業(yè)單位的大量業(yè)務(wù)處理工作用計(jì)算機(jī)進(jìn)行全面現(xiàn)代化管理,主要包括: (a)員工每個(gè)工種基本工資的設(shè)定 (b)加班津貼管理,根據(jù)加班時(shí)間和類型給予不同的加班津貼; (c)按照不同工種的基本工資情況、員工的考勤情況產(chǎn)生員工的每月的月工資; (d)員工年終獎(jiǎng)金的生成,員工的年終獎(jiǎng)金計(jì)算公式=(員工本年度的工資總和+津貼的總和)/12; (e)企業(yè)工資報(bào)表。能夠查詢單個(gè)員工的工資情況、每個(gè)部門的工資情況、按月的工資統(tǒng)計(jì),并能夠打印; 3.1.6 員工月工資是指各單位在一個(gè)月時(shí)期內(nèi)支付給本單位全體員工的全部勞動(dòng)報(bào)酬。 員工月工資=基本工資+工齡工資+津貼+加班工資+獎(jiǎng)金 3.1.7 系統(tǒng)功能模塊 該系統(tǒng)分為員工管理功能模塊,工資管理功能模塊,工資統(tǒng)計(jì)功能模塊,工資報(bào)表查詢功能模塊。 工資管理系統(tǒng) 系統(tǒng) 員工查詢 工資管理功能 員工管理功能 基本信息查詢 考勤信息查詢 年終獎(jiǎng)查詢 生成工資 工資查詢 職務(wù)工資設(shè)定 刪除員工信息 修改員工信息 添加員工信息 退出 對(duì)工資管理系統(tǒng)各個(gè)功能模塊的說(shuō)明: (1).員工管理功能模塊:實(shí)現(xiàn)對(duì)員工信息的查詢、修改、添加、刪除。 (2).工資管理功能模塊:實(shí)現(xiàn)對(duì)員工基本工資的設(shè)定與查詢,對(duì)員工加班、請(qǐng)假、曠工標(biāo)準(zhǔn)工資的設(shè)定,對(duì)員工總工資的計(jì)算。 (3).工資統(tǒng)計(jì)功能模塊:實(shí)現(xiàn)對(duì)員工工資的統(tǒng)計(jì)功能。 (4).工資報(bào)表查詢功能模塊:產(chǎn)生每個(gè)員工的月工資報(bào)表,提交到相應(yīng)部門。 3.2 數(shù)據(jù)流圖 根據(jù)系統(tǒng)功能的描述,得到工資管理系統(tǒng)的數(shù)據(jù)流圖如下: 1.頂層數(shù)據(jù)流圖與0層數(shù)據(jù)流圖 員 工 工資管理 系統(tǒng) 系統(tǒng)管理員 管理 查詢 瀏覽 圖3.1 頂層數(shù)據(jù)流圖 員工基 本信息 人事管理系統(tǒng) 員工 錄 員工號(hào) 入 員工考 勤信息 主管部門 員工信息 考勤 工資計(jì)算 員工津貼信息 基本工資信息查詢 基本工資信息 部門 打印工資報(bào)表 員工基本信息查詢 設(shè) 定 考 基本工資設(shè)定 勤 工 津貼 資 基本工資 員 工資匯總 公 工 年終獎(jiǎng)生成 工 式 信 資 息 信 總 息 工 產(chǎn)生工資報(bào)表 資 工資表 輸 出 圖3.2 0層數(shù)據(jù)流圖 2.各層功能模塊數(shù)據(jù)流圖 工種基本 工資 工種表 工種基本 工資 工 員工編號(hào) 資 表 圖3.3 工種基本工資設(shè)定 考勤表 員工津貼工資 津貼管理 工 員工編號(hào) 資 表 津貼表 圖3.4 員工津貼設(shè)定 年度工資總和 員工年終獎(jiǎng) 年終獎(jiǎng)生成 工 員工編號(hào) 公式 資 表 津貼總和 圖3.5 員工年終獎(jiǎng)生成 工種表 工資錄入 查詢部門及員工信息 工 員工編號(hào) 資 信 息 考勤表 津貼 工資數(shù)據(jù) 圖3.6 工資核算 考 月工資查詢要求 工 勤 工 資 表 種 表 表 查詢 處理 要求 加工 員工信息 查詢規(guī)則 查詢結(jié)果 查詢要求 輸出到 打印機(jī) 津 貼 員工信息表 表 打印 圖3.7 信息查詢 3.3 數(shù)據(jù)字典 數(shù)據(jù)字典是系統(tǒng)中各類數(shù)據(jù)描述的集合 簡(jiǎn)要說(shuō)明工資管理系統(tǒng)的數(shù)據(jù)字典。 (1).名字:?jiǎn)T工編號(hào) 別名:?jiǎn)T工號(hào) 描述:?jiǎn)T工號(hào)唯一地標(biāo)識(shí)數(shù)據(jù)庫(kù)中職工信息相關(guān)表中的一個(gè)特定員工的關(guān)鍵域 定義:職工號(hào)=6{char} 位置:?jiǎn)T工信息表 考勤表 工資表 (2).名字:職務(wù) 別名:?jiǎn)T工職務(wù) 描述:職務(wù)能唯一地標(biāo)識(shí)數(shù)據(jù)庫(kù)中職務(wù)基本工資信息相關(guān)表中的一個(gè)特定職務(wù)的關(guān)鍵域 定義:職務(wù)=10{char} 位置:?jiǎn)T工信息表 職務(wù)工資表 (3).名字:加班類型 別名:加班類型 描述:加班類型能唯一地標(biāo)識(shí)數(shù)據(jù)庫(kù)中員工津貼信息相關(guān)表中的一個(gè)特定加班類型的關(guān)鍵域 定義:加班類型=10{char} 位置:?jiǎn)T工津貼表 員工考勤表 (4).名字:?jiǎn)T工信息表 別名:?jiǎn)T工基本信息 描述:用戶指定條件下的員工基本信息情況查詢結(jié)果的信息表 定義:?jiǎn)T工信息表=員工號(hào)+員工姓名+性別+出生日期+職務(wù)+學(xué)歷+電話號(hào)碼+住址+身份證號(hào) 位置:輸出到員工工資表 (5).名字:考勤信息表 別名:考勤信息 描述:用戶指定條件下的員工考勤信息查詢結(jié)果的信息表 定義:?jiǎn)T工考勤信息表=考勤編號(hào)+員工號(hào)+員工姓名+加班天數(shù)+請(qǐng)假天數(shù)+曠工天數(shù)+考勤日期+加班類型 位置:輸出到員工工資表 (6)名字:?jiǎn)T工津貼表 別名:?jiǎn)T工津貼信息表 描述:用戶指定條件下的員工加班類型給予不同加班津貼的信息表 定義:?jiǎn)T工津貼表=加班類型+加班津貼 位置:輸出到員工工資表 (7).名字:職務(wù)工資表 別名:職務(wù)基本工資信息表 描述:用戶指定條件下的職務(wù)基本工資信息查詢結(jié)果的信息表 定義:職務(wù)工資表=職務(wù)+基本工資+加班標(biāo)準(zhǔn)+請(qǐng)假標(biāo)準(zhǔn)+曠工標(biāo)準(zhǔn)+ 獎(jiǎng)金 位置:輸出到員工工資表 (8).名字:?jiǎn)T工工資表 別名:工資信息 描述:記錄工資的組成部分以及員工的工資情況的信息 定義:工資信息報(bào)表=員工編號(hào)+員工姓名+基本工資+加班津貼+加班費(fèi)+請(qǐng)假扣款+曠工扣款+獎(jiǎng)金+實(shí)發(fā)工資 位置:輸出到打印機(jī) 第四章 數(shù)據(jù)庫(kù)設(shè)計(jì) 4.1 概念結(jié)構(gòu)設(shè)計(jì) 1. 根據(jù)如上的信息可得到實(shí)體之間的關(guān)系E-R圖如下: 出生日期 學(xué)歷 職務(wù) 電話 性別 住址 姓名 身份證號(hào) 編號(hào) 員工 1 領(lǐng)取 1 基本工資 獎(jiǎng)金 工資 加班費(fèi) 津貼工資 加班工資 請(qǐng)假扣款 曠工扣款 圖4.1 E-R圖 錄入 主管部門 1 天數(shù) 加班標(biāo)準(zhǔn) 屬于 領(lǐng)導(dǎo) 1 1 n 員工基本信息 加班工資 加班 1 設(shè)定 n n 1 1 請(qǐng)假扣款 請(qǐng)假 員工 1 1 1 1 基本工資 1 請(qǐng)假標(biāo)準(zhǔn) 天數(shù) 1 1 獎(jiǎng)金 曠工扣款 曠工 1 1 工資計(jì)算 1 1 曠工標(biāo)準(zhǔn) 天數(shù) 計(jì)算公式 1 年終獎(jiǎng) 工資 1 1 實(shí)體—— 圖4.2 總E-R圖 4.2 邏輯結(jié)構(gòu)設(shè)計(jì) (1)員工考勤表(Checkstat): 考勤編號(hào)(CheckID),員工編號(hào)(Eno),員工姓名(Ename),加班天數(shù)(OvertimeDay),曠工天數(shù)(AbsentDay),請(qǐng)假天數(shù)(LeaveDay),考勤日期(CheckDate),加班類型(OvertimeType) (2)員工津貼表(Allowance): 加班類型(OvertimeType),加班津貼(Osubsidy) (3)員工信息表(Emplogee): 員工編號(hào)(Eno),員工姓名(Ename),性別(Esex),出生年月(Ebirth),職務(wù)(Eduty),學(xué)歷(Eedu),電話(Etel),身份證號(hào)(IDidentity),住址(Eaddr) (4)員工工種表(Wageconfig): 職務(wù)(Eduty),基本工資(BaseWage),加班標(biāo)準(zhǔn)(OverDay),請(qǐng)假標(biāo)準(zhǔn)(LeaveDay),曠工標(biāo)準(zhǔn)(AbsentDay),獎(jiǎng)金(Bonus) (5)員工工資表(Wage): 員工編號(hào)(Eno),員工姓名(Ename),基本工資(BaseWage),加班津貼(Osubsidy0),加班費(fèi)(OvertimeWage),請(qǐng)假扣款(LeaveDayWage),曠工扣款(AbsentDayWage),獎(jiǎng)金(Bonus),實(shí)發(fā)工資(ActWage) 依據(jù)上面的關(guān)系模式,設(shè)計(jì)數(shù)據(jù)表如下: (1).員工考勤表(Checkstat):記錄員工的到職情況 列名 數(shù)據(jù)類型 長(zhǎng)度 屬性 描述 CheckID int 主鍵 考勤編號(hào) Eno char 6 外鍵 員工編號(hào) Ename Char 15 不允許空 員工姓名 OvertimeDay Smallint 加班天數(shù) AbsentDay Smallint 曠工天數(shù) LeaveDay Smallint 請(qǐng)假天數(shù) CheckDate Smalldatetime 考勤日期 OvertimeType Char 10 加班類型 (2).員工津貼表(Allowance):記錄員工的加班津貼信息 列名 數(shù)據(jù)類型 長(zhǎng)度 屬性 描述 OvertimeType Char 10 主鍵 加班類型 Osubsidy Money 不為空 加班津貼 (3).職務(wù)工資表(wageconfig):記錄職務(wù)的基本工資 列名 數(shù)據(jù)類型 長(zhǎng)度 屬性 描述 Eduty Char 10 主鍵 職務(wù) BaseWage Money 不為空 基本工資 OvertimeWage Money 不為空 加班標(biāo)準(zhǔn) LeaveWage Money 不為空 請(qǐng)假標(biāo)準(zhǔn) AbsentWage Money 不為空 曠工標(biāo)準(zhǔn) Bonus Money 不為空 獎(jiǎng)金 (4)員工信息表(Emplogee):記錄員工的基本信息 列名 數(shù)據(jù)類型 長(zhǎng)度 屬性 描述 Eno Char 6 主鍵 員工編號(hào) Ename Char 15 不為空 員工姓名 Esex Char 10 不為空 性別 Ebirth Datetime 出生日期 Eduty Char 10 外鍵 職務(wù) Eedu Char 10 學(xué)歷 Etel nvarchar 50 電話 IDidentity nvarchar 50 身份證號(hào) Eaddr Char 10 地址 (5)員工工資表(Wage):記錄保存計(jì)算出來(lái)的工資 列名 數(shù)據(jù)類型 長(zhǎng)度 屬性 描述 Eno Char 6 主鍵 員工編號(hào) Ename Char 15 不為空 員工姓名 BaseWage Money 不為空 基本工資 Osubsidy Money 不為空 加班津貼 OvertimeDayWage Money 不為空 加班費(fèi) LeaveDayWage Money 不為空 請(qǐng)假扣款 AbsentDayWage Money 不為空 曠工扣款 Bonus Money 不為空 獎(jiǎng)金 ActWage Money 不為空 實(shí)發(fā)工資 4.3 物理結(jié)構(gòu)設(shè)計(jì) 1.員工基本信息數(shù)據(jù)表定義 其中,“Eno”是表的主鍵,唯一標(biāo)識(shí)。 “Eduty”是外鍵。 此表取名為“Emplogee”。 2. 員工考勤信息數(shù)據(jù)表定義 其中,“CheckID”是主鍵,唯一標(biāo)識(shí)?!癘vertimeType”為外鍵。 此表取名為”Checkstat“。 3. 員工津貼信息數(shù)據(jù)表定義 其中,”O(jiān)vertimeType“為主鍵,唯一標(biāo)識(shí)。此表取名為”Allowance“。 4. 職務(wù)基本工資信息數(shù)據(jù)表定義 其中,”Eduty”為主鍵,唯一標(biāo)識(shí)。此表取名為“Wageconfig” 5. 工資信息數(shù)據(jù)表定義 其中,“Eno”為主鍵,唯一標(biāo)識(shí)。此表取名為“Wage” 4.4 數(shù)據(jù)庫(kù)結(jié)構(gòu)的實(shí)現(xiàn) 1. 數(shù)據(jù)庫(kù)表的創(chuàng)建 (1)創(chuàng)建Wageconfig表: create table Wageconfig (Eduty char(10) primary key, BaseWage money, OverDay money, LeaveDayWage money, AbsentDayWage money, Bonus money, ); (2)創(chuàng)建Allowance表: create table Allowance (OvertimeType char(10) primary key, Osubsidy money, ); (3)創(chuàng)建Checkstat表: create table Checkstat (CheckID int primary key, Eno char(6) not null, Ename char(15) not null, OvertimeDay smallint, AbsentDay smallint, LeaveDay smallint, CheckDate smalldatetime, OvertimeTtpe char(10), ); (4)創(chuàng)建Emplogee表: create table Emplogee (Eno char(6) primary key, Ename char(15) not null, Esex char(10) not null, Ebirth datetime, Eduty char(10), Eedu char(10), Etel nvarchar(50), IDidentity nvarchar(50), Eaddr char(10), ); (5)創(chuàng)建Wage表: create table Wage (WageID int primary key, Eno char(6) not null, Ename char(15) not null, BaseWage money not null , Osubsidy money not null, OvertimeWage money not null, LeaveDayWage money not null, AbsentDayWage money not null, Bonus money not null, ActWage money not null, ); 2. 數(shù)據(jù)庫(kù)關(guān)系圖: 第五章 工資管理系統(tǒng)功能實(shí)現(xiàn) 5.1 功能界面設(shè)計(jì) 5.1 .1系統(tǒng)登錄界面的設(shè)計(jì) 輸入用戶名和密碼,點(diǎn)擊登錄可以進(jìn)入工資管理系統(tǒng)。 5.1.2 系統(tǒng)主界面功能設(shè)計(jì) 各個(gè)菜單按鈕下的子系統(tǒng)有: 系統(tǒng)(退出) 員工管理(添加員工基本信息,修改員工基本信息,刪除員工基本信息) 工資管理(設(shè)定職務(wù)工資,工資報(bào)表生成,月工資查詢,年終獎(jiǎng)查詢) 員工查詢(員工基本信息查詢,員工考勤信息查詢) 5.1.3 添加員工基本信息界面設(shè)計(jì) 輸入員工編號(hào),姓名,性別,出生日期,職務(wù),學(xué)歷,電話,身份證號(hào)碼,住址能將員工的基本信息添加到數(shù)據(jù)庫(kù)表中。 5.1.4 刪除員工基本信息界面設(shè)計(jì) 輸入員工編號(hào)可以刪除數(shù)據(jù)庫(kù)表中員工的基本信息。 5.1.5修改員工基本信息界面設(shè)計(jì) 輸入員工編號(hào)將員工信息顯示出來(lái),然后進(jìn)行修改。 5.1.6 設(shè)定職務(wù)基本工資界面設(shè)計(jì) 輸入職務(wù)名稱將職務(wù)各項(xiàng)標(biāo)準(zhǔn)顯示出來(lái),然后進(jìn)行重新設(shè)定。 5.1.7. 工資報(bào)表生成界面設(shè)計(jì) 通過員工編號(hào)查出員工姓名,職務(wù),加班天數(shù),請(qǐng)假天數(shù),曠工天數(shù)及加班類型,填入到對(duì)應(yīng)框中,然后通過職務(wù)名稱查出基本工資,加班標(biāo)準(zhǔn),請(qǐng)假標(biāo)準(zhǔn),曠工標(biāo)準(zhǔn)及獎(jiǎng)金,填入對(duì)應(yīng)框中,通過加班類型查出加班津貼,最后計(jì)算出加班費(fèi),請(qǐng)假減薪,曠工減薪,實(shí)發(fā)工資。產(chǎn)生員工工資。 5.1.8 員工月工資查詢界面設(shè)計(jì) 輸入員工編號(hào)可以查詢員工的月工資。 5.1.9 員工年終獎(jiǎng)查詢界面設(shè)計(jì) 輸入員工編號(hào)可以查詢員工的年終獎(jiǎng)。 5.1.10 員工基本信息查詢界面設(shè)計(jì) 輸入員工編號(hào)可以查詢員工基本信息。 5.1.11 員工考勤及員工加班津貼查詢界面設(shè)計(jì) 輸入員工編號(hào)可以查詢員工考勤信息,輸入員工加班類型可以查詢員工加班津貼。 5.2實(shí)現(xiàn)工資管理系統(tǒng)的java代碼 (1)登錄界面代碼 package gzgl; import java.awt.Dimension; import java.awt.GridLayout; import java.awt.Toolkit; import java.awt.event.ActionEvent; import java.awt.event.ActionListener; import java.sql.Connection; import java.sql.Statement; import javax.swing.JButton; import javax.swing.JFrame; import javax.swing.JLabel; import javax.swing.JOptionPane; import javax.swing.JPanel; import javax.swing.JPasswordField; import javax.swing.JTextField; import gzgl.MainFrame; import gzgl.DBConnect; public class LogOn { public static void main(String[] args){ final JFrame jfrmlogin=new JFrame("系統(tǒng)登錄");//框標(biāo)題是 系統(tǒng)登錄 jfrmlogin.setSize(400,280);//設(shè)置框的大小 Dimension screenSize=Toolkit.getDefaultToolkit().getScreenSize(); jfrmlogin.setLocation((int) (screenSize.width-400)/2,(int)(screenSize.height-300)/2);//設(shè)置框出現(xiàn)的位置 //構(gòu)建面板 p1、p2、p3 //p1->用戶名+文本框 JPanel p1=new JPanel(); p1.add(new JLabel("用戶名:")); final JTextField jtxtuser=new JTextField(14); //p2->密碼+文本框 JPanel p2=new JPanel(); p2.add(new JLabel("密碼:")); final JPasswordField jspwd=new JPasswordField(14); //p3->登陸+退出 兩按鈕 JPanel p3=new JPanel(); JButton jbtok=new JButton("登錄"); JButton jbtexit=new JButton("退出"); //將組件加入到面板中 p1.add(jtxtuser); p2.add(jspwd); p3.add(jbtok); p3.add(jbtexit); //,登陸鍵的監(jiān)聽器設(shè)置 jbtok.addActionListener(new ActionListener(){ public void actionPerformed(ActionEvent e){ String a,b; a=jtxtuser.getText(); //獲取用戶輸入的信息 //密碼框置為不可見的字符 b=jspwd.getText(); if((a.equals("dmj")==true)&&(b.equals("123456")==true)) { //如果成功則調(diào)用系統(tǒng)程序 隱藏當(dāng)前登陸框 JOptionPane.showMessageDialog(null,"你已成功登陸系統(tǒng)!","系統(tǒng)提示",JOptionPane.INFORMATION_MESSAGE); MainFrame mf=new MainFrame(); mf.setVisible(true); jfrmlogin.dispose(); } else{ JOptionPane.showMessageDialog(null,"用戶名或密碼不一致,請(qǐng)重新輸入!","系統(tǒng)提示",JOptionPane.ERROR_MESSAGE); //不正確則將用戶框和密碼框都置空 jtxtuser.setText(""); jspwd.setText(""); } } }); jbtexit.addActionListener(new ActionListener(){ public void actionPerformed(ActionEvent e){ JOptionPane.showMessageDialog(null,"您已成功退出系統(tǒng)!","系統(tǒng)提示",JOptionPane.CANCEL_OPTION); System.exit(0); } }); //采用網(wǎng)格布局 jfrmlogin.getContentPane().setLayout(new GridLayout(3,1)); jfrmlogin.getContentPane().add(p1); jfrmlogin.getContentPane().add(p2); jfrmlogin.getContentPane().add(p3); jfrmlogin.setVisible(true); } } (2)主函數(shù)代碼 package gzgl; import java.awt.Dimension; import java.awt.Toolkit; import gzgl.MainFrame; public class Main { public static void main (String[] args) { //創(chuàng)建主界面,調(diào)用MainFrame()構(gòu)造函數(shù)和方法 MainFrame frame=new MainFrame(); //獲取屏幕尺寸 Dimension screenSize=Toolkit.getDefaultToolkit().getScreenSize(); //獲取主界面的窗體尺寸 Dimension frameSize =frame.getSize(); //令主界面窗體居中 if(frameSize.height>screenSize.height) frameSize.height=screenSize.height; if(frameSize.width>screenSize.width) frameSize.width=screenSize.width; frame.setLocation((screenSize.width-frameSize.width)/2,(screenSize.height-frameSize.height)/2); //令主界面顯示 frame.setVisible(true); } } (3)用JDBC連接java與數(shù)據(jù)庫(kù)的代碼 package gzgl; import java.sql.Connection; import java.sql.DriverManager; public class DBConnect { //靜態(tài)方法提高數(shù)據(jù)庫(kù)的連接效率 public static Connection getConn() throws Exception { //加載JDBC驅(qū)動(dòng) Class.forName("com.microsoft.sqlserver.jdbc.SQLServerDriver"); //以系統(tǒng)默認(rèn)用戶身份,連接數(shù)據(jù)庫(kù)StudentManager return DriverManager.getConnection("jdbc:sqlserver://localhost:1433; DatabaseName=gzglxt","gzglxt","123456"); } } (4)系統(tǒng)主框架界面代碼 package gzgl; import java.awt.Dimension; import java.awt.Font; import java.awt.Rectangle; import java.awt.Toolkit; import java.awt.event.ActionEvent; import java.awt.event.ActionListener; import javax.swing.JFrame; import javax.swing.JLabel; import javax.swing.JMenu; import javax.swing.JMenuBar; import javax.swing.JMenuItem; import javax.swing.JOptionPane; import javax.swing.JPanel; import gzgl.AddEmployee; import gzgl.AddSalary; import gzgl.DeleteEmployee; import gzgl.EmployeeHelp; import gzgl.InquireOnGH; import gzgl.InquireOnName; import gzgl.ModifyEmployee; import gzgl.ModifySalary; import gzgl.SalaryInquire; public class MainFrame extends JFrame implements ActionListener{ //創(chuàng)建內(nèi)容面板 JPanel contentPane; //創(chuàng)建菜單欄組件的對(duì)象 JMenuBar jMenuBar1=new JMenuBar();//菜單條 JMenu jMenu0=new JMenu("系統(tǒng)");//菜單 JMenuItem jMenuItem0=new JMenuItem("退出");//子菜單 JMenu jMenu1=new JMenu("員工管理"); JMenuItem jMenuItem1=new JMenuItem("添加員工信息"); JMenuItem jMenuItem2=new JMenuItem("修改員工信息"); JMenuItem jMenuItem3=new JMenuItem("刪除員工信息"); JMenu jMenu2=new JMenu("工資管理"); JMenuItem jMenuItem4=new JMenuItem("工資查詢"); JMenuItem jMenuItem5=new JMenuItem("設(shè)定職務(wù)工資"); JMenuItem jMenuItem8=new JMenuItem("工資生成"); JMenuItem jMenuItem9=new JMenuItem("年終獎(jiǎng)查詢"); JMenu jMenu3=new JMenu("員工查詢"); JMenuItem jMenuItem6=new JMenuItem("員工信息查詢"); JMenuItem jMenuItem7=new JMenuItem("員工考勤查詢"); //創(chuàng)建標(biāo)簽,用于顯示信息 JLabel jLabel1=new JLabel(" 歡迎使用工資管理系統(tǒng)"); JLabel jLabel2=new JLabel(" 延安大學(xué)軟件12課程設(shè)計(jì)"); //創(chuàng)建構(gòu)造方法 public MainFrame() { try{ //關(guān)閉框架窗口時(shí)的默認(rèn)事件方法 setDefaultCloseOperation(EXIT_ON_CLOSE); //調(diào)用初始化方法 jbInit(); } catch(Exception exception){ exception.printStackTrace(); } } //界面初始化方法 private void jbInit() throws Exception { //創(chuàng)建內(nèi)容面板 contentPane =(JPanel) getContentPane(); //設(shè)置內(nèi)容面板的布局為空 contentPane.setLayout(null); //主框架的大小 Dimension screenSize=Toolkit.getDefaultToolkit().getScreenSize(); setLocation((int) (screenSize.width-400)/2,(int)(screenSize.height-360)/2); setSize(new Dimension(400,500)); //主框架的標(biāo)題 setTitle("工資管理系統(tǒng)"); //添加事件監(jiān)聽器 jMenuItem0.addActionListener(this); jMenuItem1.addActionListener(this); jMenuItem2.addActionListener(this); jMenuItem3.addActionListener(this); jMenuItem4.addActionListener(this); jMenuItem5.addActionListener(this); jMenuItem6.addActionListener(this); jMenuItem7.addActionListener(this); jMenuItem8.addActionListener(this); jMenuItem9.addActionListener(this); //添加菜單條到主框架 setJMenuBar(jMenuBar1); //添加菜單到菜單條 jMenuBar1.add(jMenu0); jMenuBar1.add(jMenu1); jMenuBar1.add(jMenu2); jMenuBar1.add(jMenu3); //添加菜單項(xiàng)到菜單 jMenu0.add(jMenuItem0); jMenu1.add(jMenuItem1); jMenu1.add(jMenuItem2); jMenu1.add(jMenuItem3); jMenu2.add(jMenuItem4); jMenu2.add(jMenuItem5); jMenu2.add(jMenuItem8); jMenu2.add(jMenuItem9); jMenu3.add(jMenuItem6); jMenu3.add(jMenuItem7); //添加標(biāo)簽到主框架內(nèi)容面板 contentPane.add(jLabel1); contentPane.add(jLabel2); //設(shè)置標(biāo)簽組件的大小和字體 jLabel1.setFont(new java.awt.Font("黑體",Font.BOLD,20)); jLabel1.setBounds(new Rectangle(65,70,275,55)); jLabel2.setFont(new java.awt.Font("黑體",Font.BOLD,16)); jLabel2.setBounds(new Rectangle(90,150,200,35)); } //菜單項(xiàng)事件對(duì)應(yīng)的處理方法 public void actionPerformed(ActionEvent actionEvent) { //點(diǎn)擊“系統(tǒng)”菜單下的“退出”菜單項(xiàng) if(actionEvent.getSource()==jMenuItem0) { JOptionPane.showMessageDialog(null,"您已成功退出系統(tǒng)!","系統(tǒng)提示",JOptionPane.CANCEL_OPTION); System.exit(0); } //點(diǎn)擊“職工管理”菜單下的“添加職工”菜單項(xiàng) if(actionEvent.getSource()==jMenuItem1) { //創(chuàng)建“添加職工”面板對(duì)象 AddEmployee AddEmp=new AddEmployee(); //移除主框架上原有的內(nèi)容 this.remove(this.getContentPane()); //加載“添加職工”面板的對(duì)象到主框架 this.setContentPane(AddEmp); //令界面可見 this.setVisible(true); } //點(diǎn)擊“職工管理”菜單下的“修改職工”菜單項(xiàng) if(actionEvent.getSource()==jMenuItem2) { //創(chuàng)建“修改職工”面板對(duì)象 ModifyEmployee ModifyEmp=new ModifyEmployee(); this.remove(this.getContentPane()); //加載“修改職工”面板的對(duì)象到主框架 this.setContentPane(ModifyEmp); this.setVisible(true); } //點(diǎn)擊“職工管理”菜單下的“刪除職工”菜單項(xiàng) if(actionEvent.getSource()==jMenuItem3) { //創(chuàng)建“刪除職工”面板對(duì)象 DeleteEmployee DeleteEmp=new DeleteEmployee(); this.remove(this.getContentPane()); //加載“刪除職工”面板的對(duì)象到主框架 this.setContentPane(DeleteEmp); this.setVisible(true); } //點(diǎn)擊“工資管理”菜單下的“添加工資”菜單項(xiàng) if(actionEvent.getSource()==jMenuItem4) { //創(chuàng)建工資添加的面板對(duì)象 AddSalary AddSal=new AddSalary(); this.remove(this.getContentPane()); //加載工資添加面板的對(duì)象到主框架 this.setContentPane(AddSal); this.setVisible(true); } //點(diǎn)擊“工資管理”菜單下的“修改工資”菜單項(xiàng) if(actionEvent.getSource()==jMenuItem5) { //創(chuàng)建工資修改的面板對(duì)象 ModifySalary ModifySal=new ModifySalary(); this.remove(this.getContentPane()); //加載工資修改面板的對(duì)象到主框架 this.setContentPane(ModifySal); this.setVisible(true); } //點(diǎn)擊“工資管理”菜單下的“工資查詢”菜單項(xiàng) if(actionEvent.getSource()==jMenuItem8) { //創(chuàng)建工資修改的面板對(duì)象 SalaryInquire SalaryInq=new SalaryInquire(); this.remove(this.getContentPane()); //加載工資修改面板的對(duì)象到主框架 this.setContentPane(SalaryInq); this.setVisible(true); } //點(diǎn)擊“職工查詢”菜單下的“按工號(hào)查詢- 1.請(qǐng)仔細(xì)閱讀文檔,確保文檔完整性,對(duì)于不預(yù)覽、不比對(duì)內(nèi)容而直接下載帶來(lái)的問題本站不予受理。
- 2.下載的文檔,不會(huì)出現(xiàn)我們的網(wǎng)址水印。
- 3、該文檔所得收入(下載+內(nèi)容+預(yù)覽)歸上傳者、原創(chuàng)作者;如果您是本文檔原作者,請(qǐng)點(diǎn)此認(rèn)領(lǐng)!既往收益都?xì)w您。
下載文檔到電腦,查找使用更方便
9.9 積分
下載 |
- 配套講稿:
如PPT文件的首頁(yè)顯示word圖標(biāo),表示該P(yáng)PT已包含配套word講稿。雙擊word圖標(biāo)可打開word文檔。
- 特殊限制:
部分文檔作品中含有的國(guó)旗、國(guó)徽等圖片,僅作為作品整體效果示例展示,禁止商用。設(shè)計(jì)者僅對(duì)作品中獨(dú)創(chuàng)性部分享有著作權(quán)。
- 關(guān) 鍵 詞:
- 工資管理 系統(tǒng) 設(shè)計(jì) 報(bào)告
鏈接地址:http://m.jqnhouse.com/p-6521907.html