蘭州交通大學(xué)畢業(yè)設(shè)計-軟件工程畢業(yè)設(shè)計_第1頁
蘭州交通大學(xué)畢業(yè)設(shè)計-軟件工程畢業(yè)設(shè)計_第2頁
蘭州交通大學(xué)畢業(yè)設(shè)計-軟件工程畢業(yè)設(shè)計_第3頁
蘭州交通大學(xué)畢業(yè)設(shè)計-軟件工程畢業(yè)設(shè)計_第4頁
蘭州交通大學(xué)畢業(yè)設(shè)計-軟件工程畢業(yè)設(shè)計_第5頁
已閱讀5頁,還剩66頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

文檔來源網(wǎng)絡(luò)侵權(quán)刪除希望此文檔能祝您一臂之力文檔來源網(wǎng)絡(luò)侵權(quán)刪除希望此文檔能祝您一臂之力摘要人力資源管理系統(tǒng)是現(xiàn)代企業(yè)的核心業(yè)務(wù)系統(tǒng)之一,人力資源管理的狀況和水平對企業(yè)的運作和效率至關(guān)重要。現(xiàn)代企業(yè)人力資源管理的內(nèi)容非常豐富,可能包含檔案管理、合同管理、薪酬管理、招聘管理、績效管理、系統(tǒng)管理等很多部分。在本次畢業(yè)設(shè)計中,我們模擬實現(xiàn)了一家現(xiàn)代企業(yè)的人力資源管理系統(tǒng)中的部分子系統(tǒng)。由于現(xiàn)代企業(yè)都擁有功能完善的企業(yè)內(nèi)部網(wǎng),所以該系統(tǒng)的體系結(jié)構(gòu)采用了以SSH框架為基礎(chǔ)的Java企業(yè)級開發(fā)模式。SSH框架作為目前最流行和最成熟的Java企業(yè)級開發(fā)技術(shù),在軟件系統(tǒng)的效率、可用性、可維護性等方面提供了優(yōu)秀的支持,并集成了當前JavaWeb開發(fā)方面的最好技術(shù)。本人在該系統(tǒng)中主要承擔系統(tǒng)管理子系統(tǒng)的開發(fā)。該子系統(tǒng)包括用戶注冊、登錄、用戶管理、權(quán)限管理、用戶組管理等模塊。本文首先簡要介紹人力資源管理系統(tǒng)的一些應(yīng)用背景和應(yīng)用狀況;其次介紹了該項目開發(fā)所采用的平臺、開發(fā)工具以及開發(fā)環(huán)境;本文重點描述了該系統(tǒng)開發(fā)的流程,從項目策劃、需求分析、系統(tǒng)設(shè)計、編碼與實現(xiàn)等階段詳細介紹了系統(tǒng)的開發(fā)過程、實現(xiàn)方案和策略等。關(guān)鍵詞:人力資源管理;系統(tǒng)管理;SSH框架;JavaWeb開發(fā);面向?qū)ο蠼OM宋臋n能祝您一臂之力希望此文檔能祝您一臂之力AbstractHumanresourcemanagementsystemisoneofthecorebusinesssystemofmodernenterprises,thestatusandlevelofhumanresourcesmanagementisveryimportantfortherunningefficiencyofaenterprise.Thecontentofamodernenterprisehumanresourcesmanagementisveryrich,itmaycontainarchivesmanagement,contractmanagement,compensationmanagement,recruitmentmanagement,performancemanagement,systemmanagementandsoonmanyparts.Inthisgraduationdesign,wesimulatetheimplementationofamodernenterprisehumanresourcesmanagementsystemofsomesubsystems.DuetothefunctionofthemodernenterprisehasperfectenterpriseIntranet,sothearchitectureofthesystemadoptedbasedontheSSHframeworkofJavaenterprisedevelopmentmode.SSHframeworkasthemostpopularandthemostsophisticatedJavaenterprisedevelopmenttechnology,thesoftwaresystemofefficiency,availability,maintainability,etc,providesagoodsupport,andthebesttechnologyintegratedwiththecurrentJavaWebdevelopment.Imainlyundertakesystemmanagementsubsysteminthesystemdevelopment.Thesubsystemincludesuserregister,login,usermanagement,rightsmanagement,usergroupmanagementmodule,etc.Thispaperfirstbrieflyintroducessomeapplicationbackgroundofthehumanresourcesmanagementsystemandapplicationconditions;Secondlyintroducestheadoptedbytheprojectdevelopmentplatform,developmenttoolsanddevelopmentenvironments;Thispapermainlydescribesthesystemdevelopmentprocess,fromprojectplanning,requirementsanalysis,systemdesign,codingandimplementationphasesystemwasintroducedindetailthedevelopmentprocess,implementationplanandstrategy,etc.Keywords:Humanresourcemanagement;Systemmanagement;SSHframework;JavaWebdevelopment;Object-orientedmodeling

目錄TOC\o"1-3"\h\u41141.緒論 1235861.1研究背景 1264111.2設(shè)計目標 172541.3關(guān)于本系統(tǒng)的基本介紹 2200151.4論文結(jié)構(gòu) 220532.系統(tǒng)開發(fā)環(huán)境與技術(shù) 3251022.1系統(tǒng)開發(fā)環(huán)境 372352.1.1MyEclipse介紹 3143122.1.2Tomcat服務(wù)器介紹 4237122.2系統(tǒng)開發(fā)技術(shù) 4174572.2.1JSP與Servlet技術(shù) 456972.2.2JavaScript簡介 7102322.2.3MVC框架 8134532.2.4SSH框架 9320843.系統(tǒng)需求分析 14318413.1需求描述 14174733.1.1系統(tǒng)界面設(shè)計及操作風(fēng)格的需求 14271293.1.2系統(tǒng)功能描述 14234203.1.3系統(tǒng)運行環(huán)境 1638083.2系統(tǒng)的一般性規(guī)定 1733553.2.1對性能的規(guī)定 17308893.2.2對時間特性的規(guī)定 17135483.2.3輸入輸出要求 17118513.2.4數(shù)據(jù)管理能力要求 17304443.2.5網(wǎng)絡(luò)安全要求 183194.系統(tǒng)的設(shè)計與實現(xiàn) 19282414.1系統(tǒng)層次劃分 1963744.2數(shù)據(jù)庫的設(shè)計與實現(xiàn) 19168894.2.1數(shù)據(jù)庫的數(shù)據(jù)模型 2545384.3系統(tǒng)的設(shè)計與實現(xiàn) 28126054.3.1系統(tǒng)項目的文件夾結(jié)構(gòu) 2859674.3.2登錄模塊 3111474.3.3注冊模塊 32223334.3.4系統(tǒng)管理子系統(tǒng) 34263264.3.5檔案管理子系統(tǒng) 40236474.3.6合同管理子系統(tǒng) 426902總結(jié) 457441致謝 4619152參考文獻 47文檔來源網(wǎng)絡(luò)侵權(quán)刪除希望此文檔能祝您一臂之力希望此文檔能祝您一臂之力1.緒論1.1研究背景隨著信息技術(shù)飛速發(fā)展,人們現(xiàn)在已處在數(shù)字化的生存空間之中?;ヂ?lián)網(wǎng)構(gòu)造了無限的信息資源,它的普及已經(jīng)從根本上改變了人們現(xiàn)實中的生活方式和工作方式,也改變了企業(yè)的經(jīng)營方式、管理方式和服務(wù)方式。傳統(tǒng)的依賴手工方式的記錄的管理方式已經(jīng)遠無法滿足企業(yè)的需求,傳統(tǒng)的方式效率普遍較低,無法對數(shù)據(jù)進行有效的、規(guī)范的管理,查詢比較困難,數(shù)據(jù)準確性、安全性相對較差,那么企業(yè)對于新的管理平臺的需求是必然的。通過新的管理系統(tǒng)平臺,企業(yè)能夠大大提高各方面效率,而且方便了企業(yè)與員工之間的相互交流,能夠方便滿足將來的業(yè)務(wù)需求。當今,網(wǎng)絡(luò)技術(shù)的迅猛發(fā)展,使得基于Web開發(fā)的各類信息系統(tǒng)已經(jīng)成為一種主流趨勢。基于Web的系統(tǒng)具有的特點:(1)信息的及時更新和發(fā)布;(2)良好的用戶界面和接口;(3)方便操作和管理;(4)系統(tǒng)功能的通用性;(5)靈活性和可擴展性;正是在這樣的社會大背景下,我們開始進行“安博人力資源系統(tǒng)”的課題研究,其目的在于通過建設(shè)一個網(wǎng)站來實現(xiàn)基于Web的信息系統(tǒng)的上述特點,以展現(xiàn)該類管理系統(tǒng)的快速、便捷、準確地發(fā)布、管理信息,提供信息管理的強大功能和作用。人力資源管理平臺可以幫助企業(yè)實現(xiàn)對人力資源信息數(shù)據(jù)更好的管理,大大提高工作人員的效率,幫助企業(yè)高層及時了解企業(yè)員工現(xiàn)狀。1.2設(shè)計目標開發(fā)設(shè)計本系統(tǒng)的任務(wù)是對人力資源信息數(shù)據(jù)的管理。通過該系統(tǒng)能夠讓用戶對檔案信息、合同信息進行添加、刪除、修改、查詢;并能夠讓管理員對用戶進行管理。開發(fā)系統(tǒng)的目標是幫助人力資源公司進行員工的檔案、合同信息管理,需要滿足的要求具體包括如下:(1)網(wǎng)頁風(fēng)格符合人力資源企業(yè)的特點,簡單實用;(2)能夠?qū)崿F(xiàn)對于人力資源信息數(shù)據(jù)的管理;(3)網(wǎng)站運行安全、穩(wěn)定;1.3關(guān)于本系統(tǒng)的基本介紹(1)系統(tǒng)名稱:安博人力資源管理平臺(2)用戶:甘肅安博人力資源服務(wù)有限公司(3)運行環(huán)境:WindowsXP(4)開發(fā)平臺:SSH框架、SQLServer2005、Tomcat6.0(5)開發(fā)語言:Java1.4論文結(jié)構(gòu)本文的章節(jié)安排如下:第一章:緒論,說明本文的研究背景、設(shè)計目標和系統(tǒng)的基本信息介紹,為接下來系統(tǒng)后臺的分析與設(shè)計做準備。第二章:系統(tǒng)開發(fā)環(huán)境與技術(shù),簡單介紹系統(tǒng)實現(xiàn)所依賴環(huán)境和開發(fā)所用的技術(shù)。如MyEclipse、Tomcat服務(wù)器、SSH框架、JSP與Servle原理、JavaScript。第三章:系統(tǒng)需求分析,從系統(tǒng)功能需求和一般性規(guī)定對系統(tǒng)需求進行了詳細闡述。第四章:系統(tǒng)的設(shè)計與實現(xiàn),給出系統(tǒng)后臺的具體設(shè)計與實現(xiàn),包括系統(tǒng)各個模塊功能以及數(shù)據(jù)庫的設(shè)計與實現(xiàn)。第五章:總結(jié),對整個論文總結(jié),并針對目前工作中的不足對未來工作的展望。

2.系統(tǒng)開發(fā)環(huán)境與技術(shù)2.1系統(tǒng)開發(fā)環(huán)境安博人力資源管理平臺以MyEclipse8.5為開發(fā)平臺,且由Tomcat6.0充當Web服務(wù)器來開發(fā)實現(xiàn)。2.1.1MyEclipse介紹MyEclipse(MyEclipseEnterpriseWorkbench)是一款商業(yè)軟件,是一個非常優(yōu)秀的用于開發(fā)Java、J2EE的Eclipse插件集合,是對EclipseIDE的擴展,是基于Java和Eclipse的可擴展開發(fā)平臺,它的功能非常強大、支持也十分廣泛、特別是對各種開源產(chǎn)品的支持很不錯。就其工具本身而言,它是功能豐富的J2EE集成開發(fā)環(huán)境,包括了完備的編碼、調(diào)試、測試和發(fā)布功能,利用它可以在數(shù)據(jù)庫和J2EE的開發(fā)、發(fā)布以及應(yīng)用程序服務(wù)器的整合方面,極大地提高工作效率。可以說,MyEclipse幾乎囊括了目前所有主流開源產(chǎn)品的專屬eclipse開發(fā)工具。隨著MyEclipse2013支持JQuery,你可以通過插件提升性能,并可添加動畫效果到設(shè)計中。簡單而言,MyEclipse是eclipse的插件,也是一款功能非常強大的J2EE集成開發(fā)環(huán)境,支持代碼編寫、配置、測試及除錯。程序的功能包括:HTML智能編輯器、JavaServlet、Struts、JSF、CSS、JavaScript、SQL、Hibernate、Spring、EJB3等,帶有自動完成和語法高亮顯示功能的J2EE編輯器。盡管eclipse是使用Java語言開發(fā)的,但它的用途并不限于Java語言。例如:支持諸如C/C++、COBOL和Eiffel及Perl等編程語言的插件。在結(jié)構(gòu)上,MyEclipse的特征包括:(1)J2EE模型(2)WEB開發(fā)工具(3)數(shù)據(jù)庫服務(wù)(4)J2EE項目部署服務(wù)(5)應(yīng)用程序服務(wù)器的連接(6)EJB開發(fā)工具(7)MyEclipse整合幫助由于MyEclipse結(jié)構(gòu)上的這種模塊化,使我們在不影響其他模塊的情況下,對任一模塊可以進行單獨的擴展和升級。2.1.2Tomcat服務(wù)器介紹Tomcat最初是由Sun公司的軟件架構(gòu)師詹姆斯·鄧肯·戴維森開發(fā)的,后來在他的幫助下變?yōu)殚_源代碼,并由Sun貢獻給Apache基金會。Tomcat服務(wù)器是免費開源代碼的Web應(yīng)用服務(wù)器,屬于輕量級應(yīng)用服務(wù)器,在中小型系統(tǒng)和并發(fā)訪問用戶相對較少時被普遍使用,是開發(fā)和調(diào)試JSP程序的首選。實際上,Tomcat部分是Apache服務(wù)器的擴展,但它是獨立運行的,因此,當你運行Tomcat時,它實際上是作為一個與Apache獨立的進程單獨運行的。Tomcat是一個Servlet和JSP容器,具有處理HTML頁面的功能,當配置正確時,Apache為HTML頁面服務(wù),而Tomcat實際上運行JSP頁面和Servlet。由于Tomcat運行時占用的系統(tǒng)資源少,擴展性好,支持負載平衡與郵件服務(wù)等開發(fā)應(yīng)用程序的基本功能,它很受廣大程序員的喜歡;而且,它還在不斷地改進和完善中,任何喜歡它的程序員都可更改它或加入新功能。由于Java的跨平臺特性,基于Java的Tomcat也具有跨平臺性。與傳統(tǒng)的桌面應(yīng)用程序相比,Tomcat中的應(yīng)用程序是一個WAR文件。WAR是Sun提出的一種Web應(yīng)用程序格式,與JAR類似,是文件的一個壓縮包。這個包中的文件按一定的目錄結(jié)構(gòu)來組織:其根目錄下包含有html和Jsp文件或目錄,另外,還有一個WEB-INF目錄,這個目錄很重要。通常,在WEB-INF目錄下有一個web.xml文件和一個classes目錄,web.xml是應(yīng)用的配置文件,而classes目錄下則包含編譯好的Servlet類和Jsp或Servlet所依賴的其他類(如JavaBean)。通常,這些所依賴的類可以打包成JAR文件,然后放到WEB-INF下的lib目錄下。因為Tomcat的技術(shù)先進、性能穩(wěn)定,且免費,所以深受廣大程序開發(fā)者的喜愛,并得到了部分軟件開發(fā)商的認可,已經(jīng)成為目前比較流行的Web應(yīng)用程序服務(wù)器。2.2系統(tǒng)開發(fā)技術(shù)安博人力資源管理平臺的開發(fā)技術(shù)是基于J2EE架構(gòu)的SSH框架技術(shù)。開發(fā)平臺是MyEclipse,Tomcat6.0作為服務(wù)器,JDK1.7.0_03作為工具包。2.2.1JSP與Servlet技術(shù)JSP全稱JavaServerPages,是由SunMicrosystems公司倡導(dǎo),許多公司一起建立的一種動態(tài)技術(shù)標準。其根本是一個簡化的Servlet設(shè)計,它實現(xiàn)了HTML語法中的Java擴張(以<%,%>形式)。在傳統(tǒng)的網(wǎng)頁HTML文件中加入Java程序片段和JSP標簽,就能夠使JSP網(wǎng)頁中的Java程序片段操縱數(shù)據(jù)庫、重新定向網(wǎng)頁,以及發(fā)送E-mail等,實現(xiàn)建立動態(tài)網(wǎng)站所需的功能。所有程序操作都在服務(wù)器端運行,通常返回給客戶端的就是一個HTML文本,因此客戶端只要有瀏覽器就能瀏覽。Web服務(wù)器在遇到訪問JSP頁面的請求時,首先執(zhí)行其中的程序段,然后將執(zhí)行的結(jié)果連同JSP文件中的HTML代碼一并返回給客戶端。網(wǎng)絡(luò)上傳送給客戶端的僅僅是得到的結(jié)果,這樣大大降低了對客戶瀏覽器的要求,即使客戶瀏覽器端不支持Java,也可訪問JSP頁面。通常,JSP頁面很少進行數(shù)據(jù)處理,只是用來實現(xiàn)網(wǎng)頁的靜態(tài)化,只是用來提取數(shù)據(jù),不會進行業(yè)務(wù)處理。JSP是一種動態(tài)頁面技術(shù),它的主要目標是將表示邏輯從Servlet中分離出來。JSP將網(wǎng)頁邏輯與網(wǎng)頁設(shè)計的顯示分離,支持可重用的基于組件的設(shè)計,使基于Web的應(yīng)用程序開發(fā)變得容易、迅速。JSP頁面是由HTML代碼和嵌入其中的Java代碼所組成。服務(wù)器在頁面被客戶端請求以后,對這些Java代碼進行處理,然后將生成的HTML頁面返回給客戶端。JSP具備了Java技術(shù)的簡單易用,完全面向?qū)ο螅哂衅脚_無關(guān)性且安全可靠。Servlet是服務(wù)器上運行的小程序,是一種獨立于平臺和協(xié)議的Java應(yīng)用程序,可以生成動態(tài)的Web頁面。Servlet位于Web服務(wù)器的內(nèi)部,通過Web服務(wù)器進行加載,該Web服務(wù)器必須包含支持Servlet的java虛擬機。Servlet是JSP的技術(shù)基礎(chǔ),而且大型的Web應(yīng)用程序開發(fā),需要Servlet和JSP的配合才能完成。(1)JSP工作原理JSP頁面通常以擴展名為.jsp的純文本文件的形式存在服務(wù)器上,以當一個JSP文件第一次被請求時,JSP引擎把該JSP文件轉(zhuǎn)換成一個Servlet,而這個引擎也是一個Servlet。JSP引擎先把該Jsp文件轉(zhuǎn)換成一個Java源文件,在轉(zhuǎn)換時若發(fā)現(xiàn)語法錯誤,轉(zhuǎn)換過程將中斷,并向服務(wù)器和客戶端輸出出錯信息;若轉(zhuǎn)換成功,JSP引擎將用javac把該Java源文件編譯成相應(yīng)的class文件。然后創(chuàng)建一個該Servlet實例,該Servlet的Init()方法被執(zhí)行,此方法在Servlet的生命周期中只被執(zhí)行一次。然后,Service()方法被調(diào)用來處理客戶端的請求。對于每一個請求,JSP引擎創(chuàng)建一個新的線程來處理該請求。若有多個客戶端同時請求該JSP文件,則該引擎會創(chuàng)建多個線程,每個線程對應(yīng)一個客戶端請求。JSP頁面被編譯成Servlet之后,其執(zhí)行代碼以獨立線程的形式一直存在服務(wù)器的內(nèi)存中,以后該JSP頁面再提出請求時,就不需要重新編譯,至到該頁面被修改或Web應(yīng)用程序重新啟動。當需要銷毀某個文件時,就調(diào)用Destroy()方法來釋放相應(yīng)的資源。圖2.1所示為JSP的工作原理圖圖2.1JSP的工作原理(2)JSP語法1)常用JSP命令:a.頁面指令,主要用來指定當前JSP頁面的屬性。b.<jsp:include>允許包含其他動態(tài)和靜態(tài)文件。c.<jsp:forward>將一個JSP文件傳給另一個JSP文件。d.<jsp:plugin>可以通過Java插件在瀏覽器中運行JavaApplet。e.<jsp:useBean>是用來訪問JavaBean的動作標記。當JSP頁面使用<jsp:useBean>標記時,表示將引用一個JavaBean的實例。JavaBean標記的語法格式如下:<jsp:useBeanid=“實例名稱”scope=“范圍”class=“類名”type=“類的類型”beanName=“JavaBean的名稱/>。2)JSP內(nèi)置對象:為了方便WEB頁面開發(fā),JSP提供了一組內(nèi)置對象,這些內(nèi)置對象可以不經(jīng)顯式的聲明而在程序中直接使用,JSP的主要內(nèi)置對象有Request、Response、Out、Session等。通過這組內(nèi)置對象,可以實現(xiàn)頁面的一些請求輸入、輸出功能,還可實現(xiàn)數(shù)據(jù)在頁面之間的交互。a.Request對象:主要功能是接受客戶端以HTTP方式傳送的數(shù)據(jù),實現(xiàn)與客戶交互的功能。一般最常用的是它的getParameter(Stringname)方法來獲取傳遞的參數(shù)。b.Response對象:主要功能是用來對客戶的請求做出響應(yīng),與Request對象對應(yīng)。Response對象用于將服務(wù)器的數(shù)據(jù)發(fā)送到客戶端,輸出的數(shù)據(jù)可以是各種數(shù)據(jù)類型,甚至是文件。一般經(jīng)常用到的是它的sendRedirect(URLurl)方法來重定向當前用戶訪問的url。c.Out對象:主要功能是用于動態(tài)地向客戶端輸出數(shù)據(jù)信息,主要作用是在Web瀏覽器內(nèi)輸出信息。在數(shù)據(jù)的輸出方面會經(jīng)常用到它的rintln(parameter)方法,該方法也是進行糾錯處理時一個比較有效的輸出方法。d.Session對象:主要功能用來保存每個用戶在會話期間的數(shù)據(jù)信息,這樣就方便了會話處理工作。當用戶登陸網(wǎng)站時,系統(tǒng)將為其生成一個session對象,用以記錄該用戶的個人信息,當用戶退出網(wǎng)站時,該session對象將會自動注銷。Session對象可以綁定若干個人的信息或java對象。2.2.2JavaScript簡介JavaScript是一種基于對象和事件驅(qū)動且具有相對安全性的客戶端腳本語言,也是一種廣泛應(yīng)用于客戶端WEB開發(fā)的腳本語言,常用來給HTML網(wǎng)頁添加動態(tài)功能,比如響應(yīng)用戶的各種操作。它最初是由Netscape公司的BrendanEich設(shè)計,是一種動態(tài)、弱類型、基于原型的語言,內(nèi)置支持類。JavaScript是Sun公司的注冊商標。完整的JavaScript實現(xiàn)包含三個部分:ECMAScript,字節(jié)順序記號,文檔對象模型。JavaScript是為了適應(yīng)動態(tài)網(wǎng)頁制作的需要而誕生的一種編程語言,現(xiàn)今廣泛地應(yīng)用于Internet網(wǎng)頁制作。JavaScript是由Netscape公司開發(fā)的一種腳本語言(scriptinglanguage),或者稱為描述語言。JavaScript的出現(xiàn)使得用戶和網(wǎng)頁之間實現(xiàn)了一種動態(tài)的、實時性的、交互性的關(guān)系,使得網(wǎng)頁包含了更多活躍的元素和更加精彩的內(nèi)容。在HTML基礎(chǔ)上,使用JavaScript可以開發(fā)交互式Web網(wǎng)頁。JavaScript由于短小精悍,且是在客戶機上執(zhí)行的,因此大大提高了網(wǎng)頁的交互能力和瀏覽速度。JavaScript加入網(wǎng)頁的兩種方法:(1)直接加入HTML文檔這是最常用的方法,大部分含有JavaScript的網(wǎng)頁都采用這種方法,如:<scriptlanguage="Javascript"><!--document.writeln("這是Javascript!采用直接插入的方法!");//-Javascript結(jié)束--></script><scriptlanguage="Javascript”>用來告訴瀏覽器這是用JavaScript編寫的程序,需要調(diào)動相應(yīng)的解釋程序進行解釋。HTML的注釋標簽<!--和-->,用來去掉瀏覽器所不能識別的JavaScript源代碼,這對于不支持Javascript語言的瀏覽器來說是很有用的。//-Javascript結(jié)束:雙斜杠表示JavaScript的注釋部分,即從//開始到行尾的字符都被忽略。<script></script>的位置并不是固定的,可以包含在<head></head>或<body></body>中的任何位置。(2)引用方式若項目已經(jīng)有一個JavaScript源文件(以js為擴展名),則可以采用這種引用的方式,以提高程序代碼的利用率。其格式如下:<scriptsrc=urllanguage="Javascript"></script>其中url就是.js文件的地址。同樣,這樣的語句可以放在HTML文檔頭部或主體的任何部分。如果要實現(xiàn)“直接插入方式”中的效果,可以首先創(chuàng)建一個JavaScript源代碼文件“script.js”,其內(nèi)容如下:document.writeln("這是Javascript!采用直接插入的方法!")。在網(wǎng)頁中可以這樣調(diào)用程序:<scriptsrc=”script.js”language=”Javascript”></script>2.2.3MVC框架MVC是一種架構(gòu)設(shè)計模式,該模式主要應(yīng)用于圖形化用戶界面(GUI)應(yīng)用程序。MVC即Model-View-Controller由模型(Model)、視圖(View)、控制器(Controller)三部分組成,M代表業(yè)務(wù)邏輯,V代表視圖,C代表控制層。模型(Model)層:是企業(yè)數(shù)據(jù)和業(yè)務(wù)規(guī)則,它具有最多的處理任務(wù)。一個軟件實現(xiàn)了什么功能,它該如何實現(xiàn)功能,以及這些功能之間的聯(lián)系都是在模型層進行處理的。模型層是一個軟件的核心,對于軟件功能的好壞、完善,業(yè)務(wù)層起到了決定性的作用。視圖(View)層:是用戶所能看到的并與之交互的界面。在J2EE技術(shù)中,常用的表示層技術(shù)主要由JSP、JSF。視圖向用戶顯示相關(guān)的數(shù)據(jù),并能接受用戶的輸入數(shù)據(jù),但是它不能進行實際的業(yè)務(wù)處理。視圖還可以接受模型發(fā)出來的數(shù)據(jù)更新事件,從而對用戶界面進行同步更新。控制(Controller)層:接受用戶的輸入并調(diào)用模型和視圖去實現(xiàn)用戶的需求??刂茖雍苌僮雠c業(yè)務(wù)有關(guān)的事情,比如登錄驗證。所以,在軟件的分層結(jié)構(gòu)設(shè)計中,控制層的代碼量幾乎是最少的,但它的作用也是非常重要的。MVC框架具有耦合性低、重用性高、生命周期成本低、部署快、可維護性高等特點。視圖層和業(yè)務(wù)層分離,就允許更改視圖層的代碼而不需要重新編譯模型和控制器的代碼,同樣,一個應(yīng)用的業(yè)務(wù)流程或業(yè)務(wù)規(guī)則改變后就只需要改動MVC模型層。因為模型、視圖和控制的分離,使得很容易改變應(yīng)用程序的數(shù)據(jù)層和業(yè)務(wù)規(guī)則。MVC使得開發(fā)和維護用戶接口的技術(shù)含量降低。分離視圖層和業(yè)務(wù)層也使WEB應(yīng)用更易于維護和修改。模型層、視圖層、控制層三者之間的關(guān)系和各自的功能如圖2.2所示:圖2.2MVC模式關(guān)系和功能圖2.2.4SSH框架SSH為Struts+Spring+Hibernate的一個集成框架,是目前比較流行的一種web應(yīng)用程序的開源框架。其中,Struts進行流程控制,Spring進行業(yè)務(wù)流轉(zhuǎn),Hibernate進行數(shù)據(jù)庫操作的封裝。Struts的MVC設(shè)計模式使我們的邏輯變得很清晰,Spring的IOC和AOP使我們的產(chǎn)品最大限度上解耦,Hibernate對實體對象持久化。典型的J2EE三層結(jié)構(gòu)為表現(xiàn)層、業(yè)務(wù)邏輯層和數(shù)據(jù)服務(wù)層,三層體系將業(yè)務(wù)規(guī)則、數(shù)據(jù)訪問以及合法性校驗等工作放在業(yè)務(wù)邏輯層處理。客戶端不直接與數(shù)據(jù)庫交互,而是通過組件與業(yè)務(wù)邏輯層建立連接,再由業(yè)務(wù)邏輯層與數(shù)據(jù)庫交互。表現(xiàn)層采用的是傳統(tǒng)的JSP技術(shù),業(yè)務(wù)邏輯層采用的是Spring+Hibernate,為了將控制層與業(yè)務(wù)邏輯層分離,又細分為:1)Action層(web層),即MVC模式中的controller,負責控制業(yè)務(wù)邏輯層與表現(xiàn)層的交互,調(diào)用業(yè)務(wù)邏輯層,并將業(yè)務(wù)數(shù)據(jù)返回給表現(xiàn)層作組織表現(xiàn),系統(tǒng)在這采用Struts。2)Service層,即業(yè)務(wù)邏輯層,負責實現(xiàn)業(yè)務(wù)邏輯,業(yè)務(wù)邏輯以DAO層為基礎(chǔ),通過對DAO組件的模式包裝,完成系統(tǒng)要求的業(yè)務(wù)邏輯。3)DAO層,負責與持久化對橡交互,該層封裝了數(shù)據(jù)的增、刪、改、查的操作。4)Entity層,持久化對象,通過實體關(guān)系映射的工具將關(guān)系型數(shù)據(jù)庫中的數(shù)據(jù)映射成對象,方便的實現(xiàn)以面向?qū)ο蟮姆绞讲僮鲾?shù)據(jù)庫,系統(tǒng)在這采用Hibernate。Spring的作用貫穿整個業(yè)務(wù)邏輯層,將Action層、Service層、DAO層以及Entity層無縫整合,其數(shù)據(jù)服務(wù)層用來存放數(shù)據(jù)。SSH框架中Struts、Spring、Hibernate的介紹:(1)StrutsStruts對Model、View和Controller都提供了對應(yīng)的組件。ActionServlet,這個類是Struts的核心控制器,負責攔截來自用戶的需求。Action,這個類由用戶提供,負責接收來自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技術(shù)實現(xiàn)。Struts提供了豐富的標簽庫,使用標簽庫可以減少腳本的使用。Controller組件Controller組件有兩個部分組成:系統(tǒng)核心控制器、業(yè)務(wù)邏輯控制器。系統(tǒng)核心控制器,對應(yīng)ActionServlet,該控制器繼承了HttpServlet類,該控制器負責攔截所有的HTTP請求,然后根據(jù)用戶請求決定是否要傳給業(yè)務(wù)邏輯控制器。業(yè)務(wù)邏輯控制器,負責處理用戶請求,其本身不具備處理能力,而是調(diào)用Model來實現(xiàn)處理,對應(yīng)Action層。Struts配置文件的核心代碼:<struts><!--用戶配置--> <packagename="user"namespace="/"extends="access"> <actionname="userAction_*"method="{1}"class="cn.hr.hrmps.struts2.action.UserAction"> <resultname="userList">WEB-INF/user/list.jsp</result> <resultname="user">WEB-INF/user/view.jsp</result> <resultname="toAdd">WEB-INF/user/add.jsp</result> <resultname="toEdit">WEB-INF/user/edit.jsp</result> </action> </package></struts>(2)SpringSpring是一個開源框架,是一個輕量級的控制反轉(zhuǎn)(IoC)和面向切面(AOP)的容器框架,它是由RodJohnson創(chuàng)建,它的創(chuàng)建是為了解決企業(yè)應(yīng)用開發(fā)的復(fù)雜性。Spring使用基本的JavaBean來完成以前只能有EJB完成的工作,并提供了更多的企業(yè)應(yīng)用功能,且Spring的用途不僅僅限于服務(wù)器端的開發(fā)。Spring具有簡單性、可測試性和耦合性等特點,任何Java應(yīng)用都可從中受益??刂品崔D(zhuǎn)(InversionofControl,縮寫IoC),也叫做依賴注入(DI),是一個重要的面向?qū)ο缶幊痰姆▌t,通過這種技術(shù)可以削減程序的耦合性,它也是輕量級的Spring框架的核心。應(yīng)用控制反轉(zhuǎn),對象在被創(chuàng)建的時候,由一個外界實體調(diào)控系統(tǒng)內(nèi)的所有對象,將其所依賴的對象的應(yīng)用,傳遞給它,也可說是,依賴被注入到對象中。所以,控制反轉(zhuǎn)是關(guān)于一個對象如何獲取它所依賴對象的引用,這個責任的反轉(zhuǎn)。面向切面是Spring提供的面向切面編程的一種技術(shù),允許通過分離應(yīng)用的業(yè)務(wù)邏輯和系統(tǒng)服務(wù)(如事務(wù)管理(Transaction))進行內(nèi)聚性的開發(fā)。Spring可以將簡單的組件配置、組合成復(fù)雜的應(yīng)用。在Spring中,應(yīng)用對象以聲明的方式被組合,典型的是在一個XML文件中。Spring還提供了事務(wù)管理、持久化框架集成等基礎(chǔ)功能將應(yīng)用邏輯的開發(fā)留給了程序員。Spring的這些特征使程序員可以編寫更干凈、更可管理、且易于測試的代碼。SSH三層框架中Hibernate交由Spring管理,Spring配置文件的核心內(nèi)容:<!--定義事務(wù)管理器--> <beanid="transactionManager" class="org.springframework.jdbc.datasource.DataSourceTransactionManager"> <propertyname="dataSource"ref="dataSource"></property> </bean> <!--定義事務(wù)通知--> <tx:adviceid="txAdvice"transaction-manager="transactionManager"> <!--定義方法的過濾規(guī)則--> <tx:attributes> <!--所有方法都使用事務(wù)--> <tx:methodname="save*"propagation="REQUIRED"/> <!--定義所有g(shù)et開頭的方法都是只讀的--> <tx:methodname="delete*"propagation="REQUIRED"/> <!--所有方法都使用事務(wù)--> <tx:methodname="get*"propagation="REQUIRED"/> <!--定義所有g(shù)et開頭的方法都是只讀的--> <tx:methodname="set*"propagation="REQUIRED"/> </tx:attributes> </tx:advice> <beanid="UserInfoDAO"class="com.hr.dao.UserInfoDAO"> <propertyname="sessionFactory"> <refbean="sessionFactory"/> </property> </bean> <beanid="UserInfoAction"class="com.hr.action.UserInfoAction"> <propertyname="userinfodao"> <refbean="UserInfoDAO"/> </property></bean>(3)HibernateHibernate是一個開放源代碼的對象關(guān)系映射框架,它對JDBC進行了輕量級的對象封裝,使得程序員能夠使用對象編程思維隨心所欲的來操縱數(shù)據(jù)庫。Hibernate可以應(yīng)用在使用JDBC的任何場合,既可以在Java客戶端使用,也可以在Servlet/JSP的WEB應(yīng)用中使用。Hibernate的核心接口共有五個,分別是Session、SessionFactory、Transaction、Query、Configuration,這五個接口在任何開發(fā)中都會用到。通過使用這些接口,可以對持久化對象進行存取,還能夠進行事務(wù)控制。下面是對五個核心接口的介紹:1)Session接口:負責執(zhí)行被持久化對象的CRUD操作,CRUD操作是完成與數(shù)據(jù)庫的交流,包含了常見的SQL語句。Session對象是非線程安全的,且Hibernate的session不同于JSP應(yīng)用中的HttpSession。2)SessionFactory接口:負責初始化Hibernate,它充當數(shù)據(jù)存儲源的代理,并負責創(chuàng)建Session對象。這里用到了工廠模式,通常一個項目只需要一個SessionFactory,當要操作多個數(shù)據(jù)庫時,可為每個數(shù)據(jù)庫指定一個SessionFactory。3)Transaction接口:負責事務(wù)相關(guān)的操作,它是可選的,開發(fā)人員可以設(shè)計編寫自己的底層事務(wù)處理代碼。4)Query接口:負責執(zhí)行各種數(shù)據(jù)庫的查詢,它可以使用HQL語言和SQL語句兩種表達方式。5)Configuration接口:負責配置并啟動Hibernate,創(chuàng)建SessionFactory對象。在Hibernate啟動過程中,Configuration類的實例首先定位映射文檔的位置并讀取配置。然后創(chuàng)建SessionFactory對象。

3.系統(tǒng)需求分析3.1需求描述當前大量企業(yè)的員工的管理尚處于手工作業(yè)階段,不但效率低下,且常因為管理的不慎而出現(xiàn)紕漏。傳統(tǒng)的依賴手工的方式記錄,效率較低,無法實現(xiàn)對數(shù)據(jù)的系統(tǒng)規(guī)范的管理,查詢困難、數(shù)據(jù)準確性、安全性較差。為了滿足企業(yè)的需求,現(xiàn)設(shè)計一人力資源管理系統(tǒng),來對人力資源數(shù)據(jù)進行管理,幫助企業(yè)達到員工管理的辦公自動化,節(jié)約管理成本,大幅度提高人力資源數(shù)據(jù)管理的效率。在國內(nèi),各個企業(yè)原有的手工管理方式現(xiàn)已不適應(yīng)形式的發(fā)展,為實現(xiàn)從靜態(tài)管理到動態(tài)管理的轉(zhuǎn)變,樹立企業(yè)的新形象,必須應(yīng)用計算機來輔助管理,從而全面實行信息化管理,能夠?qū)T工的信息進行動態(tài)監(jiān)控,提升企業(yè)管理的檔次和水平。人力資源管理系統(tǒng)的建設(shè)是企業(yè)適應(yīng)市場形勢,新式管理的必由之路。3.1.1系統(tǒng)界面設(shè)計及操作風(fēng)格的需求安博人力資源管理系統(tǒng)頁面設(shè)計應(yīng)與企業(yè)的結(jié)構(gòu)、文化風(fēng)格保持一致,采用清新穩(wěn)重的暗灰色格局,以簡潔、明了的引導(dǎo)方式,相對統(tǒng)一的網(wǎng)站風(fēng)格和布局,突出網(wǎng)站的重點;在網(wǎng)站設(shè)計實施風(fēng)格上堅持美觀大方、莊重樸實的風(fēng)格,界面具有親和力,充分展示安博人力資源管理系統(tǒng)的風(fēng)采;切實把安博人力資源管理系統(tǒng)的門戶網(wǎng)站建設(shè)成為“公司形象展示的窗口、信息發(fā)布的載體、政務(wù)信息公開的平臺、交流互動的橋梁、公共服務(wù)的門戶”?!鞍膊┤肆Y源管理系統(tǒng)的門戶網(wǎng)站”在整個版面、欄目模塊布局、色彩、文字等方面的設(shè)計,使之更美觀、簡潔、實用。易用性:操作界面與操作風(fēng)格盡可能與安博人力資源系統(tǒng)系統(tǒng)保持一致,使用風(fēng)格同樣的菜單及正文區(qū)設(shè)計,菜單操作方式以及信息提示位置盡可能相同,以便于操作人員盡快熟悉本系統(tǒng)功能。3.1.2系統(tǒng)功能描述基于SSH框架的人力資源管理系統(tǒng)主要包括:系統(tǒng)管理、檔案管理、合同管理三個子系統(tǒng)。系統(tǒng)管理子系統(tǒng)主要包括登錄、注冊、用戶的添加、刪除、修改、查詢,權(quán)限的添加、回收、查詢,角色的賦予、回收、查詢;檔案管理子系統(tǒng)主要包括檔案的建立、刪除、修改、查詢,物資報表打印,生日提醒;合同管理子系統(tǒng)主要包括合同的建立、刪除、查詢、修改,合同到期提醒。安博人力資源管理系統(tǒng)的系統(tǒng)角色分為4種:人力資源經(jīng)理、人力資源專員、信息錄入員、系統(tǒng)管理員(admin_role)。如圖3.1所示為安博人力資源管理平臺的系統(tǒng)管理子系統(tǒng)的用例圖,它反映了該子系統(tǒng)的設(shè)計應(yīng)該實現(xiàn)哪些功能。圖3.1系統(tǒng)管理子系統(tǒng)的用例圖如圖3.2所示為安博人力資源管理平臺的整個系統(tǒng)的實體類圖,它反映了系統(tǒng)的各實體之間的關(guān)聯(lián)和依賴關(guān)系。圖3.2系統(tǒng)實體類圖3.1.3系統(tǒng)運行環(huán)境(1)硬件環(huán)境:CPU:Intel(R)Pentium(R)DualT23901.86GHz內(nèi)存:2G硬盤:250G顯示:ATI獨立顯卡(2)軟件環(huán)境:操作系統(tǒng):WindowsXPProfessionalSP3數(shù)據(jù)庫:SQLserver2005瀏覽器:MicrosoftInternetExplorer相關(guān)應(yīng)用軟件:Tomcat6.0,Dreamweaver8、PowerDesigner15.1、RationalRose開發(fā)平臺:MyEclipse8.53.2系統(tǒng)的一般性規(guī)定3.2.1對性能的規(guī)定(1)安全性:系統(tǒng)應(yīng)該具有較強的安全性,對數(shù)據(jù)和相關(guān)的信息有較強的保護性。(2)穩(wěn)定性:系統(tǒng)應(yīng)該在一定環(huán)境下穩(wěn)定運行。(3)兼容性:系統(tǒng)能夠與其它軟硬件有良好的兼容性(4)實用性:考慮到要盡量滿足業(yè)務(wù)功能需求的前提下,又要適應(yīng)各業(yè)務(wù)角色的工作特點,該系統(tǒng)做到簡單、實用、人性化,實現(xiàn)了統(tǒng)一身份和人力資源管理、統(tǒng)一內(nèi)容管理、個性化界面和內(nèi)容定制。(5)可維護性:系統(tǒng)設(shè)計應(yīng)標準化、規(guī)范化,按照分層設(shè)計,軟件構(gòu)件化實現(xiàn)。一是使業(yè)務(wù)與實現(xiàn)分離,邏輯與數(shù)據(jù)分離;二是以統(tǒng)一的服務(wù)接口規(guī)范為核心,使用開放標準;三是構(gòu)件語意描述形式化;四是提煉封裝構(gòu)件規(guī)范化。(6)可擴展性:考慮到網(wǎng)上業(yè)務(wù)建設(shè)是一個循序漸進、不斷擴充的過程,本期項目建設(shè)將搭建底層框架基礎(chǔ),以便于未來采用積木式結(jié)構(gòu),整體構(gòu)架可以與原有系統(tǒng)進行無縫連接,為今后系統(tǒng)擴展和集成留有擴充余量。(7)可移植性:選擇開放的應(yīng)用平臺,建設(shè)一套與平臺無關(guān),以統(tǒng)一的服務(wù)接口規(guī)范和與各種數(shù)據(jù)庫相連的應(yīng)用組件。3.2.2對時間特性的規(guī)定人力資源管理系統(tǒng)的查詢時間取決于服務(wù)器和Web瀏覽器之間的連接寬帶以及同時訪問系統(tǒng)的客戶端的數(shù)量,系統(tǒng)的實現(xiàn)應(yīng)以快速響應(yīng)管理人員的請求為優(yōu)先目標。3.2.3輸入輸出要求輸入用戶通過WEB頁面將各種用戶信息數(shù)據(jù)輸入,導(dǎo)入數(shù)據(jù)或者提交查詢、修改、刪除請求,系統(tǒng)將數(shù)據(jù)的存儲格式為數(shù)據(jù)庫專用格式。輸出系統(tǒng)通過調(diào)用數(shù)據(jù)庫的信息將結(jié)果數(shù)據(jù)顯示在Web瀏覽器的HTML頁面上,并能夠根據(jù)業(yè)務(wù)的需要生成指定的報表或數(shù)據(jù)的匯總統(tǒng)計結(jié)過以及進行打印工作。3.2.4數(shù)據(jù)管理能力要求(1)相應(yīng)的數(shù)據(jù)訪問控制措施(2)登錄時用戶的身份鑒別與權(quán)限控制(3)數(shù)據(jù)的完整性保護措施。3.2.5網(wǎng)絡(luò)安全要求(1)通過設(shè)置安全級別權(quán)限來增強系統(tǒng)的安全性。(2)通過設(shè)置用戶密碼的復(fù)雜程度,來增強系統(tǒng)的安全;若密碼被盜,應(yīng)快速告知管理員注銷該用戶。(3)對來自內(nèi)部的攻擊則抵御的能力不強,只能關(guān)閉服務(wù)器。

4.系統(tǒng)的設(shè)計與實現(xiàn)4.1系統(tǒng)層次劃分在該系統(tǒng)中,系統(tǒng)共分為5層,分別為表現(xiàn)層、控制層、業(yè)務(wù)邏輯層、數(shù)據(jù)訪問層、數(shù)據(jù)層,如圖4.1所示。圖4.1系統(tǒng)層次劃分圖在表現(xiàn)層中,系統(tǒng)主要采用了JSP技術(shù),將Action傳遞過來的數(shù)據(jù)封裝在ActionForm對象中,該對象被ActionServlet轉(zhuǎn)發(fā)給Action,Action根據(jù)ActionForm里面的請求參數(shù)來處理用戶的請求,進行一定的處理之后,再反饋給前臺頁面??刂茖拥淖饔弥饕强刂茀f(xié)調(diào)系統(tǒng)中各模塊的執(zhí)行流程,在控制層中,Struts中的核心控制器ActionServlet控制系統(tǒng)流程轉(zhuǎn)向。業(yè)務(wù)邏輯層,主要采用Javabean,來實現(xiàn)對具體系統(tǒng)的業(yè)務(wù)邏輯處理。數(shù)據(jù)訪問層,主要是采用Hibernate持久化方案,通過Hibernate來對數(shù)據(jù)層進行封裝操作,這樣了方便于在不同的數(shù)據(jù)庫系統(tǒng)間移植。Hibernate對數(shù)據(jù)的持久化操作實現(xiàn)了以面向?qū)ο蟮乃枷雭聿僮鲾?shù)據(jù)庫。數(shù)據(jù)層存放系統(tǒng)中的數(shù)據(jù),本系統(tǒng)采用MySQL數(shù)據(jù)庫。4.2數(shù)據(jù)庫的設(shè)計與實現(xiàn)數(shù)據(jù)庫是存放數(shù)據(jù)的倉庫,也即是數(shù)據(jù)按照一定的規(guī)律存放在計算機中,它是信息系統(tǒng)的核心和基礎(chǔ),是信息系統(tǒng)開發(fā)和建設(shè)的重要組成部分,把信息系統(tǒng)中大量的數(shù)據(jù)按一定的模型組織起來,提供存儲、維護、檢索數(shù)據(jù)的功能,使信息系統(tǒng)可以方便、及時、準確地從數(shù)據(jù)庫中獲得所需的信息。數(shù)據(jù)庫的設(shè)計是信息資源管理最有效的手段,數(shù)據(jù)庫設(shè)計就是根據(jù)具體的應(yīng)用環(huán)境,構(gòu)造合理數(shù)據(jù)庫模式,建立數(shù)據(jù)庫的邏輯結(jié)構(gòu),有效存儲數(shù)據(jù),滿足用戶實際需求和系統(tǒng)應(yīng)用處理要求。在動態(tài)網(wǎng)站設(shè)計中數(shù)據(jù)庫的重要性不言而喻。合理地設(shè)計數(shù)據(jù)庫結(jié)構(gòu)可以提高系統(tǒng)運行的效率。如果設(shè)計不當,查詢起來就非常吃力,系統(tǒng)的性能也會受到影響。數(shù)據(jù)庫設(shè)計實際上就是對項目設(shè)計的一個整體規(guī)劃,因為數(shù)據(jù)庫的設(shè)計要從全局的角度考慮,而且數(shù)據(jù)庫中表的結(jié)構(gòu)都是與程序緊密相關(guān)的,如果數(shù)據(jù)庫設(shè)計如果沒有到位,程序的設(shè)計也會受到一定的影響。數(shù)據(jù)庫的設(shè)計一般主要包括兩個部分:(1)對具體的網(wǎng)站系統(tǒng)的設(shè)計進行需求分析,確定需在數(shù)據(jù)庫中保存的信息。(2)確定每個表的字段屬性。本系統(tǒng)采用的是MySQL數(shù)據(jù)庫,系統(tǒng)數(shù)據(jù)庫名為hrmps,根據(jù)系統(tǒng)的設(shè)計和業(yè)務(wù)邏輯的分析,數(shù)據(jù)庫HRMP中包括12個數(shù)據(jù)表。本系統(tǒng)所用的數(shù)據(jù)庫表有:(1)user用戶表(2)role角色表(3)privilege權(quán)限表(4)user_role賦予角色表(5)role_privilege賦予權(quán)限表(6)archive檔案表(7)work工作經(jīng)歷表(8)family家庭關(guān)系表(9)study學(xué)習(xí)經(jīng)歷表(10)contract合同表(11)application應(yīng)聘信息表(12)unit單位表表4.1user(用戶)表序號列名數(shù)據(jù)類型長度標識主鍵允許空說明1userIdint20是是否用戶編號(自增長)2birthdaydatetime20是是出生日期3educationvarchar50是學(xué)歷4interestvarchar100是興趣5loginNamevarchar50是登錄名6loginPwdvarchar50是登錄密碼7sexvarchar10是性別8telephonevarchar50是電話9remarkvarchar100是備注說明,該表用于保存使用該系統(tǒng)的用戶信息表4.2role(角色)表序號列名數(shù)據(jù)類型長度標識主鍵允許空說明1ridint20是是否角色編號(自增長)2namevarchar20是是角色名3descritpionvarchar50是角色描述說明,該表用于定義該系統(tǒng)的系統(tǒng)角色表4.3privilege(權(quán)限)表序號列名數(shù)據(jù)類型長度標識主鍵允許空說明1pidint20是是否權(quán)限編號(自增長)2namevarchar50是是權(quán)限名3actionUrlvarchar50是是響應(yīng)地址4descriptionvarchar50是是權(quán)限描述說明,該表用于定義系統(tǒng)中不同角色所具有的權(quán)限信息表4.4user_role(賦予角色)表序號列名數(shù)據(jù)類型長度標識主鍵允許空說明1ridint20是是否角色編號2uidint20是否用戶編號說明,該表用于定義系統(tǒng)中不同用戶所能分配的角色信息表4.5role_privilege(賦予權(quán)限)表序號列名數(shù)據(jù)類型長度標識主鍵允許空說明1pidint20是是否權(quán)限編號2uidint20是否用戶編號說明,該表用于定義系統(tǒng)中不同角色所能賦予的權(quán)限信息表4.6archive(檔案)表序號列名數(shù)據(jù)類型長度標識主鍵允許空說明1ArchiveIdint20是是否自增長2UserIdint20是否用戶編號3Namevarchar50是姓名4NickNamevarchar50是曾用名5Sexvarchar50是性別6Agevarchar50是年齡7MinZuvarchar50是民族8BirthDateDate50是出生日期9NativePlacevarchar50是籍貫10FamilyTypevarchar50是戶籍類別11Weddingvarchar50是婚姻狀況12Degreevarchar50是學(xué)歷13PoliticalFacevarchar50是政治面貌14HealthStatusvarchar50是健康狀況15IdCardvarchar50是身份證號16HouseAddressvarchar50是家庭住址說明,該表用于保存被管理用戶的基本檔案信息表4.7work(工作經(jīng)歷)表序號列名數(shù)據(jù)類型長度標識主鍵允許空說明1WorkIdint20是是否自增長2ArchiveIdint20是否檔案編號3TimeStartDate50是起始時間4TimeEndDate50是終止時間5WorkUnitvarchar50是工作單位6UnitNaturevarchar50是單位性質(zhì)7ExtremePositionvarchar50是最高職位說明,該表用于保存被管理用戶的工作經(jīng)歷信息表4.8family(家庭關(guān)系)表序號列名數(shù)據(jù)類型長度標識主鍵允許空說明1FamilyIdint20是是否自增長2ArchiveIdint20是否檔案編號3MemberNamevarchar50是家庭成員名4Relativevarchar50是親屬關(guān)系5IdCardvarchar50是身份證號6PoliticalFacevarchar50是政治面貌7WorkUnitvarchar50是工作單位說明,該表用于保存被管理的用戶的家庭關(guān)系信息表4.9study(學(xué)習(xí)經(jīng)歷)表序號列名數(shù)據(jù)類型長度標識主鍵允許空說明1StudyIdint20是是否自增長2ArchiveIdint20是否檔案編號3TimeStartDate50是起始時間4TimeEndDate50是終止時間5GraduateSchoolvarchar50是畢業(yè)院校6Degreevarchar50是學(xué)歷7StudyTypevarchar50是學(xué)習(xí)類型說明,該表用于保存被管理的用戶的學(xué)習(xí)經(jīng)歷信息表4.10contract(合同)表序號列名數(shù)據(jù)類型長度標識主鍵允許空說明1ContractIdint20是是否自增長2UserIdint20是否用戶編號3ContractNameDate50是合同名稱4ContractTimeDate50是合同期限5TimeStartvarchar50是起始日期6TimeEndvarchar50是終止日期說明,該表用于保存被管理的用戶的合同信息表4.11application(應(yīng)聘信息)表序號列名數(shù)據(jù)類型長度標識主鍵允許空說明1ApplicationIdint20是是否自增長2ContractIdint20是否合同編號3Namevarchar50是姓名4Sexvarchar50是性別5MinZuvarchar50是民族6BirthDateDate50是出生日期7PoliticalFacevarchar50是政治面貌8CultivateWayvarchar50是培養(yǎng)方式9IdCardvarchar50是身份證號碼10Mailvarchar50是電子郵箱11HealthStatusvarchar50是健康狀況12Majorvarchar50是主修專業(yè)13Termvarchar50是學(xué)制14Degreevarchar50是學(xué)歷15HouseAddressvarchar50是家庭住址16PostCode1varchar50是家庭所在地郵編17CurrentAddressvarchar50是現(xiàn)通訊地址18PostCode2varchar50是現(xiàn)通訊地址郵編19PhoneNumbervarchar50是聯(lián)系電話說明,該表用于保存被管理的用戶的應(yīng)聘信息表4.12unit(單位)表序號列名數(shù)據(jù)類型長度標識主鍵允許空說明1UnitIdint20是是否自增長2ContractIdint20是否合同編號3UnitNamevarchar50是單位名稱4UnitBetovarchar50是單位隸屬5Contactervarchar50是單位聯(lián)系人6ContactNumbervarchar50是聯(lián)系電話7UnitNaturevarchar50是單位性質(zhì)MailAddressvarchar50是通訊地址PostCode3varchar50是單位所在地郵編DanganAddressvarchar50是檔案轉(zhuǎn)寄地址PostCode4varchar50是轉(zhuǎn)寄地址郵編HukouAddressvarchar50是戶口遷移地址PostCode5varchar50是遷移地址郵編Notevarchar500是備注信息說明,該表用于保存被管理的用戶的單位信息4.2.1數(shù)據(jù)庫的數(shù)據(jù)模型數(shù)據(jù)庫的數(shù)據(jù)模型是現(xiàn)實世界中數(shù)據(jù)特征的抽象。數(shù)據(jù)模型應(yīng)該滿足三個方面的要求:(1)能夠比較真實的模擬現(xiàn)實世界(2)容易為人所理解(3)便于計算機實現(xiàn)概念數(shù)據(jù)模型(CDM)也稱信息模型,它以實體-聯(lián)系(Entity-RalationShip,簡稱E-R)理論為基礎(chǔ),并對這一理論進行了擴充。他從用戶的觀點出發(fā)對信息進行建模,主要用于數(shù)據(jù)庫的概念級設(shè)計。通常人們先將現(xiàn)實世界抽象為概念世界,然后再將概念世界轉(zhuǎn)為機器世界。換句話說,就是先將現(xiàn)實世界中的客觀對象抽象為實體(Entity)和聯(lián)系(Relationship),它并不依賴于具體的計算機系統(tǒng)或某個DBMS系統(tǒng),這種模型就是我們所說的CDM,再將它轉(zhuǎn)換為計算機上某個DBNS所支持的數(shù)據(jù)模型,這樣的數(shù)據(jù)模型就是物理數(shù)據(jù)模型,即PDM。物理數(shù)據(jù)模型,簡稱物理模型,是面向計算機物理表示的模型,描述了數(shù)據(jù)在介質(zhì)上的組織結(jié)構(gòu),它不但與具體的DBMS有關(guān),而且還與操作系統(tǒng)和硬件有關(guān)。每一種邏輯數(shù)據(jù)模型在實現(xiàn)時都有對應(yīng)的物理數(shù)據(jù)模型,DBMS為了保證其獨立性與可移植性,大部分物理數(shù)據(jù)模型的實現(xiàn)工作由系統(tǒng)自動完成,而設(shè)計者只設(shè)計索引、聚集等特殊結(jié)構(gòu)。CDM是一組嚴格定義的數(shù)據(jù)元素的集合,這些模型元素精確地描述了系統(tǒng)的靜態(tài)特性、動態(tài)特性以及完整性的約束條件等,其中包括了數(shù)據(jù)結(jié)構(gòu)、數(shù)據(jù)操作和完整性約束三部分。(1)數(shù)據(jù)結(jié)構(gòu)表達為實體和屬性;(2)數(shù)據(jù)操作表達為實體中的記錄的插入、刪除、修改、查詢等操作;(3)完整性約束表達為數(shù)據(jù)的自身完整性約束(如數(shù)據(jù)類型、檢查、規(guī)則等)和數(shù)據(jù)間的參照完整性約束(如聯(lián)系、繼承聯(lián)系等);實體(Entity),也稱實例,對應(yīng)現(xiàn)實世界中可區(qū)別于其他對象的“事件”或“事物”。每個實體都有用來描述實體特征的一組性質(zhì),稱之為屬性,一個實體由若干屬性來描述。實體集(EntitySet)是具體相同類型及相同性質(zhì)的實體的集合。實體類型(EntityType)是實體集中每個實體所具有的共同性質(zhì)的集合。實體是實體類型的一個實例在含義明確的情況下,實體、實體類型通??梢曰Q使用。實體類型中的每個實體包含唯一的標識它的一個或一組屬性,這些屬性稱為實體類型的標識符(Identifier)。數(shù)據(jù)庫的CDM(概念數(shù)據(jù)模型)和PDM(物理數(shù)據(jù)模型):(1)概念數(shù)據(jù)模型(CDM)圖4.2所示為安博人力資源管理系統(tǒng)的概念數(shù)據(jù)模型,它反映了用戶類型、權(quán)限、用戶、合同、檔案、單位、應(yīng)聘者、工作經(jīng)歷、學(xué)習(xí)經(jīng)歷、家庭關(guān)系實體之間的實體-聯(lián)系圖。圖4.2數(shù)據(jù)庫的概念數(shù)據(jù)模型(2)物理數(shù)據(jù)模型(PDM)圖4.3為安博人力資源管理系統(tǒng)的物理數(shù)據(jù)模型,它反映了用戶類型、權(quán)限、用戶、合同、檔案、單位、應(yīng)聘者、工作經(jīng)歷、學(xué)習(xí)經(jīng)歷、家庭表在數(shù)據(jù)庫中以某種組織形式來存儲。圖4.3數(shù)據(jù)庫的物理數(shù)據(jù)模型4.3系統(tǒng)的設(shè)計與實現(xiàn)4.3.1系統(tǒng)項目的文件夾結(jié)構(gòu)在編寫代碼之前,通常先將框架所需要的文件夾先創(chuàng)建出來(例如:創(chuàng)建各個框架層次用到的代碼文件分開存放,如entity、dao、service、action等),這樣不但可以方便以后的開發(fā)工作,也可以實現(xiàn)框架的規(guī)范化。在安博人力資源管理系統(tǒng)中,設(shè)計了如圖4.4所示的項目文件結(jié)構(gòu)圖。圖4.4項目文件結(jié)構(gòu)圖項目目錄結(jié)構(gòu)中的幾個重要的文件夾:(1)entity:用于存放各數(shù)據(jù)表所對應(yīng)的類文件。(2)dao:用于存放各種操作數(shù)據(jù)庫的類及接口文件。(3)service:存放解決業(yè)務(wù)邏輯的類及接口文件。(4)action:用于存放控制業(yè)務(wù)邏輯層和表現(xiàn)層之間數(shù)據(jù)處理的類(5)struts:存放控制類Action和ActionForm類文件。(6)WEB-INF:該目錄用來存儲與Web應(yīng)用程序相關(guān)的元信息。這些資源可以被Web應(yīng)用程序中的Servlet和JSP頁面訪問。在該目錄下一般存放下面這些內(nèi)容:1)classes目錄:用來存放Java類文件,包括被編譯后的Servlet文件等。此外,還可以存放一些配置文件,該目錄是Web應(yīng)用程序的上下文類路徑。Java程序在尋找自身引用的其他類文件時,會搜索該目錄下的Java文件。2)Lib目錄:該目錄用來存放Web應(yīng)用程序中要應(yīng)用的庫文件,這些庫文件打包為jar文件。該目錄也是Web應(yīng)用程序的上下文類路徑。Java程序在尋找自身引用的其他類文件時也會搜索該目錄。3)web.xml文件:該文件稱為Web應(yīng)用程序部署描述符,是Web應(yīng)用程序的配置文件,用于在應(yīng)用程序開發(fā)人員、部署人員和集成人員之間傳遞配置信息。Web容器啟動的時候,會使用該文件中的配置內(nèi)容來加載應(yīng)用程序。web.xml配置文件的核心代碼:<!--配置spring上下文變量--> <context-param> <param-name>contextConfigLocation</param-name> <param-value>/WEB-INF/applicationContext.xml</param-value> <!--也可以寫死路徑: /WEB-INF/classes/applicationContext-*.xml ,可以配置action、service、dao、hibernate四個文件 --> </context-param> <!--配置spring監(jiān)聽器,由監(jiān)聽載入Spring的ApplicationContext--> <listener><listener-class>org.springframework.web.context.ContextLoaderListener</listener-class> </listener><filter-mapping><filter-name>struts2</filter-name> <url-pattern>*.action</url-pattern></filter-mapping>4.3.2登錄模塊使用系統(tǒng)的用戶分為4類,即是人力資源經(jīng)理,人力資源專員,信息錄入員,系統(tǒng)管理員(admin_role)。在系統(tǒng)中已經(jīng)注冊的用戶可以根據(jù)用戶名和密碼登錄系統(tǒng),當用戶輸入用戶名、密碼,點擊登陸按鈕,系統(tǒng)會把用戶名信息、密碼信息和數(shù)據(jù)庫中的對應(yīng)的表進行信息匹配。匹配成功則很據(jù)不同的用戶所具有的不同權(quán)限進入相應(yīng)的管理頁面,否則給出相應(yīng)提示。系統(tǒng)管理員,是系統(tǒng)的超級用戶,他可以添加、刪除、修改、查詢用戶,為用戶分配角色、為權(quán)限賦予角色。普通用戶可以使用系統(tǒng)管理員分配的用戶名、密碼登陸系統(tǒng)。具體的登錄的效果圖如圖4.5所示:圖4.5登錄界面表4.13用戶登陸模塊功能實現(xiàn)頁面表區(qū)域名稱說明對應(yīng)文件form1form表單method=”post”、action=”login.jsp”loginNametext用戶名loginPwdtext密碼說明,該表為用戶登錄時所提交的頁面對應(yīng)表單的內(nèi)容。如圖4.6所示,當用戶登陸成功后系統(tǒng)頁面會跳轉(zhuǎn)到后臺管理的主界面圖4.6系統(tǒng)后臺主界面4.3.3注冊模塊使用該系統(tǒng)的用戶要完成管理工作需要先注冊,當用戶點擊注冊,頁面跳轉(zhuǎn)到注冊界面,用戶輸入用戶名、性別、密碼、確認密碼、學(xué)歷、電話、興趣愛好,然后點擊提交,在系統(tǒng)中完成注冊。當用戶不輸入用戶名或密碼,或兩次輸入密碼不一致時,或用戶名已在系統(tǒng)存在時,系統(tǒng)會自動提示且用戶不能進行注冊。若所有填寫信息正確,則注冊成功,注冊成功后系統(tǒng)頁面自動跳轉(zhuǎn)到登錄界面。具體的效果圖如圖4.7所示:圖4.7注冊界面圖4.8注冊界面圖4.9注冊界面表4.14用戶登陸模塊功能實現(xiàn)頁面表區(qū)域名稱說明對應(yīng)文件form2form表單method=”post”、action=”register.jsp”loginNametext用戶名sextext性別loginpwdtext密碼birthdaydatetime出生日期telephonetext電話interesttext興趣愛好說明,該表為用戶注冊時所提交的頁面對應(yīng)表單的內(nèi)容。4.3.4系統(tǒng)管理子系統(tǒng)系統(tǒng)管理即系統(tǒng)管理模式,也叫一體化整合管理模式,是以提升核心競爭力和整體價值最大化為目標,以企業(yè)核心價值導(dǎo)向和戰(zhàn)略目標為核心,對企業(yè)整體的運行模式、運行效率和運行效益進行全面評估,確立整體全系統(tǒng)的解決方案。系統(tǒng)管理模式的成果不是管理模塊的簡單相加的解決方案,而是企業(yè)整體與子系統(tǒng)之間、模塊與模塊之間的聯(lián)動性、協(xié)調(diào)性、增益性全面解決之道。在安博人力資源管理系統(tǒng)中,若用戶已經(jīng)注冊或系統(tǒng)管理員已經(jīng)添加了某用戶,該用戶就具有相應(yīng)的角色,同時該用戶在該角色下被分配了具體的操作系統(tǒng)的權(quán)限。當?shù)卿洺晒螅煌脩裟軌蜻M行不同的對用戶信息的操作。系統(tǒng)管理子系統(tǒng)包括三個模塊:用戶管理模塊、權(quán)限管理模塊、角色管理模塊。系統(tǒng)管理子系統(tǒng)效果圖如圖4.10所示:圖4.10用戶管理主界面(1)用戶管理模塊用戶管理模塊是對使用安博人力資源管理系統(tǒng)的用戶進行管理,系統(tǒng)管理員對使用該系統(tǒng)的用戶進行添加、編輯、刪除、查詢,同時被賦予相應(yīng)權(quán)限的用戶也可對用戶進行管理。當具有相應(yīng)權(quán)限的用戶點擊添加時,系統(tǒng)會跳轉(zhuǎn)到添加用戶的界面,具體的效果圖如圖4.11所示:圖4.11添加用戶界面用戶添加成功后,系統(tǒng)會自動跳轉(zhuǎn)到用戶管理主界面顯示更新后的用戶列表信息,具體的效果圖如圖4.12所示:圖4.12添加LIUO用戶后的界面當具有相應(yīng)權(quán)限的用戶點擊查看某個用戶的信息時,系統(tǒng)會跳轉(zhuǎn)到當前被查看用戶的信息頁面,如查看Liang用戶的信息效果圖如圖4.13所示:圖4.13查看Liang用戶的信息界面當具有相應(yīng)權(quán)限的用戶點擊編輯某個用戶的信息時,系統(tǒng)會跳轉(zhuǎn)到當前被編輯用戶的信息頁面,如編輯Dong用戶的信息效果圖如圖4.14所示:圖4.14編輯用戶信息界面編輯完用戶信息后按確定按鈕后,系統(tǒng)會自動跳轉(zhuǎn)到用戶管理主界面顯示更新后的用戶列表信息,具體的效果圖如圖4.15所示:圖4.15編輯Dong用戶后的信息界面當具有相應(yīng)權(quán)限的用戶點擊刪除某個用戶的信息時,系統(tǒng)會更新用戶管理主界面的用戶列表信息,如刪除XIAO用戶后用戶列表顯示的效果圖如圖4.1

溫馨提示

  • 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)容負責。
  • 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論