基于ASP NET的安卓論壇設(shè)計(jì)與實(shí)現(xiàn)-軟件技術(shù)專業(yè)畢業(yè)論文
《基于ASP NET的安卓論壇設(shè)計(jì)與實(shí)現(xiàn)-軟件技術(shù)專業(yè)畢業(yè)論文》由會員分享,可在線閱讀,更多相關(guān)《基于ASP NET的安卓論壇設(shè)計(jì)與實(shí)現(xiàn)-軟件技術(shù)專業(yè)畢業(yè)論文(39頁珍藏版)》請?jiān)谘b配圖網(wǎng)上搜索。
1、 軟件技術(shù)專業(yè)畢業(yè)論文 基于ASP.NET的安卓論壇設(shè)計(jì)與實(shí)現(xiàn) 目 錄 論 文 摘 要 1 一、 BBS介紹 2 二、 使用工具及相關(guān)知識 3 (一) SQL Server 2008 概述 3 (二) ADO.NET概述 3 (三) ASP.NET簡介 4 三、 系統(tǒng)分析 4 (一) 系統(tǒng)可行性分析 4 (二) 系統(tǒng)功能的需求分析 6 (三) 系統(tǒng)簡要用例圖分析 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ù)庫設(shè)計(jì) 12 (一) 數(shù)據(jù)庫和設(shè)計(jì)概述 13 (二) 概念模型設(shè)計(jì)(E-R圖) 13 (三) 數(shù)據(jù)庫邏輯設(shè)計(jì) 14 六、 系統(tǒng)的詳細(xì)設(shè)計(jì)與實(shí)現(xiàn) 17 (一) 前臺設(shè)計(jì)與實(shí)現(xiàn) 17 (二) 論壇后臺頁面設(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)上論壇提供一個信息交流的空間。人們可以
3、通過論壇一起討論自己喜歡的話題,提出自己喜歡的話題或者是回答一些問題。用戶可以在論壇上發(fā)表對某個問題的看法闡述自己的觀點(diǎn),給別人討論對某個問題的看法,在Internet的發(fā)展中論壇的作用是無法代替的。 然而開發(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的各種基本功能。主要分析了BBS的主要組成情況,包括BBS的設(shè)計(jì)目標(biāo),框架結(jié)構(gòu),數(shù)據(jù)流程和BBS的主要特點(diǎn)等,重點(diǎn)介紹了前臺功能模塊的詳細(xì)思路和實(shí)現(xiàn)方法,
4、以及對后臺數(shù)據(jù)庫關(guān)鍵技術(shù)和部分源代碼的詳細(xì)說明。 關(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)站一種極為常見的互動交流服務(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è)在Interne
5、t應(yīng)用上的地位顯而易見,它已成為現(xiàn)代人溝通和獲取信息的重要組成部分,從而倍受人們的重視。 一、 BBS介紹 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)采用WWW的形式供會員使用。 BBS也被稱為異步會議系統(tǒng)、布告板,是網(wǎng)絡(luò)上除了E-mail之外,最為普遍的在線討論系統(tǒng),它來源于早期Internet發(fā)展
6、的BBS系統(tǒng)(Bulletin Board System),隨著Internet的發(fā)展,逐步演變成現(xiàn)在的形式——基于Web的BBS系統(tǒng)。 在本文中,主要介紹使用ASP.NET技術(shù)來實(shí)現(xiàn)網(wǎng)絡(luò)論壇建設(shè)。通過基于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)用就可以使每個客戶端都能瀏覽使用。 目前,通過BBS系統(tǒng)可隨時獲取各種最新的信息;也可以通過BBS系統(tǒng)來和別人討論計(jì)算機(jī)軟件、
7、硬件、硬件、Internet、多媒體、程序設(shè)計(jì)及人文、地理等等各種有趣的話題;還可以利用BBS系統(tǒng)來發(fā)布一些“問題”、“廉價(jià)轉(zhuǎn)讓”、“招聘啟示”等問題;更可以召集親朋友好友到聊天室內(nèi)高談?wù)撻煛@個精彩的天地就在你我的身旁,只要您擁有一臺可以訪問互聯(lián)網(wǎng)的計(jì)算機(jī),就可以通過這個交流平臺,來享受它的種種服務(wù)。 二、 使用工具及相關(guān)知識 (一) SQL Server 2008 概述 SQL Server 2008出現(xiàn)在微軟數(shù)據(jù)平臺愿景上是因?yàn)樗沟霉究梢赃\(yùn)行他們最關(guān)鍵任務(wù)的應(yīng)用程序,同時降低了管理數(shù)據(jù)基礎(chǔ)設(shè)施和發(fā)送觀察和信息給所有用戶的成本。這個平臺有以下特點(diǎn): 1.可信任的——使得公司
8、可以以很高的安全性、可靠性和可擴(kuò)展性來運(yùn)行他們最關(guān)鍵任務(wù)的應(yīng)用程序。 2.高效的——SQL Server 2008降低了管理系統(tǒng)、.NET架構(gòu)和Visual Studio的時間和成本,使得開發(fā)人員可以開發(fā)強(qiáng)大的下一代數(shù)據(jù)庫應(yīng)用程序。 3.智能的——商業(yè)智能(BI)繼續(xù)作為大多數(shù)公司投資的關(guān)鍵領(lǐng)域和對于公司所有層面的用戶來說的一個無價(jià)的信息源。 (二) ADO.NET概述 ADO.NET的名稱起源于ADO(ActiveX Data Objects),這是一個廣泛的類組,用于在以往的Microsoft技術(shù)中訪問數(shù)據(jù).之所以使用ADO.NET名稱,是因?yàn)镸icrosoft希望表明,這是在.
9、NET編程環(huán)境中優(yōu)先使用的數(shù)據(jù)訪問接口。 它提供了平臺互用性和可伸縮的數(shù)據(jù)訪問。ADO.NET增強(qiáng)了對非連接編程模式的支持,并支持RICH XML。由于傳送的數(shù)據(jù)都是XML格式的,因此任何能夠讀取XML格式的應(yīng)用程序都可以進(jìn)行數(shù)據(jù)處理。事實(shí)上,接受數(shù)據(jù)的組件不一定要是ADO .NET組件,它可以是基于一個Microsoft Visual Studio的解決方案,也可以是任何運(yùn)行在其它平臺上的任何應(yīng)用程序。 ADO.NET是與數(shù)據(jù)源交互的.NET技術(shù)。有許多的Data Providers,它將允許與不同的數(shù)據(jù)源交流――取決于它們所使用的協(xié)議或者數(shù)據(jù)庫。然而無論使用什么樣的Data Provi
10、der,你將使用相似的對象與數(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。 (三) ASP.NET簡介 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ā)工具,微軟還特別為它量身
11、打造了Visual InterDev開發(fā)工具,在1994年到2000年之間,ASP技術(shù)已經(jīng)成為微軟推展Windows NT 4.0平臺的關(guān)鍵技術(shù)之一,數(shù)以萬計(jì)的ASP網(wǎng)站也是這個時候開始如雨后春筍般的出現(xiàn)在網(wǎng)絡(luò)上。它的簡單以及高度可定制化的能力,也是它能迅速崛起的原因之一。 ASP.NET具有一下幾個重要特點(diǎn): 1.強(qiáng)大性和適應(yīng)性——ASP.NET是基于通用語言的編譯運(yùn)行的程序,所以它的強(qiáng)大性和適應(yīng)性,可以使它運(yùn)行在Web應(yīng)用軟件開發(fā)者的幾乎全部的平臺上。 2.簡單性和易學(xué)性——ASP.NET使運(yùn)行一些很平常的任務(wù)如表單的提交客戶端的身份驗(yàn)證、分布系統(tǒng)和網(wǎng)站配置變得非常簡單。 3.高效
12、可管理性——ASP.NET使用一種字符基礎(chǔ)的,分級的配置系統(tǒng),虛擬服務(wù)器環(huán)境和應(yīng)用程序的設(shè)置更加簡單,因?yàn)榕渲眯畔⒍急4嬖诤唵挝谋局校碌脑O(shè)置有可能都不需要啟動本地的管理員工具就可以實(shí)現(xiàn)。 三、 系統(tǒng)分析 (一) 系統(tǒng)可行性分析 可行性研究的目的,就是用最小的代價(jià)在盡可能短的時間內(nèi)確定是否能夠解釋決。要達(dá)到這個目的,必須分析幾種主要的可能解法的利弊,從而判斷原定的系統(tǒng)規(guī)模和目標(biāo)是否現(xiàn)實(shí),系統(tǒng)完成后能帶來的效益是否大到值得投資開發(fā)這個系統(tǒng)的程度。因此,可行性研究實(shí)質(zhì)上就是要進(jìn)行一次大大的壓縮簡化了的系統(tǒng)分析和設(shè)計(jì)的過程,也就是在較高層次上以抽象的方式進(jìn)行的系統(tǒng)分析和設(shè)計(jì)的過程。 系統(tǒng)的可
13、行性分析主要包括技術(shù)上的可行性、經(jīng)濟(jì)上的可行性、操作上的可行性、法律上的可行性和開發(fā)環(huán)境上的可行性。本系統(tǒng)的可行性分析如下: 在技術(shù)方面:隨著國內(nèi)外軟件開發(fā)的日益發(fā)展壯大,各種中小企事業(yè)單位已具備獨(dú)立開發(fā)各種類型的軟件的能力,能夠滿足不同行業(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)的可行性是可行的。 在經(jīng)濟(jì)方面:現(xiàn)在越來越多的人都是通過網(wǎng)絡(luò)做許多事情,這個BBS系統(tǒng)易于操作,雖然對硬件要求比較高但是其安全性和管理性比
14、較好,實(shí)用性比較好,相信經(jīng)濟(jì)效益也會比較高。因此從經(jīng)濟(jì)方面考慮開發(fā)此系統(tǒng)是可行的。 在操作方面:隨著社會的發(fā)展,全民素質(zhì)的提高,不論是對于電腦系統(tǒng)的基本操作還是對電腦的基本維護(hù)都有了一定的基礎(chǔ)。同時還可以配置專業(yè)的電腦維護(hù)人員來維護(hù)電腦,不必?fù)?dān)心電腦的鼓掌問題,且系統(tǒng)使用簡單明了,因此從操作方面來看此系統(tǒng)是可行的。 在法律方面:此系統(tǒng)沒有侵犯他人的個人合法利益,系統(tǒng)所涉及的條款與國家的現(xiàn)行法律沒有抵觸,不損壞國家、集體、個人的任何利益,所以在法律上是完全可行的。 開發(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)和軟件都不是問題,系統(tǒng)硬件也可以滿足,所以從開發(fā)環(huán)境上來說是可行的。 軟件需求分析工作是軟件生存周期中的重要的一步,也是決定性的一步。只有通過軟件需求分析,才能把軟件功能和性能的總體概念描述為具體的軟件需求規(guī)格說明,從而奠定軟件開發(fā)的基礎(chǔ)。因此,在軟件開發(fā)前應(yīng)該做好對軟件的需求分析。 (二) 系統(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ù)這個帖子。 其實(shí),發(fā)帖→瀏覽帖子→回帖三大功能周而復(fù)始的循環(huán)進(jìn)行,就構(gòu)成了論壇,每個參與論壇的人,主要目的就是發(fā)帖,查看自己已經(jīng)發(fā)表的帖子,針對自己感興趣的帖子進(jìn)行回復(fù),參與討論。三大基本功能的相互關(guān)系如圖1所示。 發(fā)帖 帖子列 回帖 瀏覽帖 圖1論壇基本功能關(guān)系圖 2. 擴(kuò)展功能 除以上基本功能外,其它的論壇功能都是擴(kuò)展功能,包括如下功能: (1) 注冊登錄。方便經(jīng)常發(fā)帖的人不需要重復(fù)填寫個人信息。 (2) 分板塊瀏覽帖子。有利于具有
17、相同興趣的用戶相互討論,不易跑題。 (3) 編輯帖子。提供給用戶更新自己發(fā)言的選擇。 (4) 刪除帖子。如果用戶發(fā)飆了不符合論壇規(guī)則的帖子,組需要管理員刪除這些帖子。 (5) 轉(zhuǎn)移帖子。論壇劃分了板塊,如果帖子內(nèi)容不屬于所在板塊的關(guān)注話題,那么管理員可以選擇將此帖移動到所屬話題的板塊中去。 (6) 置頂帖子。管理員如果需要強(qiáng)調(diào)某些帖子的重要,有必看性,可以將這些帖子置頂。 (7) 指定精華帖。如果管理員認(rèn)為某帖子內(nèi)容很好,可以坐上標(biāo)記,推薦給用戶看,用戶也可以只看精華帖。 (8) 搜索帖子。方便用戶查找自己需要的內(nèi)容。 (9) 管理板塊。論壇板塊需要先創(chuàng)建才能被使用,管理還可以刪
18、除板塊的相關(guān)信息。 (10) 設(shè)置參數(shù)。論壇一般有一些初始化信息,比如論壇名稱,每頁顯示帖子的數(shù)量等參數(shù)信息。 (11) 管理用戶。管理員可以對論壇注冊用戶進(jìn)行管理,直接添加用戶,賦予相關(guān)權(quán)限,也可以修改已注冊用戶的權(quán)限,對于違規(guī)用戶可以刪除。 刪除 作者 用戶 注冊 登錄 轉(zhuǎn)移 管理板塊 編輯 帖子 板塊 圖2論壇擴(kuò)展功能圖 論壇擴(kuò)展功能圖,如圖2所示。 (三) 系統(tǒng)簡要用例圖分析 對于訪問論壇的用戶,可分為注冊會員和為注冊的臨時用戶,這兩種用戶有著不同的權(quán)限,比如臨時用戶只能對帖子進(jìn)行查看,而注冊會員除了查看帖子之外,還可以發(fā)帖,回復(fù),查找用戶,并且可以對自
19、己的注冊資料進(jìn)行修改等等。 系統(tǒng)的用例圖如下圖3所示:注冊用戶 臨時用戶 瀏覽帖子 發(fā)表帖子 回復(fù)帖子 修改資料 用戶搜索 管理員 用戶管理 帖子管理 論壇信息管理 圖3系統(tǒng)用例圖 (四) 運(yùn)行環(huán)境 運(yùn)行環(huán)境配置從硬件和軟件兩方面描述,所列出的都是系統(tǒng)所能正常運(yùn)行的最低限度。而更高的硬件配置和軟件環(huán)境將會帶來更快的運(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) 對于典型的數(shù)據(jù)庫管理系統(tǒng),尤其是對像論壇這樣的數(shù)據(jù)流量特別大的網(wǎng)絡(luò)管理系統(tǒng),必須要滿足使用方便、操作靈活等設(shè)計(jì)需求。本系統(tǒng)在設(shè)計(jì)時應(yīng)滿足以下幾個目標(biāo): 1.采用人機(jī)對話的操作方式,界面設(shè)計(jì)美觀友好,信息查看靈活、方便、快捷、準(zhǔn)確,數(shù)據(jù)存儲安全可靠。 2.全面展示系統(tǒng)內(nèi)所有分類的帖子,并進(jìn)行分頁顯示。 3.為用戶提供一個方便、快
21、捷的主題信息查看功能。 4.實(shí)現(xiàn)在線發(fā)表帖子。 5.提供登錄模塊,主要用開管理員登錄系統(tǒng)和發(fā)表帖子時留下發(fā)表者的信息。 6.用戶隨時都可以查看自己發(fā)表的帖子。 7.對用戶輸入的數(shù)據(jù),系統(tǒng)進(jìn)行嚴(yán)格的數(shù)據(jù)檢驗(yàn),盡可能排除人為的錯誤。 8.系統(tǒng)最大限度地實(shí)現(xiàn)了易維護(hù)性和易操作性。 9.系統(tǒng)運(yùn)行穩(wěn)定安全可靠。 (二) 系統(tǒng)功能結(jié)構(gòu) 1.前臺功能結(jié)構(gòu) 查看版面下根貼 查看精華帖子 搜索帖子 查看帖子內(nèi)容 用戶登錄 用戶注冊 用戶注銷 發(fā)表帖子 回復(fù)帖子 查看自己發(fā)表的帖子 BBS論壇前臺 用戶訪問論壇首頁面后,可進(jìn)行查看版面
22、下根貼信息、查看自己發(fā)表的帖子、查看精華帖子、搜索帖子、查看根貼信息、用戶注冊等功能。用戶在此BBS論壇中通過注冊成為該網(wǎng)站的真正用戶并成功登錄系統(tǒng)后,可進(jìn)行發(fā)表帖子、回復(fù)帖子、查看自己發(fā)表的帖子等操作。 前臺功能結(jié)構(gòu)圖如圖4所示。 圖4前臺功能模塊圖 2. 后臺功能結(jié)構(gòu) 圖5后臺功能模塊圖 類別管理 版面管理 用戶管理 退出管理 BBS論壇后臺 若用戶的權(quán)限為管理員,則可進(jìn)入后臺,可進(jìn)行論壇類別的管理、版面管理和用戶管理的操作。后臺功能結(jié)構(gòu)圖如下圖5所示。 3. 系統(tǒng)流程圖 類別管理 版面管理 用戶管理 是否登錄 是 否 成功 進(jìn)入后臺 后臺 首頁
23、 用戶 登錄 管理員 (1) 系統(tǒng)后臺流程圖如下圖6所示。圖6后臺功能流程圖 圖7前臺臺功能流程圖圖 (2)系統(tǒng)后臺流程圖如下圖7所示。查看精華帖子 搜索根貼 查看版面下根貼 查看根貼內(nèi)容 發(fā)表帖子 回復(fù)帖子 提前帖子 刪除帖子 置頂帖子 置為精華貼 刪除回復(fù)帖 查看自己發(fā)表的根貼 用戶注冊 是否管理員、版主、帖子發(fā)表者 是否登錄 是否登錄 提示無權(quán)操作 游客 訪問 是 是 否 是 否 否 前臺 首頁 用戶 登錄 成功 是 五、 數(shù)據(jù)庫設(shè)計(jì) 數(shù)據(jù)庫設(shè)計(jì)是指對于一個給定的應(yīng)用環(huán)境,構(gòu)造最優(yōu)的數(shù)據(jù)庫模式,建
24、立數(shù)據(jù)庫及其應(yīng)用系統(tǒng),使之能夠有效地存儲數(shù)據(jù),滿足各種用戶的應(yīng)用需求(信息要求和處理要求)。 (一) 數(shù)據(jù)庫和設(shè)計(jì)概述 1.數(shù)據(jù)庫是信息系統(tǒng)的核心和基礎(chǔ),把信息系統(tǒng)中大量的數(shù)據(jù)按一定的模型組織起來,提供存儲、維護(hù)、檢索數(shù)據(jù)的功能,使信息系統(tǒng)可以方便、及時、準(zhǔn)確地從數(shù)據(jù)庫中獲得所需的信息。 2.數(shù)據(jù)庫是信息系統(tǒng)的各個部分能否緊密地結(jié)合在一起以及如何結(jié)合的關(guān)鍵所在。 3.數(shù)據(jù)庫設(shè)計(jì)是信息系統(tǒng)開發(fā)和建設(shè)的重要組成部分。 (二) 概念模型設(shè)計(jì)(E-R圖) 數(shù)據(jù)模型是是數(shù)據(jù)特征的抽象,從抽象層次上描述了系統(tǒng)的靜態(tài)特征、動態(tài)行為和約束條件,為數(shù)據(jù)庫系統(tǒng)的信息表與操作提供一個抽象的框架。描述了數(shù)
25、據(jù)結(jié)構(gòu)、數(shù)據(jù)操作及數(shù)據(jù)約束。 E-R模型的基本概念 ER圖概念化地構(gòu)建實(shí)體間關(guān)系的模型,這使得它們區(qū)別于數(shù)據(jù)庫模型圖。ER圖的理念是:項(xiàng)目所有參與者能理解ER圖。ER圖由不同實(shí)體類型、關(guān)系、特性和類型構(gòu)成。實(shí)體是諸如用戶的實(shí)際對象,有時更抽象,但必須有業(yè)務(wù)意義。特性用于描述實(shí)體,關(guān)系用于實(shí)體之間 (1)實(shí)體:現(xiàn)實(shí)世界中的事物; (2)屬性:事物的特性; (3)聯(lián)系:現(xiàn)實(shí)世界中事物間的關(guān)系。實(shí)體集的關(guān)系有一對一、一對多、多對多的聯(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ù)庫邏輯設(shè)計(jì) 圖9 BBS數(shù)據(jù)庫所包含的數(shù)據(jù)表結(jié)構(gòu)圖 BlockBig(論壇區(qū)塊信息表) BlockSmall(論壇版塊信息表) Message(消息信息表) Popedom(論壇類別信息表) Post(論壇帖子信息表) PostBack(帖子回復(fù)信息表) PostType(帖子類型信息表) Users(用戶信息表) BBS 根據(jù)數(shù)據(jù)庫概念設(shè)計(jì),可以創(chuàng)建與實(shí)體對應(yīng)的數(shù)據(jù)表。本系統(tǒng)中所包含的數(shù)據(jù)表的結(jié)構(gòu)圖如圖9所示。 本系統(tǒng)包括8個數(shù)據(jù)表,下面分別是這些表的結(jié)構(gòu)。 1. BlockBig(
27、論壇區(qū)塊信息表),該表結(jié)構(gòu)如下表表1所示。 表1 BlockBig(論壇區(qū)塊信息表) 列名 數(shù)據(jù)類型 是否主鍵 允許空值 描述 bigId int 是 否 ID自動生成 bigName varcher 否 是 區(qū)的名稱 bigDescription varcher 否 是 對區(qū)的描述 BigAdmin varcher 否 是 區(qū)管理員 bigAddtime datetime 否 是 區(qū)添加時間 2. BlockSmall(論壇版塊信息表),該表結(jié)構(gòu)如下表表2所示。 表2 BlockSmall(論壇版塊信息表) 列名 數(shù)據(jù)類型
28、 是否主鍵 允許空值 描述 small_Id int 是 否 表Id自動生成 small_Name varchar 否 是 板塊名稱 small_Desciption varchar 否 是 板塊描述 small_ImgUrl varchar 否 是 板塊圖片 small_Admin int 否 是 版主 small_BigId int 否 是 所屬區(qū)號 small_Adddate datetime 否 是 加入時間 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自動生成 message_title varcher 否 是 消息題目 message_content varcher 否 是 消息內(nèi)容 message_sender int 否 是 消息發(fā)送者 message_toUser int 否 是 消息接收者 message_IsRead int 否 是
30、 是否已讀 message_Adddate datetime 否 是 消息時間 4. Popedom(論壇類別信息表),該表結(jié)構(gòu)如下表表4所示。 表4 Popedom(論壇類別信息表) 列名 數(shù)據(jù)類型 是否主鍵 允許空值 描述 popedom_id int 是 否 表Id自動生成 popedom_Name varchar 否 是 論壇類別名稱 5. Post(論壇帖子信息表),該表結(jié)構(gòu)如下表表5所示。 表5 Post(論壇帖子信息表) 列名 數(shù)據(jù)類型 是否主鍵 允許空值 描述 post_id int 是 否 表Id自動生成
31、 post_Title varchar 否 是 帖子題目 post_Content varchar 否 是 帖子內(nèi)容 post_Sender int 否 是 帖子發(fā)表人 post_SendTime datetime 否 是 帖子發(fā)送時間 post_SmallId int 否 是 所屬版塊編號 post_TypeId int 否 是 帖子類型標(biā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自動生成 Postback_content varchar 否 是 帖子回復(fù)內(nèi)容 Postback_Sender int 否 是 帖子回復(fù)人 Postback_SendTime datetime 否 是 帖子回復(fù)時間 Postback_PostId int 否 是 帖子標(biāo)號 7. PostType(帖子類型信息表),該表結(jié)構(gòu)如下表表7所示。 表7 PostType(帖子類型信息表)
33、 列名 數(shù)據(jù)類型 是否主鍵 允許空值 描述 PostType_Id int 是 否 表Id自動生成 PostType_Name varchar 否 是 帖子類型名稱 PostType_BlockSmallId int 否 是 所屬版塊標(biāo)號 PostType_Adddate datetime 否 是 帖子類型創(chuàng)建時間 8. Users(用戶信息表),該表結(jié)構(gòu)如下表表8所示。 表8 Users(用戶信息表) 列名 數(shù)據(jù)類型 是否主鍵 允許空值 描述 UserId int 是 否 表Id自動生成 UserName varc
34、har 否 是 用戶姓名 UserPwd varchar 否 是 用戶密碼 UserEmail varchar 否 是 用戶Email UserPic varchar 否 是 用戶照片 UserQx int 否 是 用戶權(quán)限設(shè)置 UserOnline int 否 是 是否在線 UserIp varchar 否 是 用戶ip UserLoginDate datetime 否 是 用戶注冊時間 IsAdmin int 否 是 是否管理員 六、 系統(tǒng)的詳細(xì)設(shè)計(jì)與實(shí)現(xiàn) (一) 前臺設(shè)計(jì)與實(shí)現(xiàn) 由于前臺功能模塊較
35、多,而各模塊的實(shí)現(xiàn)過程都是類似的,所以對于系統(tǒng)前臺,現(xiàn)在只介紹系統(tǒng)重點(diǎn)設(shè)計(jì)。
圖10 安卓論壇首頁
1. 論壇系統(tǒng)前臺首頁頁面運(yùn)行結(jié)果如下圖所示。
該頁面為論壇首頁頁面,當(dāng)用戶進(jìn)入本系統(tǒng)時會自動進(jìn)入本頁面。用戶可以自行選擇自己想進(jìn)的版面。
此BBS設(shè)計(jì)有母版頁存在,故論壇首頁實(shí)現(xiàn)代碼如下:
36、derWidth="1px" CellPadding="2" ForeColor="Black">
38、d class="style3" align="left">
<%# Eval("bigName") %>
區(qū)長:
創(chuàng)建日期:
40、id_study.aspx?big_id=<%# Eval("bigId") %>'><%#Eval ("bigDescription") %>
41、……… public partial class login : System.Web.UI.Page { //獲取數(shù)據(jù)庫連接字符串 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)證并修改個別信息 { 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ù)用戶名和密碼來查詢用戶的ID String strSql2 = "SELECT IsAdmin FROM Users WHERE UserName='" + strUserName + "' and UserPwd='" + strPassWord + "'";//根據(jù)用戶名和密碼來查詢用戶是否為管理的的標(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();//獲取編號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; //是否是管理員,用于前臺主框架是否顯示管理 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 安卓論壇注冊頁面 3. 該論壇注冊
53、頁面如下圖所示: 該頁面為用戶注冊頁面,用戶按要求填完后可進(jìn)行注冊,若用戶想添加頭像則可以輸入頭像網(wǎng)絡(luò)地址或頭像本地所在位置,進(jìn)行頭像上傳。若點(diǎn)擊重置則清空所有文本框內(nèi)容,進(jìn)行重新輸入。 其頁面實(shí)現(xiàn)代碼如下所示: …… public partial class Jion : System.Web.UI.Page { //獲取數(shù)據(jù)庫連接字符串 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)號最大值 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) //注冊按鈕觸發(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) { //檢測該用戶是否
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ā)帖頁面 4. 該論壇發(fā)帖頁面如下圖所示。 該頁面為用戶發(fā)表帖子頁面,若用戶未登錄則自動跳轉(zhuǎn)到用戶登錄
65、界面,提示用戶登錄,若用戶已登錄,則可以進(jìn)行發(fā)帖,按重置按鈕后則清空所有文本框。 該論壇發(fā)帖頁面后臺實(shí)現(xiàn)代碼如下所示: …… public partial class SentPost : System.Web.UI.Page { //獲取數(shù)據(jù)庫連接字符串 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: 本站所有資源如無特殊說明,都需要本地電腦安裝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)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 中西方家庭教育的對比ppt課件
- 《運(yùn)籌學(xué)教程》第五版運(yùn)籌學(xué)6對策論矩陣對策課件
- (部編版)統(tǒng)編版四年級語文下冊第2課《鄉(xiāng)下人家》ppt課件
- 全等三角形1--公開課一等獎ppt課件
- 《會跳舞樹葉娃娃》課件
- 9兒童詩兩首_人教版五年級的語文下冊課件
- 綠色植物是食物之源(我的課件)0
- 河南專版2022春八年級語文下冊第四單元16慶祝奧林匹克運(yùn)動復(fù)興25周年習(xí)題課件新人教版
- 全國xx杯說課大賽機(jī)械類一等獎作品:鉗工車模的制作說課ppt課件
- 六年級下冊數(shù)學(xué)ppt課件-總復(fù)習(xí)(1)數(shù)的認(rèn)識-整數(shù)∣北師大版
- 牛頓第二定律優(yōu)秀完整公開課ppt課件
- 調(diào)脂與卒中防治課件
- 點(diǎn)到平面的距離課件
- 聚焦新醫(yī)改形勢下的醫(yī)院發(fā)展戰(zhàn)略
- 四肢血管超聲基礎(chǔ)