人力資源管理系統(tǒng)的設(shè)計與實現(xiàn)-學(xué)位論文_第1頁
人力資源管理系統(tǒng)的設(shè)計與實現(xiàn)-學(xué)位論文_第2頁
人力資源管理系統(tǒng)的設(shè)計與實現(xiàn)-學(xué)位論文_第3頁
人力資源管理系統(tǒng)的設(shè)計與實現(xiàn)-學(xué)位論文_第4頁
人力資源管理系統(tǒng)的設(shè)計與實現(xiàn)-學(xué)位論文_第5頁
已閱讀5頁,還剩55頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

題目人力資源管理系統(tǒng)的設(shè)計與實現(xiàn)

畢業(yè)論文(設(shè)計)原創(chuàng)性聲明本人所呈交的畢業(yè)論文(設(shè)計)是我在導(dǎo)師的指導(dǎo)下進行的研究工作及取得的研究成果。據(jù)我所知,除文中已經(jīng)注明引用的內(nèi)容外,本論文(設(shè)計)不包含其他個人已經(jīng)發(fā)表或撰寫過的研究成果。對本論文(設(shè)計)的研究做出重要貢獻的個人和集體,均已在文中作了明確說明并表示謝意。作者簽名:日期:畢業(yè)論文(設(shè)計)授權(quán)使用說明本論文(設(shè)計)作者完全了解**學(xué)院有關(guān)保留、使用畢業(yè)論文(設(shè)計)的規(guī)定,學(xué)校有權(quán)保留論文(設(shè)計)并向相關(guān)部門送交論文(設(shè)計)的電子版和紙質(zhì)版。有權(quán)將論文(設(shè)計)用于非贏利目的的少量復(fù)制并允許論文(設(shè)計)進入學(xué)校圖書館被查閱。學(xué)??梢怨颊撐模ㄔO(shè)計)的全部或部分內(nèi)容。保密的論文(設(shè)計)在解密后適用本規(guī)定。

作者簽名:指導(dǎo)教師簽名:日期:日期:

注意事項1.設(shè)計(論文)的內(nèi)容包括:1)封面(按教務(wù)處制定的標準封面格式制作)2)原創(chuàng)性聲明3)中文摘要(300字左右)、關(guān)鍵詞4)外文摘要、關(guān)鍵詞5)目次頁(附件不統(tǒng)一編入)6)論文主體部分:引言(或緒論)、正文、結(jié)論7)參考文獻8)致謝9)附錄(對論文支持必要時)2.論文字數(shù)要求:理工類設(shè)計(論文)正文字數(shù)不少于1萬字(不包括圖紙、程序清單等),文科類論文正文字數(shù)不少于1.2萬字。3.附件包括:任務(wù)書、開題報告、外文譯文、譯文原文(復(fù)印件)。4.文字、圖表要求:1)文字通順,語言流暢,書寫字跡工整,打印字體及大小符合要求,無錯別字,不準請他人代寫2)工程設(shè)計類題目的圖紙,要求部分用尺規(guī)繪制,部分用計算機繪制,所有圖紙應(yīng)符合國家技術(shù)標準規(guī)范。圖表整潔,布局合理,文字注釋必須使用工程字書寫,不準用徒手畫3)畢業(yè)論文須用A4單面打印,論文50頁以上的雙面打印4)圖表應(yīng)繪制于無格子的頁面上5)軟件工程類課題應(yīng)有程序清單,并提供電子文檔5.裝訂順序1)設(shè)計(論文)2)附件:按照任務(wù)書、開題報告、外文譯文、譯文原文(復(fù)印件)次序裝訂3)其它

摘要人力資源管理系統(tǒng)是現(xiàn)代企業(yè)管理的核心內(nèi)容。隨著計算機信息技術(shù)的高速發(fā)展,電子商務(wù)模式的空前盛行,企業(yè)之間的競爭也從有形的經(jīng)濟市場轉(zhuǎn)向了網(wǎng)絡(luò)。開發(fā)以計算機技術(shù)、網(wǎng)絡(luò)技術(shù)、信息技術(shù)支持的現(xiàn)代人力資源管理系統(tǒng),既能提高企業(yè)人力資源管理的技術(shù)含量和企業(yè)的辦事效率,也能使人力資源管理能夠進入現(xiàn)代化、決策科學(xué)化的進程。本系統(tǒng)運用了現(xiàn)代人力資源管理理論,結(jié)合企業(yè)的實際情況,比較國內(nèi)外人力資源管理系統(tǒng)的現(xiàn)狀,設(shè)計了一個基于Internet/Intranet的人力資源管理系統(tǒng)。研究人力資源管理系統(tǒng)的主要內(nèi)容有:招聘信息管理、員工管理、培訓(xùn)管理、薪資管理、獎懲管理、應(yīng)聘人員管理。系統(tǒng)開發(fā)主要是MVC設(shè)計思想的應(yīng)用,主要采用Jsp+Struts1+Hibernate的開發(fā)方式。Jsp對應(yīng)MVC設(shè)計思想的視圖(View),Struts是對應(yīng)MVC設(shè)計思想的控制(Controller),主要負責(zé)整個系統(tǒng)的核心業(yè)務(wù)控制主要是負責(zé)接收/響應(yīng)客服端請求,以及動態(tài)生成Web現(xiàn)實頁面。Hibernate對應(yīng)的是MVC設(shè)計思想的模型(Model),主要負責(zé)整個系統(tǒng)的數(shù)據(jù)。關(guān)鍵詞:StrutsHibernateMVC人力資源管理AbstractHumanresourcesmanagementsystemisthecoreofmodernenterprisemanagement.Withtherapiddevelopmentofcomputerinformationtechnologyandunprecedentedpopularityofe-commercemodel,competitionbetweenenterprisesintheeconomicmarketshiftfromvirtualeconomicmarkettophysicalnetwork.Themodernhumanresourcemanagementsystemsupportedbycomputertechnology,networktechnology,informationtechnologycanenhancetheirtechnicalcontentofhumanresourcemanagementandbusinessefficiency,aswellasenableaccesstoprocessofmodernhumanresourcemanagementandscientificdecision-making.ThesystemdesignahumanresourcesmanagementsystembasedonInternet/Intranetusingthetheoryofmodernhumanresourcemanagementcombinedwiththeactualsituationandcontrastbetweentheactuclsituationofhumanresourcesmanagementsysteminourcountryandabroad,.Thestudyofhumanresourcemanagementsystem'smaincontentsare:recruitmentinformationmanagement,staffmanagement,trainingmanagement,payrollmanagement,incentivemanagement,personnelmanagementcandidates.ThedevelopmentofthesystemismainlytheapplicationofMVCdesignandmostlyusingthedevelopmentstyleofJsp+Struts1+Hibernate.InwhichJspiscorrespondingtotheviewofMVCdesign(View).StrutsiscorrespondingtothecontrollerofMVCdesign(Controller)whichisresponsibleforthecontrolofthesystem'scorebusiness,andismainlyresponsibleforreceivingandgivingresponsetoservicerequestsoftheclients,andtherealityofdynamicallygeneratedWebpages..HibernateiscorrespondingtothemodeloftheMVCdesign(Model),andismainlyresponsibeforthesystemdata.Keywords:StrutsHibernateMVCHumanresourcemanagement目錄第一章系統(tǒng)概述 21.1課題來源及意義 21.2國內(nèi)外發(fā)展?fàn)顩r 31.2.1人力資源管理系統(tǒng)的發(fā)展情況 31.2.2美國人力資源管理系統(tǒng)十大發(fā)展趨勢 41.3系統(tǒng)開發(fā)環(huán)境及技術(shù)介紹 41.3.1Struts簡介 51.3.2Hibernate簡介 51.3.3Tomcat簡介 6第二章系統(tǒng)需求分析 82.1功能需求 82.2性能需求分析 82.3可行性分析 92.4輸入輸出需求 92.5數(shù)據(jù)管理需求 92.6故障處理需求 92.7運行環(huán)境需求 10第三章系統(tǒng)總體設(shè)計 113.1系統(tǒng)功能版塊劃分 113.2系統(tǒng)流程分析 113.3系統(tǒng)功能模塊圖 12第四章數(shù)據(jù)庫設(shè)計 134.1MySQL數(shù)據(jù)庫管理系統(tǒng) 134.2數(shù)據(jù)庫的需求分析 134.3外部設(shè)計 134.4實體關(guān)系E-R圖設(shè)計 134.5創(chuàng)建數(shù)據(jù)庫 154.6數(shù)據(jù)庫設(shè)計 164.7數(shù)據(jù)庫保密設(shè)計 204.8數(shù)據(jù)庫的連接 204.8.1Hibernate簡介 204.8.2配置數(shù)據(jù)庫中的表與實體Beans之間的聯(lián)系。 214.8.3配置hibernate.cfg.xml文件 24第五章系統(tǒng)詳細設(shè)計與實現(xiàn) 255.1Struts1框架工作原理 255.1.1Struts1工作原理 255.1.2Struts1的工作流程圖 255.1.3Struts1的開發(fā)流程 275.2人力資源管理系統(tǒng)的簡歷發(fā)送頁面設(shè)計與實現(xiàn) 275.3人力資源管理系統(tǒng)的登錄頁的設(shè)計與實現(xiàn) 285.4人員信息錄入功能的設(shè)計與實現(xiàn) 295.5人員信息管理功能的設(shè)計與實現(xiàn) 305.6招聘信息管理功能模塊的設(shè)計與實現(xiàn) 325.7培訓(xùn)管理模塊的設(shè)計與實現(xiàn) 345.8獎懲管理模塊的設(shè)計與實現(xiàn) 365.9薪金管理模塊的設(shè)計與實現(xiàn) 38第六章系統(tǒng)測試與性能分析 426.1測試方法 426.2測試與調(diào)試 426.3功能模塊的測試 426.3.1系統(tǒng)登錄驗證 426.3.2添加培訓(xùn)信息的測試 436.3.3人員信息錄入的測試 456.4性能分析 456.5測試結(jié)論 47結(jié)論 48謝辭 49參考文獻 50大連交通大學(xué)2011屆本科畢業(yè)生畢業(yè)設(shè)計(論文)PAGE51引言現(xiàn)在網(wǎng)絡(luò)的發(fā)展已呈現(xiàn)商業(yè)化、全民化、全球化的趨勢。目前,幾乎世界上所有的公司都在利用網(wǎng)絡(luò)傳遞商業(yè)信息,進行商業(yè)活動,從宣傳企業(yè)、發(fā)布廣告、招聘雇員、傳遞商業(yè)文件乃至拓展市場、網(wǎng)上銷售等,無所不能。如今網(wǎng)絡(luò)已成為企業(yè)進行競爭的戰(zhàn)略手段。企業(yè)經(jīng)營的多元化拓展,企業(yè)規(guī)模的進一步擴大,對于企業(yè)的管理、業(yè)務(wù)擴展、企業(yè)品牌形象等提供了更高的要求。在以信息技術(shù)為支撐的新經(jīng)濟條件下,越來越多的企業(yè)利用起網(wǎng)絡(luò)這個有效的工具。全球范圍內(nèi)的企業(yè)內(nèi)部組織正在發(fā)生巨變,未來企業(yè)成功的關(guān)鍵的依靠企業(yè)人力資源,人才之爭已經(jīng)成為市場競爭中的核心內(nèi)容之一,以人為本成為企業(yè)立足和發(fā)展的根本。有效的管理企業(yè)的人力資源,為企業(yè)提供強有力的儲備力量,使之成為企業(yè)發(fā)展的主動力。通過人力資源的有效管理,掌握最新的、準確的企業(yè)人力資源信息,并對其進行復(fù)雜的統(tǒng)計與分析,從而充分發(fā)揮每個員工的潛能,為企業(yè)創(chuàng)造更大的價值。項目目標與期望樹立全新企業(yè)形象:許多人知道,一個公司的所有和員工有關(guān)的運作,包括加薪、出差、請假,人員的調(diào)動、離任等等都由人力資源部門來完成,如果是一家擁有上千人的大型企業(yè),這個工作量是相當(dāng)驚人的。因此本系統(tǒng)的開發(fā),大大緩解了該部門的工作壓力,也避免了以前人工作業(yè)的錯誤幾率??偨Y(jié)上述幾點,該人力資源管理系統(tǒng)建設(shè)目標可總結(jié)如下:建立企業(yè)人事管理辦公自動化。采取電腦管理人的方法,為企業(yè)節(jié)省人力、物力。項目設(shè)計原則(1)實用性原則 充分考慮到在人力資源管理中可能遇到的種種問題,盡量全面的做好需求分析,以減少日后更新軟件的次數(shù)。(2)經(jīng)濟性原則建立適合企業(yè)自身需求的網(wǎng)絡(luò)平臺,提供廣泛的涵蓋用戶多種需求的功能,數(shù)據(jù)處理方式靈活以滿足需求,節(jié)省系統(tǒng)開發(fā)成本,并確保其較好的拓展性和開放性;同時系統(tǒng)具有基于WEB界面的管理后臺,能夠自主的對網(wǎng)站中大部分內(nèi)容作更新、修改操作,節(jié)省了企業(yè)網(wǎng)站的運營成本,提高了信息更新、傳播效率。(3)擴充性原則 系統(tǒng)的整體規(guī)劃及框架設(shè)計是具可擴充性的,前臺頁面的設(shè)計能保證系統(tǒng)在增加欄目后不會破壞系統(tǒng)的整體結(jié)構(gòu)。后臺數(shù)據(jù)庫的設(shè)計具有高度的擴充性,能夠根據(jù)需要對欄目、類別進行增、刪、修改。第一章系統(tǒng)概述1.1課題來源及意義國家的競爭是綜合實力的競爭,企業(yè)之間的競爭,是經(jīng)濟實力的競爭;經(jīng)濟實力的競爭,是科學(xué)技術(shù)的競爭;科學(xué)技術(shù)的競爭,是人才的競爭;人才的競爭,是人力資源的競爭,這是大家的共識。教育是基礎(chǔ)的人才的培養(yǎng),是文化知識的傳播,包括品德的修養(yǎng)。從現(xiàn)代競爭意義上講,教育主要體現(xiàn)為人力資源的開發(fā)投資、人力資源管理思路與方法的建立和灌輸。就此而言,一個企業(yè)的關(guān)鍵競爭力是人力資源的競爭,具體表現(xiàn)為人力資源的開發(fā)投資和其管理水平的提高。對于企業(yè)發(fā)展來說,關(guān)鍵的核心工作是做好人力資源的開發(fā)投資和管理工作,這是一個基礎(chǔ)和必備條件。由此,我們能認識到一個企業(yè)的強盛,可以在多個方面體現(xiàn),也可以在某一方面突出體現(xiàn),但都離不開教育這個基礎(chǔ),離不開人力資源開發(fā)與管理那就是人力資本的提升?,F(xiàn)代人力資源管理對企業(yè)的意義,主要有以下幾方面:有利于促進生產(chǎn)經(jīng)營的順利進行。企業(yè)擁有三大資源,即人力資源、物質(zhì)資源和財力資源,而物質(zhì)資源和財力資源的利用是通過和人力資源的結(jié)合實現(xiàn)的,只有通過合理組織勞動力,不斷協(xié)調(diào)勞動力之間、勞動力和勞動資料和勞動對象之間的關(guān)系,才能充分利用現(xiàn)有的生產(chǎn)資料和勞動力資源,使它們在生產(chǎn)經(jīng)營過程中最大限度地發(fā)揮其功能,形成最優(yōu)的配置,從而保證生產(chǎn)經(jīng)營活動有條不紊地進行。有利于調(diào)動企業(yè)員工的積極性,提高勞動生產(chǎn)率。企業(yè)中的員工,他們有思想、有感情、有尊嚴,這就決定了企業(yè)人力資源管理必須設(shè)法為勞動者創(chuàng)造一個適合他們所需要的勞動環(huán)境,使他們樂于工作,并能積極主動地把個人勞動潛力和聰明發(fā)揮出來,為企業(yè)創(chuàng)造出更有效的生產(chǎn)經(jīng)營成果。因此,企業(yè)必須善于處理好物質(zhì)獎勵、行為激勵以及思想教育工作三方面的關(guān)系,使企業(yè)員工始終保持旺盛的工作熱情,充分發(fā)揮自己的專長,努力學(xué)習(xí)技術(shù)和鉆研業(yè)務(wù),不斷改進工作,從而達到提高勞動生產(chǎn)率的目的。有利于減少勞動耗費,提高經(jīng)濟效益并使企業(yè)的資產(chǎn)保值。經(jīng)濟效益是指進行經(jīng)濟活動中所獲得的和所耗費的差額。減少勞動耗費的過程,就是提高經(jīng)濟效益的過程。所以,合理組織勞動力,科學(xué)配置人力資源,可以促使企業(yè)以最小的勞動消耗取得最大的經(jīng)濟成果。在市場經(jīng)濟條件下,企業(yè)的資產(chǎn)要保值增值,爭取企業(yè)利潤最大化,價值最大化,就需要加強人力資源管理。有利于現(xiàn)代企業(yè)制度的建立??茖W(xué)的企業(yè)管理制度是現(xiàn)代企業(yè)制度的重要內(nèi)容,而人力資源的管理又是企業(yè)管理中最為重要的組成部分。一個企業(yè)只有擁有第一流的人才,才能充分而有效地把握和應(yīng)用第一流現(xiàn)代化技術(shù),創(chuàng)造出第一流的產(chǎn)品。不具備優(yōu)秀的管理者和勞動者,企業(yè)的先進設(shè)備和技術(shù)只會付諸東流。提高企業(yè)現(xiàn)代化管理水平,最重要的是提高企業(yè)員工的素質(zhì)。可見,注重和加強對企業(yè)人力資源的開發(fā)和利用,搞好員工培訓(xùn)教育工作,是實現(xiàn)企業(yè)管理由傳統(tǒng)管理向科學(xué)管理和現(xiàn)代管理轉(zhuǎn)變不可缺少的一個環(huán)節(jié)。有利于建立和加強企業(yè)文化建設(shè)。企業(yè)文化是企業(yè)發(fā)展的凝聚劑和催化劑,對員工具有導(dǎo)向、凝聚和激勵功能。優(yōu)秀的企業(yè)文化可以增進企業(yè)員工的團結(jié)和友愛;減少教育和培訓(xùn)經(jīng)費;降低管理成本和運營風(fēng)險;并最終使企業(yè)獲取巨額利潤。1.2國內(nèi)外發(fā)展?fàn)顩r1.2.1人力資源管理系統(tǒng)的發(fā)展情況一個企業(yè)在市場中的競爭優(yōu)勢集中表現(xiàn)為以下兩點:一、企業(yè)是否具有在人才市場中具有能優(yōu)勢的人才;二、企業(yè)所具有的人才是否具有合適的環(huán)境。所以現(xiàn)在的成功企業(yè)一般關(guān)注以下兩個方面,一是積極尋找合適的人才,并向辦法留住人才,還有一個就是營造企業(yè)的內(nèi)部環(huán)境,一面促進人才的成長,一面又有利于人才脫穎而出。人力資源管理系統(tǒng)有其自身的發(fā)展歷程,而現(xiàn)在國內(nèi)大量涌現(xiàn)的人力資源管理系統(tǒng),有國外的,也有國產(chǎn)的,總的說來是良莠不齊。為了讓企業(yè)在選擇人力資源系統(tǒng)時自己先有個了解,人力資源管理系統(tǒng)發(fā)展的四個階段介紹如下:

1)薪資計算系統(tǒng)時代人力資源管理系統(tǒng)的發(fā)展歷史可以追溯到20世紀60年代末期。由于當(dāng)時計算機技術(shù)已經(jīng)進入實用階段,同時企業(yè)的規(guī)模也越來越大,用手工來計算和發(fā)放薪資既費時費力又非常容易出差錯,為了解決這個問題,第一代的人力資源管理系統(tǒng),其實就是薪資管理系統(tǒng)應(yīng)運而生。當(dāng)時由于技術(shù)條件和需求的限制,用戶非常少,而且那種系統(tǒng)充其量也只不過是一種自動計算薪資的工具。

2)薪資/人事管理系統(tǒng)時代第二代的人力資源管理系統(tǒng)出現(xiàn)于20世紀70年代末。隨著計算機技術(shù)的飛速發(fā)展,無論是計算機的普及性,還是計算機系統(tǒng)工具和數(shù)據(jù)庫技術(shù)的發(fā)展,第二代薪資管理系統(tǒng)基本上解決了第一代系統(tǒng)的主要問題,開始紀錄員工的其他基本信息包括薪資的歷史數(shù)據(jù),此外,它的報表生成和薪資數(shù)據(jù)分析功能也都有了較大的改善。這個時代的的管理系統(tǒng)以薪資處理為主,并兼具了一部分人事信息管理的功能。

3)人力資源管理系統(tǒng)時代人力資源管理系統(tǒng)的第一次革命性變革出現(xiàn)在20世紀90年代初。由于企業(yè)管理理論,特別是人力資源理論的發(fā)展,使人們認識到人力資源在企業(yè)發(fā)展和企業(yè)競爭優(yōu)勢中的關(guān)鍵性作用,另外隨著IT技術(shù)的發(fā)展,把一些人力資源管理理念和理論應(yīng)用到企業(yè)管理中也變?yōu)榭赡?。這一階段企業(yè)最關(guān)注的是員工的績效考評和管理系統(tǒng),以及培訓(xùn)管理系統(tǒng)。第三代人力資源管理系統(tǒng)的特點是從人力資源管理的角度出發(fā),用集中的數(shù)據(jù)庫將幾乎所有與人力資源相關(guān)的數(shù)據(jù)(如薪資福利、招聘、個人職業(yè)生涯的設(shè)計、培訓(xùn)、職位管理、績效管理、崗位描述、個人信息和歷史資料)統(tǒng)一管理起來,形成了集成的信息源。友好的用戶界面,強有力的報表生成工具、分析工具和信息的共享使得人力資源管理人員得以擺脫繁重的日常工作,集中精力從戰(zhàn)略的角度來考慮企業(yè)人力資源規(guī)劃和政策。4)E人力資源管理系統(tǒng)或EHRMS時代人力資源管理信息系統(tǒng)的第二次革命性變革出現(xiàn)在20世紀90年代末和21世紀初。由于internet和intranet技術(shù)的普及,以及人力資源管理理論的進一步發(fā)展,學(xué)習(xí)與發(fā)展成為企業(yè)與員工個人的永遠的主題,而IT技術(shù)為這一主題給出的答案就是E-LEARNING。為了快速響應(yīng)企業(yè)內(nèi)部和外部的各種要求與變化,WEB使人力資源部門與企業(yè)的內(nèi)部員工和外部世界之間的距離成為0,這就是人力資源管理系統(tǒng)的E話。E化HRMS除了具有人力資源管理系統(tǒng)的所有特征外,還可以實現(xiàn)員工或潛在員工和企業(yè)人力資源管理者互動和零距離。1.2.2美國人力資源管理系統(tǒng)十大發(fā)展趨勢1)與門戶網(wǎng)站集成。隨著企業(yè)門戶網(wǎng)站逐漸轉(zhuǎn)化為勞動生產(chǎn)工具,電子醫(yī)療保障、薪酬系統(tǒng)和績效考評工具等在線方案的加入會大大有益于人力資源管理。2)在各個工作領(lǐng)域增加技術(shù)支持。企業(yè)將不遺余力地讓員工更多地接觸網(wǎng)絡(luò)、公司各個系統(tǒng)和國內(nèi)外的人力資源信息。3)更大限度地依賴投資回報工具。高層領(lǐng)導(dǎo)將要求人力資源部通過投資回報分析來證明人力資源技術(shù)投資的可行性。4)側(cè)重于完善現(xiàn)有的人力資源系統(tǒng)。企業(yè)越來越理智地尋求完善、整合方案,主要是改善原有的系統(tǒng)和連接其他系統(tǒng)。5)工作場所的有效利用。為提高生產(chǎn)率,在線會議、網(wǎng)上研討會、可視會議將繼續(xù)盛行,這些都將有利于控制成本、保證員工安全和節(jié)省時間。6)決策支持工具。財務(wù)部門和人力資源部將使用分析工具來衡量人力資源措施的成敗,并預(yù)測效果。7)持續(xù)經(jīng)營計劃。人力資源部為企業(yè)招聘員工,并且為員工提供空間、系統(tǒng)和支持,使其工作更有成效。8)越來越多的企業(yè)增加了XML數(shù)據(jù)計劃和結(jié)構(gòu)的標準化。9)關(guān)注小的降低成本的措施。人力資源部將關(guān)注流程改進和降低成本措施的累積效果。10)要求各供應(yīng)商整合和協(xié)作。人力資源部為企業(yè)整體經(jīng)營謹慎選擇各項技術(shù),并且考慮各供應(yīng)商的服務(wù)能力,對供應(yīng)商的評估和其技術(shù)與其他方案的兼容性是關(guān)鍵因素。1.3系統(tǒng)開發(fā)環(huán)境及技術(shù)介紹本系統(tǒng)采用Brower/Sever架構(gòu),以WINDOWS作為系統(tǒng)平臺,采用Java作為主要的程序設(shè)計語言,MYsql作為后臺數(shù)據(jù)庫的管理信息系統(tǒng)。Tomcat作為WEB服務(wù)器承載。1.3.1Struts簡介Struts對Model,View和Controller都提供了對應(yīng)的組件。ActionServlet,這個類是Struts的核心控制器,負責(zé)攔截來自用戶的請求。Action,這個類通常由用戶提供,該控制器負責(zé)接收來自ActionServlet的請求,并根據(jù)該請求調(diào)用模型的業(yè)務(wù)邏輯方法處理請求,并將處理結(jié)果返回給JSP頁面顯示。Model部分由ActionForm和JavaBean組成,其中ActionForm用于封裝用戶的請求參數(shù),封裝成ActionForm對象,該對象被ActionServlet轉(zhuǎn)發(fā)給Action,Action根據(jù)ActionForm里面的請求參數(shù)處理用戶的請求。JavaBean則封裝了底層的業(yè)務(wù)邏輯,包括數(shù)據(jù)庫訪問等。View部分。該部分采用JSP實現(xiàn)。Struts提供了豐富的標簽庫,通過標簽庫可以減少腳本的使用,自定義的標簽庫可以實現(xiàn)與Model的有效交互,并增加了現(xiàn)實功能。Controller組件有兩個部分組成——系統(tǒng)核心控制器,業(yè)務(wù)邏輯控制器。系統(tǒng)核心控制器,對應(yīng)上圖的ActionServlet。該控制器由Struts框架提供,繼承HttpServlet類,因此可以配置成標注的Servlet。該控制器負責(zé)攔截所有的HTTP請求,然后根據(jù)用戶請求決定是否要轉(zhuǎn)給業(yè)務(wù)邏輯控制器。業(yè)務(wù)邏輯控制器,負責(zé)處理用戶請求,本身不具備處理能力,而是調(diào)用Model來完成處理。對應(yīng)Action部分。1.3.2Hibernate簡介Hibernate,冬眠的意思,就是讓對象持久化、保持到物理介質(zhì)上(序列化后,就可以寫到磁盤上)。Hibernate主要作用是映射,就是把對象存到數(shù)據(jù)庫里,也就是說把對象存到數(shù)據(jù)庫里的這個過程我們已經(jīng)不用做了(以前都是自己寫的)O,對象模型。R,關(guān)系模型,Hibernate要做的就是把對象模型的東西,存放到關(guān)系模型里。實體中的類會對應(yīng)關(guān)系數(shù)據(jù)型數(shù)據(jù)庫中的一個表,實體中的屬性會對應(yīng)關(guān)系型數(shù)據(jù)庫中的列,而且實體中的一個實例會對應(yīng)關(guān)系型數(shù)據(jù)庫中的一條記錄。阻抗不匹配:Java是面向?qū)ο蟮?,關(guān)系型數(shù)據(jù)庫是面向關(guān)系的,它倆存在不一致性的概念。在面向?qū)ο罄镉欣^承的概念,而在關(guān)系型數(shù)據(jù)庫里沒有,假如我想把幾個具有繼承關(guān)系的對象存到數(shù)據(jù)庫里,就找不到與之對象的概念了。Hibernate就可以解決阻抗不匹配問題,以后操作對象就相當(dāng)于操作數(shù)據(jù)庫了。Hibernate屬于OR映射框架,其中有兩個過程:存儲和加載。將對象映射到數(shù)據(jù)庫里就是一個存儲過程;查詢數(shù)據(jù)庫里的一條數(shù)據(jù)的時候,數(shù)據(jù)要能夠加上來,放到我的數(shù)據(jù)的對象里,這就是加載。當(dāng)然Hibernate還完成了其它很多事情。類似Hibernate這樣OR映射框架的模型還有:ApacheOJB、sun公司的JDO、Oracle的Toplink以及EJB。使用Hibernate的標準API,數(shù)據(jù)的移植非常容易(只需要修改配置就可以了)透明持久性,也就是說當(dāng)你保存USER對象時,它不需要沒有繼承Hibernate中的任何類以及實現(xiàn)他的任何接口。通常這個對象,我們叫做POJO。POJO:最純粹的對象,這個對象沒有繼承第三方框架的任何類,沒有實現(xiàn)它的任何接口,Struts中的ActionForm就不是POJO,因為ActionForm繼承了Struts,不能離開Struts。Hibernate適合什么樣的情況:針對某個對象,簡單的把它查詢上來,然后在對它進行編輯,再對它進行修改。而且編輯、修改只是對單個對象進行的、不是對很多對象批量的進行。還有就是多個對象之間有清晰的關(guān)系。輕量級框架的好處,就是沒有侵入性。Hibernate就是一個輕量級框架,測試起來非常簡單。持久化對象的三種狀態(tài):瞬時對象(TransientObjects):使用new操作符初始化的對象不是立刻就持久的。它們的狀態(tài)是瞬時的,也就是說它們沒有任何跟數(shù)據(jù)庫表相關(guān)聯(lián)的行為,只要應(yīng)用不再引用這些對象,它們的狀態(tài)就會丟失,并由垃圾回收機制回收。持久化對象(PersistObjects):持久實例是任何具有數(shù)據(jù)庫標識的實例。它由持久化管理器Session統(tǒng)一管理,持久實例是在事務(wù)中經(jīng)行操作的—它們的狀態(tài)在事務(wù)結(jié)束時同數(shù)據(jù)庫進行同步。當(dāng)事務(wù)提交時,通過執(zhí)行SQL的Insert、Update和Delete語句把內(nèi)存中的狀態(tài)同步到數(shù)據(jù)庫中。離線對象(DetachedObjects):Session關(guān)閉之后,持久化對象就變?yōu)殡x線對象。離線表示這個對象不能再與數(shù)據(jù)庫保持同步,它們不再受Hibernate管理。1.3.3Tomcat簡介Tomcat是Apache軟件基金會(ApacheSoftwareFoundation)的Jakarta項目中的一個核心項目,由Apache、Sun和其他一些公司及個人共同開發(fā)而成。由于有了Sun的參與和支持,最新的Servlet和JSP規(guī)范總是能在Tomcat中得到體現(xiàn),Tomcat5支持最新的Servlet2.4和JSP2.0規(guī)范。因為Tomcat技術(shù)先進、性能穩(wěn)定,而且免費,因而深受Java愛好者的喜愛并得到了部分軟件開發(fā)商的認可,成為目前比較流行的Web應(yīng)用服務(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頁面的訪問請求。實際上Tomcat部分是Apache服務(wù)器的擴展,但它是獨立運行的,所以當(dāng)你運行tomcat時,它實際上作為一個與Apache獨立的進程單獨運行的。這里的訣竅是,當(dāng)配置正確時,Apache為HTML頁面服務(wù),而Tomcat實際上運行JSP頁面和Servlet。另外,Tomcat和IIS、Apache等Web服務(wù)器一樣,具有處理HTML頁面的功能,另外它還是一個Servlet和JSP容器,獨立的Servlet容器是Tomcat的默認模式。不過,Tomcat處理靜態(tài)HTML的能力不如Apache服務(wù)器。第二章系統(tǒng)需求分析2.1功能需求瀏覽者在打開系統(tǒng)首頁后,可以瀏覽公司的招聘信息,如果對某條招聘信息感興趣可以查看具體的信息。如果感覺合適,可以在線投遞個人簡歷。普通員工可以登錄自己的個人空間,修改自己的登錄密碼,查看培訓(xùn)信息、查看獎懲想信息、查看工資信息。管理員可以進行員工管理、培訓(xùn)信息管理、招聘信息的發(fā)布以及應(yīng)聘者信息的管理、獎懲管理、工資管理。因此角色分為三種:普通瀏覽者,普通員工、管理員。1.普通瀏覽者:可以查看招聘信息,并且可以在線投遞簡歷。2.普通員工:可以修改個人登錄密碼,查看培訓(xùn)信息,查看獎懲信息,查看薪金信息。3.管理員:(1)員工管理:員工信息的錄入、修改、刪除。(2)招聘/應(yīng)聘管理:招聘信息的發(fā)布、刪除;應(yīng)聘信息的瀏覽及人才的入庫。(3)培訓(xùn)管理:培訓(xùn)信息的發(fā)布、培訓(xùn)信息的查看、培訓(xùn)效果的總結(jié)。(4)獎懲管理:獎懲信息的錄入、修改、刪除。(5)薪金管理:薪金信息的錄入、修改、刪除。2.2性能需求分析1.準確性和及時性在系統(tǒng)設(shè)計和開發(fā)過程中,不但要保證本次數(shù)據(jù)處理結(jié)果的準確性,還要考慮本次數(shù)據(jù)處理結(jié)果對整個系統(tǒng)的影響,從而保證整個系統(tǒng)的正確性。系統(tǒng)在日常處理中的響應(yīng)速度要達到實時要求,以及實時反饋信息。在系統(tǒng)設(shè)計和開發(fā)過程中,還要充分考慮系統(tǒng)當(dāng)前和將來可能承受的工作量,使系統(tǒng)處理能力和響應(yīng)時間能夠滿足用戶對信息處理的要求。2.系統(tǒng)的可擴充性系統(tǒng)在開發(fā)過程中,應(yīng)該充分考慮以后的可擴充性。這些要求系統(tǒng)提供足夠手段進行功能的調(diào)整和擴充。要實現(xiàn)這一點,應(yīng)通過系統(tǒng)的開放性來完成,即系統(tǒng)應(yīng)是一個開放的系統(tǒng),只要符合一定的規(guī)范,可以簡單的加入和減少系統(tǒng)的模塊、配置系統(tǒng)的硬件。通過軟件的修補、替換完成系統(tǒng)的升級和更新?lián)Q代??梢哉f,具有良好的擴展性的軟件才是優(yōu)秀的軟件。3、維護和升級方便性軟件系統(tǒng)的改進和升級越來越頻繁,C/S系統(tǒng)的各部分模塊中有一部分改變,就要關(guān)聯(lián)到其它模塊的變動,使系統(tǒng)升級成本比較大。而本系統(tǒng)采用B/S處理模式,大大簡化了客戶端,只要客戶端機器能上網(wǎng)就可以。對于B/S而言,開發(fā)、維護等幾乎所有工作也都集中在服務(wù)器端,當(dāng)企業(yè)對網(wǎng)絡(luò)應(yīng)用進行升級時,只需更新服務(wù)器端的軟件就可以,這減輕了異地用戶系統(tǒng)維護與升級的成本。所有的升級操作只需要針對服務(wù)器進行,對點多面廣的應(yīng)用是很有價值的,客戶端分散,且應(yīng)用簡單,只需要進行簡單的瀏覽和少量信息的錄入。2.3可行性分析開發(fā)人力資源管理系統(tǒng),符合國家提倡的辦公自動化,提高使用效益的方向。利用先進的技術(shù),使人的各種辦公業(yè)務(wù)活動逐步由各種設(shè)備、各種人機信息系統(tǒng)來協(xié)助完成,達到充分利用信息、提高工作效率和工作質(zhì)量,提高生產(chǎn)率的目的。技術(shù)可行性:現(xiàn)有技術(shù)完全可以輕松實現(xiàn)該系統(tǒng)所有功能。如可以使用JAVA語言、Struts和Hibernate架構(gòu)和MySql數(shù)據(jù)庫等實現(xiàn)。經(jīng)濟可行性:電腦處理大量數(shù)據(jù)的時候優(yōu)勢非常明顯,比人工方式快的多,也更加準確,省時省力。操作可行性:系統(tǒng)的使用極其簡便,容易讓人接受。經(jīng)分析本次設(shè)計采用Myeclipse8.5為開發(fā)工具。JSP頁面負責(zé)顯示層;Struts作為控制層和顯示層;Hibernate用來做持久層,因為它將JDBC做了一個良好的封裝,在開發(fā)與數(shù)據(jù)庫進行交互時可以不用書寫大量的SQL語句。2.4輸入輸出需求要求用戶輸入輸出界面盡可能簡單明了,風(fēng)格統(tǒng)一;充分為用戶考慮,使用戶能方便的使用軟件,使應(yīng)用程序界面能夠吸引用戶、方便用戶操做即使在沒有幫助的情況下能夠比較容易的使用程序;用戶輸入給出格式參考或明確指示;要求對用戶輸入有容錯能力;要求對大量用戶信息輸出規(guī)劃整齊,盡量采用圖表形式。2.5數(shù)據(jù)管理需求1.?dāng)?shù)據(jù)錄入的準確性和實時性數(shù)據(jù)的輸入是否準確是數(shù)據(jù)處理的前提,錯誤的輸入會導(dǎo)致系統(tǒng)輸出的不正確和不可用,從而使系統(tǒng)的工作失去意義。數(shù)據(jù)的輸入來源一是手工輸入,二是由其它系統(tǒng)產(chǎn)生。手工輸入要通過系統(tǒng)界面上的安排使系統(tǒng)具有容錯性。而由其它系統(tǒng)生成的數(shù)據(jù)也要有必要的檢查手段,以保證輸入數(shù)據(jù)的準確性。在系統(tǒng)中,數(shù)據(jù)的輸入往往是大量的,因此系統(tǒng)要有一定的處理能力,以保證迅速的處理數(shù)據(jù)。2.?dāng)?shù)據(jù)的一致性和完整性由于系統(tǒng)的數(shù)據(jù)是共享的,在不同的模塊或子系統(tǒng)中,報表、文件、數(shù)據(jù)庫是共享數(shù)據(jù),所以如何保證這些數(shù)據(jù)的一致性,是系統(tǒng)必須解決的問題。要解決這一問題,要有一定的人員維護數(shù)據(jù)的一致性,在數(shù)據(jù)錄入處控制數(shù)據(jù)的去向,并且要求對數(shù)據(jù)庫的數(shù)據(jù)完整性進行嚴格的約束。各模塊之間對數(shù)據(jù)庫的需求各有不同,但一定要協(xié)調(diào)好不同需求之間的關(guān)系。對于各模塊都會用到的表一定要一致,不能有沖突。2.6故障處理需求由于軟硬件及系統(tǒng)設(shè)計等各種因素,系統(tǒng)在使用過程難免會發(fā)生各種故障。系統(tǒng)應(yīng)提供一定的對各種故障的檢測能力,并提供相應(yīng)的處理手段。對于硬件故障和系統(tǒng)軟件故障,應(yīng)由系統(tǒng)報告及處理;對于操作錯誤,要求有信息提示及正確方式。2.7運行環(huán)境需求服務(wù)器端:開發(fā)系統(tǒng):WindowsXPProfessionalJava開發(fā)包:JDK6.0開發(fā)工具:MyEclispe8.5服務(wù)器:tomcat6.X開發(fā)框架:Struts+Hibernate數(shù)據(jù)庫:MySQL5.0客戶端:CPU:P(R)1.6GHz內(nèi)存:1G系統(tǒng)總體設(shè)計3.1系統(tǒng)功能版塊劃分系統(tǒng)功能版塊按角色分為三大部分:一般瀏覽者、普通員工、管理員。 一般瀏覽者可以查看首頁的招聘信息,也可以查看某條招聘信息的具體內(nèi)容,還可以發(fā)送自己的簡歷。一般用戶可以輸入自己的用戶名和密碼登陸自己的空間,修改自己的密碼、查看培訓(xùn)信息、查看獎懲信息、查看工資信息。管理員可以管理員工信息:管理培訓(xùn)信息、管理獎懲信息、管理工資信息、管理招聘信息、管理普通瀏覽者投遞的簡歷。3.2系統(tǒng)使用流程分析圖3-1系統(tǒng)使用流程圖由系統(tǒng)流程圖可以看出,一般用戶進入本系統(tǒng)首頁后,無需登錄可以瀏覽招聘信息以及發(fā)送簡歷。普通員工管理員登錄后,修改個人密碼、查看培訓(xùn)信息、查看獎懲信息、查看薪金信息。管理員可以管理員工信息、管理培訓(xùn)信息、管理獎懲信息、管理工資信息、管理招聘信息、管理普通瀏覽者投遞的簡歷。3.3系統(tǒng)功能模塊圖下面是系統(tǒng)總體功能樹,列出了各個模塊的主要功能。圖3-2系統(tǒng)總體功能樹第四章數(shù)據(jù)庫設(shè)計4.1MySQL數(shù)據(jù)庫管理系統(tǒng)數(shù)據(jù)庫從最初的數(shù)據(jù)文件的簡單集合發(fā)展到今天的大型數(shù)據(jù)庫管理系統(tǒng)已經(jīng)成為我們?nèi)粘I钪胁豢扇鄙俚慕M成部分。如果不借助數(shù)據(jù)庫的幫助,許多簡單的工作將變得冗長乏味,甚至難以實現(xiàn)。尤其是象銀行、院校和圖書館這樣的大型組織更加依靠數(shù)據(jù)庫系統(tǒng)實現(xiàn)其正常的運作。再看互聯(lián)網(wǎng)上,從搜索引擎到在線商場,從網(wǎng)上聊天到郵件列表,都離不開數(shù)據(jù)庫。目前,市面上的數(shù)據(jù)庫產(chǎn)品多種多樣,從大型企業(yè)的解決方案到中小企業(yè)或個人用戶的小型應(yīng)用系統(tǒng),可以滿足用戶的多樣化需求。這里,我們所要向大家介紹的mysql數(shù)據(jù)庫是眾多的關(guān)系型數(shù)據(jù)庫產(chǎn)品中的一個,相比較其它系統(tǒng)而言,MySQL數(shù)據(jù)庫可以稱得上是目前運行速度最快的SQL語言數(shù)據(jù)庫。除了具有許多其它數(shù)據(jù)庫所不具備的功能和選擇之外,MySQL數(shù)據(jù)庫是一種完全免費的產(chǎn)品,用戶可以直接從網(wǎng)上下載數(shù)據(jù)庫,用于個人或商業(yè)用途,而不必支付任何費用。MySQL具有以下優(yōu)點:1.同時訪問數(shù)據(jù)庫的用戶數(shù)量不受限制;2.可以保存超過50,000,000條記錄;3.是目前市場上現(xiàn)有產(chǎn)品中運行速度最快的數(shù)據(jù)庫管理系統(tǒng);4.用戶權(quán)限設(shè)置簡單、有效;如今,包括Siemens和SiliconGraphics這樣的國際知名公司也開始把MySQL作為其數(shù)據(jù)庫管理系統(tǒng),這就更加證明了MySQL數(shù)據(jù)庫的優(yōu)越性能和廣闊的市場發(fā)展前景。4.2數(shù)據(jù)庫的需求分析數(shù)據(jù)庫需要創(chuàng)建以下數(shù)據(jù)表:1.用戶表信息(User):用于存放用戶信息。2.應(yīng)聘人員信息表(Job):用于存放應(yīng)聘人員信息3.培訓(xùn)計劃表(Educate):用于存放培訓(xùn)信息和培訓(xùn)效果信息4.獎懲信息表(Rap):用于存放獎懲信息5.工資信息表(Salary):用于存放工資信息6.招聘信息表(Works):用于存放招聘信息4.3外部設(shè)計數(shù)據(jù)庫使用Mysql,數(shù)據(jù)庫名稱為“db_liyang”。在本系統(tǒng)中一共包括6個實體,員工信息,應(yīng)聘者信息、獎懲信息、培訓(xùn)信息、工資信息、招聘信息。4.4實體關(guān)系E-R圖設(shè)計圖4-1人力資源管理系統(tǒng)E-R圖4.5創(chuàng)建數(shù)據(jù)庫1.啟動Navicat選擇開始-所有程序-PremiumSoft–NavicatLiteforMySQL-,然后單擊“NavicatLiteforMySQL”進入驗證用戶頁面(如下圖所示)。圖4-2進入數(shù)據(jù)庫時的身份驗證輸入主機名localhost(默認)、端口號3306(默認)、用戶名root、密碼123。勾選保存密碼下次登錄時就不會彈出此頁面,直接進入主頁面。2.通過身份驗證后的界面下圖是Navicat的主頁面,可以在這里創(chuàng)建數(shù)據(jù)庫。圖4-3native主頁3.新建數(shù)據(jù)庫右鍵單擊上圖紅圈中的localhost選擇創(chuàng)建數(shù)據(jù)庫,將回彈出如下圖所示的對話框在數(shù)據(jù)庫名中寫入db_liyang(作者名);在字符集選項中選擇utf8--UTF-8Unicode確定數(shù)據(jù)庫中的編碼格式。單擊確定完成數(shù)據(jù)庫的創(chuàng)建。圖4-4創(chuàng)建數(shù)據(jù)庫4.查看數(shù)據(jù)庫當(dāng)完成上面的操作后在localhost下面會有一個db_liyang的數(shù)據(jù)庫,可以在該數(shù)據(jù)庫中創(chuàng)建表和視圖。圖4-5新建的db_liyang數(shù)據(jù)庫以及表4.6數(shù)據(jù)庫設(shè)計系統(tǒng)設(shè)計階段的數(shù)據(jù)庫設(shè)計是以系統(tǒng)分析階段的成果和數(shù)據(jù)流程圖為依據(jù)的設(shè)計。數(shù)據(jù)庫在一個管理信息系統(tǒng)中占有非常重要的地位,數(shù)據(jù)庫結(jié)構(gòu)設(shè)計的好壞將直接對應(yīng)用系統(tǒng)的效率以及實現(xiàn)的效果產(chǎn)生影響。合理的數(shù)據(jù)庫結(jié)構(gòu)設(shè)計可以提高數(shù)據(jù)存儲的效率,保證數(shù)據(jù)的完整和一致。設(shè)計數(shù)據(jù)庫時應(yīng)該首先充分了解用戶各個方面的需求,包括現(xiàn)有的以及將來可能增加的需求。數(shù)據(jù)庫設(shè)計一般包括:數(shù)據(jù)庫邏輯設(shè)計和數(shù)據(jù)庫物理設(shè)計。邏輯設(shè)計的任務(wù)就是把概念設(shè)計階段設(shè)計好的基本E-R圖轉(zhuǎn)換為與選用DBMS產(chǎn)品所支持的數(shù)據(jù)模型相符合的邏輯結(jié)構(gòu)。邏輯設(shè)計時一般要分三步進行:第一步:將概念結(jié)構(gòu)轉(zhuǎn)換為一般的關(guān)系、網(wǎng)狀、層次模型;第二步:將轉(zhuǎn)換來的關(guān)系、網(wǎng)狀、層次模型向特定DBMS支持下的數(shù)據(jù)模型轉(zhuǎn)換;第三步:對數(shù)據(jù)模型進行優(yōu)化。為一個給定的邏輯數(shù)據(jù)模型選取一個最適合應(yīng)用要求的物理結(jié)構(gòu)的過程,就是數(shù)據(jù)庫的物理設(shè)計。數(shù)據(jù)庫的物理設(shè)計通常分為兩步:第一步:確定數(shù)據(jù)庫的物理結(jié)構(gòu),在關(guān)系數(shù)據(jù)庫中主要指存取方法和存儲結(jié)構(gòu);第二步:對物理結(jié)構(gòu)進行評價,評價的重點是時間和空間效率。設(shè)計優(yōu)化的物理數(shù)據(jù)庫結(jié)構(gòu),具有可靠性、有效性、可修改性和可移植性等特點。使得在數(shù)據(jù)庫上運行的各種事物響應(yīng)時間小、存儲空間利用率高、事物吞吐率大。為該系統(tǒng)設(shè)計的邏輯數(shù)據(jù)模型與物理結(jié)構(gòu)的對應(yīng)數(shù)據(jù)表如下所示:(1)員工信息表(包括員工ID、員工姓名、登錄密碼、性別、出生日期、創(chuàng)建時間、是否是管理員、人員簡介。其中員工ID為主鍵)圖4-6員工信息表的設(shè)計(2)應(yīng)聘者信息表(應(yīng)聘者ID,應(yīng)聘者姓名,性別、工作經(jīng)驗、所學(xué)專業(yè)、職位、畢業(yè)院校、電話號碼、Email、創(chuàng)建時間、應(yīng)聘人員簡介、是否入庫。其中應(yīng)聘者ID為主鍵。)圖4-7應(yīng)聘者信息表的設(shè)計(3)培訓(xùn)信息表(培訓(xùn)ID、培訓(xùn)名稱、培訓(xùn)目的、培訓(xùn)開始時間、培訓(xùn)結(jié)束時間、講師、培訓(xùn)人員、培訓(xùn)教材、培訓(xùn)是否完成、培訓(xùn)效果。其中培訓(xùn)ID為主鍵)圖4-8培訓(xùn)信息表的設(shè)計4)獎懲信息表(獎懲ID,獎懲名稱,獎懲原因,說明,創(chuàng)建時間。其中獎懲ID為主鍵)圖4-9獎懲信息表的設(shè)計(5)薪金信息表(薪金ID,員工名稱、基本薪金、餐補、房補、全勤獎、稅賦、獎懲、總計。其中薪金ID為主鍵)圖4-10薪金信息表的設(shè)計(6)招聘信息表(招聘信息ID,工作名稱、工作部門、開始時間、結(jié)束時間、聯(lián)系電話、工作地點、工作經(jīng)驗、專業(yè)、工資、詳細經(jīng)歷。招聘信息ID為主鍵)圖4-11招聘信息表的設(shè)計4.7數(shù)據(jù)庫保密設(shè)計用戶在登陸人力資源管理系統(tǒng)時就會獲得相應(yīng)的角色,根據(jù)角色的不同,其對數(shù)據(jù)庫的訪問權(quán)限就不盡相同。4.8數(shù)據(jù)庫的連接4.8.1Hibernate簡介本系統(tǒng)采用Hibernate作為數(shù)據(jù)持久層框架。Hibernate是一個開放源代碼的對象關(guān)系映射框架,它對JDBC進行了非常輕量級的對象封裝,使得Java程序員可以隨心所欲的使用對象編程思維來操縱數(shù)據(jù)庫。Hibernate可以應(yīng)用在任何使用JDBC的場合,既可以在Java的客戶端程序使用,也可以在Servlet/JSP的Web應(yīng)用中使用,最具革命意義的是,Hibernate可以在應(yīng)用EJB的J2EE架構(gòu)中取代CMP,完成數(shù)據(jù)持久化的重任。Hibernate的核心接口一共有5個,分別為:Session、SessionFactory、Transaction、Query和Configuration。這5個核心接口在任何開發(fā)中都會用到。通過這些接口,不僅可以對持久化對象進行存取,還能夠進行事務(wù)控制。下面對這五個核心接口分別加以介紹。Session接口Session接口負責(zé)執(zhí)行被持久化對象的CRUD操作(CRUD的任務(wù)是完成與數(shù)據(jù)庫的交流,包含了很多常見的SQL語句。)。但需要注意的是Session對象是非線程安全的。同時,Hibernate的session不同于JSP應(yīng)用中的HttpSession。這里當(dāng)使用session這個術(shù)語時,其實指的是Hibernate中的session,而以后會將HttpSesion對象稱為用戶session。SessionFactory接口SessionFactory接口負責(zé)初始化Hibernate。它充當(dāng)數(shù)據(jù)存儲源的代理,并負責(zé)創(chuàng)建Session對象。這里用到了工廠模式。需要注意的是SessionFactory并不是輕量級的,因為一般情況下,一個項目通常只需要一個SessionFactory就夠,當(dāng)需要操作多個數(shù)據(jù)庫時,可以為每個數(shù)據(jù)庫指定一個SessionFactory。Configuration接口Configuration接口負責(zé)配置并啟動Hibernate,創(chuàng)建SessionFactory對象。在Hibernate的啟動的過程中,Configuration類的實例首先定位映射文檔位置、讀取配置,然后創(chuàng)建SessionFactory對象。Transaction接口Transaction接口負責(zé)事務(wù)相關(guān)的操作。它是可選的,開發(fā)人員也可以設(shè)計編寫自己的底層事務(wù)處理代碼。Query和Criteria接口Query和Criteria接口負責(zé)執(zhí)行各種數(shù)據(jù)庫查詢。它可以使用HQL語言或SQL語句兩種表達方式。4.8.2配置數(shù)據(jù)庫中的表與實體Beans之間的聯(lián)系。1)創(chuàng)建實體Beans和User表之間聯(lián)系的User.hbm.xml文件<hibernate-mapping> <classname="com.china.xinjang.po.Users"table="users"> <idcolumn="id"name="id"type="long"> <generatorclass="native"/> <!--主鍵生成策略--> </id> <propertyname="username"length="50"type="string"/> <propertyname="password"length="50"type="string"/> <propertyname="sex"length="1"type="byte"/> <propertyname="birthday"length="23"type="timestamp"/> <propertyname="createtime"length="23"type="timestamp"/> <propertyname="isadmin"length="1"type="byte"/> <propertyname="content"length="2000"type="string"/> </class></hibernate-mapping>2)創(chuàng)建實體Beans和Job表之間聯(lián)系的Job.hbm.xml文件<hibernate-mapping> <classname="com.china.xinjang.po.Job"table="job"> <idcolumn="id"name="id"type="long"> <generatorclass="native"/> <!--主鍵生成策略--> </id> <propertyname="name"length="50"type="string"/> <propertyname="sex"length="1"type="byte"/> <propertyname="age"length="10"type="integer"/> <propertyname="job"length="50"type="string"/> <propertyname="specialty"length="50"type="string"/> <propertyname="experience"length="50"type="string"/> <propertyname="studyeffort"length="50"type="string"/> <propertyname="school"length="50"type="string"/> <propertyname="tel"length="50"type="string"/> <propertyname="email"length="50"type="string"/> <propertyname="createtime"length="23"type="timestamp"/> <propertyname="content"length="1073741823"type="string"/> <propertyname="isstock"length="1"type="byte"/> </class></hibernate-mapping>3)創(chuàng)建實體Beans和Educate表之間聯(lián)系的Educate.hbm.xml文件<hibernate-mapping> <classname="com.china.xinjang.po.Educate"table="educate"> <idcolumn="id"name="id"type="long"> <generatorclass="native"/> <!--主鍵生成策略--> </id> <propertyname="name"length="100"type="string"/> <propertyname="purpose"length="500"type="string"/> <propertyname="begintime"length="23"type="timestamp"/> <propertyname="endtime"length="23"type="timestamp"/> <propertyname="datum"length="2000"type="string"/> <propertyname="teacher"length="50"type="string"/> <propertyname="student"length="50"type="string"/> <propertyname="createtime"length="23"type="timestamp"/> <propertyname="effect"length="500"type="string"/> <propertyname="educate"length="1"type="byte"/> <propertyname="summarize"length="2000"type="string"/> </class></hibernate-mapping>4)創(chuàng)建實體Beans和Rap表之間聯(lián)系的Rap.hbm.xml文件<hibernate-mapping> <classname="com.china.xinjang.po.Rap"table="rap"> <idcolumn="id"name="id"type="long"> <generatorclass="native"/> </id> <propertyname="name"length="50"type="string"/> <propertyname="reason"length="1000"type="string"/><propertyname="explain"length="1000"type="string"column="explains"/> <propertyname="createtime"length="23"type="timestamp"/> </class><hibernate-mapping>5)創(chuàng)建實體Beans和Salary表之間聯(lián)系的Salary.hbm.xml文件<hibernate-mapping> <classname="com.china.xinjang.po.Salary"table="salary"> <idcolumn="id"name="id"type="long"> <generatorclass="native"/> </id> <propertyname="name"length="50"type="string"/> <propertyname="basic"length="53"type="float"/> <propertyname="eat"length="53"type="float"/> <propertyname="house"length="53"type="float"/> <propertyname="granttime"length="23"type="timestamp"/> <propertyname="duty"length="53"type="float"/> <propertyname="scot"length="53"type="float"/> <propertyname="punishment"length="53"type="float"/> <propertyname="other"length="53"type="float"/> <propertyname="totalize"length="53"type="float"/> </class></hibernate-mapping>6)創(chuàng)建實體Beans和Works表之間聯(lián)系的Works.hbm.xml文件<hibernate-mapping> <classname="com.china.xinjang.po.Works"table="works"> <idcolumn="id"name="id"type="long"> <generatorclass="native"/> <!--主鍵生成策略--> </id> <propertyname="workname"length="100"type="string"/> <propertyname="depart"length="500"type="string"/> <propertyname="begintime"length="23"type="timestamp"/> <propertyname="endtime"length="23"type="timestamp"/> <propertyname="tel"length="500"type="string"/> <propertyname="address"length="500"type="string"/> <propertyname="experience"length="500"type="string"/> <propertyname="major"length="500"type="string"/> <propertyname="salary"length="500"type="string"/> <propertyname="other1"length="500"type="string"/> <propertyname="other2"length="2000"type="string"/> </class></hibernate-mapping>4.8.3配置hibernate.cfg.xml文件<hibernate-configuration><session-factory> <propertyname="dialect"> org.hibernate.dialect.MySQLDialect <!--數(shù)據(jù)庫方言--> </property> <propertyname="hibernate.connection.url"> jdbc:mysql://localhost:3306/db_liyang?useUnicode=true&characterEncoding=gbk <!--數(shù)據(jù)庫連接URL--> </property> <propertyname="connection.username">root</property> <!--數(shù)據(jù)庫用戶名--> <propertyname="connection.password">123</property> <!--數(shù)據(jù)庫用戶密碼--> <propertyname="connection.driver_class"> com.mysql.jdbc.Driver<!--數(shù)據(jù)庫驅(qū)動類--> </property> <propertyname="show_sql">true</property><!--顯示SQL語句--> <mappingresource="com/china/xinjang/po/Users.hbm.xml"/> <mappingresource="com/china/xinjang/po/Educate.hbm.xml"/> <mappingresource="com/china/xinjang/po/Job.hbm.xml"/> <mappingresource="com/china/xinjang/po/Rap.hbm.xml"/> <mappingresource="com/china/xinjang/po/Salary.hbm.xml"/> <mappingresource="com/china/xinjang/po/Works.hbm.xml"/> </session-factory></hibernate-configuration>第五章系統(tǒng)詳細設(shè)計與實現(xiàn)5.1Struts1框架工作原理5.1.1Struts1工作原理Struts框架具有組件的模塊化,靈活性和重用性的優(yōu)點,同時簡化了基于MVC的web應(yīng)用程序的開發(fā)。Struts跟Tomcat、Turbine等諸多Apache項目一樣,是開源軟件,這是它的一大優(yōu)點。使開發(fā)者能更深入的了解其內(nèi)部實現(xiàn)機制。除此之外,Struts的優(yōu)點主要集中體現(xiàn)在兩個方面:Taglib和頁面導(dǎo)航。Taglib是Struts的標記庫,靈活運用,能大大提高開發(fā)效率。另外,就目前國內(nèi)的JSP開發(fā)者而言,除了使用JSP自帶的常用標記外,很少開發(fā)自己的標記,或許Struts是一個很好的起點。關(guān)于頁面導(dǎo)航,我認為那將是今后的一個發(fā)展方向,事實上,這樣做,使系統(tǒng)的脈絡(luò)更加清晰。通過一個配置文件,即可把握整個系統(tǒng)各部分之間的聯(lián)系,這對于后期的維護有著莫大的好處。尤其是當(dāng)另一批開發(fā)者接手這個項目時,這種優(yōu)勢體現(xiàn)得更加明顯。另外,struts是業(yè)界"標準"(很多成功案例),學(xué)習(xí)資源豐富,HTML標簽非常優(yōu)秀。Struts跟Tomcat、Turbine等諸多Apache項目一樣,是開源軟件,這是它的一大優(yōu)點。使開發(fā)者能更深入的了解其內(nèi)部實現(xiàn)機制。Struts開放源碼框架的創(chuàng)建是為了使開發(fā)者在構(gòu)建基于JavaServlet和JavaServerPages(JSP)技術(shù)的Web應(yīng)用時更加容易。Struts框架為開放者提供了一個統(tǒng)一的標準框架,通過使用Struts作為基礎(chǔ),開發(fā)者能夠更專注于應(yīng)用程序的商業(yè)邏輯。Struts框架本身是使用JavaServlet和JavaServerPages技術(shù)的一種Model-View-Controller(MVC)實現(xiàn)。具體來講,Struts的優(yōu)點有:1.實現(xiàn)MVC模式,結(jié)構(gòu)清晰,使開發(fā)者只關(guān)

溫馨提示

  • 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

提交評論