【正文】
..........................20 新聞管理 ............................................................................................................................................20 欄目管理 ............................................................................................................................................21 小結(jié) ...........................................................................................................................................................21第 5 章 系統(tǒng)運(yùn)行測試 ........................................................21 系統(tǒng)測試環(huán)境 ...........................................................................................................................................21 系統(tǒng)測試硬件環(huán)境 ............................................................................................................................21 系統(tǒng)測試軟件環(huán)境 ............................................................................................................................21 系統(tǒng)測試 ...................................................................................................................................................22總 結(jié) ...................................................................23參考文獻(xiàn) ...................................................................24致 謝 .................................................................25附 錄 .................................................................263 / 41第 1 章 前 言伴隨著網(wǎng)絡(luò)的出現(xiàn),網(wǎng)頁逐漸融入人們的生活??焖偌皶r(shí)的新聞瀏覽,五彩繽紛的網(wǎng)上信息,使網(wǎng)絡(luò)與人們的生活息息相關(guān),于是世界上出現(xiàn)了第三媒體——Inter。它打破了地域限制,真正使信息得以共享,改變了人們的工作和生活方式。人們對信息的需求有了更新,更高的要求,而網(wǎng)頁由于本身所具有的信息量大,傳遞快速,沒有時(shí)空限制等特點(diǎn)恰好滿足這種要求。也正是由于網(wǎng)絡(luò)實(shí)現(xiàn)網(wǎng)站的數(shù)據(jù)信息能夠進(jìn)行實(shí)時(shí)交互,保證網(wǎng)站數(shù)據(jù)的實(shí)時(shí)性。隨著 Inter 信息技術(shù)的高速發(fā)展,越來越多的企業(yè)想將自己企業(yè)的信息通過網(wǎng)絡(luò)與全世界分享并最終實(shí)現(xiàn)電子商務(wù),所以它們已經(jīng)建立或計(jì)劃建立自己的網(wǎng)站。但是,如果為了建立和維護(hù)自己的網(wǎng)站而聘請專職的網(wǎng)絡(luò)技術(shù)人員,其成本對于一個(gè)中小型企業(yè)來說實(shí)在是太高了。對于上面這類企業(yè)來說,他們最需要的就是一個(gè)現(xiàn)成的可以自動發(fā)布信息的新聞發(fā)布系統(tǒng),這樣只要會打字,會上網(wǎng)就能利用新聞發(fā)布系統(tǒng)快速簡潔地發(fā)布企業(yè)信息。然而傳統(tǒng)的信息發(fā)布方式已經(jīng)不適應(yīng)這個(gè)快速變化的信息時(shí)代,需要一個(gè)更高效,更簡潔的方式進(jìn)行信息發(fā)布。內(nèi)容管理系統(tǒng)正是基于這樣一個(gè)目的而誕生的,它是企業(yè)信息化建設(shè)和電子政務(wù)的新寵。它的基本思想是分離信息內(nèi)容和表現(xiàn)形式,內(nèi)容存儲在數(shù)據(jù)庫或獨(dú)立的文件中,而表現(xiàn)形式存儲在模版里。當(dāng)用戶請求頁面時(shí),各部分聯(lián)合生成一個(gè)標(biāo)準(zhǔn)的 HTML 頁面;當(dāng)信息修改時(shí),用戶只需在一個(gè)可視化的界面對信息內(nèi)容進(jìn)行修改。大大縮短了信息的更新時(shí)間,提高了效率,并且簡化了操作。本設(shè)計(jì)便是基于內(nèi)容管理思想的一個(gè)新聞發(fā)布系統(tǒng),以下各章從系統(tǒng)概述、需求分析、系統(tǒng)設(shè)計(jì)、系統(tǒng)實(shí)現(xiàn)、系統(tǒng)運(yùn)行測試和系統(tǒng)評價(jià)與改進(jìn)依次展現(xiàn)系統(tǒng)開發(fā)過程。第 2 章 系 統(tǒng) 概 述本章主要介紹在系統(tǒng)開發(fā)過程中所采用系統(tǒng)設(shè)計(jì)模式。 設(shè)計(jì)模式隨著 Web 技術(shù)的發(fā)展,Web 內(nèi)容從一些靜態(tài)頁面發(fā)展到內(nèi)容豐富的動態(tài)頁面。目前,用于生成動態(tài)網(wǎng)頁較為流行的技術(shù)有 Microsoft 的 ASP、Tex 的 PHP 和 Sun 的 JSP。ASP 只能工作在微軟的IIS(Inter Information Server)和 PWS(Personal Web Server)上及 PHP 模式,一些天生缺陷使得它們的使用受到了一定的制約。而 JSP 是一種完全與平臺無關(guān)的開發(fā)新技術(shù),它集極高的運(yùn)行效率,較短的開發(fā)周期,超強(qiáng)的擴(kuò)展能力,完全開放的技術(shù)標(biāo)準(zhǔn),自由的開發(fā)方式等眾多完美特性于一4 / 41身。JSP+JavaBean+Servlet+JDBC 是一套能夠?qū)崿F(xiàn)動態(tài)網(wǎng)站的開發(fā)和維護(hù)的技術(shù)。JDBC 用于連接數(shù)據(jù)庫并對數(shù)據(jù)庫進(jìn)行存儲,Servlet 用于處理過程控制,JavaBean 用于封裝業(yè)務(wù)邏輯,JSP 用于頁面顯示部分。而 MVC 正是這種設(shè)計(jì)模式代表。 MVC 模式基本原理MVC (ModelViewController),即把一個(gè)應(yīng)用的輸入、處理、輸出流程按照 Model, View, Controller 的方式進(jìn)行分離,這樣一個(gè)應(yīng)用被分成三個(gè)層——模型層、視圖層、控制層,其三層之間的關(guān)系和功能如圖 21“MVC 組件類型關(guān)系和功能圖” 。視 圖 層 ( V i e w )解釋模型模型更新請求發(fā)送用戶輸入給控制器允許控制器選擇視圖控 制 器 層 ( C o n t r o l l e r )定義應(yīng)用程序行為用戶動作映射成模型更新選擇相應(yīng)的視圖模 型 層 ( M o d e l )封裝應(yīng)用程序狀態(tài)響應(yīng)狀態(tài)查詢應(yīng)用程序功能通知視圖改變狀態(tài)查詢通知改變狀態(tài)改變視圖選擇用戶請求方法調(diào)用 事件圖 21 MVC 組件類型關(guān)系和功能圖MVC 設(shè)計(jì)模式的典型流程[4]為:首先 Controller 接收用戶的請求,并決定應(yīng)該調(diào)用哪個(gè) Model來進(jìn)行處理,然后 Model 用業(yè)務(wù)邏輯來處理用戶的請求并返回?cái)?shù)據(jù),最后 Controller 用相應(yīng)的 View格式化 Model 返回的數(shù)據(jù),并通過表示層呈現(xiàn)給用戶??刂茖?Controller)可以理解為從用戶接收請求,將模型與視圖匹配在一起,共同完成用戶的請求。劃分控制層的作用也很明顯,它清楚地告訴我們,它就是一個(gè)分發(fā)器,選擇什么樣的模型,選擇什么樣的視圖,可以完成什么樣的用戶請求。控制層并不做任何的數(shù)據(jù)處理。例如,用戶點(diǎn)擊一個(gè)鏈接,控制層接受請求后,并不處理業(yè)務(wù)信息,它只把用戶的信息傳遞給模型,告訴模型做什么,選擇符合要求的視圖返回給用戶。因此,一個(gè)模型可能對應(yīng)多個(gè)視圖,一個(gè)視圖可能對應(yīng)多個(gè)模型。模型層(Model)就是業(yè)務(wù)流程/狀態(tài)的處理以及業(yè)務(wù)規(guī)則的制定。業(yè)務(wù)流程的處理過程對其它層來說是黑箱操作,模型接受視圖請求的數(shù)據(jù),并返回最終的處理結(jié)果。業(yè)務(wù)模型的設(shè)計(jì)可以說是 MVC 最主要的核心,必須能夠滿足大多數(shù)客戶的需求,包括保證應(yīng)用程序各組件的事務(wù)整合、維護(hù)并快速獲5 / 41取應(yīng)用數(shù)據(jù),支持事務(wù)工作流的協(xié)調(diào)以及在已有應(yīng)用程序中集成新的應(yīng)用組件等。MVC 并沒有提供模型的設(shè)計(jì)方法,而只告訴我們應(yīng)該組織管理這些模型,以便于模型的重構(gòu)和提高重用性。視圖層(View)代表用戶交互界面,對于 Web 應(yīng)用來說,可以概括為 HTML 界面,但有可能為XHTML,XML 和 Applet。隨著應(yīng)用的復(fù)雜性和規(guī)模性,界面的處理也變得具有挑戰(zhàn)性。一個(gè)應(yīng)用可能有很多不同的視圖,MVC 設(shè)計(jì)模式對于視圖的處理僅限于視圖上數(shù)據(jù)的采集和處理,以及用戶的請求,而不包括在視圖上的業(yè)務(wù)流程的處理。業(yè)務(wù)流程的處理交予模型(Model)處理。 MVC Model1在 MVC 模式的 Model1 體系中,JSP 頁面獨(dú)立響應(yīng)請求并將出理結(jié)果返回客戶,所有的數(shù)據(jù)存取都是由 JavaBean 來完成。Model1 體系十分適合簡單應(yīng)用需要,卻不能滿足復(fù)雜的大型應(yīng)用程序的實(shí)現(xiàn)。MVC Model1 的體系結(jié)構(gòu)如圖 22 所示。瀏覽器J S PJ a v a B e a n關(guān)系數(shù)據(jù)庫 JDBC 請求響應(yīng)圖 22 MVC Model1 體系結(jié)構(gòu)圖 MVC Model2MVC 模式的 Model2 體系結(jié)構(gòu)是一種把 JSP 與 Servlet 聯(lián)合起來實(shí)現(xiàn)動態(tài)內(nèi)容服務(wù)的方法。它吸取了兩種技術(shù)的優(yōu)點(diǎn),用 JSP 生成表達(dá)層的內(nèi)容,讓 Servlet 完成深層次的處理任務(wù)。這是一種有代表性的方法,它清晰地分離了表達(dá)和內(nèi)容,明確了角色的定義及開發(fā)者與網(wǎng)頁設(shè)計(jì)者的分工。本系統(tǒng)的設(shè)計(jì)模式選擇的便是 Model2。MVC Model2 的體系結(jié)構(gòu)如圖 23 所示。瀏覽器S e r v l e tJ S P關(guān)系數(shù)據(jù)庫 JDBC 請求響應(yīng)J a v a B e a n6 / 41圖 23 MVC Model2 體系結(jié)構(gòu)圖 小結(jié)本章對 MVC 設(shè)計(jì)模式基本原理進(jìn)行了詳細(xì)闡述,并介紹了 MVC 的兩種不同的模式 Model1 和Model2,并確定本系統(tǒng)的設(shè)計(jì)模式便是 MVC Model2。第 3 章 系 統(tǒng) 設(shè) 計(jì)根據(jù)上一章的需求用例分析,本章從先總體構(gòu)架的角度對系統(tǒng)進(jìn)行總體設(shè)計(jì),然后根據(jù) MVC 三層模式對系統(tǒng)進(jìn)行詳細(xì)設(shè)計(jì),最后對系統(tǒng)數(shù)據(jù)庫和數(shù)據(jù)庫連接池進(jìn)行了設(shè)計(jì)。 系統(tǒng)總體設(shè)計(jì) 系統(tǒng)構(gòu)架系統(tǒng)基于 MVC Model2 設(shè)計(jì)模式,設(shè)計(jì)出本系統(tǒng)自己的設(shè)計(jì)模式,在 MVC Model2 基礎(chǔ)上加入數(shù)據(jù)庫連接池模塊層對數(shù)據(jù)庫操作進(jìn)行封裝。具體模式圖如圖 31。瀏覽器S e r v l e tJ S P關(guān)系數(shù)據(jù)庫 JDBC 請求響應(yīng)J a v a B e a n C o n n e c t i o n P o o l圖 31 系統(tǒng)設(shè)計(jì)模式圖對于 MVC 設(shè)計(jì)模式,在本系統(tǒng)中具體實(shí)現(xiàn)方式是:Model 由 JavaBean 完成,View 由 JSP 完成,Controller 由 Servlet 完成,再加上數(shù)據(jù)庫連接池專門負(fù)責(zé)數(shù)據(jù)庫連接和管理。本系統(tǒng)具體構(gòu)架如圖32。7 / 41系統(tǒng)基本構(gòu)架視圖層V i e w控制層C o n t r i l l e r模型層M o d e l數(shù)據(jù)層D a t a b a s eJ S PS e r v l e tJ a v a B e a n 對象C o n n e c t i o nP o o l數(shù)據(jù)庫調(diào)用返回圖 32 系統(tǒng)構(gòu)架圖 系統(tǒng)類設(shè)計(jì)在本系統(tǒng)中,根據(jù)對系統(tǒng)需求的分析,可以總結(jié)出如下的需求集: (1)系統(tǒng)應(yīng)該分為前臺和后臺;(2)系統(tǒng)前臺應(yīng)該可以顯示新聞欄目和新聞以及用于管理員登錄系統(tǒng)后臺的登錄界面;(3)一般用戶應(yīng)該可以在前臺自由瀏覽新聞,包括選擇性地瀏覽新聞即先選擇新聞欄目再瀏覽新聞欄目下的新聞條目;(4)注冊用戶可以發(fā)表相關(guān)新聞的評論;(4)系統(tǒng)管理員應(yīng)該可以登錄到系統(tǒng)后臺;(5)系統(tǒng)管理員應(yīng)該可以對新聞欄目和新聞進(jìn)行查看、修改、刪除和添加操作,也可以對注冊用戶管理,同時(shí)還可以對相關(guān)新聞的評論進(jìn)行管理。由以上需求集進(jìn)一步分析可知:(1) “新聞欄目”和“新聞”為系統(tǒng)的兩個(gè)主要內(nèi)容,所以應(yīng)該分別作為一個(gè)類,而新聞欄目和新聞的顯示需要管理類進(jìn)行管理,系統(tǒng)管理員要對欄目和新聞進(jìn)行查看、添加、修改和刪除,也需要相應(yīng)的管理類進(jìn)行管理,所以,系統(tǒng)對于新聞欄目和新聞分別需要“欄目管