微博需求分析-数据库设计文档

合集下载

数据库设计文档模板

数据库设计文档模板

数据库设计文档模板一、引言。

数据库设计是软件开发过程中非常重要的一环,它直接影响着系统的性能、稳定性和扩展性。

本文档旨在为数据库设计人员提供一个规范的模板,以便他们能够按照统一的标准进行数据库设计工作,确保设计的合理性和可维护性。

二、数据库设计概述。

1. 数据库设计目标,明确数据库设计的目标和范围,例如解决哪些业务问题,满足哪些需求。

2. 数据库设计原则,介绍数据库设计时需要遵循的原则,例如数据一致性、完整性、可靠性等。

3. 数据库设计约束条件,列举数据库设计时需要考虑的约束条件,例如数据安全性、性能要求、成本限制等。

三、数据库逻辑设计。

1. 数据库实体关系模型,根据需求分析,设计数据库的实体及其之间的关系模型,包括实体-关系图、实体属性及其约束。

2. 数据库范式分解,对设计的数据库进行范式分解,确保数据存储的规范性和一致性。

3. 数据库索引设计,设计数据库的索引结构,提高数据库的检索性能。

四、数据库物理设计。

1. 数据库表结构设计,设计数据库的表结构,包括表的字段、数据类型、约束条件等。

2. 存储过程和触发器设计,设计数据库的存储过程和触发器,实现数据库的业务逻辑。

3. 数据库性能优化,对数据库进行性能优化,包括索引优化、查询优化等。

五、数据库安全设计。

1. 数据库权限管理,设计数据库的权限管理策略,保护数据库的安全性。

2. 数据备份和恢复策略,设计数据库的备份和恢复策略,确保数据的可靠性和完整性。

3. 数据库审计策略,设计数据库的审计策略,监控数据库的使用情况,保障数据的安全。

六、数据库设计实施。

1. 数据库设计实施计划,制定数据库设计的实施计划,安排设计人员进行数据库设计工作。

2. 数据库设计实施过程,介绍数据库设计的实施过程,包括需求分析、设计、开发、测试等阶段。

3. 数据库设计实施验收,对数据库设计进行验收,确保设计的合理性和可行性。

七、数据库设计维护。

1. 数据库变更管理,管理数据库的变更,确保数据库的稳定性和一致性。

新浪微博营销STP

新浪微博营销STP

新浪微博在大的市场目标上运用无差别市场策略,抓住了人 们想要与他人倾诉、沟通的欲望,并且主打创造“微世界”的目 标。在微博这种通讯工具的设计上有具有自己独特的目标,引领 微交流的浪潮。而在市场进一步打开后,新浪及时的调整了自己 的目标定位。进入差别性市场策略,即通过“新浪认证”等方式 将用户群加以区分,有加V名人,认证企业,甚至在以众多美女 为基础上创出了“微女郎”的认证,吸引人们的眼球。从而把整 个市场细分为若干子市场,针对不同的子市场,设计不同的产品, 制定不同的营销策略,满足不同的消费需求。这种策略的优点是 能满足不同消费者的不同要求,有利于扩大销售、占领市场、提 高企业声誉。
T
前几年,因产品难于销售而处于困境。后来,他们进行市 场细分后,根据企业优势,选择了省内十大运输公司作为自己 的目标市场,生产适合晋煤外运的高吨位汽车载重轮胎,打开 了销路。随着企业实力的增强,他们又选择了耕运两用拖拉机 制造厂为目标市场。1992年与香港中策投资有限公司合资经营, 成立了“双喜轮胎股份有限公司”。1993年,在全国轮胎普遍 滞销的情况下,该公司敲开了一汽的大门,为之提供高吨位配 套轮胎。正确选择目标市场是太原橡胶厂跨入全国500家优秀 企业的有效策略之一。
立体化:
微博最显著特征之一就是其传播迅速。一条关注度较高的微博在互 高速度: 联网及与之关联的手机WAP平台上发出后短时间内互劢性转发就可 以抵达微博世界的每一个角落,达到短时间内最多的目击人数。
便捷性: 微博营销优于传统的广告行业,发布信息的主体无须经过繁复的行 政审批,从而节约了大量的时间和成本。
随时随地可以玩
微博客=一句话博客
任意时间,任意地点发送或获取信息和图片
简单的传播方式
• • • 用户间单向的“跟随”、“被跟随”关系; 基于用户社会关系实现信息快速传播; 大多数用户扮演着“粉丝”、“倾听者”的角色, “明星”、“事件”对业务发展有关键作用 通过手机、计算机即时发布140字以内的短小博文; 实时性、便捷性和现场感极强 140字以内的要求,更利于用户原创内容; 原创的内容有劣于用户之间产生联系,以达到增加黏 性的目的 微博平台提供开放的API接口,极大方便用户通过手 机、计算机、IM客户端等方式接入平台发布微博、 第三方应用等

微博项目需求分析报告

微博项目需求分析报告

微博项目需求分析报告一、项目概述微博项目是基于现有社交媒体的微博平台开发,旨在满足人们日常社交、信息传播、公众表达等需求。

该项目以用户为中心,通过简洁、便捷的方式让用户发布、浏览、转发、评论微博内容,实现用户间的互动交流。

二、项目目标1. 提供一个稳定、高效的微博平台,让用户在平台上快速实现信息传播并与其他用户进行互动交流。

2. 提供丰富的功能和个性化设置,满足用户的各种需求,提高用户粘性和活跃度。

3. 构建一个安全、友好的社交平台环境,有效管理用户行为,减少不良信息的传播。

三、核心功能需求1. 用户注册与登录:用户通过手机号、邮箱等方式注册账号,并通过账号登录微博平台。

2. 发布与浏览微博:用户可以发布文字、图片、视频等微博内容,并浏览其他用户发布的微博内容。

3. 转发与评论:用户可以转发其他用户的微博内容,并对微博进行评论。

4. 消息通知:用户可以接收到关注用户的最新微博动态通知,并及时查看与自己相关的评论、点赞等消息通知。

5. 关注与粉丝:用户可以关注其他用户,并查看自己的粉丝列表。

6. 用户搜索与推荐:用户可以通过搜索关键词查找其他用户,同时平台会根据用户的兴趣推荐相关用户和内容。

7. 私信功能:用户可以通过私信与其他用户进行一对一的聊天对话。

四、非功能性需求1. 性能要求:平台需要具备良好的性能和扩展性,能够支持大量用户同时在线浏览、发布微博。

2. 安全要求:平台需要采取相应的安全措施,防止用户隐私泄露、恶意攻击等事件发生。

3. 用户体验要求:平台应具备友好的用户界面设计,操作简单、响应快速、界面美观大方,以提升用户的使用体验。

4. 可靠性要求:平台需要具备高可靠性,保障用户信息和微博内容的安全存储和传输。

五、项目计划1. 需求收集与分析:分析用户需求,梳理核心功能和非功能性需求。

2. 需求设计与评审:详细设计平台的功能、界面、数据库等,进行需求评审,制定项目开发计划。

3. 开发与测试:根据需求设计,进行平台的开发与测试工作。

微博架构方案

微博架构方案
-采用分布式搜索引擎,如Elasticsearch;
-提供微博内容全文搜索,优化用户体验;
-实现实时搜索,提高搜索效率。
四、网络安全与数据保护
1.网络安全
-部署防火墙、入侵检测系统,防止恶意攻击;
-使用安全协议,如HTTPS,保障数据传输安全;
-实施严格的权限管理,防止内部数据泄露。
2.数据保护
-对用户敏感数据进行加密存储和传输;
-分析监控数据,优化系统性能。
六、实施与验收
1.实施计划
-制定详细的项目实施计划,明确时间节点、责任人和验收标准;
-按照实施计划,分阶段推进项目实施;
-组织技术培训,确保项目团队具备实施能力。
2.验收标准
-系统稳定性:确保99.99%的在线时间;
-性能指标:满足业务需求,响应时间不超过500ms;
-数据安全:无数据泄露事件发生;
微博架构方案
第1篇
微博架构方案
一、项目背景
随着互联网的快速发展,社交媒体已经成为人们日常生活中不可或缺的部分。微博作为国内领先的社交媒体平台,为广大用户提供了一个实时信息分享、互动交流的场所。为了满足日益增长的用户需求,保障平台稳定、高效运行,现需对微博平台架构进行优化升级。
二、方案目标
1.提高系统稳定性:确保平台在高并发、高负载情况下,仍能稳定运行,降低故障率。
(2)采用分布式设计,提高系统性能,确保高并发场景下的稳定运行。
(3)引入负载均衡技术,合理分配请求,提高资源利用率。
2.数据库设计
(1)采用关系型数据库存储用户数据,如MySQL、Oracle等。
(2)采用NoSQL数据库存储非结构化数据,如MongoDB、Redis等。
(3)建立合理的索引策略,提高数据查询速度。

hbase 表设计案例

hbase 表设计案例

hbase 表设计案例HBase 是一个开源的分布式列存储系统,适用于大数据存储和处理。

在使用HBase 进行数据存储时,一个关键的因素是设计合适的表结构,以满足特定需求。

在本文中,我将通过一个实际案例来介绍如何设计一个适用于 HBase 的表结构。

假设我们要设计一个微博应用的后台数据库,以下是我们对该应用的需求:1. 用户可以发布微博,并可以附加图片。

2. 每个用户可以关注其他用户,并可以查看关注用户的微博。

3. 用户可以点赞、评论和转发其他用户的微博。

4. 用户可以根据关键字搜索微博。

根据上述需求,我们可以将微博设计为主表,用户信息设计为用户表,点赞、评论和转发设计为相应的附属表。

1. 微博表设计微博表是整个数据库中最重要的表,用于存储用户发布的微博信息。

微博表的主键可以使用用户 ID 和微博发布时间的组合,确保每条微博的唯一性。

此外,我们还可以在表中添加以下列:- user_id: 发布微博的用户 ID。

- content: 微博的内容。

- image: 微博的图片。

- like_count: 点赞数。

- comment_count: 评论数。

- forward_count: 转发数。

2. 用户表设计用户表用于存储用户的个人信息和关注关系。

用户表的主键可以使用用户ID,确保每个用户的唯一性。

此外,我们还可以在表中添加以下列:- username: 用户名。

- password: 密码(经过哈希处理)。

- email: 邮箱。

- follow_count: 关注数。

- follower_count: 粉丝数。

3. 点赞表设计点赞表用于存储用户对微博的点赞信息。

点赞表的主键可以使用用户 ID 和微博 ID 的组合,确保每个用户对每条微博只能点赞一次。

此外,我们还可以在表中添加以下列:- user_id: 点赞用户的 ID。

- weibo_id: 被点赞微博的 ID。

4. 评论表设计评论表用于存储用户对微博的评论信息。

数据库设计思路范文

数据库设计思路范文

数据库设计思路范文1.需求分析:在进行数据库设计之前,首先需要对应用需求进行全面的分析和理解。

这包括确定应用的功能模块、数据操作的频率和规模、数据关系和完整性要求等。

通过深入了解用户需求,可以更好地设计数据库结构和操作,满足用户的使用需求。

2.数据建模:在进行数据库设计过程中,数据建模是非常重要的一步。

数据建模是指将现实世界的实体和它们之间的关系抽象成数据库中的数据表和表之间的关系。

常用的数据建模方法有关系模型、实体-关系模型等。

3.数据表设计:在进行数据表设计时,需要考虑以下几个方面:-数据表的命名规范:为了方便管理和维护数据库,需要给数据表起一个合适的名称,最好能够反映其功能和含义。

-数据表的字段设计:确定数据表的字段,包括字段名称、数据类型、长度和约束等。

字段的设计需要根据应用需求和数据特点来确定,保证数据的准确性和完整性。

-主键和外键的设计:主键是用来唯一标识数据表中记录的字段,而外键是用来关联两个数据表的字段。

在设计主键和外键时,需要保证数据的完整性和一致性。

-索引的设计:索引是用来提高数据查询效率的一种技术。

在设计索引时,需要根据数据库的查询需求和数据量来确定索引的字段和类型,以提高数据库的性能。

4.数据库操作设计:数据库操作指对数据库中的数据进行增、删、改和查等操作。

在进行数据库操作设计时,需要考虑以下几个方面:-数据库事务的设计:事务是数据库中进行批量操作的基本单位,可以保证数据的一致性和完整性。

在设计数据库操作时,需要考虑事务的开始、提交和回滚等操作,以确保数据的准确性。

-数据访问权限的设计:根据应用的安全需求,设计数据库的访问权限和角色管理,保证数据的机密性和安全性。

-数据库备份和恢复的设计:为了保证数据库的可靠性和可用性,需要设计合理的数据库备份和恢复策略,以应对数据丢失和系统故障等情况。

通过以上的数据库设计思路,可以构建一个高效可靠的数据库系统。

根据应用需求进行需求分析,进行数据建模和设计数据表等步骤,同时合理设计数据库操作和权限管理,以及数据库备份和恢复策略,可以提高数据管理的效率和数据的可靠性。

需求分析+概要设计+详细设计+数据库设计模板

需求分析+概要设计+详细设计+数据库设计模板

附录A 软件需求分析报告文档模板 (1)附录B 软件概要设计报告文档模板 (13)附录C 软件详细设计报告文档模板 (33)附录D 软件数据库设计报告文档模板 (43)附录E 软件测试(验收)大纲 ...................................................................... 错误!未定义书签。

5附录A 软件需求分析报告文档模板1. 引言 (3)1。

1编写目的 (3)1.2项目风险 (3)1。

3文档约定 (3)1。

4预期读者和阅读建议 (3)1。

5产品范围 (4)1.6参考文献 (4)2. 综合描述 (4)2。

1产品的状况 (4)2。

2产品的功能 (5)2。

3用户类和特性 (5)2。

4运行环境 (5)2。

5设计和实现上的限制 (5)2.6假设和约束(依赖) (6)3。

外部接口需求 (6)3.1用户界面 (6)3.2硬件接口 (7)3.3软件接口 (7)3.4通讯接口 (8)4. 系统功能需求 (8)4.1说明和优先级 (8)4。

2激励/响应序列 (9)4。

3输入/输出数据 (9)5. 其它非功能需求 (9)5.1性能需求 (9)5。

2安全措施需求 (10)5。

3安全性需求 (10)5。

4软件质量属性 (10)5.5业务规则 (10)5.6用户文档 (10)6. 词汇表 (11)7。

数据定义 (11)8。

分析模型 (12)9。

待定问题列表 (12)1. 引言引言是对这份软件产品需求分析报告的概览,是为了帮助阅读者了解这份文档是如何编写的,并且应该如何阅读、理解和解释这份文档。

1.1 编写目的说明这份软件产品需求分析报告是为哪个软件产品编写的,开发这个软件产品意义、作用、以及最终要达到的意图。

通过这份软件产品需求分析报告详尽说明了该软件产品的需求规格,包括修正和(或)发行版本号,从而对该软件产品进行准确的定义。

如果这份软件产品需求分析报告只与整个系统的某一部分有关系,那么只定义软件产品需求分析报告中说明的那个部分或子系统。

软件工程-需求分析文档示例

软件工程-需求分析文档示例

软件工程-需求分析文档示例需求分析文档示例:1:引言本文档旨在对软件工程项目的需求进行详细分析和规范。

通过需求分析,可以确保项目开发团队对软件的功能和性能有清晰的认识,从而有针对性地进行设计、开发和测试工作。

2:项目概述在这一章节,描述项目的背景和目标。

明确项目所要解决的问题,并说明项目的价值和重要性。

另外,还要对项目的范围进行界定,明确功能和非功能需求。

3:需求概述在这一章节,总结项目的功能和非功能需求。

可以将需求进行分类,并给出相应的需求描述。

同时,还需要提供一些重要的假设和约束条件。

4:功能需求在这一章节,详细列出软件的各个功能模块,并对每个模块进行详细描述。

可以使用用例图、用例描述和功能需求规格说明等方式来呈现需求。

每个功能需求还需要标明其优先级和关联的其他需求。

5:非功能需求在这一章节,详细描述项目的非功能需求,包括性能、可靠性、安全性、可维护性等方面的需求。

可以使用表格的形式列出每个非功能需求,并解释其含义和重要性。

6:用户界面要求在这一章节,描述软件的用户界面设计要求。

包括界面的布局、颜色、字体、图标等方面的需求。

可以使用截图或原型图来辅助描述。

7:数据要求在这一章节,描述软件对数据的要求。

包括数据的类型、格式、存储和传输等方面的需求。

如果涉及数据的输入、输出和修改,也需要进行详细描述。

8:环境要求在这一章节,描述软件运行的环境要求。

包括操作系统、硬件配置、软件依赖等方面的要求。

如果有特殊的环境要求,也需要进行详细说明。

9:接口要求在这一章节,描述软件与外部系统或组件的接口要求。

包括数据、功能和消息等方面的接口。

可以使用流程图或时序图来呈现接口要求。

10:性能要求在这一章节,描述软件的性能要求。

包括响应时间、吞吐量、并发性能等方面的要求。

可以给出性能指标和测试方法,以便后续的性能测试。

11:安全和隐私要求在这一章节,描述软件的安全性和隐私性要求。

包括访问控制、数据保护、身份验证等方面的要求。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

微博系统详细设计说明书2012年5月14日一.系统概述1.1:构建系统目的(依据需求调研):微博系统的业务总体目的是建立在一个先进,高效,安全的能被所以和应用于所以微博用户的交流系统。

系统采用B/S架构体系,即采用浏览器访问,服务器端由apache开元发布系统tomcat7.0及mysql数据库服务器组成,开发工具Myeclipse9.0,客户可以由通用的浏览器访问。

1.2:需求文档及规范说明:依据需求文档来规范美工静态页面制作,设计整体软件系统和数据库搭建。

二.数据库设计数据库设计兼顾前台后台相互关联调用,设计的表明晰如下:1.1各表详细说明:1.1.1前台用户信息表(users):1.1.2前台用户关系表(relations):1.1.3微博信息表(weibo):1.1.4微博评论表(comment):1.1.5 收藏表(collection)1.1.6 后台用户表(admins)1.1.7 权限表 (permissions)1.1.8权限内容表(percontent)1.1.9 微博热议内容表(bloghot)三.前台的HTML静态页面设计四.微博系统前台功能设计1.用户信息管理注册时用户输入自己的基本信息,用户名密码不得为空,登陆时候,输入相应用户名密码,经过验证正确后方可登陆个人信息主页面,进入登陆界面用户可以通过点击个人信息账号进行个人信息设置和修改。

1.1注册用户静态界面:register.jsp1.1.1 功能描述:用户注册信息,系统将用户前台页面输入的个人注册信息获取,提交到后台(并不是系统后台),并且写入数据库。

注册的信息包含:邮箱,创建密码(确认密码),昵称,性别,所在地和验证码,输入规范正确后方可注册微博用户成功。

1.1.2 功能实现:用户前台注册页面输入相应信息,信息验证:对用户输入的邮箱验证、验证两次密码是否一致、验证验证码是否正确、性别和昵称验证是否填写。

系统获取到对应表单信息后,提交到相应servlet(RegisterServlet.java)中去,并且通过biz(RegisterBizImpl)调用dao(UsersDaoImpl.java)层代码进行输入mysql数据库中。

1.2用户登录:静态页面:login.jsp1.2.1功能描述:用户登录微博主页面,验证:用户名和密码是否输入。

1.2.2功能实现:提交到后台Servlet(LoginServlet),获取前台页面用户输入的用户名和密码内容,提交到Biz(LoginBizImpl)层,并调用Dao(UsersDaoImpl)层代码和数据库交互来验证用户输入信息是否正确。

1.3设置个人信息账号(修改个人信息)静态页面:modify.jsp修改个人信息截图修改个人密码:修改个人头像:1.3.1功能描述:修改个人信息,包含修改个人简单信息、密码、头像,对两次密码进行判断1.3.2 功能实现:首先,用户进入此页面后,显示出用户自身全部信息,用户对此信息进行修改,并且把用户ID以隐藏表单形式显示在页面中,修改密码过程中验证两次密码输入是否一致,修改头像判断用户是否选择了新的头像,进入上传头像操作。

用户将自己信息修改后,后台Servlet(ModifyServlet.java)获取前台用户提交信息,并且将此信息修改提交到Biz(ModifyBizImpl.java)层再调用到dao(ModifyDaoImpl.java)层实现数据库更新。

2.微博信息管理:微博信息管理是系统模块中重要的组成部分,主要负责对用户微博信息的管理,包含发送微博,评论微博,转发微博,收藏微博,删除微博,对于微博的模糊查询和微博信息的分页展示。

2.1 发送微博:静态页面 mainMicroblog.jsp2.1.1 功能描述:进入(个人信息)微博主页面后,在最醒目的位置,左上方显示微博发送控件,输入微博内容后点击发送即可实现微博发送功能,还可以添加图片,进行图片上传功能,将微博写入数据库中。

2.1.2 功能实现:Servlet(SendMicroblogServlet.java)获取前台页面用户输入要发送微博的内容,并且(从回话中)获取登陆用户的ID,一起封装到微博(Microblog.java)的实体类中,然后提交到biz(SendMicroblogBizImpl.java)层并且调用dao(MicroblogDaoImpl.java)层来实现微博信息的(添加)发送。

2.2 评论微博:2.2.1:功能描述用户可以通过评论微博功能对自己希望评论的微博进行评论,并且紧随微博显示在微博后面。

2.2.2:功能实现:Servlet(CommentMicroblogServlet.java)获取到前台用户对相应微博信息的评论内容,同时获取此微博信息的ID,然后封装评论实体(Comment.java)类通过Biz(CommentMicroblogBizImpl.java)层,调用dao(CommentDaoImpl)层代码,实现添加评论信息。

2.3 转发微博:2.3.1 功能描述:用户根据自己主观喜好的微博信息可进行转发操作,转发后会将此微博信息作为自己的微博进行显示,同时自己的粉丝也可以看到此微博信息。

2.3.2 功能实现:Servlet(ForWardMicroblogServlet.java)获取到用户想要转发的微博信息ID,然后获取此微博信息内容,调用Biz(ForWardMicroblogBizImpl.java)层调用dao(MicroblogDaoImpl.java)层代码首先实现要转发的微博转发次数+1,其次作为转发者自己的微博,又要添加一条新的微博信息,要注意新添加的微博信息外键值将由其他的UID值转换为转发者的ID。

2.4 收藏微博:2.4.1 功能描述:用户可以对所关注的人的微博进行收藏,其作用为不让自己的粉丝看到,和转发的作用正好相反。

2.4.2 功能实现,在微博浏览页面中,点击收藏后,首先后台Servlet(CollectionMicroblogServlet.java)获取到用户所要收藏微博的信息(获取收藏微博的ID),通过Biz(CollectionBizImpl.java)层调用Dao层(CollectionDaoImpl.java)来添加到收藏表中(因此,收藏表肯定要有一个外键对应用户)。

2.5 删除微博:2.5.1 功能描述:用户可以对自己发表过的微博进行删除,因此会伴随提示”删除微博,会连同相应的评论删除,是否继续?”,因此新显示的微博信息将不会有此信息。

2.5.2 功能实现:首先Servlet(DeleteMicroblogServlet.java)获得前台页面用户要删除微博的信息(ID),如果此微博信息和发送者是相同一个人的话,那么次信息执行删除操作,否则提示没有权限删除他人微博。

执行删除操作,通过Biz(MircoblogBizImpl)层调用Dao(MircoblogDaoImpl)层执行微博表相应记录删除。

2.6 微博模糊查询:2.6.1 功能描述:用户要搜寻相应微博信息,可以进行模糊查询。

用户可以在模糊查询表单内搜索相应信息点击查询即可查出相应微博,但是如果没有相应信息则提示”没有搜索到相应微博信息”。

2.6.2 功能实现:首先在Servlet(MicroblogFuzzyFindServlet.java)中获取模糊查询表单内容,通过Biz(MircoblogBizImpl)层调用Dao(MircoblogDaoImpl)层来查找相应信息,返回ArrayList集合信息。

2.7 微博信息分页显示:2.7.1 功能描述,所以登陆者的微博和其关注人的微博信息都要在个人主页内分页显示,然后用户点击”上一页”或者”下一页”进行分页查找微博信息。

2.7.2 功能实现:首先作为面向对象编程思想,要建立起一个相应的分页类PageBean.java(包含的变量:总记录数count(*),总页数,每页多少条记录,当前第几页,数据信息的结合List),按照PageBean的思路来搜索数据库用户想要的相应页数。

3.好友信息管理 FriendsManager对好友管理是微博系统中一个非常重要的模块,通过对好友管理,用户可以完成添加关注操作,取消关注,互为好友,搜寻好友,等功能。

对自己感兴趣的人进行好友操作,从而时刻关注好友的微博信息更新。

3.1添加关注 AddAttention3.1.1 功能描述:登陆的用户可以对没有加为关注的人进行添加关注操作,若被添加者在操作前与该登陆者无关注和被关注的关系,则二人关系为关注关系,既为单向关注关系。

3.1.2 功能实现:用户点击了还没有关注的陌生人的关注后,首先后台Servlet(AddAttentionServlet.java)获取到要关注人的信息(ID),通过Biz(AttentionBizImpl)层判断调用Dao(AttentionDaoImpl)层来判断此用户是否是已经关注我的好友,如果没有此用户关注登陆者的信息,那么添加关注表,作为登陆者关注人的信息。

反之,状态字段应相应改变,标志此用户和登陆者为互为关注关系。

3.2 互为好友 EachOtherFirends3.2.1 功能描述:衔接上一功能说明,登陆者还可以添加自己的粉丝好友作为自己关注的人。

3.2.2 功能实现,同样衔接上一功能说明,如果添加关注时候判断其好友已经是自己粉丝,那么状态关系表中状态字段应有所改变,状态为互为好友。

3.3 搜寻好友(换一换) FindFirends3.3.1 功能描述:用户在自己的主页内同时要显示出自己还没有关注人的信息,同样可以通过换一换搜索还没关注人的陌生人信息。

3.3.2 功能实现:很类似与分页显示微博信息,应用到PageBean功能,但是不同与分页显示的是分页显示是用户决定要看哪一页信息,换一换是由java随机数来决定显示哪一页陌生人信息。

也就是通过java随机数来产生要显示的每一页信息。

相应Servlet(FindFirendsServlet.java)生成java随机数来通过PageBean获取随机的页的陌生人信息。

3.4 取消关注 DeleteAttention3.4.1 功能描述;用户还可以对已经加过的好友进行取消关注操作。

静态页面:用户在除了登陆后的个人主页内还可以选择菜单进行进入我的好友管理静态页面,显示的所以好友,关注的好友信息,可以点击相应的取消关注操作。

3.4.2 功能实现:首先Servlet(DeleteAttentionServlet.java)获取到所要取消关注人的信息(ID),思路和添加好友,互为关注的思路正好相反,通过Biz(AttentionBizImpl.java)层调用Dao(AttentionDaoImpl.java)层,首先判断此用户是单向关注还是双向互为好友,如果是前者删除关系表中相应记录,如果是后者,不但要删除相应关系记录,还要修改关系表中状态字段值。

相关文档
最新文档