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

下載本文檔

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

文檔簡介

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

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(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)論