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