BBS详细设计说明书.doc_第1页
BBS详细设计说明书.doc_第2页
BBS详细设计说明书.doc_第3页
BBS详细设计说明书.doc_第4页
BBS详细设计说明书.doc_第5页
已阅读5页,还剩11页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

前言随着计算机网络的飞速发展,网民人数越来越多,BBS论坛作为一种交流思想和感情的桥梁,快捷方便,正受到越来越多网友的喜爱,并深刻地影响人类的交流方式。BBS是互联网一种人与人之间交互的必备工具,特别是做网站必备。BBS可以通过WEB浏览器访问,并且实现上传文件等诸多功能。网民们便逐步开始接受这种使用方便快捷、功能日渐强大的系统。在它上面网民们可以张贴和发布各种各样的信息,讨论各式话题。随着中国网络的普及和计算机及其外设的大幅度降价,Internet这个概念逐渐深入人心。中国网民的数量呈几何级数量增长,BBS的普及程度也直追Email。每个网站几乎都拥有自己的BBS或者BBS链接, BBS社区提供给用户的服务是全面而且非常友好的,用户在社区中可以根据自己的喜好设置不同的显示风格,根据自己的需求定制各种服务1. 引言1.1. 编写目的本文档作为BBS的详细设计说明文档,用于与用户确定最终的目标,并成为协议文本的一部分,同时也是本系统设计人员的基础文档。1.2. 软件背景 BBS论坛,或者称为社区,是电子商务网站中一种常见功能,也是互联网上一种极为常见的互动交流服务。它为上网用户提供了也各自由的讨论区。通过论坛可以向用户提供开放性的分类专题讨论区服务,同时注册的用户可以根据需要在论坛上发表文章,交流技术经验,或者提出问题并表达自己的观点。不仅如此,上网的用户还可以在论坛中看到他人发表的文章,并且能够对该文章进行评论。一般情况下,BBS按不同主题分为多个布告栏,其设立多是依据使用者的要求和喜好,但多具有信件交流、软件交流、信息发布等功能。 目前,大部分BBS由教育机构、研究机构或商业机构管理,大多有自己的拨入电话号码,用户只需电脑、调制解调器和电话线就可通过电话拨号登录BBS站点。 本BBS论坛旨在为本校学生和校外人员提供交流、探讨的平台。帮助大家的更好的交往,可以更好丰富大家的生活、提高大家的积极性。1.3. 定义l Jsp(JavaServer Pages)JSP技术使用Java编程语言编写类XML的tags和scriptlets,来封装产生动态网页的处理逻辑。网页还能通过tags和scriptlets访问存在于服务端的资源的应用逻辑。JSP将网页逻辑与网页设计和显示分离,支持可重用的基于组件的设计,使基于Web的应用程序的开发变得迅速和容易。l Servlet技术Servlet是一种服务器端的Java应用程序,具有独立于平台和协议的特性,可以生成动态的Web页面。 它担当客户请求(Web浏览器或其他HTTP客户程序)与服务器响应(HTTP服务器上的数据库或应用程序)的中间层。 Servlet是位于Web 服务器内部的服务器端的Java应用程序,与传统的从命令行启动的Java应用程序不同,Servlet由Web服务器进行加载,该Web服务器必须包含支持Servlet的Java虚拟机。l Spring技术 Spring是一个开源框架,是为了解决企业应用程序开发复杂性由Rod Johnson创建的。框架的主要优势之一就是其分层架构,分层架构允许使用者选择使用哪一个组件,同时为 J2EE 应用程序开发提供集成的框架。Spring使用基本的JavaBean来完成以前只可能由EJB完成的事情。然而,Spring的用途不仅限于服务器端的开发。从简单性、可测试性和松耦合的角度而言,任何Java应用都可以从Spring中受益。 l Hibernate 技术 Hibernate是一个开放源代码的对象关系映射框架,它对JDBC进行了非常轻量级的对象封装,使得Java程序员可以随心所欲的使用对象编程思维来操纵数据库。 Hibernate可以应用在任何使用JDBC的场合,既可以在Java的客户端程序使用,也可以在Servlet/JSP的Web应用中使用,最具革命意义的是,Hibernate可以在应用EJB的J2EE架构中取代CMP,完成数据持久化的重任。 l JavaAjax通过 AJAX, JavaScript 可使用JavaScript的XMLHttpRequest对象来直接与服务器进行通信。通过这个对象,JavaScript 可在不重载页面的情况与Web服务器交换数据。AJAX 在浏览器与 Web 服务器之间使用异步数据传输(HTTP 请求),这样就可使网页从服务器请求少量的信息,而不是整个页面。Web 应用程序较桌面应用程序有诸多优势;它们能够涉及广大的用户,它们更易安装及维护,也更易开发。l Struts只是一个MVC框架(Framework)用于快速开发Java Web应用。Struts实现的重点在C(Controller),包括ActionServlet/RequestProcessor和我们定制的Action,也为V(View)提供了一系列定制标签(Custom Tag)。但Struts几乎没有涉及M(Model),所以Struts可以采用JAVA实现的任何形式的商业逻辑。l JDBC(Java Data Base Connectivity,java数据库连接)它是一种用于执行SQL语句的Java API,可以为多种关系数据库提供统一访问,它由一组用Java语言编写的类和接口组成。JDBC为工具/数据库开发人员提供了一个标准的API,据此可以构建更高级的工具和接口,使数据库开发人员能够用纯 Java API 编写数据库应用程序。2. 系统的结构 前台模块后台模块3. 程序描述随着计算机网络的飞速发展,网民人数越来越多,BBS论坛作为一种交流思想和感情的桥梁,快捷方便,正受到越来越多网友的喜爱,并深刻地影响人类的交流方式。本BBS论坛旨在为本校学生和校外人员提供交流、探讨的平台。帮助大家的更好的交往,可以更好丰富大家的生活、提高大家的积极性。本BBS论坛主要功能为:l 会员注册新会员注册,提供会员信息,检验新会员信息的有效性l 会员登陆输入用户名和密码,检验用户信息,基于角色授权;l 会员管理管理员由程序员设置一个,管理员可以对会员信息进行部分更改,主要包括用户角色调整,会员禁言等;l 论坛版块管理管理员可以添加,修改,隐藏论坛版块;l 帖子管理管理员可以对所有帖子进行置顶,删除,加精等操作,版主可以对本版块帖子进行置顶,删除,加精等操作;l 帖子发表注册用户可以在所以版块中发表新主题帖;l 帖子回复注册用户可以回复帖子;l 帖子浏览注册用户可以任意浏览权限内的帖子,未注册用户只能浏览,不能回复;l 帖子检索用户可以提供关键字检索可见主题帖,注册用户可以查看自己发表的帖子;l 好友查看注册用户可以添加好友,便于查看好友的帖子,以及给好友发送消息,留言等l 邮件管理 管理员或者版主可以给会员发邮件,对于帖子被转移等情况进行通知会员l 禁言对于违反论坛规矩的会员进行禁言处理,严重着封号处理。4. 模块设计说明 4.1. 功能模块设计通过对系统进行详细的需求分析,获得了一个最优的设计方案,将系统划分为若干功能子模块。为了方便后期的设计与编程工作,在划分系统功能模块时尽量注重模块的独立性,努力做到高内聚,低耦合。4.1.1. 用户注册登录模块 要完成论坛的各项操作,用户必须登陆论坛系统,如果没有论坛帐户,用户注册是必须的。如果是登录则使用mysql连接数据库,取得用户输入的帐号和密码并查询数据库,将得出的结果和用户输入的信息做比较,验证正确,显示用户已经登陆到系统,可以根据权限的不同进入到不同的页面,错误将返回消息让用户从新输入.如果用户想注册帐户,则返回注册页面,用户填写信息后,将检测信息的正确性,如果帐号合法允许注册,则完成帐号的注册,将信息写入到数据库中,如果帐户已经存在,则返回错误信息,告诉用户帐号存在,请用户重新输入,并完成注册,进程结束。4.1.2. 帐户信息模块当用户登陆系统后,在个人工具箱中,可以通过点击个人资料修改的链接来修改个人资料(其中帐户名是不允许修改的),通过最近发表的话题来查看和修改自己发布的帖。4.1.3. 文章发布模块用户登陆系统后可以查看其他所有用户发的文章,并可以发布自己的话题,也可响应回复其他用户和自己发表的话题。4.1.4. 公告制度模块 论坛管理员可以通过后台管理系统发布论坛公告,发布的公告包含主题,详细信息,发布时间等信息。在论坛主页面里有一个版面显示的是公告,可以显示最近时间发布的公告信息。4.1.5. 版块管理模块 论坛管理员可以通过后台管理系统控制论坛的版块,管理员可以完成下列功能:添加分类或版面,版面配置或删除;并可以对已存在的版块设置属性(包括名称,类别,隐藏,属性,默认风格,主题,回复,排序等)。4.1.6. 信息管理模块信息管理模块主要完成下面的功能:添加版主; 编辑版主;设定等级;配置权限;用户等级;管理团队;用户列表;黑名单;用户查询。以上的功能完成了整个论坛的配置,用户的管理,管理员的管理都可以通过对应的链接来完成。4.2. 功能l 提供完善的用户登录功能,要求为不同用户提供分级权限。l 提供标准的发贴、删贴功能,并且每一个帖子的内容不加限制,帖子必须能显示发贴时间、作者,点击数,回复数,最后回复者,最后回复时间。l 提供回帖功能,每个回帖有父贴。父帖与子帖是一对多的关系,删除父帖后,子帖也连带被删除。l 提出精华区的概念,为每个版面都提供一个精华区,其中内容是多次提出的热点问题。l 完全是WWW模式,即只要有浏览器即可访问本BBS 系统。4.3. 设计方法基于WEB的通用BBS系统其系统定义部分采用面向对象的系统分析方法,采用MVC模式,利用SSH框架实现,其中用struts中的action实现了显示层和逻辑层的分离,通过建立各个功能的action类实现了对业务逻辑的处理,hibernate实现了面向对象的思想,把表中的各个表以各个类的属性和方法来实现,实现了数据的持久化操作,通过DAO层的类为实现对数据操作的具体实现类,spring是为struts和hibernate服务的,也就是为各个层之间的类的接口服务的,能够实现了依赖注入,配置各个类。采用面向对象分析的方法,把各个信息都以面向对象的方法实现。各个层之间的关系:页面显示层Action业务逻辑层DAO层实体类层数据库Spring实现Hibernate实现Service层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;存储版块

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论