NGU微博系统详细设计说明书组单位文档格式.docx
《NGU微博系统详细设计说明书组单位文档格式.docx》由会员分享,可在线阅读,更多相关《NGU微博系统详细设计说明书组单位文档格式.docx(23页珍藏版)》请在冰豆网上搜索。
修改密码
修改密码,可设置密保问题
修改头像
用户可以修改自己在微博的头像,具有预览功能
数据库
数据库的设计
AJAX特效
用户注册时能动态提示
美工
网站特效,图片添加
音乐播放器
登录微博可以听音乐
首页监听器
登陆页自动向数据库发送请求,显示注册微博人数、随即从数据库中筛选20位用户的头像
验证码
随机生成验证码
密码找回
实现找回密码功能
1.3系统的部署与运行
数据库采用SQL数据库,具体要求见下一节内容。
用户名
密码
root
1
2系统概要设计
2.1系统功能结构设计
2.2数据存储与数据流图
数据存储:
用户信息
说明:
记录用户的基本信息,如用户名、登录密码、用户头像等
修改用户的基本信息,如用户名、登录密码、用户头像等
存取方式:
随机存取
员工信息数据流图:
如图3-2所示:
图3-2员工信息数据流图
2.3数据库逻辑结构设计
2.3.1概念模型(CDM)
2.3.2物理模型(PDM)
3数据设计
3.1相关数据库表说明如下:
序号
逻辑表名
物理表名
说明
用户信息表
tbluser
记录用户的的基本信息
2
用户关系表
tblfriend
记录注册用户之间的关系
3
微博信息表
tblweibo
记录用户发送的微博各项信息
4
微博评论表
tblcomment
记录针对一条微博的评论信息
5
收藏表
tblfavourite
记录学生选课信息
3.2各表详细说明
3.2.1用户信息表(tbluser表)
逻辑字段
物理字段
类型(长度)
规则
字段说明
用户id
u_id
INTEGER
主键
自动生成的长整型编号,具有唯一值
用户名(邮箱)
u_email
VARCHAR(50)
非空
记录邮箱,唯一
用户密码
u_password
VARCHAR(20)
记录用户密码
用户昵称
u_nickname
VARCHAR(30)
记录用户昵称
用户性别
u_sex
VARCHAR(10)
记录用户性别
6
用户职业
u_major
可空
7
用户出生日期
u_date
DATETIME
记录用户出生日期
8
用户qq
u_qq
记录用户qq
9
用户msn
u_msn
记录用户msn
10
用户个性签名
u_motto
VARCHAR(100)
记录用户个性签名
11
用户注册时间
u_regtime
timestamp
记录用户的注册时间
12
用户头像
u_face
记录用户头像
13
密保问题
u_pswdquestion
记录密保问题
14
用户个性简介
u_label
VARCHAR(45)
记录用户的个性简介
15
真实姓名
u_realname
记录用户真实姓名
16
个人主页
u_homepage
记录用户个人主页的链接
17
用户答案
u_pswdanswer
记录用户个人的答案
18
用户所在省份,或自治区
u_city1
记录用户的省份,或自治区
19
用户所在市
u_city2
记录用户的市
20
用户所在县,区
u_city3
记录用户的县,区
3.3.2用户关系表(tblfriend)
好友分组
f_group
关系后者
u_id加f_id为关注,f_id加u_id为关注,相互加则为好友
关系前者
f_id
好友字段
f_notes
varchar
好友备注
特别好友
f_special
tinyint
3.3.3微博信息表(tblweibo)
自增长id
w_id
外键
User表u_id外键关系
内容
w_content
VARCHAR(200)
微博内容
发表时间
w_sendtime
TimeStamp
发表人昵称
w_unick
发微博人昵称
发表人头像
w_upic
发微博人头像
图片
w_image
微博图片,如无上传置空
转发次数
w_video
微博音响,如无上传置空
转发源
w_source
微博资源,如无上传置空
3.3.4微博评论表(tblcomment)
评论id
c_id
微博表id
Weibo表的w_id
评论内容
c_content
记录评论的内容
评论的用户
c_uid
记录评论微博的用户
评论日期
c_sendtime
记录评论发表的时间
3.3.5收藏表(tblfavourite)
收藏id
用户id收藏
user表的u_id
所收藏微博的id
收藏时间
f_time
记录收藏时间
3.3.6数据源说明
●数据库登录名root密码1
4系统功能设计
4.1用户信息管理
注册时用户输入自己的基本信息,用户名和密码不能为空,在用户登陆时输入用户名和密码,经过验证若正确即可登陆。
进入登陆界面用户可以通过点击个人姓名或头像进行自己个人信息的设置。
4.2注册新用户和登陆
注册界面
登陆界面
一、功能描述
用户注册时将用户信息从前台获得,并且写入数据库,注册时的信息包括:
我的邮箱、创建密码、昵称、性别、所在地和密保信息等。
正确输入验证码后点击立即开通即可成功注册微博。
成功注册的用户在登陆界面通过正确输入用户名和密码可以进入微博,进行各项操作。
二、功能实现
●注册:
输入到表单的数据从前台获取,经过数据库处理后写入数据库
●登陆:
输入的登陆信息从后台抓取,经过check方法处理后验证是否存在此用户,决定是否可以成功登陆。
三、具体程序实现如下:
层次
类型
备注
M
com.microblog.dao.FriendDAO
查看好友的信息,以及对好友的增加,删除
com.microblog.dao.UserDAO
进行用户的添加的后台操作
com.microblog.dao.WeiboDAO
对微博的信息进行增加,删除
转发,修改
com.microblog.dao.CommentDAO
C
com.microblog.servlet.PwdUpdateServlet
更新用户的个人信息
com.microblog.servlet.LoginServlet
登陆的servlet
com.microblog.servlet.RegisterServlet
添加注册
com.microblog.servlet.CheckCodeServlet
com.microblog.servlet.CheckAccountServlet
验证邮箱
com.microblog.servlet.UserFaceServlet
用户头像更新
com.microblog.servlet.UserUpdateServlet
用户信息更新
com.microblog.servlet.WeiboInsertServlet
微博发布
com.microblog.servlet.WeiboTransServlet.
com.microblog.servlet.weiboDeleteServlet.
删除微博
mentInsertServlet
添加评论
com.microblog.servlet.favouriteServletDelete
删除收藏
com.microblog.servlet.favouriteinsertServlet
添加收藏
com.microblog.servlet.friendaddServlet
添加关注
com.microblog.servlet.frienddeleteServlet
取消关注
com.microblog.servlet.SfriendaddServlet
添加特别好友
V
login.jsp
register.jsp
userinfo.jsp
更新用户个人信息界面
view.jsp
广播大厅界面
myface.jsp
我的头像用户界面
favorite.jsp
我的收藏界面
mine.jsp
我的首页界面
password.jsp
我的密码界面
foot.jsp
公共脚底界面
friend.jsp
好友界面
home.jsp
index.jsp
working.jsp
正在工作界面
user.jsp
随便看看界面
publishe.jsp
被包含界面
rcontentUserInfo.jsp
exit.jsp
退出界面
4.3设置个人账户
三、功能描述
通过点击设置个人账户,用户可以进入设置个人账户页面,进行自己的个人账户的修改和完善。
包括修改资料,修改密码和修改头像。
修改基本资料
四、功能实现
●首先从前台输入信息。
●后台调用servlet进行处理。
●Servlet调用dao层进行资料的修改。
4.3微博信息管理
微博信息管理模块主要负责对用户微博信息的管理,主要包括发表微博、评论微博、转发微博、收藏微博、删除微博。
4.3.1发表微博
五、功能描述
进入微博主页面后,在页面的上方有发微博的表单控件,输入要发表的微博之后点击发表即可实现发表微博的功能。
发微博时可以添加图片,利用图片上传功能。
微博信息写入数据库,并动态显示在当前页面。
发表微博
六、功能实现
●输入要发表的信息,调用后台addblogservlet实现微博的发表。
●发表成功后跳转回本页面,并将微博信息动态显示出来
具体程序实现如下:
weiboInsert
该方法实现Dao层微博的添加功能。
WeiboInsertServlet
获取微博的信息,并交由后台进行微博的添加
动态显示所有用户的微博信息
4.3.2评论微博
七、功能描述
◆用户可以通过评论微博功能对自己希望评论的微博进行评论,并且紧随微博显示在微博的后面。
微博的评论将会作为一个新的字条写入comment表,并且用c_id作为外键与微博的id相连,完成评论功能。
八、功能实现
●选中自己想要评论的微博,输入想要评论的信息,点击评论进行微博的评论。
●调用后台的CommentServlet接收前台信息并调用dao完成微博的评论。
●在CommentServlet调用sendComment方法进行微博评论的添加,写入数据库并保存信息。
commentInsert
向数据库写入评论信息的方法,包括评论的内容、时间、评论微博的编号等等
CommentInsertServlet
完成微博的评论并且完成页面的跳转
显示所评论的微博的信息以及与它相关的所有评论
4.3.3转发微博
九、功能描述
用户可以根据自己的主观喜好选择自己感兴趣的微博进行转发,转发后微博将成为自己微博的一部分,并且动态显示在新微博的页面中。
同时转发的数字会变为+1。
转发按钮
十、功能实现
●点击可以点击的转发按钮,对微博进行转发。
●点击转发后页面跳转至ZhuanfaServlet,对这个转发的操作进行相应。
后台得到所转发的微博的信息(包括文本信息和图片信息),当前登陆用户的必要信息,并跳转到WeiboDao。
●在后台WeiboDao调用sendWeibo方法发表新微博,内容为所转发微博的内容。
WeiboDao
sendWeibo()方法:
将转发的内容写入数据库
ZhuanfaServlet
点击转发后跳转的Servlet,进行前台数据的获取和后台sendWeibo方法的调用
显示所有微博的信息,包括新转发的微博的信息
4.3.4收藏微博
微博收藏按钮
十一、功能描述
登陆用户可以利用收藏功能对自己喜欢的微博进行收藏,和转发的机理类似,收藏后跳转到一个新的页面,此页面包括该用户所有的收藏微博的信息。
十二、功能实现
●用户点击收藏按钮,可以对自己喜欢的微博进行收藏。
●页面跳转至CollectionServlet,调用weiboDao中collectWeibo方法进行数据库的操作。
●完成收藏的后台操作后,系统跳至AllCollectionServlet,最终跳至collection.jsp完成收藏的显示。
weiboAddFavourite
完成收藏的数据库操作,并写入数据库
CollectionServlet
接收前台数据,调用Dao层完成收藏操作
AllCollectionServlet
调用后台数据库,完成所有收藏的显示
collection.jsp
收藏的显示页面
4.3.5删除微博
微博删除按钮
十三、功能描述
对于用户自己发表过的微博,如果用户因某原因想要删除微博,用户可以进行删除操作,删除后的微博,微博评论将会跟随微博的删除一起删除。
新显示的微博信息将不再包括删除过的这条微博。
十四、功能实现
●用户点击“我的微博”进入自己的微博页面。
●对自己已经发表过的微博用户可以进行删除操作,删除后的微博将从数据库删除。
●调用RemoveBlogServlet完成微博的删除。
●后台调用WeiboDao中deleteWeibo方法将微博删除。
deleteWeibo方法
从数据库将微博删除,删除的同时删除该微博的所有评论。
RemoveBlogServlet
点击删除后跳转的Servlet,完成后台对WeiboDao中deleteWeibo方法的调用,完成微博的删除,之后跳转到显示页面
profile.jsp
显示登陆用户自己的所有微博
4.4好友信息管理
对好友的管理是微博系统中一个重要的模块,通过好友管理用户可以完成添加关注、取消关注,互加关注,搜寻好友(换一换),取消关注等操作。
对自己感兴趣的人进行加好友操作,从而时刻关注对方的微博信息更新。
4.4.1添加关注
十五、功能描述
登陆用户可以对陌生人进行添加关注的操作,若被添加者在操作前与该登陆用户无关注与被关注的关系,则二人关系变为“登录用户”关注“被关注用户”的关系,即变为单向关注关系。
十六、功能实现
●点击添加关注后,调用BefansServlet进行后台操作。
●BefansServlet调用数据库relaDao中的Befans方法完成关注的添加。
●页面跳转至本页面,前台无表现。
relaDao.Befans()方法
实现添加关注的功能,向数据库里添加一条新的记录
BefansServlet
接收登陆用户的id和被添加关注的人的id两个函数,调用dao进行关注的添加
跳转至本页面
4.4.2互为好友
十七、功能描述
登陆用户可以对陌生人进行添加关注的操作,若被添加者在操作前已经关注登陆用户,则加好友之后双方关系变为二者互为好友的关系,即变为双向关注关系。
十八、功能实现
与加关注类似,唯一不同的是在数据库中用update语句把state置为1。
4.4.3取消关注
十九、功能描述
登陆用户点击“我的关注”或者“我的好友”可以跳至相应的页面,其中显示的每条用户的信息后面有“取消关注”按钮,用户可以点击该按钮完成对相应用户的关注的取消。
二十、功能实现
●用户点击取消关注后跳转至DelConcerServlet完成取消关注操作。
●DelConcerServlet调用relaDao中的delConcer方法完成取消关注的后台操作。
●跳转页面至attention.jsp。
relaDao.delConcer()方法
完成取消关注的数据库操作
DelConcerServlet
接收前台登陆用户的id和要取消关注的用户的id,调用Dao方法,并完成跳转
attention.jsp
显示我的关注
3.4附加功能的实现
3.4.1验证码输入功能
一、功能描述
在注册的时候需要输入验证码,并且验证码可以动态改变,欲注册用户必须输入正确的验证码才可以注册微博。
在Servlet层动态生成4个随机数、创建背景图片、并随机生成155条干扰线,以防验证码容易被其他程序识别。
在页面中,利用ajax对验证码进行局部刷新,达到换一换验证码的效果。