基于PHP的个人博客系统的设计与开发(含源程序)_第1页
基于PHP的个人博客系统的设计与开发(含源程序)_第2页
基于PHP的个人博客系统的设计与开发(含源程序)_第3页
基于PHP的个人博客系统的设计与开发(含源程序)_第4页
基于PHP的个人博客系统的设计与开发(含源程序)_第5页
已阅读5页,还剩38页未读 继续免费阅读

下载本文档

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

文档简介

基于PHP的个人博客系统的设计与开发摘要博客作为一种新的生活、工作和学习方式,已经被越来越多的人所接受,正在改变传统的社交网络形式。个人出版已经成为每个人都能实现的梦想,因此基于博客的社交网络越来越流行,越来越多的人选择写博客。博客正在影响和改变我们的生活。因此,开发一个功能强大、用户友好的个人博客系统必将有很大的发展。本书使用PHP+Mysql+Apache进行开发,前台使用PHP嵌入的HTML进行页面开发和优化。提示信息完善,界面友好友好;后台使用Mysql开发和管理数据库。开发环境为Apache服务器。、测试等阶段不断改进,最终实现了用户体验好、界面设计精美、功能齐全的个人博客系统。系统将实现用户常用的日志、照片、微博、朋友圈功能。关键词:PHP技术MySQL常用功能个人博客系统。目录TOC\o"1-2"\h\z\u第一章绪论11.1标题与研究意义11.2国外发展现状21.3本文结构2第二章开发工具及相关技术42.1开发工具42.2运行工具42.3相关技术42.3.1PHP的工作原理及相关技术42.3.2MySQL数据库42.3.3Apache服务器52.3.4XHTML5概述2.3.5CSS概述52.3.6JavaScript语言6第3章系统需求分析73.1可行性分析73.2需求分析7第四章系统概要设计114.1整体系统结构114.2系统数据库设计11第五章系统详细设计与实现185.1系统流程设计185.2系统模块设计195.3系统的编码实现29第6章系统测试336.1测试简介336.2系统测试346.3系统分析37总结38字39参考文献40第一章介绍博客管理系统是人们表达个人情感和人与人之间良好沟通的平台。博客有真实的内容。人们可以通过博客记录工作、学习、生活和娱乐的点点滴滴,发表文章和评论。,从而在互联网上建立一个完全属于自己的个人世界,供朋友们浏览和分享,成为当今互联网上最个性化、最平民化的个人展示空间。对于博客用户来说,只要有博客,就会拥有不同于以往的全新网络生活;对于博客服务商来说,要从提供功能向提供综合社会服务转变,建立虚拟社会,负责维护和运营,保障博客的日常生活。因此,开发一个简单的个人博客系统就显得尤为重要。1.1课题来源及研究意义本次毕业设计课题是基于PHP的个人博客的设计与实现。研究主要在互联网、相关期刊和大学校园进行,部分学生在大学校园内随机走访。在网络技术逐渐渗透到社会生活的各个层面的今天,传统的传播方式也面临着变革,网络博客是一个非常重要的方向。基于Web技术的社交网络可以借助互联网在世界各地开展,因此可以在本地或异地进行交流,极大地扩展了交流和交流的灵活性。在当今高速发展的互联网时代,博客已经成为人们不可或缺的一部分。博客,也译作网志、博客或博客,通常由个人管理,不时发布新文章。博客上的文章通常按照发布时间从最新到最旧的倒序排列。许多博客专注于提供有关特定主题的评论或新闻,其他博客则用作更多的个人日记。典型的博客结合了与主题相关的文本、图像、其他博客或其他媒体。能够让读者以互动的方式发表评论是许多博客的重要元素。大多数博客都是基于文本的。博客是社交媒体网络的一部分。博客是继Email、BBS、ICQ之后的第四种在线交流方式。是互联网时代的个人“读者文摘”。以超级为武器的网络日记,代表着一种新的生活方式和工作方式,也代表着一种新的学习方式。1999年末,软件开发人员DaveWiner向所有人推荐了EditThisPage,JeffA.Campbell发布了Velocinews。所有这些服务都是免费的,目的很明确:让更多的人成为博主,上网发表自己的看法和意见。网络作为21世纪信息传输的巨大载体,在信息社会中发挥着不可或缺的作用。随着互联网技术的飞速发展和生活节奏的加快,博客也被越来越多的人选择作为一种交流工具。博客是目前互联网上最流行、最时尚的应用程序。其内容具有时效性,一般分类,可以通过评论等形式实现作者与读者的交流,同时提供符合标准的内容摘要。作为一种新的生活方式、新的工作方式和新的学习方式,它被越来越多的人所接受,正在改变着传统的网络和社会结构。网络信息不再虚假、无法验证;沟通交流有更明确的选择和方向;个人出版已成为每个人都能实现的梦想。博客正在影响和改变我们的生活。在互联网飞速发展的今天,个人博客为人们提供了一个很好的互动交流平台。使用博客的网民数量众多,博客内容丰富多样。人们可以通过博客讨论工作、学习、生活和娱乐,了解自己的近况。任何人都可以参与互动。博客已成为当今最多样化的网络。互动、文明交流的空间和平台。对于网民来说,只要有博客,就可以超越现实生活,拥有不同于以往的全新网络生活。本书基于B/S架构,使用PHP技术、MySQL数据库和Apache服务器。MySQL数据库与PHP和Apache服务器可以形成良好的开发环境,完全可以满足本设计的需要。1.2国外发展现状随着互联网的飞速发展,人们的学术交流不再局限于面对面的语言交流或学术报刊上的文字交流,而是开始在互联网上使用各种方便快捷的方式。如:专业学术体系、专业论坛或电子通讯传播。在数以亿计的中国博主中,博客平均每6-7天更新一次,活跃博主(每周更新的博客数)达到数千万,约15%的用户每周更新博客。与此同时,大约4%的用户每天都在更新他们的博客。在更新的博客中,约45%的博文为500字,约16.5%为500-1000字的博文。欧美日的博客行业起步早于中国,也有一些非常成熟的托管网站。例如,Twitter以其创新的时间表而闻名,受到用户的热烈追捧。推特(Twitter)于2006年7月推出,他的主要竞争对手是Facebook,Facebook是一个社交网络服务,上2004年2月4日线了。Facebook是美国排名第一的照片分享网站,每天上传850万张照片。中国博客起步较晚,但基于BBS和Space的用户群,新浪博客和搜狐博客发展迅速,短短几年用户数已达数千万。1.3本文结构本课题的主要研究对象是个人博客座位的通风。主要目的是解决目前微博管理中存在的问题,为客户提供更便捷的服务,为运营商提供更多的利益。系统采用目前开发的主流技术PHP技术,基于Windows7操作系统开发,使用MySQL数据库。这种开发是根据软件工程的瀑布模型进行的。相应地,论文的结构如下::介绍。包括内容、课题来源介绍、国外发展情况、论文结构等。:开发工具和相关技术。介绍本系统开发中使用的所有工具和技术。:系统需求分析。包括系统的可行性分析,大致的功能模块。:系统的概要设计。包括系统的总体结构、主要功能模块设计和数据库设计。:系统的详细设计和实现。包括系统的整体流程到主要功能模块的详细设计。:系统测试和分析。第二章开发工具及相关技术2.1开发工具ZendStudio是ZendTechnologies开发的PHP语言集成开发环境。它还支持HTML和JS标签,但只提供对PHP语言的测试支持。由于是同一家公司的产品,ZendFramework提供的支持比其他软件要好。ZendStudio是一款屡获殊荣的专业PHP集成开发环境,拥有强大的专业编辑工具和调试工具,支持PHP语法高亮、语法自动填充、书签、语法自动缩进和代码复制等。PHP代码调试工具支持本地和远程调试模式,并支持多种高级调试功能。2.2运行工具XAMPP(Apache+MySQL+PHP+PERL)是一款功能强大的用于搭建XAMPP软件站的集成软件包。这个包的原名是LAMPP,但为了避免误解,最新版本已重命名为XAMPP。可在Windows、Linux、Solaris、MacOSX等操作系统下安装使用,支持多种语言:英文、简体中文、繁体中文、中文、俄文、日文等。2.3相关技术2.3.1PHP的工作原理及相关技术PHP,一个嵌套的缩写名称,是英文HypertextPreprocessingLanguage的缩写。PHP是一种嵌入HTML的语言。PHP有点类似于微软的ASP。它是一种嵌入在服务器端执行的HTML文档中的脚本语言。语言风格类似于C语言,现在被许多程序员广泛使用。PHP的独特语法将C、Java、Perl与PHP自己的语法混合在一起。它可以比CGI或Perl更快地执行动态网页。PHP将程序嵌入到HTML文档中以供执行。与其他编程语言相比,PHP制作的动态页面具有更高的执行效率。与同样嵌入在HTML文档中的JavaScript相比,PHP在服务器端执行,充分利用了服务器的性能;PHP执行引擎也将用户经常访问的PHP程序驻留在内存中。当其他用户再次访问程序时,不需要重新编译程序,只要直接执行内存中的代码即可。这也是PHP高效率的表现之一。PHP的功能非常强大,CGI或JavaScript的所有功能都可以通过PHP实现,并且支持几乎所有流行的数据库和操作系统。2.3.2MySQL数据库MySQL数据库MySQL技术是信息系统的核心技术。它是一种计算机辅助管理数据的方法,研究如何组织和存储数据,以及如何有效地获取和处理数据。它是通过研究数据库结构、存储、设计、管理和应用的基本理论和实现方法,并运用这些理论,对数据库中的数据进行处理、分析和理解的技术。即:数据库技术是一门研究、管理和应用数据库的软件科学。数据库技术是现代信息科学技术的重要组成部分,是计算机数据处理和信息管理系统的核心。数据库技术研究和解决计算机信息处理过程中数据的有效组织和存储问题,减少数据存储冗余,实现数据共享,保证数据安全,高效检索和处理数据库系统中的数据。MySQL是瑞典MySQLAB公司开发的小型关系型数据库管理系统。2008年1月16日被Sun收购。2009年,SUN被Oracle收购。没有人看好Mysql的未来。目前,MySQL广泛应用于中小型互联网。由于其体积小、速度快、总拥有成本低,尤其是开源,许多中小型企业选择MySQL作为数据库来降低总拥有成本。2.3.3A阿帕奇服务器ApacheSoftwareFoundation的开源Web服务器,可以在大多数计算机操作系统中运行。它因其多平台和安全性而被广泛使用,是最流行的Web服务器端软件之一。.它通过简单的API将PHP/Perl/Python等解释器编译到服务器中,快速、可靠且可扩展。Apache服务器是世界排名第一的Web服务器软件。它可以在几乎所有广泛使用的计算机平台上运行。2.3.4XHTML概述可扩展超文本标记语言(ExtensibleHyperTextMarkupLanguage)的缩写。HTML是一种基本的WEB页面设计语言,XHTML是一种基于XML的标记语言,看起来与HTML相似,但有一些细微但重要的区别,XHTML是一种作用类似于HTML的XML。所以本质上,XHTML是一种转换技术,它结合了XML的一些功能和HTML的大部分简单性。2.3.5CSS概述CSS是英文CascadingStyleSheets(层叠样式表)的缩写,是一种用于表达HTML或XML等文档样式的计算机语言。CSS的最新版本是CSS3,它是一种可以真正将网页性能和内容分开的样式设计语言。与传统HTML的性能相比,CSS可以精确控制网页中对象在像素级别的位置和布局,支持几乎所有的字体大小样式,具有编辑网页对象和模型的样式的能力,并且可以进行初步的交互设计。,是目前性能最好的基于文本显示的设计语言。CSS可以根据不同用户的理解能力来简化或优化书写方式,对不同人群具有很强的易读性。2.3.6JavaScript语言JavaScript-SunCorporation的注册商标,是一种基于对象和事件驱动的客户端脚本语言,具有相对的安全性。同时,它也是一种广泛用于客户端Web开发的脚本语言。它常用于为HTML页面添加动态功能,例如响应各种用户操作。最初由Netscape的BrendanEich设计,它是一种动态的、弱类型的、基于原型的语言,具有对类的内置支持。基于JavaScript的ECMAScript标准。JavaScript也可以用于其他情况,例如服务器端编程。一个完整的JavaScript实现由三部分组成:ECMAScript、文档对象模型和字节顺序表示法。第三章系统需求分析需求分析是指了解用户需求,与客户就软件功能达成一致,估计软件风险和评估项目成本,最后形成开发计划的复杂过程。简而言之,需求分析的任务就是解决“做什么”的问题,即充分了解用户的需求,准确表达接受的用户需求。需求分析之所以重要,是因为它具有决策性、方向性和战略性作用,在软件开发过程中具有举足轻重的地位。3.1可行性分析可行性分析是从技术、经济、社会等方面对新系统的发展进行分析和研究,避免投资失误,保证新系统开发的成功。可行性研究的目的是确定问题是否可以在最短的时间内以最低的成本解决。该系统的可行性分析包括以下几个方面:一、经济可行性由于本博客管理系统开发所需的硬件(计算机及相关硬件)和软件环境(PHP+MySQL)很容易从市场上购买或下载,因此系统成本主要集中在本管理系统的开发和维护上,不会给用户造成过大的经济负担,目标系统也不是很复杂,开发周期短,人员经济支出不大。,所以从经济角度开发这个系统是可行的。2、技术可行性本系统采用PHP+Mysql+Apache开发,前台使用PHP嵌入的HTML进行页面开发和管理用户界面,提示信息完善,界面友好友好;后台使用Mysql数据库开发和管理数据库。本系统开发环境采用流行的开源Apache服务器,使用方便,运行稳定,安全可靠。PHP+Mysql+Apache,国际公认的开发黄金组合,已广泛应用于博客系统开发。如网易博客、百度空间、新浪博客等大型博客。综上所述,该系统在技术上是可行的。三、运营可行性该软件是为个人用户开发的。使用本软件的用户为个人。由于界面设计友好,用户只要知道如何上网就可以轻松使用本博客的功能。所以,从以上几个方面的分析来看,开发这个博客是完全可行的。3.2需求分析本系统是一个基于Web的在线博客管理系统。该系统基于Web的工作界面,使互联网爱好者无论身在何处,都可以直接在浏览器中输入、浏览、修改、删除和查看新闻。管理工作。操作使用非常方便,可以通过Web浏览器使用该系统。同时,所有的操作都是基于Web的操作,比如:按钮、文本框等等。所有操作都是通过浏览器完成的。3.2.1本系统是为注册用户开发的基于PHP的个人博客系统,系统用户为注册用户。考虑到个人博客的实用性,本系统采用栏目布局,结合了常用的博客导航栏(包括首页按钮、个人首页、好友、网络游戏等)、全站搜索引擎、头像设置模块、每日推荐和人气。星号作为子模块嵌入到各个主模块的对应位置,方便用户在任意界面对上述各项进行方便快捷的操作。博客主要模块分为注册登录、首页、日志、相册、朋友圈、网络游戏等,基本可以实现日志、相册、微博、微博等的增删改查。用户朋友。功能需求个人博客系统主要需要实现以下基本功能:(1)用户注册和登录这部分功能分为用户注册、用户登录、用户注销三个部分。用户注册:游客将他们的个人信息存储在博客的数据库中。注册时需要填写用户的各种详细信息,包括身份证、真实姓名、密码、性别、生日等辅助信息。凡符合条件者均可注册成功,成为本博客的正式用户。系统接受此信息并将其存储在服务器端数据库中。用户登录:主要用于验证博客用户信息的真实身份,以管理和维护博客。注册用户后,使用个人注册的用户名和密码登录。检测用户的用户名和密码,并赋予他们相应的权限来操作博客。用户注销:登录的用户可以注销并释放自己占用的各种信息资源。(2)微博状态管理用户可以发布、修改、删除自己的状态,朋友可以回复和分享这个状态。(3)物品管理文章管理主要包括文章的发布、查询、浏览、评论、删除等功能。发表文章:注册用户可以发表自己的文章。文章包括主题、文字、表达方式、图片等信息。作者通过各种元素展示他的思想和想法。系统接受此信息并将其存储在服务器端数据库中。文章删除:注册用户可以删除自己发表的文章和各种信息,系统会自动删除服务器端数据库中的这些记录。文章浏览:访问者和注册用户可以根据获得的用户权限,获取存储在服务器端数据存储中的各种文章,并浏览和阅读文章的所有信息,包括标题、文字、表达方式、图片以及其他读者的评论.文章评论:文章的读者可以对自己阅读的文章进行评论和回复,发表自己的看法。系统自动将这些评论存储在服务器端数据库中,并提供给博主和其他读者。文章查询:注册用户可以通过文章标题或作者查询自己想搜索的文章。(4)图片管理图片管理主要分为相册管理和照片管理两部分相册管理:用户可以通过相册管理模块创建、删除、修改和浏览相册图片管理:当用户点击相应相册时,会进入相册的图片管理模块,可以添加、浏览、删除、浏览照片。注册用户可以添加自己喜欢的图片描述,也可以查询浏览系统中的所有图片信息。并且访问者只能浏览博客系统中的所有图片。(5)留言板管理注册用户登录后可以在其他人的博客上留言,经博主同意后发布。同时,博主也可以删除已发布的消息。(6)时刻管理注册用户可以将好友信息添加到朋友圈,在浏览和查询好友信息的前提下删除好友信息。(7)网络游戏设置很多热门的网络游戏,并进入相关的游戏页面。当用户点击游戏时,会跳转到相应的界面。(8)头像管理用户可以通过该模块上传和修改自己的博客头像。(9)好友活动排名通过查询相关数据库,模块可以显示用户好友的活跃度排名和博客的访问量。3.2.3系统用例图除了系统边界、角色和用例之外,用例图中包含的元素是关系。关系包括用例之间的关系、角色之间的关系以及用例与角色之间的关系。由于角色本质上也是一个类,所以它和一个类有着相同的关系描述,即角色之间存在泛化关系。泛化关系的含义是提取某些角色的共同行为,并将其表达为一般行为。下面的用例图描述了系统各个角色与角色和用例之间的关系,如图3-1所示。图3-1用户用例图第四章系统大纲设计4.1系统整体结构针对个人博客系统,本设计主要实现用户注册、文章管理、微博管理、消息管理、评论管理、相册管理、搜索引擎等功能。根据需求分析,设计了个人博客系统的整体架构。系统功能结构图如图4-1所示。图4-1系统功能结构图4.2系统数据库设计4.2.1实体关系图(ER实体关系图:简称ER图,是指数据的基本结构摘要了实体、关系和属性三个基本概念,从而描述了静态数据结构的概念模式。根据以上各节对系统的需求分析和系统设计,规划了数据库实体与本系统使用的实体之间的连接。本系统设计规划了11个实体,分别是注册用户、微博、微博评论、朋友圈、最近访问者、照片、相册、照片评论、日志、日志评论和留言板。主要实体解释属性图如图4-2所示。图4-2注册用户实体属性图日志实体属性图如图4-3所示。图4-3日志实体属性图留言板实体属性图如图4-4所示。图4-4留言板实体属性图根据实体之间的关系,整个系统的ER图如图4-5所示。图4-5系统整体ER图4.2.2根据ER图,建立系统各个数据库之间的关系,如图4-6所示图4-6系统数据库关系4.2.3根据整体ER图,可以设计出如下表结构。数据库中有11张表,表示分别是:USRE、MICROBLOG、MICROBLOG_COMMENT、FRIEND、LATEST_GUEST、PHOTO、PHOTO_LIST、PHOTO_COMMENT、ARTICLE、ARTICLE_COMMENT、BLOG_COMMENT。对应分别为:注册用户表、微博表、微博评论表、朋友圈表、最近访问者表、照片表、相册表、照片评论表、日志表、日志评论表、留言板表。注册用户表的主键是会员号,里面存储了通过登录首页注册的用户信息。作为系统用户的主要角色,会员号也是其他表的外键。详细的表结构设计如表4-1所示。表4-1注册信息表列名数据类型长度首要的关键外键内容空阐明IDINT11是的不不用户身份姓名VARCHAR30不不不用户名真名VARCHAR20不不不真实用户密码VARCHAR10不不不用户密码性别字符1不不不用户性别年龄天影4不不是的用户年龄博客标题VARCHAR50不不是的博客名称流行音乐INT5不不不博客活动微博表的主键是微博号,存储了微博的内容、时间、发布者等信息。详细的表结构设计见表4-2。表4-2微博信息表列名数据类型长度首要的关键外键内容空阐明IDINT11是的不不微博ID作者IDINT11不是的不发布者ID作者VARCHAR30不不不播音员内容文本不不不微博荣子DT约会时间不不不推出日期微博评论信息表的主键是评论ID,其中存储了微博评论的内容、评论者和被评论者、发布时间等信息。详细的表结构设计见表4-3。表4-3微博评论信息表列名数据类型长度首要的关键外键内容空阐明ID整数11是的不不评论编号微博ID整数11不是的不微博ID客人ID整数11不是的不访客证来宾varchar30不不不访客姓名主机ID整数11不是的不微博发布者ID内容文本不不不微博荣子DT约会时间不不不推出日期伊斯瑞德整数4不不不意见回复整数11不是的不回复来自朋友圈信息表的主键用户ID,存储了注册用户好友的详细信息。详细的表结构设计见表4-4。表4-4朋友圈信息表列名数据类型长度首要的关键外键内容空阐明ID整数10是的不不好友编号客人ID整数10不是的不访客证客人姓名varchar30不不不访客姓名主机ID整数10不是的不主ID主机名varchar30不不不所有者名称状态整数1不不不大喊最近访问者表的主键是用户ID,其中存储了朋友最近的9次访问。详细的表结构设计见表4-5。表4-5最近访问者表列名数据类型长度首要的关键外键内容空阐明ID整数10是的不不访客记录ID客人ID整数10不是的不访客证主机ID整数10不是的不主ID时间约会时间不不不参观时间照片信息表的主键是照片ID,该表存储了一张照片的详细信息,详细的表结构设计如表4-6所示。表4-6照片信息表列名数据类型长度首要的关键外键内容空阐明ID整数11是的不不照片身份证姓名varchar30不不不照片名称作者ID整数11不是的不上传者ID作者varchar30不不不上传者子DT约会时间不不不推出日期列表_焦炭11不是的不照片评论表表的主键是用户ID,该表存储了注册用户每张照片的评论详情。详细的表结构设计如表4-7所示。表4-7照片评论表列名数据类型长度首要的关键外键内容空阐明ID整数11是的不不评论编号照片ID整数11不是的不照片身份证作者varchar30不不不播音员作者ID整数11不是的不发布者ID内容文本不不不评论内容子DT约会时间不不不推出日期伊斯瑞德整数4不不不阅读量标题varchar30不不不标题回复varchar30不不不回复来自相册信息表的主键是相册ID,该表存储了注册用户创建的新相册的所有信息。其详细的表结构设计如表4-9所示表4-8专辑信息表列名数据类型长度首要的关键外键内容空阐明ID整数11是的不不专辑编号姓名varchar30不不不专辑名称作者ID整数11不是的不发布者ID作者varchar30不不不播音员子DT约会时间不不不推出日期内容文本不不不专辑内容日志信息表的主键是日志ID,里面存储了日志发布者、内容、发布时间、阅读量等信息。详细的表结构设计见表4-9。表4-9日志信息表列名数据类型长度首要的关键外键内容空阐明ID整数11是的不不日志编号用户身份整数11不是的不用户身份作者姓名varchar20不不不发布者ID标题varchar80不不不日志标题内容文本不不不日志内容子DT约会时间不不不推出日期数数整数4不不0阅读量日志评论信息表的主键是用户ID,其中存储了日志评论的内容、评论者和被评论者、发布时间等信息。详细的表结构设计如表4-10所示。表4-10日志评论信息表列名数据类型长度首要的关键外键内容空阐明ID整数11是的不不评论编号北极光ID整数11不是的不日志编号内容文本不不不评论内容作者varchar30不不不帖子名称作者ID整数11不是的不发布者ID子DT约会时间不不不推出日期伊斯瑞德整数4不不不意见评论标题varchar30不不不评论标题回复整数40不是的不回复来自留言板信息表的主键是留言ID,里面存储了留言板的内容、评论者和评论者、发布时间等信息。详细的表结构设计如表4-11所示。表4-11留言板信息表列名数据类型长度首要的关键外键内容空阐明ID整数11是的不不消息ID客人ID整数20不是的不访客证主机ID整数20不不不主ID内容文本不不不留言内容子DT约会时间不不不推出日期伊斯瑞德整数4不不不意见回复整数11不不不回复来自第五章系统的详细设计与实现详细设计的主要任务是设计各个模块的详细功能、实现算法、所需的本地数据结构等。在以上整体系统设计和数据库设计的基础上,对个人博客系统有了初步的了解后,本章进入详细设计与实现的任务。在这个阶段,需要对整体设计阶段描述的基本功能进行一一描述和实现。5.1系统流程设计根据个人博客的具体要求,设计了相关功能。整体流程如图5-1所示。图5-1系统总体流程图5.2系统模块设计本系统有很多重要模块:用户注册登录、个人主页浏览、相册管理、微博管理、日志管理、搜索引擎、网络游戏、上传修改头像、朋友圈管理、活动排名模块等。下面详细介绍几个主要功能模块。5.2.1源文件:reg.hph功能说明:用户注册模块的功能是本博客的访问者注册为注册用户。用户注册时,必须输入用户名、密码、真实等基本信息。用户名、密码和真实为必填项,用户的“”“密码”和“确认密码”必须相同才能注册,否则会提示用户输入两次密码不一致。通过Javascript本地验证成功后,内容用户完成注册。所有信息无误后,系统会自动在数据库中为该用户生成一个用户ID号。此数字会自动递增并用于唯一标识用户。注册的用户数据存储在USRE表中。用户注册流程图如图5-2所示。图5-2用户注册流程图用户注册运行结果如图5-3所示。图5-3用户注册界面5.2.2源文件:blog_main.php功能说明:博客首页很重要,它不仅是整个博客的第一形象,也是展示个人博客系统布局、艺术、风格和个性的窗口。它包括博客。这些界面的合理组合是布局和美术的重要组成部分,因此个人主页顶部为博客的几个模块设置了快速跳转按钮,可以方便快捷的跳转到相应的界面。通过SELECT语句,用户可以在个人主页浏览好友的最新消息,点击消息后跳转到相应模块进行操作。首页右侧嵌入了搜索、用户头像、今日热点推荐等模块。该模块的运行结果如图5-4所示。图5-4首页模块运行效果搜索子模块在“博客首页”的前提下进行操作,主要由blog_search.php完成。用户可以通过所有四种方式进行搜索,标题等。今天推荐的小侧边栏是使用SELECT从文章表中查询日志标题,并按SubDT升序显示。5.2.3日志管理模块是本系统中最基本、最复杂的核心功能模块。文章管理模块可以分为五个功能部分:发布日志、浏览和查询日志、发布和回复日志评论、删除日志和日志评论、修改日志。1.发布日志发布博客文章主要是为用户提供个人文章或对某些事物的独特见解。通过发表的文章,其他用户可以发表相关评论,以便与访问者进行交流。是一个展示自主的网络交流平台。.发布日志活动图如图5-5所示图5-5发布日志流程图该功能主要由blog_edit.php完成。用户可以选择更改文章中的字体和字体颜色,插入图片,插入表达式,文章编辑完成后可以进行排版和预览。单击发布时,Javascript将验证日志标题是否为空。如果标题为空,会提示“文章标题不能为空,请填写文章标题”。发表文章后,将博客文章信息提交到数据库处理页面(blog_submit.php)并保存在ARTICLE表中。在保存过程中,系统会自动为数据库中的文章生成一个文章ID号。此编号会自动递增并用于唯一标识一篇文章。发布日志页面如图5-5所示。图5-5发布日志页面2.日志管理其他子模块为了方便用户对发表的文章进行操作,我将浏览、查询、修改、评论子模块集成到一个界面中。通过blog_home_1.php实现用户日志列表和概览界面;通过blog_article.php实现日志的详细内容浏览和评论界面;用户对日志的修改接口是通过blog_edit.php实现的。用户通过SELECT语句查询到ARTICLE和ARTICLE_COMMENT表后,就可以浏览发布日志的内容了。通过对数据库的INSERT、DELETE和UPDATE语句的操作,用户可以修改和删除日志,同时,认证用户的用户可以通过该模块浏览和评论日志。评论信息存储在ARTICLE_COMMENT表中。同时,通过ARTICLE表的Count列,界面可以显示日志的阅读量。该模块修改和删除日志的活动图如图5-6和5-7所示图5-6修改日志流程图图5-7删除日志流程图日志管理页面如图5-8所示。图5-8日志管理页面5.2.4功能说明:主文件为blog_photo.php,该模块主要分为相册管理和照片管理两部分1.相册管理源文件是blog_photolist.php。用户可以通过相册管理模块创建新相册和浏览相册。保存过程中,系统会自动为数据库中的相册生成一个相册ID号,相册信息保存在PHOTO_LIST中。相册管理界面如图5-9所示图5-9相册管理页面2.照片管理源文件是blog_addphoto.php和blog_photoshow.php,它们是相册管理下的模块。点击进入相册,跳转到该界面。用户可以在该界面上传、删除、修改照片的描述、查询、浏览等日常操作。用户认证的好友也可以通过此界面对照片进行评论和与用户互动。照片信息和照片评论信息存放在两个表PHOTO和PHOTO_COMMENT中,照片存放在文件夹blog\img\photo\username中。照片管理界面如图5-10所示。图5-10照片管理界面3.上传照片的过程上传照片时,用户必须先指定上传的相册,然后照片必须重命名。名称仅限中文、英文、“_”和数字,上传图片格式仅限主流JPG和NPG。该模块的流程图如图5-11所示。图5-11照片管理流程图5.2.5源文件:blog_friend.php功能说明:在该模块中,用户可以添加好友,浏览和搜索自己的好友,点击好友姓名跳转好友首页。添加的好友信息存储在FRIEND表中。添加好友的流程图如图5-12所示。图5-12添加好友的流程图朋友圈界面采用双栏显示,方便用户浏览好友信息,简洁明了。Moments界面如图5-13所示。图5-13Moments界面5.2.6源文件:blog_game.php功能说明:该模块的注册用户可以点击进入对应的游戏。该模块的界面如图5-14所示。图5-14游戏界面示意图5.2.7由于其他管理模块的功能和行为非常相似,这里不再一一绘制活动图,只简单介绍一下模块:1.微博管理模块源文件:blog_microblog.php功能说明:添加、删除、修改、查看微博、回复微博评论。2.留言板模块:源文件:blog_home_2.php功能说明:好友可以给注册用户留言,用户可以回复消息。3.好友活跃度排名功能说明:根据LATEST_GUEST表循环显示活动排名。4.头像模块源文件:blog_home.php功能说明:修改和查看用户头像。5.配置文件模块源文件:blog_info.php功能说明:显示个人信息5.3系统的编码实现在编码实现阶段,从最初项目的搭建,到前视图层静态页面的编写,再到页面的美术布局,每一步都经历了无数的错误->修改代码->重启服务器->运行进程。最终完成了系统功能的实现。现简要介绍这一阶段的工作。5.3.1的项目部署结构图如图5-15所示。图5-15项目部署结构图5.3.2几个主要的系统界面如下所示。1.用户主页。用户登录的默认页面,主要展示好友动态、全球搜索、今日推荐源、人气明星和通知。整个博客的快速跳转按钮位于顶部栏中。代码:blog_main.php、blog_search.php。主页如图5-17所示。图5-17个人博客首页2.记录。可实现日志、好友评论的增删改查。源代码:blog_home_1.php、blog_article.php、blog_edit.php。页面如图5-18所示。图5-18日志页面3.好友管理。源代码:blog_friend.php4.相册和照片管理。用户可以创建新相册、评论照片以及添加、删除和修改照片。源代码:blog_photo.php、blog_photolist.php、blog_photoshow.php、blog_addphotolist.php、blog_addphoto.php。如图5-19所示。图5-19相册和照片管理页面5.网络游戏。源代码:blog_game.php。第6章系统测试6.1测试简介软件测试是软件开发过程的重要组成部分,是为了发现程序中的错误而执行程序的过程;一个好的测试计划是一个很有可能发现迄今为止没有发现的错误的测试计划;成功的测试是迄今为止发现的测试。测试迄今为止未发现的错误。软件测试是根据软件开发各阶段的规范和程序的局部结构,精心设计一批测试用例,并利用测试用例运行程序,发现程序错误的过程。一般有以下两种测试方法。1.黑盒测试黑盒测试完全不考虑程序部门的结构和处理,只根据规范检查程序是否满足其功能要求。黑盒测试是在程序接口上执行的测试,也称为功能测试。黑盒测试要求测试人员在测试时不能使用与被测系统结构相关的知识或经验,适用于测试系统的功能。黑盒测试的优点是:1)比较简单,不需要懂程序部的代码和实现;2)与软件的实现无关;3)站在用户的角度,很容易知道用户会使用哪些功能,会遇到什么问题;4)根据软件开发文档,也可以知道文档中哪些功能是由软件实现的;5)做软件自动化测试更方便。黑盒测试的缺点是:1)不可能覆盖所有代码,覆盖率低,只能达到总代码的30%;2)自动化测试的可重用性低。该系统在测试阶段使用黑盒测试。2.白盒测试白盒测试将程序视为一个透明的盒子,也就是说,测试人员完全了解程序的结构和处理过程。因此,在测试时,要按照节目部的逻辑测试程序,检查节目中的各个通道是否能按照预定的要求正常工作。白盒测试也称为结构测试。它需要知道程序部门的设计结构和具体的代码实现,并以此为基础设计测试用例。白盒测试的优点是:在代码级别了解设计的测试用例在哪里被忽略,有利于帮助软件测试人员增加代码的覆盖率,提高代码的质量,并发现代码中隐藏的问题。白盒测试的缺点是:1)程序运行会有很多不同的路径,不可能测试所有的运行路径;2)测试基于代码。它只能测试开发者做的是否正确,但无法知道设计是否正确,可能会遗漏一些功能需求;3)当系统很大时,测试开销会很大。除了以上两种测试方式,从是否执行程序来看,分为静态测试和动态测试。软件开发过程按阶段分为单元测试、集成测试和系统测试和验收测试。测试过程分4个步骤进行,即单元测试、集成测试、系统测试和alpha-beta版本测试。无论使用何种测试方法,只要对每一种可能的情况都进行测试,就可以获得完全正确的程序。涵盖所有可能情况的测试成为详尽的测试。但是对于真正的程序,详尽的测试是不可能的。因此,采用了黑盒测试,并采用等价划分法对案例进行测试。6.2系统测试6.2.1测试用例是为特定目标准备的一组测试输入、执行条件和预期结果,以测试程序是否满足特定要求。下面将记录本次系统测试过程中的几个主要测试用例,如表6-1和表6-2所示。表6-1用户注册模块测试用例用例描述用户注册模块测试测试要求访客在注册界面输入信息,点击“提交”测试用例1.什么都没有输入2.输入用户名1233.输入用户名haifeng4.输入密码12345,确认密码后输入234565.输入两次密码123456.进入真正的“海丰”预期产出1.提示“请输入用户名”信息,停留在注册页面2.提示“用户名必须由6-15个字母和数字组成”3.提示“请填写密码”4、提示“两个密码不一致,请重新输入”5.提示“请输入真实”6.提示“注册成功”,页面跳转到登录页面实际输出1.提示“请输入用户名”信息,停留在注册页面2.提示“用户名必须由6-15个字母和数字组成”3.提示“请填写密码”4、提示“两个密码不一致,请重新输入”5.提示“请输入真实”6.提示“注册成功”,页面跳转到登录页面表6-2日志管理测试用例用例描述用户日志管理模块所有功能测试测试要求以注册用户身份登录博客测试用例1.点击主页导航栏中的“个人主页”2.点击下拉菜单中的“笔墨香”3.点击任何已发布的日志4.点击编辑日志5.点击完成修改按钮6.点击“确认”7.点击日志删除按钮8.点击弹出窗口下的“取消”9.继续点击“确认”10.点击“写新日志”按钮11、测试日志书写框的功能(如字体颜色)12.点击完成13、填写标题“123”,点击完成14.切换用户浏览日志和评论15.切换原用户16.点击通知栏预期产出1.跳转到“个人主页”页面,显示个人主页页面的各项功能2.跳转到主日志界面3.跳转到日志浏览界面4.跳转到日志编辑界面,显示日志编辑框5.提醒“确认提交/修改本文”6.显示修改成功并跳转到主日志页面7.提示“确定删除吗?”8、“删除确认”提示框消失,页面不变9.显示删除成功并跳转到日志首页10.跳转日志写入界面11.成功展示12.提示“请填写日志标题”13、提示日志上传成功,跳转到日志浏览界面14.进入日志浏览界面,只显示评论15、通知栏提示“***朋友评论了你的日志123”16.跳转到日志浏览界面,可以查看好友评论实际输出1.跳转到“个人主页”页面,显示个人主页页面的各项功能2.跳转到主日志界面3.跳转到日志浏览界面4.跳转到日志编辑界面,显示日志编辑框5.提醒“确认提交/修改本文”6.显示修改成功并跳转到主日志页面7.提示“确定删除吗?”8.显示删除成功并跳转到日志首页9、“删除确认

温馨提示

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

评论

0/150

提交评论