1.系统的功能需求
一个基本的BBS论坛,可以大致分为以下流程:用户登录进入论坛(一般为游客,有时还要注册为会员),就某个话题(帖字的主题)展开讨论。通过发贴功能发布新的话题;通过回帖功能回复已有的话题;通过搜索功能查找已有的话题。管理员通过管理功能创建、编辑、删除论坛的版块;管理注册的用户;管理帖子。
这样的流程决定了BBS论坛系统的需求:
(1)会员注册
提供新会员注册功能,包括提供录入信息的界面,检查注册信息的有效性,并将注册会员的信息保存在对应数据库的数据表中。
(2)发表帖子
提供会员发表帖子的功能,未注册的用户不允许使用该功能。
3帖子查询
对注册会员\未注册会员提供文章查询以及阅读的功能,即提供对应文章标题信息,以及查看详细内容及回复文章的超链接。
(4)会员管理
当网上论坛的会员完成注册后,系统会在数据库中加入会员的资料。包括会员名称、会员密码、会员E-mail等相关信息资料。同时,按照会员的不同身份,将特殊会议按设置为版主,使他具备删除本讨论区对应文章等特殊操作的权利。管理员可以依据数据库中注册的特殊身份登录到论坛后对会员信息进行管理。
(5)论坛分类管理
根据不同的讨论内容,管理员将整个讨论区划分成不同的区域,会员可以选择进入不同的讨论区,允许管理者对分类进行调整,同时提供不同讨论区中包括文章数量等的统计功能。
(6)帖子管理
管理员和版主可以对会员发表的帖子进行转移、置顶、修改和删除,设置精华帖,控制帖子的点击率等操作。
系统总体功能需求框架图如下图所示:
图0-1功能模块图
0.2 前台基本业务模块
前台基本业务模块包含下图所示的几个方面:
(1)会员注册
提供新会员注册功能,包括提供录入信息的界面,检查注册信息的有效性,并将注册会员的信息保存在对应数据库的数据表中。
(2)登录系统
提供会员的登录功能。要想针对某篇帖子发言,或发表帖子,必须是登录用户才可以操作。由于论坛中某些操作只有会员才可以执行
(3)浏览帖子
对注册会员和未注册会员提供文章查询功能及阅读功能,即提供对应文章的标题信息以及查看详细内容及回复文章的超链接。
(4)发表帖子
提供会员发表帖子的功能,未注册的用户无此项功能。
(5)回复帖子
注册会员和未注册会员可以对某一话题展开讨论,发表意见,并给出回复。
0.3 后台管理模块
后台管理模块主要包括对整个BBS系统的设置管理,包含下图所示的几个方面:
(1)版块管理
根据不同话题,管理员可将每个话题分成不同的版块,然后对其进行管理。管理员可以删除不必要的版块话题;可以修改某个版块的主题名、类型和数量等;可以添加新的版块。
(2)帖子管理
管理员可以对会员发布的帖子进行管理。管理员可以删除内容反动或不健康的帖子;可以顶置帖子。还可以设置精华帖,控制帖子的点击率等。
(3)会员管理
管理员可以对会员进行管理。可删除会员,收回他的会员号;修改会员的基本信息,修改会员的积分,排行等。
2.用例图分析
用例图主要包含4种元素,分别是:参与者、用例、关联和系统边界。用例图可以包含注释和约束,还可以包含用于将模型中的元素组合成更大的模块。用例图的参与者用人形图标表示,用例用椭圆形符号表示,连线表示它们之间的关系。用例图是从用户的角度来描述系统功能的,使用用例图可以更好的描述系统应具备的功能。
通过分析可知,BBS论坛系统的参与者:管理员(Administrator)、游客(tourist)、会员(member)。
确定参与者(Actor)和用例(Use Case);
(1)管理员(Administrator)
版块管理(modual)
帖子管理(post)
会员管理(member)
(2)游客(tourist)
浏览帖子(look message)
回复帖子(reply message)
(3)会员(members)
会员注册(register)
登录系统(login)
浏览帖子(look message)
发表帖子(post message)
回复帖子(reply message)
3类图分析
类图描述系统中类的静态结构。不仅定义系统中的类,表示类之间的联系如关联、依赖、聚合等,也包括类的内部结构(类的属性和操作)。类图是以类为中心来组织的,类图中的其他元素或属于某个类或与类相关联。
分析BBS论坛系统所设计的类:
(1)与参与者有关的类
用户类(user):设置注册方法(register())
游客类(tour):未注册则为游客,注册后则为会员
会员类(mem): 用户注册后成为会员,会员类存储会员相关信息
属性:会员编号(mid)、会员名(mname)、会员密码(mpass)、
会员E-mail(mmail)、会员性别(msex)、 会员籍贯(mform)、会员生日(mbirthday)、会员注册时间(mtime)
会员电话(mnumber)
方法:检查用户名、密码;设置用户名、密码、E-mail、性别、籍贯、生日、注册时间、电话
管理员类(admin):属性:管理员编号(aid)、管理员用户名(aname)、管理员密码(apass)会员积分(anum)、会员排名(atop)
方法:设置用户名、设置密码;检查用户名、检查密码
(2)其他类:
帖子类(bbs): 显示论坛中发布的帖子。
属性:帖子编号(bid)、帖子标题(bname)、帖子类型(btype)、帖子字数(bword)、父帖编号(parentid)、跟帖数(child)
发表人姓名(mname)、发表人E-mail(mmail)、发表人IP(mip)、板块编号(moudalid)
方法:增加、删除、更改帖子;更改父帖、子帖
板块类(modual manage): 显示分类板块信息。
属性:板块id(moudalid)、板块点记率(moudalnumber)、板块名称(moudalname)、板块类型(moudaltype)
方法:删除板块
帖子管理类:对帖子进行管理
方法:删除不健康的帖子(delBbs())、置顶帖子(topBbs())、控制帖子的点记率(contralBbs())、设置精华帖子(settingBbs())
bbs数据库类(bbssql):用于连接数据库。
属性:jdbc驱动、连接数据库、结果集
具体库设计如图4-6所示
会员管理类(mem manage):删除会员,修改会员姓名、密码、修改会员的积分,排行等
会员数据库类(membbs):同bbs数据库
管理员数据库类(adminbs):同bbs数据库
游客功能类(bbs1):设置游客阅览、回帖方法
会员额外功能类(bbs2):设置会员额外发帖方法