基于SSH的新聞發(fā)布系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)_論文定稿_第1頁(yè)
基于SSH的新聞發(fā)布系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)_論文定稿_第2頁(yè)
基于SSH的新聞發(fā)布系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)_論文定稿_第3頁(yè)
基于SSH的新聞發(fā)布系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)_論文定稿_第4頁(yè)
基于SSH的新聞發(fā)布系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)_論文定稿_第5頁(yè)
已閱讀5頁(yè),還剩62頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡(jiǎn)介

1、4 PINGDINGSHAN UNIVERSITY 畢業(yè)論文(設(shè)計(jì))題 目: 基于SSH的新聞發(fā)布系統(tǒng) 的設(shè)計(jì)與實(shí)現(xiàn) 院(系): 軟件學(xué)院 專業(yè)年級(jí): 軟件工程 2008級(jí) 姓 名: 程林芳 學(xué) 號(hào): 081530144 指導(dǎo)教師: 王建璽 講師 2011年11月15日原 創(chuàng) 性 聲 明本人鄭重聲明:本人所呈交的畢業(yè)論文,是在指導(dǎo)老師的指導(dǎo)下獨(dú)立進(jìn)行研究所取得的成果。畢業(yè)論文中凡引用他人已經(jīng)發(fā)表或未發(fā)表的成果、數(shù)據(jù)、觀點(diǎn)等,均已明確注明出處。除文中已經(jīng)注明引用的內(nèi)容外,不包含任何其他個(gè)人或集體已經(jīng)發(fā)表或撰寫(xiě)過(guò)的科研成果。對(duì)本文的研究成果做出重要貢獻(xiàn)的個(gè)人和集體,均已在文中以明確方式標(biāo)明。本聲明

2、的法律責(zé)任由本人承擔(dān)。論文作者簽名: 日 期: 關(guān)于畢業(yè)論文使用授權(quán)的聲明本人在指導(dǎo)老師指導(dǎo)下所完成的論文及相關(guān)的資料(包括圖紙、試驗(yàn)記錄、原始數(shù)據(jù)、實(shí)物照片、圖片、錄音帶、設(shè)計(jì)手稿等),知識(shí)產(chǎn)權(quán)歸屬平頂山學(xué)院。本人完全了解平頂山學(xué)院有關(guān)保存、使用畢業(yè)論文的規(guī)定,同意學(xué)校保存或向國(guó)家有關(guān)部門(mén)或機(jī)構(gòu)送交論文的紙質(zhì)版和電子版,允許論文被查閱和借閱;本人授權(quán)平頂山學(xué)院可以將本畢業(yè)論文的全部或部分內(nèi)容編入有關(guān)數(shù)據(jù)庫(kù)進(jìn)行檢索,可以采用任何復(fù)制手段保存和匯編本畢業(yè)論文。如果發(fā)表相關(guān)成果,一定征得指導(dǎo)教師同意,且第一署名單位為平頂山學(xué)院。本人離校后使用畢業(yè)論文或與該論文直接相關(guān)的學(xué)術(shù)論文或成果時(shí),第一署名單

3、位仍然為平頂山學(xué)院。論文作者簽名: 日 期: 指導(dǎo)老師簽名: 日 期: 平頂山學(xué)院本科畢業(yè)設(shè)計(jì)基于SSH的新聞發(fā)布系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)摘 要隨著Internet的普及,越來(lái)越多的企業(yè)紛紛建立了自己的門(mén)戶網(wǎng)站,來(lái)展示產(chǎn)品、與用戶進(jìn)行交流、與合作伙伴建立聯(lián)系以及開(kāi)展電子商務(wù)等。新聞發(fā)布系統(tǒng)是企業(yè)門(mén)戶網(wǎng)站的重要組成部分,因此開(kāi)發(fā)新聞發(fā)布系統(tǒng)是適應(yīng)企業(yè)發(fā)展的一種需要。系統(tǒng)采用Java語(yǔ)言,瀏覽器/服務(wù)器(B/S)模式,Struts、Hibernate和Spring(SSH)三層架構(gòu)進(jìn)行開(kāi)發(fā),實(shí)現(xiàn)了新聞欄目的分類、新聞的添加、審核、發(fā)布、評(píng)論、回復(fù)等功能。在新聞管理模塊中,將通過(guò)審核的新聞生成靜態(tài)Html文

4、件存放在服務(wù)器指定位置并發(fā)布,提高了用戶的訪問(wèn)速度。論文首先對(duì)系統(tǒng)的功能、架構(gòu)、數(shù)據(jù)庫(kù)等進(jìn)行了分析與設(shè)計(jì),然后對(duì)系統(tǒng)的欄目管理、新聞管理、評(píng)論管理等模塊進(jìn)行了詳細(xì)設(shè)計(jì)與實(shí)現(xiàn)。系統(tǒng)測(cè)試表明各項(xiàng)功能達(dá)到了預(yù)期效果,具有較好的安全性和容錯(cuò)性。下一步考慮增加在后臺(tái)根據(jù)需要定制前臺(tái)顯示模板的功能,不斷完善系統(tǒng)。關(guān)鍵詞:新聞發(fā)布系統(tǒng),B/S,SSHThe Design and Implementation of the News Released System Based on SSHAbstractWith the great popularity of network, an increasing n

5、umber of enterprises are looking forward to establishing their own websites, through which they can display products, communicate with clients, establish partnership, as well as develop e-commerce. In a word, it has been a necessity for enterprises to establish their own news release system which is

6、 one of the most important parts for enterprises to keep pace with the social development.The system is designed and implemented based on SSH three-tier architecture using Java language and browser/server (B/S) mode. The functions of the news release system include news categories, adding, auditing,

7、 releasing, commenting, recovery and etc. It is worthwhile mentioning that it is through the generated static HTML files which have been examined and stored on the server specified location that news are released, thus being greatly helpful in speeding up the users browse rate. First of all, the ess

8、ay analyses and designs the functions, the architecture ,the database of the system; then presents a detailed design and implementation aiming at column management, news management, comment management, system management and so on.At present, the system has realized the functions that are expected on

9、 the whole, which has better security, fault tolerance. Even so, it cant deny that the system hasnt accomplished the function of customizing background display template without any special requirements considering the workload and time permission. More study and improvement on the news release syste

10、m will be implemented in the future.Keywords: news released system, B/S, SSH目錄1 緒論11.1 開(kāi)發(fā)背景及意義11.2 應(yīng)用現(xiàn)狀11.3 本文工作21.4 論文結(jié)構(gòu)安排31.5 本章小結(jié)42 技術(shù)及工具介紹52.1 B/S模式52.2 UML52.3 相關(guān)技術(shù)62.3.1 SSH框架62.3.2 AJAX72.3.3 JSON-RPC框架72.4 開(kāi)發(fā)工具72.4.1 Tomcat服務(wù)器72.4.2 MySQL數(shù)據(jù)庫(kù)管理工具82.4.3 MyEclipse編程工具82.5 本章小結(jié)83 需求分析93.1 業(yè)務(wù)流程93

11、.2 設(shè)計(jì)目標(biāo)103.3 功能需求103.4 性能需求153.5 本章小結(jié)164 總體設(shè)計(jì)174.1 架構(gòu)設(shè)計(jì)174.2 功能設(shè)計(jì)184.3 數(shù)據(jù)庫(kù)設(shè)計(jì)與實(shí)現(xiàn)194.3.1 數(shù)據(jù)需求194.3.2 概念結(jié)構(gòu)設(shè)計(jì)214.3.3 邏輯結(jié)構(gòu)設(shè)計(jì)224.3.4 數(shù)據(jù)庫(kù)實(shí)現(xiàn)234.4 接口設(shè)計(jì)244.5 本章小結(jié)265 詳細(xì)設(shè)計(jì)與實(shí)現(xiàn)275.1 界面設(shè)計(jì)275.1.1 設(shè)計(jì)原則275.1.2 詳細(xì)設(shè)計(jì)285.2 功能詳細(xì)設(shè)計(jì)與實(shí)現(xiàn)295.2.1 欄目管理295.2.2 新聞管理315.2.3 評(píng)論管理335.2.4 系統(tǒng)管理345.2.5 前臺(tái)交互365.3 關(guān)鍵問(wèn)題解決方案405.3.1 無(wú)限級(jí)欄目樹(shù)

12、設(shè)計(jì)405.3.2 文本編輯器使用415.3.3 靜態(tài)新聞文件生成415.4 本章小結(jié)426 測(cè)試436.1 測(cè)試計(jì)劃436.1.1 測(cè)試目的436.1.2 測(cè)試環(huán)境436.1.3 功能測(cè)試計(jì)劃446.2 功能測(cè)試446.3 用戶界面測(cè)試456.4 問(wèn)題嚴(yán)重程度描述456.5 測(cè)試結(jié)果466.6 本章小結(jié)467 結(jié)束語(yǔ)477.1 總結(jié)477.2 展望48附 錄49參考文獻(xiàn)53致 謝54571 緒論本章首先介紹新聞發(fā)布系統(tǒng)的開(kāi)發(fā)背景及意義,然后介紹應(yīng)用現(xiàn)狀,接著介紹本文主要工作,最后是論文結(jié)構(gòu)安排。1.1 開(kāi)發(fā)背景及意義21世紀(jì)是信息的時(shí)代,是網(wǎng)絡(luò)的時(shí)代。傳統(tǒng)的報(bào)紙雜志已經(jīng)遠(yuǎn)遠(yuǎn)滿足不了人們的需求

13、,人們更加希望能夠在網(wǎng)上快速及時(shí)地瀏覽新聞,因此獲取各種各樣的網(wǎng)上信息,已成為人們?nèi)粘I畹囊徊糠?。信息技術(shù)的發(fā)展使得整個(gè)世界越來(lái)越小,這也意味著企業(yè)的競(jìng)爭(zhēng)環(huán)境由區(qū)域化向全球化發(fā)展,企業(yè)所處的宏觀環(huán)境實(shí)際上已經(jīng)不僅僅是通過(guò)信息技術(shù)員連接起來(lái)的狹義網(wǎng)絡(luò),而是將技術(shù)環(huán)境與經(jīng)濟(jì)環(huán)境結(jié)合在一起考慮,形成一種大網(wǎng)絡(luò)的概念。企業(yè)對(duì)信息的掌握程度、信息獲取是否及時(shí)、信息能否得到充分利用、對(duì)信息的反應(yīng)是否敏感準(zhǔn)確,已越來(lái)越成為衡量一個(gè)企業(yè)市場(chǎng)競(jìng)爭(zhēng)能力的重要因素。因此企業(yè)紛紛建立起自己的門(mén)戶網(wǎng)站,通過(guò)網(wǎng)站來(lái)展示產(chǎn)品,發(fā)布最新動(dòng)態(tài),與用戶進(jìn)行交流和溝通,與合作伙伴建立聯(lián)系,以及開(kāi)展電子商務(wù)等。新聞發(fā)布系統(tǒng)是一個(gè)基

14、于新聞和內(nèi)容管理的全站管理系統(tǒng),它是基于瀏覽器/服務(wù)器(Browser/Server,B/S)模式的Web系統(tǒng),可以將雜亂無(wú)章的信息經(jīng)過(guò)組織,合理有序地呈現(xiàn)在大家面前,主要實(shí)現(xiàn)對(duì)新聞的分類、添加、審核、發(fā)布、評(píng)論等,模擬一般新聞媒介發(fā)布新聞的整個(gè)過(guò)程。新聞發(fā)布系統(tǒng)是構(gòu)成企業(yè)門(mén)戶網(wǎng)站的重要組成部分,擔(dān)負(fù)著雙重作用,一方面,可以用來(lái)動(dòng)態(tài)發(fā)布有關(guān)新產(chǎn)品或新開(kāi)發(fā)項(xiàng)目;另一方面又可以及時(shí)向顧客公告企業(yè)經(jīng)營(yíng)業(yè)績(jī)、技術(shù)與研發(fā)進(jìn)展、特別推薦或優(yōu)惠的工程項(xiàng)目、產(chǎn)品和服務(wù),從而吸引顧客,擴(kuò)大顧客群1。所以建立新聞發(fā)布系統(tǒng)是適應(yīng)企業(yè)發(fā)展的一種需要,其意義是巨大的。1.2 應(yīng)用現(xiàn)狀目前業(yè)內(nèi)新聞發(fā)布系統(tǒng)主要分為兩類,下

15、面將分別介紹其特點(diǎn)和應(yīng)用范圍。1.前臺(tái)動(dòng)態(tài)顯示的新聞發(fā)布系統(tǒng)該類系統(tǒng)大約占60%的份額,其主要特點(diǎn)為:前臺(tái)采用Java語(yǔ)言動(dòng)態(tài)讀取數(shù)據(jù)庫(kù)的內(nèi)容,隨時(shí)更新,該類系統(tǒng)設(shè)計(jì)簡(jiǎn)單,適合大多數(shù)中小企業(yè)建站需要。其通用性不強(qiáng),一般需要量身定做,不適合大型新聞?wù)军c(diǎn),當(dāng)用戶過(guò)多時(shí),系統(tǒng)采用Java語(yǔ)言動(dòng)態(tài)讀取數(shù)據(jù)庫(kù)就勢(shì)必消耗大量的服務(wù)器資源,造成系統(tǒng)運(yùn)行緩慢,甚至崩潰。2.前臺(tái)靜態(tài)顯示的新聞發(fā)布系統(tǒng)該類系統(tǒng)大約占30%的市場(chǎng)份額,其主要特點(diǎn)為:前臺(tái)新聞全部生成靜態(tài)HTML文件,用戶瀏覽新聞時(shí)無(wú)須從數(shù)據(jù)庫(kù)中動(dòng)態(tài)讀取,只需要直接下載HTML文件即可,瀏覽速度得到提高,同時(shí)也大大減輕了數(shù)據(jù)庫(kù)服務(wù)器的壓力。該系統(tǒng)后臺(tái)

16、設(shè)計(jì)復(fù)雜,需要處理復(fù)雜的模板標(biāo)簽和各個(gè)模板之間的邏輯,一般采用三層模式實(shí)現(xiàn),該類系統(tǒng)靈活性大,可以通過(guò)自定義模板實(shí)現(xiàn)界面復(fù)雜的前臺(tái)頁(yè)面,一般不需要為某一個(gè)企業(yè)而定做,該系統(tǒng)具有良好的通用性,適合各類新聞?wù)军c(diǎn),同時(shí),把前端用戶和數(shù)據(jù)庫(kù)分割開(kāi)來(lái),系統(tǒng)的安全性得到大大的提高2。本文將在現(xiàn)有新聞發(fā)布系統(tǒng)基礎(chǔ)上作如下改進(jìn):開(kāi)發(fā)一個(gè)前臺(tái)靜態(tài)瀏覽、動(dòng)態(tài)查詢的新聞發(fā)布系統(tǒng),即在新聞審核通過(guò)時(shí)生成靜態(tài)HTML文件存放在服務(wù)器指定的目錄下,同時(shí)將該新聞標(biāo)題及存放路徑存入數(shù)據(jù)庫(kù)。用戶瀏覽新聞時(shí),直接加載HTML文件;以特定關(guān)鍵字搜索新聞時(shí),進(jìn)行動(dòng)態(tài)查詢并將查詢結(jié)果展示給用戶。這樣在一定程度上,不但解決了系統(tǒng)運(yùn)行效率

17、低及安全性差的問(wèn)題,而且減輕了數(shù)據(jù)庫(kù)服務(wù)器壓力。1.3 本文工作本文針對(duì)目前大多數(shù)新聞發(fā)布系統(tǒng)運(yùn)行速度慢、擴(kuò)展性不強(qiáng)、管理不方便等問(wèn)題,設(shè)計(jì)并實(shí)現(xiàn)了一個(gè)基于SSH(Struts、Spring和Hibernate)框架的新聞發(fā)布系統(tǒng)。主要工作如下:1.分析系統(tǒng)需求通過(guò)查閱相關(guān)資料及分析現(xiàn)有新聞發(fā)布系統(tǒng)具有的功能,同時(shí)在調(diào)研某公司新聞管理及發(fā)布工作流程基礎(chǔ)上,認(rèn)真分析、總結(jié)各類人員負(fù)責(zé)的相關(guān)工作,由此得出用戶的功能需求和系統(tǒng)的性能需求。2.選擇系統(tǒng)架構(gòu)針對(duì)系統(tǒng)需求,采用模型-視圖-控制器(Model-View-Controller,MVC)模式作為系統(tǒng)架構(gòu),不僅實(shí)現(xiàn)了系統(tǒng)的代碼復(fù)用,而且便于日后的

18、升級(jí)和維護(hù)。3.設(shè)計(jì)系統(tǒng)主要功能模塊對(duì)各個(gè)模塊的功能及任務(wù)進(jìn)行了定義和劃分。本系統(tǒng)有四類角色,即普通用戶、信息編輯員、信息審核員和系統(tǒng)管理員。系統(tǒng)功能劃分為五個(gè)模塊:(1) 欄目管理模塊:包括欄目信息的添加、修改、刪除及欄目名稱以欄目結(jié)構(gòu)樹(shù)形式顯示,使得新聞可以分類管理。(2) 新聞管理模塊:包括新聞的添加、修改、批量刪除、審核、按條件查詢、查看新聞評(píng)論等功能。(3) 評(píng)論管理模塊:包括評(píng)論的查詢、批量審核及批量刪除等,其中設(shè)置評(píng)論審核可避免垃圾評(píng)論產(chǎn)生。(4) 系統(tǒng)管理模塊:包括用戶分類管理、用戶權(quán)限劃分、數(shù)據(jù)庫(kù)備份與恢復(fù)及個(gè)人密碼修改等功能。(5) 前臺(tái)展示模板:包括瀏覽、搜索、評(píng)論新聞及

19、評(píng)論回復(fù)、注冊(cè)用戶信息和找回密碼等功能。4.實(shí)現(xiàn)新聞發(fā)布系統(tǒng)在完成系統(tǒng)功能需求和數(shù)據(jù)庫(kù)設(shè)計(jì)的基礎(chǔ)上,采用SSH作為總體開(kāi)發(fā)框架,Java作為開(kāi)發(fā)語(yǔ)言,異步JavaScript和XML(Asynchronous JavaScript and XML,AJAX)、JSON-RPC組件作為異步通信技術(shù),實(shí)現(xiàn)了一個(gè)比較完整的新聞發(fā)布系統(tǒng)。5.進(jìn)行系統(tǒng)測(cè)試從制定測(cè)試計(jì)劃,到選擇測(cè)試環(huán)境,再到針對(duì)某一功能編寫(xiě)測(cè)試用例,逐步進(jìn)行測(cè)試,并分析測(cè)試結(jié)果。1.4 論文結(jié)構(gòu)安排本文從軟件開(kāi)發(fā)生命周期的角度闡述了系統(tǒng)開(kāi)發(fā)過(guò)程,首先介紹了項(xiàng)目開(kāi)發(fā)背景、意義及應(yīng)用現(xiàn)狀,然后簡(jiǎn)單介紹了系統(tǒng)采用的技術(shù)及開(kāi)發(fā)工具,接著重點(diǎn)論述

20、系統(tǒng)需求分析、總體設(shè)計(jì)和詳細(xì)設(shè)計(jì)與實(shí)現(xiàn)過(guò)程,最后做系統(tǒng)測(cè)試以及總結(jié)。共分為七部分,具體內(nèi)容安排如下:第一部分:緒論。介紹項(xiàng)目背景及意義、應(yīng)用現(xiàn)狀和論文結(jié)構(gòu)安排等。第二部分:技術(shù)及開(kāi)發(fā)工具。介紹開(kāi)發(fā)系統(tǒng)用到的相關(guān)技術(shù)及工具等。第三部分:需求分析。從實(shí)際業(yè)務(wù)流程、設(shè)計(jì)目標(biāo)、功能需求和性能需求四個(gè)方面對(duì)系統(tǒng)進(jìn)行需求分析。第四部分:總體設(shè)計(jì)。從系統(tǒng)架構(gòu)設(shè)計(jì)、功能設(shè)計(jì)、數(shù)據(jù)庫(kù)設(shè)計(jì)和接口設(shè)計(jì)四個(gè)方面對(duì)系統(tǒng)進(jìn)行總體設(shè)計(jì)。第五部分:詳細(xì)設(shè)計(jì)與實(shí)現(xiàn)。首先設(shè)計(jì)系統(tǒng)界面,然后按照SSH三層框架的整合思想,實(shí)現(xiàn)本系統(tǒng)主要模塊。第六部分:測(cè)試。按照測(cè)試計(jì)劃對(duì)系統(tǒng)進(jìn)行測(cè)試。第七部分:結(jié)束語(yǔ)。總結(jié)系統(tǒng)功能和優(yōu)點(diǎn),并對(duì)系統(tǒng)后

21、續(xù)工作進(jìn)行展望。1.5 本章小結(jié)本章首先介紹了項(xiàng)目開(kāi)發(fā)背景及意義,明確了開(kāi)發(fā)本系統(tǒng)的重要性。然后介紹了應(yīng)用現(xiàn)狀,指出了現(xiàn)有新聞發(fā)布系統(tǒng)的優(yōu)缺點(diǎn),接著給出本文工作,對(duì)整個(gè)系統(tǒng)設(shè)計(jì)與實(shí)現(xiàn)過(guò)程做了一個(gè)系統(tǒng)性的說(shuō)明,最后給出論文結(jié)構(gòu)安排。2 技術(shù)及工具介紹本章主要從系統(tǒng)開(kāi)發(fā)所用到的相關(guān)技術(shù)、方法及開(kāi)發(fā)工具等方面進(jìn)行簡(jiǎn)單介紹。2.1 B/S模式本系統(tǒng)面向的用戶群體是中小型企業(yè),企業(yè)在使用系統(tǒng)時(shí),需要借助互聯(lián)網(wǎng)來(lái)發(fā)布最新產(chǎn)品、最新動(dòng)態(tài)及與客戶在線交流等?;诖?,需要采用B/S模式來(lái)設(shè)計(jì)系統(tǒng)。B/S模式又稱B/S結(jié)構(gòu)。它是隨著Internet技術(shù)的興起,對(duì)客戶端/服務(wù)器(Client/Browse,C/S)

22、模式的擴(kuò)展。隨著Internet和WWW的流行,以往的主機(jī)/終端和C/S都無(wú)法滿足當(dāng)前的全球網(wǎng)絡(luò)開(kāi)放、互連、信息隨處可見(jiàn)和信息共享的新要求,于是出現(xiàn)了B/S模式。該模式最大特點(diǎn)是:用戶可以通過(guò)WWW瀏覽器去訪問(wèn)Internet上的文本、數(shù)據(jù)、圖像、動(dòng)畫(huà)、視頻點(diǎn)播和聲音等信息,這些信息都是由許許多多的Web服務(wù)器產(chǎn)生的,而每一個(gè)Web服務(wù)器又可以通過(guò)各種方式與數(shù)據(jù)庫(kù)服務(wù)器連接,大量的數(shù)據(jù)實(shí)際存放在數(shù)據(jù)庫(kù)服務(wù)器中。客戶端除了WWW瀏覽器,一般無(wú)須任何用戶程序,只需從Web服務(wù)器下載程序到本地來(lái)執(zhí)行,在下載過(guò)程中若遇到與數(shù)據(jù)庫(kù)有關(guān)的指令,由Web服務(wù)器交給數(shù)據(jù)庫(kù)服務(wù)器來(lái)解釋執(zhí)行,并返回給Web服務(wù)器

23、,Web服務(wù)器又返回給用戶。B/S模式的優(yōu)點(diǎn)主要有:1.具有分布性特點(diǎn),可以隨時(shí)隨地進(jìn)行查詢、瀏覽等業(yè)務(wù)處理;2.業(yè)務(wù)擴(kuò)展簡(jiǎn)單方便,通過(guò)增加網(wǎng)頁(yè)即可增加服務(wù)器功能;3.維護(hù)簡(jiǎn)單方便,只需要改變網(wǎng)頁(yè),即可實(shí)現(xiàn)所有用戶的同步更新;4.開(kāi)發(fā)簡(jiǎn)單,共享性強(qiáng)。2.2 UML統(tǒng)一建模語(yǔ)言(Unified Modeling Language,UML)被對(duì)象管理組織(Object Management Architecture,OMG)采納為標(biāo)準(zhǔn)建模語(yǔ)言,成為業(yè)界的標(biāo)準(zhǔn)。UML作為一種定義良好、易于表達(dá)、功能強(qiáng)大且普遍適用的建模語(yǔ)言,融入了軟件工程領(lǐng)域的新思想、新方法和新技術(shù),成為面向?qū)ο蠹夹g(shù)學(xué)習(xí)中不可缺少的

24、一部分。UML的作用不僅在于支持面向?qū)ο蟮姆治雠c設(shè)計(jì),還支持從需求分析開(kāi)始的軟件開(kāi)發(fā)的全過(guò)程3。UML作為一種建模語(yǔ)言,在項(xiàng)目開(kāi)發(fā)過(guò)程中的作用,總結(jié)起來(lái)主要有以下幾個(gè)方面:1.UML作為一種建模語(yǔ)言,為用戶提供了一種易用的、具有可視化建模能力的語(yǔ)言,能夠使用戶使用該語(yǔ)言進(jìn)行系統(tǒng)的開(kāi)發(fā)工作,并且能夠進(jìn)行有意義的建?;Q;2.UML為面向?qū)ο蠼UZ(yǔ)言的核心概念提供了可擴(kuò)展性和規(guī)約機(jī)制;3.支持高級(jí)的開(kāi)發(fā)概念;4.集成了優(yōu)秀的開(kāi)發(fā)實(shí)踐成果和經(jīng)驗(yàn)。2.3 相關(guān)技術(shù)2.3.1 SSH框架SSH是一個(gè)輕量級(jí)組合框架,能更好的實(shí)現(xiàn)MVC模式,充分發(fā)揮了各自的優(yōu)勢(shì)。其中通過(guò)Struts在表示層中處理頁(yè)面請(qǐng)求和

25、轉(zhuǎn)發(fā)工作;通過(guò)Spring的依賴注入(Inversion of Control,IoC)技術(shù)降低了程序之間的耦合性,也使程序員養(yǎng)成用接口編程的好習(xí)慣;通過(guò)Hibernate完成在持久層與數(shù)據(jù)庫(kù)的交互工作。三層框架的整合形成一個(gè)結(jié)構(gòu)良好、功能強(qiáng)大,層次清晰的框架體系。1.StrutsStruts是一個(gè)獨(dú)立的MVC模式框架,很好的實(shí)現(xiàn)了顯示處理和業(yè)務(wù)處理邏輯之間的低耦合性4。但Struts主要是針對(duì)表示層設(shè)計(jì)的,對(duì)業(yè)務(wù)邏輯方面的支持不是很強(qiáng),比如事務(wù)管理、安全檢查等本屬于系統(tǒng)層面的,實(shí)現(xiàn)代碼也穿插在整個(gè)業(yè)務(wù)邏輯中,降低了代碼的可維護(hù)性,而Spring則可以很好地解決這些問(wèn)題。2.SpringSpr

26、ing也是獨(dú)立的MVC模式框架,通過(guò)IoC技術(shù),降低各組件之間的依賴,而Spring提供的面向切面編程(Aspect Oriented Programming,AOP)技術(shù),在事務(wù)管理上具有獨(dú)特優(yōu)勢(shì)5。Spring框架不僅能有效地服務(wù)中間層對(duì)象,而且易于同其他層框架進(jìn)行無(wú)縫集成,使各層之間相互獨(dú)立,實(shí)現(xiàn)了在架構(gòu)上各框架間的低耦合性。3.HibernateHibernate作為一個(gè)優(yōu)秀的持久化工具,通過(guò)對(duì)象關(guān)系映射(Object Relational Mapping,ORM)架起了Java對(duì)象與關(guān)系數(shù)據(jù)庫(kù)間的橋梁,很好的協(xié)調(diào)對(duì)象與數(shù)據(jù)庫(kù)的交互,提供數(shù)據(jù)查詢和恢復(fù)機(jī)制,實(shí)現(xiàn)了與底層數(shù)據(jù)庫(kù)的分離。2

27、.3.2 AJAXAJAX是一種運(yùn)用JavaScript和可擴(kuò)展標(biāo)記語(yǔ)言(EXtensible Markup Language,XML),在網(wǎng)絡(luò)瀏覽器和服務(wù)器之間傳遞或接收數(shù)據(jù)的技術(shù)。AJAX的工作原理相當(dāng)于在用戶和服務(wù)器之間加了一個(gè)中間層,使用戶請(qǐng)求與服務(wù)器響應(yīng)異步化。這樣把以前的一些服務(wù)器負(fù)擔(dān)的工作轉(zhuǎn)交給客戶端,利用客戶端閑置的處理能力來(lái)處理,減輕服務(wù)器和寬帶的負(fù)擔(dān)。通過(guò)AJAX,JavaScript可使用JavaScript的XMLHttpRequest對(duì)象來(lái)直接與服務(wù)器進(jìn)行通信。通過(guò)這個(gè)對(duì)象,JavaScript可在不重載頁(yè)面的情況與Web服務(wù)器交換數(shù)據(jù)。2.3.3 JSON-RPC框

28、架JSON-RPC是一個(gè)客戶端遠(yuǎn)程調(diào)用服務(wù)器端方法的框架。JSON-RPC-Java是一個(gè)用Java來(lái)實(shí)現(xiàn)動(dòng)態(tài)JSON-RPC的框架6。利用它內(nèi)置的一個(gè)輕量級(jí)JSON-RPC JavaScript客戶端,可以透明地在客戶端JavaScript中調(diào)用服務(wù)器端的Java代碼。在Web應(yīng)用中,使用JSON-RPC組件的一般步驟如下:1.首先導(dǎo)入jsonrpc.jar包和jsonrpc.js文件到指定的位置;2.在web.xml中配置servlet和servlet-mapping;3.在JSP頁(yè)面中引入jsonrpc.js文件和JSONRPCBridge類;4.將服務(wù)器端的JavaBean放置到要使用

29、JSOM-RPC的JSP文件中。5.將服務(wù)器端的JavaBean注冊(cè)到JSONRPCBridge對(duì)象中。6.在JavaScript腳本中創(chuàng)建一個(gè)JSONRpcClient對(duì)象,如:jsonrpc=new JSONRpcClient(“JSON-RPC”);7.利用創(chuàng)建的JSONRpcClient對(duì)象即可在JavaScript中直接調(diào)用服務(wù)器端的Java程序。2.4 開(kāi)發(fā)工具2.4.1 Tomcat服務(wù)器Tomcat是一個(gè)便捷的小型Web服務(wù)器,耗費(fèi)資源少,故采用Tomcat作為服務(wù)器。Tomcat是在SUN的JSWDK基礎(chǔ)上發(fā)展起來(lái)的一個(gè)優(yōu)秀的JSP服務(wù)器,是一個(gè)輕量級(jí)應(yīng)用服務(wù)器,在中小型系統(tǒng)

30、和并發(fā)訪問(wèn)用戶不是很多的場(chǎng)合下被普遍使用。同樣Tomcat也是一個(gè)開(kāi)源軟件,對(duì)系統(tǒng)開(kāi)發(fā)成本的降低有很大幫助。Tomcat不但支持Servlet,而且還提供了Web服務(wù)器的基本功能,處理HTML頁(yè)面,可以和目前大部分的主流服務(wù)器一起工作,有著相當(dāng)高的運(yùn)行效率。2.4.2 MySQL數(shù)據(jù)庫(kù)管理工具從系統(tǒng)開(kāi)發(fā)成本及數(shù)據(jù)量大小角度考慮,采用MySQL數(shù)據(jù)庫(kù)管理系統(tǒng)來(lái)存儲(chǔ)和管理系統(tǒng)數(shù)據(jù)。MySQL是一種關(guān)聯(lián)數(shù)據(jù)庫(kù)管理系統(tǒng),其將數(shù)據(jù)保存在不同的表中,而不是將所有數(shù)據(jù)放在一個(gè)大倉(cāng)庫(kù)內(nèi)。這樣不僅提高了速度而且提高了靈活性。MySQL的SQL“結(jié)構(gòu)化查詢語(yǔ)言”,是用于訪問(wèn)數(shù)據(jù)庫(kù)的最常用標(biāo)準(zhǔn)化語(yǔ)言。MySQL軟件

31、采用了GNU通用公共許可證(General Public License,GPL)。其具有體積小、速度快、總體擁有成本低等特點(diǎn),許多中小型網(wǎng)站為了降低網(wǎng)站總體擁有成本而選擇了MySQL作為網(wǎng)站數(shù)據(jù)庫(kù)。2.4.3 MyEclipse編程工具M(jìn)yEclipse本身就集成了Struts、String和Hibernate這三種框架插件,不需要再下載安裝,而本系統(tǒng)開(kāi)發(fā)恰好是采用SSH三層框架進(jìn)行整合開(kāi)發(fā),故選擇MyEclipse編程工具開(kāi)發(fā)本系統(tǒng)。MyEclipse企業(yè)級(jí)工作平臺(tái)(MyEclipse Enterprise Workbench,簡(jiǎn)稱My- Eclipse)是對(duì)Eclipse的擴(kuò)展,利用它用

32、戶可以在數(shù)據(jù)庫(kù)和J2EE的開(kāi)發(fā)、發(fā)布以及應(yīng)用程序服務(wù)器的整合方面極大的提高工作效率。它是功能豐富的J2EE集成開(kāi)發(fā)環(huán)境,包括了完備的編碼、調(diào)試、測(cè)試和發(fā)布功能,完整支持HTML、Struts、JSP、CSS、JavaScript、SQL以及Hibernate等。所以本系統(tǒng)的開(kāi)發(fā)工具采用MyEclipse,提高開(kāi)發(fā)效率。2.5 本章小結(jié)本章首先介紹了B/S開(kāi)發(fā)模式,然后介紹了UML相關(guān)知識(shí)及其在項(xiàng)目開(kāi)發(fā)中的作用,接著介紹了系統(tǒng)使用的相關(guān)技術(shù),最后對(duì)系統(tǒng)開(kāi)發(fā)工具做了簡(jiǎn)單介紹。3 需求分析在軟件工程中,需求分析指的是在建立一個(gè)新的或修改一個(gè)現(xiàn)存的系統(tǒng)時(shí)描寫(xiě)系統(tǒng)的目的、范圍、定義和功能所要做的工作。需

33、求分析是軟件工程中的一個(gè)關(guān)鍵過(guò)程。在這個(gè)過(guò)程中,系統(tǒng)分析員和軟件工程師確定用戶的需要7。本章將從系統(tǒng)業(yè)務(wù)流程、設(shè)計(jì)目標(biāo)、功能需求和性能需求四個(gè)方面進(jìn)行描述。3.1 業(yè)務(wù)流程以一家企業(yè)為例,通過(guò)調(diào)研發(fā)現(xiàn),參與到系統(tǒng)核心業(yè)務(wù)流程中的人員主要有信息編輯員、信息審核員、普通用戶三類。核心業(yè)務(wù)流程如下:1.信息編輯員劃分新聞欄目;2.信息編輯員在已存在的新聞欄目下撰寫(xiě)相應(yīng)新聞;3.信息審核員審核編輯員撰寫(xiě)的新聞;4.審核通過(guò)就發(fā)布,反之打回重新修改;5.新聞審核通過(guò)后印刷成公司宣傳冊(cè);6.信息編輯員發(fā)宣傳冊(cè)給客戶,宣傳公司以及產(chǎn)品,收集客戶意見(jiàn);7.客戶針對(duì)新聞反饋意見(jiàn);8.信息編輯員收集有用的意見(jiàn)歸檔

34、。核心業(yè)務(wù)流程如圖3-1所示。圖3-1 核心業(yè)務(wù)流程圖3.2 設(shè)計(jì)目標(biāo)本系統(tǒng)主要面向的用戶群體為中小型企業(yè),需要實(shí)現(xiàn)的主要目標(biāo)如下:1.通過(guò)本系統(tǒng)可以使企業(yè)很方便的對(duì)信息進(jìn)行發(fā)布和管理。2.可以在本系統(tǒng)基礎(chǔ)上進(jìn)行二次開(kāi)發(fā),為其他企業(yè)定制門(mén)戶網(wǎng)站。3.可以通過(guò)新聞評(píng)論及評(píng)論回復(fù)達(dá)到企業(yè)與客戶的簡(jiǎn)單在線交互目的,注冊(cè)用戶具有此功能。4.用戶瀏覽新聞時(shí)直接讀取靜態(tài)頁(yè)面以提高訪問(wèn)速度。5.采用模塊開(kāi)發(fā)增加系統(tǒng)可維護(hù)性和可擴(kuò)展性。6.欄目以目錄結(jié)構(gòu)樹(shù)形式顯示,結(jié)構(gòu)清晰,便于用戶獲知欄目的上下級(jí)。7.具有高度的穩(wěn)定性和安全性。3.3 功能需求功能需求是指系統(tǒng)必須提供的服務(wù)。通過(guò)需求分析來(lái)劃分系統(tǒng)必須具備的

35、功能,即要分清系統(tǒng)中的角色,并且要理清每個(gè)角色擁有的功能權(quán)限8。通過(guò)對(duì)系統(tǒng)進(jìn)行分析,系統(tǒng)角色分為四類,分別為普通用戶、系統(tǒng)管理員、信息編輯員、信息審核員,其中后三類角色是普通用戶的泛化,擁有前臺(tái)用戶的所有功能。普通用戶可以瀏覽、搜索、評(píng)論企業(yè)新聞,也可對(duì)瀏覽的新聞進(jìn)行評(píng)論或?qū)υu(píng)論進(jìn)行回復(fù),其中只有注冊(cè)過(guò)的用戶才能對(duì)新聞進(jìn)行評(píng)論或回復(fù)。普通用戶用例圖如圖3-2所示。圖3-2 普通用戶用例圖在普通用戶用例圖中,以評(píng)論新聞?dòng)美秊槔o出用例描述,如表3-1所示。表3-1 評(píng)論新聞?dòng)美枋鲇美幪?hào)UC_addComments用例名稱評(píng)論新聞?dòng)美攀銎胀ㄓ脩魧?duì)新聞進(jìn)行評(píng)論,審核通過(guò)的評(píng)論最終顯示在評(píng)論頁(yè)主

36、參與者普通用戶次要參與者無(wú)項(xiàng)目相關(guān)人利益說(shuō)明項(xiàng)目相關(guān)人利益普通用戶能夠成功添加評(píng)論前置條件用戶是注冊(cè)用戶后置條件成功添加評(píng)論成功保證新聞管理人員在后臺(tái)能夠看到普通用戶添加的評(píng)論基本事件流步驟活動(dòng)1普通用戶點(diǎn)擊新聞頁(yè)面右下角的“評(píng)論”按鈕,打開(kāi)評(píng)論頁(yè)面2普通用戶輸入用戶名、密碼、驗(yàn)證碼以及評(píng)論內(nèi)容3普通用戶點(diǎn)擊“提交”按鈕,提示評(píng)論添加成功,待審核4用例終止擴(kuò)展事件流3a普通用戶輸入用戶名、密碼或者驗(yàn)證碼錯(cuò)誤,提交時(shí)提示相應(yīng)的錯(cuò)誤提示3b普通用戶輸入評(píng)論內(nèi)容為空,提交時(shí)提示評(píng)論不能為空子事件流無(wú)規(guī)則與約束1.用戶登錄成功才能評(píng)論2.評(píng)論內(nèi)容不能為空信息編輯員在登錄系統(tǒng)后,可以添加、刪除、修改新聞

37、所屬欄目,可以添加、修改、刪除、查找、審核新聞,也可查看、審核、批量刪除評(píng)論等。信息編輯員用例圖如圖3-3所示。圖3-3 信息編輯員用例圖在信息編輯員用例圖中,以添加新聞?dòng)美秊槔o出詳細(xì)用例描述,如表3-2所示。表3-2 添加新聞?dòng)美枋鲇美幪?hào)UC_addNews用例名稱添加新聞?dòng)美攀鲂畔⒕庉媶T添加新聞信息,經(jīng)信息審核員審核通過(guò)后才能發(fā)布到網(wǎng)站前臺(tái)主參與者信息編輯員次要參與者無(wú)項(xiàng)目相關(guān)人利益說(shuō)明項(xiàng)目相關(guān)人利益信息編輯員能夠成功添加信息前置條件1.信息編輯員已經(jīng)成功登錄系統(tǒng)2.要添加的新聞所屬的欄目已經(jīng)創(chuàng)建后置條件成功添加新聞成功保證信息審核員在新聞管理模塊能看到該條信息處于待審核狀態(tài)基本事

38、件流步驟活動(dòng)1信息編輯員點(diǎn)擊“添加新聞”菜單,打開(kāi)添加新聞頁(yè)面2信息編輯員輸入標(biāo)題、關(guān)鍵詞,選擇所屬欄目,輸入要發(fā)布的信息內(nèi)容,設(shè)置新聞是否允許評(píng)論,并選擇新聞?wù)故灸0?信息編輯員點(diǎn)擊“提交”按鈕,提示信息添加成功,待審核4用例終止擴(kuò)展事件流3a若帶*號(hào)的項(xiàng)為空,則提示不能為空子事件流無(wú)規(guī)則與約束1.帶*號(hào)的項(xiàng)目為必填項(xiàng)目,不能為空2.搜索關(guān)鍵字要用逗號(hào)隔開(kāi)信息審核員在登錄系統(tǒng)后,可以查找、審核信息編輯員添加的新聞及修改個(gè)人密碼,其中只有審核通過(guò)的新聞才能發(fā)布到網(wǎng)站前臺(tái)。信息審核員用例圖如圖3-4所示。圖3-4 信息審核員用例圖在信息審核員用例圖中,以審核新聞?dòng)美秊槔o出詳細(xì)用例描述,如表3-

39、3所示。表3-3 審核新聞?dòng)美枋鲇美幪?hào)UC_approveNews用例名稱審核新聞?dòng)美攀鲂畔徍藛T對(duì)信息編輯員添加的新聞進(jìn)行審核,信息審核成功之后才能發(fā)布到網(wǎng)站前臺(tái),審核不通過(guò)可以提出修改意見(jiàn),信息編輯員再進(jìn)行修改主參與者信息審核員次要參與者無(wú)項(xiàng)目相關(guān)人利益說(shuō)明項(xiàng)目相關(guān)人利益信息審核員能對(duì)信息編輯員添加的新聞進(jìn)行審核,可提出修改意見(jiàn),然后信息編輯員再做修改前置條件1.信息審核員已經(jīng)成功登錄系統(tǒng)2.有待審核的新聞信息后置條件信息審核通過(guò),在網(wǎng)站新聞欄目成功發(fā)布成功保證1.信息審核通過(guò),在網(wǎng)站新聞欄目成功展示2.審核不通過(guò),信息編輯員在新聞管理模塊可以看到審核不通過(guò)的新聞信息基本事件流步驟活

40、動(dòng)1新聞審核員點(diǎn)擊“新聞審核”菜單,打開(kāi)新聞審核主界面2新聞審核員對(duì)待審核狀態(tài)的新聞進(jìn)行審核,點(diǎn)擊“審核”打開(kāi)審核頁(yè)面3新聞審核員添加審核意見(jiàn),點(diǎn)擊“提交”按鈕,提示審核成功,返回新聞審核主界面4用例終止擴(kuò)展事件流3a信息審核員審核通過(guò),生成靜態(tài)html文件,新聞成功發(fā)布3b信息審核員審核不通過(guò),添加修改意見(jiàn),然后信息編輯員再修改子事件流無(wú)規(guī)則與約束1.審核成功的新聞才能夠發(fā)布到網(wǎng)站前臺(tái)2.審核成功時(shí)要生成新聞靜態(tài)HTML文件3.審核不通過(guò)要給出不通過(guò)緣由,并且能夠展示給信息編輯員系統(tǒng)管理員在登錄系統(tǒng)后,可以對(duì)用戶、用戶所屬角色、新聞?wù)故灸0暹M(jìn)行管理,也可對(duì)數(shù)據(jù)庫(kù)進(jìn)行備份、恢復(fù)及刪除備份數(shù)據(jù)。

41、其中角色管理包括添加角色、修改角色、刪除角色、給角色分配權(quán)限和成員管理,成員管理包括批量刪除、批量添加及查找成員等;用戶管理包括添加、修改、注銷(xiāo)、恢復(fù)用戶及分配用戶角色和查看用戶所屬角色等;模板管理包括增加、修改、刪改新聞模板等操作。系統(tǒng)管理員用例圖如圖3-5所示。圖3-5 系統(tǒng)管理員用例圖在系統(tǒng)管理員用例圖中,以管理角色用例為例給出用例描述,如表3-4所示。表3-4 管理角色用例描述用例編號(hào)UC_userGroup用例名稱管理角色用例概述系統(tǒng)管理員對(duì)系統(tǒng)角色及權(quán)限進(jìn)行管理,可以添加、修改、刪除角色,可以對(duì)角色權(quán)限進(jìn)行管理,也可對(duì)角色成員進(jìn)行管理主參與者系統(tǒng)管理員次要參與者無(wú)項(xiàng)目相關(guān)人利益說(shuō)明

42、項(xiàng)目相關(guān)人利益系統(tǒng)管理員對(duì)系統(tǒng)角色及權(quán)限進(jìn)行管理前置條件系統(tǒng)管理員成功登錄系統(tǒng)后置條件成功對(duì)角色及權(quán)限進(jìn)行管理成功保證添加的角色可以進(jìn)行權(quán)限以及成員管理基本事件流步驟活動(dòng)1系統(tǒng)管理員點(diǎn)擊“角色管理”菜單,打開(kāi)角色管理主界面2輸入角色名稱、角色說(shuō)明,點(diǎn)擊“添加”按鈕,添加角色3點(diǎn)擊“權(quán)限管理”按鈕,打開(kāi)權(quán)限管理頁(yè)面,對(duì)角色進(jìn)行權(quán)限管理4點(diǎn)擊“修改”按鈕,打開(kāi)修改界面,對(duì)角色信息進(jìn)行修改5點(diǎn)擊“刪除”按鈕,刪除角色6點(diǎn)擊“成員管理”按鈕,對(duì)角色成員進(jìn)行管理7用例終止擴(kuò)展事件流3a選擇或者去掉相應(yīng)的權(quán)限,點(diǎn)擊“提交”按鈕,權(quán)限管理成功,返回角色管理主界面4a修改角色名稱或者角色說(shuō)明,點(diǎn)擊“提交”按鈕

43、,修改成功,返回角色管理主界面6a點(diǎn)擊“批量添加”按鈕,打開(kāi)成員選擇頁(yè)面,選擇要添加的成員,點(diǎn)擊“提交”,添加成功,發(fā)揮角色成員管理頁(yè)面6b點(diǎn)擊“刪除”按鈕,刪除相應(yīng)成員6c選中要?jiǎng)h除的成員,點(diǎn)擊“刪除”按鈕,批量刪除成員子事件流無(wú)規(guī)則與約束1.對(duì)用戶進(jìn)行分角色管理,不同角色擁有不同權(quán)限2.權(quán)限直接賦予角色,擁有該角色的用戶即擁有該角色的所有權(quán)限3.4 性能需求為了保證系統(tǒng)能夠長(zhǎng)期、安全、穩(wěn)定、可靠、高效的運(yùn)行,新聞發(fā)布系統(tǒng)應(yīng)該滿足以下的性能需求:1.系統(tǒng)處理的準(zhǔn)確性和及時(shí)性系統(tǒng)處理的準(zhǔn)確性和及時(shí)性是系統(tǒng)的必要性能。在系統(tǒng)設(shè)計(jì)和開(kāi)發(fā)過(guò)程中,要充分考慮系統(tǒng)當(dāng)前和將來(lái)可能承受的工作量,使系統(tǒng)的處理

44、能力和響應(yīng)時(shí)間能夠滿足企業(yè)對(duì)信息處理的需求9。在系統(tǒng)開(kāi)發(fā)過(guò)程中,必須采用一定的方法保證系統(tǒng)運(yùn)行的正確性。2.系統(tǒng)的易用性新聞發(fā)布系統(tǒng)是面向用戶的,若用戶對(duì)計(jì)算機(jī)并不是非常熟悉,這就要求系統(tǒng)能夠提供良好的用戶接口,易用的人機(jī)交互界面。要實(shí)現(xiàn)這一點(diǎn),就要求系統(tǒng)應(yīng)該盡量使用戶熟悉的術(shù)語(yǔ)和中文信息的界面。3.系統(tǒng)的標(biāo)準(zhǔn)性在自主開(kāi)發(fā)本系統(tǒng)時(shí),要進(jìn)行良好的設(shè)計(jì)工作,制訂行之有效的軟件工程規(guī)范,保證代碼的易讀性、可操作性和可移植性。4.系統(tǒng)的安全性由功能性需求可知,系統(tǒng)管理員可對(duì)用戶進(jìn)行管理,這樣一定程度上降低了數(shù)據(jù)的安全,因此要使用MD5對(duì)用戶密碼進(jìn)行加密,這樣即使是系統(tǒng)管理員也無(wú)法知道其他用戶的密碼,這

45、樣一定程度上提高系統(tǒng)的安全性。3.5 本章小結(jié)本章首先描述了系統(tǒng)實(shí)際的業(yè)務(wù)流程,然后闡述了系統(tǒng)所要達(dá)到的目標(biāo),接著從用戶角度出發(fā),進(jìn)行了功能性分析,最后從系統(tǒng)準(zhǔn)確性、易用性、安全性等角度進(jìn)行了性能需求分析,為后續(xù)系統(tǒng)設(shè)計(jì)、實(shí)現(xiàn)打下了一個(gè)堅(jiān)實(shí)的基礎(chǔ)。4 總體設(shè)計(jì)總體設(shè)計(jì)主要指在系統(tǒng)需求分析基礎(chǔ)上,將整個(gè)系統(tǒng)模塊劃分、機(jī)器設(shè)備(包括軟、硬設(shè)備)配置和數(shù)據(jù)的存貯等進(jìn)行合理的安排10。本章將從系統(tǒng)架構(gòu)設(shè)計(jì)、功能模塊設(shè)計(jì)、數(shù)據(jù)庫(kù)設(shè)計(jì)和接口設(shè)計(jì)四個(gè)方面進(jìn)行介紹。4.1 架構(gòu)設(shè)計(jì)本系統(tǒng)采用輕量級(jí)SSH三層框架來(lái)實(shí)現(xiàn)MVC模式。MVC是一種設(shè)計(jì)模式,它的出現(xiàn)不僅實(shí)現(xiàn)了功能模塊和顯示模塊的分離,同時(shí)它還提高了應(yīng)

46、用系統(tǒng)的可維護(hù)性,可擴(kuò)展性,可移植性和組件的可復(fù)用性。它的主要思想是將應(yīng)用程序分成三個(gè)部分:模型(Model),視圖(View),控制器(Controller)。三者之間的協(xié)作關(guān)系:視圖即與用戶交互的界面,接收用戶輸入的數(shù)據(jù),并將數(shù)據(jù)傳送給控制器,控制器接受視圖的請(qǐng)求后,交給某一個(gè)模型來(lái)處理,模型在控制器的控制下,將處理的結(jié)果送給某個(gè)視圖來(lái)顯示,視圖再將結(jié)果顯示給用戶11。采用MVC設(shè)計(jì)模式,可以減弱業(yè)務(wù)邏輯接口和數(shù)據(jù)接口之間的耦合性并讓視圖層更富于變化,它還有利于軟件工程化管理。由于不同的層各司其職,每一層不同的應(yīng)用具有某些相同的特征,有利于通過(guò)工程化、工具化產(chǎn)生管理程序代碼。SSH是一個(gè)成

47、熟的輕量級(jí)組合框架,采用SSH來(lái)實(shí)現(xiàn)MVC模式,即JSP、HTML負(fù)責(zé)實(shí)現(xiàn)View層,Struts和Spring共同實(shí)現(xiàn)Control層,Spring和Hibernate來(lái)實(shí)現(xiàn)Model層。SSH三層框架的組合,充分發(fā)揮了各自的優(yōu)勢(shì),進(jìn)而形成一個(gè)結(jié)構(gòu)良好、功能強(qiáng)大,層次清晰的框架體系。SSH三層框架在系統(tǒng)中的集成過(guò)程,即在表示層,首先通過(guò)JSP頁(yè)面實(shí)現(xiàn)交互,負(fù)責(zé)傳送請(qǐng)求(Request)和接收響應(yīng)(Response),然后Struts將ActionServlet接收到的Request委派給Spring的DelegatingActionProxy托管,再轉(zhuǎn)交給相應(yīng)的Action處理。在業(yè)務(wù)層中,

48、管理服務(wù)組件Spring的IoC負(fù)責(zé)向Action提供業(yè)務(wù)模型(Model)組件和該組件的協(xié)作對(duì)象數(shù)據(jù)處理(Data Access Object,DAO)組件完成業(yè)務(wù)邏輯。在持久層中,則依賴于Hibernate的對(duì)象化映射和數(shù)據(jù)庫(kù)交互,處理DAO組件請(qǐng)求數(shù)據(jù),并返回處理結(jié)果。系統(tǒng)架構(gòu)如圖4-1所示。圖4-1 系統(tǒng)架構(gòu)4.2 功能設(shè)計(jì)新聞發(fā)布系統(tǒng)分為前臺(tái)設(shè)計(jì)和后臺(tái)設(shè)計(jì)兩部分。1.前臺(tái)設(shè)計(jì)前臺(tái)設(shè)計(jì)包括欄目顯示、新聞信息顯示,瀏覽、搜索新聞信息,對(duì)新聞進(jìn)行評(píng)論,對(duì)評(píng)論進(jìn)行回復(fù),注冊(cè)用戶,修改注冊(cè)信息,根據(jù)注冊(cè)郵箱找回密碼等。系統(tǒng)前臺(tái)功能結(jié)構(gòu)如圖4-2所示。圖4-2 前臺(tái)功能結(jié)構(gòu)圖2.后臺(tái)設(shè)計(jì)系統(tǒng)后臺(tái)

49、功能劃分為四大模塊,即欄目管理、新聞管理、評(píng)論管理、系統(tǒng)管理。其中欄目管理模塊包括添加、修改、刪除欄目及欄目以目錄結(jié)構(gòu)樹(shù)形式顯示;新聞管理模塊包括添加、修改、批量刪除、移動(dòng)新聞、審核、按條件查找新聞和查看新聞對(duì)應(yīng)評(píng)論等,當(dāng)新聞審核成功后,新聞標(biāo)題便以超鏈接形式顯示,點(diǎn)擊可以查看發(fā)布后的新聞;評(píng)論管理模塊包括審核評(píng)論及批量刪除評(píng)論等;系統(tǒng)管理模塊包括角色管理、用戶管理、模塊管理、修改密碼、數(shù)據(jù)庫(kù)恢復(fù)及備份,其中角色管理包括角色的增加、刪除、修改角色及權(quán)限分配和成員管理,成員管理包括批量刪除、批量添加成員等;用戶管理包括添加、修改、注銷(xiāo)、恢復(fù)、按條件查詢用戶及查看用戶所屬角色等;模板管理包括基本的

50、增加、刪除、修改操作。系統(tǒng)后臺(tái)功能結(jié)構(gòu)圖如圖4-3所示。圖4-3 后臺(tái)功能結(jié)構(gòu)圖4.3 數(shù)據(jù)庫(kù)設(shè)計(jì)與實(shí)現(xiàn)數(shù)據(jù)庫(kù)是整個(gè)項(xiàng)目設(shè)計(jì)中的關(guān)鍵,一個(gè)合理的數(shù)據(jù)庫(kù)能有效的管理后臺(tái)中的數(shù)據(jù),提高軟件的實(shí)用性12。數(shù)據(jù)庫(kù)設(shè)計(jì)主要包括兩個(gè)方面內(nèi)容:數(shù)據(jù)庫(kù)設(shè)計(jì)與實(shí)現(xiàn)。數(shù)據(jù)庫(kù)的設(shè)計(jì)主要經(jīng)過(guò)數(shù)據(jù)需求、概念結(jié)構(gòu)設(shè)計(jì)和邏輯結(jié)構(gòu)設(shè)計(jì)三個(gè)階段。4.3.1 數(shù)據(jù)需求在設(shè)計(jì)系統(tǒng)時(shí),主要從模塊組成、數(shù)據(jù)連接、功能實(shí)現(xiàn)、應(yīng)用意義等方面著手,而模塊組成主要包括系統(tǒng)的主要組成模塊以及每個(gè)模塊所要達(dá)到的功能。所以,要對(duì)每個(gè)模塊的數(shù)據(jù)需求進(jìn)行詳細(xì)的分析。根據(jù)需求分析,針對(duì)各模塊的特點(diǎn),可以總結(jié)出如下數(shù)據(jù)需求:1.新聞信息需包含新聞?lì)悇e、標(biāo)題

51、、內(nèi)容、關(guān)鍵字、作者、入庫(kù)時(shí)間、發(fā)布時(shí)間、新聞所選擇的靜態(tài)模板等數(shù)據(jù)特征。2.新聞?lì)悇e信息需包含類別名稱、類別描述、類別順序、類別的上級(jí)名稱、類別所選擇的靜態(tài)模板等數(shù)據(jù)特征。3.新聞審核信息需包新聞標(biāo)題、審核狀態(tài)、審核意見(jiàn)、審核時(shí)間等數(shù)據(jù)特征。4.新聞評(píng)論信息需包含評(píng)論的新聞標(biāo)題、評(píng)論內(nèi)容、用戶、評(píng)論時(shí)間、評(píng)論審核狀態(tài)等數(shù)據(jù)特征。5.用戶信息需包含用戶名、網(wǎng)名、密碼、用戶所屬角色、性別、郵箱、用戶是否有效、注冊(cè)日期等數(shù)據(jù)特征。6.角色信息需包含角色名稱、角色描述等數(shù)據(jù)特征。7.模板信息需包含模板名稱、模板標(biāo)簽、模板類型、對(duì)應(yīng)的模板文件等數(shù)據(jù)特征。8.權(quán)限信息需包含權(quán)限名稱、權(quán)限描述等數(shù)據(jù)特征。

52、9.模塊信息需包含模塊名稱等數(shù)據(jù)特征。10.一個(gè)新聞?lì)悇e可以包含多條新聞。11.一個(gè)模板可以被多條新聞所選。12.一條新聞可以被多個(gè)用戶評(píng)論。13.一條新聞可以被多次審核。14.一個(gè)用戶可以進(jìn)行多次評(píng)論。15.一個(gè)角色可以包含多個(gè)用戶。16.一個(gè)用戶也可以屬于多個(gè)角色。17.一個(gè)權(quán)限可以被多個(gè)角色擁有。18.一個(gè)角色可以擁有多個(gè)權(quán)限。經(jīng)上述系統(tǒng)功能分析和需求總結(jié),設(shè)計(jì)如下所示的數(shù)據(jù)項(xiàng)和數(shù)據(jù)結(jié)構(gòu):欄目信息:欄目名稱、欄目描述、欄目是否有效、欄目順序、父級(jí)欄目、欄目路徑、欄目展示模板。新聞信息:標(biāo)題、作者、新聞添加時(shí)間、發(fā)布時(shí)間、內(nèi)容、新聞所屬欄目、關(guān)鍵字、新聞生成靜態(tài)頁(yè)面存放的地址、修改日期、是

53、否允許評(píng)論、新聞狀態(tài)、所選模板。新聞審核信息:新聞審核意見(jiàn)、審核結(jié)果、審核新聞的日期、新聞標(biāo)題。模板信息:模板名稱、模板描述、模板類型、模板文件、生成靜態(tài)文件要替換的標(biāo)簽。評(píng)論信息:評(píng)論內(nèi)容、用戶、評(píng)論回復(fù)、評(píng)論的日期、評(píng)論狀態(tài)、評(píng)論的新聞。角色信息:角色名稱、角色描述。用戶信息:網(wǎng)名、用戶名、密碼、性別、郵箱、用戶狀態(tài)、注冊(cè)日期。權(quán)限信息:權(quán)限名稱、權(quán)限描述、權(quán)限所屬模塊名稱、權(quán)限操作后觸發(fā)的請(qǐng)求。模塊信息:模塊名稱。4.3.2 概念結(jié)構(gòu)設(shè)計(jì)概念結(jié)構(gòu)是獨(dú)立于任何一種數(shù)據(jù)模型的信息結(jié)構(gòu)。數(shù)據(jù)庫(kù)概念結(jié)構(gòu)設(shè)計(jì)的目標(biāo)是將需求分析得到的用戶需求抽象為信息結(jié)構(gòu),產(chǎn)生反映全組織信息需求的整體數(shù)據(jù)庫(kù)概念結(jié)構(gòu)

54、,即概念模式,是整個(gè)數(shù)據(jù)庫(kù)設(shè)計(jì)的關(guān)鍵13。根據(jù)需求分析得出系統(tǒng)基本E-R圖,如圖4-4所示。圖4-4 新聞發(fā)布系統(tǒng)基本E-R圖圖中欄目實(shí)體包含欄目名稱、欄目說(shuō)明、父級(jí)欄目名稱、欄目順序、欄目是否有效、欄目路徑、所屬模板屬性。新聞實(shí)體包含新聞標(biāo)題、作者、添加日期、發(fā)布日期、內(nèi)容、關(guān)鍵字、所屬欄目、新聞狀態(tài)、是否允許評(píng)論、修改日期、存放地址和所屬模板屬性。模板實(shí)體包含模板名稱、模板描述、模板類型、模板文件和模板標(biāo)簽屬性。新聞審核實(shí)體包含審核意見(jiàn)、審核結(jié)果、審核日期和對(duì)應(yīng)的新聞屬性。評(píng)論實(shí)體包含評(píng)論內(nèi)容、評(píng)論用戶、評(píng)論相關(guān)的評(píng)論、評(píng)論時(shí)間、評(píng)論狀態(tài)和評(píng)論的新聞屬性。角色實(shí)體包含角色名稱和角色描述屬性。用戶實(shí)體包含網(wǎng)名、用戶名、密碼、性別、郵箱、是否有效和注冊(cè)日期屬性。模塊實(shí)體包含模塊名稱屬性。權(quán)限實(shí)體包含權(quán)限名稱、權(quán)限描述和所屬模塊屬性。角色權(quán)限關(guān)系包含角色名稱和權(quán)限名稱屬性。用戶角色關(guān)系包含用戶名稱和角色名稱屬性。4.3.3 邏輯結(jié)構(gòu)設(shè)計(jì)邏輯結(jié)構(gòu)設(shè)計(jì)的任務(wù)是將概念結(jié)構(gòu)設(shè)計(jì)階段設(shè)計(jì)好的E-R圖轉(zhuǎn)化為對(duì)應(yīng)的關(guān)系模式,從而完成邏輯結(jié)構(gòu)設(shè)計(jì),為數(shù)據(jù)庫(kù)實(shí)現(xiàn)做準(zhǔn)備。欄目關(guān)系模式(主鍵用下劃線標(biāo)出,以下雷同):columns(columns_id,columns_name,columns_description,columns_isactive,columns_sortid,co

溫馨提示

  • 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ì)自己和他人造成任何形式的傷害或損失。

評(píng)論

0/150

提交評(píng)論