版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)
文檔簡介
-.z..--可修編-畢業(yè)設(shè)計基于JAVA平臺的工資管理系統(tǒng)******計算機工程系學(xué)生:**:******計算機工程系網(wǎng)絡(luò)工程系部:網(wǎng)絡(luò)工程***專業(yè):***指導(dǎo)教師:2014年6月誠信聲明本人重聲明:本論文及其研究工作是本人在指導(dǎo)教師的指導(dǎo)下獨立完成的,在完成論文時所利用的一切資料均已在參考文獻中列出。本人簽名:年月日畢業(yè)設(shè)計〔論文〕任務(wù)書設(shè)計〔論文〕題目:基于JAVA平臺的工資管理系統(tǒng)系部:計算機工程系專業(yè):網(wǎng)絡(luò)工程**:***學(xué)生:***指導(dǎo)教師〔含職稱〕:***〔講師〕1.課題意義及目標(biāo)學(xué)生通過本次畢業(yè)設(shè)計,綜合運用所學(xué)過的根底理論知識,深入了解軟件開發(fā)的流程及各個階段的工作容,為學(xué)生在畢業(yè)后從事軟件開發(fā)工作打好根底。本次設(shè)計以O(shè)racle數(shù)據(jù)庫為根底,利用JAVA程序設(shè)計進展開發(fā)。該系統(tǒng)要實用性強,方便錄入數(shù)據(jù),對用戶的錄入操作容錯性強;字典數(shù)據(jù)一次錄入,其它地方選單引用,數(shù)據(jù)的一致性好。2.主要任務(wù)系統(tǒng)為C/S模式,在JAVA平臺下利用ORACLE數(shù)據(jù)庫進展開發(fā)界面設(shè)計友好、美觀,操作簡單容易當(dāng)月工資和歷史工資的統(tǒng)計匯總及結(jié)果的導(dǎo)出編寫軟件的使用手冊3.主要參考資料[1]彥明.JAVA語言極其程序設(shè)計[M].:電子,1997:259-405.[2](美)吉瑞(DavidM.Geary)著建森等譯.JAVA2圖形設(shè)計卷Ⅱ[M].:市機械工業(yè),2000:227-949.[3]輝,山紅,王璐等著.JAVA程序設(shè)計教程[M].:中國水利水電,2008:240-260.[4]蒙祖強,龔濤等著.oracle10g數(shù)據(jù)庫java開發(fā)[M].:中國水利水電,2005:1-456.[5]AdriamBillingtom等著.OraclePL/SQL實踐[M].:人民郵電,2012:10-400.4.進度安排設(shè)計〔論文〕各階段名稱起止日期1需求分析(確定系統(tǒng)流程圖,數(shù)據(jù)流圖,數(shù)據(jù)字典,數(shù)據(jù)庫的設(shè)計)3月03日~3月14日2總體設(shè)計〔確定系統(tǒng)的總體構(gòu)造以及功能模塊〕3月15日~3月28日3詳細設(shè)計〔編寫程序?qū)崿F(xiàn)功能模塊〕3月29日~4月30日4系統(tǒng)測試〔利用白盒測試方法進展單元測試,利用黑盒測試方法進展集成測試〕5月01日~5月15日5論文〔完成畢業(yè)論文及辯論工作〕5月16日~6月10日審核人:年月基于JAVA平臺的工資管理系統(tǒng)摘要由于計算機技術(shù)的飛速開展,數(shù)據(jù)庫技術(shù)作為數(shù)據(jù)管理的一個有效的手段,在各行各業(yè)中得到越來越廣泛的應(yīng)用。工資管理系統(tǒng)在設(shè)計過程中嚴(yán)格遵循軟件工程學(xué)的方法,用分階段的生命周期方案嚴(yán)格管理。工資管理系統(tǒng)以O(shè)racle數(shù)據(jù)庫為根底,采用面向?qū)ο蟮腏AVA程序設(shè)計語言來設(shè)計生成的系統(tǒng)。Java是一種簡單的,跨平臺的,面向?qū)ο蟮?,強健的,平安的,多線程的語言。Oracle擁有可用性強,可擴展性強,數(shù)據(jù)平安性強,穩(wěn)定性強的優(yōu)點。本系統(tǒng)主要實現(xiàn)工資的發(fā)放與統(tǒng)計。用戶必須先登錄才能進入系統(tǒng)。用戶每月向系統(tǒng)中輸入工資組成數(shù)據(jù)后,系統(tǒng)依據(jù)這些數(shù)據(jù)采用事先約定好的工資算法自動計算工資。系統(tǒng)可以以部門為主條件查找選定年月的該部門所有職工的工資信息,同時可以導(dǎo)出工資結(jié)果。系統(tǒng)還可以以時間為主條件查找選定部門的工資匯總信息,同時可以導(dǎo)出匯總結(jié)果。關(guān)鍵詞:JAVA,工資管理系統(tǒng),Oracle數(shù)據(jù)庫Thesalarymanagement
systembasedonJavaplatformAbstractDuetotherapiddevelopmentofputertechnology,databasetechnologyismorewidelyusedinvariousindustriesasaneffectivemeansofdatamanagement.Salarymanagementsysteminthedesignprocessstrictlyfollowthemethodsofsoftwareengineering,programmanagementwithstrictlifecyclestages.SalarymanagementsystembasedonOracledatabases,object-orientedJAVAprogramminglanguagetodesignasystemgenerated.Javaisasimple,cross-platform,object-oriented,robust,secure,multi-threadedlanguage.Oraclehastheadvantagesofhighavailability,scalability,datasecurityandstrongstability.Thesystemismainlytoachievesalarypaymentandstatistics.Theusermustfirstlogintoaccesssystem.Thesystemagreedinadvancealgorithmautomaticallycalculatesalarybasedonsalarydataconsistingoftheuseofuserinput.Thesystemcandependondepartmenttofindsalaryinformationforallemployeesofthedepartmentinthemonthselected,whilethesalaryresultscanbee*ported.Thesystemalsocandependontimetopayrollsummaryinformationabouttheselecteddepartments,andcane*portthesummaryresults.Keyword:JAVA,SalaryManagementSystem,OracleDatabase-.z.-可修編-目錄1緒論11.1問題的提出11.2本課題研究的意義11.3研究方法及工具12可行性分析32.1技術(shù)可行性32.2經(jīng)濟可行性32.3操作可行性33需求分析43.1系統(tǒng)流程圖43.2數(shù)據(jù)流圖43.3數(shù)據(jù)字典53.4數(shù)據(jù)庫概念構(gòu)造74總體設(shè)計94.1功能模塊圖94.2功能模塊描述104.3數(shù)據(jù)庫邏輯構(gòu)造115詳細設(shè)計135.1登錄界面的設(shè)計135.2數(shù)據(jù)字典維護設(shè)計16部門名稱功能設(shè)計16職工功能設(shè)計185.3工資數(shù)據(jù)維護功能設(shè)計21根本數(shù)據(jù)功能設(shè)計21每月填報功能設(shè)計23當(dāng)月數(shù)據(jù)存檔功能設(shè)計235.4當(dāng)月報表功能設(shè)計25當(dāng)月部門報表功能設(shè)計25當(dāng)月匯總功能設(shè)計275.5歷史數(shù)據(jù)功能設(shè)計30部門月報功能設(shè)計30月匯總功能設(shè)計325.6幫助功能設(shè)計33使用手冊功能的設(shè)計33關(guān)于軟件功能的設(shè)計336系統(tǒng)實現(xiàn)346.1實體類包的實現(xiàn)346.2接口包的實現(xiàn)346.3接口實現(xiàn)類包的實現(xiàn)356.4界面設(shè)計包的實現(xiàn)366.5工具包的實現(xiàn)367系統(tǒng)測試387.1測試方案38測試方案38測試工程397.2測試記錄397.3測試結(jié)果分析428結(jié)論43參考文獻44致45-.z..-1緒論1.1問題的提出*醫(yī)院單位擁有領(lǐng)導(dǎo)和員工共200多人,主要有領(lǐng)導(dǎo)干部,正式員工,實習(xí)生,外聘人員,其他員工。以往使用計算機軟件e*cel可以管理工資,但是不能保證工資數(shù)據(jù)的正確性、平安性,操作的高效性、可靠性。隨著經(jīng)濟水平的開展,知識經(jīng)濟時代給企事業(yè)工資信息管理提出了更高的要求。高效的、準(zhǔn)確的工資管理,不僅能促進員工不斷提高自身素質(zhì)、提高工作積極性,從而提高員工工作質(zhì)量和效率。因此工資管理系統(tǒng)孕育而生。系統(tǒng)根據(jù)員工每個人的工作年限,崗位工資,醫(yī)療保險,住房補貼等來計算每個員工的工資,也便于查詢員工工資。1.2本課題研究的意義目前市面上流行的工資發(fā)放軟件不少。但是,對于小型事業(yè)單位的工資發(fā)放來說,不需要太多的功能。只需要一個操作方便,功能實用,滿足財務(wù)部門對工資數(shù)據(jù)管理的系統(tǒng)。我的目標(biāo)就是在于開發(fā)一個功能實用,用戶操作方便,簡單明了的工資發(fā)放統(tǒng)計軟件。1.3研究方法及工具本系統(tǒng)使用面向?qū)ο蟮腏ava語言來編寫,采用Oracle10g數(shù)據(jù)庫來存儲系統(tǒng)中的數(shù)據(jù)。使用Myeclipse10開發(fā)集成環(huán)境來實現(xiàn)系統(tǒng)。JavaJava是一種簡單的,跨平臺的,面向?qū)ο蟮?,分布式的,解釋的,強健的,平安的,?gòu)造的,中立的,可移植的,性能很優(yōu)異的,多線程的,動態(tài)的語言。當(dāng)1995年SUN推出Java語言之后,全世界的目光都被這個神奇的語言所吸引。Java不同于一般的編譯執(zhí)行計算機語言和解釋執(zhí)行計算機語言。它首先將源代碼編譯成二進制字節(jié)碼(bytecode),然后依賴各種不同平臺上的虛擬機來解釋執(zhí)行字節(jié)碼,從而實現(xiàn)了“一次編譯、到處執(zhí)行〞的跨平臺特性。不過,每次的編譯執(zhí)行需要消耗一定的時間,這同時也在一定程度上降低了Java程序的運行效率?!癑ava語言靠群體的力量而非公司的力量〞是Sun公司的口號之一,并獲得了廣闊軟件開發(fā)商的認同。這與微軟公司所倡導(dǎo)的注重精英和封閉式的模式完全不同。Sun公司對Java編程語言的解釋是:Java編程語言是個簡單、面向?qū)ο蟆⒎植际?、解釋性、強健、平安與系統(tǒng)無關(guān)、可移植、高性能、多線程和動態(tài)的語言。Java平臺是基于Java語言的平臺。這樣的平臺非常流行,因此微軟公司推出了與之競爭的.NET平臺以及模仿Java的C*語言。OracleOracle數(shù)據(jù)庫系統(tǒng)是美國Oracle公司〔甲骨文〕提供的以分布式數(shù)據(jù)庫為核心的一組軟件產(chǎn)品,是目前最流行的客戶/效勞器(CLIENT/SERVER)或B/S體系構(gòu)造的數(shù)據(jù)庫之一。Oracle數(shù)據(jù)庫是目前世界上使用最為廣泛的數(shù)據(jù)庫管理系統(tǒng),作為一個通用的數(shù)據(jù)庫系統(tǒng),它具有完整的數(shù)據(jù)管理功能;作為一個關(guān)系數(shù)據(jù)庫,它是一個完備關(guān)系的產(chǎn)品;作為分布式數(shù)據(jù)庫它實現(xiàn)了分布式處理功能。它有可用性強,可擴展性強,數(shù)據(jù)平安性強,穩(wěn)定性強的優(yōu)點。MyeclipseMyEclipse企業(yè)級工作平臺〔MyEclipseEnterpriseWorkbench,簡稱MyEclipse〕是對EclipseIDE的擴展,利用它我們可以在數(shù)據(jù)庫和JavaEE的開發(fā)、發(fā)布以及應(yīng)用程序效勞器的整合方面極大的提高工作效率。它是功能豐富的JavaEE集成開發(fā)環(huán)境,包括了完備的編碼、調(diào)試、測試和發(fā)布功能。MyEclipse是一個十分優(yōu)秀的用于開發(fā)Java,J2EE的Eclipse插件集合,MyEclipse的功能非常強大,支持也十分廣泛,尤其是對各種開源產(chǎn)品的支持十分不錯。MyEclipse目前支持JavaServlet,AJA*,JSP,JSF,Struts,Spring,Hibernate,E3,JDBC數(shù)據(jù)庫工具等多項功能??梢哉fMyEclipse是幾乎囊括了目前所有主流開源產(chǎn)品的專屬eclipse開發(fā)工具。2可行性分析可行性研究的目的就是要用最小的代價在盡可能短的時間確定問題是否能夠解決。當(dāng)然不能靠主觀猜測而是要靠客觀分析。必須分析幾種主要的可能解法的利弊,從而判原定的系統(tǒng)目標(biāo)和規(guī)模是否現(xiàn)實,系統(tǒng)完成后所能帶來的效益是否大到值得去投資開發(fā)這個系統(tǒng)的程度。因此,可行性研究實質(zhì)上是要進展依次大壓縮簡化了的系統(tǒng)分析和設(shè)計的過程,也就是在較高層次以較抽象的方式進展的系統(tǒng)分析和設(shè)計的過程??尚行匝芯恐饕獜囊韵氯齻€方面來進展2.1技術(shù)可行性使用現(xiàn)有的技術(shù)能不能實現(xiàn)這個系統(tǒng)。由于本管理系統(tǒng)的對象單一,僅對本單位的工資進展管理。在計算機硬件和軟件快速開展的今天,計算機硬件和軟件已經(jīng)遠遠滿足本管理系統(tǒng)的要求。在程序開發(fā)方面,各種可視化開發(fā)集成環(huán)境的出現(xiàn),用戶用鼠標(biāo)就可以快速、簡捷地創(chuàng)立應(yīng)用程序,極提高了編程效率。JAVA程序設(shè)計跟Oracle數(shù)據(jù)庫在社會上的廣泛使用,技術(shù)根底也已經(jīng)非常雄厚,因而技術(shù)上的準(zhǔn)備應(yīng)該不成問題。2.2經(jīng)濟可行性這個系統(tǒng)的經(jīng)濟效益能不能超過它的開發(fā)本錢。工資管理系統(tǒng)是基于JAVA及Oracle根底上開發(fā)的小型應(yīng)用程序,不需要多少人力和物力就可以設(shè)計的。但本系統(tǒng)一旦投入使用,將大大減少工資管理人員的工作量,提高了工作效率,其經(jīng)濟效益是顯兒易見的。2.3操作可行性系統(tǒng)的操作方式對用戶能不能行得通。在進展需求分析時,就對用戶進展了調(diào)查,針對他們的情況,設(shè)計出適合用戶的人機界面,使操作方式簡單明了3需求分析為了開發(fā)出真正滿足用戶需求的軟件產(chǎn)品,首先必須知道用戶的需求。對軟件需求的深入理解是軟件開發(fā)工作獲得成功的前提條件,不管人們把設(shè)計和編碼工作做得如何出色,不能真正滿足用戶需求的程序只會令用戶失望,給開發(fā)者帶來煩惱。3.1系統(tǒng)流程圖系統(tǒng)流程圖是概括地描繪物理系統(tǒng)的傳統(tǒng)工具。它的根本思想是用圖形符號以黑盒子形式描繪組成系統(tǒng)的每個部件〔程序、文檔、數(shù)據(jù)庫、人工過程等〕。通過跟教師的交談,教師詳細講解了該單位的工資操作流程。表3.1流程圖符號說明報表、帳目處理數(shù)據(jù)流向存儲繪制出的系統(tǒng)流程圖如圖3.1人員信息人員信息工資賬目工資組成工資系統(tǒng)圖3.1系統(tǒng)流程圖人員信息跟工資組成信息輸入到工資系統(tǒng)中,系統(tǒng)會自動生成工資賬目。3.2數(shù)據(jù)流圖數(shù)據(jù)流圖〔DFD〕是一種圖形化技術(shù),它描述信息流和數(shù)據(jù)從輸入移動到輸出的過程中所經(jīng)受的變換。設(shè)計數(shù)據(jù)流圖時只需考慮系統(tǒng)必須完成的根本邏輯功能,完全不需要考慮怎樣具體地實現(xiàn)這些功能。表3.2數(shù)據(jù)流圖根本符號含義數(shù)據(jù)的源點/終點變換數(shù)據(jù)的處理數(shù)據(jù)存儲數(shù)據(jù)流根據(jù)系統(tǒng)流程圖,繪制出的數(shù)據(jù)流圖如圖3.2D1工資根本數(shù)據(jù) 1D3工資信息表D3工資信息表生成工資 D2工資變動數(shù)據(jù) 2 工資查詢工資表統(tǒng)計報表圖3.2工資系統(tǒng)管理的數(shù)據(jù)流圖從數(shù)據(jù)流圖中可以看出:工資是由兩大局部組成的,即根本數(shù)據(jù)和變動數(shù)據(jù)。根本數(shù)據(jù)是工資組成中根本一成不變的,變動數(shù)據(jù)是工資組成中變化的數(shù)據(jù)。系統(tǒng)生成的工資保存在工資表中。對工資表進展有條件的查找可以得到相應(yīng)的結(jié)果,結(jié)果可以導(dǎo)出到e*cel中。3.3數(shù)據(jù)字典數(shù)據(jù)字典是關(guān)于數(shù)據(jù)的信息的集合,也就是對數(shù)據(jù)流圖中包含的所有元素的定義的集合。數(shù)據(jù)詞典的作用是給數(shù)據(jù)流圖上的每一個成分以定義和說明。除此之外,數(shù)據(jù)詞典還要對系統(tǒng)分析中其它需要說明的問題進展定義和說明。本文的數(shù)據(jù)字典描述的主要容有:數(shù)據(jù)元素、數(shù)據(jù)構(gòu)造、數(shù)據(jù)流、數(shù)據(jù)存儲、處理邏輯。在系統(tǒng)分析的過程中,產(chǎn)生了大量的數(shù)據(jù)詞典。限于篇幅,我采用表格式僅就這幾項條目各舉一例來說明。表3.3數(shù)據(jù)元素舉例數(shù)據(jù)元素系統(tǒng)名:工資管理系統(tǒng)條目名:員工編號P_ID別名:員工號存儲處:D1人員信息表D2工資模板表D3工資表數(shù)據(jù)元素:數(shù)據(jù)類型:長度:Char5簡要說明:員工編號是員工的識別符,每個員工都有唯一的編號。表3.4數(shù)據(jù)構(gòu)造舉例數(shù)據(jù)構(gòu)造系統(tǒng)名:工資管理系統(tǒng)條目名:工資模板T_Sal別名:salary構(gòu)造:員工編號年月崗位資效益資加班夜班獨子 房租月效資 保險技師補公積金醫(yī)務(wù)補護10%護齡有關(guān)數(shù)據(jù)存儲:D1工資模板表D2工資表有關(guān)數(shù)據(jù)流:簡要說明:每月生成工資的組成數(shù)據(jù)表3.5數(shù)據(jù)流舉例數(shù)據(jù)流系統(tǒng)名:工資管理系統(tǒng)條目名:部門列表別名:來源:部門表去處:打印報表數(shù)據(jù)流構(gòu)造:庫存數(shù)據(jù)={部門編號+部門名稱}簡要說明:對部門表中的已經(jīng)創(chuàng)立的信息進展輸出打印。表3.6數(shù)據(jù)存儲舉例數(shù)據(jù)存儲系統(tǒng)名:工資管理系統(tǒng)條目名:部門表T_bumen別名:存儲組織:單位每個部門的信息主關(guān)鍵字:部門編號記錄組成:項名:部門編號部門名稱長度:450簡要說明:單位所有的部門信息都存儲在這里3.4數(shù)據(jù)庫概念構(gòu)造數(shù)據(jù)庫就是為了實現(xiàn)一定的目的按*種規(guī)則組織起來的“數(shù)據(jù)〞的“集合〞。它由一個稱為數(shù)據(jù)庫管理系統(tǒng)的軟件進展管理。數(shù)據(jù)的存取方式獨立于使用它的應(yīng)用程序。數(shù)據(jù)庫的主要特征:數(shù)據(jù)共享,數(shù)據(jù)具有最小冗余度,數(shù)據(jù)的完整性,數(shù)據(jù)的平安性,數(shù)據(jù)的獨立性。數(shù)據(jù)庫構(gòu)造的設(shè)計是軟件開發(fā)的首要條件,設(shè)計較好、全面的數(shù)據(jù)庫構(gòu)造,對于軟件開發(fā)來說是成功的基石,數(shù)據(jù)庫構(gòu)造設(shè)計不全面,會嚴(yán)重影響軟件的開發(fā)利用率與進程。這一設(shè)計是在需求分析的根底上,設(shè)計出能夠滿足用戶需求的各種實體,以及它們之間的關(guān)系,為后面的邏輯構(gòu)造設(shè)計打下根底。本系統(tǒng)根據(jù)上面的設(shè)計規(guī)劃出的實體有:部門實體、員工實體、工資模板實體、工資表實體。實體的屬性參看下文邏輯構(gòu)造設(shè)計數(shù)據(jù)庫。各個實體間的關(guān)系如圖3.3部門職工部門職工工資模板工資表屬于擁有屬于圖3.3實體間的關(guān)系圖4總體設(shè)計總體設(shè)計是站在全局高度上,花較少本錢,從較抽象的層次上分析比照多種可能的系統(tǒng)實現(xiàn)方案和軟件構(gòu)造,從中選出最正確方案和最合理的軟件構(gòu)造,從而較低本錢開發(fā)出較高質(zhì)量的軟件系統(tǒng)。4.1功能模塊圖軟件所實現(xiàn)的功能強弱是衡量一個軟件的最根本的標(biāo)準(zhǔn)。經(jīng)過對系統(tǒng)的可行性分析、需求分析、數(shù)據(jù)分析后,結(jié)合調(diào)研的情況,確定了本系統(tǒng)的功能模塊如圖4.1所示。工資管理系統(tǒng)工資管理系統(tǒng)部門名稱職工根本數(shù)據(jù)每月填報當(dāng)月數(shù)據(jù)存檔當(dāng)月報表當(dāng)月匯總表使用手冊部門月報關(guān)于軟件月匯總表登錄數(shù)據(jù)字典維護工資數(shù)據(jù)維護歷史數(shù)據(jù)幫助當(dāng)月報表圖4.1系統(tǒng)功能模塊構(gòu)造圖4.2功能模塊描述登錄此功能的作用:確保有權(quán)限的用戶可以進入系統(tǒng),保證系統(tǒng)的平安性。數(shù)據(jù)字典維護部門名稱此功能模塊的作用:添加部門,刪除部門,查看部門列表。職工此功能模塊的作用:添加職工,刪除職工,查看職工列表。工資數(shù)據(jù)維護根本數(shù)據(jù)此功能模塊的作用:工資數(shù)據(jù)中根本不變局部的展示、修改、保存。每月填報此功能模塊的作用:工資數(shù)據(jù)中每月變動局部的展示、修改、保存。當(dāng)月數(shù)據(jù)存檔此功能模塊的作用:計算生成工資。當(dāng)月報表當(dāng)月報表此功能模塊的作用:查看當(dāng)月*一部門所有職工的工資信息,統(tǒng)計發(fā)給該部門每種人民幣的數(shù),對工資查詢結(jié)果的導(dǎo)出。當(dāng)月匯總表此功能模塊的作用:查看當(dāng)月選中部門的工資統(tǒng)計信息,對統(tǒng)計信息的導(dǎo)出。歷史數(shù)據(jù)部門月報此功能模塊的作用:查看*年*月*一部門所有職工的工資信息并對結(jié)果的導(dǎo)出。月匯總表此功能模塊的作用:查看*年*月選中部門的工資統(tǒng)計信息,對統(tǒng)計信息的導(dǎo)出。幫助使用手冊此功能模塊的作用:介紹系統(tǒng),幫助用戶熟悉系統(tǒng)的使用。關(guān)于軟件此功能模塊的作用:對系統(tǒng)開發(fā)的說明。4.3數(shù)據(jù)庫邏輯構(gòu)造根據(jù)需求分析可以得到以下關(guān)系模式:〔1〕部門信息表(部門編號,部門名稱)〔2〕職工信息表〔職工編號,職工名稱,職工所屬部門名稱〕?!?〕工資模板表〔職工編號、年月,崗位資,效益資,加班,夜班,計生補,月效資,技師補,醫(yī)務(wù)補,護10%,護齡,女工衛(wèi),房租,水電暖,公積金,保險〕?!?〕工資表〔職工編號、年月,崗位資,效益資,加班金額,夜班金額,計生補,月效資,技師補,醫(yī)務(wù)補,護10%,護齡,女工衛(wèi),房租,水電暖,公積金,保險,應(yīng)發(fā)工資,廠扣金額,實發(fā)工資〕。依據(jù)上面的關(guān)系模式,設(shè)計數(shù)據(jù)庫表如下:部門信息表〔bumen〕:該表來記錄單位部門根本信息表4.1部門信息表列名數(shù)據(jù)類型寬度備注idNumber2主鍵,部門編號nameVarchar250部門名稱員工信息表〔person〕:該表來記錄員工根本信息。表4.2員工信息表列名數(shù)據(jù)類型寬度備注p_idChar5主鍵,員工編號nameVarchar24職工bm_nameVarchar250所屬部門名稱,參照工資模板表〔salary〕:該表用來記錄工資各項信息表4.3工資模板表列名數(shù)據(jù)類型寬度備注p_idChar5主鍵,員工編號,參照person.p_idyearmonthChar7年月J1Number〔8,1〕崗位資J2Number〔8,1〕計生補J3Number〔8,1〕月效資J4Number〔8,1〕技師補J5Number〔8,1〕醫(yī)務(wù)補J6Number〔8,1〕護10%J7Number〔8,1〕教護齡J8Number〔8,1〕女工衛(wèi)J9Number〔8,1〕公積金B(yǎng)1Number〔4〕加班時間B2Number〔4〕夜班時間B3Number〔8,1〕水電暖B4Number〔8,1〕房租工資表〔history〕:該表用來記錄每個月計算出來的工資信息表4.4工資表信息列名數(shù)據(jù)類型寬度備注p_idChar5主鍵,員工編號,參照person.p_idyearmonthChar4主鍵,年月J1Number〔8,1〕崗位資J2Number〔8,1〕計生補J3Number〔8,1〕月效資J4Number〔8,1〕技師補J5Number〔8,1〕醫(yī)務(wù)補J6Number〔8,1〕護10%J7Number〔8,1〕教護齡J8Number〔8,1〕女工衛(wèi)J9Number〔8,1〕公積金B(yǎng)1Number〔8,1〕加班金額B2Number〔8,1〕夜班金額B3Number〔8,1〕水電暖B4Number〔8,1〕房租orisalaryNumber〔8,1〕應(yīng)發(fā)工資subsalaryNumber〔8,1〕扣除工資finalsalaryNumber〔8,1〕實發(fā)工資5詳細設(shè)計應(yīng)用程序是解決*個具體的管理或數(shù)據(jù)處理的任務(wù)而編制的一系列命令的有序集合。在本系統(tǒng)的后臺數(shù)據(jù)庫已經(jīng)設(shè)計完成后,現(xiàn)在就可以對總體設(shè)計的功能模塊通過編碼設(shè)計成一個應(yīng)用程序,最終來完成對數(shù)據(jù)庫中數(shù)據(jù)的操作,給用戶反應(yīng)簡單明了的數(shù)據(jù)格式。應(yīng)用程序1應(yīng)用程序1應(yīng)用程序2應(yīng)用程序3DBMS數(shù)據(jù)集合1數(shù)據(jù)集合2圖5.1應(yīng)用程序操作數(shù)據(jù)庫圖5.1登錄界面的設(shè)計登錄功能是為了保證系統(tǒng)的平安性。啟動系統(tǒng)后首先進入登錄界面。登錄界面設(shè)計如圖5.2所示,主界面設(shè)計如圖5.3所示圖5.2登錄界面設(shè)計圖5.3主界面設(shè)計登錄按鈕功能設(shè)計給登錄按鈕添加MouseListener監(jiān)聽,重寫mouseClicked方法。mouseClicked方法的流程圖如圖5.4所示。開場開場完畢進入主界面讀取user.t*t文件內(nèi)容是否為空?給出結(jié)果提示填寫賬號密碼與文件內(nèi)容一致?保存填寫的賬號密碼為空為空不空不空不一致不一致一致一致圖5.4登錄按鈕功能設(shè)計流程圖從流程圖中可以看出,點擊登錄按鈕后,首先讀取user.t*t文本中保存的賬號跟密碼,如果文本中的容為空則說明沒有記錄的賬號跟密碼,則進展保存本次填寫的賬號跟密碼后進入系統(tǒng)的主界面;如果文本中的容不為空,則將填寫的賬號跟密碼與文本中的容進展比擬,如果二者都對應(yīng)一致則進入系統(tǒng)的主界面,否則給出相應(yīng)的錯誤提示。重置按鈕功能設(shè)計給重置按鈕添加MouseListener監(jiān)聽,重寫mouseClicked方法。mouseClicked方法的流程圖如圖5.5所示。開場開場完畢去除填寫內(nèi)容,賬號輸入框獲得輸入焦點圖5.5重置按鈕功能設(shè)計流程圖從流程圖中可以看出,點擊重置按鈕后,首先清空填寫的賬號跟密碼信息,然后賬號輸入框獲得焦點,以便再次輸入信息。取消按鈕功能設(shè)計給取消按鈕添加MouseListener監(jiān)聽,重寫mouseClicked方法。mouseClicked方法的流程圖如圖5.6所示。開場開場完畢退出系統(tǒng)圖5.6取消按鈕功能設(shè)計流程圖從流程圖中可以看出,點擊取消按鈕后將退出此系統(tǒng)。5.2數(shù)據(jù)字典維護設(shè)計數(shù)據(jù)字典維護功能分兩局部來實現(xiàn),分別是部門名稱管理和職工管理。5.2.1部門名稱功能設(shè)計部門名稱管理是用來對單位所有部門的簡單信息進展管理維護。用戶可以在主界面點擊數(shù)據(jù)字典維護下的菜單項部門名稱進入部門名稱管理界面。圖5.7部門名稱界面設(shè)計刷新按鈕功能設(shè)計給刷新按鈕添加MouseListener監(jiān)聽,重寫mouseClicked方法。mouseClicked方法的流程圖如圖5.8所示。開場開場完畢查找所有的部門信息構(gòu)建表格數(shù)據(jù)重新設(shè)置表格模式圖5.8刷新按鈕設(shè)計流程圖從流程圖中可以看出,點擊刷新按鈕后,首先查找數(shù)據(jù)庫中所有的部門信息,然后對結(jié)果信息進展封裝成表格要求的數(shù)據(jù)格式,最后將信息加載到表格中。添加按鈕功能設(shè)計給添加按鈕添加MouseListener監(jiān)聽,重寫mouseClicked方法。mouseClicked方法的流程圖如圖5.9所示。開場開場完畢獲取輸入框中的部門名稱添加部門添加結(jié)果的提示圖5.9添加按鈕設(shè)計流程圖從流程圖中可以看出,點擊添加按鈕后,首先獲取輸入的部門名稱,然后進展保存輸入信息,最后根據(jù)保存返回的信息給出不同的保存結(jié)果提示。刪除按鈕功能設(shè)計給刪除按鈕添加MouseListener監(jiān)聽,重寫mouseClicked方法。mouseClicked方法的流程圖如圖5.10所示。開場開場完畢獲取輸入框中的部門名稱刪除部門刪除結(jié)果的提示圖5.10刪除按鈕設(shè)計流程圖從流程圖中可以看出,點擊刪除按鈕后,首先獲取輸入的部門名稱,然后刪除信息對應(yīng)的部門,最后根據(jù)刪除返回的信息給出不同的刪除結(jié)果提示。職工功能設(shè)計職工管理功能是用來對單位員工的信息進展管理。用戶可以在主界面點擊數(shù)據(jù)字典維護下的菜單項職工進入職工管理界面。圖5.11職工界面設(shè)計部門下拉選擇按鈕功能設(shè)計給部門下拉選擇按鈕添加MouseListener監(jiān)聽,重寫mouseClicked方法。mouseClicked方法的流程圖如圖5.12所示。開場開場完畢獲取選擇的部門名稱,查找該部門內(nèi)所有職工信息構(gòu)建表格數(shù)據(jù)重新設(shè)置表格模式圖5.12部門下拉選擇按鈕的設(shè)計流程圖從流程圖中可以看出,選擇部門名稱后,首先查找數(shù)據(jù)庫中該部門所有職工的信息,然后對結(jié)果信息封裝成表格需要的數(shù)據(jù)格式,最后將信息加載到表格中。刷新按鈕功能設(shè)計給刷新按鈕添加MouseListener監(jiān)聽,重寫mouseClicked方法。mouseClicked方法的流程圖如圖5.13所示。開場開場完畢查找所有的職工信息構(gòu)建表格數(shù)據(jù)重新設(shè)置表格模式圖5.13刷新按鈕設(shè)計流程圖從流程圖中可以看出,點擊刷新按鈕后,首先查找數(shù)據(jù)庫中所有的部門信息,然后對結(jié)果信息進展封裝成表格要求的數(shù)據(jù)格式,最后將信息加載到表格中。添加按鈕功能設(shè)計給添加按鈕添加MouseListener監(jiān)聽,重寫mouseClicked方法。mouseClicked方法的流程圖如圖5.14所示。開場開場完畢獲取輸入的職工**和選擇的部門名稱添加職工添加結(jié)果的提示圖5.14添加按鈕設(shè)計流程圖從流程圖中可以看出,點擊添加按鈕后,首先獲取輸入的職工和選擇的部門名稱,然后進展保存輸入信息,最后根據(jù)保存返回的信息給出不同的保存結(jié)果提示。刪除按鈕功能設(shè)計給刪除按鈕添加MouseListener監(jiān)聽,重寫mouseClicked方法。mouseClicked方開場完畢開場完畢獲取輸入的職工**和選擇的部門名稱刪除職工刪除結(jié)果的提示圖5.15刪除按鈕設(shè)計流程圖從流程圖中可以看出,點擊刪除按鈕后,首先獲取輸入的職工和選擇的部門名稱,然后刪除信息對應(yīng)的職工,最后根據(jù)刪除返回的信息給出不同的刪除結(jié)果提示。5.3工資數(shù)據(jù)維護功能設(shè)計工資數(shù)據(jù)維護功能分三局部來實現(xiàn),分別是根本數(shù)據(jù)管理,每月填報管理,當(dāng)月數(shù)據(jù)存檔管理。5.3.1根本數(shù)據(jù)功能設(shè)計根本數(shù)據(jù)管理功能是用來保存用戶輸入的工資中根本不變的數(shù)據(jù)。用戶可以在主界面點擊工資數(shù)據(jù)維護下的菜單項根本數(shù)據(jù)進入根本數(shù)據(jù)管理界面。圖5.16根本數(shù)據(jù)界面設(shè)計部門下拉選擇按鈕功能設(shè)計給部門下拉選擇按鈕添加MouseListener監(jiān)聽,重寫mouseClicked方法。mouseClicked方法的流程圖如圖5.17所示。開場開場完畢查找選定部門職工的根本數(shù)據(jù)信息構(gòu)建表格數(shù)據(jù)重新設(shè)置表格模式圖5.17部門下拉選擇按鈕設(shè)計流程圖從流程圖中可以看出,選擇部門后,首先查找數(shù)據(jù)庫中該部門所有職工的根本數(shù)據(jù)信息,然后對結(jié)果信息封裝成表格需要的數(shù)據(jù)格式,最后將信息顯示在表格中。保存按鈕功能設(shè)計給保存按鈕添加MouseListener監(jiān)聽,重寫mouseClicked方法。mouseClicked方法的流程圖如圖5.18所示。開場開場完畢構(gòu)建保存數(shù)據(jù)對象保存數(shù)據(jù)檢測輸入數(shù)據(jù)合法性保存結(jié)果提示輸入位置不合法提示不合法不合法合法合法圖5.18保存按鈕設(shè)計流程圖從流程圖中可以看出,點擊保存按鈕后,首先檢查輸入數(shù)據(jù)的合法性,如果不合法則給出不合法數(shù)據(jù)的位置提示框,如果合法則進展保存數(shù)據(jù),根據(jù)保存返回的信息給出相應(yīng)的保存結(jié)果信息。5.3.2每月填報功能設(shè)計每月填報管理功能是用來保存用戶輸入的工資中變化的數(shù)據(jù)。用戶可以在主界面點擊工資數(shù)據(jù)維護下的菜單項每月填報進入每月填報管理界面。圖5.19每月填報界面設(shè)計此功能跟根本數(shù)據(jù)功能類似,請參照根本數(shù)據(jù)功能的實現(xiàn)。5.3.3當(dāng)月數(shù)據(jù)存檔功能設(shè)計當(dāng)月數(shù)據(jù)存檔管理功能是用來根據(jù)用戶輸入的工資組成數(shù)據(jù),依照規(guī)定的計算方法來計算工資。用戶可以在主界面點擊工資數(shù)據(jù)維護下的菜單項當(dāng)月數(shù)據(jù)存檔進入當(dāng)月數(shù)據(jù)存檔管理界面。圖5.20當(dāng)月數(shù)據(jù)存檔對話框界面設(shè)計存檔按鈕功能設(shè)計給存檔按鈕添加MouseListener監(jiān)聽,重寫mouseClicked方法。mouseClicked方法的流程圖如圖5.21所示。開場開場完畢計算工資計算結(jié)果提示圖5.21存檔按鈕設(shè)計流程圖從流程圖中可以看出,點擊存檔按鈕后進展工資的計算,根據(jù)計算返回的結(jié)果給出相應(yīng)的提示信息。取消按鈕功能設(shè)計給取消按鈕添加MouseListener監(jiān)聽,重寫mouseClicked方法。mouseClicked方法的流程圖如圖5.22所示。開場開場完畢釋放當(dāng)前對話框圖5.22取消按鈕設(shè)計流程圖從流程圖中可以看出,點擊取消按鈕則需要釋放當(dāng)前的對話框。5.4當(dāng)月報表功能設(shè)計當(dāng)月報表功能分兩局部來實現(xiàn),分別是當(dāng)月部門報表管理和當(dāng)月匯總表管理。5.4.1當(dāng)月部門報表功能設(shè)計當(dāng)月部門報表管理功能是用來查找一個部門所有職工工資的信息,并可以根據(jù)選擇導(dǎo)出工資表或者工資條的樣式。該功能模塊還能統(tǒng)計發(fā)個*個部門每種人民幣的總數(shù)。用戶可以在主界面點擊當(dāng)月報表的菜單項當(dāng)月報表進入當(dāng)月報表管理界面。圖5.23當(dāng)月報表界面設(shè)計刷新按鈕功能設(shè)計給刷新按鈕添加MouseListener監(jiān)聽,重寫mouseClicked方法。mouseClicked方法的流程圖如圖5.24所示。開場開場完畢獲取選定的部門名稱和顯示方式查找選定部門所有職工在當(dāng)月的工資信息以顯示方式構(gòu)建表格數(shù)據(jù),同時計算*數(shù)重新設(shè)置表格模式重新設(shè)置*數(shù)統(tǒng)計結(jié)果圖5.24刷新按鈕設(shè)計流程圖從流程圖中可以看出,點擊刷新按鈕后,獲取選定的部門名稱后查找該部門所有職工工資信息,根據(jù)顯示方式將工資信息封裝成表格數(shù)據(jù)同時計算每種人民幣的數(shù),最后將結(jié)果更新到表格中和標(biāo)簽中。導(dǎo)出按鈕功能設(shè)計給導(dǎo)出按鈕添加MouseListener監(jiān)聽,重寫mouseClicked方法。mouseClicked方法的流程圖如圖5.25所示。開場開場獲取表格中的數(shù)據(jù)完畢構(gòu)建導(dǎo)出文件的文件名,表格標(biāo)題,表格表頭導(dǎo)出文件到桌面并翻開數(shù)據(jù)為空?導(dǎo)出數(shù)據(jù)為空提示為空為空不空不空圖5.25導(dǎo)出按鈕設(shè)計流程圖從流程圖中可以看出,點擊導(dǎo)出按鈕后,首先獲取表格中顯示的數(shù)據(jù),如果數(shù)據(jù)為空則給出沒有導(dǎo)出數(shù)據(jù)的提示,如果數(shù)據(jù)不為空則開場構(gòu)建導(dǎo)出文件的文件名、表格標(biāo)題及表格表頭,最后將數(shù)據(jù)寫入到文件中并翻開文件。5.4.2當(dāng)月匯總功能設(shè)計當(dāng)月匯總管理功能是查看用戶選擇的部門的工資匯總信息,并可以導(dǎo)出匯總信息。用戶可以在主界面點擊當(dāng)月匯總的菜單項當(dāng)月匯總表進入當(dāng)月匯總管理界面。圖5.26當(dāng)月匯總表界面設(shè)計刷新按鈕功能設(shè)計給刷新按鈕添加MouseListener監(jiān)聽,重寫mouseClicked方法。mouseClicked方法的流程圖如圖5.27所示。開場開場完畢獲取選定的部門名稱列表查找選定部門列表中部門的工資匯總信息構(gòu)建表格數(shù)據(jù)重新設(shè)置表格模式圖5.27刷新按鈕設(shè)計流程圖從流程圖中可以看出,點擊刷新按鈕,首先獲取選定的部門列表信息,然后查找部門列表中每個部門的工資匯總信息,將查找出的匯總信息封裝成表格數(shù)據(jù),最后將數(shù)據(jù)顯示在表格中。全選按鈕功能設(shè)計給全選按鈕添加ActionListener監(jiān)聽,重寫actionPerfered方法。actionPerfered方法的流程圖如圖5.28所示。開場開場完畢將所有部門復(fù)選框設(shè)置為選中狀態(tài)圖5.28全選按鈕設(shè)計流程圖從流程圖中可以看出,點擊全選按鈕后是要將所有的部門復(fù)選框狀態(tài)設(shè)置為選中。全不選按鈕功能設(shè)計給全不選按鈕添加ActionListener監(jiān)聽,重寫actionPerfered方法。actionPerfered開場完畢開場完畢將所有部門復(fù)選框設(shè)置為不選中狀態(tài)圖5.29全不選按鈕設(shè)計流程圖從流程圖中可以看出,點擊全不選按鈕后是要將所有的部門復(fù)選框狀態(tài)設(shè)置為不選中。反選按鈕功能設(shè)計給反選按鈕添加ActionListener監(jiān)聽,重寫actionPerfered方法。actionPerfered方法的流程圖如圖5.30所示。開場開場完畢將所有部門復(fù)選框的狀態(tài)取反圖5.30反選按鈕設(shè)計流程圖從流程圖中可以看出,點擊反選按鈕后是要將所有的部門復(fù)選框狀態(tài)設(shè)置為相反的狀態(tài)。導(dǎo)出按鈕功能設(shè)計導(dǎo)出按鈕的設(shè)計同5.4.1中導(dǎo)出按鈕的設(shè)計,請參照5.4.1中導(dǎo)出按鈕的設(shè)計。5.5歷史數(shù)據(jù)功能設(shè)計歷史數(shù)據(jù)功能分兩局部來實現(xiàn),分別是部門月報管理和月匯總表管理。5.5.1部門月報功能設(shè)計部門月報管理功能是查看過去*個月*個部門所有職工的工資信息,并可以根據(jù)導(dǎo)出匯總信息。用戶可以在主界面點擊歷史數(shù)據(jù)的菜單項部門月報進入部門月報管理界面。圖5.31部門月報界面設(shè)計刷新按鈕設(shè)計給刷新按鈕添加MouseListener監(jiān)聽,重寫mouseClicked方法。mouseClicked方法的流程圖如圖5.32所示。開場開場完畢獲取選定的部門名稱和年月查找選定部門所有職工在選定年月的工資構(gòu)建表格數(shù)據(jù)重新設(shè)置表格模式圖5.32刷新按鈕設(shè)計流程圖從流程圖中可以看出,點擊刷新按鈕后,獲取選定的部門名稱和年月后查找該部門所有職工在選定年月的工資信息,然后將工資信息封裝成表格數(shù)據(jù),進而將結(jié)果更新到表格中。導(dǎo)出按鈕設(shè)計導(dǎo)出按鈕的設(shè)計同5.4.1中導(dǎo)出按鈕的設(shè)計,請參照5.4.1中導(dǎo)出按鈕的設(shè)計。5.5.2月匯總功能設(shè)計月匯總管理功能是查看用戶選擇的部門在選定時間的工資匯總信息,并可以導(dǎo)出匯總信息。用戶可以在主界面點擊歷史數(shù)據(jù)菜單項月匯總表進入月匯總管理界面。圖5.33月匯總界面設(shè)計這個功能的設(shè)計與5.4.2當(dāng)月匯總功能設(shè)計一樣。當(dāng)月匯總功能設(shè)計傳遞的時間是當(dāng)時所處的年月,月匯總功能設(shè)計傳遞的時間是選定的年月。因此可參考5.4.1當(dāng)月匯總功能設(shè)計。5.6幫助功能設(shè)計幫助功能分兩局部來實現(xiàn),分別是使用手冊和關(guān)于軟件說明。5.6.1使用手冊功能的設(shè)計使用手冊功能主要是翻開事先編輯好使用手冊說明文檔,以方便用戶有疑問時隨時可以參閱。 此功能的設(shè)計就是翻開安裝目錄下的manual.doc文件。5.6.2關(guān)于軟件功能的設(shè)計關(guān)于軟件功能主要是查看本系統(tǒng)的版本,開發(fā)者信息等。圖5.34關(guān)于軟件界面設(shè)計此功能的設(shè)計就是彈出對話框來顯示信息。6系統(tǒng)實現(xiàn)根據(jù)任務(wù)書的要求,系統(tǒng)采用Java語言來編碼,采用Oracle數(shù)據(jù)庫來存儲數(shù)據(jù)。系統(tǒng)的包架構(gòu)如圖6.1所示。圖6.1工資管理系統(tǒng)包架構(gòu)圖中beans包下是系統(tǒng)中實體類文件,dao包下是操作數(shù)據(jù)庫的接口文件,impl包下是操作數(shù)據(jù)庫接口的實現(xiàn)類文件,image包下是系統(tǒng)中圖片文件,ui包下是系統(tǒng)的界面設(shè)計類文件,util包下是系統(tǒng)中常用的工具類文件,perties文件時數(shù)據(jù)的配置文件。6.1實體類包的實現(xiàn)實體類包中的類對象是對數(shù)據(jù)庫表的映射。包中有三個實體類:部門實體類BuMen、職工實體類ZhiGong、工資實體類Salary和工資結(jié)果模型SalaryResultModel。類對象中存放的都是類的屬性和屬性的get,set方法。6.2接口包的實現(xiàn)接口包中接口對象是對數(shù)據(jù)庫表中數(shù)據(jù)操作方法的封裝。包中有三個接口:部門接口BuMenDao、職工接口ZhiGongDao、工資接口SalaryDao。BuMenDao的實現(xiàn)BuMenDao接口中有5個方法:List<BuMen>getAllBumen:獲取所有的部門信息BuMengetBumenById(intid):根據(jù)部門編號查找部門信息BuMengetBumenByName(Stringname):根據(jù)部門名稱查找部門信息intdeleteBuMen(Stringname):除部門信息intaddBuMen(Stringname):添加部門信息ZhiGongDao的實現(xiàn)ZhiGongDao接口有4個方法:List<ZhiGong>getAllPerson():獲取所有的職工信息List<ZhiGong>getPersonByBm(Stringbm_mc):獲取部門所有職工信息intdeletePerson(Stringperson_name,Stringbm_name):刪除職工信息intaddPerson(Stringperson_name,Stringbm_name):添加職工信息SalaryDao的實現(xiàn)SalaryDao接口有7個方法:List<Salary>getsyBumen(Stringbm_name):獲取部門職工工資的根本數(shù)據(jù)List<Salary>getMytbByBumen(Stringbm_name):獲取部門職工工資的每月填報數(shù)據(jù) intsavesyBumen(List<Salary>list):保存根本數(shù)據(jù) intsaveMytbByBumen(List<Salary>list):保存每月填報數(shù)據(jù) intputerAndSaveSalary():計算保存工資 List<SalaryResultModel>findSalary(Stringyearmonth,String[]bumens,FindTypetype):查找工資 SalarygetSalarySum(Stringyearmonth,String[]bumens):查找工資匯總6.3接口實現(xiàn)類包的實現(xiàn)接口實現(xiàn)類包中的類文件是對接口包中接口對象的實現(xiàn)。接口實現(xiàn)類包中對應(yīng)的也有三個類對象:部門接口實現(xiàn)類BuMenDaoImpl、職工接口實現(xiàn)類ZhiGongDaoImpl、工資接口實現(xiàn)類SalaryDaoImpl。 這幾個實現(xiàn)類都是對數(shù)據(jù)庫數(shù)據(jù)的操作。它們中方法的實現(xiàn)原理是一樣的。首先在類的構(gòu)造方法中實例化數(shù)據(jù)庫連接對象Connection,然后根據(jù)需要編寫正確的SQL語句,用Connection對象創(chuàng)立PreparedStatement對象,用PreparedStatement對象填充SQL語句的參數(shù)后執(zhí)行,最后用ResultSet對象來承受SQL語句執(zhí)行的查找結(jié)果或者Boolean對象來承受SQL語句執(zhí)行的其他結(jié)果,對承受對象進展邏輯處理后返回需要的信息。6.4界面設(shè)計包的實現(xiàn) 界面的設(shè)計采用Myeclipse集成的開發(fā)工具進展拖拽式的布局。使用到的主要對象有窗口對象JFrame,對話框?qū)ο驤Dialog,面板對象JPanel,菜單欄對象JMenuBar,菜單對象JMenu,菜單項對象JMenuItem,單行輸入框?qū)ο驤Te*tField,多行輸入框?qū)ο驤Te*tArea,密碼輸入框?qū)ο驤PasswordField,標(biāo)簽對象JLabel,按鈕對象utton,表格對象JTabel,滾動面板對象JScollPane。6.5工具包的實現(xiàn)工具包下是系統(tǒng)經(jīng)常需要用到的類對象。包中有四個工具對象:MD5數(shù)據(jù)加密工具CheckByMD5、數(shù)據(jù)庫連接工具ConnDB、獲取當(dāng)前年月工具GetYearMonth、導(dǎo)出e*cel文件工具OutToE*cel。CheckByMD5的實現(xiàn)類中的getMD5(byte[]source)方法實現(xiàn)對字符數(shù)組的MD5加密。利用java提供的MessageDigest類對字符數(shù)組進展MD5處理后得到16字節(jié)的字符數(shù)組,然后將16字節(jié)的字符翻譯成用十六進制表示的字符串。ConnDB的實現(xiàn)類中的getConn()方法獲取數(shù)據(jù)庫連接對象。使用Properties對象來加載數(shù)據(jù)庫配置文件perties,根據(jù)配置文件的數(shù)據(jù)實例化Connection對象。GetYearMonth的實現(xiàn)類中的getYearmonth()方法獲取當(dāng)前時間的年月字符串。使用Date對象獲取當(dāng)前時間的年份和月份,最后對獲得年份和月份進展拼接返回年月字符串。OutToE*的實現(xiàn)類中的toE*cel(StringfileName,StringtbCap,Object[]tbHead,Object[][]tbData)方法實現(xiàn)導(dǎo)出e*cel文件。使用FileSystemView來獲取桌面路徑,然后根據(jù)fileName在桌面創(chuàng)立File對象。使用WritableWorkbook創(chuàng)立e*cel文件對象,使用WritableSheet創(chuàng)立e*cel文件工作簿對象,使用WritableCellFormat設(shè)置單元格格式,使用Label來填充單元格數(shù)據(jù)。7系統(tǒng)測試軟件質(zhì)量是由幾個方面來衡量的:一、在正確的時間用正確的的方法把一個工作做正確。二、符合一些應(yīng)用標(biāo)準(zhǔn)的要求,比方不同國家的用戶不同的操作習(xí)慣和要求,工程工程中的可維護性、可測試性等要求。三、質(zhì)量本身就是軟件到達了最開場所設(shè)定的要求,而代碼的優(yōu)美或精巧的技巧并不代表軟件的高質(zhì)量。四、質(zhì)量也代表著它符合客戶的需要。作為軟件測試這個行業(yè),最重要的一件事就是從客戶的需求出發(fā),從客戶的角度去看產(chǎn)品,客戶會怎么去使用這個產(chǎn)品,使用過程中會遇到什么樣的問題。軟件測試的目的,第一是確認軟件的質(zhì)量,其一方面是確認軟件做了你所期望的事情,另一方面是確認軟件以正確的方式來做了這個事件。第二是提供信息,比方提供應(yīng)開發(fā)人員或程序經(jīng)理的反應(yīng)信息,為風(fēng)險評估所準(zhǔn)備的信息。第三軟件測試不僅是在測試軟件產(chǎn)品的本身,而且還包括軟件開發(fā)的過程。如果一個軟件產(chǎn)品開發(fā)完成之后發(fā)現(xiàn)了很多問題,這說明此軟件開發(fā)過程很可能是有缺陷的。因此軟件測試的第三個目的是保證整個軟件開發(fā)過程是高質(zhì)量的。就測試而言,它的目標(biāo)是發(fā)現(xiàn)軟件中的錯誤,但是,發(fā)現(xiàn)錯誤并不是最終目的。軟件工程的根本目標(biāo)是開發(fā)出高質(zhì)量的完全符合用戶需要的軟件,因此,通過測試發(fā)現(xiàn)錯誤之后還必須診斷并改正錯誤,這就是調(diào)試的目的。調(diào)試是測試階段最困難的工作。7.1測試方案為了保證工資管理系統(tǒng)的各項功能可靠的實現(xiàn),特編寫了此測試方案,對所開發(fā)軟件的各功能模塊和事例系統(tǒng)進展測試。本測試方案供程序員在程序測試階段參考,在系統(tǒng)測試階段提供測試依據(jù)。本測試方案主要用于發(fā)現(xiàn)系統(tǒng)開發(fā)過程中出現(xiàn)和各種不妥判之處,發(fā)現(xiàn)軟件設(shè)計中的錯誤。7.1.1測試方案單元測試:采用白盒法和黑盒法相結(jié)合的方法,對于邏輯構(gòu)造復(fù)雜的模塊采用白盒法,對于以輸入、輸出為主的模塊采用黑盒法測試,以提高測試的效率。集成測試:自底向上的增式測試。7.1.2測試工程系統(tǒng)環(huán)境模塊測試本測試是為了檢測系統(tǒng)環(huán)境模塊,java環(huán)境的配置正確與否,數(shù)據(jù)連接是否正確。登錄測試本測試是為了檢測用戶,密碼的合法性,保證系統(tǒng)的平安。數(shù)據(jù)字典模塊測試本測試是為了檢測系統(tǒng)的部門信息,人員信息是否能夠正常維護。工資數(shù)據(jù)維護測試本測試是為了檢測工資數(shù)據(jù)的合法性,計算的正確性、可靠性。工資統(tǒng)計測試本測試是為了檢測工資的統(tǒng)計的準(zhǔn)確性。統(tǒng)計結(jié)果導(dǎo)出測試本測試是為了驗證統(tǒng)計結(jié)果信息導(dǎo)出的成功與否。7.2測試記錄針對上述的不同測試工程,對系統(tǒng)進展了測試。以下是測試記錄。表7.1系統(tǒng)環(huán)境測試記錄工程名稱工資管理系統(tǒng)軟件版本號1.0測試方法黑盒測試測試模塊系統(tǒng)環(huán)境搭建序號測試用例期望結(jié)果實測結(jié)果備注測試方案1在cmd控制臺輸入java-version輸出java的版本信息輸出java的版本信息Java環(huán)境配置正確2在配置文件寫好連接數(shù)據(jù)庫需要的參數(shù)輸出數(shù)據(jù)庫已連接輸出數(shù)據(jù)庫已連接數(shù)據(jù)庫連接正常表7.2登錄測試記錄工程名稱工資管理系統(tǒng)軟件版本號1.0測試方法黑盒測試測試模塊登錄序號測試用例期望結(jié)果實測結(jié)果備注測試方案1只輸入不同用戶名用戶名檢測結(jié)果對號/用戶名不正確用戶名檢測正常2只輸入不同密碼密碼檢測結(jié)果密碼不正確密碼檢測正常3用戶名或者密碼有一個不正確二者的檢測結(jié)果二者的檢測結(jié)果檢測正常4正確的用戶名和密碼進入主界面進入主界面登錄成功表7.3數(shù)據(jù)字典維護測試記錄工程名稱工資管理系統(tǒng)軟件版本號1.0測試方法白盒測試測試模塊數(shù)據(jù)字典的維護序號測試用例期望結(jié)果實測結(jié)果備注測試方案1部門名稱界面點擊刷新按鈕所有部門信息所有部門信息部門信息列表正確2部門名稱界面輸入框中輸入新部門名稱,點擊添加按鈕部門參加成功提示框彈出系統(tǒng)添加成功的提示框部門添加成功3部門名稱界面輸入框中輸入已有部門名稱,點擊添加按鈕給出重復(fù)添加的提示框彈出系統(tǒng)已有該部門信息的提示框部門添加驗證成功4部門名稱界面輸入框中輸入已有的部門名稱,點擊刪除按鈕給出刪除結(jié)果信息彈出該部門還有人員,請您更新人員信息的提示框部門刪除符合邏輯5部門名稱界面輸入框中輸入沒有的部門名稱,點擊刪除按鈕給出刪除錯誤信息彈出系統(tǒng)沒有該部門的提示框部門刪除符合邏輯6部門名稱界面輸入框中輸入剛添加的部門名稱,點擊刪除按鈕給出刪除結(jié)果信息彈出系統(tǒng)刪除成功的提示框部門刪除成功7職工界面選中一個部門輸入框中輸入新職工名稱,點擊添加按鈕職工參加成功提示框彈出系統(tǒng)添加成功的提示框職工添加成功續(xù)表7.3數(shù)據(jù)字典維護測試記錄序號測試用例期望結(jié)果實測結(jié)果備注測試方案8職工界面選中一個部門輸入框中輸入已有職工名稱,點擊添加按鈕給出重復(fù)添加的提示框彈出系統(tǒng)已有該部門信息的提示框職工添加驗證成功9職工界面選中一個部門輸入框中輸入已有職工名稱,點擊刪除按鈕給出刪除結(jié)果信息刪除成功職工刪除成功10職工界面選中一個部門輸入框中輸入新職工名稱,點擊刪除按鈕給出刪除錯誤信息彈出系統(tǒng)沒有該職工的提示框職工刪除符合邏輯表7.4工資數(shù)據(jù)維護測試記錄工程名稱工資管理系統(tǒng)軟件版本號1.0測試方法黑盒測試測試模塊工資數(shù)據(jù)維護序號測試用例期望結(jié)果實測結(jié)果備注測試方案1在根本數(shù)據(jù),每月填報界面中的表格中輸入中文,英文字母,標(biāo)點符號錯誤提示第3行第4列數(shù)據(jù)格式不正確提示數(shù)據(jù)校驗正常2只保存一局部人的數(shù)據(jù)數(shù)據(jù)不完整提示工資數(shù)據(jù)不完整提示工資校驗正常3保存全部人的數(shù)據(jù)保存成功彈出保存成功提示框計算成功表7.5工資統(tǒng)計信息的測試記錄工程名稱工資管理系統(tǒng)軟件版本號1.0測試方法黑盒測試測試模塊工資統(tǒng)計序號測試用例期望結(jié)果實測結(jié)果備注測試方案1當(dāng)月報表界面中部門下拉列表選擇一個部門,選擇工資表單項選擇按鈕,點擊刷新按鈕該部門工資以工資表顯示格式顯示該部門工
溫馨提示
- 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)容負責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 《婦科中醫(yī)護理查房》課件
- 走遍天下書為侶-課件(-精)
- 2024年全省交通綜合執(zhí)法職業(yè)技能競賽理論知識考試題庫(含答案)
- 單位人力資源管理制度范例大合集
- 單位管理制度展示合集職員管理十篇
- 英語定語從句總復(fù)習(xí)課件
- 繪畫中的透視現(xiàn)象課件-人美版
- 4萬噸年纖維綠色化處理技術(shù)產(chǎn)業(yè)化項目可行性研究報告模板立項審批
- 國家知識產(chǎn)權(quán)局專利分析項目及成果介紹
- 2025年病毒克項目可行性研究報告
- 癲癇持續(xù)狀態(tài)中國專家共識
- 污水廠清淤泥施工方案
- 2024年執(zhí)業(yè)藥師繼續(xù)教育專業(yè)答案
- 小學(xué)三年級下冊英語(牛津上海一起點)全冊語法知識點總結(jié)
- 2024秋期國家開放大學(xué)《建筑工程項目管理》一平臺在線形考(作業(yè)1至4)試題及答案
- 臨床5A護理模式
- 2025屆高考英語一輪復(fù)習(xí)讀后續(xù)寫說課課件
- 潔柔形象升級與整合內(nèi)容營銷方案
- 2025屆高考數(shù)學(xué)一輪復(fù)習(xí)建議 概率與統(tǒng)計專題講座
- 廣東省公務(wù)員考試筆試真題及答案
- 風(fēng)險分級管控和隱患排查治理體系培訓(xùn)考試題參考答案
評論
0/150
提交評論