《PHP个人博客系统.doc》由会员分享,可在线阅读,更多相关《PHP个人博客系统.doc(33页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、【精品文档】如有侵权,请联系网站删除,仅供学习与交流PHP个人博客系统.精品文档.摘 要本系统利用PHP动态网络开发技术,以MySQL作为后台数据库,使用Apache配置Web服务器,结合JavaScript和HTML两种脚本语言,以及配合多种网页开发工具,实现了基于B/S模式的个人日志发表和交流的平台个人博客系统。全文主要分为6个部分:第1部分主要介绍个人博客系统的特点、优点和本系统所要用到的各种开发技术;第2部分主要论述了传统系统和所要开发系统的处理流程、功能介绍和比较;第3部分主要分析了系统的各项功能和性能需求,给出了系统需求管理规划表,展示了各种需求的优先级,规划和分配了各个模块所要完
2、成的系统功能;第4部分系统数据库设计,主要分析和设计了系统的数据库表和项,以及数据库各项的标识符;第5部分系统详细设计,逐一给出了系统各个模块的详细设计过程;第6部分系统配置和发布,介绍了系统开发和运行的相关环境配置以及运行效果展示。目 录1 绪论11.1 个人博客11.1.1 个人博客的研究意义11.1.2个人博客的简介11.1.3个人博客的特点21.2 开发技术21.2.1 PHP技术21.2.2 PHP工作原理31.2.3 B/S结构41.2.4 数据库技术41.2.5 Apache技术61.2.6 JavaScript语言62 系统可行性分析设计62.1 开发的目的和背景62.2 系统
3、目标和研究方法72.3 传统系统的分析82.4 所要开发的系统的分析92.5 系统的其它可行性102.6 可行性结论113 系统需求分析和概要设计113.1 系统需求分析113.1.1 开发背景123.1.2 系统实现目标概述123.1.3 系统功能需求123.1.4 系统需求管理规划表143.1.5 系统性能要求143.2 概要设计153.2.1 系统体系结构153.2.2 系统模块划分163.2.3 系统功能划分组织结构图173.2.3 运行环境174 系统数据库设计184.1 MySQL 数据库简介184.2 数据库表的设计194.2.1 概述194.2.2 用户表194.2.3文章内容
4、表204.2.4 文章评论表214.2.5图片信息表214.2.6 朋友圈信息表214.2.7 数据库ER关系图225 系统的详细设计225.1 首页面及主要页面设计235.2 系统主要功能模块开发255.1.1首页模块255.1.2 文章管理模块275.1.3 图片管理模块295.1.4 朋友圈管理模块315.1.5管理员管理模块326系统配置和发布326.1 开发和应用环境配置326.1.1安装Apache2.2.6326.1.2 安装PHP5.2.5336.1.3安装MySQL6.0.3346.1.4安装phpmyadmin2.11.3366.2 系统的发布和运行效果366.2.1 系统
5、的发布366.2.2 系统运行效果377 总结42参 考 文 献431 绪论博客,数字生活新时尚,通过文字、图片、声音等,尽情展示自我、分享感受、参与交流,美好你我生活。Show you, share me,人人都可以博客,人人都需要博客。1.1 个人博客1.1.1 个人博客的研究意义越来越多的网络用户希望能够在网络平台上更多地展现自己的个性,更方便地与人互动交流,在传统的WEB1.0时代,无论是论坛、社区还是个人网站,都试图在这些方面进行努力,随着WEB2.0时代的到来,一个新的概念出现了-博客。随着计算机网络的飞速发展,博客已经成为写网络日志必不可少的一种工具,也是一种简单有效的提供网络用
6、户之间进行在线交流的网络平台,通过其可以结交更多的朋友,表达更多的想法,它随时可以发布日志,方便快捷。访客可以直接在个人Blog上留言,如提出问题或意见等。个人博客的发展,也已经成为广告商业务拓展的重要领域。总之,Blog是继Email、BBS、ICQ之后的第四种网络交互方式。Blog是未来信息化教育和个人知识管理的强大而简单易用的工具。1.1.2个人博客的简介“博客”一词是从英文单词Blog翻译而来。Blog是Weblog的简称,而Weblog则是由Web和Log两个英文单词组合而成。Weblog就是在网络上发布和阅读的流水记录,通常称为“网络日志”,简称为“网志”。它是继Email、BBS
7、、IM之后出现的第四种全新的网络交流方式。它绝不仅仅是一种单向的发布系统,而且有着极其出色的交流功能。另外Blog也提供了非常方便实用的个性化功能。简言之,Blog就是以网络作为载体,简易迅速便捷地发布自己的心得,及时有效轻松地与他人进行交流,再集丰富多彩的个性化展示于一体的综合性平台。1.1.3个人博客的特点1,零机制:博客属于个人所有,是自发建立和非正式的建设。BSP(Blog Service Provider博客服务托管商)不能对博客发号施令。 2,零技术:博客不需要作网站的专业知识,可以像发邮件一样简单地实现博客网页的呈现。技术的极度简化,包括架构和申请博客网站、编辑、上传和修改内容等
8、。 3,零成本:任何一个人都可以像申请免费邮件般免费申请自己的博客网站。不需要注册域名的成本,不需要租用服务器空间的成本,不需要许多软件工具的成本。 4,零编辑:博客用户就是编辑,即时写作、即时发布、自我检查。这形成了与传统写作截然不同的“体验”,真正实现了作者“零磨损”的开放式写作。 5,零形式:博客页面的表现形式和文章内容的表现方式十分灵活,没有特定形式。 6,与个人主页相比较,博客的使用更方便、交互性更强。与传统的电子邮件、BBS和ICQ这三种互联网沟通方式相比,博客是一种较严肃的沟通平台。BBS公共匿名性很强,而个人性很弱,因此缺乏约束。电子邮件和ICQ则是多用于个人间的通讯,而博客是
9、个人性和公共性的结合。博客是个人在网上展示自己、与别人沟通交流的综合平台,它的管理比BBS简单的多。1.2 开发技术本系统在Windows XP下采用PHP技术作为服务器端脚本解释器,MySQL作为后台数据库平台以及Apache作为Web服务器,并且使用了一些辅助开发工具和技术,比如Dreamweaver CS3等。 1.2.1 PHP技术PHP(Hypertext Preprocessor超文本预处理器)是一种HTML内嵌式的脚本语言(类似ASP)。PHP的语法大部分兼容了C、JAVA、Perl,并增加了PHP特有的语法结构,可以比CGI或者Perl更快速的执行动态网页,只需要很少的编程知识
10、就能建立一个交互的WEB站点。它可以用于管理动态内容、支持数据库、处理会话跟踪,甚至构建整个电子商务站点。它支持许多流行的数据库,包括 MySQL、PostgreSQL、Oracle、Sybase、Informix 和 Microsoft SQL Server。PHP是完全免费的开源产品,不用花钱,你可以从PHP官方站点(http: /)自由下载。而且你可以不受限制地获得源码,甚至可以从中加进你自己需要的特色。Apache和MYSQL也是同样免费开源,在国外非常流行。PHP和MYSQL搭配使用,可以非常快速的搭建一套不错的动态网站系统,因此国外大多数主机系统都配有免费的APACHEPHPMYS
11、QL。通常认为这种搭配的执行效率比IISASPACCESS要高,而后者的使用还必须另外交钱给微软。PHP具有如下的优点:1学习简单:只需要了解一些基本的语法和语言特设,就可以开始使用PHP。数据库连接方便:PHP可以编译成具有与许多数据库相连接的函数。PHP与MYSQL是现在绝佳的组合。可以编写外围的函数间接存取数据库。这样当更换使用的数据库时,可以轻松的更改编码以适应这样的变化。PHPLIB就是最常用的可以提供一般事务需要的一系列基库。2扩展性强:PHP已经进入了一个高速发展的时期,具有良好的扩展附加功能。可以进行面向对象编程:PHP提供了类和对象,基于WEB的编程工作非常需要面向对象编程能
12、力。PHP支持构造器、提取类等。总之,PHP技术具有免费、跨平台、可加密、开发效率高等优点,在编写小型的网站系统时较之ASP、JSP等技术有一定优势。1.2.2 PHP工作原理PHP的所有应用程序都是通过WEB服务器(如apache)和PHP引擎程序解释执行完成的,工作过程: (1)当用户在浏览器地址中输入要访问的PHP页面文件名,然后回车就会触发这个PHP请求,并将请求传送给支持PHP的WEB服务器。 (2)WEB服务器接受这个请求,并根据其后缀进行判断。如果是一个PHP请求,WEB服务器从硬盘或内存中取出用户要访问的PHP应用程序,并将其发送给PHP引擎程序。 (3)PHP引擎程序将会对W
13、EB服务器传送过来的文件从头到尾进行扫描并根据命令从后台读取,处理数据,并动态地生成相应的HTML页面。(4)PHP引擎将生成HTML页面返回给WEB服务器。WEB服务器再将HTML页面返回给客户端浏览器。 1.2.3 B/S结构在当前Internet/Intranet领域,“浏览器/服务器(简称B/S)”结构是非常流行的客户机/服务器结构。在B/S体系结构系统中,用户通过浏览器向分布在网络上的许多服务器发出请求,服务器对浏览器的请求进行处理,将用户所需信息返回到浏览器。B/S结构简化了客户机的工作,客户机上只需配置少量的客户端软件。服务器将担负更多的工作,对数据库的访问和应用程序的执行将在服
14、务器上完成。浏览器发出请求,而其余如数据请求、加工、结果返回以及动态网页生产等工作全部由Web Server完成。实际上B/S体系结构是把二层C/S结构的事务处理逻辑模块从客户机的任务中分离出来,由Web服务器单独组成一层来负担其他任务,这样客户机的压力减轻了,把负荷分配给了Web服务器。这种三次体系结构如图1所示。图1 B/S三层体系结构这种结构不仅把客户机从沉重的负担和不断对其提高的性能的要求中解放出来,也把技术维护人员从繁重的维护升级工作中解脱出来。由于客户机把事务处理逻辑部分分给了功能服务器,使客户机一下子“苗条”了许多,不再负责处理复杂计算和数据访问等关键事务,只负责显示部分,所以维
15、护人员不再为程序的维护工作奔波于每个客户机之间,而把主要精力放在功能服务器上程序的更新工作。这种三层结构在层与层之间相互独立,任何一层的改变不会影响其它层的功能。1.2.4 数据库技术数据库是数据和数据库对象的集合,其中数据库对象指表(Table)、视图(View)、存储过程(Stored Procedure)和触发器(Trigger)等。数据库通过SQL(Structured Query Language)来对数据进行操作和管理,这里包括一些基本的操作如select、delete、insert、update语句。 ADO(ActiveX Data Objects)是微软开发数据库应用程序的数
16、据库访问技术。它被设计用来同新的数据库访问层OLE DB Provider一起协同工作,以提供通用数据访问(Universal Data MySQL)。OLE DB是一个底层的数据库访问接口,用它可以访问各种数据源,包括传统的关系数据库。ADO封装了OLE DB程序中使用的大量COM接口,所以是一种高层访问技术。关于数据库管理系统和接口的原理如图2所示。MySQL是一个快速、多线程、多用户的小型关系型数据库管理系统。它支持正规的SQL查询语言和采用多种数据类型,能对数据进行各种详细的查询等。MySQL提供了一全套的数据库创建和访问机制,通过很直观的方式就可以创建、访问、修改数据库的表和项,并且
17、能建立它们之间的各种数据关系。MySQL系列从90年代就发展起来,经过了多年的反展,它已经成为非常成熟的技术,面向中小型企业级应用。MySQL数据库的特点是数据库文件小而简单,不需要运行或者启动数据库服务进程就可以使用。通常MySQL数据库文件可以随网页文件一起方便地放在网站的目录中,正是由于这些特点,MySQL数据库通常被用来作为网站开发的数据库支持技术。对MySQL数据库的管理采用图形化管理工具phpMyAdmin 。phpMyAdmin是一个用PHP编写的、基于Web的、跨平台的MySQL管理程序,支持简体中文,使用Web浏览器作为管理界面。通过phpMyAdmin可以进行绝大部分的My
18、SQL操作,包括对数据库级操作,表级操作,以及数据管理等。 图2 数据库管理系统和接口的原理1.2.5 Apache技术Apache是最流行的Web服务器端软件之一。快速、可靠、可通过简单的API扩展,Perl/Python解释器可被编译到服务器中,完全免费,完全源代码开放。Apache服务器拥有以下特性:1支持最新的HTTP/1.1通信协议拥有简单而强有力的基于文件的配置过程;2 支持通用网关接口;3 支持基于IP和基于域名的虚拟主机;4 支持多种方式的HTTP认证;5 集成Perl处理模块;6 集成代理服务器模块;7 支持实时监视服务器状态和定制服务器日志;8 支持服务器端包含指令(SSI
19、);9 支持安全Socket层(SSL);10 提供用户会话过程的跟踪; 11支持FastCGI;通过第三方模块可以支持Java Servlets。 1.2.6 JavaScript语言JavaScript语言是一种基于对象(Object)和事件驱动(Event Driven)并具有安全性能的脚本语言。使用它的目的是与HTML超级文本语言、JavaApplet(Java小程序)一起实现在一个Web页面中链接多个对象,与Web客户交互作用,从而达到开发客户端应用程序的目的。JavaScript是通过嵌入或调入在标准HTML语言中实现,它的出现弥补了HTML语言的缺陷。在JavaScript语言的
20、配合下,能够运用PHP技术开发出非常漂亮而且交互性强大的动态Web网站来.2 系统可行性分析设计 2.1 开发的目的和背景这里首先简要介绍系统可行性分析的目的和系统开发的相关背景。1、编写目的可行性分析主要介绍开发项目的一些背景,系统的各方面可行性,从技术、本系统的前景以及当前个人博客的特点和需求等方面展示本系统的优势和限制,主要对象是网络中的上网用户,以便作出正确的后继设计与开发决策。 2、项目背景写日记、文章一直以来都作为很多人表达自己感情,展示自己才华以及与外人沟通的重要方式,也成为了很多人生活中的重要部分。过去人们都是靠纸和笔来实现,甚至到之后有了电脑,也最多用文本编辑软件来写,最后还
21、是得通过人工交换自己所写的东西,无论是纸张作为载体还是电子存储设备作为载体。这样极大缩减了交流的范围和速度以及交流的频度。随着网络的开速发展,它已经走入大众生活,所以自然而然诞生了个人博客这样一个新兴事物,它不仅仅能取代前面所说的功能,还能加入图片、音乐,而且使得作者更能无所拘束地生动地写出自己想写的,旁人也能非常便捷地阅读并且加以评论,并且它还能作为展示个人个性的窗户。更重要的是网络个人博客利用网络的巨大优势,可以非常快捷、广泛而没有界限地自由交流。交流速度快、交流范围广以及可以让网络中任何人浏览、评论是博客的最大特点,正是有了这些特点,个人博客现在已经成为很多人生活中必不可少的一个部分,它
22、让更多人了解作者的心声,方便了人与人之间的沟通和交流。2.2 系统目标和研究方法1、系统的目标该目标主要是结合与传统系统(即传统以纸张或者磁盘、光盘为载体的写作模式)的比较而定。(1)人力和设备的节省传统系统主要是通过人力写作,并且载体是纸张或者磁盘、光盘。而通过本系统,可以节省一定写作人力,并且利用网络存储方式,节省了纸张资源和笔墨资源或者磁盘、光盘资源的使用。(2)界面美观和便捷的提升本系统相对传统系统而言,利用了多媒体的各种视觉效果,可以方便加入图片和背景以及表情,有明显的界面美观和直观的优势。(3)编辑修改的提升本系统可以使对文章或者一些图片背景等的编辑修改变得非常容易,非常便捷和快速
23、。只用修改局部,不用返工,并且不会留下视觉瑕疵。(4)交流广泛性和速度的提升通过网络这种媒介,使得文章、日志的交流变得非常广泛,不会受到地域和世界的限制,世界各地任何人都可以享受交流的服务。并且交流的速度比传统更加快速方便,不通过传统载体的传递。 2、可行性研究方法(1)调研传统系统效率和特点通过调研和对比传统系统的工作方式和特点,发现效率和实用性的差距。通过理论和现实技术发展的特点和要求,估算和提出效率、功能的提升。(2)参考目前已有的网站和案例如今博客在网络上比比皆是,可以参考和学习已有的一些优秀个人博客的特点和成功之处,来发现传统系统需要改进的地方和新的开发入口。2.3 传统系统的分析1
24、、处理流程传统系统处理流程(总体功能级数据流图)如图3所示,该图给出了传统方式的写作文章以及交流的方式和流程途径。图3 传统系统处理流程2、数据流图传统系统的数据流图如图4所示,该图主要给出了传统的以纸张或者磁盘为载体的文章、日志写作和交流的数据流程。图4 传统系统数据流图2.4 所要开发的系统的分析对所要开发的系统的分析是从系统的描述和优越性,用开发的系统的处理流程和所开发系统的数据流图(DFD)来说明的。1 系统的描述和优越性该系统是适应当前网络特点和个人个性的情况下开发的个人博客,主要用于文章和日志的写作以及交流评论。其主要特点在前面的绪论和2.1.2已经有详细的介绍。系统的优越性主要体
25、现在编辑的便捷和修改的方便,以及文章的多媒体性和生动性,还有就是交流的广泛性和快速。详细情况在绪论、背景以及在2.2.1已有介绍。2 处理流程所开发的系统处理流程(总体功能级数据流图)如图5所示,该图给出了所要开发系统的系统工作、写作文章和文章交流的方式以及流程途径。图5 所要开发系统处理流程3 数据流图所开发系统的数据流图如图6和图7所示,它们都是进一步分解后的数据流图。其中图6是用户管理的功能分解数据流图,而图7是文章管理以及评论的功能分解数据流图。图7涉及到用户文章和评论事务和数据库的频繁存储交互,体现了个人博客中文章、日志发表和评论的功能,是个人博客系统中比较主要的一项事务过程。图6
26、系统数据流图用户权限/管理图7 系统数据流图文章发表/评论2.5 系统的其它可行性前面主要运用了系统流程图和数据流图,通过对传统系统和要开发的系统分析了系统开发的可行性,下面将从其它一些辅助可行性来进一步分析和说明。1 技术可行性本系统主要由PHP作为主要开发技术,PHP已经流行和发展了数年,技术相对比较成熟,开发系统稳定可靠。系统采用优秀的关系型数据库管理系统MYSQL作为后台数据库,能和Windows以及当前各种系统很好的兼容搭配。其它辅助网站设计的技术相当丰富,相应开发环境和工具也一应俱全,比如用于网页界面设计的Dreamweaver CS3,还有一些图形处理软件如Photoshop C
27、S2等都是相当成熟和简便的开发工具。2 性能效益可行性所开发的系统基本能满足个人博客的功能要求和展示博客的特点风格,在处理运算速度、存储量以及响应时间上完全能满足系统要求。现在网络发展迅速,上网人数众多,博客作为个人个性和情感的展现舞台,相信有非常广阔的发展和应用空间。3 硬件可行性系统所采用的技术和平台都是比较成熟和已经发展数年的,目前的硬件配置一般都足以满足系统的运行要求。系统的基本硬件要求:网络中的服务器(服务器要求能提供空间和支持动态网络技术以及MySQL数据库)、客户端电脑(具有基本多媒体功能和设备)、支持PHP架构的工作和系统平台(WindowsXP)、支持PHP架构的能处理动态网
28、页技术的浏览器(IE6.0以上等具备解释PHP技术的浏览器)。2.6 可行性结论 综上所述,作为毕业设计的一个项目,简要讨论分析了系统的各种可行性,并且各项可行性上完全满足开发要求,可以开始进一步的工作。3 系统需求分析和概要设计3.1 系统需求分析系统需求分析是现代软件工程应用于系统开发的一项重要环节,通过需求分析可以明确系统的各项需求和功能,根据这些需求和功能可以更好地指导下一步的系统开发和设计,避免了在设计之后对需求的变更而导致的大量返工。3.1.1 开发背景过去很多人都喜欢写文章写日记以及交流自己的文章和作品,以求实现相互间的沟通、展现自己的才华和让别人了解自己的想法观点。现在的网络已
29、经成为人们生活中不可或缺的一个元素,所以自然而然诞生了个人博客这样一个新兴事物,它不仅仅能取代前面所说的功能,还能加入图片,而且使得作者更能无所拘束地生动地写出自己想写的,旁人也能非常便捷地阅读并且加以评论,并且它还能作为展示个人个性的窗户。个人博客现在已经成为很多人生活中必不可少的一个部分,方便了人与人之间的沟通和交流。3.1.2 系统实现目标概述基于个人博客以上的特点,本系统要实现个人博客的主要基本功能有主界面,用户注册,注册用户登录发表文章(心情、日志),用户登录/退出,游客发表评论,分页浏览文章和评论等。这里其中比较主要的是区分了个人博客的注册用户和游客。注册用户可以在任何时候写下自己
30、的主张,记录下自己的点点滴滴。而游客主要的权限是阅读博客所有注册用户写的文章,阅读后可以发表评论和留言,还可以分页浏览所有注册用户上传的图片。以上是个人博客的系统功能目标,当然由于个人博客的网络流行特点以及个人个性的展示,还适当要求界面比较漂亮轻快,直观便捷,操作方式简单以及人性化。3.1.3 系统功能需求根据对系统的特点和应用的分析,可以得到本系统主要有如下功能:(1)用户注册和登录 这部分功能又分为用户注册、用户登录、用户退出三个部分。用户注册:游客将个人的信息存储到博客网站的数据库中,注册时要求填写用户的各种详细信息,包括id、Password、Email、性别、生日、其它辅助信息。凡是
31、符合要求的游客都可以注册成功,成为本博客的正式用户,。系统接受这些信息并存储在服务器端的数据库中。用户登录:主要用于验证博客网站用户信息的真实身份,以便对博客网站进行管理和维护。通过注册后的用户用个人注册的用户名,密码登录到网站。网站检测用户的用户名,密码并给予其相应的权限对博客网站进行操作。用户退出:已经登陆的用户可以退出,释放自己所占有的各种信息资源。(2)文章管理文章管理主要有文章的发表、查询、浏览、评论和删除功能。博客的系统管理员除了可以查询、浏览和评论文章外,还可以对系统中的所有文章以及评论进行修改、删除操作。这些维护和管理拥有最高权限,并且系统自动更新在服务器端数据库中的数据。文章
32、的发表:注册用户可以发表自己的文章,文章包括主题、正文、表情、图片等信息,作者通过各种元素来展示自己的想法和思想。系统接受这些信息并且存储在服务器端的数据库中。文章的删除:注册用户可以删除自己已经发表的文章内容和各项信息,系统自动在服务器端数据库中删除这些记录。文章的浏览:游客和注册用户根据所获得的用户权限获取服务器端数据存储的各篇文章并且浏览阅读文章的所有信息,包括标题、正文、表情、图片以及其它读者的留言评论。文章的评论:文章的读者可以评论和回复所阅读的文章,发表自己的看法。系统自动将这些评论存储在服务器端的数据库中,并且可供博客作者以及其它读者浏览。文章的查询:注册用户可以按文章题目或作者
33、来查询想要查的文章。(3)图片管理图片管理有添加,浏览、删除和查询功能。注册用户可以添加自己喜欢的图片,还可以查询和浏览系统中的所有图片信息。游客只能浏览博客系统中的所有图片。系统管理员拥有以上的所有权限,除此之外还可以删除图片。(4)朋友圈管理注册用户可以添加自己的朋友信息到朋友圈,可以再浏览和查询朋友信息的前提下,进行删除朋友信息操作。(5)管理员管理博客的系统管理员可以对系统中所有的注册用户进行帐户和权限管理,包括修改用户所有的权限,查询用户信息以及删除用户信息;还可以对最新公告进行添加,删除管理。3.1.4 系统需求管理规划表根据以上对系统的需求分析,我们可以得到一个更为简明扼要的系统
34、需求管理规划表,本表罗列了系统的各项主要功能,并且对其分类,配有间断描述,最重要的室给出了各个功能需求的优先级,优先级的高低表示了功能实现的迫切程度和必要程度。优级高的代表该功能是系统很重要的功能,需要重点实现。如表1所示。表1 系统需求管理规划表需求分类需求名称描述优先级功能性需求用户注册用户可以注册自己的各项信息高用户登录/退出用户可以登录或者退出系统高用户权限管理博客管理员可以修改用户的权限以及删除用户账号高文章的添加注册用户可以发表文章,包括表情、图片、链接等高文章的删除博客管理员可以删除任何一篇文章但注册用户只能删除自己写的文章中文章列表对文章按一定类型或者顺序用列表方式展示题目中浏
35、览文章博客文章读者可以分页浏览文章高评论文章博客文章读者可以对文章进行评论和回复高评论的删除博客管理员可以删除某篇文章的某条评论中朋友信息添加注册用户可以添加自己朋友的信息高浏览朋友信息注册用户可以浏览自己朋友的信息高查询朋友信息注册用户可以查询自己朋友的信息高添加图片注册用户可以上传自己喜欢的图片,与人分享高浏览图片图片的浏览者可以分页浏览图片高删除图片博客管理员可以删除博客网站中的某张图片中查询图片用户可以查询图片高特征和前景预算项目开发成本控制在毕业设计范围内低系统目标设计和实现个人博客系统,达到毕业设计的目标和要求高非功能性需求平台限制基于Windows XP ,Apache2.2.4
36、以上,PHP+MySQL数据库高操作方式全部操作都能基于浏览器进行低硬件需求网络服务器,P3以上、128MB以上多媒体工作站互连网络连接以及相应设备中3.1.5 系统性能要求(1)系统可靠性要求 系统对用户操作有相应提示,并且可以检查用户输入的各种数据的合法性,对于不合法的数据屏蔽并且提示用户,以避免由于越界或者格式错误而造成的系统错误甚至崩溃。 系统在对于数据库操作时候,数据库有一定的约束机制。特点是对于外键(FK)而言,通过“级连”(Cascade)和“参照”(Reference)来保证数据的完整性。 系统能够应对各种特殊操作情况和出错情况,并且给出相应提示。 系统能够有一定的安全和保护措
37、施,以保证网站的正常运行,避免文件和数据库遭到意外事件的破坏而导致网站瘫痪。(2)系统时间要求在不考虑网络状况情况下,系统的响应时间应该相当迅速,数据的存储和处理以及返回过程应该满足用户的等待需求,一般控制在0.2s以内。(3)系统适应性要求系统应该兼容Windows操作平台、MySQL数据库以及IE浏览器。(4)系统并行处理能力要求系统能够支持同时间多用户的访问需求,并且保证运行的相对顺畅。(5)系统精度要求时间精度到达秒为单位,其它数据精确到小数点后2位。3.2 概要设计概要设计也是软件工程中一个重要的步骤和环节,根据前面的需求分析所得到的系统所要实现的各种功能,概要设计对其进行进一步的模
38、块划分,以确定各个功能由所设计的模块来实现,这样可以构架出一个系统的机构框架,便于后面的具体数据库设计详细设计的实现。3.2.1 系统体系结构基于B/S结构的个人博客网站系统,应由终端(用户主机/浏览器)、WEB服务器、数据服务器构成。个人博客网站的核心是中间的接入服务器和应用服务器部分。个人博客网站的总体结构图如图8所示:图8 博客网站总体结构3.2.2 系统模块划分根据前面对系统的需求分析,可以得到系统的模块划分如下: (1)博客首页模块包括如下主要组成部分:页整体布局:对于博客的首页风格安排并且布局。日历:方便用户看时间和日期。用户登录和注册区:主要是用户注册和登录,在成功登录以后列出用
39、户所拥有的可操作模块。博客最新日志显示:按时间顺序显示博客中最近的文章标题信息。最新推荐图片:按时间顺序显示博客中最新上传的图片。最新公告:上下滚动显示管理员发表的最新公告。(2)文章管理模块添加博客文章:已登录的博客注册用户可以发表文章、随笔和日志,内容包括标题、正文、图片、表情等信息。在此前提下,只有以系统管理员身份登录的用户才可以删除博客中的任何文章,系统自动更新服务器端的数据库。查看博客文章:文章作者可以按搜索条件有选择的查看想要阅读的文章,并可以对它进行评论,但没有删除的权限。浏览我的文章:只显示作者自己的全部文章,在这个模块的前提下,文章作者有删除文章和评论的权限。(3)图片管理模
40、块添加图片:已注册用户可以本地上传图片。查询图片:登录用户可以按搜索条件有选择的查看图片,但没有删除的权限浏览图片:分页显示系统中的全部图片。(4)朋友圈管理模块注册用户可以添加自己的朋友信息到朋友圈,可以在浏览和查询朋友信息的前提下,进行删除朋友信息操作。(5)管理员管理模块博客的系统管理员可以对系统中所有的注册用户进行帐户和权限管理,包括修改用户所有的权限,查询用户信息以及删除用户信息;还可以对最新公告进行添加,删除管理。3.2.3 系统功能划分组织结构图根据以上对系统功能模块的划分和设计,可以得到系统功能模块图如图9所示,该图给出了详尽的模块划分和模块组织结构,能够直观展现系统的功能结构
41、关系。图9 系统功能结构图3.2.3 运行环境(1)用户界面用户需要网页浏览器来使用该系统,界面简洁、美观、友好,具备人性化特点,各种操作有提示信息和错误信息。(2)软件环境服务器端:WindowsXP服务器,Apache服务程序,MySQL数据库以及其相应的ODBC。客户端:Windows XP系统以及IE6.0以上浏览器。(3)网络带宽服务器对外网络带宽1M以上,客户端拥有连接互联网的设备和服务。4 系统数据库设计4.1 MySQL 数据库简介MySQL数据库由瑞典MySql公司开发和维护的一个精巧的SQL(Structured Query Language,结构化查询语言)关系型数据库管
42、理系统(DBMS)。MySQL数据早在90年代中期就开始出现,经过近10年的发展,它已经成为一个功能相对强大,技术非常成熟,应用广泛的数据库。由于它的强大功能、灵活性、丰富的应用编程接口(API)以及精巧的系统结构,受到了众多程序员和企业级用户的青睐,特别是它的数据库文件小巧,存放便捷,数据库管理系统运行简单,为建立基于数据库的动态网站提供了强大动力,并且得到了广大网站开发人缘的认可。 MySQL数据库提供完善的SQL-92标准的结构化查询语言,如select、delete、insert、update语句。通过MySQL在操作系统上建立的ODBC可以轻松将这些SQL语句翻译成为相应的MySQL
43、数据库管理系统指令并对数据库进行管理。如图10所示。图10 MySQL数据库管理系统原理作为关系型数据,MySQL完全支持对于各种数据库对象的管理和便捷操作,这里包括表(Table)、视图(View)、存储过程(Stored Procedure)和触发器(Trigger)等。MySQL数据库提供完全的可视化管理环境,能够直观便捷而快速地对数据库的各种数据库对象和元素进行修改和管理。 当然,MySQL数据库也完全支持ADO(ActiveX Data Objects)数据库应用程序的数据库访问技术。ADO它被设计用来同新的数据库访问层OLE DB Provider一起协同工作,以提供通用数据访问(
44、Universal Data MySQL)。OLE DB是一个底层的数据库访问接口,用它可以访问各种数据源,包括传统的关系数据库。ADO封装了OLE DB程序中使用的大量COM接口,所以是一种高层访问技术。所以MySQL非常适合PHP技术开发动态网站。4.2 数据库表的设计4.2.1 概述根据第三部分的需求分析和概要设计,可以设计出相应的系统所要使用的数据库表。博客系统所要存储的数据项和数据量相对比较复杂和庞大,所以首先确定这些数据库表的设计一般是一个表存储一个实体或者对象的相关信息,这样分析和设计数据库就相对简单。对于不同的对象或实体,根据具体系统需要和未来扩展,可以适当细分。另外扩充信息和
45、动态变化的信息分开放置在不同的表里。当然重要的表都会设置一个唯一标识的主键,这个主键不是实际运用中的任何信息项,只用来唯一标识一个数据项,一般用自动编号的数字。经过需求分析和概要设计,在MySql数据库管理系统中建立名为db_tmlog的数据库,系统所有应用的数据信息将存储在该数据库中,数据库中建立以下5种不同专题的数据表,分别为:用户表(tb_user)、文章内容表(tb_article)、文章评论表(tb_filecomment)、朋友圈表(tb_friend)、图片信息表(tb_tpsc)五个表。这些表基本上都是一表负责一个实体或者对象的各种信息存储,它们协调工作,以实现个人博客系统对数
46、据存储的要求。 注意,下面各表中数据类型说标有*表示是主键。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文章内容表本表主要用来存放文章的各种信