个人博客系统的设计与开发.docx
- 文档编号:26719230
- 上传时间:2023-06-22
- 格式:DOCX
- 页数:28
- 大小:1.04MB
个人博客系统的设计与开发.docx
《个人博客系统的设计与开发.docx》由会员分享,可在线阅读,更多相关《个人博客系统的设计与开发.docx(28页珍藏版)》请在冰豆网上搜索。
个人博客系统的设计与开发
河北农业大学现代科技学院
本科毕业设计(设计)
题目:
个人博客系统的设计与开发
摘要
本系统利用PHP动态网络开发技术,以MySQL作为后台数据库,使用Apache配置Web服务器,结合JavaScript和HTML两种脚本语言,以及配合多种网页开发工具,实现了基于B/S模式的个人日志发表和交流的平台——个人博客系统。
全文主要分为6个部分:
第1部分主要介绍个人博客系统的特点、优点和背景;第2部分主要论述了本系统需要用到的各种开发技术;第3部分主要分析了系统的可行性分析、需求分析以及概要设计;第4部分系统数据库设计,主要分析和设计了系统的数据库表和项,以及数据库各项的标识符;第5部分系统的实现,逐一给出了系统各个模块的实现过程。
关键词:
PHP;MySQL;博客;动态网页;B/S模式
Abstract
ThesystemusesPHPasdynamicnetworkdevelopmenttechnology,MySQLasbackstagedatabase,ApacheasWebserverandunifiestwokindsofscriptlanguageJavaScriptandHTML,aswellasmanykindsofhomepagedevelopmentkit.ThepersonalBlogSystemhasrealizedanexchangeplatformwithindividualdiaryandarticlepublicationbasedonB/Smodel.
Thethesisisdividedintosixchapters:
Chapter1introducesmainfeatures,advantagesandbackground;Chapter2presentsdevelopmenttechnologiesusedinthesystem;Chapter3mainlyanalyzesthefeasibilityanalysis,requirementsanalysisandgeneraldesignofthesystem;Chapter4designssystemdatabaseandtablesaswellasthedatabaseidentifier;Chapter5describesimplementationofsystem,giveninthesystemrealizationprocessofeachmodule.
Keywords:
PHP;MySQL;Blog;Dynamic;Website;B/Smodel
1引言
1.1背景
博客,是一种通常由个人管理、不定期张贴新的文章的网站。
博客上的文章通常根据张贴时间,以倒序方式由新到旧排列。
许多博客专注在特定的课题上提供评论或新闻,其他则被作为比较个人的日记。
一个典型的博客结合了文字、图像、其他博客或网站的链接及其它与主题相关的媒体,能够让读者以互动的方式留下意见,是许多博客的重要要素。
大部分的博客内容以文字为主,仍有一些博客专注在艺术、摄影、视频、音乐、播客等各种主题。
博客是社会媒体网络的一部分。
Blog就是以网络作为载体,简易迅速便捷地发布自己的心得,及时有效轻松地与他人进行交流,再集丰富多彩的个性化展示于一体的综合性平台。
不同的博客可能使用不同的编码,所以相互之间也不一定兼容。
而且,很多博客都提供丰富多彩的模板等功能,这使得不同的博客各具特色。
Blog是继Email、BBS、ICQ之后出现的第四种网络交流方式,至今已十分受大家的欢迎,是网络时代的个人“读者文摘”,是以超级链接为武器的网络日记,是代表着新的生活方式和新的工作方式,更代表着新的学习方式。
具体说来,博客(Blogger)这个概念解释为使用特定的软件,在网络上出版,发表和张贴个人文章的人。
1.2现状
在网络上发表Blog的构想始于1998年,但到了2000年才开始真正流行;
2000年博客开始进入中国,并迅速发展,但都业绩平平;
2004年木子美事件,才让中国民众了解到了博客,并运用博客;
2005年,国内各门户网站,如新浪、搜狐,原不看好博客业务,也加入博客阵营,开始进入博客春秋战国时代。
起初,Bloggers将其每天浏览网站的心得和意见记录下来,并予以公开,来给其他人参考和遵循。
但随着Blogging快速扩张,它的目的与最初已相去甚远。
网络上数以千计的Bloggers发表和张贴Blog的目的有很大的差异。
不过,由于沟通方式比电子邮件、讨论群组更简单和容易,Blog已成为家庭、公司、部门和团队之间越来越盛行的沟通工具,因为它也逐渐被应用在企业内部网络(Intranet)。
目前,BSP商家风;起云涌,已有数十家大型博客站点。
目前,国内优秀的中文博客网有:
新浪博客,搜狐博客,中国博客网,腾讯博客,博客中国等。
1.3项目特点与意义
通过对本次毕业设计题目的分析,充分了解了此题目的要求,对其进行系统的归纳、总结得知该系统应该具备如下特点:
1.操作简单的特点,它是博客发展的推动力。
这是博客受众多网民的青睐的最大特点。
众多博客托管商在注册会员前都会标着这样的口号:
“只要花一分钟,轻松拥有博客”,甚至可以称之为“傻瓜式”注册。
操作简单不仅仅体现在申请注册的时候,而且进入管理平台后,提供模板(自主选择)、博客设置(参数变更)、日志管理(建立分类)、添加日志(记录内容)、发表日志(点击保存)、预览首页(完全搞定)。
只要简单走六步,就学会博客了,开始博客之旅的第一站。
2.持续更新的特点,它是博客生命的催化剂。
博客更新速度快得惊人,如果博客注册申请了,将近半个月内没有更新过了,那样的博客可以称之为“睡眠博客”。
现代社会,信息传递超级快速,更新博客就似生物的新陈代谢,没有了新陈代谢也就代表着生命的结束,而没有了更新,博客也同样失去了生命力。
如果条件允许,坚持做到每天都更新,这就是一个积累的过程。
长久下去生命力会越来越强。
3.开放互动的特点,它是博客交流的推广链。
网络赋予了博客的开放性,博客也就不再是一个单纯的私人空间了。
游客与博主在给我们写评论和签留言,这时对我们博客与日志的交流。
如果我们对他们进行了回复,并通过链接地址进行回访,达到互动效应,这也是种礼节性的来往。
因此,利用开放互动的特点,可以交流推广,形成固定的博友圈。
4.展示个性的特点,它是博客精彩的原动力。
博客主体是草根本人,因为每一位草根都可以通过博客载体,来展示自己的个性。
可以简单地从日志内容,博客界面,文章数量,日志分类,人气指数,体现出博主的个性。
同时,现在博客也越来越自主化,DIY的模式也越来越强,真正做成自己的想象的模样。
博主可以换上心爱的背景图片,可以使用喜欢的字体颜色,可以增添动感的特效代码。
所以想要做好博客,一定要展示自己的个性。
1.4论文结构
全文共分五章,具体内容如下:
第一章引言,介绍系统的开发背景、国内外研究现状及发展趋势、项目的特点和意义,作者对论文整体章节的安排。
第二章主要是对开发工具的介绍,对HTML、PHP、MySQL等技术的介绍。
第三章需求分析以及概要设计,对系统进行了可行性分析、功能需求分析、性能需求分析和运行需求分析,还进行概要设计,分析了系统的总体工作流程,给出了系统的结构框架和各部分模块应该实现的功能。
第四章数据库表的设计,详细分析项目开发所需数据库的创建。
第五章系统的实现,在概要设计的基础上,进行了系统实现的分析。
具体分析了各模块所实现的功能,。
最后是结束语,对实现本系统的过程和意义进行了总结,以及参考文献及致谢
2开发技术
本系统在Windows7系统下采用PHP技术作为服务器端脚本解释器,MySQL作为后台数据库平台以及Apache作为Web服务器,并且使用了一些辅助开发工具和技术,比如Dreamweaver8等。
2.1PHP技术
PHP(HypertextPreprocessor——超文本预处理器)是一种HTML内嵌式的脚本语言(类似ASP)。
PHP的语法大部分兼容了C、JAVA、Perl,并增加了PHP特有的语法结构,可以比CGI或者Perl更快速的执行动态网页,只需要很少的编程知识就能建立一个交互的WEB站点。
它可以用于管理动态内容、支持数据库、处理会话跟踪,甚至构建整个电子商务站点。
它支持许多流行的数据库,包括MySQL、PostgreSQL、Oracle、Sybase、Informix和MicrosoftSQLServer。
PHP是完全免费的开源产品,不用花钱,可以从PHP官方站点自由下载。
而且可以不受限制地获得源码,甚至可以从中加进自己需要的特色。
Apache和MYSQL也是同样免费开源,在国外非常流行。
PHP和MYSQL搭配使用,可以非常快速的搭建一套不错的动态网站系统,因此国外大多数主机系统都配有免费的APACHE+PHP+MYSQL。
PHP具有如下的优点:
1.开放的源代码
所有的PHP源代码事实上都可以得到。
2.PHP是免费的
和其它技术相比,PHP本身免费且是开源代码。
3.php的快捷性
程序开发快,运行快,技术本身学习快。
嵌入于HTML:
因为PHP可以被嵌入于HTML语言,它相对于其他语言。
编辑简单,实用性强,更适合初学者。
4.跨平台性强
由于PHP是运行在服务器端的脚本,可以运行在UNIX、LINUX、WINDOWS、MacOS下。
5.效率高
PHP消耗相当少的系统资源。
6.图像处理
用PHP动态创建图像,PHP图像处理默认使用GD2。
不过也可以配置为使用imagemagick进行图像处理。
7.面向对象
在php4,php5中,面向对象方面都有了很大的改进,php完全可以用来开发大型商业程序。
8.专业专注
PHP支持脚本语言为主,同为类C语言。
2.2PHP工作原理
PHP的所有应用程序都是通过WEB服务器(如apache)和PHP引擎程序解释执行完成的,工作过程:
(1)当用户在浏览器地址中输入要访问的PHP页面文件名,然后回车就会触发这个PHP请求,并将请求传送给支持PHP的WEB服务器。
(2)WEB服务器接受这个请求,并根据其后缀进行判断。
如果是一个PHP请求,WEB服务器从硬盘或内存中取出用户要访问的PHP应用程序,并将其发送给PHP引擎程序。
(3)PHP引擎程序将会对WEB服务器传送过来的文件从头到尾进行扫描并根据命令从后台读取,处理数据,并动态地生成相应的HTML页面。
(4)PHP引擎将生成HTML页面返回给WEB服务器。
WEB服务器再将HTML页面返回给客户端浏览器。
2.3B/S结构
B/S结构,即浏览器/服务器模式,是WEB兴起后的一种网络结构模式,这种模式统一了客户端,将系统功能实现的核心部分集中到服务器上,简化了系统的开发、维护和使用。
B/S最大的优点就是可以在任何地方进行操作而不用安装任何专门的软件,只要有一台能上网的电脑就能使用,客户端零安装、零维护。
系统的扩展非常容易。
B/S结构的使用越来越多,特别是由需求推动了AJAX技术的发展,它的程序也能在客户端电脑上进行部分处理,从而大大的减轻了服务器的负担;并增加了交互性,能进行局部实时刷新。
如图2.1所示:
图2.1B/S结构图
2.4数据库技术
数据库是数据和数据库对象的集合,其中数据库对象指表(Table)、视图(View)、存储过程(StoredProcedure)和触发器(Trigger)等。
数据库通过SQL(StructuredQueryLanguage)来对数据进行操作和管理,这里包括一些基本的操作如select、delete、insert、update语句。
ADO(ActiveXDataObjects)是微软开发数据库应用程序的数据库访问技术。
它被设计用来同新的数据库访问层OLEDBProvider一起协同工作,以提供通用数据访问(UniversalDataMySQL)。
OLEDB是一个底层的数据库访问接口,用它可以访问各种数据源,包括传统的关系数据库。
ADO封装了OLEDB程序中使用的大量COM接口,所以是一种高层访问技术。
关于数据库管理系统和接口的原理如图2所示。
MySQL是一个快速、多线程、多用户的小型关系型数据库管理系统。
它支持正规的SQL查询语言和采用多种数据类型,能对数据进行各种详细的查询等。
MySQL提供了一全套的数据库创建和访问机制,通过很直观的方式就可以创建、访问、修改数据库的表和项,并且能建立它们之间的各种数据关系。
MySQL系列从90年代就发展起来,经过了多年的反展,它已经成为非常成熟的技术,面向中小型企业级应用。
MySQL数据库的特点是数据库文件小而简单,不需要运行或者启动数据库服务进程就可以使用。
通常MySQL数据库文件可以随网页文件一起方便地放在网站的目录中,正是由于这些特点,MySQL数据库通常被用来作为网站开发的数据库支持技术。
对MySQL数据库的管理采用图形化管理工具phpMyAdmin。
phpMyAdmin是一个用PHP编写的、基于Web的、跨平台的MySQL管理程序,支持简体中文,使用Web浏览器作为管理界面。
通过phpMyAdmin可以进行绝大部分的MySQL操作,包括对数据库级操作,表级操作,以及数据管理等。
图2.2数据库管理系统和接口的原理
2.5Apache技术
ApacheHTTPServer(简称Apache)是Apache软件基金会的一个开放源码的网页服务器,可以在大多数计算机操作系统中运行,由于其多平台和安全性被广泛使用,是最流行的Web服务器端软件之一。
它快速、可靠并且可通过简单的API扩展,将Perl/Python等解释器编译到服务器中。
Apacheweb服务器软件拥有以下特性:
支持最新的HTTP/1.1通信协议
拥有简单而强有力的基于文件的配置过程
支持基于IP和基于域名的虚拟主机
支持多种方式的HTTP认证
集成Perl处理模块
集成代理服务器模块
支持实时监视服务器状态和定制服务器日志
支持服务器端包含指令(SSI)
支持安全Socket层(SSL)
通过第三方模块可以支持JavaServlets
2.6JavaScript语言
JavaScript语言是一种基于对象(Object)和事件驱动(EventDriven)并具有安全性能的脚本语言。
使用它的目的是与HTML超级文本语言、JavaApplet(Java小程序)一起实现在一个Web页面中链接多个对象,与Web客户交互作用,从而达到开发客户端应用程序的目的。
JavaScript是通过嵌入或调入在标准HTML语言中实现,它的出现弥补了HTML语言的缺陷。
在JavaScript语言的配合下,能够运用PHP技术开发出非常漂亮而且交互性强大的动态Web网站来.
2.6HTML语言
超文本标记语言,即HTML,是用于描述网页文档的一种标记语言。
超级文本标记语言文档制作不是很复杂,但功能强大,支持不同数据格式的文件镶入,这也是万维网(WWW)盛行的原因之一,其主要特点如下:
1.简易性:
超级文本标记语言版本升级采用超集方式,从而更加灵活方便。
2.可扩展性:
超级文本标记语言的广泛应用带来了加强功能,增加标识符等要求,超级文本标记语言采取子类元素的方式,为系统扩展带来保证。
3.平台无关性:
虽然个人计算机大行其道,但使用MAC等其他机器的大有人在,超级文本标记语言可以使用在广泛的平台上,这也是万维网(WWW)盛行的另一个原因。
3需求分析和概要设计
3.1可行性分析
3.1.1技术可行性分析
本系统采用PHP+Mysql+Apache进行开发,其中前台用HTML嵌入PHP进行页面开发和管理用户界面,提示信息完善,界面友好有亲和力;后台采用Mysql数据库开发和管理数据库。
本系统的开发环境使用现在特别流行的开源Apache服务器,使用方便、运行稳定、安全可靠。
PHP+Mysql+Apache这个国际公认的网站开发黄金组合,在博客系统开发上,得到广泛的应用。
如网易博客、XX空间、新浪博客等大型博客网站。
综上所述,本系统在技术方面是可行的。
3.1.2操作可行性分析
本软件是为个人用户开发的,使用本软件的用户对象是个人,由于本网站要设计成友好的界面,用户只需懂得上网,就能轻松使用本网站的功能,所以从以上几个方面的分析来看,开发本网站是完全可行的。
3.1.3经济可行性分析
成本方面:
由于本毕业设计属于学校教学的最后一个环节,资源仅仅用到一台电脑,服务器也可以在电脑上搭建,而开发程序所用的软件都是免费的,指导由老师指导。
所以开发本成本是非常低的。
效益方面:
为个人用户开发一个较好的个人博客网站,可以实现信息的共享,节省了社会资源。
本系统开发出来,完全能上线使用,而且是多用户的个人博客系统,一旦应用还可以带来一定的经济效益。
因此,经济上开发博客系统是完全可行的。
3.2需求分析
3.2.1系统功能需求
本系统要实现个人博客的主要基本功能有主界面,用户注册,注册用户登录发表文章(心情、日志),用户登录/退出,游客发表评论,分页浏览文章和评论等。
这里其中比较主要的是区分了个人博客的注册用户和游客。
注册用户可以在任何时候写下自己的主张,记录下自己的点点滴滴。
而游客主要的权限是阅读博客所有注册用户写的文章,阅读后可以发表评论和留言,还可以分页浏览所有注册用户上传的图片。
以上是个人博客的系统功能目标,当然由于个人博客的网络流行特点以及个人个性的展示,还适当要求界面比较漂亮轻快,直观便捷,操作方式简单以及人性化。
根据对系统的分析,可以得到本系统主要有如下功能:
(1)用户注册和登录
这部分功能又分为用户注册、用户登录、用户退出三个部分。
用户注册:
游客将个人的信息存储到博客网站的数据库中,注册时要求填写用户的各种详细信息,包括id、Password、Email、性别、生日、其它辅助信息。
凡是符合要求的游客都可以注册成功,成为本博客的正式用户,。
系统接受这些信息并存储在服务器端的数据库中。
用户登录:
主要用于验证博客网站用户信息的真实身份,以便对博客网站进行管理和维护。
通过注册后的用户用个人注册的用户名,密码登录到网站。
网站检测用户的用户名,密码并给予其相应的权限对博客网站进行操作。
用户退出:
已经登陆的用户可以退出,释放自己所占有的各种信息资源。
(2)文章管理
文章管理主要有文章的发表、查询、浏览、评论和删除功能。
博客的系统管理员除了可以查询、浏览和评论文章外,还可以对系统中的所有文章以及评论进行修改、删除操作。
这些维护和管理拥有最高权限,并且系统自动更新在服务器端数据库中的数据。
(3)图片管理
图片管理有添加,浏览、删除和查询功能。
注册用户可以添加自己喜欢的图片,还可以查询和浏览系统中的所有图片信息。
游客只能浏览博客系统中的所有图片。
系统管理员拥有以上的所有权限,除此之外还可以删除图片。
(4)朋友圈管理
注册用户可以添加自己的朋友信息到朋友圈,可以再浏览和查询朋友信息的前提下,进行删除朋友信息操作。
(5)管理员管理
博客的系统管理员可以对系统中所有的注册用户进行帐户和权限管理,包括修改用户所有的权限,查询用户信息以及删除用户信息;还可以对最新公告进行添加,删除管理。
3.2.2系统性能需求
(1)系统可靠性要求
系统对用户操作有相应提示,并且可以检查用户输入的各种数据的合法性,对于不合法的数据屏蔽并且提示用户,以避免由于越界或者格式错误而造成的系统错误甚至崩溃。
系统在对于数据库操作时候,数据库有一定的约束机制。
特点是对于外键(FK)而言,通过“级连”(Cascade)和“参照”(Reference)来保证数据的完整性。
系统能够应对各种特殊操作情况和出错情况,并且给出相应提示。
系统能够有一定的安全和保护措施,以保证网站的正常运行,避免文件和数据库遭到意外事件的破坏而导致网站瘫痪。
(2)系统时间要求
在不考虑网络状况情况下,系统的响应时间应该相当迅速,数据的存储和处理以及返回过程应该满足用户的等待需求,一般控制在0.2s以内。
(3)系统适应性要求
系统应该兼容Windows操作平台、MySQL数据库以及IE浏览器。
(4)系统并行处理能力要求
系统能够支持同时间多用户的访问需求,并且保证运行的相对顺畅。
(5)系统精度要求
时间精度到达秒为单位,其它数据精确到小数点后2位。
3.2.3系统运行需求
(1)用户界面
用户需要网页浏览器来使用该系统,界面简洁、美观、友好,具备人性化特点,各种操作有提示信息和错误信息。
(2)软件环境
服务器端:
Windows7服务器,Apache服务程序,MySQL数据库以及其相应的ODBC。
客户端:
Windows7系统以及IE6.0以上浏览器。
(3)网络带宽
服务器对外网络带宽1M以上,客户端拥有连接互联网的设备和服务。
3.3概要设计
概要设计是一个重要的步骤和环节,根据前面的需求分析所得到的系统所要实现的各种功能,概要设计对其进行进一步的模块划分,以确定各个功能由所设计的模块来实现,这样可以构架出一个系统的机构框架,便于后面的具体数据库设计详细设计的实现。
3.3.1系统体系结构
基于B/S结构的个人博客网站系统,应由终端(用户主机/浏览器)、WEB服务器、数据服务器构成。
个人博客网站的核心是中间的接入服务器和应用服务器部分。
个人博客网站的总体结构图如图3.1所示:
图3.1博客网站总体结构
3.3.2系统功能划分组织结构图
根据需求分析,可以得到系统功能模块图如图3.2所示,该图给出了详尽的模块划分和模块组织结构,能够直观展现系统的功能结构关系。
图3.2系统功能结构图
3.3.3系统模块划分
根据前面对系统的需求分析,可以得到系统的模块划分如下:
(1)博客首页模块包括如下主要组成部分:
页整体布局:
对于博客的首页风格安排并且布局。
日历:
方便用户看时间和日期。
用户登录和注册区:
主要是用户注册和登录,在成功登录以后列出用户所拥有的可操作模块。
博客最新日志显示:
按时间顺序显示博客中最近的文章标题信息。
最新推荐图片:
按时间顺序显示博客中最新上传的图片。
最新公告:
上下滚动显示管理员发表的最新公告。
(2)文章管理模块
添加博客文章:
已登录的博客注册用户可以发表文章和日志,内容包括标题、正文、图片、表情等信息。
在此前提下,只有以系统管理员身份登录的用户才可以删除博客中的任何文章,系统自动更新服务器端的数据库。
查看博客文章:
文章作者可以按搜索条件有选择的查看想要阅读的文章,并可以对它进行评论,但没有删除的权限。
浏览我的文章:
只显示作者自己的全部文章,在这个模块的前提下,文章作者有删除文章和评论的权限。
(3)图片管理模块
添加图片:
已注册用户可以本地上传图片。
查询图片:
登录用户可以按搜索条件有选择的查看图片,但没有删除的权限
浏览图片:
分页显示系统中的全部图片。
(4)朋友圈管理模块
注册用户可以添加自己的朋友信息到朋友圈,可以在浏览和查询朋友信息的前提下,进行删除朋友信息操作。
(5)管理员管理模块
博客的系统管理员可以对系统中所有的注册用户进行帐户和权限管理,包括查询用户信息以及删除用户信息;还可以对最新公告进行添加,删除管理。
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 个人 博客 系统 设计 开发