您的位置:新文秘网>>毕业相关/毕业论文/文教论文/个人总结/>>正文

毕业论文:多用户个人空间平台的设计和实现

发表时间:2013/8/7 19:53:17


题目: 多用户个人空间平台的设计和实现

院(系):计算机科学与技术学院
专 业: 计算机科学与技术
届 别: 2012

摘要
随着互联网技术的高速发展和日益的普及,用户对互联网的寄托也发生了翻天覆地的变化。用户不只是内容的被动浏览者,同时也是内容的制造者。正是因为整个互联网产品设计理念的重大变化,具有代表性的Web2.0时代的互联网产品也就相继出现,如:论坛,博客、威客,社区、RSS和SNS等。其中博客是一个以文章形式来发布自己所见、所得、所闻、体会等的互联网信息发布系统,类似个人网站,但它有更强内容的私有性和娱乐性。
本文以博客文章发布管理为基础,并结合其实际需求,详细简述了多用户个人空间平台设计、开发的全过程。本系统主要功能包括博客的文章发表、标签分类和评论等。除了这些基本功能外,还有好友模块、消息模块和电子相册和音乐模块等扩展模块,最后本系统还提供了汇聚rss和flickr信息订阅的个性化主页。开发过程中,采用了MVC分层思想,运用了当今比较流行的Web前端开发技术Aja*、Javascript等。
本系统基于B/S架构,采用PHP为开发语言、MySQL为数据库的LAMP开发平台, 结合ZendFramework框架和Smarty模版引擎,从而保证了整个系统稳定、快速、高效的运行,同时也经过了多种测试方式验证,保证了系统的安全和可靠。

关键词:博客;Web2.0;LAMP;平台;个性化;稳定

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
……(新文秘网https://www.wm114.cn省略2886字,正式会员可完整阅读)…… 
载,一般会将内容归档成静态文件(后缀为.html的文件)存在磁盘中,并根据内容在数据库中的唯一标识号生成一个唯一的url地址。当用户需要查看这些内容时,直接通过所生成的唯一的URL地址,经过服务器就直接能访问到这些内容,服务器基本不需要花费时间来生成这些内容,这对于服务器软硬件资源是一个很大的节省。而新形势下(Web2.0)的应用,由于它的实时性和较高的交互性,就注定了不能完全采用生成静态文件方式来解决这一问题,页面可能会实时更新,从而需要实时的请求数据库,将所请求的内容展现在用户面前[17]。由于数据的动态生成。无疑会添加服务器的处理能力,在服务器端并发性一定的情况下,由于请求的用户过多,而服务器又一时处理不过来,所请求的用户必然会经历一个排队的过程,从而使得系统的整体响应时候大幅度添加,这样的用户体验也就不言而喻了。以上这些都是做一个Web2.0应用所必考虑的问题。
2 需求分析
2.1 可行性分析
2.1.1 市场分析
根据发布的《第29次中国互联网络发展状况统计报告》显示,我国的网民总人数已达5.13亿人。对于这么一个庞大的基数,相信写博的人的数量也是相当可观的。假设有4000万人平均一个月写一篇博文的话,那么就意味着每个月互联网上能增加4000万篇文章,而这4000万文章中,观点各异,行业分明,基本能覆盖各各层次的网民。再做一个假设,如果一篇博文的日平均PV(页面的浏览数)为50的话,这么多博客就能为整个互联网一日增加20亿的PV流量。对于20亿的PV,广告价值就非常可观了。
当前社会上BSP(博客服务提供商)的数量众多,有的BSP提供的博客是适合了所有网民的,它们没有明确的指出他们的用户是哪一类人群,而有的BSP确明指出提供的博客是什么类型或者某个行业,当然也有的没有明确指定,但博客似乎已经倾向于某一批人群或者某一领域。比如:国内的比较著名的财经博客:中金博客、和讯博客和金融界博客,它们的目标人群基本就是广大股民和从事证券或者金融相关行业的人员,所以这些人一般上网浏览博客的话,会倾向于这几家BSP所提供的博客。著名的IT技术博客如:博客巴士和CSDN博客等。几大门户之一的新浪博客,但主要侧重于名人博客,通过名人效应,带动着广大粉丝网友参与到其中的互动中。而在当今整个IT界相当有影响力的腾讯公司,它们则借助于强大的用户群,将他们的博客产品QQ空间覆盖到了80%以上的上网用户[9]。
虽然现在博客的市场已经挺饱满的,但是要考虑到一个重叠性的问题,一个人可能他是证券从业人员,但他可能也是一位忠实的影迷或者歌迷,那么他就可能同时上财经博客和名人博客。所以我们的博客在广度上超不过他们,但可以从一个行业入手,做一个专业的垂直行业博客,从专著度上要超赶它们。基于中国这么一个庞大的网民_,肯定有自己的市场。

2.1.2 技术分析
本系统主要采用LAMP的平台来开发,最后是在linu*服务器上部署和运行本系统,但是在开发的时候根据个人不同的习惯,我采用的是WAMP的环境来开发。PHP已经流行和发展了数年,技术相对比较成熟,开发系统稳定可靠。PHP编程语言的运行速度高效性,性能稳定性再加上ZendFramework这一重量级的PHP开发框架,更好的解决PHP作为企业级应用的开发难题,从而提高了整个应用的健壮性,同时优秀的模版引擎Smarty的加入,更让整个开发变得更加灵活和简洁。本系统采用优秀的关系型数据库管理系统MySQL作为后台数据库,能和Windows以及当前各种系统很好的兼容搭配。最后基于Linu*服务器的安全,高效,稳定再配合Apache服务器,使得整个系统的运行效率能够发挥到极致。
2.2 性能要求
本系统要访问速度快,并且要做到尽可能的安全,包括权限控制以及能很好的防止别人的攻击,系统响应时间必需在1秒内完成,页面响应时间不能超过3秒,并且页面不能出现假死现象。
2.3 开发工具和运行环境要求
2.3.1 开发工具
本系统采用LAMP的平台架构,LAMP平台架构不只是架构成熟,稳定性好,执行效率高以及免费,它还有一个更重要的特点,运行平台的无关性。即,基于LAMP平台开发的系统除了能运行在LINU*操作系统上外,还能运动在除此之外的WINDOW,苹果等操作系统上。真正做到一处开发,多处运行。所以开发语言将采用PHP,数据库采用MySQL,运行服务器采用Apache。为了提高开发效率以及整个系统代码的良好构架,采用PHP官方鼎力相推的一款PHP开源框架ZendFramework进行开发。同时我在视图展示方面还采用了PHP模板引擎smarty,以加快编程的效率。同样,为了提升客户端的用户体验,还会借助于客户端技术Javascrip脚本语言和Aja*等相关技术,同时为了提高编程效率,我使用了两个javascript框架,一个是jquery框架一个是prototype框架,这两个框架都非常的优秀,不仅解决浏览器的差异性,并且对aja*也做到了很好的支持。最后采用MVC设计模式,从而使整个系统的架构更加清晰。
1. PHP介绍
PHP是Hyperte*t Preprocessor的简称,是一种HTML内嵌式编程语言。它的语法混合了C、Java和Perl优点及它的新语法,比CGI、ASP或者Perl更快速地执行动态网页。它支持的数据库非常广泛并且跨平台性非常好,同时支持多种web服务器,最重要的是它是开源软件,有很大的一个人群在维护和更新它。
2. MySQL介绍
MySQL是基于SQL的,完全网络化的跨平台关系型数据库系统,同时是具有客户机/服务器体系结构的分布式数据库管理系统。它具有体积小,功能强,使用简便,管理方便,运行速度快,安全可靠性高,尤其是开源这一特点,所以很多企业为了降低网站总体拥有成本而选择了MySQL作为网络数据库。
3. Apache介绍
Apache是世界使用排名第一的Web服务器软件。它可以运行在几乎所有广泛使用的计算机平台上。并且它也是开源的,在稳定性和效率方面当然也是毋庸置疑的。
4. ZendFramework介绍
Zend Framework (ZF) 是用 PHP 5 来开发 web 程序和服务的开源框架。ZF 用 100% 面向对象编码实现。 ZF 的每个组件几乎不依靠其他组件。这样的松耦合结构可以让开发者独立使用组件。
5. Smarty介绍
Smarty是一个使用PHP写出来的模板引擎,是目前业界最著名的PHP模板引擎之一。它分离了逻辑代码和外在的内容,提供了一种易于管理和使用的方法,用来将原本与HTML代码混杂在一起PHP代码逻辑分离。目的就是要使PHP程序员同前端人员分离,使程序员改变程序的逻辑内容不会影响到前端人员的页面设计,前端人员重新修改页面不会影响到程序的程序逻辑.
6. JavaScript介绍
JavaScript是目前互联网上最流行的脚本语言,并且目前所有主要浏览器都能很好的支持它。在当今Web2.0时代的应用中,无一不借助它来提升客户端的用户体验。
7. Aja*介绍
AJA*全称为“Asynchronous JavaScript and *ML”(异步JavaScript和*ML),它不是一门新的语言,而是借助于已经存在的Javascript和*ML组合成一种全新的技术。它能和服务器端进行异步通信,所为的异步即为当前页面和服务器端进行通信时,当前浏览用户全然不知。本系统的所有aja*应用都是通过jquery和prototype这两个javascript框架来实现的。
8. MVC介绍
MVC是一个设计模式,它强制性的使应用程序的输入、处理和输出分开。使用MVC应用程序被分成三个核心部件:模型、视图、控制器。
在本系统中,对MVC的控制主要是通过Zend-Framework这个框架来实现的,并且在视图方面使用了php的smarty模版。通过MVC架构,可以让系统更加容易架构和扩展。
2.3.2 硬件环境
web服务器和数据库服务器各一台,也可以把web服务器和数据库服务器同时放在一台服务器上面。
2.3.3 软件环境
操作系统: linu*服务器如CentOS-5.0(可以在windows上开发)
Web服务器: 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 系统概述
本系统的最主要功能是体现多用户的使用,用户可以在本系统注册申请自己的博客。一旦用户申请了自己的博客,就可以将心得体会等发表到自己的博客上,当发表了自己的心得体现后,浏览者就可以对用户所发表的日志的内容进行评论。
除了上述发表文章的功能外。为了体现不同用户的个性,系统还允许用户对自己的帖子上传图片,为帖子设置权限,即如果该文章只能让自己的好友看的话,就可以设置权限。
为了增加博主们的互动性,系统还提供了好友功能、允许好友之间相互通信,并且还设置了好友的友情链接,这样想看好友的文章就可以链接过去。
本系统为了让用户体验更加的丰富,还提供了电子相册,音乐模块,这样用户就可以在本系统上建立相册,并且在别人的主页上也可以欣赏到别人的相册。而且可以上传自己喜欢的音乐来充实自己的音乐模块,这样就可以在写文章的时候也可以在本系统上听到自己喜欢的音乐。
最后为了让用户的体验更加的多元化和个性化,本系统还专为每一个用户提供了一个个性化主页,该主页不同于博客主页,该主页只能是用户自身才能访问。该主页提供了rss订阅和flickr相册订阅,可以让用户订阅自己喜欢的新闻和相册,并且用户可以自己摆放他们的位置,而且rss和flickr订阅有不同的形态来显示,满足每个用户的个性需求,不仅如此,每个用户还可以在个性化主页上添加一些小应用,比如一些小工具之类的,这些小应用都是本系统后台提供的,随着本系统的后台应用系统越来越完善,用户的体验也将越来越多元化和个性化。
2.4.2 基本功能要求
系统主要提供的功能包括以下几方面:
1. 用户的注册,注销和登录,以及忘记密码时找回密码功能
2. 文章的发布和管理,其中文章管理功能包括文章的添加、删除,修改和预览。其中预览页面则包括文章评论的删除和查看、文章所需图片的上传和删除、将草稿发布或文章存为草稿功能,以及给文章添加标签和设置文章权限的功能。
3. 文章分类功能,本系统的文章是根据文章所添加的标签来进行分类的,同时根据写文章的日期,还有一个文章的月份归档的功能。
4. 博客设置,主要包括博客密码的修改、用户头像的上传和修改,用户的电子邮箱的修改,以及是否在网站首页显示最新文章,和在用户主页要显示文章的条目的设置,最后是关于密保问题的修改和设置。
5. 好友管理,包括添加好友和删除好友,以及给好友发短信的功能
6. 消息管理,包括收件箱和发件箱,其中收件箱包括对添加好友信息的确认。而且还有给好友发信息,以及回复收件箱中的信息。
7. 电子相册管理,包括对相册的创建和删除,以及对相册上传图片和删除图片,本系统支持多图片上传。还有就是图片的查看。
8.音乐管理,包括对音乐的上传和删除,本系统支持多音乐文件的上传。并且在网站的右栏有一个放置音乐的music bo*。
9.个性化主页,提供rss和flickr相册的订阅,以及阅读新闻和图片的多元化方式,并且还有添加本系统所提供的小应用到自己的个性化主页上,同时还可以保存位置,这样当下一次进入的时候还是你上一次摆放的位置。
10. 系统管理后台,主要包括用户管理、文章管理、以及应用后台管理。
2.4.3 用户分析
本博客系统主要包括以下几类用户:
1. 游客
此类用户不是本系统的用户或者没有登录、对于当前系统来讲,只是一名匿名的浏览者。在系统中,所有游客都没有身份标识,他们可以浏览博客中的文章和电子相册,前提是文章和相册的权限是游客级别的。
2. 注册用户
此类用户和游客的唯一区别为该类用户属于系统登录用户,在系统中有用户ID作为他们的唯一标识,并拥有自己的博客,其实该类用户和博主有一定的关系。用户浏览其它用户的博客时,仅仅是一个有身份标识的浏览者而已,但一旦用户进入了自己的博客主页,那么这时身份除了是一名浏览者外,还是一名博主,这时将拥有博主的所有权限。
3. 博主
此类用户即为拥有博客的用户,是注册用户的一种特例,有管理博客的权限。该用户拥有上述所有用户的权限,当该用户浏览其它用户的博客时,当前身份就变成了登录浏览者身份,不再具有博主的身份,只有当该用户进入自己的博客主页时,才会所有博主的身份。举个例子,当用户浏览文章时,如果该文章是自己写的,那么他的身份就是博主,即就可以在浏览文章的时候有删除该文章评论的权限,如果该文章不是自己写的,那么该用户就只是一个注册用户,只能对文章进行评论,而不能删除该文章评论。
4. 系统管理员
该类用户为博客系统的网站管理员,本应具有上述用户的所有管理权限,为了减少系统的复杂度,而且为了让博主的权力最大化和_化,系统管理员一般是不管用户博客的后台权限,或者说管的很少,只能从大的方面来管理,这里只具有系统后台的管理功能。
2.4.4 功能详细说明
本节将从用户用例的角度来描述系统的具体功能,本博客系统主要用例包括:游客用例、注册用户用例、博主用例和系统管理员用途,以下是详细描述。
1.游客用例图(如图2-1所示)

图2-1 为游客用例图
图2-1用例分析说明如下:
浏览文章:阅读系统内所有文章权限为游客级别的文章
浏览相册: 查看本系统内所有相册权限为游客级别的相册
注册: 游客可以进行注册
登录: 游客可以进行登录
2.注册用户用例图

图2-2 注册用户用例图
图2-2用例分析说明如下:
浏览文章:阅读系统内所有文章权限为游客级别的文章,同时还可以阅读系统内文章权限为好友级别并且该用户是该文章所属博主的好友的文章。同时还可以阅读自己的全部文章。
浏览相册: 查看系统内所有文章权限为游客级别的相册,同时还可以查看系统内相册权限为好友级别并且该用户是该相册所属博主的好友的文章。同时还可以查看自己的全部相册。
发表评论:由于注册用户具有身份标识,所以可以对文章进行评论。
个人资料管理:可以对自己的个人资料进行更新。
注销:注册可以点击右栏上角的注销按钮注销该用户。
听音乐:注册用户可以在网站右栏的播放器点击播放之前添加的音乐来实现音乐播放。
3.博主用例图

图2-3 博主用例图2-3 博主用例图
图2-3各用例分析说明如下:
文章管理:对 ……(未完,全文共45058字,当前仅显示8104字,请阅读下面提示信息。收藏《毕业论文:多用户个人空间平台的设计和实现》