Download presentation
Presentation is loading. Please wait.
1
姓名: 钱琬婷 学号: 0501W238 专业: 计算机科学与技术 指导教师: 陈家琪 教授
本科毕业设计(论文) 基于Ajax技术的 Blog发布系统设计 姓名: 钱琬婷 学号: 0501W238 专业: 计算机科学与技术 指导教师: 陈家琪 教授
2
问题的提出 背景 随着网络技术的不断发展和人们对生活理念的不断改变,相继出现了 、BBS、ICQ等方便、快捷的传播信息和相互交流的方式。而Blog的出现,带给互联网用户的是更多样、更全面的交流方法,是一种自我形象的展示和个人价值的实现。
3
内容介绍 需求分析 1 实施方案 2 系统结构 3 系统设计 4 系统测试 5 个人总结 6
4
用户需求 系统功能性需求: 访客 博主 博主 登录 发表留言 发表留言 发表留言 发表留言 登录 浏览日志 浏览日志 搜索日志 搜索日志
后台管理 系统设置 模板更换 博客管理 博客管理 博客管理 博客管理 博客管理 博客管理 日志管理 分类管理 评论管理 日志管理 日志管理 日志管理 日志管理 日志管理 数据备份 数据备份 数据备份 数据备份 数据备份 数据库 发表评论
5
用户需求 系统非功能性需求: 前台应该简洁、实用、交互性好,有Web 2.0特色
使用流行的Ajax技术,改善用户体验。日志显示、搜索、系统日历、分类等都采用Ajax技术 采用Smarty模板引擎,业务逻辑和表现层分离,即逻辑程序与美工分离 结构清晰合理,对网站访问量应该进行统计,对日志的评论数、点击量等都应该进行统计 登陆验证应该使用Session认证
6
实施方案 采用APM方案,即Apache+PHP+MySQL方案。它是一个非常理想的网站解决方案。 关键技术之Ajax技术
Ajax是使用客户端脚本与Web服务器异步交换数据的Web应用开发方法。使用Ajax,可以在不中断交互流程的情况下,重新加载Web页面,从而实现页面动态更新。
7
实施方案 Ajax技术原理 Ajax即异步JavaScript+XML,客户端通过javaScript提交用户指定的命令和参数,传递给服务器,服务器接收到命令和参数后进行处理,然后把处理结果按照一定的格式通过XMLHttpRequest返回给客户端,客户端再按照一定的形式显示给客户,即显示在网页上。由于Ajax请求是异步的,客户端可以不用等待服务器指令直接与用户进行沟通,大大减少了服务器的负担。
8
实施方案 Ajax技术优势 无刷新更新页面,减少用户心理和实际等待时间 当读取大量数据时,不会出现恼人的“白屏”现象;
当页面有更新时,不需要重新加载该页面,只更新需要更新的部分; 采用异步交互模式,在等待服务器响应的过程中,用户可以在原有页面上操作,可以缩短用户的可感知等待时间; Ajax可以把以前服务器负担的的一切工作转嫁到客户端,利用客户端闲置的能力来处理,减轻服务器负担。
9
实施方案 关键技术之Smarty技术 在实际应用中,使用Smarty目的就是要使PHP程序员同模板设计者分离,也就是说当程序员改变程序的逻辑内容时,不会影响到美工的页面设计;当美工修改页面也不会影响到程序逻辑。
10
系统结构 访 客 管理员 前台显示模块 后台管理模块 管理 博客 管理 日志 管理 数据 浏览日志 RSS订阅 搜索日志 侧边列表管理
访 客 管理员 前台显示模块 后台管理模块 管理 博客 管理 日志 管理 数据 浏览日志 RSS订阅 搜索日志 侧边列表管理 模板管理 写日志和日志管理 分类管理 标签管理 评论管理 数据库备份 通过分类 通过列表 通过标签 评论 系统功能模块图
11
系统设计 前台日志显示功能逻辑 显示日志 数据库 读取日志ID 数据传输 判断参数 显示日志和Tags 添加评论 显示空白 结束 Y 存在
N 不存在 添加评论 显示空白 结束
12
前台逻辑分析 客户端通过AJAX引擎向服务器发送日志ID参数,服务器端读取数据库的日志ID,通过ID找到对应的日志内容和tags,返回给客户端显示 用户需要评论时,客户端通过表单提交相应参数至服务器,并用SQL语言完成内容添加。 中间通过AJAX引擎进行异步通信,静态页面无刷新无跳转。
13
系统设计 后台日志管理功能逻辑 写日志 首页显示 编辑日志内容 自动保存草稿 发布 再编辑 检查Title 发表日志 数据 报错
定时器 编辑日志内容 自动保存草稿 日志ID 发布 再编辑 检查Title 自动分配ID N不存在 发表日志 数据 日志ID Y 存在 报错 管理日志(删除、分类) 结束
14
后台逻辑分析 通过日志ID进行数据联系和传输。 用户编辑日志过程中,有定时器自动保存草稿,以免数据丢失。 用户还可以编辑草稿箱和已发表的日志,可以进行日志删除和分类移动。 全程通过Ajax技术做数据传送的桥梁,界面友好。
15
系统设计 后台模板更换功能 采用基于PHP的Smarty模板引擎技术。
使逻辑程序与外在美工分离, 即使是不懂程序源代码的用户也可以利用网页编辑器制作自己的前台HTML模板。 提供了一种易于管理的办法,即一键式更换模板功能,方便快捷打造个性博客。 功能演示
16
系统测试 条件 通过本机测试或发布至外网服务器测试。 1 首先对系统的所有功能模块进行模块化测试 2 之后进行系统的集成测试 结果
系统各功能均通过模块测试、集成测试,进行了测试数据的添加、编辑、管理等操作,与预期的效果相符,均未出现程序和数据上的异常错误,在最终用户的实际应用中也未发现重大的错误。
17
项目不足 大量使用Ajax技术使它不利用搜索引擎抓取,需要进行搜索引擎优化。
此系统由于时间仓促和自身能力不足等原因,目前暂不支持访客留言板、聊天室、个人相册、背景音乐和WAP等功能。 关于Ajax技术,目前实现了动态更新和表单处理功能,暂不支持无刷新分页、定时更新、动态联动下拉框搜索和自定义模板层等功能。 未能充分考虑网站安全性,未实现留言和评论中的恶意URL及敏感字词的可过滤功能。
18
问题与回答 多谢指导!
Similar presentations