BBS论坛系统概要设计说明书.doc
- 文档编号:132828
- 上传时间:2022-10-04
- 格式:DOC
- 页数:21
- 大小:480.50KB
BBS论坛系统概要设计说明书.doc
《BBS论坛系统概要设计说明书.doc》由会员分享,可在线阅读,更多相关《BBS论坛系统概要设计说明书.doc(21页珍藏版)》请在冰豆网上搜索。
BBS论坛系统概要设计说明书
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、为什么对本项目要应用轻量级的框架技术
轻量级容器的设计目标是为了能够避免如下所有这些麻烦事情,基于以下的各个优点,我们决定在本项目中采用轻量级的框架技术。
l侵略性的API(代码依赖于EJB)
l对容器的依赖(代码不能在EJB容器之外工作)
l只提供固定的一组功能,不具备配置能力
l启动时间长
l部署过程取决于特定的产品,无法通用
2.3.2系统架构示图
1、本论坛系统的整体架构设计为Struts+Spring+hibernate架构组成
Struts(承担表示层和控制层的角色)
Spring(利用IoC进行各种对象的管理)
Hibernate(实现数据访问和O/RMapping)
相互集成
对DAO进行管理
(1)对于表示层
经验表明,最好的方法是选择已存在的并已得到证明了的Web应用框架,而不是自己去设计和开发新的框架。
我们拥有多个可选择的框架,如Struts,WebWork和JSF等,在本项目中,我们选择采用Struts。
(2)EJB和POJO都可以用来创建业务逻辑层
如果应用是分布式的,采用具有remote接口的EJB是一个好的选择;由于本系统是一个典型的不需要远程访问的Web应用,因此选用POJO,并充分利用Spring框架的IoC和AoP的特性,将是实现业务逻辑层的更好选择。
(3)在持久层中由于需要利用关系型数据库实现数据的持续化,但在应用中可以存在多种方法可用来实现:
lJDBC:
这是最为灵活的方法,然而,低级的JDBC难以使用,而且质量差的JDBC代码很难运转良好
lEJBEntitybeans:
CMP的Entitybean是一种分离数据访问代码和处理ORM的昂贵的方法,它是以应用服务器为中心的方法,即Entitybean不是将应用与某种数据库类型而是EJB容器约束在一起。
lO/RMapping框架:
一个ORM框架采用以对象为中心的方法实现数据持续化,一个以对象为中心的应用易于开发并具有高度的可移植性----在该领域中存在几个框架可用—JDO、Hibernate、TopLink以及iBATIS和CocoBase等。
在本项目中我们选用Hibernate。
2、架构示图
Struts表示层(JSP和HTML)
Struts控制层
Spring业务处理层
Hibernate数据访问层
前端控制器类
业务控制类
业务处理基类
业务
接口
数据操作类
数据连接类
持久实体类
数据访问服务
数据访问操作
业务处理类
业务实体类
本系统采用了多层非分布式的构架,上图展示了系统的分层以及每一层中所采用的技术和对应的框架,并且各层将存在于同一个Web容器中。
3、该形式的总体架构设计的主要特点
(1)遵循SunJ2EE中两个主要的原则:
“多层架构、松藕合”
由于采用分层的设计方式,各个模块功能相互独立封装,层与层之间关联少,保持松耦合连接,稳定性高,便于扩展和维护。
(2)本项目中的每一层所采用的技术都是可替换的
例如Struts可以被JSF或者Tapestry替换掉,JDO可替换Hibernate。
l在每个层中都不同程度地应用了J2EE中常用的设计模式
l使用基于POJO的轻量级架构,从而使得系统易于测试;便于移植;“开发-发布”周期短。
4、各层中的组件
(1)表示层由StrutsJSP组件实现,利用了Struts中的构造标签技术,在用户浏览界面利用表单构造网页的整体结构
(2)控制层由Struts中的ActionServlet和Action组件实现,并利用ActionForm封装JSP页面中的表单。
将页面整体作为对象处理,在相应的Action了中调用业务逻辑,完成业务功能。
l前端控制层:
ActionServlet类,并且对它加以扩展。
l业务中心控制层:
各个业务Action类(标准Action类和DispatchAction类)
(3)业务处理层由Spring中的IoC来管理
l业务处理基类:
将各个业务功能模块中共同的部分抽象出,从而完成一些共同的功能。
l各个业务处理类:
完成具体的应用功能的各个模块
(4)数据访问层由Hibernate框架来提供技术支持
l数据库操作(DAO)类:
完成对数据库数据的相关操作(增、删、解、查询等)。
l数据持久(PO)类:
针对应用系统中的各个数据库表提供对应的POJO类
2.3.3各层中应用了相应的主流的J2EE框架技术
1、服务器端表示层Struts框架完成如下工作
l客户端表单进入的验证;
l管理请求和响应;
l提供控制器来完成页面流转和向业务逻辑层的委托;
l返回到客户端页面显示。
其它:
标签技术、MVC、成熟技术、ActionForm技术等
2、业务逻辑层Spring框架完成如下工作
l为服务器段表示层提供松散的耦合;
l处理真实的企业级应用;
l事务管理的选择;
l协调各种业务逻辑对象之间的依赖关系;
l为持久层和业务逻辑层之间提供松散耦合;
l实现持久层的业务逻辑。
其它:
l解藕(类与类、系统本身脱离容器)
lAOP(统一地解决系统中一些“切面”-----技术性的问题)
lIoC(对象的管理由容器完成)
lPOJO(普通JavaBean)-----不继承框架中某个类
l容器服务(事务、数据库连接池)---Spring中已经提供了
l包装其它的框架(简化)
3、持久层Hibernate框架完成如下工作
l对数据库进行查询,得到持久化对象PO;
l对数据库进行添加、删除、修改的动作并以PO来进行。
域模型层VO完成如下工作:
为各层之间数据交互服务,同时也在持久层部分可以描述一个实体,并与PO进行转换。
其它:
l屏蔽数据库的差异性-----数据库方言
l以面向对象的数据库访问(减少了SQL)
l各种对象关系O/RMapping实现
l技术成熟-----企业开发
l统一的事务管理实现
l提供各种缓存技术以提高速度(性能)
2.3.模型组件
控制调度层
表示层中的请求
业务处理层
表示层中的业务成功显示
数据访问层
表示层中的业务失败显示
4系统基于MVC设计
2.3.采用Spring中的IoC来管理对象
index.jsp
userRegister.jsp
UserLogin.jsp
Messageindex.jsp
UserLoginForm
MessageFormClass
UserRegisterAction
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- BBS 论坛 系统 概要 设计 说明书