《計算機(jī)軟件技術(shù)基礎(chǔ)》課程設(shè)計--bbs論壇設(shè)計與實現(xiàn)_第1頁
已閱讀1頁,還剩17頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

1、<p><b>  目 錄</b></p><p>  第1章 系統(tǒng)概述1</p><p>  1.1 總體概述1</p><p>  1.2 開發(fā)目的1</p><p>  1.3 BBS對大學(xué)生學(xué)習(xí)生活的影響1</p><p>  第2章 需求分析2</p>

2、<p>  2.1 需求概述2</p><p>  2.2 系統(tǒng)用例圖2</p><p>  2.2.1 游客用例圖2</p><p>  2.2.2 注冊用戶用例圖3</p><p>  2.2.3 管理員用例圖3</p><p>  2.3 系統(tǒng)功能3</p><p>

3、  第3章 系統(tǒng)分析4</p><p>  3.1 BBS論壇管理系統(tǒng)技術(shù)的可行性分析4</p><p>  3.2 系統(tǒng)結(jié)構(gòu)5</p><p>  3.3 系統(tǒng)開發(fā)環(huán)境5</p><p>  第4章 系統(tǒng)設(shè)計6</p><p>  4.1 系統(tǒng)總體設(shè)計6</p><p>  4.2

4、 數(shù)據(jù)庫設(shè)計7</p><p>  4.2.1 數(shù)據(jù)庫和設(shè)計概述7</p><p>  4.2.2 概念模型設(shè)計(E-R圖)7</p><p>  4.2.3 數(shù)據(jù)庫表及關(guān)系建立8</p><p>  4.2.4 數(shù)據(jù)庫之間關(guān)系圖10</p><p>  第5章 系統(tǒng)實現(xiàn)11</p><

5、p>  5.1 發(fā)表帖子的實現(xiàn)11</p><p>  5.1.1 實現(xiàn)的關(guān)鍵技術(shù)11</p><p>  5.1.2 功能實現(xiàn)11</p><p>  5.1.2 主要相關(guān)代碼12</p><p>  5.2 瀏覽帖子的實現(xiàn)12</p><p>  5.2.1 實現(xiàn)的關(guān)鍵技術(shù)12</p>

6、<p>  5.2.2 功能實現(xiàn)12</p><p>  5.2.3 主要相關(guān)代碼13</p><p>  第6章 系統(tǒng)測試13</p><p>  6.1 測試方法介紹14</p><p>  6.2 單元測試14</p><p>  第7章 結(jié) 論15</p><p&g

7、t;<b>  參考文獻(xiàn)16</b></p><p>  第 1 章 系統(tǒng)概述 </p><p><b>  1.1 總體概述 </b></p><p>  BBS是在1992年底隨著國際互聯(lián)網(wǎng)的開始流行而迅速發(fā)展起來的?;ヂ?lián)網(wǎng)的產(chǎn)生使得以前只能在本地訪問的BBS可以被全世界隨意訪問,這對大多數(shù)人來說是極具誘惑力的。BB

8、S是一個有多人參加的討論系統(tǒng),在BBS上大家可以對一個共同感興趣的問題進(jìn)行討論,自由地發(fā)表自己的意見與觀點,并且能直接與其他的人進(jìn)行溝通。按照網(wǎng)站的性質(zhì)以及服務(wù)對象來分,迄今有以下幾種類型:一是校園BBS。校園BBS作為主要的集中地,在BBS領(lǐng)域具有舉足輕重的地位。 由于校園BBS的繁榮,吸引了很多的社會人士參與。二是專業(yè)BBS。一般是由各個著名的大公司組建,人們可以利用其交流自己對商品的看法,更為重要的是可以解決商品使用中的問題。三是

9、商業(yè)BBS。它是由ISP建立的BBS站點,這類BBS站點各種信息比較多,內(nèi)容相當(dāng)豐富。四是小型局域BBS。一般是由個人或小型集體建立,為小范圍信息交流服務(wù)。五是業(yè)余BBS。一般由BBS愛好者個人利用一些免費空間辦的BBS,目的是為廣大網(wǎng)友提供一個在某些專業(yè)上的交流場所。六是新聞媒體BBS。是由新聞媒體網(wǎng)站設(shè)立的,為廣大網(wǎng)友提供對新聞信息進(jìn)行評論、發(fā)表意見和觀點的場所。隨著互聯(lián)網(wǎng)事業(yè)的蓬勃發(fā)展。</p><p> 

10、 BBS論壇系統(tǒng)是為了方便大家的溝通和獲取信息而開發(fā)的系統(tǒng)。我們利用ASP.NET知識和SQL Server 2005開發(fā)BBS論壇管理系統(tǒng)。該系統(tǒng)以Internet為平臺,前臺可使任何人注冊、登錄、登錄在論壇上進(jìn)行發(fā)帖、回帖、瀏覽帖子等。管理員也可以在后臺對帖子、版塊、用戶等進(jìn)行相關(guān)的管理。一個小型BBS論壇系統(tǒng)的前臺功能主要包括瀏覽搜索帖子、用戶登陸注冊、發(fā)表回復(fù)帖子、個人資料管理和帖子管理;后臺功能主要包括用戶管理、論壇版塊管理和

11、帖子管理等。</p><p><b>  1.2 開發(fā)目的 </b></p><p>  開發(fā)本系統(tǒng)意在吸納大部分游離在眾多論壇的大學(xué)生,達(dá)到校內(nèi)網(wǎng)等論壇的目標(biāo)。系統(tǒng)開發(fā)的總?cè)蝿?wù)是實現(xiàn)文章的成功發(fā)表,留言的發(fā)布與回復(fù)。從而達(dá)到用戶之間信息交流的目的。系統(tǒng)主要面向兩類用戶:用戶和系統(tǒng)管理員。用戶可以先注冊,然后在網(wǎng)站里發(fā)表文章、留言等。系統(tǒng)管理員可以對用戶的信息進(jìn)行增添

12、和刪除及修改,對版塊進(jìn)行增加、刪除和修改操作;還可以對網(wǎng)站進(jìn)行修改與維護(hù)。</p><p>  1.3 BBS對大學(xué)生學(xué)習(xí)生活的影響</p><p>  1.BBS提供了豐富的網(wǎng)絡(luò)學(xué)習(xí)資源</p><p>  論壇是一個經(jīng)過學(xué)習(xí)者整理加工過的網(wǎng)絡(luò)資源匯en集中心,從新聞、學(xué)習(xí)到娛樂、體育,從文字到視頻、音頻,BBS匯集了各種形式、內(nèi)容的網(wǎng)絡(luò)資源。不少BBS都設(shè)有專門

13、的Net Resources(網(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”的欄目)。</p><p>  2.BBS促進(jìn)了協(xié)作學(xué)習(xí)</p><p>  基于網(wǎng)絡(luò)的論壇社區(qū)也是各種學(xué)習(xí)資源組合的場所,

14、為學(xué)習(xí)者提供了學(xué)習(xí)環(huán)境。作為一個學(xué)生參與論壇的網(wǎng)絡(luò)活動可包括許多種學(xué)習(xí)的意義,在特定板塊內(nèi),論壇參與者圍繞某個話題或者問題,通過發(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í)效果。</p><p

15、>  3.BBS提高了學(xué)生自主學(xué)習(xí)能力</p><p>  網(wǎng)絡(luò)學(xué)習(xí)的本質(zhì)是一種自主學(xué)習(xí),論壇提供了豐富的網(wǎng)絡(luò)學(xué)習(xí)資源,使學(xué)習(xí)者能自主選擇和控制學(xué)習(xí)地點、學(xué)習(xí)時間、學(xué)習(xí)方法和學(xué)習(xí)內(nèi)容。在論壇里,學(xué)生可以自主地圍繞學(xué)習(xí)問題,通過發(fā)帖、回復(fù)的形式提出討論,尋求解答幫助,提高了學(xué)習(xí)的積極性和自主學(xué)習(xí)的能力。</p><p>  第 2 章 需求分析</p><p>

16、<b>  2.1 需求概述 </b></p><p>  在需求分析階段,我們采用UML 建模,目的是捕捉系統(tǒng)的所有功能需求并加以描述,同時建立模型,分析并提取所開發(fā)系統(tǒng)的各種可以模塊化的功能以及描述它們的合作概貌。</p><p>  BBS系統(tǒng)的基本需求如下:</p><p> ?。?)它是一個計算機(jī)網(wǎng)絡(luò)軟件系統(tǒng),可通過WEB瀏覽器進(jìn)行訪

17、問;</p><p> ?。?)系統(tǒng)支持三種用戶(游客、注冊的用戶、管理員),每種用戶可使用的功能都是不同的;</p><p> ?。?)游客只可以查看帖子;</p><p> ?。?)游客可以通過注冊的方法變?yōu)樽杂脩簦孕畔ㄓ脩裘⒚艽a及其它附屬信息。其中用戶名是唯一的,不可與其它注冊用戶的用戶名重復(fù);</p><p> ?。?)游

18、客在登錄(輸入用戶名與密碼)之后,其身份變?yōu)樽杂脩簦?lt;/p><p> ?。?)注冊用戶可以查看所有舊帖子,并發(fā)新帖子;</p><p>  (7)注冊用戶可以回復(fù)他人或自己發(fā)表的帖子;</p><p>  (8)注冊用戶可以管理自己的附屬信息并修改它們;</p><p>  (9)管理員是管理BBS 的用戶,且是一種特殊的注冊用戶;<

19、;/p><p> ?。?0)管理員可以管理注冊用戶,如查看、修改、刪除注冊用戶信息;</p><p> ?。?1)管理員可以管理BBS 的帖子,如刪除不合法的帖子等。</p><p>  2.2 系統(tǒng)用例圖 </p><p>  在本系統(tǒng)中,通過分析,可以確認(rèn)BBS 中有三種角色:管理員,注冊用戶,游客。在此基礎(chǔ)上,為每個角色定義他們所能執(zhí)行的系

20、統(tǒng)功能(用例,即每個角色的功能需求)。</p><p>  2.2.1 游客用例圖</p><p>  圖2.1 游客用例圖</p><p>  游客角色指未執(zhí)行登錄過程的系統(tǒng)進(jìn)入者。</p><p>  游客可以查看帖子,而不能發(fā)新帖子與回復(fù)帖子。</p><p>  游客在登錄(輸入用戶名與密碼)后轉(zhuǎn)為注冊用戶。&

21、lt;/p><p>  游客在注冊后自動執(zhí)行登錄過程,即自動轉(zhuǎn)為注冊用戶。</p><p>  2.2.2 注冊用戶用例圖</p><p>  圖2.2 注冊用戶用例圖</p><p>  注冊用戶指已經(jīng)登錄過的用戶,他們不僅可以查看帖子,還可以發(fā)新帖子、回復(fù)帖子及管理個人信息。</p><p>  注冊用戶在執(zhí)行用戶退出

22、過程后變?yōu)橛慰汀?lt;/p><p>  2.2.3 管理員用例圖</p><p>  圖2.3管理員用例圖</p><p>  管理員可視為一種特殊的注冊用戶,它不僅擁有注冊用戶的全部功能(上圖中略去這部分功能),還擁有兩個其它的功能:1,帖子管理,2,用戶管理(用戶指注冊用戶、管理員)。</p><p><b>  2.3系統(tǒng)功能&

23、lt;/b></p><p>  鑒于本系統(tǒng)的性質(zhì),系統(tǒng)應(yīng)該實現(xiàn)以下功能:</p><p><b>  1.用戶功能實現(xiàn)</b></p><p><b>  (1)用戶的登錄</b></p><p><b>  (2)用戶的注冊</b></p><p&

24、gt;<b>  (3)用戶的查找</b></p><p>  (4)用戶資料的修改</p><p><b>  2.帖子功能實現(xiàn)</b></p><p><b>  (1)帖子的發(fā)表</b></p><p><b>  (2)帖子的回復(fù)</b></

25、p><p><b>  (3)帖子的查找</b></p><p><b>  3.后臺管理</b></p><p><b>  (1)用戶的管理</b></p><p><b>  (2)帖子的管理</b></p><p>  (3)論

26、壇信息的管理</p><p><b>  (4)圖片的管理</b></p><p>  第 3 章 系統(tǒng)分析</p><p>  3.1 BBS論壇管理系統(tǒng)的技術(shù)可行性分析</p><p>  BBS論壇管理系統(tǒng)就是提供給注冊用戶一個平臺,會員用戶可以通過Internet接入,登錄本系統(tǒng),在這個平臺上發(fā)表帖子、閱讀帖子、

27、回復(fù)帖子等等。</p><p>  此類系統(tǒng)通常有以下四種類型的操作用戶:游客用戶、普通用戶、版主、管理員。每類用戶有其不同的操作集,系統(tǒng)通常提供一個統(tǒng)一的登錄頁面,此頁面應(yīng)能自動識別不同級別的用戶,并提供不同的操作界面。與之相應(yīng),此類系統(tǒng)通常應(yīng)具有以下功能:用戶注冊、用戶登錄、發(fā)表帖子、閱讀帖子、回復(fù)帖子、個人資料維護(hù)、版塊管理、版主管理、用戶管理等等,所有操作都可以由用戶在客戶端瀏覽器中完成,而服務(wù)器端程序會

28、按用戶的要求來完成對系統(tǒng)數(shù)據(jù)的操作,并將結(jié)果傳給Web服務(wù)器,再由Web服務(wù)器處理成HTML文件后發(fā)送到客戶端瀏覽器。這就是所謂的B/S結(jié)構(gòu)應(yīng)用系統(tǒng),B/S結(jié)構(gòu)即Browser/Server(瀏覽器/服務(wù)器)結(jié)構(gòu),是隨著Internet技術(shù)的興起,對C/S結(jié)構(gòu)的一種變化或者改進(jìn)的結(jié)構(gòu)。C/S結(jié)構(gòu),即Client/Server(客戶機(jī)/服務(wù)器)結(jié)構(gòu),是大家熟知的軟件系統(tǒng)體系結(jié)構(gòu),通過將任務(wù)合理分配到Client端和Server端,降低了系

29、統(tǒng)的通訊開銷,可以充分利用兩端硬件環(huán)境的優(yōu)勢。早期的軟件系統(tǒng)多以此作為首選設(shè)計標(biāo)準(zhǔn)。</p><p>  B/S結(jié)構(gòu)下,用戶界面完全通過WWW瀏覽器實現(xiàn),一部分事務(wù)邏輯在前端實現(xiàn),但是主要事務(wù)邏輯在服務(wù)器端實現(xiàn),形成所謂N-Tier結(jié)構(gòu)。B/S結(jié)構(gòu),主要是利用了不斷成熟的WWW瀏覽器技術(shù),結(jié)合瀏覽器的多種Script語言(VBScript、JavaScript…)和ActiveX技術(shù),用通用瀏覽器就實現(xiàn)了原來需要

30、復(fù)雜專用軟件才能實現(xiàn)的強(qiáng)大功能,并節(jié)約了開發(fā)成本,是一種全新的軟件系統(tǒng)構(gòu)造技術(shù)。</p><p>  將應(yīng)用程序分成好幾個離散邏輯組件,就是多層式結(jié)構(gòu) (N-Tier) 應(yīng)用程序。最常見的選擇是分成三個部分:表示層、事務(wù)邏輯層和數(shù)據(jù)層(3-Tier),不過也有其它的組合。多層式結(jié)構(gòu)應(yīng)用程序,在一開始是解決某些與傳統(tǒng)客戶端/服務(wù)器 (主從式) 應(yīng)用程序相關(guān)的問題,但是隨著 Web 的出現(xiàn),此結(jié)構(gòu)已經(jīng)成為主導(dǎo)新程序之

31、開發(fā)的結(jié)構(gòu)。下面就是3-Tier結(jié)構(gòu)各層功能以及經(jīng)常采用的技術(shù)作個簡介:</p><p>  表示層主要運行于客戶端瀏覽器,采用Script (腳本)語言編寫。HTML、JavaScript、VBScript是此類應(yīng)用系統(tǒng)中展示層最常用的腳本編制語言,結(jié)合CCS以及ActiveX技術(shù),能設(shè)計出交互相當(dāng)靈活功能又相當(dāng)強(qiáng)大的客戶端網(wǎng)頁。</p><p>  事務(wù)邏輯層設(shè)計通常有三個選擇:ASP

32、.NET網(wǎng)頁、COM或COM+組件、DBMS中所執(zhí)行的預(yù)存程序。將程序代碼的一部分,建立成執(zhí)行于數(shù)據(jù)庫管理系統(tǒng) (DBMS) 中的預(yù)存程序,使數(shù)據(jù)與程序代碼儲存在相同的位置,有助于最佳化執(zhí)行效率,但是,預(yù)存程序都依賴于特定的數(shù)據(jù)庫系統(tǒng),在編寫和偵錯方面都相當(dāng)復(fù)雜,只適宜于大型的商業(yè)應(yīng)用系統(tǒng)。以 COM 對象的方式,編寫中間層(Middle Tier)事務(wù)邏輯,可以使用全功能的語言,來產(chǎn)生經(jīng)過編譯的執(zhí)行程序,執(zhí)行效率也相當(dāng)高,此外,在 C

33、OM 對象中包裝事務(wù)邏輯,還可以清楚地將此程序代碼與網(wǎng)頁內(nèi)含的展示程序代碼分隔,這樣可以使應(yīng)用程序更易于維護(hù),但是,COM對象的部署也有一定的麻煩,新編寫的組件對象,只有在服務(wù)器重新啟動后才能被應(yīng)用程序調(diào)用。用ASP.NET 網(wǎng)頁設(shè)計事務(wù)邏輯相對來說比較簡單,但是,ASP.NET網(wǎng)頁采用腳本語言來編寫事務(wù)邏輯,比如VBScript,程序代碼只有在執(zhí)行時才被翻譯,這樣會降低執(zhí)行效能,此外,ASP.NET 網(wǎng)頁中的程序代碼也是難以維護(hù)的,因

34、為事務(wù)邏輯程序代碼與建立使用者接口的展示程序代碼彼此混雜在一起。</p><p>  數(shù)據(jù)層較為靈活,視系統(tǒng)規(guī)模可選擇Sybase、Oracle、My SQL、SQL server或者M(jìn)S Access。</p><p>  綜上所述,結(jié)合本系統(tǒng)實際需要,本系統(tǒng)采用B/S結(jié)構(gòu),使用微軟公司的技術(shù)解決方案。開發(fā)環(huán)境采用微軟的Visual Studio 2005。采用3-Tier軟件結(jié)構(gòu):表示

35、層采用HTML、JavaScript或VBScript結(jié)合CSS、ActiveX技術(shù)來編寫;事務(wù)邏輯層,考慮到本系統(tǒng)為通用BBS系統(tǒng),系統(tǒng)應(yīng)該具備較大的可伸縮性,應(yīng)該能適應(yīng)最基本應(yīng)用最廣泛的WEB平臺,特別是個人用戶想在一些免費主頁空間搭建自已的論壇,而這類免費主頁空間通常只支持ASP.NET來處理服務(wù)器端數(shù)據(jù)或數(shù)據(jù)庫,另外,通用系統(tǒng)應(yīng)該具備較大的可擴(kuò)展性。因此,本系統(tǒng)事務(wù)邏輯層設(shè)計采用ASP.NET網(wǎng)頁;至于數(shù)據(jù)層,本系統(tǒng)采用最基本的

36、SQL Server 2005數(shù)據(jù)庫系統(tǒng)。</p><p>  本系統(tǒng)的開發(fā)環(huán)境和開發(fā)工具為:Windows XP,Visual Studio 2005,SQL Server 2005。</p><p><b>  3.2 系統(tǒng)結(jié)構(gòu)</b></p><p>  根據(jù)論壇系統(tǒng)的情況和要求,設(shè)計系統(tǒng)結(jié)構(gòu)如圖3.1所示。</p><

37、;p>  圖3.1 系統(tǒng)結(jié)構(gòu)圖</p><p>  3.3 系統(tǒng)開發(fā)環(huán)境</p><p>  系統(tǒng)開發(fā)平臺:Microsoft Visual Studio 2005</p><p>  數(shù)據(jù)庫管理系統(tǒng)軟件:SQL Server 2005</p><p>  運行平臺:Windows XP</p><p>  第

38、 4 章 系統(tǒng)設(shè)計</p><p>  設(shè)計階段的任務(wù)是通過綜合考慮各個功能間關(guān)聯(lián),以擴(kuò)展和細(xì)化分析階段的模型。設(shè)計的目的是指明一種易轉(zhuǎn)化成代碼的工作方案,是對分析工作的細(xì)化,即進(jìn)一步細(xì)化分析階段所得出的系統(tǒng)用例與關(guān)鍵領(lǐng)域類。</p><p>  4.1 系統(tǒng)總體設(shè)計</p><p>  圖4.1 系統(tǒng)功能層次圖</p><p><b&

39、gt;  1.會員模塊:</b></p><p>  此模塊用來實現(xiàn)會員的登陸注冊和會員資料的修改和查找。</p><p>  (1)會員登陸模塊:會員可以通過此模塊對論壇進(jìn)行登陸,登陸后便可以使用所有的會員功能比如發(fā)帖回復(fù)等等。</p><p>  (2)會員注冊模塊:沒有會員帳號的用戶,可以通過此模塊添加會員信息,添加成功后便可登陸論壇,使用會員功能

40、。</p><p>  (3)資料修改模塊:已注冊的會員在登陸后,可以通過此模塊,對會員的基本資料,聯(lián)系方式,碼,頭像等資料進(jìn)行修改。</p><p>  (4)會員查找模塊:已注冊的會員在登陸后, 可以通過此模塊,對會員進(jìn)行查找,并可以查看對方的資料,聯(lián)系方式等等,從而方便會員之間的聯(lián)系。</p><p><b>  2.帖子模塊:</b>&

41、lt;/p><p>  (1)帖子發(fā)表模塊:已注冊的會員在登陸后,可以在相應(yīng)的論壇中,發(fā)表或轉(zhuǎn)載自己的大作,發(fā)表成功后,其他會員便可以在相應(yīng)的論壇中看到這篇帖子,并可以對其進(jìn)行回復(fù)等操作。</p><p>  (2)帖子回復(fù)模塊:會員在發(fā)表完帖子后,用戶便可查看相關(guān)文章,并可以在文章中對已發(fā)表的帖子進(jìn)行回復(fù)。</p><p>  (3)帖子查找模塊:會員可以通過此模塊,

42、根據(jù)帖子的標(biāo)題和作者,對相關(guān)的帖子進(jìn)行查找。</p><p><b>  3.后臺管理:</b></p><p>  (1)帖子查找模塊:此模塊和帖子模塊中的帖子查找類似,只是管理員的搜索條件比普通用戶更加的廣泛,使搜索變的便捷。</p><p>  (2)帖子管理模塊:帖子管理模塊是管理員對帖子管理的平臺,如果管理員查看到帖子有不適宜發(fā)表的內(nèi)

43、容時,可以對帖子選擇刪除或者鎖定等操作,如果看到優(yōu)秀的帖子,還可以將帖子進(jìn)行置頂。</p><p>  圖4.2 帖子管理模塊功能層次圖</p><p>  (3)會員管理模塊:管理員可以通過此模塊,對會員進(jìn)行管理,對一些不法的用戶可以修改或者刪除資料。</p><p>  (4)論壇管理模塊:管理員對論壇的添加,創(chuàng)建,刪除等功能都是在此模塊里進(jìn)行處理。</p

44、><p>  (5)圖片管理模塊管理員可以管理用戶上傳的頭像,和在文章里發(fā)表的圖片,從而加強(qiáng)對圖片的控制。</p><p><b>  4.2 數(shù)據(jù)庫設(shè)計</b></p><p>  在前期的系統(tǒng)結(jié)構(gòu)分析的基礎(chǔ)上,對系統(tǒng)進(jìn)行概要設(shè)計.數(shù)據(jù)庫設(shè)計是指對于一個給定的應(yīng)用環(huán)境,構(gòu)造最優(yōu)的數(shù)據(jù)庫模式,建立數(shù)據(jù)庫及其應(yīng)用系統(tǒng),使之能夠有效地存儲數(shù)據(jù),滿足各種

45、用戶的應(yīng)用需求(信息要求和處理要求)。</p><p>  4.2.1數(shù)據(jù)庫和設(shè)計概述</p><p>  數(shù)據(jù)庫是信息系統(tǒng)的核心和基礎(chǔ),把信息系統(tǒng)中大量的數(shù)據(jù)按一定的模型組織起來,提供存儲、維護(hù)、檢索數(shù)據(jù)的功能,使信息系統(tǒng)可以方便、及時、準(zhǔn)確地從數(shù)據(jù)庫中獲得所需的信息。  (2)數(shù)據(jù)庫是信息系統(tǒng)的各個部分能否緊密地結(jié)合在一起以及如何結(jié)合的關(guān)鍵所在。  (3)數(shù)據(jù)庫設(shè)計是信息系統(tǒng)開發(fā)和

46、建設(shè)的重要組成部分。</p><p>  4.2.2 概念模型設(shè)計(E-R圖)</p><p>  數(shù)據(jù)模型是是數(shù)據(jù)特征的抽象,從抽象層次上描述了系統(tǒng)的靜態(tài)特征、動態(tài)行為和約束條件,為數(shù)據(jù)庫系統(tǒng)的信息表與操作提供一個抽象的框架。描述了數(shù)據(jù)結(jié)構(gòu)、數(shù)據(jù)操作及數(shù)據(jù)約束。 E-R模型的基本概念: </p><p>  ER圖概念化地構(gòu)建實體間關(guān)系的模型,這使得它們區(qū)別于數(shù)

47、據(jù)庫模型圖。ER圖的理念是:項目所有參與者能理解ER圖。ER圖由不同實體類型、關(guān)系、特性和類型構(gòu)成。實體是諸如用戶的實際對象,有時更抽象,但必須有業(yè)務(wù)意義。特性用于描述實體,關(guān)系用于實體之間:(1)實體:現(xiàn)實世界中的事物; (2)屬性:事物的特性; (3)聯(lián)系:現(xiàn)實世界中事物間的關(guān)系。實體集的關(guān)系有一對一、一對多、多對多的聯(lián)系。</p><p><b>  本系統(tǒng)的ER圖:</b>&l

48、t;/p><p>  4.2.3 數(shù)據(jù)庫表及關(guān)系建立</p><p>  在程序開發(fā)過程中,設(shè)計數(shù)據(jù)庫的表結(jié)構(gòu)是非常重要的一個環(huán)節(jié)。一個設(shè)計良好的數(shù)據(jù)庫結(jié)構(gòu),可以提高效率,方便維護(hù),并且為以后進(jìn)行功能的擴(kuò)展留有余地。這就好比高樓大廈一樣,有穩(wěn)固的基礎(chǔ),才能有優(yōu)秀的成果。</p><p>  下面設(shè)計論壇的數(shù)據(jù)庫。通過數(shù)據(jù)表的關(guān)系、詳細(xì)字段結(jié)構(gòu)。以及相關(guān)的數(shù)據(jù)庫擴(kuò)展設(shè)計由

49、淺入深講解,并對主要的數(shù)據(jù)庫表結(jié)構(gòu)及數(shù)據(jù)庫關(guān)系圖進(jìn)行詳細(xì)的介紹。本系統(tǒng)采用SQL Server 2005數(shù)據(jù)庫系統(tǒng),在該系統(tǒng)中新建一個數(shù)據(jù)庫,將其命名為db_BBS。本系統(tǒng)中共用到7個數(shù)據(jù)表。</p><p>  在數(shù)據(jù)庫表設(shè)計過程中,可以把握幾條原則,數(shù)據(jù)庫設(shè)計一個表最好只存儲一個實體或?qū)ο蟮南嚓P(guān)信息,不同的實體最好存儲在不同的數(shù)據(jù)表中,如果實體可以再劃分,實體的劃分原則是最好能夠比當(dāng)前系統(tǒng)開發(fā)的實體顆粒度要小

50、;數(shù)據(jù)表的信息結(jié)構(gòu)一定要適合,表的字段數(shù)量一定不要過多;擴(kuò)展信息和動態(tài)變化的信息一定要分開在不同的表里;對于出現(xiàn)多對多這樣的表關(guān)系系統(tǒng),盡量不要出現(xiàn)等。</p><p>  根據(jù)上面的數(shù)據(jù)庫需求分析,BBS論壇數(shù)據(jù)庫中各個表的設(shè)計結(jié)果如下。</p><p>  tb_User(用戶信息表)需要包括的字段如圖4.3所示。</p><p>  圖4.3 tb_User表

51、</p><p> ?。?)tb_Card(帖子信息表)用于保存各類帖子的詳細(xì)信息,包括的字段如圖4.4所示。</p><p>  圖4.4 tb_Card表</p><p> ?。?)tb_Revert(回帖信息表)用于保存對帖子的回復(fù)信息,包括的字段如圖4.5所示。</p><p>  圖4.5 tb_Revert表</p>

52、<p>  (4)tb_Module(版塊信息表)用于保存該論壇所包含的版塊信息,包括字段如圖6.5所示。</p><p>  圖4.6 tb_Module表</p><p>  4.2.4 數(shù)據(jù)表之間關(guān)系圖</p><p>  設(shè)計數(shù)據(jù)庫表間的關(guān)系主要是考慮論壇中各個對象的相互關(guān)系,帖子屬于版塊,回復(fù)帖子從屬于主題帖,帖子的作者屬于用戶,因此版塊、主題

53、帖、回復(fù)帖是一層層的從屬依賴關(guān)系,帖子的作者必須是論壇的用戶,帖子不能脫離版塊、用戶而單獨存在。</p><p>  最后得到的數(shù)據(jù)表之間關(guān)系圖如圖4.7所示。</p><p>  圖4.7 數(shù)據(jù)表關(guān)系圖</p><p>  第 5 章 系統(tǒng)實現(xiàn)</p><p>  5.1 發(fā)表帖子的實現(xiàn)</p><p>  5.1.

54、1 實現(xiàn)的關(guān)鍵技術(shù)</p><p>  主要技術(shù)的應(yīng)用為:FreeTextBox組件的使用和使用Image控件顯示頭像。</p><p>  5.1.2 功能實現(xiàn)</p><p>  發(fā)表帖子的頁面(Deliver.aspx)實現(xiàn)了在指定版塊中發(fā)表帖子的功能,該頁面運行結(jié)果如圖5.1所示。</p><p>  圖5.1 發(fā)表帖子頁面</

55、p><p>  5.1.3 主要相關(guān)代碼</p><p>  點擊“提交”按鈕觸發(fā)其Click事件,在該事件中實現(xiàn)發(fā)表帖子功能,代碼如下。</p><p>  protected void btnSubmit_Click(object sender, EventArgs e)</p><p><b>  {</b></

56、p><p>  string strName = "";</p><p>  string strPop = "";</p><p>  if (txtCName.Text == string.Empty)</p><p><b>  {</b></p><p>

57、;  Response.Write("<script language=javascript>alert('帖子名稱不能為空!')</script>");</p><p><b>  return;</b></p><p><b>  }</b></p><p>

58、  if (Session["Name"] == null)</p><p>  {strName = "匿名";</p><p>  strPop = "游客";}</p><p><b>  else</b></p><p>  {strName = Ses

59、sion["Name"].ToString();</p><p>  strPop = Session["Pop"].ToString();}</p><p>  cardmanage.CardID = cardmanage.GetCID();</p><p>  cardmanage.CardName = txtCName.

60、Text;</p><p>  modulemanage.ModuleName = ddlMName.SelectedValue;</p><p>  cardmanage.ModuleID = modulemanage.FindModuleByName(modulemanage, "tb_Module").Tables[0].Rows[0][0].ToString()

61、;</p><p>  cardmanage.CardContent = FreeTextBox1.Text;</p><p>  cardmanage.CardTime = DateTime.Now;</p><p>  cardmanage.CardPeople = strName;</p><p>  cardmanage.Pop =

62、strPop;</p><p>  cardmanage.AddCard(cardmanage);</p><p>  Response.Write("<script language=javascript>alert('帖子發(fā)表成功!')</script>");</p><p>  txtCName.Te

63、xt = FreeTextBox1.Text = string.Empty;</p><p><b>  }</b></p><p>  5.2 瀏覽帖子的實現(xiàn)</p><p>  5.2.1 實現(xiàn)的關(guān)鍵技術(shù)</p><p>  實現(xiàn)的關(guān)鍵技術(shù):DataBinder.Eval方法綁定數(shù)據(jù)和DataList控件分頁。<

64、;/p><p>  5.2.2 功能實現(xiàn)</p><p>  瀏覽帖子頁面(CardInfo.aspx)實現(xiàn)了顯示指定帖子及其回復(fù)信息的功能,該頁面運行結(jié)果如圖5.2所示。</p><p>  圖5.2 瀏覽帖子頁面</p><p>  5.2.3 主要相關(guān)代碼</p><p>  為了實現(xiàn)帖子顯示及其回復(fù)信息的功能,本系

65、統(tǒng)自定義了以下4個方法,分別為:cardBind、dataBind、pageCount、getPhoto方法。下面例舉出其中那一個。</p><p>  cardBind自定義方法用于顯示帖子信息,并根據(jù)發(fā)帖人姓名顯示其頭像,代碼如下。</p><p>  public void cardBind(string str)</p><p><b>  {&l

66、t;/b></p><p><b>  try</b></p><p><b>  {</b></p><p>  cardmanage.CardID = str;</p><p>  Label1.Text = Convert.ToDateTime(cardmanage.FindCardBy

67、ID(cardmanage, "tb_Card").Tables[0].Rows[0][4].ToString()).ToLongDateString();</p><p>  Label2.Text = cardmanage.FindCardByID(cardmanage, "tb_Card").Tables[0].Rows[0][5].ToString();</p

68、><p>  Label4.Text = cardmanage.FindCardByID(cardmanage, "tb_Card").Tables[0].Rows[0][1].ToString();</p><p>  Label8.Text = cardmanage.FindCardByID(cardmanage, "tb_Card").Tables

69、[0].Rows[0][3].ToString();</p><p>  string strPop = cardmanage.FindCardByID(cardmanage, "tb_Card").Tables[0].Rows[0][6].ToString().Trim();</p><p>  string strPhoto = "";</

70、p><p>  if (strPop == "游客")</p><p><b>  {</b></p><p>  strPhoto = "../Images/Visiter.jpg";</p><p><b>  }</b></p><p&g

71、t;  if (strPop == "用戶")</p><p><b>  {</b></p><p>  usermanage.UserName = cardmanage.FindCardByID(cardmanage, "tb_Card").Tables[0].Rows[0][5].ToString();</p>

72、<p>  strPhoto = usermanage.FindUserByName(usermanage, "tb_User").Tables[0].Rows[0][8].ToString();</p><p><b>  }</b></p><p>  if (strPop == "版主")</p>

73、<p><b>  {</b></p><p>  hostmanage.HostName = cardmanage.FindCardByID(cardmanage, "tb_Card").Tables[0].Rows[0][5].ToString();</p><p>  strPhoto = hostmanage.FindHost

74、ByName(hostmanage, "tb_Host").Tables[0].Rows[0][9].ToString();</p><p><b>  }</b></p><p>  if (strPop == "管理員")</p><p>  {strPhoto = "../Images/A

75、dmin.jpg";}</p><p>  Image2.ImageUrl = strPhoto;</p><p><b>  }</b></p><p><b>  catch { }</b></p><p><b>  }</b></p><p

76、>  第 6 章 系統(tǒng)測試</p><p>  系統(tǒng)測試是將已經(jīng)確認(rèn)的軟件、計算機(jī)硬件、外設(shè)、網(wǎng)絡(luò)等其他元素結(jié)合在一起,進(jìn)行信息系統(tǒng)的各種組裝測試和確認(rèn)測試,其目的是通過與系統(tǒng)的需求相比較,發(fā)現(xiàn)所開發(fā)的系統(tǒng)與用戶需求不符或矛盾的地方,從而提出更加完善的方案.。它的的任務(wù)是近可能徹底的檢查出程序中的錯誤,提高軟件系統(tǒng)的可靠性。</p><p>  6.1 測試方法介紹</p>

77、;<p>  軟件測試有兩種方法:白盒法和黑盒法。</p><p>  如果知道了產(chǎn)品應(yīng)該具有的功能,可以通過測試來檢測是否每個功能都能實現(xiàn),這種測試方法叫作黑盒測試法;如果知道產(chǎn)品的內(nèi)部工作過程,可以通過測試來檢驗是否按照規(guī)格說明說的規(guī)定正常運行,這個方法叫白盒測試法。</p><p>  對于軟件而言,黑盒測試法是把程序看成一個黑盒子,完全不考慮程序的內(nèi)部結(jié)構(gòu)和處理過程。

78、也就是說黑盒測試是在程序的接口進(jìn)行測試,它只檢查程序的功能是否按照規(guī)格說明說的說明正常運行,程序是否能恰當(dāng)?shù)慕邮茌斎霐?shù)據(jù),產(chǎn)生正確的輸出信息,并且保持外部信息的完整性。黑盒測試又稱為功能測試。與黑盒測試法相反,白盒測試法是把程序看成是裝在一個透明的白盒子里。也就是完全了解程序的結(jié)構(gòu)和處理過程,這種方法按照程序內(nèi)部的邏輯測試程序,檢驗程序中的每條通路是否能按預(yù)定的要求正確工作,白盒測試又稱為結(jié)構(gòu)測試。</p><p&g

79、t;  粗看起來,不論采用上述那種測試方法,只要對每一種可能的情況都進(jìn)行測試,就可以得到完全正確的程序。包含所有可能情況的測試成為窮盡測試,對于實際程序而言,窮盡測試通常是不可能做到的。使用黑盒測試法為了做到窮盡測試,至少對所有輸入數(shù)據(jù)的各種可能值的排列組合都進(jìn)行測試,但是,由此得到的應(yīng)該測試的情況,數(shù)字往往達(dá)到實際上根本無法測試的程度。實踐表明,用無效的輸入數(shù)據(jù)比有效的輸入數(shù)據(jù)進(jìn)行測試往往能發(fā)現(xiàn)更多的錯誤。使用白盒測試法和使用黑盒測試

80、法一樣也不可能做到窮盡測試。</p><p>  因為不能做到窮盡測試,所以軟件測試不可能發(fā)現(xiàn)程序中的所有錯誤。也就是所通過測試并不能證明程序是完全正確的。但是,我們的目的是要通過測試保證軟件愛你的可靠性,因此,必須仔細(xì)設(shè)計測試方案,力爭用盡可能少的測試發(fā)現(xiàn)盡可能多的錯誤。</p><p><b>  6.2 單元測試</b></p><p>

81、  測試一:在用戶登錄時,用戶填寫錯誤的登錄名或密碼或驗證碼,系統(tǒng)是否給出提示信息。</p><p>  具體操作:點擊進(jìn)入登錄界面,填寫錯誤的登錄名或密碼或驗證碼。</p><p>  結(jié)果:系統(tǒng)彈出文字提示框,提示登錄名或密碼錯誤,用戶登錄失敗。</p><p>  結(jié)論:要求用戶以正確的登錄名、密碼和驗證碼進(jìn)行登錄。</p><p> 

82、 測試二:在用戶注冊時,用已存在的用戶名進(jìn)行注冊,系統(tǒng)是否提示該用戶已存在。</p><p>  具體操作:用同一個用戶名連續(xù)注冊兩次。</p><p>  結(jié)果:系統(tǒng)彈出文字提示框,提示該用戶已存在,用戶注冊失敗。</p><p>  結(jié)論:用戶名不可以重復(fù)。</p><p>  測試三:在用戶以游客(未登錄BBS論壇管理系統(tǒng))方式進(jìn)入BB

83、S論壇管理系統(tǒng)的某個版塊并回復(fù)某個帖子時,系統(tǒng)是否會提示用戶沒有這個權(quán)限。</p><p>  具體操作:用戶不進(jìn)行登錄直接進(jìn)入某個版塊,然后對某個帖子進(jìn)行回復(fù)。 </p><p>  結(jié)果:系統(tǒng)提示用戶沒有這個權(quán)限,回復(fù)帖子失敗。</p><p>  結(jié)論:要求用戶必須先登錄,才可以對某個帖子進(jìn)行回復(fù)。 </p><p>  測試四:以正確

84、的普通用戶的登錄名和密碼進(jìn)行版主登錄,是否能夠成功登錄。</p><p>  具體操作:注冊一個普通用戶,以這個登錄名和密碼進(jìn)行版主登錄。</p><p>  結(jié)果:系統(tǒng)彈出文字提示框,提示版主用戶名或密碼錯誤,版主登錄失敗。</p><p>  結(jié)論:用戶不可以跨越自己的權(quán)限進(jìn)行登錄。</p><p><b>  第 7 章 結(jié)

85、論</b></p><p>  本文主要介紹了網(wǎng)上在線論壇的設(shè)計過程。在設(shè)計過程中應(yīng)用了IFrame框架技術(shù),并引入了第三方組件FreeTextBox,該組件是一個在線文本編輯器,可以對文字以及圖片內(nèi)容進(jìn)行處理,并將數(shù)據(jù)保存到數(shù)據(jù)庫中。另外,本文著重介紹了系統(tǒng)數(shù)據(jù)庫的設(shè)計和公用模塊的編寫,其中公用模塊的編寫包含數(shù)據(jù)庫連接模塊編寫,即在應(yīng)用程序配置文件Web.Config文件中添加數(shù)據(jù)庫連接信息等;在論

86、壇典型模塊設(shè)計中應(yīng)用了3個主要模塊,即瀏覽帖子、回復(fù)帖子和發(fā)表帖子3大模塊。</p><p>  本系統(tǒng)是一個具有實際意義的論壇系統(tǒng)。本系統(tǒng)大部分是應(yīng)用ASP.NET 2.0技術(shù)完成的,本文主要討論了BBS論壇管理系統(tǒng)的設(shè)計與開發(fā),把面向?qū)ο笏枷肭‘?dāng)結(jié)合進(jìn).NET 技術(shù),實現(xiàn)了OOA和OOD。本系統(tǒng)采用ASP.NET+ADO.NET 技術(shù),協(xié)同采用SQL Server 2005技術(shù),在設(shè)計和實現(xiàn)過程中充分利用B/

87、S 三層架構(gòu)的優(yōu)勢來優(yōu)化系統(tǒng)結(jié)構(gòu),運行速度快,減少了無用的網(wǎng)絡(luò)傳輸,保證了系統(tǒng)的穩(wěn)定運行。實際應(yīng)用表明,本系統(tǒng)使用方便,執(zhí)行效率較高。</p><p><b>  參考文獻(xiàn)</b></p><p>  [1] 薩師煊,王珊.數(shù)據(jù)庫系統(tǒng)概論.第三版.北京:高等教育出版社,2007: 38-135</p><p>  [2] 施伯樂,丁寶康.數(shù)據(jù)庫

88、系統(tǒng)教程.第二版.北京:高等教育出版社,2006: 120-145</p><p>  [3] 張海藩.軟件工程導(dǎo)論.第三版.北京:清華大學(xué)出版社,2009: 39-59</p><p>  [4] 張躍廷,房大偉,蘇宇.ASP.NET 2.0網(wǎng)絡(luò)編程自學(xué)手冊.北京:人民郵電出版社,2008: 350-400</p><p>  [5] 龔赤兵.ASP.NET 2.

89、0網(wǎng)站開發(fā)實例教程.北京:人民郵電出版社,2006: 200-220</p><p>  [6] Karli Watson等.C#入門經(jīng)典.第3版.北京:清華大學(xué)出版社,2006: 133-146</p><p>  [7] 鄭耀東.ASP.NET 2.0編程指南.北京:人民郵電出版社,2007: 58-68</p><p>  [8] 陳剛.CSS標(biāo)準(zhǔn)網(wǎng)頁布局開發(fā)

90、指南.北京:清華大學(xué)出版社,2007: 102-113</p><p>  [9] 網(wǎng)冠科技.ASP.NET 2.0+SQL Server 2005網(wǎng)絡(luò)應(yīng)用編程二合一百例.北京:機(jī)械工業(yè)出版社,2007: 123-135</p><p>  [10] Michael Otey, Denielle Otey. Microsoft SQL Server 2005開發(fā)指南.北京:清華大學(xué)出版社,

91、2007: 58-76</p><p>  [11] 張鑫.CSS代碼效果對比學(xué)習(xí).北京:中國青年出版社,2007: 45-60</p><p>  [12] Jason Beaird等.完美網(wǎng)頁設(shè)計藝術(shù).北京:人民郵電出版社,2008: 32-42</p><p>  [13] 雷波,閆琳,邱啟紅.Photoshop CS3中文版標(biāo)準(zhǔn)教程.北京:科學(xué)出版社,200

92、8: 66-76</p><p>  [14] 龐婭娟,房大偉,呂雙.ASP.NET從入門到精通.北京:清華大學(xué)出版社,2010.7: 123-130</p><p>  [15] 張躍廷,蘇宇,貫偉.ASP.NET程序開發(fā)范例寶典:C#.北京:人民郵電出版社,2009: 56-66</p><p>  [16] 德萊尼,金成姬,陳紹英.Microsoft SQL

93、Server 2005技術(shù)內(nèi)幕:查詢、調(diào)整和優(yōu)化.北京:電子工業(yè)出版社,2009: 112-130</p><p>  [17] 郝安林,許勇,康會光.SQL Server 2005基礎(chǔ)教程與實驗指導(dǎo).北京:清華大學(xué)出版社,2008: 78-88</p><p>  [18] 王欣,徐騰飛,唐連章.SQL Server 2005 數(shù)據(jù)挖掘?qū)嵗治?北京:中國水利水電出版社,2008: 35

溫馨提示

  • 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. 眾賞文庫僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論