BBS论坛系统UML建模.docx
《BBS论坛系统UML建模.docx》由会员分享,可在线阅读,更多相关《BBS论坛系统UML建模.docx(27页珍藏版)》请在冰豆网上搜索。
BBS论坛系统UML建模
软件建模与UML
实训报告
实训项目:
________________________
小组名称:
________________________
小组成员:
________________________
联系方式:
________________________
一、摘要
随着Internet技术的快速进展,人与人之间交流方式慢慢增多。
网络视频、网络谈天、博客已成为人们彼此沟通、交流信息的要紧方式。
另外,为了方便人们在某一专业领域探讨问题和发表意见,Internet上还显现了在线论坛。
在论坛上,人们能够对某一领域提出自己碰到的问题,即发表某一主题,随后,论坛上的其他人会依照自己的学识、体会发表意见或提出问题的方式。
开发BBS论坛系统的目的是提供一个供用户交流的平台,为广大用户提供交流体会、探讨问题的网上社区。
因此,BBS论坛系统最大体的功能第一是发表主题,第二是其他人员依照主题发表自己的观点。
另外,为了记录主题的发表者和主题的答复者信息,系统还需要提供用户注册和登录的功能。
只有注册的用户登录后才能够发表和答复主题,阅读者(游客)只能阅读主题信息。
本论坛系统是基于是+SQLServer2000实现的,它具有利用方便、操作灵活、运行稳固、平安靠得住等特点。
关键词 在线论坛,BBS,网上社区
二、BBS论坛系统的可行性分析
可行性分析是在系统调查的基础上,针对新系统的开发是不是具有必要性和可能性,对新系统的开发从技术、经济、社会的方面进行分析和研究,以幸免投资失误,保证新系统的开发成功。
可行性研究的目的确实是用最小的代价在尽可能短的时刻内确信问题是不是能够解决。
、技术可行性
技术上的可行性分析要紧分析技术条件可否顺利完成开发工作,硬、软件可否知足开发者的需要等。
该BBS论坛治理系统采纳了流行的JSP语言和当前新兴的Browser/Server(阅读器/效劳器)模式进行开发。
三层的B/S体系结构具有许多传统Client/Server(客户机/效劳器)体系结构不具有的优势,而且又紧密的结合了Internet/Intranet(国际互联网/企业内部互联网)技术,是技术进展的大势所趋,它把应用系统带入了一个崭新的进展时期。
数据库效劳器选用SQLServer2000数据库,它能够处置大量数据,同时维持数据的完整性并提供许多高级治理功能。
它的灵活性、平安性和易用性为数据库编程提供了良好的条件。
因此,系统的软件开发平台已成熟可行。
硬件方面,科技飞速进展的今天,硬件更新的速度愈来愈快,容量愈来愈大,靠得住性愈来愈高,价钱愈来愈低,其硬件平台能知足此系统的需要。
、经济可行性
主若是对项目的经济效益进行评估,本系统模拟的是提供一个供用户交流的平台,为广大用户提供交流体会、探讨问题的社区。
但实际只是用于个人的毕业设计,只是模拟,也不存在资金的流动,故在经济上是可行的。
、社会可行性
随着Internet技术的快速进展,BBS论坛已成为人们彼此沟通、交流信息的要紧方式。
在论坛上,人们能够对某一领域提出自己碰到的问题,随后,论坛上的其他人会依照自己的学识、体会发表意见或提出问题的方式。
BBS论坛接近了人们之间的距离,它早已成为人们网上生活的必备工具。
因此说BBS论坛对现今社会是相当重要的。
三、BBS论坛系统的需求分析
、系统的目标设计
系统开发的总目标是提供一个供用户交流的平台,为广大用户提供交流体会、探讨问题的社区。
一样来讲BBS论坛大致分为以下流程:
用户登岸进入论坛(一半为游客,有时候注册为会员),就某个话题(贴字的主题)展开讨论。
通过发帖功能发布新的话题;通过回帖功能答复已有的话题;通过搜索功能查找已有的话题。
治理员通过功能创建、编辑、删除论坛的板块;治理注册的用户;治理帖子。
3.2、系统的功能需求分析
(1)游客注册
提供新会员注册功能,包括提供录入信息的界面,检查注册信息的有效性,并将注册会员信息保留在对应数据库的数据表中。
(2)会员发帖回帖
提供会员发表文章,答复文章的功能,未注册用户不许诺利用该功能
(3)阅读帖子
对注册会员和胃注册会员提供文章查询和阅读的功能,即通过对应文章题目信息,查看查询详细内容及发表文章的超级链接
(4)会员治理
当网上论坛的回忆完成注册后,系统会在数据库中加入会员的资料。
包括会员名称,会员密码,会员Email等相关信息资料。
同时,依照会员的不同身份,将特殊会员设置为版主,使他具有删除被讨论区中对应文章等特殊操作的权利。
治理者能够依据数据库中注册的特殊身份登录到论坛后台对会员信息进行治理。
(5)板块(论坛分类)治理
依照不同的讨论内容,治理员将整个讨论区分为不同的区域,会员能够选择进入不同的讨论区,许诺治理者对分类进行调整,同时提供不同讨论区中包括文章等的统计功能。
(6)贴子治理
治理员和版主都能够对会员发表的帖子进行提早、置顶和删除等操作。
系统整体功能模块图如下:
BBS论坛系统
后台模块
前台基本业务模块
游客注册
会员发帖回帖
浏览帖子
会员管理
帖子管理
板块管理
图一:
系统整体功能模块图
3.3、前台大体业务模块:
前台基本业务模块
注册会员
登录系统
浏览帖子
回复帖子
会员发表帖子
图二:
前台大体业务模块图
(1)注册会员
提供新会员注册功能,包括录入信息的节目,检查注册信息的有效性,并将注册会员信息存入对应数据库的数据表中。
(2)登录系统
提供会员登录论坛功能,要想针对谋篇帖子发言,或发表帖子,必需是登岸用户才能够操作。
由于论坛中某些操作只有会员才能够执行,因此必需先登录系统。
(3)阅读帖子
对注册会员和未注册会员提供文章查询和阅读的功能,即提供对应文章题目信息,和查看详细内容及答复文章的超链接
(4)会员发表帖子
会员能够针对某个感爱好的活体发表自己独到的观点。
未注册用户无此项功能
(5)答复帖子
注册会员能够对某一话题展开讨论,发表意见,并给出答复。
3.4、后台治理模块
后台治理模块要紧包括对整个BBS论云系统的设置治理,如下
后台管理模块
板块管理
帖子管理
会员管理
图三:
后台治理模块图
(1)板块治理
依照不同的话题,治理员能够将每一个话题分成不同的种类板块,然后对起进行治理。
治理员能够删除以为没必要要的板块话题;治理员能够修改板块的主题,类型和数量等;治理员还能够添加新的板块
(2)帖子治理
治理员能够对会员发表的帖子进行治理。
治理员能够删除内容反动火不艰苦的帖子,能够指定帖子。
还能够设置精华帖,删除、提早帖子等操作
(3)会员治理
治理员能够对会员进行治理。
能够删除会员,收回他的会员号;修改会员的大体信息,修改会员的积分,排行等。
3.5、BBS论坛系统的流程图:
(1)前台流程图:
查看精华帖子
搜索根贴
查看版面下根贴
查看根贴内容
发表帖子
回复帖子
提前帖子
删除帖子
置顶帖子
置为精华贴
删除回复帖
查看自己发表的根贴
用户注册
是否管理员、版主、帖子发表者
是否登录
是否登录
提示无权操作
游客
访问
是
是
否
是
否
否
前台
首页
用户
登录
成功
是
图四:
系统前台流程图
(2)后台流程图:
帖子管理
分类管理
用户管理
是否登录
是
否
成功
进入后台
后台
首页
用户
登录
管理员
图五:
系统后台流程图
四、系统的UML建模设计
、UML简介
UML是一种功能壮大的、面向对象的可视化系统分析的建模语言,它采纳一整套成熟
的建模技术,普遍地适用于各个应用领域。
它的各个模型能够帮忙开发人员更好地明白得业务
流程,成立更靠得住、更完善的系统模型。
从而利用户和开发人员对问题的描述达到相同的理
解,以减少语义不同,保障分析的正确性。
、该BBS论坛系统的用例分析
图六:
系统的用例图
从用例图中咱们能够看出治理员、会员、游客之间对本系统所具有的用例。
治理员所包括的用例有:
(1)登录系统:
治理员能够通过登录该系统进行各项功能的操作
(2)治理论坛发帖:
包括帖子的增加、删除等
(3)版主治理:
能够对各板块版主的职务划定和增、删、改等
(4)会员治理:
包括对会员的增加、删除、改变等
(5)BBS保护:
对整个BBS论坛系统功能、效劳器稳固进行保护
会员包括的用例有:
(1)登录系统
(2)发帖:
发表自己个性的帖子
(3)查看发帖:
能够查看自己和其他会员发的帖子
(4)评论:
对帖子进行答复,发表自己的观点和观点
游客包括的用例图有:
(1)注册:
能够申请成为该论坛的会员
(2)查看发帖:
查看会员发表的帖子。
4.3、系统的顺序图
顺序图是显示对象之间交互的图,在该BBS论坛系统中,每一个用例都能够成立一个时序图,将用例执行那个的各个参与的对象之间的消息传递进程表现出来。
要紧含有以下几个重要的顺序图:
(1)会员发帖回帖的顺序图:
图七:
会员发帖回帖的顺序图
【说明】会员第一利用自己的账号和密码登录系统,登录模块将会把用户的的ID保留在系统的缓存中,并展现论坛的分类模块给会员。
会员现在能够依照爱好进入不同的主题讨论区,查看主题文章,并发表新文章(需要ID查验)和答复新帖,还能够阅读其他类别的主题讨论区。
(2)论坛治理员治理会员的顺序图:
图八:
论坛治理员治理会员的顺序图
【说明】治理员在提交ID给会员治理模块后,能够对会员进行保护(添加、删除或修
改)。
治理员第一输入自己的账号和密码登录系统,现在会将治理员的ID保留在系统缓存
中并提交会员治理模块。
在操作会员的页面中,治理员会依照需要对每一个会员进行增删等操
作,并将其信息提交给数据库。
数据库会对其进行相应的处置,并更新会员信息,至此治理
员治理会员操作成功。
(3)论坛治理员治理论坛分类的顺序图:
图九:
论坛治理员治理论坛分类的顺序图
【说明】治理员利用自己的账号和密码登录后,将治理员的ID保留在系统的缓存中并
提交给论坛类别治理模块。
在显示论坛类别治理的页面中,将显示处置类别的相关信息给管
理员,管理员在该页面中进行增删等操作后,提交操作的ID给数据库模块处置。
数据库模
块执行操作后更新结果,并提示更新成功。
最后提示处置成功信息给治理员。
(4)论坛治理员治理帖子的顺序图:
图十:
论坛治理员治理帖子的顺序图
【说明】治理员在帖子治理模块能够对会员发表的帖子进行保护(删除),还能够对帖子进行一些额外的智能操作,比如置顶帖子、设置精华帖子等。
更改完成后,都要通过数据库的处置,并更新数据,才能成功。
、状态图
(1)帖子的状态图
图十一:
帖子的状态图
【说明】帖子最初的存在属性是会员发表的帖子和答复的帖子,当版主将帖子设置置顶、精华、热点标志后,这些帖子的状态就发生了改变。
当版主将帖子拖至垃圾箱后,那么该帖子就成为被删除的帖子了,可是当版主在没有清空垃圾箱时,该帖子仍是存在的,因此帖子也有删除这种状态。
(2)用户的状态图。
图十二:
版主的状态图
【说明】当用户第一次进入BBS论坛系统时,他的身份是一般游客,可是当他注册成功后,就成了一般会员,会员有申请成为版主的权利,当治理员批准并设为版主后,一般会员就成为版主了,版主一样有权利提出辞职,当治理员批准后,版主就成为一般会员了。
当会员/版主发出的请求没有取得答复时,会员和版主又是一种状态,因为当会员/版主的请求没有取得回应时,系统对这些发出请求的用户是有记录的。
和一般会员仍是有区别的。
、活动图
BBS论坛系统中能够成立的活动图细分下去很多,下面大体按前台和后台笼统地介绍该系统中的活动图。
(1)前台业务模块的活动图:
【说明】用户进入论坛,第一会员登录或新用户注册,显示论坛的分类,查阅论坛文章题目,点击阅读,读者能够对帖子进行答复,若是已注册会员,那么回帖成功;不然提示用户注册会员。
图十三:
前台业务模块的活动图
(2)后台业务的活动图:
【说明】治理员登录治理系统,验证信息,正确进入系统,错误,退出系统。
进入系统后,有三个模块:
用户治理(能够操纵会员和游客的利用权限)、分类治理(对帖子进行分类、板块划分等)、文章治理(能够对帖子进行置顶、删除、设为精华帖等操作)
图十四:
后台业务的活动图
、系统中的类图
(1)参与者相关的类
系统中参与者有4个,别离是未注册用户、注册用户、版主和系统治理员。
其中把未注册用户、注册用户和版主归为利用者,因此该系统中和参与者相关的类的类图如以下图所示:
图十五:
系统中和参与者相关的类的类图
i.bbsuser类是未注册用户、注册用户和版主的总陈,包括的属性有效户编号(userid)、用户姓名(username)、用户密码(userpassword)、用户性别(usersex)、用户籍贯(comefrom)、用户注册时刻(dateandtime)等。
包括的方式有注册会员,设置用户名字、性别、密码,改变密码等。
ii.bbsadmin类是系统治理员类,包括的属性有治理员ID、治理员账号(adminname)、治理员密码(adminpwd)。
包括的方式有取得用户的名字,用户的密码等。
(2)系统中其他的类:
图十六:
系统中其他的类图
i.bbs类表示论坛中发表的帖子类。
此类的属性有帖子编号(bbsid)、板块编号(boardid)、父贴编号(parentid)、跟帖数(child)、发表人姓名(username)、发表人E-mail(usermail)、发表人IP地址(userip)、发表人表情(expression0、签名(usersign0、文章的主题(bbstopic)。
包括的方式有增加、删除、更改帖子等操作。
ii.bbscom类是设置分页显示的类。
属性包括分页数(pagesCurrent)、下一页(pagesNext)、最后一页(pagesLast)。
该类的功能主若是分页显示取得的数据列表。
包括的方式有向上、向下翻页,设置页码等。
iii.bbsboard类表示板块信息的类。
它的属性要紧有板块编号(boardid)、板块名称(boardname)、板块中的版主称号(boardmaster)、版主密码(masterpwd0、版主格言(masterword)、版主E-mail(masteremail)、板块点击率(boardhits)、板块主题数(boardtopics)。
包括的方式有检查版主信息,删除、排列板块等。
iv.bbsreg类是跟数据库连接相关的类。
属性有jdbc驱动(sDBDriver)、连接(conn)、结果集(rs)。
该类是专门为数据库设计的,其中有一个执行SQL”executeQuery()”的方式。
(3)各类之间的关系
类不是单独存在的,各个类之间的存在着必然得联系。
该BBS论坛系统中要紧类之间的关系如以下图所示:
图十七:
系统中要紧类之间的关系图
【说明】一个板块能够发表很多帖子,因此板块和帖子之间是一对多的关系。
每一个帖子都要用到分页显示的功能。
而且分页功能是一样的,因此帖子和分页是多对一的关系。
五、BBS系统的数据库建模
、数据库设计分析
数据库设计是指关于一个给定的应用环境,构造最优的数据库模式,成立数据库及其应用系统,使之能够有效地存储数据,知足各类用户的应用需求(信息要求和处置要求).
(1)数据库是信息系统的核心和基础,把信息系统中大量的数据按必然的模型组织起来,提供存储、保护、检索数据的功能,使信息系统能够方便、及时、准确地从数据库中取得所需的信息。
(2)数据库是信息系统的各个部分能否紧密地结合在一起以及如何结合的关键所在。
(3)数据库设计是信息系统开发和建设的重要组成部分。
、概念模型设计(E-R图)
数据模型是是数据特点的抽象,从抽象层次上描述了系统的静态特点、动态行为和约束条件,为数据库系统的信息表与操作提供一个抽象的框架。
描述了数据结构、数据操作及数据约束。
E-R模型的大体概念
ER图概念化地构建实体间关系的模型,这使得它们区别于数据库模型图。
ER图的理念是:
项目所有参与者能明白得ER图。
ER图由不同实体类型、关系、特性和类型组成。
实体是诸如用户的实际对象,有时更抽象,但必需有业务意义。
特性用于描述实体,关系用于实体之间
(1)实体:
现实世界中的事物;
(2)属性:
事物的特性;(3)联系:
现实世界中事物间的关系。
实体集的关系有一对一、一对多、多对多的联系。
本系统的ER图:
用户
M
发表
N
帖子
详细资料
1
1
N
管理
管理员
1
N
添加
1
修改
论坛
图十八:
系统E-R图
、数据库表及关系成立
依照以上这些步骤就能够够创建一个数据库,依次成立以下表结构.
4.论坛版区表
5.论坛初始化信息表
(1).用户大体信息表和用户详细信息表是一对一的关系,一个用户只对应一个详细的信息表
(2).用户大体信息表和文章表是一对多的关系,即一个用户能够发表多篇文章和答复.
(3).论坛版区表和论坛文章表是一对多的关系,在一个论坛中能够含有多个文章和答复.
、详细数据库结构设计
。
表leafbbs_userinfo
字段名
数据类型
长度
主键
索引
外键
可空
说明
ID
bigint
20
是
否
否
代理主键
UserName
Varchar
20
否
是
否
用户名
NickName
Varchar
60
否
否
否
昵称
Passwd
Varchar
40
否
否
否
密码
Email
varchar
255
否
否
否
电子邮件
Question
varchar
255
否
否
否
提示问题
Answer
varchar
255
否
否
否
提示答案
RegTime
datetime
否
否
否
注册时间
LoginTime
datetime
否
否
否
最后登陆时间
LoginIP
varchar
20
否
否
否
最后登陆IP
LoginTimes
int
11
否
否
否
登陆次数
StayTime
bigint
20
否
否
否
停留时间
SignDetail
text
否
否
是
用户签名
HavePic
tinyint
1
否
否
是
是否有头像
PicFileName
varchar
255
否
否
是
头像地址
TimeZone
varchar
20
否
否
是
地区
(2).用户详细信息表:
用户详细信息表中寄存的是用户的身高,体重,联系方式等详细资料,成立此表的目的是把一些用户不常经常使用到的详细信息,单独寄存到一张表中,能够节约系统的资源.
表leafbbs_userdetai
字段
数据类
长度
主键
索引
外键
可空
说明
ID
bigint
20
是
是
否
代理主键
Height
varchar
20
否
否
是
身高
Weight
varchar
20
否
否
是
体重
FavourPeople
varchar
255
否
否
是
最喜欢的人
DreamJob
varchar
255
否
否
是
向往工作
FavourMusic
varchar
255
否
否
是
喜欢的音乐
FavourPlace
varchar
255
否
否
是
喜欢的地方
FavourMovie
varchar
255
否
否
是
喜欢的电影
HomePage
varchar
255
否
否
是
主页
OicqNo
varchar
255
否
否
是
QQ号码
IcqNo
varchar
255
否
否
是
ICQ号码
MSN
varchar
255
否
否
是
MSN号码
Sex
tinyint
1
否
否
是
性别
Brief
text
否
否
是
简介
(3).论坛文章表:
论坛文章表寄存的是用户所发表的文章信息,也包括答复信息.而在数据库的设计中要紧问题是辨别帖子信息和答复信息.
表leafbbs_forum
字段名
数据类型
长度
主键
索引
外键
可空
说明
ID
bigint
20
是
否
否
代理主键
ParentID
bigint
20
否
否
否
父帖ID
MainID
bigint
20
否
否
否
主帖ID
BoardID
bigint
20
否
否
否
版区ID
BoardName
varchar
60
否
否
否
版区名字
ReNum
int
11
否
否
否
回复数量
ClickNum
int
11
否
否
否
点击次数
UserID
bigint
20
否
否
否
发表者ID
UserName
varchar
20
否
否
否
发表者姓名
NickName
varchar
60
否
否
否
发表者昵称
Title
varchar
150
否
否
否
文章标题
Detail
text
否
否
否
文章内容
Sign
text
否
否
否
文章说明
ArtSize
int
11
否
否
否
文章字节数
postTime
bigint
20
否
否
否
发表时间
LastTime
bigint
20
否
否
否
最后回复时间
IPAddress
varchar
20
否
否
否
发表者IP
IsNew
tinyint
1
否
否
否
是否是新
IsHidden
tinyint
1
否
否
否
是否隐藏
IsTop
tinyint
1
否
否
否
是否置顶
IsLock
tinyint
1
否
否
否
是否被锁定
(4).论坛版区表:
论坛版区表是寄存的是论坛中版块信息.而论坛也划分为父论坛和子论坛,区分他们也靠表中的某个字段来实现的.具体实际的设计如下.
表leafbbs_board
字段名
数据类型
长度
主键
索引
外键
可空
说明
ID
bigint
20
是
否
否
代理主键
ParentID
bigint
20
否
否
否
父版区ID
ChildIDs
varchar
255
否
否
否
子版区ID
BoardName
varchar
255
否
否
否
版区名字
Explains
text
否
否
否
版区描述
BoardPic
varchar
200
否
否
否