基于Web的工資管理系統(tǒng)的設(shè)計與實現(xiàn)-畢業(yè)論文_第1頁
基于Web的工資管理系統(tǒng)的設(shè)計與實現(xiàn)-畢業(yè)論文_第2頁
基于Web的工資管理系統(tǒng)的設(shè)計與實現(xiàn)-畢業(yè)論文_第3頁
基于Web的工資管理系統(tǒng)的設(shè)計與實現(xiàn)-畢業(yè)論文_第4頁
基于Web的工資管理系統(tǒng)的設(shè)計與實現(xiàn)-畢業(yè)論文_第5頁
已閱讀5頁,還剩84頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

1、PAGE PAGE 84本科生畢業(yè)論文(設(shè)計)基于Web的工資管理系統(tǒng)的設(shè)計與實現(xiàn)姓名學(xué)號專業(yè)指導(dǎo)教師2011年5月25日 PAGE I摘要隨著現(xiàn)代企業(yè)管理制度的建立和軟件產(chǎn)業(yè)的迅速發(fā)展,企業(yè)人事勞資管理系統(tǒng)已成為企業(yè)進行日常管理工作的重要工具,加強人事勞資管理類軟件的開發(fā)和運作已成為提高企業(yè)管理效率的重要手段,而工資管理是企業(yè)人事勞資管理的重要組成部分。本文論述了基于Web的工資管理系統(tǒng)的開發(fā)和實現(xiàn)過程,主要包括系統(tǒng)開發(fā)技術(shù)、系統(tǒng)需求分析、系統(tǒng)概要分析與設(shè)計、系統(tǒng)詳細設(shè)計與實現(xiàn)等。重點介紹了數(shù)據(jù)庫的設(shè)計及系統(tǒng)的實現(xiàn)過程,此外還介紹了系統(tǒng)框架結(jié)構(gòu)。本系統(tǒng)采用了目前較為流行的SSH組合框架開發(fā)技

2、術(shù)。在表示層采用Struts技術(shù)實現(xiàn)了經(jīng)典的MVC模式,規(guī)范了表示層的開發(fā)過程。在業(yè)務(wù)層中,使用Spring 組件技術(shù),用容器管理表示層的控制器和數(shù)據(jù)層的數(shù)據(jù)訪問對象,以提高系統(tǒng)的可擴展性能。在數(shù)據(jù)持久層,使用Hibernate框架技術(shù),實現(xiàn)了數(shù)據(jù)與業(yè)務(wù)的分離,降低了系統(tǒng)的耦合度。開發(fā)結(jié)果表明,將Struts、Spring和Hibernate技術(shù)整合為一種組合型多框架,極大的提高了系統(tǒng)的可維護性、可擴展性、可移植性和組件的復(fù)用性。關(guān)鍵詞:工資管理;SSH框架;MVC模式?MACROBUTTON NoMacro Click and type abstract text here.Abstract

3、With the establishment of modern enterprise management system and the rapid development of software industry, business personnel labor management system has become the daily management of an important tool to strengthen the personnel labor management class software development and operation of busin

4、ess management to improve efficiency has become an important means of and wages of personnel management is an important part of labor management. This papers discusses the Web-based payroll system in the development and implementation process, including system development technology, system requirem

5、ents analysis, system profiling and design, detailed design and implementation. Focuses on database design and system implementation process, the framework also introduces the system structure. The system uses a combination of the current framework of the more popular SSH development technology. In

6、the presentation layer using Struts technology to achieve the classic MVC pattern, the presentation layer specification of the development process. In the business layer, the use of Spring component technology, with container-managed presentation layer of the controller and the data layer data acces

7、s objects to improve system scalability. In the data persistence layer, Hibernate framework using technology to achieve the separation of data and services, reducing the system coupling. The results show that the development will be Struts, Spring and Hibernate technology integration as a combinatio

8、n of multi frame, greatly improving system maintainability, scalability, portability and reusability of components.Key Words: payroll management, SSH framework, MVC mode MACROBUTTON AcceptAllChangesInDoc 雙擊此處鍵入本章題目 錯誤!未找到引用源。目錄 TOC o 1-3 h z u HYPERLINK l _Toc294522856 1 引 言 PAGEREF _Toc294522856 h

9、1 HYPERLINK l _Toc294522857 1.1 編寫目的 PAGEREF _Toc294522857 h 1 HYPERLINK l _Toc294522858 1.2 項目背景 PAGEREF _Toc294522858 h 1 HYPERLINK l _Toc294522859 1.3 系統(tǒng)概述 PAGEREF _Toc294522859 h 1 HYPERLINK l _Toc294522860 1.3.1 系統(tǒng)說明 PAGEREF _Toc294522860 h 1 HYPERLINK l _Toc294522861 1.3.2 具體要求 PAGEREF _Toc294

10、522861 h 1 HYPERLINK l _Toc294522862 1.3.3 系統(tǒng)設(shè)置 PAGEREF _Toc294522862 h 2 HYPERLINK l _Toc294522863 2 系統(tǒng)開發(fā)技術(shù) PAGEREF _Toc294522863 h 3 HYPERLINK l _Toc294522864 2.1 JSP程序設(shè)計語言簡介 PAGEREF _Toc294522864 h 3 HYPERLINK l _Toc294522865 2.2 Java程序設(shè)計語言簡介 PAGEREF _Toc294522865 h 3 HYPERLINK l _Toc294522866 2.

11、3 SSH框架簡介 PAGEREF _Toc294522866 h 3 HYPERLINK l _Toc294522867 2.4 Mysql數(shù)據(jù)庫簡介 PAGEREF _Toc294522867 h 4 HYPERLINK l _Toc294522868 2.5 Tomcat服務(wù)器簡介 PAGEREF _Toc294522868 h 4 HYPERLINK l _Toc294522869 3 系統(tǒng)需求分析 PAGEREF _Toc294522869 h 5 HYPERLINK l _Toc294522870 3.1 系統(tǒng)設(shè)計目標 PAGEREF _Toc294522870 h 5 HYPER

12、LINK l _Toc294522871 3.2 系統(tǒng)角色 PAGEREF _Toc294522871 h 5 HYPERLINK l _Toc294522872 3.2.1 普通用戶 PAGEREF _Toc294522872 h 5 HYPERLINK l _Toc294522873 3.2.2 管理員 PAGEREF _Toc294522873 h 5 HYPERLINK l _Toc294522874 3.3 系統(tǒng)需求模塊 PAGEREF _Toc294522874 h 5 HYPERLINK l _Toc294522875 3.3.1 登錄模塊 PAGEREF _Toc2945228

13、75 h 5 HYPERLINK l _Toc294522876 3.3.2 前臺瀏覽模塊 PAGEREF _Toc294522876 h 5 HYPERLINK l _Toc294522877 3.3.3 后臺管理模塊 PAGEREF _Toc294522877 h 6 HYPERLINK l _Toc294522878 3.4 系統(tǒng)設(shè)計的特點 PAGEREF _Toc294522878 h 6 HYPERLINK l _Toc294522879 4 系統(tǒng)概要分析與設(shè)計 PAGEREF _Toc294522879 h 7 HYPERLINK l _Toc294522880 4.1 系統(tǒng)總體結(jié)

14、構(gòu) PAGEREF _Toc294522880 h 7 HYPERLINK l _Toc294522881 4.2 前臺功能分析與設(shè)計 PAGEREF _Toc294522881 h 7 HYPERLINK l _Toc294522882 4.3 后臺功能分析與設(shè)計 PAGEREF _Toc294522882 h 8 HYPERLINK l _Toc294522883 4.4 數(shù)據(jù)庫分析與設(shè)計 PAGEREF _Toc294522883 h 8 HYPERLINK l _Toc294522884 4.4.1 數(shù)據(jù)庫設(shè)計 PAGEREF _Toc294522884 h 9 HYPERLINK l

15、 _Toc294522885 4.4.2 表設(shè)計 PAGEREF _Toc294522885 h 9 HYPERLINK l _Toc294522886 5 系統(tǒng)詳細設(shè)計與實現(xiàn) PAGEREF _Toc294522886 h 12 HYPERLINK l _Toc294522887 5.1 系統(tǒng)登錄模塊 PAGEREF _Toc294522887 h 12 HYPERLINK l _Toc294522888 5.2 前臺功能模塊 PAGEREF _Toc294522888 h 12 HYPERLINK l _Toc294522889 5.2.1 查看個人信息模塊 PAGEREF _Toc294

16、522889 h 13 HYPERLINK l _Toc294522890 5.2.2 查看考勤記錄模塊 PAGEREF _Toc294522890 h 13 HYPERLINK l _Toc294522891 5.2.3 查看工資明細模塊 PAGEREF _Toc294522891 h 14 HYPERLINK l _Toc294522892 5.2.4 申請假期模塊 PAGEREF _Toc294522892 h 15 HYPERLINK l _Toc294522893 5.2.5 修改密碼模塊 PAGEREF _Toc294522893 h 15 HYPERLINK l _Toc2945

17、22894 5.3 后臺功能模塊 PAGEREF _Toc294522894 h 16 HYPERLINK l _Toc294522895 5.3.1 員工信息管理模塊 PAGEREF _Toc294522895 h 16 HYPERLINK l _Toc294522896 5.3.2 考勤記錄管理模塊 PAGEREF _Toc294522896 h 18 HYPERLINK l _Toc294522897 5.3.3 工資管理模塊 PAGEREF _Toc294522897 h 19 HYPERLINK l _Toc294522898 5.3.4 部門信息管理模塊 PAGEREF _Toc2

18、94522898 h 21 HYPERLINK l _Toc294522899 5.3.5 崗位信息管理模塊 PAGEREF _Toc294522899 h 21 HYPERLINK l _Toc294522900 總 結(jié) PAGEREF _Toc294522900 h 23 HYPERLINK l _Toc294522901 參考文獻 PAGEREF _Toc294522901 h 24 HYPERLINK l _Toc294522902 致 謝 PAGEREF _Toc294522902 h 25 HYPERLINK l _Toc294522903 附 錄 PAGEREF _Toc2945

19、22903 h 261 引 言1.1 編寫目的隨著計算機技術(shù)的發(fā)展,企業(yè)管理越來越趨于自動化,而工資管理是企業(yè)管理的重要組成部分,它與企業(yè)的財務(wù)管理、人事管理有著密切的聯(lián)系。由于企業(yè)員工工資結(jié)構(gòu)存在一定的規(guī)律性,工資發(fā)放在時間上和操作上存在一定的重復(fù)性,這使得企事業(yè)單位工資管理計算機化成為可能。本系統(tǒng)在此基礎(chǔ)上實現(xiàn)了工資信息查詢、人員信息管理、報表生成等功能。用戶只要使用IE瀏覽器訪問相關(guān)站點,輸入正確的用戶名和密碼成功登錄后,普通用戶便可查詢自己的工資情況和其他相關(guān)信息。對管理員來說使用起來也非常的方便快捷,可以進行科學(xué)、合理的對員工工資和人員進行管理。1.2 項目背景項目名稱:基于Web的

20、工資管理系統(tǒng)的設(shè)計與實現(xiàn)項目的提出者:馬春輝開發(fā)者:馬春輝 項目簡介:本系統(tǒng)主要實現(xiàn)員工工資和員工信息管理。1.3 系統(tǒng)概述1.3.1 系統(tǒng)說明該系統(tǒng)著眼于員工工資業(yè)務(wù)的實際,對發(fā)放工資業(yè)務(wù)進行了細致的分析、研究,認真分析其業(yè)務(wù)流程,采用靈活方便的計算處理方式,改變手工操作的繁雜、低效、不宜操作、靈活性差的特點,提高其工作效率和效益。實現(xiàn)員工工資管理業(yè)務(wù)的制度化、現(xiàn)代化的管理。工資管理系統(tǒng)是為了能夠迅速、準確地反映出用戶需要的各種信息,及時方便的進行各種檢索,從而為決策者做出準確的判斷提供強有力的支持。計算機的使用使得企業(yè)管理變得更加合理,更加規(guī)范,更加科學(xué)。1.3.2 具體要求系統(tǒng)數(shù)據(jù)初始化

21、;員工基本信息數(shù)據(jù)的查詢、添加、修改、刪除;企業(yè)工資結(jié)構(gòu)的基本設(shè)定;企業(yè)工資參數(shù)的設(shè)定與管理;員工考勤的管理;員工個人工資表的查詢;員工工資的瀏覽、修改、添加、刪除;系統(tǒng)的維護包括用戶的操作權(quán)限、密碼修改。1.3.3 系統(tǒng)設(shè)置員工信息、部門信息、崗位信息、考勤記錄等只能被管理員修改,添加,刪除。員工可以查看個人信息、考勤記錄、工資信息等。2 系統(tǒng)開發(fā)技術(shù)2.1 JSP程序設(shè)計語言簡介JSP(Java Server Pages)是由Sun Microsystems公司倡導(dǎo)、許多公司參與一起建立的一種動態(tài)網(wǎng)頁技術(shù)。JSP技術(shù)是在傳統(tǒng)的網(wǎng)頁HTML文件中插入Java程序段(Scriptlet)和JS

22、P標記(tag),從而形成JSP文件,插入的Java程序段可以操作數(shù)據(jù)庫、重新定向網(wǎng)頁等。JSP頁面由HTML代碼和嵌入其中的Java代碼所組成。服務(wù)器在頁面被客戶端請求以后對這些Java代碼進行處理,然后將生成的HTML頁面返回給客戶端的瀏覽器。因此,客戶端只要有瀏覽器就能瀏覽。JSP技術(shù)的設(shè)計目的是使得構(gòu)造基于Web的應(yīng)用程序更加容易和快捷,而這些應(yīng)用程序能夠與各種Web服務(wù)器,應(yīng)用服務(wù)器,瀏覽器和開發(fā)工具共同工作。 JSP規(guī)范是Web服務(wù)器、應(yīng)用服務(wù)器、交易系統(tǒng)、以及開發(fā)工具供應(yīng)商間廣泛合作的結(jié)果。在傳統(tǒng)的網(wǎng)頁HTML文件(*htm,*.html)中加入Java程序片段(Scriptle

23、t)和JSP標記(tag),就構(gòu)成了JSP網(wǎng)頁(*.jsp)。Web服務(wù)器在遇到訪問JSP網(wǎng)頁的請求時,首先執(zhí)行其中的程序片段,然后將執(zhí)行結(jié)果以HTML格式返回給客戶。程序片段可以操作數(shù)據(jù)庫、重新定向網(wǎng)頁以及發(fā)送 email 等,這就是建立動態(tài)網(wǎng)站所需要的功能。所有程序操作都在服務(wù)器端執(zhí)行,網(wǎng)絡(luò)上傳送給客戶端的僅是得到的結(jié)果,對客戶瀏覽器的要求最低,可以實現(xiàn)無Plugin,無ActiveX,無Java Applet,甚至無Frame。2.2 Java程序設(shè)計語言簡介Java語言是美國Sun公司于1995年推出的一種簡單的、面向?qū)ο蟮摹⒎植际降?、可解釋的、鍵壯的、安全的、結(jié)構(gòu)的、中立的、可移植的

24、、性能很優(yōu)異的多線程的、動態(tài)的語言。其前身為OAK語言,是SUN公司為一些消費性電子產(chǎn)品而設(shè)計的一個通用環(huán)境。他們最初的目的只是為了開發(fā)一種獨立于平臺的軟件技術(shù)。經(jīng)過Sun公司的工程師的不懈努力以及全世界無數(shù)的編程愛好者的使用,Java終于發(fā)展成為今天這樣一個集桌面(J2SE)、網(wǎng)絡(luò)(J2EE)、移動平臺(J2ME)應(yīng)用為一體的功能強大的編程語言。目前Java由于其平臺無關(guān)及分布式特性,最重要的應(yīng)用是在網(wǎng)絡(luò)應(yīng)用上。2.3 SSH框架簡介SSH框架是Spring+Struts+Hibernate組合框架的簡稱。Spring是一個開源框架,它由Rod Johnson創(chuàng)建。它是為了解決企業(yè)應(yīng)用開發(fā)的

25、復(fù)雜性而創(chuàng)建的。Spring使用基本的JavaBean來完成以前只可能由EJB完成的事情。然而,Spring的用途不僅限于服務(wù)器端的開發(fā)。從簡單性、可測試性和松耦合的角度而言,任何Java應(yīng)用都可以從Spring中受益。Struts是一種開發(fā)源代碼的Web應(yīng)用開發(fā)框架,Struts架構(gòu)MVC(Model View Controller,模型-視圖-控制器),將視圖和模型分離,用戶界面和事務(wù)邏輯分離,簡化了程序開發(fā)者的開發(fā)和維護工作,提高了系統(tǒng)的靈活性、重用性和可維護性。Hibernate是一個開放源代碼的對象關(guān)系映射框架,它對JDBC進行了非常輕量級的對象封裝,使得Java程序員可以隨心所欲的

26、使用對象編程思維來操縱數(shù)據(jù)庫。 Hibernate可以應(yīng)用在任何使用JDBC的場合,既可以在Java的客戶端程序使用,也可以在Servlet/JSP的Web應(yīng)用中使用,最具革命意義的是,Hibernate可以在應(yīng)用EJB的J2EE架構(gòu)中取代CMP,完成數(shù)據(jù)持久化的重任。2.4 Mysql數(shù)據(jù)庫簡介MySQL是一個精巧的HYPERLINK /view/115293.htmSQL數(shù)據(jù)庫管理系統(tǒng),雖然它不是開放源代碼的產(chǎn)品,但在某些情況下你可以自由使用。由于它的強大功能、靈活性、豐富的應(yīng)用編程接口(API)以及精巧的系統(tǒng)結(jié)構(gòu),受到了廣大自由軟件愛好者甚至是商業(yè)軟件用戶的青睞,特別是與Apache和P

27、HP/PERL結(jié)合,為建立基于數(shù)據(jù)庫的動態(tài)網(wǎng)站提供了強大動力。MySQL是一個真正的多用戶、多線程SQL數(shù)據(jù)庫服務(wù)器。2.5 Tomcat服務(wù)器簡介Tomcat 很受廣大程序員的喜歡,因為它運行時占用的系統(tǒng)資源小,擴展性好,支持負載平衡與郵件服務(wù)等開發(fā)應(yīng)用系統(tǒng)常用的功能;而且它還在不斷的改進和完善中,任何一個感興趣的程序員都可以更改它或在其中加入新的功能。 Tomcat 是一個輕量級應(yīng)用服務(wù)器,在中小型系統(tǒng)和并發(fā)訪問用戶不是很多的場合下被普遍使用,是開發(fā)和調(diào)試JSP 程序的首選。對于一個初學(xué)者來說,可以這樣認為,當(dāng)在一臺機器上配置好Apache 服務(wù)器,可利用它響應(yīng)對HTML 頁面的訪問請求。

28、實際上Tomcat 部分是Apache 服務(wù)器的擴展,但它是獨立運行的,所以當(dāng)你運行tomcat 時,它實際上作為一個與Apache 獨立的進程單獨運行的。3系統(tǒng)需求分析?MACROBUTTON NoMacro Click and type chapter title3.1 系統(tǒng)設(shè)計目標員工工資管理系統(tǒng)用來對員工工資及員工相關(guān)信息進行管理。本系統(tǒng)可以方便管理員管理員工工資及相關(guān)信息,為管理員提供高效的工作效率與質(zhì)量保證等,主要包括管理員登錄、員工信息管理、工資結(jié)算管理、工資結(jié)構(gòu)設(shè)置、考勤信息管理、部門信息管理、崗位信息管理。本系統(tǒng)還可以方便員工查看個人工資詳細情況,主要包括查看個人信息及個人工

29、資明細,并可以申請假期。3.2 系統(tǒng)角色3.2.1 普通用戶員工通過該系統(tǒng)可以查看個人相關(guān)信息、每月工資信息、每月考勤信息,可以修改密碼,并可以向上級申請假期。3.2.2 管理員管理員通過該系統(tǒng)可以管理員工信息(包括增加、刪除、修改、查看員工信息)、管理員工工資信息(包括查看員工工資信息、工資結(jié)算、設(shè)置工資結(jié)構(gòu))、管理部門信息(包括對部門信息的增刪改查)、管理崗位信息(包括對崗位信息的增刪改查)。3.3 系統(tǒng)需求模塊3.3.1 登錄模塊關(guān)聯(lián)角色:員工、管理員。需求描述:員工登錄該系統(tǒng)進入前臺瀏覽頁面,管理員登錄該系統(tǒng)進入后臺管理頁面。備注說明:只有合法用戶才能進入相關(guān)界面。3.3.2 前臺瀏覽

30、模塊關(guān)聯(lián)角色:員工。需求描述:員工可以查看個人詳細信息、工資信息、考勤信息,可以申請假期。備注說明:員工只能查看個人相關(guān)信息。3.3.3 后臺管理模塊關(guān)聯(lián)角色:管理員。需求描述:管理員可以進行員工信息管理、員工工資管理、部門信息管理、崗位信息管理、工資管理(包括工資結(jié)算、工資結(jié)構(gòu)設(shè)置)。3.4 系統(tǒng)設(shè)計的特點采用MVC(Model、View、Control)架構(gòu),結(jié)合SSH(Spring+Struts+Hibernate)框架實現(xiàn)系統(tǒng)的功能。MVC:當(dāng)前非常流行的一種系統(tǒng)架構(gòu)模式。MVC作為模式:提供一個原則,可以按照模型(model)、界面(view)、控制(control)等角色把一個應(yīng)用

31、系統(tǒng)的各個部分之間的耦合解脫、分割開來。MVC(Model-view-controller pattern)模式由三部分組成:模型(Model):是一組表示應(yīng)用系統(tǒng)商業(yè)邏輯的對象。它通常包括表示商業(yè)抽象的類(如:賬號、采購等等)和現(xiàn)實世界的對象(如職員、客戶等)。視圖(View):是用一種向用戶表達信息的具體方式。要理解視圖的捷徑是把視圖想象成為一個具體的網(wǎng)頁或者屏幕,它能夠給用戶提供一組互相有關(guān)的信息。 控制(Controller):是應(yīng)用系統(tǒng)處理具體流程和導(dǎo)向的核心部分。它把模型對象給出的信息翻譯成視圖可以理解的形式,并且處理系統(tǒng)流程的走向,例如視圖在下一個回應(yīng)中將會給用戶什么樣的反饋。M

32、VC的關(guān)鍵是商業(yè)模型的設(shè)計與實現(xiàn)可以獨立于應(yīng)用系統(tǒng)的結(jié)構(gòu)設(shè)計與實現(xiàn)(控制)和界面的設(shè)計與實現(xiàn)(視圖)。本系統(tǒng)采用的是SSH(Struts + Spring + Hibernate)三層架構(gòu)。Struts用于表現(xiàn)層,負責(zé)頁面數(shù)據(jù)提取,頁面動作響應(yīng)。Spring是一種輕量級的框架模型,主要負責(zé)業(yè)務(wù)邏輯層的對象創(chuàng)建,表現(xiàn)層的Action的創(chuàng)建,以及持久層的DAO的創(chuàng)建。Hibernate負責(zé)把內(nèi)存中的數(shù)據(jù)對象保存到數(shù)據(jù)庫中。在SSH三層架構(gòu)中,主要用Struts來實現(xiàn)對頁面的響應(yīng)就頁面跳轉(zhuǎn)。當(dāng)用戶向服務(wù)器發(fā)送某一個請求,這個請求會被服務(wù)器(Tomcat)接收到,服務(wù)器會根據(jù)請求的內(nèi)容,將這個請求發(fā)送

33、給相應(yīng)的Servlet實例進行處理。Servlet會根據(jù)其內(nèi)容,去生成相應(yīng)的Action實例。本程序中,Struts將Action的創(chuàng)建工作交給了Spring的代理類來完成,創(chuàng)建這個實例后,將這個實例注入,由Struts調(diào)用Action中的相應(yīng)方法。Action中可以配置一個或多個Service對象,Action調(diào)用Service中的方法進行業(yè)務(wù)處理。Service中通常會有一個或多個DAO的對象,DAO繼承了Hibernate的借口,用來處理數(shù)據(jù)庫的操作。而Action,Service,DAO的創(chuàng)建與注入,都是由Spring的Bean工廠來實現(xiàn)的。4 系統(tǒng)概要分析與設(shè)計4.1 系統(tǒng)總體結(jié)構(gòu)本

34、系統(tǒng)主要由登錄模塊、前臺員工瀏覽模塊、后臺管理員管理模塊構(gòu)成。普通員工正確登錄后進入前臺員工瀏覽界面,管理員正確登錄后進入后臺管理員管理界面。系統(tǒng)結(jié)構(gòu)圖如圖4-1所示:圖4-1 系統(tǒng)結(jié)構(gòu)圖4.2 前臺功能分析與設(shè)計前臺功能主要有員工查看個人信息、查看工資明細、查看考勤信息、申請假期、修改登錄密碼等。前臺頁面設(shè)計如圖4-2所示:圖4-2 前臺頁面跳轉(zhuǎn)圖4.3 后臺功能分析與設(shè)計后臺功能主要有員工信息管理(包括增加、刪除、修改、查看員工信息)、員工工資管理(包括查看員工工資、設(shè)置崗位工資結(jié)構(gòu)、工資結(jié)算等)、考勤記錄管理(考勤內(nèi)容有出差、加班、請假、遲到早退、曠工等)、部門信息管理(包括增加、刪除、

35、修改、查看員工信息)、崗位信息管理(包括增加、刪除、修改、查看崗位信息)。后臺頁面設(shè)計如圖4-3所示:圖4-3 后臺頁面跳轉(zhuǎn)圖4.4 數(shù)據(jù)庫分析與設(shè)計由于企業(yè)組織結(jié)構(gòu)呈樹形,即一個企業(yè)有多個部門;一個部門有多個崗位,一個崗位對應(yīng)一個崗位工資結(jié)構(gòu),每個崗位有多個員工;每個員工有多條考勤記錄和工資發(fā)放記錄,一個員工對應(yīng)一個系統(tǒng)用戶身份。從上往下看,基本都是一對多或一對一的關(guān)系,而在本系統(tǒng)中我使用了Hibernate技術(shù)和Java編程思想,在建立實體抽象時,分別作了一些對應(yīng)的引用來實現(xiàn)數(shù)據(jù)庫表之間的關(guān)聯(lián),這樣不僅充分運用了面向?qū)ο缶幊痰乃枷?,并簡化了表的結(jié)構(gòu),使得數(shù)據(jù)庫管理更合理化。4.4.1 數(shù)據(jù)

36、庫設(shè)計建立數(shù)據(jù)庫employeemanage,包含的表如圖4-4所示:圖4-4 數(shù)據(jù)庫表圖4.4.2 表設(shè)計部門表如圖4-5所示:圖4-5 部門表崗位表如圖4-6所示:圖4-6 崗位表員工表如圖4-7所示:圖4-7 員工表崗位工資結(jié)構(gòu)表如圖4-8所示:圖4-8 崗位工資結(jié)構(gòu)表用戶表如圖4-9所示:圖4-9 用戶表工資記錄表如圖4-10所示:圖4-10 工資記錄表考勤記錄表如圖4-11所示:圖4-11 考勤記錄表考勤表如圖4-12所示:圖4-12考勤表5 系統(tǒng)詳細設(shè)計與實現(xiàn)系統(tǒng)功能模塊主要有登錄模塊、前臺功能模塊、后臺功能模塊等。5.1 系統(tǒng)登錄模塊系統(tǒng)用戶輸入正確的用戶名和密碼可登錄系統(tǒng)。若為

37、普通員工則進入前臺瀏覽首頁,若為管理員則進入后臺管理頁面。系統(tǒng)登錄頁面如圖5-1所示:圖5-1 系統(tǒng)登錄頁面實現(xiàn)代碼部分如下:String identify=userService.login(user);if(identify.equals(admin)return adminLogin_succ;else if(identify.equals(emp)return empLogin_succ; elsereturn login_fail; 5.2 前臺功能模塊前臺功能模塊主要由查看個人信息、考勤記錄、工資明細,申請假期,修改密碼等模塊組成。前臺首頁如圖5-2所示:圖5-2 前臺首頁5.2.

38、1 查看個人信息模塊員工點擊個人詳細信息按鈕,可查看個人詳細信息。個人信息頁面如圖5-3所示:圖5-3 個人信息頁面5.2.2 查看考勤記錄模塊員工點擊考勤記錄按鈕,可查看個人考勤記錄信息??记谟涗涰撁嫒鐖D5-4所示:圖5-4 個人考勤記錄頁面5.2.3 查看工資明細模塊員工點擊工資明細按鈕,可查看個人工資明細情況。工資主要由崗位基本工資、五險一金、考勤相應(yīng)獎罰金額等組成。工資明細頁面如圖5-5所示:圖5-5 工資明細頁面5.2.4 申請假期模塊員工點擊申請假期按鈕,可進入假期申請頁面,需填寫請假理由、請假時間等信息。申請假期頁面如圖5-6所示:圖5-6 申請假期頁面實現(xiàn)代碼部分如下:user

39、Service.applyLeave(leaveInfors);5.2.5 修改密碼模塊員工點擊修改密碼按鈕,可以修改登錄密碼,需鍵入舊密碼、新密碼、新密碼確認等信息。修改密碼頁面如圖5-7所示:圖5-7 修改密碼頁面實現(xiàn)代碼部分如下:User user=(User)this.getSession().getAttribute(user);User.setPassword(newPassword);userService.updateUser(user);5.3 后臺功能模塊后臺功能模塊主要由員工信息管理、考勤記錄管理、工資管理、部門信息管理、崗位信息管理等模塊組成。5.3.1 員工信息管理模

40、塊點擊員工信息管理菜單系統(tǒng)列出員工信息管理的子菜單,包括增加員工信息、刪除員工信息、修改員工信息、查看員工信息等。增加員工信息。需填寫員工姓名、性別、住址、聯(lián)系方式、電子郵箱、身份證號等基本信息,并選擇員工所屬部門和崗位,還可以上傳照片,最后選擇提交,信息合法即可添加成功,系統(tǒng)自動生成員工編號。增加員工信息頁面如圖5-8所示:圖5-8 增加員工信息頁面實現(xiàn)代碼部分如下: employeeService.addEmployee(post,employee);刪除員工信息。點擊刪除員工信息菜單,系統(tǒng)列出員工列表,從列表中選擇或直接搜索員工,點擊刪除按鈕,確認刪除即可刪除該員工相關(guān)信息。刪除員工信息

41、頁面如圖5-9所示:圖5-9 刪除員工信息頁面實現(xiàn)代碼部分如下:employeeService.deleteEmployee(empNOs);修改員工信息。點擊修改員工信息菜單,系統(tǒng)列出員工列表,從列表中選擇或直接搜索員工,點擊修改按鈕,系統(tǒng)列出該員工詳細信息,并可以進行修改。修改員工信息頁面如圖5-10所示: 圖5-10 修改員工信息頁面實現(xiàn)代碼部分如下:employeeService.updateEmployee(empNO,employee);查看員工信息。點擊查看員工信息菜單,系統(tǒng)列出員工列表,從列表中選擇或直接搜索員工,系統(tǒng)列出該員工的詳細信息。查看員工信息頁面如圖5-11所示: 圖

42、5-11 查看員工信息頁面實現(xiàn)代碼部分如下:List employeeList=employeeService.lookEmployee();this.getRequest().setAttribute(employeeList,employeeList);5.3.2 考勤記錄管理模塊點擊考勤記錄管理菜單系統(tǒng)列出考勤管理子菜單,包括查看考勤記錄、加班管理、出差管理、遲到管理、曠工管理、請假管理等。查看考勤記錄。點擊查看考勤記錄菜單,可查看員工考勤記錄。員工加班管理。點擊加班管理菜單,可添加員工加班記錄。員工出差管理。點擊出差管理菜單,可添加員工出差記錄。員工遲到管理。點擊遲到管理菜單,可添加員

43、工遲到記錄。員工曠工管理。點擊曠工管理菜單,可添加員工曠工記錄。員工請假管理。點擊請假管理菜單,可添加員工請假記錄。員工加班管理頁面如圖5-12所示:圖5-12 員工加班管理頁面(check_extra.jsp)實現(xiàn)代碼部分如下:checkRecordService.checkExtra(empNOs);員工出差、遲到、曠工、請假等管理頁面與圖類似。5.3.3 工資管理模塊點擊工資管理菜單系統(tǒng)列出工資管理子菜單,主要有工資發(fā)放記錄、設(shè)置崗位工資結(jié)構(gòu)、工資結(jié)算等。查看員工工資發(fā)放記錄。點擊工資發(fā)放記錄菜單,可查看員工工資明細及發(fā)放情況。工資查看頁面如圖5-13所示:圖5-13 工資查看頁面(sa

44、lary_look.jsp)實現(xiàn)代碼部分如下:List salaryRecordList=salaryRecordService.lookSalaryRecords(department);this.getRequest().setAttribute(salaryRecordList, salaryRecordList);設(shè)置崗位工資結(jié)構(gòu)。點擊工資設(shè)置菜單,可設(shè)置崗位工資結(jié)構(gòu)和各工資項相應(yīng)金額。選擇崗位名稱,設(shè)置該崗位基本工資、醫(yī)療保險金額、養(yǎng)老保險金額、失業(yè)保險金額、工傷保險金額、生育保險金額、住房公積金、出差補助、加班獎金、請假扣額、遲到早退罰金、曠工罰金等。工資結(jié)構(gòu)設(shè)置頁面如圖5-14所

45、示: 圖5-14 工資結(jié)構(gòu)設(shè)置頁面(salary_set.jsp)實現(xiàn)代碼部分如下:postSalaryService.setPostSalary(post,posSalary);工資結(jié)算。點擊工資結(jié)算菜單,可結(jié)算當(dāng)月員工工資。工資計算相關(guān)公式如下:員工總工資=崗位基本工資+三金五險+考勤獎罰金額 公式 5-1實際發(fā)放金額=崗位基本工資+考勤獎罰金額 公式 5-2工資結(jié)算頁面如圖5-15所示:圖5-15 工資結(jié)算頁面(salary_account.jsp)實現(xiàn)代碼部分如下: salaryRecordService.accountSalary(String empNOs);5.3.4 部門信息管

46、理模塊點擊部門信息管理菜單系統(tǒng)列出部門信息管理子菜單,主要有增加部門信息、刪除部門信息、修改部門信息、查看部門信息等。增加部門信息。點擊增加部門信息菜單,可增加部門信息。需填寫部門名稱,部門描述等信息。點擊提交按鈕,信息合法即可添加成功,系統(tǒng)自動生成部門編號。刪除部門信息。點擊刪除部門信息菜單,系統(tǒng)列出部門信息列表,從列表中選擇或直接搜索部門,點擊刪除按鈕,確認刪除即可刪除該部門信息。修改部門信息。點擊修改部門信息菜單,系統(tǒng)列出部門信息列表,可從列表中選擇或直接搜索部門,點擊修改按鈕,系統(tǒng)列出該部門詳細信息并可以進行修改。查看部門信息。點擊查看部門信息菜單,系統(tǒng)列出部門信息列表,可從列表中選擇

47、或直接搜索部門,系統(tǒng)列出部門詳細信息。修改部門信息頁面如圖5-16所示:圖5-16 修改部門信息頁面(dept_update.jsp)實現(xiàn)代碼部分如下:departmentService.updateDepartment(department);5.3.5 崗位信息管理模塊點擊崗位信息管理菜單系統(tǒng)列出崗位信息管理子菜單,主要有增加崗位信息、刪除崗位信息、修改崗位信息、查看崗位信息等增加崗位信息。點擊增加崗位信息菜單,可增加崗位信息。需填寫崗位名稱,崗位描述等信息,并選擇崗位所屬部門。點擊提交按鈕,信息合法即可添加成功,系統(tǒng)自動生成崗位編號。刪除崗位信息。點擊刪除崗位信息菜單,系統(tǒng)列出崗位信息列

48、表,從列表中選擇或直接搜索崗位,點擊刪除按鈕,確認刪除即可刪除該崗位信息。修改崗位信息。點擊修改崗位信息菜單,系統(tǒng)列出崗位信息列表,可從列表中選擇或直接搜索崗位,點擊修改按鈕,系統(tǒng)列出該崗位詳細信息并可以進行修改。查看崗位信息。點擊查看崗位信息菜單,系統(tǒng)列出崗位信息列表,可從列表中選擇或直接搜索崗位,系統(tǒng)列出崗位詳細信息。增加崗位信息頁面如圖5-17所示:圖5-17 增加崗位信息頁面(post_add.jsp)實現(xiàn)代碼部分如下:postService.addPost(post,department);總 結(jié)畢業(yè)設(shè)計是我大學(xué)生涯的最后一次作業(yè),所以我很認真地對待畢業(yè)設(shè)計。實習(xí)期間我去了大連安博參

49、加實訓(xùn),通過實訓(xùn)我學(xué)到了很多編程知識,這些為我的畢業(yè)設(shè)計打下了基礎(chǔ)。由于已經(jīng)有過兩次項目經(jīng)驗,所以我做畢業(yè)設(shè)計時思路比較清晰。從項目需求分析,到概要設(shè)計,到詳細設(shè)計,再到系統(tǒng)實現(xiàn),期間我搜集了很多相關(guān)的資料,這些給了我很多啟發(fā),使我的畢業(yè)設(shè)計越來越成熟。但是,做項目具體實現(xiàn)時還是遇到很多問題,比如表結(jié)構(gòu)設(shè)計不完善,表關(guān)聯(lián)設(shè)計不合理,這些都費了很大功夫,后來理清思路,重新設(shè)計,把底層搭建好后,后期的工作才越來越順手。畢業(yè)論文是很重要的一部分,到目前為止已基本完成,有不妥的地方請多多指教。參考文獻1李代平軟件工程M北京:清華大學(xué)出版社,2006.2BlochJ.Effective Java M北京

50、:機械工業(yè)出版社,2003.3張永強Java程序設(shè)計應(yīng)用教程M北 京:電子工業(yè)出版社,2007.4孫鑫Java Web開發(fā)詳解M北京: 電子工業(yè)出版社,2006.5向傳杰JSPServlet基礎(chǔ)案例教程M北京:電子工業(yè)出版社,2006.6劉曉華JSP應(yīng)用開發(fā)詳解(第三版)M北京: 電子工業(yè)出版社,2005.7伯格斯坦JSP設(shè)計M. 北 京:中國電力出版社,2002.8鄧子云,張賜JSP網(wǎng)絡(luò)編程從基礎(chǔ)到實踐M北京:電子工業(yè)出版社,2005.9薩師煊,王珊數(shù)據(jù)庫系統(tǒng)概論M北京:高等教育出版社,1983.10粟菊民Java Web 應(yīng)用程序設(shè)計M北京:機械工業(yè)出版社,200711甘容,李明東.“人事

51、工資管理信息系統(tǒng)員工工資信息查詢模塊的實現(xiàn)”. 甘肅科技,2007.致 謝四年大學(xué)生活即將過去,在畢業(yè)設(shè)計這最后一程里有領(lǐng)導(dǎo)的關(guān)懷,有導(dǎo)師的指導(dǎo),有同學(xué)的幫助,這段時間讓我學(xué)到了很多,收獲了很多,這對即將畢業(yè)的我來說是很寶貴的財富。在這里特別感謝畢業(yè)設(shè)計導(dǎo)師。從選題、開題報告、項目編寫乃至論文的撰寫都是您給予我認真的、細致的、具體的指導(dǎo),使我才能完成畢業(yè)設(shè)計和論文撰寫的工作。也特別感謝小組成員的協(xié)助與支持,使我能夠順利及時地完成畢業(yè)設(shè)計。感謝所有領(lǐng)導(dǎo)、老師、同學(xué)、朋友的幫助,在以后的學(xué)習(xí)和工作中我會嚴格要求自己,并將把你們的無私幫助牢記在心。同時也感謝學(xué)院為我提供良好的環(huán)境使我順利完成畢業(yè)設(shè)計

52、。 最后,我要向百忙之中抽時間對本文進行審閱,評議和參與本人論文答辯的各位老師表示感謝。 附 錄源代碼清單實體類與數(shù)據(jù)庫表映射文件如下(以Employee.hbm.xml為例):Dao層接口實現(xiàn)類如下(以EmployeeDaoImpl類為例):package com.cc.dao.impl;import java.util.List;import org.hibernate.Query;import org.hibernate.SessionFactory;import com.cc.dao.EmployeeDao;import com.cc.entity.Employee;public cl

53、ass EmployeeDaoImpl implements EmployeeDaoprivate SessionFactory sessionFactory;/刪除員工信息public void delete(Employee employee) this.sessionFactory.getCurrentSession().delete(employee);/按員工序列號查找員工public Employee findEmployeeById(int employeeId) Employee emp=(Employee)this.sessionFactory.getCurrentSessi

54、on().get(Employee.class, employeeId);return emp;/增加員工信息public void insert(Employee employee) this.sessionFactory.getCurrentSession().save(employee);/修改員工信息public void update(Employee employee) this.sessionFactory.getCurrentSession().update(employee);/查詢所有員工信息SuppressWarnings(unchecked)public List fi

55、ndAllEmployee() / TODO Auto-generated method stubQuery query=this.sessionFactory.getCurrentSession().createQuery(from Employee);List empList=query.list();return empList;/按員工編號查找員工public Employee findEmployeeByNo(String empNo) String hql=from Employee where no=?;Query query=this.sessionFactory.getCur

56、rentSession().createQuery(hql);query.setString(0, empNo);Employee emp=(Employee)query.uniqueResult();return emp;/按員工姓名查找員工SuppressWarnings(unchecked)public List findEmployeeByName(String empName) / TODO Auto-generated method stubString hql=from Employee where name like ?;Query query=this.sessionFact

57、ory.getCurrentSession().createQuery(hql);query.setString(0, %+empName+%);List list=query.list();return list;public SessionFactory getSessionFactory() return sessionFactory;public void setSessionFactory(SessionFactory sessionFactory) this.sessionFactory = sessionFactory;Service層接口實現(xiàn)類如下(以EmployeeServi

58、ceImpl為例):package com.cc.service.impl;import java.util.Iterator;import java.util.List;import java.util.Set;import org.springframework.transaction.annotation.Transactional;import com.cc.dao.EmployeeDao;import com.cc.dao.PostDao;import com.cc.entity.Employee;import com.cc.entity.Post;import com.cc.ser

59、vice.EmployeeService;Transactionalpublic class EmployeeServiceImpl implements EmployeeService private EmployeeDao employeeDao;private PostDao postDao;/增加員工信息public void addEmployee(Employee employee, Post post) / TODO Auto-generated method stubPost p=postDao.findPostByName(post.getName();employee.se

60、tPost(p);Set emps=p.getEmps();Iterator it=emps.iterator();Employee emp=new Employee();emp.setNo(0);Employee empn=new Employee();while(it.hasNext()empn=it.next();if(empn.getNo().compareTo(emp.getNo()0)emp=empn;String eno=emp.getNo().substring(6);int no=Integer.parseInt(eno);no+;if(no10)eno=0+no;emplo

溫馨提示

  • 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. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論