軟件工程網(wǎng)絡(luò)BBS 的設(shè)計與實現(xiàn)過程_第1頁
軟件工程網(wǎng)絡(luò)BBS 的設(shè)計與實現(xiàn)過程_第2頁
軟件工程網(wǎng)絡(luò)BBS 的設(shè)計與實現(xiàn)過程_第3頁
軟件工程網(wǎng)絡(luò)BBS 的設(shè)計與實現(xiàn)過程_第4頁
軟件工程網(wǎng)絡(luò)BBS 的設(shè)計與實現(xiàn)過程_第5頁
已閱讀5頁,還剩46頁未讀 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

本科生畢業(yè)設(shè)計(論文)PAGEIV摘要論壇提供一塊公共電子白板,每個用戶都可以在上面書寫,可發(fā)布信息或提出看法。用戶在BBS站點上可以獲得各種信息服務(wù),發(fā)布信息,進行討論,聊天等等。本文討論了一個網(wǎng)絡(luò)BBS的設(shè)計與實現(xiàn)過程,詳細地講述了開發(fā)一個基于Web的BBS網(wǎng)站系統(tǒng)所涉及到的技術(shù)和方法。系統(tǒng)使用MicrosoftVisualStudio2005為前臺開發(fā)工具,以SQLServer2005為數(shù)據(jù)庫平臺,根據(jù)面向?qū)ο箝_發(fā)原理,采用了基于B/S結(jié)構(gòu)的開發(fā)模式來開發(fā)本系統(tǒng)。其中主要運用了ASP.NET平臺,ADO.NET連接數(shù)據(jù)庫技術(shù),使用C#語言編寫。具有一般的BBS所共有的一些功能。包括用戶的注冊登錄、論壇公告和短消息的發(fā)布、論壇社區(qū)的討論、論壇的友情鏈接、后臺數(shù)據(jù)庫信息的管理維護等基本模塊。BBS論壇的存在使得地球村的概念離我們越來越近,使得人與人之間的溝通、交流變得格外的容易。特別是在IT領(lǐng)域,只有有了很好的交流,技術(shù)才會得到進步。因此,掌握如何設(shè)計并開發(fā)一個論壇管理系統(tǒng)也顯得格外的重要,而且意義深遠。關(guān)鍵詞:BBS論壇;B/S結(jié)構(gòu);ASP.NET2.0;ADO.NET

AbstractForumsprovidesacommonelectronicwhiteboard,andeachusercanwriteon,orputforwardtheirviewsmayreleaseinformation.BBSsiteusersavarietyofinformationservicesavailable,releaseinformation,discussions,andchat.ThisarticlediscussesanetworkdesignandimplementationofBBSindetailaboutthedevelopmentofaWeb-basedBBSwebsitesysteminvolvedinthetechnologyandmethods.SystemusesMicrosoftVisualStudio2005developmenttoolsforthefronttoSQLServer2005databaseplatform,accordingtoprinciplesofobject-orientedevelopment,adoptedbasedonB/Sstructureofthedevelopmentmodeltodevelopthesystem.ThemainuseoftheASP.NETplatform,ADO.NETdatabaseconnections,usetheC#language.Thepaperdetailsthesystemanalysis,systemdesignmethodsappliedintheactualdevelopmentofthesystem,andsummarizessomeofthedevelopmentprocessexperienceandunderstanding.BBSForummakestheexistenceoftheconceptofglobalvillagecloserandcloser,makingcommunicationbetweenpeople,communicationbecomesparticularlyeasy.EspeciallyintheITfield,onlyaverygoodexchange,technologywillbprogress.Therefore,masteringhowtodesignanddevelopaforumformanagementsystemsisparticularlyimportant,andfar-reaching.Keywords:BBSForum;B/Sstructure;ASP.NET2.0;ADO.NET

目錄TOC\o"1-3"\f\h\z第1章緒論 11.1開發(fā)背景 11.2系統(tǒng)目標 11.3BBS對大學(xué)生學(xué)習(xí)生活的影響 2第2章關(guān)鍵技術(shù)介紹 32.1IFrame框架技術(shù) 32.2第3方組件FreeTextBox 32.2.1FreeTextBox的作用 32.2.2FreeTextBox的使用方法 32.3ADO.NET技術(shù) 42.4Transact-SQL技術(shù) 62.5JavaScript腳本語言 62.6ASP.NET技術(shù) 7第3章需求分析 83.1需求概述 83.2系統(tǒng)用例圖 83.3系統(tǒng)關(guān)鍵領(lǐng)域類 10第4章系統(tǒng)概述 114.1系統(tǒng)介紹 114.2主要功能 114.3主要模塊介紹 114.3.1主頁面 114.3.2論壇注冊模塊 124.3.3論壇登錄模塊 134.3.4論壇版塊選擇模塊 134.3.5帖子發(fā)表模塊 14第5章系統(tǒng)分析 155.1BBS論壇管理系統(tǒng)的技術(shù)可行性分析 155.2系統(tǒng)結(jié)構(gòu) 175.3系統(tǒng)開發(fā)環(huán)境 17第6章系統(tǒng)設(shè)計 186.1系統(tǒng)總體設(shè)計 186.2數(shù)據(jù)庫設(shè)計 196.2.1數(shù)據(jù)庫需求分析 196.2.2數(shù)據(jù)表的結(jié)構(gòu) 216.2.3數(shù)據(jù)表之間關(guān)系圖 236.2.4數(shù)據(jù)庫操作類設(shè)計 246.3論壇注冊設(shè)計 256.4論壇登錄設(shè)計 266.5帖子標題顯示設(shè)計 276.6新帖子發(fā)表模塊設(shè)計 27第7章系統(tǒng)實現(xiàn) 287.1發(fā)表帖子的實現(xiàn) 287.1.1實現(xiàn)的關(guān)鍵技術(shù) 287.1.2功能實現(xiàn) 287.1.3主要相關(guān)代碼 287.2瀏覽帖子的實現(xiàn) 307.2.1實現(xiàn)的關(guān)鍵技術(shù) 307.2.2功能實現(xiàn) 307.2.3主要相關(guān)代碼 30第8章系統(tǒng)測試 328.1測試方案及測試用例 328.1.1測試方法介紹 328.1.2單元測試 338.2測試總結(jié) 33第9章結(jié)論 34參考文獻 35致謝 36附錄 37PAGE22緒論開發(fā)背景BBS是在1992年底隨著國際互聯(lián)網(wǎng)的開始流行而迅速發(fā)展起來的?;ヂ?lián)網(wǎng)的產(chǎn)生使得以前只能在本地訪問的BBS可以被全世界隨意訪問,這對大多數(shù)人來說是極具誘惑力的。BBS是一個有多人參加的討論系統(tǒng),在BBS上大家可以對一個共同感興趣的問題進行討論,自由地發(fā)表自己的意見與觀點,并且能直接與其他的人進行溝通。按照網(wǎng)站的性質(zhì)以及服務(wù)對象來分,迄今有以下幾種類型:一是校園BBS。校園BBS作為主要的集中地,在BBS領(lǐng)域具有舉足輕重的地位。由于校園BBS的繁榮,吸引了很多的社會人士參與。二是專業(yè)BBS。一般是由各個著名的大公司組建,人們可以利用其交流自己對商品的看法,更為重要的是可以解決商品使用中的問題。三是商業(yè)BBS。它是由ISP建立的BBS站點,這類BBS站點各種信息比較多,內(nèi)容相當豐富。四是小型局域BBS。一般是由個人或小型集體建立,為小范圍信息交流服務(wù)。五是業(yè)余BBS。一般由BBS愛好者個人利用一些免費空間辦的BBS,目的是為廣大網(wǎng)友提供一個在某些專業(yè)上的交流場所。六是新聞媒體BBS。是由新聞媒體網(wǎng)站設(shè)立的,為廣大網(wǎng)友提供對新聞信息進行評論、發(fā)表意見和觀點的場所。隨著互聯(lián)網(wǎng)事業(yè)的蓬勃發(fā)展。BBS,這個具有強大實時交互功能,信息交流的平臺,使人們不再像電視觀眾、電臺聽眾、報紙雜志讀者一樣只是被動地觀看、收聽、閱讀,而是可以積極而及時地參與討論,在了解他人觀點意見的同時也可以發(fā)表自己的看法。BBS論壇系統(tǒng)是為了方便大家的溝通和獲取信息而開發(fā)的系統(tǒng)。我們利用ASP.NET知識和SQLServer2005開發(fā)BBS論壇管理系統(tǒng)。該系統(tǒng)以Internet為平臺,前臺可使任何人注冊、登錄、登錄在論壇上進行發(fā)帖、回帖、瀏覽帖子等。管理員也可以在后臺對帖子、版塊、用戶等進行相關(guān)的管理。一個小型BBS論壇系統(tǒng)的前臺功能主要包括瀏覽搜索帖子、用戶登陸注冊、發(fā)表回復(fù)帖子、個人資料管理和帖子管理;后臺功能主要包括用戶管理、論壇版塊管理和帖子管理等。系統(tǒng)目標開發(fā)本系統(tǒng)意在吸納大部分游離在眾多論壇的大學(xué)生,達到校內(nèi)網(wǎng)等論壇的目標。系統(tǒng)開發(fā)的總?cè)蝿?wù)是實現(xiàn)文章的成功發(fā)表,留言的發(fā)布與回復(fù)。從而達到用戶之間信息交流的目的。系統(tǒng)主要面向兩類用戶:用戶和系統(tǒng)管理員。用戶可以先注冊,然后在網(wǎng)站里發(fā)表文章、留言等。系統(tǒng)管理員可以對用戶的信息進行增添和刪除及修改,對版塊進行增加、刪除和修改操作;還可以對網(wǎng)站進行修改與維護。BBS對大學(xué)生學(xué)習(xí)生活的影響1.BBS提供了豐富的網(wǎng)絡(luò)學(xué)習(xí)資源論壇是一個經(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促進了協(xié)作學(xué)習(xí)基于網(wǎng)絡(luò)的論壇社區(qū)也是各種學(xué)習(xí)資源組合的場所,為學(xué)習(xí)者提供了學(xué)習(xí)環(huán)境。作為一個學(xué)生參與論壇的網(wǎng)絡(luò)活動可包括許多種學(xué)習(xí)的意義,在特定板塊內(nèi),論壇參與者圍繞某個話題或者問題,通過發(fā)表、回復(fù)話題、版面討論、站內(nèi)信件等方式進行互動討論、相互探討,形成了一種以學(xué)習(xí)者為中心的學(xué)習(xí)方式。從教育網(wǎng)內(nèi)人氣排名前十名的論壇的網(wǎng)友參與的情況來看,在各大學(xué)習(xí)板塊里,基本上每張?zhí)犹岢龅膯栴}都可以得到網(wǎng)友友好的、認真的回復(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í)地點、學(xué)習(xí)時間、學(xué)習(xí)方法和學(xué)習(xí)內(nèi)容。在論壇里,學(xué)生可以自主地圍繞學(xué)習(xí)問題,通過發(fā)帖、回復(fù)的形式提出討論,尋求解答幫助,提高了學(xué)習(xí)的積極性和自主學(xué)習(xí)的能力。關(guān)鍵技術(shù)介紹IFrame框架技術(shù)框架是在網(wǎng)頁設(shè)計中經(jīng)常用到的一種技術(shù),通過在HTML網(wǎng)頁文檔中使用<frame></frame>標記,就可以將一個頁面拆分成多個區(qū)域,每個區(qū)域稱為一個框架,一般情況下每一個框架中都會放置一個網(wǎng)頁,這些網(wǎng)頁間可以相互獨立,也可以有所關(guān)聯(lián)??蚣軆?nèi)的網(wǎng)頁以一種平鋪的形式充滿了整個頁面空間。但在網(wǎng)頁設(shè)計中,也會經(jīng)常遇到在一個網(wǎng)頁中引用另外一個網(wǎng)頁的情況,即在一個網(wǎng)頁中開辟一塊區(qū)域用于放置其他網(wǎng)頁,彷佛形成了一種“畫中畫”的效果。這種功能就是利用嵌入式框架(IFrame)技巧實現(xiàn)的。嵌入其他網(wǎng)頁的初始頁面稱為父框架,嵌入到父框架內(nèi)的頁面稱為子框架或嵌入框架。這種網(wǎng)頁的嵌入技術(shù)不僅在很大程度上豐富了網(wǎng)頁的布局設(shè)計,同時也可以方便地實現(xiàn)多種復(fù)雜的網(wǎng)頁特效。嵌入式框架(IFrame)是框架的一種標記,在頁面設(shè)計中經(jīng)常用到。IFrame標記又叫浮動幀標記,使用IFrame可以將一個文檔嵌入在另一個文檔中顯示,可以隨處引用不拘泥網(wǎng)頁的布局限制。在當今互聯(lián)網(wǎng)網(wǎng)絡(luò)廣告橫行的時代,IFrame更是無孔不入,將嵌入的文檔與整個頁面的內(nèi)容相互融合,形成了一個整體。與框架相比,內(nèi)嵌框架Iframe更容易對網(wǎng)站的導(dǎo)航進行控制,最大的優(yōu)點在于其靈活性。第3方組件FreeTextBoxFreeTextBox的作用FreeTextBox是一個基于InternetExplorer中MSHTML技術(shù)的ASP.NET開源服務(wù)器控件。這是一款優(yōu)秀的自由軟件(FreeSoftware),我們可以輕松地將其嵌入到WebForms中實現(xiàn)HTML內(nèi)容的在線編輯,在新聞發(fā)布、博客寫作、論壇社區(qū)等多種Web系統(tǒng)中都會有用途。FreeTextBox的使用方法步驟1:從網(wǎng)上下載FreeTextBox控件,解壓。步驟2:在VS2005編輯器中可通過工具>選擇工具箱項>.NETFramework組件>瀏覽并選定FreeTextBox.dll后按確定控件將默認顯示在VS2005編輯器工具箱的常規(guī)選項卡(可自行將控件拉到標準選項卡中),也可以直接在工具箱的標準選項卡列標頭或所屬列任何控件上右擊>選擇項>.NETFramework組件>瀏覽并選定FreeTextBox.dll后即可直接將控件加入標準選項卡。這樣以后只要在常規(guī)選項卡或標準選項卡中將FreeTextBox控件直接拖放到項目的設(shè)計頁面即可完成控件的調(diào)用。步驟3:將FreeTextBox目錄拷貝到所在項目里。ADO.NET技術(shù)ADO.NET的名稱起源于ADO(ActiveXDataObjects),這是一個廣泛的類組,用于在以往的Microsoft技術(shù)中訪問數(shù)據(jù)。之所以使用ADO.NET名稱,是因為Microsoft希望表明,這是在.NET編程環(huán)境中優(yōu)先使用的數(shù)據(jù)訪問接口。它提供了平臺互用性和可伸縮的數(shù)據(jù)訪問。ADO.NET增強了對非連接編程模式的支持,并支持RICHXML。由于傳送的數(shù)據(jù)都是XML格式的,因此任何能夠讀取XML格式的應(yīng)用程序都可以進行數(shù)據(jù)處理。事實上,接受數(shù)據(jù)的組件不一定要是ADO.NET組件,它可以是基于一個MicrosoftVisualStudio的解決方案,也可以是任何運行在其它平臺上的任何應(yīng)用程序。ADO.NET是一組用于和數(shù)據(jù)源進行交互的面向?qū)ο箢悗臁MǔG闆r下,數(shù)據(jù)源是數(shù)據(jù)庫,但它同樣也能夠是文本文件、Excel表格或者XML文件。ADO.NET允許和不同類型的數(shù)據(jù)源以及數(shù)據(jù)庫進行交互。然而并沒有與此相關(guān)的一系列類來完成這樣的工作。因為不同的數(shù)據(jù)源采用不同的協(xié)議,所以對于不同的數(shù)據(jù)源必須采用相應(yīng)的協(xié)議。一些老式的數(shù)據(jù)源使用ODBC協(xié)議,許多新的數(shù)據(jù)源使用OleDb協(xié)議,并且現(xiàn)在還不斷出現(xiàn)更多的數(shù)據(jù)源,這些數(shù)據(jù)源都可以通過.NET的ADO.NET類庫來進行連接。ADO.NET提供與數(shù)據(jù)源進行交互的相關(guān)的公共方法,但是對于不同的數(shù)據(jù)源采用一組不同的類庫。這些類庫稱為DataProviders,并且通常是以與之交互的協(xié)議和數(shù)據(jù)源的類型來命名的。ADO.NET包含的對象:SqlConnection對象和數(shù)據(jù)庫交互,你必須連接它。連接幫助指明數(shù)據(jù)庫服務(wù)器、數(shù)據(jù)庫名字、用戶名、密碼,和連接數(shù)據(jù)庫所需要的其它參數(shù)。Connection對象會被Command對象使用,這樣就能夠知道是在哪個數(shù)據(jù)庫上面執(zhí)行命令。與數(shù)據(jù)庫交互的過程意味著你必須指明想要發(fā)生的操作。這是依靠Command對象執(zhí)行的。你使用Command對象來發(fā)送SQL語句給數(shù)據(jù)庫。Command對象使用Connection對象來指出與哪個數(shù)據(jù)庫進行連接。你能夠單獨使用Command對象來直接執(zhí)行命令,或者將一個Command對象的引用傳遞給SqlDataAdapter,它保存了一組能夠操作下面描述的一組數(shù)據(jù)的命令。SqlDataReader對象許多數(shù)據(jù)操作要求你只是讀取一串數(shù)據(jù)。DataReader對象允許你獲得從Command對象的SELECT語句得到的結(jié)果??紤]性能的因素,從DataReader返回的數(shù)據(jù)都是快速的且只是“向前”的數(shù)據(jù)流。這意味著你只能按照一定的順序從數(shù)據(jù)流中取出數(shù)據(jù)。這對于速度來說是有好處的,但是如果你需要操作數(shù)據(jù),更好的辦法是使用DataSet。DataSet對象DataSet對象是數(shù)據(jù)在內(nèi)存中的表示形式。它包括多個DataTable對象,而DataTable包含列和行,就象一個普通的數(shù)據(jù)庫中的表。你甚至能夠定義表之間的關(guān)系來創(chuàng)建主從關(guān)系(parent-childrelationships)。DataSet是在特定的場景下使用——幫助管理內(nèi)存中的數(shù)據(jù)并支持對數(shù)據(jù)的斷開操作的。DataSet是被所有DataProviders使用的對象,因此它并不像DataProvider一樣需要特別的前綴。SqlDataAdapter對象某些時候你使用的數(shù)據(jù)主要是只讀的,并且你很少需要將其改變至底層的數(shù)據(jù)源。同樣一些情況要求在內(nèi)存中緩存數(shù)據(jù),以此來減少并不改變的數(shù)據(jù)被數(shù)據(jù)庫調(diào)用的次數(shù)。DataAdapter通過斷開模型來幫助你方便的完成對以上情況的處理。當在一單批次的對數(shù)據(jù)庫的讀寫操作的持續(xù)的改變返回至數(shù)據(jù)庫的時候,DataAdapter填充(fill)DataSet對象。DataAdapter包含對連接對象以及當對數(shù)據(jù)庫進行讀取或者寫入的時候自動的打開或者關(guān)閉連接的引用。另外,DataAdapter包含對數(shù)據(jù)的SELECT,INSERT,UPDATE和DELETE操作的Command對象引用。你將為DataSet中的每一個Table都定義DataAdapter,它將為你照顧所有與數(shù)據(jù)庫的連接。所有你將做的工作是告訴DataAdapter什么時候裝載或者寫入到數(shù)據(jù)庫??偨Y(jié):ADO.NET是與數(shù)據(jù)源交互的.NET技術(shù)。有許多的DataProviders,它將允許與不同的數(shù)據(jù)源交流――取決于它們所使用的協(xié)議或者數(shù)據(jù)庫。然而無論使用什么樣的DataProvider,你將使用相似的對象與數(shù)據(jù)源進行交互。SqlConnection對象管理與數(shù)據(jù)源的連接。SqlCommand對象允許你與數(shù)據(jù)源交流并發(fā)送命令給它。為了對進行快速的只“向前”地讀取數(shù)據(jù),使用SqlDataReader。如果想使用斷開數(shù)據(jù),使用DataSet并實現(xiàn)能進行讀取或者寫入數(shù)據(jù)源的SqlDataAdapter。Transact-SQL技術(shù)T-SQL是Microsoft公司在關(guān)系型數(shù)據(jù)庫管理系統(tǒng)SQLServer中的SQL-3標準的實現(xiàn),是微軟對SQL的擴展,具有SQL的主要特點,同時增加了變量,運算符,函數(shù),流程控制和注釋等語言元素,使得其功能更加強大。T-SQL對SQLServer十分重要,SQLServer中使用圖形界面能夠完成的所有功能,都可以利用T-SQL來實現(xiàn)。使用T-SQL操作時,與SQLServer通信的所有應(yīng)用程序都通過向服務(wù)器發(fā)送T-SQL語句來進行,而與應(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ū)ο蟮膭討B(tài)類型的區(qū)分大小寫的客戶端腳本語言,主要目的是為了解決服務(wù)器端語言,比如Perl,遺留的速度問題,為客戶提供更流暢的瀏覽效果。當時服務(wù)端需要對數(shù)據(jù)進行驗證,由于網(wǎng)絡(luò)速度相當緩慢,只有28.8kbps,驗證步驟浪費的時間太多。于是Netscape的瀏覽器Navigator加入了Javascript,提供了數(shù)據(jù)驗證的基本功能。JavaScript是一種基于對象和事件驅(qū)動并具有相對安全性的客戶端腳本語言。同時也是一種廣泛用于客戶端Web開發(fā)的腳本語言,常用來給HTML網(wǎng)頁添加動態(tài)功能,比如響應(yīng)用戶的各種操作。它最初由網(wǎng)景公司的BrendanEich設(shè)計,是一種動態(tài)、弱類型、基于原型的語言,內(nèi)置支持類。JavaScript是Sun公司的注冊商標。Ecma國際以JavaScript為基礎(chǔ)制定了ECMAScript標準。JavaScript也可以用于其他場合,如服務(wù)器端編程。完整的JavaScript實現(xiàn)包含三個部分:ECMAScript,文檔對象模型,字節(jié)順序記號。Netscape公司在最初將其腳本語言命名為LiveScript來Netscape在與Sun合作之后將其改名為JavaScript。JavaScript最初受Java啟發(fā)而開始設(shè)計的,目的之一就是“看上去像Java”[2],因此語法上有類似之處,一些名稱和命名規(guī)范也借自Java。但JavaScript的主要設(shè)計原則源自Self和Scheme[3].JavaScript與Java名稱上的近似,是當時網(wǎng)景為了營銷考慮與Sun公司達成協(xié)議的結(jié)果。為了取得技術(shù)優(yōu)勢,微軟推出了JScript來迎戰(zhàn)JavaScript的腳本語言。為了互用性,Ecma國際(前身為歐洲計算機制造商協(xié)會)創(chuàng)建了ECMA-262標準(ECMAScript)?,F(xiàn)在兩者都屬于ECMAScript的實現(xiàn)。盡管JavaScript作為給非程序人員的腳本語言,而非作為給程序人員的編程語言來推廣和宣傳,但是JavaScript具有非常豐富的特性,目前JavaScript的最新版本為1.9版。ASP.NET技術(shù)ASP.NET是用于形成于Web的應(yīng)用程序的內(nèi)容豐富的編程框架。它是一種創(chuàng)建動態(tài)Web應(yīng)用程序的全新手段,它給開發(fā)人員提供了比以往更大的靈活性和更多的功能。通過把通用代碼置于控件中,并將表示邏輯和商務(wù)邏輯分離開來的嶄新方法,ASP.NET使應(yīng)用程序的開發(fā)和維護更加容易。它是Microsoft.NETFramework的組成部分,允許使用Framework支持的任何語言創(chuàng)建代碼。像JSP、PHP和ASP一樣,ASP.NET也是一種服務(wù)器端技術(shù),它可以制作動態(tài)WEB頁的內(nèi)容。VisualStudio.NET不是ASP.NET必要的組成部分,許多開發(fā)人員沒有它照樣可以開發(fā)網(wǎng)站。不過,一旦安裝了.NETFrameworkSDK,用戶就可以在任何環(huán)境下開發(fā)ASP.NET應(yīng)用程序。ASP.NET是一種用于創(chuàng)建內(nèi)容豐富的動態(tài)網(wǎng)站、WEB應(yīng)用程序和XMLWEB服務(wù)的新編程模型。ASP.NET使用編譯的、事件驅(qū)動編程模型從而提高運行速度和分離應(yīng)用程序邏輯和用戶界面。用ASP.NET可以很容易的開發(fā)基于三層架構(gòu)的B/S應(yīng)用程序。與以往的編程模型相比,這種新編程模型提供了基于組件的架構(gòu)和開發(fā)范例。需求分析需求概述在需求分析階段,我們采用UML建模,目的是捕捉系統(tǒng)的所有功能需求并加以描述,同時建立模型,分析并提取所開發(fā)系統(tǒng)的各種可以模塊化的功能以及描述它們的合作概貌。BBS系統(tǒng)的基本需求如下:(1)它是一個計算機網(wǎng)絡(luò)軟件系統(tǒng),可通過WEB瀏覽器進行訪問;(2)系統(tǒng)支持三種用戶(游客、注冊的用戶、管理員),每種用戶可使用的功能都是不同的;(3)游客只可以查看帖子;(4)游客可以通過注冊的方法變?yōu)樽杂脩?,注冊信息包括用戶名、密碼及其它附屬信息。其中用戶名是唯一的,不可與其它注冊用戶的用戶名重復(fù);(5)游客在登錄(輸入用戶名與密碼)之后,其身份變?yōu)樽杂脩?;?)注冊用戶可以查看所有舊帖子,并發(fā)新帖子;(7)注冊用戶可以回復(fù)他人或自己發(fā)表的帖子;(8)注冊用戶可以管理自己的附屬信息并修改它們;(9)管理員是管理BBS的用戶,且是一種特殊的注冊用戶;(10)管理員可以管理注冊用戶,如查看、修改、刪除注冊用戶信息;(11)管理員可以管理BBS的帖子,如刪除不合法的帖子等。系統(tǒng)用例圖在本系統(tǒng)中,通過分析,可以確認BBS中有三種角色:管理員,注冊用戶,游客。在此基礎(chǔ)上,為每個角色定義他們所能執(zhí)行的系統(tǒng)功能(用例,即每個角色的功能需求)。游客用例圖如圖3.1所示。圖3.1游客用例圖游客角色指未執(zhí)行登錄過程的系統(tǒng)進入者。游客可以查看帖子,而不能發(fā)新帖子與回復(fù)帖子。游客在登錄(輸入用戶名與密碼)后轉(zhuǎn)為注冊用戶。游客在注冊后自動執(zhí)行登錄過程,即自動轉(zhuǎn)為注冊用戶。注冊用戶用例圖如圖3.2所示。圖3.2注冊用戶用例圖注冊用戶指已經(jīng)登錄過的用戶,他們不僅可以查看帖子,還可以發(fā)新帖子、回復(fù)帖子及管理個人信息。注冊用戶在執(zhí)行用戶退出過程后變?yōu)橛慰?。管理員用例圖如圖3.3所示。圖3.3管理員用例圖管理員可視為一種特殊的注冊用戶,它不僅擁有注冊用戶的全部功能(上圖中略去這部分功能),還擁有兩個其它的功能:1,帖子管理,2,用戶管理(用戶指注冊用戶、管理員)。系統(tǒng)關(guān)鍵領(lǐng)域類分析階段的另一項工作是特定領(lǐng)域分析,以列出系統(tǒng)中的特定領(lǐng)域類。本系統(tǒng)中,通過系統(tǒng)用例分析可以發(fā)現(xiàn),本系統(tǒng)有以下關(guān)鍵的領(lǐng)域類:用戶、帖子。為了方便管理帖子,可以將帖子分為發(fā)布的帖子與回復(fù)的帖子。不同用戶對于帖子的權(quán)限不同。用戶類可以分為:已注冊的用戶信息、當前注冊的用戶。發(fā)布帖子領(lǐng)域類中的發(fā)帖人編號即用戶信息領(lǐng)域類中的用戶編號?;貜?fù)的帖子領(lǐng)域類中的回帖人編號即用戶信息領(lǐng)域類中的用戶編號?;貜?fù)的帖子領(lǐng)域類中的帖子編號即發(fā)布帖子領(lǐng)域類中的帖子編號。系統(tǒng)概述系統(tǒng)介紹“BBS論壇管理系統(tǒng)”是通用性很強的論壇系統(tǒng),集成了瀏覽帖子,發(fā)表帖子,回復(fù)帖子,刪除帖子,版塊管理,用戶注冊,用戶頭像管理等多種實用的功能。本系統(tǒng)是運用微軟可視化編程工具之一MicrosoftVisualStudio2005開發(fā)的,界面美觀大方,系統(tǒng)運行穩(wěn)定。本系統(tǒng)以SQLServer2005為數(shù)據(jù)庫。主要功能按照編程流程,把BBS論壇的模塊按照實現(xiàn)功能來劃分,包括:(1)論壇注冊模塊:用戶的基本信息的填寫。(2)論壇登錄模塊:論壇使用者的一定限制。(3)論壇版塊選擇模塊:論壇多元化,便于對帖子的管理。(4)帖子標題顯示模塊:顯示某一論壇版塊的帖子。(5)帖子回復(fù)模塊:對帖子進行回復(fù)。(6)帖子發(fā)表模塊:發(fā)表新的帖子。(7)論壇管理模塊:用戶管理,版主管理,論壇版塊管理,論壇帖子管理,頭像管理。(8)論壇主頁模塊:對論壇的全局顯示。(9)數(shù)據(jù)庫設(shè)計模塊:論壇所需要的數(shù)據(jù)。主要模塊介紹主頁面主頁面是論壇的門戶,子頁面的調(diào)用要通過主頁面實現(xiàn)。另外,主頁面還要顯示論壇最新信息、網(wǎng)站信息、廣告等信息。本系統(tǒng)是個綜合論壇,所以在主頁面中要對各類信息按類型進行分類。除此之外,論壇最新信息要實時響應(yīng)。其運行結(jié)果如圖4.1所示。圖4.1主頁面運行結(jié)果論壇注冊模塊一個論壇需要對其中的用戶進行管理,因此,一般只有授權(quán)用戶才能夠享有BBS論壇的一些基本功能,而對于一個初次登錄論壇的用戶,只有通過注冊才能夠得到基本授權(quán)。原先的論壇在發(fā)帖時,需要填寫自己的筆名。這樣對于總是重復(fù)發(fā)帖的人,總是要填寫筆名,比較麻煩。因此,論壇擴展了用戶注冊登錄功能,參與論壇的人注冊了自己的筆名和個人信息,擁有了論壇中的身份,發(fā)言時就不需要重復(fù)寫個人信息了。用戶在注冊過程中,一般需要確認論壇的基本準則和行為規(guī)范,再填寫基本的用戶信息,其中最重要的自然是用戶名和密碼,這是一個用戶在該論壇的身份象征。論壇注冊模塊運行結(jié)果如圖4.2所示。圖4.2論壇注冊模塊運行結(jié)果論壇登錄模塊想要在論壇中進行相應(yīng)的操作,不但需要用戶有在這個論壇上相應(yīng)的權(quán)限,還需要能讓論壇知道這一點,這是就是登錄模塊。用戶注冊時提供的用戶名和密碼,就像通行證一樣,獲得了論壇的認可后,才能開始在論壇之中進行操作。論壇登錄界面運行結(jié)果如圖4.3所示。圖4.3論壇登錄界面運行結(jié)果論壇版塊選擇模塊在論壇中,用戶所發(fā)表的主題類型不同,如果只在一個區(qū)域內(nèi)顯示,對用戶的查閱,和管理員的維護帶來很多的不便。為此,我們把論壇分為不同的版塊,以顯示不同類型的帖子。這樣,用戶在發(fā)表和查閱帖子時,可根據(jù)帖子類型到相應(yīng)的論壇版塊內(nèi)進行集中性的發(fā)表和查閱。管理員在維護論壇時也可以節(jié)省很多不必要的時間開銷。論壇版塊運行結(jié)果如圖4.4所示(音樂空間版塊)。圖4.4論壇區(qū)模塊運行結(jié)果帖子發(fā)表模塊這個模塊的主要功能就是提供給用戶一個發(fā)表自己的帖子的功能。用戶在登錄之后,通過填寫相應(yīng)的內(nèi)容,如帖子標題、帖子內(nèi)容等,就能在論壇中的標題列表中找到自己的帖子。帖子發(fā)布模塊運行結(jié)果如圖所示4.5所示。圖4.5帖子發(fā)表運行結(jié)果系統(tǒng)分析BBS論壇管理系統(tǒng)的技術(shù)可行性分析BBS論壇管理系統(tǒng)就是提供給注冊用戶一個平臺,會員用戶可以通過Internet接入,登錄本系統(tǒng),在這個平臺上發(fā)表帖子、閱讀帖子、回復(fù)帖子等等。此類系統(tǒng)通常有以下四種類型的操作用戶:游客用戶、普通用戶、版主、管理員。每類用戶有其不同的操作集,系統(tǒng)通常提供一個統(tǒng)一的登錄頁面,此頁面應(yīng)能自動識別不同級別的用戶,并提供不同的操作界面。與之相應(yīng),此類系統(tǒng)通常應(yīng)具有以下功能:用戶注冊、用戶登錄、發(fā)表帖子、閱讀帖子、回復(fù)帖子、個人資料維護、版塊管理、版主管理、用戶管理等等,所有操作都可以由用戶在客戶端瀏覽器中完成,而服務(wù)器端程序會按用戶的要求來完成對系統(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)的一種變化或者改進的結(jié)構(gòu)。C/S結(jié)構(gòu),即Client/Server(客戶機/服務(wù)器)結(jié)構(gòu),是大家熟知的軟件系統(tǒng)體系結(jié)構(gòu),通過將任務(wù)合理分配到Client端和Server端,降低了系統(tǒng)的通訊開銷,可以充分利用兩端硬件環(huán)境的優(yōu)勢。早期的軟件系統(tǒng)多以此作為首選設(shè)計標準。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)了原來需要復(fù)雜專用軟件才能實現(xiàn)的強大功能,并節(jié)約了開發(fā)成本,是一種全新的軟件系統(tǒng)構(gòu)造技術(shù)。將應(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)新程序之開發(fā)的結(jié)構(gòu)。下面就是3-Tier結(jié)構(gòu)各層功能以及經(jīng)常采用的技術(shù)作個簡介:表示層主要運行于客戶端瀏覽器,采用Script(腳本)語言編寫。HTML、JavaScript、VBScript是此類應(yīng)用系統(tǒng)中展示層最常用的腳本編制語言,結(jié)合CCS以及ActiveX技術(shù),能設(shè)計出交互相當靈活功能又相當強大的客戶端網(wǎng)頁。事務(wù)邏輯層設(shè)計通常有三個選擇:ASP.NET網(wǎng)頁、COM或COM+組件、DBMS中所執(zhí)行的預(yù)存程序。將程序代碼的一部分,建立成執(zhí)行于數(shù)據(jù)庫管理系統(tǒng)(DBMS)中的預(yù)存程序,使數(shù)據(jù)與程序代碼儲存在相同的位置,有助于最佳化執(zhí)行效率,但是,預(yù)存程序都依賴于特定的數(shù)據(jù)庫系統(tǒng),在編寫和偵錯方面都相當復(fù)雜,只適宜于大型的商業(yè)應(yīng)用系統(tǒng)。以COM對象的方式,編寫中間層(MiddleTier)事務(wù)邏輯,可以使用全功能的語言,來產(chǎn)生經(jīng)過編譯的執(zhí)行程序,執(zhí)行效率也相當高,此外,在COM對象中包裝事務(wù)邏輯,還可以清楚地將此程序代碼與網(wǎng)頁內(nèi)含的展示程序代碼分隔,這樣可以使應(yīng)用程序更易于維護,但是,COM對象的部署也有一定的麻煩,新編寫的組件對象,只有在服務(wù)器重新啟動后才能被應(yīng)用程序調(diào)用。用ASP.NET網(wǎng)頁設(shè)計事務(wù)邏輯相對來說比較簡單,但是,ASP.NET網(wǎng)頁采用腳本語言來編寫事務(wù)邏輯,比如VBScript,程序代碼只有在執(zhí)行時才被翻譯,這樣會降低執(zhí)行效能,此外,ASP.NET網(wǎng)頁中的程序代碼也是難以維護的,因為事務(wù)邏輯程序代碼與建立使用者接口的展示程序代碼彼此混雜在一起。數(shù)據(jù)層較為靈活,視系統(tǒng)規(guī)??蛇x擇Sybase、Oracle、MySQL、SQLserver或者MSAccess。綜上所述,結(jié)合本系統(tǒng)實際需要,本系統(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平臺,特別是個人用戶想在一些免費主頁空間搭建自已的論壇,而這類免費主頁空間通常只支持ASP.NET來處理服務(wù)器端數(shù)據(jù)或數(shù)據(jù)庫,另外,通用系統(tǒng)應(yīng)該具備較大的可擴展性。因此,本系統(tǒng)事務(wù)邏輯層設(shè)計采用ASP.NET網(wǎng)頁;至于數(shù)據(jù)層,本系統(tǒng)采用最基本的SQLServer2005數(shù)據(jù)庫系統(tǒng)。本系統(tǒng)的開發(fā)環(huán)境和開發(fā)工具為:WindowsXP,VisualStudio2005,SQLServer2005。系統(tǒng)結(jié)構(gòu)根據(jù)論壇系統(tǒng)的情況和要求,設(shè)計系統(tǒng)結(jié)構(gòu)如圖5.1所示。圖5.1系統(tǒng)結(jié)構(gòu)圖系統(tǒng)開發(fā)環(huán)境系統(tǒng)開發(fā)平臺:MicrosoftVisualStudio2005數(shù)據(jù)庫管理系統(tǒng)軟件:SQLServer2005運行平臺:WindowsXP系統(tǒng)設(shè)計設(shè)計階段的任務(wù)是通過綜合考慮各個功能間關(guān)聯(lián),以擴展和細化分析階段的模型。設(shè)計的目的是指明一種易轉(zhuǎn)化成代碼的工作方案,是對分析工作的細化,即進一步細化分析階段所得出的系統(tǒng)用例與關(guān)鍵領(lǐng)域類。本階段建模的目的是將分析階段的模型擴展和轉(zhuǎn)化為可行的技術(shù)實現(xiàn)方案,本系統(tǒng)中將系統(tǒng)用例細化為需求活動圖、為關(guān)鍵領(lǐng)域類擴展為系統(tǒng)數(shù)據(jù)模型,并提供接口函數(shù)。系統(tǒng)總體設(shè)計系統(tǒng)總體分為三個部分:第一部分是客戶端(即瀏覽器)部分;第二部分是WEB服務(wù)器部分(包括HTML頁面和.NET架構(gòu)部分);第三部分是數(shù)據(jù)庫服務(wù)器端部分;用戶通過瀏覽器操作將頁面?zhèn)鹘oWEB服務(wù)器,在WEB服務(wù)器中,.NET是一種先進的建立在通用語言上的程序構(gòu)架,能被用于一臺Web服務(wù)器來建立強大的Web應(yīng)用程序,.NET提供許多比現(xiàn)在的Web開發(fā)模式強大的優(yōu)勢。通常ASP.NET直接建立于Web服務(wù)器中,并且是作為Web服務(wù)器的一個服務(wù)運行,支持多用戶,多線程。它擁有強有力的會話管理機制,可以實現(xiàn)各請求之間的信息共享,提高系統(tǒng)運行效率。數(shù)據(jù)庫服務(wù)器端將處理的結(jié)果以用戶需要的數(shù)據(jù)格式返回給中間層Web服務(wù)器,Web服務(wù)器將操作結(jié)果通過HTML頁面的形式顯示給用戶,系統(tǒng)結(jié)構(gòu)流程如圖5.1所示。圖6.1基于B/S的系統(tǒng)結(jié)構(gòu)流程本系統(tǒng)采用的是三層的B/S結(jié)構(gòu)模式開發(fā),ASP.NET結(jié)構(gòu)也是一個三層的系統(tǒng):包括UI層、業(yè)務(wù)邏輯層和數(shù)據(jù)層。其中:UI層負責(zé)與用戶交互,接收用戶的輸入并將服務(wù)器端傳來的數(shù)據(jù)呈現(xiàn)給客戶。業(yè)務(wù)邏輯層負責(zé)接收瀏覽器傳來的請求并將請求傳給數(shù)據(jù)層,同時將請求處理結(jié)果發(fā)給瀏覽器。它由Web表單、XMLWeb服務(wù)和組件服務(wù)組成。其中Web表單是ASP.NET應(yīng)用程序的核心所在,它是向客戶呈現(xiàn)數(shù)據(jù)和信息的基礎(chǔ),也是響應(yīng)和處理客戶請求服務(wù)的基礎(chǔ)。數(shù)據(jù)層是通過ADO.NET操縱數(shù)據(jù)為事務(wù)邏輯層提供數(shù)據(jù)服務(wù),如存儲數(shù)據(jù)操作結(jié)果、返回數(shù)據(jù)檢索結(jié)果等。數(shù)據(jù)庫設(shè)計數(shù)據(jù)庫需求分析根據(jù)論壇所需要實現(xiàn)的功能,對其數(shù)據(jù)庫的需求進行分析,得到以下結(jié)論:要存儲的內(nèi)容包括用戶信息,帖子信息、回復(fù)信息、論壇版塊信息。一個用戶可以發(fā)表多個帖子。一個用戶可以回復(fù)多個帖子。一個帖子或者一個回復(fù)都只對應(yīng)一個用戶。一個帖子可以對應(yīng)多個回復(fù)。經(jīng)過以上分析,設(shè)計如下數(shù)據(jù)庫:用戶信息:包括用戶名、密碼等一系列確認用戶身份的信息。帖子信息:包括該論壇中所有帖子的標題、內(nèi)容、作者、發(fā)表時間等,并且要能把每一個帖子與相應(yīng)的論壇版塊相應(yīng)的對應(yīng)起來?;靥畔ⅲ喊ㄔ撜搲兴械幕貜?fù)信息,包括回復(fù)內(nèi)容、作者、回復(fù)時間等,并且要能把每一條回復(fù)信息與其回復(fù)的帖子信息相應(yīng)對應(yīng)起來。論壇版塊信息:包括該論壇中所有版塊的標題、說明、帖子數(shù)、回復(fù)數(shù)、版主等一系列信息。圖3.1至圖3.4是系統(tǒng)中涉及到的實體及屬性圖用戶信息用戶信息地址用戶名密碼性別出生日期E-mail聯(lián)系電話身份證號碼圖3.1用戶信息E-R圖帖子信息帖子信息內(nèi)容標題作者提交日期通過審核日期對應(yīng)的板塊帖子回復(fù)情況帖子排名發(fā)貼人簽名發(fā)貼人信息積分圖3.2帖子信息E-R圖回帖信息回帖信息內(nèi)容時間日期對應(yīng)的帖子圖3.3回帖信息E-R圖版塊信息版塊信息標題說明帖子數(shù)版主信息圖3.4版塊信息E-R圖系統(tǒng)的整體E-R圖如圖3.5所示。數(shù)據(jù)表的結(jié)構(gòu)在程序開發(fā)過程中,設(shè)計數(shù)據(jù)庫的表結(jié)構(gòu)是非常重要的一個環(huán)節(jié)。一個設(shè)計良好的數(shù)據(jù)庫結(jié)構(gòu),可以提高效率,方便維護,并且為以后進行功能的擴展留有余地。這就好比高樓大廈一樣,有穩(wěn)固的基礎(chǔ),才能有優(yōu)秀的成果。下面設(shè)計論壇的數(shù)據(jù)庫。通過數(shù)據(jù)表的關(guān)系、詳細字段結(jié)構(gòu)。以及相關(guān)的數(shù)據(jù)庫擴展設(shè)計由淺入深講解,并對主要的數(shù)據(jù)庫表結(jié)構(gòu)及數(shù)據(jù)庫關(guān)系圖進行詳細的介紹。本系統(tǒng)采用SQLServer2005數(shù)據(jù)庫系統(tǒng),在該系統(tǒng)中新建一個數(shù)據(jù)庫,將其命名為db_BBS。本系統(tǒng)中共用到7個數(shù)據(jù)表。在數(shù)據(jù)庫表設(shè)計過程中,可以把握幾條原則,數(shù)據(jù)庫設(shè)計一個表最好只存儲一個實體或?qū)ο蟮南嚓P(guān)信息,不同的實體最好存儲在不同的數(shù)據(jù)表中,如果實體可以再劃分,實體的劃分原則是最好能夠比當前系統(tǒng)開發(fā)的實體顆粒度要小;數(shù)據(jù)表的信息結(jié)構(gòu)一定要適合,表的字段數(shù)量一定不要過多;擴展信息和動態(tài)變化的信息一定要分開在不同的表里;對于出現(xiàn)多對多這樣的表關(guān)系系統(tǒng),盡量不要出現(xiàn)等。根據(jù)上面的數(shù)據(jù)庫需求分析,BBS論壇數(shù)據(jù)庫中各個表的設(shè)計結(jié)果如下。tb_User(用戶信息表)需要包括的字段如圖6.2所示。圖6.2tb_User表(2)tb_Card(帖子信息表)用于保存各類帖子的詳細信息,包括的字段如圖6.3所示。圖6.3tb_Card表(3)tb_Revert(回帖信息表)用于保存對帖子的回復(fù)信息,包括的字段如圖6.4所示。圖6.4tb_Revert表(4)tb_Module(版塊信息表)用于保存該論壇所包含的版塊信息,包括字段如圖6.5所示。圖6.5tb_Module表數(shù)據(jù)表之間關(guān)系圖設(shè)計數(shù)據(jù)庫表間的關(guān)系主要是考慮論壇中各個對象的相互關(guān)系,帖子屬于版塊,回復(fù)帖子從屬于主題帖,帖子的作者屬于用戶,因此版塊、主題帖、回復(fù)帖是一層層的從屬依賴關(guān)系,帖子的作者必須是論壇的用戶,帖子不能脫離版塊、用戶而單獨存在。最后得到的數(shù)據(jù)表之間關(guān)系圖如圖6.6所示。圖6.6數(shù)據(jù)表關(guān)系圖數(shù)據(jù)庫操作類設(shè)計數(shù)據(jù)庫操作類主要實現(xiàn)的功能有:打開數(shù)據(jù)庫連接、關(guān)閉數(shù)據(jù)庫連接、釋放數(shù)據(jù)庫連接資源、傳入?yún)?shù)并且轉(zhuǎn)換為SqlParameter類型、執(zhí)行參數(shù)命令文本(無返回值)、執(zhí)行參數(shù)命令文本(有返回值)、將命令文本添加到SqlDataAdapter和將命令文本添加到SqlCommand。在命名空間區(qū)域引用usingSystem.Data.SqlClient命名空間。為了精確的控制釋放未托管資源必須實現(xiàn)DataBase類的System.IDisposable接口,IDisposable接口聲明了一個方法Dispose,該方法不帶參數(shù),返回Void。建立數(shù)據(jù)庫的連接主要通過SqlConnection類實現(xiàn),并初始化數(shù)據(jù)庫連接字符串,然后通過State屬性來判斷連接狀態(tài),如果數(shù)據(jù)庫連接狀態(tài)為關(guān),則打開數(shù)據(jù)庫連接。關(guān)閉數(shù)據(jù)庫連接主要通過SqlConnection對象的Close方法實現(xiàn)。因為DataBase類使用System.IDisposable接口,IDisposable接口聲明了一個方法IDisposable,所以在此應(yīng)該完善IDisposable接口的IDisposable方法,用來釋放數(shù)據(jù)庫連接資源。本系統(tǒng)向數(shù)據(jù)庫中讀取數(shù)據(jù)是以參數(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ù)庫備份與數(shù)據(jù)庫恢復(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í)行命令文本。論壇注冊設(shè)計論壇注冊的流程是這樣的,為了能登錄論壇,一個用戶必須在該論壇上有合法身份,當一個用戶沒有這個身份時,必須進入注冊頁面進行登錄。當進入注冊頁面時,用戶開始填寫資料并單擊“注冊”按鈕,首先檢查輸入完整性,即該填的信息都填完了并且正確填寫,如果信息不完整或有錯誤,則會做出相應(yīng)的提示,如果完整性檢驗通過,則會提示注冊成功并進入登錄頁面。具體流程如圖6.7所示。圖6.7論壇注冊流程圖論壇登錄設(shè)計用戶使用論壇時,需要3種角色:游客(即沒有注冊的用戶)、已經(jīng)注冊的用戶和后臺管理員。管理員用戶:管理員用戶可以對論壇的注冊用戶進行管理,可以直接添加用戶,賦予相關(guān)權(quán)限,也可以修改已注冊用戶的權(quán)限,對于違規(guī)的用戶可以刪除;另外,管理員還可以對論壇模塊和論壇帖子進行添加、修改和刪除等權(quán)利。普通用戶:這里的普通用戶可以分為游客(即沒有注冊的用戶)和已經(jīng)注冊的用戶。沒有注冊的用戶在進入論壇之后,只能瀏覽模塊、主題貼,而已經(jīng)注冊的用戶在登錄進入論壇后,還可以對各類帖子發(fā)表自己的評論、發(fā)表帖子并加以編輯等。具體流程圖如圖6.8所示。圖6.8論壇登錄流程圖帖子標題顯示設(shè)計在用戶登錄后,會進入論壇版塊列表,選擇論壇版塊后,會進入相應(yīng)的論壇版塊帖子列表,同時在帖子列表中會顯示一走些有關(guān)帖子的基本信息,包括題目、作者、時間、回復(fù)數(shù)。在帖子標題顯示模塊中,如果單擊帖子標題,則進入帖子瀏覽界面;如果單擊右上負的“發(fā)表帖子”鏈接,則進入發(fā)表帖子模塊。新帖子發(fā)表模塊設(shè)計進入新帖子發(fā)表頁面后,填寫發(fā)表帖子的名稱、所屬版塊和內(nèi)容,單擊“提交”按鈕。首先檢查輸入完整性,如果輸入不完整,則提示用戶填寫相應(yīng)項,如果通過完整性檢驗,則提示發(fā)表成功。系統(tǒng)實現(xiàn)發(fā)表帖子的實現(xiàn)實現(xiàn)的關(guān)鍵技術(shù)主要技術(shù)的應(yīng)用為:FreeTextBox組件的使用和使用Image控件顯示頭像。功能實現(xiàn)發(fā)表帖子的頁面(Deliver.aspx)實現(xiàn)了在指定版塊中發(fā)表帖子的功能,該頁面運行結(jié)果如圖7.1所示。圖7.1發(fā)表帖子頁面主要相關(guān)代碼點擊“提交”按鈕觸發(fā)其Click事件,在該事件中實現(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;}瀏覽帖子的實現(xiàn)實現(xiàn)的關(guān)鍵技術(shù)實現(xiàn)的關(guān)鍵技術(shù):DataBinder.Eval方法綁定數(shù)據(jù)和DataList控件分頁。功能實現(xiàn)瀏覽帖子頁面(CardInfo.aspx)實現(xiàn)了顯示指定帖子及其回復(fù)信息的功能,該頁面運行結(jié)果如圖7.2所示。圖7.2瀏覽帖子頁面主要相關(guān)代碼為了實現(xiàn)帖子顯示及其回復(fù)信息的功能,本系統(tǒng)自定義了以下4個方法,分別為:cardBind、dataBind、pageCount、getPhoto方法。下面例舉出其中那一個。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)測試系統(tǒng)測試是將已經(jīng)確認的軟件、計算機硬件、外設(shè)、網(wǎng)絡(luò)等其他元素結(jié)合在一起,進行信息系統(tǒng)的各種組裝測試和確認測試,其目的是通過與系統(tǒng)的需求相比較,發(fā)現(xiàn)所開發(fā)的系統(tǒng)與用戶需求不符或矛盾的地方,從而提出更加完善的方案.。它的的任務(wù)是近可能徹底的檢查出程序中的錯誤,提高軟件系統(tǒng)的可靠性,其目的是檢驗系統(tǒng)“做得怎樣?”。測試方案及測試用例測試方法介紹軟件測試有兩種方法:白盒法和黑盒法如果知道了產(chǎn)品應(yīng)該具有的功能,可以通過測試來檢測是否每個功能都能實現(xiàn),這種測試方法叫作黑盒測試法;如果知道產(chǎn)品的內(nèi)部工作過程,可以通過測試來檢驗是否按照規(guī)格說明說的規(guī)定正常運行,這個方法叫白盒測試法。對于軟件而言,黑盒測試法是把程序看成一個黑盒子,完全不考慮程序的內(nèi)部結(jié)構(gòu)和處理過程。也就是說黑盒測試是在程序的接口進行測試,它只檢查程序的功能是否按照規(guī)格說明說的說明正常運行,程序是否能恰當?shù)慕邮茌斎霐?shù)據(jù),產(chǎn)生正確的輸出信息,并且保持外部信息的完整性。黑盒測試又稱為功能測試。與黑盒測試法相反,白盒測試法是把程序看成是裝在一個透明的白盒子里。也就是完全了解程序的結(jié)構(gòu)和處理過程,這種方法按照程序內(nèi)部的邏輯測試程序,檢驗程序中的每條通路是否能按預(yù)定的要求正確工作,白盒測試又稱為結(jié)構(gòu)測試。粗看起來,不論采用上述那種測試方法,只要對每一種可能的情況都進行測試,就可以得到完全正確的程序。包含所有可能情況的測試成為窮盡測試,對于實際程序而言,窮盡測試通常是不可能做到的。使用黑盒測試法為了做到窮盡測試,至少對所有輸入數(shù)據(jù)的各種可能值的排列組合都進行測試,但是,由此得到的應(yīng)該測試的情況,數(shù)字往往達到實際上根本無法測試的程度。實踐表明,用無效的輸入數(shù)據(jù)比有效的輸入數(shù)據(jù)進行測試往往能發(fā)現(xiàn)更多的錯誤。使用白盒測試法和使用黑盒測試法一樣也不可能做到窮盡測試。因為不能做到窮盡測試,所以軟件測試不可能發(fā)現(xiàn)程序中的所有錯誤。也就是所通過測試并不能證明程序是完全正確的。但是,我們的目的是要通過測試保證軟件愛你的可靠性,因此,必須仔細設(shè)計測試方案,力爭用盡可能少的測試發(fā)現(xiàn)盡可能多的錯誤。單元測試測試一:在用戶登錄時,用戶填寫錯誤的登錄名或密碼或驗證碼,系統(tǒng)是否給出提示信息。具體操作:點擊進入登錄界面,填寫錯誤的登錄名或密碼或驗證碼。結(jié)果:系統(tǒng)彈出文字提示框,提示登錄名或密碼錯誤,用戶登錄失敗。結(jié)論:要求用戶以正確的登錄名、密碼和驗證碼進行登錄。測試二:在用戶注冊時,用已存在的用戶名進行注冊,系統(tǒng)是否提示該用戶已存在。具體操作:用同一個用戶名連續(xù)注冊兩次。結(jié)果:系統(tǒng)彈出文字提示框,提示該用戶已存在,用戶注冊失敗。結(jié)論:用戶名不可以重復(fù)。測試三:在用戶以游客(未登錄BBS論壇管理系統(tǒng))方式進入BBS論壇管理系統(tǒng)的某個版塊并回復(fù)某個帖子時,系統(tǒng)是否會提示用戶沒有這個權(quán)限。具體操作:用戶不進行登錄直接進入某個版塊,然后對某個帖子進行回復(fù)。結(jié)果:系統(tǒng)提示用戶沒有這個權(quán)限,回復(fù)帖子失敗。結(jié)論:要求用戶必須先登錄,才可以對某個帖子進行回復(fù)。測試四:以正確的普通用戶的登錄名和密碼進行版主登錄,是否能夠成功登錄。具體操作:注冊一個普通用戶,以這個登錄名和密碼進行版主登錄。結(jié)果:系統(tǒng)彈出文字提示框,提示版主用戶名或密碼錯誤,版主登錄失敗。結(jié)論:用戶不可以跨越自己的權(quán)限進行登錄。測試總結(jié)本系統(tǒng)的各個功能現(xiàn)已基本實現(xiàn),代碼基本無誤。但,通過對本系統(tǒng)的測試發(fā)現(xiàn),該系統(tǒng)仍然存在一些細節(jié)問題。例如,有些地方的設(shè)計還是不夠人性化。這些問題主要還是由于對系統(tǒng)開發(fā)缺乏經(jīng)驗,以后會繼續(xù)努力。結(jié)論本文主要介紹了網(wǎng)上在線論壇的設(shè)計過程。在設(shè)計過程中應(yīng)用了IFrame框架技術(shù),并引入了第三方組件FreeTextBox,該組件是一個在線文本編輯器,可以對文字以及圖片內(nèi)容進行處理,并將數(shù)據(jù)保存到數(shù)據(jù)庫中。另外,本文著重介紹了系統(tǒng)數(shù)據(jù)庫的設(shè)計和公用模塊的編寫,其中公用模塊的編寫包含數(shù)據(jù)庫連接模塊編寫,即在應(yīng)用程序配置文件Web.Config文件中添加數(shù)據(jù)庫連接信息等;在論壇典型模塊設(shè)計中應(yīng)用了3個主要模塊,即瀏覽帖子、回復(fù)帖子和發(fā)表帖子3大模塊。本系統(tǒng)是一個具有實際意義的論壇系統(tǒng)。本系統(tǒng)大部分是應(yīng)用ASP.NET2.0技術(shù)完成的,本文主要討論了BBS論壇管理系統(tǒng)的設(shè)計與開發(fā),把面向?qū)ο笏枷肭‘斀Y(jié)合進.NET技術(shù),實現(xiàn)了OOA和OOD。本系統(tǒng)采用ASP.NET+ADO.NET技術(shù),協(xié)同采用SQLServer2005技術(shù),在設(shè)計和實現(xiàn)過程中充分利用B/S三層架構(gòu)的優(yōu)勢來優(yōu)化系統(tǒng)結(jié)構(gòu),運行速度快,減少了無用的網(wǎng)絡(luò)傳輸,保證了系統(tǒng)的穩(wěn)定運行。實際應(yīng)用表明,本系統(tǒng)使用方便,執(zhí)行效率較高。參考文獻[1]薩師煊,王珊.數(shù)據(jù)庫系統(tǒng)概論.第三版.北京:高等教育出版社,2007:38-135[2]施伯樂,丁寶康.數(shù)據(jù)庫系統(tǒng)教程.第二版.北京:高等教育出版社,2006:120-145[3]張海藩.軟件工程導(dǎo)論.第三版.北京:清華大學(xué)出版社,2009:39-59[4]張躍廷,房大偉,蘇宇.ASP.NET2.0網(wǎng)絡(luò)編程自學(xué)手冊.北京:人民郵電出版社,2008:350-400[5]龔赤兵.ASP.NET2.0網(wǎng)站開發(fā)實例教程.北京:人民郵電出版社,2006:200-220[6]KarliWatson等.C#入門經(jīng)典.第3版.北京:清華大學(xué)出版社,2006:133-146[7]鄭耀東.ASP.NET2.0編程指南.北京:人民郵電出版社,2007:58-68[8]陳剛.CSS標準網(wǎng)頁布局開發(fā)指南.北京:清華大學(xué)出版社,2007:102-113[9]網(wǎng)冠科技.ASP.NET2.0+SQLServer2005網(wǎng)絡(luò)應(yīng)用編程二合一百例.北京:機械工業(yè)出版社,2007:123-135[10]MichaelOtey,DenielleOtey.MicrosoftSQLServer2005開發(fā)指南.北京:清華大學(xué)出版社,2007:58-76[11]張鑫.CSS代碼效果對比學(xué)習(xí).北京:中國青年出版社,2007:45-60[12]JasonBeaird等.完美網(wǎng)頁設(shè)計藝術(shù).北京:人民郵電出版社,2008:32-42[13]雷波,閆琳,邱啟紅.PhotoshopCS3中文版標準教程.北京:科學(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]郝安林,許勇,康會光.SQLServer2005基礎(chǔ)教程與實驗指導(dǎo).北京:清華大學(xué)出版社,2008:78-88[18]王欣,徐騰飛,唐連章.SQLServer2005數(shù)據(jù)挖掘?qū)嵗治?北京:中國水利水電出版社,2008:35-48致謝經(jīng)過一階段時間的不懈努力,我的畢業(yè)設(shè)計終于結(jié)束了。畢業(yè)設(shè)計的結(jié)束也標志著我大學(xué)生活的完結(jié)。經(jīng)過了大學(xué)的洗禮,我發(fā)現(xiàn)我自己成熟了許多,長大了許多。這不僅表現(xiàn)在學(xué)習(xí)上的進步,還表現(xiàn)在思想上的改變。總之,對我來說是受益良多。大學(xué)時光真的是我人生最寶貴的財富。這一切的一切和大家對我的支持與幫助是分不開的。特別是老師對我的幫助,實在是太多了。比如說這次畢業(yè)設(shè)計,老師對我的幫助真的是非常非常多。在這次畢業(yè)設(shè)計的過程中,從選題到開題報告,從寫作提綱,到一遍又一遍地指出論文中的具體問題,嚴格把關(guān),循循善誘,在此我表示衷心感謝。同時我還要感謝在我學(xué)習(xí)期間給我極大關(guān)心和支持的各位老師以及關(guān)心我的同學(xué)和朋友。最后,我最應(yīng)該感謝的應(yīng)該是我的母校,遼寧工業(yè)大學(xué),感謝母校給我提供了這么好的學(xué)習(xí)生活環(huán)境,讓我在這里快樂的成長、學(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="...";...//Thefollowingstatementwillfailandgeneratea//nullreferenceexception.//Youcannotmodifyaproperty(oruseamethod)ofan//objectthatdoesn'texist!conTwo.ConnectionString="...";...}Whenanerroroccursinyourcode,.NETcheckstoseewhetheranyerrorhandlersappearinthecurrentscope.Iftheerroroccursinsideamethod,.NETsearches

溫馨提示

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

最新文檔

評論

0/150

提交評論