BBS論壇設(shè)計(jì)與實(shí)現(xiàn)_第1頁(yè)
BBS論壇設(shè)計(jì)與實(shí)現(xiàn)_第2頁(yè)
BBS論壇設(shè)計(jì)與實(shí)現(xiàn)_第3頁(yè)
BBS論壇設(shè)計(jì)與實(shí)現(xiàn)_第4頁(yè)
BBS論壇設(shè)計(jì)與實(shí)現(xiàn)_第5頁(yè)
已閱讀5頁(yè),還剩40頁(yè)未讀 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡(jiǎn)介

摘要論壇又名網(wǎng)絡(luò)論壇BBS,全稱為BulletinBoardSystem(電子公告板)或者BulletinBoardService(公告板服務(wù))。它提供一塊公共電子白板,每個(gè)用戶都可以在上面書寫,可發(fā)布信息或提出看法。用戶在BBS站點(diǎn)上可以獲得各種信息服務(wù),發(fā)布信息,進(jìn)行討論,聊天等等。本文討論了一個(gè)網(wǎng)絡(luò)BBS的設(shè)計(jì)與實(shí)現(xiàn)過程,詳細(xì)地講述了開發(fā)一個(gè)基于Web的BBS網(wǎng)站系統(tǒng)所涉及到的技術(shù)和方法。系統(tǒng)使用MicrosoftVisualStudio2005為前臺(tái)開發(fā)工具,以SQLServer2005為數(shù)據(jù)庫(kù)平臺(tái),根據(jù)面向?qū)ο箝_發(fā)原理,采用了基于B/S結(jié)構(gòu)的開發(fā)模式來開發(fā)本系統(tǒng)。其中主要運(yùn)用了ASP.NET平臺(tái),ADO.NET連接數(shù)據(jù)庫(kù)技術(shù),使用C#語言編寫。具有一般的BBS所共有的一些功能。包括用戶的注冊(cè)登錄、論壇公告和短消息的發(fā)布、論壇社區(qū)的討論、論壇的友情鏈接、后臺(tái)數(shù)據(jù)庫(kù)信息的管理維護(hù)等基本模塊。全文共分為緒論、關(guān)鍵技術(shù)介紹、需求分析、系統(tǒng)概述、系統(tǒng)分析、系統(tǒng)設(shè)計(jì)、系統(tǒng)實(shí)現(xiàn)等九章。緒論中闡述了系統(tǒng)的意義和系統(tǒng)的開發(fā)環(huán)境。系統(tǒng)概述中闡述了系統(tǒng)背景,所用技術(shù)、系統(tǒng)目標(biāo)以及功能等。系統(tǒng)設(shè)計(jì)階段闡述了論壇的總體設(shè)計(jì)思想、首頁(yè)的設(shè)計(jì)、論壇的總體功能設(shè)計(jì)以及數(shù)據(jù)庫(kù)的邏輯設(shè)計(jì)。在系統(tǒng)總結(jié)中闡述了系統(tǒng)的優(yōu)劣勢(shì)以及系統(tǒng)的擴(kuò)展。文中詳細(xì)說明了系統(tǒng)分析、系統(tǒng)設(shè)計(jì)的方法在系統(tǒng)實(shí)際開發(fā)中應(yīng)用,并總結(jié)了開發(fā)過程中的一些經(jīng)驗(yàn)和體會(huì)。BBS論壇的存在使得地球村的概念離我們?cè)絹碓浇沟萌伺c人之間的溝通、交流變得格外的容易。特別是在IT領(lǐng)域,只有有了很好的交流,技術(shù)才會(huì)得到進(jìn)步。因此,掌握如何設(shè)計(jì)并開發(fā)一個(gè)論壇管理系統(tǒng)也顯得格外的重要,而且意義深遠(yuǎn)。關(guān)鍵詞:BBS論壇;B/S結(jié)構(gòu);;

AbstractForumsWebforums,alsoknownasBBS,allknownasBulletinBoardSystem(electronicbulletinboard)oraBulletinBoardService(bulletinboardservice).Itprovidesacommonelectronicwhiteboard,andeachusercanwriteon,orputforwardtheirviewsmayreleaseinformation.BBSsiteusersavarietyofinformationservicesavailable,releaseinformation,discussions,andchat.ThisarticlediscussesanetworkdesignandimplementationofBBSindetailaboutthedevelopmentofaWeb-basedBBSwebsitesysteminvolvedinthetechnologyandmethods.SystemusesMicrosoftVisualStudio2005developmenttoolsforthefronttoSQLServer2005databaseplatform,accordingtoprinciplesofobject-orientedevelopment,adoptedbasedonB/Sstructureofthedevelopmentmodeltodevelopthesystem.ThemainuseoftheASP.NETplatform,ADO.NETdatabaseconnections,usetheC#language.Paperisdividedintointroduction,thekeytechnicalpresentations,requirementsanalysis,systemoverview,systemanalysis,systemdesign,systemimplementation,etc.IX.Introductionthemeaningsetforthinthesystemandsystemdevelopmentenvironment.SystemOverviewofthesystemoutlinedinthebackground,theuseoftechnology,systemobjectivesandfunctions.Forumsystemdesigndescribedtheoveralldesign,pagedesign,forumdesignandtheoverallfunctionofthelogicaldatabasedesign.Summarizedinthesystemdescribedadvantagesanddisadvantagesofthesystemandsystemexpansion.Thepaperdetailsthesystemanalysis,systemdesignmethodsappliedintheactualdevelopmentofthesystem,andsummarizessomeofthedevelopmentprocessexperienceandunderstanding.BBSForummakestheexistenceoftheconceptofglobalvillagecloserandcloser,makingcommunicationbetweenpeople,communicationbecomesparticularlyeasy.EspeciallyintheITfield,onlyaverygoodexchange,technologywillbprogress.Therefore,masteringhowtodesignanddevelopaforumformanagementsystemsisparticularlyimportant,andfar-reaching.Keywords:BBSForum;B/Sstructure;;

目錄TOC\o"1-3"\f\h\z第1章緒論 1開發(fā)背景 1系統(tǒng)目標(biāo) 11.3BBS對(duì)大學(xué)生學(xué)習(xí)生活的影響 2第2章關(guān)鍵技術(shù)介紹 32.1IFrame框架技術(shù) 3第3方組件FreeTextBox 32.2.1FreeTextBox的作用 32.2.2FreeTextBox的使用方法 3技術(shù) 42.4Transact-SQL技術(shù) 62.5JavaScript腳本語言 6技術(shù) 7第3章需求分析 8需求概述 8系統(tǒng)用例圖 8系統(tǒng)關(guān)鍵領(lǐng)域類圖 10第4章系統(tǒng)概述 12系統(tǒng)介紹 12主要功能 12主要模塊介紹 12.1主頁(yè)面 12論壇注冊(cè)模塊 13論壇登錄模塊 14論壇版塊選擇模塊 14帖子發(fā)表模塊 15第5章系統(tǒng)分析 165.1BBS論壇管理系統(tǒng)的技術(shù)可行性分析 16系統(tǒng)結(jié)構(gòu) 18系統(tǒng)開發(fā)環(huán)境 18第6章系統(tǒng)設(shè)計(jì) 19系統(tǒng)總體設(shè)計(jì) 19數(shù)據(jù)庫(kù)設(shè)計(jì) 20數(shù)據(jù)庫(kù)需求分析 20數(shù)據(jù)表的結(jié)構(gòu) 20數(shù)據(jù)表之間關(guān)系圖 23數(shù)據(jù)庫(kù)操作類設(shè)計(jì) 23論壇注冊(cè)設(shè)計(jì) 24論壇登錄設(shè)計(jì) 25帖子標(biāo)題顯示設(shè)計(jì) 26新帖子發(fā)表模塊設(shè)計(jì) 26第7章系統(tǒng)實(shí)現(xiàn) 27發(fā)表帖子的實(shí)現(xiàn) 27實(shí)現(xiàn)的關(guān)鍵技術(shù) 27功能實(shí)現(xiàn) 27主要相關(guān)代碼 27瀏覽帖子的實(shí)現(xiàn) 29實(shí)現(xiàn)的關(guān)鍵技術(shù) 29功能實(shí)現(xiàn) 29主要相關(guān)代碼 29第8章系統(tǒng)測(cè)試 31測(cè)試方案及測(cè)試用例 31測(cè)試方法介紹 31單元測(cè)試 32測(cè)試總結(jié) 32第9章結(jié)論 33參考文獻(xiàn) 34致謝 35附錄 36緒論開發(fā)背景BBS是在1992年底隨著國(guó)際互聯(lián)網(wǎng)的開始流行而迅速發(fā)展起來的。互聯(lián)網(wǎng)的產(chǎn)生使得以前只能在本地訪問的BBS可以被全世界隨意訪問,這對(duì)大多數(shù)人來說是極具誘惑力的。BBS是一個(gè)有多人參加的討論系統(tǒng),在BBS上大家可以對(duì)一個(gè)共同感興趣的問題進(jìn)行討論,自由地發(fā)表自己的意見與觀點(diǎn),并且能直接與其他的人進(jìn)行溝通。按照網(wǎng)站的性質(zhì)以及服務(wù)對(duì)象來分,迄今有以下幾種類型:一是校園BBS。校園BBS作為主要的集中地,在BBS領(lǐng)域具有舉足輕重的地位。由于校園BBS的繁榮,吸引了很多的社會(huì)人士參與。二是專業(yè)BBS。一般是由各個(gè)著名的大公司組建,人們可以利用其交流自己對(duì)商品的看法,更為重要的是可以解決商品使用中的問題。三是商業(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è)上的交流場(chǎng)所。六是新聞媒體BBS。是由新聞媒體網(wǎng)站設(shè)立的,為廣大網(wǎng)友提供對(duì)新聞信息進(jìn)行評(píng)論、發(fā)表意見和觀點(diǎn)的場(chǎng)所。隨著互聯(lián)網(wǎng)事業(yè)的蓬勃發(fā)展。BBS,這個(gè)具有強(qiáng)大實(shí)時(shí)交互功能,信息交流的平臺(tái),使人們不再像電視觀眾、電臺(tái)聽眾、報(bào)紙雜志讀者一樣只是被動(dòng)地觀看、收聽、閱讀,而是可以積極而及時(shí)地參與討論,在了解他人觀點(diǎn)意見的同時(shí)也可以發(fā)表自己的看法。BBS論壇系統(tǒng)是為了方便大家的溝通和獲取信息而開發(fā)的系統(tǒng)。我們利用知識(shí)和SQLServer2005開發(fā)BBS論壇管理系統(tǒng)。該系統(tǒng)以Internet為平臺(tái),前臺(tái)可使任何人注冊(cè)、登錄、登錄在論壇上進(jìn)行發(fā)帖、回帖、瀏覽帖子等。管理員也可以在后臺(tái)對(duì)帖子、版塊、用戶等進(jìn)行相關(guān)的管理。一個(gè)小型BBS論壇系統(tǒng)的前臺(tái)功能主要包括瀏覽搜索帖子、用戶登陸注冊(cè)、發(fā)表回復(fù)帖子、個(gè)人資料管理和帖子管理;后臺(tái)功能主要包括用戶管理、論壇版塊管理和帖子管理等。系統(tǒng)目標(biāo)開發(fā)本系統(tǒng)意在吸納大部分游離在眾多論壇的大學(xué)生,達(dá)到校內(nèi)網(wǎng)等論壇的目標(biāo)。系統(tǒng)開發(fā)的總?cè)蝿?wù)是實(shí)現(xiàn)文章的成功發(fā)表,留言的發(fā)布與回復(fù)。從而達(dá)到用戶之間信息交流的目的。系統(tǒng)主要面向兩類用戶:用戶和系統(tǒng)管理員。用戶可以先注冊(cè),然后在網(wǎng)站里發(fā)表文章、留言等。系統(tǒng)管理員可以對(duì)用戶的信息進(jìn)行增添和刪除及修改,對(duì)版塊進(jìn)行增加、刪除和修改操作;還可以對(duì)網(wǎng)站進(jìn)行修改與維護(hù)。BBS對(duì)大學(xué)生學(xué)習(xí)生活的影響1.BBS提供了豐富的網(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”的欄目)。2.BBS促進(jìn)了協(xié)作學(xué)習(xí)基于網(wǎng)絡(luò)的論壇社區(qū)也是各種學(xué)習(xí)資源組合的場(chǎng)所,為學(xué)習(xí)者提供了學(xué)習(xí)環(huán)境。作為一個(gè)學(xué)生參與論壇的網(wǎng)絡(luò)活動(dòng)可包括許多種學(xué)習(xí)的意義,在特定板塊內(nèi),論壇參與者圍繞某個(gè)話題或者問題,通過發(fā)表、回復(fù)話題、版面討論、站內(nèi)信件等方式進(jìn)行互動(dòng)討論、相互探討,形成了一種以學(xué)習(xí)者為中心的學(xué)習(xí)方式。從教育網(wǎng)內(nèi)人氣排名前十名的論壇的網(wǎng)友參與的情況來看,在各大學(xué)習(xí)板塊里,基本上每張?zhí)犹岢龅膯栴}都可以得到網(wǎng)友友好的、認(rèn)真的回復(fù)解答,有著濃郁的協(xié)作探討的學(xué)習(xí)氣氛和良好的學(xué)習(xí)效果。3.BBS提高了學(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í)的能力。關(guān)鍵技術(shù)介紹IFrame框架技術(shù)框架是在網(wǎng)頁(yè)設(shè)計(jì)中經(jīng)常用到的一種技術(shù),通過在HTML網(wǎng)頁(yè)文檔中使用<frame></frame>標(biāo)記,就可以將一個(gè)頁(yè)面拆分成多個(gè)區(qū)域,每個(gè)區(qū)域稱為一個(gè)框架,一般情況下每一個(gè)框架中都會(huì)放置一個(gè)網(wǎng)頁(yè),這些網(wǎng)頁(yè)間可以相互獨(dú)立,也可以有所關(guān)聯(lián)。框架內(nèi)的網(wǎng)頁(yè)以一種平鋪的形式充滿了整個(gè)頁(yè)面空間。但在網(wǎng)頁(yè)設(shè)計(jì)中,也會(huì)經(jīng)常遇到在一個(gè)網(wǎng)頁(yè)中引用另外一個(gè)網(wǎng)頁(yè)的情況,即在一個(gè)網(wǎng)頁(yè)中開辟一塊區(qū)域用于放置其他網(wǎng)頁(yè),彷佛形成了一種“畫中畫”的效果。這種功能就是利用嵌入式框架(IFrame)技巧實(shí)現(xiàn)的。嵌入其他網(wǎng)頁(yè)的初始頁(yè)面稱為父框架,嵌入到父框架內(nèi)的頁(yè)面稱為子框架或嵌入框架。這種網(wǎng)頁(yè)的嵌入技術(shù)不僅在很大程度上豐富了網(wǎng)頁(yè)的布局設(shè)計(jì),同時(shí)也可以方便地實(shí)現(xiàn)多種復(fù)雜的網(wǎng)頁(yè)特效。嵌入式框架(IFrame)是框架的一種標(biāo)記,在頁(yè)面設(shè)計(jì)中經(jīng)常用到。IFrame標(biāo)記又叫浮動(dòng)幀標(biāo)記,使用IFrame可以將一個(gè)文檔嵌入在另一個(gè)文檔中顯示,可以隨處引用不拘泥網(wǎng)頁(yè)的布局限制。在當(dāng)今互聯(lián)網(wǎng)網(wǎng)絡(luò)廣告橫行的時(shí)代,IFrame更是無孔不入,將嵌入的文檔與整個(gè)頁(yè)面的內(nèi)容相互融合,形成了一個(gè)整體。與框架相比,內(nèi)嵌框架Iframe更容易對(duì)網(wǎng)站的導(dǎo)航進(jìn)行控制,最大的優(yōu)點(diǎn)在于其靈活性。第3方組件FreeTextBoxFreeTextBox的作用FreeTextBox是一個(gè)基于InternetExplorer中MSHTML技術(shù)的ASP.NET開源服務(wù)器控件。這是一款優(yōu)秀的自由軟件(FreeSoftware),我們可以輕松地將其嵌入到WebForms中實(shí)現(xiàn)HTML內(nèi)容的在線編輯,在新聞發(fā)布、博客寫作、論壇社區(qū)等多種Web系統(tǒng)中都會(huì)有用途。FreeTextBox的使用方法步驟1:從網(wǎng)上下載FreeTextBox控件,解壓。步驟2:在VS2005編輯器中可通過工具>選擇工具箱項(xiàng)>.NETFramework組件>瀏覽并選定Free后按確定控件將默認(rèn)顯示在VS2005編輯器工具箱的常規(guī)選項(xiàng)卡(可自行將控件拉到標(biāo)準(zhǔn)選項(xiàng)卡中),也可以直接在工具箱的標(biāo)準(zhǔn)選項(xiàng)卡列標(biāo)頭或所屬列任何控件上右擊>選擇項(xiàng)>.NETFramework組件>瀏覽并選定Free后即可直接將控件加入標(biāo)準(zhǔn)選項(xiàng)卡。這樣以后只要在常規(guī)選項(xiàng)卡或標(biāo)準(zhǔn)選項(xiàng)卡中將FreeTextBox控件直接拖放到項(xiàng)目的設(shè)計(jì)頁(yè)面即可完成控件的調(diào)用。步驟3:將FreeTextBox目錄拷貝到所在項(xiàng)目里。ADO.NET的名稱起源于ADO(ActiveXDataObjects),這是一個(gè)廣泛的類組,用于在以往的Microsoft技術(shù)中訪問數(shù)據(jù)。,是因?yàn)镸icrosoft希望表明,。的支持,并支持RICHXML。由于傳送的數(shù)據(jù)都是XML格式的,因此任何能夠讀取XML格式的應(yīng)用程序都可以進(jìn)行數(shù)據(jù)處理。事實(shí)上,接受數(shù)據(jù)的組件不一定要是ADO.NET組件,它可以是基于一個(gè)MicrosoftVisualStudio的解決方案,也可以是任何運(yùn)行在其它平臺(tái)上的任何應(yīng)用程序。ADO.NET是一組用于和數(shù)據(jù)源進(jìn)行交互的面向?qū)ο箢悗?kù)。通常情況下,數(shù)據(jù)源是數(shù)據(jù)庫(kù),但它同樣也能夠是文本文件、Excel表格或者XML文件。ADO.NET允許和不同類型的數(shù)據(jù)源以及數(shù)據(jù)庫(kù)進(jìn)行交互。然而并沒有與此相關(guān)的一系列類來完成這樣的工作。因?yàn)椴煌臄?shù)據(jù)源采用不同的協(xié)議,所以對(duì)于不同的數(shù)據(jù)源必須采用相應(yīng)的協(xié)議。一些老式的數(shù)據(jù)源使用ODBC協(xié)議,許多新的數(shù)據(jù)源使用OleDb協(xié)議,并且現(xiàn)在還不斷出現(xiàn)更多的數(shù)據(jù)源,這些數(shù)據(jù)源都可以通過.NET的ADO.NET類庫(kù)來進(jìn)行連接。ADO.NET提供與數(shù)據(jù)源進(jìn)行交互的相關(guān)的公共方法,但是對(duì)于不同的數(shù)據(jù)源采用一組不同的類庫(kù)。這些類庫(kù)稱為DataProviders,并且通常是以與之交互的協(xié)議和數(shù)據(jù)源的類型來命名的。ADO.NET包含的對(duì)象:SqlConnection對(duì)象和數(shù)據(jù)庫(kù)交互,你必須連接它。連接幫助指明數(shù)據(jù)庫(kù)服務(wù)器、數(shù)據(jù)庫(kù)名字、用戶名、密碼,和連接數(shù)據(jù)庫(kù)所需要的其它參數(shù)。Connection對(duì)象會(huì)被Command對(duì)象使用,這樣就能夠知道是在哪個(gè)數(shù)據(jù)庫(kù)上面執(zhí)行命令。與數(shù)據(jù)庫(kù)交互的過程意味著你必須指明想要發(fā)生的操作。這是依靠Command對(duì)象執(zhí)行的。你使用Command對(duì)象來發(fā)送SQL語句給數(shù)據(jù)庫(kù)。Command對(duì)象使用Connection對(duì)象來指出與哪個(gè)數(shù)據(jù)庫(kù)進(jìn)行連接。你能夠單獨(dú)使用Command對(duì)象來直接執(zhí)行命令,或者將一個(gè)Command對(duì)象的引用傳遞給SqlDataAdapter,它保存了一組能夠操作下面描述的一組數(shù)據(jù)的命令。SqlDataReader對(duì)象許多數(shù)據(jù)操作要求你只是讀取一串?dāng)?shù)據(jù)。DataReader對(duì)象允許你獲得從Command對(duì)象的SELECT語句得到的結(jié)果。考慮性能的因素,從DataReader返回的數(shù)據(jù)都是快速的且只是“向前”的數(shù)據(jù)流。這意味著你只能按照一定的順序從數(shù)據(jù)流中取出數(shù)據(jù)。這對(duì)于速度來說是有好處的,但是如果你需要操作數(shù)據(jù),更好的辦法是使用DataSet。DataSet對(duì)象DataSet對(duì)象是數(shù)據(jù)在內(nèi)存中的表示形式。它包括多個(gè)DataTable對(duì)象,而DataTable包含列和行,就象一個(gè)普通的數(shù)據(jù)庫(kù)中的表。你甚至能夠定義表之間的關(guān)系來創(chuàng)建主從關(guān)系(parent-childrelationships)。DataSet是在特定的場(chǎng)景下使用——幫助管理內(nèi)存中的數(shù)據(jù)并支持對(duì)數(shù)據(jù)的斷開操作的。DataSet是被所有DataProviders使用的對(duì)象,因此它并不像DataProvider一樣需要特別的前綴。SqlDataAdapter對(duì)象某些時(shí)候你使用的數(shù)據(jù)主要是只讀的,并且你很少需要將其改變至底層的數(shù)據(jù)源。同樣一些情況要求在內(nèi)存中緩存數(shù)據(jù),以此來減少并不改變的數(shù)據(jù)被數(shù)據(jù)庫(kù)調(diào)用的次數(shù)。DataAdapter通過斷開模型來幫助你方便的完成對(duì)以上情況的處理。當(dāng)在一單批次的對(duì)數(shù)據(jù)庫(kù)的讀寫操作的持續(xù)的改變返回至數(shù)據(jù)庫(kù)的時(shí)候,DataAdapter填充(fill)DataSet對(duì)象。DataAdapter包含對(duì)連接對(duì)象以及當(dāng)對(duì)數(shù)據(jù)庫(kù)進(jìn)行讀取或者寫入的時(shí)候自動(dòng)的打開或者關(guān)閉連接的引用。另外,DataAdapter包含對(duì)數(shù)據(jù)的SELECT,INSERT,UPDATE和DELETE操作的Command對(duì)象引用。你將為DataSet中的每一個(gè)Table都定義DataAdapter,它將為你照顧所有與數(shù)據(jù)庫(kù)的連接。所有你將做的工作是告訴DataAdapter什么時(shí)候裝載或者寫入到數(shù)據(jù)庫(kù)。總結(jié):ADO.NET是與數(shù)據(jù)源交互的.NET技術(shù)。有許多的DataProviders,它將允許與不同的數(shù)據(jù)源交流――取決于它們所使用的協(xié)議或者數(shù)據(jù)庫(kù)。然而無論使用什么樣的DataProvider,你將使用相似的對(duì)象與數(shù)據(jù)源進(jìn)行交互。SqlConnection對(duì)象管理與數(shù)據(jù)源的連接。SqlCommand對(duì)象允許你與數(shù)據(jù)源交流并發(fā)送命令給它。為了對(duì)進(jìn)行快速的只“向前”地讀取數(shù)據(jù),使用SqlDataReader。如果想使用斷開數(shù)據(jù),使用DataSet并實(shí)現(xiàn)能進(jìn)行讀取或者寫入數(shù)據(jù)源的SqlDataAdapter。Transact-SQL技術(shù)T-SQL是Microsoft公司在關(guān)系型數(shù)據(jù)庫(kù)管理系統(tǒng)SQLServer中的SQL-3標(biāo)準(zhǔn)的實(shí)現(xiàn),是微軟對(duì)SQL的擴(kuò)展,具有SQL的主要特點(diǎn),同時(shí)增加了變量,運(yùn)算符,函數(shù),流程控制和注釋等語言元素,使得其功能更加強(qiáng)大。T-SQL對(duì)SQLServer十分重要,SQLServer中使用圖形界面能夠完成的所有功能,都可以利用T-SQL來實(shí)現(xiàn)。使用T-SQL操作時(shí),與SQLServer通信的所有應(yīng)用程序都通過向服務(wù)器發(fā)送T-SQL語句來進(jìn)行,而與應(yīng)用程序的界面無關(guān)。根據(jù)其完成的具體功能,可以將T-SQL語句分為四大類,分別為數(shù)據(jù)定義語句,數(shù)據(jù)操作語句,數(shù)據(jù)控制語句和一些附加的語言元素。數(shù)據(jù)操作語句SELECT,INSERT,DELETE,UPDATE數(shù)據(jù)定義語句CREATETABLE,DROPTABLE,ALTERTABLECREATEVIEW,DROPVIEWCREATEINDEX,DROPINDEXCREATEPROCEDURE,ALTERPROCEDURE,DROPPROCEDURECREATETRIGGER,ALTERTRIGGER,DROPTRIGGER數(shù)據(jù)控制語句CRANT,DENY,REVOKE附加的語言元素BEGINTRANSACTION/COMMIT,ROLLBACK,SETTRANSACTIONDECLAREOPEN,FETCH,CLOSE,EXECUTEJavaScript腳本語言Javascript是一種由Netscape的LiveScript發(fā)展而來的原型化繼承的面向?qū)ο蟮膭?dòng)態(tài)類型的區(qū)分大小寫的客戶端腳本語言,主要目的是為了解決服務(wù)器端語言,比如Perl,遺留的速度問題,為客戶提供更流暢的瀏覽效果。當(dāng)時(shí)服務(wù)端需要對(duì)數(shù)據(jù)進(jìn)行驗(yàn)證,由于網(wǎng)絡(luò)速度相當(dāng)緩慢,只有28.8kbps,驗(yàn)證步驟浪費(fèi)的時(shí)間太多。于是Netscape的瀏覽器Navigator加入了Javascript,提供了數(shù)據(jù)驗(yàn)證的基本功能。JavaScript是一種基于對(duì)象和事件驅(qū)動(dòng)并具有相對(duì)安全性的客戶端腳本語言。同時(shí)也是一種廣泛用于客戶端Web開發(fā)的腳本語言,常用來給HTML網(wǎng)頁(yè)添加動(dòng)態(tài)功能,比如響應(yīng)用戶的各種操作。它最初由網(wǎng)景公司的BrendanEich設(shè)計(jì),是一種動(dòng)態(tài)、弱類型、基于原型的語言,內(nèi)置支持類。JavaScript是Sun公司的注冊(cè)商標(biāo)。Ecma國(guó)際以JavaScript為基礎(chǔ)制定了ECMAScript標(biāo)準(zhǔn)。JavaScript也可以用于其他場(chǎng)合,如服務(wù)器端編程。完整的JavaScript實(shí)現(xiàn)包含三個(gè)部分:ECMAScript,文檔對(duì)象模型,字節(jié)順序記號(hào)。Netscape公司在最初將其腳本語言命名為L(zhǎng)iveScript來Netscape在與Sun合作之后將其改名為JavaScript。JavaScript最初受Java啟發(fā)而開始設(shè)計(jì)的,目的之一就是“看上去像Java”[2],因此語法上有類似之處,一些名稱和命名規(guī)范也借自Java。但JavaScript的主要設(shè)計(jì)原則源自Self和Scheme[3].JavaScript與Java名稱上的近似,是當(dāng)時(shí)網(wǎng)景為了營(yíng)銷考慮與Sun公司達(dá)成協(xié)議的結(jié)果。為了取得技術(shù)優(yōu)勢(shì),微軟推出了JScript來迎戰(zhàn)JavaScript的腳本語言。為了互用性,Ecma國(guó)際(前身為歐洲計(jì)算機(jī)制造商協(xié)會(huì))創(chuàng)建了ECMA-262標(biāo)準(zhǔn)(ECMAScript)。現(xiàn)在兩者都屬于ECMAScript的實(shí)現(xiàn)。盡管JavaScript作為給非程序人員的腳本語言,而非作為給程序人員的編程語言來推廣和宣傳,但是JavaScript具有非常豐富的特性,目前JavaScript的最新版本為1.9版。技術(shù)是用于形成于Web的應(yīng)用程序的內(nèi)容豐富的編程框架。它是一種創(chuàng)建動(dòng)態(tài)Web應(yīng)用程序的全新手段,它給開發(fā)人員提供了比以往更大的靈活性和更多的功能。通過把通用代碼置于控件中,并將表示邏輯和商務(wù)邏輯分離開來的嶄新方法,使應(yīng)用程序的開發(fā)和維護(hù)更加容易。它是Microsoft.NETFramework的組成部分,允許使用Framework支持的任何語言創(chuàng)建代碼。像JSP、PHP和ASP一樣,也是一種服務(wù)器端技術(shù),它可以制作動(dòng)態(tài)WEB頁(yè)的內(nèi)容。不是必要的組成部分,許多開發(fā)人員沒有它照樣可以開發(fā)網(wǎng)站。不過,一旦安裝了.NETFrameworkSDK,用戶就可以在任何環(huán)境下開發(fā)應(yīng)用程序。是一種用于創(chuàng)建內(nèi)容豐富的動(dòng)態(tài)網(wǎng)站、WEB應(yīng)用程序和XMLWEB服務(wù)的新編程模型。使用編譯的、事件驅(qū)動(dòng)編程模型從而提高運(yùn)行速度和分離應(yīng)用程序邏輯和用戶界面。用可以很容易的開發(fā)基于三層架構(gòu)的B/S應(yīng)用程序。與以往的編程模型相比,這種新編程模型提供了基于組件的架構(gòu)和開發(fā)范例。需求分析需求概述在需求分析階段,我們采用UML建模,目的是捕捉系統(tǒng)的所有功能需求并加以描述,同時(shí)建立模型,分析并提取所開發(fā)系統(tǒng)的各種可以模塊化的功能以及描述它們的合作概貌。BBS系統(tǒng)的基本需求如下:(1)它是一個(gè)計(jì)算機(jī)網(wǎng)絡(luò)軟件系統(tǒng),可通過WEB瀏覽器進(jìn)行訪問;(2)系統(tǒng)支持三種用戶(游客、注冊(cè)的用戶、管理員),每種用戶可使用的功能都是不同的;(3)游客只可以查看帖子;(4)游客可以通過注冊(cè)的方法變?yōu)樽?cè)用戶,注冊(cè)信息包括用戶名、密碼及其它附屬信息。其中用戶名是唯一的,不可與其它注冊(cè)用戶的用戶名重復(fù);(5)游客在登錄(輸入用戶名與密碼)之后,其身份變?yōu)樽?cè)用戶;(6)注冊(cè)用戶可以查看所有舊帖子,并發(fā)新帖子;(7)注冊(cè)用戶可以回復(fù)他人或自己發(fā)表的帖子;(8)注冊(cè)用戶可以管理自己的附屬信息并修改它們;(9)管理員是管理BBS的用戶,且是一種特殊的注冊(cè)用戶;(10)管理員可以管理注冊(cè)用戶,如查看、修改、刪除注冊(cè)用戶信息;(11)管理員可以管理BBS的帖子,如刪除不合法的帖子等。系統(tǒng)用例圖在本系統(tǒng)中,通過分析,可以確認(rèn)BBS中有三種角色:管理員,注冊(cè)用戶,游客。在此基礎(chǔ)上,為每個(gè)角色定義他們所能執(zhí)行的系統(tǒng)功能(用例,即每個(gè)角色的功能需求)。游客用例圖如圖3.1所示。圖游客用例圖游客角色指未執(zhí)行登錄過程的系統(tǒng)進(jìn)入者。游客可以查看帖子,而不能發(fā)新帖子與回復(fù)帖子。游客在登錄(輸入用戶名與密碼)后轉(zhuǎn)為注冊(cè)用戶。游客在注冊(cè)后自動(dòng)執(zhí)行登錄過程,即自動(dòng)轉(zhuǎn)為注冊(cè)用戶。注冊(cè)用戶用例圖如圖所示。圖3.2注冊(cè)用戶用例圖注冊(cè)用戶指已經(jīng)登錄過的用戶,他們不僅可以查看帖子,還可以發(fā)新帖子、回復(fù)帖子及管理個(gè)人信息。注冊(cè)用戶在執(zhí)行用戶退出過程后變?yōu)橛慰汀9芾韱T用例圖如圖所示。圖管理員用例圖管理員可視為一種特殊的注冊(cè)用戶,它不僅擁有注冊(cè)用戶的全部功能(上圖中略去這部分功能),還擁有兩個(gè)其它的功能:1,帖子管理,2,用戶管理(用戶指注冊(cè)用戶、管理員)。系統(tǒng)關(guān)鍵領(lǐng)域類圖分析階段的另一項(xiàng)工作是特定領(lǐng)域分析,以列出系統(tǒng)中的特定領(lǐng)域類。本系統(tǒng)中,通過系統(tǒng)用例分析可以發(fā)現(xiàn),本系統(tǒng)有以下關(guān)鍵的領(lǐng)域類:用戶、帖子。為了方便管理帖子,可以將帖子分為發(fā)布的帖子與回復(fù)的帖子。不同用戶對(duì)于帖子的權(quán)限不同。用戶類可以分為:已注冊(cè)的用戶信息、當(dāng)前注冊(cè)的用戶。各大領(lǐng)域類的關(guān)鍵信息如下:圖3.4用戶信息表圖圖3.5用戶信息表圖發(fā)布帖子領(lǐng)域類中的發(fā)帖人編號(hào)即用戶信息領(lǐng)域類中的用戶編號(hào)。回復(fù)的帖子領(lǐng)域類中的回帖人編號(hào)即用戶信息領(lǐng)域類中的用戶編號(hào)。回復(fù)的帖子領(lǐng)域類中的帖子編號(hào)即發(fā)布帖子領(lǐng)域類中的帖子編號(hào)。系統(tǒng)概述系統(tǒng)介紹“BBS論壇管理系統(tǒng)”是通用性很強(qiáng)的論壇系統(tǒng),集成了瀏覽帖子,發(fā)表帖子,回復(fù)帖子,刪除帖子,版塊管理,用戶注冊(cè),用戶頭像管理等多種實(shí)用的功能。本系統(tǒng)是運(yùn)用微軟可視化編程工具之一MicrosoftVisualStudio2005開發(fā)的,界面美觀大方,系統(tǒng)運(yùn)行穩(wěn)定。本系統(tǒng)以SQLServer2005為數(shù)據(jù)庫(kù)。主要功能按照編程流程,把BBS論壇的模塊按照實(shí)現(xiàn)功能來劃分,包括:(1)論壇注冊(cè)模塊:用戶的基本信息的填寫。(2)論壇登錄模塊:論壇使用者的一定限制。(3)論壇版塊選擇模塊:論壇多元化,便于對(duì)帖子的管理。(4)帖子標(biāo)題顯示模塊:顯示某一論壇版塊的帖子。(5)帖子回復(fù)模塊:對(duì)帖子進(jìn)行回復(fù)。(6)帖子發(fā)表模塊:發(fā)表新的帖子。(7)論壇管理模塊:用戶管理,版主管理,論壇版塊管理,論壇帖子管理,頭像管理。(8)論壇主頁(yè)模塊:對(duì)論壇的全局顯示。(9)數(shù)據(jù)庫(kù)設(shè)計(jì)模塊:論壇所需要的數(shù)據(jù)。主要模塊介紹主頁(yè)面主頁(yè)面是論壇的門戶,子頁(yè)面的調(diào)用要通過主頁(yè)面實(shí)現(xiàn)。另外,主頁(yè)面還要顯示論壇最新信息、網(wǎng)站信息、廣告等信息。本系統(tǒng)是個(gè)綜合論壇,所以在主頁(yè)面中要對(duì)各類信息按類型進(jìn)行分類。除此之外,論壇最新信息要實(shí)時(shí)響應(yīng)。其運(yùn)行結(jié)果如圖4.1所示。圖4.1主頁(yè)面運(yùn)行結(jié)果論壇注冊(cè)模塊一個(gè)論壇需要對(duì)其中的用戶進(jìn)行管理,因此,一般只有授權(quán)用戶才能夠享有BBS論壇的一些基本功能,而對(duì)于一個(gè)初次登錄論壇的用戶,只有通過注冊(cè)才能夠得到基本授權(quán)。原先的論壇在發(fā)帖時(shí),需要填寫自己的筆名。這樣對(duì)于總是重復(fù)發(fā)帖的人,總是要填寫筆名,比較麻煩。因此,論壇擴(kuò)展了用戶注冊(cè)登錄功能,參與論壇的人注冊(cè)了自己的筆名和個(gè)人信息,擁有了論壇中的身份,發(fā)言時(shí)就不需要重復(fù)寫個(gè)人信息了。用戶在注冊(cè)過程中,一般需要確認(rèn)論壇的基本準(zhǔn)則和行為規(guī)范,再填寫基本的用戶信息,其中最重要的自然是用戶名和密碼,這是一個(gè)用戶在該論壇的身份象征。論壇注冊(cè)模塊運(yùn)行結(jié)果如圖4.2所示。圖4.2論壇注冊(cè)模塊運(yùn)行結(jié)果論壇登錄模塊想要在論壇中進(jìn)行相應(yīng)的操作,不但需要用戶有在這個(gè)論壇上相應(yīng)的權(quán)限,還需要能讓論壇知道這一點(diǎn),這是就是登錄模塊。用戶注冊(cè)時(shí)提供的用戶名和密碼,就像通行證一樣,獲得了論壇的認(rèn)可后,才能開始在論壇之中進(jìn)行操作。論壇登錄界面運(yùn)行結(jié)果如圖4.3所示。圖4.3論壇登錄界面運(yùn)行結(jié)果論壇版塊選擇模塊在論壇中,用戶所發(fā)表的主題類型不同,如果只在一個(gè)區(qū)域內(nèi)顯示,對(duì)用戶的查閱,和管理員的維護(hù)帶來很多的不便。為此,我們把論壇分為不同的版塊,以顯示不同類型的帖子。這樣,用戶在發(fā)表和查閱帖子時(shí),可根據(jù)帖子類型到相應(yīng)的論壇版塊內(nèi)進(jìn)行集中性的發(fā)表和查閱。管理員在維護(hù)論壇時(shí)也可以節(jié)省很多不必要的時(shí)間開銷。論壇版塊運(yùn)行結(jié)果如圖4.4所示(音樂空間版塊)。圖4.4論壇區(qū)模塊運(yùn)行結(jié)果帖子發(fā)表模塊這個(gè)模塊的主要功能就是提供給用戶一個(gè)發(fā)表自己的帖子的功能。用戶在登錄之后,通過填寫相應(yīng)的內(nèi)容,如帖子標(biāo)題、帖子內(nèi)容等,就能在論壇中的標(biāo)題列表中找到自己的帖子。帖子發(fā)布模塊運(yùn)行結(jié)果如圖所示4.5所示。圖4.5帖子發(fā)表運(yùn)行結(jié)果系統(tǒng)分析BBS論壇管理系統(tǒng)的技術(shù)可行性分析BBS論壇管理系統(tǒng)就是提供給注冊(cè)用戶一個(gè)平臺(tái),會(huì)員用戶可以通過Internet接入,登錄本系統(tǒng),在這個(gè)平臺(tái)上發(fā)表帖子、閱讀帖子、回復(fù)帖子等等。此類系統(tǒng)通常有以下四種類型的操作用戶:游客用戶、普通用戶、版主、管理員。每類用戶有其不同的操作集,系統(tǒng)通常提供一個(gè)統(tǒng)一的登錄頁(yè)面,此頁(yè)面應(yīng)能自動(dòng)識(shí)別不同級(jí)別的用戶,并提供不同的操作界面。與之相應(yīng),此類系統(tǒng)通常應(yīng)具有以下功能:用戶注冊(cè)、用戶登錄、發(fā)表帖子、閱讀帖子、回復(fù)帖子、個(gè)人資料維護(hù)、版塊管理、版主管理、用戶管理等等,所有操作都可以由用戶在客戶端瀏覽器中完成,而服務(wù)器端程序會(huì)按用戶的要求來完成對(duì)系統(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ù)的興起,對(duì)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端,降低了系統(tǒng)的通訊開銷,可以充分利用兩端硬件環(huán)境的優(yōu)勢(shì)。早期的軟件系統(tǒng)多以此作為首選設(shè)計(jì)標(biāo)準(zhǔn)。B/S結(jié)構(gòu)下,用戶界面完全通過WWW瀏覽器實(shí)現(xiàn),一部分事務(wù)邏輯在前端實(shí)現(xiàn),但是主要事務(wù)邏輯在服務(wù)器端實(shí)現(xiàn),形成所謂N-Tier結(jié)構(gòu)。B/S結(jié)構(gòu),主要是利用了不斷成熟的WWW瀏覽器技術(shù),結(jié)合瀏覽器的多種Script語言(VBScript、JavaScript…)和ActiveX技術(shù),用通用瀏覽器就實(shí)現(xiàn)了原來需要復(fù)雜專用軟件才能實(shí)現(xiàn)的強(qiáng)大功能,并節(jié)約了開發(fā)成本,是一種全新的軟件系統(tǒng)構(gòu)造技術(shù)。將應(yīng)用程序分成好幾個(gè)離散邏輯組件,就是多層式結(jié)構(gòu)(N-Tier)應(yīng)用程序。最常見的選擇是分成三個(gè)部分:表示層、事務(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)新程序之開發(fā)的結(jié)構(gòu)。下面就是3-Tier結(jié)構(gòu)各層功能以及經(jīng)常采用的技術(shù)作個(gè)簡(jiǎn)介:表示層主要運(yùn)行于客戶端瀏覽器,采用Script(腳本)語言編寫。HTML、JavaScript、VBScript是此類應(yīng)用系統(tǒng)中展示層最常用的腳本編制語言,結(jié)合CCS以及ActiveX技術(shù),能設(shè)計(jì)出交互相當(dāng)靈活功能又相當(dāng)強(qiáng)大的客戶端網(wǎng)頁(yè)。事務(wù)邏輯層設(shè)計(jì)通常有三個(gè)選擇:ASP.NET網(wǎng)頁(yè)、COM或COM+組件、DBMS中所執(zhí)行的預(yù)存程序。將程序代碼的一部分,建立成執(zhí)行于數(shù)據(jù)庫(kù)管理系統(tǒng)(DBMS)中的預(yù)存程序,使數(shù)據(jù)與程序代碼儲(chǔ)存在相同的位置,有助于最佳化執(zhí)行效率,但是,預(yù)存程序都依賴于特定的數(shù)據(jù)庫(kù)系統(tǒng),在編寫和偵錯(cuò)方面都相當(dāng)復(fù)雜,只適宜于大型的商業(yè)應(yīng)用系統(tǒng)。以COM對(duì)象的方式,編寫中間層(MiddleTier)事務(wù)邏輯,可以使用全功能的語言,來產(chǎn)生經(jīng)過編譯的執(zhí)行程序,執(zhí)行效率也相當(dāng)高,此外,在COM對(duì)象中包裝事務(wù)邏輯,還可以清楚地將此程序代碼與網(wǎng)頁(yè)內(nèi)含的展示程序代碼分隔,這樣可以使應(yīng)用程序更易于維護(hù),但是,COM對(duì)象的部署也有一定的麻煩,新編寫的組件對(duì)象,只有在服務(wù)器重新啟動(dòng)后才能被應(yīng)用程序調(diào)用。用ASP.NET網(wǎng)頁(yè)設(shè)計(jì)事務(wù)邏輯相對(duì)來說比較簡(jiǎn)單,但是,ASP.NET網(wǎng)頁(yè)采用腳本語言來編寫事務(wù)邏輯,比如VBScript,程序代碼只有在執(zhí)行時(shí)才被翻譯,這樣會(huì)降低執(zhí)行效能,此外,ASP.NET網(wǎng)頁(yè)中的程序代碼也是難以維護(hù)的,因?yàn)槭聞?wù)邏輯程序代碼與建立使用者接口的展示程序代碼彼此混雜在一起。數(shù)據(jù)層較為靈活,視系統(tǒng)規(guī)模可選擇Sybase、Oracle、MySQL、SQLserver或者M(jìn)SAccess。綜上所述,結(jié)合本系統(tǒng)實(shí)際需要,本系統(tǒng)采用B/S結(jié)構(gòu),使用微軟公司的技術(shù)解決方案。開發(fā)環(huán)境采用微軟的VisualStudio2005。采用3-Tier軟件結(jié)構(gòu):表示層采用HTML、JavaScript或VBScript結(jié)合CSS、ActiveX技術(shù)來編寫;事務(wù)邏輯層,考慮到本系統(tǒng)為通用BBS系統(tǒng),系統(tǒng)應(yīng)該具備較大的可伸縮性,應(yīng)該能適應(yīng)最基本應(yīng)用最廣泛的WEB平臺(tái),特別是個(gè)人用戶想在一些免費(fèi)主頁(yè)空間搭建自已的論壇,而這類免費(fèi)主頁(yè)空間通常只支持ASP.NET來處理服務(wù)器端數(shù)據(jù)或數(shù)據(jù)庫(kù),另外,通用系統(tǒng)應(yīng)該具備較大的可擴(kuò)展性。因此,本系統(tǒng)事務(wù)邏輯層設(shè)計(jì)采用ASP.NET網(wǎng)頁(yè);至于數(shù)據(jù)層,本系統(tǒng)采用最基本的SQLServer2005數(shù)據(jù)庫(kù)系統(tǒng)。本系統(tǒng)的開發(fā)環(huán)境和開發(fā)工具為:WindowsXP,VisualStudio2005,SQLServer2005。系統(tǒng)結(jié)構(gòu)根據(jù)論壇系統(tǒng)的情況和要求,設(shè)計(jì)系統(tǒng)結(jié)構(gòu)如圖5.1所示。圖5.1系統(tǒng)結(jié)構(gòu)圖系統(tǒng)開發(fā)環(huán)境系統(tǒng)開發(fā)平臺(tái):MicrosoftVisualStudio2005數(shù)據(jù)庫(kù)管理系統(tǒng)軟件:SQLServer2005運(yùn)行平臺(tái):WindowsXP系統(tǒng)設(shè)計(jì)設(shè)計(jì)階段的任務(wù)是通過綜合考慮各個(gè)功能間關(guān)聯(lián),以擴(kuò)展和細(xì)化分析階段的模型。設(shè)計(jì)的目的是指明一種易轉(zhuǎn)化成代碼的工作方案,是對(duì)分析工作的細(xì)化,即進(jìn)一步細(xì)化分析階段所得出的系統(tǒng)用例與關(guān)鍵領(lǐng)域類。本階段建模的目的是將分析階段的模型擴(kuò)展和轉(zhuǎn)化為可行的技術(shù)實(shí)現(xiàn)方案,本系統(tǒng)中將系統(tǒng)用例細(xì)化為需求活動(dòng)圖、為關(guān)鍵領(lǐng)域類擴(kuò)展為系統(tǒng)數(shù)據(jù)模型,并提供接口函數(shù)。系統(tǒng)總體設(shè)計(jì)系統(tǒng)總體分為三個(gè)部分:第一部分是客戶端(即瀏覽器)部分;第二部分是WEB服務(wù)器部分(包括HTML頁(yè)面和.NET架構(gòu)部分);第三部分是數(shù)據(jù)庫(kù)服務(wù)器端部分;用戶通過瀏覽器操作將頁(yè)面?zhèn)鹘oWEB服務(wù)器,在WEB服務(wù)器中,.NET是一種先進(jìn)的建立在通用語言上的程序構(gòu)架,能被用于一臺(tái)Web服務(wù)器來建立強(qiáng)大的Web應(yīng)用程序,.NET提供許多比現(xiàn)在的Web開發(fā)模式強(qiáng)大的優(yōu)勢(shì)。通常T直接建立于Web服務(wù)器中,并且是作為Web服務(wù)器的一個(gè)服務(wù)運(yùn)行,支持多用戶,多線程。它擁有強(qiáng)有力的會(huì)話管理機(jī)制,可以實(shí)現(xiàn)各請(qǐng)求之間的信息共享,提高系統(tǒng)運(yùn)行效率。數(shù)據(jù)庫(kù)服務(wù)器端將處理的結(jié)果以用戶需要的數(shù)據(jù)格式返回給中間層Web服務(wù)器,Web服務(wù)器將操作結(jié)果通過HTML頁(yè)面的形式顯示給用戶,系統(tǒng)結(jié)構(gòu)流程如圖5.1所示。圖6.1基于B/S的系統(tǒng)結(jié)構(gòu)流程本系統(tǒng)采用的是三層的B/S結(jié)構(gòu)模式開發(fā),結(jié)構(gòu)也是一個(gè)三層的系統(tǒng):包括UI層、業(yè)務(wù)邏輯層和數(shù)據(jù)層。其中:UI層負(fù)責(zé)與用戶交互,接收用戶的輸入并將服務(wù)器端傳來的數(shù)據(jù)呈現(xiàn)給客戶。業(yè)務(wù)邏輯層負(fù)責(zé)接收瀏覽器傳來的請(qǐng)求并將請(qǐng)求傳給數(shù)據(jù)層,同時(shí)將請(qǐng)求處理結(jié)果發(fā)給瀏覽器。它由Web表單、XMLWeb服務(wù)和組件服務(wù)組成。其中Web表單是ASP.NET應(yīng)用程序的核心所在,它是向客戶呈現(xiàn)數(shù)據(jù)和信息的基礎(chǔ),也是響應(yīng)和處理客戶請(qǐng)求服務(wù)的基礎(chǔ)。數(shù)據(jù)層是通過操縱數(shù)據(jù)為事務(wù)邏輯層提供數(shù)據(jù)服務(wù),如存儲(chǔ)數(shù)據(jù)操作結(jié)果、返回?cái)?shù)據(jù)檢索結(jié)果等。數(shù)據(jù)庫(kù)設(shè)計(jì)數(shù)據(jù)庫(kù)需求分析根據(jù)論壇所需要實(shí)現(xiàn)的功能,對(duì)其數(shù)據(jù)庫(kù)的需求進(jìn)行分析,得到以下結(jié)論:要存儲(chǔ)的內(nèi)容包括用戶信息,帖子信息、回復(fù)信息、論壇版塊信息。一個(gè)用戶可以發(fā)表多個(gè)帖子。一個(gè)用戶可以回復(fù)多個(gè)帖子。一個(gè)帖子或者一個(gè)回復(fù)都只對(duì)應(yīng)一個(gè)用戶。一個(gè)帖子可以對(duì)應(yīng)多個(gè)回復(fù)。經(jīng)過以上分析,設(shè)計(jì)如下數(shù)據(jù)庫(kù):用戶信息:包括用戶名、密碼等一系列確認(rèn)用戶身份的信息。帖子信息:包括該論壇中所有帖子的標(biāo)題、內(nèi)容、作者、發(fā)表時(shí)間等,并且要能把每一個(gè)帖子與相應(yīng)的論壇版塊相應(yīng)的對(duì)應(yīng)起來。回帖信息:包括該論壇中所有的回復(fù)信息,包括回復(fù)內(nèi)容、作者、回復(fù)時(shí)間等,并且要能把每一條回復(fù)信息與其回復(fù)的帖子信息相應(yīng)對(duì)應(yīng)起來。論壇版塊信息:包括該論壇中所有版塊的標(biāo)題、說明、帖子數(shù)、回復(fù)數(shù)、版主等一系列信息。在明確了數(shù)據(jù)庫(kù)信息之后,下面開始構(gòu)建數(shù)據(jù)表。數(shù)據(jù)表的結(jié)構(gòu)在程序開發(fā)過程中,設(shè)計(jì)數(shù)據(jù)庫(kù)的表結(jié)構(gòu)是非常重要的一個(gè)環(huán)節(jié)。一個(gè)設(shè)計(jì)良好的數(shù)據(jù)庫(kù)結(jié)構(gòu),可以提高效率,方便維護(hù),并且為以后進(jìn)行功能的擴(kuò)展留有余地。這就好比高樓大廈一樣,有穩(wěn)固的基礎(chǔ),才能有優(yōu)秀的成果。下面設(shè)計(jì)論壇的數(shù)據(jù)庫(kù)。通過數(shù)據(jù)表的關(guān)系、詳細(xì)字段結(jié)構(gòu)。以及相關(guān)的數(shù)據(jù)庫(kù)擴(kuò)展設(shè)計(jì)由淺入深講解,并對(duì)主要的數(shù)據(jù)庫(kù)表結(jié)構(gòu)及數(shù)據(jù)庫(kù)關(guān)系圖進(jìn)行詳細(xì)的介紹。本系統(tǒng)采用SQLServer2005數(shù)據(jù)庫(kù)系統(tǒng),在該系統(tǒng)中新建一個(gè)數(shù)據(jù)庫(kù),將其命名為db_BBS。本系統(tǒng)中共用到7個(gè)數(shù)據(jù)表。在數(shù)據(jù)庫(kù)表設(shè)計(jì)過程中,可以把握幾條原則,數(shù)據(jù)庫(kù)設(shè)計(jì)一個(gè)表最好只存儲(chǔ)一個(gè)實(shí)體或?qū)ο蟮南嚓P(guān)信息,不同的實(shí)體最好存儲(chǔ)在不同的數(shù)據(jù)表中,如果實(shí)體可以再劃分,實(shí)體的劃分原則是最好能夠比當(dāng)前系統(tǒng)開發(fā)的實(shí)體顆粒度要小;數(shù)據(jù)表的信息結(jié)構(gòu)一定要適合,表的字段數(shù)量一定不要過多;擴(kuò)展信息和動(dòng)態(tài)變化的信息一定要分開在不同的表里;對(duì)于出現(xiàn)多對(duì)多這樣的表關(guān)系系統(tǒng),盡量不要出現(xiàn)等。根據(jù)上面的數(shù)據(jù)庫(kù)需求分析,BBS論壇數(shù)據(jù)庫(kù)中各個(gè)表的設(shè)計(jì)結(jié)果如下。tb_User(用戶信息表)需要包括的字段如圖所示。圖tb_User表(2)tb_Card(帖子信息表)用于保存各類帖子的詳細(xì)信息,包括的字段如圖6.3所示。圖6.3tb_Card表(3)tb_Revert(回帖信息表)用于保存對(duì)帖子的回復(fù)信息,包括的字段如圖6.4所示。圖tb_Revert表(4)tb_Module(版塊信息表)用于保存該論壇所包含的版塊信息,包括字段如圖6.5所示。圖tb_Module表數(shù)據(jù)表之間關(guān)系圖設(shè)計(jì)數(shù)據(jù)庫(kù)表間的關(guān)系主要是考慮論壇中各個(gè)對(duì)象的相互關(guān)系,帖子屬于版塊,回復(fù)帖子從屬于主題帖,帖子的作者屬于用戶,因此版塊、主題帖、回復(fù)帖是一層層的從屬依賴關(guān)系,帖子的作者必須是論壇的用戶,帖子不能脫離版塊、用戶而單獨(dú)存在。最后得到的數(shù)據(jù)表之間關(guān)系圖如圖所示。圖數(shù)據(jù)表關(guān)系圖數(shù)據(jù)庫(kù)操作類設(shè)計(jì)數(shù)據(jù)庫(kù)操作類主要實(shí)現(xiàn)的功能有:打開數(shù)據(jù)庫(kù)連接、關(guān)閉數(shù)據(jù)庫(kù)連接、釋放數(shù)據(jù)庫(kù)連接資源、傳入?yún)?shù)并且轉(zhuǎn)換為SqlParameter類型、執(zhí)行參數(shù)命令文本(無返回值)、執(zhí)行參數(shù)命令文本(有返回值)、將命令文本添加到SqlDataAdapter和將命令文本添加到SqlCommand。在命名空間區(qū)域引用usingSystem.Data.SqlClient命名空間。為了精確的控制釋放未托管資源必須實(shí)現(xiàn)DataBase類的System.IDisposable接口,IDisposable接口聲明了一個(gè)方法Dispose,該方法不帶參數(shù),返回Void。建立數(shù)據(jù)庫(kù)的連接主要通過SqlConnection類實(shí)現(xiàn),并初始化數(shù)據(jù)庫(kù)連接字符串,然后通過State屬性來判斷連接狀態(tài),如果數(shù)據(jù)庫(kù)連接狀態(tài)為關(guān),則打開數(shù)據(jù)庫(kù)連接。關(guān)閉數(shù)據(jù)庫(kù)連接主要通過SqlConnection對(duì)象的Close方法實(shí)現(xiàn)。因?yàn)镈ataBase類使用System.IDisposable接口,IDisposable接口聲明了一個(gè)方法IDisposable,所以在此應(yīng)該完善IDisposable接口的IDisposable方法,用來釋放數(shù)據(jù)庫(kù)連接資源。本系統(tǒng)向數(shù)據(jù)庫(kù)中讀取數(shù)據(jù)是以參數(shù)形式實(shí)現(xiàn)的。MakeInParam方法用于傳入?yún)?shù),MakeParam方法用于轉(zhuǎn)換參數(shù)。RunProc方法為可重載方法,功能分別為執(zhí)行帶參數(shù)SqlParameter的命令文本,RunProc(stringprocName,SqlParameter[]params)方法主要用于執(zhí)行添加、修改和刪除;RunProc(stringprocName)方法用來直接執(zhí)行SQL語句,如數(shù)據(jù)庫(kù)備份與數(shù)據(jù)庫(kù)恢復(fù)。RunProcReturn方法為可重載方法,返回值為DataSet類型。功能分別為執(zhí)行帶參數(shù)SqlParameter的命令文本。RunProcReturn(stringprocName,SqlParameter[]params,stringtbName)方法主要用于執(zhí)行帶參數(shù)SqlParameter的查詢命令文本;RunProcReturn(stringprocName,stringtbName)用于直接執(zhí)行查詢SQL語句。CreateDataAdapter方法將帶參數(shù)SqlParameter的命令文本添加到SqlAdapter中,并執(zhí)行命令文本。CreateCommond方法將帶參數(shù)SqlParameter的命令文本添加到CreateCommond中,并執(zhí)行命令文本。論壇注冊(cè)設(shè)計(jì)論壇注冊(cè)的流程是這樣的,為了能登錄論壇,一個(gè)用戶必須在該論壇上有合法身份,當(dāng)一個(gè)用戶沒有這個(gè)身份時(shí),必須進(jìn)入注冊(cè)頁(yè)面進(jìn)行登錄。當(dāng)進(jìn)入注冊(cè)頁(yè)面時(shí),用戶開始填寫資料并單擊“注冊(cè)”按鈕,首先檢查輸入完整性,即該填的信息都填完了并且正確填寫,如果信息不完整或有錯(cuò)誤,則會(huì)做出相應(yīng)的提示,如果完整性檢驗(yàn)通過,則會(huì)提示注冊(cè)成功并進(jìn)入登錄頁(yè)面。具體流程如圖所示。圖論壇注冊(cè)流程圖論壇登錄設(shè)計(jì)用戶使用論壇時(shí),需要3種角色:游客(即沒有注冊(cè)的用戶)、已經(jīng)注冊(cè)的用戶和后臺(tái)管理員。管理員用戶:管理員用戶可以對(duì)論壇的注冊(cè)用戶進(jìn)行管理,可以直接添加用戶,賦予相關(guān)權(quán)限,也可以修改已注冊(cè)用戶的權(quán)限,對(duì)于違規(guī)的用戶可以刪除;另外,管理員還可以對(duì)論壇模塊和論壇帖子進(jìn)行添加、修改和刪除等權(quán)利。普通用戶:這里的普通用戶可以分為游客(即沒有注冊(cè)的用戶)和已經(jīng)注冊(cè)的用戶。沒有注冊(cè)的用戶在進(jìn)入論壇之后,只能瀏覽模塊、主題貼,而已經(jīng)注冊(cè)的用戶在登錄進(jìn)入論壇后,還可以對(duì)各類帖子發(fā)表自己的評(píng)論、發(fā)表帖子并加以編輯等。具體流程圖如圖6.9所示。圖論壇登錄流程圖帖子標(biāo)題顯示設(shè)計(jì)在用戶登錄后,會(huì)進(jìn)入論壇版塊列表,選擇論壇版塊后,會(huì)進(jìn)入相應(yīng)的論壇版塊帖子列表,同時(shí)在帖子列表中會(huì)顯示一走些有關(guān)帖子的基本信息,包括題目、作者、時(shí)間、回復(fù)數(shù)。在帖子標(biāo)題顯示模塊中,如果單擊帖子標(biāo)題,則進(jìn)入帖子瀏覽界面;如果單擊右上負(fù)的“發(fā)表帖子”鏈接,則進(jìn)入發(fā)表帖子模塊。新帖子發(fā)表模塊設(shè)計(jì)進(jìn)入新帖子發(fā)表頁(yè)面后,填寫發(fā)表帖子的名稱、所屬版塊和內(nèi)容,單擊“提交”按鈕。首先檢查輸入完整性,如果輸入不完整,則提示用戶填寫相應(yīng)項(xiàng),如果通過完整性檢驗(yàn),則提示發(fā)表成功。系統(tǒng)實(shí)現(xiàn)發(fā)表帖子的實(shí)現(xiàn)實(shí)現(xiàn)的關(guān)鍵技術(shù)主要技術(shù)的應(yīng)用為:FreeTextBox組件的使用和使用Image控件顯示頭像。功能實(shí)現(xiàn)發(fā)表帖子的頁(yè)面(Deliver.aspx)實(shí)現(xiàn)了在指定版塊中發(fā)表帖子的功能,該頁(yè)面運(yùn)行結(jié)果如圖7.1所示。圖7.1發(fā)表帖子頁(yè)面主要相關(guān)代碼點(diǎn)擊“提交”按鈕觸發(fā)其Click事件,在該事件中實(shí)現(xiàn)發(fā)表帖子功能,代碼如下。protectedvoidbtnSubmit_Click(objectsender,EventArgse){stringstrName="";stringstrPop="";if(txtCName.Text==string.Empty){Response.Write("<scriptlanguage=javascript>alert('帖子名稱不能為空!')</script>");return;}if(Session["Name"]==null){strName="匿名";strPop="游客";}else{strName=Session["Name"].ToString();strPop=Session["Pop"].ToString();}cardmanage.CardID=cardmanage.GetCID();cardmanage.CardName=txtCName.Text;modulemanage.ModuleName=ddlMName.SelectedValue;cardmanage.ModuleID=modulemanage.FindModuleByName(modulemanage,"tb_Module").Tables[0].Rows[0][0].ToString();cardmanage.CardContent=FreeTextBox1.Text;cardmanage.CardTime=DateTime.Now;cardmanage.CardPeople=strName;cardmanage.Pop=strPop;cardmanage.AddCard(cardmanage);Response.Write("<scriptlanguage=javascript>alert('帖子發(fā)表成功!')</script>");txtCName.Text=FreeTextBox1.Text=string.Empty;}瀏覽帖子的實(shí)現(xiàn)實(shí)現(xiàn)的關(guān)鍵技術(shù)實(shí)現(xiàn)的關(guān)鍵技術(shù):DataBinder.Eval方法綁定數(shù)據(jù)和DataList控件分頁(yè)。功能實(shí)現(xiàn)瀏覽帖子頁(yè)面()實(shí)現(xiàn)了顯示指定帖子及其回復(fù)信息的功能,該頁(yè)面運(yùn)行結(jié)果如圖7.2所示。圖7.2瀏覽帖子頁(yè)面主要相關(guān)代碼為了實(shí)現(xiàn)帖子顯示及其回復(fù)信息的功能,本系統(tǒng)自定義了以下4個(gè)方法,分別為:cardBind、dataBind、pageCount、getPhoto方法。下面例舉出其中那一個(gè)。cardBind自定義方法用于顯示帖子信息,并根據(jù)發(fā)帖人姓名顯示其頭像,代碼如下。publicvoidcardBind(stringstr){try{cardmanage.CardID=str;Label1.Text=Convert.ToDateTime(cardmanage.FindCardByID(cardmanage,"tb_Card").Tables[0].Rows[0][4].ToString()).ToLongDateString();Label2.Text=cardmanage.FindCardByID(cardmanage,"tb_Card").Tables[0].Rows[0][5].ToString();Label4.Text=cardmanage.FindCardByID(cardmanage,"tb_Card").Tables[0].Rows[0][1].ToString();Label8.Text=cardmanage.FindCardByID(cardmanage,"tb_Card").Tables[0].Rows[0][3].ToString();stringstrPop=cardmanage.FindCardByID(cardmanage,"tb_Card").Tables[0].Rows[0][6].ToString().Trim();stringstrPhoto="";if(strPop=="游客"){strPhoto="../Images/Visiter.jpg";}if(strPop=="用戶"){usermanage.UserName=cardmanage.FindCardByID(cardmanage,"tb_Card").Tables[0].Rows[0][5].ToString();strPhoto=usermanage.FindUserByName(usermanage,"tb_User").Tables[0].Rows[0][8].ToString();}if(strPop=="版主"){hostmanage.HostName=cardmanage.FindCardByID(cardmanage,"tb_Card").Tables[0].Rows[0][5].ToString();strPhoto=hostmanage.FindHostByName(hostmanage,"tb_Host").Tables[0].Rows[0][9].ToString();}if(strPop=="管理員"){strPhoto="../Images/Admin.jpg";}Image2.ImageUrl=strPhoto;}catch{}}系統(tǒng)測(cè)試系統(tǒng)測(cè)試是將已經(jīng)確認(rèn)的軟件、計(jì)算機(jī)硬件、外設(shè)、網(wǎng)絡(luò)等其他元素結(jié)合在一起,進(jìn)行信息系統(tǒng)的各種組裝測(cè)試和確認(rèn)測(cè)試,其目的是通過與系統(tǒng)的需求相比較,發(fā)現(xiàn)所開發(fā)的系統(tǒng)與用戶需求不符或矛盾的地方,從而提出更加完善的方案.。它的的任務(wù)是近可能徹底的檢查出程序中的錯(cuò)誤,提高軟件系統(tǒng)的可靠性,其目的是檢驗(yàn)系統(tǒng)“做得怎樣?”。測(cè)試方案及測(cè)試用例測(cè)試方法介紹軟件測(cè)試有兩種方法:白盒法和黑盒法如果知道了產(chǎn)品應(yīng)該具有的功能,可以通過測(cè)試來檢測(cè)是否每個(gè)功能都能實(shí)現(xiàn),這種測(cè)試方法叫作黑盒測(cè)試法;如果知道產(chǎn)品的內(nèi)部工作過程,可以通過測(cè)試來檢驗(yàn)是否按照規(guī)格說明說的規(guī)定正常運(yùn)行,這個(gè)方法叫白盒測(cè)試法。對(duì)于軟件而言,黑盒測(cè)試法是把程序看成一個(gè)黑盒子,完全不考慮程序的內(nèi)部結(jié)構(gòu)和處理過程。也就是說黑盒測(cè)試是在程序的接口進(jìn)行測(cè)試,它只檢查程序的功能是否按照規(guī)格說明說的說明正常運(yùn)行,程序是否能恰當(dāng)?shù)慕邮茌斎霐?shù)據(jù),產(chǎn)生正確的輸出信息,并且保持外部信息的完整性。黑盒測(cè)試又稱為功能測(cè)試。與黑盒測(cè)試法相反,白盒測(cè)試法是把程序看成是裝在一個(gè)透明的白盒子里。也就是完全了解程序的結(jié)構(gòu)和處理過程,這種方法按照程序內(nèi)部的邏輯測(cè)試程序,檢驗(yàn)程序中的每條通路是否能按預(yù)定的要求正確工作,白盒測(cè)試又稱為結(jié)構(gòu)測(cè)試。粗看起來,不論采用上述那種測(cè)試方法,只要對(duì)每一種可能的情況都進(jìn)行測(cè)試,就可以得到完全正確的程序。包含所有可能情況的測(cè)試成為窮盡測(cè)試,對(duì)于實(shí)際程序而言,窮盡測(cè)試通常是不可能做到的。使用黑盒測(cè)試法為了做到窮盡測(cè)試,至少對(duì)所有輸入數(shù)據(jù)的各種可能值的排列組合都進(jìn)行測(cè)試,但是,由此得到的應(yīng)該測(cè)試的情況,數(shù)字往往達(dá)到實(shí)際上根本無法測(cè)試的程度。實(shí)踐表明,用無效的輸入數(shù)據(jù)比有效的輸入數(shù)據(jù)進(jìn)行測(cè)試往往能發(fā)現(xiàn)更多的錯(cuò)誤。使用白盒測(cè)試法和使用黑盒測(cè)試法一樣也不可能做到窮盡測(cè)試。因?yàn)椴荒茏龅礁F盡測(cè)試,所以軟件測(cè)試不可能發(fā)現(xiàn)程序中的所有錯(cuò)誤。也就是所通過測(cè)試并不能證明程序是完全正確的。但是,我們的目的是要通過測(cè)試保證軟件愛你的可靠性,因此,必須仔細(xì)設(shè)計(jì)測(cè)試方案,力爭(zhēng)用盡可能少的測(cè)試發(fā)現(xiàn)盡可能多的錯(cuò)誤。單元測(cè)試測(cè)試一:在用戶登錄時(shí),用戶填寫錯(cuò)誤的登錄名或密碼或驗(yàn)證碼,系統(tǒng)是否給出提示信息。具體操作:點(diǎn)擊進(jìn)入登錄界面,填寫錯(cuò)誤的登錄名或密碼或驗(yàn)證碼。結(jié)果:系統(tǒng)彈出文字提示框,提示登錄名或密碼錯(cuò)誤,用戶登錄失敗。結(jié)論:要求用戶以正確的登錄名、密碼和驗(yàn)證碼進(jìn)行登錄。測(cè)試二:在用戶注冊(cè)時(shí),用已存在的用戶名進(jìn)行注冊(cè),系統(tǒng)是否提示該用戶已存在。具體操作:用同一個(gè)用戶名連續(xù)注冊(cè)兩次。結(jié)果:系統(tǒng)彈出文字提示框,提示該用戶已存在,用戶注冊(cè)失敗。結(jié)論:用戶名不可以重復(fù)。測(cè)試三:在用戶以游客(未登錄BBS論壇管理系統(tǒng))方式進(jìn)入BBS論壇管理系統(tǒng)的某個(gè)版塊并回復(fù)某個(gè)帖子時(shí),系統(tǒng)是否會(huì)提示用戶沒有這個(gè)權(quán)限。具體操作:用戶不進(jìn)行登錄直接進(jìn)入某個(gè)版塊,然后對(duì)某個(gè)帖子進(jìn)行回復(fù)。結(jié)果:系統(tǒng)提示用戶沒有這個(gè)權(quán)限,回復(fù)帖子失敗。結(jié)論:要求用戶必須先登錄,才可以對(duì)某個(gè)帖子進(jìn)行回復(fù)。測(cè)試四:以正確的普通用戶的登錄名和密碼進(jìn)行版主登錄,是否能夠成功登錄。具體操作:注冊(cè)一個(gè)普通用戶,以這個(gè)登錄名和密碼進(jìn)行版主登錄。結(jié)果:系統(tǒng)彈出文字提示框,提示版主用戶名或密碼錯(cuò)誤,版主登錄失敗。結(jié)論:用戶不可以跨越自己的權(quán)限進(jìn)行登錄。測(cè)試總結(jié)本系統(tǒng)的各個(gè)功能現(xiàn)已基本實(shí)現(xiàn),代碼基本無誤。但,通過對(duì)本系統(tǒng)的測(cè)試發(fā)現(xiàn),該系統(tǒng)仍然存在一些細(xì)節(jié)問題。例如,有些地方的設(shè)計(jì)還是不夠人性化。這些問題主要還是由于對(duì)系統(tǒng)開發(fā)缺乏經(jīng)驗(yàn),以后會(huì)繼續(xù)努力。結(jié)論本文主要介紹了網(wǎng)上在線論壇的設(shè)計(jì)過程。在設(shè)計(jì)過程中應(yīng)用了IFrame框架技術(shù),并引入了第三方組件FreeTextBox,該組件是一個(gè)在線文本編輯器,可以對(duì)文字以及圖片內(nèi)容進(jìn)行處理,并將數(shù)據(jù)保存到數(shù)據(jù)庫(kù)中。另外,本文著重介紹了系統(tǒng)數(shù)據(jù)庫(kù)的設(shè)計(jì)和公用模塊的編寫,其中公用模塊的編寫包含數(shù)據(jù)庫(kù)連接模塊編寫,即在應(yīng)用程序配置文件Web.Config文件中添加數(shù)據(jù)庫(kù)連接信息等;在論壇典型模塊設(shè)計(jì)中應(yīng)用了3個(gè)主要模塊,即瀏覽帖子、回復(fù)帖子和發(fā)表帖子3大模塊。本系統(tǒng)是一個(gè)具有實(shí)際意義的論壇系統(tǒng)。本系統(tǒng)大部分是應(yīng)用ASP.NET2.0技術(shù)完成的,本文主要討論了BBS論壇管理系統(tǒng)的設(shè)計(jì)與開發(fā),把面向?qū)ο笏枷肭‘?dāng)結(jié)合進(jìn).NET技術(shù),實(shí)現(xiàn)了OOA和OOD。本系統(tǒng)采用ASP.NET+ADO.NET技術(shù),協(xié)同采用SQLServer2005技術(shù),在設(shè)計(jì)和實(shí)現(xiàn)過程中充分利用B/S三層架構(gòu)的優(yōu)勢(shì)來優(yōu)化系統(tǒng)結(jié)構(gòu),運(yùn)行速度快,減少了無用的網(wǎng)絡(luò)傳輸,保證了系統(tǒng)的穩(wěn)定運(yùn)行。實(shí)際應(yīng)用表明,本系統(tǒng)使用方便,執(zhí)行效率較高。參考文獻(xiàn)[1]薩師煊,王珊..北京:高等教育出版社,2007:38-135[2]施伯樂,丁寶康..北京:高等教育出版社,2006:120-145[3]張海藩..北京:清華大學(xué)出版社,2009:39-59[4]張躍廷,房大偉,蘇宇..北京:人民郵電出版社,2008:350-400[5]龔赤兵..北京:人民郵電出版社,2006:200-220[6]KarliWatson等.C#入門經(jīng)典.第3版.北京:清華大學(xué)出版社,2006:133-146[7.NET2.0編程指南.北京:人民郵電出版社,2007:58-68[8]陳剛.CSS標(biāo)準(zhǔn)網(wǎng)頁(yè)布局開發(fā)指南.北京:清華大學(xué)出版社,2007:102-113[9]網(wǎng)冠科技.ASP.NET2.0+SQLServer2005網(wǎng)絡(luò)應(yīng)用編程二合一百例.北京:機(jī)械工業(yè)出版社,2007:123-135[10]MichaelOtey,DenielleOtey.MicrosoftSQLServer2005開發(fā)指南.北京:清華大學(xué)出版社,2007:58-76[11]張?chǎng)?CSS代碼效果對(duì)比學(xué)習(xí).北京:中國(guó)青年出版社,2007:45-60[12]JasonBeaird等.完美網(wǎng)頁(yè)設(shè)計(jì)藝術(shù).北京:人民郵電出版社,2008:32-42[13]雷波,閆琳,:科學(xué)出版社,2008:66-76[14]龐婭娟,房大偉,呂雙.ASP.NET從入門到精通.北京:清華大學(xué)出版社,2010.7:123-130[15]張躍廷,蘇宇,貫偉.ASP.NET程序開發(fā)范例寶典:C#.北京:人民郵電出版社,2009:56-66[16]德萊尼,金成姬,陳紹英.MicrosoftSQLServer2005技術(shù)內(nèi)幕:查詢、調(diào)整和優(yōu)化.北京:電子工業(yè)出版社,2009:112-130[17]郝安林,許勇,康會(huì)光.SQLServer2005基礎(chǔ)教程與實(shí)驗(yàn)指導(dǎo).北京:清華大學(xué)出版社,2008:78-88[18]王欣,徐騰飛,唐連章.SQLServer2005數(shù)據(jù)挖掘?qū)嵗治?北京:中國(guó)水利水電出版社,2008:35-48致謝經(jīng)過一階段時(shí)間的不懈努力,我的畢業(yè)設(shè)計(jì)終于結(jié)束了。畢業(yè)設(shè)計(jì)的結(jié)束也標(biāo)志著我大學(xué)生活的完結(jié)。經(jīng)過了大學(xué)的洗禮,我發(fā)現(xiàn)我自己成熟了許多,長(zhǎng)大了許多。這不僅表現(xiàn)在學(xué)習(xí)上的進(jìn)步,還表現(xiàn)在思想上的改變。總之,對(duì)我來說是受益良多。大學(xué)時(shí)光真的是我人生最寶貴的財(cái)富。這一切的一切和大家對(duì)我的支持與幫助是分不開的。特別是老師對(duì)我的幫助,實(shí)在是太多了。比如說這次畢業(yè)設(shè)計(jì),老師對(duì)我的幫助真的是非常非常多。在這次畢業(yè)設(shè)計(jì)的過程中,從選題到開題報(bào)告,從寫作提綱,到一遍又一遍地指出論文中的具體問題,嚴(yán)格把關(guān),循循善誘,在此我表示衷心感謝。同時(shí)我還要感謝在我學(xué)習(xí)期間給我極大關(guān)心和支持的各位老師以及關(guān)心我的同學(xué)和朋友。最后,我最應(yīng)該感謝的應(yīng)該是我的母校,遼寧工業(yè)大學(xué),感謝母校給我提供了這么好的學(xué)習(xí)生活環(huán)境,讓我在這里快樂的成長(zhǎng)、學(xué)習(xí),真的很感謝。謝謝。附錄外文資料CHAPTER8ErrorHandling,Logging,andTracingNosoftwarecanrunfreefromerror,andASP.NETapplicationsarenoexception.Soonerorlateryourcodewillbeinterruptedbyaprogrammingmistake,invaliddata,unexpectedcircumstances,orevenhardwarefailure.Noviceprogrammersspendsleeplessnightsworryingabouterrors.Professionaldevelopersrecognizethatbugsareaninherentpartofsoftwareapplicationsandcodedefensively,testingassumptions,loggingproblems,andwritingerrorhandlingcodetodealwiththeunexpected.Inthischapter,you’lllearntheerror-handlinganddebuggingpracticesthatyoucanusetodefendyourASP.NETapplicationsagainstcommonerrors,trackuserproblems,andsolvemysteriousissues.You’lllearnhowtousestructuredexceptionhandling,howtouselogstokeeparecordofunrecoverableerrors,andhowtosetupwebpageswithcustomerrormessagesforcommonHTTPerrors.You’llalsolearnhowtousepagetracingtoseediagnosticinformationaboutASP.NETpages.CommonErrorsErrorscanoccurinavarietyofsituations.Someofthemostcommoncausesoferrorsincludeattemptstodividebyzero(usuallycausedbyinvalidinputormissinginformation)andattemptstoconnecttoalimitedresourcesuchasafileoradatabase(whichcanfailifthefiledoesn’texist,thedatabaseconnectiontimesout,orthecodehasinsufficientsecuritycredentials).Oneinfamoustypeoferroristhenullreferenceexception,whichusuallyoccurswhenaprogramattemptstouseanuninitializedobject.Asa.NETprogrammer,you’llquicklylearntorecognizeandresolvethiscommonbutannoyingmistake.Thefollowingcodeexampleshowstheprobleminaction,withtwoSqlConnectionobjectsthatrepresentdatabaseconnections://DefineavariablenamedconOneandcreatetheobject.privateSqlConnectionconOne=newSqlConnection();//DefineavariablenamedconTwo,butdon'tcreatetheobject.privateSqlConnectionconTwo;publicvoidcmdDoSomething_Click(objectsender,EventArgse){//Thisworks,becausetheobjecthasbeencreated//withthenewkeyword.conOne.ConnectionString="...";...//Thefollowingstatementwillfai

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

評(píng)論

0/150

提交評(píng)論