微博系统设计.docx

上传人:b****5 文档编号:6064999 上传时间:2023-01-03 格式:DOCX 页数:26 大小:1.13MB
下载 相关 举报
微博系统设计.docx_第1页
第1页 / 共26页
微博系统设计.docx_第2页
第2页 / 共26页
微博系统设计.docx_第3页
第3页 / 共26页
微博系统设计.docx_第4页
第4页 / 共26页
微博系统设计.docx_第5页
第5页 / 共26页
点击查看更多>>
下载资源
资源描述

微博系统设计.docx

《微博系统设计.docx》由会员分享,可在线阅读,更多相关《微博系统设计.docx(26页珍藏版)》请在冰豆网上搜索。

微博系统设计.docx

微博系统设计

滁州学院

课程设计报告

 

课程名称:

数据库原理与应用

设计题目:

微博系统

系别:

计算机与信息工程学院

专业:

计算机科学与技术

组别:

第一组

起止日期:

2012年5月24日~2012年6月日

********

 

计算机与信息工程学院二○一二年制

课程设计题目

微博系统

组长

学号

班级

计科102

系别

计算机与信息工学院

专业

计算机科学与技术

组员

 

指导教师

黄晓玲

课程设计目的

课程设计所需环境

课程设计任务要求

课程设计工作进度计划

序号

起止日期

工作内容

分工情况

指导教师签字:

年月日

系(教研室)审核意见:

 

系(教研室)主任签字:

年月日

课程设计任务书

基于JSP的微博系统的设计与实现

1引言

1.1开发背景

微博,即微博客(MicroBlog)的简称,是一个基于用户关系的信息分享、传播以及获取平台,用户可以通过WEB、WAP以及各种客户端组件个人社区,以简短的文字更新信息,并实现即时分享。

最早也是最著名的微博是美国的twitter,根据相关公开数据,截至2012年1月份,该产品在全球已经拥有8000万注册用户。

2009年8月份中国最大的门户网站新浪网推出“新浪微博”内测版,成为门户网站中第一家提供微博服务的网站,微博正式进入中文上网主流人群视野,成为网民不可缺少的一部分。

1.2需求概述

本次任务是要实现一个微博系统,系统的主要功能包括:

当用户处于游客状态下能看到微博注册页面;注册用户可使用微博交互功能,如发表微博、删除自己发表的微博、评论微博、转发微博、收藏微博、解除收藏、加关注、解除关注以及对微博用户的查询;注册用户可以使用微博的个性化设置功能,对基本信息(头像、昵称等)、账号和密码进行设置;后台管理员可以对微博用户的相关信息进行查询、对微博信息进行查询并可以删除非法的微博信息。

2需求分析

2.1功能需求

2.1.1前台功能

用户注册

用户浏览主要提供给用户和游客浏览微博系统,在此页面上给新用户提供了微博系统的注册入口。

用户在注册时需要填写的基本信息包括:

邮箱地址、登录密码、昵称、性别、出生日期、所在省市地址、学校、真实姓名、身份证号等信息。

其中注册时使用的邮箱地址将是以后用户的登录账号。

为了防止恶意注册,用户在注册时加了验证码进行验证。

登录功能

当用户注册后,可以登录微博系统使用微博的交互功能,用户在登录时需要输入用户的邮箱地址、登录密码和验证码。

为方便用户更好的使用系统,在登录页面也通过了微博系统的注册入口。

用户修改信息

微博用户可以对自己的部分信息进行修改,具有上传自己的微博头像的功能。

发表微博、删除微博与评论微博

注册的微博用户可以发表微博,发表的微博将在页面上显示,显示微博的内容、发表用户的昵称、发表时间、转发次数、评论信息以及评论次数。

除此之外,用户还具有删除微博自己发表的微博的功能。

微博用户可以对自己关注的用户的微博信息进行评论。

转发、收藏微博与解除收藏

用户在浏览微博时,可以收藏自己喜欢的微博,也可以删除自己之前收藏的微博。

用户还可以转发自己关注的微博用户的微博信息,转发的微博将在自己的微博页面上显示。

加关注与解除关注

微博用户可以对自己感兴趣的用户进行加关注,当自己关注的用户也关注了自己,即相互关注,那这两位用户即互为好友关系。

对已经加了关注的用户也具有解除关注的功能。

2.1.2后台管理

⑴用户管理:

主要是对微博用户的注册信息进行管理,可以查询微博用户的相关信息。

⑵微博信息管理:

主要是根据微博用户查看该用户的微博信息,删除非法的微博信息。

2.2业务规则分析

业务规则分析主要是分析数据之间的约束以及数据库约束。

基于以上的功能需求,通过进一步的理解,微博系统的业务规则如下:

⑴只有注册的微博用户才具有对微博信息进行评论与转发等功能,普通的游客只能看到部分的微博信息,且不能进行转发、评论与收藏等。

⑵每位微博用户由用户ID号唯一标识,微博用户的ID号是数据库系统生成的流水号。

⑶由于用户是使用邮箱地址进行系统登录的,所以一个邮箱只能注册一个用户。

⑷用户发表的每条微博都由微博ID号唯一标识,微博信息的ID号是数据库系统生成的流水号。

⑸一个用户可以发表多条微博,收藏多条微博,且用户可以收藏自己的微博,但是不能重复收藏微博,每条收藏信息都由收藏ID号唯一标识。

⑹用户可以关注其他用户,用户之间的关注由关注ID号唯一标识,且用户不能重复关注和不能关注自己。

⑺用户可以修改自己当初的注册信息,但是为了信息的真实性,不可以修改自己的真实姓名和身份证号

⑻用户对微博的每条评论信息由评论ID号唯一标识,该ID号由数据库系统自动生成。

2.3实体集及属性

根据上述功能需求和业务规则,可确定的实体集有管理员、用户、微博信息、用户关系根据以上的需求分析和业务规则,实体集的E-R图分别设计如下:

⑴管理员(admin)实体集。

其属性有:

自增id(id)、账号(a_id)、姓名(登录时用姓名登录)(a_name)和密码(a_password)等。

图2-1为管理员实体集的E-R图。

图2-1管理员实体集

⑵用户(user)实体集。

其属性有:

用户编号(u_id)、用户名(邮箱)(u_email)、用户密码(u_password)、用户昵称(u_nickname)、用户性别(u_sex)、用户出生年份(u_year)、用户出生月份(u_month)、用户个性签名(u_motto)、用户个人简介(u_label)、用户头像(u_face)、真实姓名(u_realname)、学校(u_school)、身份证号(u_cardid)、用户所在省份或自治区(u_province)和用户所在市(u_city)等。

图2-2为用户实体集的E-R图。

图2-2用户实体集

⑶微博(weibo)实体集。

其属性有:

微博编号(w_id)、用户id(u_id)、内容(w_content)、发表时间(w_sendtime)、转发次数(w_count)和转发源(w_source)等。

图2-3为微博实体集的E-R图。

 

图2-3管理员实体集

⑷用户关注(friend)实体集。

其属性有:

关注编号(id)、被关注的用户编号(u_id)、当前用户编号(f_id)和好友备注(f_note)等。

图2-4为用户关系实体集的E-R图。

图2-4用户关注实体集

2.4确定联系集及E-R图

基于以上设计的实体集,可确定以下的联系集:

微博和用户之间的“收藏(favorite)”联系集和“评论(comment)”联系集。

收藏(favorite)其描述的属性有:

收藏编号(f_id)、收藏微博的用户编号(u_id)、收藏的微博编号(w_id)、收藏时间(f_time);评论(comment)其描述的属性有:

评论编号(c_id)、评论的微博编号(w_id)、评论微博的用户编号(u_id)、评论的内容(c_content)、评论的时间(c_sendtime)。

由以上的全部实体集。

联系集和其属性的E-R如图2-5所示。

图2-5微博系统整体E-R图

3数据库设计

3.1物理模型设计

整个微博系统的数据库的物理模型PDM图如图3-1所示:

图3-1微博系统的PDM图

3.1逻辑结构设计

在以上的实体关系图(E-R图中),存在四个实体集和两个联系集,在转换为数据库模式时,本系统将对应六个对应的关系表,在关系表中主码属性加粗体和下划线,外码属性加粗斜体区分。

⑴admin表:

由admin强实体集转化而来,其逻辑结构如表3-1所示。

表3-1admin表

属性名称

数据类型

属性描述

备注

id

int(20)

管理员编号

主键

a_id

int(20)

管理员账号

a_name

varchar(20)

管理员姓名

a_password

varchar(20)

管理员密码

⑵user表:

由user强实体集转化而来,其逻辑结构如表3-2所示。

表3-2user表

属性名称

数据类型

属性描述

备注

u_id

int(20)

用户编号

主键

u_email

varchar(20)

用户邮箱

u_password

varchar(20)

用户密码

u_nickname

varchar(20)

用户昵称

u_sex

varchar

(2)

性别

u_year

varchar(4)

出生年份

u_month

varchar

(2)

出生月份

u_motto

varchar(100)

个性签名

u_label

varchar(50)

用户简介

u_face

varchar(500)

用户头像路径

u_realname

varchar(10)

姓名

u_school

varchar(20)

学校

u_cardid

varchar(20)

身份证号

u_province

varchar(10)

所在省份

u_city

varchar(10)

所在城市

⑶微博表:

由weibo强实体集转化而来,其逻辑结构如表3-3所示。

表3-3weibo表

属性名称

数据类型

属性描述

备注

w_id

int(20)

微博编号

主键

u_id

int(20)

发表微博的用户编号

外键

w_content

varchar(200)

微博内容

w_sendtime

varchar(20)

发表时间

w_count

int(20)

转发次数

w_source

int(20)

来源

⑷用户关注表:

有friend强实体集转化而来,其逻辑结构如表3-4所示。

表3-4friend表

属性名称

数据类型

属性描述

备注

id

int(20)

关注编号

主键

u_id

int(20)

被关注的用户编号

外键

f_id

int(20)

当前用户编号

f_note

varchar(20)

好友备具信息

⑸微博评论表:

由comment联系集转化而来,其逻辑结构如表3-5所示。

表3-5comment表

属性名称

数据类型

属性描述

备注

c_id

int(20)

评论编号

主键

w_id

int(20)

评论的微博的编号

外键

c_content

varchar(200)

评论内容

u_id

int(20)

评论微博的用户编号

外键

c_sendtime

varchar(20)

评论时间

⑹微博收藏表:

由favorite联系集转化而来,其逻辑结构如表3-6所示。

表3-6favorite表

属性名称

数据类型

属性描述

备注

f_id

int(20)

收藏编号

主键

u_id

int(20)

收藏微博的用户编号

外键

w_id

int(20)

收藏的微博编号

外键

f_time

varchar(20)

收藏时间

4数据库系统实现

4.1前台功能实现

微博用户的个人主页效果如图4-1所示:

图4-1个人主页

4.1.1系统注册

描述:

进入微博系统,新用户需输入相关信息进行微博系统的注册。

核心代码(部分):

style="top:

350px;left:

350px;position:

absolute;width:

650px;height:

530px;align:

center;border:

1pxsolidred">

我的邮箱

*

href="

id="nomail">我没有邮箱

温馨提示:

请输入正确的常用邮箱如:

example@,它将成为您未来的登录账号!



创建密码

*

确认密码

*

昵    称

*

性    别

*

出生日期:

(注:

此处代码省略)

2017年

(注:

此处代码省略)

12月

所 在 地

setup()

*

我的学校



真实姓名

*

身份证号

*

验 证 码

*<%=request.getAttribute("info")!

=null?

request.getAttribute("info"):

""%>

 

     

style="top:

885px;left:

350px;position:

absolute;width:

650px;height:

270px;align:

center;border:

1pxsolidred">

页面效果如图4-2所示:

图4-2系统注册页面

4.1.2登录系统

描述:

注册微博的用户登录微博系统,使用邮箱地址进行登录,且在登录时需要输入验证码。

核心代码(部分):

登陆微博系统


<%=request.getAttribute("info")!

=null?

request.getAttribute("info"):

""%>

用户ID:


密  码:


验证码:


新用户注册

页面效果如图4-3所示:

图4-3系统登录页面

4.1.3发表微博

描述:

微博用户输入欲发表的内容,点击“发布”进行发表。

核心代码(部分):

style="background-color:

#00FFFF;">


<%//发表微博,往数据库中加入微博的信息

intuid=Integer.parseInt(session.getAttribute("uid").toString());

Useruser=newUser();

user=DAOFactory.getIUserDAOInstance().findById(uid);

Weiboweibo=newWeibo();

Stringw_content=request.getParameter("fabiao");

weibo.setW_content(w_content);

weibo.setW_count(0);

weibo.setU_id(uid);

weibo.setW_source(uid);

weibo.setW_sendtime(newDate().toLocaleString().toString());

if(DAOFactory.getIWeiboDAOInstance().doCreate(weibo)){%>

微博已经成功发表!

170;height:

30"onClick="window.location.href='welcome.jsp'">返回您的主页

<%}%>

页面效果如图4-4所示:

图4-4发表微博页面

4.1.4用户修改注册信息

描述:

通过点击“修改个人信息”链接,跳到修改注册信息的页面,为了方便用户修改信息,系统会显示出用户当前的注册信息,用户可以有选择性的进行修改。

核心代码(部分):

<%

intuid=Integer.parseInt(session.getAttribute("uid").toString());

%>

修改邮箱

value="<%=DAOFactory.getIUserDAOInstance().findById(uid)

.getU_email()%>">

昵    称

value="<%=DAOFactory.getIUserDAOInstance().findById(uid)

.getU_nickname()%>">

性    别



出生日期:

(注:

此处代码省略)

(注:

此处代码省略)



个性签名:

style="background-color:

#00FFFF;"><%=DAOFactory.getIUserDAOInstance().findById(uid)

.getU_motto()==null?

"":

DAOFactory

.getIUserDAOInstance().findById(uid).getU_motto()%>



个性简介:

style="background-color:

#00FFFF;"><%=DAOFactory.getIUserDAOInstance().findById(uid)

.getU

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 工作范文 > 其它

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1