社区产品-概要设计
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
社区产品微博系统概要设计说明书
1 引言
1.1 编写目的
此概要设计说明书是为了说明整个系统的体系架构,以及需求用例的各个功能点在架构中的体现。本概要设计说明书的预期读者为本项目小组的成员。
1.2 背景
2 总体设计
2.1 简述
苏宁微博是苏宁社区的一个重要组成部分,作为苏宁易购社会化营销的重要组成部分而存在,对增加网站流量促进销售起到重要的作用。
2.2 运行环境
运行环境需求:PHP(5.2.0)+MySql(4.1+)。
PHP需要开启mysql,gd,curl,mbstring支持。
2.3 需求分析
图1 系统基本需求
2.3.1关注好友功能
描述:关注好友,获得好友的最新博文动态。
操作:1.当用户点击“关注他”按钮。
2.系统通过ajax请求,进行数据库更新操作。
3.服务器将操作成功状态返回给前台页面。
4.页面中的原本的“关注他”按钮变成“取消关注”按钮。
输入:用户的基本信息:好友的ID值。
条件:系统必须连接数据库,用户必须是已登录用户。
2.3.2 关注产品功能
描述:关注产品,获得产品的博文信息。
操作:1.用户点击商品四级页面中的“加关注”按钮。
2.系统通过请求生成产品的微博页面。
3.建立用户和产品的关注关系,进行数据库更新操作。
4.服务器将操作成功状态返回商品四级页面。
5.原页面中的“加关注”按钮变成“取消关注”按钮。
输入:商品的基本信息:名称,图片,价格,评价,晒单,问答,咨询等信息。
条件:系统必须连接数据库,用户必须是已登录用户。
2.3.4 个人主页
描述:已登录用户浏览个人主页,包括用户个人信息、好友最新微博动态,关注的商品动态信息。
操作:1.用户在系统点击个人主页的相关连接地址进入个人主页页面。
2.服务器根据提交的地址,获得用户的基本信息、产品信息等,传至视图层。
3. 视图将数据装填至个人主页模板中并返回至浏览器。
输入:用户的基本信息
条件:系统必须连接数据库,用户必须是已登录用户。
2.3.5 最近来访
描述:向用户提供最近来访的访客。
2.3.6 系统推荐
描述:系统向用户推荐好友,推荐产品,团购信息等。
操作:1.用户打开相关的推荐信息页面。
2.服务器根据提交的地址,获得相关的推荐信息,传至视图层。
3.试图见数据装填值页面模板中并返回页面。将推荐信息展示在推荐部分。
条件:系统必须连接数据库,用户必须是已登录用户。
图2 管理员关系图
2.3.7 微博设置
描述:管理员配置微博系统的相关信息,例如微博名称、关闭用户注册等。
操作:1.管理员登陆系统后台。
2.服务器将微博设置界面返回至客户端,管理员设置系统的配置信息:微博名称、微博域名、微博关键字、微博描述、关闭用户注册、过滤关键词、禁止注册用户名/主页名、网站备案号、微博版权信息等。
3.管理员提交相关的修改的配置信息。
4.服务器将操作成功状态返回至客户端。
条件:系统必须连接数据库,管理员必须是登陆状态。
2.4 非功能需求
2.4.1 可用性
微博系统应对所有使用用户提供及时的服务。系统应保证对24小时运作的客服系统的服务,系统维护时间应计划在服务的最低峰时间。
2.4.2 响应时间
进行数据查询时,当处于系统使用高峰期时应保证系统具有对95%的数据交互查询、
更新提供3秒或更短响应时间的支持,当处于系统使用低峰期时应保证系统具有对95%的数据交互查询、更新提供2秒或更短响应时间的支持。当进行数据添加、更新时,系统内部应提供对请求处理的来源及响应时间的监控机制。系统响应时间因不同外部数据源和使用系统的通讯和接口情况而有所差异。
2.4.3 可靠性
微博系统不应在正常操作中丢失数据,当用户正在使用系统时,系统不应瘫痪,应对所有的使用人员提供每年365天,每天24小时,每天3班的系统监控支持,而每月突发的宕机时间不超过4小时。
2.4.4 易于使用性
微博系统应有操作、故障排除手册来帮助系统管理人员来快速解决系统问题。系统、管理/操作界面应易于使用, 对操作人员的培训时间保持在较短的时间内。
2.4.5 安全性
微博系统中提供普通用户和管理员权限两项安全性身份验证。其中,管理员可对普通用户进行授权操作,以便方便系统管理。
2.4.6 备份和灾难的及时恢复
微博系统应每天对所有运作相关的数据进行备份,以及备份的微博系统,以防止运行系统瘫痪时能及时使用备份数据库重新提供系统的服务。
3.系统设计
3.1 系统体系结构
本系统采用的是ThinkPHP框架。ThinkPHP框架的设计采用MVC设计模式:Action 对应MVC控制器,Model对应MVC模型,view对应MVC视图。
3.2 系统总体物理结构
拥有不同权限的系统管理员、用户通过Internet连接到微博系统的web服务器,web服务器受外部防火墙保护,数据库服务器为web服务器提供数据库支持,其受到内部防火墙的保护。微博系统的系统网络拓扑图如下:
图3 微博系统网络拓扑图
3.3 公共模块设计
公共模块定义是实现各个模块公共使用到的全局变量和函数,这样大大节约了编程实践及编程量,也为后期维护带来很大的方便。公共模块主要存放在目录/Common下的common.php文件中,包括字符串处理和过滤函数、获得用户信息函数、处理时间函数、粗粒博文信息函数、获取用户登录状态函数等。由于本系统是基于ThinkSNS系统的二次开发,