版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認(rèn)領(lǐng)
文檔簡介
1、<p><b> 藝美畢業(yè)設(shè)計</b></p><p> 基于PHP的個人博客系統(tǒng)的實現(xiàn)</p><p><b> 摘 要</b></p><p> 本系統(tǒng)利用PHP動態(tài)網(wǎng)絡(luò)開發(fā)技術(shù),以MySQL作為后臺數(shù)據(jù)庫,使用Apache配置Web服務(wù)器,結(jié)合JavaScript和HTML兩種腳本語言,以及配
2、合多種網(wǎng)頁開發(fā)工具,實現(xiàn)了基于B/S模式的個人日志發(fā)表和交流的平臺——pHP個人博客系統(tǒng)。</p><p> 全文主要分為6個部分:第1部分主要介紹個人博客系統(tǒng)的特點、優(yōu)點和本系統(tǒng)所要用到的各種開發(fā)技術(shù);第2部分主要論述了傳統(tǒng)系統(tǒng)和所要開發(fā)系統(tǒng)的處理流程、功能介紹和比較;第3部分主要分析了系統(tǒng)的各項功能和性能需求,給出了系統(tǒng)需求管理規(guī)劃表,展示了各種需求的優(yōu)先級,規(guī)劃和分配了各個模塊所要完成的系統(tǒng)功能;第4部分
3、系統(tǒng)數(shù)據(jù)庫設(shè)計,主要分析和設(shè)計了系統(tǒng)的數(shù)據(jù)庫表和項,以及數(shù)據(jù)庫各項的標(biāo)識符;第5部分系統(tǒng)詳細(xì)設(shè)計,逐一給出了系統(tǒng)各個模塊的詳細(xì)設(shè)計過程;第6部分系統(tǒng)配置和發(fā)布,介紹了系統(tǒng)開發(fā)和運行的相關(guān)環(huán)境配置以及運行效果展示。</p><p> 關(guān)鍵詞:博客 PHP MySQL 動態(tài)網(wǎng)頁 B/S模式</p><p><b> 目 錄</b></p>
4、<p><b> 1 緒論1</b></p><p> 1.1 個人博客系統(tǒng)1</p><p> 1.1.1 個人博客系統(tǒng)的研究意義1</p><p> 1.1.2個人博客系統(tǒng)的簡介1</p><p> 1.1.3個人博客的特點2</p><p> 1.2 開發(fā)技術(shù)
5、2</p><p> 1.2.1 PHP技術(shù)2</p><p> 1.2.2 PHP工作原理3</p><p> 1.2.3 B/S結(jié)構(gòu)4</p><p> 1.2.4 mysql數(shù)據(jù)庫技術(shù)4</p><p> 1.2.5 Apache技術(shù)6</p><p> 1.2.6
6、 JavaScript語言6</p><p> 2 系統(tǒng)可行性分析設(shè)計6</p><p> 2.1 開發(fā)的目的和背景6</p><p> 2.2 系統(tǒng)目標(biāo)和研究方法7</p><p> 2.3 傳統(tǒng)系統(tǒng)的分析8</p><p> 2.4 所要開發(fā)的系統(tǒng)的分析9</p><p&g
7、t; 2.5 系統(tǒng)的其它可行性10</p><p> 2.6 可行性結(jié)論11</p><p> 3 系統(tǒng)需求分析和概要設(shè)計11</p><p> 3.1 系統(tǒng)需求分析11</p><p> 3.1.1 開發(fā)背景12</p><p> 3.1.2 系統(tǒng)實現(xiàn)目標(biāo)概述12</p><
8、;p> 3.1.3 系統(tǒng)功能需求12</p><p> 3.1.4 系統(tǒng)需求管理規(guī)劃表13</p><p> 3.1.5 系統(tǒng)性能要求14</p><p> 3.2 概要設(shè)計15</p><p> 3.2.1 系統(tǒng)體系結(jié)構(gòu)15</p><p> 3.2.2 系統(tǒng)模塊劃分16</p&g
9、t;<p> 3.2.3 系統(tǒng)功能劃分組織結(jié)構(gòu)圖17</p><p> 3.2.3 運行環(huán)境17</p><p> 4 系統(tǒng)數(shù)據(jù)庫設(shè)計18</p><p> 4.1 MySQL 數(shù)據(jù)庫簡介18</p><p> 4.2 數(shù)據(jù)庫表的設(shè)計19</p><p> 4.2.1 概述19&l
10、t;/p><p> 4.2.2 用戶表結(jié)構(gòu)19</p><p> 4.2.3文章內(nèi)容表20</p><p> 4.2.4 文章評論表結(jié)構(gòu)20</p><p> 4.2.5圖片信息表結(jié)構(gòu)21</p><p> 4.2.6 朋友圈信息表結(jié)構(gòu)21</p><p> 4.2.7 數(shù)據(jù)庫
11、ER關(guān)系圖22</p><p> 5 系統(tǒng)的詳細(xì)設(shè)計22</p><p> 5.1 首頁面及主要頁面設(shè)計23</p><p> 5.2 系統(tǒng)主要功能模塊開發(fā)24</p><p> 5.1.1首頁模塊24</p><p> 5.1.2 文章管理模塊27</p><p> 5
12、.1.3 圖片管理模塊29</p><p> 5.1.4 朋友圈管理模塊31</p><p> 5.1.5管理員管理模塊31</p><p> 6系統(tǒng)配置和發(fā)布32</p><p> 6.1 開發(fā)和應(yīng)用環(huán)境配置32</p><p> 6.1.1安裝Apache2.2.632</p>
13、<p> 6.1.2 安裝PHP5.2.533</p><p> 6.1.3安裝MySQL6.0.334</p><p> 6.1.4安裝phpmyadmin2.11.336</p><p> 6.2 系統(tǒng)的發(fā)布和運行效果36</p><p> 6.2.1 系統(tǒng)的發(fā)布36</p><p>
14、 6.2.2 系統(tǒng)運行效果37</p><p><b> 7 總結(jié)42</b></p><p><b> 致 謝44</b></p><p> 參 考 文 獻(xiàn)45</p><p> Abstract46</p><p> 仲愷農(nóng)業(yè)工程學(xué)院畢業(yè)論文(
15、設(shè)計)成績評定表47</p><p><b> 1 緒論</b></p><p> 個人博客,數(shù)字生活新時尚,通過文字、圖片、聲音等,盡情展示自我、分享感受、參與交流,美好你我生活。Show you, share me,人人都可以博客,人人都需要博客。</p><p><b> 1.1 個人博客</b></p
16、><p> 1.1.1 個人博客的研究意義</p><p> 越來越多的網(wǎng)絡(luò)用戶希望能夠在網(wǎng)絡(luò)平臺上更多地展現(xiàn)自己的個性,更方便地與人互動交流,在傳統(tǒng)的WEB1.0時代,無論是論壇、社區(qū)還是個人網(wǎng)站,都試圖在這些方面進行努力,隨著WEB2.0時代的到來,一個新的概念出現(xiàn)了----博客。隨著計算機網(wǎng)絡(luò)的飛速發(fā)展,博客已經(jīng)成為寫網(wǎng)絡(luò)日志必不可少的一種工具,也是一種簡單有效的提供網(wǎng)絡(luò)用戶之間進行
17、在線交流的網(wǎng)絡(luò)平臺,通過其可以結(jié)交更多的朋友,表達(dá)更多的想法,它隨時可以發(fā)布日志,方便快捷。訪客可以直接在個人Blog上留言,如提出問題或意見等。個人博客的發(fā)展,也已經(jīng)成為廣告商業(yè)務(wù)拓展的重要領(lǐng)域??傊珺log是繼Email、BBS、ICQ之后的第四種網(wǎng)絡(luò)交互方式。Blog是未來信息化教育和個人知識管理的強大而簡單易用的工具。</p><p> 1.1.2個人博客的簡介</p><p>
18、; “博客”一詞是從英文單詞Blog翻譯而來。Blog是Weblog的簡稱,而Weblog則是由Web和Log兩個英文單詞組合而成。Weblog就是在網(wǎng)絡(luò)上發(fā)布和閱讀的流水記錄,通常稱為“網(wǎng)絡(luò)日志”,簡稱為“網(wǎng)志”。它是繼Email、BBS、IM之后出現(xiàn)的第四種全新的網(wǎng)絡(luò)交流方式。它絕不僅僅是一種單向的發(fā)布系統(tǒng),而且有著極其出色的交流功能。另外Blog也提供了非常方便實用的個性化功能。簡言之,Blog就是以網(wǎng)絡(luò)作為載體,簡易迅速便捷地
19、發(fā)布自己的心得,及時有效輕松地與他人進行交流,再集豐富多彩的個性化展示于一體的綜合性平臺。</p><p> 1.1.3個人博客的特點</p><p> 1,零機制:博客屬于個人所有,是自發(fā)建立和非正式的建設(shè)。BSP(Blog Service Provider——博客服務(wù)托管商)不能對博客發(fā)號施令。 </p><p> 2,零技術(shù):博客不需要作網(wǎng)站的專業(yè)知識,
20、可以像發(fā)郵件一樣簡單地實現(xiàn)博客網(wǎng)頁的呈現(xiàn)。技術(shù)的極度簡化,包括架構(gòu)和申請博客網(wǎng)站、編輯、上傳和修改內(nèi)容等。 </p><p> 3,零成本:任何一個人都可以像申請免費郵件般免費申請自己的博客網(wǎng)站。不需要注冊域名的成本,不需要租用服務(wù)器空間的成本,不需要許多軟件工具的成本。 </p><p> 4,零編輯:博客用戶就是編輯,即時寫作、即時發(fā)布、自我檢查。這形成了與傳統(tǒng)寫作截然不同的“體驗
21、”,真正實現(xiàn)了作者“零磨損”的開放式寫作。 </p><p> 5,零形式:博客頁面的表現(xiàn)形式和文章內(nèi)容的表現(xiàn)方式十分靈活,沒有特定形式。 </p><p> 6,與個人主頁相比較,博客的使用更方便、交互性更強。與傳統(tǒng)的電子郵件、BBS和ICQ這三種互聯(lián)網(wǎng)溝通方式相比,博客是一種較嚴(yán)肅的溝通平臺。BBS公共匿名性很強,而個人性很弱,因此缺乏約束。電子郵件和ICQ則是多用于個人間的通訊,
22、而博客是個人性和公共性的結(jié)合。博客是個人在網(wǎng)上展示自己、與別人溝通交流的綜合平臺,它的管理比BBS簡單的多。</p><p><b> 1.2 開發(fā)技術(shù)</b></p><p> 本系統(tǒng)在Windows XP下采用PHP技術(shù)作為服務(wù)器端腳本解釋器,MySQL作為后臺數(shù)據(jù)庫平臺以及Apache作為Web服務(wù)器,并且使用了一些輔助開發(fā)工具和技術(shù),比如Dreamweav
23、er CS3等。 </p><p> 1.2.1 PHP技術(shù)</p><p> PHP(Hypertext Preprocessor——超文本預(yù)處理器)是一種HTML內(nèi)嵌式的腳本語言(類似ASP)。PHP的語法大部分兼容了C、JAVA、Perl,并增加了PHP特有的語法結(jié)構(gòu),可以比CGI或者Perl更快速的執(zhí)行動態(tài)網(wǎng)頁,只需要很少的編程知識就能建立一個交互的WEB站點。它
24、可以用于管理動態(tài)內(nèi)容、支持?jǐn)?shù)據(jù)庫、處理會話跟蹤,甚至構(gòu)建整個電子商務(wù)站點。它支持許多流行的數(shù)據(jù)庫,包括 MySQL、PostgreSQL、Oracle、Sybase、Informix 和 Microsoft SQL Server。</p><p> PHP是完全免費的開源產(chǎn)品,不用花錢,你可以從PHP官方站點(http: //www.php.net)自由下載。而且你可以不受限制地獲得源碼,甚至可以從中加進你自己
25、需要的特色。Apache和MYSQL也是同樣免費開源,在國外非常流行。PHP和MYSQL搭配使用,可以非常快速的搭建一套不錯的動態(tài)網(wǎng)站系統(tǒng),因此國外大多數(shù)主機系統(tǒng)都配有免費的APACHE+PHP+MYSQL。通常認(rèn)為這種搭配的執(zhí)行效率比IIS+ASP+ACCESS要高,而后者的使用還必須另外交錢給微軟。</p><p> PHP具有如下的優(yōu)點:</p><p> 1.學(xué)習(xí)簡單:只需要了
26、解一些基本的語法和語言特設(shè),就可以開始使用PHP。</p><p> 數(shù)據(jù)庫連接方便:PHP可以編譯成具有與許多數(shù)據(jù)庫相連接的函數(shù)。PHP與MYSQL是現(xiàn)在絕佳的組合??梢跃帉懲鈬暮瘮?shù)間接存取數(shù)據(jù)庫。這樣當(dāng)更換使用的數(shù)據(jù)庫時,可以輕松的更改編碼以適應(yīng)這樣的變化。PHPLIB就是最常用的可以提供一般事務(wù)需要的一系列基庫。</p><p> 2.?dāng)U展性強:PHP已經(jīng)進入了一個高速發(fā)展的時
27、期,具有良好的擴展附加功能。</p><p> 可以進行面向?qū)ο缶幊蹋篜HP提供了類和對象,基于WEB的編程工作非常需要面向?qū)ο缶幊棠芰?。PHP支持構(gòu)造器、提取類等。</p><p> 總之,PHP技術(shù)具有免費、跨平臺、可加密、開發(fā)效率高等優(yōu)點,在編寫小型的網(wǎng)站系統(tǒng)時較之ASP、JSP等技術(shù)有一定優(yōu)勢。</p><p> 1.2.2 PHP工作原理</p
28、><p> PHP的所有應(yīng)用程序都是通過WEB服務(wù)器(如apache)和PHP引擎程序解釋執(zhí)行完成的,工作過程: </p><p> (1)當(dāng)用戶在瀏覽器地址中輸入要訪問的PHP頁面文件名,然后回車就會觸發(fā)這個PHP請求,并將請求傳送給支持PHP的WEB服務(wù)器。 </p><p> (2)WEB服務(wù)器接受這個請求,并根據(jù)其后綴進行判斷。如果是一個PHP請求,WEB
29、服務(wù)器從硬盤或內(nèi)存中取出用戶要訪問的PHP應(yīng)用程序,并將其發(fā)送給PHP引擎程序。 </p><p> (3)PHP引擎程序?qū)EB服務(wù)器傳送過來的文件從頭到尾進行掃描并根據(jù)命令從后臺讀取,處理數(shù)據(jù),并動態(tài)地生成相應(yīng)的HTML頁面。</p><p> (4)PHP引擎將生成HTML頁面返回給WEB服務(wù)器。WEB服務(wù)器再將HTML頁面返回給客戶端瀏覽器。 </p&g
30、t;<p> 1.2.3 B/S結(jié)構(gòu)</p><p> 在當(dāng)前Internet/Intranet領(lǐng)域,“瀏覽器/服務(wù)器(簡稱B/S)”結(jié)構(gòu)是非常流行的客戶機/服務(wù)器結(jié)構(gòu)。在B/S體系結(jié)構(gòu)系統(tǒng)中,用戶通過瀏覽器向分布在網(wǎng)絡(luò)上的許多服務(wù)器發(fā)出請求,服務(wù)器對瀏覽器的請求進行處理,將用戶所需信息返回到瀏覽器。B/S結(jié)構(gòu)簡化了客戶機的工作,客戶機上只需配置少量的客戶端軟件。服務(wù)器將擔(dān)負(fù)更多的工作,對數(shù)據(jù)庫
31、的訪問和應(yīng)用程序的執(zhí)行將在服務(wù)器上完成。瀏覽器發(fā)出請求,而其余如數(shù)據(jù)請求、加工、結(jié)果返回以及動態(tài)網(wǎng)頁生產(chǎn)等工作全部由Web Server完成。實際上B/S體系結(jié)構(gòu)是把二層C/S結(jié)構(gòu)的事務(wù)處理邏輯模塊從客戶機的任務(wù)中分離出來,由Web服務(wù)器單獨組成一層來負(fù)擔(dān)其他任務(wù),這樣客戶機的壓力減輕了,把負(fù)荷分配給了Web服務(wù)器。這種三次體系結(jié)構(gòu)如圖1所示。</p><p> 圖1 B/S三層體系結(jié)構(gòu)</p>
32、<p> 這種結(jié)構(gòu)不僅把客戶機從沉重的負(fù)擔(dān)和不斷對其提高的性能的要求中解放出來,也把技術(shù)維護人員從繁重的維護升級工作中解脫出來。由于客戶機把事務(wù)處理邏輯部分分給了功能服務(wù)器,使客戶機一下子“苗條”了許多,不再負(fù)責(zé)處理復(fù)雜計算和數(shù)據(jù)訪問等關(guān)鍵事務(wù),只負(fù)責(zé)顯示部分,所以維護人員不再為程序的維護工作奔波于每個客戶機之間,而把主要精力放在功能服務(wù)器上程序的更新工作。這種三層結(jié)構(gòu)在層與層之間相互獨立,任何一層的改變不會影響其它層的功能
33、。</p><p> 1.2.4 數(shù)據(jù)庫技術(shù)</p><p> 數(shù)據(jù)庫是數(shù)據(jù)和數(shù)據(jù)庫對象的集合,其中數(shù)據(jù)庫對象指表(Table)、視圖(View)、存儲過程(Stored Procedure)和觸發(fā)器(Trigger)等。數(shù)據(jù)庫通過SQL(Structured Query Language)來對數(shù)據(jù)進行操作和管理,這里包括一些基本的操作如select、delete、insert、upd
34、ate語句。</p><p> ADO(ActiveX Data Objects)是微軟開發(fā)數(shù)據(jù)庫應(yīng)用程序的數(shù)據(jù)庫訪問技術(shù)。它被設(shè)計用來同新的數(shù)據(jù)庫訪問層OLE DB Provider一起協(xié)同工作,以提供通用數(shù)據(jù)訪問(Universal Data MySQL)。OLE DB是一個底層的數(shù)據(jù)庫訪問接口,用它可以訪問各種數(shù)據(jù)源,包括傳統(tǒng)的關(guān)系數(shù)據(jù)庫。ADO封裝了OLE DB程序中使用的大量COM接口,所以是一種高層
35、訪問技術(shù)。關(guān)于數(shù)據(jù)庫管理系統(tǒng)和接口的原理如圖2所示。</p><p> MySQL是一個快速、多線程、多用戶的小型關(guān)系型數(shù)據(jù)庫管理系統(tǒng)。它支持正規(guī)的SQL查詢語言和采用多種數(shù)據(jù)類型,能對數(shù)據(jù)進行各種詳細(xì)的查詢等。MySQL提供了一全套的數(shù)據(jù)庫創(chuàng)建和訪問機制,通過很直觀的方式就可以創(chuàng)建、訪問、修改數(shù)據(jù)庫的表和項,并且能建立它們之間的各種數(shù)據(jù)關(guān)系。MySQL系列從90年代就發(fā)展起來,經(jīng)過了多年的反展,它已經(jīng)成為非常
36、成熟的技術(shù),面向中小型企業(yè)級應(yīng)用。</p><p> MySQL數(shù)據(jù)庫的特點是數(shù)據(jù)庫文件小而簡單,不需要運行或者啟動數(shù)據(jù)庫服務(wù)進程就可以使用。通常MySQL數(shù)據(jù)庫文件可以隨網(wǎng)頁文件一起方便地放在網(wǎng)站的目錄中,正是由于這些特點,MySQL數(shù)據(jù)庫通常被用來作為網(wǎng)站開發(fā)的數(shù)據(jù)庫支持技術(shù)。</p><p> 對MySQL數(shù)據(jù)庫的管理采用圖形化管理工具phpMyAdmin 。phpMyAdmin
37、是一個用PHP編寫的、基于Web的、跨平臺的MySQL管理程序,支持簡體中文,使用Web瀏覽器作為管理界面。通過phpMyAdmin可以進行絕大部分的MySQL操作,包括對數(shù)據(jù)庫級操作,表級操作,以及數(shù)據(jù)管理等。</p><p> 圖2 數(shù)據(jù)庫管理系統(tǒng)和接口的原理</p><p> 1.2.5 Apache技術(shù)</p><p> Apache是最流行的Web服
38、務(wù)器端軟件之一??焖?、可靠、可通過簡單的API擴展,Perl/Python解釋器可被編譯到服務(wù)器中,完全免費,完全源代碼開放。</p><p> Apache服務(wù)器擁有以下特性:1支持最新的HTTP/1.1通信協(xié)議擁有簡單而強有力的基于文件的配置過程;2 支持通用網(wǎng)關(guān)接口;3 支持基于IP和基于域名的虛擬主機;4 支持多種方式的HTTP認(rèn)證;5 集成Perl處理模塊;6 集成代理服務(wù)器模塊;7 支持實時監(jiān)視服務(wù)
39、器狀態(tài)和定制服務(wù)器日志;8 支持服務(wù)器端包含指令(SSI);9 支持安全Socket層(SSL);10 提供用戶會話過程的跟蹤; 11支持FastCGI;通過第三方模塊可以支持Java Servlets。 </p><p> 1.2.6 JavaScript語言</p><p> JavaScript語言是一種基于對象(Object)和事件驅(qū)動(Event Driven)并具有安全性
40、能的腳本語言。使用它的目的是與HTML超級文本語言、JavaApplet(Java小程序)一起實現(xiàn)在一個Web頁面中鏈接多個對象,與Web客戶交互作用,從而達(dá)到開發(fā)客戶端應(yīng)用程序的目的。JavaScript是通過嵌入或調(diào)入在標(biāo)準(zhǔn)HTML語言中實現(xiàn),它的出現(xiàn)彌補了HTML語言的缺陷。</p><p> 在JavaScript語言的配合下,能夠運用PHP技術(shù)開發(fā)出非常漂亮而且交互性強大的動態(tài)Web網(wǎng)站來.</
41、p><p> 2 系統(tǒng)可行性分析設(shè)計 </p><p> 2.1 開發(fā)的目的和背景</p><p> 這里首先簡要介紹系統(tǒng)可行性分析的目的和系統(tǒng)開發(fā)的相關(guān)背景。1、編寫目的</p><p> 可行性分析主要介紹開發(fā)項目的一些背景,系統(tǒng)的各方面可行性,從技術(shù)、本系統(tǒng)的前景以及當(dāng)前個人博客的特點和需求等方面展示本系統(tǒng)的優(yōu)勢和限制,主要對
42、象是網(wǎng)絡(luò)中的上網(wǎng)用戶,以便作出正確的后繼設(shè)計與開發(fā)決策。 2、項目背景</p><p> 寫日記、文章一直以來都作為很多人表達(dá)自己感情,展示自己才華以及與外人溝通的重要方式,也成為了很多人生活中的重要部分。過去人們都是靠紙和筆來實現(xiàn),甚至到之后有了電腦,也最多用文本編輯軟件來寫,最后還是得通過人工交換自己所寫的東西,無論是紙張作為載體還是電子存儲設(shè)備作為載體。這樣極大縮減了交流的范圍和速度以及交流的頻度
43、。隨著網(wǎng)絡(luò)的開速發(fā)展,它已經(jīng)走入大眾生活,所以自然而然誕生了個人博客這樣一個新興事物,它不僅僅能取代前面所說的功能,還能加入圖片、音樂,而且使得作者更能無所拘束地生動地寫出自己想寫的,旁人也能非常便捷地閱讀并且加以評論,并且它還能作為展示個人個性的窗戶。更重要的是網(wǎng)絡(luò)個人博客利用網(wǎng)絡(luò)的巨大優(yōu)勢,可以非??旖?、廣泛而沒有界限地自由交流。交流速度快、交流范圍廣以及可以讓網(wǎng)絡(luò)中任何人瀏覽、評論是博客的最大特點,正是有了這些特點,個人博客現(xiàn)在已
44、經(jīng)成為很多人生活中必不可少的一個部分,它讓更多人了解作者的心聲,方便了人與人之間的溝通和交流。</p><p> 2.2 系統(tǒng)目標(biāo)和研究方法</p><p><b> 1、系統(tǒng)的目標(biāo)</b></p><p> 該目標(biāo)主要是結(jié)合與傳統(tǒng)系統(tǒng)(即傳統(tǒng)以紙張或者磁盤、光盤為載體的寫作模式)的比較而定。</p><p>
45、(1)人力和設(shè)備的節(jié)省</p><p> 傳統(tǒng)系統(tǒng)主要是通過人力寫作,并且載體是紙張或者磁盤、光盤。而通過本系統(tǒng),可以節(jié)省一定寫作人力,并且利用網(wǎng)絡(luò)存儲方式,節(jié)省了紙張資源和筆墨資源或者磁盤、光盤資源的使用。</p><p> ?。?)界面美觀和便捷的提升</p><p> 本系統(tǒng)相對傳統(tǒng)系統(tǒng)而言,利用了多媒體的各種視覺效果,可以方便加入圖片和背景以及表情,有明
46、顯的界面美觀和直觀的優(yōu)勢。</p><p> ?。?)編輯修改的提升</p><p> 本系統(tǒng)可以使對文章或者一些圖片背景等的編輯修改變得非常容易,非常便捷和快速。只用修改局部,不用返工,并且不會留下視覺瑕疵。</p><p> ?。?)交流廣泛性和速度的提升</p><p> 通過網(wǎng)絡(luò)這種媒介,使得文章、日志的交流變得非常廣泛,不會受到
47、地域和世界的限制,世界各地任何人都可以享受交流的服務(wù)。并且交流的速度比傳統(tǒng)更加快速方便,不通過傳統(tǒng)載體的傳遞。</p><p><b> 2、可行性研究方法</b></p><p> ?。?)調(diào)研傳統(tǒng)系統(tǒng)效率和特點</p><p> 通過調(diào)研和對比傳統(tǒng)系統(tǒng)的工作方式和特點,發(fā)現(xiàn)效率和實用性的差距。通過理論和現(xiàn)實技術(shù)發(fā)展的特點和要求,估算和提
48、出效率、功能的提升。</p><p> ?。?)參考目前已有的網(wǎng)站和案例</p><p> 如今博客在網(wǎng)絡(luò)上比比皆是,可以參考和學(xué)習(xí)已有的一些優(yōu)秀個人博客的特點和成功之處,來發(fā)現(xiàn)傳統(tǒng)系統(tǒng)需要改進的地方和新的開發(fā)入口。</p><p> 2.3 傳統(tǒng)系統(tǒng)的分析</p><p><b> 1、處理流程</b></
49、p><p> 傳統(tǒng)系統(tǒng)處理流程(總體功能級數(shù)據(jù)流圖)如圖3所示,該圖給出了傳統(tǒng)方式的寫作文章以及交流的方式和流程途徑。</p><p> 圖3 傳統(tǒng)系統(tǒng)處理流程</p><p><b> 2、數(shù)據(jù)流圖</b></p><p> 傳統(tǒng)系統(tǒng)的數(shù)據(jù)流圖如圖4所示,該圖主要給出了傳統(tǒng)的以紙張或者磁盤為載體的文章、日志寫作和交
50、流的數(shù)據(jù)流程。</p><p> 圖4 傳統(tǒng)系統(tǒng)數(shù)據(jù)流圖</p><p> 2.4 所要開發(fā)的系統(tǒng)的分析</p><p> 對所要開發(fā)的系統(tǒng)的分析是從系統(tǒng)的描述和優(yōu)越性,用開發(fā)的系統(tǒng)的處理流程和所開發(fā)系統(tǒng)的數(shù)據(jù)流圖(DFD)來說明的。</p><p> 1 系統(tǒng)的描述和優(yōu)越性</p><p> 該系統(tǒng)是適應(yīng)當(dāng)
51、前網(wǎng)絡(luò)特點和個人個性的情況下開發(fā)的個人博客,主要用于文章和日志的寫作以及交流評論。其主要特點在前面的緒論和2.1.2已經(jīng)有詳細(xì)的介紹。</p><p> 系統(tǒng)的優(yōu)越性主要體現(xiàn)在編輯的便捷和修改的方便,以及文章的多媒體性和生動性,還有就是交流的廣泛性和快速。詳細(xì)情況在緒論、背景以及在2.2.1已有介紹。</p><p><b> 2 處理流程</b></p&g
52、t;<p> 所開發(fā)的系統(tǒng)處理流程(總體功能級數(shù)據(jù)流圖)如圖5所示,該圖給出了所要開發(fā)系統(tǒng)的系統(tǒng)工作、寫作文章和文章交流的方式以及流程途徑。</p><p> 圖5 所要開發(fā)系統(tǒng)處理流程</p><p><b> 3 數(shù)據(jù)流圖</b></p><p> 所開發(fā)系統(tǒng)的數(shù)據(jù)流圖如圖6和圖7所示,它們都是進一步分解后的數(shù)據(jù)流圖。
53、其中圖6是用戶管理的功能分解數(shù)據(jù)流圖,而圖7是文章管理以及評論的功能分解數(shù)據(jù)流圖。圖7涉及到用戶文章和評論事務(wù)和數(shù)據(jù)庫的頻繁存儲交互,體現(xiàn)了個人博客中文章、日志發(fā)表和評論的功能,是個人博客系統(tǒng)中比較主要的一項事務(wù)過程。</p><p> 圖6 系統(tǒng)數(shù)據(jù)流圖-用戶權(quán)限/管理</p><p> 圖7 系統(tǒng)數(shù)據(jù)流圖-文章發(fā)表/評論</p><p> 2.5 系統(tǒng)的其
54、它可行性</p><p> 前面主要運用了系統(tǒng)流程圖和數(shù)據(jù)流圖,通過對傳統(tǒng)系統(tǒng)和要開發(fā)的系統(tǒng)分析了系統(tǒng)開發(fā)的可行性,下面將從其它一些輔助可行性來進一步分析和說明。</p><p><b> 1 技術(shù)可行性</b></p><p> 本系統(tǒng)主要由PHP作為主要開發(fā)技術(shù),PHP已經(jīng)流行和發(fā)展了數(shù)年,技術(shù)相對比較成熟,開發(fā)系統(tǒng)穩(wěn)定可靠。<
55、/p><p> 系統(tǒng)采用優(yōu)秀的關(guān)系型數(shù)據(jù)庫管理系統(tǒng)MYSQL作為后臺數(shù)據(jù)庫,能和Windows以及當(dāng)前各種系統(tǒng)很好的兼容搭配。</p><p> 其它輔助網(wǎng)站設(shè)計的技術(shù)相當(dāng)豐富,相應(yīng)開發(fā)環(huán)境和工具也一應(yīng)俱全,比如用于網(wǎng)頁界面設(shè)計的Dreamweaver CS3,還有一些圖形處理軟件如Photoshop CS2等都是相當(dāng)成熟和簡便的開發(fā)工具。</p><p><
56、b> 2 性能效益可行性</b></p><p> 所開發(fā)的系統(tǒng)基本能滿足個人博客的功能要求和展示博客的特點風(fēng)格,在處理運算速度、存儲量以及響應(yīng)時間上完全能滿足系統(tǒng)要求。</p><p> 現(xiàn)在網(wǎng)絡(luò)發(fā)展迅速,上網(wǎng)人數(shù)眾多,博客作為個人個性和情感的展現(xiàn)舞臺,相信有非常廣闊的發(fā)展和應(yīng)用空間。</p><p><b> 3 硬件可行性&
57、lt;/b></p><p> 系統(tǒng)所采用的技術(shù)和平臺都是比較成熟和已經(jīng)發(fā)展數(shù)年的,目前的硬件配置一般都足以滿足系統(tǒng)的運行要求。</p><p> 系統(tǒng)的基本硬件要求:網(wǎng)絡(luò)中的服務(wù)器(服務(wù)器要求能提供空間和支持動態(tài)網(wǎng)絡(luò)技術(shù)以及MySQL數(shù)據(jù)庫)、客戶端電腦(具有基本多媒體功能和設(shè)備)、支持PHP架構(gòu)的工作和系統(tǒng)平臺(WindowsXP)、支持PHP架構(gòu)的能處理動態(tài)網(wǎng)頁技術(shù)的瀏覽器
58、(IE6.0以上等具備解釋PHP技術(shù)的瀏覽器)。</p><p><b> 2.6 可行性結(jié)論</b></p><p> 綜上所述,作為畢業(yè)設(shè)計的一個項目,簡要討論分析了系統(tǒng)的各種可行性,并且各項可行性上完全滿足開發(fā)要求,可以開始進一步的工作。</p><p> 3 系統(tǒng)需求分析和概要設(shè)計</p><p> 3.
59、1 系統(tǒng)需求分析</p><p> 系統(tǒng)需求分析是現(xiàn)代軟件工程應(yīng)用于系統(tǒng)開發(fā)的一項重要環(huán)節(jié),通過需求分析可以明確系統(tǒng)的各項需求和功能,根據(jù)這些需求和功能可以更好地指導(dǎo)下一步的系統(tǒng)開發(fā)和設(shè)計,避免了在設(shè)計之后對需求的變更而導(dǎo)致的大量返工。</p><p> 3.1.1 開發(fā)背景</p><p> 過去很多人都喜歡寫文章寫日記以及交流自己的文章和作品,以求實現(xiàn)相互
60、間的溝通、展現(xiàn)自己的才華和讓別人了解自己的想法觀點?,F(xiàn)在的網(wǎng)絡(luò)已經(jīng)成為人們生活中不可或缺的一個元素,所以自然而然誕生了個人博客這樣一個新興事物,它不僅僅能取代前面所說的功能,還能加入圖片,而且使得作者更能無所拘束地生動地寫出自己想寫的,旁人也能非常便捷地閱讀并且加以評論,并且它還能作為展示個人個性的窗戶。個人博客現(xiàn)在已經(jīng)成為很多人生活中必不可少的一個部分,方便了人與人之間的溝通和交流。</p><p> 3.1
61、.2 系統(tǒng)實現(xiàn)目標(biāo)概述</p><p> 基于個人博客以上的特點,本系統(tǒng)要實現(xiàn)個人博客的主要基本功能有主界面,用戶注冊,注冊用戶登錄發(fā)表文章(心情、日志),用戶登錄/退出,游客發(fā)表評論,分頁瀏覽文章和評論等。這里其中比較主要的是區(qū)分了個人博客的注冊用戶和游客。注冊用戶可以在任何時候?qū)懴伦约旱闹鲝?,記錄下自己的點點滴滴。而游客主要的權(quán)限是閱讀博客所有注冊用戶寫的文章,閱讀后可以發(fā)表評論和留言,還可以分頁瀏覽所有注
62、冊用戶上傳的圖片。以上是個人博客的系統(tǒng)功能目標(biāo),當(dāng)然由于個人博客的網(wǎng)絡(luò)流行特點以及個人個性的展示,還適當(dāng)要求界面比較漂亮輕快,直觀便捷,操作方式簡單以及人性化。</p><p> 3.1.3 系統(tǒng)功能需求</p><p> 根據(jù)對系統(tǒng)的特點和應(yīng)用的分析,可以得到本系統(tǒng)主要有如下功能:</p><p> ?。?)用戶注冊和登錄</p><p&g
63、t; 這部分功能又分為用戶注冊、用戶登錄、用戶退出三個部分。</p><p> 用戶注冊:游客將個人的信息存儲到博客網(wǎng)站的數(shù)據(jù)庫中,注冊時要求填寫用戶的各種詳細(xì)信息,包括id、Password、Email、性別、生日、其它輔助信息。凡是符合要求的游客都可以注冊成功,成為本博客的正式用戶,。系統(tǒng)接受這些信息并存儲在服務(wù)器端的數(shù)據(jù)庫中。</p><p> 用戶登錄:主要用于驗證博客網(wǎng)站用
64、戶信息的真實身份,以便對博客網(wǎng)站進行管理和維護。通過注冊后的用戶用個人注冊的用戶名,密碼登錄到網(wǎng)站。網(wǎng)站檢測用戶的用戶名,密碼并給予其相應(yīng)的權(quán)限對博客網(wǎng)站進行操作。</p><p> 用戶退出:已經(jīng)登陸的用戶可以退出,釋放自己所占有的各種信息資源。</p><p><b> ?。?)文章管理</b></p><p> 文章管理主要有文章的發(fā)
65、表、查詢、瀏覽、評論和刪除功能。</p><p> 博客的系統(tǒng)管理員除了可以查詢、瀏覽和評論文章外,還可以對系統(tǒng)中的所有文章以及評論進行修改、刪除操作。這些維護和管理擁有最高權(quán)限,并且系統(tǒng)自動更新在服務(wù)器端數(shù)據(jù)庫中的數(shù)據(jù)。</p><p> 文章的發(fā)表:注冊用戶可以發(fā)表自己的文章,文章包括主題、正文、表情、圖片等信息,作者通過各種元素來展示自己的想法和思想。系統(tǒng)接受這些信息并且存儲在服
66、務(wù)器端的數(shù)據(jù)庫中。</p><p> 文章的刪除:注冊用戶可以刪除自己已經(jīng)發(fā)表的文章內(nèi)容和各項信息,系統(tǒng)自動在服務(wù)器端數(shù)據(jù)庫中刪除這些記錄。</p><p> 文章的瀏覽:游客和注冊用戶根據(jù)所獲得的用戶權(quán)限獲取服務(wù)器端數(shù)據(jù)存儲的各篇文章并且瀏覽閱讀文章的所有信息,包括標(biāo)題、正文、表情、圖片以及其它讀者的留言評論。</p><p> 文章的評論:文章的讀者可以評
67、論和回復(fù)所閱讀的文章,發(fā)表自己的看法。系統(tǒng)自動將這些評論存儲在服務(wù)器端的數(shù)據(jù)庫中,并且可供博客作者以及其它讀者瀏覽。</p><p> 文章的查詢:注冊用戶可以按文章題目或作者來查詢想要查的文章。</p><p><b> (3)圖片管理</b></p><p> 圖片管理有添加,瀏覽、刪除和查詢功能。注冊用戶可以添加自己喜歡的圖片,還可
68、以查詢和瀏覽系統(tǒng)中的所有圖片信息。游客只能瀏覽博客系統(tǒng)中的所有圖片。系統(tǒng)管理員擁有以上的所有權(quán)限,除此之外還可以刪除圖片。</p><p><b> ?。?)朋友圈管理</b></p><p> 注冊用戶可以添加自己的朋友信息到朋友圈,可以再瀏覽和查詢朋友信息的前提下,進行刪除朋友信息操作。</p><p><b> (5)管理員
69、管理</b></p><p> 博客的系統(tǒng)管理員可以對系統(tǒng)中所有的注冊用戶進行帳戶和權(quán)限管理,包括修改用戶所有的權(quán)限,查詢用戶信息以及刪除用戶信息;還可以對最新公告進行添加,刪除管理。</p><p> 3.1.4 系統(tǒng)需求管理規(guī)劃表</p><p> 根據(jù)以上對系統(tǒng)的需求分析,我們可以得到一個更為簡明扼要的系統(tǒng)需求管理規(guī)劃表,本表羅列了系統(tǒng)的各項
70、主要功能,并且對其分類,配有間斷描述,最重要的室給出了各個功能需求的優(yōu)先級,優(yōu)先級的高低表示了功能實現(xiàn)的迫切程度和必要程度。優(yōu)級高的代表該功能是系統(tǒng)很重要的功能,需要重點實現(xiàn)。如表1所示。</p><p> 表1 系統(tǒng)需求管理規(guī)劃表</p><p> 3.1.5 系統(tǒng)性能要求</p><p> (1)系統(tǒng)可靠性要求</p><p>
71、① 系統(tǒng)對用戶操作有相應(yīng)提示,并且可以檢查用戶輸入的各種數(shù)據(jù)的合法性,對于不合法的數(shù)據(jù)屏蔽并且提示用戶,以避免由于越界或者格式錯誤而造成的系統(tǒng)錯誤甚至崩潰。</p><p> ?、?系統(tǒng)在對于數(shù)據(jù)庫操作時候,數(shù)據(jù)庫有一定的約束機制。特點是對于外鍵(FK)而言,通過“級連”(Cascade)和“參照”(Reference)來保證數(shù)據(jù)的完整性。</p><p> ?、?系統(tǒng)能夠應(yīng)對各種特殊操作
72、情況和出錯情況,并且給出相應(yīng)提示。</p><p> ?、?系統(tǒng)能夠有一定的安全和保護措施,以保證網(wǎng)站的正常運行,避免文件和數(shù)據(jù)庫遭到意外事件的破壞而導(dǎo)致網(wǎng)站癱瘓。</p><p><b> (2)系統(tǒng)時間要求</b></p><p> 在不考慮網(wǎng)絡(luò)狀況情況下,系統(tǒng)的響應(yīng)時間應(yīng)該相當(dāng)迅速,數(shù)據(jù)的存儲和處理以及返回過程應(yīng)該滿足用戶的等待需求,
73、一般控制在0.2s以內(nèi)。</p><p> ?。?)系統(tǒng)適應(yīng)性要求系統(tǒng)應(yīng)該兼容Windows操作平臺、MySQL數(shù)據(jù)庫以及IE瀏覽器。</p><p> ?。?)系統(tǒng)并行處理能力要求</p><p> 系統(tǒng)能夠支持同時間多用戶的訪問需求,并且保證運行的相對順暢。</p><p><b> ?。?)系統(tǒng)精度要求</b>
74、</p><p> 時間精度到達(dá)秒為單位,其它數(shù)據(jù)精確到小數(shù)點后2位。</p><p><b> 3.2 概要設(shè)計</b></p><p> 概要設(shè)計也是軟件工程中一個重要的步驟和環(huán)節(jié),根據(jù)前面的需求分析所得到的系統(tǒng)所要實現(xiàn)的各種功能,概要設(shè)計對其進行進一步的模塊劃分,以確定各個功能由所設(shè)計的模塊來實現(xiàn),這樣可以構(gòu)架出一個系統(tǒng)的機構(gòu)框架,
75、便于后面的具體數(shù)據(jù)庫設(shè)計詳細(xì)設(shè)計的實現(xiàn)。</p><p> 3.2.1 系統(tǒng)體系結(jié)構(gòu)</p><p> 基于B/S結(jié)構(gòu)的個人博客網(wǎng)站系統(tǒng),應(yīng)由終端(用戶主機/瀏覽器)、WEB服務(wù)器、數(shù)據(jù)服務(wù)器構(gòu)成。個人博客網(wǎng)站的核心是中間的接入服務(wù)器和應(yīng)用服務(wù)器部分。個人博客網(wǎng)站的總體結(jié)構(gòu)圖如圖8所示:</p><p> 圖8 博客網(wǎng)站總體結(jié)構(gòu)</p><
76、p> 3.2.2 系統(tǒng)模塊劃分</p><p> 根據(jù)前面對系統(tǒng)的需求分析,可以得到系統(tǒng)的模塊劃分如下:</p><p> ?。?)博客首頁模塊包括如下主要組成部分:</p><p> 頁整體布局:對于博客的首頁風(fēng)格安排并且布局。</p><p> 日歷:方便用戶看時間和日期。</p><p> 用戶登
77、錄和注冊區(qū):主要是用戶注冊和登錄,在成功登錄以后列出用戶所擁有的可操作模塊。</p><p> 博客最新日志顯示:按時間順序顯示博客中最近的文章標(biāo)題信息。</p><p> 最新推薦圖片:按時間順序顯示博客中最新上傳的圖片。</p><p> 最新公告:上下滾動顯示管理員發(fā)表的最新公告。</p><p><b> ?。?)文章
78、管理模塊</b></p><p> 添加博客文章:已登錄的博客注冊用戶可以發(fā)表文章、隨筆和日志,內(nèi)容包括標(biāo)題、正文、圖片、表情等信息。在此前提下,只有以系統(tǒng)管理員身份登錄的用戶才可以刪除博客中的任何文章,系統(tǒng)自動更新服務(wù)器端的數(shù)據(jù)庫。</p><p> 查看博客文章:文章作者可以按搜索條件有選擇的查看想要閱讀的文章,并可以對它進行評論,但沒有刪除的權(quán)限。</p>
79、<p> 瀏覽我的文章:只顯示作者自己的全部文章,在這個模塊的前提下,文章作者有刪除文章和評論的權(quán)限。</p><p><b> ?。?)圖片管理模塊</b></p><p> 添加圖片:已注冊用戶可以本地上傳圖片。</p><p> 查詢圖片:登錄用戶可以按搜索條件有選擇的查看圖片,但沒有刪除的權(quán)限</p>
80、<p> 瀏覽圖片:分頁顯示系統(tǒng)中的全部圖片。</p><p> ?。?)朋友圈管理模塊</p><p> 注冊用戶可以添加自己的朋友信息到朋友圈,可以在瀏覽和查詢朋友信息的前提下,進行刪除朋友信息操作。</p><p> ?。?)管理員管理模塊</p><p> 博客的系統(tǒng)管理員可以對系統(tǒng)中所有的注冊用戶進行帳戶和權(quán)限管理,
81、包括修改用戶所有的權(quán)限,查詢用戶信息以及刪除用戶信息;還可以對最新公告進行添加,刪除管理。</p><p> 3.2.3 系統(tǒng)功能劃分組織結(jié)構(gòu)圖</p><p> 根據(jù)以上對系統(tǒng)功能模塊的劃分和設(shè)計,可以得到系統(tǒng)功能模塊圖如圖9所示,該圖給出了詳盡的模塊劃分和模塊組織結(jié)構(gòu),能夠直觀展現(xiàn)系統(tǒng)的功能結(jié)構(gòu)關(guān)系。</p><p> 圖9 系統(tǒng)功能結(jié)構(gòu)圖</p&g
82、t;<p> 3.2.3 運行環(huán)境</p><p><b> ?。?)用戶界面</b></p><p> 用戶需要網(wǎng)頁瀏覽器來使用該系統(tǒng),界面簡潔、美觀、友好,具備人性化特點,各種操作有提示信息和錯誤信息。</p><p><b> ?。?)軟件環(huán)境</b></p><p> 服
83、務(wù)器端:WindowsXP服務(wù)器,Apache服務(wù)程序,MySQL數(shù)據(jù)庫以及其相應(yīng)的ODBC。</p><p> 客戶端:Windows XP系統(tǒng)以及IE6.0以上瀏覽器。</p><p><b> ?。?)網(wǎng)絡(luò)帶寬</b></p><p> 服務(wù)器對外網(wǎng)絡(luò)帶寬1M以上,客戶端擁有連接互聯(lián)網(wǎng)的設(shè)備和服務(wù)。</p><p&
84、gt;<b> 4 系統(tǒng)數(shù)據(jù)庫設(shè)計</b></p><p> 4.1 MySQL 數(shù)據(jù)庫簡介</p><p> MySQL數(shù)據(jù)庫由瑞典MySql公司開發(fā)和維護的一個精巧的SQL(Structured Query Language,結(jié)構(gòu)化查詢語言)關(guān)系型數(shù)據(jù)庫管理系統(tǒng)(DBMS)。MySQL數(shù)據(jù)早在90年代中期就開始出現(xiàn),經(jīng)過近10年的發(fā)展,它已經(jīng)成為一個功能相對
85、強大,技術(shù)非常成熟,應(yīng)用廣泛的數(shù)據(jù)庫。由于它的強大功能、靈活性、豐富的應(yīng)用編程接口(API)以及精巧的系統(tǒng)結(jié)構(gòu),受到了眾多程序員和企業(yè)級用戶的青睞,特別是它的數(shù)據(jù)庫文件小巧,存放便捷,數(shù)據(jù)庫管理系統(tǒng)運行簡單,為建立基于數(shù)據(jù)庫的動態(tài)網(wǎng)站提供了強大動力,并且得到了廣大網(wǎng)站開發(fā)人緣的認(rèn)可。 </p><p> MySQL數(shù)據(jù)庫提供完善的SQL-92標(biāo)準(zhǔn)的結(jié)構(gòu)化查詢語言,如select、delete、insert、up
86、date語句。通過MySQL在操作系統(tǒng)上建立的ODBC可以輕松將這些SQL語句翻譯成為相應(yīng)的MySQL數(shù)據(jù)庫管理系統(tǒng)指令并對數(shù)據(jù)庫進行管理。如圖10所示。</p><p> 圖10 MySQL數(shù)據(jù)庫管理系統(tǒng)原理</p><p> 作為關(guān)系型數(shù)據(jù),MySQL完全支持對于各種數(shù)據(jù)庫對象的管理和便捷操作,這里包括表(Table)、視圖(View)、存儲過程(Stored Procedure)
87、和觸發(fā)器(Trigger)等。MySQL數(shù)據(jù)庫提供完全的可視化管理環(huán)境,能夠直觀便捷而快速地對數(shù)據(jù)庫的各種數(shù)據(jù)庫對象和元素進行修改和管理。</p><p> 當(dāng)然,MySQL數(shù)據(jù)庫也完全支持ADO(ActiveX Data Objects)數(shù)據(jù)庫應(yīng)用程序的數(shù)據(jù)庫訪問技術(shù)。ADO它被設(shè)計用來同新的數(shù)據(jù)庫訪問層OLE DB Provider一起協(xié)同工作,以提供通用數(shù)據(jù)訪問(Universal Data MySQL)
88、。OLE DB是一個底層的數(shù)據(jù)庫訪問接口,用它可以訪問各種數(shù)據(jù)源,包括傳統(tǒng)的關(guān)系數(shù)據(jù)庫。ADO封裝了OLE DB程序中使用的大量COM接口,所以是一種高層訪問技術(shù)。所以MySQL非常適合PHP技術(shù)開發(fā)動態(tài)網(wǎng)站。</p><p> 4.2 數(shù)據(jù)庫表的設(shè)計</p><p><b> 4.2.1 概述</b></p><p> 根據(jù)第三部分的需
89、求分析和概要設(shè)計,可以設(shè)計出相應(yīng)的系統(tǒng)所要使用的數(shù)據(jù)庫表。博客系統(tǒng)所要存儲的數(shù)據(jù)項和數(shù)據(jù)量相對比較復(fù)雜和龐大,所以首先確定這些數(shù)據(jù)庫表的設(shè)計一般是一個表存儲一個實體或者對象的相關(guān)信息,這樣分析和設(shè)計數(shù)據(jù)庫就相對簡單。對于不同的對象或?qū)嶓w,根據(jù)具體系統(tǒng)需要和未來擴展,可以適當(dāng)細(xì)分。另外擴充信息和動態(tài)變化的信息分開放置在不同的表里。</p><p> 當(dāng)然重要的表都會設(shè)置一個唯一標(biāo)識的主鍵,這個主鍵不是實際運用中的
90、任何信息項,只用來唯一標(biāo)識一個數(shù)據(jù)項,一般用自動編號的數(shù)字。</p><p> 經(jīng)過需求分析和概要設(shè)計,在MySql數(shù)據(jù)庫管理系統(tǒng)中建立名為db_tmlog的數(shù)據(jù)庫,系統(tǒng)所有應(yīng)用的數(shù)據(jù)信息將存儲在該數(shù)據(jù)庫中,數(shù)據(jù)庫中建立以下5種不同專題的數(shù)據(jù)表,分別為:用戶表(tb_user)、文章內(nèi)容表(tb_article)、文章評論表(tb_filecomment)、朋友圈表(tb_friend)、圖片信息表(tb_tp
91、sc)五個表。</p><p> 這些表基本上都是一表負(fù)責(zé)一個實體或者對象的各種信息存儲,它們協(xié)調(diào)工作,以實現(xiàn)個人博客系統(tǒng)對數(shù)據(jù)存儲的要求。</p><p> 注意,下面各表中數(shù)據(jù)類型說標(biāo)有*表示是主鍵。</p><p><b> 4.2.2 用戶表</b></p><p> 系統(tǒng)主要為了滿足網(wǎng)絡(luò)用戶使用博客的需
92、要,由于網(wǎng)絡(luò)的自身特點,以及網(wǎng)絡(luò)上聯(lián)系工具眾多,所以用戶的信息的設(shè)置相對較多,這里主要的是用戶的ID編號,這個是用來唯一確定用戶的標(biāo)識,是用戶表的主鍵。管理員及用戶標(biāo)記主要用來設(shè)置管理員和用戶的權(quán)限,不同的權(quán)限能得到不同的應(yīng)用功能。還有用戶名、用戶密碼都比較重要。用戶表結(jié)構(gòu)如表2所示。</p><p><b> 表2用戶表</b></p><p> 4.2.3文章
93、內(nèi)容表</p><p> 本表主要用來存放文章的各種信息,這也是博客系統(tǒng)中非常重要的一個表。其中文章ID編號為主鍵,唯一標(biāo)識一篇文章。其它信息詳見表3所示。</p><p><b> 表3 文章內(nèi)容表</b></p><p> 4.2.4 文章評論表</p><p> 文章評論表主要存儲對一篇文章的評論的各種信息
94、,文章的評論信息相對于文章的信息而言要簡單一些,主要包括唯一標(biāo)識評論的id編號,是主鍵。表的結(jié)構(gòu)如表4所示。</p><p><b> 表4 文章評論表</b></p><p> 4.2.5圖片信息表</p><p> 該表主要用來存儲博客系統(tǒng)中發(fā)表的照片、圖片。其中照片id是唯一標(biāo)識圖片的主鍵,表的詳細(xì)結(jié)構(gòu)如表5所示。</p>
95、;<p><b> 表5 圖片信息表</b></p><p> 4.2.6 朋友圈信息表 </p><p> 該表主要用來存儲某用戶的朋友圈信息。其中id是唯一標(biāo)識朋友信息的主鍵,表的詳細(xì)結(jié)構(gòu)如表6所示。</p><p><b> 表6 朋友圈信息表</b></p><p&g
96、t; 4.2.7 數(shù)據(jù)庫ER關(guān)系圖</p><p> 數(shù)據(jù)庫中的表有用戶表、文章信息表、文章評論表、圖片信息表、朋友圈信息表。本系統(tǒng)數(shù)據(jù)庫的5個表的ER圖如圖11所示。</p><p> 圖11 數(shù)據(jù)庫中5個表的ER圖</p><p><b> 5 系統(tǒng)的詳細(xì)設(shè)計</b></p><p> 詳細(xì)設(shè)計是整個系統(tǒng)設(shè)
97、計中,最重要的一個步驟。下面對系統(tǒng)的主要功能模塊進行詳細(xì)的介紹。</p><p> 博客網(wǎng)站的流程圖如圖12所示。</p><p> 圖12 博客網(wǎng)站流程圖</p><p> 5.1 首頁面及主要頁面設(shè)計</p><p> 1、博客網(wǎng)站的文件架設(shè)圖如圖13所示:</p><p> 圖13博客網(wǎng)站文件架設(shè)圖&l
98、t;/p><p> 2、主要頁面如表7所示:</p><p> 表7 主要頁面清單表</p><p> 5.2 系統(tǒng)主要功能模塊開發(fā)</p><p><b> 5.1.1首頁模塊</b></p><p> 1、博客的首頁是相當(dāng)重要的,這不僅僅是整個博客的第一影響,而且是展現(xiàn)個人博客系統(tǒng)的布局
99、、美工、風(fēng)格和個性的窗口。它包括博客最新日志區(qū)、日歷和時鐘區(qū)、最新圖片上傳區(qū)、最新公告區(qū),用戶登錄、注冊區(qū)。把這幾個界面區(qū)合理的組合是布局和美工的重要之處。如圖14所示:</p><p> 圖14 個人博客首頁</p><p> 首頁模塊index.php中包括了數(shù)據(jù)庫連接文件conn.php,首頁的布局和美工設(shè)計使用到了Dreamweaver CS3網(wǎng)頁開發(fā)工具作為輔助開發(fā),運用這個
100、可視化開發(fā)工具(Visual Development Tool)可以快捷地設(shè)計出Web的界面,自動生成相應(yīng)的HTML代碼,并得到的HTML代碼直接嵌入到index.php文件中。</p><p> 2、用戶注冊子模塊是在“博客首頁”的前提下操作的,主要由register.php完成。用戶點擊“博客注冊”進入用戶注冊界面,然后閱讀用戶注冊協(xié)議,確認(rèn)后可以到達(dá)正式注冊頁面,否則返回。在正式注冊頁面中用戶填寫各種信息
101、,包括姓名、密碼等。用戶的“密碼”和“確認(rèn)密碼”必須一致才能注冊,否則提示用戶兩次輸入密碼不一致。一切信息正確后系統(tǒng)會在數(shù)據(jù)庫中為該用戶自動生成一個用戶ID編號,這個編號是自動遞增的生成,用來唯一標(biāo)識一個用戶。具體流程圖如圖15所示。</p><p> 圖15用戶注冊流程圖</p><p><b> 3、用戶登錄和退出</b></p><p&g
102、t; 用戶登錄同樣是在 “博客首頁”的前提下操作的,經(jīng)過注冊的用戶可以選擇登錄帳戶,已經(jīng)登錄的用戶也可以選擇退出帳戶。登錄時首先客戶端發(fā)送登錄請求給服務(wù)器端,服務(wù)器端通過數(shù)據(jù)庫檢查該用戶名是否存在,如果存在,檢查密碼是否正確,在密碼也正確情況下系統(tǒng)服務(wù)器端給予登錄響應(yīng)。登錄后的用戶將獲得響應(yīng)權(quán)限的功能。</p><p> 而用戶退出是在用戶登錄的前提下操作的,這時已經(jīng)登錄的用戶選擇退出,即可退出服務(wù)器并且釋放
103、Cookie和Session中的相關(guān)信息和資源。具體流程圖如圖16所示。</p><p> 圖16用戶登陸和退出流程圖</p><p> 5.1.2 文章管理模塊</p><p> 文章管理模塊是本系統(tǒng)中最基礎(chǔ)、最復(fù)雜的一個核心功能模塊。文章管理模塊可以分為添加博客文章、查詢博客文章、發(fā)表文章評論、刪除博客文章/評論4個功能部分。</p><
104、;p> ?。?1)添加博客文章</p><p> 發(fā)表博客文章主要是提供用戶發(fā)表和張貼個人的文章或是對某些事物的獨到見解等,通過發(fā)表的文章,其他用戶可以發(fā)表相關(guān)的評論,以便能夠同來訪者進行交流,是一個展現(xiàn)自己的網(wǎng)絡(luò)交流平臺。</p><p> 這個功能主要由file.php完成。發(fā)表文章后,提交博客文章信息到數(shù)據(jù)處理頁(check_file.php)并保存在相應(yīng)的數(shù)據(jù)庫中。在保存
105、過程中,系統(tǒng)會在數(shù)據(jù)庫中為該文章自動生成一個文章ID編號,這個編號是自動遞增的生成,用來唯一標(biāo)識一篇文章。具體流程圖如圖17所示。</p><p> 圖17發(fā)表文章流程圖</p><p><b> (2)文章的查詢</b></p><p> 發(fā)表文章子模塊主要由query.php實現(xiàn)。在query.php頁面中,查詢的功能區(qū)如圖18,在”
106、查詢條件”后的下拉列表框中選擇查詢條件。在“關(guān)鍵字“后面的文本框中輸入查詢條件所對應(yīng)的查詢關(guān)鍵字,既可快速檢索到相應(yīng)的數(shù)據(jù)信息。如果存在,輸出數(shù)據(jù)信息到瀏覽器;否則,彈出警告信息。</p><p> 注意:只有系統(tǒng)管理員具備刪除的操作權(quán)限,如果是普通的博客用戶,在查詢到的數(shù)據(jù)信息頁面中是不會顯示“刪除“超級鏈接。</p><p> 圖18文章查詢的功能區(qū)</p><
107、p><b> ?。?)發(fā)表文章評論</b></p><p> 發(fā)表文章評論是在“查詢博客文章“的前提下操作的。當(dāng)頁面顯示查詢的文章信息后,可以點擊“發(fā)表評論”超級鏈接,既可跳轉(zhuǎn)到comment.php頁發(fā)表評論,如圖19。</p><p><b> 圖19發(fā)表評論頁面</b></p><p> ?。?)刪除博客文
108、章/評論</p><p> 這功能若是在“查詢博客頁面” 的前提下進行操作的,刪除權(quán)限都是系統(tǒng)管理員的操作權(quán)限。若是在“我的文章”的前提下進行的操作,那刪除權(quán)限是屬于普通用戶的操作權(quán)限。(頁面和圖19類似)</p><p> 5.1.3 圖片管理模塊</p><p> 圖片管理主要實現(xiàn)對圖片的添加、刪除、瀏覽和查詢操作。</p><p>
109、;<b> 添加圖片</b></p><p> 單擊【上傳】按鈕后,圖片將以文件的形式傳到數(shù)據(jù)庫,并保存在images文件中的upload文件夾中。上傳的設(shè)計流程和頁面分別如圖20和圖21所示。</p><p> 圖20 圖片上傳設(shè)計流程</p><p><b> 圖21 添加圖片</b></p>&
110、lt;p><b> 瀏覽圖片</b></p><p> 所有上傳成功的圖片文件循環(huán)顯示在客戶端的瀏覽器上,并在每一條的記錄后面分別加上用于查看圖片文件信息的超級鏈接按鈕,在將所有記錄進行分頁顯示。</p><p><b> 查詢圖片</b></p><p> 圖片的查詢功能和文章的查詢功能類似,這里不再贅述。
111、同樣地只有系統(tǒng)管理員具備刪除的操作權(quán)限,如果是普通的博客用戶,在查詢到的數(shù)據(jù)信息頁面中是不會顯示“刪除“超級鏈接。具體流程圖如圖22所示。</p><p> 圖22 圖片查詢流程圖</p><p><b> 刪除圖片</b></p><p> 只有以系統(tǒng)管理員的身份登錄,才會顯示“刪除圖片”的功能。刪除圖片的功能是系統(tǒng)管理員在“查詢圖片”
112、和“瀏覽圖片”的功能模塊的基礎(chǔ)上實現(xiàn)的。</p><p> 5.1.4 朋友圈管理模塊</p><p> 朋友圈管理主要針對用戶交友圈的信息進行管理,其中添加、瀏覽、刪除朋友圈的功能與文章、圖片管理的功能類似,這里不再贅述。下面重點講解查詢朋友信息功能。</p><p> 朋友信息的查詢與文章、圖片的查詢略有不同,這里查詢的是該用戶交際圈的信息,它查詢不到所有
113、用戶的交際圈的信息。</p><p> 5.1.5管理員管理模塊</p><p> 管理員管理是對注冊的用戶信息進行管理的模塊。當(dāng)用戶是以系統(tǒng)管理員的身份登陸網(wǎng)站后,那么將擁有用戶管理的權(quán)限,這時菜單欄中的“管理員管理”處于顯示狀態(tài)(如是普通用戶,該模塊不會顯示)。該模塊主要分為查詢用戶信息,瀏覽用戶信息和公告管理。其中用戶的刪除是建立在“查詢用戶信息”和“瀏覽用戶信息”的基礎(chǔ)之上實現(xiàn)
114、的。</p><p><b> 6系統(tǒng)配置和發(fā)布</b></p><p> 運用PHP對系統(tǒng)進行開發(fā)和應(yīng)用,必須首先安裝和配置好相應(yīng)的開發(fā)環(huán)境和支持組件。本章主要介紹系統(tǒng)相關(guān)環(huán)境的配置和開發(fā)后系統(tǒng)的發(fā)布情況以及運行效果。</p><p> 6.1 開發(fā)和應(yīng)用環(huán)境配置</p><p> 下面簡要從PHP架構(gòu)的安裝,
115、Apache服務(wù)器的配置,以及MySQL數(shù)據(jù)的設(shè)置介紹了系統(tǒng)相關(guān)環(huán)境的配置和安裝。</p><p> 6.1.1安裝Apache2.2.6</p><p> 運行安裝程序 → 安裝協(xié)議(選擇接受協(xié)議)→ next →填寫服務(wù)信息→前面的內(nèi)容可填可不填,安裝類型(選擇自定義安裝 Custom)→自定義安裝設(shè)置(如下圖23)修改安裝目錄,可以放在如“E:\Apache2”中 → 安裝確認(rèn)。
溫馨提示
- 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)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 基于php個人博客的設(shè)計與實現(xiàn)畢業(yè)設(shè)計答辯
- php畢業(yè)設(shè)計--基于bs模式的個人博客系統(tǒng)的設(shè)計與實現(xiàn)
- 基于php個人博客的設(shè)計與實現(xiàn)畢業(yè)設(shè)計答辯ppt
- 基于php的個人博客的設(shè)計與實現(xiàn)
- 基于php和ajax的博客系統(tǒng)設(shè)計畢業(yè)設(shè)計論文
- 基于PHP的教師博客系統(tǒng)的設(shè)計與實現(xiàn).pdf
- 基于php技術(shù)的個人網(wǎng)站畢業(yè)設(shè)計
- 基于php和mysql的博客系統(tǒng)
- 基于php的機房管理系統(tǒng)的實現(xiàn)--畢業(yè)設(shè)計
- 基于php的個人博客系統(tǒng)的設(shè)計與開發(fā) (含源程序)
- 畢業(yè)設(shè)計基于php的新聞管理系統(tǒng)的設(shè)計與實現(xiàn)
- 畢業(yè)設(shè)計---php基于web的討論系統(tǒng)
- 畢業(yè)設(shè)計--基于php的新聞發(fā)布系統(tǒng)
- php課程設(shè)計---個人博客管理系統(tǒng)前后臺
- 畢業(yè)設(shè)計選題管理系統(tǒng)的設(shè)計與實現(xiàn)php
- 基于php與mysql倉庫管理系統(tǒng)的畢業(yè)設(shè)計
- 基于php的留言板畢業(yè)設(shè)計
- 畢業(yè)設(shè)計--- 基于php的系網(wǎng)站建設(shè)及后臺實現(xiàn)
- 基于php的留言板畢業(yè)設(shè)計
- 基于php的crm系統(tǒng)設(shè)計與實現(xiàn)[畢業(yè)論文]
評論
0/150
提交評論