博客系统的开发与利用

摘 要

博客是现代发展起来的用户交流的一个软件功能,它逐渐成为了我们生活中不可分离的一个部分,并且在工作布置和学习中越来越得到人们的青睐,并且其不断的发展,改变了我,人们传统的交流方式,形成一个比较新式的一个网络交流模式。现在有很多人使用,以博客为主的。社交平台。博客影响着人们的生活方方面面,因此对博客功能的开发和不断的深挖其功能。在社会需求的推动下,它将会有很大的发展潜力。
本网站采用了PHP+Mysql+Apache进行开发,前台用HTML嵌入PHP进行页面开发和优化;后台采用Mysql开发和管理数据库。开发环境为Apache服务器。
经过需求分析、概要设计、详细设计、实现和测试等阶段的不断完善,最终实现了用户更加多元化的体验。该系统会实现用户个性化常用的功能。

关键词:PHP技术 MySQL 常用功能 个人博客系统。

目 录

第一章 绪论 1
1.1课题来源及研究意义 1
1.2国内外发展现状 2
1.3本论文的结构 2
第二章 开发工具及相关技术 4
2.1开发工具 4
2.2运行工具 4
2.3 相关技术 4
2.3.1 PHP的工作原理及相关技术 4
2.3.2 MySQL数据库 4
2.3.3 Apache服务器 5
2.3.4 XHTML概述 5
2.3.5 CSS概述 5
2.3.6 JavaScript语言 6
第三章 系统的需求分析 7
3.1可行性分析 7
3.2需求分析 7
第四章 系统的概要设计 11
4.1系统总体结构 11
4.2系统数据库设计 11
第五章 系统的详细设计与实现 18
5.1系统的流程设计 18
5.2系统模块设计 19
5.3系统的编码实现 29
第六章 系统的测试 33
6.1测试简述 33
6.2系统的测试 34
6.3系统的分析 37
总 结 38
谢 辞 39
参考文献 40

第一章绪论

博客管理系统是一个为用户提供抒发情感,并能互相交流的一个服务平台,在博客中更贴近的是一份真实。用户可以在博客里记录自己的生活,学习以及自己在生活中遇到的所有的事,并且通过发表文章和评论,去建立一个属于自己的快乐天地,还可以把自己的快乐传递给自己的朋友,因此博客成为当下最有个性和贴近用户的一个平台。从用户角度,有一个博客就有了与众不同的网上生活;从运营商角度,给用户提供全天候人性化服务,建立一个虚拟的世界,并保证用户的日常生活就是运行的宗旨。其次简易化是开发一个博客系统的核心部分。

1.1课题来源及研究意义
毕业设计是从PHP的个人博客的设计与实现为出发点,通过网络,查阅相关期刊展开调研,还随机采访校园的同学以及校外的路人得到大量数据。
如今人们生活的一切都离不开网络,伴随着传统方式的不断消失,博客的出现提供了新的航标。在Web技术的推动下,借助互联网,社交不分时间以及空间,充分体现了其灵活性。如今博客已经成为人们生活组成的重要部分,博客又称为网络日志,部落格等,是博客主更新自己动态的文章的一个网站。博客里面更新的动态一般都是推送到最显眼的板块,方便更新的传播。一般的博客是官方账号发表动态,而更多是用做个人日记表达自己的生活。一个博客必须包括相应的图片,文字说明或者相关的网络链接,其次必须提供读者互动的功能,读者的反馈意见也是重要的部分。博客英译“Blog”;是在Email,ICQ,BBS之后的第四代社交表现形式,是一种基于超级链接为核心,它是新的生活,学习工作方式,代表的是科技的进步。
1999年末,软件开发商Dave Winer推出Edit This Page网站,Jeff A. Campbell发布了Velocinews网站。他们提供免费的服务,因此很多人成为博客。
在技术不断成熟,生活节奏不断加快的21世纪,博客在生活中的应用越来越多。博客的内容具有即时性,作者可以即时与读者进行互动,提供正确的观点。作为一种全新的方式正在被更多的人所接受,它的出现改变了现有的社交方式和传统的网络结构;博客提供最真实且可验证的消息,让交流的方向与话题的选择都真实可靠,可以满足自媒体出版的愿望,博客就这样不断的影响我们生活的点点滴滴。
在网络发展如此迅速的今天,博客提供的服务吸引了众多的用户,博客的内容也变得多样化,用户可以在博客里找到符合自己需求的娱乐方式,还可以讨论自己的心情以及工作遭遇。博客多元提供的是一个多元化的交流平台,对于任何用户都是全新体验,它的作用是不可代替的。
在B/S架构的基础上,采用PHP、MySQL数据库和Apache服务器等技术,ySQL数据库搭配PHP和Apache服务器形成独特的开发环境,技术要求就可以得到解决。

1.2国内外发展现状
如今人们学术交流不再满足于文字或者学术报刊的常规交流,在互联网的推动下更多的快捷方式出现,例如:专门的BBS,电子邮件或者学术系统。在如今的中国活跃的博客用户平均至少67天就会更新博客,而活跃的博客数量更是庞大,据统计约15%的博客每周更新,4%的用户每天都在更新。在已有的数据中可以分析出,大概有45%的博客文章更新的字数在500以内,而约有16.5%的博客文章的字数在5001000这个范围内,博客主只有极少数会更新长文章。
国外的Blog产业早于国内,他们有成熟的经验和管理体系,比如著名的推特(Twitter),它自诞生就收到追捧,同样推特的最大的对手Facebook也有成熟的体系,自诞生到美国最大的照片分享平台,如今平台每天分享照片的数量可以达到八百五十万张,占据绝对的市场。
国内相关的平台出现比较晚,随着时代发展出现了新浪与搜狐等平台,经过几年的发展他们的用户数量也有千万级了,与国外还有一定的差距。

1.3本论文的结构
研究课题围绕个人博客通风,面对目前博客管理中存在的问题提出见解,通过研究为用户以及经营者提出更好的方案。系统的主体包含PHP技术,windows7系统开发,MYSQL数据库等。
开发流程采取软件工程的瀑布模型,论文结构如下:

第一章:绪论。:绪论。其中包括,课题来源简介、国内外发展情况、论文结构。
第一章:开发工具技术简介。简介系统开发需要所有工具和技术。
第二章:系统的需求分析。包括系统的可行性分析,功能模块简介。
第三章:系统的概要设计。包括系统的总体结构,功能模块和数据库。
第四章:系统的详细设计与实现。包括系统的总体流程,
第五章:主要功能模块的详细设计。
第六章:系统的测试与分析。

第二章开发工具及相关技术

2.1开发工具
Zend Technologies开发的PHP语言集成开发环境需要Zend Studio,Zend Studio也支持HTML和JS标签,但只对PHP语言提供测试支持。由于产品是来自相同的公司,因此Zend Framework兼容性更好。Zend Studio是专业PHP集成开发环境,内部提供各类专业工具,支持语法自动填充,PHP语法加亮显示,书签和代码复制等服务,内部功能强大支持许多高级调试。
.2运行工具
XAMPP(Apache+MySQL+PHP+PERL)是专业建 XAMPP 软件站集成软件包。原名LAMPP,最新的几个版本改名为 XAMPP 。它可以运行在Windows、Linux、Solaris、Mac OS X 等操作系统下,支持多语言如:简体中文、英文、繁体中文、日文等。

2.3 相关技术
2.3.1 PHP的工作原理及相关技术
PHP与微软的ASP相似,是一种HTML内嵌式的语言,都是在服务器端执行的嵌入HTML文档的脚本语言,语言风格又接近C语言,流行于程序员编写开发。
PHP包含C、Java、Perl以及PHP自创语法。执行动态网页优于CGI和Perl。相比于其它语言,PHP是将程序嵌入到HTML文档中,这样动态执行更快,与JavaScript脚本语言相比,PHP在服务器端执行,能充分利用服务器。它的高效性体现在PHP执行引擎会将用户经常访问的PHP程序驻留在内存中,其他用户再一次访问这个程序时不需要再初始化,而是直接调用相关指令直接执行。
PHP功能强大,包含所有CGI或者JavaScript的功能,支持绝大多数现有的数据库以及操作系统。
.3.2 MySQL数据库
MySQL 数据库技术是信息系统的核心之一,用于辅助管理数据,它通过对数据的存储,处理数据实现对数据库数据设计,存储,管理,和利用而形成的一种方法,并用相关理论达到对数据库的数据进行分析,处理的技术。数据库是信息科学技术的核心,是计算机处理和管理系统的重要组成部分。数据库技术了解决怎么处理大量信息处理与分析和存储的问题,及在数据库系统中通过减少数据存储冗余、达到数据共享、并且使数据安全能高效地检索和处理。瑞典MySQL AB公司开发MySQL,之后该公司于2008年被sun公司收购,而在2009年SUN公司又被Oracle收购。MySQL的前途一波三折,直到后来被应用在Internet上的中小型网站中。凭借它速度快、体积小、成本低,尤其是开放源码的优势,选择了MySQL作为网站数据库以达到节约成本的目的
2.3.3 Apache服务器
由Apache软件基金会开发的开放源码的网页服务器Apache HTTP Server(简称Apache),凭借其安全性和多平台性,它被很多操作系统都应用,是最流行的Web服务器端软件之一。它的优点是速度快、运行可靠还可以进行简单的API扩展,把PHP/Perl/Python等解释器写入到服务器里面。目前,Apachehttp server是使用量最高的Web服务器软件。它几乎存在我们常见的所有计算机上面。

2.3.4 XHTML概述
XHTML可缩写为The Extensible HyperText Markup Language(可扩展超文本标识语言)。XHTML是一个基于XML的标记语言,一种基本的WEB网页设计语言,内容与HTML接近,但有一些小但却重要的差别。从本质上说,XHTML是中间过渡技术,包含XML的功能和许多HTML的技术。
2.3.5 CSS概述
Cascading Style Sheets(层叠样式表单)简称CSS,它用来表示HTML或XML等不同的计算机语言。
CSS目前已经更新到CSS3,完全可以实现网页表现与内容分离。与传统HTML相比,CSS功能强大到能对网页中对象的位置进行精确排版,并且兼容所有字体格式,支持编辑网页对象和模型样式,对其进行初步交互设计。CSS能针对用户的不同而简化写法,真加其操作性,是现存最具优势的设计语言。
2.3.6 JavaScript语言
JavaScript-Sun公司的注册商标,对类和对象进行包装的客户端脚本语言,广泛用于客户端Web开发,如给HTML网页添加动态功能。它诞生于网景公司(Netscape)Brendan Eich,是一种弱类型、基于原型,动态的语言,内置支持类的包装和实现。
ECMAScript标准基于JavaScript来制定。JavaScript可用在其他环境,如服务器端编写代码。JavaScript由三个部分组成:字节顺序记号,ECMAScript、文档对象模型。

第三章系统的需求分析

鉴于软件功能能否用户需求达成一致,对软件风险进行评估,形成的概述简称需求分析。其目的就是解决“做什么”的问题,然后根据用户的实际情况去达成用户的需求,从而减少项目的风险。这是一个重要的过程,因为它能决定发展的方向以及未来的战略,并影响整个项目的进度。
3.1可行性分析
可行性分析(Feasibility Analysis),在经过实际调用后,根据调研后的数据来权衡开发的可行性与必要性。对新系统从经济效益,技术难度,社会影响方面进行分析研究,避开在投资与开发过程中的人为错误,保证新系统能成功面世。并在最短时间确定过程可能遇到的问题是否可以被解决。本系统的可行性主要是下面几个方面:
1、经济可行性
开发博客是软件与硬件的结合,相应的的软件与硬件都能在市场上买到,所以主要的成本集中在前期开发与后期维护上,并且开发周期不长,能节约大量的人员费用支出,将更多的资金用于本管理系统的开发,因此从实际的经济角度出发是没有问题的。
2、技术可行性
用PHP+Mysql+Apache技术进行环境开发,前台能用HTML嵌入PHP对页面进行设计和控制用户界面,不仅能提示信息完成情况,更多是界面富有亲和力;后台则用Mysql数据库技术对数据库开发与管理。之后本系统会实现Apache服务器更方便、更稳定和安全可靠。PHP+Mysql+Apache的组合用在博客系统的开发如鱼得水。常见的有百度空间、网易博客、新浪博客等博客网站。所以本该系统开发不存在技术问题。
3、运行可行性
本软件开发对用户主要是针对个人,凭借平台的友好性,用户可以很快就熟练的在这平台使用相应的博客功能,综合上面几个方面,开发本博客是可行的。

3.2需求分析
本系统是使用方便,与传统的Web又有本质的区别,能满足用户无论何时何地对时时新闻进行录入、查阅,浏览、修改、删除、等功能。操作十分便捷,通过Web浏览器就能访问本系统,并且所有的功能都来源于Web的操作方式,拥有文本框,链接、按钮等一系列功能。

3.2.1系统定义
鉴于系统使用的个性化,系统采用分栏布局使结构更清晰,博客导航栏(包括首页、好友、个人主页、在线游戏等功能块)、头像设置模块、全站搜索引擎、
每日的热点推荐会嵌入到各个相应的模块,方便用户进行访问以及进行相应的操作。博客的主模块分为首页、注册登录、日志、相册、好友圈、小游戏等。
3.2.2功能需求分析
个人博客系统的基本功能:
(1)用户注册和登录
功能包括用用户退出,户注册、用户登录三个部分。
用户注册:新用户信详细信息,包括id、真实姓名、Password、性别、生日、其它辅助信息存储到数据库中。合法的用户注册成功,成为本博客的正式用户。
用户登录:验证博客网站用户的真实身份,保证用户信息的安全性,也便于博客网站环境监管。用户用密码登录到平台,只有用户自己能登陆自己的网站,
并提供给用户密码忘记找回的功能。
用户退出:退出登陆的用户可以释放服务器资源,提高服务器的工作效率。
(2)微博状态管理
用户可以在自己的账户发布自己的动态,系统还提供修改删除等基础服务,白白并且提供用户好友互动的功能。
(3)文章管理
功能包括文章的浏览、发表、查询、评论和删除等功能。
文章的发表:用户根据自己的爱好发布文章,系统将这些信息存储在服务器端的数据库中。
文章的删除:用户可以删除以前发表的文章和信息,同时服务器端数据库中也会删除信息,保障用户权益。
文章的浏览:访客和注册用户拥有不同的权限获取服务器端数据存储的不同的文章信息,包括表情、图片,标题、正文、以及其它用户的留言评论。
文章的评论:浏览者可以根据自己的看法去评论以及回复所阅读的文章,服务器端的数据库将这些评论保存,让读者随时可见。
文章的查询:用户可以搜索关键字来查询要寻找的文章。
(4)相册管理
用户通过相册功能对相册新建、删除、修改和浏览相册,以及访问权限设置。用户可以对图片进行描述记录图片背后的信息,并对访问者公开。
(5)留言板管理
注册用户在线可以在他人的博客中留言,留言会被自动检测,合格就会记录在博客的信息中,并可以1对外公开。
(6)朋友圈管理
系统提供互加好友的功能,并通过浏览好友的动态增加交互性,也可以对好友进行拉黑,删除,特别关心。
(7)在线游戏
提供游戏小程序,记录相关游戏数据并对好友数据进行排序,提供空闲时间的娱乐资源。
(8)头像管理
该功能让博客主选择自己独特的头像表达自己。
(9)好友活跃度排名
通过后台数据分析,公布博客好友之间的访问热度,让用户产生竞争心态,提高平台的活跃率与流量。

3.2.3系统用例图
例图包含系统边界、角色和用例,另外以及相应的关系。关系包括用例之间的关系,角色之间的关系,用例和角色之间的关系。角色本质上与类相同,即角色之间存在泛化关系,泛化关系指把相同的关系提取出来记为通用关系,如下图清晰的反应各个之间的关系例,如图3-1所示。
在这里插入图片描述

图3-1 用户用例图

第四章系统的概要设计

4.1系统总体结构
根据个人博客系统本设计主要实现用户注册、文章管理、微博管理、留言管理、评论管理相册管理和搜索引擎等功能。
根据需求分析,设计出个人博客系统的总体结构。系统功能结构图如图4-1所示。

在这里插入图片描述

图4-1 系统功能结构图

4.2系统数据库设计
数据库设计,数据库需求分析,数据库在一个信息管理系统的角色非常重要,数据库结构将直接对应用系统的效率以及后期效果产生影响。设计合理的数据库可以提高数据进出数据库,并且保证数据在传输过程中不会出错。用户的需求具体体现在各种信息的提供、保存、更新和查询,就涉及到输入输出。对数据的收集,数据的整理分析。形成一个数据字典,在后面就可以根据该字典进行访问。

4.2.1实体-联系图(E-R图)
实体联系图:简记E-R图,指以实体、关系、属性三个基本概念概括数据的基本结构,从而描述静态数据结构的概念模式。综合上面数据的分析以及总结,得到数据库实体及实体间的联系。
总结设计出本系统的实体共有11个,分别是注册用户、相片评论、微博、最近访客、微博评论、朋友圈、相片、相册、日志、评论和留言板,下面对几个主要的实体进行说明
注册用户实体属性图如图4-2所示。

在这里插入图片描述

图4-2 注册用户实体属性图

日志实体属性图如图4-3所示。
在这里插入图片描述

图4-3 日志实体属性图

留言板实体属性图如图4-4所示。
在这里插入图片描述

图4-4 留言板实体属性图

根据个实体之间关系可知,整个系统的E-R图如图4-5所示。
在这里插入图片描述

图4-5 系统总E-R图
4.2.2系统数据库关系
根据E-R图,建立系统各个数据库之间的关系,如图4-6所示
在这里插入图片描述

图4-6系统数据库关系
4.2.3数据库表结构设计
根据总体的E-R图,构建以下结构。数据库中共11张表格,表明分别为: MICROBLOG,USRE,MICROBLOG_COMMENT,FRIEND,LATEST_GUEST,PHOTO,PHOTO_LIST,PHOTO_COMMENT,ARTICLE,BLOG_COMMENT ,ARTICLE_COMMENT。分别对应:微博表,注册用户表,微博评论表,朋友圈表,最近访客表,相片表,相册表,相片评论表,日志表,留言板表,日志评论表。
注册用户表的主键是会员号,存储了通过登陆主页注册的用户信息,作为系统使用者中的一个主要角色,会员号是外键。其详细表结构设计如表4-1 所示。
表4-1 注册信息表
列名 数据类型 长度 是否主键 是否外键 允许空 说明
ID INT 11 是 否 否 用户ID
Name VARCHAR 30 否 否 否 用户名
TureName VARCHAR 20 否 否 否 用户真实姓名
Password VARCHAR 10 否 否 否 用户密码
Sex CHAR 1 否 否 否 用户性别
Age TINYING 4 否 否 是 用户年龄
BlogTitle VARCHAR 50 否 否 是 博客名字
Pop INT 5 否 否 否 博客活跃度

微博表的主键是微博号,存储了微博发布的内容、时间、发布者等信息。详细表结构设计如表4-2所示。
表4-2 微博信息表
列名 数据类型 长度 是否主键 是否外键 允许空 说明
ID INT 11 是 否 否 微博ID
AuthorID INT 11 否 是 否 发布者ID
Author VARCHAR 30 否 否 否 发布者
Content TEXT 否 否 否 微博内容
SubDT DATETIME 否 否 否 发布时间

微博评论信息表的主键是评论ID,存储了微博评论的内容、评论者与被评论者、发布时间等信息。其详细表结构设计如表4-3所示。
表4-3微博评论信息表
列名 数据类型 长度 是否主键 是否外键 允许空 说明
ID int 11 是 否 否 评论ID
MicroBlogID int 11 否 是 否 微博ID
GuestID int 11 否 是 否 访客ID
Guest varchar 30 否 否 否 访客名字
HostID int 11 否 是 否 微博发布者ID
Content text 否 否 否 微博内容
SubDT datetime 否 否 否 发布时间
Isread int 4 否 否 否 访问量
Reply_To int 11 否 是 否 回复来自于

好友圈信息表的主键用户ID,存储了注册用户好友的详细信息。其详细表结构设计如表4-4所示。
表4-4 好友圈信息表
列名 数据类型 长度 是否主键 是否外键 允许空 说明
ID int 10 是 否 否 好友ID
GuestID int 10 否 是 否 访客ID
GuestName varchar 30 否 否 否 访客名字
HostID int 10 否 是 否 主人ID
HostName varchar 30 否 否 否 主人名字
State int 1 否 否 否 标注

最近访客表的主键是用户ID,该表存储了最近9个好友来访。详细表结构设计如表4-5所示。
表4-5 最近访客表
列名 数据类型 长度 是否主键 是否外键 允许空 说明
ID int 10 是 否 否 访客记录ID
GuestID int 10 否 是 否 访客ID
HostID int 10 否 是 否 主人ID
Time datetime 否 否 否 来访时间

相片信息表的主键是相片ID,该表存储了一张相片的详细信息,详细表结构设计如表4-6所示。
表4-6 相片信息表
列名 数据类型 长度 是否主键 是否外键 允许空 说明
ID int 11 是 否 否 相片ID
Name varchar 30 否 否 否 相片名
AuthorID int 11 否 是 否 上传者ID
Author varchar 30 否 否 否 上传者
SubDT datetime 否 否 否 发布时间
List_ carchar 11 否 是 否

相片评论表表的主键是用户ID,此表存储了注册用户每一张相片的评论详细信息。详细表结构设计如表4-7所示。

表4-7 相片评论表
列名 数据类型 长度 是否主键 是否外键 允许空 说明
ID int 11 是 否 否 评论ID
PhotoID int 11 否 是 否 相片ID
Author varchar 30 否 否 否 发布者
AuthorID int 11 否 是 否 发布者ID
Content text 否 否 否 评论内容
SubDT datetime 否 否 否 发布时间
Isread int 4 否 否 否 阅读量
Title varchar 30 否 否 否 标题
Reply_To varchar 30 否 否 否 回复来自于

相册信息表的主键是相册ID,此表储存了注册用户新建相册的所有信息。其详细表结构设计如表4-9所示
表4-8 相册信息表
列名 数据类型 长度 是否主键 是否外键 允许空 说明
ID int 11 是 否 否 相册ID
Name varchar 30 否 否 否 相册名
AuthorID int 11 否 是 否 发布者ID
Author varchar 30 否 否 否 发布者
SubDT datetime 否 否 否 发布时间
Content text 否 否 否 相册内容

日志信息表的主键是日志ID,储存了日志发布者、内容、发布时间、阅读量等信息。其详细表结构设计如表4-9所示。
表4-9日志信息表
列名 数据类型 长度 是否主键 是否外键 允许空 说明
ID int 11 是 否 否 日志ID
UserID int 11 否 是 否 用户ID
AuthorName varchar 20 否 否 否 发布者ID
Title varchar 80 否 否 否 日志标题
Content text 否 否 否 日志内容
SubDT datetime 否 否 否 发布时间
Count int 4 否 否 0 阅读量

日志评论信息表的主键是用户ID,存储了日志评论的内容、评论者与被评论者、发布时间等信息。其详细表结构设计如表4-10所示。
表4-10日志评论信息表
列名 数据类型 长度 是否主键 是否外键 允许空 说明
ID int 11 是 否 否 评论ID
ArcticleID int 11 否 是 否 日志ID
Content text 否 否 否 评论内容
Author varchar 30 否 否 否 发布名字
AuthorID int 11 否 是 否 发布者ID
SubDT datetime 否 否 否 发布时间
Isread int 4 否 否 否 访问量
Comment_Title varchar 30 否 否 否 评论标题
Reply_To int 40 否 是 否 回复来自于

留言板信息表的主键是留言ID,存储了留言板的内容、留言者与评论者、发布时间等信息。其详细表结构设计如表4-11所示。
表4-11留言板信息表
列名 数据类型 长度 是否主键 是否外键 允许空 说明
ID int 11 是 否 否 留言ID
GuestID int 20 否 是 否 访客ID
HostID int 20 否 否 否 主人ID
Content text 否 否 否 留言内容
SubDT datetime 否 否 否 发布时间
Isread int 4 否 否 否 访问量
Reply_To int 11 否 否 否 回复来自于

第五章 系统的详细设计与实现

详细的设计理念是关于设计的项目中每个环节的具体介绍和操作程序,其内容架构是遵循一定的规范,在算法中可视化体现。在前面做了相关方面的内容阐述包括系统的设计和数据库的搭建,对于博客的系统和数据库搭建有了一个初步的情况了解,在本章要引入详细设计的具体概念,为了更好的实现目标。本章将会作详细介绍,将其功能按结构顺序进行描述。
5.1系统的流程设计
依据博客的具体需求展现,来对总体功能进行阐述。总体流程如图5-1所示。
在这里插入图片描述

图5-1 系统总流程图
5.2系统模块设计
在这个系统有很多方面的体现,包括用户的基本信息,个人主页、个人主页相册、日常记录、浏览器、娱乐项目、朋友圈动态等,对其中几个重要的方面进行详细描述。

5.2.1用户注册模块
源文件:reg.hph
功能描述:使用的用户在登录之前要对自身的信息进行验证,才会形成登录账号。注册的信息需要保证真实性进行身份认证,包括注册账号、自身的真实姓名等,尤其是在本人密码方面,密码要输入两次才能进行账号确认,两次不一致就会被要求重新输入,再通过Javascript确定后就有登录账号了。这个数据会存储到用户数据库中的USRE表,只针对注册人使用。
用户注册流程图如图5-2所示:
在这里插入图片描述

图5-2 用户注册流程图
用户注册的运行结果如图5-3所示。
在这里插入图片描述

图5-3 用户注册界面

5.2.2个人博客首页模块
源文件:blog_main.php
对于信息展现主要是在首页的当中,所以博客的首页板块是非常关键的,包括博客的官方网首页的展现,个人首页的展现。尤其是在个人的展现之中,会体现出其个性化的一个特点,然而这个性化的特点也是博客功能的一个展现。对博客首页的页面布局要注重合理性和注意它的美观性。并且在个人主页的。见面会涉及跳转按钮到博客端。就可以看到博客的官方首页界面。该模块的运行结果如图5-4所示。
在这里插入图片描述

图5-4 首页模块运行效果图
5.2.3日志管理模块
日志管理的功能运用在该系统中是比较基础的,但是对其的管理和技术的复杂程度是比较核心的祝福,难管理的一个功能板块。对其的功能板块可以转化为文章管理的模式,个人发布的日志,浏览日志的数据,用户在此版块中所发表的评论。和删除的功能和修改的功能5个方面的内容
1.发布日志
发布的日志文章主要是个人对某些事物的见解,将其放在这个平台上,供其他用户发表相关的评论。以此达到博客之中相互交流的一个目的,是一种网络交流的一种形式。 发布日志活动图如图5-5所示
在这里插入图片描述

图5-5 发布日志流程图

这个功能主要由blog_edit.php完成。用户根据自身的需要进行排版和预览。当点击发布后,Javascript会对日志标题这个不为空的项进行验证,发表文章后,提交博客文章信息到数据库(blog_submit.php)并保存在ARTICLE表中。并且文章会有一个ID编号,用来唯一标识一篇文章。发布日志页面如图5-5所示。
在这里插入图片描述

图5-5 发布日志页面

2.日志管理其他子模块
为了便于文章的浏览查询和修改评论。各种的功能,关于日志管理的方面的,都会整理在一个网页界面。用户日志列表与概况、内容浏览和评论、日志的修改通过blog_home_1.php实现;在通过SELECT语句查询ARTICLE和ARTICLE_COMMENT两个表,用户可以浏览已发布日志的内容。如图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\用户名 这个文件夹中。相片管理界面如图5-10所示。
在这里插入图片描述

图5-10 相片管理界面

3.上传相片的流程
该模块的流程图如图5-11所示。
在这里插入图片描述

图5-11 相片管理流程图
5.2.5朋友圈模块
源文件:blog_friend.php
添加好友的流程图如图5-12所示。
在这里插入图片描述

图5-12 添加好友流程图

朋友圈界面如图5-13所示。
在这里插入图片描述

图5-13 朋友圈界面

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项目部署结构
系统在PHP中开发时的项目部署结构图如图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.php
4、相册与相片管理。用户可以新建相册、评论相片和对相片的增删改查。源代码:blog_photo.php、blog_photolist.php、blog_photoshow.php、blog_addphotolist.php、blog_addphoto.php。如图5-19所示。

在这里插入图片描述

图5-19 相册与相片管理页面
5、在线游戏。源代码:blog_game.php。

第六章系统的测试

6.1测试简述
软件测试是不可缺少的,为了解决程序的问题。具体有下述方法。
1、黑盒测试
黑盒测试顾名思义是将程序的内部放在“黑盒”之中,无法了解其结构和处理过程。黑盒测试又被叫做功能测试,要求测试者不使用相关的知识或经验。
优点有:
1)较为简易;
2)很容易了解用户的喜好与反馈;
3)可以掌握软件实现了文档中的哪些功能;
4)方便进行自动化测试。
缺点有:
1)代码的覆盖率较低,大概只有30%;
2)自动化测试的复用性较低。
在测试阶段,本系统使用黑盒测试。
2、白盒测试
白盒测试与黑盒测试相反,可以充分了解程序的结构和处理过程。白盒测试又被叫做结构测试。要求测试者了解程序内部的设计结构。
优点有:
增加覆盖率,找到代码中隐藏的问题。
缺点有:
1)无法测试程序全部的运行路径;
2)只能测试开发人员做的是否正确,无法知道设计是否正确;
3)系统庞大时,开销加大。
除了以上的测试方法,还有静态测试、动态测试、单元测试、集成测试和系统测试验收测试。测试过程分四个步骤,即单元测试、集成测试和系统测试及α-β版测试。
不管使用哪种方法,只要对每一种可能的情况都进行测试,就可以得到完全正确的程序。但就实际程序而言,穷尽测试是无法实现的。所以我们使用黑盒测试,采用等价划分法。
6.2系统的测试
6.2.1测试用例
下面将记录在本次系统测试过程中的几个主要测试用例,如表6-1和6-2所示。
表6-1用户注册模块测试用例
用例说明 用户注册模块的测试
测试需求 访客在注册界面输入信息并点击“提交”
测试用例 1、什么都没有输入
2、输入用户名123
3、输入用户名haifeng
4、输入密码12345,确认密码输入23456
5、两次输入密码12345
6、输入真实姓名“海峰”
期望输出 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、“确认删除”提示框消失,页面维持不动
10、跳转日志编写界面
11、成功显示
12、提示“请填写日志标题”
13、提示日志成功上传并跳转日志浏览界面
14、进入该日志浏览界面并显示只可评论
15、通知栏提示“***好友评论了你的日志123”
16、跳转至日志浏览界面,可以查看好友评论

6.2.2测试结论
通过黑盒测试,实际输出与预期一致,因此,该系统的功能基本正常。
部分测试截图如图6-1至6-4所示。
在这里插入图片描述

图6-1相册与相片管理页面 图6-2相册与相片管理页面
在这里插入图片描述

图6-3相册与相片管理页面 图6-4相册与相片管理页面
6.3系统的分析
6.3.1缺陷与限制
由于开发者能力有限,以下功能还有待完善
1、功能不全面。
2、界面简易。
6.3.2总体评价
总的来说,预期功能全部实现,满足应用要求,软件通过测试。
6.3.3今后进一步研究的方向
(1)美化界面,在PHP页面上设计更多样的结构。
(2)提升安全控制等级。
(3)优化数据结构,使得系统运行加快。

总结

此次毕业设计历时三个月,在这期间,我把大学期间学到的知识进行了运用。
不只是知识的巩固与扩展,我还学会了独立地分析问题、解决问题。归纳起来,主要有以下几点:
1、将理论应用于实践。
2、一开始对需求分析过程的不够重视,导致后期的模块功能存在一些不完善的地方。
3、我翻看了许多软件设计的教材,在此基础上,开始进行自己的毕业设计。
通过此次毕业设计,我明白了交流的重要性,从翻看教材了解作者的想法,再到向老师、同学请教,在此过程中,我学到了更多的思维方式与想法,令我受益匪浅。
致谢

在毕业设计的这三个月的时间里。为了此次论文撰写,潜心研究学术三个月。这三个月是我最难忘的一次大学经历。在论文完成之前,我特别感谢我的导师。是因为他对,我的论文的指导才让我能够在遇到问题的时候能有一个解决的方向,论文的成功写出老师的帮助是功不可没的,他在帮助过程中所展现的学识和经验都令我受益匪浅。也正是因为老师在旁边的鼓励,我才会完成此次论文的写作。
在本专业的学院老师们都有严谨的科学态度,在他们身上学到的不仅仅是知识,还有对学术的。求赤子之心。感谢老师们在百忙之中抽出时间对我的论文的指导,并且提出了宝贵的建议。在这里我表示最真挚的感谢。

参考文献

[1]潘凯华,刘中华等著. PHP从入门到精通[M]. 北京:清华大学出版社,2010:23-37.
[2]温谦,前沿科技著. HTML+CSS网页设计与布局从入门到精通[M]. 北京:人民邮电出版社,2008:34-55.
[3]于菏云著. PHP+MySQL网站开发全程实例[M]. 北京:清华大学出版社,2012:73-82.
[4]孔祥盛著. PHP编程基础与实例教程[M]. 北京:人民邮电出版社,2011:45-67.
[5]吴津津,刘昊,田睿等著. PHP与MySQL权威指南[M]. 北京:机械工业出版社,2011:134-145.
[6]丁月光,孙更新,闫吉辉著. PHP+MySQL动态网站开发[M]. 北京:清华大学出版社,2008:123-135.
[7]谭贞军著. 深入体验PHP项目开发[M]. 北京:清华大学出版社,2011:78-98.
[8]王石,杨英娜著. 精通PHP+MySQL应用开发[M]. 北京:人民邮电出版社,2006:12-23.
[9]列旭松,陈文著. PHP核心技术与最佳实践[M]. 北京:机械工业出版社,2012:56-78.
[10]姜承尧著. MySQL技术内幕:SQL编程[M]. 北京:机械工业出版社,2012:46-67.
[11]戴一平. 计算机与现代化:MVC设计模式在PHP开发中的应用[J]. 中国出版,2011(3):34-43.
毕业论文,单片机论文,毕业论文设计,毕业过关论文,毕业设计,毕业设计说明,硕士论文,研究生论文,毕业论文,单片机论文,毕业论文设计,毕业过关论文,毕业设计,毕业设计说明,硕士论文,研究生论文,本文档支持完整下载,支持任意编辑!选择我们,选择成功!
毕业论文,单片机论文,毕业论文设计,毕业过关论文,毕业设计,毕业设计说明,硕士论文,研究生论文,毕业论文,单片机论文,毕业论文设计,毕业过关论文,毕业设计,毕业设计说明,硕士论文,研究生论文,本文档支持完整下载,支持任意编辑!选择我们,选择成功!
毕业论文,单片机论文,毕业论文设计,毕业过关论文,毕业设计,毕业设计说明,硕士论文,研究生论文,毕业论文,单片机论文,毕业论文设计,毕业过关论文,毕业设计,毕业设计说明,硕士论文,研究生论文,本文档支持完整下载,支持任意编辑!选择我们,选择成功!
毕业论文,单片机论文,毕业论文设计,毕业过关论文,毕业设计,毕业设计说明,硕士论文,研究生论文,毕业论文,单片机论文,毕业论文设计,毕业过关论文,毕业设计,毕业设计说明,硕士论文,研究生论文,本文档支持完整下载,支持任意编辑!选择我们,选择成功!

  • 7
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值