實訓基地(論文)人力資源信息管理系統(tǒng)設計與實現_第1頁
實訓基地(論文)人力資源信息管理系統(tǒng)設計與實現_第2頁
實訓基地(論文)人力資源信息管理系統(tǒng)設計與實現_第3頁
實訓基地(論文)人力資源信息管理系統(tǒng)設計與實現_第4頁
實訓基地(論文)人力資源信息管理系統(tǒng)設計與實現_第5頁
已閱讀5頁,還剩45頁未讀, 繼續(xù)免費閱讀

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領

文檔簡介

1、實訓基地人力資源信息管理系統(tǒng)設計與實現design and realization of occupational training base human resource information management system 獨創(chuàng)性說明作者鄭重聲明:所呈交的學士學位論文是本人在指導教師的指導下,獨立進行研究工作所取得的成果。除文中已經注明引用的內容外,本論文不包含任何其他個人或集體已經發(fā)表或撰寫過的作品成果。對本文的研究做出重要貢獻的個人和集體,均已在文中以明確方式標明。作者簽名: 日期: 實訓基地人力資源信息管理系統(tǒng)設計與實現摘 要大連理工大學軟件學院與ibm公司合辦的du

2、t-ibm軟件人才實訓基地在雙方的真誠合作和互相努力下,已經開辦了兩屆的培訓班。隨著這兩年工作的深入和基地規(guī)模的發(fā)展,開發(fā)一個針對實訓基地需求的管理系統(tǒng)迫在眉睫,而本論文就是屬于實訓基地管理系統(tǒng)下的子系統(tǒng)人力資源信息管理系統(tǒng),實現用戶登陸以及用戶個人信息的新增、修改、刪除、查找,并根據權限,合理安排用戶的操作。論文圍繞實訓基地人力資源信息管理系統(tǒng),基于mvc模式,struts框架和hibernate數據持久化技術,結合軟件工程的開發(fā)理論,進行了需求分析、設計、實現和測試。論文首先詳細分析實訓基地人力資源信息系統(tǒng)的需求,明確系統(tǒng)所要實現的功能和系統(tǒng)邏輯,確定系統(tǒng)邊界并通過系統(tǒng)的用例分析進行系統(tǒng)需

3、求捕獲;然后確定實現實訓基地人力資源信息系統(tǒng)需要使用的關鍵技術,并對其詳細闡述。在系統(tǒng)設計時,通過對用例的進一步分析,得出了系統(tǒng)的數據庫設計和界面設計。在詳細設計階段,對系統(tǒng)的各個功能模塊分別給出了詳細的類圖和序列圖設計。在系統(tǒng)實現部分介紹了系統(tǒng)主要功能模塊的實現細節(jié)及驗證方法。最后運用黑盒測試技術,對系統(tǒng)的功能和結構進行了測試。系統(tǒng)具有良好的可維護性與可擴展性。實訓基地人力資源信息管理系統(tǒng)是實用于dut-ibm實訓基地的日常管理。它實現了實訓基地管理的信息化和自動化,適用于實訓基地目前和未來的管理和操作,使信息的操作更簡單明了,并使系統(tǒng)易擴展。關鍵詞:實訓基地;信息管理;mvc;struts

4、 - i -實訓基地人力資源信息管理系統(tǒng)設計與實現design and realization of occupational training base human resource information management abstractdalian university of technology and ibm joint dut-ibm software talent occupational training base has been open two terms based on both sincere cooperation and effort. according

5、 to the demand of development of training base ,it is necessary to have a proprietary system for training base. this dissertation is about the subsystem of training base management systemhuman resource information management system .this project affords users to login, and can add users information

6、,.modify users information ,inquiry and delete. it can also arrange different operations according to different authorities. it revolves the training base human resource information management system, based on the mvc pattern, the struts framework, with the hibernate data persisting technology, unif

7、ies the development theory of software engineering, has carried on the demand analysis, design, realization and test. firstly determines the essential technology which the training base human resource information management subsystem needs to use, and carries on the detailed elaboration to it. then

8、commissioned a detailed analysis of the the training base human resource information management systems demand, determine the boundaries of the system and through the use case analysis process the system requirements capture. system design, through the use of cases further analysis shows that the sy

9、stem database design and ui design. in the detailed design stage, produces the detailed designation of class diagram and the sequence diagram for the system each function module. in the system realization stage, introduce the details of the realization of system's main functions. finally, using

10、of the black-box testing technology, test the systems function and the structure. the system has good maintainability and scalability. the training base human resource information management system is used in the dut-ibm training base field of computer management information systems. it achieved the

11、 management of information technology and automation applies to the training base, the current and future management and operation.key words:training base; information management;mvc;struts - iv -目 錄摘 要iabstractii1 緒論11.1 dut-ibm軟件人才實訓基地的發(fā)展和現狀11.2 課題研究的目的和意義11.3 論文主要工作22 相關技術的理論研究32.1 j2ee平臺32.1.1 j

12、2ee概述32.1.2 j2ee體系結構32.1.3 j2ee的優(yōu)勢52.1.4 j2ee的核心技術62.2 mvc設計模式72.2.1 mvc模式的原理和架構72.2.2 mvc模式的優(yōu)勢82.3 struts框架分析82.3.1 struts的體系結構92.3.2 選用struts框架的原因112.4 hibernate數據持久化技術112.4.1 數據持久層的引入112.4.2 關于對象/關系映射(orm)122.5 系統(tǒng)框架123 需求分析133.1 功能需求133.2 安全需求133.3 系統(tǒng)目標133.4 系統(tǒng)需求133.4.1 普通用戶模塊133.4.2 管理員模塊143.5 通

13、過用例建模進行需求分析和頁面設計143.5.1 人力資源信息管理用例定義144 系統(tǒng)設計224.1 概要設計224.1.1 系統(tǒng)架構設計224.1.2 數據庫設計234.1.3 界面設計244.2 詳細設計264.2.1 struts框架詳細設計原則264.2.2 架構在rose模型中的位置274.2.3 主要模塊的類設計和序列圖設計285 系統(tǒng)實現325.1 查詢用戶信息模塊325.1.1 視圖層的實現325.1.2 控制層的實現335.1.3 模型層的實現345.1.4 持久層的實現355.2 注冊個人信息模塊375.3修改用戶個人信息模塊385.4刪除用戶個人信息模塊406 系統(tǒng)測試41

14、6.1 測試方案概述416.2 測試用例設計示例416.2.1 黑盒測試416.3 測試結果分析42結 論43參 考 文 獻44致 謝45實訓基地人力資源信息管理系統(tǒng)設計與實現1 緒論1.1 dut-ibm軟件人才實訓基地的發(fā)展和現狀dut-ibm實訓基地創(chuàng)建于2007年3月,到現在為止已招收了兩屆的學生。從開辦到現在,師資隊伍不斷壯大,部門從原來單一的web開發(fā)到現在新增的main frame技術開發(fā),現有學員將近百人。該基地為同學們的職業(yè)技能培養(yǎng)提供了很好的硬件設備和師資力量,同時也定期對同學們指導講座,讓同學們在提升技術的同時也學到了溝通技巧,商務英語等知識。實訓基地很大程度上解決了同學

15、們動手能力差,理論與實際難合理結合的現實問題。而通過這兩屆培訓的經驗和總結,這樣的一個培訓方式不僅有利于學校培養(yǎng)軟件開發(fā)人才,更能使同學們拓展自身能力,扎實理論基礎,提高動手能力。1.2 課題研究的目的和意義隨著dut-ibm實訓基地逐漸步入正規(guī)化,學員人數的日漸增多,人工實現學員管理和日常工作管理的難度增大,整個基地的電子信息化管理顯得尤為重要。在實訓基地現有的工作環(huán)境中急需一套能供其使用的管理系統(tǒng),實現對學員的管理,以及日常工作的開展,使整個基地的管理模式化、正規(guī)化,更能模仿公司工作流程使學員更快地適應工作環(huán)境,除了培訓學員的技術外,更能提高學員的職業(yè)軟技能,使同學們寓學于用,提高其動手能

16、力,由此開發(fā)了實訓基地管理系統(tǒng),而本論文正是實現實訓基地管理系統(tǒng)中的人力資源信息管理子系統(tǒng)。本系統(tǒng)不僅要滿足系統(tǒng)的實用性,而且要有相當的可擴展性,保證能在以后的實用過程中,被不斷完善和擴展。在現有的企業(yè)軟件開發(fā)系統(tǒng)中,應用系統(tǒng)被分為前端(客戶機)和后端(服務器)兩部分,它們通過消息傳遞機制進行對話,由客戶端發(fā)出請求給服務器,服務器進行相應處理后經傳遞機制送回客戶端,客戶端集中了應用系統(tǒng)的主要運行程序。這種模式發(fā)展得比較成熟,它的優(yōu)點在于通過存儲狀態(tài)信息,減少網絡上的信息傳輸以提高效率。但它的缺陷也很明顯,胖客戶端維護運行成本高,跨平臺及伸縮性差。而瀏覽器(browser)/服務器(server

17、)模式為瘦客戶,客戶端幾乎不需要維護等。本課題采用基于瀏覽器的b/s模式,通過對人力資源信息管理子系統(tǒng)的設計和實現,探討一種基于j2ee平臺的web應用設計方案,對j2ee的一些相關技術,mvc模式和struts框架作了一定的分析和研究,并付諸實踐,從而體現基于組件設計、多層結構應用等j2ee的技術特點,其基于j2ee mvc的體系架構保證了系統(tǒng)的靈活性和可擴展性。j2ee體系架構具有獨立性、可移植性、集成性等優(yōu)點,為搭建具有可伸縮性、靈活性、易維護性的商務系統(tǒng)提供了良好的機制,這一特性使該系統(tǒng)能不斷地被完善和拓展。同時因為這個系統(tǒng)所用的j2ee技術、struts框架、hibernate數據持

18、久化技術、db2數據庫操作等正是在實訓基地培訓過程中所學習和使用的,這就便利學員在以后的實訓中不斷完善本系統(tǒng),使其成為真正符合實訓基地使用要求的管理系統(tǒng)。而且本系統(tǒng)為以后的系統(tǒng)擴展留好了接口,滿足基地規(guī)模的壯大和日常事務項目的增多,確保為實訓基地的老師和學員的日常工作和學習提供便利。1.3 論文主要工作論文主要結構如下: (1) 緒論,本章介紹dut-ibm軟件人才實訓基地的發(fā)展和現狀以及本課題的研究意義。(2) 相關技術的理論研究,本章對系統(tǒng)在開發(fā)過程中使用的關鍵技術進行概述,如j2ee平臺,mvc模式,struts框架,hibernate數據持久化技術等。(3) 需求分析,本章介紹了系統(tǒng)功

19、能需求,安全需求和系統(tǒng)目標,并通過用例分析進行系統(tǒng)需求捕獲。(4) 系統(tǒng)設計,本章首先從數據庫設計和界面設計兩方面來進行系統(tǒng)的概要設計,然后給出了系統(tǒng)主要模塊的詳細設計,包括類圖設計和序列圖設計。(5) 系統(tǒng)實現,本章給出了系統(tǒng)主要模塊的實現細節(jié)。(6) 系統(tǒng)測試,本章首先對測試方案進行了概述,再舉例給出了測試用例示例,最后對測試結果進行分析。(7) 將系統(tǒng)投入使用。本論文與其他論文的區(qū)別在于,它是一個實用的系統(tǒng),它是以基地的業(yè)務要求而設計并制作的一個實用系統(tǒng),故它的實用性及可擴展性就不容忽視。2 相關技術的理論研究2.1 j2ee平臺2.1.1 j2ee概述j2ee是一種利用java 2平臺

20、來簡化企業(yè)解決方案的開發(fā)、部署和管理相關的復雜問題的體系結構。j2ee是sun公司提出的一個分布式、多層應用的標準體系結構,而不是一門編程語言,它以組件的方式來設計、部署企業(yè)應用旨在簡化和規(guī)范分布式多層企業(yè)應用系統(tǒng)的開發(fā)和部署1。j2ee技術的基礎就是核心java平臺或java 2平臺的標準版,j2ee不僅鞏固了標準版中的許多優(yōu)點,例如"編寫一次、隨處運行"的特性、方便存取數據庫的jdbc api、corba技術以及能夠在internet應用中保護數據的安全模式等等,同時還提供了對ejb(enterprise javabeans)、java servlets api、jsp

21、(java server pages)以及xml技術的全面支持2。其最終目的就是成為一個能夠使企業(yè)開發(fā)者大幅縮短投放市場時間的體系結構。通過提供統(tǒng)一的開發(fā)平臺,j2ee降低了開發(fā)多層應用的費用和復雜性,同時提供對現有應用程序集成強有力支持,完全支持enterprise javabeans,有良好的向導支持打包和部署應用,添加目錄支持,增強了安全機制,提高了性能。2.1.2 j2ee體系結構j2ee 是一種多層次分布式應用模型,應用邏輯按照功能劃分為組件,組件在相應的組件容器中運行,每個層次都支持相應的服務器和組件,各個組件根據它們所在的層分布在不同的機器上,容器間通過相關協議進行通信,實現組件

22、之間的調用。j2ee的典型的四層結構如圖2.1所示。圖2.1 j2ee的四層結構fig. 2.1 four layers structure of j2eej2ee 的各層組件有:(1) 運行在客戶機器上的客戶層組件;(2) 運行在j2ee服務器上的web層組件;(3) 運行在j2ee服務器上的業(yè)務邏輯層組件;(4) 運行在eis服務器上的企業(yè)信息系統(tǒng)層(eis)組件。j2ee應用組件可以安裝部署到以下幾種容器中:(1) ejb容器:管理所有j2ee應用程序中ejb的執(zhí)行,ejb和它們的容器運行在j2ee服務器上;(2) web容器:管理所有j2ee應用程序中jsp頁面和servlet組件的執(zhí)

23、行,web組件和它們的容器運行在j2ee服務器上;(3) 應用程序客戶端容器:客戶端容器管理所有j2ee應用程序中應用程序客戶端組件的執(zhí)行;(4) applet容器:是運行在客戶端的web瀏覽器和java插件的結合。 j2ee應用程序組件:j2ee應用程序是由組件構成的j2ee組件是具有獨立功能的軟件單元,它們通過相關的類和文件組裝成j2ee應用程序,并與其他組件交互。j2ee說明書中定義了以下的j2ee組件:(1) 應用客戶端程序和applets是客戶層組件;(2) java servlet和javaserver pages(jsp)是web層組件;(3) enterprise javabe

24、ans(ejb)是業(yè)務層組件; (4) j2ee應用程序可以是基于web方式的,也可以是基于傳統(tǒng)方式的。web 層組件:j2ee web層組件可以是jsp頁面或servlets。 正如下圖所示的客戶層那樣,web層可能包含某些javabean對象來處理用戶輸入,并把輸入發(fā)送給運行在業(yè)務層上的enterprise bean來進行處理。 圖2.2 web層組件fig. 2.2 module of web layer業(yè)務層組件:業(yè)務層代碼的邏輯用來滿足銀行、零售、金融等特殊商務領域的需要,由運行在業(yè)務層上的enterprise bean進行處理。有三種企業(yè)級的bean:會話(session)bean

25、s,實體(entity)beans和消息驅動(message-driven)beans2。會話bean表示與客戶端程序的臨時交互。當客戶端程序執(zhí)行完后,會話bean和相關數據就會消失。相反,實體bean表示數據庫的表中一行永久的記錄。當客戶端程序中止或服務器關閉時,就會有潛在的服務保證實體bean的數據得以保存。消息驅動bean結合了會話bean和jms的消息監(jiān)聽器的特性,允許一個業(yè)務層組件異步接收jms消息。圖2.3 業(yè)務層組件fig. 2.3 module of operation layer企業(yè)信息系統(tǒng)層: 企業(yè)信息系統(tǒng)層處理企業(yè)信息系統(tǒng)軟件包括企業(yè)基礎建設系統(tǒng)例如企業(yè)資源計劃(erp)

26、,大型機事務處理,數據庫系統(tǒng)和其它的遺留信息系統(tǒng)。例如,j2ee應用組件可能為了數據庫連接需要訪問企業(yè)信息系統(tǒng)。2.1.3 j2ee的優(yōu)勢j2ee體系架構具有獨立性、可移植性、集成性等優(yōu)點,為搭建具有可伸縮性、靈活性、易維護性的商務系統(tǒng)提供了良好的機制:(1) 獨立于硬件配置和操作系統(tǒng)。j2ee應用運行在jvm(java virtual machine,java虛擬機)上,利用java本身的跨平臺特性,獨立于硬件配置和操作系統(tǒng)。jre(java2 runtime environment,java運行環(huán)境)幾乎可以運行于所有的硬件和操作系統(tǒng)組合。因此j2ee架構的企業(yè)應用使企業(yè)免于高昂的硬件設備

27、和操作系統(tǒng)的再投資,保護已有的it資源。(2) 堅持面向對象的設計原則。作為一門完全面向對象的語言,java幾乎支持所有的面向對象的程序設計特征。面向對象和基于組件的設計原則構成了j2ee應用編程模型的基礎。j2ee多層結構的每一層都有多種組件模型,因此開發(fā)人員所要做的就是為應用項目選擇適當的組件模型組合,靈活地開發(fā)和裝配組件,這樣不僅有助于提高應用系統(tǒng)的可擴展性,還能有效地提高開發(fā)速度,縮短開發(fā)周期。(3) 靈活性、可移植性和互操作性。利用java的跨平臺特性,j2ee組件可以很方便低移植到不同的應用服務器環(huán)境中。這意味著企業(yè)不必再拘泥于單一的開發(fā)平臺。j2ee的應用系統(tǒng)可以部署在不同的應用

28、服務器上,在全異構環(huán)境下,j2ee組件仍可彼此協同工作。這一特征使得裝配應用組件首次獲得空前的互操作性。(4) 輕松的企業(yè)信息系統(tǒng)集成。j2ee技術出臺后不久,很快就有jdbc、jms、和jca等一批標準歸納自身體系之下,這大大簡化了企業(yè)信息系統(tǒng)整合的工作量,方便企業(yè)將諸如legacy system(遺產系統(tǒng)),erp和數據庫等多個不同的信息系統(tǒng)進行無縫集成。2.1.4 j2ee的核心技術j2ee的核心技術包括以下部分3:(1) servlets(服務端效程序);(2) jsp(java服務器頁面);(3) ejb(企業(yè)版javabean);(4) jdbc(java數據庫連接);(5) ja

29、vamail(javamail api);(6) rmi(遠程方法調用);(7) jaxp(解析xml文件的java api);(8) jts(java事務服務);(9) jca(連接器體系結構);(10) jndi(名字目錄服務);(11) jms(java消息服務api);(12) jax-rpc(xml遠程方法調用,j2ee1.4,主要用于web服務);(13) jsxr(注冊web服務使用,j2ee1.4);(14) j2ee management(j2ee1.4增加);(15) j2ee deployment(j2ee1.4新增);(16) jmx(java manage exten

30、sion);(17) saaj(帶附件的soap消息api,j2ee1.4新增);(18) web services for j2ee(j2ee1.4新增);(19) java authorization contract for container1.0(jacc,j2ee 1.4增加)。2.2 mvc設計模式2.2.1 mvc模式的原理和架構設計模式描述了在面向對象軟件設計過程中針對特定問題的簡潔而優(yōu)雅的解決方案。設計模式捕獲了這些解決方案,并用簡潔易用的方式表達出來4。軟件領域中的設計模式為開發(fā)人員提供了一種使用專家設計經驗的有效途徑。mvc(模型視圖控制器)是一種設計模式,它強制性地把

31、應用程序的輸入、處理和輸出分開。其應用架構劃分為3個相互協調的核心模塊:模型、視圖和控制器,它們分別擔負不同的任務。整個mvc的處理過程是:首先控制器接收用戶的請求,并決定應該調用哪個模型來進行處理;然后模型根據用戶的請求進行相應的業(yè)務邏輯處理,并返回數據;最后控制器調用相應的視圖格式化模型返回的數據,并通過表示層呈現給用戶。(1) 模型(model):模型表示業(yè)務邏輯和業(yè)務規(guī)則等,在mvc的三個部件中擁有最多的處理任務。它可以用javabean和ejb等組件技術來處理數據庫的訪問。模型能為多個視圖提供數據。由于應用于模型的代碼只需寫一次就可以被多個視圖重用,所以減少了代碼的重復性。(2) 視

32、圖(view):模型的動態(tài)表示,并提供用戶交互界面。視圖向用戶顯示相關的數據,并能接收用戶的輸入數據,但是它并不進行任何實際的業(yè)務處理。同時當模型狀態(tài)發(fā)生變化時,視圖應該得到通知,以便更新視圖。視圖是屏幕上的顯示。模型進行操作之后,其結果就是通過視圖來顯示的。在視圖中其實沒有真正的處理發(fā)生,只是作為一種輸出數據并允許用戶操作的方式。(3) 控制器(controller):控制器用于管理用戶與視圖發(fā)生的交互。一旦用戶想對模型進行處理時,它不能直接去執(zhí)行模型,而是通過控制器來間接地實現??刂破髂軓囊晥D中取值,然后將相應的值傳給模型進行處理。控制器接受用戶的輸入并調用模型和視圖去完成用戶的需求。2.

33、2.2 mvc模式的優(yōu)勢大部分用過程語言比如asp、php開發(fā)出來的web應用,初始的開發(fā)模板就是混合層的數據編程5。例如,直接向數據庫發(fā)送請求并用html顯示,開發(fā)速度往往比較快,但由于數據頁面的分離不是很直接,因而很難體現出業(yè)務模型的樣子或者模型的重用性。產品設計彈性力度很小,很難滿足用戶的變化性需求。mvc要求對應用分層,雖然要花費額外的工作,但產品的結構清晰,產品的應用通過模型可以得到更好地體現。首先,最重要的是應該有多個視圖對應一個模型的能力。在目前用戶需求的快速變化下,可能有多種方式訪問應用的要求。例如,訂單模型可能有本系統(tǒng)的訂單,也有網上訂單,或者其他系統(tǒng)的訂單,但對于訂單的處理

34、都是一樣,也就是說訂單的處理是一致的。按mvc設計模式,一個訂單模型以及多個視圖即可解決問題。這樣減少了代碼的復制,即減少了代碼的維護量,一旦模型發(fā)生改變,也易于維護。其次,由于模型返回的數據不帶任何顯示格式,因而這些模型也可直接應用于接口的使用。再次,由于一個應用被分離為三層,因此有時改變其中的一層就能滿足應用的改變。一個應用的業(yè)務流程或者業(yè)務規(guī)則的改變只需改動mvc的模型層。改變其中一個不會影響其他兩個,所以依據這種設計思想能構造良好的松耦合的構件。控制層的概念也很有效,由于它把不同的模型和不同的視圖組合在一起完成不同的請求,因此,控制層可以說是包含了用戶請求權限的概念6。最后,它還有利于

35、軟件工程化管理。由于不同的層各司其職,每一層不同的應用具有某些相同的特征,有利于通過工程化、工具化產生管理程序代碼。2.3 struts框架分析struts是apache基金會的一個open source項目,基于sun j2ee平臺的mvc框架,主要采用servlet和jsp技術來實現,能夠很好地幫助java開發(fā)者利用j2ee開發(fā)web應用,也是面向對象設計。實現重點在c(controller),包括actionservlet/requestprocessor和我們定制的action,也為v(view)提供了一系列定制標簽(custom tag)。一個成功的軟件需要有一個成功的架構,但軟件架

36、構的建立是一個復雜而又持續(xù)改進的過程,軟件開發(fā)者們不可能對每個不同的項目設計不同的架構,而總是盡量重用以前的架構,或開發(fā)出盡量通用的架構方案。struts就是其中之一,它是流行的基于mvc的web應用架構方案。struts是目前java web mvc框架中不爭的王者。經過長達五年的發(fā)展,struts已經逐漸成長為一個穩(wěn)定、成熟的框架,并且占有了mvc框架中最大的市場份額。2.3.1 struts的體系結構struts很好地實現了mvc(模型、視圖、控制器)設計模式7。通過一個配置文件,它把各個層面的應用組件聯系起來,使組件在程序層面上聯系較少,耦合度較低,這就大大提高了應用程序的可維護性和可

37、擴展性。圖2.4顯示了struts框架的體系結構響應客戶請求時,各個部分工作的原理。圖2.4 struts的工作原理fig. 2.4the work theory of strutsstruts的核心api包括:actionservlet、actionmapping、action、actionform bean、struts標記庫及actionforward。(1) actionservlet:控制器組件是由org.apache.struts.action.actionservlet類實現的,這個類是javax.servlet.http.httpservlet類的擴展,它是這一框架的核心。我們

38、可以把它看作是struts結構的web 應用的調度程序,調度的依據由actionmapping對象提供。它的基本功能是截獲用戶的http請求,并將用戶請求封裝到actionform中去進行數據校驗,校驗成功后, 將用戶數據actionform傳送到相應的用戶action中進行業(yè)務邏輯處理,并根據處理結果返回一個actionforword對象,此對象連接到相應的(view)jsp頁面。actionservlet類是strutscontroller中最主要的部分,所有用戶的請求都會被發(fā)送到這里,所有的其他處理也必須從這里經過。它是整個struts框架的控制樞紐,通常不需要擴展。(2) action

39、mapping:actionmapping對象,顧名思義就是action映射對象,它幫助控制器進行框架內部的流程控制。actionservlet是控制器任務的具體執(zhí)行者,actionmapping則為actionservlet指明了具體執(zhí)行路線, 是struts體系結構的具體體現者。struts-config.xml是一組響應用戶請求的actionmapping對象集合,每一個用戶請求都有一個actionmapping對象與之相對應。它需要應用開發(fā)者配置與用戶請求相對應的actionform數據屬性、是否需要進行數據校驗和回寫、action數據處理、輸入頁面、以及處理完成后可能跳轉的頁面等一組

40、屬性信息,這組屬性信息構成一個actionmapping對象,它決定了該項請求的處理過程。(3) actionform:actionform類是org.apache.struts.action.actionform擴展類,程序開發(fā)人員為每個表單都創(chuàng)建的一個actionform bean,以維護web應用程序的會話狀態(tài),但一個actionform可以對應多個表單,具有很好的重用性。它要求為表單中出現的每個字段定義一個屬性,是視圖與模型進行數據交換的橋梁。使用它的目的是為了存儲用戶在相關表單中輸入的數據,在數據校驗通過后,由控制器傳送給相應的action方法進行業(yè)務邏輯操作,同時在數據校驗失敗后,

41、將同一網頁進行再生,并提供一組錯誤信息,這樣就可以讓用戶只修改錯誤的錄入數據。(4) action:所有action類都是org.apache.struts.action.action擴展類,是業(yè)務邏輯的一個包裝,它是struts應用程序開發(fā)的核心,用途是接收控制器傳送的actionform類用戶請求數據,根據請求數據處理業(yè)務邏輯,并根據處理結果指明應用的流向,action類應該是控制應用程序的流程,而不是控制應用程序的業(yè)務邏輯。通常將業(yè)務邏輯放在javabean或ejb中處理,這樣就可以為我們的web應用提供更大的靈活性和可重用性。action實際上是request和business log

42、ic中間的適配器。通俗地說就是從表單中取到數據并傳給商業(yè)邏輯進行一系列的操作然后返回相應的操作信息。action子類應該覆蓋父類的execute()方法。(5) struts標記庫:jsp視圖組件所使用struts標記庫由四類標記組成,它們分別是: bean標記:用來在jsp頁面中管理bean; 邏輯標記:用來管理根據條件生成的輸出文本和其它用來控制顯示的信息; html標記:用來生成動態(tài)html用戶界面和窗體; 模板標記:使用動態(tài)模板構造通用格式的頁面模板,實現頁面的繼承性和可重用性。struts標記庫功能強大,內容非常豐富,充分使用這些標記,能最大限度地發(fā)揮struts的作用。(6)act

43、ionforward類所表示的是一個目標,也就是在action完成apache.struts.action.actionforward類。actionforward類所表示的是一個目標,也就是在action完成之后,控制器要專家控制權的地方。此時不是在程序代碼中指定實際的jsp頁面,而是以聲明的方式把某個動作的轉發(fā)映射與jsp頁面相關聯,然后在整個應用程序中使用那個actionforward對象。2.3.2 選用struts框架的原因首先,它是建立在mvc這種公認的好的模式上的,struts在模型,視圖和控制器上都有涉及,但它主要是提供一個好的控制器和一套定制的標簽庫上,也就是說它的著力點在控

44、制器和視圖上,因此,它天生就有mvc所帶來的一系列優(yōu)點,如:結構層次分明,高可重用性,增加了程序的健壯性和伸縮性,便于開發(fā)與設計分工,提供集中統(tǒng)一的權限控制、校驗、國際化、日志等。其次,它是個開源項目得到了包括它的發(fā)明者craig r. mcclanahan在內的一些程序大師和高手持續(xù)而細心的呵護,并且經受了實戰(zhàn)的檢驗,使其功能越來越強大,體系也日臻完善。最后,是它對其他技術和框架顯示出很好的融合性?,F在,它己經可以與tiles融為一體,可以展望,它很快就會與jsf等融合在一起8。當然,和其他任何技術一樣,它也不是十全十美的,如:它對類和一些屬性、參數的命名顯得有些隨意,給使用帶來一些不便;還

45、有如action類execute方法的只能接收一個actionform參數等。但瑕不掩瑜,這些沒有影響它被廣泛使用。2.4 hibernate數據持久化技術 hibernate是采用orm模式實現數據持久層的一個優(yōu)秀的java組件,它提供了強大、高效的將java對象進行持久化操作的服務。利用hibernate,開發(fā)人員可以方便地按照java對象的結構進行持久層的開發(fā),并可以使用hibernate所提供的hql(hibernate query language,hibernate查詢語言)完成java對象和關系型數據庫之間的轉換和操作9。2.4.1 數據持久層的引入j2ee三層結構在業(yè)界是指:表

46、示層、業(yè)務邏輯層、數據層。這樣的劃分當然是經典的,但是在實際項目中,往往會對三層體系結構做一些擴展來滿足項目的需要。一個最常用的擴展就是將三層體系擴展為五層體系,即表示層、控制中介層、業(yè)務邏輯層、數據持久層和數據源層。它其實是在三層架構中增加了兩個中間層??刂浦薪閷游挥诒硎緦雍蜆I(yè)務邏輯層之間,數據持久層位于業(yè)務邏輯層和數據層之間。業(yè)務邏輯層和數據層之間增加一個數據持久層,實現對象和關系數據庫之間的映射。利用這個映射框架的機制,對象與關系數據庫之間的轉換就可以透明地進行,而不用去關心數據庫連接、并發(fā)性、事務等問題10。業(yè)務邏輯層直接獲取或存儲的就是清晰的對象,中間的轉換過程就交給mapping框

47、架來處理。2.4.2 關于對象/關系映射(orm)對象/關系映射(o/rm)映射是將java對象的狀態(tài)映射到數據庫上,以便提供透明的持久化操作11。o/r映射的目標就是簡便的持久化業(yè)務模型中的實體對象,使開發(fā)人員得以避免編寫數據訪問的代碼。orm的全稱是object-relational mapping,orm組件的主要功能是實現實體域對象的持久化并封裝數據訪問的細節(jié)。在對象關系映射中涉及到的兩個關鍵點是:object(對象)和relation(關系)。它們分別代表了目前應用系統(tǒng)中所要處理的絕大多數工作對對象的操作和對關系型數據庫的訪問。orm并不是一個組件,它是具有某種功能的組件的總稱,也可

48、以說是一種框架結構。2.5 系統(tǒng)框架圖2.5是本系統(tǒng)的struts框架結構圖。圖2.5 struts框架fig. 2.5 the structure of struts3 需求分析3.1 功能需求人力資源信息管理子系統(tǒng)主要有三個核心對象:管理員,普通用戶,個人信息。人力資源信息管理操作的流程包括用戶注冊,注冊用戶登錄,普通用戶修改個人信息,管理員查詢、修改、刪除用戶個人信息等。系統(tǒng)能根據每位用戶的權限和職位提供不同的操作,如:普通用戶只能修改個人的信息,而沒有查詢、修改、刪除他人信息的權力。3.2 安全需求人力資源信息管理子系統(tǒng)需要達到的安全目標主要包括以下幾方面:(1) 在業(yè)務功能和業(yè)務數據

49、兩方面有權限的規(guī)定,各業(yè)務環(huán)節(jié)能對該環(huán)節(jié)所需了解的業(yè)務信息充分的了解,對無需了解的信息不應獲取。減少非法操作,保證實訓基地管理的正規(guī)化。如給普通用戶和管理員分配不同的權限和操作界面。(2) 保證對系統(tǒng)的安全訪問及對應用的審計功能。(3) 設置系統(tǒng)安全保密機制,提供對用戶、軟件功能、數據文件的安全管理。(4) 系統(tǒng)提供數據的自動轉儲和恢復機制。3.3 系統(tǒng)目標(1) 可維護性:要求系統(tǒng)具有良好的擴充、發(fā)展能力,提供今后擴充系統(tǒng)功能、模塊的接口。(2) 易用性:系統(tǒng)采用圖形、圖像化的人機界面。用戶并不需要特別培訓,就能夠容易地掌握操作業(yè)務的方法和要點,提供系統(tǒng)在線幫助。(3) 數據的精確性:保證數

50、據的正確性和精確性,避免因差錯給用戶帶來的不便。系統(tǒng)對用戶的操作順序、輸入的數據進行正確性檢查,并以顯著方式提示錯誤信息。3.4 系統(tǒng)需求 一個完整的網絡管理系統(tǒng)面向的對象至少應該有管理員和普通用戶,提供的服務是多種多樣的。本系統(tǒng)開發(fā)了一個面向客戶的平臺,提供的服務有注冊、登陸、用戶信息修改,還為管理員提供了查詢用戶信息的服務,因此系統(tǒng)份為用戶和管理員兩個模塊。3.4.1 普通用戶模塊普通用戶模塊應該有以下功能:(1)注冊用戶帳戶:用戶登陸是一個網絡應用系統(tǒng)必須的功能之一。用戶想要使用系統(tǒng)提供的功能,就必須先擁有一個賬戶,因此要到系統(tǒng)中注冊一個賬戶。用戶在注冊時系統(tǒng)要求用戶輸入用戶注冊信息,包

51、括學號、用戶名、密碼、確認密碼、權限、職位等必填項以及郵箱地址、專業(yè)等非必填項。如果用戶名已經存在,系統(tǒng)將向用戶顯示相應的錯誤信息,并提示用戶使用其他的用戶名。注冊完以后,可以進行登陸。(2)利用注冊的賬戶登陸到系統(tǒng):登陸頁面要求用戶輸入用戶名和口令。在輸入用戶名和口令之后,系統(tǒng)將驗證用戶名和口令是否正確。如果驗證成功,就使用戶處于登陸狀態(tài)。否則,系統(tǒng)將顯示用戶名或密碼錯誤的信息。(3)修改用戶的個人信息:用戶登陸后可以隨時修改個人的注冊信息。3.4.2 管理員模塊管理員模塊除上述功能外,還應該具有以下功能:(1)查詢個人信息:管理員可查詢系統(tǒng)內存在的所有用戶的信息;(2)修改他人信息:管理員

52、可修改系統(tǒng)內存在的所有用戶除登陸密碼以外的所有信息;(3)刪除個人信息:管理員可以通過系統(tǒng)把用戶從系統(tǒng)中刪除。在本系統(tǒng)中,沒有考慮比較完備安全的策略,只進行了一些基本的安全驗證。3.5 通過用例建模進行需求分析和頁面設計3.5.1 人力資源信息管理用例定義系統(tǒng)分為用戶注冊用例,用戶登陸用例,用戶修改個人信息用例,管理員查詢用戶信息用例,管理員查看用戶詳細信息用例,管理員修改用戶信息用例,管理員刪除用戶信息用例,用例圖如圖3.1所示。圖3.1 人力資源信息管理子系統(tǒng)用例圖fig. 3.1 the use case diagram of human resource information sub

53、system(1) 用例1:用戶注冊用例用例描述:用戶進入實訓基地內部系統(tǒng)時,會出現如圖3.2所示的頁面,未注冊用戶可以單擊頁面的中“用戶注冊”進行注冊。 圖3.2 用戶登錄用例圖fig.3.2 user login page用戶點擊“用戶注冊”后,直接跳轉到如圖3.3,在該頁面上需要填寫學號、姓名、密碼、重新輸入密碼、權限、職位等,然后單擊提交按鈕提交即可。 圖3.3 用戶注冊用例圖 fig.3.3 the user login page如果提交成功就會跳轉到圖3.4所示的頁面,系統(tǒng)自動提示您的注冊已成功,點擊“返回登錄頁面”則系統(tǒng)自動跳轉至3.2所示頁面。圖3.4 用戶注冊成功用例圖fig

54、.3.4 user successfully register page如果您未在注冊信息中輸入必填項或者您的輸入格式有錯誤,系統(tǒng)會提示錯誤,并要求您重新輸入,如圖3.5。圖3.5 用戶注冊失敗用例圖fig.3.5 user failed register page(2) 用例2:用戶登陸用例用例描述:用戶注冊賬戶以后,就可以進行登陸,登陸頁面如圖3.2所示。在圖3.2所示的頁面中可以輸入用戶名和密碼,然后單擊提交按鈕進行登陸。登陸后進入圖3.6所示的頁面。圖3.6 登陸成功后的主頁 fig.3.6 homepage如果用戶輸入的用戶名有誤,或者沒有輸入任何信息,或者輸入的密碼錯誤,點擊“提交

55、”,則系統(tǒng)會自動報錯,如圖3.7所示。圖3.7 用戶登陸失敗提示信息頁面fig.3.7 user failed login information page(3) 用例3:用戶修改個人信息用例用例描述:用戶成功登陸到系統(tǒng)后,可修改自己的除學號、姓名外的注冊信息。在如圖3.8所示的頁面上進行修改。圖3.8 用戶修改個人信息頁面fig.3.8 user modify personal information page 用戶修改的信息如果必填項都填寫而且沒有格式錯誤,點擊“提交”,系統(tǒng)自動保存修改的信息,并將其存儲到數據庫,系統(tǒng)跳轉到3.9所示的頁面。圖3.9 用戶修改信息成功頁面fig.3.9 u

56、ser successfully modify page如果用戶修改的信息必填項沒有填寫或者輸入的格式錯誤,系統(tǒng)會提示出錯信息,要求用戶重新輸入后再提交,如圖3.10所示。圖3.10 用戶修改信息出錯提示頁面fig.3.10 user failed modify information page(4) 用例4:管理員查詢用戶信息用例用例描述:如圖3.11所示,管理員可以實施查詢功能,系統(tǒng)能實現組合查詢和分頁顯示的功能。圖3.11 管理員查詢信息頁面 fig.3.11 manager inquiry information page若系統(tǒng)存在管理員輸入的查詢項信息則列出結果,管理員可在結果上繼續(xù)進行操作,如詳細信息,修改和刪除。如圖3.12所示。圖3.12 查詢結果頁面fig. 3.12 the result of inquiry page若系統(tǒng)中不存在管理員輸入的信息存檔,系統(tǒng)會自動提示“沒有您查詢的記錄”的提示信息,如圖3.13。圖3.13 無查詢信息的記錄結果頁面fig.3.13 no record for inquiry page(5) 用例5:管理員查看用戶詳細信息用例

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯系上傳者。文件的所有權益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
  • 4. 未經權益所有人同意不得將文件中的內容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
  • 6. 下載文件中如有侵權或不適當內容,請與我們聯系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論