版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
成都东软学院ChengduNeusoftUniversity基于PHP+Mysql的个人博客系统的设计与实现答辩学生:指导老师:目录CONTENTS1论文摘要及绪论2系统需求分析3系统设计及实现4系统关键性功能测试5总结与致谢01PARTONE论文摘要及绪论AbstractandIntroduction1.1论文摘要1.2系统背景与意义1.3关键性技术介绍随着互联网的高速发展,人们越来越喜欢在网络上互相交流和展示自己。因此需要一个完全能够承载这个功能的平台来进行展示,而大多数的平台主要为公司的附属平台并不能特有的展示自己,所以一部分热爱交流和展示自己的人自己开发了一些具有特定氛围和圈子的平台,我们称之为博客平台。在该博客系统平台上汇聚的都是具有同一爱好、同一兴趣的朋友,具有更高的凝聚力和专业性。本文讲述的是基于ThinkPHP技术和Bootstrap框架来进行设计、最终制作完成的的个人博客系统。该系统包括前端展示页面和后台管理页面,前端页面包括首页界面、首页轮播图片部分、系统的公告、系统对文章的分类、留言板、友情链接、会员展示、全站搜索、个人主页展示、文章留言等功能,并且在验证码方面进行了最新了的图形识别验证,极大的保证了评论的有效性和可参考性。便携式管理后台包括用户对文章的管理、用户自身的管理、留言板块的管理、网站设置的管理(VP管理员)、对系统主页的编辑修改、以及对文章分类管理等功能。论文摘要Abstract论文摘要系统背景与意义在过去的几年里,许多新单词进入我们的视野:博客,圈子,播客,WAP等。所有这些都表明,我们已经进入了一个新阶段的互联网Web2,这是一个通用术语的一类新的互联网应用相对于Web1,从核心内容到外部应用的革命。这个阶段发展迅速,互联网应用趋于多样化,其中变化最大的是由web
1.0网站创造内容的时代变为由用户创造内容的web
2.0时代。在Web次世代的应用中,博客是Web应用的最典型和最热门的代表之一,它是Web最直观的表现。博客精神的核心不是自娱自乐,更不是言论自由。帮助别人。个人日记和个人网站的重要表现是“自我”,而博客则是“大我”。它可能是非常接近的形式,但本质上不同。因此,所有优秀的博客站点,真正表达作者的个人内容是非常有限的,最多只是点缀,而不是作为个人网站的核心!博客是个人与公众的结合,本质不是个人思想的重要表现,不是个人经验的重要记录,而是从个人角度,用互联网作为一个整体的眼光,选择和记录自己的互联网,看到精彩的内容,帮助别人,使其拥有更高的分享价值。相关技术ThinkPHP网站重要借助了ThinkPHP的平台来进行了二次编译,使网站从制作开始到完成整体网站的效率大大提升。ThinkPHP是具有许多原始的特点和特点,在社区团队的积极参与下,不断优化和改进可用性、可扩展性和性能,已经发展成为Web应用程序开发框架中最领先、最有影响力的WEB开源应用的开发组织框架,多个典型案例,确保业务稳定和门户级发展以及门户级的开发。0102MySQLMySQL是一种关系型的数据库管理系统,是由瑞典MySQLAB公司开发,系统目前属于Oracle公司。MySQL是目前市面上最流行的关系型数据库管理系统,在WEB应用方面MySQL是目前市面上最好的RDBMS(RelationalDatabaseManagementSystem)应用软件之一。MySQL作为一种关联数据库管理系统,是将关联数据库从而让数据保存在不同的表中,而不是将所有的数据全部存放在一个大的管理数据库中,这样做的目的是为系统增加了速度并提高了系统的灵活性。0304BootstrapBootstrap,来自Twitter,是目前很受欢迎的前端框架。Bootstrap是基于HTML、CSS、JAVASCRIPT的,它简洁灵活,使得Web开发更加快捷。它是通过Twitter的设计开发师MarkOtto和JacobThornton一起合作开发的,是一个基于CSS/HTML的框架。Bootstrap提供了好看并且实用的HTML和CSS规则,它即是由动态CSS语言Less写成。PHPPHP是一种通用的开源的脚本开发语言。语法接收了C语言、Java和Perl的特点,便于学习,应用广泛,重点应用于Web开发领域。PHP特有的语法混合了C、Java、Perl以及PHP自创的语法。它可以比CGI或者Perl更快速地执行动态网页。与其他编程语言相比,PHP使用嵌入在HTML(标准通用标记语言(PHP))文档中的动态页面去执行,执行效率远远高于完全生成的HTML标签;PHP还可以执行编译后的代码,它可以用来加密和优化代码,使代码运行速度比CGI更加快速。关键性技术介绍02PARTTWO系统需求分析Systemrequirementsanalysis2.1可行性分析
2.2功能需求分析技术可行性
该博客系统在应用开发上使用的结构是B/S的网站模式结构,重点功能是完成访客对系统文章的浏览、书写和其他的一些功能。用户在留言版上留言,不仅仅可以让不同的人对相关的文章有更加直观的感受还能让文章的博主可以得到更加真实有效的意见和建议进而进一步进行修改和完善,从而可做以得更好,对于管理者来讲也是能够及时的了解访客的心理可以更加快速的调节系统需要增加的相应的服务种类和完善对市场的需求。可行性分析操作可行性分析可操作性----操作本系统的操作一般的人事管理人员和非计算机专业人员,使系统有效运行,系统易于理解,人机界面简洁、清晰、直观,功能实用,操作简单方便,少量的操作培训。此外,系统必须有更快的响应速度,以尽量减少员工的等待时间。高可用性:定义某些特定的需求(如:检查点、恢复方法和重启动性等),以保证软件的可用性和高可靠性能,要求系统在发生故障或输入数据不合理等情况下有较高的要求。经济可行性分析系统所采用的所有技术均为开源免费的,因此,在成本投入方面中技术投入占比为零。整体项目开发成本为后者的运营成本以及前期程序员开发成本。同时因为系统采用的开发语言拥有广大的开源社区,在后期维护中产生的问题也可以得到友好的解决方案,变向的进一步降低了维护费用。因此,项目对于经济方面你的需求并不很大,完全可以满足整体项目的开发。02概述系统前端的功能模块重要分为以下这些模块:首页、分类文章、友情链接及邀请码、留言板、底部导航、个人主页。系统后台的管理部分重要分为以下几个方面:对于用户的管理、VP对于网站的管理、系统实际内容的管理、对网站系统的设置和管理、系统进一步开发的扩展工具等方面。结合系统实际的需求产生了以上对于前端和后台不同的要求和管理要求。不同的权限管理拥有不同的管理操作界面。根据系统的侧重面不一致,系统在设计需求及分析上主要分为了功能性需求和非功能性需求。功能性需求主要为文章分类模块、留言板模块、VP管理模块、内容管理模块和网站设置上,而非功能性需求则为系统的首页展示、系统的注册用户邀请码及友情链接、系统导航部分、系统的注册用户的个人主页部分以及系统可能后期维护出现的扩展工具模块等等。02功能需求分析文章分类模块是功能性需求中重要的一个部分该模块主要功能目的为依据文章不同类型从而进行文章的分类管理和展示等等,并且在分类模块中可以根据系统管理员权限设置或新建不同的文章类别等。留言板模块是系统在访问友好度上的一个重要模块,利用该模块的功能可以及时、有效的得到用户对于系统的相关需求、建议和意见从而对系统做出更好的改进和更新。留言板模块不仅有系统的总留言功能模块也有对应文章中的留言功能,对文章的作者可以更加高效的提出相关建议和意见。VP管理功能模块是系统用户中最重要的模块,因为该模块拥有统揽和控制整个系统的权限。该模块下的用户账户可以任意修改、添加、编辑系统的所有注册用户账户信息、系统已经发表过的所有文章信息以及系统的网站设置和扩展性功能的设置。内容管理模块是整个系统在文章模块中仅次于文章文类模块的一个重要的功能性模块,该模块主要负责系统文章的编辑、添加和提交功能。并且根据登录的用户的权限的不同可以拥有对文章内容具有不同的编辑、修改权限。网站设置模块是系统在网络服务上的一个重要设置模块,该模块需要使用具有VP权限的用户账户才能够进行操作。该模块下可以设置系统的SEO优化、关键字词说明、访问统计效果及代码、系统管理员账户信息、系统管理员邮箱信息、默认管理员邮箱发送信息内容设置等等。02功能性需求分析在系统的非功能性需求中首页模块是系统的非功能性需求第一位,因为模块承载了访客对系统内容的第一直观感受和友好度。首页模块主要内容为文章类别导航的说明、系统已发表文章的部分摘要展示、用户注册登录的窗口、管理员登录的窗口以及一些重要的系统插件和扩展功能。系统的注册用户邀请码及友情链接模块是保证系统可以拥有高质量的、可持续发展的一个重要模块,只有不断的添加新的注册用户才能拥有不断更新的系统文章内容进而使得系统更加完善。系统导航部分是系统展示功能中一个较为重要的组成部分,该模块主要为展示系统目前所有文章所拥有的文章种类,便于和易于访客及其他用户更好的搜寻自己最需要的相关文章内容,提高了用户的访问友好度和体验度。系统的注册用户的个人主页部分为展示注册用户的个人相关信息的页面,该页面上主要展示了包括用户的昵称、爱好、一些相关经历、已经发表的文章以及用户自身想要说明的一些内容,是系统中用户展示自我,沟通和联系具有相同爱好的朋友的一个重要了解渠道。扩展工具模块是系统为了在开发结束后后期可能你需要新添加的一些功能做出的一个预留接口,同时也是为了有更多更好的系统插件能够应用在系统上,不断的提高系统的访问友好度和不断丰富完善系统的功能等。02非功能性需求分析03PARTTHREE系统设计与实现Systemdesignandimplementation3.1总体设计3.2数据库设计3.3前台设计与实现3.4后台设计与实现本章的内容重要是对该博客系统做总体的功能及需求设计就行分析和概述。系统包含了主页访问、系统公告、注册用户的登录注册功能、管理员账户的登录管理、首页中文章的预览效果和不同类别下的文章预览效果。系统还包含了会员数量和会员主页的展示和预览以及系统留言板的发布等。设置了系统注册用户的获取方式等。03总体设计系统功能设计通过在系统设计的需求分析中得到的结论,我们可以简要的把本系统分为:文章部分、用户部分、留言部分、主页部分等。该系统的主要功能是文章的一部分。本文包括管理模块和管理模块。不同权限的账户可视操作不同,注册账户可以自行编辑、发布、修改自己的文章,管理员可以统揽系统所有已发布文章,并对其进行编辑、修改、删除、回收等操作。模块功能设计用户访问“首页”,通“首页”可以进行新用户的注册和原注册用户的登录功能。并且在系统的“首页”有隐藏的管理员登录接口可以满足管理员在不同的使用环境中登录管理系统。在“首页”中会展示一部分文章,文章设置的分页展示,采用的是thinkphp的分页功能,并且使用的是Ajax异步刷新的功能,尽可能的减少用户在刷新系统的过程中带来的亢余缓存。当用户登录后,在用户自己的首页上可以进行“文章”“留言”“反馈”“主页”等的操作,并且可以在个人信息中修改用户的登录密码和头像等等。超级管理员登录后可以管理系统上注册的所有用户和所有文章,并且为了防止误操作,对文章管理我们采用了“回收”功能,当使用“回收”的时候文章并不会删除,只是在前端展示页面设置为“display”,但我们需要重新展示这篇文章的时候我们选择“撤销回收”即可。03功能设计因为本系统为多用户的博客系统,因此需要设计多个不同的用户表作为管理,我们还需要设计管理文章表、用户管理表、系统留言表、文章留言表、注册用户信息表等。留言表设计系统采用了便携化可视化再编辑的操作模式,因此,在设计数据库表中使用了单独的表blog_site进行存储管理员用户需要修改的系统相关信息的内容,并且因为系统在注册用户的验证中需要单独的邮箱验证,所以同时存在一张表blog_email_set用于存储新的管理员用户编辑的邮箱信息。因为系统采用的是thinkphp的后台开发框架,所以在该设计模式下新的管理员用户只需要在服务器端重新部署好后就能通过登录管理员账户直接对系统信息进行修改和设置,完全能够满足不同学历和不同技术能力的人进行“傻瓜式”操作处理。注册用户邮箱采用的是SMTP模式进行发送和接受。可以便捷化和可视化的操作设置邮箱的相关信息和内容。03数据库设计编号字段命名数据类型字段大小是否为空字段最大长度字段含义1idint(12)12自增编号12表结构主键2titlevarchar(200)200否200系统标题3keywordstextnull否null网站关键字4descriptiontextnull否null网站描述5logovarchar(200)200否200网站logo6articleStatusint(12)12否12设置审核7userStatusint(12)12否12设置注册码8admin_emailvarchar(100)100否100管理员邮箱9set_contentvarchar(50)50否50系统副标题10namevarchar(50)50否50网站名称11statisticstextnull否null统计代码12codetextnull否null邀请码说明13friend_linktextnull否null友链说明14icpvarchar(600)600否600ICP备案号文章表设计下表为文章信息表,重要包含文章内容的一些基本、基础信息内容。包括了文章在数据库中创建产生的自增长id、文章名称、文章主体内容、文章图片、访问id、控制id、创建时间、浏览时间、编辑时间、文章发布状态、文章音频文件、文章是否处于草稿箱中、文章的浏览量、编辑文章需要的密码和权限以及文章是否添加了附件等。该表为系统数据库中重要的表。03数据库设计编号字段命名数据类型字段大小是否为空字段最大长度字段含义1idint(12)12自增长12系统主键id2titlevarchar(200)200否200文章标题3contenttext无否无文章内容4picdate
否
文章图片5uidint(16)16否16发表身份6fidint(16)16否16文章分类7ctimeint(16)16否16文章创建8edittimeint(16)16否16文章修改9viewint(16)16否16访问次数10statusint(16)16否16文章状态11mp3varchar(220)220否220
12istopint(20)20否20置顶设置13viewtumbint(30)30否30封面设置14articlepsdvarchar(60)60否60访问权限15videovarchar(300)300否300文章视频16filevarchar(400)400否400添加附件系统自定义前端展示功能的设计系统在设计上主要核心思想为可以在不同的用户在不同的平台上都可以进行便捷式的、可视化的部署和操作。因此,在考虑到不同的用户可能需要系统具有不同的展示效果或功能,在系统的设计上专门开放了系统的设计端口并且说明了如果需要制作独有的展示界面demo所必须的系统接口等。用户可以在自己的服务器上访问和部署本系统,并且因为开放了界面设计的端口和接口说明及模块。用户可以通过开放的接口自行设计个人所需要的系统界面风格和样式,并且可以发布在提供的服务器上供他人下载使用和部署操作。让部分完全没有系统开发经验的用户可以自由的、便捷的切换不同的系统操作和展示界面样式。用户切换系统不同的操作和展示界面只需要登录admin权限的管理员账户即可,在登录管理员账户后的界面首页即有可以选择拥有的主题样式,如果显示的主题样式中并没有管理员用户喜欢的样式可以在开源社区中查找合适的主题demo进行下载和安装。或者管理员用户可以自行根据实际需求进行样式的开发。在后续的开发版本中希望可以支持在线更新和查询合适的系统样式并进行在线安装和展示。管理配置系统主题切换的代码在./Application/Admin/Controller/IndexController.class.php中,代码在逻辑便携上主要通过四个步骤进行运行,第一步遍历系统中所有主题,第二部检查主题是否和系统当前主题效果一致,第三部要求能删除或者变更系统主题样式,第四部分检查系统主题的最新状态是否有更新等等。03前台设计与实现03前台设计与实现文章显示功能模块的设计系统的核心功能为用户对文章的操作,不同的权限下登录的用户账户访问的界面不同,对文章拥有的权限不同,所能对文章进行的操作和管理也不一样。例如在游客模式下,即为无登录状态的访客中,仅能查看文章。在文章展示模块的设计中有两个重要部分,第一个部分为首页展示部分,在该部分中文章作为列表展示,并在列表中对文章内容进行截取展示,实现一个文章预览的效果,并且在首页的文章展示中对文章进行了分页显示,每一页的显示数量为十个,在系统开发的代码中可以对该部分进行修改操作,改变文章在每一页的显示数量。通过<foreachname="slidesLists"item="vo"key="k">语句在index文件中对数据库中提取的文章进行分页,通过if语句判断和控制分页数量与文章个数。第二部分为文章的置顶显示,根据时间戳进行排序展示。管理员用户登录后台后可以对系统上所有用户发布过的所有文章进行置顶操作,根据管理员对文章进行置顶操作的时间的不同进行排序,排序规则为根据时间戳倒序排列,即为第一个被置顶的文章在首页展示中为所有置顶文章的最后一个。03后台设计与实现自定义系统信息功能模块的设计为了满足系统能够在不同的用户和不同的平台上均能实现“傻瓜式”一键部署和修改系统相关信息的功能设计,所以设计了系统的自定义管理设计模块。该模块放在管理员登录后的管理操作界面的首页管理中,管理员用户可以直接通过在该系统信息管理界面直接填写和设置相关信息并在点击保存后直接对系统数据库进行更新操作从而完成系统的信息更新,完成用户对系统的自定义管理功能的操作。在该模块的设计上单独设计了一张表用于存储需要修改的系统信息内容,表名blog_site。用户可以直接填写想要修改的内容在对应的空位上,点击确认按钮后后台代码对数据库进行update操作更新数据库中对应的表的信息,当用户再次访问系统的时候,系统从数据库中对应表中获取的信息即为修改更新后的信息了,这样就能直接实现用户直接可视化对系统信息的修改操作了。03后台设计与实现文章管理模块的设计该模块重要负责对文章的管理,包括了发表文章、修改文章、编辑文章等等。同时,因为本系统是多用户的系统,为了让不同用户发表的文章不混乱,从而设计了一张文章表用于管理文章,在文章表中设置了键值uid来控制和判断不同用户之间的区别。在编辑文章中采用的是富文本编辑,意思为我们可以使用不同的三方文件进行修饰文章,例如添加音乐、添加图片等等,并且还可以添加附件等功能。依据不同的登录用户账户设置对文章和系统具有不同的管理操作权限。文章管理模块的实现文章管理模块重要为管理文章操作所使用,管理文章的权限分为两个部分,一部分为文章创建者的权限,一部分为系统总管理员的权限。文章发布者可以编辑文章、修改文章以及删除文章;管理员可以对已发布的所有文章进行回收、删除、撤销回收以及置顶等功能。下图为文章管理的总流程示意图,在示意图中表明了用户和游客以及管理员如何对文章进行操作,根据下图设计就行系统功能的实现。03后台设计与实现人员管理模块的设计本系统为多用户的管理、发布博客系统。因此,系统采用的是多级管理权限分配。第一级别为超级管理员权限,意思为VP管理员,拥有的系统所有的权限,包括但不仅限于修改所有文章信息、内容,修改所有用户信息、权限等,修改系统配置文件、设置系统是否开启和关闭、设置系统缓存和备份、设置系统的SEO、设置系统的管理员邮箱导航栏、底部栏等。人员管理模块的实现该模块重要实现系统的管理功能,下图是对于管理员登录下对系统的操作。同时具有管理功能的还有注册用户,注册用户可以管理自己发表的文章、自己的个人主页等等。管理员账户不仅仅拥有普通注册账户的功能还拥有修改系统的关键字、SEO权限、管理员邮箱权限、注册反馈权限等等。管理员账户对系统拥有完全的控制权限。可以任意添加和删除其他次一级权限的账户。04PARTFOUR系统关键性功能测试Systemcriticalfunctionaltesting4.1系统登录验证测试4.2文章查询功能测试4.3信息保存功能测试4.4系统浏览功能测试4.5测试结论登陆测试当用户在登录的时候需要选择不同的权限进行登录,如果选择了需要登录的账户说不存在的权限组就会提示无法登录。04系统登录验证测试账户编号账户信息账户密码所在权限组登录权限组登录结果1adminadmin管理员管理员成功2managemanage注册用户注册用户成功3testtest注册用户注册用户成功4test2test2注册用户管理员失败查询功能系统在用户登录后需要根据登录账户的权限可以拥有不同的查询功能,普通注册用户可以查询自己所有发表过的文章,系统管理员用户可以查询系统上所有用户发表的所有文章以及文章的相关信息。04文章查询功能测试保存功能当系统注册用户登录后可以发表文章,验证用户发表的文章在点击提交后时候通过系统后台的提交功能把文章信息添加进相对应的文章数据库表中。若点击提交提示提交成功并且刷新系统后首页文章展示界面显示了相对应的文章题以及相应的文章内容则提交保存成功;若点击提交后显示提交失败或刷新系统后没有显示出提交发表的文章的题目以及相对应的文章信息则文章提交保存功能失败。04信息保存功能测试浏览功能测试系统文章是否能够正常访问、浏览的功能。当系统登录了注册用户后可以在首页看到系统所有文章的部分预览,当登录了管理员用户后可以在首页以及相关分类下看到相应的文章列表和文章内容,当系统没有登录账户的时候可以正常访问首页并浏览首页展示的系统部分文章以及文章的相关内容。若无论系统是否正常登录了账户均可以访问系统并浏览文章及文章内容则文章浏览功能正常;若仅能登录后才能访问系统并浏览系统文章或在系统登录用户账户后依然不能正常访问或浏览系统文章及内容的,则文章
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 税收补充习题
- 中学规划设计
- 几百几十数乘以一位数质量测验口算题
- 2024应急预案编制导则
- 血液制品的种类成分和作用全血成分血血制品
- 重庆2022-2023高二上期学情调研化学试题卷
- 新媒体创新与运用
- 七年级安全课课件
- 妇产科医师培训
- 医疗保险的几个问题
- 上海复旦附中2024年高三最后一模英语试题含解析
- 社会主义现代化建设教育科技人才战略
- 基督徒价值观课件
- 抗凝药物的使用和注意事项课件
- 《大学生爱国主义》课件
- 水利工程测量的内容和任务
- 小学班长培训课件
- +Unit+12大单元教学整体单元分析 人教版九年级英语全册+
- 数控车床编程与加工 课件 任务7 内沟槽加工
- 《快递操作须知》课件
- 管理哲学导论(第3版) 课件 第五章 效率、人性与责任
评论
0/150
提交评论