版權說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權,請進行舉報或認領
文檔簡介
1、 畢業(yè)設計基于JAVA平臺的工資管理系統(tǒng)*計算機工程系學生姓名:學號:網(wǎng)絡工程系 部:*專 業(yè):指導教師:2014 年 6 月誠信聲明本人鄭重聲明:本論文及其研究工作是本人在指導教師的指導下獨立完成的,在完成論文時所利用的一切資料均已在參考文獻中列出。本人簽名:年 月 日畢業(yè)設計(論文)任務書設計(論文)題目:基于JAVA平臺的工資管理系統(tǒng)系部:計算機工程系專業(yè):網(wǎng)絡工程學號:*學生:*指導教師(含職稱):*(講師)1課題意義及目標學生通過本次畢業(yè)設計,綜合運用所學過的基礎理論知識,深入了解軟件開發(fā)的流程及各個階段的工作內(nèi)容,為學生在畢業(yè)后從事軟件開發(fā)工作打好基礎。本次設計以Oracle數(shù)據(jù)庫
2、為基礎,利用JAVA程序設計進行開發(fā)。該系統(tǒng)要實用性強,方便錄入數(shù)據(jù),對用戶的錄入操作容錯性強;字典數(shù)據(jù)一次錄入,其它地方選單引用,數(shù)據(jù)的一致性好。2主要任務1. 系統(tǒng)為C/S模式,在JAVA平臺下利用ORACLE數(shù)據(jù)庫進行開發(fā)2. 界面設計友好、美觀,操作簡單容易3. 當月工資和歷史工資的統(tǒng)計匯總及結果的導出4. 編寫軟件的使用手冊3主要參考資料1 劉彥明. JAVA語言極其程序設計M. 西安:西安電子出版社,1997: 259-405.2 (美)吉瑞(David M.Geary)著 李建森等譯. JAVA2 圖形設計 卷M. 北京:北京市機械工業(yè)出版社,2000: 227-949.3 趙輝
3、,鄭山紅,王璐等著. JAVA程序設計教程M. 北京:中國水利水電出版社,2008:240-260.4 蒙祖強,龔濤等著. oracle 10g數(shù)據(jù)庫 java開發(fā)M. 北京:中國水利水電出版社,2005: 1-456.5 Adriam Billingtom等著. Oracle PL/SQL實踐M. 北京:人民郵電出版社,2012:10-400.4進度安排設計(論文)各階段名稱起止日期1需求分析(確定系統(tǒng)流程圖,數(shù)據(jù)流圖,數(shù)據(jù)字典,數(shù)據(jù)庫的設計)3月03日3月14日2總體設計(確定系統(tǒng)的總體結構以及功能模塊)3月15日3月28日3詳細設計(編寫程序?qū)崿F(xiàn)功能模塊)3月29日4月30日4系統(tǒng)測試(
4、利用白盒測試方法進行單元測試,利用黑盒測試方法進行集成測試)5月01日5月15日5論文(完成畢業(yè)論文及答辯工作)5月16日6月10日審核人:年月基于JAVA平臺的工資管理系統(tǒng)摘 要由于計算機技術的飛速發(fā)展,數(shù)據(jù)庫技術作為數(shù)據(jù)管理的一個有效的手段,在各行各業(yè)中得到越來越廣泛的應用。工資管理系統(tǒng)在設計過程中嚴格遵循軟件工程學的方法,用分階段的生命周期計劃嚴格管理。工資管理系統(tǒng)以Oracle數(shù)據(jù)庫為基礎,采用面向?qū)ο蟮腏AVA程序設計語言來設計生成的系統(tǒng)。Java是一種簡單的,跨平臺的,面向?qū)ο蟮?,健壯的,安全的,多線程的語言。Oracle擁有可用性強,可擴展性強,數(shù)據(jù)安全性強,穩(wěn)定性強的優(yōu)點。本系
5、統(tǒng)主要實現(xiàn)工資的發(fā)放與統(tǒng)計。用戶必須先登錄才能進入系統(tǒng)。用戶每月向系統(tǒng)中輸入工資組成數(shù)據(jù)后,系統(tǒng)依據(jù)這些數(shù)據(jù)采用事先約定好的工資算法自動計算工資。系統(tǒng)可以以部門為主條件查找選定年月的該部門內(nèi)所有職工的工資信息,同時可以導出工資結果。系統(tǒng)還可以以時間為主條件查找選定部門的工資匯總信息,同時可以導出匯總結果。關鍵詞:JAVA,工資管理系統(tǒng),Oracle數(shù)據(jù)庫The salary management system based on Java platformAbstractDue to the rapid development of computer technology,databa
6、se 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 databases, ob
7、ject-oriented JAVA 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 salary pa
8、yment and statistics. The user must first login to access system. The system agreed in advance algorithm automatically calculate salary based on 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 in the m
9、onth selected, while thesalary 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緒論1問題的提出1本課題研究的意義1研究方法及工具12可行性分析3技術可行性3經(jīng)濟可行性3操作可行性33需求
10、分析4系統(tǒng)流程圖4數(shù)據(jù)流圖4數(shù)據(jù)字典5數(shù)據(jù)庫概念結構74總體設計9功能模塊圖9功能模塊描述10數(shù)據(jù)庫邏輯結構115詳細設計13登錄界面的設計13數(shù)據(jù)字典維護設計16部門名稱功能設計16職工名單功能設計18工資數(shù)據(jù)維護功能設計21基本數(shù)據(jù)功能設計21每月填報功能設計23當月數(shù)據(jù)存檔功能設計23當月報表功能設計25當月部門報表功能設計25當月匯總功能設計27歷史數(shù)據(jù)功能設計30部門月報功能設計30月匯總功能設計32幫助功能設計33使用手冊功能的設計33關于軟件功能的設計336系統(tǒng)實現(xiàn)34實體類包的實現(xiàn)34接口包的實現(xiàn)34接口實現(xiàn)類包的實現(xiàn)35界面設計包的實現(xiàn)36工具包的實現(xiàn)367系統(tǒng)測試38測試計
11、劃38測試方案38測試項目39測試記錄39測試結果分析428結論43參考文獻44致謝451緒論某醫(yī)院單位擁有領導和員工共200多人,主要有領導干部,正式員工,實習生,外聘人員,其他員工。以往使用計算機軟件excel可以管理工資,但是不能保證工資數(shù)據(jù)的正確性、安全性,操作的高效性、可靠性。隨著經(jīng)濟水平的發(fā)展,知識經(jīng)濟時代給企事業(yè)工資信息管理提出了更高的要求。高效的、準確的工資管理,不僅能促進員工不斷提高自身素質(zhì)、提高工作積極性,從而提高員工工作質(zhì)量和效率。因此工資管理系統(tǒng)孕育而生。系統(tǒng)根據(jù)員工每個人的工作年限,崗位工資,醫(yī)療保險,住房補貼等來計算每個員工的工資,也便于查詢員工工資。目前市面上流行
12、的工資發(fā)放軟件不少。但是,對于小型事業(yè)單位的工資發(fā)放來說,不需要太多的功能。只需要一個操作方便,功能實用,滿足財務部門對工資數(shù)據(jù)管理的系統(tǒng)。我的目標就是在于開發(fā)一個功能實用,用戶操作方便,簡單明了的工資發(fā)放統(tǒng)計軟件。本系統(tǒng)使用面向?qū)ο蟮腏ava語言來編寫,采用Oracle 10g數(shù)據(jù)庫來存儲系統(tǒng)中的數(shù)據(jù)。使用Myeclipse 10 開發(fā)集成環(huán)境來實現(xiàn)系統(tǒng)。(1) JavaJava是一種簡單的,跨平臺的,面向?qū)ο蟮模植际降?,解釋的,健壯的,安全的,結構的,中立的,可移植的,性能很優(yōu)異的,多線程的,動態(tài)的語言。當1995年SUN推出Java語言之后,全世界的目光都被這個神奇的語言所吸引。 Ja
13、va 不同于一般的編譯執(zhí)行計算機語言和解釋執(zhí)行計算機語言。它首先將源代碼編譯成二進制字節(jié)碼(bytecode),然后依賴各種不同平臺上的虛擬機來解釋執(zhí)行字節(jié)碼,從而實現(xiàn)了“一次編譯、到處執(zhí)行”的跨平臺特性。不過,每次的編譯執(zhí)行需要消耗一定的時間,這同時也在一定程度上降低了 Java 程序的運行效率。 “Java 語言靠群體的力量而非公司的力量”是 Sun 公司的口號之一,并獲得了廣大軟件開發(fā)商的認同。這與微軟公司所倡導的注重精英和封閉式的模式完全不同。Sun 公司對 Java 編程語言的解釋是:Java 編程語言是個簡單、面向?qū)ο?、分布式、解釋性、健壯、安全與系統(tǒng)無關、可移植、高性能、多線程和
14、動態(tài)的語言。Java 平臺是基于 Java 語言的平臺。這樣的平臺非常流行,因此微軟公司推出了與之競爭的.NET平臺以及模仿 Java 的 C#語言。(2) OracleOracle數(shù)據(jù)庫系統(tǒng)是美國Oracle公司(甲骨文)提供的以分布式數(shù)據(jù)庫為核心的一組軟件產(chǎn)品,是目前最流行的客戶/服務器(CLIENT/SERVER)或B/S體系結構的數(shù)據(jù)庫之一。Oracle數(shù)據(jù)庫是目前世界上使用最為廣泛的數(shù)據(jù)庫管理系統(tǒng),作為一個通用的數(shù)據(jù)庫系統(tǒng),它具有完整的數(shù)據(jù)管理功能;作為一個關系數(shù)據(jù)庫,它是一個完備關系的產(chǎn)品;作為分布式數(shù)據(jù)庫它實現(xiàn)了分布式處理功能。它有可用性強,可擴展性強,數(shù)據(jù)安全性強,穩(wěn)定性強的優(yōu)
15、點。(3) MyeclipseMyEclipse企業(yè)級工作平臺(MyEclipseEnterprise Workbench ,簡稱MyEclipse)是對EclipseIDE的擴展,利用它我們可以在數(shù)據(jù)庫和JavaEE的開發(fā)、發(fā)布以及應用程序服務器的整合方面極大的提高工作效率。它是功能豐富的JavaEE集成開發(fā)環(huán)境,包括了完備的編碼、調(diào)試、測試和發(fā)布功能。MyEclipse 是一個十分優(yōu)秀的用于開發(fā)Java, J2EE的 Eclipse 插件集合,MyEclipse的功能非常強大,支持也十分廣泛,尤其是對各種開源產(chǎn)品的支持十分不錯。MyEclipse目前支持Java Servlet,AJAX,
16、 JSP, JSF, Struts,Spring, Hibernate,EJB3,JDBC數(shù)據(jù)庫鏈接工具等多項功能。可以說MyEclipse是幾乎囊括了目前所有主流開源產(chǎn)品的專屬eclipse開發(fā)工具。2可行性分析可行性研究的目的就是要用最小的代價在盡可能短的時間內(nèi)確定問題是否能夠解決。當然不能靠主觀猜想而是要靠客觀分析。必須分析幾種主要的可能解法的利弊,從而判原定的系統(tǒng)目標和規(guī)模是否現(xiàn)實,系統(tǒng)完成后所能帶來的效益是否大到值得去投資開發(fā)這個系統(tǒng)的程度。因此,可行性研究實質(zhì)上是要進行依次大大地壓縮簡化了的系統(tǒng)分析和設計的過程,也就是在較高層次以較抽象的方式進行的系統(tǒng)分析和設計的過程。可行性研究主
17、要從以下三個方面來進行2.1技術可行性使用現(xiàn)有的技術能不能實現(xiàn)這個系統(tǒng)。由于本管理系統(tǒng)的對象單一,僅對本單位的工資進行管理。在計算機硬件和軟件快速發(fā)展的今天,計算機硬件和軟件已經(jīng)遠遠滿足本管理系統(tǒng)的要求。在程序開發(fā)方面,各種可視化開發(fā)集成環(huán)境的出現(xiàn),用戶用鼠標就可以快速、簡捷地創(chuàng)建應用程序,極大地提高了編程效率。JAVA程序設計跟Oracle數(shù)據(jù)庫在社會上的廣泛使用,技術基礎也已經(jīng)非常雄厚,因而技術上的準備應該不成問題。這個系統(tǒng)的經(jīng)濟效益能不能超過它的開發(fā)成本。工資管理系統(tǒng)是基于JAVA及Oracle基礎上開發(fā)的小型應用程序,不需要多少人力和物力就可以設計的。但本系統(tǒng)一旦投入使用,將大大減少工
18、資管理人員的工作量,提高了工作效率,其經(jīng)濟效益是顯兒易見的。系統(tǒng)的操作方式對用戶能不能行得通。在進行需求分析時,就對用戶進行了調(diào)查,針對他們的情況,設計出適合用戶的人機界面,使操作方式簡單明了3需求分析為了開發(fā)出真正滿足用戶需求的軟件產(chǎn)品,首先必須知道用戶的需求。對軟件需求的深入理解是軟件開發(fā)工作獲得成功的前提條件,不論人們把設計和編碼工作做得如何出色,不能真正滿足用戶需求的程序只會令用戶失望,給開發(fā)者帶來煩惱。系統(tǒng)流程圖是概括地描繪物理系統(tǒng)的傳統(tǒng)工具。它的基本思想是用圖形符號以黑盒子形式描繪組成系統(tǒng)的每個部件(程序、文檔、數(shù)據(jù)庫、人工過程等)。通過跟老師的交談,老師詳細講解了該單位的工資操作
19、流程。表3.1 流程圖符號說明報表、帳目處理數(shù)據(jù)流向存儲人員信息工資賬目工資組成工資系統(tǒng)圖3.1 系統(tǒng)流程圖人員信息跟工資組成信息輸入到工資系統(tǒng)中,系統(tǒng)會自動生成工資賬目。數(shù)據(jù)流圖(DFD)是一種圖形化技術,它描述信息流和數(shù)據(jù)從輸入移動到輸出的過程中所經(jīng)受的變換。設計數(shù)據(jù)流圖時只需考慮系統(tǒng)必須完成的基本邏輯功能,完全不需要考慮怎樣具體地實現(xiàn)這些功能。表3.2 數(shù)據(jù)流圖基本符號含義數(shù)據(jù)的源點/終點變換數(shù)據(jù)的處理數(shù)據(jù)存儲數(shù)據(jù)流D1工資基本數(shù)據(jù)1D3 工資信息表生成工資 D2 工資變動數(shù)據(jù) 2工資查詢工資表統(tǒng)計報表圖3.2 工資系統(tǒng)管理的數(shù)據(jù)流圖從數(shù)據(jù)流圖中可以看出:工資是由兩大部分組成的,即基本數(shù)
20、據(jù)和變動數(shù)據(jù)?;緮?shù)據(jù)是工資組成中基本一成不變的,變動數(shù)據(jù)是工資組成中變化的數(shù)據(jù)。系統(tǒng)生成的工資保存在工資表中。對工資表進行有條件的查找可以得到相應的結果,結果可以導出到excel中。數(shù)據(jù)字典是關于數(shù)據(jù)的信息的集合,也就是對數(shù)據(jù)流圖中包含的所有元素的定義的集合。數(shù)據(jù)詞典的作用是給數(shù)據(jù)流圖上的每一個成分以定義和說明。除此之外,數(shù)據(jù)詞典還要對系統(tǒng)分析中其它需要說明的問題進行定義和說明。本文的數(shù)據(jù)字典描述的主要內(nèi)容有:數(shù)據(jù)元素、數(shù)據(jù)結構、數(shù)據(jù)流、數(shù)據(jù)存儲、處理邏輯。在系統(tǒng)分析的過程中,產(chǎn)生了大量的數(shù)據(jù)詞典。限于篇幅,我采用表格式僅就這幾項條目各舉一例來說明。表3.3 數(shù)據(jù)元素舉例數(shù)據(jù)元素系統(tǒng)名:工資
21、管理系統(tǒng)條目名:員工編號編號:P_ID別名:員工號存儲處:D1 人員信息表D2 工資模板表D3 工資表數(shù)據(jù)元素:數(shù)據(jù)類型:長度:Char5簡要說明:員工編號是員工的識別符,每個員工都有唯一的編號。表3.4 數(shù)據(jù)結構舉例數(shù)據(jù)結構系統(tǒng)名:工資管理系統(tǒng)條目名:工資模板編號:T_Sal別名:salary結構:員工編號年月崗位資效益資加班夜班獨子 房租月效資保險技師補 公積金醫(yī)務補護10%護齡有關數(shù)據(jù)存儲:D1 工資模板表D2 工資表有關數(shù)據(jù)流:簡要說明:每月生成工資的組成數(shù)據(jù)表3.5 數(shù)據(jù)流舉例數(shù)據(jù)流系統(tǒng)名:工資管理系統(tǒng)條目名:部門列表編號:別名:來源:部門表去處:打印報表數(shù)據(jù)流結構:庫存數(shù)據(jù)=部門編
22、號+部門名稱簡要說明:對部門表中的已經(jīng)創(chuàng)建的信息進行輸出打印。表3.6 數(shù)據(jù)存儲舉例數(shù)據(jù)存儲系統(tǒng)名:工資管理系統(tǒng)條目名:部門表編號:T_bumen別名:存儲組織:單位內(nèi)每個部門的信息主關鍵字:部門編號記錄組成:項名:部門編號部門名稱長度: 450簡要說明:單位內(nèi)所有的部門信息都存儲在這里數(shù)據(jù)庫概念結構數(shù)據(jù)庫就是為了實現(xiàn)一定的目的按某種規(guī)則組織起來的“數(shù)據(jù)”的“集合”。它由一個稱為數(shù)據(jù)庫管理系統(tǒng)的軟件進行管理。數(shù)據(jù)的存取方式獨立于使用它的應用程序。數(shù)據(jù)庫的主要特征:數(shù)據(jù)共享,數(shù)據(jù)具有最小冗余度,數(shù)據(jù)的完整性,數(shù)據(jù)的安全性,數(shù)據(jù)的獨立性 。數(shù)據(jù)庫結構的設計是軟件開發(fā)的首要條件,設計較好、全面的數(shù)據(jù)
23、庫結構,對于軟件開發(fā)來說是成功的基石,數(shù)據(jù)庫結構設計不全面,會嚴重影響軟件的開發(fā)利用率與進程。這一設計是在需求分析的基礎上,設計出能夠滿足用戶需求的各種實體,以及它們之間的關系,為后面的邏輯結構設計打下基礎。部門職工工資模板工資表屬于擁有屬于所示圖3.3 實體間的關系圖4總體設計總體設計是站在全局高度上,花較少成本,從較抽象的層次上分析對比多種可能的系統(tǒng)實現(xiàn)方案和軟件結構,從中選出最佳方案和最合理的軟件結構,從而較低成本開發(fā)出較高質(zhì)量的軟件系統(tǒng)。軟件所實現(xiàn)的功能強弱是衡量一個軟件的最根本的標準。經(jīng)過對系統(tǒng)的可行性分析、需求分析、數(shù)據(jù)分析后,結合調(diào)研的情況,確定了本系統(tǒng)的功能模塊如圖所示。工資管
24、理系統(tǒng)部門名稱職工名單基本數(shù)據(jù)每月填報當月數(shù)據(jù)存檔當月報表當月匯總表使用手冊部門月報關于軟件月匯總表登錄數(shù)據(jù)字典維護工資數(shù)據(jù)維護歷史數(shù)據(jù)幫助當月報表圖4.1 系統(tǒng)功能模塊結構圖描述(1) 登錄此功能的作用:確保有權限的用戶可以進入系統(tǒng),保證系統(tǒng)的安全性。(2) 數(shù)據(jù)字典維護 部門名稱此功能模塊的作用:添加部門,刪除部門,查看部門列表。 職工名單此功能模塊的作用:添加職工,刪除職工,查看職工列表。(3) 工資數(shù)據(jù)維護 基本數(shù)據(jù)此功能模塊的作用:工資數(shù)據(jù)中基本不變部分的展示、修改、保存。 每月填報此功能模塊的作用:工資數(shù)據(jù)中每月變動部分的展示、修改、保存。 當月數(shù)據(jù)存檔此功能模塊的作用:計算生成工
25、資。(4) 當月報表 當月報表此功能模塊的作用:查看當月某一部門內(nèi)所有職工的工資信息,統(tǒng)計發(fā)給該部門每種人民幣的張數(shù),對工資查詢結果的導出。 當月匯總表此功能模塊的作用:查看當月選中部門的工資統(tǒng)計信息,對統(tǒng)計信息的導出。(5) 歷史數(shù)據(jù) 部門月報此功能模塊的作用:查看某年某月某一部門內(nèi)所有職工的工資信息并對結果的導出。 月匯總表此功能模塊的作用:查看某年某月選中部門的工資統(tǒng)計信息,對統(tǒng)計信息的導出。(6) 幫助 使用手冊 此功能模塊的作用:介紹系統(tǒng),幫助用戶熟悉系統(tǒng)的使用。 關于軟件此功能模塊的作用:對系統(tǒng)開發(fā)的說明。根據(jù)需求分析可以得到以下關系模式:(1)部門信息表(部門編號,部門名稱)(2
26、)職工信息表(職工編號,職工名稱,職工所屬部門名稱)。(3)工資模板表(職工編號、年月,崗位資, 效益資,加班, 夜班, 計生補, 月效資, 技師補, 醫(yī)務補, 護10%, 護齡,女工衛(wèi),房租,水電暖,公積金,保險)。(4)工資表(職工編號、年月,崗位資, 效益資,加班金額, 夜班金額, 計生補, 月效資, 技師補, 醫(yī)務補, 護10%, 護齡,女工衛(wèi),房租,水電暖,公積金,保險,應發(fā)工資,廠扣金額,實發(fā)工資)。依據(jù)上面的關系模式,設計數(shù)據(jù)庫表如下:(1) 部門信息表(bumen):該表來記錄單位內(nèi)部門基本信息 部門信息表列名數(shù)據(jù)類型寬度備注idNumber2主鍵,部門編號nameVarcha
27、r250部門名稱(2) 員工信息表(person):該表來記錄員工基本信息。表 員工信息表列名數(shù)據(jù)類型寬度備注p_idChar5主鍵,員工編號nameVarchar24職工姓名bm_nameVarchar250(3) 工資模板表(salary):該表用來記錄工資各項信息表 工資模板表列名數(shù)據(jù)類型寬度備注p_idChar5主鍵,員工編號,參照person.p_id yearmonthChar7年月J1Number(8,1)崗位資J2Number(8,1)計生補J3Number(8,1)月效資J4Number(8,1)技師補J5Number(8,1)醫(yī)務補J6Number(8,1)護 10%J7N
28、umber(8,1)教護齡J8Number(8,1)女工衛(wèi)J9Number(8,1)公積金B(yǎng)1Number(4)加班時間B2Number(4)夜班時間B3Number(8,1)水電暖B4Number(8,1)房租(4) 工資表(history):該表用來記錄每個月計算出來的工資信息表4.4 工資表信息列名數(shù)據(jù)類型寬度備注p_idChar5yearmonthChar4主鍵,年月J1Number(8,1)崗位資J2Number(8,1)計生補J3Number(8,1)月效資J4Number(8,1)技師補J5Number(8,1)醫(yī)務補J6Number(8,1)護 10%J7Number(8,1)
29、教護齡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)應發(fā)工資subsalaryNumber(8,1)扣除工資finalsalaryNumber(8,1)實發(fā)工資5詳細設計應用程序是解決某個具體的管理或數(shù)據(jù)處理的任務而編制的一系列命令的有序集合。在本系統(tǒng)的后臺數(shù)據(jù)庫已經(jīng)設計完成后,現(xiàn)在就可以對總體設計的功能模塊通過編碼設計成一個應用程序,最終來完成對數(shù)據(jù)庫中數(shù)據(jù)的操作,給用戶反饋簡單明了的數(shù)據(jù)格式。應用程序1應
30、用程序2應用程序3DBMS數(shù)據(jù)集合1數(shù)據(jù)集合2登錄功能是為了保證系統(tǒng)的安全性。啟動系統(tǒng)后首先進入登錄界面。登錄界面設計如圖5.2所示圖5.2 登錄界面設計圖5.3 主界面設計(1) 登錄按鈕功能設計給登錄按鈕添加MouseListener監(jiān)聽,重寫mouseClicked方法。mouseClicked方法的流程圖如圖5.4所示。開始結束進入主界面是否為空?給出結果提示填寫賬號密碼與文件內(nèi)容一致?保存填寫的賬號密碼為空不空不一致一致圖5.4 登錄按鈕功能設計流程圖從流程圖中可以看出,點擊登錄按鈕后,首先讀取user.txt文本中保存的賬號跟密碼,如果文本中的內(nèi)容為空則表明沒有記錄的賬號跟密碼,那
31、么進行保存本次填寫的賬號跟密碼后進入系統(tǒng)的主界面;如果文本中的內(nèi)容不為空,那么將填寫的賬號跟密碼與文本中的內(nèi)容進行比較,如果二者都對應一致則進入系統(tǒng)的主界面,否則給出相應的錯誤提示。(2) 重置按鈕功能設計給重置按鈕添加MouseListener監(jiān)聽,重寫mouseClicked方法。mouseClicked方法的流程圖如圖5.5所示。開始結束清除填寫內(nèi)容,賬號輸入框獲得輸入焦點圖5.5 重置按鈕功能設計流程圖從流程圖中可以看出,點擊重置按鈕后,首先清空填寫的賬號跟密碼信息,然后賬號輸入框獲得焦點,以便再次輸入信息。(3) 取消按鈕功能設計給取消按鈕添加MouseListener監(jiān)聽,重寫mo
32、useClicked方法。mouseClicked方法的流程圖如圖5.6所示。開始結束退出系統(tǒng)圖5.6 取消按鈕功能設計流程圖從流程圖中可以看出,點擊取消按鈕后將退出此系統(tǒng)。設計數(shù)據(jù)字典維護功能分兩部分來實現(xiàn),分別是部門名稱管理和職工名單管理。功能設計部門名稱管理是用來對單位內(nèi)所有部門的簡單信息進行管理維護。用戶可以在主界面點擊數(shù)據(jù)字典維護下的菜單項部門名稱進入部門名稱管理界面。圖5.7 部門名稱界面設計(1) 刷新按鈕功能設計給刷新按鈕添加MouseListener監(jiān)聽,重寫mouseClicked方法。mouseClicked方法的流程圖如圖5.8所示。開始結束查找所有的部門信息構建表格數(shù)
33、據(jù)重新設置表格模式圖5.8 刷新按鈕設計流程圖從流程圖中可以看出,點擊刷新按鈕后,首先查找數(shù)據(jù)庫中所有的部門信息,然后對結果信息進行封裝成表格要求的數(shù)據(jù)格式,最后將信息加載到表格中。(2) 添加按鈕功能設計給添加按鈕添加MouseListener監(jiān)聽,重寫mouseClicked方法。mouseClicked方法的流程圖如圖5.9所示。開始結束獲取輸入框中的部門名稱添加部門添加結果的提示圖5.9添加按鈕設計流程圖從流程圖中可以看出,點擊添加按鈕后,首先獲取輸入的部門名稱,然后進行保存輸入信息,最后根據(jù)保存返回的信息給出不同的保存結果提示。(3) 刪除按鈕功能設計給刪除按鈕添加MouseList
34、ener監(jiān)聽,重寫mouseClicked方法。mouseClicked方法的流程圖如圖5.10所示。開始結束獲取輸入框中的部門名稱刪除部門刪除結果的提示圖5.10刪除按鈕設計流程圖從流程圖中可以看出,點擊刪除按鈕后,首先獲取輸入的部門名稱,然后刪除信息對應的部門,最后根據(jù)刪除返回的信息給出不同的刪除結果提示。職工名單功能設計職工名單管理功能是用來對單位內(nèi)員工的信息進行管理。用戶可以在主界面點擊數(shù)據(jù)字典維護下的菜單項職工名單進入職工名單管理界面。圖5.11 職工名單界面設計(1) 部門下拉選擇按鈕功能設計給部門下拉選擇按鈕添加MouseListener監(jiān)聽,重寫mouseClicked方法。m
35、ouseClicked方法的流程圖如圖5.12所示。開始結束獲取選擇的部門名稱,查找該部門內(nèi)所有職工信息構建表格數(shù)據(jù)重新設置表格模式圖5.12 部門下拉選擇按鈕的設計流程圖從流程圖中可以看出,選擇部門名稱后,首先查找數(shù)據(jù)庫中該部門內(nèi)所有職工的信息,然后對結果信息封裝成表格需要的數(shù)據(jù)格式,最后將信息加載到表格中。(2) 刷新按鈕功能設計給刷新按鈕添加MouseListener監(jiān)聽,重寫mouseClicked方法。mouseClicked方法的流程圖如圖5.13所示。開始結束查找所有的職工信息構建表格數(shù)據(jù)重新設置表格模式圖5.13 刷新按鈕設計流程圖從流程圖中可以看出,點擊刷新按鈕后,首先查找數(shù)
36、據(jù)庫中所有的部門信息,然后對結果信息進行封裝成表格要求的數(shù)據(jù)格式,最后將信息加載到表格中。(3) 添加按鈕功能設計給添加按鈕添加MouseListener監(jiān)聽,重寫mouseClicked方法。mouseClicked方法的流程圖如圖5.14所示。開始結束獲取輸入的職工姓名和選擇的部門名稱添加職工添加結果的提示圖5.14 添加按鈕設計流程圖從流程圖中可以看出,點擊添加按鈕后,首先獲取輸入的職工姓名和選擇的部門名稱,然后進行保存輸入信息,最后根據(jù)保存返回的信息給出不同的保存結果提示。(4) 刪除按鈕功能設計給刪除按鈕添加MouseListener監(jiān)聽,重寫mouseClicked方法。mouse
37、Clicked方開始結束獲取輸入的職工姓名和選擇的部門名稱刪除職工刪除結果的提示法的流程圖如圖5.15所示。圖5.15 刪除按鈕設計流程圖從流程圖中可以看出,點擊刪除按鈕后,首先獲取輸入的職工姓名和選擇的部門名稱,然后刪除信息對應的職工,最后根據(jù)刪除返回的信息給出不同的刪除結果提示。設計工資數(shù)據(jù)維護功能分三部分來實現(xiàn),分別是基本數(shù)據(jù)管理,每月填報管理,當月數(shù)據(jù)存檔管理。基本數(shù)據(jù)管理功能是用來保存用戶輸入的工資中基本不變的數(shù)據(jù)。用戶可以在主界面點擊工資數(shù)據(jù)維護下的菜單項基本數(shù)據(jù)進入基本數(shù)據(jù)管理界面。圖5.16 基本數(shù)據(jù)界面設計(1) 部門下拉選擇按鈕功能設計給部門下拉選擇按鈕添加MouseLis
38、tener監(jiān)聽,重寫mouseClicked方法。mouseClicked方法的流程圖如圖5.17所示。開始結束查找選定部門職工的基本數(shù)據(jù)信息構建表格數(shù)據(jù)重新設置表格模式圖5.17 部門下拉選擇按鈕設計流程圖從流程圖中可以看出,選擇部門后,首先查找數(shù)據(jù)庫中該部門所有職工的基本數(shù)據(jù)信息 ,然后對結果信息封裝成表格需要的數(shù)據(jù)格式,最后將信息顯示在表格中。(2) 保存按鈕功能設計給保存按鈕添加MouseListener監(jiān)聽,重寫mouseClicked方法。mouseClicked方法的流程圖如圖5.18所示。開始結束構建保存數(shù)據(jù)對象保存數(shù)據(jù)檢測輸入數(shù)據(jù)合法性保存結果提示輸入位置不合法提示不合法合法
39、圖5.18 保存按鈕設計流程圖從流程圖中可以看出,點擊保存按鈕后,首先檢查輸入數(shù)據(jù)的合法性,如果不合法則給出不合法數(shù)據(jù)的位置提示框,如果合法則進行保存數(shù)據(jù),根據(jù)保存返回的信息給出相應的保存結果信息。每月填報管理功能是用來保存用戶輸入的工資中變化的數(shù)據(jù)。用戶可以在主界面點擊工資數(shù)據(jù)維護下的菜單項每月填報進入每月填報管理界面。圖5.19 每月填報界面設計此功能跟基本數(shù)據(jù)功能類似,請參照基本數(shù)據(jù)功能的實現(xiàn)。當月數(shù)據(jù)存檔管理功能是用來根據(jù)用戶輸入的工資組成數(shù)據(jù),依照規(guī)定的計算方法來計算工資。用戶可以在主界面點擊工資數(shù)據(jù)維護下的菜單項當月數(shù)據(jù)存檔進入當月數(shù)據(jù)存檔管理界面。圖5.20 當月數(shù)據(jù)存檔對話框界
40、面設計(1) 存檔按鈕功能設計給存檔按鈕添加MouseListener監(jiān)聽,重寫mouseClicked方法。mouseClicked方法的流程圖如圖5.21所示。開始結束計算工資計算結果提示圖5.21 存檔按鈕設計流程圖從流程圖中可以看出,點擊存檔按鈕后進行工資的計算,根據(jù)計算返回的結果給出相應的提示信息。(2) 取消按鈕功能設計給取消按鈕添加MouseListener監(jiān)聽,重寫mouseClicked方法。mouseClicked方法的流程圖如圖5.22所示。開始結束釋放當前對話框圖5.22 取消按鈕設計流程圖從流程圖中可以看出,點擊取消按鈕則需要釋放當前的對話框。設計當月報表功能分兩部分
41、來實現(xiàn),分別是當月部門報表管理和當月匯總表管理。當月部門報表管理功能是用來查找一個部門內(nèi)所有職工工資的信息,并可以根據(jù)選擇導出工資表或者工資條的樣式。該功能模塊還能統(tǒng)計發(fā)個某個部門每種人民幣的總張數(shù)。用戶可以在主界面點擊當月報表的菜單項當月報表進入當月報表管理界面。圖5.23 當月報表界面設計(1) 刷新按鈕功能設計給刷新按鈕添加MouseListener監(jiān)聽,重寫mouseClicked方法。mouseClicked方法的流程圖如圖5.24所示。開始結束獲取選定的部門名稱和顯示方式查找選定部門所有職工在當月的工資信息以顯示方式構建表格數(shù)據(jù),同時計算張數(shù)重新設置表格模式重新設置張數(shù)統(tǒng)計結果圖5
42、.24 刷新按鈕設計流程圖從流程圖中可以看出,點擊刷新按鈕后,獲取選定的部門名稱后查找該部門內(nèi)所有職工工資信息,根據(jù)顯示方式將工資信息封裝成表格數(shù)據(jù)同時計算每種人民幣的張數(shù),最后將結果更新到表格中和標簽中。(2) 導出按鈕功能設計給導出按鈕添加MouseListener監(jiān)聽,重寫mouseClicked方法。mouseClicked方法的流程圖如圖5.25所示。開始獲取表格中的數(shù)據(jù)結束構建導出文件的文件名,表格標題,表格表頭導出文件到桌面并打開數(shù)據(jù)為空?導出數(shù)據(jù)為空提示為空不空圖5.25 導出按鈕設計流程圖從流程圖中可以看出,點擊導出按鈕后,首先獲取表格中顯示的數(shù)據(jù),如果數(shù)據(jù)為空則給出沒有導出
43、數(shù)據(jù)的提示,如果數(shù)據(jù)不為空則開始構建導出文件的文件名、表格標題及表格表頭,最后將數(shù)據(jù)寫入到文件中并打開文件。當月匯總管理功能是查看用戶選擇的部門的工資匯總信息,并可以導出匯總信息。用戶可以在主界面點擊當月匯總的菜單項當月匯總表進入當月匯總管理界面。圖5.26 當月匯總表界面設計(1) 刷新按鈕功能設計給刷新按鈕添加MouseListener監(jiān)聽,重寫mouseClicked方法。mouseClicked方法的流程圖如圖5.27所示。開始結束獲取選定的部門名稱列表查找選定部門列表中部門的工資匯總信息構建表格數(shù)據(jù)重新設置表格模式圖5.27 刷新按鈕設計流程圖從流程圖中可以看出,點擊刷新按鈕,首先獲
44、取選定的部門列表信息,然后查找部門列表中每個部門的工資匯總信息,將查找出的匯總信息封裝成表格數(shù)據(jù),最后將數(shù)據(jù)顯示在表格中。(2) 全選按鈕功能設計給全選按鈕添加ActionListener監(jiān)聽,重寫actionPerfered方法。actionPerfered方法的流程圖如圖5.28所示。開始結束將所有部門復選框設置為選中狀態(tài)圖5.28 全選按鈕設計流程圖從流程圖中可以看出,點擊全選按鈕后是要將所有的部門復選框狀態(tài)設置為選中。(3) 全不選按鈕功能設計給全不選按鈕添加ActionListener監(jiān)聽,重寫actionPerfered方法。actionPerfered開始結束將所有部門復選框設置
45、為不選中狀態(tài)方法的流程圖如圖5.29所示。圖5.29 全不選按鈕設計流程圖從流程圖中可以看出,點擊全不選按鈕后是要將所有的部門復選框狀態(tài)設置為不選中。(4) 反選按鈕功能設計給反選按鈕添加ActionListener監(jiān)聽,重寫actionPerfered方法。actionPerfered方法的流程圖如圖5.30所示。開始結束將所有部門復選框的狀態(tài)取反圖5.30 反選按鈕設計流程圖從流程圖中可以看出,點擊反選按鈕后是要將所有的部門復選框狀態(tài)設置為相反的狀態(tài)。(5) 導出按鈕功能設計導出按鈕的設計同5.4.1中導出按鈕的設計,請參照5.4.1中導出按鈕的設計。設計歷史數(shù)據(jù)功能分兩部分來實現(xiàn),分別是
46、部門月報管理和月匯總表管理。部門月報管理功能是查看過去某個月某個部門內(nèi)所有職工的工資信息,并可以根據(jù)導出匯總信息。用戶可以在主界面點擊歷史數(shù)據(jù)的菜單項部門月報進入部門月報管理界面。圖5.31 部門月報界面設計(1) 刷新按鈕設計給刷新按鈕添加MouseListener監(jiān)聽,重寫mouseClicked方法。mouseClicked方法的流程圖如圖5.32所示。開始結束獲取選定的部門名稱和年月查找選定部門所有職工在選定年月的工資構建表格數(shù)據(jù)重新設置表格模式圖5.32 刷新按鈕設計流程圖從流程圖中可以看出,點擊刷新按鈕后,獲取選定的部門名稱和年月后查找該部門內(nèi)所有職工在選定年月的工資信息,然后將工
47、資信息封裝成表格數(shù)據(jù),進而將結果更新到表格中。(2) 導出按鈕設計導出按鈕的設計同5.4.1中導出按鈕的設計,請參照5.4.1中導出按鈕的設計。月匯總管理功能是查看用戶選擇的部門在選定時間的工資匯總信息,并可以導出匯總信息。用戶可以在主界面點擊歷史數(shù)據(jù)菜單項月匯總表進入月匯總管理界面。圖5.33 月匯總界面設計這個功能的設計與5.4.2當月匯總功能設計一樣。當月匯總功能設計傳遞的時間是當時所處的年月,月匯總功能設計傳遞的時間是選定的年月。因此可參考5.4.1當月匯總功能設計。設計幫助功能分兩部分來實現(xiàn),分別是使用手冊和關于軟件說明。使用手冊功能主要是打開事先編輯好使用手冊說明文檔,以方便用戶有
48、疑問時隨時可以參閱。此功能的設計就是打開安裝目錄下的manual.doc文件。關于軟件功能主要是查看本系統(tǒng)的版本,開發(fā)者信息等。圖5.34 關于軟件界面設計此功能的設計就是彈出對話框來顯示信息。6系統(tǒng)實現(xiàn)根據(jù)任務書的要求,系統(tǒng)采用Java語言來編碼,采用Oracle數(shù)據(jù)庫來存儲數(shù)據(jù)。系統(tǒng)的包架構如圖6.1所示。圖6.1 工資管理系統(tǒng)包架構圖中beans包下是系統(tǒng)中實體類文件,dao包下是操作數(shù)據(jù)庫的接口文件,impl包下是操作數(shù)據(jù)庫接口的實現(xiàn)類文件,image包下是系統(tǒng)中圖片文件,ui包下是系統(tǒng)的界面設計類文件,util包下是系統(tǒng)中常用的工具類文件,perties文
49、件時數(shù)據(jù)的配置文件。實體類包中的類對象是對數(shù)據(jù)庫表的映射。包中有三個實體類:部門實體類BuMen、職工實體類ZhiGong、工資實體類Salary和工資結果模型SalaryResultModel。類對象中存放的都是類的屬性和屬性的get,set方法。接口包中接口對象是對數(shù)據(jù)庫表中數(shù)據(jù)操作方法的封裝。包中有三個接口:部門接口BuMenDao、職工接口ZhiGongDao、工資接口SalaryDao。(1) BuMenDao的實現(xiàn)BuMenDao接口中有5個方法: List<BuMen> getAllBumen:獲取所有的部門信息 BuMen getBumenById(int id):
50、根據(jù)部門編號查找部門信息 BuMen getBumenByName(String name):根據(jù)部門名稱查找部門信息 int deleteBuMen(String name):除部門信息 int addBuMen(String name):添加部門信息(2) ZhiGongDao的實現(xiàn)ZhiGongDao接口有4個方法: List<ZhiGong> getAllPerson():獲取所有的職工信息 List<ZhiGong> getPersonByBm(String bm_mc):獲取部門內(nèi)所有職工信息 int deletePerson(String person_n
51、ame,String bm_name):刪除職工信息 int addPerson(String person_name,String bm_name):添加職工信息(3) SalaryDao的實現(xiàn)SalaryDao接口有7個方法: List<Salary> getJbsjByBumen(String bm_name):獲取部門職工工資的基本數(shù)據(jù) List<Salary> getMytbByBumen(String bm_name):獲取部門職工工資的每月填報數(shù)據(jù) int saveJbsjByBumen(List<Salary> list):保存基本數(shù)據(jù) in
52、t saveMytbByBumen(List<Salary> list):保存每月填報數(shù)據(jù) int computerAndSaveSalary():計算保存工資 List<SalaryResultModel> findSalary(String yearmonth,String bumens,FindType type):查找工資 Salary getSalarySum(String yearmonth,String bumens):查找工資匯總接口實現(xiàn)類包中的類文件是對接口包中接口對象的實現(xiàn)。接口實現(xiàn)類包中對應的也有三個類對象:部門接口實現(xiàn)類BuMenDaoImpl、
53、職工接口實現(xiàn)類ZhiGongDaoImpl、工資接口實現(xiàn)類SalaryDaoImpl。這幾個實現(xiàn)類都是對數(shù)據(jù)庫數(shù)據(jù)的操作。它們中方法的實現(xiàn)原理是一樣的。首先在類的構造方法中實例化數(shù)據(jù)庫連接對象Connection,然后根據(jù)需要編寫正確的SQL語句,用Connection對象創(chuàng)建PreparedStatement對象,用PreparedStatement對象填充SQL語句的參數(shù)后執(zhí)行,最后用ResultSet對象來接受SQL語句執(zhí)行的查找結果或者Boolean對象來接受SQL語句執(zhí)行的其他結果,對接受對象進行邏輯處理后返回需要的信息。界面的設計采用Myeclipse集成的開發(fā)工具進行拖拽式的布局
54、。使用到的主要對象有窗口對象JFrame,對話框?qū)ο驤Dialog,面板對象JPanel,菜單欄對象JMenuBar,菜單對象JMenu,菜單項對象JMenuItem,單行輸入框?qū)ο驤TextField,多行輸入框?qū)ο驤TextArea,密碼輸入框?qū)ο驤PasswordField,標簽對象JLabel,按鈕對象JButton,表格對象JTabel,滾動面板對象JScollPane。工具包下是系統(tǒng)經(jīng)常需要用到的類對象。包中有四個工具對象:MD5數(shù)據(jù)加密工具CheckByMD5、數(shù)據(jù)庫連接工具ConnDB、獲取當前年月工具GetYearMonth、導出excel文件工具OutToExcel。(1) CheckByMD5的實現(xiàn)類中的getMD5(byte
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經(jīng)權益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
- 6. 下載文件中如有侵權或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025年湘教新版第二冊生物下冊月考試卷
- 2025年外研版三年級起點選擇性必修3歷史上冊階段測試試卷
- 2025年粵教新版七年級生物下冊月考試卷
- 2025年度農(nóng)貿(mào)場農(nóng)產(chǎn)品質(zhì)量檢測中心建設合同4篇
- 2025年金融衍生品交易總合同2篇
- 2025年度牛只運輸車輛GPS定位與實時監(jiān)控服務合同4篇
- 2025版人工智能語音助手定制開發(fā)合同4篇
- 房屋出租委托代理合同(2篇)
- 2025年度學校教室窗簾更換項目承包合同4篇
- 二零二五版人工智能教育平臺合作合并合同2篇
- 2024版塑料購銷合同范本買賣
- 2024-2025學年人教新版高二(上)英語寒假作業(yè)(五)
- JJF 2184-2025電子計價秤型式評價大綱(試行)
- GB/T 44890-2024行政許可工作規(guī)范
- 2024年安徽省中考數(shù)學試卷含答案
- 2025屆山東省德州市物理高三第一學期期末調(diào)研模擬試題含解析
- 2024年滬教版一年級上學期語文期末復習習題
- 兩人退股協(xié)議書范文合伙人簽字
- 2024版【人教精通版】小學英語六年級下冊全冊教案
- 汽車噴漆勞務外包合同范本
- 微項目 探討如何利用工業(yè)廢氣中的二氧化碳合成甲醇-2025年高考化學選擇性必修第一冊(魯科版)
評論
0/150
提交評論