详细设计说明书
编写人:刘彦阳 王雪晴
目录
前言 ....................................................................................................... 3 一、引言 ..................................................................................................... 4 1.1编写目的 ........................................................................................ 4 1.2项目背景 ........................................................................................ 4 1.3定义 ................................................................................................. 4 1.4参考资料 ........................................................................................ 6 二、系统结构............................................................................................. 7 2.1需求概述 ........................................................................................ 7 2.2软件结构 ........................................................................................ 7 三、模块设计说明 .................................................................................... 9 3.1功能模块设计 ................................................................................ 9 3.2功能 ............................................................................................... 10 3.3算法实现 ...................................................................................... 21 3.4流程逻辑 ...................................................................................... 22 3.5接口 ............................................................................................... 22 3.6存储分配 ...................................................................................... 23 3.7限制条件 ...................................................................................... 24 3.8测试计划 ...................................................................................... 24 3.9尚未解决的问题 .......................................................................... 24
前言
随着计算机网络的飞速发展,网民人数越来越多,BBS论坛作为一种交流思想和感情的桥梁,快捷方便,正受到越来越多网友的喜爱,并深刻地影响人类的交流方式。
BBS是互联网一种人与人之间交互的必备工具,特别是做网站必备。BBS可以通过WEB浏览器访问,并且实现上传文件等诸多功能。网民们便逐步开始接受这种使用方便快捷、功能日渐强大的系统。在它上面网民们可以张贴和发布各种各样的信息,讨论各式话题。随着中国网络的普及和计算机及其外设的大幅度降价,Internet这个概念逐渐深入人心。中国网民的数量呈几何级数量增长,BBS的普及程度也直追Email。每个网站几乎都拥有自己的BBS或者BBS链接, BBS社区提供给用户的服务是全面而且非常友好的,用户在社区中可以根据自己的喜好设置不同的显示风格,根据自己的需求定制各种服务。
一、引言
1.1编写目的
通过BBS系统可随时取得国际最新的软件及信息,也可以通过BBS系统来和别人讨论计算机软件、硬件、Internet、多媒体、程序设计以及医学等等各种有趣的话题,更可以利用BBS系统来刊登一些“征友”、“廉价转让”及“公司产品”等启事。通过此bbs论坛的编写,熟悉ASP.NET的工作流程。为了对BBS论坛管理系统中的功能和流程有更详细的了解,编写本详细说明书。本说明书在系统概要设计的基础上,进一步细化系统各功能模块的设计,确定系统各模块的详细实现方法(包括实现算法,采用的数据结构等),为编码实现阶段的工作提供依据。本说明书的读者对象为软件设计人员、开发人员以及软件测试、维护人员。
1.2项目背景
大约是从1991年开始,国内开始了第一个BBS站。经过长时间的发展,直到1995年,随着计算机及其外设的大幅降价,BBS才逐渐被人们所认识。1996年更是以惊人的速度发展起来。国内的BBS站,按其性质划分,可以分为2种:一种是商业BBS站,如新华龙讯网;另一种是业余BBS站,如天堂资讯站。由于使用商业BBS站要交纳一笔费用,而商业站所能提供的服务与业余站相比,并没有什么优势,所以其用户数量不多。多数业余BBS站的站长,基于个人关系,每天都互相交换电子邮件,渐渐地形成了一个全国性的电子邮件网络China FidoNet(中国惠多网)。于是,各地的用户都可以通过本地的业余BBS站与远在异地的网友互通信息。这种跨地域电子邮件交流正是商业站无法与业余站相抗衡的根本因素。由于业余BBS站拥有这种优势,所以使用者都更乐意加入。这里“业余”2字,并不是代表这种类型的BBS站的服务和技术水平是业余的,而是指这类BBS站的性质。一般BBS站都是由志愿者开发的。他们付出的不仅是金钱,更多的是精力。其目的是为了推动中国计算机网络的健康发展,提高广大计算机用户的应用水平
1.3定义
游客
所有访问论坛,尚未登录的人。
注册用户
申请注册并提交成功的人。 版主
具有发布版块公告,管理版内帖子,删除/转移帖子,奖励/惩罚一般注册用户功能的已注册用户。 系统管理员
具有宣布论坛开放/关闭注册,帖子的批量删除/转移,版块管理,用户管理功能的总版主。 用户
此“用户”泛指所有的注册用户和游客。 管理人员
此“管理人员”泛指版主和系统管理员。 注册
游客访问论坛按系统规则申请注册。 登录
注册用户按系统规则登录论坛。 退出
已登录用户退出登录状态。 浏览主题
游客及登录的用户通过此业务按系统规则浏览论坛上各版块的主题
用户(包括所有注册用户或游客)通过此操作可以浏览自身权限许可范围内的论坛的板块列表,主题列表,以及每一个主题。 发布主题
注册用户通过此业务按系统规则进行主题的发布。 回复主题
注册用户通过此业务按系统规则进行主题的回复。 修改帖子
注册用户和管理人员通过此业务按系统规则修改自己已发布的主题或回复的帖子。 修改个人资料
注册用户通过此业务按系统规则修改自已在注册新用户时所填写的个人资料或是已经通过此业务修改过的个人资料。 管理版内帖子
版主通过此业务按系统规则在自已管理的版块内对帖子进行锁定,解锁,置顶,取消置顶,加为精华,解除精华,删除帖子,移动帖子等操作。 删除帖子
管理人员通过此业务按系统规则在自已权限内对不良帖子进行删除操作。
用户禁言
管理人员通过此业务按论坛的规则对于屡次违反规定且拒不改悔的一般注册用户进行禁用操作,禁用后该用户无法正常登录。
搜索帖子
注册用户和管理人员通过此业务按关键字对帖子进行查找。 版块管理
系统管理员通过此业务按系统规则对版块进行管理,如版块的增加,重新命名,删除,关闭等操作
1.4参考资料
软件工程导论/陈明编著。--北京:机械工业出版社,2011.6(高等院校软件工程专业规划教材)
JSP项目开发全程实录/周桓,王殊宇等编著,---北京:清华大学出版社,2008.6(软件项目开发全程实录丛书
《数据库系统概论》 王珊 萨师煊 编著 高等教育出版社
二、系统结构
2.1需求概述
(1) 注册管理:能够对用户名,密码的简单验证,能够防止利用页面刷新重复注册,已经存在的用户名称不能重复注册。
(2) 浏览帖子:可以根据作者或内容等为关键字搜索帖子,分论坛版块显示帖子,显示帖子详情,浏览帖子时不要求用户登录,但回复帖子前用户必须登录。
(3) 发表及回复帖子:只有登录用户才可以发表和回复帖子,并且对帖子的字数有限制。
(4) 用户个人信息管理:登陆用户可以编辑注册后的个人资料,如修改密码等,但是不可以修改用户名称。也可以对自己发表的帖子进行操作:如修改,删除。
(5) 回复管理:各论坛版块的版主可以对自己管理的版块的帖子的回复的帖子进行管理,可以屏蔽回复。
(6) 论坛版块管理:只有管理员有该权限,管理员可以添加,删除版块,也可以修改版块资料,如版块名称,上级版块,版主。
(7) 用户管理:只有管理员有该权限,管理员可以禁用,启用用户,进行用户密码重置。
(8) 公告管理:只有管理员有该权限,管理员可以添加,删除公告。
(9) 帖子管理:各论坛版块的版主可以对自己管理的版块的帖子进行管理,可以屏蔽和删除帖子。
2.2软件结构
游客操作 会员注册 会员登录 客户端模块 浏览根帖 注册用户操作 帖子发表 帖子回复 修改个人资料 搜索帖子 帖子管理 搜索帖子 置顶加精 BBS论坛系统 前台版主操作 删除帖子 编辑 回复 用户管理 版块管理 禁言 发布版内公告 版块建立 版块管理 修改版块 删除版块 设置版主 用户管理 用户禁言 删除用户ID 移动帖子 帖子管理 删除帖子 搜索帖子 论坛管理 开放/关闭注册功管理员模块 后台管理人员操三、程序设计说明
3.1功能模块设计
通过对系统进行详细的需求分析,获得了一个最优的设计方案,将系统划分为若干功能子模块。为了方便后期的设计与编程工作,在划分系统功能模块时尽量注重模块的独立性,努力做到高内聚,低耦合。
3.1.1用户注册登陆模块
要完成论坛的各项操作,用户必须登陆论坛系统,如果没有论坛帐户,用户注册是必须的。用户命令如果是退出,则清除用户的状态信息,并返回BBS 首页,如果是登录则使用SQL-Server连接数据库,取得用户输入的帐号和密码并查询数据库,将得出的结果和用户输入的信息做比较,验证正确,显示用户已经登陆到系统,错误将返回消息让用户从新输入.如果用户想注册帐户,则返回注册页面,用户填写信息后,将检测信息的正确性,如果帐号 允许注册,则完成帐号的注册,将信息写入到数据库中,如果帐户已经存在,则返回错误信息,告诉用户帐号存在,请用户重新输入,并完成注册,进程结束。
3.1.2 帐户信息管理模块
当用户登陆系统后,在个人工具箱中,可以通过点击个人资料修改的链接来进一步完善个人资料(其中帐户名是不允许修改的),以及通过最近发表的话题来查看和修改自己发布的帖。
3.1.3文章管理模块
只有登录用户才可以发表、回复帖子以及浏览自己感兴趣的帖子,并且对帖子的字数有限制。用户登陆系统后可以查看其他所有用户发的文章,并可以发布自己的话题,也可响应回复其他用户和自己发表的话题,版主还可以发布版内公告、删除回复帖,以及对于发表不良言论的回帖可以禁止其回帖。 用户只要输入想查询的用户名,点击查询按钮,便可以查询出该用户发表的所有帖子以及该用户发表的帖子序号、标题、发帖时间、发帖人等详细信息,方便用户快速的找到自己
想要的信息。
3.1.4公告制度模块
论坛管理员可以通过后台管理系统发布论坛公告,公告可以选择版面,公告的主题,并可以设置字体的颜色大小等工具,同时可以设置对文章操作的客户积分。例如用户每发一篇文章,则增加一定量的积分。
3.1.5版块管理模块
论坛管理员可以通过后台管理系统控制论坛的版块,管理员输入正确用户名、密码之后便可以完成下列功能:添加分类或版面,版面配置或删除;并可以对已存在的版块设置属性(包括名称,类别,隐藏,属性,默认风格,主题,回复,排序等)。
3.1.6信息管理模块
信息管理模块主要完成下面的功能:社区信息配置;添加管理员; 编辑管理员;设定等级;配置权限;重新登录;安全退出;用户等级;管理团队;用户列表;黑名单;用户查询。
以上的功能完成了整个论坛的配置,用户的管理,管理员的管理都可以通过对应的链接来完成。
3.2功能
1) 注册模块:
会员注册,填写会员信息,检验信息的有效性,并将会员资料储存进数据库。 2)登陆模块:
提供信息凭证,验证输入的信息是否合法,根据角色授权。 3)用户管理模块:
已登录的管理员可以对会员信息进行部分更改,主要包括:会员角色调整,
版主调整,删除用户等。
4)版面管理模块:
已登录的管理员可以添加、删除、调整版面,还可以更新版主。 5)类别管理模块:
已登录的管理员可以添加、删除类别。 6)帖子管理模块:
管理员可以对所有帖子进行转移、置顶、删除等操作,版主可以转移本版块帖子,也可以对本版块帖子进行置顶、删除等操作。
7)查看版面下根帖模块:
所有用户可以查看当前版面下的根帖,由服务器端检索出有关根帖信息,并
分页显示客户端页面。
8)查看精华帖模块:
所有用户可以查看当前版面下精华帖,由服务器端检索出有关精华帖信息,
并分页显示在客户端页面。
9)搜索根帖模块:
所有用户在客户端提供要搜索根帖的主要信息,由服务器端检索出有关根帖
信息,并分页显示在客户端页面。
10)查看根帖内容模块:
所有用户在客户端选定一个根帖,由服务器端送出该根帖的内容及其以下回
复帖,并分页显示在客户端页面上。
11)查看自己发表的根帖模块:
已登录用户可以查看自己发表的根帖信息,由服务器端检索,并分页显示在
客户端页面。
12)发表帖子模块:
已登录用户可以在自己感兴趣的版面发表帖子,完成后将帖子信息传送到服
务器端并储存在数据库里。
13)回复帖子模块:
已登录用户可以在自己感兴趣的根帖下发表自己的观点,完成后将回复帖信
息传送到服务器端并储存在数据库里。
系统名: BBS论坛系统 加工名: 被调用: 输 入: 处 理: 局部数据元素:
1)会员注册模块:
编 号: 模块名: 调 用: 输 出: 注 释: 1 会员注册模块
2)会员用户登录模块:
3)浏览根帖内容模块:
4)搜索根帖模块:
5)浏览版块下根帖模块:
6)查看精华帖模块:
7)
7)查看自己发表帖子模块:
8)发表帖子:
9)删除用户ID模块:
10)禁言模块:
11)设为精华帖模块:
12)修改版面模块:
13)添加版面模块:
14)设置版主模块:
15)置顶根帖模块:
16)删除用户模块:
17)修改用户模块:
18)删除根帖模块:
3.3算法实现
3.3.1各级别用户私有功能的实现方法
私有功能是不能为比其级别高的用户所继承的功能。因此,私有功能JSP网页应进行具体某个级别身份的识别,非这个级别层次的用户则被拒绝访问。
3.3.2各级别用户公有功能的实现方法
公有功能是可以为比其级别高的用户所继承的功能。因此,公有功能JSP网页只进行比其级别低的用户身份的识别,如果此用户级别低则拒绝继续访问。此外,高级别的用户可以进行功能重载,譬如,匿名用户只能查看本系统会员列表,但是,超级会员在查看的同时,还可以进行管理操作,如修改,删除等。
3.3.3会员用户积分的计算模型
会员用户每提交一篇文章,可以积十分。回复某篇文章,则可以积五分,同时原文作者积三分。
3.3.4 版主申请条件以及计算模型
版主申请条件:为正式注册会员;一个会员最多管理二个版面;一个版面最多五个管理
员。
计算机模型:用户提出申请,超级用户审批。审批完成前此会员不能再次就同一版面申请版主权限。
3.3.5超文本信息输入
具有普通会员身份以上级别的用户,发表贴子或回复贴子时,可以在其贴子内插入诸如滚动文字,字体大小颜色不同的文字,以及超链接等等。系统接受用户输入时对带格式文本应进行相应的编码(Encode),系统显示带超文本信息的贴子时则应进行相应的解码(Decode)。
3.4流程逻辑
没画
3.5接口
3.5.1外部接口
1)、软件接口
系统提供访问数据库的接口;
系统提供向客户端发送数据及从客户端接收数据的接口。 2)、硬件接口
客户端与服务器端提供网络连接接口。
3.5.2内部接口
2.1 登录界面:由输入用户名,密码的文本框和登录按钮组成。当匿名用户要执行会员
的操作时,提示其登陆。这时,会员操作模块应调用用户登陆或注册模块。
2.2 发帖界面:帖子的主题文本输入框,具体内容文本输入框。
2.3 回帖界面:回帖内容输入框以及提交按钮。
2.4 注册界面:注册用户名、密码以及各个选填信息输入文本输入框。 2.5 管理员信息管理界面:删除、修改、查看、发布、更新等超链接组成。
3.6存储分配
数据库设计,在整个BBS 系统中,首先设计了三个数据库:
一、是User (用户信息数据库) , 用来存放登记在本BBS 系统的用户信息,包括用户的ID 号、姓名、E - Mail 地址、密码等个人信息。其中用户的ID号是自动编号,并没有特殊的意义,只是用来表示唯一的一名用户,其他各列都是文本类型。在此库中并没有为用户设计权限,即所有的用户在此库中都是平等的。
二、是Board(版面数据库) ,用来记录版面的名称、版主的ID 号、版面的ID 号等信息,这里版主的ID 与User 库中的用户ID 是相关联的,即该表的Boardmaster 与User 表中的UserID 是一致的, 通过Boardmaster 必定能找到位于User 库中属于该版主的一些个人信息,这样它与User 库相结合,就能够为不同的用户划分了不同的两个权限,一是版主权限,二是普通用户权限。
三、是Announce (帖子数据库) ,其中存放所发送帖子的ID、题目、作者、连接地址、子 帖号、父帖号、帖子的内容、长度、所在的层次,以及所在版面等信息,在这里通过是
用mysql截图
否有子帖、是否有父帖、父帖的个数、所在的层次等项建立一个帖子的二级树状结构。为了代码的维护以及系统实现的容易性,只采用了二级结构,即只有父帖才能有回帖,回帖下面不能再有回帖,一组帖子中只能有一个父帖,但可以有多个子帖。同时为了能够显示该帖子的影响程度,可加上一个点击数一项,表示该帖子被查看过的次数。此外,为了能够把大家都感兴趣的话题集中起来,也就是要加上一个精华区,这样必然要有一个
3.7限制条件 3.8测试计划
实现目标:
⑴没有注册的用户能够在登录时自动注册,并给出友好提示。 ⑵帖子列表支持分页显示,使得可以轻松查看所有帖子。 ⑶帖子拥有点击统计,更方便了解热点话题。
⑷站长版面管理实现WEB在线编辑,管理工作更加轻松随意。
⑸超强帖子查询功能。根据您感兴趣的内容快速获得信息,可对帖子按主题和发言人姓名按版面进行查询。其中,主题查询实施模糊查询方法。
3.9尚未解决的问题
因篇幅问题不能全部显示,请点此查看更多更全内容