PHP博客系统设计论文_第1页
PHP博客系统设计论文_第2页
PHP博客系统设计论文_第3页
PHP博客系统设计论文_第4页
PHP博客系统设计论文_第5页
已阅读5页,还剩41页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

摘要本系统利用PHP动态网络开发技术,以MySQL作为后台数据库,使用Apache配置Web服务器,结合JavaScript和HTML两种脚本语言,以及配合多种网页开发工具,实现了基于B/S模式的个人日志发表和交流的平台——个人博客系统。本文主要介绍了个人博客系统中的前台查看日志,留言,评论,相册和后台管理的设计与实现。本系统利用PHP动态网络开发技术,以MySQL作为后台数据库,使用Apache配置Web服务器,结合jquery框架,以及JavaScript和HTML脚本语言,并采用了templates模板技术,以及配合多种网页开发工具,实现了基于B/S模式的个人日志发表和交流的平台——个人博客系统。而PHP是秉承Linux的GNU风格,借助与源码公开,使他迅速成为世界上目前应用最为广泛的站点制作语言之一。加上它和Linux,Apache和MySQL的紧密配合,用PHP编写的代码执行起来会更快、更稳定。用PHP编写的代码,不用改变就可以在不同的WEB服务器上、不同的操作系统下运行。相比之下,我们选择了PHP语言来开发本系统。本设计后台主要包括四大模块:基本设置模块、日志管理模块、博客管理模块、相册管理模块,同时该系统又实现多用户权限管理功能,系统管理员可以查看到整个系统的所有模块,而普通用户只能查看到日志管理模块,这种多元化的权限管理真正的实现了人人都可以博客,人人都需要博客,让更多的朋友都可以参与到博客中来,成为博客日志中的作者。【关键词】博客PHPMySQL动态网页个人博客目录8531绪论 5199221.1个人博客 567191.1.1个人博客的研究意义 5273901.1.2个人博客的简介 6270321.1.3个人博客的特点 688181.2开发技术 711171.2.1PHP技术 7312051.2.2PHP工作原理 8177691.2.3B/S结构 994011.2.4数据库技术 10119391.2.5Apache技术 1143581.2.6JavaScript语言 11170012系统可行性分析设计 12229882.1开发的目的和背景 12126512.2系统目标和研究方法 12122632.3传统系统的分析 13185222.4所要开发的系统的分析 1460132.5系统的其它可行性 1692362.6可行性结论 1715293系统需求分析和概要设计 17102993.1系统需求分析 1732873.1.1开发背景 17213233.1.2系统实现目标概述 17245203.1.3系统功能需求 1893963.1.4系统需求管理规划表 19145823.1.5系统性能要求 20114013.2概要设计 21298133.2.1系统体系结构 21229653.2.2系统模块划分 22174373.2.3系统功能划分组织结构图 237333.2.3运行环境 24100864系统数据库设计 24182674.1MySQL数据库简介 24284184.2数据库表的设计 2643324.2.1概述 2646684.2.2用户表 2610434.2.3文章内容表 2731804.2.4文章评论表 27236064.2.5图片信息表 28273974.2.6朋友圈信息表 28230414.2.7数据库ER关系图 29145925系统的详细设计 30239635.1首页面及主要页面设计 3168355.2系统主要功能模块开发 32214115.1.1首页模块 32177525.1.2文章管理模块 3448935.1.3图片管理模块 3660945.1.4管理员管理模块 38316656系统配置和发布 3816226.1开发和应用环境配置 39242956.2系统的发布和运行效果 39228856.2.1系统的发布 39215766.2.2系统运行效果 40326967总结 4322415参考文献 4430282致谢 451绪论互联网技术的广泛应用,对整个世界政治、经济、文化等各方面产生了十分广泛和深远的影响。它奇迹般地崛起、爆炸般地扩容,令全世界瞩目。互联网技术之所以能在如此短的时间内获得社会各方面的认可,并在全球范围内推广应用是因为互联网拥有庞大的信息资源、给人类提供全新的交往方式、存在着巨大的商机、虚拟现实技术的广泛应用等等,是促进互联网发展的重要因素。博客,又译为网络日志、部落格或部落阁等,是一种通常由个人管理、不定期张贴新的文章的网站。博客上的文章通常根据张贴时间,以倒序方式由新到旧排列。许多博客专注在特定的课题上提供评论或新闻,其他则被作为比较个人的日记。一个典型的博客结合了文字、图像、其他博客或网站的链接、及其它与主题相关的媒体。能够让读者以互动的方式留下意见,是许多博客的重要要素。大部分的博客内容以文字为主,仍有一些博客专注在艺术、摄影、视频、音乐、播客等各种主题。博客是社会媒体网络的一部分。Blog是以网络作为载体,简易迅速便捷地发布自己的心得,及时有效轻松地与他人进行交流,再集丰富多彩的个性化展示于一体的综合性平台。而且为了方便使用,该系统设计风格采用简洁易用的理念,以易于上手为出发点,以满足开发学习需求为基本目标的开放式平台。1.1个人博客1.1.1个人博客的研究意义本课题的研究和实践,来总结大学四年所学到的网路编程技术以及对此技术的应用,一个是对自身学习的检验,另一个是通过本次设计对日后的工作有一定的帮助。个人博客是个人自由表达和出版的空间,是知识过滤与积累;深度交流沟通的网络新方式。但是,要真正了解什么是博客,最佳的方式就是自己马上去实践一下,实践出真知;如果你现在对博客还很陌生,我建议直接去找一个博客托管网站。先开一个自己的博客帐号。反正比注册邮件更简单,也不用花费一分钱,觉得没劲也就随手扔掉得了。博客,之所以公开在网络上,就是因为他不等同于私人日记,博客的概念肯定要比日记大很多,它不仅仅要记录关于自己的点点滴滴,还注重它提供的内容能帮助到别人。很好的一句话:博客永远是共享与分享精神的体现。此外作为网络个人日记是个人展示自己某个方面的空间,也是网络交友的地方,同时是学习交流的地方,还可以通过博客展示自己的企业形象或企业商务活动信息。在博客里自己享有话语权。一个成器的博客就像一个媒体,一个旗帜。本系统主要为用户提供发表文章、浏览文章等功能,用户通过Internet可以发表一些自己撰写的文章以和其他网友进行交流。力求设计出界面友好,操作简单的博客程序,使其具有一定的应用价值。1.1.2个人博客的简介Blog就是以网络作为载体,简易迅速便捷地发布自己的心得,及时有效轻松地与他人进行交流,再集丰富多彩的个性化展示于一体的综合性平台。不同的博客可能使用不同的编码,所以相互之间也不一定兼容。这使得不同的博客各具特色。Blog是继Email、bss、ICQ之后出现的第四种网络交流方式,是网络时代的个人“读者文摘”,是以超级链接为武器的网络日记,是代表着新的生活方式和新的工作方式,更代表着新的学习方式。具体说来,博客(Blogger)这个概念解释为使用特定的软件,在网络上出版、发表和张贴个人文章的人。一个Blog其实就是一个网页,它通常是由简短且经常更新的帖子所构成,这些张贴的文章都按照年份和日期倒序排列。个人构想到日记、照片、诗歌、散文,甚至科幻小说的发表或张贴都有。许多Blogs是个人心中所想之事情的发表,其它Blogs则是一群人基于某个特定主题或共同利益领域的集体创作1.1.3个人博客的特点1,零机制:博客属于个人所有,是自发建立和非正式的建设。BSP(BlogServiceProvider——博客服务托管商)不能对博客发号施令。2,零技术:博客不需要作网站的专业知识,可以像发邮件一样简单地实现博客网页的呈现。技术的极度简化,包括架构和申请博客网站、编辑、上传和修改内容等。3,零成本:任何一个人都可以像申请免费邮件般免费申请自己的博客网站。不需要注册域名的成本,不需要租用服务器空间的成本,不需要许多软件工具的成本。4,零编辑:博客用户就是编辑,即时写作、即时发布、自我检查。这形成了与传统写作截然不同的“体验”,真正实现了作者“零磨损”的开放式写作。5,零形式:博客页面的表现形式和文章内容的表现方式十分灵活,没有特定形式。6,与个人主页相比较,博客的使用更方便、交互性更强。与传统的电子邮件、BBS和ICQ这三种互联网沟通方式相比,博客是一种较严肃的沟通平台。BBS公共匿名性很强,而个人性很弱,因此缺乏约束。电子邮件和ICQ则是多用于个人间的通讯,而博客是个人性和公共性的结合。博客是个人在网上展示自己、与别人沟通交流的综合平台,它的管理比BBS简单的多。1.2开发技术本系统在WindowsXP下采用PHP技术作为服务器端脚本解释器,MySQL作为后台数据库平台以及Apache作为Web服务器,并且使用了一些辅助开发工具和技术,比如DreamweaverCS3等。1.2.1PHP技术PHP(HypertextPreprocessor——超文本预处理器)是一种HTML内嵌式的脚本语言(类似ASP)。PHP的语法大部分兼容了C、JAVA、Perl,并增加了PHP特有的语法结构,可以比CGI或者Perl更快速的执行动态网页,只需要很少的编程知识就能建立一个交互的WEB站点。它可以用于管理动态内容、支持数据库、处理会话跟踪,甚至构建整个电子商务站点。它支持许多流行的数据库,包括MySQL、PostgreSQL、Oracle、Sybase、Informix和MicrosoftSQLServer。PHP是完全免费的开源产品,不用花钱,你可以从PHP官方站点(http://)自由下载。而且你可以不受限制地获得源码,甚至可以从中加进你自己需要的特色。Apache和MYSQL也是同样免费开源,在国外非常流行。PHP和MYSQL搭配使用,可以非常快速的搭建一套不错的动态网站系统,因此国外大多数主机系统都配有免费的APACHE+PHP+MYSQL。通常认为这种搭配的执行效率比IIS+ASP+ACCESS要高,而后者的使用还必须另外交钱给微软。PHP具有如下的优点:1.学习简单:只需要了解一些基本的语法和语言特设,就可以开始使用PHP。数据库连接方便:PHP可以编译成具有与许多数据库相连接的函数。PHP与MYSQL是现在绝佳的组合。可以编写外围的函数间接存取数据库。这样当更换使用的数据库时,可以轻松的更改编码以适应这样的变化。PHPLIB就是最常用的可以提供一般事务需要的一系列基库。2.扩展性强:PHP已经进入了一个高速发展的时期,具有良好的扩展附加功能。可以进行面向对象编程:PHP提供了类和对象,基于WEB的编程工作非常需要面向对象编程能力。PHP支持构造器、提取类等。总之,PHP技术具有免费、跨平台、可加密、开发效率高等优点,在编写小型的网站系统时较之ASP、JSP等技术有一定优势。1.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页面返回给客户端浏览器。1.2.3B/S结构在当前Internet/Intranet领域,“浏览器/服务器(简称B/S)”结构是非常流行的客户机/服务器结构。在B/S体系结构系统中,用户通过浏览器向分布在网络上的许多服务器发出请求,服务器对浏览器的请求进行处理,将用户所需信息返回到浏览器。B/S结构简化了客户机的工作,客户机上只需配置少量的客户端软件。服务器将担负更多的工作,对数据库的访问和应用程序的执行将在服务器上完成。浏览器发出请求,而其余如数据请求、加工、结果返回以及动态网页生产等工作全部由WebServer完成。实际上B/S体系结构是把二层C/S结构的事务处理逻辑模块从客户机的任务中分离出来,由Web服务器单独组成一层来负担其他任务,这样客户机的压力减轻了,把负荷分配给了Web服务器。这种三次体系结构如图1所示。图1B/S三层体系结构这种结构不仅把客户机从沉重的负担和不断对其提高的性能的要求中解放出来,也把技术维护人员从繁重的维护升级工作中解脱出来。由于客户机把事务处理逻辑部分分给了功能服务器,使客户机一下子“苗条”了许多,不再负责处理复杂计算和数据访问等关键事务,只负责显示部分,所以维护人员不再为程序的维护工作奔波于每个客户机之间,而把主要精力放在功能服务器上程序的更新工作。这种三层结构在层与层之间相互独立,任何一层的改变不会影响其它层的功能。1.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数据库管理系统和接口的原理1.2.5Apache技术Apache是最流行的Web服务器端软件之一。快速、可靠、可通过简单的API扩展,Perl/Python解释器可被编译到服务器中,完全免费,完全源代码开放。Apache服务器拥有以下特性:1支持最新的HTTP/1.1通信协议拥有简单而强有力的基于文件的配置过程;2支持通用网关接口;3支持基于IP和基于域名的虚拟主机;4支持多种方式的HTTP认证;5集成Perl处理模块;6集成代理服务器模块;7支持实时监视服务器状态和定制服务器日志;8支持服务器端包含指令(SSI);9支持安全Socket层(SSL);10提供用户会话过程的跟踪;11支持FastCGI;通过第三方模块可以支持JavaServlets。1.2.6JavaScript语言JavaScript语言是一种基于对象(Object)和事件驱动(EventDriven)并具有安全性能的脚本语言。使用它的目的是与HTML超级文本语言、JavaApplet(Java小程序)一起实现在一个Web页面中链接多个对象,与Web客户交互作用,从而达到开发客户端应用程序的目的。JavaScript是通过嵌入或调入在标准HTML语言中实现,它的出现弥补了HTML语言的缺陷。在JavaScript语言的配合下,能够运用PHP技术开发出非常漂亮而且交互性强大的动态Web网站来.2系统可行性分析设计2.1开发的目的和背景这里首先简要介绍系统可行性分析的目的和系统开发的相关背景。

1、编写目的可行性分析主要介绍开发项目的一些背景,系统的各方面可行性,从技术、本系统的前景以及当前个人博客的特点和需求等方面展示本系统的优势和限制,主要对象是网络中的上网用户,以便作出正确的后继设计与开发决策。

2、项目背景写日记、文章一直以来都作为很多人表达自己感情,展示自己才华以及与外人沟通的重要方式,也成为了很多人生活中的重要部分。过去人们都是靠纸和笔来实现,甚至到之后有了电脑,也最多用文本编辑软件来写,最后还是得通过人工交换自己所写的东西,无论是纸张作为载体还是电子存储设备作为载体。这样极大缩减了交流的范围和速度以及交流的频度。随着网络的开速发展,它已经走入大众生活,所以自然而然诞生了个人博客这样一个新兴事物,它不仅仅能取代前面所说的功能,还能加入图片、音乐,而且使得作者更能无所拘束地生动地写出自己想写的,旁人也能非常便捷地阅读并且加以评论,并且它还能作为展示个人个性的窗户。更重要的是网络个人博客利用网络的巨大优势,可以非常快捷、广泛而没有界限地自由交流。交流速度快、交流范围广以及可以让网络中任何人浏览、评论是博客的最大特点,正是有了这些特点,个人博客现在已经成为很多人生活中必不可少的一个部分,它让更多人了解作者的心声,方便了人与人之间的沟通和交流。2.2系统目标和研究方法1、系统的目标该目标主要是结合与传统系统(即传统以纸张或者磁盘、光盘为载体的写作模式)的比较而定。(1)人力和设备的节省传统系统主要是通过人力写作,并且载体是纸张或者磁盘、光盘。而通过本系统,可以节省一定写作人力,并且利用网络存储方式,节省了纸张资源和笔墨资源或者磁盘、光盘资源的使用。(2)界面美观和便捷的提升本系统相对传统系统而言,利用了多媒体的各种视觉效果,可以方便加入图片和背景以及表情,有明显的界面美观和直观的优势。(3)编辑修改的提升本系统可以使对文章或者一些图片背景等的编辑修改变得非常容易,非常便捷和快速。只用修改局部,不用返工,并且不会留下视觉瑕疵。(4)交流广泛性和速度的提升通过网络这种媒介,使得文章、日志的交流变得非常广泛,不会受到地域和世界的限制,世界各地任何人都可以享受交流的服务。并且交流的速度比传统更加快速方便,不通过传统载体的传递。2、可行性研究方法(1)调研传统系统效率和特点通过调研和对比传统系统的工作方式和特点,发现效率和实用性的差距。通过理论和现实技术发展的特点和要求,估算和提出效率、功能的提升。(2)参考目前已有的网站和案例如今博客在网络上比比皆是,可以参考和学习已有的一些优秀个人博客的特点和成功之处,来发现传统系统需要改进的地方和新的开发入口。2.3传统系统的分析1、处理流程传统系统处理流程(总体功能级数据流图)如图3所示,该图给出了传统方式的写作文章以及交流的方式和流程途径。图3传统系统处理流程2、数据流图传统系统的数据流图如图4所示,该图主要给出了传统的以纸张或者磁盘为载体的文章、日志写作和交流的数据流程。图4传统系统数据流图2.4所要开发的系统的分析对所要开发的系统的分析是从系统的描述和优越性,用开发的系统的处理流程和所开发系统的数据流图(DFD)来说明的。1系统的描述和优越性该系统是适应当前网络特点和个人个性的情况下开发的个人博客,主要用于文章和日志的写作以及交流评论。其主要特点在前面的绪论和2.1.2已经有详细的介绍。系统的优越性主要体现在编辑的便捷和修改的方便,以及文章的多媒体性和生动性,还有就是交流的广泛性和快速。详细情况在绪论、背景以及在2.2.1已有介绍。2处理流程所开发的系统处理流程(总体功能级数据流图)如图5所示,该图给出了所要开发系统的系统工作、写作文章和文章交流的方式以及流程途径。图5所要开发系统处理流程3数据流图所开发系统的数据流图如图6和图7所示,它们都是进一步分解后的数据流图。其中图6是用户管理的功能分解数据流图,而图7是文章管理以及评论的功能分解数据流图。图7涉及到用户文章和评论事务和数据库的频繁存储交互,体现了个人博客中文章、日志发表和评论的功能,是个人博客系统中比较主要的一项事务过程。图6系统数据流图-用户权限/管理图7系统数据流图-文章发表/评论2.5系统的其它可行性前面主要运用了系统流程图和数据流图,通过对传统系统和要开发的系统分析了系统开发的可行性,下面将从其它一些辅助可行性来进一步分析和说明。1技术可行性本系统主要由PHP作为主要开发技术,PHP已经流行和发展了数年,技术相对比较成熟,开发系统稳定可靠。系统采用优秀的关系型数据库管理系统MYSQL作为后台数据库,能和Windows以及当前各种系统很好的兼容搭配。其它辅助网站设计的技术相当丰富,相应开发环境和工具也一应俱全,比如用于网页界面设计的DreamweaverCS3,还有一些图形处理软件如PhotoshopCS2等都是相当成熟和简便的开发工具。2性能效益可行性所开发的系统基本能满足个人博客的功能要求和展示博客的特点风格,在处理运算速度、存储量以及响应时间上完全能满足系统要求。现在网络发展迅速,上网人数众多,博客作为个人个性和情感的展现舞台,相信有非常广阔的发展和应用空间。3硬件可行性系统所采用的技术和平台都是比较成熟和已经发展数年的,目前的硬件配置一般都足以满足系统的运行要求。系统的基本硬件要求:网络中的服务器(服务器要求能提供空间和支持动态网络技术以及MySQL数据库)、客户端电脑(具有基本多媒体功能和设备)、支持PHP架构的工作和系统平台(WindowsXP)、支持PHP架构的能处理动态网页技术的浏览器(IE6.0以上等具备解释PHP技术的浏览器)。2.6可行性结论综上所述,作为毕业设计的一个项目,简要讨论分析了系统的各种可行性,并且各项可行性上完全满足开发要求,可以开始进一步的工作。3系统需求分析和概要设计3.1系统需求分析系统需求分析是现代软件工程应用于系统开发的一项重要环节,通过需求分析可以明确系统的各项需求和功能,根据这些需求和功能可以更好地指导下一步的系统开发和设计,避免了在设计之后对需求的变更而导致的大量返工。3.1.1开发背景过去很多人都喜欢写文章写日记以及交流自己的文章和作品,以求实现相互间的沟通、展现自己的才华和让别人了解自己的想法观点。现在的网络已经成为人们生活中不可或缺的一个元素,所以自然而然诞生了个人博客这样一个新兴事物,它不仅仅能取代前面所说的功能,还能加入图片,而且使得作者更能无所拘束地生动地写出自己想写的,旁人也能非常便捷地阅读并且加以评论,并且它还能作为展示个人个性的窗户。个人博客现在已经成为很多人生活中必不可少的一个部分,方便了人与人之间的沟通和交流。3.1.2系统实现目标概述基于个人博客以上的特点,本系统要实现个人博客的主要基本功能有主界面,用户注册,注册用户登录发表文章(心情、日志),用户登录/退出,游客发表评论,分页浏览文章和评论等。这里其中比较主要的是区分了个人博客的注册用户和游客。注册用户可以在任何时候写下自己的主张,记录下自己的点点滴滴。而游客主要的权限是阅读博客所有注册用户写的文章,阅读后可以发表评论和留言,还可以分页浏览所有注册用户上传的图片。以上是个人博客的系统功能目标,当然由于个人博客的网络流行特点以及个人个性的展示,还适当要求界面比较漂亮轻快,直观便捷,操作方式简单以及人性化。3.1.3系统功能需求根据对系统的特点和应用的分析,可以得到本系统主要有如下功能:(1)用户注册和登录这部分功能又分为用户注册、用户登录、用户退出三个部分。用户注册:游客将个人的信息存储到博客网站的数据库中,注册时要求填写用户的各种详细信息,包括id、Password、Email、性别、生日、其它辅助信息。凡是符合要求的游客都可以注册成功,成为本博客的正式用户,。系统接受这些信息并存储在服务器端的数据库中。用户登录:主要用于验证博客网站用户信息的真实身份,以便对博客网站进行管理和维护。通过注册后的用户用个人注册的用户名,密码登录到网站。网站检测用户的用户名,密码并给予其相应的权限对博客网站进行操作。用户退出:已经登陆的用户可以退出,释放自己所占有的各种信息资源。(2)文章管理文章管理主要有文章的发表、查询、浏览、评论和删除功能。博客的系统管理员除了可以查询、浏览和评论文章外,还可以对系统中的所有文章以及评论进行修改、删除操作。这些维护和管理拥有最高权限,并且系统自动更新在服务器端数据库中的数据。文章的发表:注册用户可以发表自己的文章,文章包括主题、正文、表情、图片等信息,作者通过各种元素来展示自己的想法和思想。系统接受这些信息并且存储在服务器端的数据库中。文章的删除:注册用户可以删除自己已经发表的文章内容和各项信息,系统自动在服务器端数据库中删除这些记录。文章的浏览:游客和注册用户根据所获得的用户权限获取服务器端数据存储的各篇文章并且浏览阅读文章的所有信息,包括标题、正文、表情、图片以及其它读者的留言评论。文章的评论:文章的读者可以评论和回复所阅读的文章,发表自己的看法。系统自动将这些评论存储在服务器端的数据库中,并且可供博客作者以及其它读者浏览。文章的查询:注册用户可以按文章题目或作者来查询想要查的文章。(3)图片管理图片管理有添加,浏览、删除和查询功能。注册用户可以添加自己喜欢的图片,还可以查询和浏览系统中的所有图片信息。游客只能浏览博客系统中的所有图片。系统管理员拥有以上的所有权限,除此之外还可以删除图片。(4)朋友圈管理注册用户可以添加自己的朋友信息到朋友圈,可以再浏览和查询朋友信息的前提下,进行删除朋友信息操作。(5)管理员管理博客的系统管理员可以对系统中所有的注册用户进行帐户和权限管理,包括修改用户所有的权限,查询用户信息以及删除用户信息;还可以对最新公告进行添加,删除管理。3.1.4系统需求管理规划表根据以上对系统的需求分析,我们可以得到一个更为简明扼要的系统需求管理规划表,本表罗列了系统的各项主要功能,并且对其分类,配有间断描述,最重要的室给出了各个功能需求的优先级,优先级的高低表示了功能实现的迫切程度和必要程度。优级高的代表该功能是系统很重要的功能,需要重点实现。如表1所示。表SEQ表格\*ARABIC1系统需求管理规划表需求分类需求名称描述优先级功能性需求用户注册用户可以注册自己的各项信息高用户登录/退出用户可以登录或者退出系统高用户权限管理博客管理员可以修改用户的权限以及删除用户账号高文章的添加注册用户可以发表文章,包括表情、图片、链接等高文章的删除博客管理员可以删除任何一篇文章但注册用户只能删除自己写的文章中文章列表对文章按一定类型或者顺序用列表方式展示题目中浏览文章博客文章读者可以分页浏览文章高评论文章博客文章读者可以对文章进行评论和回复高评论的删除博客管理员可以删除某篇文章的某条评论中朋友信息添加注册用户可以添加自己朋友的信息高浏览朋友信息注册用户可以浏览自己朋友的信息高查询朋友信息注册用户可以查询自己朋友的信息高添加图片注册用户可以上传自己喜欢的图片,与人分享高浏览图片图片的浏览者可以分页浏览图片高删除图片博客管理员可以删除博客网站中的某张图片中查询图片用户可以查询图片高特征和前景预算项目开发成本控制在毕业设计范围内低系统目标设计和实现个人博客系统,达到毕业设计的目标和要求高非功能性需求平台限制基于WindowsXP,Apache2.2.4以上,PHP+MySQL数据库高操作方式全部操作都能基于浏览器进行低硬件需求网络服务器,P3以上、128MB以上多媒体工作站互连网络连接以及相应设备中3.1.5系统性能要求(1)系统可靠性要求=1\*GB3①系统对用户操作有相应提示,并且可以检查用户输入的各种数据的合法性,对于不合法的数据屏蔽并且提示用户,以避免由于越界或者格式错误而造成的系统错误甚至崩溃。=2\*GB3②系统在对于数据库操作时候,数据库有一定的约束机制。特点是对于外键(FK)而言,通过“级连”(Cascade)和“参照”(Reference)来保证数据的完整性。=3\*GB3③系统能够应对各种特殊操作情况和出错情况,并且给出相应提示。=4\*GB3④系统能够有一定的安全和保护措施,以保证网站的正常运行,避免文件和数据库遭到意外事件的破坏而导致网站瘫痪。(2)系统时间要求在不考虑网络状况情况下,系统的响应时间应该相当迅速,数据的存储和处理以及返回过程应该满足用户的等待需求,一般控制在0.2s以内。(3)系统适应性要求

系统应该兼容Windows操作平台、MySQL数据库以及IE浏览器。(4)系统并行处理能力要求系统能够支持同时间多用户的访问需求,并且保证运行的相对顺畅。(5)系统精度要求时间精度到达秒为单位,其它数据精确到小数点后2位。3.2概要设计概要设计也是软件工程中一个重要的步骤和环节,根据前面的需求分析所得到的系统所要实现的各种功能,概要设计对其进行进一步的模块划分,以确定各个功能由所设计的模块来实现,这样可以构架出一个系统的机构框架,便于后面的具体数据库设计详细设计的实现。3.2.1系统体系结构基于B/S结构的个人博客网站系统,应由终端(用户主机/浏览器)、WEB服务器、数据服务器构成。个人博客网站的核心是中间的接入服务器和应用服务器部分。个人博客网站的总体结构图如图8所示:图8博客网站总体结构3.2.2系统模块划分根据前面对系统的需求分析,可以得到系统的模块划分如下:(1)博客首页模块包括如下主要组成部分:页整体布局:对于博客的首页风格安排并且布局。日历:方便用户看时间和日期。用户登录和注册区:主要是用户注册和登录,在成功登录以后列出用户所拥有的可操作模块。博客最新日志显示:按时间顺序显示博客中最近的文章标题信息。最新推荐图片:按时间顺序显示博客中最新上传的图片。最新公告:上下滚动显示管理员发表的最新公告。(2)文章管理模块添加博客文章:已登录的博客注册用户可以发表文章、随笔和日志,内容包括标题、正文、图片、表情等信息。在此前提下,只有以系统管理员身份登录的用户才可以删除博客中的任何文章,系统自动更新服务器端的数据库。查看博客文章:文章作者可以按搜索条件有选择的查看想要阅读的文章,并可以对它进行评论,但没有删除的权限。浏览我的文章:只显示作者自己的全部文章,在这个模块的前提下,文章作者有删除文章和评论的权限。(3)图片管理模块添加图片:已注册用户可以本地上传图片。查询图片:登录用户可以按搜索条件有选择的查看图片,但没有删除的权限浏览图片:分页显示系统中的全部图片。(4)社会化登录管理模块用户可以通过其他平台信息朋友信息到网站,可以在浏览和查询朋友信息的前提下,进行删除朋友信息操作。(5)管理员管理模块博客的系统管理员可以对系统中所有的注册用户进行帐户和权限管理,包括修改用户所有的权限,查询用户信息以及删除用户信息;还可以对最新公告进行添加,删除管理。3.2.3系统功能划分组织结构图根据以上对系统功能模块的划分和设计,可以得到系统功能模块图如图9所示,该图给出了详尽的模块划分和模块组织结构,能够直观展现系统的功能结构关系。图9系统功能结构图3.2.3运行环境(1)用户界面用户需要网页浏览器来使用该系统,界面简洁、美观、友好,具备人性化特点,各种操作有提示信息和错误信息。(2)软件环境服务器端:Linux服务器,Apache服务程序,MySQL数据库以及其相应的ODBC。客户端:WindowsXP系统以及IE6.0以上浏览器。(3)网络带宽服务器对外网络带宽1M以上,客户端拥有连接互联网的设备和服务。4系统数据库设计4.1MySQL数据库简介MySQL数据库由瑞典MySql公司开发和维护的一个精巧的SQL(StructuredQueryLanguage,结构化查询语言)关系型数据库管理系统(DBMS)。MySQL数据早在90年代中期就开始出现,经过近10年的发展,它已经成为一个功能相对强大,技术非常成熟,应用广泛的数据库。由于它的强大功能、灵活性、丰富的应用编程接口(API)以及精巧的系统结构,受到了众多程序员和企业级用户的青睐,特别是它的数据库文件小巧,存放便捷,数据库管理系统运行简单,为建立基于数据库的动态网站提供了强大动力,并且得到了广大网站开发人缘的认可。MySQL数据库提供完善的SQL-92标准的结构化查询语言,如select、delete、insert、update语句。通过MySQL在操作系统上建立的ODBC可以轻松将这些SQL语句翻译成为相应的MySQL数据库管理系统指令并对数据库进行管理。如图10所示。图10MySQL数据库管理系统原理作为关系型数据,MySQL完全支持对于各种数据库对象的管理和便捷操作,这里包括表(Table)、视图(View)、存储过程(StoredProcedure)和触发器(Trigger)等。MySQL数据库提供完全的可视化管理环境,能够直观便捷而快速地对数据库的各种数据库对象和元素进行修改和管理。当然,MySQL数据库也完全支持ADO(ActiveXDataObjects)数据库应用程序的数据库访问技术。ADO它被设计用来同新的数据库访问层OLEDBProvider一起协同工作,以提供通用数据访问(UniversalDataMySQL)。OLEDB是一个底层的数据库访问接口,用它可以访问各种数据源,包括传统的关系数据库。ADO封装了OLEDB程序中使用的大量COM接口,所以是一种高层访问技术。所以MySQL非常适合PHP技术开发动态网站。4.2数据库表的设计4.2.1概述根据第三部分的需求分析和概要设计,可以设计出相应的系统所要使用的数据库表。博客系统所要存储的数据项和数据量相对比较复杂和庞大,所以首先确定这些数据库表的设计一般是一个表存储一个实体或者对象的相关信息,这样分析和设计数据库就相对简单。对于不同的对象或实体,根据具体系统需要和未来扩展,可以适当细分。另外扩充信息和动态变化的信息分开放置在不同的表里。当然重要的表都会设置一个唯一标识的主键,这个主键不是实际运用中的任何信息项,只用来唯一标识一个数据项,一般用自动编号的数字。经过需求分析和概要设计,在MySql数据库管理系统中建立名为db_tmlog的数据库,系统所有应用的数据信息将存储在该数据库中,数据库中建立以下5种不同专题的数据表,分别为:用户表(tb_user)、文章内容表(tb_article)、文章评论表(tb_filecomment)、朋友圈表(tb_friend)、图片信息表(tb_tpsc)五个表。这些表基本上都是一表负责一个实体或者对象的各种信息存储,它们协调工作,以实现个人博客系统对数据存储的要求。注意,下面各表中数据类型说标有*表示是主键。4.2.2用户表系统主要为了满足网络用户使用博客的需要,由于网络的自身特点,以及网络上联系工具众多,所以用户的信息的设置相对较多,这里主要的是用户的ID编号,这个是用来唯一确定用户的标识,是用户表的主键。管理员及用户标记主要用来设置管理员和用户的权限,不同的权限能得到不同的应用功能。还有用户名、用户密码都比较重要。用户表结构如表2所示。表2用户表字段名称数据类型说明idInt(20)*自动编号regnameVarchar(20)用户名regrealnameVarchar(20)真实姓名regpwdVarchar(20)用户密码regbirthdaydate用户生日regemailVarchar(100)E-mail地址regcityVarchar(100)所在城市regicoVarchar(50)人物表情regsexVarchar(4)性别regqqVarchar(40)QQ号reghomepageVarchar(100)个人主页regsignVarchar(200)个性化签名regintroducetext自我简介ipVarchar(20)用户IPfigint(1)管理员及用户标记4.2.3文章内容表本表主要用来存放文章的各种信息,这也是博客系统中非常重要的一个表。其中文章ID编号为主键,唯一标识一篇文章。其它信息详见表3所示。表3文章内容表字段名称数据类型说明idInt(10)*自动编号titleVarchar(20)文章标题faceVarchar(20)人物表情contenttext文章内容autherVarchar(20)文章作者nowdatetime发表时间4.2.4文章评论表文章评论表主要存储对一篇文章的评论的各种信息,文章的评论信息相对于文章的信息而言要简单一些,主要包括唯一标识评论的id编号,是主键。表的结构如表4所示。表4文章评论表字段名称数据类型说明idInt(4)*自动编号fileidInt(4)所评论的文章id号usenameVarchar(20)评论人contenttext评论正文datetimedatetime评论时间4.2.5图片信息表该表主要用来存储博客系统中发表的照片、图片。其中照片id是唯一标识图片的主键,表的详细结构如表5所示。表5图片信息表字段名称数据类型说明idInt(10)*自动编号nameVarchar(30)图片名称urlChar(100)以文件的形式存储图片authorVarchar(20)图片发表者scsjdate上传日期/时间4.2.6朋友圈信息表该表主要用来存储某用户的朋友圈信息。其中id是唯一标识朋友信息的主键,表的详细结构如表6所示。表6朋友圈信息表字段名称数据类型说明idInt(4)*自动编号nameVarchar(50)朋友名称sexVarchar(10)性别birdate生日cityVarchar(50)所在城市addressVarchar(100)家庭住址postcodeVarchar(6)邮政编码emailVarchar(50)E-mail地址telVarchar(20)电话号码handsetVarchar(20)手机号码qqVarchar(20)QQ号usernameVarchar(20)用户名4.2.7数据库ER关系图数据库中的表有用户表、文章信息表、文章评论表、图片信息表、朋友圈信息表。本系统数据库的5个表的ER图如图11所示。图11数据库中5个表的ER图4.2.8MySQL数据库的创建在MySQL数据库服务器上新建一个数据库,后续根据需要插入所需数据表。5系统的详细设计详细设计是整个系统设计中,最重要的一个步骤。下面对系统的主要功能模块进行详细的介绍。博客网站的流程图如图12所示。图12博客网站流程图5.1首页面及主要页面设计1、博客网站的文件架设图如图13所示:图13博客网站文件架设图2、主要页面如表7所示:表7主要页面清单表文件名说明index.php普通用户登录页面,用户只要输入已注册的用户名和密码Register.php新用户注册页面file.php用户登录后的页面,同时也是添加博客文章页面query.php查询博客文章页面myfiles.php显示我的文章页面add_pic.php添加图片页面browse_pic.php浏览图片页面query_pic.php查询图片页面friend.php朋友添加页面browse_fri.php浏览朋友信息页面query_friend.php查询朋友信息页面queryuser.php查询用户信息页面(只有管理员有权限查看)browseuser.php浏览用户信息页面(只有管理员有权限浏览)managepub.php公告管理页面(只有管理员有权限查看)5.2系统主要功能模块开发5.1.1首页模块博客的首页是相当重要的,这不仅仅是整个博客的第一影响,而且是展现个人博客系统的布局、美工、风格和个性的窗口。它包括博客最新日志区、日历和时钟区、最新图片上传区、最新公告区,用户登录、注册区。把这几个界面区合理的组合是布局和美工的重要之处。wordpress模板结构分析索引页模版:index.php顶部:header.php文章页面模板:single.php边栏模板:sidebar.php底部:footer.php页面模版:page.php搜索结果:search.php文章归档:archive.php评论:comments.php404页面模版:404.php主题支持函数:functions.php样式表:style.css。首页样式图如下图14个人博客首页首页模块为index.php,首页的布局和美工设计使用到了DreamweaverCC网页开发工具作为辅助开发,把静态index.html转换为index.php再拆分成header.php,footer.php和sidebar.php。通过以下代码在原位置调用该模块即可实现页面的拆分。通过<?phpget_header();?>调用页面头部,通过<?phpget_footer();?>调用页面尾部,通过<?phpget_sidebar();?>调用页面侧边栏。用户登录用户登录同样是在“博客首页”的前提下操作的,经过注册的用户可以选择登录帐户,已经登录的用户也可以选择退出帐户。登录时首先客户端发送登录请求给服务器端,服务器端通过数据库检查该用户名是否存在,如果存在,检查密码是否正确,在密码也正确情况下系统服务器端给予登录响应。登录后的用户将获得响应权限的功能。而用户退出是在用户登录的前提下操作的,这时已经登录的用户选择退出,即可退出服务器并且释放Cookie和Session中的相关信息和资源。具体流程图如图16所示。图16用户登陆和退出流程图社会化分享模块作为一个博客,社会化分享功能是必不可少的一部分。博客不是一个封闭的空间,他是展示自我,记录生活,留下感悟,提升思维的一个空间。在博客系统设计中,我特意加入社会化分享模块来提升博客的交互度,让博客更在现在互联网浪潮中更多的发展。图17社会化分享组件5.1.2文章管理模块文章管理模块是本系统中最基础、最复杂的一个核心功能模块。文章管理模块可以分为添加博客文章、查询博客文章、发表文章评论、删除博客文章/评论4个功能部分。(1)添加博客文章发表博客文章主要是提供用户发表和张贴个人的文章或是对某些事物的独到见解等,通过发表的文章,其他用户可以发表相关的评论,以便能够同来访者进行交流,是一个展现自己的网络交流平台。这个功能主要由single.php完成。发表文章后,提交博客文章信息到数据库表中处并保存在相应的数据库中。在保存过程中,系统会在数据库中为该文章自动生成一个文章ID编号,这个编号是自动递增的生成,用来唯一标识一篇文章。具体流程图如图17所示。图17发表文章流程图(2)文章的查询发表文章子模块主要由single.php实现。在single.php页面中,查询的功能区如图18,在”查询条件”后的下拉列表框中选择查询条件。在“关键字“后面的文本框中输入查询条件所对应的查询关键字,既可快速检索到相应的数据信息。如果存在,输出数据信息到浏览器;否则,弹出警告信息。注意:只有系统管理员具备删除的操作权限,如果是普通的博客用户,在查询到的数据信息页面中是不会显示“删除“超级链接。图18文章查询的功能区(3)发表文章评论发表文章评论是在“查询博客文章“的前提下操作的。当页面显示查询的文章信息后,可以点击“发表评论”超级链接,既可跳转到comments.php页发表评论,如图19。图19发表评论页面(4)删除博客文章/评论这功能若是在管理员登录的前提下进行操作的,删除权限都是系统管理员的操作权限。若是在“我的文章”的前提下进行的操作,那删除权限是属于普通用户的操作权限。(页面和图19类似)5.1.3图片管理模块图片管理主要实现对图片的添加、删除、浏览和查询操作。添加图片单击【上传】按钮后,图片将以文件的形式传到数据库,并保存在images文件中的upload文件夹中。上传的设计流程和页面分别如图20和图21所示。图20图片上传设计流程图21添加图片浏览图片所有上传成功的图片文件循环显示在客户端的浏览器上,并在每一条的记录后面分别加上用于查看图片文件信息的超级链接按钮,在将所有记录进行分页显示。查询图片图片的查询功能和文章的查询功能类似,这里不再赘述。同样地只有系统管理员具备删除的操作权限,如果是普通的博客用户,在查询到的数据信息页面中是不会显示“删除“超级链接。具体流程图如图22所示。图22图片查询流程图删除图片只有以系统管理员的身份登录,才会显示“删除图片”的功能。删除图片的功能是系统管理员在“查询图片”和“浏览图片”的功能模块的基础上实现的。5.1.4管理员管理模块管理员管理是对注册的用户信息进行管理的模块。当用户是以系统管理员的身份登陆网站后,那么将拥有用户管理的权限,这时菜单栏中的“管理员管理”处于显示状态(如是普通用户,该模块不会显示)。该模块主要分为查询用户信息,浏览用户信息和公告管理。其中用户的删除是建立在“查询用户信息”和“浏览用户信息”的基础之上实现的。6系统配置和发布运用PHP对系统进行开发和应用,必须首先安装和配置好相应的开发环境和支持组件。本章主要介绍系统相关环境的配置和开发后系统的发布情况以及运行效果。本博客设计系统发布在线上服务器,以下为线下环境的配置流程。6.1开发和应用环境配置下面简要从PHP架构的安装,Apache服务器的配置,以及MySQL数据的设置介绍了系统相关环境的配置和安装。Windows下的Apache+Mysql/MariaDB+Perl/PHP/Python,一组常用来搭建动态网站或者服务器的开源软件,本身都是各自独立的程序,但是因为常被放在一起使用,拥有了越来越高的兼容度,共同组成了一个强大的Web应用程序平台。随着开源潮流的蓬勃发展,开放源代码的LAMP已经与J2EE和.Net商业软件形成三足鼎立之势,并且该软件开发的项目在软件方面的投资成本较低,因此受到整个IT界的关注。LAMP是基于Linux,Apache,MySQL/MariaDB和PHP的开放资源网络开发平台,PHP是一种有时候用Perl或Python可代替的编程语言。这个术语来自欧洲,在那里这些程序常用来作为一种标准开发环境。名字来源于每个程序的第一个字母。每个程序在所有权里都符合开放源代码标准:Linux是开放系统;Apache是最通用的网络

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论