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