劉發(fā)穩(wěn) 高宇 陳云川 宋浩
摘要:為方便計(jì)算機(jī)愛(ài)好者交流經(jīng)驗(yàn)分享信息,采用B/S架構(gòu),在HTML+DIV+CSS技術(shù)的基礎(chǔ)上,以Apache作為開(kāi)發(fā)的服務(wù)器,MySQL為數(shù)據(jù)庫(kù)服務(wù)器,Adobe Dreamweaver為集成開(kāi)發(fā)工具,用PHP語(yǔ)言快速開(kāi)發(fā)出一個(gè)界面友好,功能齊全的論壇,從而為計(jì)算機(jī)愛(ài)好者提供一個(gè)可靠的交流平臺(tái)。最后該論壇選用集成了Apache、PHP、MySQL、phpMyAdmin的AppServ作為測(cè)試及發(fā)布工具,經(jīng)測(cè)試該論壇的游客、普通會(huì)員和管理員之間的用戶權(quán)限清晰明確,程序猿論壇運(yùn)行安全、快速。
關(guān)鍵詞:論壇;PHP語(yǔ)言;AppServ
Abstract: In order to facilitate the exchange of experience of computer enthusiasts, sharing information, using B/S structure, basic HTML DIV + + CSS technology, developed as a server with Apache, MySQL database server, Adobe Dreamweaver as a development tool, with PHP language quickly developed a user-friendly, full-featured forum, so as to provide a reliable communication platform for computer enthusiasts. The forum selected integrates Apache, PHP, MySQL, phpMyAdmin's AppServ as testing and publishing tools, the user rights among visitors, ordinary members and administrators of Ape Coder are clear, and runs safely and quickly through testing.
Key words: forum; PHP language; AppServ
1 背景
電子公告牌系統(tǒng)(Bulletin Board System,英文縮寫(xiě)B(tài)BS)起源于20世紀(jì)80年代,經(jīng)過(guò)幾十年的發(fā)展,電子公告牌系統(tǒng)具有包含信息容量廣泛、信息更新及時(shí)、便于交互等優(yōu)點(diǎn)。雖然進(jìn)入21世紀(jì)后,隨著博客、微博、微信等自媒體的蓬勃發(fā)展,時(shí)下人們有了更多的在互聯(lián)網(wǎng)上表現(xiàn)自我,娛樂(lè),獲取信息的選擇,但電子公告牌系統(tǒng)所具有的在一段時(shí)間內(nèi)對(duì)一些話題的集中討論等優(yōu)點(diǎn),依然無(wú)法被取代。隨著新開(kāi)發(fā)技術(shù)的引進(jìn),表現(xiàn)出來(lái)強(qiáng)大的生命力[1]。
2 論壇需求分析
2.1 用戶需求
目前互聯(lián)網(wǎng)上有很多IT類(lèi)交流平臺(tái),如CSDN、cnbeta、IT牛人網(wǎng)、PHP100等,開(kāi)發(fā)本論壇為計(jì)算機(jī)愛(ài)好者提供更多的選擇。本論壇采用B/S模型,用戶可以方便地進(jìn)行發(fā)帖子、回帖以及登錄注冊(cè)用戶等方面的操作,同時(shí)為論壇管理員提供友好簡(jiǎn)介友好界面對(duì)本論壇進(jìn)行增加、刪除、修改和查詢論壇數(shù)據(jù)等操作。本論壇的目標(biāo)是為方便計(jì)算機(jī)愛(ài)好者交流經(jīng)驗(yàn),分享信息,提供一個(gè)功能全面的交流平臺(tái),提供友好界面對(duì)本論壇進(jìn)行管理。為了實(shí)現(xiàn)以上目標(biāo),同時(shí)兼顧系統(tǒng)的安全性和實(shí)用性,本論壇劃分為3個(gè)角色:游客,普通會(huì)員和管理員。游客的包括如下功能:可以瀏覽帖子,不可以發(fā)布帖子,不可以回復(fù)帖子。游客只有在注冊(cè)成為程序猿論壇普通會(huì)員后,才可以執(zhí)行普通會(huì)員功能。普通會(huì)員包括如下功能:用戶登錄,發(fā)布帖子,查看帖子,回復(fù)帖子和修改個(gè)人資料。管理員包括如下功能:用戶管理,信息發(fā)布管理,板塊管理,帖子管理,回帖管理和其他所有功能。
2.2 數(shù)據(jù)流圖分析
1)程序猿論壇頂層數(shù)據(jù)流圖如圖1所示。
2)程序猿論壇0層數(shù)據(jù)流圖如圖2所示。
由于管理員所能執(zhí)行的功能包含普通會(huì)員所能執(zhí)行的功能,普通會(huì)員所能執(zhí)行的功能,又包含游客所能執(zhí)行的功能,為使在程序猿論壇0層數(shù)據(jù)流圖盡量清晰,管理員所能執(zhí)行的普通會(huì)員和游客所能執(zhí)行功能的部分,不再將管理員實(shí)體畫(huà)出,同理普通會(huì)員所能執(zhí)行的游客所能執(zhí)行功能的部分,不再將普通會(huì)員實(shí)體畫(huà)出。
3 程序猿論壇設(shè)計(jì)
3.1 論壇體系結(jié)構(gòu)
本論壇采用的設(shè)計(jì)策略是自頂向下方法,先定義論壇的基本框架設(shè)計(jì)結(jié)構(gòu)和總體要實(shí)現(xiàn)的功能,然后逐步細(xì)化到該框架中的各個(gè)子模塊及其各個(gè)子模塊功能的實(shí)現(xiàn),最終完成整個(gè)論壇的設(shè)計(jì)[2]。根據(jù)以上需求分析和數(shù)據(jù)流圖,畫(huà)出體系結(jié)構(gòu)[3]。本論壇分為前臺(tái)與后臺(tái)如圖3所示。
3.2 數(shù)據(jù)庫(kù)表結(jié)構(gòu)
以關(guān)系型數(shù)據(jù)庫(kù)MySQL作為本論壇后臺(tái)數(shù)據(jù)庫(kù)。數(shù)據(jù)庫(kù)主要包括以下數(shù)據(jù)表:BLOCK(板塊表)、Info(信息發(fā)布表)、ONLINE(在線用戶信息表)、POST(帖子表)、REPLY(回復(fù)表)等,部分表結(jié)構(gòu)設(shè)計(jì)如下:
1)BLOCK(板塊表):板塊信息被記錄在板塊表里,板塊表的結(jié)構(gòu)如表1所示。
2)Info(信息表):信息表里主要記錄論壇新聞的相關(guān)信息,信息表的結(jié)構(gòu)如表2所示。
3)ONLINE(在線用戶信息表):在線用戶信息表主要記錄登錄本論壇的用戶相關(guān)信息,在線用戶信息表的結(jié)構(gòu)如表3所示。
4)POST(帖子表):程序猿論壇帖子信息被記錄在帖子表里,帖子表的結(jié)構(gòu)如表4所示。
5)REPLY(回復(fù)表):回復(fù)表里主要是記錄帖子的回復(fù)信息,回復(fù)表的結(jié)構(gòu)如表5所示。
6)USER(用戶表):用戶表主要是關(guān)于用戶信息的詳細(xì)記錄,用戶表的結(jié)構(gòu)如表6所示。
4 程序猿論壇實(shí)現(xiàn)
4.1 程序猿論壇前臺(tái)功能實(shí)現(xiàn)
論壇前臺(tái)功能作為直接面向論壇用戶操作界面,是否滿足功能需求至關(guān)重要[4]。本論壇前臺(tái)功能界面力求在滿足基本功能的前提下,盡可能提供美觀大方界面設(shè)計(jì)。前臺(tái)功能主要包括以下幾個(gè)部分。
1)前臺(tái)首頁(yè):程序猿論壇中每一個(gè)頁(yè)面都采用了同一頁(yè)面框架,一分欄結(jié)構(gòu)被應(yīng)用到該頁(yè)面框架中,整個(gè)頁(yè)面包括4個(gè)區(qū)域:頁(yè)頭、頁(yè)尾、功能欄和內(nèi)容顯示區(qū)[5]。為契合“程序猿論壇”這一論壇名字,特將“程序猿”這一卡通形象放到了首頁(yè)。本論壇前臺(tái)首頁(yè)的運(yùn)行結(jié)果如圖4所示。
2)前臺(tái)論壇新聞:游客可直接進(jìn)入本論壇,瀏覽論壇新聞并可以查看新聞主題內(nèi)容具體信息,如閱讀次數(shù),發(fā)布時(shí)間,新聞主題等。新聞信息的發(fā)布,由管理員來(lái)完成。
3)前臺(tái)注冊(cè)中心:游客可以通過(guò)首頁(yè)右上角的“注冊(cè)”按鈕或“注冊(cè)中心”模塊下注冊(cè)成普通會(huì)員。注冊(cè)成功后,本論壇會(huì)給會(huì)員分配一個(gè)唯一的ID,一旦生成便不可更改。該ID是識(shí)別普通會(huì)員的唯一標(biāo)識(shí),而不是昵稱,昵稱允許重復(fù)。
4)前臺(tái)登錄中心:普通會(huì)員和管理員可通過(guò)右上角的“登錄”按鈕,或“登錄中心”模塊下完成登錄。完成登錄后,可執(zhí)行對(duì)應(yīng)權(quán)限的操作。
5)前臺(tái)發(fā)帖中心:普通會(huì)員與管理員經(jīng)過(guò)登錄后,可在“發(fā)帖中心”模塊下進(jìn)行發(fā)帖操作,并對(duì)所發(fā)內(nèi)容進(jìn)行文字、段落等簡(jiǎn)單設(shè)置,并選擇所發(fā)帖子所屬板塊,整個(gè)過(guò)程簡(jiǎn)介流暢,界面友好。
6)前臺(tái)個(gè)人中心:普通會(huì)員和管理員可在“個(gè)人中心”模塊下,查看并修改個(gè)人信息,可完善注冊(cè)時(shí)未添加的信息。
7)查看某版塊中帖子列表:游客可以根據(jù)模塊名稱所反映的主題,進(jìn)入模塊,瀏覽相應(yīng)主題的帖子。普通會(huì)員用戶登錄論壇后進(jìn)入模塊,瀏覽相應(yīng)主題的帖子并回帖。
8)查看帖子和回復(fù)帖內(nèi)容:當(dāng)用戶登錄系統(tǒng)完成發(fā)帖操作,在對(duì)應(yīng)板塊帖子下可以查看帖子和回復(fù)帖內(nèi)容。
4.2 程序猿論壇后臺(tái)實(shí)現(xiàn)
后臺(tái)管理部分包括用戶管理、信息發(fā)布管理、版塊管理、帖子管理、回帖管理五個(gè)模塊。通過(guò)后臺(tái)的各個(gè)功能模塊,管理員實(shí)現(xiàn)了對(duì)本論壇全面管理。這里重點(diǎn)介紹用戶管理、板塊管理和帖子管理三個(gè)模塊。程序猿論壇后臺(tái)首頁(yè)運(yùn)行結(jié)果如圖5所示。
1)用戶管理:本論壇按照用戶不同的權(quán)限劃分為三類(lèi)用戶,其中用戶管理功能主要是實(shí)現(xiàn)管理員對(duì)本論壇全部用戶的管理。后臺(tái)用戶管理的功能主要包括查詢系統(tǒng)用戶的相關(guān)信息和刪除用戶,在前臺(tái)注冊(cè)成功的用戶,在這里都有顯示出來(lái),為了論壇的秩序井井有條,對(duì)于散布不良信息或者蓄意發(fā)布無(wú)用帖子等不良行為的用戶,管理員有權(quán)限執(zhí)行刪除用戶操作。
2)板塊管理:在本論壇中默認(rèn)設(shè)置開(kāi)源代碼、移動(dòng)開(kāi)發(fā)、數(shù)據(jù)挖掘、云開(kāi)發(fā)和物聯(lián)網(wǎng)等內(nèi)容板塊。同時(shí)為了適應(yīng)信息時(shí)代發(fā)展,緊跟時(shí)代潮流,管理員登錄論壇后臺(tái)管理系統(tǒng)在板塊管理模塊對(duì)論壇模塊查看和修改。①添加版塊:點(diǎn)擊“版塊管理”框內(nèi)的“版塊添加”,管理員在“添加版塊”的框內(nèi)寫(xiě)入要新增的版塊,完成之后點(diǎn)擊“提交”即可完成在指定版塊的添加,對(duì)應(yīng)數(shù)據(jù)庫(kù)內(nèi)新增一條信息。②編輯版塊:?jiǎn)螕簟鞍鎵K管理”,在右側(cè)顯示框內(nèi),點(diǎn)擊“編輯”跳轉(zhuǎn)至編輯版塊,管理員在“編輯版塊”內(nèi)填入重新編輯好的版塊名稱,點(diǎn)擊“提交”即完成編輯版塊的功能操作,相應(yīng)數(shù)據(jù)庫(kù)內(nèi)修改該版塊的名稱。③刪除版塊:想要?jiǎng)h除現(xiàn)有的版塊,單擊“版塊管理”在右側(cè)顯示框內(nèi),選定需要?jiǎng)h除的版塊,點(diǎn)擊“刪除”,彈出窗口詢問(wèn)“確認(rèn)刪除”點(diǎn)擊“確定”即完成刪除操作,相應(yīng)數(shù)據(jù)庫(kù)內(nèi)的信息也會(huì)刪除。
3)帖子管理:因?yàn)檎搲嫦蛴脩魧哟屋^多,為了維護(hù)論壇生態(tài)環(huán)境,營(yíng)造積極向上的交流氛圍。在前臺(tái)發(fā)布過(guò)的帖子,帖子管理功能都可以實(shí)現(xiàn)對(duì)應(yīng)管理。后臺(tái)帖子管理查詢到相關(guān)的違規(guī)帖子后,單擊“帖子管理”在右側(cè)顯示框內(nèi)選定需要?jiǎng)h除的帖子,點(diǎn)擊“刪除”即可完成刪除帖子的操作。
5 系統(tǒng)測(cè)試
程序猿論壇完成后,對(duì)本論壇各個(gè)功能,載入測(cè)試數(shù)據(jù)進(jìn)行運(yùn)行調(diào)試。
5.1 裝入測(cè)試數(shù)據(jù)
先利用phpMyAdmin對(duì)MySQL數(shù)據(jù)庫(kù)裝入大量測(cè)試數(shù)據(jù),然后分別從程序猿論壇的前臺(tái)與后臺(tái)進(jìn)去本論壇,觀察頁(yè)面顯示信息。能夠發(fā)現(xiàn)與之前裝入的測(cè)試數(shù)據(jù)相符,正常顯示。
5.2 測(cè)試運(yùn)行及調(diào)試
運(yùn)行測(cè)試分為兩部分:前端功能測(cè)試和后臺(tái)管理功能測(cè)試。前端功能測(cè)試從登錄功能測(cè)試、注冊(cè)功能測(cè)試、發(fā)帖功能測(cè)試、 回復(fù)帖子測(cè)試四個(gè)模塊測(cè)試。后臺(tái)管理功能測(cè)試從用戶管理測(cè)試、信息發(fā)布管理測(cè)試、板塊管理測(cè)試、帖子管理測(cè)試和回帖管理測(cè)試等模塊測(cè)試。測(cè)試各個(gè)功能模塊,并錄入大量數(shù)據(jù),在測(cè)試過(guò)程中,本論壇正常運(yùn)行。運(yùn)用phpMyAdmin瀏覽MySQL數(shù)據(jù)庫(kù)中的各項(xiàng)記錄,與之前通過(guò)論壇錄入的數(shù)據(jù)對(duì)比,發(fā)現(xiàn)前后兩者相符。
6 結(jié)束語(yǔ)
本論壇按照軟件工程開(kāi)發(fā)流程,以游客、普通會(huì)員和管理員三種用戶角色進(jìn)行功能劃分。運(yùn)用PHP語(yǔ)言快速開(kāi)發(fā)出一個(gè)界面友好,功能齊全的程序猿論壇,為廣大計(jì)算機(jī)愛(ài)好者提供一個(gè)可靠的交流平臺(tái)。經(jīng)過(guò)測(cè)試本論壇的用戶權(quán)限清晰明確,達(dá)到了技術(shù)論壇交流協(xié)作的目的,具有應(yīng)用價(jià)值。
參考文獻(xiàn):
[1] 馬駿.PHP應(yīng)用開(kāi)發(fā)與實(shí)踐[M].北京:人民郵電出版社,2012.
[2] 陳松喬,任勝兵,王國(guó)軍.現(xiàn)代軟件工程[M].北京:清華大學(xué)出版社,2004.
[3] 王珊,薩師煊.數(shù)據(jù)庫(kù)系統(tǒng)概論[M].5版.北京:高等教育出版社,2014.
[4] 黃俊霞.基于.NET的高職教師學(xué)術(shù)論壇系統(tǒng)設(shè)計(jì)與實(shí)現(xiàn)[J].湖北第二師范學(xué)院學(xué)報(bào),2017,34(2):41-47.
[5] 趙增敏.PHP+MySQL+Dreamweaver8動(dòng)態(tài)網(wǎng)站開(kāi)發(fā)從基礎(chǔ)到實(shí)踐[M].北京:電子工業(yè)出版社,2007.
【通聯(lián)編輯:謝媛媛】