【文章內(nèi)容簡(jiǎn)介】
。類的封裝性、繼承性等有關(guān)對(duì)象的特性,使程序代碼只需一次編譯、反復(fù)利用。程序員只需把精力用在類和接口的設(shè)計(jì)和應(yīng)用上。 (4) 分布式 Java 建立在擴(kuò)展 TCP/IP 網(wǎng)絡(luò)平臺(tái)上。庫(kù)函數(shù)提供了用 HTTP 和 FTP 協(xié)議傳送和接受信息的方法。 使得程序員使用網(wǎng)絡(luò)上的文件和使用本機(jī)文件一樣容易。 (5) 健壯性 Java 致力于檢查程序在編譯和運(yùn)行時(shí)的錯(cuò)誤。類型檢查幫助檢查出許多開(kāi)發(fā)早期出現(xiàn)的錯(cuò)誤。 Java 自己操縱內(nèi)存減少了內(nèi)存出錯(cuò)的可能性。 Java 與 Inter Inter 現(xiàn)今一個(gè)重要的功能是用于當(dāng)今的電子貨幣、電子商務(wù) , 而傳統(tǒng)的編程語(yǔ)言難以勝任電子商務(wù)系統(tǒng),它要求程序代碼既要安全可靠,還要能與運(yùn)行于不同平臺(tái)機(jī)器的全世界客戶開(kāi)展業(yè)務(wù)。 Java 憑借它在語(yǔ)言上無(wú)法比擬的優(yōu)勢(shì)成為網(wǎng)絡(luò)編程語(yǔ)言,并以其強(qiáng)安全性 、 平臺(tái)無(wú)關(guān)性 、 硬件結(jié)構(gòu)無(wú)關(guān)性、語(yǔ)言簡(jiǎn)潔同時(shí)集面向?qū)ο蟮忍谾GSJJLKSJGKLJG JLS JGKJ KJ SKJ KJSKLGJKSJLKSJKL KSGK JKLGJSLSK JSGKL JLSGJSLJ GJGKL JLSJ KL JGKL JGKL JKL 性,應(yīng)用于電子商務(wù)。 Web 華麗的頁(yè)面,不 可思議的超鏈接、人機(jī)交互功能,生動(dòng)的動(dòng)畫(huà)效果都深深吸引著訪問(wèn)者。 Web 頁(yè)由瀏覽器裝載,由 Java 編寫(xiě)的程序代碼可以嵌入在 Web 頁(yè)在瀏覽器上運(yùn)行,可以輕松地實(shí)現(xiàn)動(dòng)畫(huà)、人機(jī)對(duì)話和事務(wù)處理等功能。 Java與 Web 聯(lián)系十分緊密, Java在 Web上充分顯示出它的強(qiáng)大功能。網(wǎng)絡(luò)服務(wù)離不開(kāi)網(wǎng)絡(luò)服務(wù)器。 J2EE 體系結(jié)構(gòu)介紹 J2EE是一種利用 Java 2平臺(tái)來(lái)簡(jiǎn)化企業(yè)解決方案的開(kāi)發(fā)、部署和管理相關(guān)的復(fù)雜問(wèn)題的體系結(jié)構(gòu)。 J2EE 技術(shù)的基礎(chǔ)就是核心 Java 平臺(tái)或 Java 2 平臺(tái)的標(biāo)準(zhǔn)版, J2EE不僅鞏固了標(biāo)準(zhǔn)版中的 許多優(yōu)點(diǎn),如編寫(xiě)一次、隨處運(yùn)行的特性、方便存儲(chǔ)數(shù)據(jù)庫(kù)的JDBC API以及能夠在 inter 應(yīng)用中 保護(hù)數(shù)據(jù)的安全模式等等 , 同時(shí)還提供了對(duì) EJB( Enterprise JavaBeans)、 Java Servlets API、 JSP(Java Server Pages)以及 XML技術(shù)的全面支持。其最終目的就是成為一個(gè)能夠使企業(yè)開(kāi)發(fā)者大幅縮短投放市場(chǎng)時(shí)間的體系結(jié)構(gòu)。 J2EE 體系結(jié)構(gòu)提供中間層集成框架用來(lái)滿足無(wú)需太多費(fèi)用而又需要高可用性、高可靠性以及可擴(kuò)展性的應(yīng)用的需求。 通過(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ī)制,提高了性能。 在 J2EE 開(kāi)發(fā)模型中,整個(gè)系統(tǒng)可分為以下三個(gè)主要部分: (1) 視圖 ( view) 視圖是用戶界面部分,在 web應(yīng)用程序中也就是 HTML、 XML、 JSP 頁(yè)面。這個(gè)部分主要處理用戶看到的東西即用于顯示,動(dòng)態(tài) JSP 部分處理了用戶可看見(jiàn)的動(dòng)態(tài)網(wǎng)頁(yè),而靜態(tài)的網(wǎng)頁(yè)由 HTML和 XML 輸出。 (2) 控制器 (Control) 控制器 負(fù)責(zé)網(wǎng)站的整個(gè)邏輯。它用于管理用戶與視圖發(fā)生的交互??梢詫⒖刂破飨胂癯商幵谝晥D和數(shù)據(jù)之間,對(duì)視圖如何與模型交互進(jìn)行管理。通過(guò)使視圖完全獨(dú)立于控制器和模型,就可以輕松替換前端客戶程序,即網(wǎng)頁(yè)制作人員將可以獨(dú)立自由地改變 Web 頁(yè)面而不用擔(dān)心影響這個(gè)基于 Web的應(yīng)用程序功能。 在 J2EE 模型中,控制器的功能一般是由 Servlet、 JavaBeans、 EJB 中的 SessionBean 來(lái)充當(dāng)?shù)摹? (3) 模型 ( Module) FGSJJLKSJGKLJG JLS JGKJ KJ SKJ KJSKLGJKSJLKSJKL KSGK JKLGJSLSK JSGKL JLSGJSLJ GJGKL JLSJ KL JGKL JGKL JKL 模型就是應(yīng)用業(yè)務(wù)邏輯部分,這個(gè)部分主要角色 EJB( EnterpriseJavaBeans) ,借助 于 EJB 強(qiáng)大的組件技術(shù)和企業(yè)級(jí)的管理控制,開(kāi)發(fā)人員可以輕松的創(chuàng)建出可重用的業(yè)務(wù)邏輯模塊。 Hibernate 與 STRUTS簡(jiǎn)介 關(guān)于 Hibernate Hibernate 是 一種新的 ORM(對(duì)象關(guān)系映射)工具,它同時(shí)提供了從 Java 類到數(shù)據(jù)表的映射和數(shù)據(jù)查詢、恢復(fù)等機(jī)制,實(shí)現(xiàn)數(shù)據(jù)層 對(duì)象的持久化。相對(duì)于使用 JDBC 和SQL 來(lái)手工操作數(shù)據(jù)庫(kù),使用 Hibernate 可以大大減 少操作數(shù)據(jù)庫(kù)的工作量。并且Hibernate 可以和 Web服務(wù)器以及應(yīng)用服務(wù)器良好的集成。 Hibernate使用數(shù)據(jù)庫(kù)和配 置文件數(shù)據(jù)來(lái)為應(yīng)用程序提供持久化服務(wù),其體系結(jié)構(gòu)如圖 21 所示 : 圖 21 Hibernate 體系結(jié)構(gòu) Hibernate 是開(kāi)放源代碼的對(duì)象關(guān)系映射框架,是 JDBC 的輕量級(jí)對(duì)象封裝。Hibernate是按照 LGPL 許可證發(fā)布的開(kāi)放式源代碼應(yīng)用程序,它是“用于 Java 的超高性能的對(duì)象 /關(guān)系持久化和查詢服務(wù)” [1]。 應(yīng)用 Hibernate,可以使 Java 程序員方便的用對(duì)象編程的思想,使持久性對(duì)象映射到關(guān)系數(shù)據(jù)庫(kù),而不必花費(fèi)大量的開(kāi)發(fā)時(shí)間去更新和維護(hù)復(fù)雜的數(shù)據(jù)持久層,降低J2EE架構(gòu)應(yīng)用軟件開(kāi)發(fā)的難度和復(fù)雜 度,提高 Java 應(yīng)用軟件的開(kāi)發(fā)效率,進(jìn)而使 Java的企業(yè)級(jí)應(yīng)用開(kāi)發(fā)更加容易、靈活和強(qiáng)大。 STRUTS技術(shù)簡(jiǎn)介 STRUTS是 Apache組織的一個(gè)開(kāi)放源碼的項(xiàng)目,它是一個(gè)可重用的 MVC設(shè)計(jì)。 STRUTS應(yīng)用有 3 個(gè)主要部件: Servlet 及負(fù)責(zé)具體業(yè)務(wù)處理的 Action 類( Controller), JSP頁(yè)面( view)和 STRUTS 應(yīng)用的業(yè)務(wù)邏輯封裝( Model)。 STRUTS 實(shí)質(zhì)上就是在 JSP 基礎(chǔ)上實(shí)現(xiàn)的一個(gè) MVC 框架,如圖 22所示 : FGSJJLKSJGKLJG JLS JGKJ KJ SKJ KJSKLGJKSJLKSJKL KSGK JKLGJSLSK JSGKL JLSGJSLJ GJGKL JLSJ KL JGKL JGKL JKL 圖 22 STRUTS 體系結(jié)構(gòu)圖 其中 ActionServlet 處理客戶請(qǐng)求,利用配置的 ActionMapping 對(duì)象,把請(qǐng)求映射到 Action 處理對(duì)象進(jìn)行處理。 Action 處理對(duì)象訪問(wèn) ActionForm 中的數(shù)據(jù),處理和響應(yīng)客戶請(qǐng)求,它還調(diào)用后臺(tái)的 Bean 組件,這些組件封裝了具體的業(yè)務(wù)邏輯。 Action處理器對(duì)象根據(jù)處理結(jié)果通知 ActionServlet, ActionServlet進(jìn)行下一步的處理。在STRUTS 中, ActionServlet 擔(dān)任了重要的角色,由它控制所有的程序流轉(zhuǎn),使 MVC 三個(gè)相對(duì)獨(dú)立的部分協(xié)調(diào)工作,因此增強(qiáng)了開(kāi)發(fā)人員對(duì)系統(tǒng)的整體把握, 提高了系統(tǒng)的可維護(hù)性和可擴(kuò)充性 [3]。 Hibernate 和 STRUTS 綜合應(yīng)用的系統(tǒng)架構(gòu) STRUTS 和 Hibernate都有自己的不足,但將兩者結(jié)合起來(lái),通過(guò) 使用 STRUTS技術(shù)來(lái)降低 MVC 層之間的耦合性,而利用 Hibernate 架構(gòu)來(lái)降低業(yè)務(wù)模型部分的開(kāi)發(fā)難度。 結(jié)合之后的好處是采用 STRUTS 和 Hibernate結(jié)合的應(yīng)用框架開(kāi)發(fā)出來(lái)的信息系統(tǒng)無(wú)論在整體的結(jié)構(gòu)上還是在局部的復(fù)雜業(yè)務(wù)模型中都得到了更低的耦合性,它們的靈活性與可維護(hù)性也得到了提高,從而消除了單獨(dú)使用這些架構(gòu)開(kāi)發(fā)系統(tǒng)的不足。 在結(jié)合 MVC 的系統(tǒng)架構(gòu)設(shè)計(jì)模式和基于 Hibernate 的數(shù)據(jù)層持久化框架應(yīng)用中,系統(tǒng)的應(yīng)用架構(gòu)如 圖 23 所示 : FGSJJLKSJGKLJG JLS JGKJ KJ SKJ KJSKLGJKSJLKSJKL KSGK JKLGJSLSK JSGKL JLSGJSLJ GJGKL JLSJ KL JGKL JGKL JKL C l i e n tV i e w C o n t r o l l e rH t t p R e q u e s tV i e w S e l e c t i o nM o d e lH t t p R e s p o n s eS t a t e c h a n g eS t a t e c h a n g eD a t a b a s eS e s s i o n F a c t o r yS e s s i o nT r a n s a c t i o nJ N D I J D B C J T AP e r s i s t e n t O b j e c t s 圖 23 STRUTS+Hibernate 體系結(jié)構(gòu)圖 其中 ActionForm Bean 是 view 模塊的數(shù)據(jù)表示,其數(shù)據(jù)來(lái)源于 view 模塊中 JSP頁(yè)面的數(shù)據(jù)提交。持久層數(shù)據(jù)來(lái)源于數(shù)據(jù)庫(kù),其數(shù)據(jù)表示和數(shù)據(jù)庫(kù)里的表相對(duì)應(yīng)。且持久化數(shù)據(jù)可以由 Hibernate動(dòng)態(tài)生成。 ActionForm Bean中的數(shù)據(jù)流動(dòng)到 Controller為止, Hibernate持久化對(duì)象生成的數(shù)據(jù)滿足了業(yè)務(wù)邏輯層的應(yīng)用 。 Ajax 技術(shù)簡(jiǎn)介 Ajax全稱 “Asynchronous JavaScript and XML”( 異步 JavaScript和 XML),是指一種創(chuàng)建交互式網(wǎng)頁(yè)應(yīng)用的網(wǎng)頁(yè)開(kāi)發(fā)技術(shù)。它有機(jī)的包含了以下幾種技術(shù):基于 web標(biāo)準(zhǔn) XHTML+CSS的表示;使用 DOM進(jìn)行動(dòng)態(tài)顯示及交互;使用 XML和 XSLT 進(jìn)行數(shù)據(jù)交換及相關(guān)操作;使用 XMLHttpRequest 進(jìn)行異步數(shù)據(jù)查詢、檢索;使用 JavaScript 將所有的東西綁定在一起。 Ajax,使用它可以構(gòu)建更為動(dòng)態(tài)和響應(yīng)更靈敏的 Web 應(yīng)用程序,使瀏覽器可以為用戶提供更為自然的瀏覽體驗(yàn)。 Ajax 提供與服務(wù)器異步通信的能力,從而使用戶從請(qǐng)求 /響應(yīng)的循環(huán)中解脫出來(lái)。借助 Ajax,可以在用戶單擊按鈕時(shí),使用 JavaScript 和DHTML 立即更新 UI,并向服務(wù)器發(fā)出異步請(qǐng)求,以執(zhí)行更新或查詢數(shù)據(jù)庫(kù)。當(dāng)請(qǐng)求返回時(shí),就可以使用 JavaScript和 CSS 來(lái)相應(yīng)地更新 UI,而不是刷新整個(gè)頁(yè)面,使用戶看起來(lái)是 即時(shí)響應(yīng)的。 Ajax 的核心是 JavaScript 對(duì)象 XmlHttpRequest。該對(duì)象是一種支持異步請(qǐng)求的技術(shù)。簡(jiǎn)而言之, XmlHttpRequest使用戶 可以使用 JavaScript向服務(wù)器提出請(qǐng)求并處理響應(yīng),而不是阻塞用戶。在創(chuàng)建 Web 站點(diǎn)時(shí),在客戶端執(zhí)行屏幕更新為用戶提供了很大的靈活性。 FGSJJLKSJGKLJG JLS JGKJ KJ SKJ KJSKLGJKSJLKSJKL KSGK JKLGJSLSK JSGKL JLSGJSLJ GJGKL JLSJ KL JGKL JGKL JKL 第三章 系統(tǒng)需求分析 本章就該系統(tǒng)業(yè)務(wù)和功能需求做了分析,然后根據(jù)所做的功能分析給出了該系統(tǒng)的包圖、系統(tǒng)所涉及的角色及用例圖。 業(yè)務(wù)需求分析 業(yè)務(wù)需求 (Business Requirement)反映了組織結(jié)構(gòu)或用戶對(duì)系統(tǒng)高層次的目標(biāo)要求。對(duì)人力資源管理業(yè)務(wù),包含的內(nèi)容較為廣泛,作 為人力資源管理信息系統(tǒng),為了保證其通用性和實(shí)用性,在需求分析階段首先全面剖析人力資源管理業(yè)務(wù)過(guò)程,從業(yè)務(wù)操作的角度分析每個(gè)過(guò)程的輸入、輸出和處理細(xì)節(jié)。其次,面向業(yè)務(wù)處理過(guò)程,提取規(guī)范的業(yè)務(wù)流程建議:面向業(yè)務(wù)處理方法,結(jié)合實(shí)際情況,提取業(yè)務(wù)處理過(guò)程的每個(gè)參數(shù)等。最后,將所有問(wèn)題整理出來(lái),再進(jìn)行調(diào)研,并向有關(guān)部門(mén)進(jìn)行咨詢,然后再經(jīng)過(guò)加工整理,形成人力資源管理業(yè)務(wù)需求報(bào)告。 人力資源管理信息系統(tǒng)根據(jù)不同用戶類型設(shè)置不同的權(quán)限,主要完成員工檔案管理、招聘管理、培訓(xùn)管 理、獎(jiǎng)懲管理、薪資管理、文件服務(wù)、系統(tǒng)管理、員工自 管理等功能。因此需要先根據(jù)大的方面的業(yè)務(wù)將人力資源系統(tǒng)分為幾個(gè)子系統(tǒng),然后再對(duì)每個(gè)子系統(tǒng)的業(yè)務(wù)進(jìn)行分析。 功能需求分析 總體功能分析 功能需求定義了開(kāi)發(fā)人員必須實(shí)現(xiàn)的軟件功能,使得用戶能完成他們的任務(wù),從而滿足業(yè)務(wù)需求。參照業(yè)務(wù)需求分析的結(jié)果對(duì)每個(gè)業(yè)務(wù)進(jìn)行細(xì)化,從而得到系統(tǒng)的功能模塊。 根據(jù)一般公司的人力資源管理業(yè)務(wù)需求,系統(tǒng)應(yīng)該具有以下功能: (1) 登錄功能:為了防止非法用戶的訪問(wèn)及信息保密性要求,登錄模塊 應(yīng) 根據(jù)用戶類型對(duì)其操作權(quán)限進(jìn)行了限制。 (2) 員工檔案管理: 應(yīng) 實(shí)現(xiàn)員工檔案的增加 、刪除、修改 等操作 。 (3) 招聘管理:管理員可以發(fā)布、刪除招聘信息。 (4) 培訓(xùn)管理:根據(jù)具體的情況設(shè)置人員培訓(xùn),可修改、刪除、添加培訓(xùn)信息,為員工的升遷提供科學(xué)的依據(jù)。 (5) 獎(jiǎng)懲管理:實(shí)現(xiàn)對(duì)獎(jiǎng)懲信息的增加、刪除等操作,為薪資、升遷等提供依據(jù)。 (6) 薪資管理:實(shí)現(xiàn)對(duì)員工工資的錄入、查詢等。 FGSJJLKSJGKLJG JLS JGKJ KJ SKJ KJSKLGJKSJLKSJKL KSGK JKLGJSLSK JSGKL JLSGJSLJ GJGKL JLSJ KL JGKL JGKL JKL (7) 員工自 管理:該模塊強(qiáng)調(diào)員工自助服務(wù),如對(duì)個(gè)人檔案、薪資等信息的查詢。 (8) 系統(tǒng)管理模塊:對(duì)該系統(tǒng) 用戶 進(jìn)行管理(增加、刪除等)。 系統(tǒng)用