社区产品微博系统概要设计说明书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系统的二次开发,公共模块设计基本完成。
3.4 前台模块设计3.4.1 注册用户注册时,包括注册登录账号、个人首页、用户密码三项信息。
其中,注册个人首页为用户定置个性化的个人首页地址,为“服务器名/个人首页”的URL形式。
3.4.2 登录登录主要功能是验证用户身份并登录系统。
登录系统时,若为已注册用户,则输入登录名、密码和验证码并提交,系统进行检验,若其验证码输入正确且登录名和密码同数据库中的一致,则进入个人主页;若不一致,则提示错误原因,提示用户检查登录名和密码或验证码错误,重新登录。
若用户没有注册,则需完成填写新用户的相关资料,完成用户注册后,再进行登录。
3.4.3 管理用户信息管理用户信息主要功能是维护用户相关的信息。
在管理用户信息模块中,分为基本信息、头像设置、推荐自己等三个子模块。
基本信息模块用于对用户昵称、积分、性别和自我介绍等信息的显示与维护,其中自我介绍限定140字,用户昵称限定10个字以内的数字、字母和汉字的组合。
头像设置用于上传并修改用户头像。
其中,推荐自己功能,可以将用户设置成为推荐好友,同时扣除一定积分,系统将用户放置到查找好友模块的推荐好友中。
3.4.4 管理好友管理好友包括关注好友以及取消关注两项功能。
关注好友功能向用户提供对其它用户进行关注其微博动态的功能,被关注者的微博信息将显示在关注者的最新博文以及好友博文中。
3.4.5 管理产品管理产品包括关注产品和取消关注两项功能。
关注产品功能向用户提供对产品进行关注,被关注的商品微博信息将显示在关注者的关注商品信息区中。
3.4.6 查找好友查找好友向用户提供用户信息以便用户查找关注好友的功能,包括向推荐好友和最新用户两大模块。
其中,推荐好友在管理用户信息中设置。
3.4.7 管理博文管理博文主要功能是向用户提供对博文进行的各种相关操作。
在管理博文中,分为发表博文、删除博文、评论博文、评价博文等五项功能。
其中,发表微博功能用于已登录用户发表微博,其中微博可含有表情、分享、图片、话题等内容。
评论博文功能用于已登录用户对博文进行评论。
评价功能,用于已登录用户对博文进行顶、踩、路过等评价。
删除博文和评论需扣除一定积分。
3.4.8 管理话题话题模块包括发表话题博文、浏览话题列表、浏览话题博文。
3.4.9 管理群组管理群组向用户提供针对某一特定主题长期进行交流的群组功能,包括浏览群组列表、浏览群组博文、发表群组博文三项功能。
浏览群组列表功能是显示本系统所有的群组列表信息。
浏览群组博文用于对特定系统群组读取并显示与该群组相关博文。
3.4.10 浏览个人主页浏览个人主页,主要包括查看用户个人基本信息,例如头像、账号、个人主页地址等,以及关注者的最新微博动态。
3.4.11 查看系统首页查看系统首页,主要包括查看系统推荐和浏览最新微博。
其中,系统推荐为向用户推荐最热博文、最热话题、活跃用户以及用户关注排行。
最新微博,包括自己和关注者的最新微博动态。
3.5 后台模块设计3.5.1 管理用户管理用户向管理员提供查看和管理用户的相关信息功能,包括删除用户、审核用户、授予权限、增加用户等功能。
如果系统配置中注册审核功能开启时,则只有当管理员审核用户后,该用户权限才升为普通用户;否则未审核用户只有登录、浏览等权限,无权进行发表微博、评论等操作。
本系统角色仅有普通用户和管理员两种,授予权限可变更用户角色。
3.5.2 设置系统配置设置系统配置包括系统参数、微博设置(时序图如图4-5所示)、积分设置和防灌水设置四项功能。
系统参数功能用于查看服务器系统参数情况,例如操作系统类型、服务器域名、服务器剩余空间等。
微博设置功能主要用于配置微博系统参数,例如系统名称、系统描述、启闭邀请注册功能、默认积分等。
防灌水设置主要用于防止恶意用户操作行为,包括配置是否启用人工审核、邮箱激活、同IP注册受限时间、新用户发言受限时间等参数。
积分设置功能查看管理积分用例描述。
3.5.3 管理群组管理群组的主要功能是对群组进行查看、修改和新增等管理。
群组由管理员为针对某一特定主题的群体所创建,并可修改群组名称、群组头像等群组信息。
3.5.4 管理博文管理博文的主要功能是对用户博文进行浏览、审核、删除等管理操作。
当博文内容涉及政治、色情等非法信息时,管理员可对某进行删除操作。
如果系统配置中审核博文的功能启用,则博文需管理员审核才为其它用户所见。
3.5.5 管理话题管理话题的主要功能是对话题内容进行查看并修改话题、新增话题等管理操作。
由于已注册并登录用户都有权发表新话题,从而会导致话题不规范、同一话题多种表述等情况,故管理员有修改不规范话题的操作权限。
新增话题用于引导和新增一些热门话题的讨论。
3.5.6 管理积分管理积分包括积分设置和管理积分日志等两项功能。
积分设置是设置积分项值、启用情况等积分系统配置。
积分配置项中有三项加分操作:登录系统、发表微博、发表回复,以及二项减分操作:删除微博和删除回复。
积分系统配置可灵活配制各项增减分值。
积分日志用于记录用户增减积分记录,系统管理员对其有删除操作权限。
当日志记录删除时,用户该项积分也将被扣除。
4. 系统运行本系统是基于ThinkSNS微博系统的二次开发,已经实现了前台系统和后台系统二个子系统。
前台系统以实现的功能有:登录、注册、博文模块、系统推荐。
话题模块、好友模块、群组模块、系统首页、个人首页、用户信息管理等功能模块。
后台系统已实现了登录、注销、登录用户管理、群组管理、系统配置、积分管理、博文管理、话题管理。