已阅读5页,还剩30页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
第20章人人微博站 本章将带领读者开发一个完整的微博网站 人人微博站 人人微博站是个单用户微博站点 该网站的整个体系采用了当今流行的LAMP结构 即Linux Apache MySQL和PHP 本章堪称是软件工程运用的典范 系统从设计到实现无一不运用软件工程的理念 理论与实践相结合的方式可以使读者在类似的项目中有的放矢 把在这里学到的一切尽情展现 20 1开发背景 系统的开发目的 在于让用户可以随时随地通过各种手段以简短文字更新信息 寥寥数语 发发感慨 情绪宣泄 灵感突现 用户就可以将自己的所思所想以只言片语的形式发送到个人微博上 因此 也可以称人人微博为微型博客 MicroBlog 20 2系统分析 人人微博站要实现简单易用 收发方式多样 及时传播 便捷性等一系列特性 要达到这一目的 开发出的人人微博站 能对所有用户进行统一管理 实现跟随 Follow 和被跟随 Befollowed 系统 扩大人际圈 通过开放的API接口 联合第三方软件 MSN QQ Skype Gtalk 或移动信息终端来传输信息 消息系统的文字长度限制 使消息编制快速 便捷 下面将从需求分析 可行性分析 项目人员分配三个方面进行介绍 20 2 1需求分析 通过对市场的调查 针对互联网上人际交流与信息传输的特点 开发出本系统 帮助互联网用户扩大人际圈 及时交流信息 人人微博站是个单用户微博站点 所谓单用户 即只有一个微博主人 其他用户由该用户创建 除此以外 各个人人微博站点之间可以实现互相的交流 即互相跟随 因此 人人微博站主要分为前台和后台两部分 前台主要包括用户登录 日志消息系统 评论系统 图片上传 个人资料页的定制 以及跟随和被跟随系统等 后台是被用来管理整个站点的 只能由站点管理员 即微博拥有者登录 后台主要包括用户管理 站点管理 系统消息编辑系统 页面编辑系统 站点统计等 20 2 2可行性分析 为了便于管理层对技术及资金的投入进行决策 需要对项目的可行程度进行分析 其中 它主要包括技术可行性 经济可行性 操作可行性 营运可行性等 对需求分析进行研究后 项目的可行性分析如下 1 引言2 技术可行性研究3 经济可行性研究4 操作可行性研究5 结论 20 2 3项目人员分配 在具体开发过程中 不同角色可以根据工作进度和遇到的具体问题进行相互转换 例如 项目经理也会转为系统分析员的角色 完成需求调研相关技术文档的写作 系统分析员也可能转为模块负责人角色 完成某模块具体设计工作等 20 3系统设计 根据需求分析 本系统由于是Web站点 所以属于传统的C S 客户端 服务器 结构 用户可以使用喜欢的浏览器作为客户端访问Web服务器 服务器给与相应的应答 20 3 1系统目标 本系统运用时下流行的LAMP体系结构实现 即系统运行平台 它是Linux的发行版CentOS5 5 Aapache作为Web服务器提供HTTP服务 后台数据库系统采用MySQL 开发语言是PHP 该系统用户界面友好 操作简便 用户可以随时随地通过各种手段以简短文字更新信息 将自己的所思所想以只言片语的形式发送到个人微博上 该系统能够帮助快速生活节奏下的人们扩大交际圈 在交际圈中加强影响力 20 3 2系统模块结构 本系统分为前台和后台管理操作 前台主要是各个普通用户能看到和操作的界面 后台主要是供系统管理员实施站点 会员管理等 20 3 3构建开发环境 开发环境是开发人人微博站的基础 以下介绍构建开发环境的步骤 1 安装CentOS5 52 安装与设置Apache3 安装与设置MySQL4 安装与设置PHP5 安装开发工具 20 4系统预览及目录组织结构 根据系统设计 预先给出人人微博站的用户界面预览及项目的目录组织结构 为之后的代码编写提供方便 用户界面预览从普通用户角度出发 描述了系统主要的功能 项目的目录组织结构从代码设计角度出发 描述了项目实现的代码体系结构 20 4 1系统预览 用户在浏览器上键入人人微博站的地址就能开始使用该系统了 下面介绍系统各主要功能模块 20 4 2目录组织结构 人人微博采用页面显示和应用逻辑的分离 因此 目录结构非常的清晰 便于日后的维护以及进一步的开发 cache 存放模板引擎解析后的PHP文件 cron 存放需要定期执行的PHP脚本 css 存放HTML的级联样式文件 images 存放网站的图片 javascript 存放HTML的javascript文件 lib 存放网站的通用PHP代码文件 即PHP代码库 sql 存放初始化数据库的sql语句文件 template 存放网站的原始模板文件 uploads 存放用户上传的图片 20 5数据库设计 数据库是支撑整个系统的基础 设计合理的数据库往往可以简化应用逻辑的设计 起到事半功倍的效果 因此 数据库设计是一门艺术 是构造最优的数据库模式 建立数据库及其应用系统 使之能够有效地存储数据 满足各种用户的应用需求 信息要求和处理要求 20 5 1数据库分析 人人微博是一个Web站点 对数据库的性能要求较高 故采用MySQL作为系统开发的数据库管理系统 MySQL能提供超大型系统所需的数据库服务 支持事务操作 这对数据的完整性有了很好的保障 作为微博站点 频繁更新信息是无法避免的 数据库管理系统解决了用户频繁发布消息 评论 图片等一系列操作过程中的信息数据的处理问题且提供一系列的数据分析 20 5 2项目E R图 该系统包含的实体主要有 主用户 其他用户 跟随者 日志 评论等 各实体及实体间的E R图如下图所示 20 5 3数据库表的设计 本系统数据库共有8张表 保存主用户和其他用户信息的user表 存放日志内容的entry表 存放跟随者信息的follow表 记录跟随动态的followlog表 记录上传图片信息的picture表 记录谓语动词的prefix表 存放回复信息的reply表 导入RSS的rssfeed表 数据库的名称为RenRenMicroBlog 下面将分别对数据库中的各个表进行介绍 20 5 4开发前的准备工作 在正式写源代码之前不仅要在数据库中创建所有的数据库表 还要导入一些既定的数据信息 例如 对于记录谓语动词的prefix表 可以先导入一些常用的谓语动词 这样便于后期的开发和测试 20 6数据库模块 作为一个Web站点 用户数量巨大 几乎每一个操作都会牵涉数据库 因此 把数据库模块单独提炼出来作为一个共通库以供其他模块调用 本系统数据库模块分为两部分 一个是数据库通用模块Database 另一个是数据库操作实施模块MySQLConnection 20 6 1数据库操作实施模块 MySQLConnection类对MySQL数据库的一系列操作 例如 连接 查询 更新等进行了封装 1 数据库连接2 执行数据库底层操作3 查询数据库4 更新数据库5 插入数据库 20 6 2数据库通用模块 Database类继承MySQLConnection类 实现一些通用的功能 如错误打印等 这样做的好处是方便功能的扩展 并且需要时可以追加其他类型数据库 如PostgreSQL SQLite等 20 7模板模块设计 模板可以说是一个HTML外壳 分离了程序逻辑和表现 使程序本身更加可重用 在极少更改代码的情况下可以有不同方式的表现输出 20 8 2登录功能的实现 在完成了页面设计后就可以增加登录功能了 本系统登录功能主要是通过用户名和密码的验证来体现的 20 9日志发表模块设计 日志在于让用户可以随时随地通过各种手段以简短文字更新自己的微博信息 登录用户可以把自己的所感所想立即发送到站点 与别人一起分享 拉近了彼此之间的距离 编辑日志时 用户可以选择两种编辑方式 精简模式 即纯文本 高级模式 即可以嵌入html 编辑完文本后 用户还可以上传图片 下面将介绍日志模块的具体开发过程 20 9 1日志发表页面的设计 用户登录后就能在首页直接观察和发表日志 这样便于用户观察日志的最新动态 20 9 2日志发表功能的实现 在完成了页面设计后就可以增加日志发表功能了 本系统日志编辑主要有两种方式 精简模式和高级模式 20 10评论模块设计 评论让用户可以和日志发表者产生互动 无论是站点的用户还是匿名人士 都可以对感兴趣的日志发布评论 此模块主要利用Ajax技术和PHP服务端交互 增强用户体验 下面将介绍评论模块的具体开发过程 20 10 1评论页面的设计 用户无论登录与否 可以直接对感兴趣的日志发布评论 只要单击对应日志的评论按钮 就可以马上发布文本信息 评论页面的设计如下图所示 20 10 2评论发布功能的Ajax实现 评论发布功能是通过Ajax和后台PHP交互来实现的 以下是评论发布功能的Ajax代码 20 10 3评论发布功能的PHP实现 评论发布的PHP代码实现了把用户的评论信息插入数据库 并把处理信息返回给前台 20 11跟随 Follow 模块设计 跟随系统是微博站点得以流行的最大因素 因为跟随系统可以用于扩大人际圈 用户只要单击 跟随 按钮 即表示其愿意接受某位用户的即时更新信息 用户同样也能在站点上看到自己追随者的信息 即所谓的 被跟随 Befollowed 下面将介绍跟随模块的具体开发过程 20 11 1跟随接口页面的设计 在人人微博站的主页就提供了跟随接口页面的入口 如下图所示 20 11 2跟随功能的实现 用户在单击 继续 按钮后就进入了跟随验证流程 20 12重要知识点 在人人微博的实现中主要用到了以下几个知识点 数据库模块的通用性 数据库模块单独提炼出来作为一个共通库以供其他模块调用 这样不仅可以复用代码 而且可以为将来的扩展留有余地 例如
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 六年级品社下册《异域风情》教学设计1 未来版
- 粤教版 信息技术 必修 3.2 表格信息的加工与表达 教学设计
- 新教材高中政治 第一单元 探索世界与把握规律 1.3 科学的世界观和方法论教案(2)部编版必修4
- 人教部编版八年级下册大道之行也教案
- 2026中国水下机器人声呐传感器深海探测精度与国际合作机遇
- 全国苏科版初中信息技术七年级下册第十单元第2节《功能强大的因特网》教学设计
- 高中物理 第二章 波粒二象性 第1节 光电效应教学设计2 粤教版选修3-5
- 人教版高一化学必修一 1-2《化学计量在实验中的应用》(第1课时)教学设计
- 新教材高中生物 第4章 细胞的生命历程 素能提升课 与有丝分裂有关的图像分析与应用教案 浙科版必修第一册
- 四年级数学下册 4 小数的意义和性质 1小数的意义和读写法第2课时 小数的数位顺序表配教案 新人教版
- 2026年浙江中考(语文)真题带答案
- 2026年医师定期考核考试题库及答案
- 2026年重庆市渝中区中考二模语文试卷
- 2026-2030轨道钢产业市场深度调研及发展趋势与投资前景研究报告
- 跨部门协作会议纪要模板及行动计划
- 2026光纤氧气传感在煤矿安全监测中的推广应用报告
- 儿童绘本故事《谁偷了我的饼》教学设计
- 安全生产资金保障制度范本
- 上海核工程研究设计院股份有限公司招聘笔试题库2026
- 家庭触电事故案例分析
- 社区食堂规范运营制度范本
评论
0/150
提交评论