




版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、實(shí)訓(xùn)基地人力資源信息管理系統(tǒng)設(shè)計(jì)與實(shí)現(xiàn)design and realization of occupational training base human resource information management system 獨(dú)創(chuàng)性說(shuō)明作者鄭重聲明:所呈交的學(xué)士學(xué)位論文是本人在指導(dǎo)教師的指導(dǎo)下,獨(dú)立進(jìn)行研究工作所取得的成果。除文中已經(jīng)注明引用的內(nèi)容外,本論文不包含任何其他個(gè)人或集體已經(jīng)發(fā)表或撰寫過(guò)的作品成果。對(duì)本文的研究做出重要貢獻(xiàn)的個(gè)人和集體,均已在文中以明確方式標(biāo)明。作者簽名: 日期: 實(shí)訓(xùn)基地人力資源信息管理系統(tǒng)設(shè)計(jì)與實(shí)現(xiàn)摘 要大連理工大學(xué)軟件學(xué)院與ibm公司合辦的du
2、t-ibm軟件人才實(shí)訓(xùn)基地在雙方的真誠(chéng)合作和互相努力下,已經(jīng)開(kāi)辦了兩屆的培訓(xùn)班。隨著這兩年工作的深入和基地規(guī)模的發(fā)展,開(kāi)發(fā)一個(gè)針對(duì)實(shí)訓(xùn)基地需求的管理系統(tǒng)迫在眉睫,而本論文就是屬于實(shí)訓(xùn)基地管理系統(tǒng)下的子系統(tǒng)人力資源信息管理系統(tǒng),實(shí)現(xiàn)用戶登陸以及用戶個(gè)人信息的新增、修改、刪除、查找,并根據(jù)權(quán)限,合理安排用戶的操作。論文圍繞實(shí)訓(xùn)基地人力資源信息管理系統(tǒng),基于mvc模式,struts框架和hibernate數(shù)據(jù)持久化技術(shù),結(jié)合軟件工程的開(kāi)發(fā)理論,進(jìn)行了需求分析、設(shè)計(jì)、實(shí)現(xiàn)和測(cè)試。論文首先詳細(xì)分析實(shí)訓(xùn)基地人力資源信息系統(tǒng)的需求,明確系統(tǒng)所要實(shí)現(xiàn)的功能和系統(tǒng)邏輯,確定系統(tǒng)邊界并通過(guò)系統(tǒng)的用例分析進(jìn)行系統(tǒng)需
3、求捕獲;然后確定實(shí)現(xiàn)實(shí)訓(xùn)基地人力資源信息系統(tǒng)需要使用的關(guān)鍵技術(shù),并對(duì)其詳細(xì)闡述。在系統(tǒng)設(shè)計(jì)時(shí),通過(guò)對(duì)用例的進(jìn)一步分析,得出了系統(tǒng)的數(shù)據(jù)庫(kù)設(shè)計(jì)和界面設(shè)計(jì)。在詳細(xì)設(shè)計(jì)階段,對(duì)系統(tǒng)的各個(gè)功能模塊分別給出了詳細(xì)的類圖和序列圖設(shè)計(jì)。在系統(tǒng)實(shí)現(xiàn)部分介紹了系統(tǒng)主要功能模塊的實(shí)現(xiàn)細(xì)節(jié)及驗(yàn)證方法。最后運(yùn)用黑盒測(cè)試技術(shù),對(duì)系統(tǒng)的功能和結(jié)構(gòu)進(jìn)行了測(cè)試。系統(tǒng)具有良好的可維護(hù)性與可擴(kuò)展性。實(shí)訓(xùn)基地人力資源信息管理系統(tǒng)是實(shí)用于dut-ibm實(shí)訓(xùn)基地的日常管理。它實(shí)現(xiàn)了實(shí)訓(xùn)基地管理的信息化和自動(dòng)化,適用于實(shí)訓(xùn)基地目前和未來(lái)的管理和操作,使信息的操作更簡(jiǎn)單明了,并使系統(tǒng)易擴(kuò)展。關(guān)鍵詞:實(shí)訓(xùn)基地;信息管理;mvc;struts
4、 - i -實(shí)訓(xùn)基地人力資源信息管理系統(tǒng)設(shè)計(jì)與實(shí)現(xiàn)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軟件人才實(shí)訓(xùn)基地的發(fā)展和現(xiàn)狀11.2 課題研究的目的和意義11.3 論文主要工作22 相關(guān)技術(shù)的理論研究32.1 j2ee平臺(tái)32.1.1 j
12、2ee概述32.1.2 j2ee體系結(jié)構(gòu)32.1.3 j2ee的優(yōu)勢(shì)52.1.4 j2ee的核心技術(shù)62.2 mvc設(shè)計(jì)模式72.2.1 mvc模式的原理和架構(gòu)72.2.2 mvc模式的優(yōu)勢(shì)82.3 struts框架分析82.3.1 struts的體系結(jié)構(gòu)92.3.2 選用struts框架的原因112.4 hibernate數(shù)據(jù)持久化技術(shù)112.4.1 數(shù)據(jù)持久層的引入112.4.2 關(guān)于對(duì)象/關(guān)系映射(orm)122.5 系統(tǒng)框架123 需求分析133.1 功能需求133.2 安全需求133.3 系統(tǒng)目標(biāo)133.4 系統(tǒng)需求133.4.1 普通用戶模塊133.4.2 管理員模塊143.5 通
13、過(guò)用例建模進(jìn)行需求分析和頁(yè)面設(shè)計(jì)143.5.1 人力資源信息管理用例定義144 系統(tǒng)設(shè)計(jì)224.1 概要設(shè)計(jì)224.1.1 系統(tǒng)架構(gòu)設(shè)計(jì)224.1.2 數(shù)據(jù)庫(kù)設(shè)計(jì)234.1.3 界面設(shè)計(jì)244.2 詳細(xì)設(shè)計(jì)264.2.1 struts框架詳細(xì)設(shè)計(jì)原則264.2.2 架構(gòu)在rose模型中的位置274.2.3 主要模塊的類設(shè)計(jì)和序列圖設(shè)計(jì)285 系統(tǒng)實(shí)現(xiàn)325.1 查詢用戶信息模塊325.1.1 視圖層的實(shí)現(xiàn)325.1.2 控制層的實(shí)現(xiàn)335.1.3 模型層的實(shí)現(xiàn)345.1.4 持久層的實(shí)現(xiàn)355.2 注冊(cè)個(gè)人信息模塊375.3修改用戶個(gè)人信息模塊385.4刪除用戶個(gè)人信息模塊406 系統(tǒng)測(cè)試41
14、6.1 測(cè)試方案概述416.2 測(cè)試用例設(shè)計(jì)示例416.2.1 黑盒測(cè)試416.3 測(cè)試結(jié)果分析42結(jié) 論43參 考 文 獻(xiàn)44致 謝45實(shí)訓(xùn)基地人力資源信息管理系統(tǒng)設(shè)計(jì)與實(shí)現(xiàn)1 緒論1.1 dut-ibm軟件人才實(shí)訓(xùn)基地的發(fā)展和現(xiàn)狀dut-ibm實(shí)訓(xùn)基地創(chuàng)建于2007年3月,到現(xiàn)在為止已招收了兩屆的學(xué)生。從開(kāi)辦到現(xiàn)在,師資隊(duì)伍不斷壯大,部門從原來(lái)單一的web開(kāi)發(fā)到現(xiàn)在新增的main frame技術(shù)開(kāi)發(fā),現(xiàn)有學(xué)員將近百人。該基地為同學(xué)們的職業(yè)技能培養(yǎng)提供了很好的硬件設(shè)備和師資力量,同時(shí)也定期對(duì)同學(xué)們指導(dǎo)講座,讓同學(xué)們?cè)谔嵘夹g(shù)的同時(shí)也學(xué)到了溝通技巧,商務(wù)英語(yǔ)等知識(shí)。實(shí)訓(xùn)基地很大程度上解決了同學(xué)
15、們動(dòng)手能力差,理論與實(shí)際難合理結(jié)合的現(xiàn)實(shí)問(wèn)題。而通過(guò)這兩屆培訓(xùn)的經(jīng)驗(yàn)和總結(jié),這樣的一個(gè)培訓(xùn)方式不僅有利于學(xué)校培養(yǎng)軟件開(kāi)發(fā)人才,更能使同學(xué)們拓展自身能力,扎實(shí)理論基礎(chǔ),提高動(dòng)手能力。1.2 課題研究的目的和意義隨著dut-ibm實(shí)訓(xùn)基地逐漸步入正規(guī)化,學(xué)員人數(shù)的日漸增多,人工實(shí)現(xiàn)學(xué)員管理和日常工作管理的難度增大,整個(gè)基地的電子信息化管理顯得尤為重要。在實(shí)訓(xùn)基地現(xiàn)有的工作環(huán)境中急需一套能供其使用的管理系統(tǒng),實(shí)現(xiàn)對(duì)學(xué)員的管理,以及日常工作的開(kāi)展,使整個(gè)基地的管理模式化、正規(guī)化,更能模仿公司工作流程使學(xué)員更快地適應(yīng)工作環(huán)境,除了培訓(xùn)學(xué)員的技術(shù)外,更能提高學(xué)員的職業(yè)軟技能,使同學(xué)們?cè)W(xué)于用,提高其動(dòng)手能
16、力,由此開(kāi)發(fā)了實(shí)訓(xùn)基地管理系統(tǒng),而本論文正是實(shí)現(xiàn)實(shí)訓(xùn)基地管理系統(tǒng)中的人力資源信息管理子系統(tǒng)。本系統(tǒng)不僅要滿足系統(tǒng)的實(shí)用性,而且要有相當(dāng)?shù)目蓴U(kuò)展性,保證能在以后的實(shí)用過(guò)程中,被不斷完善和擴(kuò)展。在現(xiàn)有的企業(yè)軟件開(kāi)發(fā)系統(tǒng)中,應(yīng)用系統(tǒng)被分為前端(客戶機(jī))和后端(服務(wù)器)兩部分,它們通過(guò)消息傳遞機(jī)制進(jìn)行對(duì)話,由客戶端發(fā)出請(qǐng)求給服務(wù)器,服務(wù)器進(jìn)行相應(yīng)處理后經(jīng)傳遞機(jī)制送回客戶端,客戶端集中了應(yīng)用系統(tǒng)的主要運(yùn)行程序。這種模式發(fā)展得比較成熟,它的優(yōu)點(diǎn)在于通過(guò)存儲(chǔ)狀態(tài)信息,減少網(wǎng)絡(luò)上的信息傳輸以提高效率。但它的缺陷也很明顯,胖客戶端維護(hù)運(yùn)行成本高,跨平臺(tái)及伸縮性差。而瀏覽器(browser)/服務(wù)器(server
17、)模式為瘦客戶,客戶端幾乎不需要維護(hù)等。本課題采用基于瀏覽器的b/s模式,通過(guò)對(duì)人力資源信息管理子系統(tǒng)的設(shè)計(jì)和實(shí)現(xiàn),探討一種基于j2ee平臺(tái)的web應(yīng)用設(shè)計(jì)方案,對(duì)j2ee的一些相關(guān)技術(shù),mvc模式和struts框架作了一定的分析和研究,并付諸實(shí)踐,從而體現(xiàn)基于組件設(shè)計(jì)、多層結(jié)構(gòu)應(yīng)用等j2ee的技術(shù)特點(diǎn),其基于j2ee mvc的體系架構(gòu)保證了系統(tǒng)的靈活性和可擴(kuò)展性。j2ee體系架構(gòu)具有獨(dú)立性、可移植性、集成性等優(yōu)點(diǎn),為搭建具有可伸縮性、靈活性、易維護(hù)性的商務(wù)系統(tǒng)提供了良好的機(jī)制,這一特性使該系統(tǒng)能不斷地被完善和拓展。同時(shí)因?yàn)檫@個(gè)系統(tǒng)所用的j2ee技術(shù)、struts框架、hibernate數(shù)據(jù)持
18、久化技術(shù)、db2數(shù)據(jù)庫(kù)操作等正是在實(shí)訓(xùn)基地培訓(xùn)過(guò)程中所學(xué)習(xí)和使用的,這就便利學(xué)員在以后的實(shí)訓(xùn)中不斷完善本系統(tǒng),使其成為真正符合實(shí)訓(xùn)基地使用要求的管理系統(tǒng)。而且本系統(tǒng)為以后的系統(tǒng)擴(kuò)展留好了接口,滿足基地規(guī)模的壯大和日常事務(wù)項(xiàng)目的增多,確保為實(shí)訓(xùn)基地的老師和學(xué)員的日常工作和學(xué)習(xí)提供便利。1.3 論文主要工作論文主要結(jié)構(gòu)如下: (1) 緒論,本章介紹dut-ibm軟件人才實(shí)訓(xùn)基地的發(fā)展和現(xiàn)狀以及本課題的研究意義。(2) 相關(guān)技術(shù)的理論研究,本章對(duì)系統(tǒng)在開(kāi)發(fā)過(guò)程中使用的關(guān)鍵技術(shù)進(jìn)行概述,如j2ee平臺(tái),mvc模式,struts框架,hibernate數(shù)據(jù)持久化技術(shù)等。(3) 需求分析,本章介紹了系統(tǒng)功
19、能需求,安全需求和系統(tǒng)目標(biāo),并通過(guò)用例分析進(jìn)行系統(tǒng)需求捕獲。(4) 系統(tǒng)設(shè)計(jì),本章首先從數(shù)據(jù)庫(kù)設(shè)計(jì)和界面設(shè)計(jì)兩方面來(lái)進(jìn)行系統(tǒng)的概要設(shè)計(jì),然后給出了系統(tǒng)主要模塊的詳細(xì)設(shè)計(jì),包括類圖設(shè)計(jì)和序列圖設(shè)計(jì)。(5) 系統(tǒng)實(shí)現(xiàn),本章給出了系統(tǒng)主要模塊的實(shí)現(xiàn)細(xì)節(jié)。(6) 系統(tǒng)測(cè)試,本章首先對(duì)測(cè)試方案進(jìn)行了概述,再舉例給出了測(cè)試用例示例,最后對(duì)測(cè)試結(jié)果進(jìn)行分析。(7) 將系統(tǒng)投入使用。本論文與其他論文的區(qū)別在于,它是一個(gè)實(shí)用的系統(tǒng),它是以基地的業(yè)務(wù)要求而設(shè)計(jì)并制作的一個(gè)實(shí)用系統(tǒng),故它的實(shí)用性及可擴(kuò)展性就不容忽視。2 相關(guān)技術(shù)的理論研究2.1 j2ee平臺(tái)2.1.1 j2ee概述j2ee是一種利用java 2平臺(tái)
20、來(lái)簡(jiǎn)化企業(yè)解決方案的開(kāi)發(fā)、部署和管理相關(guān)的復(fù)雜問(wèn)題的體系結(jié)構(gòu)。j2ee是sun公司提出的一個(gè)分布式、多層應(yīng)用的標(biāo)準(zhǔn)體系結(jié)構(gòu),而不是一門編程語(yǔ)言,它以組件的方式來(lái)設(shè)計(jì)、部署企業(yè)應(yīng)用旨在簡(jiǎn)化和規(guī)范分布式多層企業(yè)應(yīng)用系統(tǒng)的開(kāi)發(fā)和部署1。j2ee技術(shù)的基礎(chǔ)就是核心java平臺(tái)或java 2平臺(tái)的標(biāo)準(zhǔn)版,j2ee不僅鞏固了標(biāo)準(zhǔn)版中的許多優(yōu)點(diǎn),例如"編寫一次、隨處運(yùn)行"的特性、方便存取數(shù)據(jù)庫(kù)的jdbc api、corba技術(shù)以及能夠在internet應(yīng)用中保護(hù)數(shù)據(jù)的安全模式等等,同時(shí)還提供了對(duì)ejb(enterprise javabeans)、java servlets api、jsp
21、(java server pages)以及xml技術(shù)的全面支持2。其最終目的就是成為一個(gè)能夠使企業(yè)開(kāi)發(fā)者大幅縮短投放市場(chǎng)時(shí)間的體系結(jié)構(gòu)。通過(guò)提供統(tǒng)一的開(kāi)發(fā)平臺(tái),j2ee降低了開(kāi)發(fā)多層應(yīng)用的費(fèi)用和復(fù)雜性,同時(shí)提供對(duì)現(xiàn)有應(yīng)用程序集成強(qiáng)有力支持,完全支持enterprise javabeans,有良好的向?qū)еС执虬筒渴饝?yīng)用,添加目錄支持,增強(qiáng)了安全機(jī)制,提高了性能。2.1.2 j2ee體系結(jié)構(gòu)j2ee 是一種多層次分布式應(yīng)用模型,應(yīng)用邏輯按照功能劃分為組件,組件在相應(yīng)的組件容器中運(yùn)行,每個(gè)層次都支持相應(yīng)的服務(wù)器和組件,各個(gè)組件根據(jù)它們所在的層分布在不同的機(jī)器上,容器間通過(guò)相關(guān)協(xié)議進(jìn)行通信,實(shí)現(xiàn)組件
22、之間的調(diào)用。j2ee的典型的四層結(jié)構(gòu)如圖2.1所示。圖2.1 j2ee的四層結(jié)構(gòu)fig. 2.1 four layers structure of j2eej2ee 的各層組件有:(1) 運(yùn)行在客戶機(jī)器上的客戶層組件;(2) 運(yùn)行在j2ee服務(wù)器上的web層組件;(3) 運(yùn)行在j2ee服務(wù)器上的業(yè)務(wù)邏輯層組件;(4) 運(yùn)行在eis服務(wù)器上的企業(yè)信息系統(tǒng)層(eis)組件。j2ee應(yīng)用組件可以安裝部署到以下幾種容器中:(1) ejb容器:管理所有j2ee應(yīng)用程序中ejb的執(zhí)行,ejb和它們的容器運(yùn)行在j2ee服務(wù)器上;(2) web容器:管理所有j2ee應(yīng)用程序中jsp頁(yè)面和servlet組件的執(zhí)
23、行,web組件和它們的容器運(yùn)行在j2ee服務(wù)器上;(3) 應(yīng)用程序客戶端容器:客戶端容器管理所有j2ee應(yīng)用程序中應(yīng)用程序客戶端組件的執(zhí)行;(4) applet容器:是運(yùn)行在客戶端的web瀏覽器和java插件的結(jié)合。 j2ee應(yīng)用程序組件:j2ee應(yīng)用程序是由組件構(gòu)成的j2ee組件是具有獨(dú)立功能的軟件單元,它們通過(guò)相關(guān)的類和文件組裝成j2ee應(yīng)用程序,并與其他組件交互。j2ee說(shuō)明書中定義了以下的j2ee組件:(1) 應(yīng)用客戶端程序和applets是客戶層組件;(2) java servlet和javaserver pages(jsp)是web層組件;(3) enterprise javabe
24、ans(ejb)是業(yè)務(wù)層組件; (4) j2ee應(yīng)用程序可以是基于web方式的,也可以是基于傳統(tǒng)方式的。web 層組件:j2ee web層組件可以是jsp頁(yè)面或servlets。 正如下圖所示的客戶層那樣,web層可能包含某些javabean對(duì)象來(lái)處理用戶輸入,并把輸入發(fā)送給運(yùn)行在業(yè)務(wù)層上的enterprise bean來(lái)進(jìn)行處理。 圖2.2 web層組件fig. 2.2 module of web layer業(yè)務(wù)層組件:業(yè)務(wù)層代碼的邏輯用來(lái)滿足銀行、零售、金融等特殊商務(wù)領(lǐng)域的需要,由運(yùn)行在業(yè)務(wù)層上的enterprise bean進(jìn)行處理。有三種企業(yè)級(jí)的bean:會(huì)話(session)bean
25、s,實(shí)體(entity)beans和消息驅(qū)動(dòng)(message-driven)beans2。會(huì)話bean表示與客戶端程序的臨時(shí)交互。當(dāng)客戶端程序執(zhí)行完后,會(huì)話bean和相關(guān)數(shù)據(jù)就會(huì)消失。相反,實(shí)體bean表示數(shù)據(jù)庫(kù)的表中一行永久的記錄。當(dāng)客戶端程序中止或服務(wù)器關(guān)閉時(shí),就會(huì)有潛在的服務(wù)保證實(shí)體bean的數(shù)據(jù)得以保存。消息驅(qū)動(dòng)bean結(jié)合了會(huì)話bean和jms的消息監(jiān)聽(tīng)器的特性,允許一個(gè)業(yè)務(wù)層組件異步接收jms消息。圖2.3 業(yè)務(wù)層組件fig. 2.3 module of operation layer企業(yè)信息系統(tǒng)層: 企業(yè)信息系統(tǒng)層處理企業(yè)信息系統(tǒng)軟件包括企業(yè)基礎(chǔ)建設(shè)系統(tǒng)例如企業(yè)資源計(jì)劃(erp)
26、,大型機(jī)事務(wù)處理,數(shù)據(jù)庫(kù)系統(tǒng)和其它的遺留信息系統(tǒng)。例如,j2ee應(yīng)用組件可能為了數(shù)據(jù)庫(kù)連接需要訪問(wèn)企業(yè)信息系統(tǒng)。2.1.3 j2ee的優(yōu)勢(shì)j2ee體系架構(gòu)具有獨(dú)立性、可移植性、集成性等優(yōu)點(diǎn),為搭建具有可伸縮性、靈活性、易維護(hù)性的商務(wù)系統(tǒng)提供了良好的機(jī)制:(1) 獨(dú)立于硬件配置和操作系統(tǒng)。j2ee應(yīng)用運(yùn)行在jvm(java virtual machine,java虛擬機(jī))上,利用java本身的跨平臺(tái)特性,獨(dú)立于硬件配置和操作系統(tǒng)。jre(java2 runtime environment,java運(yùn)行環(huán)境)幾乎可以運(yùn)行于所有的硬件和操作系統(tǒng)組合。因此j2ee架構(gòu)的企業(yè)應(yīng)用使企業(yè)免于高昂的硬件設(shè)備
27、和操作系統(tǒng)的再投資,保護(hù)已有的it資源。(2) 堅(jiān)持面向?qū)ο蟮脑O(shè)計(jì)原則。作為一門完全面向?qū)ο蟮恼Z(yǔ)言,java幾乎支持所有的面向?qū)ο蟮某绦蛟O(shè)計(jì)特征。面向?qū)ο蠛突诮M件的設(shè)計(jì)原則構(gòu)成了j2ee應(yīng)用編程模型的基礎(chǔ)。j2ee多層結(jié)構(gòu)的每一層都有多種組件模型,因此開(kāi)發(fā)人員所要做的就是為應(yīng)用項(xiàng)目選擇適當(dāng)?shù)慕M件模型組合,靈活地開(kāi)發(fā)和裝配組件,這樣不僅有助于提高應(yīng)用系統(tǒng)的可擴(kuò)展性,還能有效地提高開(kāi)發(fā)速度,縮短開(kāi)發(fā)周期。(3) 靈活性、可移植性和互操作性。利用java的跨平臺(tái)特性,j2ee組件可以很方便低移植到不同的應(yīng)用服務(wù)器環(huán)境中。這意味著企業(yè)不必再拘泥于單一的開(kāi)發(fā)平臺(tái)。j2ee的應(yīng)用系統(tǒng)可以部署在不同的應(yīng)用
28、服務(wù)器上,在全異構(gòu)環(huán)境下,j2ee組件仍可彼此協(xié)同工作。這一特征使得裝配應(yīng)用組件首次獲得空前的互操作性。(4) 輕松的企業(yè)信息系統(tǒng)集成。j2ee技術(shù)出臺(tái)后不久,很快就有jdbc、jms、和jca等一批標(biāo)準(zhǔn)歸納自身體系之下,這大大簡(jiǎn)化了企業(yè)信息系統(tǒng)整合的工作量,方便企業(yè)將諸如legacy system(遺產(chǎn)系統(tǒng)),erp和數(shù)據(jù)庫(kù)等多個(gè)不同的信息系統(tǒng)進(jìn)行無(wú)縫集成。2.1.4 j2ee的核心技術(shù)j2ee的核心技術(shù)包括以下部分3:(1) servlets(服務(wù)端效程序);(2) jsp(java服務(wù)器頁(yè)面);(3) ejb(企業(yè)版javabean);(4) jdbc(java數(shù)據(jù)庫(kù)連接);(5) ja
29、vamail(javamail api);(6) rmi(遠(yuǎn)程方法調(diào)用);(7) jaxp(解析xml文件的java api);(8) jts(java事務(wù)服務(wù));(9) jca(連接器體系結(jié)構(gòu));(10) jndi(名字目錄服務(wù));(11) jms(java消息服務(wù)api);(12) jax-rpc(xml遠(yuǎn)程方法調(diào)用,j2ee1.4,主要用于web服務(wù));(13) jsxr(注冊(cè)web服務(wù)使用,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設(shè)計(jì)模式2.2.1 mvc模式的原理和架構(gòu)設(shè)計(jì)模式描述了在面向?qū)ο筌浖O(shè)計(jì)過(guò)程中針對(duì)特定問(wèn)題的簡(jiǎn)潔而優(yōu)雅的解決方案。設(shè)計(jì)模式捕獲了這些解決方案,并用簡(jiǎn)潔易用的方式表達(dá)出來(lái)4。軟件領(lǐng)域中的設(shè)計(jì)模式為開(kāi)發(fā)人員提供了一種使用專家設(shè)計(jì)經(jīng)驗(yàn)的有效途徑。mvc(模型視圖控制器)是一種設(shè)計(jì)模式,它強(qiáng)制性地把
31、應(yīng)用程序的輸入、處理和輸出分開(kāi)。其應(yīng)用架構(gòu)劃分為3個(gè)相互協(xié)調(diào)的核心模塊:模型、視圖和控制器,它們分別擔(dān)負(fù)不同的任務(wù)。整個(gè)mvc的處理過(guò)程是:首先控制器接收用戶的請(qǐng)求,并決定應(yīng)該調(diào)用哪個(gè)模型來(lái)進(jìn)行處理;然后模型根據(jù)用戶的請(qǐng)求進(jìn)行相應(yīng)的業(yè)務(wù)邏輯處理,并返回?cái)?shù)據(jù);最后控制器調(diào)用相應(yīng)的視圖格式化模型返回的數(shù)據(jù),并通過(guò)表示層呈現(xiàn)給用戶。(1) 模型(model):模型表示業(yè)務(wù)邏輯和業(yè)務(wù)規(guī)則等,在mvc的三個(gè)部件中擁有最多的處理任務(wù)。它可以用javabean和ejb等組件技術(shù)來(lái)處理數(shù)據(jù)庫(kù)的訪問(wèn)。模型能為多個(gè)視圖提供數(shù)據(jù)。由于應(yīng)用于模型的代碼只需寫一次就可以被多個(gè)視圖重用,所以減少了代碼的重復(fù)性。(2) 視
32、圖(view):模型的動(dòng)態(tài)表示,并提供用戶交互界面。視圖向用戶顯示相關(guān)的數(shù)據(jù),并能接收用戶的輸入數(shù)據(jù),但是它并不進(jìn)行任何實(shí)際的業(yè)務(wù)處理。同時(shí)當(dāng)模型狀態(tài)發(fā)生變化時(shí),視圖應(yīng)該得到通知,以便更新視圖。視圖是屏幕上的顯示。模型進(jìn)行操作之后,其結(jié)果就是通過(guò)視圖來(lái)顯示的。在視圖中其實(shí)沒(méi)有真正的處理發(fā)生,只是作為一種輸出數(shù)據(jù)并允許用戶操作的方式。(3) 控制器(controller):控制器用于管理用戶與視圖發(fā)生的交互。一旦用戶想對(duì)模型進(jìn)行處理時(shí),它不能直接去執(zhí)行模型,而是通過(guò)控制器來(lái)間接地實(shí)現(xiàn)。控制器能從視圖中取值,然后將相應(yīng)的值傳給模型進(jìn)行處理??刂破鹘邮苡脩舻妮斎氩⒄{(diào)用模型和視圖去完成用戶的需求。2.
33、2.2 mvc模式的優(yōu)勢(shì)大部分用過(guò)程語(yǔ)言比如asp、php開(kāi)發(fā)出來(lái)的web應(yīng)用,初始的開(kāi)發(fā)模板就是混合層的數(shù)據(jù)編程5。例如,直接向數(shù)據(jù)庫(kù)發(fā)送請(qǐng)求并用html顯示,開(kāi)發(fā)速度往往比較快,但由于數(shù)據(jù)頁(yè)面的分離不是很直接,因而很難體現(xiàn)出業(yè)務(wù)模型的樣子或者模型的重用性。產(chǎn)品設(shè)計(jì)彈性力度很小,很難滿足用戶的變化性需求。mvc要求對(duì)應(yīng)用分層,雖然要花費(fèi)額外的工作,但產(chǎn)品的結(jié)構(gòu)清晰,產(chǎn)品的應(yīng)用通過(guò)模型可以得到更好地體現(xiàn)。首先,最重要的是應(yīng)該有多個(gè)視圖對(duì)應(yīng)一個(gè)模型的能力。在目前用戶需求的快速變化下,可能有多種方式訪問(wèn)應(yīng)用的要求。例如,訂單模型可能有本系統(tǒng)的訂單,也有網(wǎng)上訂單,或者其他系統(tǒng)的訂單,但對(duì)于訂單的處理
34、都是一樣,也就是說(shuō)訂單的處理是一致的。按mvc設(shè)計(jì)模式,一個(gè)訂單模型以及多個(gè)視圖即可解決問(wèn)題。這樣減少了代碼的復(fù)制,即減少了代碼的維護(hù)量,一旦模型發(fā)生改變,也易于維護(hù)。其次,由于模型返回的數(shù)據(jù)不帶任何顯示格式,因而這些模型也可直接應(yīng)用于接口的使用。再次,由于一個(gè)應(yīng)用被分離為三層,因此有時(shí)改變其中的一層就能滿足應(yīng)用的改變。一個(gè)應(yīng)用的業(yè)務(wù)流程或者業(yè)務(wù)規(guī)則的改變只需改動(dòng)mvc的模型層。改變其中一個(gè)不會(huì)影響其他兩個(gè),所以依據(jù)這種設(shè)計(jì)思想能構(gòu)造良好的松耦合的構(gòu)件??刂茖拥母拍钜埠苡行В捎谒巡煌哪P秃筒煌囊晥D組合在一起完成不同的請(qǐng)求,因此,控制層可以說(shuō)是包含了用戶請(qǐng)求權(quán)限的概念6。最后,它還有利于
35、軟件工程化管理。由于不同的層各司其職,每一層不同的應(yīng)用具有某些相同的特征,有利于通過(guò)工程化、工具化產(chǎn)生管理程序代碼。2.3 struts框架分析struts是apache基金會(huì)的一個(gè)open source項(xiàng)目,基于sun j2ee平臺(tái)的mvc框架,主要采用servlet和jsp技術(shù)來(lái)實(shí)現(xiàn),能夠很好地幫助java開(kāi)發(fā)者利用j2ee開(kāi)發(fā)web應(yīng)用,也是面向?qū)ο笤O(shè)計(jì)。實(shí)現(xiàn)重點(diǎn)在c(controller),包括actionservlet/requestprocessor和我們定制的action,也為v(view)提供了一系列定制標(biāo)簽(custom tag)。一個(gè)成功的軟件需要有一個(gè)成功的架構(gòu),但軟件架
36、構(gòu)的建立是一個(gè)復(fù)雜而又持續(xù)改進(jìn)的過(guò)程,軟件開(kāi)發(fā)者們不可能對(duì)每個(gè)不同的項(xiàng)目設(shè)計(jì)不同的架構(gòu),而總是盡量重用以前的架構(gòu),或開(kāi)發(fā)出盡量通用的架構(gòu)方案。struts就是其中之一,它是流行的基于mvc的web應(yīng)用架構(gòu)方案。struts是目前java web mvc框架中不爭(zhēng)的王者。經(jīng)過(guò)長(zhǎng)達(dá)五年的發(fā)展,struts已經(jīng)逐漸成長(zhǎng)為一個(gè)穩(wěn)定、成熟的框架,并且占有了mvc框架中最大的市場(chǎng)份額。2.3.1 struts的體系結(jié)構(gòu)struts很好地實(shí)現(xiàn)了mvc(模型、視圖、控制器)設(shè)計(jì)模式7。通過(guò)一個(gè)配置文件,它把各個(gè)層面的應(yīng)用組件聯(lián)系起來(lái),使組件在程序?qū)用嫔下?lián)系較少,耦合度較低,這就大大提高了應(yīng)用程序的可維護(hù)性和可
37、擴(kuò)展性。圖2.4顯示了struts框架的體系結(jié)構(gòu)響應(yīng)客戶請(qǐng)求時(shí),各個(gè)部分工作的原理。圖2.4 struts的工作原理fig. 2.4the work theory of strutsstruts的核心api包括:actionservlet、actionmapping、action、actionform bean、struts標(biāo)記庫(kù)及actionforward。(1) actionservlet:控制器組件是由org.apache.struts.action.actionservlet類實(shí)現(xiàn)的,這個(gè)類是javax.servlet.http.httpservlet類的擴(kuò)展,它是這一框架的核心。我們
38、可以把它看作是struts結(jié)構(gòu)的web 應(yīng)用的調(diào)度程序,調(diào)度的依據(jù)由actionmapping對(duì)象提供。它的基本功能是截獲用戶的http請(qǐng)求,并將用戶請(qǐng)求封裝到actionform中去進(jìn)行數(shù)據(jù)校驗(yàn),校驗(yàn)成功后, 將用戶數(shù)據(jù)actionform傳送到相應(yīng)的用戶action中進(jìn)行業(yè)務(wù)邏輯處理,并根據(jù)處理結(jié)果返回一個(gè)actionforword對(duì)象,此對(duì)象連接到相應(yīng)的(view)jsp頁(yè)面。actionservlet類是strutscontroller中最主要的部分,所有用戶的請(qǐng)求都會(huì)被發(fā)送到這里,所有的其他處理也必須從這里經(jīng)過(guò)。它是整個(gè)struts框架的控制樞紐,通常不需要擴(kuò)展。(2) action
39、mapping:actionmapping對(duì)象,顧名思義就是action映射對(duì)象,它幫助控制器進(jìn)行框架內(nèi)部的流程控制。actionservlet是控制器任務(wù)的具體執(zhí)行者,actionmapping則為actionservlet指明了具體執(zhí)行路線, 是struts體系結(jié)構(gòu)的具體體現(xiàn)者。struts-config.xml是一組響應(yīng)用戶請(qǐng)求的actionmapping對(duì)象集合,每一個(gè)用戶請(qǐng)求都有一個(gè)actionmapping對(duì)象與之相對(duì)應(yīng)。它需要應(yīng)用開(kāi)發(fā)者配置與用戶請(qǐng)求相對(duì)應(yīng)的actionform數(shù)據(jù)屬性、是否需要進(jìn)行數(shù)據(jù)校驗(yàn)和回寫、action數(shù)據(jù)處理、輸入頁(yè)面、以及處理完成后可能跳轉(zhuǎn)的頁(yè)面等一組
40、屬性信息,這組屬性信息構(gòu)成一個(gè)actionmapping對(duì)象,它決定了該項(xiàng)請(qǐng)求的處理過(guò)程。(3) actionform:actionform類是org.apache.struts.action.actionform擴(kuò)展類,程序開(kāi)發(fā)人員為每個(gè)表單都創(chuàng)建的一個(gè)actionform bean,以維護(hù)web應(yīng)用程序的會(huì)話狀態(tài),但一個(gè)actionform可以對(duì)應(yīng)多個(gè)表單,具有很好的重用性。它要求為表單中出現(xiàn)的每個(gè)字段定義一個(gè)屬性,是視圖與模型進(jìn)行數(shù)據(jù)交換的橋梁。使用它的目的是為了存儲(chǔ)用戶在相關(guān)表單中輸入的數(shù)據(jù),在數(shù)據(jù)校驗(yàn)通過(guò)后,由控制器傳送給相應(yīng)的action方法進(jìn)行業(yè)務(wù)邏輯操作,同時(shí)在數(shù)據(jù)校驗(yàn)失敗后,
41、將同一網(wǎng)頁(yè)進(jìn)行再生,并提供一組錯(cuò)誤信息,這樣就可以讓用戶只修改錯(cuò)誤的錄入數(shù)據(jù)。(4) action:所有action類都是org.apache.struts.action.action擴(kuò)展類,是業(yè)務(wù)邏輯的一個(gè)包裝,它是struts應(yīng)用程序開(kāi)發(fā)的核心,用途是接收控制器傳送的actionform類用戶請(qǐng)求數(shù)據(jù),根據(jù)請(qǐng)求數(shù)據(jù)處理業(yè)務(wù)邏輯,并根據(jù)處理結(jié)果指明應(yīng)用的流向,action類應(yīng)該是控制應(yīng)用程序的流程,而不是控制應(yīng)用程序的業(yè)務(wù)邏輯。通常將業(yè)務(wù)邏輯放在javabean或ejb中處理,這樣就可以為我們的web應(yīng)用提供更大的靈活性和可重用性。action實(shí)際上是request和business log
42、ic中間的適配器。通俗地說(shuō)就是從表單中取到數(shù)據(jù)并傳給商業(yè)邏輯進(jìn)行一系列的操作然后返回相應(yīng)的操作信息。action子類應(yīng)該覆蓋父類的execute()方法。(5) struts標(biāo)記庫(kù):jsp視圖組件所使用struts標(biāo)記庫(kù)由四類標(biāo)記組成,它們分別是: bean標(biāo)記:用來(lái)在jsp頁(yè)面中管理bean; 邏輯標(biāo)記:用來(lái)管理根據(jù)條件生成的輸出文本和其它用來(lái)控制顯示的信息; html標(biāo)記:用來(lái)生成動(dòng)態(tài)html用戶界面和窗體; 模板標(biāo)記:使用動(dòng)態(tài)模板構(gòu)造通用格式的頁(yè)面模板,實(shí)現(xiàn)頁(yè)面的繼承性和可重用性。struts標(biāo)記庫(kù)功能強(qiáng)大,內(nèi)容非常豐富,充分使用這些標(biāo)記,能最大限度地發(fā)揮struts的作用。(6)act
43、ionforward類所表示的是一個(gè)目標(biāo),也就是在action完成apache.struts.action.actionforward類。actionforward類所表示的是一個(gè)目標(biāo),也就是在action完成之后,控制器要專家控制權(quán)的地方。此時(shí)不是在程序代碼中指定實(shí)際的jsp頁(yè)面,而是以聲明的方式把某個(gè)動(dòng)作的轉(zhuǎn)發(fā)映射與jsp頁(yè)面相關(guān)聯(lián),然后在整個(gè)應(yīng)用程序中使用那個(gè)actionforward對(duì)象。2.3.2 選用struts框架的原因首先,它是建立在mvc這種公認(rèn)的好的模式上的,struts在模型,視圖和控制器上都有涉及,但它主要是提供一個(gè)好的控制器和一套定制的標(biāo)簽庫(kù)上,也就是說(shuō)它的著力點(diǎn)在控
44、制器和視圖上,因此,它天生就有mvc所帶來(lái)的一系列優(yōu)點(diǎn),如:結(jié)構(gòu)層次分明,高可重用性,增加了程序的健壯性和伸縮性,便于開(kāi)發(fā)與設(shè)計(jì)分工,提供集中統(tǒng)一的權(quán)限控制、校驗(yàn)、國(guó)際化、日志等。其次,它是個(gè)開(kāi)源項(xiàng)目得到了包括它的發(fā)明者craig r. mcclanahan在內(nèi)的一些程序大師和高手持續(xù)而細(xì)心的呵護(hù),并且經(jīng)受了實(shí)戰(zhàn)的檢驗(yàn),使其功能越來(lái)越強(qiáng)大,體系也日臻完善。最后,是它對(duì)其他技術(shù)和框架顯示出很好的融合性。現(xiàn)在,它己經(jīng)可以與tiles融為一體,可以展望,它很快就會(huì)與jsf等融合在一起8。當(dāng)然,和其他任何技術(shù)一樣,它也不是十全十美的,如:它對(duì)類和一些屬性、參數(shù)的命名顯得有些隨意,給使用帶來(lái)一些不便;還
45、有如action類execute方法的只能接收一個(gè)actionform參數(shù)等。但瑕不掩瑜,這些沒(méi)有影響它被廣泛使用。2.4 hibernate數(shù)據(jù)持久化技術(shù) hibernate是采用orm模式實(shí)現(xiàn)數(shù)據(jù)持久層的一個(gè)優(yōu)秀的java組件,它提供了強(qiáng)大、高效的將java對(duì)象進(jìn)行持久化操作的服務(wù)。利用hibernate,開(kāi)發(fā)人員可以方便地按照java對(duì)象的結(jié)構(gòu)進(jìn)行持久層的開(kāi)發(fā),并可以使用hibernate所提供的hql(hibernate query language,hibernate查詢語(yǔ)言)完成java對(duì)象和關(guān)系型數(shù)據(jù)庫(kù)之間的轉(zhuǎn)換和操作9。2.4.1 數(shù)據(jù)持久層的引入j2ee三層結(jié)構(gòu)在業(yè)界是指:表
46、示層、業(yè)務(wù)邏輯層、數(shù)據(jù)層。這樣的劃分當(dāng)然是經(jīng)典的,但是在實(shí)際項(xiàng)目中,往往會(huì)對(duì)三層體系結(jié)構(gòu)做一些擴(kuò)展來(lái)滿足項(xiàng)目的需要。一個(gè)最常用的擴(kuò)展就是將三層體系擴(kuò)展為五層體系,即表示層、控制中介層、業(yè)務(wù)邏輯層、數(shù)據(jù)持久層和數(shù)據(jù)源層。它其實(shí)是在三層架構(gòu)中增加了兩個(gè)中間層??刂浦薪閷游挥诒硎緦雍蜆I(yè)務(wù)邏輯層之間,數(shù)據(jù)持久層位于業(yè)務(wù)邏輯層和數(shù)據(jù)層之間。業(yè)務(wù)邏輯層和數(shù)據(jù)層之間增加一個(gè)數(shù)據(jù)持久層,實(shí)現(xiàn)對(duì)象和關(guān)系數(shù)據(jù)庫(kù)之間的映射。利用這個(gè)映射框架的機(jī)制,對(duì)象與關(guān)系數(shù)據(jù)庫(kù)之間的轉(zhuǎn)換就可以透明地進(jìn)行,而不用去關(guān)心數(shù)據(jù)庫(kù)連接、并發(fā)性、事務(wù)等問(wèn)題10。業(yè)務(wù)邏輯層直接獲取或存儲(chǔ)的就是清晰的對(duì)象,中間的轉(zhuǎn)換過(guò)程就交給mapping框
47、架來(lái)處理。2.4.2 關(guān)于對(duì)象/關(guān)系映射(orm)對(duì)象/關(guān)系映射(o/rm)映射是將java對(duì)象的狀態(tài)映射到數(shù)據(jù)庫(kù)上,以便提供透明的持久化操作11。o/r映射的目標(biāo)就是簡(jiǎn)便的持久化業(yè)務(wù)模型中的實(shí)體對(duì)象,使開(kāi)發(fā)人員得以避免編寫數(shù)據(jù)訪問(wèn)的代碼。orm的全稱是object-relational mapping,orm組件的主要功能是實(shí)現(xiàn)實(shí)體域?qū)ο蟮某志没⒎庋b數(shù)據(jù)訪問(wèn)的細(xì)節(jié)。在對(duì)象關(guān)系映射中涉及到的兩個(gè)關(guān)鍵點(diǎn)是:object(對(duì)象)和relation(關(guān)系)。它們分別代表了目前應(yīng)用系統(tǒng)中所要處理的絕大多數(shù)工作對(duì)對(duì)象的操作和對(duì)關(guān)系型數(shù)據(jù)庫(kù)的訪問(wèn)。orm并不是一個(gè)組件,它是具有某種功能的組件的總稱,也可
48、以說(shuō)是一種框架結(jié)構(gòu)。2.5 系統(tǒng)框架圖2.5是本系統(tǒng)的struts框架結(jié)構(gòu)圖。圖2.5 struts框架fig. 2.5 the structure of struts3 需求分析3.1 功能需求人力資源信息管理子系統(tǒng)主要有三個(gè)核心對(duì)象:管理員,普通用戶,個(gè)人信息。人力資源信息管理操作的流程包括用戶注冊(cè),注冊(cè)用戶登錄,普通用戶修改個(gè)人信息,管理員查詢、修改、刪除用戶個(gè)人信息等。系統(tǒng)能根據(jù)每位用戶的權(quán)限和職位提供不同的操作,如:普通用戶只能修改個(gè)人的信息,而沒(méi)有查詢、修改、刪除他人信息的權(quán)力。3.2 安全需求人力資源信息管理子系統(tǒng)需要達(dá)到的安全目標(biāo)主要包括以下幾方面:(1) 在業(yè)務(wù)功能和業(yè)務(wù)數(shù)據(jù)
49、兩方面有權(quán)限的規(guī)定,各業(yè)務(wù)環(huán)節(jié)能對(duì)該環(huán)節(jié)所需了解的業(yè)務(wù)信息充分的了解,對(duì)無(wú)需了解的信息不應(yīng)獲取。減少非法操作,保證實(shí)訓(xùn)基地管理的正規(guī)化。如給普通用戶和管理員分配不同的權(quán)限和操作界面。(2) 保證對(duì)系統(tǒng)的安全訪問(wèn)及對(duì)應(yīng)用的審計(jì)功能。(3) 設(shè)置系統(tǒng)安全保密機(jī)制,提供對(duì)用戶、軟件功能、數(shù)據(jù)文件的安全管理。(4) 系統(tǒng)提供數(shù)據(jù)的自動(dòng)轉(zhuǎn)儲(chǔ)和恢復(fù)機(jī)制。3.3 系統(tǒng)目標(biāo)(1) 可維護(hù)性:要求系統(tǒng)具有良好的擴(kuò)充、發(fā)展能力,提供今后擴(kuò)充系統(tǒng)功能、模塊的接口。(2) 易用性:系統(tǒng)采用圖形、圖像化的人機(jī)界面。用戶并不需要特別培訓(xùn),就能夠容易地掌握操作業(yè)務(wù)的方法和要點(diǎn),提供系統(tǒng)在線幫助。(3) 數(shù)據(jù)的精確性:保證數(shù)
50、據(jù)的正確性和精確性,避免因差錯(cuò)給用戶帶來(lái)的不便。系統(tǒng)對(duì)用戶的操作順序、輸入的數(shù)據(jù)進(jìn)行正確性檢查,并以顯著方式提示錯(cuò)誤信息。3.4 系統(tǒng)需求 一個(gè)完整的網(wǎng)絡(luò)管理系統(tǒng)面向的對(duì)象至少應(yīng)該有管理員和普通用戶,提供的服務(wù)是多種多樣的。本系統(tǒng)開(kāi)發(fā)了一個(gè)面向客戶的平臺(tái),提供的服務(wù)有注冊(cè)、登陸、用戶信息修改,還為管理員提供了查詢用戶信息的服務(wù),因此系統(tǒng)份為用戶和管理員兩個(gè)模塊。3.4.1 普通用戶模塊普通用戶模塊應(yīng)該有以下功能:(1)注冊(cè)用戶帳戶:用戶登陸是一個(gè)網(wǎng)絡(luò)應(yīng)用系統(tǒng)必須的功能之一。用戶想要使用系統(tǒng)提供的功能,就必須先擁有一個(gè)賬戶,因此要到系統(tǒng)中注冊(cè)一個(gè)賬戶。用戶在注冊(cè)時(shí)系統(tǒng)要求用戶輸入用戶注冊(cè)信息,包
51、括學(xué)號(hào)、用戶名、密碼、確認(rèn)密碼、權(quán)限、職位等必填項(xiàng)以及郵箱地址、專業(yè)等非必填項(xiàng)。如果用戶名已經(jīng)存在,系統(tǒng)將向用戶顯示相應(yīng)的錯(cuò)誤信息,并提示用戶使用其他的用戶名。注冊(cè)完以后,可以進(jìn)行登陸。(2)利用注冊(cè)的賬戶登陸到系統(tǒng):登陸頁(yè)面要求用戶輸入用戶名和口令。在輸入用戶名和口令之后,系統(tǒng)將驗(yàn)證用戶名和口令是否正確。如果驗(yàn)證成功,就使用戶處于登陸狀態(tài)。否則,系統(tǒng)將顯示用戶名或密碼錯(cuò)誤的信息。(3)修改用戶的個(gè)人信息:用戶登陸后可以隨時(shí)修改個(gè)人的注冊(cè)信息。3.4.2 管理員模塊管理員模塊除上述功能外,還應(yīng)該具有以下功能:(1)查詢個(gè)人信息:管理員可查詢系統(tǒng)內(nèi)存在的所有用戶的信息;(2)修改他人信息:管理員
52、可修改系統(tǒng)內(nèi)存在的所有用戶除登陸密碼以外的所有信息;(3)刪除個(gè)人信息:管理員可以通過(guò)系統(tǒng)把用戶從系統(tǒng)中刪除。在本系統(tǒng)中,沒(méi)有考慮比較完備安全的策略,只進(jìn)行了一些基本的安全驗(yàn)證。3.5 通過(guò)用例建模進(jìn)行需求分析和頁(yè)面設(shè)計(jì)3.5.1 人力資源信息管理用例定義系統(tǒng)分為用戶注冊(cè)用例,用戶登陸用例,用戶修改個(gè)人信息用例,管理員查詢用戶信息用例,管理員查看用戶詳細(xì)信息用例,管理員修改用戶信息用例,管理員刪除用戶信息用例,用例圖如圖3.1所示。圖3.1 人力資源信息管理子系統(tǒng)用例圖fig. 3.1 the use case diagram of human resource information sub
53、system(1) 用例1:用戶注冊(cè)用例用例描述:用戶進(jìn)入實(shí)訓(xùn)基地內(nèi)部系統(tǒng)時(shí),會(huì)出現(xiàn)如圖3.2所示的頁(yè)面,未注冊(cè)用戶可以單擊頁(yè)面的中“用戶注冊(cè)”進(jìn)行注冊(cè)。 圖3.2 用戶登錄用例圖fig.3.2 user login page用戶點(diǎn)擊“用戶注冊(cè)”后,直接跳轉(zhuǎn)到如圖3.3,在該頁(yè)面上需要填寫學(xué)號(hào)、姓名、密碼、重新輸入密碼、權(quán)限、職位等,然后單擊提交按鈕提交即可。 圖3.3 用戶注冊(cè)用例圖 fig.3.3 the user login page如果提交成功就會(huì)跳轉(zhuǎn)到圖3.4所示的頁(yè)面,系統(tǒng)自動(dòng)提示您的注冊(cè)已成功,點(diǎn)擊“返回登錄頁(yè)面”則系統(tǒng)自動(dòng)跳轉(zhuǎn)至3.2所示頁(yè)面。圖3.4 用戶注冊(cè)成功用例圖fig
54、.3.4 user successfully register page如果您未在注冊(cè)信息中輸入必填項(xiàng)或者您的輸入格式有錯(cuò)誤,系統(tǒng)會(huì)提示錯(cuò)誤,并要求您重新輸入,如圖3.5。圖3.5 用戶注冊(cè)失敗用例圖fig.3.5 user failed register page(2) 用例2:用戶登陸用例用例描述:用戶注冊(cè)賬戶以后,就可以進(jìn)行登陸,登陸頁(yè)面如圖3.2所示。在圖3.2所示的頁(yè)面中可以輸入用戶名和密碼,然后單擊提交按鈕進(jìn)行登陸。登陸后進(jìn)入圖3.6所示的頁(yè)面。圖3.6 登陸成功后的主頁(yè) fig.3.6 homepage如果用戶輸入的用戶名有誤,或者沒(méi)有輸入任何信息,或者輸入的密碼錯(cuò)誤,點(diǎn)擊“提交
55、”,則系統(tǒng)會(huì)自動(dòng)報(bào)錯(cuò),如圖3.7所示。圖3.7 用戶登陸失敗提示信息頁(yè)面fig.3.7 user failed login information page(3) 用例3:用戶修改個(gè)人信息用例用例描述:用戶成功登陸到系統(tǒng)后,可修改自己的除學(xué)號(hào)、姓名外的注冊(cè)信息。在如圖3.8所示的頁(yè)面上進(jìn)行修改。圖3.8 用戶修改個(gè)人信息頁(yè)面fig.3.8 user modify personal information page 用戶修改的信息如果必填項(xiàng)都填寫而且沒(méi)有格式錯(cuò)誤,點(diǎn)擊“提交”,系統(tǒng)自動(dòng)保存修改的信息,并將其存儲(chǔ)到數(shù)據(jù)庫(kù),系統(tǒng)跳轉(zhuǎn)到3.9所示的頁(yè)面。圖3.9 用戶修改信息成功頁(yè)面fig.3.9 u
56、ser successfully modify page如果用戶修改的信息必填項(xiàng)沒(méi)有填寫或者輸入的格式錯(cuò)誤,系統(tǒng)會(huì)提示出錯(cuò)信息,要求用戶重新輸入后再提交,如圖3.10所示。圖3.10 用戶修改信息出錯(cuò)提示頁(yè)面fig.3.10 user failed modify information page(4) 用例4:管理員查詢用戶信息用例用例描述:如圖3.11所示,管理員可以實(shí)施查詢功能,系統(tǒng)能實(shí)現(xiàn)組合查詢和分頁(yè)顯示的功能。圖3.11 管理員查詢信息頁(yè)面 fig.3.11 manager inquiry information page若系統(tǒng)存在管理員輸入的查詢項(xiàng)信息則列出結(jié)果,管理員可在結(jié)果上繼續(xù)進(jìn)行操作,如詳細(xì)信息,修改和刪除。如圖3.12所示。圖3.12 查詢結(jié)果頁(yè)面fig. 3.12 the result of inquiry page若系統(tǒng)中不存在管理員輸入的信息存檔,系統(tǒng)會(huì)自動(dòng)提示“沒(méi)有您查詢的記錄”的提示信息,如圖3.13。圖3.13 無(wú)查詢信息的記錄結(jié)果頁(yè)面fig.3.13 no record for inquiry page(5) 用例5:管理員查看用戶詳細(xì)信息用例
溫馨提示
- 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 會(huì)場(chǎng)設(shè)備租賃合同范本
- 醫(yī)美針劑合同范本
- 創(chuàng)業(yè)課題申報(bào)書怎么寫好
- 廠房帶看合同范例
- 午休托管班合同范本
- 廠房排氣安裝合同范本
- 代加工燈具合同范本
- 包辦入學(xué)合同范本
- 單位委托印刷合同范本
- 推動(dòng)農(nóng)村充電基礎(chǔ)設(shè)施發(fā)展計(jì)劃
- 2025年復(fù)工復(fù)產(chǎn)培訓(xùn)考核試卷及答案
- 2025年01月中國(guó)疾控中心信息中心公開(kāi)招聘1人筆試歷年典型考題(歷年真題考點(diǎn))解題思路附帶答案詳解
- 北京市豐臺(tái)區(qū)2024-2025學(xué)年高二上學(xué)期期末英語(yǔ)試題
- 2025年高三第二學(xué)期物理備課組教學(xué)工作計(jì)劃
- 丁香園:2024年12月全球新藥月度報(bào)告-數(shù)據(jù)篇
- 生產(chǎn)與運(yùn)作管理-第5版 課件全套 陳志祥 第1-14章 生產(chǎn)系統(tǒng)與生產(chǎn)運(yùn)作管理概述 -豐田生產(chǎn)方式與精益生產(chǎn)
- 2025年湖南理工職業(yè)技術(shù)學(xué)院高職單招職業(yè)技能測(cè)試近5年??及鎱⒖碱}庫(kù)含答案解析
- 2024年西安航空職業(yè)技術(shù)學(xué)院高職單招職業(yè)適應(yīng)性測(cè)試歷年參考題庫(kù)含答案解析
- 臨平區(qū)九年級(jí)上學(xué)期期末考試語(yǔ)文試題(PDF版含答案)
- 2024年港作拖輪項(xiàng)目可行性研究報(bào)告
- 課題申報(bào)書:“四新”建設(shè)與創(chuàng)新創(chuàng)業(yè)人才培養(yǎng)基本范式研究
評(píng)論
0/150
提交評(píng)論