工資管理系統(tǒng)畢業(yè)論文_第1頁
工資管理系統(tǒng)畢業(yè)論文_第2頁
工資管理系統(tǒng)畢業(yè)論文_第3頁
已閱讀5頁,還剩45頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡(jiǎn)介

1、畢業(yè)設(shè)計(jì)基于JAVA平臺(tái)的工資管理系統(tǒng)系部:計(jì)算機(jī)工程系專業(yè):網(wǎng)絡(luò)工程指導(dǎo)教師:*學(xué)生姓名*學(xué)號(hào):*2014年6月誠信聲明本人鄭重聲明:本論文及其研究工作是本人在指導(dǎo)教師的指導(dǎo)下獨(dú)立完成的,在 完成論文時(shí)所利用的一切資料均已在參考文獻(xiàn)中列出。本人簽名:年 月 日畢業(yè)設(shè)計(jì)(論文)任務(wù)書設(shè)計(jì)(論文)題目: 基于JAVA平臺(tái)的工資管理系統(tǒng)系部:計(jì)算機(jī)工程系專業(yè):網(wǎng)絡(luò)工程學(xué)號(hào):*學(xué)生:*指導(dǎo)教師(含職稱):* (講師)1課題意義及目標(biāo)學(xué)生通過本次畢業(yè)設(shè)計(jì),綜合運(yùn)用所學(xué)過的基礎(chǔ)理論知識(shí),深入了解軟件開發(fā)的 流程及各個(gè)階段的工作內(nèi)容,為學(xué)生在畢業(yè)后從事軟件開發(fā)工作打好基礎(chǔ)。本次設(shè)計(jì) 以O(shè)racle數(shù)據(jù)庫為

2、基礎(chǔ),利用JAVA程序設(shè)計(jì)進(jìn)行開發(fā)。該系統(tǒng)要實(shí)用性強(qiáng),方便錄 入數(shù)據(jù),對(duì)用戶的錄入操作容錯(cuò)性強(qiáng);字典數(shù)據(jù)一次錄入,其它地方選單引用,數(shù)據(jù) 的一致性好。2 主要任務(wù)1. 系統(tǒng)為C/S模式,在JAVA平臺(tái)下利用ORACL數(shù)據(jù)庫進(jìn)行開發(fā)2. 界面設(shè)計(jì)友好、美觀,操作簡(jiǎn)單容易3. 當(dāng)月工資和歷史工資的統(tǒng)計(jì)匯總及結(jié)果的導(dǎo)出4. 編寫軟件的使用手冊(cè)3 主要參考資料1 劉彥明 JAVA語言極其程序設(shè)計(jì)M.西安:西安電子出版社,1997: 259-405.2 (美)吉瑞(David M.Geary)著 李建森等譯.JAVA2圖形設(shè)計(jì) 卷n M.北京: 北京市機(jī)械工業(yè)出版社,2000: 227-949.3 趙輝

3、,鄭山紅,王璐等著.JAVA程序設(shè)計(jì)教程M.北京:中國(guó)水利水電出 版社,2008: 240-260.4 蒙祖強(qiáng),龔濤等著.oracle 10g數(shù)據(jù)庫java開發(fā)M.北京:中國(guó)水利水電 出版社,2005: 1-456.5 Adriam Billingtom等著.Oracle PL/SQL實(shí)踐M.北京:人民郵電出版社, 2012:10-400.4 進(jìn)度安排設(shè)計(jì)(論文)各階段名稱起止日期1需求分析(確定系統(tǒng)流程圖,數(shù)據(jù)流圖,數(shù)據(jù)字 典,數(shù)據(jù)庫的設(shè)計(jì))3月03日3月14日2總體設(shè)計(jì)(確定系統(tǒng)的總體結(jié)構(gòu)以及功能模塊)3月15日3月28日3詳細(xì)設(shè)計(jì)(編寫程序?qū)崿F(xiàn)功能模塊)3月29日4月30日4系統(tǒng)測(cè)試(利

4、用白盒測(cè)試方法進(jìn)行單元測(cè)試, 利用黑盒測(cè)試方法進(jìn)行集成測(cè)試)5月01日5月15日5論文(完成畢業(yè)論文及答辯工作)5月16日6月10日基于JAVA平臺(tái)的工資管理系統(tǒng)摘要由于計(jì)算機(jī)技術(shù)的飛速發(fā)展 ,數(shù)據(jù)庫技術(shù)作為數(shù)據(jù)管理的一個(gè)有效的手段 , 在各 行各業(yè)中得到越來越廣泛的應(yīng)用。 工資管理系統(tǒng)在設(shè)計(jì)過程中嚴(yán)格遵循軟件工程學(xué)的 方法, 用分階段的生命周期計(jì)劃嚴(yán)格管理。工資管理系統(tǒng)以 Oracle 數(shù)據(jù)庫為基礎(chǔ),采 用面向?qū)ο蟮腏AVA程序設(shè)計(jì)語言來設(shè)計(jì)生成的系統(tǒng)。Java是一種簡(jiǎn)單的,跨平臺(tái)的, 面向?qū)ο蟮模训?,安全的,多線程的語言。 Oracle 擁有可用性強(qiáng),可擴(kuò)展性強(qiáng), 數(shù)據(jù)安全性強(qiáng),穩(wěn)定性

5、強(qiáng)的優(yōu)點(diǎn)。本系統(tǒng)主要實(shí)現(xiàn)工資的發(fā)放與統(tǒng)計(jì)。用戶必須先登 錄才能進(jìn)入系統(tǒng)。用戶每月向系統(tǒng)中輸入工資組成數(shù)據(jù)后,系統(tǒng)依據(jù)這些數(shù)據(jù)采用事 先約定好的工資算法自動(dòng)計(jì)算工資。 系統(tǒng)可以以部門為主條件查找選定年月的該部門 內(nèi)所有職工的工資信息,同時(shí)可以導(dǎo)出工資結(jié)果。系統(tǒng)還可以以時(shí)間為主條件查找選 定部門的工資匯總信息,同時(shí)可以導(dǎo)出匯總結(jié)果。關(guān)鍵詞:JAVA工資管理系統(tǒng),Oracle數(shù)據(jù)庫The salary management system based on Java platformAbstractDue to the rapid development of computer technology,

6、 database technology is more widely used in various industries as an effective means of data management. Salary management system in the design process strictly follow the methods of software engineering, program management with strict life cycle stages. Salary management system based on Oracle data

7、bases, object-oriented JVA programming language to design a system generated. Java is a simple, cross-platform, object-oriented, robust, secure, multi-threaded language. Oracle has the advantages of high availability, scalability, data security and strong stability. The system is mainly to achieve s

8、alary payment and statistics. The user must first login to access system. The systemagreed in advance algorithm automatically calculate salary basedon salary data consisting of the use of user input. The system can depend on department to find salary information for all employees of the department i

9、n the month selected, while the salary results can be exported. The system also can depend on time to payroll summary information about the selected departments, and can export the summary results.Keyword: JAVA, Salary Management System, Oracle Database目錄1緒論01.1問題的提出01.2本課題研究的意義 01.3研究方法及工具 02可行性分析2

10、2.1技術(shù)可行性22.2經(jīng)濟(jì)可行性22.3操作可行性23需求分析33.1系統(tǒng)流程圖33.2數(shù)據(jù)流圖33.3數(shù)據(jù)字典43.4數(shù)據(jù)庫概念結(jié)構(gòu)64總體設(shè)計(jì)84.1功能模塊圖84.2功能模塊描述94.3數(shù)據(jù)庫邏輯結(jié)構(gòu)105詳細(xì)設(shè)計(jì)125.1登錄界面的設(shè)計(jì)125.2數(shù)據(jù)字典維護(hù)設(shè)計(jì) 15部門名稱功能設(shè)計(jì) 15職工名單功能設(shè)計(jì) 175.3工資數(shù)據(jù)維護(hù)功能設(shè)計(jì) 20基本數(shù)據(jù)功能設(shè)計(jì) 20每月填報(bào)功能設(shè)計(jì) 22當(dāng)月數(shù)據(jù)存檔功能設(shè)計(jì) 225.4當(dāng)月報(bào)表功能設(shè)計(jì) 24第I頁共II頁541當(dāng)月部門報(bào)表功能設(shè)計(jì) 24542當(dāng)月匯總功能設(shè)計(jì) 265.5歷史數(shù)據(jù)功能設(shè)計(jì) 29部門月報(bào)功能設(shè)計(jì) 29月匯總功能設(shè)計(jì) 315.

11、6幫助功能設(shè)計(jì)32使用手冊(cè)功能的設(shè)計(jì) 32關(guān)于軟件功能的設(shè)計(jì) 326系統(tǒng)實(shí)現(xiàn)336.1實(shí)體類包的實(shí)現(xiàn)336.2接口包的實(shí)現(xiàn)336.3接口實(shí)現(xiàn)類包的實(shí)現(xiàn) 346.4界面設(shè)計(jì)包的實(shí)現(xiàn) 356.5工具包的實(shí)現(xiàn)357系統(tǒng)測(cè)試377.1測(cè)試計(jì)劃37測(cè)試方案37測(cè)試項(xiàng)目387.2測(cè)試記錄387.3測(cè)試結(jié)果分析 418結(jié)論42參考文獻(xiàn)43致謝44第II頁共II頁1緒論1.1問題的提出某醫(yī)院?jiǎn)挝粨碛蓄I(lǐng)導(dǎo)和員工共 200多人,主要有領(lǐng)導(dǎo)干部,正式員工,實(shí)習(xí)生, 外聘人員,其他員工。以往使用計(jì)算機(jī)軟件excel可以管理工資,但是不能保證工資數(shù)據(jù)的正確性、安全性,操作的高效性、可靠性。隨著經(jīng)濟(jì)水平的發(fā)展,知識(shí)經(jīng)濟(jì)時(shí)

12、 代給企事業(yè)工資信息管理提出了更高的要求。高效的、準(zhǔn)確的工資管理,不僅能促進(jìn) 員工不斷提高自身素質(zhì)、提高工作積極性,從而提高員工工作質(zhì)量和效率。因此工資 管理系統(tǒng)孕育而生。系統(tǒng)根據(jù)員工每個(gè)人的工作年限,崗位工資,醫(yī)療保險(xiǎn),住房補(bǔ) 貼等來計(jì)算每個(gè)員工的工資,也便于查詢員工工資。1.2本課題研究的意義目前市面上流行的工資發(fā)放軟件不少。但是,對(duì)于小型事業(yè)單位的工資發(fā)放來 說,不需要太多的功能。只需要一個(gè)操作方便,功能實(shí)用,滿足財(cái)務(wù)部門對(duì)工資數(shù)據(jù) 管理的系統(tǒng)。我的目標(biāo)就是在于開發(fā)一個(gè)功能實(shí)用,用戶操作方便,簡(jiǎn)單明了的工資 發(fā)放統(tǒng)計(jì)軟件。1.3研究方法及工具本系統(tǒng)使用面向?qū)ο蟮腏ava語言來編寫,采用O

13、racle 10g數(shù)據(jù)庫來存儲(chǔ)系統(tǒng)中 的數(shù)據(jù)。使用Myeclipse 10開發(fā)集成環(huán)境來實(shí)現(xiàn)系統(tǒng)。(1) JavaJava是一種簡(jiǎn)單的,跨平臺(tái)的,面向?qū)ο蟮模植际降?,解釋的,健壯的,安全的,結(jié)構(gòu)的,中立的,可移植的,性能很優(yōu)異的,多線程的,動(dòng)態(tài)的語言。當(dāng)1995年SUN推出Java語言之后,全世界的目光都被這個(gè)神奇的語言所吸引。Java不同于一般的編譯執(zhí)行計(jì)算機(jī)語言和解釋執(zhí)行計(jì)算機(jī)語言。它首先將源代碼編譯成二進(jìn)制字節(jié)碼(bytecode),然后依賴各種不同平臺(tái)上的虛擬機(jī)來解釋執(zhí)行字節(jié) 碼,從而實(shí)現(xiàn)了 一次編譯、到處執(zhí)行”的跨平臺(tái)特性。不過,每次的編譯執(zhí)行需要消耗一定的時(shí)間,這同時(shí)也在一定程度

14、上降低了Java程序的運(yùn)行效率。“ Java語言靠群體的力量而非公司的力量”是Sun公司的口號(hào)之一,并獲得了廣大軟件開發(fā)商的認(rèn) 同。這與微軟公司所倡導(dǎo)的注重精英和封閉式的模式完全不同。Sun公司對(duì)Java編程語言的解釋是:Java編程語言是個(gè)簡(jiǎn)單、面向?qū)ο?、分布式、解釋性、健壯、安?與系統(tǒng)無關(guān)、可移植、高性能、多線程和動(dòng)態(tài)的語言。Java平臺(tái)是基于Java語言的平臺(tái)。這樣的平臺(tái)非常流行,因此微軟公司推出了與之競(jìng)爭(zhēng)的.NET平臺(tái)以及模仿Java 的C#語言。(2)OracleOracle數(shù)據(jù)庫系統(tǒng)是美國(guó)Oracle公司(甲骨文)提供的以分布式數(shù)據(jù)庫為核心 的一組軟件產(chǎn)品,是目前最流行的客戶/服

15、務(wù)器(CLIENT/SERVER)或B/S體系結(jié)構(gòu)的 數(shù)據(jù)庫之一。Oracle數(shù)據(jù)庫是目前世界上使用最為廣泛的數(shù)據(jù)庫管理系統(tǒng),作為一個(gè) 通用的數(shù)據(jù)庫系統(tǒng),它具有完整的數(shù)據(jù)管理功能;作為一個(gè)關(guān)系數(shù)據(jù)庫,它是一個(gè)完 備關(guān)系的產(chǎn)品;作為分布式數(shù)據(jù)庫它實(shí)現(xiàn)了分布式處理功能。它有可用性強(qiáng),可擴(kuò)展 性強(qiáng),數(shù)據(jù)安全性強(qiáng),穩(wěn)定性強(qiáng)的優(yōu)點(diǎn)。(3)MyeclipseMyEclipse 企業(yè)級(jí)工作平臺(tái)(MyEclipseEnterprise Workbench,簡(jiǎn)稱 MyEclipse) 是對(duì)EclipseIDE的擴(kuò)展,利用它我們可以在數(shù)據(jù)庫和JavaEE的開發(fā)、發(fā)布以及應(yīng)用程序服務(wù)器的整合方面極大的提高工作效率。

16、它是功能豐富的JavaEE集成開發(fā)環(huán)境, 包括了完備的編碼、調(diào)試、測(cè)試和發(fā)布功能。MyEclipse是一個(gè)十分優(yōu)秀的用于開發(fā)Java, J2EE的Eclipse插件集合,MyEclipse的功能非常強(qiáng)大,支持也十分廣泛,尤其 是對(duì)各種開源產(chǎn)品的支持十分不錯(cuò)。MyEclipse目前支持Java Servlet,AJAX, JSP, JSF,Struts,Spring, Hibernate,EJB3,JDBC數(shù)據(jù)庫鏈接工具等多項(xiàng)功能??梢哉f MyEclipse是 幾乎囊括了目前所有主流開源產(chǎn)品的專屬eclipse開發(fā)工具。2可行性分析可行性研究的目的就是要用最小的代價(jià)在盡可能短的時(shí)間內(nèi)確定問題是否

17、能夠 解決。當(dāng)然不能靠主觀猜想而是要靠客觀分析。必須分析幾種主要的可能解法的利弊, 從而判原定的系統(tǒng)目標(biāo)和規(guī)模是否現(xiàn)實(shí),系統(tǒng)完成后所能帶來的效益是否大到值得去投資開發(fā)這個(gè)系統(tǒng)的程度。因此,可行性研究實(shí)質(zhì)上是要進(jìn)行依次大大地壓縮簡(jiǎn)化了 的系統(tǒng)分析和設(shè)計(jì)的過程,也就是在較高層次以較抽象的方式進(jìn)行的系統(tǒng)分析和設(shè)計(jì) 的過程。可行性研究主要從以下三個(gè)方面來進(jìn)行2.1技術(shù)可行性使用現(xiàn)有的技術(shù)能不能實(shí)現(xiàn)這個(gè)系統(tǒng)。由于本管理系統(tǒng)的對(duì)象單一,僅對(duì)本單位 的工資進(jìn)行管理。在計(jì)算機(jī)硬件和軟件快速發(fā)展的今天,計(jì)算機(jī)硬件和軟件已經(jīng)遠(yuǎn)遠(yuǎn) 滿足本管理系統(tǒng)的要求。在程序開發(fā)方面,各種可視化開發(fā)集成環(huán)境的出現(xiàn),用戶用 鼠標(biāo)就可

18、以快速、簡(jiǎn)捷地創(chuàng)建應(yīng)用程序,極大地提高了編程效率。JAVA程序設(shè)計(jì)跟Oracle數(shù)據(jù)庫在社會(huì)上的廣泛使用,技術(shù)基礎(chǔ)也已經(jīng)非常雄厚,因而技術(shù)上的準(zhǔn)備應(yīng) 該不成問題。2.2經(jīng)濟(jì)可行性這個(gè)系統(tǒng)的經(jīng)濟(jì)效益能不能超過它的開發(fā)成本。工資管理系統(tǒng)是基于JAVA及Oracle基礎(chǔ)上開發(fā)的小型應(yīng)用程序,不需要多少人力和物力就可以設(shè)計(jì)的。但本系統(tǒng) 一旦投入使用,將大大減少工資管理人員的工作量,提高了工作效率,其經(jīng)濟(jì)效益是 顯兒易見的。2.3操作可行性系統(tǒng)的操作方式對(duì)用戶能不能行得通。在進(jìn)行需求分析時(shí),就對(duì)用戶進(jìn)行了調(diào)查, 針對(duì)他們的情況,設(shè)計(jì)出適合用戶的人機(jī)界面,使操作方式簡(jiǎn)單明了3需求分析為了開發(fā)出真正滿足用戶

19、需求的軟件產(chǎn)品,首先必須知道用戶的需求。對(duì)軟件需求的深入理解是軟件開發(fā)工作獲得成功的前提條件,不論人們把設(shè)計(jì)和編碼工作做得如何出色,不能真正滿足用戶需求的程序只會(huì)令用戶失望,給開發(fā)者帶來煩惱。3.1系統(tǒng)流程圖系統(tǒng)流程圖是概括地描繪物理系統(tǒng)的傳統(tǒng)工具。它的基本思想是用圖形符號(hào)以黑盒子形式描繪組成系統(tǒng)的每個(gè)部件(程序、文檔、數(shù)據(jù)庫、人工過程等)。通過跟老師的交談,老師詳細(xì)講解了該單位的工資操作流程。表3.1流程圖符號(hào)說明圖3.1系統(tǒng)流程圖人員信息跟工資組成信息輸入到工資系統(tǒng)中,系統(tǒng)會(huì)自動(dòng)生成工資賬目3.2數(shù)據(jù)流圖數(shù)據(jù)流圖(DFD)是一種圖形化技術(shù),它描述信息流和數(shù)據(jù)從輸入移動(dòng)到輸出的 過程中所經(jīng)受

20、的變換。設(shè)計(jì)數(shù)據(jù)流圖時(shí)只需考慮系統(tǒng)必須完成的基本邏輯功能,完全 不需要考慮怎樣具體地實(shí)現(xiàn)這些功能。表3.2數(shù)據(jù)流圖基本符號(hào)含義數(shù)據(jù)的源點(diǎn)/終點(diǎn)變換數(shù)據(jù)的處理數(shù)據(jù)存儲(chǔ)數(shù)據(jù)流根據(jù)系統(tǒng)流程圖,繪制出的數(shù)據(jù)流圖如圖3.2D2工資變動(dòng)數(shù)據(jù)D1工資基本數(shù)據(jù)D3工資信息表2工資查詢工資表統(tǒng)計(jì)報(bào)表圖3.2工資系統(tǒng)管理的數(shù)據(jù)流圖從數(shù)據(jù)流圖中可以看出:工資是由兩大部分組成的,即基本數(shù)據(jù)和變動(dòng)數(shù)據(jù)?;?本數(shù)據(jù)是工資組成中基本一成不變的,變動(dòng)數(shù)據(jù)是工資組成中變化的數(shù)據(jù)。系統(tǒng)生成 的工資保存在工資表中。對(duì)工資表進(jìn)行有條件的查找可以得到相應(yīng)的結(jié)果,結(jié)果可以 導(dǎo)出至U excel中。3.3數(shù)據(jù)字典數(shù)據(jù)字典是關(guān)于數(shù)據(jù)的信息的

21、集合, 也就是對(duì)數(shù)據(jù)流圖中包含的所有元素的定義 的集合。數(shù)據(jù)詞典的作用是給數(shù)據(jù)流圖上的每一個(gè)成分以定義和說明。除此之外,數(shù) 據(jù)詞典還要對(duì)系統(tǒng)分析中其它需要說明的問題進(jìn)行定義和說明。本文的數(shù)據(jù)字典描述的主要內(nèi)容有:數(shù)據(jù)元素、數(shù)據(jù)結(jié)構(gòu)、數(shù)據(jù)流、數(shù)據(jù)存儲(chǔ)、 處理邏輯。在系統(tǒng)分析的過程中,產(chǎn)生了大量的數(shù)據(jù)詞典。限于篇幅,我采用表格式 僅就這幾項(xiàng)條目各舉一例來說明。表3.3數(shù)據(jù)元素舉例數(shù)據(jù)兀素系統(tǒng)名:工資管理系統(tǒng) 條目名:?jiǎn)T工編號(hào)編號(hào):P_ID別名:?jiǎn)T工號(hào)存儲(chǔ)處:D1人員信息表D2工資模板表D3工資表數(shù)據(jù)兀素:數(shù)據(jù)類型:長(zhǎng)度:Char5簡(jiǎn)要說明:?jiǎn)T工編號(hào)是員工的識(shí)別符,每個(gè)員工都有唯一的編號(hào)。表3.4數(shù)

22、據(jù)結(jié)構(gòu)舉例數(shù)據(jù)結(jié)構(gòu)系統(tǒng)名:工資管理系統(tǒng)編號(hào):T_Sal條目名:工資模板別名:salary結(jié)構(gòu):有關(guān)數(shù)據(jù)存儲(chǔ):?jiǎn)T工編號(hào)獨(dú)子房租D1工資模板表年月月效資保險(xiǎn)D2工資表崗位資技師補(bǔ)公積金效益資醫(yī)務(wù)補(bǔ)有關(guān)數(shù)據(jù)流:加班護(hù)10%夜班護(hù)齡簡(jiǎn)要說明:每月生成工資的組成數(shù)據(jù)表3.5數(shù)據(jù)流舉例數(shù)據(jù)流系統(tǒng)名:工資管理系統(tǒng) 條目名:部門列表編號(hào).別名:來源:部門表去處:打印報(bào)表數(shù)據(jù)流結(jié)構(gòu):庫存數(shù)據(jù)=部門編號(hào)+部門名稱簡(jiǎn)要說明:對(duì)部門表中的已經(jīng)創(chuàng)建的信息進(jìn)行輸出打印。表3.6數(shù)據(jù)存儲(chǔ)舉例數(shù)據(jù)存儲(chǔ)系統(tǒng)名:工資管理系統(tǒng) 條目名:部門表編號(hào):T_bume n別名:存儲(chǔ)組織:?jiǎn)挝粌?nèi)每個(gè)部門的信息主關(guān)鍵字:部門編號(hào)記錄組成:項(xiàng)名

23、:部門編號(hào)部門名稱長(zhǎng)度:450簡(jiǎn)要說明:?jiǎn)挝粌?nèi)所有的部門信息都存儲(chǔ)在這里3.4數(shù)據(jù)庫概念結(jié)構(gòu)數(shù)據(jù)庫就是為了實(shí)現(xiàn)一定的目的按某種規(guī)則組織起來的數(shù)據(jù)”的 集合”它由一個(gè)稱為數(shù)據(jù)庫管理系統(tǒng)的軟件進(jìn)行管理。數(shù)據(jù)的存取方式獨(dú)立于使用它的應(yīng)用程序。 數(shù)據(jù)庫的主要特征:數(shù)據(jù)共享,數(shù)據(jù)具有最小冗余度,數(shù)據(jù)的完整性,數(shù)據(jù)的安全性, 數(shù)據(jù)的獨(dú)立性。數(shù)據(jù)庫結(jié)構(gòu)的設(shè)計(jì)是軟件開發(fā)的首要條件,設(shè)計(jì)較好、全面的數(shù)據(jù) 庫結(jié)構(gòu),對(duì)于軟件開發(fā)來說是成功的基石,數(shù)據(jù)庫結(jié)構(gòu)設(shè)計(jì)不全面,會(huì)嚴(yán)重影響軟件的開發(fā)利用率與進(jìn)程。這一設(shè)計(jì)是在需求分析的基礎(chǔ)上,設(shè)計(jì)出能夠滿足用戶需求的各種實(shí)體,以及它 們之間的關(guān)系,為后面的邏輯結(jié)構(gòu)設(shè)計(jì)打下基礎(chǔ)。

24、本系統(tǒng)根據(jù)上面的設(shè)計(jì)規(guī)劃出的實(shí)體有:部門實(shí)體、員工實(shí)體、工資模板實(shí)體、 工資表實(shí)體。實(shí)體的屬性參看下文邏輯結(jié)構(gòu)設(shè)計(jì)數(shù)據(jù)庫。各個(gè)實(shí)體間的關(guān)系如圖3.3所示圖3.3實(shí)體間的關(guān)系圖4總體設(shè)計(jì)總體設(shè)計(jì)是站在全局高度上,花較少成本,從較抽象的層次上分析對(duì)比多種可能 的系統(tǒng)實(shí)現(xiàn)方案和軟件結(jié)構(gòu),從中選出最佳方案和最合理的軟件結(jié)構(gòu),從而較低成本 開發(fā)出較高質(zhì)量的軟件系統(tǒng)。4.1功能模塊圖軟件所實(shí)現(xiàn)的功能強(qiáng)弱是衡量一個(gè)軟件的最根本的標(biāo)準(zhǔn)。經(jīng)過對(duì)系統(tǒng)的可行性分析、需求分析、數(shù)據(jù)分析后,結(jié)合調(diào)研的情況,確定了本系統(tǒng)的功能模塊如圖4.1所示。圖4.1系統(tǒng)功能模塊結(jié)構(gòu)圖4.2功能模塊描述(1) 登錄此功能的作用:確保有

25、權(quán)限的用戶可以進(jìn)入系統(tǒng),保證系統(tǒng)的安全性。(2) 數(shù)據(jù)字典維護(hù) 部門名稱此功能模塊的作用:添加部門,刪除部門,查看部門列表。 職工名單此功能模塊的作用:添加職工,刪除職工,查看職工列表。(3) 工資數(shù)據(jù)維護(hù) 基本數(shù)據(jù)此功能模塊的作用:工資數(shù)據(jù)中基本不變部分的展示、修改、保存。 每月填報(bào)此功能模塊的作用:工資數(shù)據(jù)中每月變動(dòng)部分的展示、修改、保存。 當(dāng)月數(shù)據(jù)存檔此功能模塊的作用:計(jì)算生成工資。(4) 當(dāng)月報(bào)表 當(dāng)月報(bào)表此功能模塊的作用:查看當(dāng)月某一部門內(nèi)所有職工的工資信息,統(tǒng)計(jì)發(fā)給該部 門每種人民幣的張數(shù),對(duì)工資查詢結(jié)果的導(dǎo)出。 當(dāng)月匯總表此功能模塊的作用:查看當(dāng)月選中部門的工資統(tǒng)計(jì)信息,對(duì)統(tǒng)計(jì)信

26、息的導(dǎo)出。(5) 歷史數(shù)據(jù) 部門月報(bào)此功能模塊的作用:查看某年某月某一部門內(nèi)所有職工的工資信息并對(duì)結(jié)果的 導(dǎo)出。 月匯總表此功能模塊的作用:查看某年某月選中部門的工資統(tǒng)計(jì)信息,對(duì)統(tǒng)計(jì)信息的導(dǎo) 出。(6) 幫助 使用手冊(cè)此功能模塊的作用:介紹系統(tǒng),幫助用戶熟悉系統(tǒng)的使用。 關(guān)于軟件此功能模塊的作用:對(duì)系統(tǒng)開發(fā)的說明。4.3數(shù)據(jù)庫邏輯結(jié)構(gòu)根據(jù)需求分析可以得到以下關(guān)系模式:(1部門信息表(部門編號(hào),部門名稱)(2職工信息表(職工編號(hào),職工名稱,職工所屬部門名稱)。(3) 工資模板表(職工編號(hào)、年月,崗位資,效益資,加班,夜班,計(jì)生補(bǔ),月效 資,技師補(bǔ),醫(yī)務(wù)補(bǔ),護(hù)10%,護(hù)齡,女工衛(wèi),房租,水電暖,公

27、積金,保險(xiǎn))。(4)工資表(職工編號(hào)、年月,崗位資,效益資,加班金額,夜班金額,計(jì)生補(bǔ),月 效資,技師補(bǔ),醫(yī)務(wù)補(bǔ),護(hù)10%,護(hù)齡,女工衛(wèi),房租,水電暖,公積金,保險(xiǎn),應(yīng)發(fā)工資,廠 扣金額,實(shí)發(fā)工資)。依據(jù)上面的關(guān)系模式,設(shè)計(jì)數(shù)據(jù)庫表如下:(1)部門信息表(bumen):該表來記錄單位內(nèi)部門基本信息表4.1部門信息表列名數(shù)據(jù)類型寬度備注idNumber2主鍵,部門編號(hào)n ameVarchar250部門名稱(2) 員工信息表(person):該表來記錄員工基本信息。表4.2員工信息表列名數(shù)據(jù)類型寬度備注P_idChar5主鍵,員工編號(hào)n ameVarchar24職工姓名bm n ameVarcha

28、r250所屬部門名稱,參照 bume n.n ame(3)工資模板表(salary):該表用來記錄工資各項(xiàng)信息表4.3工資模板表列名數(shù)據(jù)類型寬度備注P_idChar5主鍵,員工編號(hào),參照perso n. p_idyearm onthChar7年月J1Number(8,1)崗位資J2Number(8,1)計(jì)生補(bǔ)J3Number(8,1)月效資J4Number(8,1)技師補(bǔ)J5Number(8,1)醫(yī)務(wù)補(bǔ)J6Number(8,1)護(hù)10%J7Number(8,1)教護(hù)齡J8Number(8,1)女工衛(wèi)J9Number(8,1)公積金B(yǎng)1Number(4)加班時(shí)間B2Number(4)夜班時(shí)間B3

29、Number(8,1)水電暖B4Number(8,1)房租(4)工資表(history):該表用來記錄每個(gè)月計(jì)算出來的工資信息表4.4工資表信息列名數(shù)據(jù)類型寬度備注P_idChar5主鍵,員工編號(hào),參照perso n. p_idyearm onthChar4主鍵,年月J1Number(8,1)崗位資J2Number(8,1)計(jì)生補(bǔ)J3Number(8,1)月效資J4Number(8,1)技師補(bǔ)J5Number(8,1)醫(yī)務(wù)補(bǔ)J6Number(8,1)護(hù)10%J7Number(8,1)教護(hù)齡J8Number(8,1)女工衛(wèi)J9Number(8,1)公積金B(yǎng)1Number(8,1)加班金額B2Nu

30、mber(8,1)夜班金額B3Number(8,1)水電暖B4Number(8,1)房租orisalaryNumber(8,1)應(yīng)發(fā)工資subsalaryNumber(8,1)扣除工資fin alsalaryNumber(8,1)實(shí)發(fā)工資5詳細(xì)設(shè)計(jì)應(yīng)用程序是解決某個(gè)具體的管理或數(shù)據(jù)處理的任務(wù)而編制的一系列命令的有序 集合。在本系統(tǒng)的后臺(tái)數(shù)據(jù)庫已經(jīng)設(shè)計(jì)完成后,現(xiàn)在就可以對(duì)總體設(shè)計(jì)的功能模塊通 過編碼設(shè)計(jì)成一個(gè)應(yīng)用程序,最終來完成對(duì)數(shù)據(jù)庫中數(shù)據(jù)的操作,給用戶反饋簡(jiǎn)單明 了的數(shù)據(jù)格式。應(yīng)用程序1/I數(shù)據(jù)集合1應(yīng)用程序2DBMS數(shù)據(jù)集合2應(yīng)用程序3圖5.1應(yīng)用程序操作數(shù)據(jù)庫圖5.1登錄界面的設(shè)計(jì)登錄功

31、能是為了保證系統(tǒng)的安全性。啟動(dòng)系統(tǒng)后首先進(jìn)入登錄界面。登錄界面設(shè)計(jì)如圖5.2所示,主界面設(shè)計(jì)如圖5.3所示圖5.2登錄界面設(shè)計(jì)圖5.3主界面設(shè)計(jì)(1) 登錄按鈕功能設(shè)計(jì)給登錄按鈕添加 MouseListener監(jiān)聽,重寫 mouseClicked方法。mouseClicked方法的流程圖如圖5.4所示。從流程圖中可以看出,點(diǎn)擊登錄按鈕后,首先讀取user.txt文本中保存的賬號(hào)跟密 碼,如果文本中的內(nèi)容為空則表明沒有記錄的賬號(hào)跟密碼,那么進(jìn)行保存本次填寫的 賬號(hào)跟密碼后進(jìn)入系統(tǒng)的主界面;如果文本中的內(nèi)容不為空,那么將填寫的賬號(hào)跟密 碼與文本中的內(nèi)容進(jìn)行比較,如果二者都對(duì)應(yīng)一致則進(jìn)入系統(tǒng)的主界面

32、,否則給出相 應(yīng)的錯(cuò)誤提示。(2) 重置按鈕功能設(shè)計(jì)給重置按鈕添加 MouseListener監(jiān)聽,重寫 mouseClicked方法。mouseClicked方 法的流程圖如圖5.5所示。開始清除填寫內(nèi)容,賬號(hào)輸入框獲得輸入焦點(diǎn)圖5.5重置按鈕功能設(shè)計(jì)流程圖從流程圖中可以看出,點(diǎn)擊重置按鈕后,首先清空填寫的賬號(hào)跟密碼信息,然后 賬號(hào)輸入框獲得焦點(diǎn),以便再次輸入信息。(3) 取消按鈕功能設(shè)計(jì)給取消按鈕添加 MouseListener監(jiān)聽,重寫 mouseClicked方法。mouseClicked方圖5.6取消按鈕功能設(shè)計(jì)流程圖從流程圖中可以看出,點(diǎn)擊取消按鈕后將退出此系統(tǒng)。5.2數(shù)據(jù)字典維護(hù)

33、設(shè)計(jì)數(shù)據(jù)字典維護(hù)功能分兩部分來實(shí)現(xiàn),分別是部門名稱管理和職工名單管理521部門名稱功能設(shè)計(jì)部門名稱管理是用來對(duì)單位內(nèi)所有部門的簡(jiǎn)單信息進(jìn)行管理維護(hù)。用戶可以在主界面點(diǎn)擊數(shù)據(jù)字典維護(hù)下的菜單項(xiàng)部門名稱進(jìn)入部門名稱管理界面。圖5.7部門名稱界面設(shè)計(jì)(1)刷新按鈕功能設(shè)計(jì)給刷新按鈕添加 MouseListener監(jiān)聽,重寫 mouseClicked方法。mouseClicked方法的流程圖如圖5.8所示。 開始查找所有的部門信息構(gòu)建表格數(shù)據(jù)重新設(shè)置1表格模式Q結(jié)束J圖5.8刷新按鈕設(shè)計(jì)流程圖從流程圖中可以看出,點(diǎn)擊刷新按鈕后,首先查找數(shù)據(jù)庫中所有的部門信息,然 后對(duì)結(jié)果信息進(jìn)行封裝成表格要求的數(shù)據(jù)格

34、式,最后將信息加載到表格中。(2)添加按鈕功能設(shè)計(jì)給添加按鈕添加 MouseListener監(jiān)聽,重寫 mouseClicked方法。mouseClicked方 法的流程圖如圖5.9所示。圖5.9添加按鈕設(shè)計(jì)流程圖從流程圖中可以看出,點(diǎn)擊添加按鈕后,首先獲取輸入的部門名稱,然后進(jìn)行保存輸入信息,最后根據(jù)保存返回的信息給出不同的保存結(jié)果提示。(3)刪除按鈕功能設(shè)計(jì)給刪除按鈕添加 MouseListener監(jiān)聽,重寫 mouseClicked方法。mouseClicked方法的流程圖如圖5.10所示開始 J獲取輸入框中的部門名稱f刪除部門f刪除結(jié)果的提示C結(jié)束J圖5.10刪除按鈕設(shè)計(jì)流程圖從流程圖

35、中可以看出,點(diǎn)擊刪除按鈕后,首先獲取輸入的部門名稱,然后刪除信 息對(duì)應(yīng)的部門,最后根據(jù)刪除返回的信息給出不同的刪除結(jié)果提示。職工名單功能設(shè)計(jì)職工名單管理功能是用來對(duì)單位內(nèi)員工的信息進(jìn)行管理。 用戶可以在主界面點(diǎn)擊數(shù)據(jù)字典維護(hù)下的菜單項(xiàng)職工名單進(jìn)入職工名單管理界面圖5.11職工名單界面設(shè)計(jì)(1)部門下拉選擇按鈕功能設(shè)計(jì)給部門下拉選擇按鈕添加 MouseListener監(jiān)聽,重寫mouseClicked方法。mouseCIicked方法的流程圖如圖5.12所示。開始f獲取選擇的部門名稱,查找該部門內(nèi)所有職工信息f構(gòu)建表格數(shù)據(jù)t重新設(shè)置表格模式結(jié)束圖5.12部門下拉選擇按鈕的設(shè)計(jì)流程圖從流程圖中可以

36、看出,選擇部門名稱后,首先查找數(shù)據(jù)庫中該部門內(nèi)所有職工的 信息,然后對(duì)結(jié)果信息封裝成表格需要的數(shù)據(jù)格式,最后將信息加載到表格中。(2) 刷新按鈕功能設(shè)計(jì)給刷新按鈕添加 MouseListener監(jiān)聽,重寫 mouseClicked方法。mouseClicked方 法的流程圖如圖5.13所示。開始f查找所有的職工信息f構(gòu)建表格數(shù)據(jù)f重新設(shè)置表格模式/結(jié)束從流程圖中可以看出,點(diǎn)擊刷新按鈕后,首先查找數(shù)據(jù)庫中所有的部門信息,然 后對(duì)結(jié)果信息進(jìn)行封裝成表格要求的數(shù)據(jù)格式,最后將信息加載到表格中。(3) 添加按鈕功能設(shè)計(jì)給添加按鈕添加 MouseListener監(jiān)聽,重寫 mouseClicked方法。

37、mouseClicked方法的流程圖如圖5.14所示。圖5.14添加按鈕設(shè)計(jì)流程圖從流程圖中可以看出,點(diǎn)擊添加按鈕后,首先獲取輸入的職工姓名和選擇的部門 名稱,然后進(jìn)行保存輸入信息,最后根據(jù)保存返回的信息給出不同的保存結(jié)果提示。(4) 刪除按鈕功能設(shè)計(jì)給刪除按鈕添加 MouseListener監(jiān)聽,重寫 mouseClicked方法。mouseClicked方法的流程圖如圖5.15所示。C開始f獲取輸入的職工姓名和選擇的部門名稱f刪除職工f刪除結(jié)果的提示(結(jié)束f)從流程圖中可以看出,點(diǎn)擊刪除按鈕后,首先獲取輸入的職工姓名和選擇的部門 名稱,然后刪除信息對(duì)應(yīng)的職工,最后根據(jù)刪除返回的信息給出不同

38、的刪除結(jié)果提示。5.3工資數(shù)據(jù)維護(hù)功能設(shè)計(jì)工資數(shù)據(jù)維護(hù)功能分三部分來實(shí)現(xiàn),分別是基本數(shù)據(jù)管理,每月填報(bào)管理,當(dāng)月 數(shù)據(jù)存檔管理?;緮?shù)據(jù)功能設(shè)計(jì)基本數(shù)據(jù)管理功能是用來保存用戶輸入的工資中基本不變的數(shù)據(jù)。用戶可以在主 界面點(diǎn)擊工資數(shù)據(jù)維護(hù)下的菜單項(xiàng)基本數(shù)據(jù)進(jìn)入基本數(shù)據(jù)管理界面。(1)部門下拉選擇按鈕功能設(shè)計(jì)給部門下拉選擇按鈕添加 MouseListener監(jiān)聽,重寫mouseClicked方法。mouseCIicked方法的流程圖如圖5.17所示。開始 J查找選定部門職工的基本數(shù)據(jù)信息構(gòu)建表格數(shù)據(jù)重新設(shè)置表格模式結(jié)束圖5.17部門下拉選擇按鈕設(shè)計(jì)流程圖從流程圖中可以看出,選擇部門后,首先查找數(shù)據(jù)

39、庫中該部門所有職工的基本數(shù)據(jù)信 息,然后對(duì)結(jié)果信息封裝成表格需要的數(shù)據(jù)格式,最后將信息顯示在表格中。(2)保存按鈕功能設(shè)計(jì)給保存按鈕添加 MouseListener監(jiān)聽,重寫 mouseClicked方法。mouseClicked方法的流程圖如圖5.18所示。保存按鈕設(shè)計(jì)流程圖圖 5.18從流程圖中可以看出,點(diǎn)擊保存按鈕后,首先檢查輸入數(shù)據(jù)的合法性,如果不合 法則給出不合法數(shù)據(jù)的位置提示框,如果合法則進(jìn)行保存數(shù)據(jù),根據(jù)保存返回的信息 給出相應(yīng)的保存結(jié)果信息。532每月填報(bào)功能設(shè)計(jì)每月填報(bào)管理功能是用來保存用戶輸入的工資中變化的數(shù)據(jù)。用戶可以在主界面 點(diǎn)擊工資數(shù)據(jù)維護(hù)下的菜單項(xiàng)每月填報(bào)進(jìn)入每月填

40、報(bào)管理界面。和門松詢知 2 C&ITFIF4.,侶圖5.19每月填報(bào)界面設(shè)計(jì)此功能跟基本數(shù)據(jù)功能類似,請(qǐng)參照基本數(shù)據(jù)功能的實(shí)現(xiàn)。當(dāng)月數(shù)據(jù)存檔功能設(shè)計(jì)當(dāng)月數(shù)據(jù)存檔管理功能是用來根據(jù)用戶輸入的工資組成數(shù)據(jù),依照規(guī)定的計(jì)算方 法來計(jì)算工資。用戶可以在主界面點(diǎn)擊工資數(shù)據(jù)維護(hù)下的菜單項(xiàng)當(dāng)月數(shù)據(jù)存檔進(jìn)入當(dāng) 月數(shù)據(jù)存檔管理界面。圖5.20當(dāng)月數(shù)據(jù)存檔對(duì)話框界面設(shè)計(jì)(1) 存檔按鈕功能設(shè)計(jì)給存檔按鈕添加 MouseListener監(jiān)聽,重寫mouseClicked方法。mouseClicked方法的流程圖如圖5.21所示圖5.21存檔按鈕設(shè)計(jì)流程圖從流程圖中可以看出,點(diǎn)擊存檔按鈕后進(jìn)行工資的計(jì)算,根據(jù)

41、計(jì)算返回的結(jié)果給 出相應(yīng)的提示信息。(2)取消按鈕功能設(shè)計(jì)給取消按鈕添加 MouseListener監(jiān)聽,重寫mouseClicked方法。mouseClicked方法的流程圖如圖5.22所示。開始f釋放當(dāng)前對(duì)話框J結(jié)束圖5.22取消按鈕設(shè)計(jì)流程圖從流程圖中可以看出,點(diǎn)擊取消按鈕則需要釋放當(dāng)前的對(duì)話框。5.4當(dāng)月報(bào)表功能設(shè)計(jì)當(dāng)月報(bào)表功能分兩部分來實(shí)現(xiàn),分別是當(dāng)月部門報(bào)表管理和當(dāng)月匯總表管理當(dāng)月部門報(bào)表功能設(shè)計(jì)當(dāng)月部門報(bào)表管理功能是用來查找一個(gè)部門內(nèi)所有職工工資的信息,并可以根據(jù) 選擇導(dǎo)出工資表或者工資條的樣式。 該功能模塊還能統(tǒng)計(jì)發(fā)個(gè)某個(gè)部門每種人民幣的 總張數(shù)。用戶可以在主界面點(diǎn)擊當(dāng)月報(bào)表的

42、菜單項(xiàng)當(dāng)月報(bào)表進(jìn)入當(dāng)月報(bào)表管理界面。圖5.23當(dāng)月報(bào)表界面設(shè)計(jì)(1)刷新按鈕功能設(shè)計(jì)給刷新按鈕添加 MouseListener監(jiān)聽,重寫 mouseClicked方法。mouseClicked方法的流程圖如圖5.24所示。圖5.24刷新按鈕設(shè)計(jì)流程圖從流程圖中可以看出,點(diǎn)擊刷新按鈕后,獲取選定的部門名稱后查找該部門內(nèi)所 有職工工資信息,根據(jù)顯示方式將工資信息封裝成表格數(shù)據(jù)同時(shí)計(jì)算每種人民幣的張 數(shù),最后將結(jié)果更新到表格中和標(biāo)簽中。(2) 導(dǎo)出按鈕功能設(shè)計(jì)給導(dǎo)出按鈕添加 MouseListener監(jiān)聽,重寫 mouseClicked方法。mouseClicked方 法的流程圖如圖5.25所示。獲

43、取表格中的數(shù)據(jù)從流程圖中可以看出,點(diǎn)擊導(dǎo)出按鈕后,首先獲取表格中顯示的數(shù)據(jù),如果數(shù)據(jù) 為空則給出沒有導(dǎo)出數(shù)據(jù)的提示,如果數(shù)據(jù)不為空則開始構(gòu)建導(dǎo)出文件的文件名、表 格標(biāo)題及表格表頭,最后將數(shù)據(jù)寫入到文件中并打開文件。542當(dāng)月匯總功能設(shè)計(jì)當(dāng)月匯總管理功能是查看用戶選擇的部門的工資匯總信息,并可以導(dǎo)出匯總信息用戶可以在主界面點(diǎn)擊當(dāng)月匯總的菜單項(xiàng)當(dāng)月匯總表進(jìn)入當(dāng)月匯總管理界面。圖5.26當(dāng)月匯總表界面設(shè)計(jì)(1)刷新按鈕功能設(shè)計(jì)給刷新按鈕添加 MouseListener監(jiān)聽,重寫 mouseClicked方法。mouseClicked方法的流程圖如圖5.27所示。圖5.27刷新按鈕設(shè)計(jì)流程圖從流程圖中

44、可以看出,點(diǎn)擊刷新按鈕,首先獲取選定的部門列表信息,然后查找 部門列表中每個(gè)部門的工資匯總信息,將查找出的匯總信息封裝成表格數(shù)據(jù),最后將 數(shù)據(jù)顯示在表格中。(2)全選按鈕功能設(shè)計(jì)給全選按鈕添加 ActionListener監(jiān)聽,重寫actionPefered方法。actionPefered方法的流程圖如圖5.28所示。開始將所有部門復(fù)選框設(shè)置為選中狀態(tài)結(jié)束圖5.28全選按鈕設(shè)計(jì)流程圖從流程圖中可以看出,點(diǎn)擊全選按鈕后是要將所有的部門復(fù)選框狀態(tài)設(shè)置為選中。(3) 全不選按鈕功能設(shè)計(jì)給全不選按鈕添加ActionListener監(jiān)聽,重寫actionPefered方法。actionPefered方法

45、的流程圖如圖5.29所示。開始將所有部門復(fù)選框設(shè)置為不選中狀態(tài)結(jié)束圖5.29全不選按鈕設(shè)計(jì)流程圖從流程圖中可以看出,點(diǎn)擊全不選按鈕后是要將所有的部門復(fù)選框狀態(tài)設(shè)置為不 選中。(4) 反選按鈕功能設(shè)計(jì)給反選按鈕添加 ActionListener監(jiān)聽,重寫actionPefered方法。actionPefered方 法的流程圖如圖5.30所示。I開始丿將所有部門復(fù)選框的狀態(tài)取反( 結(jié)束 )圖5.30反選按鈕設(shè)計(jì)流程圖從流程圖中可以看出,點(diǎn)擊反選按鈕后是要將所有的部門復(fù)選框狀態(tài)設(shè)置為相反的狀態(tài)。(5) 導(dǎo)出按鈕功能設(shè)計(jì)導(dǎo)出按鈕的設(shè)計(jì)同中導(dǎo)出按鈕的設(shè)計(jì),請(qǐng)參照中導(dǎo)出按鈕的設(shè)計(jì)5.5歷史數(shù)據(jù)功能設(shè)計(jì)歷史

46、數(shù)據(jù)功能分兩部分來實(shí)現(xiàn),分別是部門月報(bào)管理和月匯總表管理。部門月報(bào)功能設(shè)計(jì)部門月報(bào)管理功能是查看過去某個(gè)月某個(gè)部門內(nèi)所有職工的工資信息,并可以根 據(jù)導(dǎo)出匯總信息。用戶可以在主界面點(diǎn)擊歷史數(shù)據(jù)的菜單項(xiàng)部門月報(bào)進(jìn)入部門月報(bào)管 理界面。圖5.31部門月報(bào)界面設(shè)計(jì)(1)刷新按鈕設(shè)計(jì)給刷新按鈕添加 MouseListener監(jiān)聽,重寫 mouseClicked方法。mouseClicked方法的流程圖如圖5.32所示。圖5.32刷新按鈕設(shè)計(jì)流程圖從流程圖中可以看出,點(diǎn)擊刷新按鈕后,獲取選定的部門名稱和年月后查找該部 門內(nèi)所有職工在選定年月的工資信息,然后將工資信息封裝成表格數(shù)據(jù),進(jìn)而將結(jié)果 更新到表格中

47、。(2)導(dǎo)出按鈕設(shè)計(jì)導(dǎo)出按鈕的設(shè)計(jì)同541中導(dǎo)出按鈕的設(shè)計(jì),請(qǐng)參照541中導(dǎo)出按鈕的設(shè)計(jì)月匯總功能設(shè)計(jì)月匯總管理功能是查看用戶選擇的部門在選定時(shí)間的工資匯總信息,并可以導(dǎo)出 匯總信息。用戶可以在主界面點(diǎn)擊歷史數(shù)據(jù)菜單項(xiàng)月匯總表進(jìn)入月匯總管理界面。圖5.33月匯總界面設(shè)計(jì)這個(gè)功能的設(shè)計(jì)與當(dāng)月匯總功能設(shè)計(jì)一樣。當(dāng)月匯總功能設(shè)計(jì)傳遞的時(shí)間是當(dāng)時(shí)所處的年月,月匯總功能設(shè)計(jì)傳遞的時(shí)間是選定的年月。因此可參考當(dāng)月匯總功能設(shè)計(jì)。5.6幫助功能設(shè)計(jì)幫助功能分兩部分來實(shí)現(xiàn),分別是使用手冊(cè)和關(guān)于軟件說明。561使用手冊(cè)功能的設(shè)計(jì)使用手冊(cè)功能主要是打開事先編輯好使用手冊(cè)說明文檔,以方便用戶有疑問時(shí)隨 時(shí)可以參閱。此

48、功能的設(shè)計(jì)就是打開安裝目錄下的 man ual.doc文件。562關(guān)于軟件功能的設(shè)計(jì)關(guān)于軟件功能主要是查看本系統(tǒng)的版本,開發(fā)者信息等。圖5.34關(guān)于軟件界面設(shè)計(jì) 此功能的設(shè)計(jì)就是彈出對(duì)話框來顯示信息。6系統(tǒng)實(shí)現(xiàn)根據(jù)任務(wù)書的要求,系統(tǒng)采用Java語言來編碼,采用Oracle數(shù)據(jù)庫來存儲(chǔ)數(shù)據(jù) 系統(tǒng)的包架構(gòu)如圖6.1所示。src田田1»&審»窗v.b&ansgmv.daotomuntilrcep roperti圖6.1工資管理系統(tǒng)包架構(gòu)圖中beans包下是系統(tǒng)中實(shí)體類文件,dao包下是操作數(shù)據(jù)庫的接口文件,impl 包下是操作數(shù)據(jù)庫接口的實(shí)現(xiàn)類文件,image包下

49、是系統(tǒng)中圖片文件,ui包下是系統(tǒng) 的界面設(shè)計(jì)類文件,util包下是系統(tǒng)中常用的工具類文件,perties文件 時(shí)數(shù)據(jù)的配置文件。6.1實(shí)體類包的實(shí)現(xiàn)實(shí)體類包中的類對(duì)象是對(duì)數(shù)據(jù)庫表的映射。包中有三個(gè)實(shí)體類:部門實(shí)體類BuMen、職工實(shí)體類ZhiGong、工資實(shí)體類Salary和工資結(jié)果模型 SalaryResultModel。 類對(duì)象中存放的都是類的屬性和屬性的 get, set方法。6.2接口包的實(shí)現(xiàn)接口包中接口對(duì)象是對(duì)數(shù)據(jù)庫表中數(shù)據(jù)操作方法的封裝。包中有三個(gè)接口:部門 接口 BuMenDao、職工接口 ZhiGongDao、工資接口 SalaryDac。(1) B

50、uMenDao 的實(shí)現(xiàn)BuMenDao接口中有5個(gè)方法: ListvBuMen> getAIIBumen :獲取所有的部門信息 BuMen getBumenByld(int id):根據(jù)部門編號(hào)查找部門信息 BuMen getBumenByName(String name)根據(jù)部門名稱查找部門信息 int deleteBuMen(String name):除部門信息 int addBuMen(String name):添加部門信息ZhiGongDao的實(shí)現(xiàn)ZhiGongDao接口有4個(gè)方法: ListvZhiGong> getAIIPerson():獲取所有的職工信息 ListvZ

51、hiGong> getPersonByBm(String bm_mc):獲取部門內(nèi)所有職工信息 int deletePerson(String person_name,String bm_name)刪除職工信息 int addPerson(String person_name,String bm_name)添加職工信息SalaryDao的實(shí)現(xiàn)SalaryDao接口有7個(gè)方法: List<SaIary> getJbsjByBumen(String bm_name)獲取部門職工工資的基本數(shù)據(jù) List<SaIary> getMytbByBumen(String bm_

52、name):獲取部門職工工資的每月填 報(bào)數(shù)據(jù) int saveJbsjByBume n(List<Salary> list):保存基本數(shù)據(jù) int saveMytbByBumen(List<Salary> list):保存每月填報(bào)數(shù)據(jù) int computerAndSaveSalary():計(jì)算保存工資 List<SalaryResultModel> fin dSalary(Stri ng yearm on th,Stri ng bume ns,Fin dType type):查找工資 Salary getSalarySum(String yearmonth

53、,String bumens:)查找工資匯總6.3接口實(shí)現(xiàn)類包的實(shí)現(xiàn)接口實(shí)現(xiàn)類包中的類文件是對(duì)接口包中接口對(duì)象的實(shí)現(xiàn)。接口實(shí)現(xiàn)類包中對(duì)應(yīng)的也有三個(gè)類對(duì)象:部門接口實(shí)現(xiàn)類BuMenDaolmpI、職工接口實(shí)現(xiàn)類ZhiGongDaolmpI、 工資接口實(shí)現(xiàn)類 SalaryDaolmplo這幾個(gè)實(shí)現(xiàn)類都是對(duì)數(shù)據(jù)庫數(shù)據(jù)的操作。它們中方法的實(shí)現(xiàn)原理是一樣的。首先在類的構(gòu)造方法中實(shí)例化數(shù)據(jù)庫連接對(duì)象Connection,然后根據(jù)需要編寫正確的SQL語句,用 Connection 對(duì)象創(chuàng)建 PreparedStatemen對(duì)象,用 PreparedStatemen對(duì)象填充SQL語句的參數(shù)后執(zhí)行,最后用 ResultSet對(duì)象來接受SQL語句執(zhí)行的查找結(jié)果或者 Boolean對(duì)象來接受SQL語句執(zhí)行的其他結(jié)果,對(duì)接受對(duì)象進(jìn)行邏輯處理后返回需要 的信息。6.4界面設(shè)計(jì)包的實(shí)現(xiàn)界面的設(shè)計(jì)采用 Myeclipse集成的開發(fā)工具進(jìn)行拖拽式的布局。使用到的主要對(duì) 象有窗口對(duì)象JFrame,對(duì)話框?qū)ο驤Dialog,面板對(duì)象JPane,菜單欄對(duì)象JMenuBar, 菜單對(duì)象JMenu,菜單項(xiàng)對(duì)象JMenultem,單行輸入框?qū)ο驤TextField,多行輸入框?qū)?象JTextArea,密碼輸入框?qū)ο?JPasswordField標(biāo)簽對(duì)象JLabel,按鈕對(duì)象JBut

溫馨提示

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

評(píng)論

0/150

提交評(píng)論