基于ASP NET的安卓論壇設(shè)計(jì)與實(shí)現(xiàn)-軟件技術(shù)專業(yè)畢業(yè)論文
《基于ASP NET的安卓論壇設(shè)計(jì)與實(shí)現(xiàn)-軟件技術(shù)專業(yè)畢業(yè)論文》由會(huì)員分享,可在線閱讀,更多相關(guān)《基于ASP NET的安卓論壇設(shè)計(jì)與實(shí)現(xiàn)-軟件技術(shù)專業(yè)畢業(yè)論文(39頁(yè)珍藏版)》請(qǐng)?jiān)谘b配圖網(wǎng)上搜索。
1、 軟件技術(shù)專業(yè)畢業(yè)論文 基于ASP.NET的安卓論壇設(shè)計(jì)與實(shí)現(xiàn) 目 錄 論 文 摘 要 1 一、 BBS介紹 2 二、 使用工具及相關(guān)知識(shí) 3 (一) SQL Server 2008 概述 3 (二) ADO.NET概述 3 (三) ASP.NET簡(jiǎn)介 4 三、 系統(tǒng)分析 4 (一) 系統(tǒng)可行性分析 4 (二) 系統(tǒng)功能的需求分析 6 (三) 系統(tǒng)簡(jiǎn)要用例圖分析 8 (四) 運(yùn)行環(huán)
2、境 9 四、 系統(tǒng)總體設(shè)計(jì) 10 (一) 系統(tǒng)的設(shè)計(jì)目標(biāo) 10 (二) 系統(tǒng)功能結(jié)構(gòu) 11 五、 數(shù)據(jù)庫(kù)設(shè)計(jì) 12 (一) 數(shù)據(jù)庫(kù)和設(shè)計(jì)概述 13 (二) 概念模型設(shè)計(jì)(E-R圖) 13 (三) 數(shù)據(jù)庫(kù)邏輯設(shè)計(jì) 14 六、 系統(tǒng)的詳細(xì)設(shè)計(jì)與實(shí)現(xiàn) 17 (一) 前臺(tái)設(shè)計(jì)與實(shí)現(xiàn) 17 (二) 論壇后臺(tái)頁(yè)面設(shè)計(jì)如實(shí)現(xiàn) 28 結(jié) 論 36 參 考 文 獻(xiàn) 37 37 論 文 摘 要 論壇系統(tǒng)BBS(Bullitin Board System)是互聯(lián)網(wǎng)上一種人與人之間交互的必備工具,特別是做網(wǎng)站的必備,網(wǎng)上論壇提供一個(gè)信息交流的空間。人們可以
3、通過(guò)論壇一起討論自己喜歡的話題,提出自己喜歡的話題或者是回答一些問(wèn)題。用戶可以在論壇上發(fā)表對(duì)某個(gè)問(wèn)題的看法闡述自己的觀點(diǎn),給別人討論對(duì)某個(gè)問(wèn)題的看法,在Internet的發(fā)展中論壇的作用是無(wú)法代替的。 然而開發(fā)論壇的應(yīng)用程序必須了解兩部分的內(nèi)容,即前臺(tái)開發(fā)工具和后臺(tái)的數(shù)據(jù)庫(kù)。本文利用ASP.NET技術(shù)進(jìn)行前臺(tái)界面設(shè)計(jì),利用SQL Server 2008設(shè)計(jì)的后臺(tái)數(shù)據(jù)庫(kù)以及利用ADO.NET數(shù)據(jù)庫(kù)訪問(wèn)技術(shù)實(shí)現(xiàn)對(duì)數(shù)據(jù)庫(kù)的各種管理操作,實(shí)現(xiàn)BBS的各種基本功能。主要分析了BBS的主要組成情況,包括BBS的設(shè)計(jì)目標(biāo),框架結(jié)構(gòu),數(shù)據(jù)流程和BBS的主要特點(diǎn)等,重點(diǎn)介紹了前臺(tái)功能模塊的詳細(xì)思路和實(shí)現(xiàn)方法,
4、以及對(duì)后臺(tái)數(shù)據(jù)庫(kù)關(guān)鍵技術(shù)和部分源代碼的詳細(xì)說(shuō)明。 關(guān)鍵詞:BBS ASP.NET ADO.NET SQL 基于ASP.NET的安卓論壇設(shè)計(jì)與實(shí)現(xiàn) xxx (xxx大學(xué) 軟件學(xué)院軟件技術(shù)專業(yè)) 論壇系統(tǒng)服務(wù)已經(jīng)是互聯(lián)網(wǎng)站一種極為常見的互動(dòng)交流服務(wù)。論壇可以向網(wǎng)友提供開放性的分類專題討論區(qū)服務(wù),可以在此發(fā)表自己的某些觀感、交流某些技術(shù)、經(jīng)驗(yàn)?zāi)酥寥松母形蚝蛻n歡,亦可以作為網(wǎng)友之間的交流渠道。通過(guò)論壇的方式,增強(qiáng)人與人、個(gè)人與團(tuán)體、團(tuán)體與團(tuán)體之間的交流聯(lián)系,在Internet上實(shí)習(xí)信息的傳遞,提高辦事效率。因此論壇建設(shè)在Interne
5、t應(yīng)用上的地位顯而易見,它已成為現(xiàn)代人溝通和獲取信息的重要組成部分,從而倍受人們的重視。 一、 BBS介紹 BBS起源于二十世紀(jì)80年代初,最早的BBS只提供消息投遞和閱讀功能,使用者通常是些計(jì)算機(jī)愛好者。隨后,系統(tǒng)允許會(huì)員之間分享軟件、文件,進(jìn)行實(shí)時(shí)網(wǎng)絡(luò)對(duì)話、信件傳輸?shù)?。為了提供更好的服?wù),一些站點(diǎn)實(shí)行收費(fèi)政策,但目前Internet上還是有無(wú)數(shù)免費(fèi)BBS站點(diǎn)。一般BBS站點(diǎn)地址以域名形式出現(xiàn),這些站點(diǎn)可通過(guò)遠(yuǎn)程登錄進(jìn)行連接,更多的站點(diǎn)采用WWW的形式供會(huì)員使用。 BBS也被稱為異步會(huì)議系統(tǒng)、布告板,是網(wǎng)絡(luò)上除了E-mail之外,最為普遍的在線討論系統(tǒng),它來(lái)源于早期Internet發(fā)展
6、的BBS系統(tǒng)(Bulletin Board System),隨著Internet的發(fā)展,逐步演變成現(xiàn)在的形式——基于Web的BBS系統(tǒng)。 在本文中,主要介紹使用ASP.NET技術(shù)來(lái)實(shí)現(xiàn)網(wǎng)絡(luò)論壇建設(shè)。通過(guò)基于Internet互聯(lián)網(wǎng)的動(dòng)態(tài)WEB數(shù)據(jù)技術(shù),可以解決遠(yuǎn)程的數(shù)據(jù)傳輸與讀取,遠(yuǎn)程的客戶終端(Client)可以通過(guò)WEB頁(yè)面提交請(qǐng)求,查詢遠(yuǎn)端的數(shù)據(jù)服務(wù)器上的信息,以實(shí)現(xiàn)信息的共享,同時(shí)利用Internet技術(shù)可以降低軟件的開發(fā)和部署成本,只要在服務(wù)器上安裝WEB應(yīng)用就可以使每個(gè)客戶端都能瀏覽使用。 目前,通過(guò)BBS系統(tǒng)可隨時(shí)獲取各種最新的信息;也可以通過(guò)BBS系統(tǒng)來(lái)和別人討論計(jì)算機(jī)軟件、
7、硬件、硬件、Internet、多媒體、程序設(shè)計(jì)及人文、地理等等各種有趣的話題;還可以利用BBS系統(tǒng)來(lái)發(fā)布一些“問(wèn)題”、“廉價(jià)轉(zhuǎn)讓”、“招聘啟示”等問(wèn)題;更可以召集親朋友好友到聊天室內(nèi)高談?wù)撻煛@個(gè)精彩的天地就在你我的身旁,只要您擁有一臺(tái)可以訪問(wèn)互聯(lián)網(wǎng)的計(jì)算機(jī),就可以通過(guò)這個(gè)交流平臺(tái),來(lái)享受它的種種服務(wù)。 二、 使用工具及相關(guān)知識(shí) (一) SQL Server 2008 概述 SQL Server 2008出現(xiàn)在微軟數(shù)據(jù)平臺(tái)愿景上是因?yàn)樗沟霉究梢赃\(yùn)行他們最關(guān)鍵任務(wù)的應(yīng)用程序,同時(shí)降低了管理數(shù)據(jù)基礎(chǔ)設(shè)施和發(fā)送觀察和信息給所有用戶的成本。這個(gè)平臺(tái)有以下特點(diǎn): 1.可信任的——使得公司
8、可以以很高的安全性、可靠性和可擴(kuò)展性來(lái)運(yùn)行他們最關(guān)鍵任務(wù)的應(yīng)用程序。 2.高效的——SQL Server 2008降低了管理系統(tǒng)、.NET架構(gòu)和Visual Studio的時(shí)間和成本,使得開發(fā)人員可以開發(fā)強(qiáng)大的下一代數(shù)據(jù)庫(kù)應(yīng)用程序。 3.智能的——商業(yè)智能(BI)繼續(xù)作為大多數(shù)公司投資的關(guān)鍵領(lǐng)域和對(duì)于公司所有層面的用戶來(lái)說(shuō)的一個(gè)無(wú)價(jià)的信息源。 (二) ADO.NET概述 ADO.NET的名稱起源于ADO(ActiveX Data Objects),這是一個(gè)廣泛的類組,用于在以往的Microsoft技術(shù)中訪問(wèn)數(shù)據(jù).之所以使用ADO.NET名稱,是因?yàn)镸icrosoft希望表明,這是在.
9、NET編程環(huán)境中優(yōu)先使用的數(shù)據(jù)訪問(wèn)接口。 它提供了平臺(tái)互用性和可伸縮的數(shù)據(jù)訪問(wèn)。ADO.NET增強(qiáng)了對(duì)非連接編程模式的支持,并支持RICH XML。由于傳送的數(shù)據(jù)都是XML格式的,因此任何能夠讀取XML格式的應(yīng)用程序都可以進(jìn)行數(shù)據(jù)處理。事實(shí)上,接受數(shù)據(jù)的組件不一定要是ADO .NET組件,它可以是基于一個(gè)Microsoft Visual Studio的解決方案,也可以是任何運(yùn)行在其它平臺(tái)上的任何應(yīng)用程序。 ADO.NET是與數(shù)據(jù)源交互的.NET技術(shù)。有許多的Data Providers,它將允許與不同的數(shù)據(jù)源交流――取決于它們所使用的協(xié)議或者數(shù)據(jù)庫(kù)。然而無(wú)論使用什么樣的Data Provi
10、der,你將使用相似的對(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。 (三) ASP.NET簡(jiǎn)介 ASP.NET的前身ASP技術(shù),是在IIS 2.0上首次推出(Windows NT 3.51),當(dāng)時(shí)與 ADO 1.0 一起推出,在IIS 3.0 (Windows NT 4.0)發(fā)揚(yáng)光大,成為服務(wù)器端應(yīng)用程序的熱門開發(fā)工具,微軟還特別為它量身
11、打造了Visual InterDev開發(fā)工具,在1994年到2000年之間,ASP技術(shù)已經(jīng)成為微軟推展Windows NT 4.0平臺(tái)的關(guān)鍵技術(shù)之一,數(shù)以萬(wàn)計(jì)的ASP網(wǎng)站也是這個(gè)時(shí)候開始如雨后春筍般的出現(xiàn)在網(wǎng)絡(luò)上。它的簡(jiǎn)單以及高度可定制化的能力,也是它能迅速崛起的原因之一。 ASP.NET具有一下幾個(gè)重要特點(diǎn): 1.強(qiáng)大性和適應(yīng)性——ASP.NET是基于通用語(yǔ)言的編譯運(yùn)行的程序,所以它的強(qiáng)大性和適應(yīng)性,可以使它運(yùn)行在Web應(yīng)用軟件開發(fā)者的幾乎全部的平臺(tái)上。 2.簡(jiǎn)單性和易學(xué)性——ASP.NET使運(yùn)行一些很平常的任務(wù)如表單的提交客戶端的身份驗(yàn)證、分布系統(tǒng)和網(wǎng)站配置變得非常簡(jiǎn)單。 3.高效
12、可管理性——ASP.NET使用一種字符基礎(chǔ)的,分級(jí)的配置系統(tǒng),虛擬服務(wù)器環(huán)境和應(yīng)用程序的設(shè)置更加簡(jiǎn)單,因?yàn)榕渲眯畔⒍急4嬖诤?jiǎn)單文本中,新的設(shè)置有可能都不需要啟動(dòng)本地的管理員工具就可以實(shí)現(xiàn)。 三、 系統(tǒng)分析 (一) 系統(tǒng)可行性分析 可行性研究的目的,就是用最小的代價(jià)在盡可能短的時(shí)間內(nèi)確定是否能夠解釋決。要達(dá)到這個(gè)目的,必須分析幾種主要的可能解法的利弊,從而判斷原定的系統(tǒng)規(guī)模和目標(biāo)是否現(xiàn)實(shí),系統(tǒng)完成后能帶來(lái)的效益是否大到值得投資開發(fā)這個(gè)系統(tǒng)的程度。因此,可行性研究實(shí)質(zhì)上就是要進(jìn)行一次大大的壓縮簡(jiǎn)化了的系統(tǒng)分析和設(shè)計(jì)的過(guò)程,也就是在較高層次上以抽象的方式進(jìn)行的系統(tǒng)分析和設(shè)計(jì)的過(guò)程。 系統(tǒng)的可
13、行性分析主要包括技術(shù)上的可行性、經(jīng)濟(jì)上的可行性、操作上的可行性、法律上的可行性和開發(fā)環(huán)境上的可行性。本系統(tǒng)的可行性分析如下: 在技術(shù)方面:隨著國(guó)內(nèi)外軟件開發(fā)的日益發(fā)展壯大,各種中小企事業(yè)單位已具備獨(dú)立開發(fā)各種類型的軟件的能力,能夠滿足不同行業(yè)的特別的需求。從整個(gè)系統(tǒng)的技術(shù)構(gòu)成上來(lái)看,它屬于一個(gè)數(shù)據(jù)庫(kù)應(yīng)用類的系統(tǒng)。其基本操作就是對(duì)存在數(shù)據(jù)庫(kù)中的數(shù)據(jù)進(jìn)行添加、刪除、查找、編輯等。所以就單純的數(shù)據(jù)庫(kù)應(yīng)用來(lái)看,暫不存在太大的技術(shù)問(wèn)題。因此從技術(shù)方面來(lái)看考慮本系統(tǒng)的可行性是可行的。 在經(jīng)濟(jì)方面:現(xiàn)在越來(lái)越多的人都是通過(guò)網(wǎng)絡(luò)做許多事情,這個(gè)BBS系統(tǒng)易于操作,雖然對(duì)硬件要求比較高但是其安全性和管理性比
14、較好,實(shí)用性比較好,相信經(jīng)濟(jì)效益也會(huì)比較高。因此從經(jīng)濟(jì)方面考慮開發(fā)此系統(tǒng)是可行的。 在操作方面:隨著社會(huì)的發(fā)展,全民素質(zhì)的提高,不論是對(duì)于電腦系統(tǒng)的基本操作還是對(duì)電腦的基本維護(hù)都有了一定的基礎(chǔ)。同時(shí)還可以配置專業(yè)的電腦維護(hù)人員來(lái)維護(hù)電腦,不必?fù)?dān)心電腦的鼓掌問(wèn)題,且系統(tǒng)使用簡(jiǎn)單明了,因此從操作方面來(lái)看此系統(tǒng)是可行的。 在法律方面:此系統(tǒng)沒有侵犯他人的個(gè)人合法利益,系統(tǒng)所涉及的條款與國(guó)家的現(xiàn)行法律沒有抵觸,不損壞國(guó)家、集體、個(gè)人的任何利益,所以在法律上是完全可行的。 開發(fā)環(huán)境可行性:開發(fā)此BBS系統(tǒng)需要硬件環(huán)境要求操作系統(tǒng)為Windows XP Professional以上系統(tǒng)版本,需要安裝
15、Internet信息服務(wù),還有ASP.NET環(huán)境。目前看操作系統(tǒng)和軟件都不是問(wèn)題,系統(tǒng)硬件也可以滿足,所以從開發(fā)環(huán)境上來(lái)說(shuō)是可行的。 軟件需求分析工作是軟件生存周期中的重要的一步,也是決定性的一步。只有通過(guò)軟件需求分析,才能把軟件功能和性能的總體概念描述為具體的軟件需求規(guī)格說(shuō)明,從而奠定軟件開發(fā)的基礎(chǔ)。因此,在軟件開發(fā)前應(yīng)該做好對(duì)軟件的需求分析。 (二) 系統(tǒng)功能的需求分析 1. 基本功能 論壇的基本功能是構(gòu)成論壇系統(tǒng)的必要功能,包括如下基本功能。 (1) 發(fā)帖。論壇最初是為了互相討論話題而誕生的,發(fā)表帖子就是表達(dá)自己的看法,與他人進(jìn)行討論,因此發(fā)帖是論壇首要的功能。 (2) 瀏覽
16、帖子。發(fā)表帖子,就是供他人瀏覽查看,與他人分享自己的想法和經(jīng)驗(yàn)。 (3) 回帖。瀏覽了他人發(fā)帖子,想要發(fā)表自己的想法,參與討論,就可以回復(fù)這個(gè)帖子。 其實(shí),發(fā)帖→瀏覽帖子→回帖三大功能周而復(fù)始的循環(huán)進(jìn)行,就構(gòu)成了論壇,每個(gè)參與論壇的人,主要目的就是發(fā)帖,查看自己已經(jīng)發(fā)表的帖子,針對(duì)自己感興趣的帖子進(jìn)行回復(fù),參與討論。三大基本功能的相互關(guān)系如圖1所示。 發(fā)帖 帖子列 回帖 瀏覽帖 圖1論壇基本功能關(guān)系圖 2. 擴(kuò)展功能 除以上基本功能外,其它的論壇功能都是擴(kuò)展功能,包括如下功能: (1) 注冊(cè)登錄。方便經(jīng)常發(fā)帖的人不需要重復(fù)填寫個(gè)人信息。 (2) 分板塊瀏覽帖子。有利于具有
17、相同興趣的用戶相互討論,不易跑題。 (3) 編輯帖子。提供給用戶更新自己發(fā)言的選擇。 (4) 刪除帖子。如果用戶發(fā)飆了不符合論壇規(guī)則的帖子,組需要管理員刪除這些帖子。 (5) 轉(zhuǎn)移帖子。論壇劃分了板塊,如果帖子內(nèi)容不屬于所在板塊的關(guān)注話題,那么管理員可以選擇將此帖移動(dòng)到所屬話題的板塊中去。 (6) 置頂帖子。管理員如果需要強(qiáng)調(diào)某些帖子的重要,有必看性,可以將這些帖子置頂。 (7) 指定精華帖。如果管理員認(rèn)為某帖子內(nèi)容很好,可以坐上標(biāo)記,推薦給用戶看,用戶也可以只看精華帖。 (8) 搜索帖子。方便用戶查找自己需要的內(nèi)容。 (9) 管理板塊。論壇板塊需要先創(chuàng)建才能被使用,管理還可以刪
18、除板塊的相關(guān)信息。 (10) 設(shè)置參數(shù)。論壇一般有一些初始化信息,比如論壇名稱,每頁(yè)顯示帖子的數(shù)量等參數(shù)信息。 (11) 管理用戶。管理員可以對(duì)論壇注冊(cè)用戶進(jìn)行管理,直接添加用戶,賦予相關(guān)權(quán)限,也可以修改已注冊(cè)用戶的權(quán)限,對(duì)于違規(guī)用戶可以刪除。 刪除 作者 用戶 注冊(cè) 登錄 轉(zhuǎn)移 管理板塊 編輯 帖子 板塊 圖2論壇擴(kuò)展功能圖 論壇擴(kuò)展功能圖,如圖2所示。 (三) 系統(tǒng)簡(jiǎn)要用例圖分析 對(duì)于訪問(wèn)論壇的用戶,可分為注冊(cè)會(huì)員和為注冊(cè)的臨時(shí)用戶,這兩種用戶有著不同的權(quán)限,比如臨時(shí)用戶只能對(duì)帖子進(jìn)行查看,而注冊(cè)會(huì)員除了查看帖子之外,還可以發(fā)帖,回復(fù),查找用戶,并且可以對(duì)自
19、己的注冊(cè)資料進(jìn)行修改等等。 系統(tǒng)的用例圖如下圖3所示:注冊(cè)用戶 臨時(shí)用戶 瀏覽帖子 發(fā)表帖子 回復(fù)帖子 修改資料 用戶搜索 管理員 用戶管理 帖子管理 論壇信息管理 圖3系統(tǒng)用例圖 (四) 運(yùn)行環(huán)境 運(yùn)行環(huán)境配置從硬件和軟件兩方面描述,所列出的都是系統(tǒng)所能正常運(yùn)行的最低限度。而更高的硬件配置和軟件環(huán)境將會(huì)帶來(lái)更快的運(yùn)行速度以及更穩(wěn)定的運(yùn)行效果。 硬件要求: CPU:Intel Pentium 600MHz以上。 內(nèi)存:128M以上。 磁盤安裝空間:3.2GB(完全安裝,包括 .NET Frameworks 以及 .NET IDE全
20、部開發(fā)工具和MSDN)。 顯示:800*600,256色。 軟件需求:Microsoft Windows 2000 + SP1。 Microsoft Internet Explorer 5.5 。 四、 系統(tǒng)總體設(shè)計(jì) (一) 系統(tǒng)的設(shè)計(jì)目標(biāo) 對(duì)于典型的數(shù)據(jù)庫(kù)管理系統(tǒng),尤其是對(duì)像論壇這樣的數(shù)據(jù)流量特別大的網(wǎng)絡(luò)管理系統(tǒng),必須要滿足使用方便、操作靈活等設(shè)計(jì)需求。本系統(tǒng)在設(shè)計(jì)時(shí)應(yīng)滿足以下幾個(gè)目標(biāo): 1.采用人機(jī)對(duì)話的操作方式,界面設(shè)計(jì)美觀友好,信息查看靈活、方便、快捷、準(zhǔn)確,數(shù)據(jù)存儲(chǔ)安全可靠。 2.全面展示系統(tǒng)內(nèi)所有分類的帖子,并進(jìn)行分頁(yè)顯示。 3.為用戶提供一個(gè)方便、快
21、捷的主題信息查看功能。 4.實(shí)現(xiàn)在線發(fā)表帖子。 5.提供登錄模塊,主要用開管理員登錄系統(tǒng)和發(fā)表帖子時(shí)留下發(fā)表者的信息。 6.用戶隨時(shí)都可以查看自己發(fā)表的帖子。 7.對(duì)用戶輸入的數(shù)據(jù),系統(tǒng)進(jìn)行嚴(yán)格的數(shù)據(jù)檢驗(yàn),盡可能排除人為的錯(cuò)誤。 8.系統(tǒng)最大限度地實(shí)現(xiàn)了易維護(hù)性和易操作性。 9.系統(tǒng)運(yùn)行穩(wěn)定安全可靠。 (二) 系統(tǒng)功能結(jié)構(gòu) 1.前臺(tái)功能結(jié)構(gòu) 查看版面下根貼 查看精華帖子 搜索帖子 查看帖子內(nèi)容 用戶登錄 用戶注冊(cè) 用戶注銷 發(fā)表帖子 回復(fù)帖子 查看自己發(fā)表的帖子 BBS論壇前臺(tái) 用戶訪問(wèn)論壇首頁(yè)面后,可進(jìn)行查看版面
22、下根貼信息、查看自己發(fā)表的帖子、查看精華帖子、搜索帖子、查看根貼信息、用戶注冊(cè)等功能。用戶在此BBS論壇中通過(guò)注冊(cè)成為該網(wǎng)站的真正用戶并成功登錄系統(tǒng)后,可進(jìn)行發(fā)表帖子、回復(fù)帖子、查看自己發(fā)表的帖子等操作。 前臺(tái)功能結(jié)構(gòu)圖如圖4所示。 圖4前臺(tái)功能模塊圖 2. 后臺(tái)功能結(jié)構(gòu) 圖5后臺(tái)功能模塊圖 類別管理 版面管理 用戶管理 退出管理 BBS論壇后臺(tái) 若用戶的權(quán)限為管理員,則可進(jìn)入后臺(tái),可進(jìn)行論壇類別的管理、版面管理和用戶管理的操作。后臺(tái)功能結(jié)構(gòu)圖如下圖5所示。 3. 系統(tǒng)流程圖 類別管理 版面管理 用戶管理 是否登錄 是 否 成功 進(jìn)入后臺(tái) 后臺(tái) 首頁(yè)
23、 用戶 登錄 管理員 (1) 系統(tǒng)后臺(tái)流程圖如下圖6所示。圖6后臺(tái)功能流程圖 圖7前臺(tái)臺(tái)功能流程圖圖 (2)系統(tǒng)后臺(tái)流程圖如下圖7所示。查看精華帖子 搜索根貼 查看版面下根貼 查看根貼內(nèi)容 發(fā)表帖子 回復(fù)帖子 提前帖子 刪除帖子 置頂帖子 置為精華貼 刪除回復(fù)帖 查看自己發(fā)表的根貼 用戶注冊(cè) 是否管理員、版主、帖子發(fā)表者 是否登錄 是否登錄 提示無(wú)權(quán)操作 游客 訪問(wèn) 是 是 否 是 否 否 前臺(tái) 首頁(yè) 用戶 登錄 成功 是 五、 數(shù)據(jù)庫(kù)設(shè)計(jì) 數(shù)據(jù)庫(kù)設(shè)計(jì)是指對(duì)于一個(gè)給定的應(yīng)用環(huán)境,構(gòu)造最優(yōu)的數(shù)據(jù)庫(kù)模式,建
24、立數(shù)據(jù)庫(kù)及其應(yīng)用系統(tǒng),使之能夠有效地存儲(chǔ)數(shù)據(jù),滿足各種用戶的應(yīng)用需求(信息要求和處理要求)。 (一) 數(shù)據(jù)庫(kù)和設(shè)計(jì)概述 1.數(shù)據(jù)庫(kù)是信息系統(tǒng)的核心和基礎(chǔ),把信息系統(tǒng)中大量的數(shù)據(jù)按一定的模型組織起來(lái),提供存儲(chǔ)、維護(hù)、檢索數(shù)據(jù)的功能,使信息系統(tǒng)可以方便、及時(shí)、準(zhǔn)確地從數(shù)據(jù)庫(kù)中獲得所需的信息。 2.數(shù)據(jù)庫(kù)是信息系統(tǒng)的各個(gè)部分能否緊密地結(jié)合在一起以及如何結(jié)合的關(guān)鍵所在。 3.數(shù)據(jù)庫(kù)設(shè)計(jì)是信息系統(tǒng)開發(fā)和建設(shè)的重要組成部分。 (二) 概念模型設(shè)計(jì)(E-R圖) 數(shù)據(jù)模型是是數(shù)據(jù)特征的抽象,從抽象層次上描述了系統(tǒng)的靜態(tài)特征、動(dòng)態(tài)行為和約束條件,為數(shù)據(jù)庫(kù)系統(tǒng)的信息表與操作提供一個(gè)抽象的框架。描述了數(shù)
25、據(jù)結(jié)構(gòu)、數(shù)據(jù)操作及數(shù)據(jù)約束。 E-R模型的基本概念 ER圖概念化地構(gòu)建實(shí)體間關(guān)系的模型,這使得它們區(qū)別于數(shù)據(jù)庫(kù)模型圖。ER圖的理念是:項(xiàng)目所有參與者能理解ER圖。ER圖由不同實(shí)體類型、關(guān)系、特性和類型構(gòu)成。實(shí)體是諸如用戶的實(shí)際對(duì)象,有時(shí)更抽象,但必須有業(yè)務(wù)意義。特性用于描述實(shí)體,關(guān)系用于實(shí)體之間 (1)實(shí)體:現(xiàn)實(shí)世界中的事物; (2)屬性:事物的特性; (3)聯(lián)系:現(xiàn)實(shí)世界中事物間的關(guān)系。實(shí)體集的關(guān)系有一對(duì)一、一對(duì)多、多對(duì)多的聯(lián)系。 用戶 M 發(fā)表 N 帖子 詳細(xì)資料 1 1 N 管理 管理員 1 N 添加 1
26、 修改 論壇 圖8系統(tǒng)E-R圖 本系統(tǒng)的E-R圖如下圖8所示: (三) 數(shù)據(jù)庫(kù)邏輯設(shè)計(jì) 圖9 BBS數(shù)據(jù)庫(kù)所包含的數(shù)據(jù)表結(jié)構(gòu)圖 BlockBig(論壇區(qū)塊信息表) BlockSmall(論壇版塊信息表) Message(消息信息表) Popedom(論壇類別信息表) Post(論壇帖子信息表) PostBack(帖子回復(fù)信息表) PostType(帖子類型信息表) Users(用戶信息表) BBS 根據(jù)數(shù)據(jù)庫(kù)概念設(shè)計(jì),可以創(chuàng)建與實(shí)體對(duì)應(yīng)的數(shù)據(jù)表。本系統(tǒng)中所包含的數(shù)據(jù)表的結(jié)構(gòu)圖如圖9所示。 本系統(tǒng)包括8個(gè)數(shù)據(jù)表,下面分別是這些表的結(jié)構(gòu)。 1. BlockBig(
27、論壇區(qū)塊信息表),該表結(jié)構(gòu)如下表表1所示。 表1 BlockBig(論壇區(qū)塊信息表) 列名 數(shù)據(jù)類型 是否主鍵 允許空值 描述 bigId int 是 否 ID自動(dòng)生成 bigName varcher 否 是 區(qū)的名稱 bigDescription varcher 否 是 對(duì)區(qū)的描述 BigAdmin varcher 否 是 區(qū)管理員 bigAddtime datetime 否 是 區(qū)添加時(shí)間 2. BlockSmall(論壇版塊信息表),該表結(jié)構(gòu)如下表表2所示。 表2 BlockSmall(論壇版塊信息表) 列名 數(shù)據(jù)類型
28、 是否主鍵 允許空值 描述 small_Id int 是 否 表Id自動(dòng)生成 small_Name varchar 否 是 板塊名稱 small_Desciption varchar 否 是 板塊描述 small_ImgUrl varchar 否 是 板塊圖片 small_Admin int 否 是 版主 small_BigId int 否 是 所屬區(qū)號(hào) small_Adddate datetime 否 是 加入時(shí)間 small_PostCount int 否 是 帖子數(shù)量 small_PostBackCo
29、unt int 否 是 回復(fù)帖子數(shù)量 3. Message(消息信息表),該表結(jié)構(gòu)如下表表3所示。 表3 Message(消息信息表) 列名 數(shù)據(jù)類型 是否主鍵 允許空值 描述 message_id int 是 否 表Id自動(dòng)生成 message_title varcher 否 是 消息題目 message_content varcher 否 是 消息內(nèi)容 message_sender int 否 是 消息發(fā)送者 message_toUser int 否 是 消息接收者 message_IsRead int 否 是
30、 是否已讀 message_Adddate datetime 否 是 消息時(shí)間 4. Popedom(論壇類別信息表),該表結(jié)構(gòu)如下表表4所示。 表4 Popedom(論壇類別信息表) 列名 數(shù)據(jù)類型 是否主鍵 允許空值 描述 popedom_id int 是 否 表Id自動(dòng)生成 popedom_Name varchar 否 是 論壇類別名稱 5. Post(論壇帖子信息表),該表結(jié)構(gòu)如下表表5所示。 表5 Post(論壇帖子信息表) 列名 數(shù)據(jù)類型 是否主鍵 允許空值 描述 post_id int 是 否 表Id自動(dòng)生成
31、 post_Title varchar 否 是 帖子題目 post_Content varchar 否 是 帖子內(nèi)容 post_Sender int 否 是 帖子發(fā)表人 post_SendTime datetime 否 是 帖子發(fā)送時(shí)間 post_SmallId int 否 是 所屬版塊編號(hào) post_TypeId int 否 是 帖子類型標(biāo)號(hào) post_BrowseCount int 否 是 帖子瀏覽次數(shù) post_BackCount int 否 是 帖子回復(fù)次數(shù) 6. PostBack(帖子回復(fù)信息表),該表結(jié)
32、構(gòu)如下表表6所示。 表6 PostBack(帖子回復(fù)信息表) 列名 數(shù)據(jù)類型 是否主鍵 允許空值 描述 Postback_Id int 是 否 表Id自動(dòng)生成 Postback_content varchar 否 是 帖子回復(fù)內(nèi)容 Postback_Sender int 否 是 帖子回復(fù)人 Postback_SendTime datetime 否 是 帖子回復(fù)時(shí)間 Postback_PostId int 否 是 帖子標(biāo)號(hào) 7. PostType(帖子類型信息表),該表結(jié)構(gòu)如下表表7所示。 表7 PostType(帖子類型信息表)
33、 列名 數(shù)據(jù)類型 是否主鍵 允許空值 描述 PostType_Id int 是 否 表Id自動(dòng)生成 PostType_Name varchar 否 是 帖子類型名稱 PostType_BlockSmallId int 否 是 所屬版塊標(biāo)號(hào) PostType_Adddate datetime 否 是 帖子類型創(chuàng)建時(shí)間 8. Users(用戶信息表),該表結(jié)構(gòu)如下表表8所示。 表8 Users(用戶信息表) 列名 數(shù)據(jù)類型 是否主鍵 允許空值 描述 UserId int 是 否 表Id自動(dòng)生成 UserName varc
34、har 否 是 用戶姓名 UserPwd varchar 否 是 用戶密碼 UserEmail varchar 否 是 用戶Email UserPic varchar 否 是 用戶照片 UserQx int 否 是 用戶權(quán)限設(shè)置 UserOnline int 否 是 是否在線 UserIp varchar 否 是 用戶ip UserLoginDate datetime 否 是 用戶注冊(cè)時(shí)間 IsAdmin int 否 是 是否管理員 六、 系統(tǒng)的詳細(xì)設(shè)計(jì)與實(shí)現(xiàn) (一) 前臺(tái)設(shè)計(jì)與實(shí)現(xiàn) 由于前臺(tái)功能模塊較
35、多,而各模塊的實(shí)現(xiàn)過(guò)程都是類似的,所以對(duì)于系統(tǒng)前臺(tái),現(xiàn)在只介紹系統(tǒng)重點(diǎn)設(shè)計(jì)。
圖10 安卓論壇首頁(yè)
1. 論壇系統(tǒng)前臺(tái)首頁(yè)頁(yè)面運(yùn)行結(jié)果如下圖所示。
該頁(yè)面為論壇首頁(yè)頁(yè)面,當(dāng)用戶進(jìn)入本系統(tǒng)時(shí)會(huì)自動(dòng)進(jìn)入本頁(yè)面。用戶可以自行選擇自己想進(jìn)的版面。
此BBS設(shè)計(jì)有母版頁(yè)存在,故論壇首頁(yè)實(shí)現(xiàn)代碼如下:
36、derWidth="1px" CellPadding="2" ForeColor="Black">
38、d class="style3" align="left">
<%# Eval("bigName") %>
區(qū)長(zhǎng):
創(chuàng)建日期:
40、id_study.aspx?big_id=<%# Eval("bigId") %>'><%#Eval ("bigDescription") %>
41、……… public partial class login : System.Web.UI.Page { //獲取數(shù)據(jù)庫(kù)連接字符串 DataHelper helper = new DataHelper(); protected void Page_Load(object sender, EventArgs e) { } protected void User_login_Click(object sender, EventArgs e) { String Name = UserName
42、.Text; string Pwd = User_pwd.Text; String user_ip=Request.UserHostAddress;//獲取用戶IP地址信息 if (Name == "" || Pwd == "") { String alerts = "用戶名或密碼不能為空!"; Response.Write(""); } el
43、se { VldUserLogin(Name,Pwd,user_ip); } } public void VldUserLogin(string strUserName, string strPassWord, string ip)//驗(yàn)證并修改個(gè)別信息 { string strUserId = null; string isadmin = null; int UserQx=0; String connstring = helper.Getstr()
44、; String strSql = "SELECT UserId FROM Users WHERE UserName='" + strUserName + "' and UserPwd='" + strPassWord + "'";//根據(jù)用戶名和密碼來(lái)查詢用戶的ID String strSql2 = "SELECT IsAdmin FROM Users WHERE UserName='" + strUserName + "' and UserPwd='" + strPassWord + "'";//根據(jù)用戶名和密碼來(lái)查詢用戶是否為管理的的標(biāo)志
45、 String strSql3 = "SELECT UserQx FROM Users WHERE UserName='" + strUserName + "' and UserPwd='" + strPassWord + "'";//查詢用戶的權(quán)限 string strSql4 = "update Users set UserOnline='" + 1 + "',UserIp='" + ip + "'WHERE UserName='" + strUserName + "' and UserPwd='" + strPassWord + "'"; SqlC
46、onnection conn = new SqlConnection(connstring); SqlCommand cmd = new SqlCommand(); cmd.Connection = conn;//設(shè)置連接 SqlDataReader reader; try { conn.Open(); cmd.CommandText = strSql; reader = cmd.ExecuteReader();
47、 if (reader.Read()) { strUserId =reader["UserId"].ToString();//獲取編號(hào)UserId reader.Close(); if (strUserId.Equals("")) { String alerts = "該用戶不存在!"; Response.Write(""); } else { cmd.CommandText = strSql2; reader = cmd.ExecuteReader(); if (reader.Read()) {
49、 isadmin = reader["IsAdmin"].ToString();//獲取是否是管理員 reader.Close(); } cmd.CommandText = strSql3; reader = cmd.ExecuteReader(); if (reader.Read())
50、 { UserQx = int.Parse(reader["UserQx"].ToString());//獲取權(quán)限 reader.Close(); } cmd.CommandText = strSql4; int result = cmd.ExecuteNonQuery();//修改部分信息 Session["user
51、_qx"] = UserQx;//往Session里賦值 Session["user_id"] = strUserId; Session["user_name"] = strUserName; //是否是管理員,用于前臺(tái)主框架是否顯示管理 Session["IsAdmin"] = isadmin; Response.Redirect("and
52、roid_index.aspx");//成功跳轉(zhuǎn) } } } catch(Exception ex) { Response.Write(" 意外關(guān)閉"); conn.Close(); } finally { conn.Close(); } } } 圖12 安卓論壇注冊(cè)頁(yè)面 3. 該論壇注冊(cè)
53、頁(yè)面如下圖所示: 該頁(yè)面為用戶注冊(cè)頁(yè)面,用戶按要求填完后可進(jìn)行注冊(cè),若用戶想添加頭像則可以輸入頭像網(wǎng)絡(luò)地址或頭像本地所在位置,進(jìn)行頭像上傳。若點(diǎn)擊重置則清空所有文本框內(nèi)容,進(jìn)行重新輸入。 其頁(yè)面實(shí)現(xiàn)代碼如下所示: …… public partial class Jion : System.Web.UI.Page { //獲取數(shù)據(jù)庫(kù)連接字符串 DataHelper helper = new DataHelper(); private string user_Name1, pwd1, user_email1,ip,pic; int id = 0;
54、 public void Add_user() { string strconnection = helper.Getstr(); string selectSQL = "select max(UserId) as MaxId from Users"; SqlConnection conn = new SqlConnection(strconnection); SqlCommand cmd = new SqlCommand(selectSQL, conn); SqlDataReader
55、reader; try { conn.Open(); reader = cmd.ExecuteReader(); if (reader.Read()) { id = int.Parse(reader["MaxId"].ToString()) + 1;//取標(biāo)號(hào)最大值 Item(); Response.Redirect("login.as
56、px"); } reader.Close(); } catch (Exception ex) { conn.Close(); } finally { conn.Close(); } conn.Close(); } public void Item() //插入元素 { string
57、strconnection = helper.Getstr(); user_Name1 = user_name.Text; pwd1 = pwd.Text; pic = UpImg1.GetFilePath; user_email1 = user_email.Text; String insert = "insert into Users(UserId,UserName,UserPwd,UserEmail,UserPic)values('" + id + "','" + user_Name1 + "
58、','" + pwd1 + "','" + user_email1 + "','" + pic + "')"; SqlConnection conn = new SqlConnection(strconnection); try { conn.Open(); SqlCommand cmd = new SqlCommand(insert, conn); int result=cmd.ExecuteNonQuery();
59、 } catch (Exception ex) { conn.Close(); } finally { conn.Close(); } conn.Close(); } protected void Page_Load(object sender, EventArgs e) { } protected void Button2_Click(object sender, EventA
60、rgs e) //注冊(cè)按鈕觸發(fā)事件 { if ((user_name.Text == "") || (pwd.Text == "")) //判斷用戶名和密碼是否為空 { string alerts = "用戶名和密碼不能為空!"; Response.Write(""); } else if (pwd.Text != rpwd.Text) {
61、 string alerts = "兩次輸入的密碼不一致!"; Response.Write(""); } else { Add_user(); } } protected void Button1_Click(object sender, EventArgs e) { //檢測(cè)該用戶是否
62、已經(jīng)存在 string sql = "select UserId from Users where UserName='"+user_name.Text+"'"; string strconnection = helper.Getstr(); SqlConnection conn = new SqlConnection(strconnection); SqlCommand cmd = new SqlCommand(sql, conn); SqlDataReader reader; try
63、 { conn.Open(); reader=cmd.ExecuteReader(); if (reader.Read()) { reader.Close(); Response.Write(""); } else { Response.W
64、rite(""); } } catch(Exception ex) { conn.Close(); } finally { conn.Close(); } } } 圖13 安卓論壇發(fā)帖頁(yè)面 4. 該論壇發(fā)帖頁(yè)面如下圖所示。 該頁(yè)面為用戶發(fā)表帖子頁(yè)面,若用戶未登錄則自動(dòng)跳轉(zhuǎn)到用戶登錄
65、界面,提示用戶登錄,若用戶已登錄,則可以進(jìn)行發(fā)帖,按重置按鈕后則清空所有文本框。 該論壇發(fā)帖頁(yè)面后臺(tái)實(shí)現(xiàn)代碼如下所示: …… public partial class SentPost : System.Web.UI.Page { //獲取數(shù)據(jù)庫(kù)連接字符串 DataHelper helper = new DataHelper(); protected void Page_Load(object sender, EventArgs e) { //驗(yàn)證是否有用戶登錄 if (Session["user_id"] =
66、= null) { Response.Redirect("login.aspx"); } } //發(fā)表提交按鈕事件 protected void Button1_Click(object sender, EventArgs e) { //獲取表單信息 int PostType = int.Parse(posttype_ddl.SelectedValue); string strTitle = txt_title.Text; int UserId = int.Parse(Session["user_id"].ToString()); //內(nèi)容 string strContent = nr.Text; int PostSmall_Id = int.Parse(Request.QueryString["Small_Id"]);
- 溫馨提示:
1: 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝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. 裝配圖網(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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 中西方家庭教育的對(duì)比ppt課件
- 《運(yùn)籌學(xué)教程》第五版運(yùn)籌學(xué)6對(duì)策論矩陣對(duì)策課件
- (部編版)統(tǒng)編版四年級(jí)語(yǔ)文下冊(cè)第2課《鄉(xiāng)下人家》ppt課件
- 全等三角形1--公開課一等獎(jiǎng)ppt課件
- 《會(huì)跳舞樹葉娃娃》課件
- 9兒童詩(shī)兩首_人教版五年級(jí)的語(yǔ)文下冊(cè)課件
- 綠色植物是食物之源(我的課件)0
- 河南專版2022春八年級(jí)語(yǔ)文下冊(cè)第四單元16慶祝奧林匹克運(yùn)動(dòng)復(fù)興25周年習(xí)題課件新人教版
- 全國(guó)xx杯說(shuō)課大賽機(jī)械類一等獎(jiǎng)作品:鉗工車模的制作說(shuō)課ppt課件
- 六年級(jí)下冊(cè)數(shù)學(xué)ppt課件-總復(fù)習(xí)(1)數(shù)的認(rèn)識(shí)-整數(shù)∣北師大版
- 牛頓第二定律優(yōu)秀完整公開課ppt課件
- 調(diào)脂與卒中防治課件
- 點(diǎn)到平面的距離課件
- 聚焦新醫(yī)改形勢(shì)下的醫(yī)院發(fā)展戰(zhàn)略
- 四肢血管超聲基礎(chǔ)