BBS论坛概要设计书.docx

上传人:b****5 文档编号:28006554 上传时间:2023-07-07 格式:DOCX 页数:28 大小:469.62KB
下载 相关 举报
BBS论坛概要设计书.docx_第1页
第1页 / 共28页
BBS论坛概要设计书.docx_第2页
第2页 / 共28页
BBS论坛概要设计书.docx_第3页
第3页 / 共28页
BBS论坛概要设计书.docx_第4页
第4页 / 共28页
BBS论坛概要设计书.docx_第5页
第5页 / 共28页
点击查看更多>>
下载资源
资源描述

BBS论坛概要设计书.docx

《BBS论坛概要设计书.docx》由会员分享,可在线阅读,更多相关《BBS论坛概要设计书.docx(28页珍藏版)》请在冰豆网上搜索。

BBS论坛概要设计书.docx

BBS论坛概要设计书

 

BBS论坛概要设计说明书

目录

第一章引言5

1.1编写目的5

1.2背景5

1.3定义6

1.4参考资料6

第二章总体设计(系统架构设计)7

2.1需求规定7

2.2运行环境7

2.3基本设计概念和处理流程8

2.3.5总体架构设计2.4系统结构(系统各个组件设计)12

2.4系统结构(系统各个组件设计)13

第三章系统数据结构设计19

3.1数据库逻辑结构设计19

3.2数据库物理结构设计26

第一章引言

1.1编写目的

本文档作为BBS的概要设计说明文档,用于与用户确定最终的目标,并成为协议文本的一部分,同时也是本系统设计人员的基础文档。

1.1.1概要设计说明书目的

本概要设计说明书说明了BBS论坛系统设计的整体结构。

1.1.2预期读者

本系统开发人员及维护人员。

1.2背景

BBS论坛,或者称为社区,是电子商务网站中一种常见功能,也是互联网上一种极为常见的互动交流服务。

它为上网用户提供了也各自由的讨论区。

通过论坛可以向用户提供开放性的分类专题讨论区服务,同时注册的用户可以根据需要在论坛上发表文章,交流技术经验,或者提出问题并表达自己的观点。

不仅如此,上网的用户还可以在论坛中看到他人发表的文章,并且能够对该文章进行评论。

一般情况下,BBS按不同主题分为多个布告栏,其设立多是依据使用者的要求和喜好,但多具有信件交流、软件交流、信息发布等功能。

目前,大部分BBS由教育机构、研究机构或商业机构管理,大多有自己的拨入电话号码,用户只需电脑、调制解调器和电话线就可通过电话拨号登录BBS站点。

1.2.1待开发软件系统的名称

BBS论坛系统

1.2.2项目的任务提出者

1.2.3项目的任务开发者

1.3定义

1.3.1本文档中涉及的专业词汇

1、GB:

中华人民共和国国家标准的英文缩写字母

2、构件:

具有某种功能的可重用的软件模版单元,表示了系统中主要的计算元素和数据存储。

3、逻辑视图:

描述支持系统的功能需求的视图。

4、开发视图:

也称模块视图,主要侧重于软件模块的组织和管理描述。

1.3.2名词说明

1、BBS:

BulletinBoardService

2、JSP(JavaServerPages)

JSP技术使用Java编程语言编写类XML的tags和scriptlets,来封装产生动态网页的处理逻辑。

网页还能通过tags和scriptlets访问存在于服务端的资源的应用逻辑。

JSP将网页逻辑与网页设计和显示分离,支持可重用的基于组件的设计,使基于Web的应用程序的开发变得迅速和容易

3、Struts只是一个MVC框架(Framework)

它用于快速开发JavaWeb应用。

Struts实现的重点在C(Controller),包括ActionServlet/RequestProcessor和我们定制的Action,也为V(View)提供了一系列定制标签(CustomTag)。

但Struts几乎没有涉及M(Model),所以Struts可以采用JAVA实现的任何形式的商业逻辑。

1.4参考资料

1、本软件项目规划依据标准为国家表准:

GB856T——88;

2、技术参考资料

(1)J2EE项目实训Hibernate框架技术(21世纪高等学校实用软件工程教育规划教材)

杨少波 等编著清华大学出版社2008年5月

(2)J2EE项目实训Spring框架技术(21世纪高等学校实用软件工程教育规划教材)

杨少波 等编著清华大学出版社2008年5月

(3)J2EE项目实训UML及设计模式(21世纪高等学校实用软件工程教育规划教材)

杨少波 等编著清华大学出版社2008年5月

(4)J2EE项目实训Struts框架技术(21世纪高等学校实用软件工程教育规划教材)

杨少波 等编著清华大学出版社2008年10月

第二章总体设计(系统架构设计)

2.1需求规定

2.1.1输入输出要求

界面风格:

要求整体界面美观,有清晰的层次感,布局简洁、合理。

同时保证后台的管理页面和前台的服务页面保持风格的一致。

2.1.2时间要求

时间需求:

在软件方面,响应时间,更新处理时间都比较快且迅速,系统响应时间不能超过20秒。

2.1.3灵活性要求

灵活性:

当用户需求,如操作方式,运行环境,结果精度,数据结构等其他软件接口等发生变化时,设计的软件能做出适当调整,灵活性非常大。

2.2运行环境

2.2.1设备

1、主机类型如表2-1

表2-1主机类型

类别

服务器标准配置

CPU

Intel奔腾P42。

0GHz以上

内存

256MB,最好512MB以上

硬盘

120G以上

其他

无特殊要求

2、网络类型:

百兆高速局域网

3、存贮器容量:

大容量存贮器

4、其他特殊设备:

网络打印机,复印机

2.2.2支撑软件

1、操作系统:

Windows2003

2、数据库管理系统:

MySQL以上版本数据库

3、其他支撑软件:

J2SDK1.5及以上版本

4、应用服务器:

Tomcat5.0以上

2.3基本设计概念和处理流程

2.3.1系统概述

1、系统采用基于J2EE的轻量级B/S架构体系

BBS网上论坛系统采用B/S架构(浏览器/服务器)模式来实现。

考虑到系统应用性、安全性、可扩展性与可维护性,决定采用基于J2EE的轻量级架构体系。

其体系结构图如下所示:

2、为什么对本项目要应用轻量级的框架技术

轻量级容器的设计目标是为了能够避免如下所有这些麻烦事情,基于以下的各个优点,我们决定在本项目中采用轻量级的框架技术。

●侵略性的API(代码依赖于EJB)

●对容器的依赖(代码不能在EJB容器之外工作)

●只提供固定的一组功能,不具备配置能力

●启动时间长

●部署过程取决于特定的产品,无法通用

2.3.2系统架构示图

1、本论坛系统的整体架构设计为Struts+Spring+hibernate架构组成

(1)对于表示层

经验表明,最好的方法是选择已存在的并已得到证明了的Web应用框架,而不是自己去设计和开发新的框架。

我们拥有多个可选择的框架,如Struts,WebWork和JSF等,在本项目中,我们选择采用Struts。

(2)EJB和POJO都可以用来创建业务逻辑层

如果应用是分布式的,采用具有remote接口的EJB是一个好的选择;由于本系统是一个典型的不需要远程访问的Web应用,因此选用POJO,并充分利用Spring框架的IoC和AoP的特性,将是实现业务逻辑层的更好选择。

(3)在持久层中由于需要利用关系型数据库实现数据的持续化,但在应用中可以存在多种方法可用来实现:

●JDBC:

这是最为灵活的方法,然而,低级的JDBC难以使用,而且质量差的JDBC代码很难运转良好

●EJBEntitybeans:

CMP的Entitybean是一种分离数据访问代码和处理ORM的昂贵的方法,它是以应用服务器为中心的方法,即Entitybean不是将应用与某种数据库类型而是EJB容器约束在一起。

●O/RMapping框架:

一个ORM框架采用以对象为中心的方法实现数据持续化,一个以对象为中心的应用易于开发并具有高度的可移植性----在该领域中存在几个框架可用—JDO、Hibernate、TopLink以及iBATIS和CocoBase等。

在本项目中我们选用Hibernate。

2、架构示图

本系统采用了多层非分布式的构架,上图展示了系统的分层以及每一层中所采用的技术和对应的框架,并且各层将存在于同一个Web容器中。

3、该形式的总体架构设计的主要特点

(1)遵循SunJ2EE中两个主要的原则:

“多层架构、松藕合”

由于采用分层的设计方式,各个模块功能相互独立封装,层与层之间关联少,保持松耦合连接,稳定性高,便于扩展和维护。

(2)本项目中的每一层所采用的技术都是可替换的

例如Struts可以被JSF或者Tapestry替换掉,JDO可替换Hibernate。

●在每个层中都不同程度地应用了J2EE中常用的设计模式

●使用基于POJO的轻量级架构,从而使得系统易于测试;便于移植;“开发-发布”周期短。

4、各层中的组件

(1)表示层由StrutsJSP组件实现,利用了Struts中的构造标签技术,在用户浏览界面利用表单构造网页的整体结构

(2)控制层由Struts中的ActionServlet和Action组件实现,并利用ActionForm封装JSP页面中的表单。

将页面整体作为对象处理,在相应的Action了中调用业务逻辑,完成业务功能。

●前端控制层:

ActionServlet类,并且对它加以扩展。

●业务中心控制层:

各个业务Action类(标准Action类和DispatchAction类)

(3)业务处理层由Spring中的IoC来管理

●业务处理基类:

将各个业务功能模块中共同的部分抽象出,从而完成一些共同的功能。

●各个业务处理类:

完成具体的应用功能的各个模块

(4)数据访问层由Hibernate框架来提供技术支持

●数据库操作(DAO)类:

完成对数据库数据的相关操作(增、删、解、查询等)。

●数据持久(PO)类:

针对应用系统中的各个数据库表提供对应的POJO类

2.3.3各层中应用了相应的主流的J2EE框架技术

1、服务器端表示层Struts框架完成如下工作

●客户端表单进入的验证;

●管理请求和响应;

●提供控制器来完成页面流转和向业务逻辑层的委托;

●返回到客户端页面显示。

其它:

标签技术、MVC、成熟技术、ActionForm技术等

2、业务逻辑层Spring框架完成如下工作

●为服务器段表示层提供松散的耦合;

●处理真实的企业级应用;

●事务管理的选择;

●协调各种业务逻辑对象之间的依赖关系;

●为持久层和业务逻辑层之间提供松散耦合;

●实现持久层的业务逻辑。

其它:

●解藕(类与类、系统本身脱离容器)

●AOP(统一地解决系统中一些“切面”-----技术性的问题)

●IoC(对象的管理由容器完成)

●POJO(普通JavaBean)-----不继承框架中某个类

●容器服务(事务、数据库连接池)---Spring中已经提供了

●包装其它的框架(简化)

3、持久层Hibernate框架完成如下工作

●对数据库进行查询,得到持久化对象PO;

●对数据库进行添加、删除、修改的动作并以PO来进行。

域模型层VO完成如下工作:

为各层之间数据交互服务,同时也在持久层部分可以描述一个实体,并与PO进行转换。

其它:

●屏蔽数据库的差异性-----数据库方言

●以面向对象的数据库访问(减少了SQL)

●各种对象关系O/RMapping实现

●技术成熟-----企业开发

●统一的事务管理实现

●提供各种缓存技术以提高速度(性能)

2.3.

4系统基于MVC设计

2.3.

MSSQLServer2000数据库

5总体架构设计

2.4系统结构(系统各个组件设计)

2.4.1体系结构包图(架构包图)

2.4.2组件设计图(系统中的各个组件)

2.4.3类图与接口设计(各个组件中的相关的类和接口)

1、数据访问层组件

采用一个DAO组件实现数据访问操作

分别采用不同的DAO组件实现数据访问操作

2、业务处理层组件

3、控制层组件

4、表示层组件

2.4.4系统总体类图(以体现类之间的关系)

第三章系统数据结构设计

3.1数据库逻辑结构设计

3.1.1实体关系(Entity-Relationship)图

1、逻辑图(Logicdiagram)

2、物理图(Physicaldiagram)

3.1.2数据库表的逻辑设计

1、BBS信息数据库表结构及数据字典定义表

注意:

对数据库表中的结构设计,最后应该给出下面的对每个字段的详细说明。

字段名

标识符

类型及长度

有无空值

主键

BBS的ID标识

id

int(自动编号)

PK

BBS作者

author

vchar

BBS标题

title

vchar

字段名

标识符

类型及长度

是否允许为空

主键

主题ID

bbsID

int4

Notnull

PK

主题作者

author

nvarchar(20)

Notnull

主题标题

bbsTitle

nvarchar(20)

Notnull

回复数

reply

int4

Notnull

发表时间

createTime

nvarchar(20)

Notnull

最后回复时间

lastUpdateTime

nvarchar(20)

Notnull

内容

content

ntext(16)

Notnull

点击数

hits

int4

Notnull

BBS表情图片

iconID

int4

所属类型ID

bbsTypeID

int4

Notnull

所属版块ID

boardID

int4

Notnull

用户ID

userID

int4

Notnull

是否为精华帖

bbsElite

int4

是否置顶主题

bbsTop

int4

是否禁止回复

bbsLock

int4

所属类型:

原创、转贴、问题、灌水、建议、种子、资料、下载

2、BBS回复信息表结构及数据字典定义表

字段名

标识符

类型及长度

是否允许为空

主键

回复帖ID

replyID

int4

Notnull

PK

所属主题ID

bbsID

int4

Notnull

回复作者

replyAuthor

nvarchar(20)

Notnull

回复时间

replyTime

nvarchar(20)

Notnull

回复表情ID

replyIconID

int4

回复标题

replyTitle

nvarchar(50)

Notnull

回复内容

replyContent

ntext

Notnull

3、BBS分类标题数据库表结构及数据字典定义表

字段名

标识符

类型及长度

是否允许为空

主键

版块ID

boardID

int4

Notnull

PK

版块题目

boardTitle

nvarchar(20)

Notnull

版块内容

boardContent

nvarchar(255)

Notnull

版主

leaderName

nvarchar(20)

副版主

secLeaderName

nvarchar(20)

版块主题总和

allTopicNumber

int4

版块当天帖子总和

todayTopicNumber

int4

最后回复的时间

lastReplyTime

nvarchar(20)

Notnull

最后回复的作者

lastReplyAuthor

nvarchar(20)

Notnull

4、用户信息数据库表结构及数据字典定义表

字段名

标识符

类型及长度

是否允许为空

主键

用户ID

userID

int4

PK

用户名

username

nvarchar(20)

用户性别(男0,女1)

userSex

smallint

(2)

用户密码

userPassWord

nvarchar(16)

用户Email

userEmail

nvarchar(50)

用户取回密码问题

userPassAsk

nvarchar(30)

用户取回密码答案

userPassAnswer

nvarchar(30)

用户角色

userType

tinyint

(1)

用户生日

userBirthday

nvarchar(10)

用户地址

userComeFrom

nvarchar(50)

注册时间

userRegister

nvarchar(20)

用户头像

userSign

nvarchar(255)

QQ号

userQQCode

nvarchar(15)

用户签名档

userIdiograph

ntext

最后登录时间

userLastTime

nvarchar(20)

用户发表的主题数总和

userTopicCount

int4

用户回复的主题数总和

userReTopicCount

int4

用户被删的帖子总和

userDelTopicCount

int4

用户被推荐精华帖总和

userEliteTopicCount

int4

用户登录次数

userLoadDegree

int4

是否被禁言

userLock

int4

5、管理员的数据库表及数据字典定义表

6、用户联系数据库表结构及数据字典定义表

7、用户角色数据库表结构及数据字典定义表

字段名

标识符

类型及长度

是否允许空

主键

角色ID

roleID

int4

Notnull

PK

角色名称

roleName

nvarchar(20)

Notnull

用户ID

userID

int4

Notnull

下面为说明在Access中创建出各个数据库表之间的E-R图的实现过程

可以在Access中创建除各个数据库表之间的E-R图,首先选择“工具”---“关系”

此时,将产生除“关系”菜单项目,然后选择其中的“编辑关系”菜单项目。

在项目的对话框中选中我们所需要创建关系的各个数据库表

最后点击“添加”按钮,将出现下面的图示

选择“关系”菜单中的“编辑关系”子菜单

在对话框中选择“创建”按钮以创建新的关系

分别选择主动表和被动表以及它们之间的关联字段(主--外键)

最后点击“创建”按钮,将产生除下面的E-R图

3.2数据库物理结构设计

成员:

杨炎,陈雨,谢天宇;辛守贵........忽略此处.......

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 农林牧渔 > 林学

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1