版權(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)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- net網(wǎng)上論壇的設(shè)計(jì)與實(shí)現(xiàn)畢業(yè)論文
- 家電下鄉(xiāng)asp.net-畢業(yè)論文
- asp.net畢業(yè)論文-稅務(wù)登記系統(tǒng)
- asp.net新聞發(fā)布系統(tǒng)畢業(yè)論文
- asp.net新聞發(fā)布系統(tǒng)畢業(yè)論文
- asp.net 技術(shù)畢業(yè)論文外文翻譯
- 畢業(yè)論文bbs論壇設(shè)計(jì)論文
- 基于asp.net公司網(wǎng)站的設(shè)計(jì)與實(shí)現(xiàn)——畢業(yè)論文
- 基于asp.net的網(wǎng)上購物系統(tǒng)畢業(yè)論文
- 畢業(yè)論文(設(shè)計(jì))基于asp.net的xx家教網(wǎng)
- 基于asp.net公司網(wǎng)站的設(shè)計(jì)與實(shí)現(xiàn)——畢業(yè)論文
- asp.net個人賬務(wù)管理系統(tǒng)畢業(yè)論文
- 基于asp.net的銷售管理系統(tǒng)---畢業(yè)論文
- asp.net在線畢業(yè)論文提交系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)(源代碼+論文)
- 基于asp.net教學(xué)輔助系統(tǒng)設(shè)計(jì)與實(shí)現(xiàn)——畢業(yè)論文
- 基于asp.net個人網(wǎng)站開發(fā)(畢業(yè)論文)
- 基于asp.net架構(gòu)的博客管理系統(tǒng)---畢業(yè)論文
- 基于asp.net簡易博客網(wǎng)站的設(shè)計(jì)與實(shí)現(xiàn)——畢業(yè)論文
- 基于asp.net的項(xiàng)目申報(bào)系統(tǒng)設(shè)計(jì)與實(shí)現(xiàn)畢業(yè)論文
- 畢業(yè)論文——論壇的設(shè)計(jì)與實(shí)現(xiàn)
評論
0/150
提交評論