PHP个人博客系统--毕业设计_第1页
PHP个人博客系统--毕业设计_第2页
PHP个人博客系统--毕业设计_第3页
PHP个人博客系统--毕业设计_第4页
PHP个人博客系统--毕业设计_第5页
已阅读5页,还剩47页未读 继续免费阅读

下载本文档

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

文档简介

毕 业 设 计 基于 PHP 的个人博客系统的实现 学生承诺书学生承诺书 本人郑重承诺 所呈交的论文是本人在导师的指导下独立进行研究所取得的研究成 果 除了文中特别加以标注引用的内容外 本论文不包含任何其他个人或集体已经发表 或撰写的成果作品 作者签名 年 月 日 摘 要 本系统利用 PHP 动态网络开发技术 以 MySQL 作为后台数据库 使用 Apache 配置 Web 服务器 结合 JavaScript 和 HTML 两种脚本语言 以及配合多种网页开发工具 实 现了基于 B S 模式的个人日志发表和交流的平台 个人博客系统 全文主要分为 6 个部分 第 1 部分主要介绍个人博客系统的特点 优点和本系统所 要用到的各种开发技术 第 2 部分主要论述了传统系统和所要开发系统的处理流程 功 能介绍和比较 第 3 部分主要分析了系统的各项功能和性能需求 给出了系统需求管理 规划表 展示了各种需求的优先级 规划和分配了各个模块所要完成的系统功能 第 4 部分系统数据库设计 主要分析和设计了系统的数据库表和项 以及数据库各项的标识 符 第 5 部分系统详细设计 逐一给出了系统各个模块的详细设计过程 第 6 部分系统 配置和发布 介绍了系统开发和运行的相关环境配置以及运行效果展示 关键词 博客 PHP MySQL 动态网页 B S 模式 目 录 1 绪论 1 1 1 个人博客 1 1 1 1 个人博客的研究意义 1 1 1 2 个人博客的简介 1 1 1 3 个人博客的特点 2 1 2 开发技术 2 1 2 1 PHP 技术 2 1 2 2 PHP 工作原理 3 1 2 3 B S 结构 4 1 2 4 数据库技术 4 1 2 5 Apache 技术 6 1 2 6 JavaScript 语言 6 2 系统可行性分析设计 6 2 1 开发的目的和背景 6 2 2 系统目标和研究方法 7 2 3 传统系统的分析 8 2 4 所要开发的系统的分析 9 2 5 系统的其它可行性 10 2 6 可行性结论 11 3 系统需求分析和概要设计 11 3 1 系统需求分析 11 3 1 1 开发背景 12 3 1 2 系统实现目标概述 12 3 1 3 系统功能需求 12 3 1 4 系统需求管理规划表 13 3 1 5 系统性能要求 14 3 2 概要设计 15 3 2 1 系统体系结构 15 3 2 2 系统模块划分 16 3 2 3 系统功能划分组织结构图 17 3 2 3 运行环境 17 4 系统数据库设计 18 4 1 MySQL 数据库简介 18 4 2 数据库表的设计 19 4 2 1 概述 19 4 2 2 用户表 19 4 2 3 文章内容表 20 4 2 4 文章评论表 20 4 2 5 图片信息表 21 4 2 6 朋友圈信息表 21 4 2 7 数据库 ER 关系图 22 5 系统的详细设计 22 5 1 首页面及主要页面设计 23 5 2 系统主要功能模块开发 24 5 1 1 首页模块 24 5 1 2 文章管理模块 27 5 1 3 图片管理模块 29 5 1 4 朋友圈管理模块 31 5 1 5 管理员管理模块 31 6 系统配置和发布 32 6 1 开发和应用环境配置 32 6 1 1 安装 Apache2 2 6 32 6 1 2 安装 PHP5 2 5 33 6 1 3 安装 MySQL6 0 3 34 6 1 4 安装 phpmyadmin2 11 3 36 6 2 系统的发布和运行效果 36 6 2 1 系统的发布 36 6 2 2 系统运行效果 37 7 总结 42 致 谢 44 参 考 文 献 45 Abstract 46 仲恺农业工程学院毕业论文 设计 成绩评定表 47 1 1 绪论 博客 数字生活新时尚 通过文字 图片 声音等 尽情展示自我 分享感受 参 与交流 美好你我生活 Show you share me 人人都可以博客 人人都需要博客 1 1 个人博客 1 1 1 个人博客的研究意义 越来越多的网络用户希望能够在网络平台上更多地展现自己的个性 更方便地与人 互动交流 在传统的 WEB1 0 时代 无论是论坛 社区还是个人网站 都试图在这些方 面进行努力 随着 WEB2 0 时代的到来 一个新的概念出现了 博客 随着计算机网 络的飞速发展 博客已经成为写网络日志必不可少的一种工具 也是一种简单有效的提 供网络用户之间进行在线交流的网络平台 通过其可以结交更多的朋友 表达更多的想 法 它随时可以发布日志 方便快捷 访客可以直接在个人 Blog 上留言 如提出问题 或意见等 个人博客的发展 也已经成为广告商业务拓展的重要领域 总之 Blog 是继 Email BBS ICQ 之后的第四种网络交互方式 Blog 是未来信息化教育和个人知识管理 的强大而简单易用的工具 1 1 2 个人博客的简介 博客 一词是从英文单词 Blog 翻译而来 Blog 是 Weblog 的简称 而 Weblog 则 是由 Web 和 Log 两个英文单词组合而成 Weblog 就是在网络上发布和阅读的流水记录 通常称为 网络日志 简称为 网志 它是继 Email BBS IM 之后出现的第四种全 新的网络交流方式 它绝不仅仅是一种单向的发布系统 而且有着极其出色的交流功能 另外 Blog 也提供了非常方便实用的个性化功能 简言之 Blog 就是以网络作为载体 简易迅速便捷地发布自己的心得 及时有效轻松地与他人进行交流 再集丰富多彩的个 性化展示于一体的综合性平台 2 1 1 3 个人博客的特点 1 零机制 博客属于个人所有 是自发建立和非正式的建设 BSP Blog Service Provider 博客服务托管商 不能对博客发号施令 2 零技术 博客不需要作网站的专业知识 可以像发邮件一样简单地实现博客网 页的呈现 技术的极度简化 包括架构和申请博客网站 编辑 上传和修改内容等 3 零成本 任何一个人都可以像申请免费邮件般免费申请自己的博客网站 不需 要注册域名的成本 不需要租用服务器空间的成本 不需要许多软件工具的成本 4 零编辑 博客用户就是编辑 即时写作 即时发布 自我检查 这形成了与传 统写作截然不同的 体验 真正实现了作者 零磨损 的开放式写作 5 零形式 博客页面的表现形式和文章内容的表现方式十分灵活 没有特定形式 6 与个人主页相比较 博客的使用更方便 交互性更强 与传统的电子邮件 BBS 和 ICQ 这三种互联网沟通方式相比 博客是一种较严肃的沟通平台 BBS 公共匿名性很 强 而个人性很弱 因此缺乏约束 电子邮件和 ICQ 则是多用于个人间的通讯 而博客 是个人性和公共性的结合 博客是个人在网上展示自己 与别人沟通交流的综合平台 它的管理比 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 更快速的执行动态网页 只需要很少的编程知识就能建立 一个交互的 WEB 站点 它可以用于管理动态内容 支持数据库 处理会话跟踪 甚至 构建整个电子商务站点 它支持许多流行的数据库 包括 MySQL PostgreSQL Oracle Sybase Informix 和 Microsoft SQL Server 3 PHP 是完全免费的开源产品 不用花钱 你可以从 PHP 官方站点 http 自由下载 而且你可以不受限制地获得源码 甚至可以从中加进你自己 需要的特色 Apache 和 MYSQL 也是同样免费开源 在国外非常流行 PHP 和 MYSQL 搭配使用 可以非常快速的搭建一套不错的动态网站系统 因此国外大多数主机系统都 配有免费的 APACHE PHP MYSQL 通常认为这种搭配的执行效率比 IIS ASP ACCESS 要高 而后者的使用还必须另外交钱给微软 PHP 具有如下的优点 1 学习简单 只需要了解一些基本的语法和语言特设 就可以开始使用 PHP 数据库连接方便 PHP 可以编译成具有与许多数据库相连接的函数 PHP 与 MYSQL 是现在绝佳的组合 可以编写外围的函数间接存取数据库 这样当更换使用的 数据库时 可以轻松的更改编码以适应这样的变化 PHPLIB 就是最常用的可以提供一 般事务需要的一系列基库 2 扩展性强 PHP 已经进入了一个高速发展的时期 具有良好的扩展附加功能 可以进行面向对象编程 PHP 提供了类和对象 基于 WEB 的编程工作非常需要面 向对象编程能力 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 引擎程序将会对 WEB 服务器传送过来的文件从头到尾进行扫描并根据命令 从后台读取 处理数据 并动态地生成相应的 HTML 页面 4 PHP 引擎将生成 HTML 页面返回给 WEB 服务器 WEB 服务器再将 HTML 页面 返回给客户端浏览器 4 1 2 3 B S 结构 在当前 Internet Intranet 领域 浏览器 服务器 简称 B S 结构是非常流行 的客户机 服务器结构 在 B S 体系结构系统中 用户通过浏览器向分布在网络上的许 多服务器发出请求 服务器对浏览器的请求进行处理 将用户所需信息返回到浏览器 B S 结构简化了客户机的工作 客户机上只需配置少量的客户端软件 服务器将担负更 多的工作 对数据库的访问和应用程序的执行将在服务器上完成 浏览器发出请求 而 其余如数据请求 加工 结果返回以及动态网页生产等工作全部由 Web Server 完成 实际上 B S 体系结构是把二层 C S 结构的事务处理逻辑模块从客户机的任务中分离出来 由 Web 服务器单独组成一层来负担其他任务 这样客户机的压力减轻了 把负荷分配给 了 Web 服务器 这种三次体系结构如图 1 所示 客客户户机机 1 1 客客户户机机 3 3 客客户户机机 2 2 互互联联网网 W WE EB B服服务务器器 数数据据库库服服务务器器 图 1 B S 三层体系结构 这种结构不仅把客户机从沉重的负担和不断对其提高的性能的要求中解放出来 也 把技术维护人员从繁重的维护升级工作中解脱出来 由于客户机把事务处理逻辑部分分 给了功能服务器 使客户机一下子 苗条 了许多 不再负责处理复杂计算和数据访问 等关键事务 只负责显示部分 所以维护人员不再为程序的维护工作奔波于每个客户机 之间 而把主要精力放在功能服务器上程序的更新工作 这种三层结构在层与层之间相 互独立 任何一层的改变不会影响其它层的功能 1 2 4 数据库技术 数据库是数据和数据库对象的集合 其中数据库对象指表 Table 视图 View 5 存储过程 Stored Procedure 和触发器 Trigger 等 数据库通过 SQL Structured Query Language 来对数据进行操作和管理 这里包括一些基本的操作如 select delete insert update 语句 ADO ActiveX Data Objects 是微软开发数据库应用程序的数据库访问技术 它 被设计用来同新的数据库访问层 OLE DB Provider 一起协同工作 以提供通用数据访问 Universal Data MySQL OLE DB 是一个底层的数据库访问接口 用它可以访问各种 数据源 包括传统的关系数据库 ADO 封装了 OLE DB 程序中使用的大量 COM 接口 所以 是一种高层访问技术 关于数据库管理系统和接口的原理如图 2 所示 MySQL 是一个快速 多线程 多用户的小型关系型数据库管理系统 它支持正规的 SQL 查询语言和采用多种数据类型 能对数据进行各种详细的查询等 MySQL 提供了一 全套的数据库创建和访问机制 通过很直观的方式就可以创建 访问 修改数据库的表 和项 并且能建立它们之间的各种数据关系 MySQL 系列从 90 年代就发展起来 经过了 多年的反展 它已经成为非常成熟的技术 面向中小型企业级应用 MySQL 数据库的特点是数据库文件小而简单 不需要运行或者启动数据库服务进程 就可以使用 通常 MySQL 数据库文件可以随网页文件一起方便地放在网站的目录中 正 是由于这些特点 MySQL 数据库通常被用来作为网站开发的数据库支持技术 对 MySQL 数据库的管理采用图形化管理工具 phpMyAdmin phpMyAdmin 是一个用 PHP 编写的 基于 Web 的 跨平台的 MySQL 管理程序 支持简体中文 使用 Web 浏览器 作为管理界面 通过 phpMyAdmin 可以进行绝大部分的 MySQL 操作 包括对数据库级操 作 表级操作 以及数据管理等 ODBC驱动程序管理器 DBA DBMS 标准SQL ODBC for Oracle ODBC for SQL Server ODBC for DB2 ODBC for Mysql SQL Server Mysql DB2 Oracle 数据库应用 DBA 通过数据库 管理系统 DBMS 访问数据库 标准SQL语言通过各种ODBC驱动程序管理器 翻译成对应数据库命令来访问各种数据库 Data 6 图 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 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 语言的配合下 能够运用 PHP 技术开发出非常漂亮而且交互性强大 的动态 Web 网站来 2 系统可行性分析设计 2 1 开发的目的和背景 这里首先简要介绍系统可行性分析的目的和系统开发的相关背景 1 编写目的 可行性分析主要介绍开发项目的一些背景 系统的各方面可行性 从技术 本系统 的前景以及当前个人博客的特点和需求等方面展示本系统的优势和限制 主要对象是网 络中的上网用户 以便作出正确的后继设计与开发决策 7 2 项目背景 写日记 文章一直以来都作为很多人表达自己感情 展示自己才华以及与外人沟通 的重要方式 也成为了很多人生活中的重要部分 过去人们都是靠纸和笔来实现 甚至 到之后有了电脑 也最多用文本编辑软件来写 最后还是得通过人工交换自己所写的东 西 无论是纸张作为载体还是电子存储设备作为载体 这样极大缩减了交流的范围和速 度以及交流的频度 随着网络的开速发展 它已经走入大众生活 所以自然而然诞生了 个人博客这样一个新兴事物 它不仅仅能取代前面所说的功能 还能加入图片 音乐 而且使得作者更能无所拘束地生动地写出自己想写的 旁人也能非常便捷地阅读并且加 以评论 并且它还能作为展示个人个性的窗户 更重要的是网络个人博客利用网络的巨 大优势 可以非常快捷 广泛而没有界限地自由交流 交流速度快 交流范围广以及可 以让网络中任何人浏览 评论是博客的最大特点 正是有了这些特点 个人博客现在已 经成为很多人生活中必不可少的一个部分 它让更多人了解作者的心声 方便了人与人 之间的沟通和交流 2 2 系统目标和研究方法 1 系统的目标 该目标主要是结合与传统系统 即传统以纸张或者磁盘 光盘为载体的写作模式 的比较而定 1 人力和设备的节省 传统系统主要是通过人力写作 并且载体是纸张或者磁盘 光盘 而通过本系统 可以节省一定写作人力 并且利用网络存储方式 节省了纸张资源和笔墨资源或者磁盘 光盘资源的使用 2 界面美观和便捷的提升 本系统相对传统系统而言 利用了多媒体的各种视觉效果 可以方便加入图片和背 景以及表情 有明显的界面美观和直观的优势 3 编辑修改的提升 本系统可以使对文章或者一些图片背景等的编辑修改变得非常容易 非常便捷和快 速 只用修改局部 不用返工 并且不会留下视觉瑕疵 4 交流广泛性和速度的提升 通过网络这种媒介 使得文章 日志的交流变得非常广泛 不会受到地域和世界的 8 限制 世界各地任何人都可以享受交流的服务 并且交流的速度比传统更加快速方便 不通过传统载体的传递 2 可行性研究方法 1 调研传统系统效率和特点 通过调研和对比传统系统的工作方式和特点 发现效率和实用性的差距 通过理论 和现实技术发展的特点和要求 估算和提出效率 功能的提升 2 参考目前已有的网站和案例 如今博客在网络上比比皆是 可以参考和学习已有的一些优秀个人博客的特点和成 功之处 来发现传统系统需要改进的地方和新的开发入口 2 3 传统系统的分析 1 处理流程 传统系统处理流程 总体功能级数据流图 如图 3 所示 该图给出了传统方式的写 作文章以及交流的方式和流程途径 文文章章作作者者 D D1 1 作作者者思思维维 文文章章读读者者 事事务务 文文章章载载体体 获获取取创创作作信信息息 创创作作信信息息 1 1 构构思思 写写作作文文章章 2 2 产产生生文文章章 图 3 传统系统处理流程 2 数据流图 传统系统的数据流图如图 4 所示 该图主要给出了传统的以纸张或者磁盘为载体的 文章 日志写作和交流的数据流程 文文章章 作作者者 D D1 1 文文章章交交流流记记录录 事事务务 文文章章 1 1 1 1 写写作作业业务务 1 1 2 2 写写作作文文章章 1 1 3 3 交交流流处处理理 1 1 4 4 交交流流处处理理 D D2 2 文文章章 作作者者 文文章章 文文章章载载体体 文文章章交交流流信信息息 事事务务 写写作作 修修改改命命令令获获得得文文章章内内容容 日日志志 文文章章交交流流信信息息 日日志志 图 4 传统系统数据流图 9 2 4 所要开发的系统的分析 对所要开发的系统的分析是从系统的描述和优越性 用开发的系统的处理流程和所 开发系统的数据流图 DFD 来说明的 1 系统的描述和优越性 该系统是适应当前网络特点和个人个性的情况下开发的个人博客 主要用于文章和 日志的写作以及交流评论 其主要特点在前面的绪论和 2 1 2 已经有详细的介绍 系统的优越性主要体现在编辑的便捷和修改的方便 以及文章的多媒体性和生动性 还有就是交流的广泛性和快速 详细情况在绪论 背景以及在 2 2 1 已有介绍 2 处理流程 所开发的系统处理流程 总体功能级数据流图 如图 5 所示 该图给出了所要开发 系统的系统工作 写作文章和文章交流的方式以及流程途径 文文章章 作作者者 D D2 2 权权限限 事事务务 1 1 登登录录 操操作作业业务务 2 2 发发表表文文章章事事务务 3 3 阅阅读读 评评论论事事务务 文文章章 作作者者 文文章章数数据据库库 读者事务 文文章章 事事务务 添添加加 修修改改 命命令令 D D1 1 D D3 3 用用户户数数据据库库 查查询询 修修改改 命命令令 用用户户 信信息息 结结果果 查查询询 命命令令 文文章章 信信息息 评评论论 信信息息 评评论论数数据据库库 图 5 所要开发系统处理流程 3 数据流图 所开发系统的数据流图如图 6 和图 7 所示 它们都是进一步分解后的数据流图 其 中图 6 是用户管理的功能分解数据流图 而图 7 是文章管理以及评论的功能分解数据流 图 图 7 涉及到用户文章和评论事务和数据库的频繁存储交互 体现了个人博客中文章 日志发表和评论的功能 是个人博客系统中比较主要的一项事务过程 D D1 1 用用户户数数据据库库 用用户户 游游客客 3 3 1 1 接接受受事事务务 1 1 1 1 接接受受事事务务 登录 事务 注册 事务 事事务务 事事务务 3 3 2 2 登登录录事事务务处处理理 1 1 2 2 注注册册事事务务处处理理 登登录录信信息息 用用户户注注册册信信息息 成成功功 失失败败信信息息 成成功功 失失败败信信息息 2 2 2 2 用用户户管管理理事事务务处处理理 2 2 1 1 接接受受事事务务 系系统统 管管理理员员 权限事务 管管理理操操作作 操操作作结结果果 事事务务 账账户户事事务务 图 6 系统数据流图 用户权限 管理 10 D D2 2 文文章章数数据据库库 文文章章 作作者者 事事务务 5 5 1 1 接接受受事事务务 登登录录 事事务务事事务务 5 5 2 2 阅阅读读事事务务处处理理 阅阅读读操操作作命命令令 文文章章编编辑辑信信息息 文文章章内内容容信信息息 操操作作结结果果信信息息 成成功功 失失败败信信息息 添添加加 编编辑辑文文章章评评论论事事务务 事事务务 文文章章 作作者者 4 4 1 1 接接受受事事务务 4 4 2 2 编编辑辑事事务务处处理理 编辑 事务 6 6 1 1 接接受受事事务务 6 6 2 2 评评论论事事务务处处理理 评评论论数数据据库库 D D3 3 评评论论操操作作命命令令 操操作作结结果果信信息息 图 7 系统数据流图 文章发表 评论 2 5 系统的其它可行性 前面主要运用了系统流程图和数据流图 通过对传统系统和要开发的系统分析了系 统开发的可行性 下面将从其它一些辅助可行性来进一步分析和说明 1 技术可行性 本系统主要由 PHP 作为主要开发技术 PHP 已经流行和发展了数年 技术相对比较 成熟 开发系统稳定可靠 系统采用优秀的关系型数据库管理系统 MYSQL 作为后台数据库 能和 Windows 以及 当前各种系统很好的兼容搭配 其它辅助网站设计的技术相当丰富 相应开发环境和工具也一应俱全 比如用于网 页界面设计的 Dreamweaver CS3 还有一些图形处理软件如 Photoshop CS2 等都是相当 成熟和简便的开发工具 2 性能效益可行性 所开发的系统基本能满足个人博客的功能要求和展示博客的特点风格 在处理运算 速度 存储量以及响应时间上完全能满足系统要求 现在网络发展迅速 上网人数众多 博客作为个人个性和情感的展现舞台 相信有 非常广阔的发展和应用空间 3 硬件可行性 系统所采用的技术和平台都是比较成熟和已经发展数年的 目前的硬件配置一般都 足以满足系统的运行要求 11 系统的基本硬件要求 网络中的服务器 服务器要求能提供空间和支持动态网络技 术以及 MySQL 数据库 客户端电脑 具有基本多媒体功能和设备 支持 PHP 架构的工 作和系统平台 WindowsXP 支持 PHP 架构的能处理动态网页技术的浏览器 IE6 0 以 上等具备解释 PHP 技术的浏览器 2 6 可行性结论 综上所述 作为毕业设计的一个项目 简要讨论分析了系统的各种可行性 并且各 项可行性上完全满足开发要求 可以开始进一步的工作 3 系统需求分析和概要设计 3 1 系统需求分析 系统需求分析是现代软件工程应用于系统开发的一项重要环节 通过需求分析可以 明确系统的各项需求和功能 根据这些需求和功能可以更好地指导下一步的系统开发和 设计 避免了在设计之后对需求的变更而导致的大量返工 3 1 1 开发背景 过去很多人都喜欢写文章写日记以及交流自己的文章和作品 以求实现相互间的沟 通 展现自己的才华和让别人了解自己的想法观点 现在的网络已经成为人们生活中不 可或缺的一个元素 所以自然而然诞生了个人博客这样一个新兴事物 它不仅仅能取代 前面所说的功能 还能加入图片 而且使得作者更能无所拘束地生动地写出自己想写的 旁人也能非常便捷地阅读并且加以评论 并且它还能作为展示个人个性的窗户 个人博 客现在已经成为很多人生活中必不可少的一个部分 方便了人与人之间的沟通和交流 3 1 2 系统实现目标概述 基于个人博客以上的特点 本系统要实现个人博客的主要基本功能有主界面 用户 注册 注册用户登录发表文章 心情 日志 用户登录 退出 游客发表评论 分页浏 览文章和评论等 这里其中比较主要的是区分了个人博客的注册用户和游客 注册用户 可以在任何时候写下自己的主张 记录下自己的点点滴滴 而游客主要的权限是阅读博 12 客所有注册用户写的文章 阅读后可以发表评论和留言 还可以分页浏览所有注册用户 上传的图片 以上是个人博客的系统功能目标 当然由于个人博客的网络流行特点以及 个人个性的展示 还适当要求界面比较漂亮轻快 直观便捷 操作方式简单以及人性化 3 1 3 系统功能需求 根据对系统的特点和应用的分析 可以得到本系统主要有如下功能 1 用户注册和登录 这部分功能又分为用户注册 用户登录 用户退出三个部分 用户注册 游客将个人的信息存储到博客网站的数据库中 注册时要求填写用户的 各种详细信息 包括 id Password Email 性别 生日 其它辅助信息 凡是符合要 求的游客都可以注册成功 成为本博客的正式用户 系统接受这些信息并存储在服务 器端的数据库中 用户登录 主要用于验证博客网站用户信息的真实身份 以便对博客网站进行管理 和维护 通过注册后的用户用个人注册的用户名 密码登录到网站 网站检测用户的用 户名 密码并给予其相应的权限对博客网站进行操作 用户退出 已经登陆的用户可以退出 释放自己所占有的各种信息资源 2 文章管理 文章管理主要有文章的发表 查询 浏览 评论和删除功能 博客的系统管理员除了可以查询 浏览和评论文章外 还可以对系统中的所有文章 以及评论进行修改 删除操作 这些维护和管理拥有最高权限 并且系统自动更新在服 务器端数据库中的数据 文章的发表 注册用户可以发表自己的文章 文章包括主题 正文 表情 图片等 信息 作者通过各种元素来展示自己的想法和思想 系统接受这些信息并且存储在服务 器端的数据库中 文章的删除 注册用户可以删除自己已经发表的文章内容和各项信息 系统自动在 服务器端数据库中删除这些记录 文章的浏览 游客和注册用户根据所获得的用户权限获取服务器端数据存储的各篇 文章并且浏览阅读文章的所有信息 包括标题 正文 表情 图片以及其它读者的留言 13 评论 文章的评论 文章的读者可以评论和回复所阅读的文章 发表自己的看法 系统自 动将这些评论存储在服务器端的数据库中 并且可供博客作者以及其它读者浏览 文章的查询 注册用户可以按文章题目或作者来查询想要查的文章 3 图片管理 图片管理有添加 浏览 删除和查询功能 注册用户可以添加自己喜欢的图片 还 可以查询和浏览系统中的所有图片信息 游客只能浏览博客系统中的所有图片 系统管 理员拥有以上的所有权限 除此之外还可以删除图片 4 朋友圈管理 注册用户可以添加自己的朋友信息到朋友圈 可以再浏览和查询朋友信息的前提下 进行删除朋友信息操作 5 管理员管理 博客的系统管理员可以对系统中所有的注册用户进行帐户和权限管理 包括修改用 户所有的权限 查询用户信息以及删除用户信息 还可以对最新公告进行添加 删除管 理 3 1 4 系统需求管理规划表 根据以上对系统的需求分析 我们可以得到一个更为简明扼要的系统需求管理规划 表 本表罗列了系统的各项主要功能 并且对其分类 配有间断描述 最重要的室给出 了各个功能需求的优先级 优先级的高低表示了功能实现的迫切程度和必要程度 优级 高的代表该功能是系统很重要的功能 需要重点实现 如表 1 所示 表 1 系统需求管理规划表 需求分类需求名称描述 优先 级 功能性需求用户注册用户可以注册自己的各项信息高 用户登录 退出用户可以登录或者退出系统高 用户权限管理博客管理员可以修改用户的权限以及删除用户账号高 文章的添加注册用户可以发表文章 包括表情 图片 链接等高 文章的删除博客管理员可以删除任何一篇文章 但注册用户只能删除自己写的文章 中 文章列表对文章按一定类型或者顺序用列表方式展示题目中 14 浏览文章博客文章读者可以分页浏览文章高 评论文章博客文章读者可以对文章进行评论和回复高 评论的删除博客管理员可以删除某篇文章的某条评论中 朋友信息添加注册用户可以添加自己朋友的信息高 浏览朋友信息注册用户可以浏览自己朋友的信息高 查询朋友信息注册用户可以查询自己朋友的信息高 添加图片注册用户可以上传自己喜欢的图片 与人分享高 浏览图片图片的浏览者可以分页浏览图片高 删除图片博客管理员可以删除博客网站中的某张图片中 查询图片用户可以查询图片高 特征和前景预算项目开发成本控制在毕业设计范围内低 系统目标设计和实现个人博客系统 达到毕业设计的目标和要求高 平台限制基于 Windows XP Apache2 2 4 以上 PHP MySQL 数据 库 高 操作方式全部操作都能基于浏览器进行低 非功能性需求 硬件需求网络服务器 P3 以上 128MB 以上多媒体工作站 互连网络连接以及相应设备 中 3 1 5 系统性能要求 1 系统可靠性要求 系统对用户操作有相应提示 并且可以检查用户输入的各种数据的合法性 对 于不合法的数据屏蔽并且提示用户 以避免由于越界或者格式错误而造成的系统错误甚 至崩溃 系统在对于数据库操作时候 数据库有一定的约束机制 特点是对于外键 FK 而言 通过 级连 Cascade 和 参照 Reference 来保证数据的完整性 系统能够应对各种特殊操作情况和出错情况 并且给出相应提示 系统能够有一定的安全和保护措施 以保证网站的正常运行 避免文件和数据 库遭到意外事件的破坏而导致网站瘫痪 2 系统时间要求 在不考虑网络状况情况下 系统的响应时间应该相当迅速 数据的存储和处理以及 返回过程应该满足用户的等待需求 一般控制在 0 2s 以内 3 系统适应性要求 系统应该兼容 Windows 操作平台 MySQL 数据库以及 IE 浏览器 4 系统并行处理能力要求 15 系统能够支持同时间多用户的访问需求 并且保证运行的相对顺畅 5 系统精度要求 时间精度到达秒为单位 其它数据精确到小数点后 2 位 3 2 概要设计 概要设计也是软件工程中一个重要的步骤和环节 根据前面的需求分析所得到的系 统所要实现的各种功能 概要设计对其进行进一步的模块划分 以确定各个功能由所设 计的模块来实现 这样可以构架出一个系统的机构框架 便于后面的具体数据库设计详 细设计的实现 3 2 1 系统体系结构 基于 B S 结构的个人博客网站系统 应由终端 用户主机 浏览器 WEB 服务器 16 数据服务器构成 个人博客网站的核心是中间的接入服务器和应用服务器部分 个人博 客网站的总体结构图如图 8 所示 W We eb b 服服 务务 器器 数数 据据 服服 务务 器器 P PC C 图8 博客网站总体结构 3 2 2 系统模块划分 根据前面对系统的需求分析 可以得到系统的模块划分如下 1 博客首页模块包括如下主要组成部分 页整体布局 对于博客的首页风格安排并且布局 日历 方便用户看时间和日期 用户登录和注册区 主要是用户注册和登录 在成功登录以后列出用户所拥有的可 操作模块 博客最新日志显示 按时间顺序显示博客中最近的文章标题信息 最新推荐图片 按时间顺序显示博客中最新上传的图片 最新公告 上下滚动显示管理员发表的最新公告 2 文章管理模块 添加博客文章 已登录的博客注册用户可以发表文章 随笔和日志 内容包括标题 正文 图片 表情等信息 在此前提下 只有以系统管理员身份登录的用户才可以删除 博客中的任何文章 系统自动更新服务器端的数据库 查看博客文章 文章作者可以按搜索条件有选择的查看想要阅读的文章 并可以对 它进行评论 但没有删除的权限 浏览我的文章 只显示作者自己的全部文章 在这个模块的前提下 文章作者有删 除文章和评论的权限 3 图片管理模块 添加图片 已注册用户可以本地上传图片 查询图片 登录用户可以按搜索条件有选择的查看图片 但没有删除的权限 17 浏览图片 分页显示系统中的全部图片 4 朋友圈管理模块 注册用户可以添加自己的朋友信息到朋友圈 可以在浏览和查询朋友信息的前提下 进行删除朋友信息操作 5 管理员管理模块 博客的系统管理员可以对系统中所有的注册用户进行帐户和权限管理 包括修改用 户所有的权限 查询用户信息以及删除用户信息 还可以对最新公告进行添加 删除管 理 3 2 3 系统功能划分组织结构图 根据以上对系统功能模块的划分和设计 可以得到系统功能模块图如图 9 所示 该 图给出了详尽的模块划分和模块组织结构 能够直观展现系统的功能结构关系 个个人人博博客客系系统统 用用户户登登录录 用用户户注注册册 文文章章管管理理 系系统统管管理理员员用用户户登登录录 朋朋友友圈圈管管理理图图片片管管理理 添添 加加 博博 客客 文文 章章 查查 询询 博博 客客 文文 章章 添添 加加 图图 片片 浏浏 览览 图图 片片 浏浏 览览 我我 的的 朋朋 友友 添添 加加 到到 朋朋 友友 圈圈 查查 询询 图图 片片 查查 询询 朋朋 友友 信信 息息 删删 除除 评评 论论 信信 息息 删删 除除 朋朋 友友 信信 息息 删删 除除 朋朋 友友 信信 息息 查查 询询 用用 户户 信信 息息 浏浏 览览 用用 户户 信信 息息 删删 除除 用用 户户 信信 息息 删删 除除 博博 客客 文文 章章 息息 删删 除除 图图 片片 信信 息息 浏浏 览览 我我 的的 文文 章章 公公告告管管理理用用户户管管理理 添添 加加 公公 告告 信信 息息 删删 除除 公公 告告 信信 息息 图 9 系统功能结构图 3 2 3 运行环境 1 用户界面 18 用户需要网页浏览器来使用该系统 界面简洁 美观 友好 具备人性化特点 各 种操作有提示信息和错误信息 2 软件环境 服务器端 WindowsXP 服务器 Apache 服务程序 MySQL 数据库以及其相应的 ODBC 客户端 Windows XP 系统以及 IE6 0 以上浏览器 3 网络带宽 服务器对外网络带宽 1M 以上 客户端拥有连接互联网的设备和服务 4 4 系统系统数据库设计数据库设计 4 1 MySQL 数据库简介 MySQL 数据库由瑞典 MySql 公司开发和维护的一个精巧的 SQL Structured Query Language 结构化查询语言 关系型数据库管理系统 DBMS MySQL 数据早在 90 年代 中期就开始出现 经过近 10 年的发展 它已经成为一个功能相对强大 技术非常成熟 应用广泛的数据库 由于它的强大功能 灵活性 丰富的应用编程接口 API 以及精 巧的系统结构 受到了众多程序员和企业级用户的青睐 特别是它的数据库文件小巧 存放便捷 数据库管理系统运行简单 为建立基于数据库的动态网站提供了强大动力 并且得到了广大网站开发人缘的认可 MySQL 数据库提供完善的 SQL 92 标准的结构化查询语言 如 select delete insert update 语句 通过 MySQL 在操作系统上建立的 ODBC 可以轻 松将这些 SQL 语句翻译成为相应的 MySQL 数据库管理系统指令并对数据库进行管理 如 图 10 所示 19 O OD DB BC C驱驱动动程程序序管管理理器器 O OD DB BC C M My yS Sq ql l 标标准准S SQ QL L 标标准准S SQ QL L语语言言通通过过O OD DB BC C 驱驱动动程程序序管管理理器器翻翻译译成成 对对应应的的M My yS Sq ql l数数据据库库命命 令令来来访访问问M My yS Sq ql l数数据据库库 图 10 MySQL 数据库管理系统原理 作为关系型数据 MySQL 完全支持对于各种数据库对象的管理和便捷操作 这里包 括表 Table 视图 View 存储过程 Stored Procedure 和触发器 Trigger 等 MySQL 数据库提供完全的可视化管理环境 能够直观便捷而快速地对数据库的各种数据 库对象和元素进行修改和管理 当然 MySQL 数据库也完全支持 ADO ActiveX Data Objects 数据库应用程序的 数据库访问技术 ADO 它被设计用来同新的数据库访问层 OLE DB Provider 一起协同工 作 以提供通用数据访问 Universal Data MySQL OLE DB 是一个底层的数据库访问 接口 用它可以访问各种数据源 包括传统的关系数据库 ADO 封装了 OLE DB 程序中使 用的大量 COM 接口 所以是一种高层访问技术 所以 MySQL 非常适合 PHP 技术开发动态 网站 4 2 数据库表的设计 4 2 1 概述 根据第三部分的需求分析和概要设计 可以设计出相应的系统所要使用的数据库表 博客系统所要存储的数据项和数据量相对比较复杂和庞大 所以首先确定这些数据库表 的设计一般是一个表存储一个实体或者对象的相关信息 这样分析和设计数据库就相对 简单 对于不同的对象或实体 根据具体系统需要和未来扩展 可以适当细分 另外扩 充信息和动态变化的信息分开放置在不同的表里 当然重要的表都会设置一个唯一标识的主键 这个主键不是实际运用中的任何信息 项 只用来唯一标识一个数据项 一般用自动编号的数字 20 经过需求分析和概要设计 在 MySql 数据库管理系统中建立名为 db tmlog 的数据 库 系统所有应用的数据信息将存储在该数据库中 数据库中建立以下 5 种不同专题的 数据表 分别为 用户表 tb user 文章内容表 tb article 文章评论表 tb filecomment 朋友圈表 tb friend 图片信息表 tb tpsc 五个表 这些表基本上都是一表负责一个实体或者对象的各种信息存储 它们协调工作 以 实现个人博客系统对数据存储的要求 注意 下面各表中数据类型说标有 表示是主键 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 用户 IP figint 1 管理员及用户标记 21 4 2 3 文章内容表 本表主要用来存放文章的各种信息 这也是博客系统中非常重要的一个表 其中文 章 ID 编号为主键 唯一标识一篇文章 其它信息详见表 3 所示 表 3 文章内容表 字段名称数据类型说明 idInt 10 自动编号 titleVarchar 20 文章标题 faceVarchar 20 人物表情 contenttext文章内容 autherVarchar 20 文章作者 nowdatetime发表时间 4 2 4 文章评论表 文章评论表主要存储对一篇文章的评论的各种信息 文章的评论信息相对于文章的 信息而言要简单一些 主要包括唯一标识评论的 id 编号 是主键 表的结构如表 4 所 示 表 4 文章评论表 字段名称数据类型说明 idInt 4 自动编号 fileidInt 4 所评论的文章 id 号 usenameVarchar 20 评论人 contenttext评论正文 datetimedatetime评论时间 4 2 5 图片信息表 该表主要用来存储博客系统中发表的照片 图片 其中照片 id 是唯一标识图片的 主键 表的详细结构如表 5 所示 22 表 5 图片信息表 字段名称数据类型说明 idInt 10 自动编号 nameVarchar 30 图片名称 urlChar 100 以文件的形式存储图片 authorVarchar 20 图片发表者 scsjdate上传日期 时间 4 2 6 朋友圈信息表 该表主要用来存储某用户的朋友圈信息 其中 id 是唯一标识朋友信息的主键 表 的详细结构如表 6 所示 表 6 朋友圈信息表 字段名称数据类型说明 idInt 4 自动编号 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 关系图 数据库中

温馨提示

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

评论

0/150

提交评论