PHP個人博客系統(tǒng)--畢業(yè)設(shè)計(jì)_第1頁
PHP個人博客系統(tǒng)--畢業(yè)設(shè)計(jì)_第2頁
PHP個人博客系統(tǒng)--畢業(yè)設(shè)計(jì)_第3頁
PHP個人博客系統(tǒng)--畢業(yè)設(shè)計(jì)_第4頁
PHP個人博客系統(tǒng)--畢業(yè)設(shè)計(jì)_第5頁
已閱讀5頁,還剩47頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡介

1、畢 業(yè) 設(shè) 計(jì)基于PHP的個人博客系統(tǒng)的實(shí)現(xiàn)學(xué)生承諾書本人鄭重承諾:所呈交的論文是本人在導(dǎo)師的指導(dǎo)下獨(dú)立進(jìn)行研究所取得的研究成果。除了文中特別加以標(biāo)注引用的內(nèi)容外,本論文不包含任何其他個人或集體已經(jīng)發(fā)表或撰寫的成果作品。                               

2、0;                 作者簽名: 年  月  日摘 要本系統(tǒng)利用PHP動態(tài)網(wǎng)絡(luò)開發(fā)技術(shù),以MySQL作為后臺數(shù)據(jù)庫,使用Apache配置Web服務(wù)器,結(jié)合JavaScript和HTML兩種腳本語言,以及配合多種網(wǎng)頁開發(fā)工具,實(shí)現(xiàn)了基于B/S模式的個人日志發(fā)表和交流的平臺個人博客系統(tǒng)。全文主要分為6個部分:第1部分主要介紹個人博客系統(tǒng)的特點(diǎn)、優(yōu)點(diǎn)和本系統(tǒng)所要用到的各種開發(fā)技術(shù);第2部分主要論述

3、了傳統(tǒng)系統(tǒng)和所要開發(fā)系統(tǒng)的處理流程、功能介紹和比較;第3部分主要分析了系統(tǒng)的各項(xiàng)功能和性能需求,給出了系統(tǒng)需求管理規(guī)劃表,展示了各種需求的優(yōu)先級,規(guī)劃和分配了各個模塊所要完成的系統(tǒng)功能;第4部分系統(tǒng)數(shù)據(jù)庫設(shè)計(jì),主要分析和設(shè)計(jì)了系統(tǒng)的數(shù)據(jù)庫表和項(xiàng),以及數(shù)據(jù)庫各項(xiàng)的標(biāo)識符;第5部分系統(tǒng)詳細(xì)設(shè)計(jì),逐一給出了系統(tǒng)各個模塊的詳細(xì)設(shè)計(jì)過程;第6部分系統(tǒng)配置和發(fā)布,介紹了系統(tǒng)開發(fā)和運(yùn)行的相關(guān)環(huán)境配置以及運(yùn)行效果展示。關(guān)鍵詞:博客 PHP MySQL 動態(tài)網(wǎng)頁 B/S模式目 錄1 緒論11.1 個人博客11.1.1 個人博客的研究意義11.1.2個人博客的簡介11.1.3個人博客的特點(diǎn)21.2 開發(fā)技術(shù)21.

4、2.1 PHP技術(shù)21.2.2 PHP工作原理31.2.3 B/S結(jié)構(gòu)41.2.4 數(shù)據(jù)庫技術(shù)41.2.5 Apache技術(shù)61.2.6 JavaScript語言62 系統(tǒng)可行性分析設(shè)計(jì)62.1 開發(fā)的目的和背景62.2 系統(tǒng)目標(biāo)和研究方法72.3 傳統(tǒng)系統(tǒng)的分析82.4 所要開發(fā)的系統(tǒng)的分析92.5 系統(tǒng)的其它可行性102.6 可行性結(jié)論113 系統(tǒng)需求分析和概要設(shè)計(jì)113.1 系統(tǒng)需求分析113.1.1 開發(fā)背景123.1.2 系統(tǒng)實(shí)現(xiàn)目標(biāo)概述123.1.3 系統(tǒng)功能需求123.1.4 系統(tǒng)需求管理規(guī)劃表133.1.5 系統(tǒng)性能要求143.2 概要設(shè)計(jì)153.2.1 系統(tǒng)體系結(jié)構(gòu)153.2

5、.2 系統(tǒng)模塊劃分163.2.3 系統(tǒng)功能劃分組織結(jié)構(gòu)圖173.2.3 運(yùn)行環(huán)境174 系統(tǒng)數(shù)據(jù)庫設(shè)計(jì)184.1 MySQL 數(shù)據(jù)庫簡介184.2 數(shù)據(jù)庫表的設(shè)計(jì)194.2.1 概述194.2.2 用戶表194.2.3文章內(nèi)容表204.2.4 文章評論表204.2.5圖片信息表214.2.6 朋友圈信息表214.2.7 數(shù)據(jù)庫ER關(guān)系圖225 系統(tǒng)的詳細(xì)設(shè)計(jì)225.1 首頁面及主要頁面設(shè)計(jì)235.2 系統(tǒng)主要功能模塊開發(fā)245.1.1首頁模塊245.1.2 文章管理模塊275.1.3 圖片管理模塊295.1.4 朋友圈管理模塊315.1.5管理員管理模塊316系統(tǒng)配置和發(fā)布326.1 開發(fā)和應(yīng)

6、用環(huán)境配置326.1.1安裝Apache2.2.6326.1.2 安裝PHP5.2.5336.1.3安裝MySQL6.0.3346.1.4安裝phpmyadmin2.11.3366.2 系統(tǒng)的發(fā)布和運(yùn)行效果366.2.1 系統(tǒng)的發(fā)布366.2.2 系統(tǒng)運(yùn)行效果377 總結(jié)42致 謝44參 考 文 獻(xiàn)45Abstract46仲愷農(nóng)業(yè)工程學(xué)院畢業(yè)論文(設(shè)計(jì))成績評定表47僅供參考1 緒論博客,數(shù)字生活新時尚,通過文字、圖片、聲音等,盡情展示自我、分享感受、參與交流,美好你我生活。Show you, share me,人人都可以博客,人人都需要博客。1.1 個人博客1.1.1 個人博客的研究意義越來

7、越多的網(wǎng)絡(luò)用戶希望能夠在網(wǎng)絡(luò)平臺上更多地展現(xiàn)自己的個性,更方便地與人互動交流,在傳統(tǒng)的WEB1.0時代,無論是論壇、社區(qū)還是個人網(wǎng)站,都試圖在這些方面進(jìn)行努力,隨著WEB2.0時代的到來,一個新的概念出現(xiàn)了-博客。隨著電腦網(wǎng)絡(luò)的飛速發(fā)展,博客已經(jīng)成為寫網(wǎng)絡(luò)日志必不可少的一種工具,也是一種簡單有效的提供網(wǎng)絡(luò)用戶之間進(jìn)行在線交流的網(wǎng)絡(luò)平臺,通過其可以結(jié)交更多的朋友,表達(dá)更多的想法,它隨時可以發(fā)布日志,方便快捷。訪客可以直接在個人Blog上留言,如提出問題或意見等。個人博客的發(fā)展,也已經(jīng)成為廣告商業(yè)務(wù)拓展的重要領(lǐng)域??傊珺log是繼Email、BBS、ICQ之后的第四種網(wǎng)絡(luò)交互方式。Blog是未來

8、信息化教育和個人知識管理的強(qiáng)大而簡單易用的工具。1.1.2個人博客的簡介“博客”一詞是從英文單詞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也提供了非常方便實(shí)用的個性化功能。簡言之,Blog就是以網(wǎng)絡(luò)作為載體,簡易迅速便捷地發(fā)布自己的心得,及時有效輕松地與他人進(jìn)行交流,再集豐富多彩的個性化展示于一體的綜合性平臺。1.

9、1.3個人博客的特點(diǎn)1,零機(jī)制:博客屬于個人所有,是自發(fā)建立和非正式的建設(shè)。BSPBlog Service Provider博客服務(wù)托管商不能對博客發(fā)號施令。 2,零技術(shù):博客不需要作網(wǎng)站的專業(yè)知識,可以像發(fā)郵件一樣簡單地實(shí)現(xiàn)博客網(wǎng)頁的呈現(xiàn)。技術(shù)的極度簡化,包括架構(gòu)和申請博客網(wǎng)站、編輯、上傳和修改內(nèi)容等。 3,零成本:任何一個人都可以像申請免費(fèi)郵件般免費(fèi)申請自己的博客網(wǎng)站。不需要注冊域名的成本,不需要租用服務(wù)器空間的成本,不需要許多軟件工具的成本。 4,零編輯:博客用戶就是編輯,即時寫作、即時發(fā)布、自我檢查。這形成了與傳統(tǒng)寫作截然不同的“體驗(yàn)”,真正實(shí)現(xiàn)了作者“零磨損”的開放式寫作。 5,零形

10、式:博客頁面的表現(xiàn)形式和文章內(nèi)容的表現(xiàn)方式十分靈活,沒有特定形式。 6,與個人主頁相比較,博客的使用更方便、交互性更強(qiáng)。與傳統(tǒng)的電子郵件、BBS和ICQ這三種互聯(lián)網(wǎng)溝通方式相比,博客是一種較嚴(yán)肅的溝通平臺。BBS公共匿名性很強(qiáng),而個人性很弱,因此缺乏約束。電子郵件和ICQ則是多用于個人間的通訊,而博客是個人性和公共性的結(jié)合。博客是個人在網(wǎng)上展示自己、與別人溝通交流的綜合平臺,它的管理比BBS簡單的多。1.2 開發(fā)技術(shù)本系統(tǒng)在Windows XP下采用PHP技術(shù)作為服務(wù)器端腳本解釋器,MySQL作為后臺數(shù)據(jù)庫平臺以及Apache作為Web服務(wù)器,并且使用了一些輔助開發(fā)工具和技術(shù),比方Dreamw

11、eaver CS3等。 1.2.1 PHP技術(shù)PHPHypertext Preprocessor超文本預(yù)處理器是一種HTML內(nèi)嵌式的腳本語言類似ASP。PHP的語法大部分兼容了C、JAVA、Perl,并增加了PHP特有的語法結(jié)構(gòu),可以比CGI或者Perl更快速的執(zhí)行動態(tài)網(wǎng)頁,只需要很少的編程知識就能建立一個交互的WEB站點(diǎn)。它可以用于管理動態(tài)內(nèi)容、支持?jǐn)?shù)據(jù)庫、處理會話跟蹤,甚至構(gòu)建整個電子商務(wù)站點(diǎn)。它支持許多流行的數(shù)據(jù)庫,包括 MySQL、PostgreSQL、Oracle、Sybase、Informix 和 Microsoft SQL Server。PHP是完全免費(fèi)的開源產(chǎn)品,不用花錢,你可

12、以從PHP官方站點(diǎn)( : / )自由下載。而且你可以不受限制地獲得源碼,甚至可以從中加進(jìn)你自己需要的特色。Apache和MYSQL也是同樣免費(fèi)開源,在國外非常流行。PHP和MYSQL搭配使用,可以非??焖俚拇罱ㄒ惶撞诲e的動態(tài)網(wǎng)站系統(tǒng),因此國外大多數(shù)主機(jī)系統(tǒng)都配有免費(fèi)的APACHEPHPMYSQL。通常認(rèn)為這種搭配的執(zhí)行效率比IISASPACCESS要高,而后者的使用還必須另外交錢給微軟。PHP具有如下的優(yōu)點(diǎn):1學(xué)習(xí)簡單:只需要了解一些基本的語法和語言特設(shè),就可以開始使用PHP。數(shù)據(jù)庫連接方便:PHP可以編譯成具有與許多數(shù)據(jù)庫相連接的函數(shù)。PHP與MYSQL是現(xiàn)在絕佳的組合??梢跃帉懲鈬暮瘮?shù)間

13、接存取數(shù)據(jù)庫。這樣當(dāng)更換使用的數(shù)據(jù)庫時,可以輕松的更改編碼以適應(yīng)這樣的變化。PHPLIB就是最常用的可以提供一般事務(wù)需要的一系列基庫。2擴(kuò)展性強(qiáng):PHP已經(jīng)進(jìn)入了一個高速發(fā)展的時期,具有良好的擴(kuò)展附加功能??梢赃M(jìn)行面向?qū)ο缶幊蹋篜HP提供了類和對象,基于WEB的編程工作非常需要面向?qū)ο缶幊棠芰ΑHP支持構(gòu)造器、提取類等??傊?,PHP技術(shù)具有免費(fèi)、跨平臺、可加密、開發(fā)效率高等優(yōu)點(diǎn),在編寫小型的網(wǎng)站系統(tǒng)時較之ASP、JSP等技術(shù)有一定優(yōu)勢。1.2.2 PHP工作原理PHP的所有應(yīng)用程序都是通過WEB服務(wù)器(如apache)和PHP引擎程序解釋執(zhí)行完成的,工作過程: (1)當(dāng)用戶在瀏覽器地址中輸入

14、要訪問的PHP頁面文件名,然后回車就會觸發(fā)這個PHP請求,并將請求傳送給支持PHP的WEB服務(wù)器。 (2)WEB服務(wù)器接受這個請求,并根據(jù)其后綴進(jìn)行判斷。如果是一個PHP請求,WEB服務(wù)器從硬盤或內(nèi)存中取出用戶要訪問的PHP應(yīng)用程序,并將其發(fā)送給PHP引擎程序。 (3)PHP引擎程序?qū)EB服務(wù)器傳送過來的文件從頭到尾進(jìn)行掃描并根據(jù)命令從后臺讀取,處理數(shù)據(jù),并動態(tài)地生成相應(yīng)的HTML頁面。(4)PHP引擎將生成HTML頁面返回給WEB服務(wù)器。WEB服務(wù)器再將HTML頁面返回給客戶端瀏覽器。 1.2.3 B/S結(jié)構(gòu)在當(dāng)前Internet/Intranet領(lǐng)域,“瀏覽器/服務(wù)器簡稱B/S”結(jié)構(gòu)

15、是非常流行的客戶機(jī)/服務(wù)器結(jié)構(gòu)。在B/S體系結(jié)構(gòu)系統(tǒng)中,用戶通過瀏覽器向分布在網(wǎng)絡(luò)上的許多服務(wù)器發(fā)出請求,服務(wù)器對瀏覽器的請求進(jìn)行處理,將用戶所需信息返回到瀏覽器。B/S結(jié)構(gòu)簡化了客戶機(jī)的工作,客戶機(jī)上只需配置少量的客戶端軟件。服務(wù)器將擔(dān)負(fù)更多的工作,對數(shù)據(jù)庫的訪問和應(yīng)用程序的執(zhí)行將在服務(wù)器上完成。瀏覽器發(fā)出請求,而其余如數(shù)據(jù)請求、加工、結(jié)果返回以及動態(tài)網(wǎng)頁生產(chǎn)等工作全部由Web Server完成。實(shí)際上B/S體系結(jié)構(gòu)是把二層C/S結(jié)構(gòu)的事務(wù)處理邏輯模塊從客戶機(jī)的任務(wù)中別離出來,由Web服務(wù)器單獨(dú)組成一層來負(fù)擔(dān)其他任務(wù),這樣客戶機(jī)的壓力減輕了,把負(fù)荷分配給了Web服務(wù)器。這種三次體系結(jié)構(gòu)如圖1

16、所示。圖1 B/S三層體系結(jié)構(gòu)這種結(jié)構(gòu)不僅把客戶機(jī)從沉重的負(fù)擔(dān)和不斷對其提高的性能的要求中解放出來,也把技術(shù)維護(hù)人員從繁重的維護(hù)升級工作中解脫出來。由于客戶機(jī)把事務(wù)處理邏輯部分分給了功能服務(wù)器,使客戶機(jī)一下子“苗條”了許多,不再負(fù)責(zé)處理復(fù)雜計(jì)算和數(shù)據(jù)訪問等關(guān)鍵事務(wù),只負(fù)責(zé)顯示部分,所以維護(hù)人員不再為程序的維護(hù)工作奔波于每個客戶機(jī)之間,而把主要精力放在功能服務(wù)器上程序的更新工作。這種三層結(jié)構(gòu)在層與層之間相互獨(dú)立,任何一層的改變不會影響其它層的功能。1.2.4 數(shù)據(jù)庫技術(shù)數(shù)據(jù)庫是數(shù)據(jù)和數(shù)據(jù)庫對象的集合,其中數(shù)據(jù)庫對象指表Table、視圖View、存儲過程Stored Procedure和觸發(fā)器Tr

17、igger等。數(shù)據(jù)庫通過SQLStructured Query Language來對數(shù)據(jù)進(jìn)行操作和管理,這里包括一些基本的操作如select、delete、insert、update語句。 ADOActiveX Data Objects是微軟開發(fā)數(shù)據(jù)庫應(yīng)用程序的數(shù)據(jù)庫訪問技術(shù)。它被設(shè)計(jì)用來同新的數(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接口,所以是一種高層訪問技術(shù)。關(guān)于數(shù)據(jù)庫管理系統(tǒng)和接口的

18、原理如圖2所示。MySQL是一個快速、多線程、多用戶的小型關(guān)系型數(shù)據(jù)庫管理系統(tǒng)。它支持正規(guī)的SQL查詢語言和采用多種數(shù)據(jù)類型,能對數(shù)據(jù)進(jìn)行各種詳細(xì)的查詢等。MySQL提供了一全套的數(shù)據(jù)庫創(chuàng)建和訪問機(jī)制,通過很直觀的方式就可以創(chuàng)建、訪問、修改數(shù)據(jù)庫的表和項(xiàng),并且能建立它們之間的各種數(shù)據(jù)關(guān)系。MySQL系列從90年代就發(fā)展起來,經(jīng)過了多年的反展,它已經(jīng)成為非常成熟的技術(shù),面向中小型企業(yè)級應(yīng)用。MySQL數(shù)據(jù)庫的特點(diǎn)是數(shù)據(jù)庫文件小而簡單,不需要運(yùn)行或者啟動數(shù)據(jù)庫服務(wù)進(jìn)程就可以使用。通常MySQL數(shù)據(jù)庫文件可以隨網(wǎng)頁文件一起方便地放在網(wǎng)站的目錄中,正是由于這些特點(diǎn),MySQL數(shù)據(jù)庫通常被用來作為網(wǎng)站開

19、發(fā)的數(shù)據(jù)庫支持技術(shù)。對MySQL數(shù)據(jù)庫的管理采用圖形化管理工具phpMyAdmin 。phpMyAdmin是一個用PHP編寫的、基于Web的、跨平臺的MySQL管理程序,支持簡體中文,使用Web瀏覽器作為管理界面。通過phpMyAdmin可以進(jìn)行絕大部分的MySQL操作,包括對數(shù)據(jù)庫級操作,表級操作,以及數(shù)據(jù)管理等。 圖2 數(shù)據(jù)庫管理系統(tǒng)和接口的原理1.2.5 Apache技術(shù)Apache是最流行的Web服務(wù)器端軟件之一??焖?、可靠、可通過簡單的API擴(kuò)展,Perl/Python解釋器可被編譯到服務(wù)器中,完全免費(fèi),完全源代碼開放。Apache服務(wù)器擁有以下特性:1支持最新的 /1.1通信協(xié)議擁

20、有簡單而強(qiáng)有力的基于文件的配置過程;2 支持通用網(wǎng)關(guān)接口;3 支持基于IP和基于域名的虛擬主機(jī);4 支持多種方式的 認(rèn)證;5 集成Perl處理模塊;6 集成代理服務(wù)器模塊;7 支持實(shí)時監(jiān)視服務(wù)器狀態(tài)和定制服務(wù)器日志;8 支持服務(wù)器端包含指令(SSI);9 支持安全Socket層(SSL);10 提供用戶會話過程的跟蹤; 11支持FastCGI;通過第三方模塊可以支持Java Servlets。 1.2.6 JavaScript語言JavaScript語言是一種基于對象Object和事件驅(qū)動Event Driven并具有安全性能的腳本語言。使用它的目的是與HTML超級文本語言、JavaApple

21、tJava小程序一起實(shí)現(xiàn)在一個Web頁面中鏈接多個對象,與Web客戶交互作用,從而到達(dá)開發(fā)客戶端應(yīng)用程序的目的。JavaScript是通過嵌入或調(diào)入在標(biāo)準(zhǔn)HTML語言中實(shí)現(xiàn),它的出現(xiàn)彌補(bǔ)了HTML語言的缺陷。在JavaScript語言的配合下,能夠運(yùn)用PHP技術(shù)開發(fā)出非常漂亮而且交互性強(qiáng)大的動態(tài)Web網(wǎng)站來.2 系統(tǒng)可行性分析設(shè)計(jì) 2.1 開發(fā)的目的和背景這里首先簡要介紹系統(tǒng)可行性分析的目的和系統(tǒng)開發(fā)的相關(guān)背景。1、編寫目的可行性分析主要介紹開發(fā)項(xiàng)目的一些背景,系統(tǒng)的各方面可行性,從技術(shù)、本系統(tǒng)的前景以及當(dāng)前個人博客的特點(diǎn)和需求等方面展示本系統(tǒng)的優(yōu)勢和限制,主要對象是網(wǎng)絡(luò)中的上網(wǎng)用戶,以便作出

22、正確的后繼設(shè)計(jì)與開發(fā)決策。 2、項(xiàng)目背景寫日記、文章一直以來都作為很多人表達(dá)自己感情,展示自己才華以及與外人溝通的重要方式,也成為了很多人生活中的重要部分。過去人們都是靠紙和筆來實(shí)現(xiàn),甚至到之后有了電腦,也最多用文本編輯軟件來寫,最后還是得通過人工交換自己所寫的東西,無論是紙張作為載體還是電子存儲設(shè)備作為載體。這樣極大縮減了交流的范圍和速度以及交流的頻度。隨著網(wǎng)絡(luò)的開速發(fā)展,它已經(jīng)走入大眾生活,所以自然而然誕生了個人博客這樣一個新興事物,它不僅僅能取代前面所說的功能,還能加入圖片、音樂,而且使得作者更能無所拘束地生動地寫出自己想寫的,旁人也能非常便捷地閱讀并且加以評論,并且它還能作為展示個人個

23、性的窗戶。更重要的是網(wǎng)絡(luò)個人博客利用網(wǎng)絡(luò)的巨大優(yōu)勢,可以非??旖荨V泛而沒有界限地自由交流。交流速度快、交流范圍廣以及可以讓網(wǎng)絡(luò)中任何人瀏覽、評論是博客的最大特點(diǎn),正是有了這些特點(diǎn),個人博客現(xiàn)在已經(jīng)成為很多人生活中必不可少的一個部分,它讓更多人了解作者的心聲,方便了人與人之間的溝通和交流。2.2 系統(tǒng)目標(biāo)和研究方法1、系統(tǒng)的目標(biāo)該目標(biāo)主要是結(jié)合與傳統(tǒng)系統(tǒng)即傳統(tǒng)以紙張或者磁盤、光盤為載體的寫作模式的比較而定。1人力和設(shè)備的節(jié)省傳統(tǒng)系統(tǒng)主要是通過人力寫作,并且載體是紙張或者磁盤、光盤。而通過本系統(tǒng),可以節(jié)省一定寫作人力,并且利用網(wǎng)絡(luò)存儲方式,節(jié)省了紙張資源和筆墨資源或者磁盤、光盤資源的使用。2界面

24、美觀和便捷的提升本系統(tǒng)相對傳統(tǒng)系統(tǒng)而言,利用了多媒體的各種視覺效果,可以方便加入圖片和背景以及表情,有明顯的界面美觀和直觀的優(yōu)勢。3編輯修改的提升本系統(tǒng)可以使對文章或者一些圖片背景等的編輯修改變得非常容易,非常便捷和快速。只用修改局部,不用返工,并且不會留下視覺瑕疵。4交流廣泛性和速度的提升通過網(wǎng)絡(luò)這種媒介,使得文章、日志的交流變得非常廣泛,不會受到地域和世界的限制,世界各地任何人都可以享受交流的服務(wù)。并且交流的速度比傳統(tǒng)更加快速方便,不通過傳統(tǒng)載體的傳遞。 2、可行性研究方法1調(diào)研傳統(tǒng)系統(tǒng)效率和特點(diǎn)通過調(diào)研和比照傳統(tǒng)系統(tǒng)的工作方式和特點(diǎn),發(fā)現(xiàn)效率和實(shí)用性的差距。通過理論和現(xiàn)實(shí)技術(shù)發(fā)展的特點(diǎn)和

25、要求,估算和提出效率、功能的提升。2參考目前已有的網(wǎng)站和案例如今博客在網(wǎng)絡(luò)上比比皆是,可以參考和學(xué)習(xí)已有的一些優(yōu)秀個人博客的特點(diǎn)和成功之處,來發(fā)現(xiàn)傳統(tǒng)系統(tǒng)需要改良的地方和新的開發(fā)入口。2.3 傳統(tǒng)系統(tǒng)的分析1、處理流程傳統(tǒng)系統(tǒng)處理流程總體功能級數(shù)據(jù)流圖如圖3所示,該圖給出了傳統(tǒng)方式的寫作文章以及交流的方式和流程途徑。圖3 傳統(tǒng)系統(tǒng)處理流程2、數(shù)據(jù)流圖傳統(tǒng)系統(tǒng)的數(shù)據(jù)流圖如圖4所示,該圖主要給出了傳統(tǒng)的以紙張或者磁盤為載體的文章、日志寫作和交流的數(shù)據(jù)流程。圖4 傳統(tǒng)系統(tǒng)數(shù)據(jù)流圖2.4 所要開發(fā)的系統(tǒng)的分析對所要開發(fā)的系統(tǒng)的分析是從系統(tǒng)的描述和優(yōu)越性,用開發(fā)的系統(tǒng)的處理流程和所開發(fā)系統(tǒng)的數(shù)據(jù)流圖DF

26、D來說明的。1 系統(tǒng)的描述和優(yōu)越性該系統(tǒng)是適應(yīng)當(dāng)前網(wǎng)絡(luò)特點(diǎn)和個人個性的情況下開發(fā)的個人博客,主要用于文章和日志的寫作以及交流評論。其主要特點(diǎn)在前面的緒論和2.1.2已經(jīng)有詳細(xì)的介紹。系統(tǒng)的優(yōu)越性主要表達(dá)在編輯的便捷和修改的方便,以及文章的多媒體性和生動性,還有就是交流的廣泛性和快速。詳細(xì)情況在緒論、背景以及在2.2.1已有介紹。2 處理流程所開發(fā)的系統(tǒng)處理流程總體功能級數(shù)據(jù)流圖如圖5所示,該圖給出了所要開發(fā)系統(tǒng)的系統(tǒng)工作、寫作文章和文章交流的方式以及流程途徑。圖5 所要開發(fā)系統(tǒng)處理流程3 數(shù)據(jù)流圖所開發(fā)系統(tǒng)的數(shù)據(jù)流圖如圖6和圖7所示,它們都是進(jìn)一步分解后的數(shù)據(jù)流圖。其中圖6是用戶管理的功能分解

27、數(shù)據(jù)流圖,而圖7是文章管理以及評論的功能分解數(shù)據(jù)流圖。圖7涉及到用戶文章和評論事務(wù)和數(shù)據(jù)庫的頻繁存儲交互,表達(dá)了個人博客中文章、日志發(fā)表和評論的功能,是個人博客系統(tǒng)中比較主要的一項(xiàng)事務(wù)過程。圖6 系統(tǒng)數(shù)據(jù)流圖用戶權(quán)限/管理圖7 系統(tǒng)數(shù)據(jù)流圖文章發(fā)表/評論2.5 系統(tǒng)的其它可行性前面主要運(yùn)用了系統(tǒng)流程圖和數(shù)據(jù)流圖,通過對傳統(tǒng)系統(tǒng)和要開發(fā)的系統(tǒng)分析了系統(tǒng)開發(fā)的可行性,下面將從其它一些輔助可行性來進(jìn)一步分析和說明。1 技術(shù)可行性本系統(tǒng)主要由PHP作為主要開發(fā)技術(shù),PHP已經(jīng)流行和發(fā)展了數(shù)年,技術(shù)相比照較成熟,開發(fā)系統(tǒng)穩(wěn)定可靠。系統(tǒng)采用優(yōu)秀的關(guān)系型數(shù)據(jù)庫管理系統(tǒng)MYSQL作為后臺數(shù)據(jù)庫,能和Windo

28、ws以及當(dāng)前各種系統(tǒng)很好的兼容搭配。其它輔助網(wǎng)站設(shè)計(jì)的技術(shù)相當(dāng)豐富,相應(yīng)開發(fā)環(huán)境和工具也一應(yīng)俱全,比方用于網(wǎng)頁界面設(shè)計(jì)的Dreamweaver CS3,還有一些圖形處理軟件如Photoshop CS2等都是相當(dāng)成熟和簡便的開發(fā)工具。2 性能效益可行性所開發(fā)的系統(tǒng)基本能滿足個人博客的功能要求和展示博客的特點(diǎn)風(fēng)格,在處理運(yùn)算速度、存儲量以及響應(yīng)時間上完全能滿足系統(tǒng)要求?,F(xiàn)在網(wǎng)絡(luò)發(fā)展迅速,上網(wǎng)人數(shù)眾多,博客作為個人個性和情感的展現(xiàn)舞臺,相信有非常廣闊的發(fā)展和應(yīng)用空間。3 硬件可行性系統(tǒng)所采用的技術(shù)和平臺都是比較成熟和已經(jīng)發(fā)展數(shù)年的,目前的硬件配置一般都足以滿足系統(tǒng)的運(yùn)行要求。系統(tǒng)的基本硬件要求:網(wǎng)絡(luò)

29、中的服務(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ù)的瀏覽器IE6.0以上等具備解釋PHP技術(shù)的瀏覽器。2.6 可行性結(jié)論 綜上所述,作為畢業(yè)設(shè)計(jì)的一個項(xiàng)目,簡要討論分析了系統(tǒng)的各種可行性,并且各項(xiàng)可行性上完全滿足開發(fā)要求,可以開始進(jìn)一步的工作。3 系統(tǒng)需求分析和概要設(shè)計(jì)3.1 系統(tǒng)需求分析系統(tǒng)需求分析是現(xiàn)代軟件工程應(yīng)用于系統(tǒng)開發(fā)的一項(xiàng)重要環(huán)節(jié),通過需求分析可以明確系統(tǒng)的各項(xiàng)需求和功能,根據(jù)這些需求和功能可以更好地指導(dǎo)下一步的系統(tǒng)開發(fā)和設(shè)計(jì),防止了在設(shè)計(jì)之后

30、對需求的變更而導(dǎo)致的大量返工。3.1.1 開發(fā)背景過去很多人都喜歡寫文章寫日記以及交流自己的文章和作品,以求實(shí)現(xiàn)相互間的溝通、展現(xiàn)自己的才華和讓別人了解自己的想法觀點(diǎn)。現(xiàn)在的網(wǎng)絡(luò)已經(jīng)成為人們生活中不可或缺的一個元素,所以自然而然誕生了個人博客這樣一個新興事物,它不僅僅能取代前面所說的功能,還能加入圖片,而且使得作者更能無所拘束地生動地寫出自己想寫的,旁人也能非常便捷地閱讀并且加以評論,并且它還能作為展示個人個性的窗戶。個人博客現(xiàn)在已經(jīng)成為很多人生活中必不可少的一個部分,方便了人與人之間的溝通和交流。3.1.2 系統(tǒng)實(shí)現(xiàn)目標(biāo)概述基于個人博客以上的特點(diǎn),本系統(tǒng)要實(shí)現(xiàn)個人博客的主要基本功能有主界面,

31、用戶注冊,注冊用戶登錄發(fā)表文章心情、日志,用戶登錄/退出,游客發(fā)表評論,分頁瀏覽文章和評論等。這里其中比較主要的是區(qū)分了個人博客的注冊用戶和游客。注冊用戶可以在任何時候?qū)懴伦约旱闹鲝?,記錄下自己的點(diǎn)點(diǎn)滴滴。而游客主要的權(quán)限是閱讀博客所有注冊用戶寫的文章,閱讀后可以發(fā)表評論和留言,還可以分頁瀏覽所有注冊用戶上傳的圖片。以上是個人博客的系統(tǒng)功能目標(biāo),當(dāng)然由于個人博客的網(wǎng)絡(luò)流行特點(diǎn)以及個人個性的展示,還適當(dāng)要求界面比較漂亮輕快,直觀便捷,操作方式簡單以及人性化。3.1.3 系統(tǒng)功能需求根據(jù)對系統(tǒng)的特點(diǎn)和應(yīng)用的分析,可以得到本系統(tǒng)主要有如下功能:1用戶注冊和登錄 這部分功能又分為用戶注冊、用戶登錄、用

32、戶退出三個部分。用戶注冊:游客將個人的信息存儲到博客網(wǎng)站的數(shù)據(jù)庫中,注冊時要求填寫用戶的各種詳細(xì)信息,包括id、Password、Email、性別、生日、其它輔助信息。但凡符合要求的游客都可以注冊成功,成為本博客的正式用戶,。系統(tǒng)接受這些信息并存儲在服務(wù)器端的數(shù)據(jù)庫中。用戶登錄:主要用于驗(yàn)證博客網(wǎng)站用戶信息的真實(shí)身份,以便對博客網(wǎng)站進(jìn)行管理和維護(hù)。通過注冊后的用戶用個人注冊的用戶名,密碼登錄到網(wǎng)站。網(wǎng)站檢測用戶的用戶名,密碼并給予其相應(yīng)的權(quán)限對博客網(wǎng)站進(jìn)行操作。用戶退出:已經(jīng)登陸的用戶可以退出,釋放自己所占有的各種信息資源。2文章管理文章管理主要有文章的發(fā)表、查詢、瀏覽、評論和刪除功能。博客的

33、系統(tǒng)管理員除了可以查詢、瀏覽和評論文章外,還可以對系統(tǒng)中的所有文章以及評論進(jìn)行修改、刪除操作。這些維護(hù)和管理擁有最高權(quán)限,并且系統(tǒng)自動更新在服務(wù)器端數(shù)據(jù)庫中的數(shù)據(jù)。文章的發(fā)表:注冊用戶可以發(fā)表自己的文章,文章包括主題、正文、表情、圖片等信息,作者通過各種元素來展示自己的想法和思想。系統(tǒng)接受這些信息并且存儲在服務(wù)器端的數(shù)據(jù)庫中。文章的刪除:注冊用戶可以刪除自己已經(jīng)發(fā)表的文章內(nèi)容和各項(xiàng)信息,系統(tǒng)自動在服務(wù)器端數(shù)據(jù)庫中刪除這些記錄。文章的瀏覽:游客和注冊用戶根據(jù)所獲得的用戶權(quán)限獲取服務(wù)器端數(shù)據(jù)存儲的各篇文章并且瀏覽閱讀文章的所有信息,包括標(biāo)題、正文、表情、圖片以及其它讀者的留言評論。文章的評論:文章

34、的讀者可以評論和回復(fù)所閱讀的文章,發(fā)表自己的看法。系統(tǒng)自動將這些評論存儲在服務(wù)器端的數(shù)據(jù)庫中,并且可供博客作者以及其它讀者瀏覽。文章的查詢:注冊用戶可以按文章題目或作者來查詢想要查的文章。3圖片管理圖片管理有添加,瀏覽、刪除和查詢功能。注冊用戶可以添加自己喜歡的圖片,還可以查詢和瀏覽系統(tǒng)中的所有圖片信息。游客只能瀏覽博客系統(tǒng)中的所有圖片。系統(tǒng)管理員擁有以上的所有權(quán)限,除此之外還可以刪除圖片。4朋友圈管理注冊用戶可以添加自己的朋友信息到朋友圈,可以再瀏覽和查詢朋友信息的前提下,進(jìn)行刪除朋友信息操作。5管理員管理博客的系統(tǒng)管理員可以對系統(tǒng)中所有的注冊用戶進(jìn)行帳戶和權(quán)限管理,包括修改用戶所有的權(quán)限,

35、查詢用戶信息以及刪除用戶信息;還可以對最新公告進(jìn)行添加,刪除管理。3.1.4 系統(tǒng)需求管理規(guī)劃表根據(jù)以上對系統(tǒng)的需求分析,我們可以得到一個更為簡明扼要的系統(tǒng)需求管理規(guī)劃表,本表羅列了系統(tǒng)的各項(xiàng)主要功能,并且對其分類,配有間斷描述,最重要的室給出了各個功能需求的優(yōu)先級,優(yōu)先級的高低表示了功能實(shí)現(xiàn)的迫切程度和必要程度。優(yōu)級高的代表該功能是系統(tǒng)很重要的功能,需要重點(diǎn)實(shí)現(xiàn)。如表1所示。表1 系統(tǒng)需求管理規(guī)劃表需求分類需求名稱描述優(yōu)先級功能性需求用戶注冊用戶可以注冊自己的各項(xiàng)信息高用戶登錄/退出用戶可以登錄或者退出系統(tǒng)高用戶權(quán)限管理博客管理員可以修改用戶的權(quán)限以及刪除用戶賬號高文章的添加注冊用戶可以發(fā)表

36、文章,包括表情、圖片、鏈接等高文章的刪除博客管理員可以刪除任何一篇文章但注冊用戶只能刪除自己寫的文章中文章列表對文章按一定類型或者順序用列表方式展示題目中瀏覽文章博客文章讀者可以分頁瀏覽文章高評論文章博客文章讀者可以對文章進(jìn)行評論和回復(fù)高評論的刪除博客管理員可以刪除某篇文章的某條評論中朋友信息添加注冊用戶可以添加自己朋友的信息高瀏覽朋友信息注冊用戶可以瀏覽自己朋友的信息高查詢朋友信息注冊用戶可以查詢自己朋友的信息高添加圖片注冊用戶可以上傳自己喜歡的圖片,與人分享高瀏覽圖片圖片的瀏覽者可以分頁瀏覽圖片高刪除圖片博客管理員可以刪除博客網(wǎng)站中的某張圖片中查詢圖片用戶可以查詢圖片高特征和前景預(yù)算項(xiàng)目開

37、發(fā)成本控制在畢業(yè)設(shè)計(jì)范圍內(nèi)低系統(tǒng)目標(biāo)設(shè)計(jì)和實(shí)現(xiàn)個人博客系統(tǒng),到達(dá)畢業(yè)設(shè)計(jì)的目標(biāo)和要求高非功能性需求平臺限制基于Windows XP ,Apache2.2.4以上,PHP+MySQL數(shù)據(jù)庫高操作方式全部操作都能基于瀏覽器進(jìn)行低硬件需求網(wǎng)絡(luò)服務(wù)器,P3以上、128MB以上多媒體工作站互連網(wǎng)絡(luò)連接以及相應(yīng)設(shè)備中3.1.5 系統(tǒng)性能要求1系統(tǒng)可靠性要求 系統(tǒng)對用戶操作有相應(yīng)提示,并且可以檢查用戶輸入的各種數(shù)據(jù)的合法性,對于不合法的數(shù)據(jù)屏蔽并且提示用戶,以防止由于越界或者格式錯誤而造成的系統(tǒng)錯誤甚至崩潰。 系統(tǒng)在對于數(shù)據(jù)庫操作時候,數(shù)據(jù)庫有一定的約束機(jī)制。特點(diǎn)是對于外鍵FK而言,通過“級連”Cascad

38、e和“參照”Reference來保證數(shù)據(jù)的完整性。 系統(tǒng)能夠應(yīng)對各種特殊操作情況和出錯情況,并且給出相應(yīng)提示。 系統(tǒng)能夠有一定的安全和保護(hù)措施,以保證網(wǎng)站的正常運(yùn)行,防止文件和數(shù)據(jù)庫遭到意外事件的破壞而導(dǎo)致網(wǎng)站癱瘓。2系統(tǒng)時間要求在不考慮網(wǎng)絡(luò)狀況情況下,系統(tǒng)的響應(yīng)時間應(yīng)該相當(dāng)迅速,數(shù)據(jù)的存儲和處理以及返回過程應(yīng)該滿足用戶的等待需求,一般控制在0.2s以內(nèi)。3系統(tǒng)適應(yīng)性要求系統(tǒng)應(yīng)該兼容Windows操作平臺、MySQL數(shù)據(jù)庫以及IE瀏覽器。4系統(tǒng)并行處理能力要求系統(tǒng)能夠支持同時間多用戶的訪問需求,并且保證運(yùn)行的相對順暢。5系統(tǒng)精度要求時間精度到達(dá)秒為單位,其它數(shù)據(jù)精確到小數(shù)點(diǎn)后2位。3.2 概要

39、設(shè)計(jì)概要設(shè)計(jì)也是軟件工程中一個重要的步驟和環(huán)節(jié),根據(jù)前面的需求分析所得到的系統(tǒng)所要實(shí)現(xiàn)的各種功能,概要設(shè)計(jì)對其進(jìn)行進(jìn)一步的模塊劃分,以確定各個功能由所設(shè)計(jì)的模塊來實(shí)現(xiàn),這樣可以構(gòu)架出一個系統(tǒng)的機(jī)構(gòu)框架,便于后面的具體數(shù)據(jù)庫設(shè)計(jì)詳細(xì)設(shè)計(jì)的實(shí)現(xiàn)。3.2.1 系統(tǒng)體系結(jié)構(gòu)基于B/S結(jié)構(gòu)的個人博客網(wǎng)站系統(tǒng),應(yīng)由終端用戶主機(jī)/瀏覽器、WEB服務(wù)器、數(shù)據(jù)服務(wù)器構(gòu)成。個人博客網(wǎng)站的核心是中間的接入服務(wù)器和應(yīng)用服務(wù)器部分。個人博客網(wǎng)站的總體結(jié)構(gòu)圖如圖8所示:圖8 博客網(wǎng)站總體結(jié)構(gòu)3.2.2 系統(tǒng)模塊劃分根據(jù)前面對系統(tǒng)的需求分析,可以得到系統(tǒng)的模塊劃分如下: 1博客首頁模塊包括如下主要組成部分:頁整體布局:對于

40、博客的首頁風(fēng)格安排并且布局。日歷:方便用戶看時間和日期。用戶登錄和注冊區(qū):主要是用戶注冊和登錄,在成功登錄以后列出用戶所擁有的可操作模塊。博客最新日志顯示:按時間順序顯示博客中最近的文章標(biāo)題信息。最新推薦圖片:按時間順序顯示博客中最新上傳的圖片。最新公告:上下滾動顯示管理員發(fā)表的最新公告。2文章管理模塊添加博客文章:已登錄的博客注冊用戶可以發(fā)表文章、隨筆和日志,內(nèi)容包括標(biāo)題、正文、圖片、表情等信息。在此前提下,只有以系統(tǒng)管理員身份登錄的用戶才可以刪除博客中的任何文章,系統(tǒng)自動更新服務(wù)器端的數(shù)據(jù)庫。查看博客文章:文章作者可以按搜索條件有選擇的查看想要閱讀的文章,并可以對它進(jìn)行評論,但沒有刪除的權(quán)

41、限。瀏覽我的文章:只顯示作者自己的全部文章,在這個模塊的前提下,文章作者有刪除文章和評論的權(quán)限。3圖片管理模塊添加圖片:已注冊用戶可以本地上傳圖片。查詢圖片:登錄用戶可以按搜索條件有選擇的查看圖片,但沒有刪除的權(quán)限瀏覽圖片:分頁顯示系統(tǒng)中的全部圖片。4朋友圈管理模塊注冊用戶可以添加自己的朋友信息到朋友圈,可以在瀏覽和查詢朋友信息的前提下,進(jìn)行刪除朋友信息操作。5管理員管理模塊博客的系統(tǒng)管理員可以對系統(tǒng)中所有的注冊用戶進(jìn)行帳戶和權(quán)限管理,包括修改用戶所有的權(quán)限,查詢用戶信息以及刪除用戶信息;還可以對最新公告進(jìn)行添加,刪除管理。3.2.3 系統(tǒng)功能劃分組織結(jié)構(gòu)圖根據(jù)以上對系統(tǒng)功能模塊的劃分和設(shè)計(jì),

42、可以得到系統(tǒng)功能模塊圖如圖9所示,該圖給出了詳盡的模塊劃分和模塊組織結(jié)構(gòu),能夠直觀展現(xiàn)系統(tǒng)的功能結(jié)構(gòu)關(guān)系。 圖9 系統(tǒng)功能結(jié)構(gòu)圖3.2.3 運(yùn)行環(huán)境1用戶界面用戶需要網(wǎng)頁瀏覽器來使用該系統(tǒng),界面簡潔、美觀、友好,具備人性化特點(diǎn),各種操作有提示信息和錯誤信息。2軟件環(huán)境服務(wù)器端:WindowsXP服務(wù)器,Apache服務(wù)程序,MySQL數(shù)據(jù)庫以及其相應(yīng)的ODBC??蛻舳耍篧indows XP系統(tǒng)以及IE6.0以上瀏覽器。3網(wǎng)絡(luò)帶寬服務(wù)器對外網(wǎng)絡(luò)帶寬1M以上,客戶端擁有連接互聯(lián)網(wǎng)的設(shè)備和服務(wù)。4 系統(tǒng)數(shù)據(jù)庫設(shè)計(jì)4.1 MySQL 數(shù)據(jù)庫簡介MySQL數(shù)據(jù)庫由瑞典MySql公司開發(fā)和維護(hù)的一個精巧的

43、SQLStructured Query Language,結(jié)構(gòu)化查詢語言關(guān)系型數(shù)據(jù)庫管理系統(tǒng)DBMS。MySQL數(shù)據(jù)早在90年代中期就開始出現(xiàn),經(jīng)過近10年的發(fā)展,它已經(jīng)成為一個功能相對強(qiáng)大,技術(shù)非常成熟,應(yīng)用廣泛的數(shù)據(jù)庫。由于它的強(qiáng)大功能、靈活性、豐富的應(yīng)用編程接口API以及精巧的系統(tǒng)結(jié)構(gòu),受到了眾多程序員和企業(yè)級用戶的青睞,特別是它的數(shù)據(jù)庫文件小巧,存放便捷,數(shù)據(jù)庫管理系統(tǒng)運(yùn)行簡單,為建立基于數(shù)據(jù)庫的動態(tài)網(wǎng)站提供了強(qiáng)大動力,并且得到了廣闊網(wǎng)站開發(fā)人緣的認(rèn)可。 MySQL數(shù)據(jù)庫提供完善的SQL-92標(biāo)準(zhǔn)的結(jié)構(gòu)化查詢語言,如select、delete、insert、update語句。通過MyS

44、QL在操作系統(tǒng)上建立的ODBC可以輕松將這些SQL語句翻譯成為相應(yīng)的MySQL數(shù)據(jù)庫管理系統(tǒng)指令并對數(shù)據(jù)庫進(jìn)行管理。如圖10所示。 圖10 MySQL數(shù)據(jù)庫管理系統(tǒng)原理作為關(guān)系型數(shù)據(jù),MySQL完全支持對于各種數(shù)據(jù)庫對象的管理和便捷操作,這里包括表Table、視圖View、存儲過程Stored Procedure和觸發(fā)器Trigger等。MySQL數(shù)據(jù)庫提供完全的可視化管理環(huán)境,能夠直觀便捷而快速地對數(shù)據(jù)庫的各種數(shù)據(jù)庫對象和元素進(jìn)行修改和管理。 當(dāng)然,MySQL數(shù)據(jù)庫也完全支持ADOActiveX Data Objects數(shù)據(jù)庫應(yīng)用程序的數(shù)據(jù)庫訪問技術(shù)。ADO它被設(shè)計(jì)用來同新的數(shù)據(jù)庫訪問層OL

45、E DB Provider一起協(xié)同工作,以提供通用數(shù)據(jù)訪問Universal Data MySQL。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)站。4.2 數(shù)據(jù)庫表的設(shè)計(jì)4.2.1 概述根據(jù)第三部分的需求分析和概要設(shè)計(jì),可以設(shè)計(jì)出相應(yīng)的系統(tǒng)所要使用的數(shù)據(jù)庫表。博客系統(tǒng)所要存儲的數(shù)據(jù)項(xiàng)和數(shù)據(jù)量相比照較復(fù)雜和龐大,所以首先確定這些數(shù)據(jù)庫表的設(shè)計(jì)一般是一個表存儲一個實(shí)體或者對象的相關(guān)信息,這樣分析和設(shè)計(jì)數(shù)據(jù)庫就相對簡單。對于不同的對象或?qū)嶓w,

46、根據(jù)具體系統(tǒng)需要和未來擴(kuò)展,可以適當(dāng)細(xì)分。另外擴(kuò)充信息和動態(tài)變化的信息分開放置在不同的表里。當(dāng)然重要的表都會設(shè)置一個唯一標(biāo)識的主鍵,這個主鍵不是實(shí)際運(yùn)用中的任何信息項(xiàng),只用來唯一標(biāo)識一個數(shù)據(jù)項(xiàng),一般用自動編號的數(shù)字。經(jīng)過需求分析和概要設(shè)計(jì),在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_tpsc五個表。這些表基本上都是一表負(fù)責(zé)一個實(shí)體或者對象的各種信息存儲,

47、它們協(xié)調(diào)工作,以實(shí)現(xiàn)個人博客系統(tǒng)對數(shù)據(jù)存儲的要求。 注意,下面各表中數(shù)據(jù)類型說標(biāo)有*表示是主鍵。4.2.2 用戶表系統(tǒng)主要為了滿足網(wǎng)絡(luò)用戶使用博客的需要,由于網(wǎng)絡(luò)的自身特點(diǎn),以及網(wǎng)絡(luò)上聯(lián)系工具眾多,所以用戶的信息的設(shè)置相對較多,這里主要的是用戶的ID編號,這個是用來唯一確定用戶的標(biāo)識,是用戶表的主鍵。管理員及用戶標(biāo)記主要用來設(shè)置管理員和用戶的權(quán)限,不同的權(quán)限能得到不同的應(yīng)用功能。還有用戶名、用戶密碼都比較重要。用戶表結(jié)構(gòu)如表2所示。表2用戶表字段名稱數(shù)據(jù)類型說明idInt(20) *自動編號regnameVarchar(20)用戶名regrealnameVarchar(20)真實(shí)regpwdV

48、archar(20)用戶密碼regbirthdaydate用戶生日regemailVarchar(100)E-mail地址regcityVarchar(100)所在城市regicoVarchar(50)人物表情regsexVarchar(4)性別regqqVarchar(40)QQ號reghomepageVarchar(100)個人主頁regsignVarchar(200)個性化簽名regintroducetext自我簡介ipVarchar(20)用戶IPfigint(1)管理員及用戶標(biāo)記4.2.3文章內(nèi)容表本表主要用來存放文章的各種信息,這也是博客系統(tǒng)中非常重要的一個表。其中文章ID編號為主

49、鍵,唯一標(biāo)識一篇文章。其它信息詳見表3所示。表3 文章內(nèi)容表字段名稱數(shù)據(jù)類型說明idInt(10) *自動編號titleVarchar(20)文章標(biāo)題faceVarchar(20)人物表情contenttext文章內(nèi)容autherVarchar(20)文章作者nowdatetime發(fā)表時間4.2.4 文章評論表文章評論表主要存儲對一篇文章的評論的各種信息,文章的評論信息相對于文章的信息而言要簡單一些,主要包括唯一標(biāo)識評論的id編號,是主鍵。表的結(jié)構(gòu)如表4所示。表4 文章評論表字段名稱數(shù)據(jù)類型說明idInt(4)*自動編號fileidInt(4)所評論的文章id號usenameVarchar(2

50、0)評論人contenttext評論正文datetimedatetime評論時間4.2.5圖片信息表該表主要用來存儲博客系統(tǒng)中發(fā)表的照片、圖片。其中照片id是唯一標(biāo)識圖片的主鍵,表的詳細(xì)結(jié)構(gòu)如表5所示。表5 圖片信息表字段名稱數(shù)據(jù)類型說明idInt(10) *自動編號nameVarchar(30)圖片名稱urlChar(100)以文件的形式存儲圖片authorVarchar(20)圖片發(fā)表者scsjdate上傳日期/時間4.2.6 朋友圈信息表 該表主要用來存儲某用戶的朋友圈信息。其中id是唯一標(biāo)識朋友信息的主鍵,表的詳細(xì)結(jié)構(gòu)如表6所示。表6 朋友圈信息表字段名稱數(shù)據(jù)類型說明idInt(4)

51、*自動編號nameVarchar(50)朋友名稱sexVarchar(10)性別birdate生日cityVarchar(50)所在城市addressVarchar(100)家庭住址postcodeVarchar(6)郵政編碼emailVarchar(50)E-mail地址telVarchar(20) 號碼handsetVarchar(20) 號碼qqVarchar(20)QQ號usernameVarchar(20)用戶名4.2.7 數(shù)據(jù)庫ER關(guān)系圖數(shù)據(jù)庫中的表有用戶表、文章信息表、文章評論表、圖片信息表、朋友圈信息表。本系統(tǒng)數(shù)據(jù)庫的5個表的ER圖如圖11所示。圖11 數(shù)據(jù)庫中5個表的ER圖5

52、 系統(tǒng)的詳細(xì)設(shè)計(jì)詳細(xì)設(shè)計(jì)是整個系統(tǒng)設(shè)計(jì)中,最重要的一個步驟。下面對系統(tǒng)的主要功能模塊進(jìn)行詳細(xì)的介紹。博客網(wǎng)站的流程圖如圖12所示。圖12 博客網(wǎng)站流程圖5.1 首頁面及主要頁面設(shè)計(jì)1、博客網(wǎng)站的文件架設(shè)圖如圖13所示: 圖13博客網(wǎng)站文件架設(shè)圖2、主要頁面如表7所示:表7 主要頁面清單表文件名說明index.php普通用戶登錄頁面,用戶只要輸入已注冊的用戶名和密碼Register.php新用戶注冊頁面file.php用戶登錄后的頁面,同時也是添加博客文章頁面query.php查詢博客文章頁面myfiles.php顯示我的文章頁面add_pic.php添加圖片頁面browse_pic.php瀏覽

53、圖片頁面query_pic.php查詢圖片頁面friend.php朋友添加頁面browse_fri.php瀏覽朋友信息頁面query_friend.php查詢朋友信息頁面queryuser.php查詢用戶信息頁面只有管理員有權(quán)限查看browseuser.php瀏覽用戶信息頁面只有管理員有權(quán)限瀏覽managepub.php公告管理頁面只有管理員有權(quán)限查看5.2 系統(tǒng)主要功能模塊開發(fā)5.1.1首頁模塊1、博客的首頁是相當(dāng)重要的,這不僅僅是整個博客的第一影響,而且是展現(xiàn)個人博客系統(tǒng)的布局、美工、風(fēng)格和個性的窗口。它包括博客最新日志區(qū)、日歷和時鐘區(qū)、最新圖片上傳區(qū)、最新公告區(qū),用戶登錄、注冊區(qū)。把這幾

54、個界面區(qū)合理的組合是布局和美工的重要之處。如圖14所示:圖14 個人博客首頁首頁模塊index.php中包括了數(shù)據(jù)庫連接文件conn.php,首頁的布局和美工設(shè)計(jì)使用到了Dreamweaver CS3網(wǎng)頁開發(fā)工具作為輔助開發(fā),運(yùn)用這個可視化開發(fā)工具Visual Development Tool可以快捷地設(shè)計(jì)出Web的界面,自動生成相應(yīng)的HTML代碼,并得到的HTML代碼直接嵌入到index.php文件中。 2、用戶注冊子模塊是在“博客首頁”的前提下操作的,主要由register.php完成。用戶點(diǎn)擊“博客注冊”進(jìn)入用戶注冊界面,然后閱讀用戶注冊協(xié)議,確認(rèn)后可以到達(dá)正式注冊頁面,否則返回。在正式

55、注冊頁面中用戶填寫各種信息,包括、密碼等。用戶的“密碼”和“確認(rèn)密碼”必須一致才能注冊,否則提示用戶兩次輸入密碼不一致。一切信息正確后系統(tǒng)會在數(shù)據(jù)庫中為該用戶自動生成一個用戶ID編號,這個編號是自動遞增的生成,用來唯一標(biāo)識一個用戶。具體流程圖如圖15所示。圖15用戶注冊流程圖3、用戶登錄和退出用戶登錄同樣是在 “博客首頁”的前提下操作的,經(jīng)過注冊的用戶可以選擇登錄帳戶,已經(jīng)登錄的用戶也可以選擇退出帳戶。登錄時首先客戶端發(fā)送登錄請求給服務(wù)器端,服務(wù)器端通過數(shù)據(jù)庫檢查該用戶名是否存在,如果存在,檢查密碼是否正確,在密碼也正確情況下系統(tǒng)服務(wù)器端給予登錄響應(yīng)。登錄后的用戶將獲得響應(yīng)權(quán)限的功能。而用戶退出是在用戶登錄的前提下操作的,這時已經(jīng)登

溫馨提示

  • 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)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論