个人博客的设计与实现.docx
《个人博客的设计与实现.docx》由会员分享,可在线阅读,更多相关《个人博客的设计与实现.docx(22页珍藏版)》请在冰豆网上搜索。
![个人博客的设计与实现.docx](https://file1.bdocx.com/fileroot1/2022-11/24/8cbe23a1-8854-484b-ab34-0c82033e7125/8cbe23a1-8854-484b-ab34-0c82033e71251.gif)
个人博客的设计与实现
个人博客的设计与实现
郑州旅游职业学院
毕业设计(论文)
个人博客的设计与实现
姓名:
李治坦
学号:
20141924
年级:
14级
系别:
信息工程
专业:
计算机网络
指导教师:
王桂凤
年月日
郑州旅游职业学院
毕业论文(设计)任务书
毕业设计题目:
个人博客的设计与实现
学生姓名:
专业班级:
学号:
主要任务:
需要提交的文档:
发出任务书日期:
完成期限:
指导教师:
系部主任:
说明:
如计算机输入,内容小四号字。
本任务书一式二份,教师、学生各执一份
摘要
目前Internet早已深入我们的生活,而这工程真正的开始时间是1962年。
发展至今已经变的异常庞大,而近段时间发展最快的当数电子商务系统。
互联网经过各种高潮低谷起伏后,各种类型的网站如雨后春笋般突军崛起。
然而随着计算机的发展和普及,Blog得到了极大的发展Blog是Weblog(网络日志)的简称,即个人博客系统。
Blog是即E-mail、BBS、ICQ之后的第四种网络交流方式。
它以个人为中心传播出版有影响力的消息、新闻、事件等,鲜明的个人特色引人瞩目,它以独特的视角、敏锐的观察力,不断的冲击传统媒体。
传统的Blog已经满足不了社会的需要,拥有更多更新功能的Blog急需走上舞台。
为了方便广大朋友沟通交流,特此开发了个人博客系统。
本系统是根据网络需求而设计的一款个人博客软件,本文主要介绍了个人博客系统中的前台查看日志,留言,评论,相册和后台管理的设计与实现。
本系统利用PHP动态网络开发技术,以MySQL作为后台数据库,使用Apache配置Web服务器,结合jquery框架,以及JavaScript和HTML脚本语言,并采用了templates模板技术,以及配合多种网页开发工具,实现了基于B/S模式的个人日志发表和交流的平台——个人博客系统。
本设计后台主要包括四大模块:
基本设置模块、日志管理模块、博客管理模块、相册管理模块,同时该系统又实现多用户权限管理功能,系统管理员可以查看到整个系统的所有模块,而普通用户只能查看到日志管理模块,这种多元化的权限管理真正的实现了人人都可以博客,人人都需要博客,让更多的朋友都可以参与到博客中来,成为博客日志中的作者。
关键词:
PHP;MYSql;博客
Abstract(英文摘要)
CurrentlyInternethaslongbeendeepintoourlives,andtherealstarttimeofthisprojectis1962.Developmenthasbecomeveryhuge,andthefastestgrowingperiodoftimewhenthenumberofelectroniccommercesystem.AftertheupsanddownsoftheInternetthroughavarietyofupsanddowns,theemergenceofavarietyoftypesofWebsitesspringingup.However,withthedevelopmentandpopularizationofthecomputer,BloghasbeengreatlydevelopedWeblogisBlog(networklog),namely,thepersonalblogsystem.BlogisthatE-mail,BBS,ICQafterthefourthkindsofnetworkcommunication.Itisthecenterofpersonalcommunicationandpublicationofinfluentialnews,news,events,etc.,distinctivepersonalcharacteristicsoftheattention,itwithauniqueperspective,keenobservation,andconstantlyimpactthetraditionalmedia.ThetraditionalBlogcannotmeettheneedsofthecommunity,withmoreupdatedfeaturesoftheBlogneedtogoonstage.Inordertofacilitatethecommunicationbetweenfriends,wehavedevelopedapersonalblogsystem.
Thissystemisdesignedaccordingtothenetworkneedsofapersonalblogsoftware,thispapermainlyintroducesthepersonalblogsysteminthefrontviewlog,message,comment,photoalbumandbackgroundmanagementdesignandimplementation.ThesystemusesPHPdynamicnetworkdevelopmenttechnique,usingMySQLastheback-enddatabase,usingtheApacheconfigurationWebserver,combinedwiththejQueryframework,andJavaScriptandHTMLscriptinglanguage,andusesthetemplatestemplatetechnology,andcooperatewithavarietyofwebdevelopmenttools,hasdevelopedapersonalblogsystemplatformB/Smodeandcommunicationbasedonpersonaljournalpublished.
Thebackstagemainlyincludesfourmodules:
thebasicsettingsmodule,logmanagementmodule,managementmodule,blog,photoalbummanagementmodule,thesystemandimplementationofuserprivilegemanagementfunction,thesystemadministratorcanviewallmodulesofthewholesystem,andordinaryuserscanonlyviewthelogmanagementmodule,managementauthorityofthediversifiedrealeveryonecanrealizethateveryoneneedsablog,blog,letmorefriendswillbeabletoparticipateintheblog,abloglogwriter.
KeyWords:
PHP;MYSql;Blog
第1章绪论
1.1个人博客系统开发背景
个人博客(Blog)主要应用于3个方面:
一是新的人际交流方式;二是以个人为中心的信息摘选和知识管理;三是以个人为中心的传播出版。
blog作为个人的一种学习工具,简单易用,吸引人的兴趣。
Blog在教育方面得到了很大的发展,它将互联网从过去的通讯功能,资料功能、交流功能等进一步强化,使其更加个性化、开放化、实时化、全球化,把信息共享发展到资源共享、思想共享、生命历程共享。
Blog已经成为一种继课件、积件、资源库、教育主题网站等信息化教学模式之后,新的网络应用模式。
它是应时代的需求而兴起的,也是应时代需求不断进步的。
因此,我决定选择个人博客系统作为本人的毕业设计,力求开发出一套界面友好,功能强大,为广大的博友们提供高效、稳定,且在使用上又极其简单、舒适的博客服务。
1.2个人博客系统开发意义
“博客”一词是从英文单词Blog翻译而来。
随着Blog人数的增加,Blog作为一种新的生活方式、新的工作方式和新的学习方式已经被越来越多的人所接受,并且在改变传统的网络和社会结构。
它使交流和沟通更有明确的选择和方向性;单一的思想和群体的智慧结合变得更加有效;个人出版变成人人都可以实现的梦想。
Blog正在影响和改变着我们的生活。
Blog是以网络作为载体,简易迅速便捷地发布自己的心得,及时有效轻松地与他人进行交流,再集丰富多彩的个性化展示于一体的综合性平台。
展示丰富的个性化,对Blog功能的要求自然更高,新一代具有更多、更新、更全功能的Blog急需走进舞台。
系统加入聊天功能可以更加方便大家的交流。
1.3个人博客系统可行性分析
1.3.1可行性研究
与个人主页相比较,博客的使用更方便、交互性更强。
与传统的电子邮件、BBS和ICQ这三种互联网沟通方式相比,博客是一种较严肃的沟通平台。
BBS公共匿名性很强,而个人性很弱,因此缺乏约束。
电子邮件和ICQ则是多用于个人间的通讯,而博客是个人性和公共性的结合。
博客是个人在网上展示自己、与别人沟通交流的综合平台,它的管理比BBS简单的多。
1.3.2技术可行性
本系统使用ZendStudio工具开发,数据库使用Mysql数据库,服务器是Apache。
本人通过大学的学习,已经熟练掌握了这几种软件的开发技术,再加上指导老师的悉心帮助,因此技术上是可行的。
1.3.3经济可行性
本系统的开发需要资金甚少,系统开发运行后,任何一个人都可以向博客管理者申请成为博客的会员,审核通过后即可在博客上发表日志成为博客系统的作者。
因此在经济上是绝对可行的。
1.3.4操作可行性
本系统直观易懂,使用方便,用户可以直接上手。
对于管理员,只要经过简单的培训,也可轻松管理本系统。
第2章相关技术概述
2.1B/S结构简介
B/S结构(Browser/Server结构)结构即浏览器和服务器结构。
它是随着Internet技术的兴起,对C/S结构的一种变化或者改进的结构。
在这种结构下,用户工作界面是通过WWW浏览器来实现,极少部分事务逻辑在前端(Browser)实现,但是主要事务逻辑在服务器端(Server)实现,形成所谓三层3-tier结构。
这样就大大简化了客户端电脑载荷,减轻了系统维护与升级的成本和工作量,降低了用户的总体成本(TCO)。
以目前的技术看,局域网建立B/S结构的网络应用,并通过Internet/Intranet模式下数据库应用,相对易于把握、成本也是较低的。
它是一次性到位的开发,能实现不同的人员,从不同的地点,以不同的接入方式(比如LAN,WAN,Internet/Intranet等)访问和操作共同的数据库;它能有效地保护数据平台和管理访问权限,服务器数据库也很安全。
特别是在JAVA这样的跨平台语言出现之后,B/S架构管理软件更是方便、速度快、效果优。
2.2ZendStudio简介
ZendStudio是当今最伟大的PHP集成开发环境。
ZendStudio包括了PHP开发所有必须的部件,通过一整套编辑、调试、分析、优化和数据库工具,使用ZendStudio缩短了开发周期,并简化了复杂的应用方案,无容置疑,其已经是当今世上最强大的PHP集成开发环境。
ZendStudio的强大之处,除了一般编辑器所具有的代码高亮,语法自动缩进,书签功能外,它内置的调试器更是无可挑剔,支持本地和远程(debugserver)两种调试模式,支持诸如跟踪变量、单步运行、断点、堆栈信息、函数调用、查看实时输出等多种高级调试功能。
另外,最新版(ZendStudio5.5.1)对中文的支持也是非常稳定的。
2.3、PHP简介
PHP(HypertextPreprocessor——超文本预处理器)是一种HTML内嵌式的脚本语言(类似ASP)。
PHP的语法大部分兼容了C、JAVA、Perl,并增加了PHP特有的语法结构,可以比CGI或者Perl更快速的执行动态网页,只需要很少的编程知识就能建立一个交互的WEB站点。
它可以用于管理动态内容、支持数据库、处理会话跟踪,甚至构建整个电子商务站点。
它支持许多流行的数据库,包括MySQL、PostgreSQL、Oracle、Sybase、Informix和MicrosoftSQLServer。
2.4、Apache简介
Apache是世界使用排名第一的Web服务器软件。
它可以运行在几乎所有广泛使用的计算机平台上。
2.5、MySQL数据库简介
MySQL是一个快速、多线程、多用户的小型关系型数据库管理系统。
它支持正规的SQL查询语言和采用多种数据类型,能对数据进行各种详细的查询等。
MySQL提供了一全套的数据库创建和访问机制,通过很直观的方式就可以创建、访问、修改数据库的表和项,并且能建立它们之间的各种数据关系。
MySQL系列从90年代就发展起来,经过了多年的反展,它已经成为非常成熟的技术,面向中小型企业级应用。
2.6、Jquery简介
Jquery是继prototype之后又一个优秀的Javascrīpt框架。
它是轻量级的js库(压缩后只有21k),它兼容CSS3,还兼容各种浏览器(IE6.0+,FF1.5+,Safari2.0+,Opera9.0+)。
jQuery使用户能更方便地处理HTMLdocuments、events、实现动画效果,并且方便地为网站提供AJAX交互。
jQuery还有一个比较大的优势是,它的文档说明很全,而且各种应用也说得很详细,同时还有许多成熟的插件可供选择。
jQuery能够使用户的html页保持代码和html内容分离,也就是说,不用再在html里面插入一堆js来调用命令了,只需定义id即可。
这个就是我们网站的jq,这里面的代码不要深究,其实就是用js封装的。
自己也能封装。
jquery提供了很多便利的函数,如each(fn),但是使用这些函数的前提是:
你使用的对象是Jquery对象。
第3章需求分析
3.1、用户需求分析
过去很多人都喜欢写文章写日记以及交流自己的文章和作品,以求实现相互间的沟通、展现自己的才华和让别人了解自己的想法观点。
现在的网络已经成为人们生活中不可或缺的一个元素,所以自然而然诞生了个人博客这样一个新兴事物,它不仅仅能取代前面所说的功能,还能加入图片,音乐而且使得作者更能无所拘束地生动地写出自己想写的,旁人也能非常便捷地阅读并且加以评论,并且它还能作为展示个人个性的窗户。
个人博客现在已经成为很多人生活中必不可少的一个部分,方便了人与人之间的沟通和交流。
用户模型如图3-1所示
图3-1面向用户模型图
3.2、组织机构和角色
3.2.1角色视图
如图3-2:
图3-2角色模型图
3.2.2角色说明
游客:
可以查看到博客前台的所有内容,并可以对相关信息进行回复,游客可以联系管理员申请成为本系统会员。
用户:
成为会员后可以在博客随意发表日志和管理自己的日志,用户是系统的使用者之一。
管理员:
管理员是通过本系统进行日志管理,博客管理,相册管理的的高级人员,权限最高。
3.2.3游客功能模块
游客可以查看博客的日志、相册、博主和用户们的心情说说,以及回复留言板和评论日志及说说等功能。
游客功能模块如图3-3.
图3-3游客功能模块用例图
3.2.4用户功能模块
用户登录到博客后台可以修改个人信息、管理评论,发布日志和说说,也可以存日志草稿并且管理日志。
用户功能模块如图3-4.
图3-4用户功能模块用例图
3.2.5管理员功能模块
管理员权限最高,可以进行该系统的所有操作。
包括对日志信息、博客信息、用户信息和相册信息的管理,同时还可以修改博客的基本设置。
管理员功能模块如图3-5.
图3-5管理员功能模块用例图
3.3、数据分析
3.3.1日志数据分析
日志模块包含标题,内容,标签,分类,以及高级设置等功能,其中高级设置选项包含日志摘要、日志访问密码以及日志置顶和允许评论等选项。
日志数据设定概图如图3-6,3-7。
图3-6日志数据设定概图
图3-7高级设置设定概图
3.3.2说说数据分析
用户和管理员都可以登录后台输入心情文字,进行说说设置。
说说数据设定概图如图3-8
图3-8说说数据设定概图
3.3.3分类数据分析
该项只有管理员可以操作,分类数据包括序号,名称,别名等数据。
分类数据设定概图如图3-9
图3-9说说数据设定概图
3.3.4页面数据分析
该项只有管理员可以操作,页面数据包括标题、内容、转向地址、新窗口打开、页面接受评论等数据。
页面数据设定概图如图3-10
图3-10页面数据设定概图
3.3.5链接数据分析
该项只有管理员可以操作,链接数据包括序号、名称、地址、描述等数据。
页面数据设定概图如图3-11
图3-11链接数据设定概图
3.3.6用户数据分析
用户数据包括用户名、昵称、密码、电子邮件、头像、个人描述等数据。
页面数据设定概图如图3-12
图3-12用户数据设定概图
3.3.7相册数据分析
相册数据包括图片名称,上传名称、上传时间,相薄、权限的数据分析如图3-13
图3-13相册数据分析概图
第4章系统设计
4.1系统功能模块概要设计
本阶段设计的基本目标是解决系统如何实现问题,本阶段的主要任务是划分出系统的物理元素及设计软件的结构,完成软件定义时期的任务之后就应该对系统进行总体设计,即根据系统分析产生的分析结果来确定这个系统由那些子系统和模块组成,这些系统和模块又如何有机的结合在一起,每个模块的功能如何实现。
系统设计的目标是使系统实现拥有所要求的功能,同时,力争达到高效率、高可靠性、可修改性,并且容易掌握和使用。
4.2系统功能模块详细设计
4.2.1系统功能结构图
经过对系统的需求分析,将前台子系统分为六部分:
会员登录、日志显示、说说、相册、留言板、以及侧栏功能模块的展示。
将后台子系统分为日志管理、博客管理、相册管理以及基本设置管理。
其中日志管理包括写日志、草稿,日志、说说、标签、分类、评论;博客管理包括模块、页面、链接、用户。
系统的功能结构模块图如图4-1所示。
图4-1个人博客系统功能结构模块图
4.2.2系统活动图
活动图用以描述一个过程或者插座的工作步骤,管理过程中的每一步或每一个工作步骤成为一个活动,每个活动都有一个活动名换成来表示,说明活动的主要内容,代表工作过程中的一步或一个步骤。
本系统中的管理员活动图,其流程为管理员首先进入登录界面,输入用户名和密码,系统进行身份验证,若系统没有检索到用户名,则不允许登录,否则进一步比较用户密码,若登录成功则进入说管理模块。
本系统活动图如图4-2。
图4-2管理人员登录活动图
4.2.3用例分析
UML提供了用例图用于了解用户需求,用例图强调系统的整体性,强调系统外在的功能,强调系统对使用者有什么帮助和好处,强调系统与外部的交互。
本文中采用用例技术进行需求分析的获取和分析。
为了能正确的找出系统的用例,需要确定系统的边界,找出系统的执行者。
本系统的用例图如图4-3所示。
图4-3个人博客管理系统用例图
4.3数据库设计
4.3.1数据库结构设计
ER模型直接从现实世界抽象出实体类型及实体间的联系,然后用ER图来表示数据模型。
它又两个明显的优点:
接近于人的思维,容易理解;与计算机无关,用户容易接受。
但ER模型只能说明实体间予以的联系,不能进一步说明详细的数据结构,它只是数据库设计的第一步。
本系统的ER图如图4-4。
图4-4ER图
4.3.2数据库物理设计
本系统采用的数据库管理系统是Mysql数据库。
数据库名称为blogsnew,数据库中表分别为日志表、评论表、说说表、相册表、设置表。
表4.1日志(blog_blog)表
名称
类型
说明
是否为空
备注
gid
mediumint(8)
编号
否
主键
title
varchar(255)
日志标题
否
date
bigint(20)
日期
否
content
longtext
内容
否
author
int(10)
用户
否
sortid
tinyint(3)
分类ID
否
type
varchar(20)
日志名称
否
excerpt
longtext
日志摘要
否
views
mediumint(8)
浏览次数
否
comnum
mediumint(8)
评论次数
否
top
enum('n','y')
置顶
否
allow_remark
enum('n','y')
允许回复
否
password
varchar(255)
日志密码
否
表4.2评论(blog_comment)表
名称
类型
说明
是否为空
备注
cid
mediumint(8)
评论编号
否
主键
gid
mediumint(8)
日志编号
否
与日志表关联
pid
mediumint(8)
回复编号
否
date
bigint(20)
日期
否
poster
varchar(20)
用户
否
comment
text
评论内容
否
mail
varchar(60)
电子邮件
否
url
varchar(75)
URL地址
否
ip
varchar(128)
IP地址
否
hide
enum('n','y')
是否隐藏
否
表4.3说说(blog_link)表
名称
类型
说明
是否为空
备注
id
int(11)
说说编号
否
主键
content
text
内容
否
author
int(10)
作者
否
date
bigint(20)
日期
否
replynum
mediumint(8)
回复数
否
表4.4相册(blog_kl_album)表
名称
类型
说明
是否为空
备注
id
int(10)
相册编号
否
主键
truename
varchar(255)
真实名称
否
filename
varchar(255)
上传名称
否
description
text
描述
否