![BBS論壇畢業(yè)設(shè)計(jì)論文_第1頁](http://file4.renrendoc.com/view/f1c1394eb4a429d84a73fc71bf80da8d/f1c1394eb4a429d84a73fc71bf80da8d1.gif)
![BBS論壇畢業(yè)設(shè)計(jì)論文_第2頁](http://file4.renrendoc.com/view/f1c1394eb4a429d84a73fc71bf80da8d/f1c1394eb4a429d84a73fc71bf80da8d2.gif)
![BBS論壇畢業(yè)設(shè)計(jì)論文_第3頁](http://file4.renrendoc.com/view/f1c1394eb4a429d84a73fc71bf80da8d/f1c1394eb4a429d84a73fc71bf80da8d3.gif)
![BBS論壇畢業(yè)設(shè)計(jì)論文_第4頁](http://file4.renrendoc.com/view/f1c1394eb4a429d84a73fc71bf80da8d/f1c1394eb4a429d84a73fc71bf80da8d4.gif)
![BBS論壇畢業(yè)設(shè)計(jì)論文_第5頁](http://file4.renrendoc.com/view/f1c1394eb4a429d84a73fc71bf80da8d/f1c1394eb4a429d84a73fc71bf80da8d5.gif)
版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡介
31PAGE目錄TOC\o"1-3"\h\u摘要 -2-緒論 -3-1.1BBS的發(fā)展背景 -3-1.2BBS對大學(xué)生學(xué)習(xí)生活的影響 -3-1.2.1BBS提供了豐富的網(wǎng)絡(luò)學(xué)習(xí)資源 -3-1.2.2BBS促進(jìn)了協(xié)作學(xué)習(xí) -3-1.2.3BBS提高了學(xué)生自主學(xué)習(xí)能力 -4-2軟件介紹及基本原理 -4-2.1ADO技術(shù) -4-2.2開發(fā)環(huán)境及工具 -6-2.3ASP有關(guān)的內(nèi)置對象的設(shè)置 -6-2.3.1Request對象 -6-2.3.2Response對象 -6-2.3.3Server對象 -6-2.3.4Session對象 -6-2.4與ADO有關(guān)的設(shè)置 -7-3系統(tǒng)需求規(guī)劃 -7-3.1需求分析 -8-3.2功能設(shè)計(jì) -11-3.2.1基本功能設(shè)計(jì) -11-3.2.2擴(kuò)展功能設(shè)計(jì) -11-3.3設(shè)計(jì)可擴(kuò)充功能的接口 -13-4功能模塊與數(shù)據(jù)庫設(shè)計(jì) -13-4.1設(shè)計(jì)框架 -13-4.2模塊的劃分及設(shè)計(jì) -16-4.2.1我所負(fù)責(zé)的頁面代碼 -17-首頁: -17-4.3設(shè)計(jì)數(shù)據(jù)庫 -22-4.4創(chuàng)建數(shù)據(jù)庫 -22-5系統(tǒng)實(shí)現(xiàn)與測試 -23-5.1驗(yàn)證性測試 -24-5.2添加、編輯和刪除功能測試 -26-6結(jié)束語 -27-6.1系統(tǒng)的特點(diǎn)與局限性 -27-6.1.1特點(diǎn) -27-6.1.2局限性 -28-6.2實(shí)施過程中的一些體會 -28-致謝 -29-參考文獻(xiàn) -30-摘要BBS已經(jīng)成為人們獲取信息、發(fā)表言論的重要場所。它由論壇注冊用戶所發(fā)表的大量主題組成。近些年來,隨著校園網(wǎng)建設(shè)的發(fā)展,大學(xué)校園網(wǎng)BBS也越來越火,因此建設(shè)一個(gè)好的BBS顯得越來越有必要了.本文論述了開發(fā)一個(gè)簡單的BBS系統(tǒng)所用到的關(guān)鍵技術(shù)和方法。其中運(yùn)用了VB技術(shù)、ACCESS數(shù)據(jù)庫等等,對上述技術(shù)的實(shí)現(xiàn)方法進(jìn)行了詳細(xì)的討論,介紹了在WEB服務(wù)器上,利用VB技術(shù)和ADO等技術(shù),實(shí)現(xiàn)了一個(gè)簡單的BBS系統(tǒng)的設(shè)計(jì)與開發(fā),并詳細(xì)討論了該系統(tǒng)的實(shí)現(xiàn)過程及其結(jié)構(gòu)。AbstractBBShasbeenaccesstoinformation,animportantplaceofspeech.ItispublishedbytheForumtoregistereduserscomposedofalargenumberoftopics.Inrecentyears,withthedevelopmentofthecampusnetworkconstruction,theUniversitycampusnetworkmoreandmorefire,BBS,BBSthereforeseemsagoodbuildingmoreandmorenecessary.ThisarticlediscussesthedevelopmentofasimpleBBSsystemisthekeytechnologyusedinandmethods.OneuseoftheVBtechnique,ACCESSdatabase,etc.,therealizationofthesetechnicalmethodsarediscussedindetail,describestheWEBserver,usingVBandADOtechnologiessuchastechnology,asimpleBBSsystemdesignanddevelopment,discussedindetailthesystemimplementationprocessanditsstructure.緒論1.1BBS的發(fā)展背景BBS是在1992年底隨著國際互聯(lián)網(wǎng)的開始流行而迅速發(fā)展起來的.互聯(lián)網(wǎng)的產(chǎn)生使得以前只能在本地訪問的BBS可以被全世界隨意訪問,這對大多數(shù)人來說是極具誘惑力的.BBS是一個(gè)有多人參加的討論系統(tǒng),在BBS上大家可以對一個(gè)共同感興趣的問題進(jìn)行討論,自由地發(fā)表自己的意見與觀點(diǎn),并且能直接與其他的人進(jìn)行溝通.按照網(wǎng)站的性質(zhì)以及服務(wù)對象來分,迄今有以下幾種類型:一是校園BBS.校園BBS作為主要的集中地,在BBS領(lǐng)域具有舉足輕重的地位.由于校園BBS的繁榮,吸引了很多的社會人士參與.二是專業(yè)BBS.一般是由各個(gè)著名的大公司組建,人們可以利用其交流自己對商品的看法,更為重要的是可以解決商品使用中的問題.三是商業(yè)BBS.它是由ISP建立的BBS站點(diǎn),這類BBS站點(diǎn)各種信息比較多,內(nèi)容相當(dāng)豐富.四是小型局域BBS.一般是由個(gè)人或小型集體建立,為小范圍信息交流服務(wù).五是業(yè)余BBS.一般由BBS愛好者個(gè)人利用一些免費(fèi)空間辦的BBS,目的是為廣大網(wǎng)友提供一個(gè)在某些專業(yè)上的交流場所.六是新聞媒體BBS.是由新聞媒體網(wǎng)站設(shè)立的,為廣大網(wǎng)友提供對新聞信息進(jìn)行評論、發(fā)表意見和觀點(diǎn)的場所.隨著互聯(lián)網(wǎng)事業(yè)的蓬勃發(fā)展.BBS,這個(gè)具有強(qiáng)大實(shí)時(shí)交互功能,信息交流的平臺,使人們不再像電視觀眾、電臺聽眾、報(bào)紙雜志讀者一樣只是被動地觀看、收聽、閱讀,而是可以積極而及時(shí)地參與討論,在了解他人觀點(diǎn)意見的同時(shí)也可以發(fā)表自己的看法.1.2BBS對大學(xué)生學(xué)習(xí)生活的影響1.2.1BBS提供了豐富的網(wǎng)絡(luò)學(xué)習(xí)資源論壇是一個(gè)經(jīng)過學(xué)習(xí)者整理加工過的網(wǎng)絡(luò)資源匯en集中心,從新聞、學(xué)習(xí)到娛樂、體育,從文字到視頻、音頻,BBS匯集了各種形式、內(nèi)容的網(wǎng)絡(luò)資源。不少BBS都設(shè)有專門的NetResources(網(wǎng)絡(luò)資源)板塊;FTP技術(shù)和BT技術(shù)的發(fā)展更是為BBS站內(nèi)資源的更新、共享提供了方便。如今,大部分大學(xué)的BBS論壇都有相應(yīng)的FTP服務(wù)器,不少BBS還與網(wǎng)絡(luò)新興的BT技術(shù)、Blog(博客)技術(shù)等連接起來BBS水木清華站就有“水木Blog”的欄目)。1.2.2BBS促進(jìn)了協(xié)作學(xué)習(xí)基于網(wǎng)絡(luò)的論壇社區(qū)也是各種學(xué)習(xí)資源組合的場所,為學(xué)習(xí)者提供了學(xué)習(xí)環(huán)境。作為一個(gè)學(xué)生參與論壇的網(wǎng)絡(luò)活動可包括許多種學(xué)習(xí)的意義,在特定板塊內(nèi),論壇參與者圍繞某個(gè)話題或者問題,通過發(fā)表、回復(fù)話題、版面討論、站內(nèi)信件等方式進(jìn)行互動討論、相互探討,形成了一種以學(xué)習(xí)者為中心的學(xué)習(xí)方式。從教育網(wǎng)內(nèi)人氣排名前十名的論壇的網(wǎng)友參與的情況來看,在各大學(xué)習(xí)板塊里,基本上每張?zhí)犹岢龅膯栴}都可以得到網(wǎng)友友好的、認(rèn)真的回復(fù)解答,有著濃郁的協(xié)作探討的學(xué)習(xí)氣氛和良好的學(xué)習(xí)效果。1.2.3BBS提高了學(xué)生自主學(xué)習(xí)能力網(wǎng)絡(luò)學(xué)習(xí)的本質(zhì)是一種自主學(xué)習(xí),論壇提供了豐富的網(wǎng)絡(luò)學(xué)習(xí)資源,使學(xué)習(xí)者能自主選擇和控制學(xué)習(xí)地點(diǎn)、學(xué)習(xí)時(shí)間、學(xué)習(xí)方法和學(xué)習(xí)內(nèi)容。在論壇里,學(xué)生可以自主地圍繞學(xué)習(xí)問題,通過發(fā)帖、回復(fù)的形式提出討論,尋求解答幫助,提高了學(xué)習(xí)的積極性和自主學(xué)習(xí)的能力。2軟件介紹及基本原理2.1ADO技術(shù)ADO(ActiveXDataObjects)是微軟公司提供給網(wǎng)頁開發(fā)者在網(wǎng)頁中存取數(shù)據(jù)庫的最新技術(shù),它也是ASP內(nèi)置的重要組件,ADO主要的目的是為了存取或修改數(shù)據(jù)源的數(shù)據(jù)、或增加數(shù)據(jù)到指定的數(shù)據(jù)源,數(shù)據(jù)源不僅包括數(shù)據(jù)庫,而且包括dBase、Excel、Foxpro、Access或文本文件等一些小型的數(shù)據(jù)表,所以,只要是ODBC驅(qū)動程序所能存取的數(shù)據(jù)源皆是ADO存取的對象。ADO主要是由Connection對象、Command對象、Parameter對象、Dataset對象、Field對象、Property對象及Error對象等七個(gè)對象與Fields數(shù)據(jù)集合、Properties數(shù)據(jù)集合、Parameters數(shù)據(jù)集合及Errors數(shù)據(jù)集合等四個(gè)數(shù)據(jù)集合所組合而成,其功能概述如下:ADO提供的七個(gè)對象:(1)Connection對象負(fù)責(zé)對指定的數(shù)據(jù)源進(jìn)行連接,除此之外,它還可以通過事物(Transaction)來確保在事物中所有的數(shù)據(jù)源變更的全部成功。(2)Command對象負(fù)責(zé)對數(shù)據(jù)庫提供請求,也就是傳遞指定的SQL使命,除此之外,也可能通過Command對象對數(shù)據(jù)庫發(fā)出數(shù)據(jù)定義語言(DDL,DataDefinitionLanguage)。(3)Parameter對象負(fù)責(zé)傳遞Command對象所需要的SQL命令參數(shù)。(4)DataSet對象負(fù)責(zé)瀏覽和操作從數(shù)據(jù)庫取出的數(shù)據(jù)。(5)Field對象表示指定DataSet對象的數(shù)據(jù)字段。(6)Property對象表示ADO的各項(xiàng)對象屬性值。(7)Error對象負(fù)責(zé)記錄連接過程所發(fā)生的錯(cuò)誤信息。ADO的七個(gè)對象及四個(gè)數(shù)據(jù)集合相互的關(guān)系圖如圖ActiveXDataObject關(guān)系圖2.2開發(fā)環(huán)境及工具軟件:InternetInformationServer(IIS)5.0,DreamweaverMX,ACCESS2000。2.3ASP有關(guān)的內(nèi)置對象的設(shè)置2.3.1Request對象HTTP通訊協(xié)議是一種請求與響應(yīng)(Request/Response)的通訊協(xié)議,因此通常由客戶端向Web服務(wù)器提出請求,Web服務(wù)器才會響應(yīng)信息。因此在ASP中,特別將“客戶端提出的要求”與“Web服務(wù)器響應(yīng)的信息”等動作封裝成Request對象與Response對象。換言之,Request對象通常包含了用戶端的相關(guān)信息,如瀏覽器的種類、表頭信息、表單參數(shù)及cookies等等。2.3.2Response對象每一種程序語言或開發(fā)工具一定都有與用戶溝通的界面或函數(shù),ASP也不例外。在ASP中負(fù)責(zé)將信息傳達(dá)到用戶的對象就是Response對象。2.3.3Server對象Server對象允許用戶取得服務(wù)器提供的各項(xiàng)功能,例如Server對象CreateObject方法允許客戶端用戶建立一個(gè)ActiveXServer組件實(shí)例,其建立組件實(shí)例會隨著服務(wù)器端完成ASP網(wǎng)頁的處理而自動被釋放。如果希望此對象實(shí)例可以跨多個(gè)ASP網(wǎng)頁,就要用到Session對象保留該組件實(shí)例,直到Session對象的運(yùn)行時(shí)間到了,或是在其他ASP網(wǎng)頁調(diào)用Session對象的Abandon方法,此組件實(shí)例才會被釋放。2.3.4Session對象Session對象在ASP程序編寫中占了相當(dāng)重的份量,由于網(wǎng)頁是一種無狀態(tài)的程序,因此幾乎無法知道用戶的瀏覽狀態(tài)。必須通過Session對象記錄用戶的相關(guān)信息,以供用戶再次對此Web服務(wù)器提出要求時(shí)作確認(rèn),例如,在某些特定的網(wǎng)頁中,常需要用戶輸入確認(rèn)的賬號和密碼,假如這些身份確認(rèn)的結(jié)果無法保留,那豈不是每一個(gè)網(wǎng)頁都需要重新輸入一次密碼。必須說明,Session對象只能適用于具備Cookie功能的瀏覽器。2.4與ADO有關(guān)的設(shè)置在本BBS系統(tǒng)中主要對ADO提供的四個(gè)數(shù)據(jù)集合進(jìn)行了設(shè)置:(1)Connection對象包含Errors數(shù)據(jù)集合,在Errors數(shù)據(jù)集合中包含數(shù)據(jù)源響應(yīng)失敗時(shí)所建立的Errors對象.(2)Command對象包含Parameters數(shù)據(jù)集合,在Parameters數(shù)據(jù)集合中包括Command對象所有的Parameters對象.(3)DataSet對象包含F(xiàn)ields數(shù)據(jù)集合,在Fields數(shù)據(jù)集合中包含DataSet對象的所有Field數(shù)據(jù)字段對象.(4)Connection對象、Command對象、DataSet對象與Field對象皆包含一個(gè)Properties數(shù)據(jù)集合,在Properties數(shù)據(jù)集合中包含所對應(yīng)Connection對象、Command對象、DataSet對象與Field對象的Property對象.3系統(tǒng)需求規(guī)劃用戶使用論壇,有一定的流程:用戶注冊登陸進(jìn)入論壇,就某個(gè)話題(主題帖)展開討論,通過發(fā)帖功能發(fā)布新的話題,通過回帖的功能回復(fù)已有的話題,通過搜索功能查找已有的話題;管理員通過管理功能創(chuàng)建、編輯、刪除論壇的板塊,管理注冊用戶,管理帖子,設(shè)置論壇基本參數(shù)。這樣的流程就決定了論壇的需求,如圖所示:論壇流程圖3.1需求分析從流程圖上可以看到論壇完成的走向,其實(shí)每一個(gè)流程的節(jié)點(diǎn)處都有許多功能,如下表:論壇功能列表論壇板塊列表瀏覽帖子發(fā)帖回帖搜索帖子編輯帖子刪除帖子精華帖置頂帖子轉(zhuǎn)移帖子用戶注冊用戶登陸控制用戶權(quán)限修改注冊信息設(shè)置論壇參數(shù)管理板塊管理用戶在這十六個(gè)凌亂無序的需求進(jìn)行整理、歸納、再構(gòu)建系統(tǒng)的整體框架,設(shè)計(jì)處數(shù)據(jù)實(shí)體、接口、用戶界面,最終將所有功能需求裝化為可以編碼實(shí)現(xiàn)的程序框架。首先,通過觀察論壇所有功能需求,可以發(fā)現(xiàn)在這十六個(gè)功能需求中,如果按照不同事務(wù)分類,可以分為四類對象:板塊、帖子、用戶和論壇。這四類對象,可以設(shè)計(jì)為四個(gè)數(shù)據(jù)實(shí)體,如果用數(shù)據(jù)庫存儲它們,即可以設(shè)計(jì)四個(gè)基本數(shù)據(jù)表。如圖:論壇配置信息表模塊信息表論壇配置信息表模塊信息表帖子信息表用戶信息表帖子信息表用戶信息表板塊類有瀏覽列表和管理兩個(gè)方法,管理方法又可以分為創(chuàng)建、修改和刪除3個(gè)子方法,如圖:板塊對象的相關(guān)用例圖帖子類有瀏覽、發(fā)帖、回帖、搜索和管理5個(gè)方法,瀏覽方法又可以分為列表和查看2個(gè)子方法,管理方法又可以分為編輯、刪除、置頂、轉(zhuǎn)移、指定精華5個(gè)子方法,如圖:帖子對象的相關(guān)用例圖用戶類有注冊、登陸和管理3個(gè)子方法,管理方法又分為添加、刪除和設(shè)置權(quán)限3個(gè)子方法,如圖:用戶對象的相關(guān)用例圖論壇一般存在兩種用戶,分別為注冊用戶和管理員。用戶的權(quán)限是向下覆蓋的,即上級權(quán)限包含下級權(quán)限,在本論壇中,管理員的權(quán)限是上級權(quán)限。與注冊用戶相關(guān)的功能,其實(shí)就是論壇前臺的主要功能。論壇系統(tǒng)的前臺,是用戶討論問題的平臺,發(fā)帖、回帖一直貫穿用戶整個(gè)的前臺活動。同時(shí),由于論壇系統(tǒng)的帖子管理是管理員在帖子瀏覽時(shí)進(jìn)行的,所以編輯帖子、刪除帖子、轉(zhuǎn)移帖子、置頂帖子和指定精華帖等功能也安排在前臺實(shí)現(xiàn)。其他與管理員相關(guān)的功能,包括板塊管理、用戶管理和論壇設(shè)置等都是管理員在后臺進(jìn)行的操作。3.2功能設(shè)計(jì)3.2.1基本功能設(shè)計(jì)通過需求分析,論壇的基本功能可以從眾多的需求中篩選出來。顧名思義,基本功能就是構(gòu)成論壇系統(tǒng)的必要功能,具備這些功能的Web系統(tǒng)即是論壇。基本功能:發(fā)帖。論壇最初是為了相互討論話題而誕生的,發(fā)表帖子就是表達(dá)自己的看法,與他人進(jìn)行討論,因此發(fā)帖是論壇首要的功能。瀏覽帖子。發(fā)表了帖子,就要供他人瀏覽查看,與他人分享自己的想法和經(jīng)驗(yàn)?;靥g覽了他人發(fā)表的帖子,想要發(fā)表自己的想法,參與討論,就可以回復(fù)這個(gè)帖子。其實(shí),發(fā)帖→瀏覽帖子→回帖三大功能周而復(fù)始的循環(huán)進(jìn)行,就構(gòu)成論壇。每個(gè)參與論壇的人,主要目的就是發(fā)帖,查看已經(jīng)發(fā)表的帖子,針對自己感興趣的帖子進(jìn)行回帖,參與討論。三大基本功能的相互關(guān)系如圖:3.2.2擴(kuò)展功能設(shè)計(jì)除了基本功能之外,其他的論壇功能都是擴(kuò)展功能。注冊登陸。原先的論壇在發(fā)帖回帖時(shí),需要填寫自己的筆名。這樣,經(jīng)常發(fā)帖的人總是要重復(fù)填寫筆名,比較麻煩。因此,論壇擴(kuò)展了用戶注冊登陸功能,參與論壇的注冊自己的筆名以及個(gè)人信息,擁有論壇中的身份,發(fā)言時(shí)就不需要重復(fù)填寫個(gè)人信息了。分板塊瀏覽帖子。隨著論壇帖子數(shù)量的增多,討論相同話題的帖子聚集在一起,引出了論壇新的擴(kuò)展功能,即分板塊瀏覽帖子,屬于同一板塊的帖子討論同樣的話題。這樣,就使得對某一話題感興趣的用戶不會被其他帖子干擾,也有利于相同興趣的用戶相互間討論,不易跑題。編輯帖子。發(fā)帖回帖的用戶,如果需要修改更新自己發(fā)表的帖子內(nèi)容,就引出了編輯帖子內(nèi)容這個(gè)擴(kuò)展功能,提供給用戶更新自己發(fā)言的選擇。對于論壇管理員,可以編輯任何帖子的內(nèi)容,也算是提供給管理員進(jìn)行管理的選擇。刪除帖子。如果用戶發(fā)表了不符合論壇規(guī)則的帖子,則需要管理員刪除這些帖子,這就引出了刪除帖子的擴(kuò)展功能。轉(zhuǎn)移帖子。論壇劃分了板塊,如果帖子內(nèi)容不屬于所在板塊的關(guān)注話題,那么管理員可以選擇將此帖移動到所屬話題的板塊中去,這就引出了移動帖子的擴(kuò)展功能。這個(gè)功能是隨著板塊功能的出現(xiàn)而出現(xiàn)的,板塊將帖子進(jìn)行了分組,從而提出了隨板塊移動帖子的要求。置頂帖子。帖子一般是根據(jù)發(fā)表以及回復(fù)時(shí)間到序排列的,這樣先發(fā)的帖子就慢慢排到后面,管理員如果需要強(qiáng)調(diào)某些帖子重要,又必看性,就要打亂默認(rèn)的排列順序,將這些帖子放在列表的最前端,不再按照時(shí)間進(jìn)行順序的變化,但是還要保證其他帖子按照時(shí)間變化順序進(jìn)行排列,這就引出了置頂帖子的擴(kuò)展功能。指定精華帖。如果管理員認(rèn)為某個(gè)帖子的內(nèi)容非常好,可以打上標(biāo)記,推薦給看帖的用戶,這就引出了指定精華帖的擴(kuò)展功能。用戶可以選擇只看打上標(biāo)記的精華帖。搜索帖子。論壇中的帖子越來越多,用戶需要從大量的帖子中找到自己需要的內(nèi)容,這就引出了搜索帖子的擴(kuò)展功能。管理板塊。論壇板需要先創(chuàng)建,才能被使用,管理員還可以刪除修改板塊的相關(guān)信息,因此管理板塊是管理員使用的擴(kuò)展功能。設(shè)置參數(shù)。論壇一般有一些初始化信息,比如論壇名稱,每頁顯示帖子數(shù)量等參數(shù)信息,管理員也可以在后臺界面自行設(shè)置,這頁屬于擴(kuò)展功能。管理用戶。管理員可以對論壇的注冊用戶進(jìn)行管理,直接添加用戶,賦予相關(guān)權(quán)限,也可以修改已注冊用戶權(quán)限,對違規(guī)用戶可以刪除,這個(gè)擴(kuò)展功能便于管理員對論壇用戶的管理。論壇的擴(kuò)展功能如圖:3.3設(shè)計(jì)可擴(kuò)充功能的接口列出了所有基本的和擴(kuò)展功能之后,在設(shè)計(jì)時(shí)需要考慮以后擴(kuò)充的余地,即在給論壇添加新的功能的時(shí)候,原有的功能正常可用,不受影響?;蛘哓S富擴(kuò)展某個(gè)功能時(shí),能夠方便銜接。這就要求在設(shè)計(jì)程序時(shí),每個(gè)功能保留開放的接口,通過接口可以對功能進(jìn)行擴(kuò)充,也可以與新功能進(jìn)行掛接。其實(shí)現(xiàn)的原理及思路如圖:功能的可擴(kuò)充接口實(shí)現(xiàn)原理4功能模塊與數(shù)據(jù)庫設(shè)計(jì)4.1設(shè)計(jì)框架在確定了論壇系統(tǒng)的設(shè)計(jì)思路之后,還需要?dú)w納成系統(tǒng)的相關(guān)模塊,每個(gè)模塊實(shí)際上就是功能的合理組合。由于已經(jīng)將功能做了前臺與后臺的分類,因此模塊也應(yīng)該分為兩大類:前臺模塊和后臺模塊。用戶在前臺的注冊、登陸,以及修改個(gè)人的注冊信息組合成注冊信息組合成注冊登陸模塊。用戶瀏覽板塊、瀏覽主題帖列表、查看帖子組合成瀏覽模塊。用戶發(fā)帖、回帖、編輯自己發(fā)布的帖子組合成發(fā)帖回帖模塊。管理員編輯帖子、刪除帖子、轉(zhuǎn)移帖子、置頂帖子和精華帖子組合成管理帖子模塊。以上4個(gè)模塊是前臺模塊。后臺模塊都是與管理員相關(guān)的,設(shè)置論壇參數(shù)單獨(dú)為論壇設(shè)置模塊;創(chuàng)建、修改和刪除板塊為管理板塊模塊;添加、刪除和設(shè)置權(quán)限為管理用戶模塊。BBS的模塊體系圖:從用戶角度分析問題,首先區(qū)分系統(tǒng)中有幾種用戶,目前的論壇系統(tǒng),為了使其清楚易懂,簡化了用戶體系,論壇中只有兩種用戶:注冊用戶和管理員。一般論壇中的版主權(quán)限,劃分為管理員,這也是為了使讀者容易分清論壇的使用者和管理者。對于注冊用戶,在論壇中的行為可歸納如下:注冊個(gè)人身份,登陸論壇,登陸成功后可以修改自己的注冊信息。這些行為只與用戶自身相關(guān),功能獨(dú)立,設(shè)計(jì)成注冊登陸模塊。瀏覽板塊列表,選擇某板塊,瀏覽其下的主題帖列表,查看帖子內(nèi)容,搜索需要的帖子。這些行為是用戶讀取論壇的板塊及其帖子的相關(guān)信息,設(shè)計(jì)成瀏覽模塊??梢园l(fā)表新帖子,也可以回復(fù)已有的帖子,同時(shí)可以編輯自己寫的帖子內(nèi)容。這些行為是用戶參與論壇討論,發(fā)表自己見解的行為,設(shè)計(jì)為發(fā)帖回帖模塊。管理員需要負(fù)責(zé)整個(gè)論壇的正常運(yùn)轉(zhuǎn),因此他需要更多的管理功能,可以歸納為如下行為:具備注冊用戶的所有功能。因?yàn)楣芾韱T也是論壇用戶,可以參與論壇中的討論。管理帖子。管理員對論壇的帖子有監(jiān)督的權(quán)利,好的帖子要獎勵,搗亂的帖子要刪除,標(biāo)識精華帖,置頂帖子,轉(zhuǎn)移發(fā)錯(cuò)板塊的帖子,這些行為都是針對帖子的操作,設(shè)計(jì)成管理帖子模塊。管理板塊。論壇中的板塊,需要管理員進(jìn)行創(chuàng)建、管理板塊信息,這些針對板塊的操作,設(shè)計(jì)成管理板塊模塊。管理用戶。用戶注冊成功后,需要管理員賦予權(quán)限,才能使用論壇的相關(guān)功能。同時(shí),管理員可以自主添加、刪除用戶,這些針對用戶信息的操作,設(shè)計(jì)成管理用戶模塊。4.2模塊的劃分及設(shè)計(jì)每個(gè)模塊的功能都真實(shí)反映需求,通過對需求的認(rèn)真分析,可以設(shè)計(jì)出符合要求的單獨(dú)模塊。但是,對于一個(gè)論壇系統(tǒng)來說,要很好地把握系統(tǒng)地構(gòu)架,把零散地功能模塊用一條主線串連起來,構(gòu)建完整的系統(tǒng)。對論壇系統(tǒng)來說,聯(lián)系各個(gè)模塊的主線是使用者的權(quán)限,用戶能夠使用論壇的哪些功能是由用戶的權(quán)限決定的。論壇的每個(gè)功能都與相應(yīng)的權(quán)限對應(yīng)。例如,注冊用戶具有瀏覽帖子、發(fā)帖、回帖的權(quán)限,那么他就能使用論壇中的瀏覽、發(fā)帖、回帖功能。同一類用戶使用的功能模塊,是以使用者為中心連接起來的。另外,操作同類事務(wù)的功能模塊,也是有相互關(guān)系的。因此,瀏覽模塊與發(fā)帖回帖模塊、管理帖子模塊關(guān)聯(lián),是由論壇的系統(tǒng)流程決定的,如圖:帖子相關(guān)模塊關(guān)系圖管理板塊模塊與瀏覽模塊關(guān)聯(lián),是由帖子與板塊的父子關(guān)系決定的。帖子依附于板塊,先有板塊,后有帖子,帖子必須發(fā)表在某個(gè)板塊中,如圖:管理板塊模塊于瀏覽模塊關(guān)系圖管理用戶模塊與注冊登陸模塊關(guān)聯(lián),是由同一類對象——用戶決定的。注冊后獲得論壇的身份,成為用戶,所有的用戶需要接受管理員的管理,用戶登陸證明自己在論壇中的身份,如圖:管理用戶模塊與注冊登陸模塊關(guān)系圖弄清楚模塊間的相互關(guān)系,就可以設(shè)計(jì)出論壇系統(tǒng)的整體架構(gòu)了,如圖:系統(tǒng)整體架構(gòu)圖系統(tǒng)因入口的不同而分為前臺系統(tǒng)與后臺系統(tǒng)。前臺系統(tǒng)包括注冊登陸模塊、瀏覽模塊、發(fā)帖回帖模塊、管理帖子模塊;后臺包括管理用戶模塊、管理板塊模塊。之所以要把屬于管理員權(quán)限的管理帖子模塊歸屬于前臺,是因?yàn)椋瑢τ谝粋€(gè)論壇系統(tǒng),帖子是最主要的,為了方便管理,管理員需要一邊瀏覽查看一邊進(jìn)行管理,管理時(shí)需要了解帖子的詳細(xì)內(nèi)容,以及相關(guān)回帖信息,因此將帖子的管理界面融合在前臺的瀏覽界面中。至于其他的模塊則比較清楚,是根據(jù)用戶的權(quán)限劃分的。4.2.1我所負(fù)責(zé)的頁面代碼首頁:相關(guān)事件重要代碼ImportsSystem.DataImportsSystem.Data.OleDbPartialClassbbs_DefaultInheritsSystem.Web.UI.PageDimcnDataAsNewOleDbConnectionDimcmdSQLAsNewOleDbCommandDimtypeIDAsStringProtectedSubbtnLogin_Click(ByValsenderAsObject,ByValeAsSystem.EventArgs)HandlesbtnLogin.ClickIfbtnLogin.Text="登陸"ThenIftxtName.Text=""OrtxtPass.Text=""ThenExitSubEndIfcmdSQL.Parameters.Clear()cmdSQL.Parameters.Add("@name",OleDbType.WChar).Value=txtName.TextcmdSQL.Parameters.Add("@pass",OleDbType.WChar).Value=txtPass.TextcmdSQL.CommandText="SELECTuserID,lastTimefrom[user]WHEREuserID=@nameAND[passWord]=@pass"TrycnData.Open()DimrdAsOleDbDataReaderrd=cmdSQL.ExecuteReaderDimlastAsDateIfNotrd.ReadThenrd.Close()cnData.Close()Response.Write("<script>window.alert(""登陸失敗!用戶名或密碼錯(cuò)誤"");</script>")ExitTryElselast=rd.GetDateTime(1)Response.Cookies("userInfo")("name")=txtName.TextResponse.Cookies("userInfo")("pass")=txtPass.TextSession("name")=txtName.TextIfchkAuto.CheckedThenResponse.Cookies("userInfo").Expires=DateTime.Now.AddMonths(1)ElseResponse.Cookies("userInfo").Expires=DateTime.Now.AddHours(1)EndIfrd.Close()EndIfcmdSQL.Parameters.Clear()cmdSQL.Parameters.Add("@name",OleDbType.WChar).Value=txtName.TextIflast.Date=Now.DateThencmdSQL.CommandText="UPDATE[user]SETlastTime='"&Now.ToString&"'WHEREuserID=?"ElsecmdSQL.CommandText="UPDATE[user]SETscoreKy=scoreKy+20,lastTime='"&Now.ToString&"'WHEREuserID=?"EndIfcmdSQL.ExecuteNonQuery()CatchexAsExceptionFinallycnData.Close()EndTryElseSession("name")=NothingEndIfResponse.Write("<script>window.location.href=window.location.href;</script>")EndSubProtectedSubPage_Init(ByValsenderAsObject,ByValeAsSystem.EventArgs)HandlesMe.InitcnData.ConnectionString="JetOLEDB:GlobalPartialBulkOps=2;JetOLEDB:RegistryPath=;JetOLEDB:DatabaseL"&_"ockingMode=0;DataSource="""&Server.MapPath("~\App_data\")&"BBSdata.mdb"";JetOLEDB:E"&_"ngineType=5;Provider=""Microsoft.Jet.OLEDB.4.0"";JetOLEDB:Systemdatabase=;JetO"&_"LEDB:SFP=False;persistsecurityinfo=False;ExtendedProperties=;Mode=ShareDeny"&_"None;JetOLEDB:EncryptDatabase=False;JetOLEDB:CreateSystemDatabase=False;Jet"&_"OLEDB:Don'tCopyLocaleonCompact=False;JetOLEDB:CompactWithoutReplicaRepa"&_"ir=False;UserID=Admin;JetOLEDB:GlobalBulkTransactions=1"cmdSQL.Connection=cnDataEndSubProtectedSubPage_Load(ByValsenderAsObject,ByValeAsSystem.EventArgs)HandlesMe.LoadtypeID=CMyFunc.GetTypeID(TreeView1.SelectedValue)IfSession("name")IsNotNothingThenlbName.Text=Session("name").ToStringpnLogin.Visible=FalsebtnLogin.Text="注銷"rblMy.Visible=TrueElselbName.Text="客人"pnLogin.Visible=TruebtnLogin.Text="登陸"rblMy.Visible=FalseEndIfMyDataBind()hlkAsk.NavigateUrl="~/bbs/AddTopic.aspx?type="&typeID.ToStringIftypeID="00"ThenhlkAsk.Text="提問請先選擇子論壇"hlkAsk.Enabled=FalserblMy.Enabled=FalseElsehlkAsk.Text="我要提問"hlkAsk.Enabled=TruerblMy.Enabled=TrueEndIfDimstrTypeAsStringstrType=CMyFunc.GetTypeName(typeID)IfstrType="NoThisType"ThenlbType.Text="社區(qū)起點(diǎn)"ElselbType.Text=strTypeEndIfEndSubSubMyDataBind()DimstrSQLAsStringIftypeID="00"Thenrbl1.Visible=FalsestrSQL="SELECTTOP30ID,[text],[user],score,rep,lasttime,stateFROM(topic)ORDERBYlasttimeDESC"Elserbl1.Visible=TrueDimstrStateAsStringIfrbl1.SelectedIndex=0ThenstrState="AND(state='1'ORstate='3')"ElsestrState="AND(state='2')"EndIfIfSession("name")IsNotNothingThenIfrblMy.SelectedIndex=1ThenstrState&="AND([user]='"&Session("name").ToString&"')"EndIfEndIfstrSQL="SELECTTOP300ID,[text],[user],score,rep,lasttime,stateFROM(topic)"&_"WHERE[type]='"&typeID.ToString&"'"&strState&"ORDERBYlasttimeDESC"EndIfDimdapAsNewOleDbDataAdapter(strSQL,cnData)DimdsAsNewDataSetdap.Fill(ds,"main")DimdtAsDataTable=ds.Tables("main")dgv1.DataSource=dtdgv1.DataBind()EndSubProtectedSubTreeView1_SelectedNodeChanged(ByValsenderAsObject,ByValeAsSystem.EventArgs)HandlesTreeView1.SelectedNodeChangedEndSubEndClass4.3設(shè)計(jì)數(shù)據(jù)庫本系統(tǒng)所使用的數(shù)據(jù)庫服務(wù)器為ACCESS2000,它在ACCESS2000的基礎(chǔ)上,擴(kuò)展了ACCESS的總體功能與性能、工具界面更加方便合理、全面的數(shù)據(jù)完整性保護(hù)、系統(tǒng)安全性更高。ACCESS2000的數(shù)據(jù)庫空間不會受限于Device空間大小,方便了數(shù)據(jù)空間的擴(kuò)展,使ACCESS2000作為一個(gè)網(wǎng)絡(luò)數(shù)據(jù)庫管理系統(tǒng),其擴(kuò)展已超出了單個(gè)物理計(jì)算機(jī)的限制,并且多服務(wù)器“分布式”事物的內(nèi)在支持更加充分.本系統(tǒng)主要使用了存儲過程StoredProcedure,所謂StoredProcedure實(shí)際上就是一段保存在數(shù)據(jù)庫中的程序,通過一個(gè)名稱的命名,其中包含有處理數(shù)據(jù)庫存取與運(yùn)算的SQL語句,并且將這樣的程序文件緊密結(jié)合在數(shù)據(jù)庫中,這樣我們的前臺應(yīng)用系統(tǒng)在執(zhí)行過程中,可以直接執(zhí)行數(shù)據(jù)庫中設(shè)置好的StoredProcedure,甚至可以傳遞參數(shù)。4.4創(chuàng)建數(shù)據(jù)庫ACCESS2000的Manager管理工具是一個(gè)非常好用的可視化管理工具,ACCESS2000中提供的datetime和text兩種字段類型,其中datetime是用來保存日期和時(shí)間數(shù)據(jù)的,text是用來保存不定長度的備注說明內(nèi)容的,有了這兩個(gè)數(shù)據(jù)類型,應(yīng)用系統(tǒng)中就不用再為輸出格式和限制字符串長度而增加額外代碼了。數(shù)據(jù)表間關(guān)系:序號數(shù)據(jù)表名稱說明1T_Operator操作員(用戶)表2T_Forum論壇回帖表3T_Topic論壇主題表4T_UserPara系統(tǒng)參數(shù)表5T_Mark積分頭銜表6T_OperatorFunction用戶功能權(quán)限關(guān)聯(lián)表7T_Function功能表之所以這樣設(shè)計(jì)數(shù)據(jù)表間關(guān)系,主要是考慮論壇中各個(gè)對象得相互關(guān)系,帖子屬于板塊,回復(fù)帖從屬于主題帖,帖子的作者屬于用戶,因此板塊、主題帖、回復(fù)帖是一層層的從屬依賴關(guān)系,帖子的作者必須是論壇的用戶,帖子不能脫離板塊、用戶而單獨(dú)存在。5系統(tǒng)實(shí)現(xiàn)與測試本論壇系統(tǒng)完成之后,就必須設(shè)計(jì)許多的測試用例來驗(yàn)證本系統(tǒng)的正確性,容錯(cuò)能力/恢復(fù)能力,信息安全性,可靠性等,盡可能多地找出系統(tǒng)的錯(cuò)誤所在。5.1驗(yàn)證性測試在登錄論壇之前,論壇首頁上顯示“您的當(dāng)前狀態(tài)是:未登錄!”(如圖1)此時(shí),該用戶除了能夠進(jìn)行用戶注冊之外,沒有任何權(quán)限訪問論壇的任何一個(gè)模塊。當(dāng)點(diǎn)擊任何一個(gè)功能按鈕時(shí),頁面將會顯示:“您沒有登錄,請返回!”當(dāng)用戶點(diǎn)擊“注冊”按鈕,頁面便跳轉(zhuǎn)到用戶注冊界面(如圖2),若注冊成功,則顯示“注冊成功”(如圖3),否則顯示“發(fā)生錯(cuò)誤···返回”。圖1圖2圖3當(dāng)點(diǎn)擊登錄按鈕,則頁面跳轉(zhuǎn)到登錄界面(如圖4)用戶成功登陸之后,頁面即顯示您的當(dāng)前狀態(tài)為“已登錄”(如圖5)。只有當(dāng)用戶登錄之后才能夠修改該用戶的信息,否則,當(dāng)用戶點(diǎn)擊“修改注冊信息”按鈕時(shí),頁面會顯示“沒有登錄,取不到用戶信息。請返回”。圖4圖55.2添加、編輯和刪除功能測試當(dāng)管理員點(diǎn)擊“新建論壇”按鈕,頁面即跳轉(zhuǎn)到圖9,管理員可以根據(jù)需要添加某些論壇,若添加成功則顯示“添加成功”,否則顯示錯(cuò)誤信息。圖9有了論壇的添加當(dāng)然也少不了論壇的編輯和刪除(如圖10),點(diǎn)擊編輯按鈕,則論壇信息全部變?yōu)榫庉嫚顟B(tài),當(dāng)編輯完成,則點(diǎn)擊更新,否則點(diǎn)取消。若要刪除某個(gè)論壇,在點(diǎn)擊刪除按鈕時(shí)會有確認(rèn)信息提示,以防錯(cuò)誤操作(如圖11)。若這些操作成功,則頁面顯示更新過的數(shù)據(jù),否則提示錯(cuò)誤信息。圖10圖116結(jié)束語6.1系統(tǒng)的特點(diǎn)與局限性6.1.1特點(diǎn)本系統(tǒng)最大的特點(diǎn)就是結(jié)構(gòu)簡單,界面清晰、簡潔,一目了然。它不同于網(wǎng)絡(luò)上的其他論壇的地方在于,主界面只顯示每個(gè)板塊的名稱,板塊描述,建立時(shí)間以及版主,而不細(xì)列出每個(gè)板塊里的主題情況,這樣就使原本繁雜的主界面大大簡化,層層分明,給人一種很干凈清新的感覺,不會象其他網(wǎng)絡(luò)論壇一樣使人眼花繚亂,不知從何處進(jìn)入板塊才好。本系統(tǒng)還有一個(gè)特點(diǎn)就是可擴(kuò)展性非常強(qiáng)。由于采用的是原型法的開發(fā)模式,一開始只是對論壇的基本功能,即瀏覽帖子、發(fā)帖和回帖這三個(gè)功能進(jìn)行了設(shè)計(jì),而后來的注冊登陸、分板塊瀏覽帖子、編輯帖子、刪除帖子、轉(zhuǎn)移帖子、置頂帖子、指定精華帖、搜索帖子、管理板塊、設(shè)置參數(shù)、管理用戶以及文件的上傳和下載等功能則是在后來的開發(fā)中陸續(xù)添加進(jìn)去的。6.1.2局限性事物總是一分為二的,本論壇系統(tǒng)的優(yōu)點(diǎn)也就導(dǎo)致了它的局限性,由于界面簡潔,每個(gè)板塊沒有列出所包含的主題,用戶必須點(diǎn)擊進(jìn)入才能看到該板塊中的所有主題,然后點(diǎn)擊回復(fù),這樣就加大了用戶的工作量,令他們的操作有些許累贅。第二,用戶在發(fā)帖之后,并不能馬上對自己發(fā)的帖子進(jìn)行修改或刪除,要想進(jìn)行這些操作,必須進(jìn)入管理登錄界面,這樣使得登錄過的用戶必須又要再登錄一遍,又一次增加了用戶操作的復(fù)雜性。這一點(diǎn)還有待改進(jìn)。第三,由于最初的設(shè)計(jì)沒有考慮到頭銜的顯示,因此在對用戶進(jìn)行管理的時(shí)候,頭銜的管理和用戶其他信息及權(quán)限的管理是分開的,這樣就導(dǎo)致了管理員的工作量有所增加。最后,由于時(shí)間的關(guān)系,本論壇沒有實(shí)現(xiàn)系統(tǒng)自動對發(fā)帖的用戶增加積分的功能,這是本論壇的一大瑕疵。6.2實(shí)施過程中的一些體會為期多月的畢業(yè)設(shè)計(jì)已經(jīng)接近尾聲了,本系統(tǒng)的整個(gè)實(shí)施過程中,遇到了很多很多的困難。看著自己的設(shè)計(jì)從無到有,從最初的雛形到如今的完整系統(tǒng),雖說算不上完善,但也基本符合需求,這不僅僅是自己這幾個(gè)月來辛勤勞動的結(jié)晶,更是對自己學(xué)習(xí)成果的一個(gè)檢驗(yàn)。在最初選擇VB和ACCESS2000作為開發(fā)工具的時(shí)候,我考慮到VB的強(qiáng)大功能和ACCESS良好的可移植性很適合做Web開發(fā),但是也考慮到我以前從來沒有使用過這兩種工具來開發(fā)項(xiàng)目,也就是說對于這兩種工具的使用我沒有任何的經(jīng)驗(yàn),這無形之中就增加了我做畢業(yè)設(shè)計(jì)的難度,我必須從頭開始學(xué)習(xí)VB和ACCESS。我的感覺是VB跟JAVA
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 定金租賃合同
- 裝修合作協(xié)議合同
- 藥品經(jīng)營質(zhì)量保證協(xié)議書
- 本家具采購合同
- 小學(xué)六年級 分?jǐn)?shù)加減乘除口算題
- 2025年重慶貨運(yùn)從業(yè)資格考試題目及答案解析大全
- 2025年拉薩貨運(yùn)從業(yè)資格證考試內(nèi)容
- 2024-2025學(xué)年高中化學(xué)專題3從礦物到基礎(chǔ)材料第三單元含硅礦物與信息材料學(xué)案含解析蘇教版必修1
- 2024-2025學(xué)年二年級數(shù)學(xué)上冊第四單元表內(nèi)除法一第7課時(shí)練習(xí)九1教案蘇教版
- 一年級上冊語文工作計(jì)劃
- 預(yù)應(yīng)力混凝土管樁(L21G404)
- Unit 2 Last weekend C Story time (教學(xué)設(shè)計(jì))人教PEP版英語六年級下冊
- 2024年上海市普通高中學(xué)業(yè)水平等級性考試化學(xué)試卷(含答案)
- DZ∕T 0153-2014 物化探工程測量規(guī)范(正式版)
- 奧派直播電商仿真實(shí)訓(xùn)軟件操作手冊
- 法學(xué)概論(第七版) 課件全套 谷春德 第1-7章 我國社會主義法的基本理論 - 國際法
- 2024年度-美團(tuán)新騎手入門培訓(xùn)
- 化妝品祛痘功效評價(jià)
- 中山醫(yī)院網(wǎng)上查詢報(bào)告
- 二年級下冊數(shù)學(xué)計(jì)算題400道及答案
- 語文新課標(biāo)背景下單元整體教學(xué):六下第4單元大單元設(shè)計(jì)
評論
0/150
提交評論