工資管理系統(tǒng)設(shè)計報告.doc
《工資管理系統(tǒng)設(shè)計報告.doc》由會員分享,可在線閱讀,更多相關(guān)《工資管理系統(tǒng)設(shè)計報告.doc(62頁珍藏版)》請在裝配圖網(wǎng)上搜索。
延安大學(xué)課程設(shè)計報告科目:數(shù)據(jù)庫系統(tǒng)概論題目:工資管理系統(tǒng)學(xué)院:數(shù)學(xué)與計算機科學(xué)學(xué)院班級:軟件12成員:鄧茂記:王曉武: 宋彤彤: 彭文麗: 設(shè)計時間:2013年11月12日2013年12月20日目錄第一章 開發(fā)背景及意義1.1項目開發(fā)背景1.2項目開發(fā)的目標(biāo)及意義1.3系統(tǒng)開發(fā)方法第二章 可行性研究 2.1 目標(biāo)方案可行性 2.2 技術(shù)可行性 2.3 經(jīng)濟可行性 2.4 操作可行性2.5 系統(tǒng)流程圖第三章 系統(tǒng)分析 3.1 需求分析 3.2 數(shù)據(jù)流圖 3.3 數(shù)據(jù)字典第四章 數(shù)據(jù)庫設(shè)計 4.1 概念結(jié)構(gòu)設(shè)計 4.2 邏輯結(jié)構(gòu)設(shè)計 4.3 物理結(jié)構(gòu)設(shè)計 4.4 數(shù)據(jù)庫結(jié)構(gòu)的實現(xiàn)第五章 工資管理系統(tǒng)功能實現(xiàn) 5.1 功能界面設(shè)計 5.2實現(xiàn)工資管理系統(tǒng)的java代碼第六章 總結(jié)與體會 第一章 開發(fā)背景及意義1.1 項目開發(fā)背景 眾所周知當(dāng)今時代的世界經(jīng)濟正從工業(yè)經(jīng)濟向知識經(jīng)濟轉(zhuǎn)變,而知識經(jīng)濟的兩個重要特征就是信息化合全球化。要實現(xiàn)信息化和全球化就必須依靠完善的網(wǎng)絡(luò)和數(shù)據(jù)庫機制。處于現(xiàn)在這樣一個飛速發(fā)展的信息時代,在各行各業(yè)中都離不開信息處理,這正是計算機被廣泛應(yīng)用于管理信息系統(tǒng)的環(huán)境,使用計算機進(jìn)行信息控制不僅提高了工作效率,而且大大的提高了其安全性。尤其是對于復(fù)雜的信息管理,計算機能夠充分發(fā)揮其優(yōu)越性。計算機進(jìn)行信息管理與信息管理系統(tǒng)的開發(fā)密切相關(guān),系統(tǒng)的開發(fā)時系統(tǒng)管理的前提。因此,對于企業(yè)或是事業(yè)單位來說開發(fā)一套工資管理系統(tǒng)是很必要的。雖然企業(yè)事業(yè)單位的管理已經(jīng)進(jìn)入信息化管理,但對于不同的單位所需要的功能是不一樣的,這樣通用的軟件使用效率不高,還會造成人力,財力的浪費,這樣就不能滿足所有單位和部門的需求。所以必須做好客戶的需求分析工作,設(shè)計符合用戶要求的系統(tǒng)。1.2 系統(tǒng)開發(fā)的目標(biāo)及意義企業(yè)和事業(yè)單位工資管理系統(tǒng)唯有采用自動化,高效率,人性化的管理,才能滿足服務(wù)員工的需求。工資管理系統(tǒng)的主要目標(biāo)在于加強服務(wù)而不在于精簡人力。所以系統(tǒng)要能提供更自動化的服務(wù),期望以最快的速度將人事工資信息做最適當(dāng)?shù)倪\用。主要目標(biāo)有:以自動化、系統(tǒng)化、高效管理代替分散重復(fù)操作;提高單位效益和現(xiàn)代化信息管理水平;提高員工的自律性,促進(jìn)員工人才的成長和流動;減輕人事工資管理員的負(fù)擔(dān),節(jié)省人力物力的開支等。引進(jìn)以計算機信息管理技術(shù)和網(wǎng)絡(luò)通訊技術(shù),是加快人事工資管理信息服務(wù)進(jìn)程的重要手段。新的管理系統(tǒng)的使用會給人事管理體系發(fā)生變化。這促進(jìn)了工資數(shù)據(jù)管理方式和理念的轉(zhuǎn)變,提高了企業(yè)單位的現(xiàn)代化和信息化水平,為企業(yè)帶來更多的效益。1.3 系統(tǒng)開發(fā)方法1.開發(fā)工具:eclipse sql server 20052.開發(fā)語言:java語言 sql語言第二章 可行性研究2.1 目標(biāo)方案可行性 (1).計算機設(shè)備處理繁雜的工資增減問題,大幅度減少人力,物力,極大地提高企業(yè)的管理水平和管理效率。(2).管理水平和管理效率的提高能直接產(chǎn)生經(jīng)濟效益。(3).高效率的管理形成了良好的經(jīng)營氛圍,為企業(yè)打造優(yōu)良形象,提高企業(yè)競爭力。(4).本系統(tǒng)安全保密性可靠,實施獨立的局域網(wǎng)絡(luò),人員進(jìn)入系統(tǒng)需要登錄,需輸入賬戶和密碼。(5).本系統(tǒng)的管理,可以根據(jù)市場需要進(jìn)行調(diào)整,實用性強。2.2 技術(shù)可行性(1).工作人員一般都要求掌握計算機技術(shù),會使用各種管理軟件。(2).員工及工作人員需要熟悉系統(tǒng)的功能和使用方法使系統(tǒng)能夠順利運行。2.3 經(jīng)濟可行性(1).企業(yè)有能力承擔(dān)系統(tǒng)開發(fā)費用。(2).新系統(tǒng)將為企業(yè)帶來經(jīng)濟效益。管理系統(tǒng)是一個信息化,智能化和先進(jìn)理念的集合體,其主要表現(xiàn)就是減少了企業(yè)管理費用和人力開發(fā)。2.4 操作可行性 該系統(tǒng)是大家熟悉的Windows操作系統(tǒng),簡單明了,操作方便,不需要對數(shù)據(jù)庫進(jìn)行深入了解,對于那些有一般的計算機知識的人員都可以輕松使用。2.5 系統(tǒng)流程圖員工出勤員工加班員工錄入加班信息出勤信息基本信息基本工資津貼 獎金人事管理信息工資核算工資管理工資報表第三章 系統(tǒng)分析 工資管理系統(tǒng)是一個企業(yè)單位不可或缺的部分,它能為用戶提供充足的信息和快捷的查詢手段,可以高效能、大容量的收集、處理、存儲工資管理信息,能夠為企業(yè)管理人員及時掌握整個工資管理系統(tǒng)的全面情況,提供系統(tǒng)的準(zhǔn)確的工資管理信息,可以促進(jìn)工資管理工作的規(guī)范化及各項管理制度與指標(biāo)體系的建立與健全,為企業(yè)提供各種工資管理信息,以滿足工資管理的特殊要求。主要任務(wù)是對員工信息和工資信息的輸入、查詢、修改、增加、刪除,迅速準(zhǔn)確地完成工資信息的統(tǒng)計計算和匯總,快速打印出報表。3.1 需求分析3.1.1 員工基本檔案信息管理功能需求: 凡屬于本部門的員工,都需要對其基本的檔案信息做好記錄存儲處理。以方便高級管理人員時時的了解或查閱其員工基本信息。對員工基本信息的操作包括添加信息、修改信息、查詢信息,同時在數(shù)據(jù)庫中要形成員工基本信息表。 3.1.2 工資管理功能需求: (1).工資計算: 在進(jìn)行工資計算之前,管理員首先應(yīng)該根據(jù)部門的實際業(yè)務(wù)情況確定好各個部門中所需要的工資項目及分別對工資項目進(jìn)行計算的方式,然后按照系統(tǒng)工資種類的設(shè)定,對每個員工分別依次實際工資項目構(gòu)成情況,如基本工資、工齡工資、獎金、津貼工資、加班工資等項目,錄入相應(yīng)的工資金額數(shù),再計算出總的實得工資的工資項目。在數(shù)據(jù)的錄入過程中系統(tǒng)會根據(jù)用戶誤輸、錯誤輸入智能提示引導(dǎo)用戶錄入數(shù)據(jù)的正確性。要形成的數(shù)據(jù)庫中的表為員工工資信息表。 (2).工資統(tǒng)計分析: 對員工工資數(shù)據(jù)計算完后,同時要將工資信息統(tǒng)計分析,如匯總統(tǒng)計,工資項目明細(xì)數(shù)據(jù)的匯總等,又分為對員工個人工資統(tǒng)計分析、部門工資統(tǒng)計分析、月份工資統(tǒng)計分析。且統(tǒng)計分析以報表形式顯示統(tǒng)計結(jié)果。通過報表的方式反饋到高級管理人員處,這時,在數(shù)據(jù)庫中要形成員工個人工資信息統(tǒng)計表、部門工資信息統(tǒng)計表、統(tǒng)計員工年終獎。 3.1.3 工資查詢功能描述: 在查詢這個模塊里,系統(tǒng)能支持用戶在客戶端按照各種不同的字段名稱進(jìn)行工資信息的查詢。同時,迅速的響應(yīng)用戶的查詢請求,不同級別的人系統(tǒng)會根據(jù)其權(quán)限級別的大小享有不同程度的功能。不同級別的人不能越權(quán)進(jìn)行操作。3.1.4 報表生成與打印: 在員工領(lǐng)取工資時,能為個人生成個人工資組成及相應(yīng)金額的工資條。同時形成部門月報表。3.1.5 工資管理系統(tǒng)是針對企事業(yè)單位的大量業(yè)務(wù)處理工作用計算機進(jìn)行全面現(xiàn)代化管理,主要包括:(a)員工每個工種基本工資的設(shè)定(b)加班津貼管理,根據(jù)加班時間和類型給予不同的加班津貼;(c)按照不同工種的基本工資情況、員工的考勤情況產(chǎn)生員工的每月的月工資;(d)員工年終獎金的生成,員工的年終獎金計算公式(員工本年度的工資總和津貼的總和)/12;(e)企業(yè)工資報表。能夠查詢單個員工的工資情況、每個部門的工資情況、按月的工資統(tǒng)計,并能夠打??;3.1.6 員工月工資是指各單位在一個月時期內(nèi)支付給本單位全體員工的全部勞動報酬。員工月工資=基本工資+工齡工資+津貼+加班工資+獎金3.1.7 系統(tǒng)功能模塊 該系統(tǒng)分為員工管理功能模塊,工資管理功能模塊,工資統(tǒng)計功能模塊,工資報表查詢功能模塊。工資管理系統(tǒng)系統(tǒng)員工查詢工資管理功能員工管理功能基本信息查詢考勤信息查詢 年終獎查詢 生成工資 工資查詢職務(wù)工資設(shè)定刪除員工信息修改員工信息添加員工信息 退出 對工資管理系統(tǒng)各個功能模塊的說明:(1).員工管理功能模塊:實現(xiàn)對員工信息的查詢、修改、添加、刪除。(2).工資管理功能模塊:實現(xiàn)對員工基本工資的設(shè)定與查詢,對員工加班、請假、曠工標(biāo)準(zhǔn)工資的設(shè)定,對員工總工資的計算。(3).工資統(tǒng)計功能模塊:實現(xiàn)對員工工資的統(tǒng)計功能。(4).工資報表查詢功能模塊:產(chǎn)生每個員工的月工資報表,提交到相應(yīng)部門。3.2 數(shù)據(jù)流圖根據(jù)系統(tǒng)功能的描述,得到工資管理系統(tǒng)的數(shù)據(jù)流圖如下:1.頂層數(shù)據(jù)流圖與0層數(shù)據(jù)流圖員工工資管理系統(tǒng)系統(tǒng)管理員 管理 查詢?yōu)g覽 圖3.1 頂層數(shù)據(jù)流圖員工基本信息人事管理系統(tǒng) 員工錄 員工號入 員工考勤信息主管部門員工信息 考勤工資計算員工津貼信息基本工資信息查詢基本工資信息部門打印工資報表員工基本信息查詢 設(shè)定考基本工資設(shè)定 勤 工津貼 資基本工資員工資匯總公工年終獎生成 工 式 信資息信總息 工產(chǎn)生工資報表資工資表輸 出圖3.2 0層數(shù)據(jù)流圖2.各層功能模塊數(shù)據(jù)流圖工種基本工資工種表工種基本工資工員工編號資表圖3.3 工種基本工資設(shè)定考勤表員工津貼工資津貼管理工員工編號資表津貼表圖3.4 員工津貼設(shè)定年度工資總和員工年終獎年終獎生成工員工編號公式資表津貼總和圖3.5 員工年終獎生成工種表工資錄入查詢部門及員工信息工員工編號資信息考勤表 津貼 工資數(shù)據(jù)圖3.6 工資核算考月工資查詢要求 工勤工 資表種 表表查詢處理要求加工員工信息查詢規(guī)則查詢結(jié)果查詢要求輸出到打印機 津貼員工信息表表打印圖3.7 信息查詢3.3 數(shù)據(jù)字典數(shù)據(jù)字典是系統(tǒng)中各類數(shù)據(jù)描述的集合簡要說明工資管理系統(tǒng)的數(shù)據(jù)字典。(1).名字:員工編號別名:員工號描述:員工號唯一地標(biāo)識數(shù)據(jù)庫中職工信息相關(guān)表中的一個特定員工的關(guān)鍵域定義:職工號=6char位置:員工信息表 考勤表 工資表(2).名字:職務(wù) 別名:員工職務(wù) 描述:職務(wù)能唯一地標(biāo)識數(shù)據(jù)庫中職務(wù)基本工資信息相關(guān)表中的一個特定職務(wù)的關(guān)鍵域 定義:職務(wù)=10char 位置:員工信息表 職務(wù)工資表(3).名字:加班類型 別名:加班類型 描述:加班類型能唯一地標(biāo)識數(shù)據(jù)庫中員工津貼信息相關(guān)表中的一個特定加班類型的關(guān)鍵域 定義:加班類型=10char 位置:員工津貼表 員工考勤表(4).名字:員工信息表 別名:員工基本信息 描述:用戶指定條件下的員工基本信息情況查詢結(jié)果的信息表 定義:員工信息表=員工號+員工姓名+性別+出生日期+職務(wù)+學(xué)歷+電話號碼+住址+身份證號 位置:輸出到員工工資表(5).名字:考勤信息表 別名:考勤信息 描述:用戶指定條件下的員工考勤信息查詢結(jié)果的信息表 定義:員工考勤信息表=考勤編號+員工號+員工姓名+加班天數(shù)+請假天數(shù)+曠工天數(shù)+考勤日期+加班類型 位置:輸出到員工工資表(6)名字:員工津貼表 別名:員工津貼信息表 描述:用戶指定條件下的員工加班類型給予不同加班津貼的信息表 定義:員工津貼表=加班類型+加班津貼 位置:輸出到員工工資表(7).名字:職務(wù)工資表 別名:職務(wù)基本工資信息表 描述:用戶指定條件下的職務(wù)基本工資信息查詢結(jié)果的信息表 定義:職務(wù)工資表=職務(wù)+基本工資+加班標(biāo)準(zhǔn)+請假標(biāo)準(zhǔn)+曠工標(biāo)準(zhǔn)+獎金 位置:輸出到員工工資表(8).名字:員工工資表 別名:工資信息 描述:記錄工資的組成部分以及員工的工資情況的信息 定義:工資信息報表=員工編號+員工姓名+基本工資+加班津貼+加班費+請假扣款+曠工扣款+獎金+實發(fā)工資位置:輸出到打印機 第四章 數(shù)據(jù)庫設(shè)計4.1 概念結(jié)構(gòu)設(shè)計1. 根據(jù)如上的信息可得到實體之間的關(guān)系E-R圖如下:出生日期學(xué)歷職務(wù)電話性別住址姓名身份證號編號員工 1領(lǐng)取 1基本工資獎金工資加班費津貼工資加班工資請假扣款曠工扣款 圖4.1 E-R圖錄入主管部門1天數(shù)加班標(biāo)準(zhǔn)屬于領(lǐng)導(dǎo)1 1n員工基本信息加班工資加班 1設(shè)定nn11請假扣款請假員工1 111基本工資1請假標(biāo)準(zhǔn)天數(shù)11獎金曠工扣款曠工 11工資計算11曠工標(biāo)準(zhǔn)天數(shù) 計算公式1年終獎工資11實體 圖4.2 總E-R圖 4.2 邏輯結(jié)構(gòu)設(shè)計(1)員工考勤表(Checkstat):考勤編號(CheckID),員工編號(Eno),員工姓名(Ename),加班天數(shù)(OvertimeDay),曠工天數(shù)(AbsentDay),請假天數(shù)(LeaveDay),考勤日期(CheckDate),加班類型(OvertimeType)(2)員工津貼表(Allowance):加班類型(OvertimeType),加班津貼(Osubsidy)(3)員工信息表(Emplogee):員工編號(Eno),員工姓名(Ename),性別(Esex),出生年月(Ebirth),職務(wù)(Eduty),學(xué)歷(Eedu),電話(Etel),身份證號(IDidentity),住址(Eaddr)(4)員工工種表(Wageconfig):職務(wù)(Eduty),基本工資(BaseWage),加班標(biāo)準(zhǔn)(OverDay),請假標(biāo)準(zhǔn)(LeaveDay),曠工標(biāo)準(zhǔn)(AbsentDay),獎金(Bonus)(5)員工工資表(Wage):員工編號(Eno),員工姓名(Ename),基本工資(BaseWage),加班津貼(Osubsidy0),加班費(OvertimeWage),請假扣款(LeaveDayWage),曠工扣款(AbsentDayWage),獎金(Bonus),實發(fā)工資(ActWage)依據(jù)上面的關(guān)系模式,設(shè)計數(shù)據(jù)表如下:(1).員工考勤表(Checkstat):記錄員工的到職情況列名數(shù)據(jù)類型長度屬性描述CheckIDint主鍵考勤編號Enochar6外鍵員工編號EnameChar15不允許空員工姓名OvertimeDaySmallint加班天數(shù)AbsentDaySmallint曠工天數(shù)LeaveDaySmallint請假天數(shù)CheckDateSmalldatetime考勤日期OvertimeTypeChar10加班類型(2).員工津貼表(Allowance):記錄員工的加班津貼信息列名數(shù)據(jù)類型長度屬性描述OvertimeTypeChar10主鍵加班類型OsubsidyMoney不為空加班津貼(3).職務(wù)工資表(wageconfig):記錄職務(wù)的基本工資列名數(shù)據(jù)類型長度屬性描述EdutyChar10主鍵職務(wù)BaseWageMoney不為空基本工資OvertimeWageMoney不為空加班標(biāo)準(zhǔn)LeaveWageMoney不為空請假標(biāo)準(zhǔn)AbsentWageMoney不為空曠工標(biāo)準(zhǔn)BonusMoney不為空獎金(4)員工信息表(Emplogee):記錄員工的基本信息列名數(shù)據(jù)類型長度屬性描述EnoChar6主鍵員工編號EnameChar15不為空員工姓名EsexChar10不為空性別EbirthDatetime出生日期EdutyChar10外鍵職務(wù)EeduChar10學(xué)歷Etelnvarchar50電話IDidentitynvarchar50身份證號EaddrChar10地址(5)員工工資表(Wage):記錄保存計算出來的工資列名數(shù)據(jù)類型長度屬性描述EnoChar6主鍵員工編號EnameChar15不為空員工姓名BaseWageMoney不為空基本工資OsubsidyMoney不為空加班津貼OvertimeDayWageMoney不為空加班費LeaveDayWageMoney不為空請假扣款A(yù)bsentDayWageMoney不為空曠工扣款BonusMoney不為空獎金ActWageMoney不為空實發(fā)工資4.3 物理結(jié)構(gòu)設(shè)計 1.員工基本信息數(shù)據(jù)表定義 其中,“Eno”是表的主鍵,唯一標(biāo)識。 “Eduty”是外鍵。 此表取名為“Emplogee”。2. 員工考勤信息數(shù)據(jù)表定義 其中,“CheckID”是主鍵,唯一標(biāo)識?!癘vertimeType”為外鍵。 此表取名為”Checkstat“。3. 員工津貼信息數(shù)據(jù)表定義 其中,”O(jiān)vertimeType“為主鍵,唯一標(biāo)識。此表取名為”Allowance“。4. 職務(wù)基本工資信息數(shù)據(jù)表定義 其中,”Eduty”為主鍵,唯一標(biāo)識。此表取名為“Wageconfig”5. 工資信息數(shù)據(jù)表定義 其中,“Eno”為主鍵,唯一標(biāo)識。此表取名為“Wage”4.4 數(shù)據(jù)庫結(jié)構(gòu)的實現(xiàn) 1. 數(shù)據(jù)庫表的創(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ù)庫關(guān)系圖: 第五章 工資管理系統(tǒng)功能實現(xiàn)5.1 功能界面設(shè)計5.1 .1系統(tǒng)登錄界面的設(shè)計輸入用戶名和密碼,點擊登錄可以進(jìn)入工資管理系統(tǒng)。5.1.2 系統(tǒng)主界面功能設(shè)計各個菜單按鈕下的子系統(tǒng)有:系統(tǒng)(退出)員工管理(添加員工基本信息,修改員工基本信息,刪除員工基本信息)工資管理(設(shè)定職務(wù)工資,工資報表生成,月工資查詢,年終獎查詢)員工查詢(員工基本信息查詢,員工考勤信息查詢)5.1.3 添加員工基本信息界面設(shè)計 輸入員工編號,姓名,性別,出生日期,職務(wù),學(xué)歷,電話,身份證號碼,住址能將員工的基本信息添加到數(shù)據(jù)庫表中。 5.1.4 刪除員工基本信息界面設(shè)計 輸入員工編號可以刪除數(shù)據(jù)庫表中員工的基本信息。5.1.5修改員工基本信息界面設(shè)計 輸入員工編號將員工信息顯示出來,然后進(jìn)行修改。5.1.6 設(shè)定職務(wù)基本工資界面設(shè)計 輸入職務(wù)名稱將職務(wù)各項標(biāo)準(zhǔn)顯示出來,然后進(jìn)行重新設(shè)定。5.1.7. 工資報表生成界面設(shè)計 通過員工編號查出員工姓名,職務(wù),加班天數(shù),請假天數(shù),曠工天數(shù)及加班類型,填入到對應(yīng)框中,然后通過職務(wù)名稱查出基本工資,加班標(biāo)準(zhǔn),請假標(biāo)準(zhǔn),曠工標(biāo)準(zhǔn)及獎金,填入對應(yīng)框中,通過加班類型查出加班津貼,最后計算出加班費,請假減薪,曠工減薪,實發(fā)工資。產(chǎn)生員工工資。5.1.8 員工月工資查詢界面設(shè)計 輸入員工編號可以查詢員工的月工資。5.1.9 員工年終獎查詢界面設(shè)計輸入員工編號可以查詢員工的年終獎。5.1.10 員工基本信息查詢界面設(shè)計輸入員工編號可以查詢員工基本信息。5.1.11 員工考勤及員工加班津貼查詢界面設(shè)計 輸入員工編號可以查詢員工考勤信息,輸入員工加班類型可以查詢員工加班津貼。 5.2實現(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();elseJOptionPane.showMessageDialog(null,用戶名或密碼不一致,請重新輸入!,系統(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.heightscreenSize.height)frameSize.height=screenSize.height;if(frameSize.widthscreenSize.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ù)庫的代碼package gzgl;import java.sql.Connection;import java.sql.DriverManager;public class DBConnect /靜態(tài)方法提高數(shù)據(jù)庫的連接效率public static Connection getConn() throws Exception/加載JDBC驅(qū)動Class.forName(com.microsoft.sqlserver.jdbc.SQLServerDriver);/以系統(tǒng)默認(rèn)用戶身份,連接數(shù)據(jù)庫StudentManagerreturn 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)建菜單欄組件的對象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(年終獎查詢);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è)計);/創(chuàng)建構(gòu)造方法public MainFrame()try/關(guān)閉框架窗口時的默認(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);/添加菜單項到菜單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);/菜單項事件對應(yīng)的處理方法public void actionPerformed(ActionEvent actionEvent)/點擊“系統(tǒng)”菜單下的“退出”菜單項if(actionEvent.getSource()=jMenuItem0)JOptionPane.showMessageDialog(null,您已成功退出系統(tǒng)!,系統(tǒng)提示,JOptionPane.CANCEL_OPTION);System.exit(0);/點擊“職工管理”菜單下的“添加職工”菜單項if(actionEvent.getSource()=jMenuItem1)/創(chuàng)建“添加職工”面板對象AddEmployee AddEmp=new AddEmployee();/移除主框架上原有的內(nèi)容this.remove(this.getContentPane();/加載“添加職工”面板的對象到主框架this.setContentPane(AddEmp);/令界面可見this.setVisible(true);/點擊“職工管理”菜單下的“修改職工”菜單項if(actionEvent.getSource()=jMenuItem2)/創(chuàng)建“修改職工”面板對象ModifyEmployee ModifyEmp=new ModifyEmployee();this.remove(this.getContentPane();/加載“修改職工”面板的對象到主框架this.setContentPane(ModifyEmp);this.setVisible(true);/點擊“職工管理”菜單下的“刪除職工”菜單項if(actionEvent.getSource()=jMenuItem3)/創(chuàng)建“刪除職工”面板對象DeleteEmployee DeleteEmp=new DeleteEmployee();this.remove(this.getContentPane();/加載“刪除職工”面板的對象到主框架this.setContentPane(DeleteEmp);this.setVisible(true);/點擊“工資管理”菜單下的“添加工資”菜單項if(actionEvent.getSource()=jMenuItem4)/創(chuàng)建工資添加的面板對象AddSalary AddSal=new AddSalary();this.remove(this.getContentPane();/加載工資添加面板的對象到主框架this.setContentPane(AddSal);this.setVisible(true);/點擊“工資管理”菜單下的“修改工資”菜單項if(actionEvent.getSource()=jMenuItem5)/創(chuàng)建工資修改的面板對象ModifySalary ModifySal=new ModifySalary();this.remove(this.getContentPane();/加載工資修改面板的對象到主框架this.setContentPane(ModifySal);this.setVisible(true);/點擊“工資管理”菜單下的“工資查詢”菜單項if(actionEvent.getSource()=jMenuItem8)/創(chuàng)建工資修改的面板對象SalaryInquire SalaryInq=new SalaryInquire();this.remove(this.getContentPane();/加載工資修改面板的對象到主框架this.setContentPane(SalaryInq);this.setVisible(true);/點擊“職工查詢”菜單下的“按工號查詢- 1.請仔細(xì)閱讀文檔,確保文檔完整性,對于不預(yù)覽、不比對內(nèi)容而直接下載帶來的問題本站不予受理。
- 2.下載的文檔,不會出現(xiàn)我們的網(wǎng)址水印。
- 3、該文檔所得收入(下載+內(nèi)容+預(yù)覽)歸上傳者、原創(chuàng)作者;如果您是本文檔原作者,請點此認(rèn)領(lǐng)!既往收益都?xì)w您。
下載文檔到電腦,查找使用更方便
9.9 積分
下載 |
- 配套講稿:
如PPT文件的首頁顯示word圖標(biāo),表示該PPT已包含配套word講稿。雙擊word圖標(biāo)可打開word文檔。
- 特殊限制:
部分文檔作品中含有的國旗、國徽等圖片,僅作為作品整體效果示例展示,禁止商用。設(shè)計者僅對作品中獨創(chuàng)性部分享有著作權(quán)。
- 關(guān) 鍵 詞:
- 工資管理 系統(tǒng) 設(shè)計 報告
鏈接地址:http://m.appdesigncorp.com/p-6521907.html