(論文)基于WEB的討論系統(tǒng)設(shè)計(jì)(2013年優(yōu)秀畢業(yè)設(shè)計(jì)論文)_第1頁(yè)
(論文)基于WEB的討論系統(tǒng)設(shè)計(jì)(2013年優(yōu)秀畢業(yè)設(shè)計(jì)論文)_第2頁(yè)
(論文)基于WEB的討論系統(tǒng)設(shè)計(jì)(2013年優(yōu)秀畢業(yè)設(shè)計(jì)論文)_第3頁(yè)
(論文)基于WEB的討論系統(tǒng)設(shè)計(jì)(2013年優(yōu)秀畢業(yè)設(shè)計(jì)論文)_第4頁(yè)
(論文)基于WEB的討論系統(tǒng)設(shè)計(jì)(2013年優(yōu)秀畢業(yè)設(shè)計(jì)論文)_第5頁(yè)
已閱讀5頁(yè),還剩53頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡(jiǎn)介

學(xué)號(hào): 06034050118 茂 名 學(xué) 院畢業(yè)設(shè)計(jì)說(shuō)明書(shū) 基于WEB的討論系統(tǒng) WEB-based Discussion System學(xué)院 電信學(xué)院 專(zhuān)業(yè) 計(jì)算機(jī)科學(xué)與技術(shù) 班級(jí) 計(jì)算機(jī)06-1 學(xué)生 指導(dǎo)教師(職稱(chēng)) 完成時(shí)間 2010 年 3 月 15 日 至 2010 年 6 月 15 日 專(zhuān)業(yè)負(fù)責(zé)人批準(zhǔn)日期茂 名 學(xué) 院畢 業(yè) 設(shè) 計(jì) 任 務(wù) 書(shū)院(系): 計(jì)算機(jī)與電子信息學(xué)院 專(zhuān)業(yè): 計(jì)算機(jī)科學(xué)與技術(shù) 班 級(jí): 計(jì)算機(jī)06-1班 學(xué)生: 學(xué)號(hào): 一、畢業(yè)論文課題 基于WEB的討論系統(tǒng) 二、畢業(yè)論文工作自 2010 年 3 月 15 日起至 2010 年 6 月 15 日止三、畢業(yè)論文進(jìn)行地點(diǎn) 計(jì)算機(jī)專(zhuān)業(yè)實(shí)驗(yàn)室 四、畢業(yè)論文的內(nèi)容要求 1. 確定調(diào)查對(duì)象,深入軟件使用者進(jìn)行調(diào)查研究,獲取第一手資料,采取各種方法查閱搜集資料,并進(jìn)行整理和分析。 2. 確定論文題目,撰寫(xiě)開(kāi)題報(bào)告,擬定論文撰寫(xiě)的基本內(nèi)容、撰寫(xiě)安排、重點(diǎn)與難點(diǎn)。 3. 畢業(yè)設(shè)計(jì)(論文)包含題名(標(biāo)題)、摘要、目次頁(yè)(目錄)、引言(前言)、正文、結(jié)論、結(jié)束語(yǔ)(謝辭)、參考文獻(xiàn)和附錄等幾部分。 4. 根據(jù)開(kāi)題報(bào)告撰寫(xiě)畢業(yè)論文,依照論文指導(dǎo)老師的要求不斷修改,逐步完善論文的寫(xiě)作。 5. 畢業(yè)論文要求立論正確,觀(guān)點(diǎn)鮮明,論據(jù)充分,論證有力,思路清晰,語(yǔ)句簡(jiǎn)潔流暢,結(jié)構(gòu)完整,并結(jié)合實(shí)例,形成個(gè)人的見(jiàn)解。指導(dǎo)教師 接受論文任務(wù)開(kāi)始執(zhí)行日期 2010 年 3 月 15 日學(xué)生簽名 摘 要隨著網(wǎng)絡(luò)技術(shù)的迅猛發(fā)展,網(wǎng)上交流已不再陌生,它開(kāi)辟出了一條新的溝通渠道,并被人們逐漸重視。在當(dāng)今WEB系統(tǒng)開(kāi)發(fā)中,PHP是一種比較流行的語(yǔ)言,是人們經(jīng)常使用的語(yǔ)言之一。本系統(tǒng)就是通過(guò)使用PHP 技術(shù)來(lái)設(shè)計(jì)與實(shí)現(xiàn)基于WEB的討論系統(tǒng),并采用了當(dāng)今主流技術(shù),即B/S體系結(jié)構(gòu),它打破了以前傳統(tǒng)的C/S開(kāi)發(fā)模式。本文對(duì)B/S模式進(jìn)行了簡(jiǎn)要的說(shuō)明,并概要的介紹了一下PHP,包括他的特點(diǎn)和運(yùn)行方式,以及PHP開(kāi)發(fā)環(huán)境的搭建在文中都有詳細(xì)的說(shuō)明。從需求分析、概要設(shè)計(jì)再到系統(tǒng)設(shè)計(jì)逐層深入的把本系統(tǒng)進(jìn)行了分析與研究,詳細(xì)地講解了系統(tǒng)的功能,最后還對(duì)系統(tǒng)進(jìn)行了詳細(xì)的測(cè)試。關(guān)鍵詞:討論系統(tǒng);B/S;PHPAbstractWith the rapid development of network technology, online communication is no longer strange, it opens up a new communication channel, and is increasingly emphasized by people. Because PHP is a relatively mature language, so that it is one of the frequent used languages in the development of network system. This system designs and implements an e-learning system teaching forum, through the use of PHP technology and using todays mainstream technology, that is, B/S structure, which breaks the previous traditional C/S development mode. In this paper, B/S model are briefly described and the outline of PHP, including its characteristics, operational modalities are presented. How to build the PHP development environment is detailed decribed in the text description. From the requirements analysis, the overall program, feasibility analysis, outline design, to the overall design of this system has been analyzed layer by layer deepen. The functions of the system page are explained in detail, and finally the system test, explained slightlyKey words: discussion system; B/S; PHP目 錄摘 要IAbstractII第一章 引言51.1課題背景51.2技術(shù)要求51.3研究工作5第二章 需求分析62.1可行性分析62.1.1經(jīng)濟(jì)可行性分析62.1.2技術(shù)可行性分析62.1.3操作可行性62.1.4社會(huì)可行性62.2綜合需求分析62.2.1功能需求72.2.2可靠性需求82.2.3安全性需求82.2.4用戶(hù)需求82.3業(yè)務(wù)流程圖92.3.1登錄業(yè)務(wù)流程92.3.2查看在線(xiàn)用戶(hù)業(yè)務(wù)流程92.3.3查看討論業(yè)務(wù)流程112.3.4發(fā)表討論業(yè)務(wù)流程11第三章 開(kāi)發(fā)環(huán)境和開(kāi)發(fā)工具介紹123.1 PHP概述123.2 PHP的特點(diǎn)133.3 Apache服務(wù)器143.4 MySQL 5.1.30153.5 Zend Studio153.6 軟件開(kāi)發(fā)環(huán)境163.7本章小結(jié)17第四章 概要設(shè)計(jì)184.1系統(tǒng)目標(biāo)184.2 基于WEB應(yīng)用程序結(jié)構(gòu)184.2.1表示層184.2.2業(yè)務(wù)邏輯層194.2.3數(shù)據(jù)層194.3模塊設(shè)計(jì)194.3.1用戶(hù)模塊204.3.2聊天模塊204.4系統(tǒng)功能結(jié)構(gòu)214.5數(shù)據(jù)庫(kù)設(shè)計(jì)224.5.1數(shù)據(jù)庫(kù)分析224.5.2數(shù)據(jù)庫(kù)概念設(shè)計(jì)22第五章 詳細(xì)設(shè)計(jì)265.1 Web站點(diǎn)的建立與管理265.1.1 Web服務(wù)的配置選項(xiàng)265.1.2創(chuàng)建Web站點(diǎn)265.2數(shù)據(jù)庫(kù)連接文件265.3系統(tǒng)設(shè)計(jì)275.3.1 首頁(yè)模塊設(shè)計(jì)275.3.2 注冊(cè)頁(yè)模塊設(shè)計(jì)285.3.3 對(duì)話(huà)模塊305.3.4 歷史記錄模塊335.3.5 修改密碼模塊385.3.6 退出登錄模塊39第六章 系統(tǒng)測(cè)試406.1系統(tǒng)測(cè)試說(shuō)明406.1.1系統(tǒng)測(cè)試簡(jiǎn)介406.1.2系統(tǒng)測(cè)試環(huán)境416.2系統(tǒng)測(cè)試過(guò)程416.2.1系統(tǒng)測(cè)試內(nèi)容416.2.2系統(tǒng)測(cè)試過(guò)程426.3測(cè)試結(jié)論46結(jié)論47致謝48參考文獻(xiàn)49附錄A 用戶(hù)使用說(shuō)明書(shū)5055第六章 系統(tǒng)測(cè)試第一章 引言1.1課題背景隨著科學(xué)技術(shù)的不斷發(fā)展,在不同地域的成員之間進(jìn)行討論變得非常普遍。計(jì)算機(jī)技術(shù)迅速向著網(wǎng)絡(luò)化、集成化方向發(fā)展。而支持網(wǎng)絡(luò)應(yīng)用的新一代網(wǎng)絡(luò)版應(yīng)用軟件正在涌現(xiàn),目前有一種趨勢(shì)是瀏覽器服務(wù)器的B/S結(jié)構(gòu)應(yīng)用系統(tǒng),它的特點(diǎn)是在客戶(hù)端直接采用了功能強(qiáng)大的瀏覽器軟件作為界面,其優(yōu)點(diǎn)在于軟件開(kāi)發(fā)效率高,客戶(hù)端不受操作平臺(tái)的限制、也不受地域的限制,網(wǎng)絡(luò)傳輸量少?;赪EB的討論系統(tǒng),正是為了解決和遠(yuǎn)處的成員共同討論而開(kāi)發(fā)的軟件,提高大家學(xué)習(xí)的效率,適應(yīng)現(xiàn)代社會(huì)的需要。1.2技術(shù)要求(1)功能模塊劃分合理,模塊之間依賴(lài)性低,擴(kuò)展性要強(qiáng);(2)數(shù)據(jù)庫(kù)設(shè)計(jì)要滿(mǎn)足功能要求,效率要高;(3)數(shù)據(jù)庫(kù)冗余度小,盡量滿(mǎn)足三范式要求;(4)實(shí)現(xiàn)PHP對(duì)MySQL數(shù)據(jù)庫(kù)的訪(fǎng)問(wèn);(5)采用Ajax技術(shù),能夠在不刷新頁(yè)面的情況下讀取對(duì)話(huà)信息;(6)程序能夠兼容IE、FireFox等主流的瀏覽器,做到與瀏覽器的無(wú)關(guān)性;(7)服務(wù)器系統(tǒng)必須運(yùn)行穩(wěn)定,網(wǎng)絡(luò)保持暢通;1.3研究工作為了順利完成基于WEB的討論系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn),在畢業(yè)設(shè)計(jì)期間通過(guò)收集資料研究了以下部分:1研究參考文獻(xiàn)中關(guān)于討論系統(tǒng)的內(nèi)容;2學(xué)習(xí)PHP相關(guān)技術(shù);3利用PHP技術(shù)和Zend Studio軟件設(shè)計(jì)討論系統(tǒng)各模塊頁(yè)面; 4熟悉Apache和PHP的運(yùn)行機(jī)制和配置方法; 5研究數(shù)據(jù)庫(kù)與PHP的連接模塊;6Ajax的工作機(jī)制;7討論系統(tǒng)的總體設(shè)計(jì)與實(shí)現(xiàn);8對(duì)基于WEB的討論系統(tǒng)進(jìn)行安全性分析。第二章 需求分析2.1可行性分析可行性分析法是對(duì)工程項(xiàng)目進(jìn)行系統(tǒng)技術(shù)經(jīng)濟(jì)論證,經(jīng)濟(jì)合理性綜合分析的方法。其目的是通過(guò)對(duì)技術(shù)先進(jìn)程度,經(jīng)濟(jì)合理性和條件可能性的分析論證,選擇以最小的人力、物力、財(cái)力耗費(fèi),取得最佳技術(shù)、經(jīng)濟(jì)、社會(huì)效益的切實(shí)方案。它是解決項(xiàng)目投資前期分析的主要手段。本討論系統(tǒng)的可行性主要從經(jīng)濟(jì)可行性、技術(shù)可行性、操作可信性和社會(huì)可行性分析來(lái)考慮。2.1.1經(jīng)濟(jì)可行性分析在經(jīng)濟(jì)上,該項(xiàng)目是可行的。本系統(tǒng)的制作只需安裝了PHP、Mysql、Apache,并且可運(yùn)行在Linux系統(tǒng)上,而這些軟件都是免費(fèi)的,從外界所需的條件來(lái)講成本比較低,開(kāi)發(fā)時(shí)無(wú)需網(wǎng)絡(luò)支持,發(fā)布時(shí)只需要在網(wǎng)上有空間,系統(tǒng)管理員定期對(duì)網(wǎng)站進(jìn)行維護(hù),網(wǎng)站就可以正常運(yùn)行。2.1.2技術(shù)可行性分析在技術(shù)上,該項(xiàng)目是可行的。本網(wǎng)站系統(tǒng)是采用PHP開(kāi)發(fā),以異步請(qǐng)求為核心,Mysql為數(shù)據(jù)庫(kù)開(kāi)發(fā),這些軟件可方面在Linux上安裝和調(diào)試,用Zend Studio和Photoshop等網(wǎng)頁(yè)處理工具,保證網(wǎng)站正常使用的前提下,頁(yè)面清新淡雅,內(nèi)容豐富多彩。2.1.3操作可行性在操作上,該項(xiàng)目是可行的。未注冊(cè)用戶(hù)可在系統(tǒng)上登陸、瀏覽公共討論內(nèi)容;已注冊(cè)普通用戶(hù)除了有未注冊(cè)用戶(hù)的功能權(quán)限外,還可發(fā)表講話(huà)、查看歷史記錄和刪除歷史記錄等功能,在系統(tǒng)里面的操作簡(jiǎn)單方便。2.1.4社會(huì)可行性當(dāng)今社會(huì)是一個(gè)信息技術(shù)的時(shí)代,計(jì)算機(jī)的發(fā)展越來(lái)越快,同時(shí)接觸和使用計(jì)算機(jī)的用戶(hù)也顯著增加,在這樣一個(gè)時(shí)代,計(jì)算機(jī)信息的需求量是非常大的,因此,該討論系統(tǒng)能夠很好的滿(mǎn)足社會(huì)的需求。2.2綜合需求分析軟件需求分析是軟件設(shè)計(jì)的基礎(chǔ)。它采用一系列行之有效的技術(shù)、方法和工具來(lái)分析用戶(hù)需求,通過(guò)特定的形式系統(tǒng)地描述擬開(kāi)發(fā)軟件的功能、性能,以及行為特征和相關(guān)約束,定義所有內(nèi)外部特征,最后形成既能指導(dǎo)軟件設(shè)計(jì)、又能同用戶(hù)溝通的軟件需求規(guī)格說(shuō)明。它覆蓋了軟件設(shè)計(jì)之前的各項(xiàng)活動(dòng)。需求分析還是一個(gè)項(xiàng)目提出方和承擔(dān)方相互溝通的過(guò)程,一方是系統(tǒng)的使用者,一方是系統(tǒng)的制造者,在系統(tǒng)涉及過(guò)程中,只有雙方相互配合,共同對(duì)系統(tǒng)進(jìn)行設(shè)計(jì)才能最后達(dá)到使用的要求。用戶(hù)是業(yè)務(wù)上的熟悉者,對(duì)業(yè)務(wù)流程有非常清晰的了解,但是,對(duì)于軟件需求方面的描述是不了解的,他們所能提供的只是他們最終要達(dá)到的功能,但是,這其中包含的業(yè)務(wù)流程是非常復(fù)雜的。我們拿到用戶(hù)需求后,應(yīng)該根據(jù)功能、流程進(jìn)行初步的設(shè)計(jì),構(gòu)造出業(yè)務(wù)流程圖,再讓用戶(hù)進(jìn)行評(píng)審,提出業(yè)務(wù)流程上不對(duì)的地方進(jìn)行修改。這樣來(lái)回的交流,最終才能取得較全面的需求,并減少后期的修改。2.2.1功能需求通過(guò)對(duì)本系統(tǒng)的使用場(chǎng)景模擬和用戶(hù)調(diào)研,本討論系統(tǒng)需要實(shí)現(xiàn)以下功能:(1) 免安裝客戶(hù)端用戶(hù)在不用額外安裝客戶(hù)端的情況下能夠使用本系統(tǒng),簡(jiǎn)化用戶(hù)使用本系統(tǒng)的操作,方便用戶(hù)第一次使用本系統(tǒng),能吸引更多的新用戶(hù)使用。(2) 游客身份登陸用戶(hù)第一次接觸本系統(tǒng)時(shí),有很多會(huì)抱著試一試的心態(tài)進(jìn)來(lái)的,如果在一開(kāi)始就讓用戶(hù)注冊(cè)等操作,部分用戶(hù)會(huì)覺(jué)得太麻煩而放棄使用。如果一開(kāi)始讓用戶(hù)可以以匿名方式登陸,能夠看公共聊天的內(nèi)容但要注冊(cè)后才能發(fā)表講話(huà),這樣才能吸引用戶(hù)進(jìn)行注冊(cè)。(3) 用戶(hù)注冊(cè)注冊(cè)過(guò)程盡量簡(jiǎn)化,系統(tǒng)對(duì)用戶(hù)操作本著友好的宗旨。用戶(hù)注冊(cè)之后,能夠使用本網(wǎng)站的所有功能。(4) 用戶(hù)登錄用戶(hù)可以通過(guò)本功能登錄系統(tǒng)。若用戶(hù)未登錄時(shí)進(jìn)入本系統(tǒng),自動(dòng)提示用戶(hù)進(jìn)行登錄。第一次注冊(cè)用戶(hù)可以實(shí)現(xiàn)自動(dòng)登陸系統(tǒng)。(5) 查看在線(xiàn)用戶(hù)用戶(hù)登陸之后,能夠在界面查看參與討論的用戶(hù)有哪些,并能顯示在線(xiàn)人數(shù)。(6) 選擇對(duì)話(huà)用戶(hù)進(jìn)入系統(tǒng)后,默認(rèn)是公共聊天模式,發(fā)表講話(huà)所有用戶(hù)能接收到;用戶(hù)在在線(xiàn)列表里面單擊某個(gè)用戶(hù),可以切換為私聊模式,在對(duì)話(huà)框提示只和該用戶(hù)對(duì)話(huà),發(fā)送的對(duì)話(huà)只有該用戶(hù)才能接收到,對(duì)其他用戶(hù)透明。此外,在線(xiàn)列表還有一個(gè)所有人的選項(xiàng),用戶(hù)單擊該選項(xiàng)可以恢復(fù)公共聊天模式。(7) 發(fā)表講話(huà)發(fā)表講話(huà)時(shí),用戶(hù)可以選擇字體的大小和顏色,方便區(qū)分和其他用戶(hù)的消息;此外,字?jǐn)?shù)限定在一定范圍內(nèi),防止用戶(hù)發(fā)送字?jǐn)?shù)過(guò)多的評(píng)論,影響其他用戶(hù)使用;發(fā)送頻率也要控制,對(duì)間隔太短的消息進(jìn)行屏蔽,防止用戶(hù)惡意刷屏,保證系統(tǒng)的穩(wěn)定運(yùn)行。(8) 查看歷史記錄用戶(hù)登錄之后,在聊天界面顯示查看歷史記錄的鏈接,點(diǎn)擊之后能查看以前講話(huà)的記錄。(9) 刪除歷史記錄用戶(hù)登錄之后,能刪除自己不想保存的聊天記錄,并且刪除記錄后,在對(duì)方聊天記錄同步刪除,保持用戶(hù)之間數(shù)據(jù)一致。(10) 用戶(hù)管理在聊天界面顯示修改密碼和退出登錄鏈接。修改密碼可以對(duì)自己的密碼進(jìn)行修改,但必須輸入原來(lái)的密碼,新密碼要輸入兩次進(jìn)行確認(rèn);退出登錄可以安全退出系統(tǒng),防止用戶(hù)離開(kāi)后被其他用戶(hù)使用并竊取聊天內(nèi)容。2.2.2可靠性需求硬件可靠性:包括服務(wù)器硬盤(pán)、CPU、網(wǎng)絡(luò)環(huán)境的運(yùn)行可靠性等,保證這些硬件介質(zhì)正??煽窟\(yùn)行。軟件可靠性:要求軟件在承載一定用戶(hù)在線(xiàn)等復(fù)雜的條件下也能穩(wěn)定運(yùn)行,不會(huì)產(chǎn)生異常情況。2.2.3安全性需求1.運(yùn)行系統(tǒng)的安全:保證信息處理和傳輸系統(tǒng)的安全,簡(jiǎn)稱(chēng)“系統(tǒng)安全”。系統(tǒng)安全主要包括計(jì)算機(jī)系統(tǒng)機(jī)房環(huán)境的保護(hù),計(jì)算機(jī)網(wǎng)絡(luò)拓?fù)浣Y(jié)構(gòu)設(shè)計(jì)的安全性考慮,硬件系統(tǒng)的可靠安全運(yùn)行,計(jì)算機(jī)操作系統(tǒng)和應(yīng)用軟件的安全,數(shù)據(jù)庫(kù)系統(tǒng)的安全等,本質(zhì)上是保護(hù)系統(tǒng)的合法操作和正常運(yùn)行。2.信息傳播的安全:信息傳播結(jié)果的安全,它側(cè)重于防止和控制非法的、有害的信息進(jìn)行傳播,避免對(duì)互聯(lián)網(wǎng)上大量自由傳輸?shù)男畔⑹Э?,本質(zhì)上主要是維護(hù)社會(huì)的道德、法則和國(guó)家利益。3.信息內(nèi)容的安全:網(wǎng)絡(luò)上信息內(nèi)容的安全,即狹義的“信息安全”,包括用戶(hù)身份認(rèn)證(一般采用口令鑒別)、用戶(hù)存取信息的權(quán)限控制、數(shù)據(jù)庫(kù)記錄訪(fǎng)問(wèn)權(quán)限、安全審計(jì)(一般系統(tǒng)都有日志記載)、計(jì)算機(jī)病毒防治、數(shù)據(jù)加密等內(nèi)容。4.網(wǎng)絡(luò)安全:運(yùn)行系統(tǒng)的安全、信息傳播的安全和信息內(nèi)容的安全的集合體。2.2.4用戶(hù)需求(1)實(shí)現(xiàn)討論系統(tǒng)基本功能,能接收各個(gè)用戶(hù)的言論,按照各自的聊天對(duì)象發(fā)送到相應(yīng)的用戶(hù)機(jī)瀏覽器上,在用戶(hù)瀏覽器上既能輸入自己的發(fā)言?xún)?nèi)容又能看到他人與自己的對(duì)話(huà)內(nèi)容,能與所喜歡的用戶(hù)進(jìn)行私聊,開(kāi)設(shè)自己?jiǎn)为?dú)的聊天包房;(2)擁有訊息區(qū),顯示聊友對(duì)話(huà)內(nèi)容的區(qū)域,方便聊友觀(guān)看和個(gè)人有關(guān)的對(duì)話(huà);(3)擁有在線(xiàn)名單區(qū),顯示在線(xiàn)聊友,聊友昵稱(chēng)等簡(jiǎn)單信息;(4)擁有發(fā)言區(qū),讓聊友能夠讓按照個(gè)性化的風(fēng)格來(lái)發(fā)表自己的觀(guān)點(diǎn),并提供讓聊友選擇聊天對(duì)象,私聊等功能。2.3業(yè)務(wù)流程圖業(yè)務(wù)流程圖(Transaction Flow Diagram,簡(jiǎn)稱(chēng)TFD),就是用一些規(guī)定的符號(hào)及連接來(lái)表示某個(gè)具體的業(yè)務(wù)處理過(guò)程。在對(duì)系統(tǒng)的組織結(jié)構(gòu)和功能進(jìn)行分析時(shí),需從一個(gè)實(shí)際業(yè)務(wù)流程的角度將系統(tǒng)調(diào)查中有關(guān)該業(yè)務(wù)流程的資料都串起來(lái)作進(jìn)一步的分析。業(yè)務(wù)流程分析可以幫助我們了解該業(yè)務(wù)的具體處理過(guò)程,發(fā)現(xiàn)和處理系統(tǒng)的調(diào)查工作中的錯(cuò)誤和疏漏。由于篇幅有限,并非所有的業(yè)務(wù)流程都會(huì)一一介紹,下面將會(huì)列出核心部分的業(yè)務(wù)流程圖和相關(guān)介紹。2.3.1登錄業(yè)務(wù)流程登錄時(shí),系統(tǒng)分為普通登錄和游客登錄兩部分。其業(yè)務(wù)流程如圖2.1所示:用戶(hù)以游客方式登錄是否已注冊(cè)用戶(hù)YYNN普通登錄注冊(cè)游客登錄圖2.1 登錄業(yè)務(wù)流程圖2.3.2查看在線(xiàn)用戶(hù)業(yè)務(wù)流程登錄后,普通用戶(hù)和游客都能查看在線(xiàn)用戶(hù)。用戶(hù)會(huì)發(fā)送請(qǐng)求,先從數(shù)據(jù)庫(kù)讀取用戶(hù)數(shù)據(jù),然后由程序程序生成在線(xiàn)用戶(hù)列表,如果在線(xiàn)列表有更新,則會(huì)更新到用戶(hù)屏幕上,以上過(guò)程會(huì)反復(fù)執(zhí)行,直到用戶(hù)退出登錄,流程才會(huì)停止。其業(yè)務(wù)流程如圖2.2所示:開(kāi)始讀取用戶(hù)數(shù)據(jù)有更新生成在線(xiàn)列表更新在線(xiàn)列表退出NNYY結(jié)束圖2.2 查看在線(xiàn)用戶(hù)業(yè)務(wù)流程圖開(kāi)始讀取對(duì)話(huà)有更新更新到屏幕退出NNYY結(jié)束圖2.3 查看討論業(yè)務(wù)流程圖2.3.3查看討論業(yè)務(wù)流程登錄后,普通用戶(hù)和游客都能查看其他用戶(hù)的討論內(nèi)容。首先由用戶(hù)發(fā)送請(qǐng)求,從數(shù)據(jù)庫(kù)讀取討論數(shù)據(jù),如果討論內(nèi)容有更新,則會(huì)更新到用戶(hù)屏幕上,以上過(guò)程會(huì)反復(fù)執(zhí)行,直到用戶(hù)退出登錄,流程才會(huì)停止。其業(yè)務(wù)流程如圖2.3所示:2.3.4發(fā)表討論業(yè)務(wù)流程登錄后,只有普通用戶(hù)能表討論,游客不能發(fā)表。用戶(hù)編寫(xiě)好內(nèi)容后,發(fā)送請(qǐng)求到服務(wù)器,由服務(wù)器腳本把用戶(hù)編寫(xiě)的討論內(nèi)容插入到數(shù)據(jù)庫(kù)。其業(yè)務(wù)流程如圖2.4所示:開(kāi)始編寫(xiě)內(nèi)容發(fā)送至服務(wù)器Y結(jié)束插入數(shù)據(jù)庫(kù)圖2.4 查看討論業(yè)務(wù)流程圖第三章 開(kāi)發(fā)環(huán)境和開(kāi)發(fā)工具介紹基于WEB的討論系統(tǒng),基于目前非常流行的WEB2.0技術(shù)。本系統(tǒng)設(shè)計(jì)為B/S結(jié)構(gòu)的應(yīng)用系統(tǒng)。服務(wù)器端的WEB服務(wù)器采用Apache,客戶(hù)端用PHP作為前端開(kāi)發(fā)工具,后臺(tái)采用MySQL 5.1.30的數(shù)據(jù)庫(kù)。系統(tǒng)運(yùn)行環(huán)境為Windows XP 或 Linux。服務(wù)器端采用目前流行的服務(wù)器端腳本語(yǔ)言PHP,其優(yōu)勢(shì)在于其是基于WEB的開(kāi)發(fā)工具,方便的程序跟蹤和調(diào)試環(huán)境,有眾多的擴(kuò)展類(lèi)庫(kù),安全性高,運(yùn)行穩(wěn)定,語(yǔ)法簡(jiǎn)單易學(xué)易用等,還有一大特點(diǎn)就是免費(fèi),是進(jìn)行快速、高效開(kāi)發(fā)的理想選擇。3.1 PHP概述PHP 獨(dú)特的語(yǔ)法混合了 C、Java、Perl 以及 PHP 自創(chuàng)新的語(yǔ)法。它可以比 CGI 或者 Perl 更快速的執(zhí)行動(dòng)態(tài)網(wǎng)頁(yè)。用PHP做出的動(dòng)態(tài)頁(yè)面與其他的編程語(yǔ)言相比,PHP是將程序嵌入到HTML文檔中去執(zhí)行,執(zhí)行效率比完全生成HTML標(biāo)記的CGI要高許多;PHP還可以執(zhí)行編譯后代碼,編譯可以達(dá)到加密和優(yōu)化代碼運(yùn)行,使代碼運(yùn)行更快。PHP具有非常強(qiáng)大的功能,所有的CGI的功能PHP都能實(shí)現(xiàn),而且支持幾乎所有流行的數(shù)據(jù)庫(kù)以及操作系統(tǒng)。PHP 最初是1994年Rasmus Lerdorf創(chuàng)建的,剛剛開(kāi)始只是一個(gè)簡(jiǎn)單的用Perl語(yǔ)言編寫(xiě)的程序,用來(lái)統(tǒng)計(jì)他自己網(wǎng)站的訪(fǎng)問(wèn)者。后來(lái)又用C語(yǔ)言重新編寫(xiě),包括可以訪(fǎng)問(wèn)數(shù)據(jù)庫(kù)。在1995年以Personal Home Page Tools (PHP Tools) 開(kāi)始對(duì)外發(fā)表第一個(gè)版本,Lerdorf寫(xiě)了一些介紹此程序的文檔,并且發(fā)布了PHP1.0。在這早期的版本中,提供了訪(fǎng)客留言本、訪(fǎng)客計(jì)數(shù)器等簡(jiǎn)單的功能。以后越來(lái)越多的網(wǎng)站使用了PHP,并且強(qiáng)烈要求增加一些特性,比如循環(huán)語(yǔ)句和數(shù)組變量等等,在新的成員加入開(kāi)發(fā)行列之后,在1995年中,PHP2.0發(fā)布了。第二版定名為PHP/FI(Form Interpreter)。PHP/FI加入了對(duì)mySQL的支持,從此建立了PHP在動(dòng)態(tài)網(wǎng)頁(yè)開(kāi)發(fā)上的地位。到了1996年底,有15000個(gè)網(wǎng)站使用 PHP/FI;時(shí)間到了1997年中,使用PHP/FI的網(wǎng)站數(shù)字超過(guò)五萬(wàn)個(gè)。而在1997年中,開(kāi)始了第三版的開(kāi)發(fā)計(jì)劃,開(kāi)發(fā)小組加入了 Zeev Suraski 及 Andi Gutmans,而第三版就定名為PHP3。2000年,PHP4.0又問(wèn)世了,其中增加了許多新的特性。 PHP 原本的簡(jiǎn)稱(chēng)為 Personal Home Page,是Rasmus Lerdorf 為了要維護(hù)個(gè)人網(wǎng)頁(yè),而用c語(yǔ)言開(kāi)發(fā)的一些CGI工具程序集,來(lái)取代原先使用的 Perl 程序。最初這些工具程序用來(lái)顯示 Rasmus Lerdorf 的個(gè)人履歷,以及統(tǒng)計(jì)網(wǎng)頁(yè)流量。他將這些程序和一些表單直譯器整合起來(lái),稱(chēng)為 PHP/FI。PHP/FI 可以和數(shù)據(jù)庫(kù)連接,產(chǎn)生簡(jiǎn)單的動(dòng)態(tài)網(wǎng)頁(yè)程序。Rasmus Lerdorf 在1995年6月8日將 PHP/FI 公開(kāi)釋出,希望可以透過(guò)社群來(lái)加速程序開(kāi)發(fā)與尋找錯(cuò)誤。這個(gè)釋出的版本命名為 PHP 2,已經(jīng)有今日 PHP 的一些雛型,像是類(lèi)似 Perl 的變量命名方式、表單處理功能、以及嵌入到 HTML 中執(zhí)行的能力。程序語(yǔ)法上也類(lèi)似 Perl,有較多的限制,不過(guò)更簡(jiǎn)單、更有彈性。在1997年,任職于 Technion IIT 公司的兩個(gè)以色列程序設(shè)計(jì)師:Zeev Suraski 和 Andi Gutmans,重寫(xiě)了 PHP 的剖析器,成為 PHP 3 的基礎(chǔ),而 PHP 也在這個(gè)時(shí)候改稱(chēng)為PHP: Hypertext Preprocessor.5。經(jīng)過(guò)幾個(gè)月測(cè)試,開(kāi)發(fā)團(tuán)隊(duì)在1997年11月釋出了 PHP/FI 2,隨后就開(kāi)始 PHP 3 的開(kāi)放測(cè)試,最后在1998年6月正式釋出 PHP 3。Zeev Suraski 和 Andi Gutmans 在 PHP 3 釋出后開(kāi)始改寫(xiě) PHP 的核心,這個(gè)在1999年釋出的剖析器稱(chēng)為 Zend Engine7,他們也在以色列的 Ramat Gan 成立了 Zend Technologies 來(lái)管理 PHP 的開(kāi)發(fā)。在2000年5月22日,以Zend Engine 1.0為基礎(chǔ)的PHP 4正式釋出,2004年7月13日則釋出了PHP 5,PHP 5則使用了第二代的Zend Engine5。PHP包含了許多新特色,像是強(qiáng)化的面向?qū)ο蠊δ?、引入PDO(PHP Data Objects,一個(gè)存取數(shù)據(jù)庫(kù)的延伸函數(shù)庫(kù))、以及許多效能上的增強(qiáng)。目前PHP 4已經(jīng)不會(huì)繼續(xù)更新,以鼓勵(lì)用戶(hù)轉(zhuǎn)移到PHP 5。2008年P(guān)HP 5成為了PHP唯一的有在開(kāi)發(fā)的PHP版本。將來(lái)的PHP 5.3將會(huì)加入Late static binding和一些其他的功能強(qiáng)化。PHP 6 的開(kāi)發(fā)也正在進(jìn)行中,主要的改進(jìn)有移除register_globals、magic quotes 和 Safe mode的功能。今天,已經(jīng)有包括百度和雅虎等在內(nèi)的數(shù)千萬(wàn)大型網(wǎng)站,以及眾多的開(kāi)發(fā)人員和編程愛(ài)好者正在使用PHP。從最初的PHP/FI到現(xiàn)在的PHP5,PHP的發(fā)展是及其迅猛的,其未來(lái)的發(fā)展前景也必定令人矚目。3.2 PHP的特點(diǎn)PHP有著簡(jiǎn)單易用和功能強(qiáng)大的特點(diǎn),這完全要?dú)w功于其開(kāi)放的模塊化設(shè)計(jì)。在基于Zend引擎的支持和優(yōu)化下,各種各樣的擴(kuò)展模塊,其功能已經(jīng)覆蓋幾乎所有的Web應(yīng)用。1、開(kāi)放性源代碼PHP4的原始碼完全公開(kāi),在Open Source意識(shí)抬頭的今天,它更是這方面的中流砥柱。新函數(shù)庫(kù)的不斷加入,強(qiáng)大的更新活力,使得PHP無(wú)論在UNIX還是Win32的平臺(tái)上都可以有更多新的功能。它提供豐富的函數(shù)式,使其在程序設(shè)計(jì)方面有著更好的支援,比傳統(tǒng)CGI或者ASP等程序更好,而且還有更強(qiáng)的新功能、更豐富的函數(shù)庫(kù)。2、基于服務(wù)器端由于PHP是在Web服務(wù)器端運(yùn)行的,所以即使PHP程序很大、很復(fù)雜,也不會(huì)降低客戶(hù)端的運(yùn)行速度。這意味著它同ASP一樣,不會(huì)占用太多的客戶(hù)端資源,同時(shí)相對(duì)于ActiveX、VBScript或JavaScript等運(yùn)行在客戶(hù)端的語(yǔ)言工具,也具有較好的安全性。而且這些語(yǔ)言可以很好地結(jié)合起來(lái),用PHP可以方便地激活A(yù)ctiveX控件,也可以動(dòng)態(tài)地生成Script語(yǔ)句。3、跨平臺(tái)PHP程序可以在UNIX、Linux、Windows和Macintosh等操作系統(tǒng)下運(yùn)行。同時(shí)PHP可以在Apache、IIS或ISAPI服務(wù)器上運(yùn)行,并且不經(jīng)改變就可在服務(wù)器平臺(tái)間移植。這一點(diǎn)很重要,也是它流行的一個(gè)重要原因。NASPI一定要在Netscape的服務(wù)器(如NETSCAPE ENTERPRISE SERVER或FAST TRACK SERVER)上才可以運(yùn)行,而ASP及ISAPI只在IIS上才有良好的性能。4、簡(jiǎn)單的語(yǔ)言PHP和Java、Perl以及C+不同,它以基本語(yǔ)言為基礎(chǔ),但其功能卻強(qiáng)大到足以支持任何類(lèi)型的Web站點(diǎn)。Java、Perl以及C+雖然也可以驅(qū)動(dòng)Web應(yīng)用程序,但它們和Web的通信不如PHP和ASP方便,語(yǔ)言也不夠簡(jiǎn)練。PHP吸取了C語(yǔ)言的精華,對(duì)于有Perl和C語(yǔ)言編程經(jīng)驗(yàn)的人來(lái)說(shuō),學(xué)習(xí)PHP是一件很容易的事情。因?yàn)镻HP語(yǔ)言可以嵌入到HTML內(nèi)部,這使得它的編程很靈活。5、高效率和其他的解釋性語(yǔ)言相比,PHP系統(tǒng)消耗的系統(tǒng)資源較少。當(dāng)用戶(hù)使用的是Apache服務(wù)器,并把PHP作為Apache Web服務(wù)器的一部分時(shí),運(yùn)行代碼不需要調(diào)用外部二進(jìn)制程序,服務(wù)器解釋腳本也不需要承擔(dān)任何額外負(fù)擔(dān),這使得PHP速度很快。用戶(hù)可以組建一個(gè)可以讀取XML信息的PHP版本。6、圖象處理PHP并非只限于創(chuàng)建HTML文件,還可以使用PHP動(dòng)態(tài)地創(chuàng)建圖像,甚至可以使用更方便的GIF數(shù)據(jù)流。大多數(shù)圖象函數(shù)都是在GD庫(kù)中完成它們的功能的,GD庫(kù)實(shí)際上是處理GIF圖像的免費(fèi)軟件,它可以通過(guò)PHP2.INI獲得DL函數(shù)來(lái)加載。但getimagesize函數(shù)是唯一的例外,因?yàn)樗偸怯行У?,因此需要使用GD庫(kù)中的圖象函數(shù)來(lái)編譯PHP。需要說(shuō)明的是,所有生成GIF圖像的函數(shù)均要求GD擴(kuò)展。這些函數(shù)用來(lái)處理在Web中最為流行的GIF格式的圖形圖像。在利用這些函數(shù)生成圖像時(shí),不能簡(jiǎn)單地決定在輸出HTML腳本中間輸出一個(gè)圖像,而必須由一個(gè)IMG標(biāo)記引出一個(gè)單獨(dú)的腳本來(lái)發(fā)送一個(gè)內(nèi)容類(lèi)型的頭。3.3 Apache服務(wù)器Apache服務(wù)器是運(yùn)行PHP程序最好的服務(wù)器系統(tǒng),通常情況下Apache都是運(yùn)行于Linux操作系統(tǒng)上的,但Apache也可以用于Windows版。本系統(tǒng)就是在WindowsXP下來(lái)搭建服務(wù)器環(huán)境,采用最新的Apache 2.2.11版本服務(wù)器。Apache的特性簡(jiǎn)述如下:1) 幾乎可以運(yùn)行在所有的計(jì)算機(jī)平臺(tái)上。2) 支持最新的HTTP/1.1協(xié)議。3) 簡(jiǎn)單而且強(qiáng)有力的基于文件的配置(HTTPD.CONF) 。4) 支持通用網(wǎng)關(guān)接口(CGI) 。5) 支持虛擬主機(jī)。6) 支持HTTP認(rèn)證。7) 集成PERL。8) 集成的代理服務(wù)器。9) 可以通過(guò)WEB瀏覽器監(jiān)視服務(wù)器的狀態(tài),可以自定義日志。10) 支持服務(wù)器端包含命令(SSI) 。11) 支持安全SOCKET層(SSL) 。12) 具有用戶(hù)會(huì)話(huà)過(guò)程的跟蹤能力。13) 支持FASTCGI。14) 支持JAVASERVLETS。 3.4 MySQL 5.1.30MySQL是一個(gè)多用戶(hù)、多線(xiàn)程的SQL數(shù)據(jù)庫(kù),是一個(gè)客戶(hù)機(jī)/服務(wù)器結(jié)構(gòu)大應(yīng)用,它由一個(gè)服務(wù)器守護(hù)程序mysqld和很多不同的客戶(hù)程序及庫(kù)組成。它是目前市場(chǎng)上運(yùn)行最快的SQL(Structured Query Language,結(jié)構(gòu)化查詢(xún)語(yǔ)言)數(shù)據(jù)庫(kù)之一。它提供了其他數(shù)據(jù)庫(kù)少有的編程工具,而且MySQL對(duì)于商業(yè)和個(gè)人用戶(hù)是免費(fèi)的。在本系統(tǒng)中,使用相對(duì)MySQL 5.1.30版本。MySQL5的功能特點(diǎn)如下:1) 可以同時(shí)處理幾乎不限數(shù)量的用戶(hù);2) 處理多達(dá)50 000 000條以上的記錄;3) 命令執(zhí)行速度快;4) 具有簡(jiǎn)單有效的用戶(hù)特權(quán)系統(tǒng)。3.5 Zend Studio一個(gè)屢獲大獎(jiǎng)的專(zhuān)業(yè) PHP 集成開(kāi)發(fā)環(huán)境,具備功能強(qiáng)大的專(zhuān)業(yè)編輯工具和調(diào)試工具,支持PHP語(yǔ)法加亮顯示,支持語(yǔ)法自動(dòng)填充功能,支持書(shū)簽功能,支持語(yǔ)法自動(dòng)縮排和代碼復(fù)制功能,內(nèi)置一個(gè)強(qiáng)大的PHP代碼調(diào)試工具,支持本地和遠(yuǎn)程兩種調(diào)試模式,支持多種高級(jí)調(diào)試功能。如圖3.1所示圖3.13.6 軟件開(kāi)發(fā)環(huán)境在開(kāi)發(fā)基于WEB的討論系統(tǒng)時(shí),該項(xiàng)目使用的軟件開(kāi)發(fā)環(huán)境如下:1. 服務(wù)器端操作系統(tǒng):Windows XP 服務(wù)器:Apache 2.2.11PHP軟件:PHP 5數(shù)據(jù)庫(kù):MySQL 5.1.30MySQL 圖形化管理軟件:phpMyadmin開(kāi)發(fā)工具:Zend Studio瀏覽器:IE 6.0及以上版本分辨率:最佳效果像素2. 客戶(hù)端:操作系統(tǒng):Windows XP 瀏覽器:IE 6.0及以上版本分辨率:最佳效果像素3.7本章小結(jié)本章主要講述了基于WEB的系統(tǒng)的開(kāi)發(fā)所用到的相關(guān)技術(shù)的簡(jiǎn)要介紹。本系統(tǒng)主要是使用PHP技術(shù)來(lái)進(jìn)行開(kāi)發(fā),使用Zend Studio作為系統(tǒng)界面的開(kāi)發(fā)軟件,使用Apache作為系統(tǒng)的服務(wù)器,使用MySQL 5.1.30作為存儲(chǔ)系統(tǒng)數(shù)據(jù)的數(shù)據(jù)庫(kù)。第四章 概要設(shè)計(jì)4.1系統(tǒng)目標(biāo)21世紀(jì)是網(wǎng)絡(luò)的時(shí)代,Internet的普及已經(jīng)影響了傳統(tǒng)的交流方式。討論系統(tǒng)是計(jì)算機(jī)網(wǎng)絡(luò)發(fā)展的產(chǎn)物,是最為常見(jiàn)、最受廣大互聯(lián)網(wǎng)使用者所認(rèn)可的基于Web的網(wǎng)絡(luò)應(yīng)用系統(tǒng)。隨著互聯(lián)網(wǎng)的發(fā)展,人們通過(guò)網(wǎng)絡(luò)可以更方便快捷地進(jìn)行信息交流和學(xué)習(xí),討論系統(tǒng)可以為大家提供一個(gè)更好的交流平臺(tái),在這個(gè)平臺(tái)上,人們可以通過(guò)文字與符號(hào)進(jìn)行實(shí)時(shí)的交談、聊天,它是一個(gè)向整個(gè)因特網(wǎng)開(kāi)放的地方,是提供給網(wǎng)民一個(gè)學(xué)習(xí)與娛樂(lè)的場(chǎng)所,在討論系統(tǒng)里大家可選擇自已的聊天對(duì)象,與其進(jìn)行對(duì)話(huà)交流,是成員之間相互溝通、交流情感的最佳方式之一。從傳播方式上講, 討論系統(tǒng)傳播是非線(xiàn)性傳播。非線(xiàn)形傳播指討論系統(tǒng)傳播的信息是為無(wú)數(shù)的共享空間的網(wǎng)絡(luò)用戶(hù)所發(fā)出的, 任何擁有網(wǎng)絡(luò)傳播權(quán)利的人都可以得到, 網(wǎng)絡(luò)打破了傳統(tǒng)媒體單向傳送信息的格局, 信息傳播者與接收者之間的互動(dòng)變得切實(shí)可行。從傳播流量上看, 討論系統(tǒng)傳播具有傳統(tǒng)媒體前所未有的兼容性。從傳播的信息內(nèi)涵上講, 討論系統(tǒng)的消息結(jié)構(gòu)是無(wú)中心的。討論系統(tǒng)所給受眾帶來(lái)的信息與感受作為一種現(xiàn)代生活資源, 在實(shí)現(xiàn)了從傳統(tǒng)大眾傳播的單向傳播向多向傳播的轉(zhuǎn)變后, 極大地拓展了現(xiàn)代生活空間, 使傳播者與受眾之間的直接連通成為可能。這一轉(zhuǎn)變使整個(gè)傳播結(jié)構(gòu)與傳播效果發(fā)生了巨大變化, 是傳統(tǒng)媒體無(wú)法比擬的。課題的最終目標(biāo)是開(kāi)發(fā)一個(gè)小型、快速的在線(xiàn)討論系統(tǒng)。為廣大用戶(hù)提供一個(gè)簡(jiǎn)明友好快速便捷的交流平臺(tái)。用戶(hù)可以快速地進(jìn)行新用戶(hù)的注冊(cè),無(wú)須安裝,直接通過(guò)瀏覽器進(jìn)行在線(xiàn)交流,本討論系統(tǒng)運(yùn)行環(huán)境要求較低。用戶(hù)在系統(tǒng)里可以暢所欲言、所發(fā)表的信息即時(shí)顯示在瀏覽器上。4.2 基于WEB應(yīng)用程序結(jié)構(gòu)基于WEB結(jié)構(gòu),即B/S結(jié)構(gòu)模型把傳統(tǒng)C/S結(jié)構(gòu)模型的服務(wù)器端進(jìn)一步深化,分解為一個(gè)應(yīng)用服務(wù)器(Web服務(wù)器)和一個(gè)或多個(gè)數(shù)據(jù)庫(kù)服務(wù)器,用瀏覽器(Browser)作為客戶(hù)端,從而形成三層或多層模型。B/S 結(jié)構(gòu)分為表示層、業(yè)務(wù)邏輯層和數(shù)據(jù)層。4.2.1表示層表示層主要負(fù)責(zé)人機(jī)交互,其功能是為用戶(hù)提供一個(gè)瀏覽文檔的可視化窗口,用戶(hù)通過(guò)瀏覽器,向Web服務(wù)器發(fā)送請(qǐng)求,處理應(yīng)用系統(tǒng)界面的輸出,是實(shí)現(xiàn)用戶(hù)與應(yīng)用邏輯處理結(jié)果的交互界面。4.2.2業(yè)務(wù)邏輯層業(yè)務(wù)邏輯層是教學(xué)論壇核心邏輯的應(yīng)用主體。它主要是處理表示層傳遞過(guò)來(lái)的用戶(hù)響應(yīng),并將結(jié)果返回給表示層。業(yè)務(wù)邏輯層中包含了各種業(yè)務(wù)邏輯模塊以及對(duì)這些模塊管理、調(diào)度整個(gè)系統(tǒng)的各個(gè)模塊的業(yè)務(wù)邏輯功能都在這一層實(shí)現(xiàn) 。這一層主要由各種業(yè)務(wù)組件和不同層次的JavaBeans組成, 并對(duì)應(yīng)用邏輯進(jìn)行集中管理。4.2.3數(shù)據(jù)層數(shù)據(jù)層主要提供數(shù)據(jù)管理, 對(duì)數(shù)據(jù)庫(kù)進(jìn)行讀寫(xiě),能夠執(zhí)行大量的數(shù)據(jù)更新和檢索, 完成數(shù)據(jù)存儲(chǔ),如圖1所示。圖4.1 數(shù)據(jù)層圖示例如:用戶(hù)通過(guò)瀏覽器訪(fǎng)問(wèn)Web服務(wù)器中的教學(xué)論壇主頁(yè)面進(jìn)行登錄,系統(tǒng)驗(yàn)證用戶(hù)身份后,根據(jù)用戶(hù)操作權(quán)限進(jìn)行操作頁(yè)面,用戶(hù)利用操作頁(yè)面輸入各種操作命令(如查詢(xún)、瀏覽等),命令和數(shù)據(jù)經(jīng)Web服務(wù)器訪(fǎng)問(wèn)數(shù)據(jù)庫(kù)服務(wù)器上相關(guān)數(shù)據(jù)后,由數(shù)據(jù)庫(kù)服務(wù)器將處理結(jié)果返回給Web服務(wù)器,Web服務(wù)器再將處理結(jié)果生成HTML頁(yè)面返回到客戶(hù)端瀏覽器。4.3模塊設(shè)計(jì)歡迎界面用戶(hù)模塊聊天模塊圖4.2 網(wǎng)站模塊分析網(wǎng)站總體分為三大模塊,分別是:歡迎界面、用戶(hù)模塊、聊天模塊。其中歡迎模塊就是開(kāi)始的歡迎頁(yè)面,是全網(wǎng)站的首頁(yè),也是帶領(lǐng)用戶(hù)進(jìn)入本網(wǎng)站的向?qū)?,其中包含進(jìn)入登錄界面和進(jìn)入注冊(cè)界面兩個(gè)功能。4.3.1用戶(hù)模塊用戶(hù)模塊用戶(hù)注冊(cè)用戶(hù)登錄修改密碼退出登錄圖4.3 用戶(hù)模塊分析用戶(hù)模塊主要包括用戶(hù)注冊(cè)、用戶(hù)登錄、修改密碼和退出登錄幾個(gè)單元。用戶(hù)的登錄可以使用已經(jīng)注冊(cè)的注冊(cè)用戶(hù)身份登錄,也可以使用游客身份進(jìn)行登錄。使用游客身份登錄的話(huà)是不需要注冊(cè)的,但同時(shí)也不能發(fā)言,只能查看其他用戶(hù)發(fā)言,可以彌補(bǔ)這個(gè)的就是使用注冊(cè)用戶(hù)身份了,那樣便可以有一個(gè)固定的稱(chēng)呼,可以更好的與聊友們交流,不過(guò)這樣的話(huà)就需要用戶(hù)進(jìn)行注冊(cè)了。用戶(hù)的注冊(cè)單元是常規(guī)的注冊(cè),主要包含用戶(hù)名、密碼。注冊(cè)的成功與否會(huì)有相應(yīng)的提示。已注冊(cè)用戶(hù)的登錄實(shí)現(xiàn)主要通過(guò)將用戶(hù)的提交用戶(hù)名與數(shù)據(jù)庫(kù)中的對(duì)比,查找是否有該用戶(hù)名,使用動(dòng)態(tài)select選取SQL語(yǔ)句。如果數(shù)據(jù)庫(kù)內(nèi)沒(méi)有該用戶(hù)名,則該用戶(hù)顯然尚未注冊(cè),反饋相應(yīng)信息;如果有該用戶(hù)名則繼續(xù)對(duì)應(yīng)用戶(hù)提交的密碼與數(shù)據(jù)庫(kù)內(nèi)該用戶(hù)名項(xiàng)的密碼相對(duì)比,一樣則允許用戶(hù)登錄,并將頁(yè)面轉(zhuǎn)到聊天界面,否則提示相應(yīng)錯(cuò)誤信息。修改密碼和退出登錄容易理解。修改密碼是指用戶(hù)更改自己正在使用的密碼,修改的時(shí)候必須輸入舊密碼以確認(rèn)用戶(hù)身份;退出登錄指退出當(dāng)前會(huì)話(huà),注銷(xiāo)當(dāng)前SESSION,防止其他用戶(hù)非法進(jìn)入。4.3.2聊天模塊聊天模塊用戶(hù)列表單元輸入單元輸出單元?dú)v史記錄單元圖4.4 聊天模塊分析聊天頁(yè)面由四個(gè)單元組成,如上圖所示,分別為用戶(hù)列表單元、輸入單元、輸出單元和歷史記錄單元。用戶(hù)列表單元為顯示當(dāng)前在線(xiàn)用戶(hù)的用戶(hù)名的地方,位于聊天頁(yè)面的右邊,并將各個(gè)在線(xiàn)用戶(hù)的用戶(hù)名以超級(jí)鏈接的方式顯示出來(lái),供當(dāng)前使用者點(diǎn)擊并自動(dòng)獲得下一個(gè)說(shuō)話(huà)對(duì)象,頁(yè)面使用了自動(dòng)刷新方法,刷新時(shí)間為2秒,從而保證了列表中的總能保持著較為新的當(dāng)前用戶(hù)名列表。輸入單元是用戶(hù)進(jìn)行聊天的主要單元,用戶(hù)的發(fā)言、聊天對(duì)象、表情用語(yǔ)、是否私聊、是否退出私聊或者是退出討論系統(tǒng),都是通過(guò)輸入?yún)^(qū)實(shí)現(xiàn)的。這里是用戶(hù)的操作界面。聊天對(duì)象的文本框是一個(gè)動(dòng)態(tài)文本框,當(dāng)用戶(hù)點(diǎn)擊左邊的用戶(hù)列表中的用戶(hù)名的超鏈接時(shí)實(shí)現(xiàn)兩個(gè)人之間的私聊輸出單元是用戶(hù)的發(fā)言區(qū),所有的談話(huà)都將在這里得到顯示,無(wú)論是公告、對(duì)所有人的聊天或者是私聊的話(huà)語(yǔ)。信息的得到是通過(guò)輸入?yún)^(qū)獲得,或系統(tǒng)自動(dòng)生成的。用戶(hù)的輸出語(yǔ)言因用戶(hù)的發(fā)言方式,如私聊或悄悄話(huà)等而不同,文字的顏色也是用戶(hù)自己所選擇。輸出單元的文字條數(shù)在多于輸出頁(yè)面大小的時(shí)候會(huì)自動(dòng)產(chǎn)生滾動(dòng)條并滾動(dòng),以保持最新的聊天內(nèi)容在輸出單元顯示。歷史記錄單元讓用戶(hù)登錄能查看以前講話(huà)的記錄,方便上次對(duì)話(huà)的主題,以便更好的進(jìn)行本次對(duì)話(huà);并能刪除自己不想保存的聊天記錄,并且刪除記錄后,在對(duì)方聊天記錄同步刪除,保持用戶(hù)之間數(shù)據(jù)一致4.4系統(tǒng)功能結(jié)構(gòu)基于WEB的討論系統(tǒng)的功能結(jié)構(gòu)圖如圖4.5所示。討論系統(tǒng)用戶(hù)登錄選擇對(duì)話(huà)用戶(hù)發(fā)表講話(huà)查看歷史記錄刪除歷史記錄修改密碼退出登錄查看在線(xiàn)用戶(hù)用戶(hù)注冊(cè)圖4.5 系統(tǒng)功能結(jié)構(gòu)圖表4.1 系統(tǒng)功能描述功能名稱(chēng)功能描述輸入內(nèi)容輸出內(nèi)容用戶(hù)登陸保證合法用戶(hù)通過(guò)身份驗(yàn)證用戶(hù)名,密碼用戶(hù)登陸狀態(tài)用戶(hù)注冊(cè)成為本系統(tǒng)的用戶(hù)用戶(hù)名,密碼用戶(hù)是否注冊(cè)成功查看在線(xiàn)用戶(hù)查看當(dāng)前在線(xiàn)情況無(wú)在線(xiàn)用戶(hù)列表發(fā)表講話(huà)發(fā)送對(duì)話(huà)給對(duì)方對(duì)話(huà)內(nèi)容對(duì)話(huà)內(nèi)容查看歷史記錄可以查看以前的對(duì)話(huà)記錄無(wú)歷史對(duì)話(huà)內(nèi)容刪除歷史記錄可以刪除以前的對(duì)話(huà)記錄要?jiǎng)h除的記錄刪除是否成功修改密碼可以修改自己的登陸密碼舊密碼,新密碼修改密碼是否成功退出系統(tǒng)安全退出當(dāng)前會(huì)話(huà)無(wú)返回歡迎頁(yè)面4.5數(shù)據(jù)庫(kù)設(shè)計(jì)4.5.1數(shù)據(jù)庫(kù)分析數(shù)據(jù)庫(kù)的設(shè)計(jì)通常是以一個(gè)已經(jīng)存在的數(shù)據(jù)庫(kù)管理系統(tǒng)為基礎(chǔ)的,常用的數(shù)據(jù)庫(kù)管理系統(tǒng)有MySQL、 Server、 Oracle、Access等。本系統(tǒng)采用了MySQL數(shù)據(jù)庫(kù),phpMyAdmin為MySQL數(shù)據(jù)庫(kù)提供了圖形化界面。4.5.2數(shù)據(jù)庫(kù)概念設(shè)計(jì)根據(jù)以上各節(jié)對(duì)系統(tǒng)所做的需求分析、系統(tǒng)設(shè)計(jì),規(guī)劃出點(diǎn)本系統(tǒng)的實(shí)體關(guān)系E-R圖。實(shí)體關(guān)系E-R圖是用來(lái)描述實(shí)體之間關(guān)系的圖表,構(gòu)成E-R圖的基本要素是實(shí)體型、屬性和聯(lián)系。本系統(tǒng)中使用的數(shù)據(jù)庫(kù)實(shí)體分別為用戶(hù)信息實(shí)體和對(duì)話(huà)信息實(shí)體。現(xiàn)介紹其實(shí)體的E-R圖。1. 用戶(hù)信息實(shí)體商品信息實(shí)體包括用戶(hù)名、加密密碼、在線(xiàn)驗(yàn)證時(shí)間、最后登錄時(shí)間、最后對(duì)話(huà)時(shí)間等屬性。商品信息的實(shí)體圖如圖4.6所示。用戶(hù)信息加密后的密碼在線(xiàn)驗(yàn)證時(shí)間用戶(hù)名最后對(duì)話(huà)時(shí)間最后登錄時(shí)間圖4.6 用戶(hù)信息實(shí)體圖2. 對(duì)話(huà)信息實(shí)體商品訂單實(shí)體包括對(duì)話(huà)ID,對(duì)話(huà)時(shí)間,對(duì)話(huà)內(nèi)容,發(fā)送方,接收方等屬性。商品訂單的實(shí)體圖如圖4.7所示。對(duì)話(huà)信息對(duì)話(huà)ID接收方對(duì)話(huà)時(shí)間對(duì)話(huà)內(nèi)容發(fā)送方圖4.7 商品訂單實(shí)體圖4.5.3創(chuàng)建數(shù)據(jù)庫(kù)及數(shù)據(jù)表1. 在phpMyAdmin的主界面中創(chuàng)建數(shù)據(jù)庫(kù),創(chuàng)建一個(gè)名稱(chēng)為chat的數(shù)據(jù)庫(kù)。具體如下圖4.8所示。圖4.8 創(chuàng)建數(shù)據(jù)庫(kù)2. 結(jié)合實(shí)際情況及對(duì)用戶(hù)需求的分析,討論系統(tǒng)數(shù)據(jù)庫(kù)主要包含如下數(shù)據(jù)表。(1) user(用戶(hù)信息表)用戶(hù)信息表主要用于存儲(chǔ)用戶(hù)的信息。該數(shù)據(jù)表結(jié)構(gòu)如表4.2所示。表4.2用戶(hù)信息表usernamevarchar(32)用戶(hù)名pswvarchar(32)md5加密后的密碼login_timevarchar(19)在線(xiàn)驗(yàn)證時(shí)間login_tvarchar(19)最后登錄時(shí)間last_talkvarchar(19)最后對(duì)話(huà)時(shí)間(2) chat_mess(對(duì)話(huà)信息表)用戶(hù)訂單表主要用于存儲(chǔ)用戶(hù)的訂單信息。該數(shù)據(jù)表結(jié)構(gòu)如表4.

溫馨提示

  • 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶(hù)所有。
  • 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ì)用戶(hù)上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶(hù)上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶(hù)因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

評(píng)論

0/150

提交評(píng)論