BBS详细设计说明书.docx
《BBS详细设计说明书.docx》由会员分享,可在线阅读,更多相关《BBS详细设计说明书.docx(16页珍藏版)》请在冰豆网上搜索。
BBS详细设计说明书
前言
随着计算机网络的飞速发展,网民人数越来越多,BBS论坛作为一种交流思想和感情的桥梁,快捷方便,正受到越来越多网友的喜爱,并深刻地影响人类的交流方式。
BBS是互联网一种人与人之间交互的必备工具,特别是做网站必备。
BBS可以通过WEB浏览器访问,并且实现上传文件等诸多功能。
网民们便逐步开始接受这种使用方便快捷、功能日渐强大的系统。
在它上面网民们可以张贴和发布各种各样的信息,讨论各式话题。
随着中国网络的普及和计算机及其外设的大幅度降价,Internet这个概念逐渐深入人心。
中国网民的数量呈几何级数量增长,BBS的普及程度也直追Email。
每个网站几乎都拥有自己的BBS或者BBS链接,BBS社区提供给用户的服务是全面而且非常友好的,用户在社区中可以根据自己的喜好设置不同的显示风格,根据自己的需求定制各种服务
1.引言
1.1.编写目的
本文档作为BBS的详细设计说明文档,用于与用户确定最终的目标,并成为协议文本的一部分,同时也是本系统设计人员的基础文档。
1.2.软件背景
BBS论坛,或者称为社区,是电子商务网站中一种常见功能,也是互
联网上一种极为常见的互动交流服务。
它为上网用户提供了也各自由的讨论区。
通过论坛可以向用户提供开放性的分类专题讨论区服务,同时注册的用户可以根据需要在论坛上发表文章,交流技术经验,或者提出问题并表达自己的观点。
不仅如此,上网的用户还可以在论坛中看到他人发表的文章,并且能够对该文章进行评论。
一般情况下,BBS按不同主题分为多个布告栏,其设立多是依据使用者的要求和喜好,但多具有信件交流、软件交流、信息发布等功能。
目前,大部分BBS由教育机构、研究机构或商业机构管理,大多有自己的拨入电话号码,用户只需电脑、调制解调器和电话线就可通过电话拨号登录BBS站点。
本BBS论坛旨在为本校学生和校外人员提供交流、探讨的平台。
帮助大家的更好的交往,可以更好丰富大家的生活、提高大家的积极性。
1.3.定义
●Jsp(JavaServerPages)
JSP技术使用Java编程语言编写类XML的tags和scriptlets,来封装产生动态网页的处理逻辑。
网页还能通过tags和scriptlets访问存在于服务端的资源的应用逻辑。
JSP将网页逻辑与网页设计和显示分离,支持可重用的基于组件的设计,使基于Web的应用程序的开发变得迅速和容易。
●Servlet技术
Servlet是一种服务器端的Java应用程序,具有独立于平台和协议的特性,可以生成动态的Web页面。
它担当客户请求(Web浏览器或其他HTTP客户程序)与服务器响应(HTTP服务器上的数据库或应用程序)的中间层。
Servlet是位于Web服务器内部的服务器端的Java应用程序,与传统的从命令行启动的Java应用程序不同,Servlet由Web服务器进行加载,该Web服务器必须包含支持Servlet的Java虚拟机。
●Spring技术
Spring是一个开源框架,是为了解决企业应用程序开发复杂性由RodJohnson创建的。
框架的主要优势之一就是其分层架构,分层架构允许使用者选择使用哪一个组件,同时为J2EE应用程序开发提供集成的框架。
Spring使用基本的JavaBean来完成以前只可能由EJB完成的事情。
然而,Spring的用途不仅限于服务器端的开发。
从简单性、可测试性和松耦合的角度而言,任何Java应用都可以从Spring中受益。
●Hibernate技术
Hibernate是一个开放源代码的对象关系映射框架,它对JDBC进行了非常轻量级的对象封装,使得Java程序员可以随心所欲的使用对象编程思维来操纵数据库。
Hibernate可以应用在任何使用JDBC的场合,既可以在Java的客户端程序使用,也可以在Servlet/JSP的Web应用中使用,最具革命意义的是,Hibernate可以在应用EJB的J2EE架构中取代CMP,完成数据持久化的重任。
●JavaAjax
通过AJAX,JavaScript可使用JavaScript的XMLHttpRequest对象来直接与服务器进行通信。
通过这个对象,JavaScript可在不重载页面的情况与Web服务器交换数据。
AJAX在浏览器与Web服务器之间使用异步数据传输(HTTP请求),这样就可使网页从服务器请求少量的信息,而不是整个页面。
Web应用程序较桌面应用程序有诸多优势;它们能够涉及广大的用户,它们更易安装及维护,也更易开发。
●Struts只是一个MVC框架(Framework)
用于快速开发JavaWeb应用。
Struts实现的重点在C(Controller),包括ActionServlet/RequestProcessor和我们定制的Action,也为V(View)提供了一系列定制标签(CustomTag)。
但Struts几乎没有涉及M(Model),所以Struts可以采用JAVA实现的任何形式的商业逻辑。
●JDBC(JavaDataBaseConnectivity,java数据库连接)
它是一种用于执行SQL语句的JavaAPI,可以为多种关系数据库提供统一访问,它由一组用Java语言编写的类和接口组成。
JDBC为工具/数据库开发人员提供了一个标准的API,据此可以构建更高级的工具和接口,使数据库开发人员能够用纯JavaAPI编写数据库应用程序。
2.系统的结构
前台模块
后台模块
3.程序描述
随着计算机网络的飞速发展,网民人数越来越多,BBS论坛作为一种交流思想和感情的桥梁,快捷方便,正受到越来越多网友的喜爱,并深刻地影响人类的交流方式。
本BBS论坛旨在为本校学生和校外人员提供交流、探讨的平台。
帮助大家的更好的交往,可以更好丰富大家的生活、提高大家的积极性。
本BBS论坛主要功能为:
●会员注册
新会员注册,提供会员信息,检验新会员信息的有效性
●会员登陆
输入用户名和密码,检验用户信息,基于角色授权;
●会员管理
管理员由程序员设置一个,管理员可以对会员信息进行部分更改,主要包括用户角色调整,会员禁言等;
●论坛版块管理
管理员可以添加,修改,隐藏论坛版块;
●帖子管理
管理员可以对所有帖子进行置顶,删除,加精等操作,版主可以对本版块帖子进行置顶,删除,加精等操作;
●帖子发表
注册用户可以在所以版块中发表新主题帖;
●帖子回复
注册用户可以回复帖子;
●帖子浏览
注册用户可以任意浏览权限内的帖子,未注册用户只能浏览,不能回复;
●帖子检索
用户可以提供关键字检索可见主题帖,注册用户可以查看自己发表的帖子;
●好友查看
注册用户可以添加好友,便于查看好友的帖子,以及给好友发送消息,留言等
●邮件管理
管理员或者版主可以给会员发邮件,对于帖子被转移等情况进行通知会员
●禁言
对于违反论坛规矩的会员进行禁言处理,严重着封号处理。
4.模块设计说明
4.1.功能模块设计
通过对系统进行详细的需求分析,获得了一个最优的设计方案,将系统划分为若干功能子模块。
为了方便后期的设计与编程工作,在划分系统功能模块时尽量注重模块的独立性,努力做到高内聚,低耦合。
4.1.1.用户注册登录模块
要完成论坛的各项操作,用户必须登陆论坛系统,如果没有论坛帐户,用户注册是必须的。
如果是登录则使用mysql连接数据库,取得用户输入的帐号和密码并查询数据库,将得出的结果和用户输入的信息做比较,验证正确,显示用户已经登陆到系统,可以根据权限的不同进入到不同的页面,错误将返回消息让用户从新输入.如果用户想注册帐户,则返回注册页面,用户填写信息后,将检测信息的正确性,如果帐号合法
允许注册,则完成帐号的注册,将信息写入到数据库中,如果帐户已经存在,则返回错误信息,告诉用户帐号存在,请用户重新输入,并完成注册,进程结束。
4.1.2.帐户信息模块
当用户登陆系统后,在个人工具箱中,可以通过点击个人资料修改的链接来修改个人资料(其中帐户名是不允许修改的),通过最近发表的话题来查看和修改自己发布的帖。
4.1.3.
文章发布模块
用户登陆系统后可以查看其他所有用户发的文章,并可以发布自己的话题,也可响应回复其他用户和自己发表的话题。
4.1.4.公告制度模块
论坛管理员可以通过后台管理系统发布论坛公告,发布的公告包含主题,详细信息,发布时间等信息。
在论坛主页面里有一个版面显示的是公告,可以显示最近时间发布的公告信息。
4.1.5.版块管理模块
论坛管理员可以通过后台管理系统控制论坛的版块,管理员可以完成下列
功能:
添加分类或版面,版面配置或删除;并可以对已存在的版块设置属性(包括名称,类别,隐藏,属性,默认风格,主题,回复,排序等)。
4.1.6.信息管理模块
信息管理模块主要完成下面的功能:
添加版主;编辑版主;设定等级;配置权限;用户等级;管理团队;用户列表;黑名单;用户查询。
以上的功能完成了整个论坛的配置,用户的管理,管理员的管理都可以通过对应的链接来完成。
4.2.功能
●提供完善的用户登录功能,要求为不同用户提供分级权限。
●提供标准的发贴、删贴功能,并且每一个帖子的内容不加限制,帖子必须能显示发贴时间、作者,点击数,回复数,最后回复者,最后回复时间。
●提供回帖功能,每个回帖有父贴。
父帖与子帖是一对多的关系,删除父帖后,子帖也连带被删除。
●提出精华区的概念,为每个版面都提供一个精华区,其中内容是多次提出的热点问题。
●完全是WWW模式,即只要有浏览器即可访问本BBS系统。
4.3.设计方法
基于WEB的通用BBS系统其系统定义部分采用面向对象的系统分析方法,采用MVC模式,利用SSH框架实现,其中用struts中的action实现了显示层和逻辑层的分离,通过建立各个功能的action类实现了对业务逻辑的处理,hibernate实现了面向对象的思想,把表中的各个表以各个类的属性和方法来实现,实现了数据的持久化操作,通过DAO层的类为实现对数据操作的具体实现类,spring是为struts和hibernate服务的,也就是为各个层之间的类的接口服务的,能够实现了依赖注入,配置各个类。
采用面向对象分析的方法,把各个信息都以面向对象的方法实现。
各个层之间的关系:
4.3.1.系统主页面Main.asp
这是BBS网站的HomePage,程序首先进行用户身份判断。
本系统用户身份信息经登录后保存在SESSION对象的USERNAME和ADMINBOARD两个变量里。
匿名用户(既Guest)这两个变量为空或没有定义;普通用户USERNAME变量有用户在本系统注册的会员昵称,但其ADMINBOARD变量没有定义或为空;版主用户其ADMINBOARD变量保存有他管理版面的ID;如果ADMINBOARD变量为“0”则为管理员。
依据程序对用户所做的判断,插入相应用户的功能操作菜单。
这就实现了不同层次对象的同一方法的不同功能。
4.3.2.各级别功能的实现方法
公有功能是可以为比其级别高的用户所继承的功能。
因此,公有功能ASP网页只进行比其级别低的用户身份的识别,如果此用户级别低则拒绝继续访问。
此外,高级别的用户可以进行功能重载,譬如,匿名用户只能查看本系统会员列表,但是,超级会员在查看的同时,还可以进行管理操作,如修改,删除等。
下面是所有公用功能的重载列表:
Guest:
:
useradmin.asp查看本论坛注册会员列表
Super:
:
useradmin.asp查看并管理本论坛注册会员列表
Guest:
:
adminorlist.asp查看本论坛版主列表
Super:
:
adminorlist.asp查看并管理本论坛版主列表
Adminor:
:
articleadmin.asp自已管理辖版面范围内的贴子维护
Super:
:
articleadmin.asp本论坛所有版面贴子维护
Adminor:
:
linkadmin.asp添加或维护自已曾添加的友情链接
Super:
:
linkadmin.asp维护所有友情链接列表
Adminor:
:
newpost.asp在自已管理版面发布公告
Super:
:
newpost.asp在任一版面发布公告
4.3.3.会员用户积分的计算模型
初始设置为:
会员用户每提交一篇文章,可以积十分。
回复某篇文章,则可以积五分,同时原文作者积三分。
管理员也可以对于会员用户积分的计算模型进行从新设置。
4.3.4.版主申请条件以及计算模型
版主申请条件:
为正式注册会员;一个会员最多管理一个版面;一个版面最多三个管理员。
计算机模型:
用户提出申请,超管理员审批。
审批完成前此会员不能再次就同一版面申请版主权限,并且用户每次只可以申请一个版面的版主。
4.3.5.超文本信息输入
对于达到一定等级的会员,发表贴子或回复贴子时,可以在其贴子内插入诸如闪动文字,字体大小颜色不同的文字等等。
系统接受用户输入时对带格式文本应进行相应的编码(Encode),系统显示带超文本信息的贴子时则应进行相应的解码(Decode)。
4.4.流程逻辑
4.5.接口
4.5.1.用户接口
此软件设计是基于B/S模式,人机交互模式模块化,使用户能够更加清晰的知道自己所拥有的功能模块。
采用的标准的java编写,内部套用Java脚本、XML、CSS,风格统一,用户可通过一个窗体即可完成所有的输入工作,本模块不涉及大图片、音频和视频等,这样能保证输出时的快速性。
用户可以直观的查看数据和填写数据,尽可能的简化操作,其主界面简便易于使用。
4.5.2.外部接口
系统的数据库连接采用了hibernate进行连接,同时使用了数据库连接池proxool,能够达到多用户的操作和控制数据库连接接口的功能,spring的配置文件为这些外部技术提供了接口能够用bean方法来实现,这里主要是对数据库的连接和对hibernate的类中sesstionfactory的创建。
4.5.3.内部接口
Spring为程序之间的内部接口提供了bean的方法,可以再各个类之间进行依赖注入,实现了各个类之间的关系,能够使action对DAO层进行方法继承,从而实现各个action对数据库操作的控制。
实现各个层和各个类之间的内部接口的实现。
从而实现接口的应用。
4.6.存储分配
数据库设计,在整个BBS论坛中使用MySql数据库,用来存储论坛相关数据。
本论坛设计了如下几个数据库表
其中
admin:
存储管理员相关信息
decoration:
存储用户头衔
friendship:
存储好友关系
message:
存储短消息(包含邮件)相关信息
notice:
存储公告相关信息
posts:
存储帖子相关信息
section;存储版块相关信息
user:
存储会员(一般会员和版主)相关信息
4.7.限制条件
在整个BBS系统的设计过程中,WEB数据库访问技术是至关重要的,它完全影响着执行速度、安全性等多方面因素,而实现WEB数据库访问的方法多种多样。
这里选择hibernate技术来实现本BBS系统与数据库的连接,建立提供数据库信息的网页内容,对数据库进行查询、插入、更新、删除等操作,
4.8.测试计划
实现目标:
⑴没有注册的用户能够在登录时自动注册,并给出友好提示。
⑵帖子列表支持分页显示,使得可以轻松查看所有帖子。
⑶帖子拥有点击统计,更方便了解热点话题。
⑷站长版面管理实现WEB在线编辑,管理工作更加轻松随意。
⑸超强帖子查询功能。
根据您感兴趣的内容快速获得信息,可对帖子按主题和发言人姓名按版面进行查询。
其中,主题查询实施模糊查询方法。
4.9.尚未解决的问题
当初现帐号,密码等通常的错误时,用户可以重新输入信息,即可解决,或是重新启动客户端,当出现无法连接数据库或者是查询中的错误,通常系统管理员重新启动服务即可解决,由于数据库的连接错误是全局的,所以重新启动服务是最佳的操作。
5.系统维护设计
用于系统的检查与维护的检测点和专用模块,在这个版本中没有出,将会在后续开发中增加,例如自动重新启动服务,自动纠正数据的错误。
以及用户数据的安装问题,密码的加密问题.
6.结束语
本系统采用WWW技术,采用流行的B/S开发模式,现已基本实现了BBS论坛的基本功能,使注册用户之间的交流更为简单、方便、灵活,而且使用方便、扩展性好、便于维护,是传统BBS系统的一大改进。