修志宇
【摘 要】計(jì)算機(jī)網(wǎng)絡(luò)技術(shù)的發(fā)展,使得人們在網(wǎng)上的交流越來越多,這為網(wǎng)上論壇的發(fā)展提供了機(jī)遇。論壇即BBS,它主要的作用是給用戶提供一個(gè)交流的平臺(tái)。學(xué)生交流論壇的設(shè)計(jì)為廣大學(xué)生提供了一個(gè)自由學(xué)習(xí)交流的平臺(tái)。設(shè)計(jì)利用現(xiàn)有的ASP.NET技術(shù),實(shí)現(xiàn)了用戶注冊與登錄,用戶信息查詢與修改的功能,此外最主要的是用戶可以瀏覽帖子,發(fā)表帖子,并對(duì)帖子進(jìn)行評(píng)價(jià)與回復(fù)。論壇的動(dòng)態(tài)管理,使信息能更加高效有序的應(yīng)用。
【關(guān)鍵詞】學(xué)生交流;論壇;ASP;NET;BBS
一、引言
(一)研究背景和意義
現(xiàn)代生活處處離不開計(jì)算機(jī),互聯(lián)網(wǎng)已經(jīng)深入到人們的生活當(dāng)中。小到手機(jī)大大計(jì)算機(jī),數(shù)碼產(chǎn)品在人們的生活中占據(jù)極大的分量。人們可以在使用電腦瀏覽新聞,觀看視頻,享受音樂等?;ヂ?lián)網(wǎng)的出現(xiàn)時(shí)信息打破地域和時(shí)間的限制,在有網(wǎng)的地方,人們以隨時(shí)隨地進(jìn)行資源的共享,因此互聯(lián)網(wǎng)極大地改變了人們的生產(chǎn)和生活方式。
在信息化高速發(fā)展的現(xiàn)代,想要讓學(xué)生接觸到更好的更多的信息,“共享”將成為這一主題的重要途徑。在信息化發(fā)展的今天實(shí)現(xiàn)資源的共享已經(jīng)不是一件難事。如何有效合理的利用自身的資源和別人所擁有的資源將是我們所面臨的重任。
大學(xué)生是使用互聯(lián)網(wǎng)的主要人群之一,論壇則是實(shí)現(xiàn)信息交流的最知名的服務(wù)之一。人們可以在論壇上瀏覽信息,并對(duì)別人的帖子發(fā)表自己的看法,也可以分享自己的帖子,還在某個(gè)討論區(qū)專門針對(duì)某一問題或者某一話題進(jìn)行討論,發(fā)表自己的看法或者見解。目前許多高校建立了自己的論壇,實(shí)現(xiàn)了小內(nèi)資源的共享。如果專門針對(duì)學(xué)生這一群體,無論學(xué)校,無論地域,建立一個(gè)交流的論壇,將會(huì)在很大程度上實(shí)現(xiàn)資源的共享,并且還能在一定程度上培養(yǎng)學(xué)生的思維創(chuàng)造性和思維批判性。所以建立這樣一個(gè)論壇具有十分重要的意義。目前市場已經(jīng)有很多類似的論壇,極大地方便了學(xué)生之間的交流。
(二)國內(nèi)外發(fā)展現(xiàn)狀
中國互聯(lián)網(wǎng)的發(fā)展趨勢大部分收到西方的影響,西方國家看好論壇的時(shí)候,也就是BBS的鼎盛時(shí)期,之后也就趨于平緩的狀態(tài)。雖然BBS從來都沒有成為過主角,但它的存在也一直相對(duì)穩(wěn)定,從未被其他的熱潮替代過,成為了互聯(lián)網(wǎng)時(shí)代不可或缺的一部分。
從UGC這個(gè)角度來說,UGC的三大要素是:過濾信息的機(jī)制,用戶互動(dòng)機(jī)制和傳播信息,從這三個(gè)要素看,Twitter可以是過濾信息,可以是傳播信息,也可以是互動(dòng),而BBS則是回帖,回帖和回帖。目前來說,Twitter是一個(gè)簡單的產(chǎn)品,而BBS比Twitter還要簡單,越簡單的東西門檻就會(huì),也就意味著越穩(wěn)定。
論壇的作用主要就是發(fā)帖回帖,目前國內(nèi)最大的BBS市場主要由百度貼吧、Discuz!/phpwind、貓撲/天涯構(gòu)成。單從流量上來看,百度貼吧是全球最大的BBS平臺(tái),每天的訪問量都會(huì)過億,并且從誕生之日起的訪問流量一直都在增長,即使別的平臺(tái)的鼎盛時(shí)期,百度貼吧的流量都沒有減少。天涯總體上還算穩(wěn)定。微博等社會(huì)媒體的興起對(duì)各大平臺(tái)都有不同程度的影響,但總體來說只是時(shí)間上的搶占,數(shù)量上并沒有對(duì)其造成多大影響,所以這些社會(huì)媒體并沒有替代論壇。國內(nèi)大多數(shù)商業(yè)的網(wǎng)站使用Discuz!或phpwind搭建自己的論壇。
論壇的主要功能是發(fā)帖,回帖,但對(duì)于不同的論壇服務(wù),除了這些基本功能外,其他功能間的差異也會(huì)引起產(chǎn)品間的不同。
二、現(xiàn)有技術(shù)介紹
動(dòng)態(tài)Web的使用需要與之相配套的動(dòng)態(tài)WEB技術(shù),所以近些年來動(dòng)態(tài)WEB技術(shù)被網(wǎng)絡(luò)開發(fā)人員應(yīng)用。WEB技術(shù)主要是從使用者的角度來考慮,主要的指標(biāo)是兼容性要好。目前,比較常用的技術(shù)有CGI、ASP、PHP、JSP等。下面是對(duì)這些技術(shù)的簡單認(rèn)識(shí)。
(一)技術(shù)方案比較
1.ASP
ASP是由Microsoft公司推出的一種網(wǎng)絡(luò)編程技術(shù)。它沒有一種專門為自己服務(wù)的編程語言,用戶可以使用己有的腳本語言進(jìn)行相應(yīng)的ASP應(yīng)用程序編寫。因此,ASP實(shí)際上可以說是一種適合不同語言的編寫環(huán)境。
雖然ASP默認(rèn)的腳本編寫語言為VBScript,但是如果用戶安裝了相應(yīng)的腳本引擎,就可以根據(jù)自己的需要選擇語言來編寫相應(yīng)的程序,靈活性大,這也是為何ASP流行的其中一個(gè)原因。
2. PHP
PHP是一種基于服務(wù)器端的嵌入式腳本語言,它能跨越平臺(tái),支持UNIX、Linux、Windows等多種服務(wù)器操作系統(tǒng),并且程序可移植性好。但是因?yàn)槟壳癠NIX、Linux系統(tǒng)是少數(shù)專業(yè)技術(shù)人員的專利,其源代碼未公開,所以使得這些系統(tǒng)得不到廣泛的應(yīng)用。
3.JSP
JSP是由Sun Microsystems Inc公司倡導(dǎo)。JSP具有Java的優(yōu)勢,是一種與平臺(tái)無關(guān)的開發(fā)技術(shù)。
通過分析以上幾種動(dòng)態(tài)Web技術(shù),并結(jié)合設(shè)計(jì)需要與要求,我們選用ASP作為個(gè)性化頁面設(shè)計(jì)的開發(fā)工具。ASP簡單且功能強(qiáng)大,執(zhí)行效率和安全系數(shù)較高,也使得他成為設(shè)計(jì)開發(fā)工具的原因之一。
(二)選取數(shù)據(jù)庫平臺(tái)
計(jì)算機(jī)技術(shù)的離不開數(shù)據(jù)庫,所以計(jì)算機(jī)的不斷發(fā)展相應(yīng)的也促進(jìn)數(shù)據(jù)庫技術(shù)的發(fā)展。目前最廣泛使用的數(shù)據(jù)庫是SQL Server,它完美的集成了Windows操作系統(tǒng)。SQL Server因其具有強(qiáng)大的功能,對(duì)內(nèi)容進(jìn)行智能化管理,得到了很多用戶的喜愛。SQL Server主要指的是對(duì)數(shù)據(jù)進(jìn)行分類、組織數(shù)據(jù)、編碼、存儲(chǔ)數(shù)據(jù)、檢索內(nèi)容和維護(hù)數(shù)據(jù)。它作為網(wǎng)絡(luò)編程的后臺(tái)數(shù)據(jù)庫存,可以通過ODBC和ADO這兩種數(shù)據(jù)為訪問技術(shù),用于ASP技術(shù)或JSP技術(shù)制作的Web網(wǎng)頁與數(shù)據(jù)之間的連接。
(三)ASP介紹
1.ASP發(fā)展簡介
ASP是Active Server Pages即動(dòng)態(tài)服務(wù)網(wǎng)頁的縮寫,是Microsoft為推進(jìn)Web應(yīng)用開發(fā)和數(shù)據(jù)庫互聯(lián)而推出的一項(xiàng)新技術(shù)。這項(xiàng)技術(shù)最早應(yīng)用在IIS3.0中。由于Windows NT、IIS系統(tǒng)得到廣泛的應(yīng)用,正如前面所提到的,ASP使用簡單且功能強(qiáng)大,因此得到多數(shù)用戶的青睞,成為重要的動(dòng)態(tài)WEB開發(fā)的技術(shù)。ASP準(zhǔn)確地來說算不上一種開發(fā)語言,而是一套運(yùn)行環(huán)境。在這種環(huán)境中,用戶可以創(chuàng)建和運(yùn)行交互式的程序。另外,ASP的應(yīng)用程序非常容易開發(fā)和修改。因?yàn)樗械某绦蚨紝⒃诜?wù)器端執(zhí)行,而不是在客戶的瀏覽器上,所以使用ASP就不必?fù)?dān)心客戶的瀏覽器是否能運(yùn)行編寫的程序代碼。當(dāng)瀏覽器向服務(wù)器發(fā)出請求讀取Web服務(wù)器上的某個(gè).ASP文件時(shí),Web服務(wù)器會(huì)打開ASP文件,并讀取其中的信息,執(zhí)行腳本命令并將結(jié)果返回瀏覽器。最終結(jié)果顯示在客戶的瀏覽器上,同時(shí),這種執(zhí)行結(jié)構(gòu)減輕了客戶端瀏覽器的負(fù)擔(dān),提高了交互式的速度。
2.ASP的內(nèi)部特點(diǎn)
ASP擁有6個(gè)功能強(qiáng)大的內(nèi)部對(duì)象,每個(gè)對(duì)象都具有各自的屬性(Property)、方法(Method),數(shù)據(jù)集合(Collection)與事件(Event),這些內(nèi)部對(duì)象共同作用,完成服務(wù)器的工作。合理的利用這些對(duì)象,可以是復(fù)雜而多變的系統(tǒng)變得簡單而有條理。ASP的6個(gè)內(nèi)部對(duì)象及其功能描述如表1所示。
表1 ASP的內(nèi)部6大對(duì)象及功能
三、總體方案設(shè)計(jì)
(一)總體結(jié)構(gòu)圖
學(xué)生交流論壇系統(tǒng)可以分為三個(gè)主要的模塊:用戶管理模層、論壇帖子管理模塊、系統(tǒng)管理層。其系統(tǒng)總結(jié)構(gòu)圖如圖1所示:
圖1 系統(tǒng)結(jié)構(gòu)圖
(二)功能模塊
1.用戶管理層
(1)用戶登錄管理
用戶是游客和會(huì)員:會(huì)員需要輸入正確的用戶名和密碼才能登錄,當(dāng)沒有用戶名和密碼時(shí),可以點(diǎn)注冊進(jìn)入注冊頁面進(jìn)行注冊。
權(quán)限:已注冊的系統(tǒng)用戶。
(2)用戶注冊管理
想對(duì)論壇進(jìn)行深入了解的游客可以進(jìn)行注冊。
權(quán)限:所有用戶。
(3)用戶信息修改
用戶的信息包括:用戶名、密碼、性別、年齡、QQ號(hào)、郵箱、頭像、教育程度、手機(jī)號(hào)、所在地區(qū)。在信息錯(cuò)誤的情況下,用戶可以對(duì)用戶名、密碼、性別、QQ號(hào)、和郵箱等個(gè)人信息進(jìn)行修改。
權(quán)限:已登錄用戶(包括:普通用戶、版主、超級(jí)版主和超級(jí)管理員)。
(4)用戶刪除
對(duì)一些管理員認(rèn)為對(duì)本論壇有害或者管理員認(rèn)為能刪除的用戶,管理員可以對(duì)其進(jìn)行刪除操作。
權(quán)限:超級(jí)管理員。
(5)用戶搜索
用戶的某些信息只有管理員才能看到,在需要的時(shí)候,管理員可以對(duì)用戶進(jìn)行搜索,并進(jìn)行相應(yīng)的操作。
權(quán)限:超級(jí)管理員。
2.帖子管理模塊
已經(jīng)注冊的用戶可以在論壇主頁與別人進(jìn)行交流,可以發(fā)帖子,或者對(duì)別人的帖子進(jìn)行回帖。發(fā)的帖子要有標(biāo)題,這樣方便別人搜索。發(fā)的帖子可以是文字,可以是圖片,也可以是鏈接。帖子要有發(fā)帖人,發(fā)帖時(shí)間,發(fā)帖類型已經(jīng)是否加密等。發(fā)帖人可以對(duì)自己所發(fā)的帖子進(jìn)行查看和修改;其他人也可以進(jìn)行回帖,回帖當(dāng)然也包括評(píng)論人、時(shí)間、評(píng)論內(nèi)容。
(1)瀏覽帖子:該論壇的目的就是使用戶能更好地共享資源,所以在別人共享了資源后,用戶可以瀏覽別人發(fā)的帖子。
權(quán)限:所有的用戶。
(2)修改帖子:帖子的所有權(quán)歸帖子的作者所有,在需要修改帖子時(shí),只有帖子的作者才能對(duì)其進(jìn)行修改,別人無法完成。
權(quán)限:帖子的作者。
(3)刪除帖子:由于帖子時(shí)作者發(fā)的,所以作者有權(quán)對(duì)帖子進(jìn)行刪除和修改操作;另一方面,如果帖子的內(nèi)容有損其他用戶合法的利益,或者經(jīng)管理者審核后未通過,管理員有權(quán)對(duì)帖子進(jìn)行刪除。
權(quán)限:管轄該板塊的管理員和發(fā)帖人。
(4)審核帖子:對(duì)進(jìn)入論壇的帖子,為了更好地被用使用,管理員需要對(duì)帖子進(jìn)行審核,審核通過的帖子才能顯示在論壇上。
權(quán)限:管轄相應(yīng)板塊的管理員。
3.超級(jí)板塊管理
(1)建立超級(jí)板塊 權(quán)限:超級(jí)管理員。
(2)刪除超級(jí)板塊 權(quán)限:超級(jí)管理員。
(3)任命超級(jí)版主 權(quán)限:超級(jí)管理員。
(4)撤銷超級(jí)版主 權(quán)限:超級(jí)管理員。
4.普通板塊的管理
(1)建立普通板塊 權(quán)限:超級(jí)版主。
(2)刪除普通板塊 權(quán)限:超級(jí)版主。
(3)任命版主 權(quán)限:超級(jí)版主。
(4)撤銷版主 權(quán)限:超級(jí)版主。
5.游客
沒有進(jìn)行注冊的用戶稱為游客,游客只有瀏覽帖子和注冊的功能,其他功能只有在成為會(huì)員或者管理員時(shí)才有。
注冊模塊:游客可以通過注冊填寫相應(yīng)的信息成為會(huì)員,注冊模塊的屬性有:用戶名、密碼、郵箱和QQ號(hào)。
(三)系統(tǒng)總體流程圖
論壇系統(tǒng)的總流程圖如圖2所示。
圖2 系統(tǒng)總流程圖
(四)系統(tǒng)關(guān)鍵模塊的設(shè)計(jì)和實(shí)現(xiàn)
由于該論壇系統(tǒng)采用分層模式開發(fā),所以在開發(fā)時(shí)還要添加庫文件項(xiàng)目。該系統(tǒng)主要有分為以下幾層:網(wǎng)頁層(Web)、邏輯處理層(Keming.BBS.BLL)、實(shí)體層(Keming.BBS.Model)和數(shù)據(jù)庫訪問層(Keming.BBS.SQLServerDAL).
1.網(wǎng)站前臺(tái)系統(tǒng)概述
網(wǎng)站前臺(tái)功能主要包括用戶登錄、用戶注冊、瀏覽主頁上的帖子、共享帖子、回復(fù)帖子和搜索帖子等功能。系統(tǒng)前臺(tái)的各部分以列表形式如表2所示。
表2 前臺(tái)頁面說明
2.系統(tǒng)注冊和登錄頁面
已經(jīng)注冊過得用戶只需要直接輸入正確的用戶名和密碼,系統(tǒng)會(huì)對(duì)用戶輸入的內(nèi)容進(jìn)行相應(yīng)的判斷,如果用戶名和密碼能匹配,則完成登錄操作,頁面回到導(dǎo)航頁,用戶可以進(jìn)行下一步操作;如果用戶名和密碼不匹配,則顯示“用戶名或者密碼錯(cuò)誤,請重新輸入”。沒有注冊的用戶可以點(diǎn)擊首頁上的“注冊”導(dǎo)航,頁面會(huì)自動(dòng)導(dǎo)航到系統(tǒng)的注冊頁面。用戶在注冊頁面根據(jù)提示完成相應(yīng)的信息填寫就能完成注冊。再次輸入用戶名和密碼就能登錄。
3. 用戶個(gè)人中心頁面
對(duì)于已經(jīng)注冊的用戶,登錄后可以點(diǎn)擊首頁導(dǎo)航欄上的“個(gè)人中心”對(duì)個(gè)人的信息進(jìn)行相應(yīng)的填寫或者修改,也可以進(jìn)行發(fā)帖回帖操作,也能進(jìn)行網(wǎng)頁帖子精華的瀏覽,完成后點(diǎn)擊退出完成登錄操作。
4.帖子詳細(xì)信息顯示和回帖頁面
在帖子顯示頁面上,主要用于對(duì)帖子信息進(jìn)行詳細(xì)的顯示,在帖子的下面有專門用于回帖的信息欄,對(duì)回帖進(jìn)行顯示。主要是根據(jù)頁面?zhèn)魉瓦^來的帖子的ID號(hào)來顯示指定的帖子信息及其回復(fù)。
四、總結(jié)
本系統(tǒng)采用ASP.NET平臺(tái)進(jìn)行系統(tǒng)的開發(fā),并用C#語言來編碼實(shí)現(xiàn)系統(tǒng),SQL Server數(shù)據(jù)庫平臺(tái),實(shí)現(xiàn)了系統(tǒng)最初分析和設(shè)計(jì)的所有功能。系統(tǒng)前臺(tái)實(shí)現(xiàn)了用戶注冊、用戶登錄、個(gè)人信息管理、板塊分類、子板塊瀏覽、帖子瀏覽、帖子發(fā)布、帖子回復(fù)和帖子搜索功能;系統(tǒng)后臺(tái)實(shí)現(xiàn)了管理員登錄、板塊的增加與刪除、超級(jí)版主的管理、子板塊增加與刪除、對(duì)普通版主的任命、對(duì)帖子的審核刪除及用戶搜索和刪除等功能。這些功能的實(shí)現(xiàn),是管理官能更加合理有序簡單方便的管理該論壇。對(duì)不同身份的讓用戶賦予不同的操作權(quán)限,在很大程度上保證了系統(tǒng)的安全。
系統(tǒng)通過采用分層模式進(jìn)行開發(fā),條理清晰、結(jié)構(gòu)明確,方便系統(tǒng)的拓展。系統(tǒng)的靈活性因?qū)优c層之間通過接口進(jìn)行訪問而變得很高。當(dāng)系統(tǒng)需要使用其他類型的數(shù)據(jù)庫時(shí),在不改變代碼的基礎(chǔ)上,重新編寫數(shù)據(jù)層并實(shí)現(xiàn)相應(yīng)的接口即可,這也是本系統(tǒng)特點(diǎn)所在。
參考文獻(xiàn):
[1] 黃縉華.MySQL入門很簡單[M].北京:清華大學(xué)出版社,2011.
[2] Boroncxyk.T,Elizabeth Naramore,薛焱.Web開發(fā)入門經(jīng)典:使用PHP6、Apache和MySQL[M].北京:清華大學(xué)出版社,2009.
[3] 鄭阿奇.Asp實(shí)用教程[M].電子工業(yè)出版社,2003.9.
[4] 攀孝忠,龔元明.計(jì)算機(jī)應(yīng)用基礎(chǔ)[M].北京理工大學(xué)出版社.
[5] 李勇平,ASP.NET 2.0(C#)基礎(chǔ)教程[M].清華大學(xué)出版社,2008:1-50,75-80.
[6] 王珊.數(shù)據(jù)庫系統(tǒng)概論[M].北京:高等教育出版社,2008:78-82.
[7] 賓晟,周峰,孫更新.ASP.NET網(wǎng)絡(luò)程序開發(fā)原理與實(shí)踐教程[M].電子工業(yè)出版社,2007:200-255.
[8] 陳艷華,付瑞鋒,單黨育.ASP.NET 2.0+SQL Server網(wǎng)絡(luò)系統(tǒng)開發(fā)與實(shí)例[M].人民郵電出版社,2008:90-120.