BBS論壇系統(tǒng)畢業(yè)論文
《BBS論壇系統(tǒng)畢業(yè)論文》由會員分享,可在線閱讀,更多相關(guān)《BBS論壇系統(tǒng)畢業(yè)論文(60頁珍藏版)》請在裝配圖網(wǎng)上搜索。
1、 焦 作 大 學 畢業(yè)設(shè)計(論文)說明書 作 者: 學 號: 學院(系): 專 業(yè): 題 目: 焦大畢業(yè)季論壇系統(tǒng) 主 題: 指導教師: 職稱: 2012年12月 I 焦作大學畢業(yè)設(shè)計說明書 摘 要 隨著互聯(lián)網(wǎng)
2、 技術(shù)的快速發(fā)展,人與人之間交流方式逐漸增多。網(wǎng)絡(luò)視頻、網(wǎng)絡(luò)聊天、 博客已成為人們彼此溝通、交流信息的主要方式。此外,為了方便人們在某一專業(yè)領(lǐng)域探 討問題和發(fā)表意見,互聯(lián)網(wǎng) 上還出現(xiàn)了在線論壇。在論壇上,人們可以對某一領(lǐng)域提出自己遇到的問題,即發(fā)表某一主題,隨后,論壇上的其他人會根據(jù)自己的學識、經(jīng)驗發(fā)表意 見或提出問題的方法。 開發(fā) BBS 論壇系統(tǒng)的目的是提供一個供用戶交流的平臺,為廣大用戶提供交流經(jīng)驗、 探討問題的網(wǎng)上社區(qū)。因此,BBS 論壇系統(tǒng)最基本的功能首先是發(fā)表主題,其次是其他人員根據(jù)主題發(fā)表自己的看法。此外,為了記錄主題的發(fā)表者和主題的回復者信息,系統(tǒng)還需要提供用戶注冊和登錄的功能
3、。只有注冊的用戶登錄后才能夠發(fā)表和回復主題,瀏覽者 (游客)只能瀏覽主題信息。 本論壇系統(tǒng)是基于是 Adobe Dreamweaver CS6+Microsoft Access 2003+asp 實現(xiàn)的,它具有使用方便、操作靈活、 運行穩(wěn)定、安全可靠等特點。 關(guān)鍵詞: 在線論壇,BBS,網(wǎng)上社區(qū),Dreamweaver,Access Abstract With the rapid development of internet technology, means of communication between people is gradually increasing.
4、 Video, web chat, blog have become the main forms of exchanging information with each other. In addition, in order to allow people in a professional field to probe into questions and make comments, internet on-line forums have emerged. At the forum, people can put forward their own particular proble
5、ms encountered in the field, a subject that is issued, then the rest of the forum ,making comments or raise problems based on their knowledge and experience. BBS forum system aims to provide a communication platform for the user, for the majority of users to exchange experiences and explore issues o
6、f community. Therefore, BBS forum system is the most basic function of the first keynote, followed by other officers to express their views on the theme. In addition, in order to record the release of the theme and the theme of the respondents information systems also need to provide users registrat
7、ion and login function. Only registered users can log on and release publications and reply to topics, visitors (tourists) can only view topic information. This forum system is based on a Adobe Dreamweaver CS6+Microsoft Access 2003 implementation, it is convenient, flexible operation, stable, sa
8、fe and reliable. KeyWords :Online Forum, BBS, Online Community,Dreamweaver ,Access,asp 1 焦作大學畢業(yè)設(shè)計說明書 目錄 第一章 前言 1 1.1選題的背景和選題的意義 1 第二章 系統(tǒng)技術(shù)及運行環(huán)境 3 2.1 ASP技術(shù)簡介 3 2.2 Dreamweaver CS6簡介 3 2.3ACCESS2003 技術(shù)簡介 4 2.4利用ADO訪問數(shù)據(jù)庫 4 2.5 SQL語句簡介 6 2.6 IIS簡介 7 第三章 需求分析 10 3.1 用戶功能需求 10
9、3.2 數(shù)據(jù)需求 11 第四章 總體設(shè)計 12 4.1 系統(tǒng)模塊結(jié)構(gòu)設(shè)計 12 4.2 數(shù)據(jù)庫設(shè)計 14 4.2.1 E-R圖分析 14 4.2.2 數(shù)據(jù)表設(shè)計 19 4.3系統(tǒng)流程圖 22 第五章 詳細設(shè)計 24 5.1 用戶登錄模塊 24 5.2 用戶注冊模塊設(shè)計 26 5.3 帖子版塊模塊設(shè)計 32 5.4 瀏覽帖子主題模塊設(shè)計 43 5.5 帖子內(nèi)容瀏覽模塊設(shè)計 52 5.6 發(fā)帖模塊設(shè)計 67 5.7超級管理員后臺管理模塊 68 5.8版主管理界面模塊設(shè)計 74 第六章 性能測試與分析 76 6.1功能測試 76 6.2 運行分析情況 76
10、 結(jié)束語 78 致謝 79 參考文獻 80 第 53 頁 共 60 頁 焦作大學畢業(yè)設(shè)計說明書 第一章 前言 1.1選題的背景和選題的意義 internet是目前世界上最大的計算機互聯(lián)網(wǎng)絡(luò),它遍布全球,將世界各地各種規(guī)模的網(wǎng)絡(luò)連接成一個整體。作為數(shù)字ernet上一種先進的,易于被人們所接受的信息檢索手段,World Wide Web(簡稱WWW)發(fā)展十分迅速,成為目前世界上最大的信息資源寶庫。據(jù)估計,目前internet上已有上百萬個Web站點,其內(nèi)容范圍跨越了教育科研、文化事業(yè)、金融、商業(yè)、新聞出版、娛樂、體育等各個領(lǐng)域,其用戶群十分龐大,因
11、此,建設(shè)一個好的Web站點對于一個機構(gòu)的發(fā)展十分重要。近年來,隨著網(wǎng)絡(luò)用戶要求的不斷提高及計算機科學的迅速發(fā)展,特別是數(shù)據(jù)庫技術(shù)在internet中的廣泛應用,Web站點向用戶提供的服務將越來越豐富,越來越人性化。 我們發(fā)現(xiàn)這樣一個事實,一個用戶在訪問一個網(wǎng)站時一般來講只對該網(wǎng)站的部分內(nèi)容感性趣,而且這種興趣會持續(xù)一段時間。這點啟發(fā)了我們,如果能根據(jù)用戶的喜好為不同的用戶顯示其個性化的頁面,即著重顯示該用戶感興趣的內(nèi)容,將為用戶節(jié)約大量的檢索時間,而且這樣的網(wǎng)頁顯然是更具有吸引力的。一些站點已經(jīng)在這方面作出了一定的嘗試,通常采用的方法是,在用戶登陸時為其提供一系列的選項,使用戶能夠
12、對站點進行一些自主的設(shè)置。這樣做能夠使站點呈現(xiàn)一定程度的個性化,但是對用戶來講,還是比較煩瑣,而且在用戶了解一個站點前讓其對站點進行設(shè)置,其結(jié)果未免有些粗糙。于是我們構(gòu)想了這樣一種方案,對用戶登陸后的動作進行跟蹤,分析,發(fā)掘用戶點擊的規(guī)律,即用戶先后點擊的關(guān)聯(lián)規(guī)則,這樣,在用戶點擊一個主題(鏈接)之后,系統(tǒng)能夠自動生成一頁面,其中包含了該主題下用戶經(jīng)常關(guān)注的內(nèi)容(若干鏈接),這樣便在無須用戶作出任何額外工作的情況下實現(xiàn)了為用戶量身訂做的個性化頁面。要實現(xiàn)這樣的功能,離不開后臺數(shù)據(jù)庫的支持。用戶驗證信息,收集到的用戶點擊信息,主題層次信息,分析得出的關(guān)聯(lián)規(guī)則表等大量的數(shù)據(jù)都由數(shù)據(jù)庫管理系統(tǒng)管理。
13、本文中數(shù)據(jù)庫服務器端采用Microsoft Access數(shù)據(jù)庫作為ODBC(Open DataBase Connectivity )數(shù)據(jù)源,并以先進的ADO(ActiveX Data Objects)技術(shù)進行數(shù)據(jù)庫存取等操作,使Web與數(shù)據(jù)庫緊密聯(lián)系起來。整個個性化頁面生成系統(tǒng)主要由使用Dreamweaver CS6開發(fā)的關(guān)聯(lián)規(guī)則采掘系統(tǒng)和利用IIS+ASP技術(shù)實現(xiàn)的個性化Web頁面生成器兩部分組成。關(guān)聯(lián)規(guī)則采掘系統(tǒng)對數(shù)據(jù)庫中的歷史記錄進行分析,產(chǎn)生用戶關(guān)聯(lián)規(guī)則表;頁面生成器則負責記錄用戶行為和根據(jù)關(guān)聯(lián)規(guī)則表動態(tài)生成用戶個性化Web頁面。二者通過數(shù)據(jù)庫服務器和Web服務器連接。本文作者主要完成
14、Web服務器端的用戶管理、帖子管理、版面管理、數(shù)據(jù)庫管理、瀏覽和查找、短消息功能等設(shè)計、實現(xiàn)與完善以及整個實驗網(wǎng)站的組織建立和測試工作。 第二章 系統(tǒng)技術(shù)及運行環(huán)境 2.1 ASP技術(shù)簡介 Microsoft Active Server Pages 即我們所稱的ASP,其實是一套微軟開發(fā)的服務器端腳本環(huán)境。Active Server Page 是創(chuàng)建動態(tài)網(wǎng)頁的一個很好的工具,它起一種編程語言的作用,可以利用它編寫動態(tài)產(chǎn)生HTML的程序代碼。因此,只要用戶瀏覽Web站點并請求一個ASP頁,Web服務器就可以處理相應的ASP代碼,生成HTML代碼,然后將它傳遞到用戶瀏覽器并顯示出網(wǎng)
15、頁。 ASP程序的優(yōu)點: 1、ASP使用VBScript腳本語言直接源于VB語言,秉承了VB簡單易學的特點,掌管起來非常容易。 2、無須編譯,容易編寫,可在服務器端直接執(zhí)行。 3、與瀏覽器無關(guān),客戶端只要使用可執(zhí)行HTML碼的瀏覽器,即可瀏覽ASP所設(shè)計的網(wǎng)頁內(nèi)容。 4、ASP能與任何ActiveX scripting語言相容。除了可使用VBScript或JavaScript語言來設(shè)計外,還通過plug-in的方式,使用由第三方所提供的其他腳本語言。 5、ASP技術(shù)的處理速度相當快,并且其安全性也很高,ASP的源程序,不會被傳到客戶瀏
16、覽器,因而可以避免所寫的源程序被他人剽竊,也提高了程序的安全性。 6、ASP的對象和組件:ASP有7個固有對象這7個固有對象分別是Request,Response,Server,Application,Session,ASPError和ObjectContext。 2.2 Dreamweaver CS6簡介 Dreamweaver cs6 是世界頂級軟件廠商adobe推出的一套擁有可視化編輯界面,用于制作并編輯網(wǎng)站和移動應用程序的網(wǎng)頁設(shè)計軟件。由于它支持代碼、拆分、設(shè)計、實時視圖等多種方式來創(chuàng)作、編寫和修改網(wǎng)頁,對于初級人員,你可以無需編寫任何代碼就能快速創(chuàng)建web頁面。其成熟
17、的代碼編輯工具更適用于web開發(fā)高級人員的創(chuàng)作!cs6新版本使用了自適應網(wǎng)格版面創(chuàng)建頁面,在發(fā)布前使用多屏幕預覽審閱設(shè)計,可大大提高工作效率。改善的 ftp 性能,更高效地傳輸大型文件?!皩崟r視圖”和“多屏幕預覽”面板可呈現(xiàn) html5 代碼,更能夠檢查自己的工作。 2.3ACCESS2003 技術(shù)簡介 Access2003 就是關(guān)系數(shù)據(jù)庫開發(fā)工具,數(shù)據(jù)庫能匯集各種信息以供查詢,存儲和檢索。那么什么叫數(shù)據(jù)庫呢?數(shù)據(jù)庫(Database)是由一些有意義和有關(guān)系的數(shù)據(jù)(data)所組合而成。一個數(shù)據(jù)庫中,包含了許多條記錄(Record),而每條記錄是由多個字段(Field)所組成,不同的字段存
18、放這不同的數(shù)據(jù)。所以數(shù)據(jù)庫的嚴格定義是一組相關(guān)記錄的集合,而字段則是最基本的數(shù)據(jù)項,也是數(shù)據(jù)庫中最小的單位。在計算機中用來幫我們管理數(shù)據(jù)庫的系統(tǒng),我們稱之為數(shù)據(jù)庫管理管理系統(tǒng)(Database Management System DBMS)。數(shù)據(jù)庫管理系統(tǒng)是架構(gòu)在一個或多個數(shù)據(jù)庫之上,并針對數(shù)據(jù)庫中的數(shù)據(jù)進行管理運用。 Access 的優(yōu)點在于它能使用數(shù)據(jù)表示圖或自定義窗體收集信息,數(shù)據(jù)表示圖提供了一種類似于 Excel 的電子表格,可以使數(shù)據(jù)庫一目了然。另外,Access 允許創(chuàng)建自定義報表用于打印或輸出數(shù)據(jù)庫中的信息。Access也提供了數(shù)據(jù)存儲庫,可以使用桌面數(shù)據(jù)庫文件把數(shù)據(jù)庫
19、文件置于網(wǎng)絡(luò)文件服務器,與其他網(wǎng)絡(luò)用戶共享數(shù)據(jù)庫。如上所述,Access 作為關(guān)系數(shù)據(jù)庫開發(fā)具備了許多優(yōu)點,可以在一個數(shù)據(jù)包中同時擁有桌面數(shù)據(jù)庫的便利和關(guān)系數(shù)據(jù)庫的強大功能。 2.4利用ADO訪問數(shù)據(jù)庫 ADO(ActiveX Data Objects)是一種操作Microsoft所支持的數(shù)據(jù)庫的新技術(shù)。在ASP中,ADO可以看作是一個服務器組件(Server Component),更簡單點說,是一系列的對象,應用這些功能強大的對象,即可輕松完成對數(shù)據(jù)庫復雜的操作。本文中個性化頁面的實現(xiàn)便大量地用到了ADO技術(shù)。具體的操作步驟可以歸納為以下幾步: 1.創(chuàng)建數(shù)據(jù)庫源名(DSN)
20、2.創(chuàng)建數(shù)據(jù)庫鏈接(Connection) 3.創(chuàng)建數(shù)據(jù)對象 4.操作數(shù)據(jù)庫 5.關(guān)閉數(shù)據(jù)對象和鏈接 每一步的作法如下: 一、創(chuàng)建數(shù)據(jù)源名 DSN(Date Source Name)即數(shù)據(jù)源名稱。我們知道,ODBC是一種訪問數(shù)據(jù)庫的方法,只要系統(tǒng)中有相應的ODBC驅(qū)動程序,任何程序就可以通過ODBC操縱驅(qū)動程序的數(shù)據(jù)庫。比如我們系統(tǒng)中有Access的ODBC驅(qū)動程序,那么即使我們沒有Access軟件,也可以在我們的程序中對一個Access的MDB數(shù)據(jù)庫加、刪、改記錄。而且我們根本不用知道這個數(shù)據(jù)庫是放在哪里的。我們只要寫出SQL語句,ODBC驅(qū)動程序就會幫我們做一切
21、事情。我們在給ODBC驅(qū)動程序傳SQL指令時,即是用DSN來告訴它到底操作的是哪一個數(shù)據(jù)庫。如果數(shù)據(jù)庫的平臺變了,比如我們改用了SQL Server的數(shù)據(jù)庫,只要其中表的結(jié)構(gòu)沒變,我們就不用改寫我們的程序,只要重新在系統(tǒng)中配置DSN就行了。由此可見,DSN是應用程序和數(shù)據(jù)庫之間的橋梁。 二、創(chuàng)建數(shù)據(jù)庫鏈接(Connection) 鏈接用以保持一些關(guān)于正在訪問的數(shù)據(jù)的一些狀態(tài)信息,以及鏈接者信息。ASP文件中如果要訪問數(shù)據(jù),必須首先創(chuàng)建與數(shù)據(jù)庫的鏈接,其語法如下: set Conn=Server.createObject(“ADOBD.CONNECTION”) 這條語句創(chuàng)建了鏈接對象
22、Conn,接下來: connstr="Provider=Microsoft.Jet.OLEDB.4.0;Data.Source="&Server.MapPath(""&db&"") conn.Open connstr 這條語句打開鏈接,用到了DSN,本例為“connstr”。 以上兩個步驟缺一不可,因為鏈接對象的創(chuàng)建與打開是兩回事,只有打開了才真正可以使用。 三、創(chuàng)建數(shù)據(jù)對象(Record Set) ADO中的數(shù)據(jù)對象通常保存的是查詢結(jié)果。Record Set是ADO中最復雜的對象,有許多屬性和方法。Record Set保存的是一行行的記錄,并標有一個當前記錄。以下是創(chuàng)建方
23、法: Set Record Set=Conn.Execute(sqtStr) 這條語句創(chuàng)建并打開了對象Record Set,其中Con是先前創(chuàng)建的鏈接對象,rs是一個字串,代表一條標準的SQL語句。例如: rs=“SELECT * FROM shop_books” Set Record Set=mConn.Execute(rs) 這條語句執(zhí)行后,對象Record Set中就保存了表tab1中的所有記錄。 四、操作數(shù)據(jù)庫 我們通過調(diào)用鏈接對象的Execute方法來將查詢結(jié)果返回給一個數(shù)據(jù)對象或進行插入、刪除等操作。例如: rs=“INSERT 數(shù)字
24、O tab1 VALUES(1,2)” mConn.Execute(rs) 執(zhí)行插入操作 五、關(guān)閉數(shù)據(jù)對象和鏈接對象 在使用了ADO對象之后要關(guān)閉它,因為它使用了一定的服務器資源。通過調(diào)用方法close實現(xiàn)關(guān)閉,然后再釋放它。 Record Set.close Set Record Set=Nothing ‘關(guān)閉創(chuàng)建的數(shù)據(jù)對象 mConn.close Set mConn=Nothing ‘關(guān)閉創(chuàng)建的鏈接對象 2.5 SQL語句簡介 1、SQL 語句簡介 SQL全稱是"結(jié)構(gòu)化查詢語言(Structured Query Langua
25、ge)",SQL包含4個 部分: (1)數(shù)據(jù)查詢語言DQL-Data Query Language SELECT (2)據(jù)操縱語言DQL-Data Manipulation Language INSERT, UPDATE, DELETE (3)數(shù)據(jù)定義語言DQL-Data Definition Language CREATE, ALTER, DROP (4)數(shù)據(jù)控制語言DQL-Data Control Language COMMIT WORK, ROLLBACK WORK 2、SQL的優(yōu)點 (1)非過程化語言 (2)統(tǒng)一的語言 SQL為許多任務提供了命令,包括:查詢數(shù)據(jù),數(shù)
26、據(jù)更新,在表中插入記錄,在表中修改記錄,在表中刪除記錄,建立,修改和刪除數(shù)據(jù)對象,控制對數(shù)據(jù)和數(shù)據(jù)對象的存取,保證數(shù)據(jù)庫一致性和完整性,以前的數(shù)據(jù)庫管理系統(tǒng)為上述各類操作提供單獨的語言,而SQL將全部任務統(tǒng)一在一種語言中。 (3)是所有關(guān)系數(shù)據(jù)庫的公共語言 由于所有主要的關(guān)系數(shù)據(jù)庫管理系統(tǒng)都支持SQL語言,用戶可將使用SQL的技能從一個RDBMS轉(zhuǎn)到另一個。所有用SQL編寫的程序都是可以移植的。SQL是大多數(shù)關(guān)系型數(shù)據(jù)庫用做查詢語言的語言。它是可以移植的,并且容易學習使用,但是所有SQL語句都必須由數(shù)據(jù)庫服務器獨立地執(zhí)行。這就意味著客戶端應用必須把每條查詢發(fā)送到數(shù)據(jù)庫服務器,等待它
27、處理這個查詢,接收結(jié)果,做一些運算,然后給服務器發(fā)送另外一條查詢。所有這些東西都會產(chǎn)生進程間通訊,并且如果客戶端在另外一臺機器上甚至還會導致網(wǎng)絡(luò)開銷。 2.6 IIS簡介 1、IIS的安裝 WINDOWS 7提供的WEB服務器組件IIS的安裝方法,在開始→設(shè)置→控制面板→程序和功能,單機左側(cè)“打開或關(guān)閉Windows功能”,就會彈出如圖2-1所示的WINDOWS功能對話框.在其中選擇數(shù)字ERNET信息服務,然后單擊確定按鈕,即完成IIS的安裝。 圖2-1 IIS安裝 2、添加新的網(wǎng)站 在啟動數(shù)字ernet信息服務(IIS)管理器后,在“網(wǎng)站”單擊鼠標右鍵如圖(2-2),單機“添
28、加網(wǎng)站”命令,打開添加網(wǎng)站對話框,然后按照系統(tǒng)提示操作, 即可完成網(wǎng)站的創(chuàng)建 圖2-2 添加新網(wǎng)站 第三章 需求分析 軟件的需求分析必須要有對原業(yè)務的一個深入了解、提取、抽象、升華的過程,管理軟件需求分析尤其如此。 軟件的需求分析是從用戶的業(yè)務中提取出軟件系統(tǒng)能夠幫助用戶解決的業(yè)務問題,通過對用戶業(yè)務問題的分析,規(guī)劃出我們的軟件產(chǎn)品。這個步驟是對用戶業(yè)務需求的一個升華,是一個把用戶業(yè)務管理流程優(yōu)化,轉(zhuǎn)化為軟件產(chǎn)品,從而提升管理而實現(xiàn)的質(zhì)的飛躍,這一步是否成功,直接關(guān)系到開發(fā)出來的軟件產(chǎn)品能否得到用戶認可,順利交付給客戶,客戶能否真正運用我們的產(chǎn)品幫助他解決業(yè)務或管理問題。
29、3.1 用戶功能需求 為了系統(tǒng)的各模塊功能夠正常使用、系統(tǒng)更加人性化,還為了滿足系統(tǒng)的實用性及安全性,本系統(tǒng)包含5個角色:游客,用戶,管理員、超級管理員、版主。 (1)游客的各項功能: 游客可以瀏覽本論壇,但是不可以發(fā)帖,不可以回帖,也不可以看帖,只有注冊了以后成為本論壇的用戶,才可以執(zhí)行用戶的功能。 (2)用戶的各項功能: 一旦成為本論壇的用戶后享有以下功能: 1、用戶注冊 2、用戶登錄 3、發(fā)表文章 4、閱讀文章 5、回復文章 6、個人資料修改 (3)管理員的各項功能: 1、修改管理員自己的信息 2、對帖子進行管理 3、進入前臺以及退出后臺 (4)超級管理
30、員的各項功能: 超級管理員可以添加新的管理員以及刪除管理員,修改管理員資料,以及對帖子的管理,超級管理員還可以添加版主。 (5)版主的各項功能: 版主可以具有的功能如下: 1、對帖子進行刪除加精 2、修改版塊 3、查看版主信息 4、修改版主信息 3.2 數(shù)據(jù)需求 用戶必須先注冊后再登錄進入系統(tǒng),系統(tǒng)用戶的數(shù)據(jù)包括用戶名、用戶密碼、用戶類型。用戶名在整個系統(tǒng)中是唯一的。 用戶瀏覽帖子時,數(shù)據(jù)應當包括用戶名、帖子序號。用戶根據(jù)某一主題可以發(fā)表帖子,發(fā)表帖子需要的數(shù)據(jù)包括用戶名、版塊編號、版塊分類名、發(fā)表帖子標題、發(fā)表帖子內(nèi)容、發(fā)表帖子類型。用戶回復帖子的數(shù)據(jù)包括用戶名、回復帖子
31、序號、回復的內(nèi)容、版塊編號、版塊分類名。 管理員進入后臺管理時,需要數(shù)據(jù)包括管理員ID、管理員密碼、管理員的類型。管理員根據(jù)權(quán)限的不同分為普通管理員和超級管理員。 版主進去后臺管理時,需要的數(shù)據(jù)包括版主名、版主密碼、子版塊名、版塊編號。 第四章 總體設(shè)計 4.1 系統(tǒng)模塊結(jié)構(gòu)設(shè)計 BBS論壇系統(tǒng)(前臺)的主要功能模塊及其關(guān)系,如圖4-1所示: BBS論壇系統(tǒng)(前臺) 用戶登錄管理 用戶信息資料管理 用戶密碼找回 主題帖子管理 用戶注冊管理 幫助與退出 瀏覽帖子 用戶信息修改 發(fā)表話題 回復帖子 新用戶注冊 用戶密碼修改 后臺登錄 圖4-
32、1 BBS論壇系統(tǒng)前臺功能模塊 根據(jù)BBS論壇系統(tǒng)前臺的模塊圖可以得到系統(tǒng)的具體功能: ★ 用戶登錄管理功能:新用戶注冊成功之后,在登錄界面輸入正確用戶名、密碼之后便可以進入本系統(tǒng)。 ★ 用戶注冊管理功能:游客可以瀏覽論壇的主題話題但是不可以發(fā)表話題和回復帖子,只有當游客在本論壇注冊成為論壇的用戶后,才能進行相關(guān)操作。 ★ 用戶信息資料管理功能:在用戶登錄成功之后,可以修改用戶自己的信息,進一步完善用戶資料和修改注冊時用戶填寫的資料。 ★ 主題帖子管理功能:為了方便信息交流,用戶可以發(fā)表話題,更可以根據(jù)帖子主題瀏覽帖子內(nèi)容和回復帖子。 ★ 用戶密碼找回功能:用戶可以按照注冊時
33、填寫的密碼問題,修改自己的密碼。 根據(jù)BBS系統(tǒng)功能分析和論壇管理的特點,需要設(shè)計BBS論壇的后臺管理系,其主要功能模塊如圖4-2所示。 后臺管理 超級管理員 管理員(版主) 版塊修改 用戶管理 帖子刪除 帖子加精 用戶權(quán)限修改 用戶賬戶刪除 圖 4-2 BBS論壇系統(tǒng)后臺功能模塊 根據(jù)BBS論壇系統(tǒng)后臺的模塊圖可以得到系統(tǒng)的具體功能: 一 管理員管理: ★ 管理員信息管理功能:管理員輸入正確用戶名、密碼之后便可以進入到后臺管理系統(tǒng)。可以查看自己的信息,和自己權(quán)限內(nèi)的版塊信息。 ★ 主題帖子管理功能:管理員可以對用戶發(fā)表的帖子進行管理,管理員可以加精帖子
34、和刪除帖子等操作。 二 超級管理員: ★ 版塊管理功能:只有版主輸入正確用戶名、密碼之后便可以進入到版主后臺管理。版主根據(jù)版塊的分類,修改版塊信息。 ★ 用戶管理功能:可以刪除用戶,可以對用戶權(quán)限進行修改。 4.2 數(shù)據(jù)庫設(shè)計 該系統(tǒng)采用Access2003作為后臺數(shù)據(jù)庫去存儲所有與系統(tǒng)相關(guān)的數(shù)據(jù)。這些數(shù)據(jù)表包括用戶表(userinfo)、主題帖子表(topicinfo)、回復帖子表(replyinfo)、版塊表(foruminfo1)父版塊表(foruminfo)以及管理員表(admininfo)。數(shù)據(jù)模型的最終目的就是規(guī)劃能夠有效地處理事務,并且保持應用開發(fā)的簡潔性的關(guān)系數(shù)據(jù)庫
35、,并在數(shù)據(jù)庫的規(guī)范化、性能優(yōu)化以及數(shù)據(jù)的簡潔性之間達到平衡。 4.2.1 E-R圖分析 4.2.1.1 ER模型 E-R模型是對現(xiàn)實世界的一種抽象。它的主要成分是實體、聯(lián)系和屬性。使用這三種成分,我們可以建立許多應用環(huán)境的ER模型。本系統(tǒng)的實體和屬性的定義如下: 用戶表(用戶ID、用戶密碼、用戶昵稱、用戶電子郵箱、用戶級別、用戶留言、用戶自述、用戶權(quán)限) 主題帖子表(主題帖子編號、主題帖子標題、主題帖子作者、帖子內(nèi)容、發(fā)表帖子的時間、回復數(shù)、所屬版塊號、主題類型、是否加精) 回復帖子表(回復編號、回復帖子編號、回復作者、回復帖子時間、回復內(nèi)容) 版塊表(版塊編號、版塊名稱、版塊類
36、型、子版塊編號、版主、主題數(shù)、文章數(shù)、版塊描述) 管理員表(管理員ID、管理員密碼、管理員電子郵箱、管理員自述、注冊時間、管理員留言、管理員權(quán)限) 具體實體屬性的關(guān)系圖: 用戶 用戶留言 積分 用戶郵箱 用戶ID 密碼 昵稱 用戶權(quán)限 用戶自述 圖 4-3 用戶信息實體圖 主題帖子 發(fā)表帖子時間 回復數(shù) 帖子內(nèi)容 帖子編號 標題 作者 主題類型 所屬版塊號 圖 4-4 主題帖子信息實體圖 回復帖子 回復編號 回復帖子編號 回復內(nèi)容 回復帖子時間 回復作者 圖 4-5 回復帖子信息實體圖
37、 版塊 版塊描述 版主 主題數(shù) 版塊編號 版塊名稱 版塊類型 文章數(shù) 子版塊編號 圖 4-6 版塊信息實體圖 管理員 留言 注冊時間 管理員自述 管理員ID 密碼 郵箱 管理員權(quán)限 圖 4-7 管理員信息實體圖 4.2.1.2 聯(lián)系定義 ER模型的“聯(lián)系”用于刻畫實體之間的關(guān)聯(lián)。一種完整的方式是對局部結(jié)構(gòu)中任意兩個實體類型,依據(jù)需求分析的結(jié)果,考察局部結(jié)構(gòu)中任意兩個實體類型之間是否存在聯(lián)系。若有聯(lián)系,進一步確定是1:N,M:N,還是1:1等。還要考察一個實體類型內(nèi)部是否存在聯(lián)系,兩個實體類型之間是否存在聯(lián)系,多個實體類型
38、之間是否存在聯(lián)系,等等。 本系統(tǒng)的ER模型如圖4-8所示: 瀏覽 主題帖子 所屬 回復帖子 對應 版塊 n m 1 管理員 管理 m m n n 用戶 圖 4-8 ER模型圖 4.2.2 數(shù)據(jù)表設(shè)計 在這個數(shù)據(jù)庫管理系統(tǒng)中要建立6張數(shù)據(jù)表,包括用戶表(userinfo)、主題帖子表(topicinfo)、回復帖子表(replyinfo)、版塊表(foruminfo)、版塊表(foruminfo1)以及管理員表(admininfo)。首先創(chuàng)建bbs數(shù)據(jù)庫,然后在數(shù)據(jù)庫中新建5個數(shù)據(jù)表。這5張數(shù)據(jù)表的各個字段意義如下所示。
39、 表4-1 回復帖子表(replyinfo) 字段名 數(shù)據(jù)類型 說明 id 自動編號 回復編號(主鍵) topicid 數(shù)字 主題號(外鍵) replyuserid 文本 回復者(外鍵) replytime 日期/時間 ?回復時間 replycontent 備注 ?回復內(nèi)容 表4-2 主題帖子表(topicinfo) 字段名 數(shù)據(jù)類型 說明 topicid 自動編號 主題編號(主鍵) topictitle 文本 標題 topicuserid 文本 發(fā)帖人(外鍵) topiccontent 備注 ?發(fā)帖內(nèi)容 t
40、opictime 日期/時間 ?發(fā)帖時間 replynum 數(shù)字 回復數(shù)? Bronum 數(shù)字 瀏覽數(shù) forumid 數(shù)字 ?版塊號(外鍵) jingpin 是/否 是否加精 4-3 版塊表(foruminfo1) 字段名 數(shù)據(jù)類型 說明 mid 數(shù)字 版塊編號(主鍵) Fmin 數(shù)字 父版塊號(外鍵) name 文本 版塊名 adminauthor 文本 版主 totaltopic 數(shù)字 主題數(shù) tx 文本 圖片路徑 description 文本 版塊描述 4-4 管理員信息表(admininfo)
41、 字段名 數(shù)據(jù)類型 說明 admname 文本 管理員ID(主鍵) admpwd 文本 密碼 admemail 文本 ?郵箱 admstate 文本 ?自述 admtime 日期/時間 注冊時間 admsay 文本 留言 admright 數(shù)字 權(quán)限 Question 文本 問題 Answser 文本 答案 表4-5 用戶信息表(userinfo) 字段名 數(shù)據(jù)類型 說明 userid 文本 用戶名(主鍵) userpwd 文本 ?密碼 username 文本 ?昵稱 Usergender
42、 文本 性別 useremail 文本 ?郵箱 userlevel 數(shù)字 ?級別 usersay 文本 留言 userstate 文本 自述 right 數(shù)字 權(quán)限 Userbirthday 日期/時間 生日 Question 文本 問題 Answer 文本 答案 Time 日期/時間 注冊時間 表4-6 父版塊表(foruminfo) 字段名 數(shù)據(jù)類型 說明 mid 數(shù)字 版塊編號(主鍵) name 文本 版塊名 adminauthor 文本 版主 tx 文本 圖片路徑 4.3系統(tǒng)流程圖
43、用戶 登錄 是否登陸 回復帖子 管理員管理 主題瀏覽 帖子管理 版主管理 主界面 是 否 主頁面 注冊 后臺管理 發(fā)表新帖 添加管理員 修改管理員資料 刪除管理員 修改帖子 查看帖子 刪除帖子 添加版主 修改版主資料 添加版塊 圖 4-9 主要功能流程圖 各模塊功能解釋如下: 用戶登錄模塊:新用戶注冊成功之后,在登錄界面輸入注冊時填寫的正確用戶名、密碼之后,再輸入出現(xiàn)的驗證碼之后便可以進入本系統(tǒng)。如果用戶名和密碼正確,但是輸入的驗證碼錯誤,則不允許進入本系統(tǒng),跳轉(zhuǎn)到登錄界面重新輸入。 用戶注冊模塊:建立賬號,如果游客以前沒有建立賬
44、號,則只可以瀏覽論壇的主題話題但是不可以發(fā)表新話題和回復有關(guān)帖子,只有當游客在本論壇注冊成為論壇的用戶后,才能進行相關(guān)操作。同時在用戶創(chuàng)建新賬號的時候,必須輸入用戶名(系統(tǒng)會在提交時檢查該用戶名是否已存在) 。用戶在建立新賬號之后就可以具有合法登錄系統(tǒng)的身份,可以進行相關(guān)的操作。 用戶信息資料管理模塊:在用戶登錄成功之后,可以修改用戶自己的信息,進一步完善用戶自己的資料和修改注冊時用戶填寫的資料。 主題帖子模塊:為了方便信息交流,首先帖子主題類型分為精華主題(紅色)和普通主題(黑色),用戶可以根據(jù)需要游覽自己感興趣的帖子,獲得所需信息。用戶可以發(fā)表話題,還可以根據(jù)帖子主題瀏覽帖子內(nèi)容和回復
45、帖子。 管理員信息管理模塊:管理員輸入正確用戶名、密碼之后便可以進入到后臺管理系統(tǒng)。管理員可以查看自己的信息,可以添加管理員,可以修改管理員的資料,還可以刪除管理員。 主題帖子管理模塊:管理員可以對用戶發(fā)表的帖子進行管理,管理員可以按主題帖子序號,主題名,發(fā)表的話題進行看帖,修改帖子和刪除帖子等操作。 版主管理模塊:管理員可以根據(jù)版塊具體要求的不同,添加這一版塊的版主負責管理此版塊,來分擔管理員的管理論壇的工作,可以更好的為廣大用戶服務。版主還可以修改自己的資料,添加本版塊的子版塊。 第五章 詳細設(shè)計 5.1 用戶登錄模塊 當游客注冊成為本BBS論壇系統(tǒng)的用戶后,便跳
46、轉(zhuǎn)到系統(tǒng)登錄界面,在系統(tǒng)登錄界面(圖5-1所示)輸入正確用戶名、密碼和驗證碼之后便可以進入本系統(tǒng)。 圖 5-1 用戶登錄界面 驗證用戶登陸的代碼如下: <% ' *** Validate request to log in to this site. MM_LoginAction = Request.ServerVariables("URL") If Request.QueryString<>"" Then MM_LoginAction = MM_LoginAction + "?" + Server.HTMLEncode(Request.QueryString) MM_va
47、lUsername=CStr(Request.Form("user")) If MM_valUsername <> "" Then MM_fldUserAuthorization="" MM_redirectLoginSuccess="/huiyuan/welcome.asp" MM_redirectLoginFailed="huiyuan/fail.asp" MM_flag="ADODB.Recordset" set MM_rsUser = Server.CreateObject(MM_flag) MM_rsUser.ActiveConnection =
48、 MM_bbs_STRING MM_rsUser.Source = "SELECT userid, userpwd" If MM_fldUserAuthorization <> "" Then MM_rsUser.Source = MM_rsUser.Source & "," & MM_fldUserAuthorization MM_rsUser.Source = MM_rsUser.Source & " FROM userinfo WHERE userid='" & Replace(MM_valUsername,"'","''") &"' AND userpwd='" &
49、Replace(Request.Form("psw"),"'","''") & "'" MM_rsUser.CursorType = 0 MM_rsUser.CursorLocation = 2 MM_rsUser.LockType = 3 MM_rsUser.Open If Not MM_rsUser.EOF Or Not MM_rsUser.BOF Then ' username and password match - this is a valid user Session("MM_Username") = MM_valUsernam
50、e If (MM_fldUserAuthorization <> "") Then Session("MM_UserAuthorization") = CStr(MM_rsUser.Fields.Item(MM_fldUserAuthorization).Value) Else Session("MM_UserAuthorization") = "" End If if CStr(Request.QueryString("accessdenied")) <> "" And true Then MM_redirec
51、tLoginSuccess = Request.QueryString("accessdenied") End If MM_rsUser.Close Response.Redirect(MM_redirectLoginSuccess) End If MM_rsUser.Close Response.Redirect(MM_redirectLoginFailed) End If %> 5.2 用戶注冊模塊設(shè)計 游客如果要在本BBS論壇系統(tǒng)發(fā)表帖子和回復帖子,游客必須在本論壇注冊成為論壇的用戶后,才能進行相關(guān)操作。 圖 5-2 用戶注
52、冊界面 驗證用戶注冊是否成功代碼如下: MM_editAction = CStr(Request.ServerVariables("SCRIPT_NAME")) If (Request.QueryString <> "") Then MM_editAction = MM_editAction & "?" & Server.HTMLEncode(Request.QueryString) End If ' boolean to abort record edit MM_abortEdit = false ' query string to execute MM_editQ
53、uery = "" %> <% ' *** Redirect if username exists MM_flag="MM_insert" If (CStr(Request(MM_flag)) <> "") Then MM_dupKeyRedirect="/huiyuan/zhycz.asp" MM_rsKeyConnection=MM_bbs_STRING MM_dupKeyUsernameValue = CStr(Request.Form("userid")) MM_dupKeySQL="SELECT userid FROM userinfo WHERE
54、userid='" & Replace(MM_dupKeyUsernameValue,"'","''") & "'" MM_adodbRecordset="ADODB.Recordset" set MM_rsKey=Server.CreateObject(MM_adodbRecordset) MM_rsKey.ActiveConnection=MM_rsKeyConnection MM_rsKey.Source=MM_dupKeySQL MM_rsKey.CursorType=0 MM_rsKey.CursorLocation=2 MM_rsKey.L
55、ockType=3 MM_rsKey.Open If Not MM_rsKey.EOF Or Not MM_rsKey.BOF Then ' the username was found - can not add the requested username MM_qsChar = "?" If (InStr(1,MM_dupKeyRedirect,"?") >= 1) Then MM_qsChar = "&" MM_dupKeyRedirect = MM_dupKeyRedirect & MM_qsChar & "requsername
56、=" & MM_dupKeyUsernameValue Response.Redirect(MM_dupKeyRedirect) End If MM_rsKey.Close End If %> <% ' *** Insert Record: set variables If (CStr(Request("MM_insert")) = "form1") Then MM_editConnection = MM_bbs_STRING MM_editTable = "userinfo" MM_editRedirectUrl = "/huiyuan/zc
57、cg.asp" MM_fieldsStr = "userid|value|userpwd|value|username|value|useremail|value|usergender|value|useryear|value|usermonth|value|userday|value|userstate|value|question|value|answer|value" MM_columnsStr = "userid|',none,''|userpwd|',none,''|username|',none,''|useremail|',none,''|usergender|',
58、none,''|useryear|none,none,NULL|usermonth|none,none,NULL|userday|none,none,NULL|userstate|',none,''|question|',none,''|answer|',none,''" ' create the MM_fields and MM_columns arrays MM_fields = Split(MM_fieldsStr, "|") MM_columns = Split(MM_columnsStr, "|") ' set the form values For M
59、M_i = LBound(MM_fields) To UBound(MM_fields) Step 2 MM_fields(MM_i+1) = CStr(Request.Form(MM_fields(MM_i))) Next ' append the query string to the redirect URL If (MM_editRedirectUrl <> "" And Request.QueryString <> "") Then If (InStr(1, MM_editRedirectUrl, "?", vbTextCompare) = 0
60、And Request.QueryString <> "") Then MM_editRedirectUrl = MM_editRedirectUrl & "?" & Request.QueryString Else MM_editRedirectUrl = MM_editRedirectUrl & "&" & Request.QueryString End If End If End If %> <% ' *** Insert Record: construct a sql insert statement and execute
61、 it Dim MM_tableValues Dim MM_dbValues If (CStr(Request("MM_insert")) <> "") Then ' create the sql insert statement MM_tableValues = "" MM_dbValues = "" For MM_i = LBound(MM_fields) To UBound(MM_fields) Step 2 MM_formVal = MM_fields(MM_i+1) MM_typeArray = Split(MM_columns(
62、MM_i+1),",") MM_delim = MM_typeArray(0) If (MM_delim = "none") Then MM_delim = "" MM_altVal = MM_typeArray(1) If (MM_altVal = "none") Then MM_altVal = "" MM_emptyVal = MM_typeArray(2) If (MM_emptyVal = "none") Then MM_emptyVal = "" If (MM_formVal = "") Then
63、MM_formVal = MM_emptyVal Else If (MM_altVal <> "") Then MM_formVal = MM_altVal ElseIf (MM_delim = "'") Then ' escape quotes MM_formVal = "'" & Replace(MM_formVal,"'","''") & "'" Else MM_formVal = MM_delim + MM_formVal + MM_delim End If
64、 End If If (MM_i <> LBound(MM_fields)) Then MM_tableValues = MM_tableValues & "," MM_dbValues = MM_dbValues & "," End If MM_tableValues = MM_tableValues & MM_columns(MM_i) MM_dbValues = MM_dbValues & MM_formVal Next MM_editQuery = "insert 數(shù)字o " & MM_editTable
65、 & " (" & MM_tableValues & ") values (" & MM_dbValues & ")" If (Not MM_abortEdit) Then ' execute the insert Set MM_editCmd = Server.CreateObject("ADODB.Command") MM_editCmd.ActiveConnection = MM_editConnection MM_editCmd.CommandText = MM_editQuery MM_editCmd.Execute
66、MM_editCmd.ActiveConnection.Close If (MM_editRedirectUrl <> "") Then Response.Redirect(MM_editRedirectUrl) End If End If End If %> <% Dim Recordset1 Dim Recordset1_numRows Set Recordset1 = Server.CreateObject("ADODB.Recordset") Recordset1.ActiveConnection = MM_bbs_STRING Recordset1.Source = "SELECT * FROM userinfo" Recordset1.CursorType = 0 Recordset1.CursorLocation = 2 Recordset1.LockType = 1 Recordset1.Open() Recordset1_numRows = 0 %> 5.3 帖子版塊模塊設(shè)計 帖子版塊界面(圖5-
- 溫馨提示:
1: 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
2: 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
3.本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
5. 裝配圖網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 初中生物對照實驗專題復習課件
- 初中物理資源九年級第十五單元課件串并聯(lián)識別
- 咯血與嘔血課件
- What's_your_number_課件
- 外研版七下Module3Unit1(教育精品)
- 浙美版三年級上冊美術(shù)第15課-剪雪花教學ppt課件
- 蘇教版六年級下冊數(shù)學正比例和反比例的意義課件
- 蘇教版五下《單式折線統(tǒng)計圖》教研課件
- 固態(tài)相變概論
- 三角形全等的判定復習-課件2
- 太陽能發(fā)展趨勢課件
- 道路工程監(jiān)理最新規(guī)劃范本課件
- SPC及CPK教程(理論篇)課件
- Travel-Plan旅行計劃-PPT
- 新冠肺炎疫情期間醫(yī)務人員防護技術(shù)指南