您的位置:新文秘網(wǎng)>>畢業(yè)相關(guān)/畢業(yè)論文/文教論文/個人總結(jié)/>>正文

畢業(yè)論文:多用戶個人空間平臺的設(shè)計和實現(xiàn)

發(fā)表時間:2013/8/7 19:53:17


題目: 多用戶個人空間平臺的設(shè)計和實現(xiàn)

院(系):計算機科學(xué)與技術(shù)學(xué)院
專 業(yè): 計算機科學(xué)與技術(shù)
屆 別: 2012

摘要
隨著互聯(lián)網(wǎng)技術(shù)的高速發(fā)展和日益的普及,用戶對互聯(lián)網(wǎng)的寄托也發(fā)生了翻天覆地的變化。用戶不只是內(nèi)容的被動瀏覽者,同時也是內(nèi)容的制造者。正是因為整個互聯(lián)網(wǎng)產(chǎn)品設(shè)計理念的重大變化,具有代表性的Web2.0時代的互聯(lián)網(wǎng)產(chǎn)品也就相繼出現(xiàn),如:論壇,博客、威客,社區(qū)、RSS和SNS等。其中博客是一個以文章形式來發(fā)布自己所見、所得、所聞、體會等的互聯(lián)網(wǎng)信息發(fā)布系統(tǒng),類似個人網(wǎng)站,但它有更強內(nèi)容的私有性和娛樂性。
本文以博客文章發(fā)布管理為基礎(chǔ),并結(jié)合其實際需求,詳細(xì)簡述了多用戶個人空間平臺設(shè)計、開發(fā)的全過程。本系統(tǒng)主要功能包括博客的文章發(fā)表、標(biāo)簽分類和評論等。除了這些基本功能外,還有好友模塊、消息模塊和電子相冊和音樂模塊等擴展模塊,最后本系統(tǒng)還提供了匯聚rss和flickr信息訂閱的個性化主頁。開發(fā)過程中,采用了MVC分層思想,運用了當(dāng)今比較流行的Web前端開發(fā)技術(shù)Aja*、Javascript等。
本系統(tǒng)基于B/S架構(gòu),采用PHP為開發(fā)語言、MySQL為數(shù)據(jù)庫的LAMP開發(fā)平臺, 結(jié)合ZendFramework框架和Smarty模版引擎,從而保證了整個系統(tǒng)穩(wěn)定、快速、高效的運行,同時也經(jīng)過了多種測試方式驗證,保證了系統(tǒng)的安全和可靠。

關(guān)鍵詞:博客;Web2.0;LAMP;平臺;個性化;穩(wěn)定

ABSTRACT
With the rapid development of Internet technology , the sustenance of the users on the Internet has undergone enormous changes. The user is not just a passive viewer of the content, but also the content maker. As major changes of product design concept of the entire Internet, representative of the Web2.0 era of Internet products also appeared in succession, such as: forum, blog, Witkey, communities, RSS and SNS, etc. Which blog is one of the aritlce form to publish their own findings obtained, the smell, e*perience and other Internet information release system。similar to the personal website, but its more private nature of the content and entertainment.
In this paper, based on post publishing and management, combined with their actual requirement, detailed description of the multi-user personal space platform design and development at the entire process. The main features include post publish, category and comments, etc.. In addition to these basic functions described, as well as the friends module, news module, electronic albums and music module and other e*pansion module, etc. Finally, the system also provides
……(新文秘網(wǎng)http://www.120pk.cn省略2886字,正式會員可完整閱讀)…… 
載,一般會將內(nèi)容歸檔成靜態(tài)文件(后綴為.html的文件)存在磁盤中,并根據(jù)內(nèi)容在數(shù)據(jù)庫中的唯一標(biāo)識號生成一個唯一的url地址。當(dāng)用戶需要查看這些內(nèi)容時,直接通過所生成的唯一的URL地址,經(jīng)過服務(wù)器就直接能訪問到這些內(nèi)容,服務(wù)器基本不需要花費時間來生成這些內(nèi)容,這對于服務(wù)器軟硬件資源是一個很大的節(jié)省。而新形勢下(Web2.0)的應(yīng)用,由于它的實時性和較高的交互性,就注定了不能完全采用生成靜態(tài)文件方式來解決這一問題,頁面可能會實時更新,從而需要實時的請求數(shù)據(jù)庫,將所請求的內(nèi)容展現(xiàn)在用戶面前[17]。由于數(shù)據(jù)的動態(tài)生成。無疑會添加服務(wù)器的處理能力,在服務(wù)器端并發(fā)性一定的情況下,由于請求的用戶過多,而服務(wù)器又一時處理不過來,所請求的用戶必然會經(jīng)歷一個排隊的過程,從而使得系統(tǒng)的整體響應(yīng)時候大幅度添加,這樣的用戶體驗也就不言而喻了。以上這些都是做一個Web2.0應(yīng)用所必考慮的問題。
2 需求分析
2.1 可行性分析
2.1.1 市場分析
根據(jù)發(fā)布的《第29次中國互聯(lián)網(wǎng)絡(luò)發(fā)展?fàn)顩r統(tǒng)計報告》顯示,我國的網(wǎng)民總?cè)藬?shù)已達(dá)5.13億人。對于這么一個龐大的基數(shù),相信寫博的人的數(shù)量也是相當(dāng)可觀的。假設(shè)有4000萬人平均一個月寫一篇博文的話,那么就意味著每個月互聯(lián)網(wǎng)上能增加4000萬篇文章,而這4000萬文章中,觀點各異,行業(yè)分明,基本能覆蓋各各層次的網(wǎng)民。再做一個假設(shè),如果一篇博文的日平均PV(頁面的瀏覽數(shù))為50的話,這么多博客就能為整個互聯(lián)網(wǎng)一日增加20億的PV流量。對于20億的PV,廣告價值就非常可觀了。
當(dāng)前社會上BSP(博客服務(wù)提供商)的數(shù)量眾多,有的BSP提供的博客是適合了所有網(wǎng)民的,它們沒有明確的指出他們的用戶是哪一類人群,而有的BSP確明指出提供的博客是什么類型或者某個行業(yè),當(dāng)然也有的沒有明確指定,但博客似乎已經(jīng)傾向于某一批人群或者某一領(lǐng)域。比如:國內(nèi)的比較著名的財經(jīng)博客:中金博客、和訊博客和金融界博客,它們的目標(biāo)人群基本就是廣大股民和從事證券或者金融相關(guān)行業(yè)的人員,所以這些人一般上網(wǎng)瀏覽博客的話,會傾向于這幾家BSP所提供的博客。著名的IT技術(shù)博客如:博客巴士和CSDN博客等。幾大門戶之一的新浪博客,但主要側(cè)重于名人博客,通過名人效應(yīng),帶動著廣大粉絲網(wǎng)友參與到其中的互動中。而在當(dāng)今整個IT界相當(dāng)有影響力的騰訊公司,它們則借助于強大的用戶群,將他們的博客產(chǎn)品QQ空間覆蓋到了80%以上的上網(wǎng)用戶[9]。
雖然現(xiàn)在博客的市場已經(jīng)挺飽滿的,但是要考慮到一個重疊性的問題,一個人可能他是證券從業(yè)人員,但他可能也是一位忠實的影迷或者歌迷,那么他就可能同時上財經(jīng)博客和名人博客。所以我們的博客在廣度上超不過他們,但可以從一個行業(yè)入手,做一個專業(yè)的垂直行業(yè)博客,從專著度上要超趕它們;谥袊@么一個龐大的網(wǎng)民_,肯定有自己的市場。

2.1.2 技術(shù)分析
本系統(tǒng)主要采用LAMP的平臺來開發(fā),最后是在linu*服務(wù)器上部署和運行本系統(tǒng),但是在開發(fā)的時候根據(jù)個人不同的習(xí)慣,我采用的是WAMP的環(huán)境來開發(fā)。PHP已經(jīng)流行和發(fā)展了數(shù)年,技術(shù)相對比較成熟,開發(fā)系統(tǒng)穩(wěn)定可靠。PHP編程語言的運行速度高效性,性能穩(wěn)定性再加上ZendFramework這一重量級的PHP開發(fā)框架,更好的解決PHP作為企業(yè)級應(yīng)用的開發(fā)難題,從而提高了整個應(yīng)用的健壯性,同時優(yōu)秀的模版引擎Smarty的加入,更讓整個開發(fā)變得更加靈活和簡潔。本系統(tǒng)采用優(yōu)秀的關(guān)系型數(shù)據(jù)庫管理系統(tǒng)MySQL作為后臺數(shù)據(jù)庫,能和Windows以及當(dāng)前各種系統(tǒng)很好的兼容搭配。最后基于Linu*服務(wù)器的安全,高效,穩(wěn)定再配合Apache服務(wù)器,使得整個系統(tǒng)的運行效率能夠發(fā)揮到極致。
2.2 性能要求
本系統(tǒng)要訪問速度快,并且要做到盡可能的安全,包括權(quán)限控制以及能很好的防止別人的攻擊,系統(tǒng)響應(yīng)時間必需在1秒內(nèi)完成,頁面響應(yīng)時間不能超過3秒,并且頁面不能出現(xiàn)假死現(xiàn)象。
2.3 開發(fā)工具和運行環(huán)境要求
2.3.1 開發(fā)工具
本系統(tǒng)采用LAMP的平臺架構(gòu),LAMP平臺架構(gòu)不只是架構(gòu)成熟,穩(wěn)定性好,執(zhí)行效率高以及免費,它還有一個更重要的特點,運行平臺的無關(guān)性。即,基于LAMP平臺開發(fā)的系統(tǒng)除了能運行在LINU*操作系統(tǒng)上外,還能運動在除此之外的WINDOW,蘋果等操作系統(tǒng)上。真正做到一處開發(fā),多處運行。所以開發(fā)語言將采用PHP,數(shù)據(jù)庫采用MySQL,運行服務(wù)器采用Apache。為了提高開發(fā)效率以及整個系統(tǒng)代碼的良好構(gòu)架,采用PHP官方鼎力相推的一款PHP開源框架ZendFramework進(jìn)行開發(fā)。同時我在視圖展示方面還采用了PHP模板引擎smarty,以加快編程的效率。同樣,為了提升客戶端的用戶體驗,還會借助于客戶端技術(shù)Javascrip腳本語言和Aja*等相關(guān)技術(shù),同時為了提高編程效率,我使用了兩個javascript框架,一個是jquery框架一個是prototype框架,這兩個框架都非常的優(yōu)秀,不僅解決瀏覽器的差異性,并且對aja*也做到了很好的支持。最后采用MVC設(shè)計模式,從而使整個系統(tǒng)的架構(gòu)更加清晰。
1. PHP介紹
PHP是Hyperte*t Preprocessor的簡稱,是一種HTML內(nèi)嵌式編程語言。它的語法混合了C、Java和Perl優(yōu)點及它的新語法,比CGI、ASP或者Perl更快速地執(zhí)行動態(tài)網(wǎng)頁。它支持的數(shù)據(jù)庫非常廣泛并且跨平臺性非常好,同時支持多種web服務(wù)器,最重要的是它是開源軟件,有很大的一個人群在維護(hù)和更新它。
2. MySQL介紹
MySQL是基于SQL的,完全網(wǎng)絡(luò)化的跨平臺關(guān)系型數(shù)據(jù)庫系統(tǒng),同時是具有客戶機/服務(wù)器體系結(jié)構(gòu)的分布式數(shù)據(jù)庫管理系統(tǒng)。它具有體積小,功能強,使用簡便,管理方便,運行速度快,安全可靠性高,尤其是開源這一特點,所以很多企業(yè)為了降低網(wǎng)站總體擁有成本而選擇了MySQL作為網(wǎng)絡(luò)數(shù)據(jù)庫。
3. Apache介紹
Apache是世界使用排名第一的Web服務(wù)器軟件。它可以運行在幾乎所有廣泛使用的計算機平臺上。并且它也是開源的,在穩(wěn)定性和效率方面當(dāng)然也是毋庸置疑的。
4. ZendFramework介紹
Zend Framework (ZF) 是用 PHP 5 來開發(fā) web 程序和服務(wù)的開源框架。ZF 用 100% 面向?qū)ο缶幋a實現(xiàn)。 ZF 的每個組件幾乎不依靠其他組件。這樣的松耦合結(jié)構(gòu)可以讓開發(fā)者獨立使用組件。
5. Smarty介紹
Smarty是一個使用PHP寫出來的模板引擎,是目前業(yè)界最著名的PHP模板引擎之一。它分離了邏輯代碼和外在的內(nèi)容,提供了一種易于管理和使用的方法,用來將原本與HTML代碼混雜在一起PHP代碼邏輯分離。目的就是要使PHP程序員同前端人員分離,使程序員改變程序的邏輯內(nèi)容不會影響到前端人員的頁面設(shè)計,前端人員重新修改頁面不會影響到程序的程序邏輯.
6. JavaScript介紹
JavaScript是目前互聯(lián)網(wǎng)上最流行的腳本語言,并且目前所有主要瀏覽器都能很好的支持它。在當(dāng)今Web2.0時代的應(yīng)用中,無一不借助它來提升客戶端的用戶體驗。
7. Aja*介紹
AJA*全稱為“Asynchronous JavaScript and *ML”(異步JavaScript和*ML),它不是一門新的語言,而是借助于已經(jīng)存在的Javascript和*ML組合成一種全新的技術(shù)。它能和服務(wù)器端進(jìn)行異步通信,所為的異步即為當(dāng)前頁面和服務(wù)器端進(jìn)行通信時,當(dāng)前瀏覽用戶全然不知。本系統(tǒng)的所有aja*應(yīng)用都是通過jquery和prototype這兩個javascript框架來實現(xiàn)的。
8. MVC介紹
MVC是一個設(shè)計模式,它強制性的使應(yīng)用程序的輸入、處理和輸出分開。使用MVC應(yīng)用程序被分成三個核心部件:模型、視圖、控制器。
在本系統(tǒng)中,對MVC的控制主要是通過Zend-Framework這個框架來實現(xiàn)的,并且在視圖方面使用了php的smarty模版。通過MVC架構(gòu),可以讓系統(tǒng)更加容易架構(gòu)和擴展。
2.3.2 硬件環(huán)境
web服務(wù)器和數(shù)據(jù)庫服務(wù)器各一臺,也可以把web服務(wù)器和數(shù)據(jù)庫服務(wù)器同時放在一臺服務(wù)器上面。
2.3.3 軟件環(huán)境
操作系統(tǒng): linu*服務(wù)器如CentOS-5.0(可以在windows上開發(fā))
Web服務(wù)器: Apache2.0及以上版本
PHP: php5.0及以上版本
MySQL: MySQL5.0及以上版本
Smarty: Smarty3.1及以上版本
ZendFramework: ZendFramework1.5及以上版本
Prototype.js: Prototype1.6.0及以上版本
Scriptaculous: Scriptaculous 1.8.1及以上版本
Jquery.js: jquery 1.4及以上版本
2.4 功能分析
2.4.1 系統(tǒng)概述
本系統(tǒng)的最主要功能是體現(xiàn)多用戶的使用,用戶可以在本系統(tǒng)注冊申請自己的博客。一旦用戶申請了自己的博客,就可以將心得體會等發(fā)表到自己的博客上,當(dāng)發(fā)表了自己的心得體現(xiàn)后,瀏覽者就可以對用戶所發(fā)表的日志的內(nèi)容進(jìn)行評論。
除了上述發(fā)表文章的功能外。為了體現(xiàn)不同用戶的個性,系統(tǒng)還允許用戶對自己的帖子上傳圖片,為帖子設(shè)置權(quán)限,即如果該文章只能讓自己的好友看的話,就可以設(shè)置權(quán)限。
為了增加博主們的互動性,系統(tǒng)還提供了好友功能、允許好友之間相互通信,并且還設(shè)置了好友的友情鏈接,這樣想看好友的文章就可以鏈接過去。
本系統(tǒng)為了讓用戶體驗更加的豐富,還提供了電子相冊,音樂模塊,這樣用戶就可以在本系統(tǒng)上建立相冊,并且在別人的主頁上也可以欣賞到別人的相冊。而且可以上傳自己喜歡的音樂來充實自己的音樂模塊,這樣就可以在寫文章的時候也可以在本系統(tǒng)上聽到自己喜歡的音樂。
最后為了讓用戶的體驗更加的多元化和個性化,本系統(tǒng)還專為每一個用戶提供了一個個性化主頁,該主頁不同于博客主頁,該主頁只能是用戶自身才能訪問。該主頁提供了rss訂閱和flickr相冊訂閱,可以讓用戶訂閱自己喜歡的新聞和相冊,并且用戶可以自己擺放他們的位置,而且rss和flickr訂閱有不同的形態(tài)來顯示,滿足每個用戶的個性需求,不僅如此,每個用戶還可以在個性化主頁上添加一些小應(yīng)用,比如一些小工具之類的,這些小應(yīng)用都是本系統(tǒng)后臺提供的,隨著本系統(tǒng)的后臺應(yīng)用系統(tǒng)越來越完善,用戶的體驗也將越來越多元化和個性化。
2.4.2 基本功能要求
系統(tǒng)主要提供的功能包括以下幾方面:
1. 用戶的注冊,注銷和登錄,以及忘記密碼時找回密碼功能
2. 文章的發(fā)布和管理,其中文章管理功能包括文章的添加、刪除,修改和預(yù)覽。其中預(yù)覽頁面則包括文章評論的刪除和查看、文章所需圖片的上傳和刪除、將草稿發(fā)布或文章存為草稿功能,以及給文章添加標(biāo)簽和設(shè)置文章權(quán)限的功能。
3. 文章分類功能,本系統(tǒng)的文章是根據(jù)文章所添加的標(biāo)簽來進(jìn)行分類的,同時根據(jù)寫文章的日期,還有一個文章的月份歸檔的功能。
4. 博客設(shè)置,主要包括博客密碼的修改、用戶頭像的上傳和修改,用戶的電子郵箱的修改,以及是否在網(wǎng)站首頁顯示最新文章,和在用戶主頁要顯示文章的條目的設(shè)置,最后是關(guān)于密保問題的修改和設(shè)置。
5. 好友管理,包括添加好友和刪除好友,以及給好友發(fā)短信的功能
6. 消息管理,包括收件箱和發(fā)件箱,其中收件箱包括對添加好友信息的確認(rèn)。而且還有給好友發(fā)信息,以及回復(fù)收件箱中的信息。
7. 電子相冊管理,包括對相冊的創(chuàng)建和刪除,以及對相冊上傳圖片和刪除圖片,本系統(tǒng)支持多圖片上傳。還有就是圖片的查看。
8.音樂管理,包括對音樂的上傳和刪除,本系統(tǒng)支持多音樂文件的上傳。并且在網(wǎng)站的右欄有一個放置音樂的music bo*。
9.個性化主頁,提供rss和flickr相冊的訂閱,以及閱讀新聞和圖片的多元化方式,并且還有添加本系統(tǒng)所提供的小應(yīng)用到自己的個性化主頁上,同時還可以保存位置,這樣當(dāng)下一次進(jìn)入的時候還是你上一次擺放的位置。
10. 系統(tǒng)管理后臺,主要包括用戶管理、文章管理、以及應(yīng)用后臺管理。
2.4.3 用戶分析
本博客系統(tǒng)主要包括以下幾類用戶:
1. 游客
此類用戶不是本系統(tǒng)的用戶或者沒有登錄、對于當(dāng)前系統(tǒng)來講,只是一名匿名的瀏覽者。在系統(tǒng)中,所有游客都沒有身份標(biāo)識,他們可以瀏覽博客中的文章和電子相冊,前提是文章和相冊的權(quán)限是游客級別的。
2. 注冊用戶
此類用戶和游客的唯一區(qū)別為該類用戶屬于系統(tǒng)登錄用戶,在系統(tǒng)中有用戶ID作為他們的唯一標(biāo)識,并擁有自己的博客,其實該類用戶和博主有一定的關(guān)系。用戶瀏覽其它用戶的博客時,僅僅是一個有身份標(biāo)識的瀏覽者而已,但一旦用戶進(jìn)入了自己的博客主頁,那么這時身份除了是一名瀏覽者外,還是一名博主,這時將擁有博主的所有權(quán)限。
3. 博主
此類用戶即為擁有博客的用戶,是注冊用戶的一種特例,有管理博客的權(quán)限。該用戶擁有上述所有用戶的權(quán)限,當(dāng)該用戶瀏覽其它用戶的博客時,當(dāng)前身份就變成了登錄瀏覽者身份,不再具有博主的身份,只有當(dāng)該用戶進(jìn)入自己的博客主頁時,才會所有博主的身份。舉個例子,當(dāng)用戶瀏覽文章時,如果該文章是自己寫的,那么他的身份就是博主,即就可以在瀏覽文章的時候有刪除該文章評論的權(quán)限,如果該文章不是自己寫的,那么該用戶就只是一個注冊用戶,只能對文章進(jìn)行評論,而不能刪除該文章評論。
4. 系統(tǒng)管理員
該類用戶為博客系統(tǒng)的網(wǎng)站管理員,本應(yīng)具有上述用戶的所有管理權(quán)限,為了減少系統(tǒng)的復(fù)雜度,而且為了讓博主的權(quán)力最大化和_化,系統(tǒng)管理員一般是不管用戶博客的后臺權(quán)限,或者說管的很少,只能從大的方面來管理,這里只具有系統(tǒng)后臺的管理功能。
2.4.4 功能詳細(xì)說明
本節(jié)將從用戶用例的角度來描述系統(tǒng)的具體功能,本博客系統(tǒng)主要用例包括:游客用例、注冊用戶用例、博主用例和系統(tǒng)管理員用途,以下是詳細(xì)描述。
1.游客用例圖(如圖2-1所示)

圖2-1 為游客用例圖
圖2-1用例分析說明如下:
瀏覽文章:閱讀系統(tǒng)內(nèi)所有文章權(quán)限為游客級別的文章
瀏覽相冊: 查看本系統(tǒng)內(nèi)所有相冊權(quán)限為游客級別的相冊
注冊: 游客可以進(jìn)行注冊
登錄: 游客可以進(jìn)行登錄
2.注冊用戶用例圖

圖2-2 注冊用戶用例圖
圖2-2用例分析說明如下:
瀏覽文章:閱讀系統(tǒng)內(nèi)所有文章權(quán)限為游客級別的文章,同時還可以閱讀系統(tǒng)內(nèi)文章權(quán)限為好友級別并且該用戶是該文章所屬博主的好友的文章。同時還可以閱讀自己的全部文章。
瀏覽相冊: 查看系統(tǒng)內(nèi)所有文章權(quán)限為游客級別的相冊,同時還可以查看系統(tǒng)內(nèi)相冊權(quán)限為好友級別并且該用戶是該相冊所屬博主的好友的文章。同時還可以查看自己的全部相冊。
發(fā)表評論:由于注冊用戶具有身份標(biāo)識,所以可以對文章進(jìn)行評論。
個人資料管理:可以對自己的個人資料進(jìn)行更新。
注銷:注冊可以點擊右欄上角的注銷按鈕注銷該用戶。
聽音樂:注冊用戶可以在網(wǎng)站右欄的播放器點擊播放之前添加的音樂來實現(xiàn)音樂播放。
3.博主用例圖

圖2-3 博主用例圖2-3 博主用例圖
圖2-3各用例分析說明如下:
文章管理:對 ……(未完,全文共45058字,當(dāng)前僅顯示8104字,請閱讀下面提示信息。收藏《畢業(yè)論文:多用戶個人空間平臺的設(shè)計和實現(xiàn)》
文章搜索
相關(guān)文章