多用户博客系统.docx
- 文档编号:1233183
- 上传时间:2023-04-30
- 格式:DOCX
- 页数:26
- 大小:166.04KB
多用户博客系统.docx
《多用户博客系统.docx》由会员分享,可在线阅读,更多相关《多用户博客系统.docx(26页珍藏版)》请在冰点文库上搜索。
多用户博客系统
多用户博客系统
摘要
多用户博客系统是一个以文章形式来发布自己所见、所得、所闻、体会等的互联网信息发布系统,类似个人网站,但它更强内容的私有性,用户有权力不公开自己的文章。
本文以博客日志发布管理为基础,并结合其实际需求,详细简述了多用户博客系统设计、开发的全过程。
本系统主要功能包括博客的日志发布、分类等。
本系统基于B/S架构,采用PHP为开发语言、MySQL为数据库的LAMP开发平台,结合功能强大的开源框架ZendFramework为开发框架,从而保证了整个系统稳定、快速、高效的运行。
关键词:
博客,个性化,稳定性
Abstract
Multi-userblogsystemisoneofthearitlceformtopublishtheirownfindingsobtained,thesmell,experienceandotherInternetinformationreleasesystem。
similartothepersonalwebsite,butit'smoreprivatenatureofthecontent,theuserhasthepowertonotopentheirownarticles.
Inthispaper,basedonpostpublishingandmanagement,combinedwiththeiractualrequirement,detaileddescriptionofthemulti-userblogsystemdesignanddevelopmentattheentireprocess.Themainfeaturesincludepostpublish,categoryetc.
ThesystemisbasedonB/Sstructure,tousePHPlanguageandMySQLdatabaseforthedevelopmentoftheLAMPdevelopmentplatform,combinedwithapowerfulopen-sourcePHPframeworkforZendFrameworkasadevelopmentframework,thusensuringtheentiresystemisstable,fast,andefficient.
Keywords:
Blog,personalization,stable
引言
博客(Blog)即WebBlog,是“网络日志”的意思,是“一种表达个人思想和网络链接,内容按照时间顺序排列,并且不断更新的出版方式”。
它“倡导思想的交流和共享”。
一个Blog就是一个网站,通常由简短且经常更新的张贴文章构成。
其内容和目的各不相同,有的相当于博主本人的随笔和日记,有的则是一群人基于某个特定主题或共同利益领域的集体创作,且都包含许多其他网站的超级链接,通过网络传达实时信息。
博客通常具有以下特点:
(1)简单、快捷、低成本
博客像是简化了的个人主页。
你只需几分钟时间就可以申请到一个属于自己的博客空间,并方便地发表观点,快速建立起自己的网络形象。
只要“会上网打字,就会博客”。
与传统的个人主页相比,博客的优势在于简单、快速和“入门免费”。
(2)开放性、私有性、交互性
博客是属于个人的私人空间,可以针对某个主题公开发表评论,而且可以凭借博客所特有的trackback(引用通告)机制,可简便的发表日志和评论。
博客是具有比BBS更加灵活、更为个性化的知识共享和交流形式的特点。
(3)易管理、实时传递
博客是易于管理的个人电子出版系统。
可以自由地记录、发布和更新,也可以方便地对文章分类管理。
而且博客系统能够自动生成站点的汇总提要(RSSfeed),以方便其他人订阅。
博客是以个人为中心的、开放的、简单快捷的网上交流工具,同时又是极具开拓性的个人知识管理工具。
博客最主要的应用有3个方面:
一是新的人际交流方式;二是以个人为中心的信息摘选和知识管理;三是以个人为中心的传播。
其中以具有鲜明个人特色的传播出版而引人瞩目。
以个人为中心的博客,以独特的视觉、敏锐的观察力,逐渐冲击着传统媒体,尤其是新闻界多年形成的传统观念和道德规范。
随着博客人数的增加,博客作为一种新的生活方式、新的工作方式和新的学习方式已经被越来越多的人所接受,Blog正在影响和改变着我们的生活。
本博客系统具有以下的特点:
(1)零机制:
博客属于个人所有,是自发建立和非正式的建设。
BSP(Blog
ServiceProvider——博客服务托管商)不能对博客发号施令。
(2)零技术:
博客不需要作网站的专业知识,可以像发邮件一样简单地实
现博客网页的呈现。
技术的极度简化,包括架构和申请博客网站、编辑、上传和修改内容等。
(3)零成本:
任何一个人都可以像申请免费邮件般免费申请自己的博客网
站。
不需要注册域名的成本,不需要租用服务器空间的成本,不需要许多软
件工具的成本。
(4)零编辑:
博客用户就是编辑,即时写作、即时发布、自我检查。
这形
成了与传统写作截然不同的“体验”,真正实现了作者“零磨损”的开放式
写作。
(5)零形式:
博客页面的表现形式和文章内容的表现方式十分灵活,没有
特定形式。
1.系统规划
1.1系统的目标和可行性研究
1.1.1系统目标
基于博客系统的特点,本系统要实现的博客的基本功能有主界面,用户注册,注册用户发表文章,用户登录/退出,浏览文章等。
其中比较重要的是区分了博客的注册用户和游客。
注册用户可以在任何时候写下自己的文章,记录下自己的点点滴滴。
而游客主要的权限是阅读博客所有注册用户写的文章,还可以浏览所有注册用户上传的图片。
以上是博客系统的功能目标,由于博客的网络流行特点以及用户个性的展示,还可以适当要求界面比较美观,直观便捷,操作方式简单以及人性化。
(1)人力和设备的节省
传统系统主要是通过人力写作,并且载体是纸张、磁盘或光盘。
而通过本系统,可以节省一定的写作人力,并且利用网络存储方式,节省了纸张资源和笔墨资源或者磁盘、光盘资源的使用。
(2)界面美观和便捷
本系统相对传统系统而言,利用了多媒体的各种视觉效果,有明显的界面美观和直观的优势。
(3)编辑修改快捷
本系统可以使对文章或者一些图片等的编辑修改变得非常容易,非常便捷和快速。
只要修改局部,不用返工,并且不会留下视觉瑕疵。
(4)交流的广泛性和速度的提升
通过网络这种媒介,使得文章、日志的交流变得非常广泛,不会受到地域的限制。
世界上任何人都可以互相交流,并且交流的速度比传统更加快速方便,不需要通过传统载体的传递。
1.1.2系统的可行性研究
(1)调研传统系统的效率和特点
通过调研和对比传统系统的工作方式和特点,发现效率和实用性的差距。
通过理论和现实技术发展的特点和要求,估算出效率和功能的提升。
(2)参考目前已有的网站和案例
如今网络上的博客比比皆是,可以参考和学习一些已有的优秀博客的特点和成功之处,来发现传统系统需要改进的地方和新的开发入口。
1.2传统系统的分析
1.2.1处理流程
传统系统处理流程如图1所示,该图给出了传统方式的写作文章以及交流的方式和流程途径。
图1传统系统处理流程
1.2.2数据流图
传统系统的数据流图如图2所示,该图主要给出了传统的以纸张或者磁盘为载体的文章、日志写作和交流的数据流程。
图2传统系统数据流图
1.3本系统的分析
对所要开发的系统的分析是从系统的描述和优越性,用所要开发的系统的处理流程图和所要开发系统的数据流图来说明的。
1.3.1处理流程
所开发的系统的处理流程如图3所示,该图给出了所要开发系统的系统工作、写作文章和文章交流的方式以及流程途径。
图3所要开发的系统的处理流程
1.3.2数据流图
所开发系统的数据流图如图4和图5所示,它们都是进一步分解后的数据流图。
其中图4是用户管理功能的分解数据流图,而图5是文章管理以及评论功能的分解数据流图。
图5涉及到用户文章和评论事务和数据库的频繁存储交互,体现了博客系统中文章、日志发表和评论的功能,是博客系统中最主要的一项事务过程。
图4用户的管理功能
图5文章的管理功能
1.3.3本系统的描述和优越性
该系统是在适应当前网络特点和用户个性的情况下开发的博客系统,主要用于文章和日志的写作以及评论的交流。
随着网络的高速发展,自然而然产生了博客这样一个新兴事物,它不仅仅能取代传统的书写功能,还能加入图片、音乐,而且使得作者能更加无所拘束地写出自己的所思所想,读者也能非常便捷地阅读并且加以评论,它还是展示用户个性的一个窗口。
更重要的是博客系统利用网络的巨大优势,可以非常快捷、广泛且毫无限制地进行交流。
交流速度快、交流范围广以及可以让网络中任何人浏览、评论是博客的最大特点。
正是有了这些特点,博客现在已经成为很多人生活中必不可少的部分,它能让更多人了解作者的心声,方便了人与人之间的沟通和交流。
2.系统的可行性分析
前面主要运用了系统流程图和数据流图,通过对传统系统和所要开发的系统的比较分析了系统开发的可行性,下面将从其它一些辅助可行性来进一步分析和说明。
2.1技术可行性
本系统主要由PHP作为主要开发技术,PHP已经流行和发展了数年,技术相对比较成熟,开发系统稳定可靠。
系统采用优秀的关系型数据库管理系统MySQL作为后台数据库,能和Windows以及当前各种系统很好的兼容搭配。
它能够处理大量数据,同时保持数据的完整性并提供许多高级管理功能。
它的灵活性、安全性和易用性为数据库编程提供了良好的条件。
其它辅助网站设计的技术相当丰富,相应开发环境和工具也一应俱全,比如用于网页界面设计的DreamweaverCs5,还有一些图形处理软件如Photoshop6.0等都是相当成熟和简便的开发工具。
这几款软件的应用性都非常优秀而且其发展也到了较成熟的阶段,保障了日后的系统维护。
所以本系统在技术上是可行的。
2.2性能效益可行性
所开发的系统基本能满足个人博客的功能要求并且能展示博客的特点,在处理运算速度、存储量以及响应时间上完全能满足系统要求。
现在网络发展迅速,上网人数众多,博客作为用户个性和情感的展现舞台,相信有非常广阔的发展和应用空间。
本系统方案成本小,不需要投入太多的资金,其运行跟维护所费资金又少,投入使用后可以节省大量人力、物力、时间等资源,可以提高工作人员的工作效益,带来的间接经济效益比花费在系统开发和运行、维护的费用和购置计算机、等硬件设备的费用加起来要高得多,所以在性能效益方面上是可行的。
2.3硬件可行性
系统所采用的技术和平台都是比较成熟且已经发展数年的,目前的硬件配置一般都足以满足系统的运行要求。
系统的基本硬件要求:
网络中的服务器(服务器要求能提供空间和支持动态网络技术以及MySQL数据库)、客户端电脑(具有基本多媒体功能和设备)、支持PHP架构的工作和系统平台(WindowsXP)、支持PHP架构的能处理动态网页技术的浏览器(IE6.0以上等具备解释PHP技术的浏览器)。
这些要求都已具备,所以在硬件上是可行的。
2.4可行性结论
综上所述,作为毕业设计的一个项目,简要分析了系统的各种可行性,并且在各项可行性上完全满足开发要求。
因此本系统的开发是完全可行的,可以开始进一步的工作。
3.系统需求分析
3.1系统需求分析
系统需求分析是现代软件工程应用于系统开发的一项重要环节,通过需求分析可以明确系统的各项需求和功能,根据这些需求和功能可以更好地指导下一步的系统设计和开发,避免了在设计之后对需求的变更而导致的大量返工。
3.1.1系统功能需求
根据对系统的特点和应用的分析,可以得到本系统主要有如下功能:
(1)用户注册和登录
这部分功能又分为用户注册、用户登录、用户退出三个部分。
用户注册:
游客将个人的信息存储到博客网站的数据库中,注册时要求填写用户的各种详细信息,包括用户名、密码信息。
凡是符合要求的游客都可以注册成功,成为本博客的正式用户。
系统接受这些信息并存储在服务器端的数据库中。
用户登录:
主要用于验证博客网站用户信息的真实身份,以便对博客网站进行管理和维护。
通过注册后的用户用注册的用户名、密码登录到网站。
网站检测用户的用户名,密码并给予其相应的权限对博客网站进行操作。
用户退出:
已经登陆的用户可以退出,释放自己所占有的各种信息资源。
(2)文章管理
文章管理主要有文章的发表、查询、浏览和删除功能。
博客的系统管理员除了可以查询、浏览文章外,还可以对系统中的所有文章进行删除操作。
这些维护和管理拥有最高权限,并且系统自动更新在服务器端数据库中的数据。
文章的发表:
注册用户可以发表自己的文章,文章包括标题和正文,作者可以通过各种元素来展示自己的想法和思想。
系统接受这些信息并且存储在服务器端的数据库中。
文章的删除:
注册用户可以删除自己已经发表的文章内容和各项信息,系统自动在服务器端数据库中删除这些记录。
文章的浏览:
游客和注册用户根据所获得的用户权限获取服务器端数据存储的各篇文章并且浏览阅读文章的所有信息,包括标题和正文以及其它读者的评论。
文章的查询:
注册用户可以按文章题目或作者来查询想要查的文章。
(3)图片管理
图片管理有添加,浏览、删除和查询功能。
注册用户可以添加自己喜欢的图片,还可以查询和浏览系统中的所有图片信息。
游客只能浏览博客系统中的所有图片。
系统管理员拥有以上的所有权限,除此之外还可以删除图片。
(4)管理员管理
博客的系统管理员可以对系统中所有的注册用户进行帐户管理,包括浏览用户信息,查询用户信息以及删除用户信息;还可以对公告进行添加,删除管理。
3.1.2系统性能要求
(1)系统可靠性要求
a.系统对用户操作具有相应提示,并且可以检查用户输入的各种数据的合法性,对于不合法的数据屏蔽并且提示用户,以避免由于越界或者格式错误而造成的系统错误甚至崩溃。
b.系统能够应对各种特殊操作情况和出错情况,并且给出相应提示。
c.系统能够有一定的安全和保护措施,以保证网站的正常运行,避免文件和数据库遭到意外事件的破坏而导致网站瘫痪。
(2)系统时间要求
在不考虑网络状况情况下,系统的响应时间应该相当迅速,数据的存储和处理以及返回过程应该满足用户的等待需求。
(3)系统适应性要求
系统应该兼容Windows操作平台、MySQL数据库以及IE浏览器。
(4)系统并行处理能力要求
系统能够支持同时间多用户的访问需求,并且保证运行的相对顺畅。
4.系统的设计
4.1概要设计
概要设计也是软件工程中一个重要的步骤和环节,根据前面的需求分析得到的系统所要实现的各种功能,概要设计对其进行进一步的模块划分,以确定各个功能由所设计的模块来实现,这样可以构架出一个系统的大致框架,便于后面的具体数据库设计和详细设计的实现。
4.1.1系统架构
基于B/S结构的博客网站系统,应由终端(用户主机/浏览器)、WEB服务器、数据服务器构成。
博客网站的核心是中间的接入服务器和应用服务器部分。
博客网站的总体结构图如图6所示:
图6博客网站的总体结构
4.1.2系统模块划分
根据前面对系统的需求分析,可以得到系统的模块划分如下:
(1)博客首页模块包括如下主要组成部分:
页面整体布局:
对于博客的首页进行合理安排和布局。
用户登录和注册:
主要是用户注册和登录,在成功登录以后列出用户所拥有的可操作模块。
最新文章:
按时间顺序显示博客中最近的文章标题信息。
最新图片:
按时间顺序显示博客中最新上传的图片。
最新公告:
上下滚动显示管理员发表的最新公告。
(2)文章管理模块
添加博客文章:
已登录的博客注册用户可以发表文章、随笔和日志,内容包括标题和正文。
在此前提下,只有以系统管理员身份登录的用户才可以删除博客中的任何文章,系统自动更新服务器端的数据库。
查看博客文章:
文章作者可以按搜索条件有选择的查看想要阅读的文章,并可以对它进行评论,但没有删除的权限。
浏览我的文章:
只显示作者自己的全部文章,在这个模块的前提下,文章作者有删除文章的权限。
(3)图片管理模块
添加图片:
已注册用户可以本地上传图片。
查询图片:
登录用户可以按搜索条件有选择的查看图片,但没有删除的权限
浏览图片:
显示系统中的全部图片。
(4)管理员管理模块
博客的系统管理员可以对系统中所有的注册用户进行帐户管理,包括浏览用户信息,查询用户信息以及删除用户信息;还可以对公告进行添加,删除管理。
4.1.3系统功能结构图
根据以上对系统功能模块的划分和设计,可以得到系统功能模块图如图7所示,该图给出了详尽的模块划分和模块组织结构,能够直观展现系统的功能结构关系。
图7系统功能结构图
4.1.4运行环境
(1)用户界面
用户需要网页浏览器来使用该系统,界面简洁、美观、友好,具备人性化特点,各种操作有提示信息和错误信息。
(2)软件环境
服务器端:
WindowsXP系统,Apache服务程序,MySQL数据库。
客户端:
WindowsXP系统以及IE6.0以上浏览器。
(3)网络带宽
服务器对外网络带宽1M以上,客户端拥有连接互联网的设备和服务。
4.2系统的详细设计
详细设计是整个系统设计中,最重要的一个步骤。
下面对系统的主要功能模块进行详细的介绍。
博客网站的流程图如图8所示。
图8博客网站流程图
主要页面如表6所示。
表6主要页面清单表
文件名
说明
index.php
游客登录页面
register.php
新用户注册页面
shouye.php
注册用户登录页面,用户只要输入已注册的用户名和密码
guanli.php
管理员登录页面
fabu.php
文章管理页面,同时也是发表文章页面
shangchuantupian.php
添加图片页面
tianjiagg.php
公告管理页面(只有管理员有权限查看)
4.2.1首页模块
(1)博客的首页是相当重要的,这不仅仅是整个博客的第一印象,而且是展现博客系统的布局、美工、风格和个性的窗口。
它包括博客最新日志区、最新图片区、公告区,用户登录、注册区。
把这几个界面区合理地组合是布局和美工的重要之处。
首页模块index.php中包括了数据库连接文件conn.php,首页的布局和美工设计用到了DreamweaverCs5网页开发工具作为辅助开发,运用这个可视化开发工具可以快捷地设计出Web的界面,自动生成相应的HTML代码,并得到的HTML代码直接嵌入到index.php文件中。
(2)用户注册子模块是在“博客首页”的前提下操作的,主要由Register.php完成。
用户点击“博客注册”进入用户注册界面,然后阅读用户注册协议,确认后可以到达正式注册页面,否则返回。
在正式注册页面中用户填写各种信息,包括姓名、密码等。
用户的“密码”和“确认密码”必须一致才能注册,否则提示用户两次输入密码不一致。
所有信息正确后系统会在数据库中为该用户自动生成一个用户ID编号,这个编号是自动递增的生成,用来唯一标识一个用户。
具体流程图如图10所示。
图10用户注册流程图
(3)用户登录同样是在“博客首页”的前提下操作的,经过注册的用户可以选择登录帐户,已经登录的用户也可以选择退出帐户。
登录时首先客户端发送登录请求给服务器端,服务器端通过数据库检查该用户名是否存在,如果存在,检查密码是否正确,在密码也正确情况下系统服务器端给予登录响应。
登录后的用户将获得响应权限的功能。
而用户退出是在用户登录的前提下操作的,这时已经登录的用户选择退出,即可退出服务器并且释放Cookie和Session中的相关信息和资源。
具体流程图如图11所示。
图11用户登录和退出流程图
4.2.2文章管理模块
文章管理模块是本系统中最基础、最复杂的一个核心功能模块。
文章管理模块可以分为添加博客文章、查询博客文章、浏览文章三个功能部分。
(1)添加博客文章
发表博客文章主要是用户发表个人文章或对某些事物的独到见解等,通过发表的文章,其他用户可以发表相关的评论,以便能够同来访者进行交流,是一个展现自我的网络交流平台。
这个功能主要由fabu.php完成。
发表文章后,提交并保存在相应的数据库中。
在保存过程中,系统会在数据库中为该文章自动生成一个文章ID编号,这个编号是自动递增的生成,用来唯一标识一篇文章。
具体流程图如图12所示。
图12发表文章流程图
(2)文章的查询
发表文章子模块主要由chaxunwz.php实现。
在chaxunwz.php页面中,在任意一条件后面的文本框中输入查询条件所对应的查询关键字,即可快速搜索到相应的数据信息。
如果存在,输出数据信息到浏览器;否则,弹出警告信息。
注意:
只有系统管理员具备删除的操作权限,如果是普通的博客用户,在查询到的数据信息页面中是不会显示“删除”的超级链接的。
(3)删除博客文章
这个功能若是在“查询博客页面”的前提下进行操作的,删除权限都是系统管理员的操作权限。
若是在“我的文章”的前提下进行的操作,那删除权限是属于普通用户的操作权限。
4.2.3图片管理模块
图片管理主要实现对图片的添加、删除、浏览和查询操作。
(1)添加图片
单击“上传”按钮后,图片将以二进制数据的形式传到数据库。
上传的设计流程和页面分别如图15和图16所示。
图15图片上传设计流程
(2)浏览图片
所有上传成功的图片文件会显示在客户端的浏览器上,并在每一条记录的后面分别加上用于查看图片文件信息的超级链接按钮,再将所有记录进行分页显示。
(3)查询图片
图片的查询功能和文章的查询功能类似,这里不再赘述。
同样地只有系统管理员具备删除的操作权限,如果是普通的博客用户,在查询到的数据信息页面中是不会显示“删除”的超级链接的。
具体流程图如图17所示。
图16图片查询流程图
(4)删除图片
只有以系统管理员的身份登录,才会显示“删除图片”的功能。
删除图片的功能是系统管理员在“查询图片”和“浏览图片”的功能模块的基础上实现的。
4.2.4管理员管理模块
管理员管理是对注册的用户信息进行管理的模块。
当用户是以系统管理员的身份登陆网站后,那么将拥有用户管理的权限,这时菜单栏中的“管理员管理”处于显示状态(如是普通用户,该模块不会显示)。
该模块主要分为查询用户信息,浏览用户信息和公告管理。
其中用户的删除是建立在“查询用户信息”和“浏览用户信息”的基础之上实现的。
5.系统数据库的设计
5.1数据库表的设计
根据第二部分的需求分析和概要设计,可以设计出相应的系统所要使用的数据库表。
博客系统所要存储的数据项和数据量相对比较复杂和庞大,所以首先确定这些数据库表的设计一般是一个表存储一个实体或者对象的相关信息,这样分析和设计数据库就相对简单。
对于不同的对象或实体,根据具体系统需要和未来扩展,可以适当细分。
另外扩充信息和动态变化的信息分开放置在不同的表里。
一般来说重要的表都会设置一个唯一标识的主键,这个主键不是实际运用中的任何信息项,只用来唯一标识一个数据项,一般用自动编号的数字。
经过需求分析和概要设计,在MySQL数据库管理系统中建立名为db_blog的数据库,系统所有的应用数据信息将存储在该数据库中,数据库中建立以下5种不同专题的数据表,分别为:
用户表(user)、文章内容表(wen)、系统公告表(gonggao)、图片信息表(tu)五个表。
这些
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 多用户 博客 系统