基于J2EE Struts Hibernate的人力資源管理系統(tǒng)畢業(yè)設(shè)計

上傳人:r****d 文檔編號:126815313 上傳時間:2022-07-29 格式:DOC 頁數(shù):32 大?。?27.50KB
收藏 版權(quán)申訴 舉報 下載
基于J2EE Struts Hibernate的人力資源管理系統(tǒng)畢業(yè)設(shè)計_第1頁
第1頁 / 共32頁
基于J2EE Struts Hibernate的人力資源管理系統(tǒng)畢業(yè)設(shè)計_第2頁
第2頁 / 共32頁
基于J2EE Struts Hibernate的人力資源管理系統(tǒng)畢業(yè)設(shè)計_第3頁
第3頁 / 共32頁

下載文檔到電腦,查找使用更方便

18 積分

下載資源

還剩頁未讀,繼續(xù)閱讀

資源描述:

《基于J2EE Struts Hibernate的人力資源管理系統(tǒng)畢業(yè)設(shè)計》由會員分享,可在線閱讀,更多相關(guān)《基于J2EE Struts Hibernate的人力資源管理系統(tǒng)畢業(yè)設(shè)計(32頁珍藏版)》請在裝配圖網(wǎng)上搜索。

1、基于J2EE+Struts+Hibernate的人力資源管理系統(tǒng)畢業(yè)設(shè)計 基于J2EE+Struts+Hibernate的 人力資源管理系統(tǒng) 摘 要 目前的人力資源管理軟件大多是單機(jī)系統(tǒng)下的應(yīng)用,為此,本系統(tǒng)采用面向?qū)ο蟮木幊碳夹g(shù),在Struts2+Hibernate框架的基礎(chǔ)上,采用B/S架構(gòu),設(shè)計出基于Web的符合用戶使用技能和接受程度的人力資源管理系統(tǒng),從而解決了傳統(tǒng)的人力資源管理系統(tǒng)中無法在網(wǎng)絡(luò)環(huán)境中傳輸數(shù)據(jù)的缺陷,數(shù)據(jù)庫采用MySQL,采用Ajax實現(xiàn)異步通信,為客戶提供一個流暢的WEB界面。 本文首先在前言部分簡單介紹了有關(guān)人力資源信息管理方面的現(xiàn)狀;接著,對開發(fā)本系統(tǒng)所用各種技術(shù)

2、進(jìn)行了簡單介紹;然后,根據(jù)軟件開發(fā)流程,對本系統(tǒng)的開發(fā)進(jìn)行了需求分析,確定了本系統(tǒng)所要實現(xiàn)的功能模塊為:員工檔案管理、招聘管理、培訓(xùn)管理、獎懲管理、薪資管理、考勤管理、系統(tǒng)管理、員工自助管理模塊;再者,本文重點對本系統(tǒng)的開發(fā)進(jìn)行概要設(shè)計和詳細(xì)的設(shè)計;最后,本文對本系統(tǒng)各個功能模塊的代碼實現(xiàn)過程進(jìn)行了介紹。關(guān)鍵詞:Struts2;Hibernate;Ajax;B/S架構(gòu);面向?qū)ο?人力資源 前言1.1 人力資源信息管理系統(tǒng)簡述 人力資源管理信息系統(tǒng)(Human Resource Information System,HRIS)是一個用來為制定人力資源決策提供信息的集成系統(tǒng),是為了提高企業(yè)人力資源

3、管理水平而開發(fā)的。主要目標(biāo)是通過對員工及人力資源活動信息(招聘、工資)等的編制來提高效率,及時與用戶溝通,用最少的人力、物力滿足用戶需求。 人力資源管理信息系統(tǒng)在企業(yè)的有效實施,將會促進(jìn)企業(yè)人力資源管理向規(guī)范化、標(biāo)準(zhǔn)化、決策科學(xué)化發(fā)展;促使企業(yè)人力資源管理人員從日常大量的行政事務(wù)性工作中解脫出來,逐步專注于對企業(yè)的人力資源管理活動進(jìn)行計劃,組織,監(jiān)督和咨詢職能;調(diào)動企業(yè)各級管理者和每一位普通員工都積極參與到人力資源管理活動中來。并且通過大力推進(jìn)人力資源管理信息化建設(shè),優(yōu)化了企業(yè)人力資源管理流程,建立起開放式的人力資源管理模式,從而提升企業(yè)人力資源管理水平和管理效率,充分調(diào)動一切有利因素,最終使

4、人成為企業(yè)經(jīng)營發(fā)展中真正的第一資源。 人力資源管理信息系統(tǒng)是人力資源管理的電子信息化,是企業(yè)基于高速度、大容量的硬件和先進(jìn)的IT軟件的人力資源管理模式,即人力資源管理信息化或自動化。 1.2 問題提出與現(xiàn)狀分析 進(jìn)入信息時代以來,隨著電腦與網(wǎng)絡(luò)技術(shù)的日逐發(fā)達(dá),電子商務(wù)空前發(fā)展,企業(yè)之間的競爭已經(jīng)從有形的市場逐漸轉(zhuǎn)向了網(wǎng)絡(luò),企業(yè)信息化成了企業(yè)在競爭中處于不敗之地的有效手段之一。而相應(yīng)的企業(yè)管理也都逐步進(jìn)入信息化軌道?人力資源管理系統(tǒng)就應(yīng)運(yùn)而生了。 據(jù)統(tǒng)計,目前,美國在財務(wù)會計上占有90%的工作由計算機(jī)完成,人事管理中80-100%的信息處理由計算機(jī)完成,計劃管理是80?90%,在計算機(jī)應(yīng)用發(fā)展較

5、快的國家中,計算機(jī)應(yīng)用于經(jīng)濟(jì)管理的占80%,由此可以看出,在國外經(jīng)濟(jì)管理是計算機(jī)應(yīng)用的主要領(lǐng)域。我國的人事管理等信息系統(tǒng)的開發(fā)應(yīng)用是從1973年開始的,83年以后才開始了大量的實際的開發(fā)和研究工作。因此,信息資源的開發(fā)和利用已被確立為國民經(jīng)濟(jì)信息的核心內(nèi)容,信息數(shù)字化,傳輸?shù)木W(wǎng)絡(luò)化是縮小發(fā)展中國家與發(fā)達(dá)國家差距的捷徑。 國內(nèi)目前的人力資源管理軟件大多處于傳統(tǒng)的人事管理系統(tǒng)階段,它們都只有人員和機(jī)構(gòu)檔案的管理、簡單的考勤管理和工資管理,缺少作為人力資源管理軟件所必需的人員招聘與任用、培訓(xùn)與開發(fā)等功能。國外系統(tǒng)雖然業(yè)務(wù)流程非常清晰,管理非常規(guī)范,但不夠靈活,通用性不強(qiáng)。 近年來,隨著Interne

6、t的快速發(fā)展,基于web的應(yīng)用系統(tǒng)的開發(fā)備受關(guān)注,但目前的人力資源管理軟件大多是單機(jī)系統(tǒng)下的應(yīng)用,這樣對信息的管理者和使用者來說很不方便,并且由于開發(fā)工具本身的限制,對網(wǎng)絡(luò)功能的支持強(qiáng)度不強(qiáng),為以后軟件的升級到互聯(lián)網(wǎng)帶來了麻煩。因此,有必要開發(fā)一個基于網(wǎng)絡(luò)的人力資源管理系統(tǒng),能在網(wǎng)絡(luò)環(huán)境下實現(xiàn)數(shù)據(jù)的傳輸。而且,人力資源管理系統(tǒng)不僅僅能提供給企事業(yè)單位的人事部門或人力資源部門使用,而且也能提供給單位所有的部門和員工使用,這樣才能使人力資源系統(tǒng)發(fā)揮出更大的作用。 自1900年以來,人力資源管理內(nèi)容發(fā)生了很大變化,最初只是一些簡單的操作:工資發(fā)放,員工檔案記錄,安排社區(qū)訪問等,但現(xiàn)在隨著企業(yè)自身人力

7、資源的日益龐大、復(fù)雜程度逐漸增強(qiáng),增加了很多管理方式,如:招聘、培訓(xùn)、員工調(diào)動等人機(jī)作坊再也無法適應(yīng)如今企業(yè)的人事管理了1。 HRIS使得人力資源規(guī)劃和管理決策的做出可以在很在程度上依賴于相關(guān)信息,而不是僅僅靠管理人員的觀點與直覺,這對于企業(yè)的決策者和管理者來說都至關(guān)重要。作為計算機(jī)應(yīng)用的一部分,使用計算機(jī)對人事資料信息進(jìn)行管理,具有手工管理所無法比擬的優(yōu)點。例如:檢索迅速、查找方便、可靠性高、存儲量大、保密性好、壽命長、成本低等。這些優(yōu)點能夠極大地提高企業(yè)人事管理系統(tǒng)的效率,也是企業(yè)的科學(xué)化、正規(guī)化管理,與世界接軌的重要條件。 2 相關(guān)開發(fā)環(huán)境及技術(shù)理論?服務(wù)器操作系統(tǒng):Windows XP

8、數(shù)據(jù)庫服務(wù)器:SQL2000 2.2 技術(shù)簡介2.2.1 系統(tǒng)設(shè)計的主要技術(shù)路線 本管理系統(tǒng)是在Struts + Hibernate框架的基礎(chǔ)上開發(fā)出來的。典型的J2EE結(jié)構(gòu)分為三層結(jié)構(gòu):表現(xiàn)層、業(yè)務(wù)邏輯層和數(shù)據(jù)服務(wù)層。三層體系將業(yè)務(wù)規(guī)則、數(shù)據(jù)訪問及合法性校驗等工作放在中間層處理。客戶端不直接與數(shù)據(jù)庫交互,而是通過組件與中間層建立連接,再由中間層與數(shù)據(jù)庫交互。表現(xiàn)層是傳統(tǒng)的JSP技術(shù),自1999年問世以來,經(jīng)過多年的發(fā)展,其廣泛的應(yīng)用和穩(wěn)定的表現(xiàn),為其作為表現(xiàn)層技術(shù)打下了堅實的基礎(chǔ)。 該系統(tǒng)從邏輯結(jié)構(gòu)上分為四層:表示層、業(yè)務(wù)邏輯層、服務(wù)層和數(shù)據(jù)持久層。其中使用Struts2作為網(wǎng)站的整體基礎(chǔ)架

9、構(gòu),負(fù)責(zé)MVC的分離,在Struts2框架的模型部分,利用Hibernate框架對持久層提供支持。 主要使用技術(shù):6Html、JavaScript、JSP、Servlet、Struts2、Hibernate、Ajax。2.2.2 J2EE體系結(jié)構(gòu)介紹 J2EE是一種利用Java 2平臺來簡化企業(yè)解決方案的開發(fā)、部署和管理相關(guān)的復(fù)雜問題的體系結(jié)構(gòu)。J2EE核心是一組技術(shù)規(guī)范與指南,其中所包含的各類組件、服務(wù)架構(gòu)及技術(shù)層次,均有共通的標(biāo)準(zhǔn)及規(guī)格,讓各種依循J2EE架構(gòu)的不同平臺之間,存在良好的兼容性,解決過去企業(yè)后端使用的信息產(chǎn)品彼此之間無法兼容,導(dǎo)致企業(yè)內(nèi)部或外部難以互通的窘境。 J2EE技術(shù)的

10、基礎(chǔ)就是核心Java平臺或Java 2平臺的標(biāo)準(zhǔn)版,J2EE不僅鞏固了標(biāo)準(zhǔn)版中的許多優(yōu)點,如編寫一次、隨處運(yùn)行的特性、方便存儲數(shù)據(jù)庫的JDBC API以及能夠在Internet應(yīng)用中保護(hù)數(shù)據(jù)的安全模式等等,同時還提供了對EJB(Enterprise JavaBeans)、Java Servlets API、JSPJava Server Pages以及XML技術(shù)的全面支持。其最終目的就是成為一個能夠使企業(yè)開發(fā)者大幅縮短投放市場時間的體系結(jié)構(gòu)。(1)Struts2簡介 STRUTS是Apache組織的一個開放源碼的項目,它是一個可重用的MVC設(shè)計。STRUTS應(yīng)用有3個主要部件:Servlet及負(fù)

11、責(zé)具體業(yè)務(wù)處理的Action類(Controller),JSP頁面(view)和STRUTS應(yīng)用的業(yè)務(wù)邏輯封裝(Model)。2.2.3 面向?qū)ο缶幊趟枷虢榻B隨著計算機(jī)硬件設(shè)備功能的進(jìn)一步提高,使得面向?qū)ο蟮木幊坛蔀榭赡堋C嫦驅(qū)ο蟮木幊谈臃先祟惖乃季S方式,編寫的程序更加健壯和強(qiáng)大,更重要的是,面向?qū)ο缶幊坦膭顒?chuàng)造性的程序設(shè)計。面向?qū)ο缶幊淌且环N先進(jìn)的編程思想,更加容易解決復(fù)雜的問題。面向?qū)ο缶幊痰闹饕卣饔?:(1)封裝性:面向?qū)ο缶幊毯诵乃枷胫痪褪菍?shù)據(jù)和對數(shù)據(jù)的操作封裝在一起。通過抽象,即從具體的實例中抽取共同的性質(zhì)形成一般的概念,比如類的概念。(2)繼承:繼承體現(xiàn)了一種編程模式。子

12、類可以繼承父類的屬性和功能,即子類繼承了父類所具有的數(shù)據(jù)和數(shù)據(jù)上的操作,同時又可以增添子類獨(dú)有的數(shù)據(jù)和數(shù)據(jù)上的操作。(3)多態(tài):多態(tài)性是指允許不同的類的對象對同一消息做出相應(yīng)。多態(tài)性包括參數(shù)化多態(tài)性和包含多態(tài)性。多態(tài)性語言具有靈活、抽象、行為共享、代碼共享等優(yōu)勢,很好的解決了應(yīng)用程序中函數(shù)同名問題。3 系統(tǒng)需求分析3.1 功能需求分析 功能需求定義了開發(fā)人員必須實現(xiàn)的軟件功能,使得用戶能完成他們的任務(wù),從而滿足業(yè)務(wù)需求。參照業(yè)務(wù)需求分析的結(jié)果對每個業(yè)務(wù)進(jìn)行細(xì)化,從而得到系統(tǒng)的功能模塊。通過分析,本系統(tǒng)應(yīng)該實現(xiàn)以下功能:(1) 登錄功能:為了防止非法用戶的訪問及信息保密性要求,登錄模塊應(yīng)根據(jù)用戶

13、類型對其操作權(quán)限進(jìn)行了限制。 (2) 員工檔案管理:應(yīng)實現(xiàn)員工檔案的增加、刪除、修改等操作。 (3) 招聘管理:管理員可以發(fā)布、刪除招聘信息。(4) 培訓(xùn)管理:根據(jù)具體的情況設(shè)置人員培訓(xùn),可修改、刪除、添加培訓(xùn)信息,為員工的升遷提供科學(xué)的依據(jù)。(5) 獎懲管理:實現(xiàn)對獎懲信息的增加、刪除等操作,為薪資、升遷等提供依據(jù)。 (6) 薪資管理:實現(xiàn)對員工工資的錄入、查詢等。(7)員工自管理:該模塊強(qiáng)調(diào)員工自助服務(wù),如對個人檔案、薪資等信息的查詢。(8) 考勤管理:實現(xiàn)員工進(jìn)行考勤登錄和查看考勤信息,實現(xiàn)公司管理員對當(dāng)日為參加考勤人員的考勤處理。 (9) 系統(tǒng)管理模塊:對該系統(tǒng)用戶進(jìn)行管理(增加、刪除

14、等)。3.2 系統(tǒng)可行性分析3.2.1 技術(shù)可行性分析 (1)在限制條件下,功能目的可以達(dá)到。 (2)利用現(xiàn)有技術(shù),功能目的可以達(dá)到。 (3)在規(guī)定的期限內(nèi),開發(fā)能完成。3.2.2 環(huán)境可行性分析 基于Java的一次編譯到處運(yùn)行,系統(tǒng)可以在任何操作系統(tǒng)下運(yùn)行。 4 系統(tǒng)總體設(shè)計根據(jù)系統(tǒng)功能需求分析,設(shè)計出系統(tǒng)總體結(jié)構(gòu)圖如圖4.1所示:圖4.1 系統(tǒng)總體結(jié)構(gòu)圖4.2 系統(tǒng)各功能模塊用例分析 (1) 系統(tǒng)的總統(tǒng)用例圖如圖4.2所示:圖4.2 系統(tǒng)總統(tǒng)用例圖 系統(tǒng)管理員負(fù)責(zé)系統(tǒng)系統(tǒng)用戶的定義和權(quán)限劃分、檔案管理、招聘管理、培訓(xùn)管理、獎懲管理、薪資管理、文件管理等工作;普通員工只能查看自己相關(guān)信息。員

15、工檔案管理用例圖如圖4.3所示:圖4.3 員工檔案管理用例圖 用例名稱:員工檔案管理簡要描述:系統(tǒng)管理員可以對員工檔案信息進(jìn)行添加、注銷、修改、查看操作,公司職員可以查看個人檔案信息。 參與者: 系統(tǒng)管理員、公司職員。 前置條件:系統(tǒng)管理員為公司職員授權(quán)。 后置條件:通過校驗,系統(tǒng)中存在員工檔案信息。(3) 培訓(xùn)管理用例圖如圖4.4所示:圖4.4 培訓(xùn)管理用例圖 用例名稱:培訓(xùn)管理簡要描述:系統(tǒng)管理員可以對培訓(xùn)進(jìn)行添加、修改、刪除等操作,普通員工只能查看自己的培訓(xùn)信息。 參與者: 系統(tǒng)管理員、公司職員。 前置條件:系統(tǒng)管理員為公司職員授權(quán)。 后置條件:通過校驗,系統(tǒng)中存在培訓(xùn)信息。(4) 獎罰

16、管理用例圖如圖4.5所示:圖4.5 獎罰管理用例圖 用例名稱:獎罰管理。簡要描述:系統(tǒng)管理員可以對員工的獎罰信息進(jìn)行添加、修改、刪除等操作,普通用戶只能查看自己的獎罰信息。 參與者: 系統(tǒng)管理員、公司職員。 前置條件:系統(tǒng)管理員為公司職員授權(quán)。 后置條件:通過校驗,系統(tǒng)中存在獎罰信息。(5)員工自管理用例圖如圖4.6所示:圖4.6 員工自管理用例圖 用例名稱:員工自管理。簡要描述:系統(tǒng)管理員和普通職員都可以修改自己的登錄密碼,系統(tǒng)管理員可以查看全體員工的登錄歷史,但普通用戶只能查看自己的登錄歷史。 參與者: 系統(tǒng)管理員、公司職員。 前置條件:系統(tǒng)管理員為公司職員授權(quán)。 后置條件:通過校驗,系統(tǒng)

17、中存在員工的登錄密碼和登錄信息。薪資管理用例圖如圖4.7所示:圖4.7 薪資管理用例圖 用例名稱:薪資管理。簡要描述:系統(tǒng)管理員可以對員工工資進(jìn)行核算和發(fā)放,也可以查看所有員工的工資發(fā)放情況,普通員工只能查看自己的薪資信息。 參與者: 系統(tǒng)管理員、公司職員。 前置條件:系統(tǒng)管理員為公司職員授權(quán)。 后置條件:通過校驗,系統(tǒng)中存在員工的基本工資、獎罰情況等信息。考勤管理用例圖如圖4.8所示:圖4.8 考勤管理用例圖 用例名稱:部門管理。簡要描述:系統(tǒng)管理員可以對當(dāng)天沒有參加考勤打卡的員工插入曠工記錄。普通用戶每天可以進(jìn)行考勤打卡,也可以查看考勤記錄。 參與者: 系統(tǒng)管理員、公司職員。 后置條件:通

18、過校驗,系統(tǒng)中存在部門信息。招聘管理用例圖如圖4.9所示:圖4.9 招聘信息管理用例圖 用例名稱:部門管理。簡要描述:系統(tǒng)管理員可以對部門的招聘信息進(jìn)行增、刪、改、查等操作和管理應(yīng)聘者信息。 參與者: 系統(tǒng)管理員。 后置條件:通過校驗,系統(tǒng)中存在部門招聘信息和應(yīng)聘者信息。系統(tǒng)管理用例圖如圖4.10所示:圖4.10 系統(tǒng)管理用例圖 用例名稱:系統(tǒng)管理。簡要描述:系統(tǒng)管理員通過該功能模塊實現(xiàn)對系統(tǒng)用戶的管理。 參與者: 系統(tǒng)管理員。 后置條件:通過校驗,系統(tǒng)中存在部門招聘信息和應(yīng)聘者信息。4.3.1 數(shù)據(jù)庫總體設(shè)計 該系統(tǒng)采用SQL2000數(shù)據(jù)庫,涉及的表有:用戶信息表,員工信息表,部門信息表,職

19、位信息表,招聘信息表,培訓(xùn)信息表,獎懲信息表,薪資信息表,考勤信息表。系統(tǒng)的E-R結(jié)構(gòu)如圖4.11所示:圖4.11 系統(tǒng)E-R圖(1) 用戶信息表(yilin_user):用來存儲用戶信息,其表結(jié)構(gòu)見表4-1所示: 表4-1 用戶信息表字段號字段名稱 字段類型字段大小索引字段說明1idnumberSequence主鍵編號2accountnovarchar220外鍵用戶帳號3passwordvarchar250非空用戶密碼4typenumberDefault0非空用戶類型5statusnumberDefault0是否注銷備注: 1、type :0為高級管理員,2為普通管理員,3為普通用戶2、st

20、atus :0未注銷,1己注銷(2)薪資信息表(yilin_salary):用來存儲員工薪資信息,其表結(jié)構(gòu)見表4-2所示: 表4-2 薪資信息表字段號字段名稱 字段類型字段大小索引字段說明1idnumberSequence主鍵編號2membernonumber外鍵員工編號3smonthvarchar28非空所屬月份4basicsalarynumber非空基本工資5housesalarynumber住房補(bǔ)助6extrasalarynumber額外補(bǔ)助7taxsalarynumber稅收金額8totalbonusnumber3全額獎金9forfeitnumber3罰款金額10issuedateda

21、te發(fā)布日期員工信息表(yilin_employee):用來存儲員工檔案信息,表結(jié)構(gòu)見表4-3所示: 表4-3 員工信息表字段號字段名稱字段類型字段大小索引字段說明1idnumberSequence主鍵編號2nicknamevarchar220非空員工姓名3englishnamevarchar220英文名4gendervarchar21非空員工性別5agenumber6nativevarchar250員工籍貫7birthdayvarchar230出生日期8deptidnumber外鍵對應(yīng)部門id9titleidnumber外鍵對應(yīng)職務(wù)id10wphonevarchar220辦公 11fphon

22、evarchar220家庭 12emailvarchar220電子郵箱13politicalfacevarchar24政治面貌14healthvarchar225健康狀況15professionvarchar220專業(yè)16educationvarchar215學(xué)歷17marryvarchar21婚姻狀況18identityidvarchar218非空身份證號19addressvarchar250現(xiàn)居地址20iconvarchar2200照片路徑21enterdatedate錄入日期22modifydatedate更改日期(4) 職務(wù)信息表(yilin_title):用來存儲各職務(wù)信息,其表結(jié)構(gòu)

23、見表4-4所示: 表4-4 職務(wù)信息表字段號字段名稱 字段類型字段大小索引字段說明1idnumberSequence主鍵編號2titnamevarchar220非空職位名稱3dept_idnumber外鍵部門id(5) 部門信息表(yilin_dept):用來存儲部門信息,其表結(jié)構(gòu)見表4-5所示: 表4-5 部門信息表字段號字段名稱 字段類型字段大小索引字段說明1idnumberSequence主鍵編號2depnamevarchar220非空、唯一部門名(6) 獎懲信息表(yilin_rewardpunish):用來存儲員工獎懲信息,其表結(jié)構(gòu)見表4-6所示:表4-6 獎懲信息表字段號字段名稱

24、字段類型字段大小索引字段說明1idnumberSequence主鍵編號2rpnamevarchar230非空獎懲名稱3reasonvarchar250獎懲原因4membervarchar250獎懲人員5descrvarchar2200獎懲描述6issuedatedate發(fā)布日期7issueMemvarchar215發(fā)布人員(7)文件信息表(yilin_file):用來存儲所上傳文件路徑,表結(jié)構(gòu)見表4-7所示: 表4-7 文件信息表字段號字段名稱 字段類型字段大小索引字段說明1idnumberSequence主鍵編號2loadfilevarchar250非空上傳文件名3updatedate上傳日

25、期(8)招聘信息表(yilin_recruitment):用例存儲招聘信息,其表結(jié)構(gòu)見表4-8所示: 表4-8 招聘信息表字段號字段名稱 字段類型字段大小索引字段說明1idnumberSequence主鍵編號2contentvarchar2500非空招聘內(nèi)容3issuedatedate發(fā)布日期(9)考勤信息表(yilin_attend):用例存儲考勤信息,其表結(jié)構(gòu)見表4-9所示: 表4-9 考勤信息表字段號字段名稱 字段類型字段大小索引字段說明1idnumberSequence主鍵編號2employeenumberSequence外鍵員工id3dutydaydatenot-null考勤日期4i

26、scomevarchar220not-null是否上班5typevarchar220not-null考勤類型(10)培訓(xùn)信息表(yilin_train):用來存儲員工培訓(xùn)信息,其表結(jié)構(gòu)見表4-10所示:表4-10 培訓(xùn)信息表字段號字段名稱 字段類型字段大小索引字段說明1idnumberSequence主鍵編號2tnamevarchar220非空培訓(xùn)名稱3tgoalvarchar220非空培訓(xùn)目標(biāo)4tmaterialvarchar220培訓(xùn)教材5tmembervarchar2200非空參加人員6startdatevarchar220開始日期7enddatevarchar220結(jié)束日期8tnumb

27、ernumber參加人數(shù)9teachervarchar220培訓(xùn)講師10gradevarchar210培訓(xùn)級別11affectvarchar210影響程度12issuedatedate發(fā)布日期5 系統(tǒng)詳細(xì)設(shè)計 設(shè)計出靈活、便捷的用戶操作界面,支持多用戶并發(fā)訪問,合理設(shè)計數(shù)據(jù)庫對象,使用Hibernate技術(shù)對數(shù)據(jù)進(jìn)行持久化和對數(shù)據(jù)庫信息訪問,系統(tǒng)的總統(tǒng)架構(gòu)使用基于STRUTS的開發(fā)模式。系統(tǒng)應(yīng)達(dá)到以下目標(biāo): (1)符合實際需求,切合實際,能提高企業(yè)人力資源管理,提高企業(yè)工作效率,降低成本。 (2)采用B/S架構(gòu),滿足信息共享的需要,安裝及部署方便,安全性好。(3)系統(tǒng)具有良好的可維護(hù)性和可擴(kuò)展

28、性,并且可以根據(jù)用戶需求的變化做出修改,滿足企業(yè)個性化需求,便于升級。 (4)能夠及時更新相關(guān)數(shù)據(jù),便于企業(yè)決策。 系統(tǒng)運(yùn)行的操作系統(tǒng)為Windows xp,數(shù)據(jù)庫采用SQL2000,應(yīng)用服務(wù)器采用Tomcat 6.0.20應(yīng)用服務(wù)器。 整個應(yīng)用部署在一臺應(yīng)用服務(wù)器、一臺數(shù)據(jù)庫服務(wù)器上。系統(tǒng)可以使用企業(yè)內(nèi)部局域網(wǎng),也可以通過廣域網(wǎng)訪問系統(tǒng)。 (1)該系統(tǒng)是以關(guān)系數(shù)據(jù)庫為存儲,基于Web的應(yīng)用系統(tǒng)。由一系列組件和功能模塊組成。 總體結(jié)構(gòu):瀏覽器/服務(wù)器(B/S) 編程模式:Jsp+Hibernate+STRUTS 邏輯結(jié)構(gòu):用戶界面開發(fā)、業(yè)務(wù)邏輯處理和數(shù)據(jù)存儲 (2)該系統(tǒng)聯(lián)合使用業(yè)務(wù)代理和DA

29、O模式如圖5.1所示: 圖5.1 系統(tǒng)架構(gòu)圖5.4 系統(tǒng)業(yè)務(wù)流程系統(tǒng)的業(yè)務(wù)流程嚴(yán)格遵守J2EE應(yīng)用的規(guī)范,瀏覽器從進(jìn)入系統(tǒng)開始,即發(fā)送*.do的請求,該請求被ActionServlet攔截,進(jìn)入Struts框架的控制。系統(tǒng)的所有超級鏈接,包括表單的處理都將向*.do請求,即被ActionServlet攔截,由Struts的MVC框架控制。系統(tǒng)的業(yè)務(wù)流程圖如圖5.2所示: 圖5.2 系統(tǒng)業(yè)務(wù)流程圖 瀏覽器獲得數(shù)據(jù)后向服務(wù)器端發(fā)送請求(request),FilterDispatch接收到從瀏覽器發(fā)送來的請求后將相應(yīng)的數(shù)據(jù)請求分發(fā)到相應(yīng)的Action的execute方法進(jìn)行處理,execute方法通

30、過BeanFactory創(chuàng)建service實現(xiàn)類的對象,實現(xiàn)類對象調(diào)用其響應(yīng)的業(yè)務(wù)邏輯方法,業(yè)務(wù)邏輯層的方法又調(diào)用Dao層的方法進(jìn)行數(shù)據(jù)庫的操作,對數(shù)據(jù)進(jìn)行持久化。其時序圖如圖5.3所示: 圖5.3 系統(tǒng)時序圖5.5 系統(tǒng)代碼實現(xiàn)5.5.1 Domain層實現(xiàn)Domain對象是抽象出的實體,通常就是需要持久化的對象。本系統(tǒng)采用ORM框架Hibernate對PO進(jìn)行持久化處理。(一) Domain Object的設(shè)計本系統(tǒng)共有10個Domain Object對象,分別是:(1)Department:對應(yīng)系統(tǒng)的部門信息,包含部門的編號和部門名稱(2)Employee:對應(yīng)系統(tǒng)的員工信息,包含員工的

31、編號,姓名,性別,身份證號,對應(yīng)的職位等信息(3)UserInfo:對應(yīng)員工的用戶登錄信息,包含用戶的用戶名,密碼等屬性(4)Interview:對應(yīng)應(yīng)聘人員的個人信息(5)Recruitment:對應(yīng)與系統(tǒng)的招聘信息的類,包含招聘主題,招聘內(nèi)容,發(fā)布時間,發(fā)布人員等信息(6)RewardPunish:對應(yīng)于對員工的獎懲信息(7)Salary:對應(yīng)于員工的工資信息(8)Title:對應(yīng)于員工的職位信息的類(9)Train:對應(yīng)于公司對員工的培訓(xùn)信息的類(10)FileInfo:對應(yīng)于系統(tǒng)文件的存儲信息的類(二)Domain Object的映射Hibernate映射文件是用來描述數(shù)據(jù)庫中表和Do

32、main Object關(guān)系的xml文件。Hibernate映射文件中,要注意表之間的關(guān)系映射:(1) Employee與Department和Title類為N-N的關(guān)系,Employee與UserInfo類為1-1的關(guān)系,Employee的映射文件/0.中的相關(guān)代碼如下: .many-to-one namedepartment class/./.artment fetchselect column nameDEPTID precision4 scale0 / /many-to-one many-to-one nametitle class/./.le fetchselect column na

33、meTITLEID precision4 scale0 / /many-to-one one-to-one nameuserinfo cascadeall outer-jointrue property-refemployee classUserInfo /one-to-one .Title與Department也是多對多的關(guān)系,在Title類的映射文件/.文件中的映射相關(guān)代碼如下:.many-to-one namedept class/./.artment fetchselect column nameDEPT_ID precision4 scale0 / /many-to-one (3)

34、Attend和Employee是N-1的關(guān)系,在Attend類的映射文件/.文件中的映射相關(guān)代碼如下: many-to-one nameemployee columnEMPID not-nulltrue lazyfalse/many-to-one 5.5.2 DAO層實現(xiàn) DAO模式是一中標(biāo)準(zhǔn)的J2EE設(shè)計模式,具體的DAO類包含了數(shù)據(jù)庫的訪問邏輯,每個DAO組件可對一個數(shù)據(jù)庫表完成基本的增、刪、改、查等操作。 (一)DAO組件的接口定義和DAO組件的實現(xiàn)類 (1)本系統(tǒng)定義了兩個Dao接口,分別為: 1)IEmployeeDao:主要定義了對用戶信息增、刪、改、查的方法該接口中定義的方法主要

35、有: /根據(jù)用戶賬號查詢用戶信息 UserInfo findUserByAccountnoLong accountno throws Exception; /根據(jù)員工號身份證號工信息 Employee findEmployeeByIdString identityid throws Exception; /添加或修改部門信息,級聯(lián)修改員工,職稱信息 void saveOrUpdateDepartmentDepartment departmentthrows Exception; /添加或修改員工信息 void saveOrUpdateEmployeeEmployee employeethrow

36、s Exception; /根據(jù)部門名稱查詢部門 Department findDeptByNameString depnamethrows Exception; /查找所有的部門 List findAllDeptthrows Exception; /根據(jù)員工的部門號與職稱名查找職稱信息 Title findTitleString titname,Department deptthrows Exception; /查詢所有的員工信息 List findAllEmployeethrows Exception; /查詢所有的員工的數(shù)量 Integer findAllEmployeeNumthrow

37、s Exception; /根據(jù)條件查詢所有的員工信息并分頁顯示 List findAllEmployeeByConditionLong staffno,String gender,String depname,String educationthrows Exception; /根據(jù)員工的編號刪除員工信息 void deleteEmployeeByNoLong idthrows Exception; /根據(jù)員工的編號查找員工的工資信息 List findSalaryByEmployeeidLong idthrows Exception; /查詢所有的上傳文件路徑 /查找所有的用戶信息數(shù) In

38、teger findAllUserthrows Exception; /根據(jù)id號查詢用戶消息 UserInfo findUserLong idthrows Exception; /查找所有的用戶信息 List findAllUserint start,int endthrows Exception; /保存用戶信息 void saveUserUserInfo userthrows Exception; /根據(jù)id號刪除用戶信息 void deleteUserLong idthrows Exception; 2)IAffairDao:主要定義了對用戶事務(wù)請求的數(shù)據(jù)庫交互的方法 該接口中定義的方

39、法有: /查找所有的招聘信息數(shù) Integer findAllRecruitthrows Exception; /根據(jù)id號查詢招聘消息 Recruitment findRecruitLong idthrows Exception; /查找所有的招聘信息 List findAllRecruitint start,int endthrows Exception; /保存招聘信息 void saveRecruitRecruitment recruitthrows Exception; /根據(jù)id號刪除招聘信息 void deleteRecruitLong idthrows Exception; /

40、保存培訓(xùn)信息 void saveTrainTrain trainthrows Exception; /查找所有的培訓(xùn)信息數(shù) Integer findAllTrainNumthrows Exception; /查詢所有的培訓(xùn)信息 List findAllTrainthrows Exception; /根據(jù)條件查詢所有的培訓(xùn)信息 List findAllTrainByConditionString tname,String teacherthrows Exception; /根據(jù)id刪除培訓(xùn)信息 void deleteTrainLong idthrows Exception; /添加獎懲信息 vo

41、id addJcRewardpunish jcthrows Exception; /查找所有的獎懲信息數(shù) Integer findAllJcNumthrows Exception; /查找所有的獎懲信息 List findAllJcthrows Exception; /根據(jù)條件查詢所有的獎懲信息 List findAllJcByConditionString rpname,String memberthrows Exception; /根據(jù)id刪除獎懲信息 void deleteJcLong idthrows Exception; /上傳文件 void addFileFileInfo file

42、throws Exception; /查找所有的文件信息數(shù) Integer findAllFileNumthrows Exception; /查找所有的文件信息 List findAllFilethrows Exception; /根據(jù)條件查詢所有的文件信息 List findAllFileByConditionString memberno,String smonththrows Exception; /根據(jù)id刪除文件信息 void deleteFileLong idthrows Exception; /添加薪資信息 void addSalarySalary salarythrows Ex

43、ception; /查找所有的薪資信息數(shù) Integer findAllSalaryNumthrows Exception; /查找所有的薪資信息 List findAllSalarythrows Exception; /根據(jù)條件查詢所有的薪資信息 List findAllSalaryByConditionString memberno,String smonththrows Exception; /根據(jù)id刪除薪資信息 void deleteSalaryLong idthrows Exception; (2)本系統(tǒng)定義了兩個Dao接口實現(xiàn)方法,分別為:1)IEmployeeDaoImpl:實

44、現(xiàn)了IEmployeeDao接口,并實現(xiàn)了該接口中的所有方法。2)IAffairDaoImpl:實現(xiàn)了IaffairDao接口,并實現(xiàn)了該接口中所有方法。(二)DAO工廠類 Dao工廠類BeanFactory的設(shè)計主要用到的單例設(shè)計模式和工廠設(shè)計模式,其主要代碼如下: public static Object getBeanString beanName if beanName.equalsaffairDao affairDao getAffairDao;return affairDao;if beanName.equalsaffairService affairService getAffa

45、irService;return affairService;if beanName.equalsemployeeDao employeeDao getEmployeeDao;return employeeDao;if beanName.equalsemployeeService employeeService getEmployeeService;return employeeService;return null; . 5.5.3 Service層實現(xiàn) Service層主要是實現(xiàn)通過業(yè)務(wù)邏輯組件,業(yè)務(wù)邏輯組件調(diào)用Dao層的方法實現(xiàn)與數(shù)據(jù)庫進(jìn)行交互,對用戶請求的進(jìn)行業(yè)務(wù)邏輯處理的過程。(一)

46、Service的接口定義和DAO組件的實現(xiàn)類 (1)本系統(tǒng)定義了兩個Service接口,分別為: 1)IEmployeeService:主要定義了對用戶信息增、刪、改、查的方法。該接口中定義的方法主要對應(yīng)于IEmployeeDao中定義的方法 2)IAffairSerivce:主要定義了對用戶事務(wù)請求的數(shù)據(jù)庫交互的方法。 該接口中定義的方法主要對應(yīng)于IAffairDao中定義的方法 (2)本系統(tǒng)定義了兩個Service接口實現(xiàn)方法,分別為:1)IEmployeeServiceImpl:實現(xiàn)了IEmployeeService接口,并實現(xiàn)了該接口中的所有方法。該類中的方法分別調(diào)用了IEmploye

47、eDaoImpl對用戶請求進(jìn)行數(shù)據(jù)庫交互和業(yè)務(wù)處理。 2)IAffairServiceImpl:實現(xiàn)了IAffairSerivce接口,并實現(xiàn)了該接口中所有方法。該類中的方法分別調(diào)用了IAffairDaoImpl中的方法對用戶的事務(wù)請求進(jìn)行數(shù)據(jù)庫交互和事務(wù)處理。 5.5.4 Web層實現(xiàn) 本系統(tǒng)的MVC框架使用Struts2,Struts是經(jīng)典的使用最廣泛的MVC框架,它可以保證系統(tǒng)的可控制性,系統(tǒng)的穩(wěn)定可用性等。 使用Struts2,在web.xml文件中增加如下配置: filter-namestruts2/filter-name filter-mapping filter-namestru

48、ts2/filter-name url-pattern/*/url-pattern /filter-mapping 本系統(tǒng)的控制器Action中都使用了依賴注入方式接收業(yè)務(wù)請求參數(shù)(一) 用戶登錄請求Action的實現(xiàn) 用戶登錄Action:LoginAction,該類通過接收用戶請求參數(shù),調(diào)用IEmployeeServiceImpl中相應(yīng)的登錄業(yè)務(wù)邏輯方法login進(jìn)行用戶登錄請求處理。只有輸入的正確的用戶名、密碼和用戶類型才能成功登錄。 登錄頁面Login.jsp如圖5.4所示: 5.4 用戶登錄頁面 LoginAction中的主要代碼如下: public String execute I

49、EmployeeService employeeService IEmployeeService BeanFactory .getBeanBeanFactory.EMPLOYEESERVICE; HttpServletRequest request ServletActionContext.getRequest; try Long no /.m; UserInfo user employeeService.loginno, password.trim, type.trim; ifuser ! null /.Attributeuser, user; request.setAttributemes

50、sage, 登陸成功!; Employee employee user.getEmployee; ifemployee ! null /.Attributeself, employee; List depts new ArrayList; depts employeeService.findAllDept; /.Attributedepts, depts; return success; catch EmployeeServiceException e / TODO Auto-generated catch block e.printStackTrace; request.setAttribu

51、temessage, e.getMessage; return failure; LoginAction在struts.xml文件中的配置如下: action namelogin class/./.ion.LoginAction 系統(tǒng)根據(jù)LoginAction中的返回值確定跳轉(zhuǎn)到相應(yīng)的頁面,當(dāng)返回“success”時,當(dāng)用戶類型為管理員時,跳轉(zhuǎn)到管理員主頁面,當(dāng)用戶類型為公司職員時,跳轉(zhuǎn)到普通用戶的主頁面。管理員主頁面如圖5.5所示:圖5.5 管理員主頁面 普通用戶主頁面如圖5.6所示: 圖5.6 普通員工主界面(二) 員工檔案管理模塊Action的實現(xiàn) 員工檔案管理模塊分為添加員工檔案和管理

52、員工檔案兩部分:添加員工檔案:添加員工檔案請求由AddEmployeeAction類處理,該方法調(diào)用IEmployeeServiceImpl中的saveOrUpdateEmployee方法向數(shù)據(jù)庫中添加用戶信息。 添加員工檔案界面如圖5.7所示: 在該頁面中,“所在部門”下拉列表框中的數(shù)據(jù)由系統(tǒng)從數(shù)據(jù)庫表中自動活得,通過Ajax技術(shù),實現(xiàn)了在選擇所在部門后,自動從數(shù)據(jù)庫中查找出對應(yīng)與所選擇的部門相對應(yīng)的職稱名稱并顯示在“職稱”下拉列表中,整個過程中頁面不用進(jìn)行任何跳轉(zhuǎn)。相關(guān)代碼如下:function selectDepts var depname document.getElementByIddepname;var options depname.options;var value ;for var i 0;

展開閱讀全文
溫馨提示:
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)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

相關(guān)資源

更多
正為您匹配相似的精品文檔
關(guān)于我們 - 網(wǎng)站聲明 - 網(wǎng)站地圖 - 資源地圖 - 友情鏈接 - 網(wǎng)站客服 - 聯(lián)系我們

copyright@ 2023-2025  zhuangpeitu.com 裝配圖網(wǎng)版權(quán)所有   聯(lián)系電話:18123376007

備案號:ICP2024067431-1 川公網(wǎng)安備51140202000466號


本站為文檔C2C交易模式,即用戶上傳的文檔直接被用戶下載,本站只是中間服務(wù)平臺,本站所有文檔下載所得的收益歸上傳人(含作者)所有。裝配圖網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對上載內(nèi)容本身不做任何修改或編輯。若文檔所含內(nèi)容侵犯了您的版權(quán)或隱私,請立即通知裝配圖網(wǎng),我們立即給予刪除!