版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領
文檔簡介
1、<p><b> 前 言</b></p><p> 由于計算機網絡技術和通信技術的完美結合,因特網技術的應用達到了前所未有的程度。許多傳統(tǒng)的應用和研究與網絡進行了結合,出現了日漸成熟的博客網站,而且隨著網絡應用的不斷深化,博客系統(tǒng)及博客技術也得到了飛速發(fā)展?;谛畔⒓磿r交流的博客網站已經逐步成為信息分享和發(fā)布的一種重要渠道,具有全球化、方便快捷、成本低、效率高等優(yōu)點,是虛擬信息
2、時代的主流信息溝通方式,擁有廣闊的發(fā)展前景[1]。</p><p> 本文概述介紹了個人博客網站。隨著WEB的興起,互聯網信息從傳統(tǒng)的ISP轉移到個人。對用戶來說,要想在浩瀚的信息海洋里找到想要的信息已非易事。這種頻繁更新的數據庫,比采用更新較慢的搜索引擎更快獲取信息。博客是繼Email、ICQ、BBS之后出現的第四種網絡交流方式[1],通過博客,用戶可以方便地使用多媒體技術建立起個性化的私密空間,并將該空間的
3、內容選擇性的和他人交流、溝通。在需求分析中,參照當今較為成功的博客網站的應用發(fā)展狀況,從軟件開發(fā)及技術的角度描述了從需求分析、系統(tǒng)設計直到實現一個博客的過程。本迷你博客系統(tǒng)采用.NET技術作為開發(fā)平臺,在架構上采用經典實用的三層架構:數據訪問層、業(yè)務邏輯層和用戶表現層。然后根據系統(tǒng)對象設計出與其功能相關的類、組件、各個實現模塊、各模塊詳細的程序描述,確定在.NET平臺上實現各功能的技術,最后完成本系統(tǒng)的數據庫設計。使從信息交流更方便,共
4、享信息更安全等角度考慮開發(fā)了這個網站,它允許用戶以此為平臺書寫自己的網絡日志,同時方便了大量的瀏覽者獲取信息。同時提供給用戶機會創(chuàng)建自己喜歡的欄目,給用戶更廣闊的發(fā)揮空間。本文研究的目的是:在前人研究的基礎上,試圖優(yōu)</p><p> 本系統(tǒng)采用Microsoft Visual Studio 2008作為開發(fā)平臺,用AJAX網頁開發(fā)技術,以SQL Server 2005作為后臺數據庫進行開發(fā)。以普通信息網站系統(tǒng)
5、為依托,構建一個性化的博客系統(tǒng),為用戶提供準確、方便、安全、優(yōu)質的信息交流服務。</p><p><b> 第一章 緒論</b></p><p> 1.1系統(tǒng)開發(fā)背景和研究現狀</p><p> 互聯網的飛速發(fā)展正在逐步改變著人們的生產生活方式,并且成為人們獲取和交流信息的重要途徑。因為互聯網的開發(fā)性,網絡信息量正以驚人的速度增長,博客是
6、當今快速發(fā)展的互聯網技術。博客是一種特定的網絡信息發(fā)布平臺,使用者擁有一個屬于自己的空間,在結合網絡后,博客完全可以成為用戶的一個信息化平臺。</p><p> 從整個互聯網的角度觀察,早期的用戶只是作為一個信息的閱讀者被動地從各個網站上接受信息,隨著網絡技術的日益進步,一系列動產生網頁的技術相繼出現,使互聯網與用戶交互的能力不斷增強,表現方式極為豐富。博客正是在這種背景環(huán)境下產生的,雖然只是一個小型的網絡應用
7、程序,卻表現出網絡的社會化特點[2]。</p><p> 博客系統(tǒng)與認知科學、信息檢索有密切的關系[3]。最早的博客是作為網絡“過濾器”的存在的,即從很多網站中挑選一些特別的網站,讓后對他們作簡單的介紹。隨著Web2.0技術的日臻成熟,博客系統(tǒng)在網絡上的應用也蓬勃發(fā)展,國內外學術界對博客系統(tǒng)的研究也日趨興旺。</p><p> 博客在中國發(fā)展為:在網絡上發(fā)表Blog的構想始于1998年
8、,人們開始尋求博客網站這種快速、準確、安全的方式進行信息交流;但博客真正流行是2000年之后,博客網站在中國迅速發(fā)展;2005年,國內各著名的門戶網站包括新浪微薄,搜狐博客,騰訊博客等,博客在中國市場越來越流行[4]。 </p><p> 迄今為止博客網站以其即時性、開放性、個人性、平民化、互動性等特點得到了越來越多的個人和企業(yè)的關注。目前國內外互聯網上有許多大型網站已經應用博客這項技術為用戶提供更加智能的信息
9、服務。</p><p><b> 1.2博客系統(tǒng)概述</b></p><p> 所謂博客系統(tǒng),是指使用計算機語言編寫便于用戶安裝和使用的能在互聯網上創(chuàng)建博客的一整套的系統(tǒng)。博客上的文章一般根據張貼時間有新到舊,以倒敘的方式來進行排序。許多博客對特定的課題或新聞進行評論,一部分則被當做比較私人的日記。一個典型的博客一般都會結合文字、圖像,還具有與其他博客或網站鏈接的
10、功能,也能使讀者以互動的方式留下各自的想法和觀點。</p><p> 隨著Web2.0技術的日臻成熟,博客系統(tǒng)在網絡上的應用也蓬勃發(fā)展,國內外學術界對博客系統(tǒng)的研究也日趨興旺。最早的具有代表性的博客系統(tǒng)是由WordPress ,Pivotx Z-Blog等[5]。</p><p> 中國博客近幾年來飛速發(fā)展。博客是以個性化的互動型網絡形式存在,包含不斷發(fā)展的各種功能和適合網絡發(fā)展的各種
11、優(yōu)點。本文從綜合的視角看待整個博客,包括博客內容、博客形式、博客的傳播互動的過程。</p><p> 1.3系統(tǒng)開發(fā)的目的和意義</p><p> 1.3.1系統(tǒng)開發(fā)的目的</p><p> 隨著Internet的迅猛發(fā)展,萬維網上存儲的信息呈現爆炸式增長,隨之而來的海量信息給人們的信息搜尋帶來了相當大的困難。博客系統(tǒng)作為一種重要的交流工具,建立博客系<
12、/p><p> 統(tǒng)可以很方便解決這個問題,只需要加入你希望展示的平臺,別人就可以很方便的瀏覽你的博客。</p><p> 本文的研究目的是通過對網站算法的研究,分析了在博客系統(tǒng)中存在模式較為單一、訪問速度慢等問題,多方面借鑒國內外的博客網站開發(fā)思路,設計更為完善的博客網站,制作能實現文章的發(fā)布和修改、評論過濾、添加鏈接、發(fā)表評論、用戶留言等功能模塊的博客[7]。由于此系統(tǒng)是基于ASP的個人
13、博客網站,用戶可以快速方便地發(fā)布交流信息,提高了系統(tǒng)的可應用性。</p><p> 1.3.2系統(tǒng)開發(fā)的目的和意義</p><p> 研究博客系統(tǒng)比較具有實踐意義。第一,作為交流平臺的博客網站,希望通過優(yōu)化博客技術和預測用戶的使用需求,提供實時網上交流互動,通過計算機技術和網絡技術,盡可能克服地域的限制,增強網站的運行能力,提高用戶的滿意度,最終達到提高網站知名度和實用性的目的。第二,
14、通過選擇開發(fā)一個web 應用程序,使用學習到的開發(fā)技術及工具,完成一件具有實際意義的研究工作,同時更多的是鞏固專業(yè)知識。</p><p><b> 1.4全文體系結構</b></p><p> 第一章簡述了系統(tǒng)的開發(fā)背景、發(fā)展現狀、開發(fā)的目的和意義。</p><p> 第二章介紹了博客系統(tǒng)概述,迷你博客系統(tǒng)開發(fā)運行環(huán)境,并詳細介紹了系統(tǒng)開
15、發(fā)平臺、ASP.NET編程技術、AJAX技術、數據庫設計工具Microsoft SQL Server 等。 </p><p> 第三章討論了運用軟件工程的思想,做迷你博客系統(tǒng)的需求以及整個系統(tǒng)的設計與分析。</p><p> 第四章主要介紹博客系統(tǒng)的具體實現。</p><p> 第五章是結束語。總結了全文的主要思想,分析了今后繼續(xù)努力的方向。</p>
16、;<p> 第二章 系統(tǒng)構建的相關技術及開發(fā)環(huán)境</p><p> 2.1 系統(tǒng)的總體目標</p><p> 一個迷你博客系統(tǒng)的角色分為普通用戶和系統(tǒng)管理員[8]。普通用戶是系統(tǒng)使用者,而系統(tǒng)管理員是系統(tǒng)管理者,雖然系統(tǒng)管理員也是一個用戶,但這并不影響系統(tǒng)的功能。管理員界面主要實現:文章類型管理、文章內容管理、評論管理、鏈接管理、留言管理。一般用戶實現:觀看博客、查看推
17、薦博客、打開友情鏈接并查看、給在博客網頁上發(fā)表留言、發(fā)表評論等功能。管理員實現目標如下:</p><p> ?。?)類型管理:對博客實行添加新類型修改和刪除操作。</p><p> ?。?)文章內容管理:對博客進行選擇刪除編輯和新建操作。</p><p> ?。?)評論管理:對評論實行刪除操作。</p><p> ?。?)鏈接管理:刪除選擇內
18、容和添加新連接。</p><p> ?。?)留言管理:刪除留言。</p><p> 普通用戶實現目標如下:觀看博客,查看推薦博客,打開友情鏈接并查看,在博客網頁上發(fā)表留言,發(fā)表評論等功能。</p><p> 2.2 系統(tǒng)開發(fā)及運行環(huán)境</p><p> 當今網頁開發(fā)技術飛速發(fā)展,開發(fā)工具也是不勝枚舉,選擇適合本系統(tǒng)開發(fā)的關鍵技術和開發(fā)工
19、具就變得尤其重要。通過調查研究,選擇如下:</p><p> 開發(fā)平臺:ASP.NET項目開發(fā)平臺</p><p> 開發(fā)工具:Microsoft Visual Studio 2008</p><p> 操作系統(tǒng):Microsoft Windows XP</p><p> 數據庫:SQL Server 2005</p>
20、<p> 服務器:IIS 5.1</p><p><b> 開發(fā)語言:C#</b></p><p><b> 開發(fā)技術:Ajax</b></p><p> 2.3 系統(tǒng)開發(fā)關鍵技術和開發(fā)工具</p><p> 2.3.1 ASP.NET項目開發(fā)</p><p&
21、gt; ASP是由微軟公司開發(fā)的一個服務器端腳本環(huán)境[9]。用戶可以運用ASP將HTML語言和腳本結合起來,用來創(chuàng)建動態(tài)交互的WEB服務器應用程序。ASP程序是以擴展名為.asp的文本文件形式保存的,可以被任何一種文本編輯器編輯使用。當程序執(zhí)行完畢后,服務器僅將執(zhí)行的結果返回給用戶瀏覽器,這樣也減輕了客戶端瀏覽器的負擔,大大提高了交互的速度。</p><p> ASP的運用極大地方便了WEB應用程序的開發(fā)過程
22、。只需幾行腳本,就可以將數據庫連接或不同的高級自定義功能按照要求添加到相關網頁中去。在ASP中,由于所有的程序是在服務器端執(zhí)行的特性,所以你不必擔心客戶的瀏覽器能不能運行編寫的代碼。ASP.NET是建立在.NET基礎上的語言,它可以用任何與.NET兼容的語言(例如C#、VB.NET等)編寫Web應用程序[9]。ASP.ENT 可以與HTML編輯器及其他編程工具一起工作.這使Web開發(fā)范圍變得更加廣泛。</p><p&
23、gt; ASP.NET頁面主要的優(yōu)點有:</p><p> 安全性:ASP.NET為WEB應用程序提供了默認的Windows身份驗證和必要的安全配置方案,可以保護每個程序的安全。</p><p> 可管理性:ASP.NET采用基于文本的分級配置系統(tǒng),以純文本的形式存儲配置信息,因此,大大簡化了服務器環(huán)境和程序應用的設置。</p><p> 擴展性:ASP.N
24、ET擁有許多可擴展的功能,開發(fā)人員可以用自己編寫的自定義功能組件來替代庫中任何組件,實現擴展功能。</p><p> 靈活性:ASP.NET基于公共語言運行庫,并且無語言局限性,開發(fā)人員可以選擇最適合程序開發(fā)的語言來編譯。</p><p> 代碼分離:實現了業(yè)務代碼和頁面的分離,更易于維護。</p><p> 2.3.2 AJAX</p><
25、;p> AJAX即異步JavaScript和XML,是一種創(chuàng)建交互式網頁應用的網頁開發(fā)技術[12]。這個術語源自描述從基于網頁的WEB應用到基于數據的應用的轉換。在基于數據的應用中,用戶需求的數據如各種列表,可以從獨立于實際網頁的服務器端取得并且可以被動地寫入網頁中。</p><p> Ajax技術是目前開發(fā)WEB的較好選擇。傳統(tǒng)WEB由于是同步交互,容易引起響應速度慢、數據呈現出現混亂以及服務器端負載
26、等問題。爭對傳統(tǒng)WEB的缺陷和不足,通過綜合運用AJAX技術中的JavaScript、HTML等技術,使用戶在瀏覽Web頁時,不必耗時等待數據刷新帶來的白屏界面,而是繼續(xù)執(zhí)行一些其他的操作,從而改善了WEB應用效率,提升了用戶體驗。</p><p> 2.3.3 C#語言</p><p> C#是一種最新的、面對對象的編程語言,它功能強大,能夠被靈活使用。它使得程序員可以快速地編寫各種
27、基于微軟 .NET平臺的應用程序,微軟 .NET提供了一系列的工具和服務,通過C#可以讓開發(fā)人員更快的掌握其應用。</p><p> C#語言是為了提升軟件開發(fā)效率的產物,也是Microsoft公司為了市場競爭而推出的一個產品。C#語言不僅僅繼承了C/C++強大的開發(fā)功能,還同時具備C/C++所沒有的高效率開發(fā)能力。</p><p> 除此之外,C#還有一些重要特性:</p>
28、;<p> 1.開發(fā)效率與安全性比較高。C#能夠幫助開發(fā)者運用更少的代碼完成相同的功能,并且能夠更好地避免錯誤的發(fā)生。</p><p> 2.與Web開發(fā)相結合??梢暂p松方便地被應用在.NET平臺上,同時C#也可以把任何組件轉變?yōu)閃eb服務[16]。</p><p> 3.減少錯誤率。C#的先進設計思想可以消除C/C++開發(fā)中的許多常見的錯誤。</p>&
29、lt;p> 4.提供內置的版本支持類減少開發(fā)費用。</p><p> 5.可擴展的寫作能力.</p><p> 2.3.4 SQL Server 2005數據庫</p><p> SQL Server 是一個關系數據管理系統(tǒng)。它是一個擁有眾多有吸引力的優(yōu)點的數據庫。SQL Server數據庫還具有許多優(yōu)秀的特性,變現為:</p><
30、p> 具有隔離性、一致性和持續(xù)性。真正的客戶機/服務器體系結構。 </p><p> 高安全性。擁有十分嚴密的安全模型?!?lt;/p><p> 開發(fā)的靈活性。豐富的編程接口工具,為用戶進行程序設計提供了更大的選擇余地。 </p><p> 可伸縮性??杀籛indows 95/98的膝上型電腦使用,也能在Windows 2000的大型多
31、處理器等平臺上運行。 </p><p> 5.完備性。其中包含一些附加的功能,如復制、DTS、分析服務(Analysis Server)等。</p><p> 其次還擁有著眾多簡潔易用、圖形化操作的客戶組件。SQL Server主要包括以下客戶組件:企業(yè)管理器(Enterprise Manager)、服務管理器(Service Manager)和查詢分析器(Query Analyzer
32、)。SQL Server 2005引入了SQL Server Management Studio,這是一個新型的統(tǒng)一的管理工具組。這個工具組包括一些新的功能,能夠在開發(fā)、配置SQL Server數據庫的同時發(fā)現、修理其中的故障,同時還能對以前的功能做一些改進。</p><p> 2.3.5 SQL語句</p><p> SQL Server 2005數據庫所使用的語句是SQL語句。SQ
33、L是一種運用于數據庫查詢和程序設計的語言,它的主要功能包括數據的查詢、更新和管理數據庫系統(tǒng)。SQL語言包含3個部分:數據定義語言,例如:CREATE、DROP、ALTER等語句;數據操作語言,例如:INSERT(插入)、UPDATE(修改)、DELETE(刪除)語句;數據控制語言,例如:GRANT、REVOKE、COMMIT、ROLLBACK等語句[17]。下面主要介紹數據操作語言和數據定義語言。</p><p>
34、;<b> SQL的數據查詢:</b></p><p> SQL的數據的查詢是數據庫的核心操作,它使用SELECT語句進行數據庫的查詢操作,其一般格式為:</p><p> SELECT[ALL|DISTINCT] <目標列表達式> [,<目標列表達式>] </p><p> FROM <表名或視圖名>
35、; [,<表名或視圖名>] … </p><p> [WHERE <條件表達式>] </p><p> [GROUP BY <列名1> [HAVING <條件表達式>]] </p><p> [ORDER BY <列名2> [ASC|DE
36、SC]];</p><p><b> SQL的數據更新:</b></p><p> SQL數據的更新通常包括數據的插入、刪除和修改。</p><p> (1)插入(INSERT)語句一般格式為:</p><p><b> INSERT</b></p><p> IN
37、TO <表名> [(<屬性列1> [,<屬性列2>……])]</p><p> SELECT子查詢語名;</p><p> (2)刪除(DELETE)語句一般格式為:</p><p><b> DELETE</b></p><p><b> FROM <表名&g
38、t;</b></p><p> [WHERE <條件>];</p><p> (3)修改(UPDATE)語句一般格式為:</p><p> UPDATE <表名></p><p> SET <列名1>=<表達式1> [,<列名2>=<表達式2>……]&
39、lt;/p><p> [WHERE <條件>];</p><p><b> 2.4 本章小結</b></p><p> 本章重點介紹了開發(fā)該系統(tǒng)所用到的關鍵技術。介紹了博客系統(tǒng)的概述,這種基于ASP.NET平臺開發(fā)目前流行的博客網頁。同時也簡要介紹了本系統(tǒng)的開發(fā)運行環(huán)境,C#編程語言的背景及其優(yōu)點和Microsoft Visual
40、 Studio 2008的相關技術。最后對SQL Server 2005數據庫特點以及SQL語言做了比較詳細的說明。</p><p><b> 系統(tǒng)分析與設計</b></p><p><b> 3.1 需求分析</b></p><p> 需求分析在軟件定義時期對目標系統(tǒng)提出了具體、全面、準確、清晰的要求,是軟件開發(fā)能
41、夠順利進行的前提條件,也是軟件開發(fā)中最關鍵的一個環(huán)節(jié)。為了創(chuàng)建更好的網絡信息發(fā)布方式,使用戶擁有一個屬于自己的空間,同時方便瀏覽者獲取大量的信息。本迷你博客系統(tǒng)為用戶提供了一個很好的平臺,實現快速、高效的信息交流互動。</p><p> 3.1.1 系統(tǒng)總體框架設計</p><p> 前臺為標準瀏覽器(發(fā)出http請求至中間),中間為WEB服務器(接收請求,做出響應,返回結果),后臺為
42、SQL Server數據庫(存放數據)。整個系統(tǒng)結構及工作原理如圖3-1所示:</p><p><b> http請求</b></p><p> http請求 http請求</p><p> 圖3-1系統(tǒng)結構原理圖</p><p> 在軟件體系架構中,三層從下至上分別為:數據訪問層、業(yè)務邏輯層、表現層
43、。表現層是展現給用戶的界面,即用戶在使用一個系統(tǒng)的時候他的所見所得。業(yè)務邏輯層是針對具體問題的操作,也可以是對數據層的操作,對數據業(yè)務邏輯處理。數據訪問層所做事務直接操作數據庫,針對數據進行增添、刪除、修改、更新查找等操作。</p><p> 3.1.2 系統(tǒng)結構圖及功能描述</p><p> 迷你博客系統(tǒng)需要滿足兩方面的要求,系統(tǒng)按照參與角色分供普通用戶子系統(tǒng)和后臺管理子系統(tǒng)。<
44、;/p><p> 1. 管理員子系統(tǒng)結構圖如圖3-2所示:</p><p> 圖3-2管理員子系統(tǒng)結構圖</p><p> 管理員登錄到后臺管理員界面進行相關操作。文章管理主要是用于修改和刪除現有的博客文章,并對新的博客文章進行添加操作;評論管理主要用于刪除過期或不需要的評論;管理員通過鏈接管理刪除已存在的鏈接,添加新的鏈接到感興趣的網址;留言管理和評論管理一樣,
45、管理員可以通過留言管理,刪除過時或具有攻擊性的留言信息;類型管理主要用于修改和刪除當前博客列表中的博客文章類型,或者添加新的類型到博客網站中。</p><p> 普通用戶子系統(tǒng)的結構圖如圖3-2所示:</p><p> 圖3-3普通用戶子系統(tǒng)結構圖 </p><p> 普通用戶登錄時,系統(tǒng)為普通用戶提供了瀏覽文章、查看網友回應、發(fā)表評
46、論和發(fā)表留言的功能。</p><p> 3.2 基于UML的系統(tǒng)分析</p><p> 3.2.1 用例圖 </p><p> 迷你博客系統(tǒng)的使用角色為普通用戶和系統(tǒng)管理員。 通過對系統(tǒng)用例圖的分析,我們可以清楚地知道管理員與普通用戶執(zhí)行的操作,他們之間的聯系,更好地分析他們的需求關系 。 </p><
47、;p> 1. 普通用戶用例圖,如圖3-4所示:</p><p> <<extend>></p><p><b> 普通用戶</b></p><p> 圖 3-4 普通用戶用例圖</p><p> 上圖顯示了普通用戶的7個用例分別為登錄系統(tǒng)、發(fā)表評論、瀏覽文章、推薦文章、查看回復、發(fā)
48、表留言、退出 。當該普通用戶覺得一篇博客文章很精彩時,他可以推薦該博客文章文章。</p><p> 管理員用例圖如圖3-5所示:</p><p> 圖 3-5 管理員用例圖</p><p> 此圖為管理員用例圖,包含了17個用例。17個用例分別為登錄系統(tǒng)、類型管理、刪除類型、修改類型、添加類型、鏈接管理、添加鏈接、刪除鏈接、評論管理、刪除評論、留言管理、刪除留
49、言、文章管理、刪除文章、修改文章、添加文章、注銷退出。以上用例都是系統(tǒng)管理員可以執(zhí)行的操作。</p><p> 3.3 系統(tǒng)詳細設計</p><p> 詳細設計階段的根本任務是確定如何具體得到客戶要求設計的目標系統(tǒng),即詳細設計每個模塊實現算法,所需的局部結構等等。由于詳細設計的結果直接影響最終代碼的質量,所以詳細設計第一個任務是要保證程序的準確性以便于運行,第二是要保證編寫的程序要簡單
50、易懂,便于測試、修改以及維護,以上兩點都是是詳細設計最重要的宗旨與目的[18]。。</p><p> 3.3.1 系統(tǒng)功能模塊設計</p><p> 系統(tǒng)的主要功能主要分為兩部分,分別前臺應用模塊與后臺管理模塊。模塊具體的設計過程如下:</p><p> 一、系統(tǒng)前臺功能模塊:</p><p><b> 閱讀文章模塊<
51、/b></p><p> 普通用戶登入系統(tǒng)首頁后可以根據興趣隨意瀏覽自己喜歡的博客文章和推薦文章。</p><p><b> 發(fā)表留言模塊</b></p><p> 普通用戶可以通過此平臺給博主留言,從而做到與博主很好的互動。</p><p><b> 發(fā)表評論模塊</b></p
52、><p> 普通用戶可以通過此平臺發(fā)表自己評論,表達個人在看完博客文章后的觀后感。</p><p> 二、系統(tǒng)后臺管理功能模塊</p><p><b> 文章管理管理模塊</b></p><p> 管理員可以通過此模塊查看文章信息,對博客文章進行選擇刪除、編輯和新建操作。</p><p>&l
53、t;b> 文章類型管理模塊</b></p><p> 管理員可以通過此模塊對對博客文章類型實行添加新類型、修改和刪除操作。</p><p><b> 留言管理模塊</b></p><p> 管理員可以通過此對留言選擇性地刪除和回復。</p><p><b> 鏈接管理模塊</b
54、></p><p> 管理員可以通過此模塊輸入網址添加到新的鏈接、刪除現有的鏈接。</p><p><b> 評論管理模塊</b></p><p> 管理員可以通過此模塊對評論實行刪除操作。</p><p> 3.3.2系統(tǒng)流程圖</p><p> 后臺管理程序流程圖是一個軟件完整
55、執(zhí)行的過程概述。用戶登入本系統(tǒng)有一個驗證過程,如果輸入不對不能正常進入后臺管理頁面,如果正確則可以進入該界面,就可以實現對文章進行相關編輯操作。博客系統(tǒng)流程圖如圖3-6所示:</p><p> 否 是</p><p> 圖3-6博客系統(tǒng)操作流程圖 </p><p> 根據系統(tǒng)提供功能,繪制本系統(tǒng)操作流程圖,以方便對本系統(tǒng)
56、整體有一個清晰的認識。當管理員登錄時,先輸入用戶名和密碼,則讀取用戶信息,登錄到管理員頁面。如果用戶名和密碼正確,則登錄到管理員頁面。如果用戶名和密碼錯誤,則彈出錯誤警告;當普通用戶登錄頁面時,點擊“直接轉到主頁”超鏈接,不需要驗證就可以匿名進入主頁。管理員登錄時可分別進入類型管理、文章管理、鏈接管理、留言管理、評論管理界面進行相關操作,最后注銷退出頁面;當普通用戶登錄主頁面時,用戶可根據用戶的喜好瀏覽文章并推薦文章,對博客文章發(fā)表評論
57、,給博主發(fā)表留言,最后退出頁面。</p><p> 3.4系統(tǒng)數據庫設計</p><p> 3.4.1實體關系圖</p><p> 實體關系圖如3-7所示:</p><p> 圖3-7實體之間關系圖</p><p> 通過數據表之間的關系,可以清晰地了解博客系統(tǒng)數據標之間的關系,這里給出了主要</p&g
58、t;<p> 的數據表之間的關系圖。</p><p> 3.4.2數據庫E-R圖</p><p> 根據數據流項,設計出滿足用戶需求的各種實體之間的關系。這些實體包含各種具體信息,通過相互之間的作用形成數據的互動[1]。本系統(tǒng)實體之間的關系E-R圖如3-8所示:</p><p> 1 N</p&g
59、t;<p><b> 1</b></p><p><b> N</b></p><p> 圖3-8系統(tǒng) E-R圖</p><p> 本系統(tǒng)設計了以下實體:管理員信息實體、文章類型信息實體、鏈接信息實體、留言信息實體、文章信息實體和評論信息實體和驗證碼信息實體[4]。針對本系統(tǒng)的特點,需求信息如下:一鐘
60、文章類型有多篇文章,一篇文章有多篇評論,因此系統(tǒng)E-R圖如上圖所示。</p><p> 3.4.3數據庫表設計</p><p> 數據庫的邏輯設計是概念模型向邏輯模型的轉化,一般步驟是先將概念結構轉化為關系模型,然后將轉化來的關系模型向特定DBMS支持下的數據模型轉換,最后對數據模型進行優(yōu)化。下面列舉本系統(tǒng)用到的主要數據表[22]。</p><p> 管理員信
61、息表(ST_admin),如圖3-9所示:</p><p> 表3-9 管理員信息表(ST_admin)</p><p> 此表主要用于記錄管理員的用戶名密碼。</p><p> 2. 文章類型信息表(ST_class),如圖3-10所示:</p><p> Keys:ST_c_id</p><p> 表3-
62、10 文章類型信息表(ST_class)</p><p> 此表用于記錄文章類型信息包括:文章類型ID號、文章類型名稱。</p><p> 3. 鏈接信息表(ST_link),如圖3-11所示:</p><p> Keys:ST_l_id</p><p> 表3-11鏈接信息表(ST_link)</p><p>
63、; 此表主要用于記錄鏈接的相關信息包括:鏈接ID號、鏈接名稱、鏈接地址。</p><p> 4. 驗證碼表(codetable),如圖3-12所示:</p><p><b> Keys:Id </b></p><p> 表3-12 驗證碼表(ST_replay)</p><p> 此表主要用于記錄驗證碼信息。&
64、lt;/p><p> 5. 留言信息表(ST_message),如圖3-13所示:</p><p> Keys:ST_id</p><p> 表3-13留言信息表(ST_message)</p><p> 此表用于記錄留言信息包括:留言ID號、網友昵稱、留言標語、留言日期、留言內容等。</p><p> 6. 文
65、章信息表(ST_news),如圖3-14所示:</p><p> Keys:ST_n_id </p><p> 表3-14 文章信息表(ST_news) </p><p> 此表用于記錄文章唯一ID號、文章作者、文章標題、文章摘要、文章內容、文章發(fā)表日期、文章人氣、文章回復、文章類型編號。文章類型名稱。文章回復數。</p><p>
66、7 評論信息表(ST_replay),如圖3-15所示:</p><p> Keys:ST_r_id </p><p> 表3-15 評論信息表(ST_replay)</p><p> 此表用于詳細記錄評論信息,包括:評論ID號、評論用戶昵稱、評論標題、評論內容、評論發(fā)表時間、評論文章編號。</p><p><b> 3.5
67、本章小結</b></p><p> 本章主要詳細分析了系統(tǒng)的需求,總體設計思想和系統(tǒng)框架,討論了系統(tǒng)的各個模塊,嚴格按照軟件工程的思想和流程進行,為方便后期編碼和系統(tǒng)維護做準備。</p><p><b> 系統(tǒng)功能的實現</b></p><p> 4.1系統(tǒng)功能總體實現</p><p> 系統(tǒng)主要由登
68、入模塊、系統(tǒng)管理員模塊和普通用戶模塊。</p><p><b> 1、登錄模塊</b></p><p> 2、管理員登錄時:后臺管理員。該模塊為了有效地提高整個系統(tǒng)的安全性能,綜合考慮后按照“分層管理”的思想設計,給不同的用戶不同的訪問權限。用戶登錄后,先要經過ST_admin.asp頁面的判斷,如果判斷得知用戶是管理員,就轉到管理員頁面頁面。管理員界面主要實現6
69、個功能,分別為分類管理、添加文章管理、文章管理、鏈接管理、評論管理以及留言管理。</p><p> 3、普通用戶登入:博客主頁。普通用戶登錄頁面中單擊回首頁超鏈接時,將直接轉入到普通用戶界面。此頁面為普通用戶提供的主要功能包括:瀏覽文章和博客列表、留言、評論等。</p><p><b> 4.2 登錄界面</b></p><p> 1.
70、用戶登錄頁面,如圖4-1所示:</p><p> 圖4-1用戶登入頁面</p><p> 此頁面主要是提供給用戶登入博客系統(tǒng)的途徑 ,為用戶登入界面ST-login,aspx。當用戶輸入個人信息賬用戶、密碼、密碼確認后點擊【登入】按鈕并確認無誤后即可實現登入功能。本頁面通過ST-admin.aspx.cs進行驗證。用戶名和密碼都正確,則讀取用戶信息,登入到管理員界面。此外,此頁面還有一
71、個超鏈接“直接回到首頁”,用于實現匿名登入系統(tǒng)首頁ST-index.aspx。</p><p> 4.3 管理員管理界面</p><p> 1. 后臺管理頁面首頁,如圖4-2所示:</p><p> 圖4-2管理員登入頁面</p><p> 系統(tǒng)管理員正常登入系統(tǒng)后臺后,首先的是一個簡單的歡迎頁面,單擊左側相應的菜單欄鏈接成功會導航到
72、相應的具體功能頁面, </p><p> 后臺管理員模塊主要包括文章分類子模塊、文章管理子模塊、文章評論管理子模塊、鏈接管理子模塊、留言管理子模塊5個模塊。</p><p> 2. 文章類型管理界面,如圖4-3</p><p> 圖4-3文章類型管理頁面</p><p> 文章類型管理頁面主要用來實現文章類型瀏覽、編輯、刪除、添
73、加等典型操作。單擊ST-admin.aspx頁面中的“分類管理”超鏈接時將顯示出分類管理的相關信息,這部分內容是由ST-type.aspx頁面來實現的。本頁面用了一個Gridview控件和一個添加和不再添加按鈕,Gridview控件向用戶展示已有的文章類型信息,同時提供修改和刪除類型操作。</p><p> 3. 文章管理頁面,如圖4-4所示:</p><p> 圖4-4 文章內容管理
74、頁面</p><p> 文章管理主要用來實現文章的瀏覽、編輯、刪除、添加等典型操作。單擊ST-admin.aspx頁面中的“文章管理”超鏈接時,將顯示出文章管理的相關信息。這部分內容是ST-main.aspx頁面來實現的。此頁面也用了一個Gridview控件,用來展示用戶信息,同時提供修改和刪除文章信息的操作。在ST-main.aspx.cs 頁面中調用ST-Article-Bind()方法,從數據庫中獲取文章
75、信息并綁定到Gridview控件。當單擊Gridview控件中的修改超鏈接時,在ST-admin.aspx頁面中會加載ST-edit.aspx頁面,根據Action動作參數來決定是執(zhí)行刪除還是修改操作。例如,當Action=edit時,則執(zhí)行修改操作。當單擊Gridview控件中的刪除超鏈接時,則會彈出對話框,詢問是否刪除選中的文章。</p><p> 4. 文章評論管理頁面,如圖4-5所示:</p>
76、;<p> 圖4-5文章評論管理頁面</p><p> 系統(tǒng)管理員可以瀏覽與刪除通過復選按鈕選擇的評論內容。而且系統(tǒng)管理員對文章評管理的權限是有限制的。其中復選框代碼如下:</p><p> <EditItemTemplate></p><p> <asp:Label ID="Label1" runat=&
77、quot;server" Text='<%# Eval("ST_r_id") %>></asp:Label></p><p> </EditItemTemplate></p><p> <ItemTemplate></p><p> <asp:Label ID=&
78、quot;Label1" runat="server" Text='<%# Bind("ST_r_id") %>></asp:Label></p><p> </ItemTemplate></p><p> <% # Eval("ST_r_id") %>
79、表示當前綁定的是ST_r_id字段。</p><p> 5. 鏈接管理頁面,如圖4-6所示:</p><p> 圖4-6鏈接管理頁面</p><p> 在管理員主界面中單擊“鏈接管理”超鏈接時,即可在ST-admin.aspx頁面中部右側加載鏈接管理頁面ST-admin-link.aspx。在此頁面中系統(tǒng)管理員可以瀏覽、添加與刪除通過復選按鈕選擇的鏈接內容。此
80、頁面用了一個GridView按鈕和一個添加新鏈接和一個刪除選擇內容按鈕。當單擊添加按鈕時將觸發(fā)Button_Click()事件來實現添加鏈接。鏈接的添加代碼如下:</p><p> void btnAdd_Click(object sender, EventArgs e)</p><p><b> {</b></p><p> if (!
81、string.IsNullOrEmpty(txtLinkName.Text.Trim()) &&</p><p> !string.IsNullOrEmpty(txtLinkURL.Text.Trim()))</p><p><b> {</b></p><p> //構建集合對象ListDictionary,添加進用戶輸
82、入的鏈接數據</p><p> System.Collections.Specialized.ListDictionary listDictionary</p><p> = new System.Collections.Specialized.ListDictionary();</p><p> listDictionary.Add("ST_l_n
83、ame", txtLinkName.Text.Trim());</p><p> listDictionary.Add("ST_l_url", txtLinkURL.Text.Trim());</p><p> //通過調用LinqDataSource數據源控件的Insert方法添加</p><p> //上面創(chuàng)建的集合對象Lis
84、tDictionary的實例,從而實現記錄的插入</p><p> LinqDataSource1.Insert(listDictionary);</p><p> //更新GridView1控件內容顯示</p><p> GridView1.DataBind();</p><p><b> }</b></
85、p><p><b> }</b></p><p> 上述代碼就是一個創(chuàng)建SQL語句->打開數據庫連接->執(zhí)行SQL語句->關閉數據庫連接過程。</p><p> 4.4 普通用戶界面</p><p> 迷你博客系統(tǒng)前臺管理中心,即普通用戶的主頁面。普通用戶可以觀看文章列表、閱讀文章、觀看其他讀者的評
86、論與留言,對感興趣的文章進行評論或留言。</p><p> 1. 普通用戶管理頁面,如圖4-7所示:</p><p> 圖4-7前臺管理中心首頁</p><p> 在用戶登錄頁面ST_login.aspx中單擊“返回首頁”超鏈接時,將直接轉入到普通用戶界面。而且從上圖可看出在設計瀏覽文章頁面時用了一個Datalist 控件顯示導航列表。實際上導航列表就是在It
87、em Template 模板中添加<a>超鏈接標簽。用戶單擊博客列表下面的一個鏈接后,ST_index.aspx頁面右側將會顯示相關內容。</p><p> 2. 留言界面,如圖4-8所示:</p><p><b> 圖4-8留言界面</b></p><p> 留言子模塊主要包括實現留言刪除和回復功能。整個頁面布局由2部分組成
88、。在最左部給用戶留言用,右邊用于顯示所有已有留言。</p><p> 3. 文章評論頁面,如圖4-9所示:</p><p> 圖4-9 用戶提交評論頁面</p><p> 當用戶單擊推薦博客下面的文章列表時,他會被導航到另一個頁面Show.asxp。當單擊TemplateField控件中的“點擊閱讀全文”超鏈接時,將打開相應的頁面。例如單擊標題為12,摘要為1
89、13對應的點擊閱讀全文超鏈接后,將打開一個頁面提供給用戶發(fā)表評論的功能。</p><p> 在普通用戶的留言和評論界面中都運用到校驗碼的功能,以下即是生成校驗碼的主程序:</p><p> //繪制驗證碼的主程序。</p><p> public void ProcessRequest (HttpContext context) </p><
90、;p><b> {</b></p><p> // 創(chuàng)建 Bitmap。</p><p> using (Bitmap objBitmap = new Bitmap(_width, _height, PixelFormat.Format32bppArgb))</p><p><b> {</b></p&
91、gt;<p><b> // 創(chuàng)建畫布。</b></p><p> using (Graphics objGraphics = Graphics.FromImage(objBitmap))</p><p><b> {</b></p><p> //指定使用平滑化處理(又稱為反鋸齒功能)。</p
92、><p> objGraphics.SmoothingMode = SmoothingMode.AntiAlias;</p><p> //定義一個矩型作為顯示驗證碼之用。</p><p> Rectangle rect = new Rectangle(0, 0, _width, _height);</p><p> //指定從頂點到底點
93、往右斜的斜線花紋,前景顏色為黃色、背景顏色為白色的筆刷。</p><p> HatchBrush hBr = new HatchBrush(HatchStyle.WideDownwardDiagonal, Color.Yellow, Color.White);</p><p> //創(chuàng)建一個矩形底圖。</p><p> objGraphics.FillRect
94、angle(hBr, rect);</p><p> hBr.Dispose();</p><p> //文字字符串偏移值。</p><p> int charOffset = 0;</p><p> //每個文字的寬度。</p><p> double charWidth = Convert.ToDoubl
95、e(_width) / Convert.ToDouble(_randomTextLength);</p><p> //將每個文字視為一個矩型,便于扭曲該字。</p><p> Rectangle rectChar;</p><p> // 欲使用的字體樣式。</p><p> Font fnt = null;</p>
96、<p> //使用黑色筆刷來將文字繪制于矩型中,然后扭曲該矩型,</p><p> //最后把該矩型填入原本的底圖之中。</p><p> using (Brush br = new SolidBrush(Color.Black))</p><p><b> {</b></p><p> foreac
97、h (Char ch in _randomText)</p><p><b> {</b></p><p> fnt = GetFontStyle();</p><p> rectChar = new Rectangle(Convert.ToInt32(charOffset * charWidth), 0, Convert.ToInt32
98、(charWidth), _height);</p><p> GraphicsPath gp = TextPath(ch.ToString(), fnt, rectChar);</p><p> TwistText(gp, rectChar);</p><p> objGraphics.FillPath(br, gp);</p><p&g
99、t; charOffset += 1;</p><p><b> }</b></p><p><b> }</b></p><p> //加上背景雜點與線條噪聲。</p><p> AddNoise(objGraphics, rect);</p><p> Add
100、Line(objGraphics, rect);</p><p> //設定返回的頁面型態(tài),并指定當圖形繪制完成之后,再將結果返回到前端頁面。 </p><p> context.Response.ContentType = "Image/Jpeg";</p><p> context.Response.Clear();</p>
101、<p> // 設定 Cache-Control: no-cache 標頭。</p><p> context.Response.Cache.SetCacheability(HttpCacheability.NoCache);</p><p> context.Response.BufferOutput = true;</p><p> //把
102、混雜有圖文信息的位圖數據流輸出到響應對象的輸出流</p><p> context.Response.Flush();</p><p> objBitmap.Save(context.Response.OutputStream, ImageFormat.Jpeg);</p><p><b> }</b></p><p&
103、gt; HttpApplication app = context.ApplicationInstance;</p><p> //取得獨一的 GUID 值,用來快取所產生的驗證碼。</p><p> //Guid guid = System.Guid.NewGuid();</p><p><b> //</b></p>
104、<p> string strGuid = "CAPTCHA";</p><p> if (strGuid != String.Empty)</p><p><b> {</b></p><p> //把驗證碼的文字字符串保存在當前應用程序的緩存中</p><p> HttpRun
105、time.Cache.Insert(strGuid, _randomText);</p><p><b> }</b></p><p><b> } </b></p><p><b> }</b></p><p> public bool IsReusable &
106、lt;/p><p><b> {</b></p><p><b> get </b></p><p><b> {</b></p><p> return false;</p><p><b> }</b></p>
107、<p><b> }</b></p><p><b> }</b></p><p> 留言和評論界面的驗證功能中用到的校驗碼是在校驗碼生成函數GenerateCAPTCHA()生成的,并通過該函數隨機生成。在生成校驗碼的過程中要運用到以下參數。</p><p> (1) 驗證碼圖片的高度。建議不要小于
108、 30 個像素。private int _height = 50;</p><p> (2) 驗證碼圖片的寬度。建議一個字以 40 個像素為基準。private int _width = 350;</p><p> ?。?) 隨機數產生器。private static Random _rand = new Random();</p><p> ?。?) 驗證碼的
109、文字長度。 private static int _randomTextLength = 5;</p><p> (5) 調用自定義的 GenerateRandomText() 函數來產生驗證碼的文字字符串。 private </p><p> string _randomText = GenerateRandomText();</p><p> ?。?) 扭
110、曲字體的程度。 private FontTwistLevel _fontTwist = FontTwistLevel.High;</p><p> ?。?) 背景雜點的程度。 </p><p> private BackgroundNoiseLevel _backgroundNoise = BackgroundNoiseLevel.Low;</p>&
111、lt;p> 線條噪聲的程度。 private LineNoiseLevel _lineNoise = LineNoiseLevel.Low;</p><p><b> 4.5 本章小結</b></p><p> 本章主要介紹博客系統(tǒng)界面的實現部分,分別從普通用戶和管理員的角度進行設計。本系統(tǒng)以傳統(tǒng)博客系統(tǒng)作為依托,主要是為普通用戶角色和管理員而設計的。管理
112、員登錄時實現系統(tǒng)管理功能,主要包括管理員登錄界面、分類管理界面、文章管理界面、添加文章界面、評論管理界面、鏈接管理界面和留言管理界面管理;普通用戶登入博客主頁實現如下功能:閱讀文章、發(fā)表留言、發(fā)表評論等。本博客系統(tǒng)通過不斷更新系統(tǒng)信息內容,使系統(tǒng)信息更具有多元化,并在創(chuàng)建這個平臺的過程中不斷積累經驗,吸收新知識,使系統(tǒng)充滿活力。</p><p> 在本章里還重點介紹了博客系統(tǒng)的各個界面功能實現,各個界面的代碼實
113、現,熟悉了開發(fā)平臺一些控件如Gridview、Datalist控件和按鈕的運用,并在最后一小段中纖細介紹了驗證碼的代碼實現過程及其驗證碼生成過程中運用到的一些基本屬性。</p><p><b> 第五章 結束語</b></p><p> 個人博客系統(tǒng)實現是現代社會信息化的主要內容之一,是個人對外進行信息交流個性化窗口,使知識的共享更加簡單化和快捷化。本統(tǒng)的設計開發(fā)
114、實現了博客應有的基本系功能,用戶可以通過該系統(tǒng)在互聯網上建立屬于自己的博客,與網友們進行交流,還可以實現與網友們實現資源的共享。</p><p> 本文圍繞者個人博客系統(tǒng)的實現來展開,著重介紹了博客系統(tǒng)中關鍵的算法實現,也簡要介紹了其運用到得開發(fā)平臺,數據庫等。本系統(tǒng)嚴格遵照軟件工程設計思路基本流程,借鑒了前輩的經驗,依次經過需求分析、概要設計和詳細設計的階段性設計,最后實現了本系統(tǒng)設計。</p>
115、<p> 本文主要進行了一下幾個方面的工作:</p><p> 1、了解博客系統(tǒng)設計的理論基礎,比較國內外各種博客系統(tǒng)實現途徑,提出了開發(fā)博客系統(tǒng)的目的和意義,并介紹了相關的開發(fā)環(huán)境和博客系統(tǒng)在國內外發(fā)展現狀;</p><p> 2、參考一些博客系統(tǒng)成功案例,進行網頁與數據庫收集,對各個環(huán)節(jié)中的技術進行比較與分析,然后主要從需求分析、功能模塊、特色模塊和數據庫設計四個方面
116、進行論述,得出適合本系統(tǒng)的設計方案</p><p> 3、根據系統(tǒng)的設計方案,使用三層結構體系,結合ASP.NET、Ajax多種技術、SQL Server數據庫和C#編程語言,使用Visual Studio.NET 2005開發(fā)工具完成本系統(tǒng)。</p><p> 在系統(tǒng)的學習設計,組織博客網站設計的各項需求之后,通過解決是開發(fā)本項目遇到的各種問題,積累網站開發(fā)經驗,不斷提高自己的學習能
117、力,基本上完成本系統(tǒng)功能實現。在本次開發(fā)過程中,我遇到了很多的困難:包括整個系統(tǒng)的架構方面、技術實現方面以及系統(tǒng)測試等方面。同時,我也受到了很大的啟發(fā),希望通過今后的學習,能夠對本系統(tǒng)在功能方面更加強大,得到進一步的完善。</p><p><b> 參 考 文 獻</b></p><p> [1] 朱先忠. ASP.NET3.5前沿技術與實戰(zhàn)案例精粹[M]. 北京
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經權益所有人同意不得將文件中的內容挪作商業(yè)或盈利用途。
- 5. 眾賞文庫僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
- 6. 下載文件中如有侵權或不適當內容,請與我們聯系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 個人博客網站設計畢業(yè)
- 博客網站畢業(yè)設計
- 畢業(yè)設計-博客網站
- 畢業(yè)設計--個人博客網站的設計與實現
- 個人博客網站的設計與實現畢業(yè)設計
- 個人博客網站設計畢業(yè)論文
- 畢業(yè)設計(論文)博客網站系統(tǒng)
- 個人博客網站畢業(yè)論文
- 個人博客網站畢業(yè)論文
- 個人博客網站畢業(yè)論文
- 畢業(yè)設計---博客網站的設計與實現
- 畢業(yè)設計---個人博客系統(tǒng)設計
- 個人博客系統(tǒng)畢業(yè)論文--博客網站的設計與實現
- 個人博客系統(tǒng)畢業(yè)設計論文
- 個人博客系統(tǒng)畢業(yè)設計論文
- 個人網站畢業(yè)設計
- 個人網站設計畢業(yè)設計
- bbs博客網站設計與實現畢業(yè)設計論文
- 個人博客網站課程設計
- 畢業(yè)設計---個人網站設計
評論
0/150
提交評論