asp。net論壇的設(shè)計(jì)論文 畢業(yè)論文_第1頁
已閱讀1頁,還剩36頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡介

1、<p>  頂崗實(shí)習(xí)崗位技術(shù)工作論文 </p><p>  ASP.NET論壇的設(shè)計(jì)論文</p><p>  學(xué) 號: </p><p>  姓 名: *** </p><p>  專 業(yè): 軟件技術(shù) </p><p>  年 級: 12軟件 </p

2、><p>  企業(yè)指導(dǎo)老師: </p><p><b>  二〇一五年三月</b></p><p>  題 目 </p><p><b>  企業(yè)指導(dǎo)教師<

3、;/b></p><p>  評 語 </p><p>  指導(dǎo)教師 (簽章)</p><p>  年 月 日 </p><p>  目

4、 錄</p><p>  論 文 摘 要1</p><p>  ASP.NET論壇的設(shè)計(jì)論文2</p><p>  一、BBS介紹2</p><p>  二、使用工具及相關(guān)知識3</p><p>  (一)SQL Server 2008 概述3</p><p>  (二)

5、ADO.NET概述3</p><p>  (三)ASP.NET簡介4</p><p>  三、系統(tǒng)簡單分析4</p><p>  (一)系統(tǒng)可行性分析4</p><p>  (二)系統(tǒng)功能的需求分析6</p><p>  (三)系統(tǒng)簡要用例圖分析8</p><p>  (四

6、)運(yùn)行環(huán)境9</p><p>  四、系統(tǒng)總體設(shè)計(jì)10</p><p>  (一)系統(tǒng)的設(shè)計(jì)目標(biāo)10</p><p>  (二)系統(tǒng)功能結(jié)構(gòu)11</p><p>  五、數(shù)據(jù)庫設(shè)計(jì)12</p><p>  (一)數(shù)據(jù)庫和設(shè)計(jì)概述12</p><p>  (二)概念模型設(shè)

7、計(jì)(E-R圖)13</p><p>  (三)數(shù)據(jù)庫邏輯設(shè)計(jì)14</p><p>  六、系統(tǒng)的詳細(xì)設(shè)計(jì)與實(shí)現(xiàn)17</p><p>  (一)前臺設(shè)計(jì)與實(shí)現(xiàn)17</p><p>  (二)論壇后臺頁面設(shè)計(jì)如實(shí)現(xiàn)28</p><p>  結(jié) 論36</p><p>

8、;  致 謝37</p><p>  參 考 文 獻(xiàn)38</p><p>  論 文 摘 要</p><p>  論壇系統(tǒng)BBS(Bullitin Board System)是互聯(lián)網(wǎng)上一種人與人之間交互的必備工具,特別是做網(wǎng)站的必備,網(wǎng)上論壇提供一個信息交流的空間。人們可以通過論壇一起討論自己喜歡的話題,提出自己喜歡的話題或者是回答一些問題。

9、用戶可以在論壇上發(fā)表對某個問題的看法闡述自己的觀點(diǎn),給別人討論對某個問題的看法,在Internet的發(fā)展中論壇的作用是無法代替的。</p><p>  然而開發(fā)論壇的應(yīng)用程序必須了解兩部分的內(nèi)容,即前臺開發(fā)工具和后臺的數(shù)據(jù)庫。本文利用ASP.NET技術(shù)進(jìn)行前臺界面設(shè)計(jì),利用SQL Server 2008設(shè)計(jì)的后臺數(shù)據(jù)庫以及利用ADO.NET數(shù)據(jù)庫訪問技術(shù)實(shí)現(xiàn)對數(shù)據(jù)庫的各種管理操作,實(shí)現(xiàn)BBS的各種基本功能。主要分

10、析了BBS的主要組成情況,包括BBS的設(shè)計(jì)目標(biāo),框架結(jié)構(gòu),數(shù)據(jù)流程和BBS的主要特點(diǎn)等,重點(diǎn)介紹了前臺功能模塊的詳細(xì)思路和實(shí)現(xiàn)方法,以及對后臺數(shù)據(jù)庫關(guān)鍵技術(shù)和部分源代碼的詳細(xì)說明。</p><p>  關(guān)鍵詞:BBS; ASP.NET; ADO.NET; SQL</p><p>  ASP.NET論壇的設(shè)計(jì)論文</p><p>  論壇系統(tǒng)服務(wù)已經(jīng)是互聯(lián)網(wǎng)站一

11、種極為常見的互動交流服務(wù)。論壇可以向網(wǎng)友提供開放性的分類專題討論區(qū)服務(wù),可以在此發(fā)表自己的某些觀感、交流某些技術(shù)、經(jīng)驗(yàn)?zāi)酥寥松母形蚝蛻n歡,亦可以作為網(wǎng)友之間的交流渠道。通過論壇的方式,增強(qiáng)人與人、個人與團(tuán)體、團(tuán)體與團(tuán)體之間的交流聯(lián)系,在Internet上實(shí)習(xí)信息的傳遞,提高辦事效率。因此論壇建設(shè)在Internet應(yīng)用上的地位顯而易見,它已成為現(xiàn)代人溝通和獲取信息的重要組成部分,從而倍受人們的重視。</p><p&g

12、t;<b>  BBS介紹</b></p><p>  BBS起源于二十世紀(jì)80年代初,最早的BBS只提供消息投遞和閱讀功能,使用者通常是些計(jì)算機(jī)愛好者。隨后,系統(tǒng)允許會員之間分享軟件、文件,進(jìn)行實(shí)時網(wǎng)絡(luò)對話、信件傳輸?shù)取榱颂峁└玫姆?wù),一些站點(diǎn)實(shí)行收費(fèi)政策,但目前Internet上還是有無數(shù)免費(fèi)BBS站點(diǎn)。一般BBS站點(diǎn)地址以域名形式出現(xiàn),這些站點(diǎn)可通過遠(yuǎn)程登錄進(jìn)行連接,更多的站點(diǎn)采用

13、WWW的形式供會員使用。</p><p>  BBS也被稱為異步會議系統(tǒng)、布告板,是網(wǎng)絡(luò)上除了E-mail之外,最為普遍的在線討論系統(tǒng),它來源于早期Internet發(fā)展的BBS系統(tǒng)(Bulletin Board System),隨著Internet的發(fā)展,逐步演變成現(xiàn)在的形式——基于Web的BBS系統(tǒng)。</p><p>  在本文中,主要介紹使用ASP.NET技術(shù)來實(shí)現(xiàn)網(wǎng)絡(luò)論壇建設(shè)。通過基

14、于Internet互聯(lián)網(wǎng)的動態(tài)WEB數(shù)據(jù)技術(shù),可以解決遠(yuǎn)程的數(shù)據(jù)傳輸與讀取,遠(yuǎn)程的客戶終端(Client)可以通過WEB頁面提交請求,查詢遠(yuǎn)端的數(shù)據(jù)服務(wù)器上的信息,以實(shí)現(xiàn)信息的共享,同時利用Internet技術(shù)可以降低軟件的開發(fā)和部署成本,只要在服務(wù)器上安裝WEB應(yīng)用就可以使每個客戶端都能瀏覽使用。</p><p>  目前,通過BBS系統(tǒng)可隨時獲取各種最新的信息;也可以通過BBS系統(tǒng)來和別人討論計(jì)算機(jī)軟件、硬件

15、、硬件、Internet、多媒體、程序設(shè)計(jì)及人文、地理等等各種有趣的話題;還可以利用BBS系統(tǒng)來發(fā)布一些“問題”、“廉價轉(zhuǎn)讓”、“招聘啟示”等問題;更可以召集親朋友好友到聊天室內(nèi)高談?wù)撻煛@個精彩的天地就在你我的身旁,只要您擁有一臺可以訪問互聯(lián)網(wǎng)的計(jì)算機(jī),就可以通過這個交流平臺,來享受它的種種服務(wù)。</p><p><b>  使用工具及相關(guān)知識</b></p><p&

16、gt;  SQL Server 2008 概述</p><p>  SQL Server 2008出現(xiàn)在微軟數(shù)據(jù)平臺愿景上是因?yàn)樗沟霉究梢赃\(yùn)行他們最關(guān)鍵任務(wù)的應(yīng)用程序,同時降低了管理數(shù)據(jù)基礎(chǔ)設(shè)施和發(fā)送觀察和信息給所有用戶的成本。這個平臺有以下特點(diǎn): </p><p>  1.可信任的——使得公司可以以很高的安全性、可靠性和可擴(kuò)展性來運(yùn)行他們最關(guān)鍵任務(wù)的應(yīng)用程序。</p>

17、<p>  2.高效的——SQL Server 2008降低了管理系統(tǒng)、.NET架構(gòu)和Visual Studio的時間和成本,使得開發(fā)人員可以開發(fā)強(qiáng)大的下一代數(shù)據(jù)庫應(yīng)用程序。 </p><p>  3.智能的——商業(yè)智能(BI)繼續(xù)作為大多數(shù)公司投資的關(guān)鍵領(lǐng)域和對于公司所有層面的用戶來說的一個無價的信息源。</p><p><b>  ADO.NET概述</b&g

18、t;</p><p>  ADO.NET的名稱起源于ADO(ActiveX Data Objects),這是一個廣泛的類組,用于在以往的Microsoft技術(shù)中訪問數(shù)據(jù).之所以使用ADO.NET名稱,是因?yàn)镸icrosoft希望表明,這是在.NET編程環(huán)境中優(yōu)先使用的數(shù)據(jù)訪問接口。</p><p>  它提供了平臺互用性和可伸縮的數(shù)據(jù)訪問。ADO.NET增強(qiáng)了對非連接編程模式的支持,并支持

19、RICH XML。由于傳送的數(shù)據(jù)都是XML格式的,因此任何能夠讀取XML格式的應(yīng)用程序都可以進(jìn)行數(shù)據(jù)處理。事實(shí)上,接受數(shù)據(jù)的組件不一定要是ADO .NET組件,它可以是基于一個Microsoft Visual Studio的解決方案,也可以是任何運(yùn)行在其它平臺上的任何應(yīng)用程序。</p><p>  ADO.NET是與數(shù)據(jù)源交互的.NET技術(shù)。有許多的Data Providers,它將允許與不同的數(shù)據(jù)源交流――取決

20、于它們所使用的協(xié)議或者數(shù)據(jù)庫。然而無論使用什么樣的Data Provider,你將使用相似的對象與數(shù)據(jù)源進(jìn)行交互。SqlConnection對象管理與數(shù)據(jù)源的連接。SqlCommand對象允許你與數(shù)據(jù)源交流并發(fā)送命令給它。為了對進(jìn)行快速的只“向前”地讀取數(shù)據(jù),使用SqlDataReader。如果想使用斷開數(shù)據(jù),使用DataSet并實(shí)現(xiàn)能進(jìn)行讀取或者寫入數(shù)據(jù)源的SqlDataAdapter。</p><p><

21、;b>  ASP.NET簡介</b></p><p>  ASP.NET的前身ASP技術(shù),是在IIS 2.0上首次推出(Windows NT 3.51),當(dāng)時與 ADO 1.0 一起推出,在IIS 3.0 (Windows NT 4.0)發(fā)揚(yáng)光大,成為服務(wù)器端應(yīng)用程序的熱門開發(fā)工具,微軟還特別為它量身打造了Visual InterDev開發(fā)工具,在1994年到2000年之間,ASP技術(shù)已經(jīng)成為微

22、軟推展Windows NT 4.0平臺的關(guān)鍵技術(shù)之一,數(shù)以萬計(jì)的ASP網(wǎng)站也是這個時候開始如雨后春筍般的出現(xiàn)在網(wǎng)絡(luò)上。它的簡單以及高度可定制化的能力,也是它能迅速崛起的原因之一。</p><p>  ASP.NET具有一下幾個重要特點(diǎn)特點(diǎn):</p><p>  1.強(qiáng)大性和適應(yīng)性——ASP.NET是基于通用語言的編譯運(yùn)行的程序,所以它的強(qiáng)大性和適應(yīng)性,可以使它運(yùn)行在Web應(yīng)用軟件開發(fā)者的幾

23、乎全部的平臺上。</p><p>  2.簡單性和易學(xué)性——ASP.NET使運(yùn)行一些很平常的任務(wù)如表單的提交客戶端的身份驗(yàn)證、分布系統(tǒng)和網(wǎng)站配置變得非常簡單。</p><p>  3.高效可管理性——ASP.NET使用一種字符基礎(chǔ)的,分級的配置系統(tǒng),虛擬服務(wù)器環(huán)境和應(yīng)用程序的設(shè)置更加簡單,因?yàn)榕渲眯畔⒍急4嬖诤唵挝谋局?,新的設(shè)置有可能都不需要啟動本地的管理員工具就可以實(shí)現(xiàn)。</p&g

24、t;<p><b>  系統(tǒng)簡單分析</b></p><p><b>  系統(tǒng)可行性分析</b></p><p>  可行性研究的目的,就是用最小的代價在盡可能短的時間內(nèi)確定是否能夠解釋決。要達(dá)到這個目的,必須分析幾種主要的可能解法的利弊,從而判斷原定的系統(tǒng)規(guī)模和目標(biāo)是否現(xiàn)實(shí),系統(tǒng)完成后能帶來的效益是否大到值得投資開發(fā)這個系統(tǒng)的程度

25、。因此,可行性研究實(shí)質(zhì)上就是要進(jìn)行一次大大的壓縮簡化了的系統(tǒng)分析和設(shè)計(jì)的過程,也就是在較高層次上以抽象的方式進(jìn)行的系統(tǒng)分析和設(shè)計(jì)的過程。</p><p>  系統(tǒng)的可行性分析主要包括技術(shù)上的可行性、經(jīng)濟(jì)上的可行性、操作上的可行性、法律上的可行性和開發(fā)環(huán)境上的可行性。本系統(tǒng)的可行性分析如下:</p><p>  在技術(shù)方面:隨著國內(nèi)外軟件開發(fā)的日益發(fā)展壯大,各種中小企事業(yè)單位已具備獨(dú)立開發(fā)各

26、種類型的軟件的能力,能夠滿足不同行業(yè)的特別的需求。從整個系統(tǒng)的技術(shù)構(gòu)成上來看,它屬于一個數(shù)據(jù)庫應(yīng)用類的系統(tǒng)。其基本操作就是對存在數(shù)據(jù)庫中的數(shù)據(jù)進(jìn)行添加、刪除、查找、編輯等。所以就單純的數(shù)據(jù)庫應(yīng)用來看,暫不存在太大的技術(shù)問題。因此從技術(shù)方面來看考慮本系統(tǒng)的可行性是可行的。</p><p>  在經(jīng)濟(jì)方面:現(xiàn)在越來越多的人都是通過網(wǎng)絡(luò)做許多事情,這個BBS系統(tǒng)易于操作,雖然對硬件要求比較高但是其安全性和管理性比較好,

27、實(shí)用性比較好,相信經(jīng)濟(jì)效益也會比較高。因此從經(jīng)濟(jì)方面考慮開發(fā)此系統(tǒng)是可行的。</p><p>  在操作方面:隨著社會的發(fā)展,全民素質(zhì)的提高,不論是對于電腦系統(tǒng)的基本操作還是對電腦的基本維護(hù)都有了一定的基礎(chǔ)。同時還可以配置專業(yè)的電腦維護(hù)人員來維護(hù)電腦,不必?fù)?dān)心電腦的鼓掌問題,且系統(tǒng)使用簡單明了,因此從操作方面來看此系統(tǒng)是可行的。</p><p>  在法律方面:此系統(tǒng)沒有侵犯他人的個人合法

28、利益,系統(tǒng)所涉及的條款與國家的現(xiàn)行法律沒有抵觸,不損壞國家、集體、個人的任何利益,所以在法律上是完全可行的。</p><p>  開發(fā)環(huán)境可行性:開發(fā)此BBS系統(tǒng)需要硬件環(huán)境要求操作系統(tǒng)為Windows XP Professional以上系統(tǒng)版本,需要安裝Internet信息服務(wù),還有ASP.NET環(huán)境。目前看操作系統(tǒng)和軟件都不是問題,系統(tǒng)硬件也可以滿足,所以從開發(fā)環(huán)境上來說是可行的。</p>&l

29、t;p>  軟件需求分析工作是軟件生存周期中的重要的一步,也是決定性的一步。只有通過軟件需求分析,才能把軟件功能和性能的總體概念描述為具體的軟件需求規(guī)格說明,從而奠定軟件開發(fā)的基礎(chǔ)。因此,在軟件開發(fā)前應(yīng)該做好對軟件的需求分析。</p><p><b>  系統(tǒng)功能的需求分析</b></p><p><b>  基本功能</b></p&

30、gt;<p>  論壇的基本功能是構(gòu)成論壇系統(tǒng)的必要功能,包括如下基本功能。</p><p>  發(fā)帖。論壇最初是為了互相討論話題而誕生的,發(fā)表帖子就是表達(dá)自己的看法,與他人進(jìn)行討論,因此發(fā)帖是論壇首要的功能。</p><p>  瀏覽帖子。發(fā)表帖子,就是供他人瀏覽查看,與他人分享自己的想法和經(jīng)驗(yàn)。</p><p>  回帖。瀏覽了他人發(fā)帖子,想要發(fā)表

31、自己的想法,參與討論,就可以回復(fù)這個帖子。</p><p>  其實(shí),發(fā)帖→瀏覽帖子→回帖三大功能周而復(fù)始的循環(huán)進(jìn)行,就構(gòu)成了論壇,每個參與論壇的人,主要目的就是發(fā)帖,查看自己已經(jīng)發(fā)表的帖子,針對自己感興趣的帖子進(jìn)行回復(fù),參與討論。三大基本功能的相互關(guān)系如圖1所示。</p><p><b>  擴(kuò)展功能</b></p><p>  除以上基本功

32、能外,其它的論壇功能都是擴(kuò)展功能,包括如下功能:</p><p>  注冊登錄。方便經(jīng)常發(fā)帖的人不需要重復(fù)填寫個人信息。</p><p>  分板塊瀏覽帖子。有利于具有相同興趣的用戶相互討論,不易跑題。</p><p>  編輯帖子。提供給用戶更新自己發(fā)言的選擇。</p><p>  刪除帖子。如果用戶發(fā)飆了不符合論壇規(guī)則的帖子,組需要管理員

33、刪除這些帖子。</p><p>  轉(zhuǎn)移帖子。論壇劃分了板塊,如果帖子內(nèi)容不屬于所在板塊的關(guān)注話題,那么管理員可以選擇將此帖移動到所屬話題的板塊中去。</p><p>  置頂帖子。管理員如果需要強(qiáng)調(diào)某些帖子的重要,有必看性,可以將這些帖子置頂。</p><p>  指定精華帖。如果管理員認(rèn)為某帖子內(nèi)容很好,可以坐上標(biāo)記,推薦給用戶看,用戶也可以只看精華帖。<

34、/p><p>  搜索帖子。方便用戶查找自己需要的內(nèi)容。</p><p>  管理板塊。論壇板塊需要先創(chuàng)建才能被使用,管理還可以刪除板塊的相關(guān)信息。</p><p>  設(shè)置參數(shù)。論壇一般有一些初始化信息,比如論壇名稱,每頁顯示帖子的數(shù)量等參數(shù)信息。</p><p>  管理用戶。管理員可以對論壇注冊用戶進(jìn)行管理,直接添加用戶,賦予相關(guān)權(quán)限,也可

35、以修改已注冊用戶的權(quán)限,對于違規(guī)用戶可以刪除。</p><p>  論壇擴(kuò)展功能圖,如圖2所示。</p><p><b>  系統(tǒng)簡要用例圖分析</b></p><p>  對于訪問論壇的用戶,可分為注冊會員和為注冊的臨時用戶,這兩種用戶有著不同的權(quán)限,比如臨時用戶只能對帖子進(jìn)行查看,而注冊會員除了查看帖子之外,還可以發(fā)帖,回復(fù),查找用戶,并且

36、可以對自己的注冊資料進(jìn)行修改等等。</p><p>  系統(tǒng)的用例圖如下圖3所示:</p><p><b>  運(yùn)行環(huán)境</b></p><p>  運(yùn)行環(huán)境配置從硬件和軟件兩方面描述,所列出的都是系統(tǒng)所能正常運(yùn)行的最低限度。而更高的硬件配置和軟件環(huán)境將會帶來更快的運(yùn)行速度以及更穩(wěn)定的運(yùn)行效果。</p><p><

37、b>  硬件要求:</b></p><p>  CPU:Intel Pentium 600MHz以上。</p><p>  內(nèi)存:128M以上。</p><p>  磁盤安裝空間:3.2GB(完全安裝,包括 .NET Frameworks 以及 .NET IDE全部開發(fā)工具和MSDN)。</p><p>  顯示:800*6

38、00,256色。</p><p>  軟件需求:Microsoft Windows 2000 + SP1。</p><p>  Microsoft Internet Explorer 5.5 。</p><p><b>  系統(tǒng)總體設(shè)計(jì)</b></p><p><b>  系統(tǒng)的設(shè)計(jì)目標(biāo)</b>&l

39、t;/p><p>  對于典型的數(shù)據(jù)庫管理系統(tǒng),尤其是對像論壇這樣的數(shù)據(jù)流量特別大的網(wǎng)絡(luò)管理系統(tǒng),必須要滿足使用方便、操作靈活等設(shè)計(jì)需求。本系統(tǒng)在設(shè)計(jì)時應(yīng)滿足以下幾個目標(biāo): </p><p>  1.采用人機(jī)對話的操作方式,界面設(shè)計(jì)美觀友好,信息查看靈活、方便、快捷、準(zhǔn)確,數(shù)據(jù)存儲安全可靠。</p><p>  2.全面展示系統(tǒng)內(nèi)所有分類的帖子,并進(jìn)行分頁顯示。<

40、/p><p>  3.為用戶提供一個方便、快捷的主題信息查看功能。</p><p>  4.實(shí)現(xiàn)在線發(fā)表帖子。</p><p>  5.提供登錄模塊,主要用開管理員登錄系統(tǒng)和發(fā)表帖子時留下發(fā)表者的信息。</p><p>  6.用戶隨時都可以查看自己發(fā)表的帖子。</p><p>  7.對用戶輸入的數(shù)據(jù),系統(tǒng)進(jìn)行嚴(yán)格的數(shù)據(jù)

41、檢驗(yàn),盡可能排除人為的錯誤。</p><p>  8.系統(tǒng)最大限度地實(shí)現(xiàn)了易維護(hù)性和易操作性。</p><p>  9.系統(tǒng)運(yùn)行穩(wěn)定安全可靠。</p><p><b>  系統(tǒng)功能結(jié)構(gòu)</b></p><p><b>  1.前臺功能結(jié)構(gòu)</b></p><p>  用戶訪問

42、論壇首頁面后,可進(jìn)行查看版面下根貼信息、查看自己發(fā)表的帖子、查看精華帖子、搜索帖子、查看根貼信息、用戶注冊等功能。用戶在此BBS論壇中通過注冊成為該網(wǎng)站的真正用戶并成功登錄系統(tǒng)后,可進(jìn)行發(fā)表帖子、回復(fù)帖子、查看自己發(fā)表的帖子等操作。</p><p>  前臺功能結(jié)構(gòu)圖如圖4所示。</p><p><b>  2. 后臺功能結(jié)構(gòu)</b></p><p

43、>  若用戶的權(quán)限為管理員,則可進(jìn)入后臺,可進(jìn)行論壇類別的管理、版面管理和用戶管理的操作。后臺功能結(jié)構(gòu)圖如下圖5所示。</p><p><b>  系統(tǒng)流程圖</b></p><p>  系統(tǒng)后臺流程圖如下圖6所示。</p><p> ?。?)系統(tǒng)后臺流程圖如下圖7所示。</p><p><b>  數(shù)據(jù)

44、庫設(shè)計(jì)</b></p><p>  數(shù)據(jù)庫設(shè)計(jì)是指對于一個給定的應(yīng)用環(huán)境,構(gòu)造最優(yōu)的數(shù)據(jù)庫模式,建立數(shù)據(jù)庫及其應(yīng)用系統(tǒng),使之能夠有效地存儲數(shù)據(jù),滿足各種用戶的應(yīng)用需求(信息要求和處理要求)。</p><p><b>  數(shù)據(jù)庫和設(shè)計(jì)概述</b></p><p>  1.數(shù)據(jù)庫是信息系統(tǒng)的核心和基礎(chǔ),把信息系統(tǒng)中大量的數(shù)據(jù)按一定的模型

45、組織起來,提供存儲、維護(hù)、檢索數(shù)據(jù)的功能,使信息系統(tǒng)可以方便、及時、準(zhǔn)確地從數(shù)據(jù)庫中獲得所需的信息。</p><p>  2.數(shù)據(jù)庫是信息系統(tǒng)的各個部分能否緊密地結(jié)合在一起以及如何結(jié)合的關(guān)鍵所在。</p><p>  3.數(shù)據(jù)庫設(shè)計(jì)是信息系統(tǒng)開發(fā)和建設(shè)的重要組成部分。</p><p>  概念模型設(shè)計(jì)(E-R圖)</p><p>  數(shù)據(jù)模型

46、是是數(shù)據(jù)特征的抽象,從抽象層次上描述了系統(tǒng)的靜態(tài)特征、動態(tài)行為和約束條件,為數(shù)據(jù)庫系統(tǒng)的信息表與操作提供一個抽象的框架。描述了數(shù)據(jù)結(jié)構(gòu)、數(shù)據(jù)操作及數(shù)據(jù)約束。</p><p>  E-R模型的基本概念 </p><p>  ER圖概念化地構(gòu)建實(shí)體間關(guān)系的模型,這使得它們區(qū)別于數(shù)據(jù)庫模型圖。ER圖的理念是:項(xiàng)目所有參與者能理解ER圖。ER圖由不同實(shí)體類型、關(guān)系、特性和類型構(gòu)成。實(shí)體是諸如用戶的

47、實(shí)際對象,有時更抽象,但必須有業(yè)務(wù)意義。特性用于描述實(shí)體,關(guān)系用于實(shí)體之間</p><p>  (1)實(shí)體:現(xiàn)實(shí)世界中的事物; </p><p>  (2)屬性:事物的特性; </p><p>  (3)聯(lián)系:現(xiàn)實(shí)世界中事物間的關(guān)系。實(shí)體集的關(guān)系有一對一、一對多、多對多的聯(lián)系。</p><p>  本系統(tǒng)的E-R圖如下圖8所示:</p&

48、gt;<p><b>  數(shù)據(jù)庫邏輯設(shè)計(jì)</b></p><p>  根據(jù)數(shù)據(jù)庫概念設(shè)計(jì),可以創(chuàng)建與實(shí)體對應(yīng)的數(shù)據(jù)表。本系統(tǒng)中所包含的數(shù)據(jù)表的結(jié)構(gòu)圖如圖9所示。</p><p>  本系統(tǒng)包括8個數(shù)據(jù)表,下面分別是這些表的結(jié)構(gòu)。</p><p>  BlockBig(論壇區(qū)塊信息表),該表結(jié)構(gòu)如下表表1所示。</p>

49、<p>  表1 BlockBig(論壇區(qū)塊信息表)</p><p>  BlockSmall(論壇版塊信息表),該表結(jié)構(gòu)如下表表2所示。</p><p>  表2 BlockSmall(論壇版塊信息表)</p><p>  Message(消息信息表),該表結(jié)構(gòu)如下表表3所示。</p><p>  表3 Message(消息信息

50、表)</p><p>  Popedom(論壇類別信息表),該表結(jié)構(gòu)如下表表4所示。</p><p>  表4 Popedom(論壇類別信息表)</p><p>  Post(論壇帖子信息表),該表結(jié)構(gòu)如下表表5所示。</p><p>  表5 Post(論壇帖子信息表)</p><p>  PostBack(帖子回復(fù)

51、信息表),該表結(jié)構(gòu)如下表表6所示。</p><p>  表6 PostBack(帖子回復(fù)信息表)</p><p>  PostType(帖子類型信息表),該表結(jié)構(gòu)如下表表7所示。</p><p>  表7 PostType(帖子類型信息表)</p><p>  Users(用戶信息表),該表結(jié)構(gòu)如下表表8所示。</p><

52、p>  表8 Users(用戶信息表)</p><p>  系統(tǒng)的詳細(xì)設(shè)計(jì)與實(shí)現(xiàn)</p><p><b>  前臺設(shè)計(jì)與實(shí)現(xiàn)</b></p><p>  由于前臺功能模塊較多,而各模塊的實(shí)現(xiàn)過程都是類似的,所以對于系統(tǒng)前臺,現(xiàn)在只介紹系統(tǒng)重點(diǎn)設(shè)計(jì)。</p><p>  論壇系統(tǒng)前臺首頁,該頁面為論壇首頁頁面,當(dāng)用戶

53、進(jìn)入本系統(tǒng)時會自動進(jìn)入本頁面。用戶可以自行選擇自己想進(jìn)的版面。</p><p>  此BBS設(shè)計(jì)有母版頁存在,故論壇首頁實(shí)現(xiàn)代碼如下:</p><p>  <asp:DataList ID="DataList1" runat="server" DataKeyField="bigId" DataSourceID="S

54、qlDataSource1" BackColor="LightGoldenrodYellow" BorderColor="Tan" BorderWidth="1px" CellPadding="2" ForeColor="Black"></p><p>  <FooterStyle BackC

55、olor="Tan" /></p><p>  <AlternatingItemStyle BackColor="PaleGoldenrod" /></p><p>  <SelectedItemStyle BackColor="DarkSlateBlue" ForeColor="GhostWhi

56、te" /></p><p>  <HeaderStyle BackColor="Tan" Font-Bold="True" /></p><p>  <ItemTemplate></p><p>  <table align="left" style=&quo

57、t;width: 100%; height: 127px;"></p><p><b>  <tr></b></p><p>  <td class="style8"> <%# Eval("bigName") %></td></p><p>

58、  <td class="style7" align="left"> 區(qū)長:</td></p><p>  <td class="style3" align="left"> <asp:Label ID="Label1" runat="server" Te

59、xt='<%# Eval("BigAdmin") %>'></asp:Label></td></p><p>  <td class="style3" align="right"> 創(chuàng)建日期:</td></p><p>  <td class=

60、"style3" align="left"> <asp:Label ID="Label2" runat="server" Text='<%# Eval("bigAddtime") %>'></asp:Label> </td></p><p>&l

61、t;b>  </tr></b></p><p><b>  <tr></b></p><p>  <td class="style9"><a href='android_study.aspx?big_id=<%# Eval("bigId") %>&#

62、39;><img src="images/eoe.jpg"/></a> </td></p><p>  <td class="style6" colspan="4"> <a href='android_study.aspx?big_id=<%# Eval("bigId&

63、quot;) %>'><%#Eval ("bigDescription") %></a></td></p><p><b>  </tr></b></p><p><b>  </table></b></p><p>  &

64、lt;/ItemTemplate></p><p>  </asp:DataList></p><p><b>  BBS論壇登錄頁面</b></p><p>  該頁面是用戶登錄頁面,輸入正確的用戶名和密碼按登錄按鈕則進(jìn)入登錄后頁面,按重置按鈕則清空文本框。若用戶未注冊按注冊按鈕進(jìn)入注冊頁面。</p><

65、p><b>  其實(shí)現(xiàn)代碼如下:</b></p><p><b>  ………</b></p><p>  public partial class login : System.Web.UI.Page</p><p><b>  {</b></p><p>  //獲取數(shù)

66、據(jù)庫連接字符串</p><p>  DataHelper helper = new DataHelper();</p><p>  protected void Page_Load(object sender, EventArgs e)</p><p><b>  {</b></p><p><b>  }&l

67、t;/b></p><p>  protected void User_login_Click(object sender, EventArgs e)</p><p><b>  {</b></p><p>  String Name = UserName.Text;</p><p>  string Pwd =

68、User_pwd.Text;</p><p>  String user_ip=Request.UserHostAddress;//獲取用戶IP地址信息</p><p>  if (Name == "" || Pwd == "")</p><p><b>  {</b></p><p&

69、gt;  String alerts = "用戶名或密碼不能為空!";</p><p>  Response.Write("<script>window.alert('" + alerts + "')</script>");</p><p><b>  }</b><

70、;/p><p><b>  else {</b></p><p>  VldUserLogin(Name,Pwd,user_ip);</p><p><b>  }</b></p><p><b>  }</b></p><p>  public void

71、VldUserLogin(string strUserName, string strPassWord, string ip)//驗(yàn)證并修改個別信息</p><p><b>  {</b></p><p>  string strUserId = null;</p><p>  string isadmin = null;</p>

72、<p>  int UserQx=0;</p><p>  String connstring = helper.Getstr();</p><p>  String strSql = "SELECT UserId FROM Users WHERE UserName='" + strUserName + "' and UserPwd

73、='" + strPassWord + "'";//根據(jù)用戶名和密碼來查詢用戶的ID</p><p>  String strSql2 = "SELECT IsAdmin FROM Users WHERE UserName='" + strUserName + "' and UserPwd='" + st

74、rPassWord + "'";//根據(jù)用戶名和密碼來查詢用戶是否為管理的的標(biāo)志</p><p>  String strSql3 = "SELECT UserQx FROM Users WHERE UserName='" + strUserName + "' and UserPwd='" + strPassWord +

75、"'";//查詢用戶的權(quán)限</p><p>  string strSql4 = "update Users set UserOnline='" + 1 + "',UserIp='" + ip + "'WHERE UserName='" + strUserName + "

76、9; and UserPwd='" + strPassWord + "'";</p><p>  SqlConnection conn = new SqlConnection(connstring);</p><p>  SqlCommand cmd = new SqlCommand();</p><p>  cmd.C

77、onnection = conn;//設(shè)置連接</p><p>  SqlDataReader reader;</p><p><b>  try </b></p><p><b>  {</b></p><p>  conn.Open();</p><p>  cmd.Co

78、mmandText = strSql;</p><p>  reader = cmd.ExecuteReader();</p><p>  if (reader.Read())</p><p><b>  {</b></p><p>  strUserId =reader["UserId"].ToSt

79、ring();//獲取編號UserId</p><p>  reader.Close();</p><p>  if (strUserId.Equals(""))</p><p><b>  {</b></p><p>  String alerts = "該用戶不存在!";<

80、;/p><p>  Response.Write("<script>window.alert('" + alerts + "')</script>");</p><p><b>  }</b></p><p><b>  else</b></

81、p><p><b>  {</b></p><p>  cmd.CommandText = strSql2;</p><p>  reader = cmd.ExecuteReader(); </p><p>  if (reader.Read())</p><p&

82、gt;<b>  {</b></p><p>  isadmin = reader["IsAdmin"].ToString();//獲取是否是管理員</p><p>  reader.Close();</p><p>  } </p><p>  cmd.C

83、ommandText = strSql3;</p><p>  reader = cmd.ExecuteReader();</p><p>  if (reader.Read())</p><p><b>  {</b></p><p>  UserQx = int.Parse(reader["UserQx&q

84、uot;].ToString());//獲取權(quán)限</p><p>  reader.Close();</p><p><b>  }</b></p><p>  cmd.CommandText = strSql4;</p><p>  int result = cmd.ExecuteNonQuery();//修改部分信息

85、</p><p>  Session["user_qx"] = UserQx;//往Session里賦值</p><p>  Session["user_id"] = strUserId;</p><p>  Session["user_name"] = strUserName;</p>&l

86、t;p>  //是否是管理員,用于前臺主框架是否顯示管理</p><p>  Session["IsAdmin"] = isadmin; </p><p>  Response.Redirect("android_index.aspx");//成功跳轉(zhuǎn)</p><p><b>  }</b><

87、/p><p><b>  } </b></p><p><b>  }</b></p><p>  catch(Exception ex)</p><p><b>  {</b></p><p>  Response.Write(" 意外關(guān)閉&

88、quot;);</p><p>  conn.Close(); </p><p><b>  }</b></p><p><b>  finally</b></p><p><b>  {</b></p><p>  conn.Cl

89、ose();</p><p><b>  }</b></p><p><b>  }</b></p><p><b>  }</b></p><p><b>  論壇注冊頁面:</b></p><p>  該頁面為用戶注冊頁面,用戶

90、按要求填完后可進(jìn)行注冊,若用戶想添加頭像則可以輸入頭像網(wǎng)絡(luò)地址或頭像本地所在位置,進(jìn)行頭像上傳。若點(diǎn)擊重置則清空所有文本框內(nèi)容,進(jìn)行重新輸入。</p><p>  其頁面實(shí)現(xiàn)代碼如下所示:</p><p><b>  ……</b></p><p>  public partial class Jion : System.Web.UI.Page&

91、lt;/p><p><b>  {</b></p><p>  //獲取數(shù)據(jù)庫連接字符串</p><p>  DataHelper helper = new DataHelper();</p><p>  private string user_Name1, pwd1, user_email1,ip,pic;</p&g

92、t;<p>  int id = 0;</p><p>  public void Add_user()</p><p><b>  {</b></p><p>  string strconnection = helper.Getstr();</p><p>  string selectSQL = &q

93、uot;select max(UserId) as MaxId from Users";</p><p>  SqlConnection conn = new SqlConnection(strconnection);</p><p>  SqlCommand cmd = new SqlCommand(selectSQL, conn);</p><p> 

94、 SqlDataReader reader;</p><p><b>  try</b></p><p><b>  {</b></p><p>  conn.Open();</p><p>  reader = cmd.ExecuteReader();</p><p>  

95、if (reader.Read())</p><p><b>  {</b></p><p>  id = int.Parse(reader["MaxId"].ToString()) + 1;//取標(biāo)號最大值</p><p><b>  Item();</b></p><p> 

96、 Response.Redirect("login.aspx");</p><p><b>  }</b></p><p>  reader.Close();</p><p><b>  }</b></p><p>  catch (Exception ex)</p>

97、<p><b>  {</b></p><p>  conn.Close();</p><p><b>  }</b></p><p><b>  finally</b></p><p><b>  {</b></p><

98、p>  conn.Close();</p><p><b>  }</b></p><p>  conn.Close();</p><p><b>  }</b></p><p>  public void Item() //插入元素</p><p><b>

99、  {</b></p><p>  string strconnection = helper.Getstr();</p><p>  user_Name1 = user_name.Text;</p><p>  pwd1 = pwd.Text;</p><p>  pic = UpImg1.GetFilePath;</p&

100、gt;<p>  user_email1 = user_email.Text; </p><p>  String insert = "insert into Users(UserId,UserName,UserPwd,UserEmail,UserPic)values('" + id + "','" + user_Name1 + &

101、quot;','" + pwd1 + "','"</p><p>  + user_email1 + "','" + pic + "')";</p><p>  SqlConnection conn = new SqlConnection(strconnection

102、);</p><p><b>  try</b></p><p><b>  {</b></p><p>  conn.Open();</p><p>  SqlCommand cmd = new SqlCommand(insert, conn);</p><p>  int

103、 result=cmd.ExecuteNonQuery();</p><p><b>  }</b></p><p>  catch (Exception ex)</p><p><b>  {</b></p><p>  conn.Close();</p><p><

104、b>  }</b></p><p><b>  finally {</b></p><p>  conn.Close();</p><p><b>  }</b></p><p>  conn.Close();</p><p><b>  }<

105、;/b></p><p>  protected void Page_Load(object sender, EventArgs e)</p><p><b>  { }</b></p><p>  protected void Button2_Click(object sender, EventArgs e) //注冊按鈕觸發(fā)事件

106、</p><p><b>  {</b></p><p>  if ((user_name.Text == "") || (pwd.Text == "")) //判斷用戶名和密碼是否為空</p><p><b>  {</b></p><p>  string

107、 alerts = "用戶名和密碼不能為空!";</p><p>  Response.Write("<script>window.alert('" + alerts + "')</script>");</p><p><b>  }</b></p>&l

108、t;p>  else if (pwd.Text != rpwd.Text)</p><p><b>  {</b></p><p>  string alerts = "兩次輸入的密碼不一致!";</p><p>  Response.Write("<script>window.alert(

109、9;" + alerts + "')</script>");</p><p><b>  }</b></p><p><b>  else</b></p><p><b>  {</b></p><p>  Add_user()

110、;</p><p><b>  }</b></p><p><b>  }</b></p><p>  protected void Button1_Click(object sender, EventArgs e)</p><p><b>  {</b></p>

111、<p>  //檢測該用戶是否已經(jīng)存在</p><p>  string sql = "select UserId from Users where UserName='"+user_name.Text+"'";</p><p>  string strconnection = helper.Getstr();</p

112、><p>  SqlConnection conn = new SqlConnection(strconnection);</p><p>  SqlCommand cmd = new SqlCommand(sql, conn);</p><p>  SqlDataReader reader;</p><p><b>  try <

113、;/b></p><p><b>  { </b></p><p>  conn.Open();</p><p>  reader=cmd.ExecuteReader();</p><p>  if (reader.Read())</p><p><b>  {</b>

114、</p><p>  reader.Close();</p><p>  Response.Write("<script>window.alert('該用戶已經(jīng)存在')</script>");</p><p><b>  }</b></p><p><b&

115、gt;  else {</b></p><p>  Response.Write("<script>window.alert('該用戶可以使用')</script>");</p><p><b>  }</b></p><p><b>  }</b>&

116、lt;/p><p>  catch(Exception ex)</p><p><b>  {</b></p><p>  conn.Close();</p><p><b>  }</b></p><p><b>  finally</b></p&g

117、t;<p><b>  {</b></p><p>  conn.Close();</p><p><b>  }</b></p><p><b>  }</b></p><p><b>  }</b></p><p>

118、;<b>  論壇發(fā)帖頁面。</b></p><p>  該頁面為用戶發(fā)表帖子頁面,若用戶未登錄則自動跳轉(zhuǎn)到用戶登錄界面,提示用戶登錄,若用戶已登錄,則可以進(jìn)行發(fā)帖,按重置按鈕后則清空所有文本框。</p><p>  該論壇發(fā)帖頁面后臺實(shí)現(xiàn)代碼如下所示:</p><p><b>  ……</b></p>&l

119、t;p>  public partial class SentPost : System.Web.UI.Page</p><p><b>  {</b></p><p>  //獲取數(shù)據(jù)庫連接字符串</p><p>  DataHelper helper = new DataHelper();</p><p>  

120、protected void Page_Load(object sender, EventArgs e)</p><p><b>  {</b></p><p>  //驗(yàn)證是否有用戶登錄</p><p>  if (Session["user_id"] == null)</p><p><b&

121、gt;  {</b></p><p>  Response.Redirect("login.aspx");</p><p><b>  }</b></p><p><b>  }</b></p><p>  //發(fā)表提交按鈕事件</p><p>

122、;  protected void Button1_Click(object sender, EventArgs e)</p><p><b>  {</b></p><p><b>  //獲取表單信息</b></p><p>  int PostType = int.Parse(posttype_ddl.Sele

123、ctedValue);</p><p>  string strTitle = txt_title.Text;</p><p>  int UserId = int.Parse(Session["user_id"].ToString());</p><p><b>  //內(nèi)容</b></p><p&g

124、t;  string strContent = nr.Text;</p><p>  int PostSmall_Id = int.Parse(Request.QueryString["Small_Id"]);</p><p><b>  //添加帖子表</b></p><p>  AddPost(strTitle,strC

125、ontent,UserId,PostType,PostSmall_Id);</p><p><b>  }</b></p><p>  public void AddPost(string strTitle, string strContent, int post_senderId, int TypeId, int PostSmallId)</p>&

126、lt;p><b>  {</b></p><p>  int id = 0;</p><p>  string strconnection = helper.Getstr();</p><p>  string selectSQL = "select max(post_id) as MaxId from Post";&

127、lt;/p><p>  SqlConnection conn = new SqlConnection(strconnection);</p><p>  SqlCommand cmd = new SqlCommand();//5_1_a_s_p_x</p><p>  cmd.Connection = conn;</p><p>  cmd.Co

128、mmandText = selectSQL;</p><p>  SqlDataReader reader;</p><p><b>  try</b></p><p><b>  {</b></p><p>  conn.Open();</p><p>  reader =

129、 cmd.ExecuteReader();</p><p>  if (reader.Read())</p><p><b>  {</b></p><p>  id = int.Parse(reader["MaxId"].ToString()) + 1;//取標(biāo)號最大值 </p><p>  r

130、eader.Close();</p><p><b>  if(id>0)</b></p><p><b>  {</b></p><p>  string insertSQL = "insert into Post(post_id,post_title,post_Content,post_Sender,p

131、ost_SmallId,post_TypeId)values('" + id + "','" + strTitle + "','" + strContent + "','" + post_senderId + "','" + PostSmallId + "',

132、'" + TypeId + "')";</p><p>  cmd.CommandText = insertSQL;</p><p>  int a = cmd.ExecuteNonQuery();</p><p><b>  if(a>0)</b></p><p>&

溫馨提示

  • 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

提交評論