当前位置:文档之家› BBS论坛系统____UML建模

BBS论坛系统____UML建模

BBS论坛系统____UML建模
BBS论坛系统____UML建模

软件建模与UML

实训报告

实训项目:________________________

小组名称:________________________

小组成员:________________________

联系方式:________________________

目录

一、摘要 (1)

二、BBS论坛系统的可行性分析 (2)

三、BBS论坛系统的需求分析 (2)

四、系统的UML建模设计 (5)

五、BBS系统的数据库建模 (14)

六、心得 (18)

一、摘要

随着Internet技术的快速发展,人与人之间交流方式逐渐增多。网络视频、网络聊天、博客已成为人们彼此沟通、交流信息的主要方式。此外,为了方便人们在某一专业领域探讨问题和发表意见,Internet上还出现了在线论坛。在论坛上,人们可以对某一领域提出自己遇到的问题,即发表某一主题,随后,论坛上的其他人会根据自己的学识、经验发表意见或提出问题的方法。

开发BBS论坛系统的目的是提供一个供用户交流的平台,为广大用户提供交流经验、探讨问题的网上社区。因此,BBS论坛系统最基本的功能首先是发表主题,其次是其他人员根据主题发表自己的看法。此外,为了记录主题的发表者和主题的回复者信息,系统还需要提供用户注册和登录的功能。只有注册的用户登录后才能够发表和回复主题,浏览者(游客)只能浏览主题信息。

本论坛系统是基于是Struts1.2+SQL Server 2000实现的,它具有使用方便、操作灵活、运行稳定、安全可靠等特点。

关键词在线论坛,BBS,网上社区

二、BBS论坛系统的可行性分析

可行性分析是在系统调查的基础上,针对新系统的开发是否具备必要性和可能性,对新系统的开发从技术、经济、社会的方面进行分析和研究,以避免投资失误,保证新系统的开发成功。可行性研究的目的就是用最小的代价在尽可能短的时间内确定问题是否能够解决。

2.1、技术可行性

技术上的可行性分析主要分析技术条件能否顺利完成开发工作,硬、软件能否满足开发者的需要等。该BBS论坛管理系统采用了流行的JSP语言和当前新兴的Browser/Server (浏览器/服务器)模式进行开发。三层的B/S体系结构具有许多传统Client/Server(客户机/服务器)体系结构不具备的优点,而且又紧密的结合了Internet/Intranet(国际互联网/企业内部互联网)技术,是技术发展的大势所趋,它把应用系统带入了一个崭新的发展时代。数据库服务器选用SQL Server 2000数据库,它能够处理大量数据,同时保持数据的完整性并提供许多高级管理功能。它的灵活性、安全性和易用性为数据库编程提供了良好的条件。因此,系统的软件开发平台已成熟可行。硬件方面,科技飞速发展的今天,硬件更新的速度越来越快,容量越来越大,可靠性越来越高,价格越来越低,其硬件平台能满足此系统的需要。

三、BBS论坛系统的需求分析

3.1、系统的目标设计

系统开发的总目标是提供一个供用户交流的平台,为广大用户提供交流经验、探讨问题的社区。

一般来说BBS论坛大致分为以下流程:用户登陆进入论坛(一半为游客,有时候注册为会员),就某个话题(贴字的主题)展开讨论。通过发帖功能发布新的话题;通过回帖功能回复已有的话题;通过搜索功能查找已有的话题。管理员通过功能创建、编辑、删除论坛的板块;管理注册的用户;管理帖子。

3.2、系统的功能需求分析

(1)游客注册

提供新会员注册功能,包括提供录入信息的界面,检查注册信息的有效性,并将注册会

员信息保存在对应数据库的数据表中。

(2)会员发帖回帖

提供会员发表文章,回复文章的功能,未注册用户不允许使用该功能

(3)浏览帖子

对注册会员和胃注册会员提供文章查询以及阅读的功能,即通过对应文章标题信息,查看查询详细内容及发表文章的超级链接

(4)会员管理

当网上论坛的回忆完成注册后,系统会在数据库中加入会员的资料。包括会员名称,会员密码,会员Email 等相关信息资料。同时,按照会员的不同身份,将特殊会员设置为版主,使他具备删除被讨论区中对应文章等特殊操作的权利。管理者可以依据数据库中注册的特殊身份登录到论坛后台对会员信息进行管理。

(5)板块(论坛分类)管理

根据不同的讨论内容,管理员将整个讨论区分为不同的区域,会员可以选择进入不同的讨论区,允许管理者对分类进行调整,同时提供不同讨论区中包括文章等的统计功能。

(6)贴子管理

管理员和版主都可以对会员发表的帖子进行提前、置顶和删除等操作。 系统总体功能模块图如下:

图一:系统总体功能模块图

3.3、 前台基本业务模块: 图二:前台基本业务模块图

BBS 论坛系统

前台基本业务模块

后台模块

客注册

会员发帖回帖

浏览帖子

板块管理

帖子管理

会员管理

前台基本业务模块

注册会员

回复帖子

登录系统

浏览帖子

会员发表帖子

(1)注册会员

提供新会员注册功能,包括录入信息的节目,检查注册信息的有效性,并将注册会员信息存入对应数据库的数据表中。 (2)登录系统

提供会员登录论坛功能,要想针对谋篇帖子发言,或发表帖子,必须是登陆用户才可以操作。由于论坛中某些操作只有会员才可以执行,所以必须先登录系统。 (3)浏览帖子

对注册会员和未注册会员提供文章查询以及阅读的功能,即提供对应文章标题信息,以及查看详细内容及回复文章的超链接 (4)会员发表帖子

会员可以针对某个感兴趣的活体发表自己独到的见解。未注册用户无此项功能 (5)回复帖子

注册会员可以对某一话题展开讨论,发表意见,并给出回复。 3.4、 后台管理模块

后台管理模块主要包括对整个BBS 论云系统的设置管理,如下

图三:后台管理模块图

(1)板块管理

根据不同的话题,管理员可以将每个话题分成不同的种类板块,然后对起进行管理。管理员可以删除认为不必要的板块话题;管理员可以修改板块的主题,类型和数量等;管理员还可以添加新的板块 (2)帖子管理

管理员可以对会员发表的帖子进行管理。管理员可以删除内容反动火不艰苦的帖子,可以指定帖子。还可以设置精华帖,删除、提前帖子等操作 (3)会员管理

管理员可以对会员进行管理。可以删除会员,收回他的会员号;修改会员的基本信息,修改会员的积分,排行等。

3.5、 BBS 论坛系统的流程图: (1)前台流程图:

后台管理模块

板块

帖子管理

会员管理

查看精华帖子

搜索根贴 查看版面下根贴

查看根贴内容

发表帖子

回复帖子

提前

删除帖子

置置删

帖子管理

分类管理 用户管理 是否登录

否 成功 进入后台

后台 首页

用户 登录

管理员

图四:系统前台流程图

(2)后台流程图:

图五:系统后台流程图

四、系统的UML 建模设计

4.1、UML 简介

UML 是一种功能强大的、面向对象的可视化系统分析的建模语言,它采用一整套成熟 的建模技术,广泛地适用于各个应用领域。它的各个模型可以帮助开发人员更好地理解业务 流程,建立更可靠、更完善的系统模型。从而使用户和开发人员对问题的描述达到相同的理 解,以减少语义差异,保障分析的正确性。 4.2、该BBS 论坛系统的用例分析

注册

评论

登陆

<>

发帖

<>

会员

查看发帖

<>

游客

<>

版主管理

<>

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

数据库处理,并更新结果

更新成功

提示处理成功信息

图九:论坛管理员管理论坛分类的顺序图

【说明】管理员使用自己的账号和密码登录后,将管理员的ID保存在系统的缓存中并提交给论坛类别管理模块。在显示论坛类别管理的页面中,将显示处理类别的相关信息给管理员,管理员在该页面中进行增删等操作后,提交操作的ID给数据库模块处理。数据库模块执行操作后更新结果,并提示更新成功。最后提示处理成功信息给管理员。

(4)论坛管理员管理帖子的顺序图:

图十:论坛管理员管理帖子的顺序图

【说明】管理员在帖子管理模块可以对会员发表的帖子进行维护(删除),还可以对帖子进行一些额外的智能操作,比如置顶帖子、设置精华帖子等。更改完成后,都要经过数据库的处理,并更新数据,才能成功。 4.4、状态图

(1)帖子的状态图

置顶帖子

热门帖子

精华帖

删除帖子

发表的帖

回复的帖

图十一:帖子的状态图

【说明】帖子最初的存在属性是会员发表的帖子和回复的帖子,当版主将帖子设置置顶、精华、热门标志后,这些帖子的状态就发生了改变。当版主将帖子拖至垃圾箱后,则该帖子就成为被删除的帖子了,但是当版主在没有清空垃圾箱时,该帖子还是存在的,所以帖子也有删除这种状态。

(2)用户的状态图。

图十二:版主的状态图

【说明】当用户首次进入BBS论坛系统时,他的身份是普通游客,但是当他注册成功后,就成为了普通会员,会员有申请成为版主的权利,当管理员批准并设为版主后,普通会员就成为版主了,版主同样有权利提出辞职,当管理员批准后,版主就成为普通会员了。当会员/版主发出的请求没有得到回复时,会员和版主又是一种状态,因为当会员/版主的请求没有得到回应时,系统对这些发出请求的用户是有记录的。和普通会员还是有区别的。

4.5、活动图

BBS论坛系统中可以建立的活动图细分下去很多,下面大体按前台和后台笼统地介绍该系统中的活动图。

(1)前台业务模块的活动图:

【说明】用户进入论坛,首先会员登录或新用户注册,显示论坛的分类,查阅

论坛文章标题,点击阅读,读者可以对帖子进行回复,如果已注册会员,则回

帖成功;否则提示用户注册会员。

进入论坛

新用户注

登陆

发表新文

显示论坛分类

查阅论坛文章主题

阅读详细内容回帖

回复

发帖

图十三:前台业务模块的活动图

(2) 后台业务的活动图:

【说明】管理员登录管理系统,验证信息,正确进入系统,错误,退出系统。进入系统后,有三个模块:用户管理(可以控制会员和游客的使用权限)、分类管理(对帖子进行分类、板块划分等)、文章管理(可以对帖子进行置顶、删除、设为精华帖等操作)

图十四:后台业务的活动图

4.6、系统中的类图

(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系统的数据库建模

5.1、数据库设计分析

数据库设计是指对于一个给定的应用环境,构造最优的数据库模式,建立数据库及其应用系统,使之能够有效地存储数据,满足各种用户的应用需求(信息要求和处理要求).

(1)数据库是信息系统的核心和基础,把信息系统中大量的数据按一定的模型组织起来,提供存储、维护、检索数据的功能,使信息系统可以方便、及时、准确地从数据库中获得所需的信息。

(2)数据库是信息系统的各个部分能否紧密地结合在一起以及如何结合的关键所在。

(3)数据库设计是信息系统开发和建设的重要组成部分。

5.2、概念模型设计(E-R图)

数据模型是是数据特征的抽象,从抽象层次上描述了系统的静态特征、动态行为和约束条件,为数据库系统的信息表与操作提供一个抽象的框架。描述了数据结构、数据操作及数据约束。

E-R模型的基本概念

ER图概念化地构建实体间关系的模型,这使得它们区别于数据库模型图。ER图的理念是:项目所有参与者能理解ER图。ER图由不同实体类型、关系、特性和类型构成。实体是诸如用户的实际对象,有时更抽象,但必须有业务意义。特性用于描述实体,关系用于实体之间(1)实体:现实世界中的事物;

(2)属性:事物的特性;

(3)联系:现实世界中事物间的关系。实体集的关系有一对一、一对多、多对多的联系。

5.3、数据库表及关系建立

根据以上这些步骤就可以创建一个数据库,依次建立下列表结构.

1.用户基本资料表

2.用户详细信息表

3.论坛文章表

4.论坛版区表

5.论坛初始化信息表

(1).用户基本信息表和用户详细信息表是一对一的关系,一个用户只对应一个详细

的信息表

(2).用户基本信息表和文章表是一对多的关系,即一个用户可以发表多篇文章和回

复.

(3).论坛版区表和论坛文章表是一对多的关系,在一个论坛中可以含有多个文章和

回复.

5.4、详细数据库结构设计

用户基本资料表中存放的是用户登陆时所需要或者记录用户的基本信息,包含比如登陆名,密码,最后登陆时间等.用户基本信息表的建立主要是记录用户最常用的一些信息。

表3.1 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).用户详细信息表:

用户详细信息表中存放的是用户的身高,体重,联系方式等详细资料,建立此表的目的是把一些用户不经常用到的详细信息,单独存放到一张表中,可以节约系统的资源.

表3.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).论坛文章表:

论坛文章表存放的是用户所发表的文章信息,也包括回复信息.而在数据库的设计中主要问题是鉴别帖子信息和回复信息.

表3.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).论坛版区表:

论坛版区表是存放的是论坛中版块信息.而论坛也划分为父论坛和子论坛,区分他们也

靠表中的某个字段来实现的.具体实际的设计如下.

表3.4 leafbbs_board

字段名数据类型长度主键索引外键可空说明

ID bigint 20 是否否代理主键ParentID bigint 20 否否否父版区ID ChildIDs varchar 255 否否否子版区ID BoardName varchar 255 否否否版区名字Explains text 否否否版区描述BoardPic varchar 200 否否否图片地址

Orders int 11 否否否显示顺序IsHidden tinyint 1 否否否是否隐藏PostNum int 11 否否否文章数量NeedPasswd tinyint 1 否否否是否加密Passwd varchar 100 否否是密码

(5).论坛初始化信息表:

论坛初始化信息表是存放初始化信息和管理员的帐号密码等信息,初始化信息是在论坛在加载过程中读取的或者以后经常用的一些信息.

表3.5 leafbbs_config表

字段名数据类型长度主键索引外键可空说明

ID varchar 50 是否否初始化标题ConfContext text 否否否初始化信息

六、心得

经过了这么多天的努力,不仅在制作的过程中复习和了解了开发一个软件的过程,而且凝聚了我们团队,深刻地体味到了团队合作对于软件开发的重要性,受益匪浅。

相关主题
文本预览
相关文档 最新文档