软件工程基于Web的BBS系统试验报告.docx

上传人:b****3 文档编号:26819984 上传时间:2023-06-23 格式:DOCX 页数:31 大小:384.18KB
下载 相关 举报
软件工程基于Web的BBS系统试验报告.docx_第1页
第1页 / 共31页
软件工程基于Web的BBS系统试验报告.docx_第2页
第2页 / 共31页
软件工程基于Web的BBS系统试验报告.docx_第3页
第3页 / 共31页
软件工程基于Web的BBS系统试验报告.docx_第4页
第4页 / 共31页
软件工程基于Web的BBS系统试验报告.docx_第5页
第5页 / 共31页
点击查看更多>>
下载资源
资源描述

软件工程基于Web的BBS系统试验报告.docx

《软件工程基于Web的BBS系统试验报告.docx》由会员分享,可在线阅读,更多相关《软件工程基于Web的BBS系统试验报告.docx(31页珍藏版)》请在冰豆网上搜索。

软件工程基于Web的BBS系统试验报告.docx

软件工程基于Web的BBS系统试验报告

软件工程实验报告

一、实验目的:

1.从全局上把握项目开发的全过程

2.综合使用前面接触的各种软件

3.能够独立自主地完成系统的开发计划、需求分析、概要设计、详细设计、测试等步骤

二、实验环境:

1.PC机一台

三、实验内容和要求:

1、在实习题目(见PPT文件)中任选一个或自拟题目,完成系统的分析、设计和实现

2、作业形式是上交开发计划、需求分析、概要设计、详细设计(只针对概要设计中的一个具体模块给出程序流程图、用户说明书即可)和测试等主要文档。

详细设计中涉及到的具体模块的源程序代码(程序开发语言任选)。

四、实验步骤:

(对实验步骤的说明应该能够保证根据该说明即可重复完整的实验内容,得到正确结果。

1、选题:

开发一个基于Web的BBS系统,包含一般BBS所具有的功能,如用户注册、用户信息管理、发贴功能、贴子管理、主题词查询、用户信息修改和查询等。

并且确定系统立项背景。

(具体选作用户模块),详细内容见第三部分

2、可行性分析

可行性分析是在系统调查的基础上,针对新系统的开发是否具备必要性和可能性,对新系统的开发从技术、经济、社会的方面进行分析和研究,以避免投资失误,保证新系统的开发成功。

可行性研究的目的就是用最小的代价在尽可能短的时间内确定问题是否能够解决。

1.技术可行性技术上的可行性分析主要分析技术条件能否顺利完成开发工作,硬、软件能否满足开发者的需要等。

该BBS论坛管理系统采用了流行的JSP语言和当前新兴的Browser/Server(浏览器/服务器)模式进行开发。

三层的B/S体系结构具有许多传统Client/Server(客户机/服务器)体系结构不具备的优点,而且又紧密的结合了Internet/Intranet(国际互联网/企业内部互联网)技术,是技术发展的大势所趋,它把应用系统带入了一个崭新的发展时代。

数据库服务器选用SQLServer2000数据库,它能够处理大量数据,同时保持数据的完整性并提供许多高级管理功能。

它的灵活性、安全性和易用性为数据库编程提供了良好的条件。

因此,系统的软件开发平台已成熟可行。

硬件方面,科技飞速发展的今天,硬件更新的速度越来越快,容量越来越大,可靠性越来越高,价格越来越低,其硬件平台能满足此系统的需要。

2.经济可行性主要是对项目的经济效益进行评估,本系统模拟的是提供一个供用户交流的平台,为广大用户提供交流经验、探讨问题的社区。

但实际只是用于个人的毕业设计,只是模拟,也不存在资金的流动,故在经济上是可行的。

3.社会可行性随着Internet技术的快速发展,BBS论坛已成为人们彼此沟通、交流信息的主要方式。

在论坛上,人们可以对某一领域提出自己遇到的问题,随后,论坛上的其他人会根据自己的学识、经验发表意见或提出问题的方法。

BBS论坛接近了人们之间的距离,它早已成为人们网上生活的必备工具。

所以说BBS论坛对当今社会是相当重要的

3、需求分析:

随着Internet技术的不断发展,以及用户群爆炸性地增长,网络不再仅仅是信息的被动获取来源,更成为人们探讨间题、交换观点的场所,其中,网上论坛扮演了极其重要的角色,随着时间的推移,论坛站点中积存了丰富的信息资源,不但有各类技术资料和新闻文档,还包含着用户的判断和评论,论坛站点己成为Web信息库的重要组成部分,自网上论坛诞生20多年以来,随着Web技术的发展,己经由原来简单的电子公告板系统发展为功能丰富的网上论坛和虚拟社区模式。

各种论坛随着网络迅速发展,几乎充实着生活工作的每一个方面,无论是商界、政界,还是娱乐界,都有各种论坛。

互联网正在融入我们的生活,网络提供给我们的不只是一个获取信息的来源,而且还是一个可以相互交流的空间,网上论坛正是一种供人们进行交流的网络空间,影响和改变着我们的生活。

4、数据库设计

数据库设计是指对于一个给定的应用环境,构造最优的数据库模式,建立数据库及其应用系统,使之能够有效地存储数据,满足各种用户的应用需求(信息要求和处理要求).

数据库和设计概述

(1)数据库是信息系统的核心和基础,把信息系统中大量的数据按一定的模型组织起来,提供存储、维护、检索数据的功能,使信息系统可以方便、及时、准确地从数据库中获得所需的信息。

  

(2)数据库是信息系统的各个部分能否紧密地结合在一起以及如何结合的关键所在。

  (3)数据库设计是信息系统开发和建设的重要组成部分。

5、开发环境

在开发此论坛的时候,需要具备下面的软件环境

服务器端:

●操作系统:

WindowsXP。

●Web服务器:

Tomcat6.0。

●Java开发包:

JDK1.6。

●数据库:

SQLServer2000。

●浏览器:

IE6.0。

●分辨率:

最佳效果为1024×768像素。

客户端:

●浏览器:

IE6.0。

●分辨率:

最佳效果为1024×768像素。

二、概念模型设计(E-R图)

数据模型是是数据特征的抽象,从抽象层次上描述了系统的静态特征、动态行为和约束条件,为数据库系统的信息表与操作提供一个抽象的框架。

描述了数据结构、数据操作及数据约束。

E-R模型的基本概念

ER图概念化地构建实体间关系的模型,这使得它们区别于数据库模型图。

ER图的理念是:

项目所有参与者能理解ER图。

ER图由不同实体类型、关系、特性和类型构成。

实体是诸如用户的实际对象,有时更抽象,但必须有业务意义。

特性用于描述实体,关系用于实体之间

(1)实体:

现实世界中的事物;

(2)属性:

事物的特性;

(3)联系:

现实世界中事物间的关系。

实体集的关系有一对一、一对多、多对多的联系。

E-R模型的基本概念

本系统的ER图

数据库及关系的建立

根据以上这些步骤就可以创建一个数据库,依次建立下列表结构.

1.用户基本资料表

2.用户详细信息表

3.论坛文章表

4.论坛版区表

5.论坛初始化信息表

(1).用户基本信息表和用户详细信息表是一对一的关系,一个用户只对应一个详细的信息表

(2).用户基本信息表和文章表是一对多的关系,即一个用户可以发表多篇文章和回复.

(3).论坛版区表和论坛文章表是一对多的关系,在一个论坛中可以含有多个文章和回复.

详细数据库结构设计

(1).用户基本资料表:

用户基本资料表中存放的是用户登陆时所需要或者记录用户的基本信息,包含比如登陆名,密码,最后登陆时间等.用户基本信息表的建立主要是记录用户最常用的一些信息.

1leafbbs_userinfo

字段名

数据类型

长度

主键

索引

外键

可空

说明

ID

bigint

20

Y

N

N

代理主键

UserName

Varchar

20

N

Y

N

用户名

NickName

Varchar

60

N

N

N

昵称

Passwd

Varchar

40

N

N

N

密码

Email

varchar

255

N

N

N

电子邮件

Question

varchar

255

N

N

N

提示问题

Answer

varchar

255

N

N

N

提示答案

RegTime

datetime

N

N

N

注册时间

LoginTime

datetime

N

N

N

最后登陆时间

LoginIP

varchar

20

N

N

N

最后登陆IP

LoginTimes

int

11

N

N

N

登陆次数

StayTime

bigint

20

N

N

N

停留时间

SignDetail

text

N

N

Y

用户签名

HavePic

tinyint

1

N

N

Y

是否有头像

PicFileName

varchar

255

N

N

Y

头像地址

TimeZone

varchar

20

N

N

Y

地区

(2).用户详细信息表:

用户详细信息表中存放的是用户的身高,体重,联系方式等详细资料,建立此表的目的是把一些用户不经常用到的详细信息,单独存放到一张表中,可以节约系统的资源.

2leafbbs_userdetai

字段

数据类

长度

主键

索引

外键

可空

说明

ID

bigint

20

Y

Y

N

代理主键

Height

varchar

20

N

N

Y

身高

Weight

varchar

20

N

N

Y

体重

FavourPeople

varchar

255

N

N

Y

最喜欢的人

DreamJob

varchar

255

N

N

Y

向往工作

FavourMusic

varchar

255

N

N

Y

喜欢的音乐

FavourPlace

varchar

255

N

N

Y

喜欢的地方

FavourMovie

varchar

255

N

N

Y

喜欢的电影

HomePage

varchar

255

N

N

Y

主页

OicqNo

varchar

255

N

N

Y

QQ号码

IcqNo

varchar

255

N

N

Y

ICQ号码

MSN

varchar

255

N

N

Y

MSN号码

Sex

tinyint

1

N

N

Y

性别

Brief

text

N

N

Y

简介

(3).论坛文章表:

论坛文章表存放的是用户所发表的文章信息,也包括回复信息.而在数据库的设计中主要问题是鉴别帖子信息和回复信息.

3leafbbs_forum

字段名

数据类型

长度

主键

索引

外键

可空

说明

ID

bigint

20

Y

N

N

代理主键

ParentID

bigint

20

N

N

N

父帖ID

MainID

bigint

20

N

N

N

主帖ID

BoardID

bigint

20

N

N

N

版区ID

BoardName

varchar

60

N

N

N

版区名字

ReNum

int

11

N

N

N

回复数量

ClickNum

int

11

N

N

N

点击次数

UserID

bigint

20

N

N

N

发表者ID

UserName

varchar

20

N

N

N

发表者姓名

NickName

varchar

60

N

N

N

发表者昵称

Title

varchar

150

N

N

N

文章标题

Detail

text

N

N

N

文章内容

Sign

text

N

N

N

文章说明

ArtSize

int

11

N

N

N

文章字节数

postTime

bigint

20

N

N

N

发表时间

LastTime

bigint

20

N

N

N

最后回复时间

IPAddress

varchar

20

N

N

N

发表者IP

IsNew

tinyint

1

N

N

N

是否是新

IsHidden

tinyint

1

N

N

N

是否隐藏

IsTop

tinyint

1

N

N

N

是否置顶

IsLock

tinyint

1

N

N

N

是否被锁定

(4).论坛版区表:

论坛版区表是存放的是论坛中版块信息.而论坛也划分为父论坛和子论坛,区分他们也靠表中的某个字段来实现的.具体实际的设计如下.

4leafbbs_board

字段名

数据类型

长度

主键

索引

外键

可空

说明

ID

bigint

20

Y

N

N

代理主键

ParentID

bigint

20

N

N

N

父版区ID

ChildIDs

varchar

255

N

N

N

子版区ID

BoardName

varchar

255

N

N

N

版区名字

Explains

text

N

N

N

版区描述

BoardPic

varchar

200

N

N

N

图片地址

Orders

int

11

N

N

N

显示顺序

IsHidden

tinyint

1

N

N

N

是否隐藏

PostNum

int

11

N

N

N

文章数量

NeedPasswd

tinyint

1

N

N

N

是否加密

Passwd

varchar

100

N

N

Y

密码

论坛初始化信息表:

论坛初始化信息表是存放初始化信息和管理员的帐号密码等信息,初始化信息是在论坛在加载过程中读取的或者以后经常用的一些信息.

表3.5leafbbs_config表

字段名

数据类型

长度

主键

索引

外键

可空

说明

ID

varchar

50

Y

N

N

初始化标题

ConfContext

text

N

N

N

初始化信息

用户分三类:

普通用户、管理员

帖子管理信息表:

 

部分用例图:

功能需求列表

编号

功能名称

功能描述

输入内容

输出内容

1

用户注册

对用户名验证并注册

用户信息

注册结果

2

用户信息管理

管理用户信息,保证用户使用安全

管理方面

管理结果

3

发帖功能

用户可以自由发帖

帖子内容

帖子发布情况

4

帖子管理

管理员管理帖子

帖子管理操作

管理结果

5

主题词查询

查询主题词

主题词

查询到的信息

6

用户信息修改和查询

用户修改个人信息

用户信息

更新后的信息

BBS基于UML建模

用例模型(usecasesview)(用例视图)的基本组成部件是用例(usecase)、角色(actor)和系统(system)。

用例用于描述系统的功能,也就是从外部用户的角度观察,系统应支持哪些功能,帮助分析人员理解系统的行为,它是对系统功能的宏观描述,一个完整的系统中通常包含若干个用例,每个用例具体说明应完成的功能,代表系统的所有基本功能(集)。

角色是与系统进行交互的外部实体,它可以是系统用户,也可以是其它系统或硬件设备,总之,凡是需要与系统交互的任何东西都可以称作角色。

系统的边界线以内的区域(即用例的活动区域)则抽象表示系统能够实现的所有基本功能。

在一个基本功能(集)已经实现的系统中,系统运转的大致过程是:

外部角色先初始化用例,然后用例执行其所代表的功能,执行完后用例便给角色返回一些值,这个值可以是角色需要的来自系统中的任何东西。

UML:

是一种标准的图形化建模语言,它是面向对象分析与设计的一种标准表示;它不是一种可视化的程序设计语言而是一种可视化的建模语言;不是工具或知识库的规格说明而是一种建模语言规格说明是一种表示的标准;不是过程也不是方法但允许任何一种过程和方法使用它。

UML模型

 

4、系统目标

对于典型的数据库管理系统,尤其是对像论坛这样的数据流量特别大的网络管理系统,必须要满足使用方便、操作灵活等设计需求。

本系统在设计时应满足以下几个目标:

1.采用人机对话的操作方式,界面设计美观友好,信息查看灵活、方便、快捷、准确,数据存储安全可靠。

2.全面展示系统内所有分类的帖子,并进行分页显示。

3.为用户提供一个方便、快捷的主题信息查看功能。

4.实现在线发表帖子。

5.提供登录模块,主要用开管理员登录系统和发表帖子时留下发表者的信息。

6.用户随时都可以查看自己发表的帖子。

7.对用户输入的数据,系统进行严格的数据检验,尽可能排除人为的错误。

8.系统最大限度地实现了易维护性和易操作性。

9.系统运行稳定安全可靠。

系统设计:

总体结构图如下

 

系统行为图

(一)状态图:

1、前台业务状态图:

2、帖子管理状态图:

(二)活动图:

2、后台业务活动图:

系统组件图:

六、系统配置图:

七、系统类图:

三:

用户模块

用户功能实现

(1).用户的登录

(2).用户的注册(3).用户的查找(4).用户资料的修改

会员登入

根据系统首页的链接,将表格中“会员登录”项建立链接到登录页面,登录页面login.htm界面设计同样采用表单,内部嵌入表格的形式,包含“帐号”和“密码”两项内容,用户填写完毕单击“确定”按钮即进入登录信息处理页面login.asp,如果用户填写错误可单击“重置”按钮进行重填。

信息接收后转入登录信息处理程序login.asp,根据要求编写代码实现,其中,用户名和密码均不能为空,且用户填写信息需与数据库中相应内容进行比较,其中任何一项内容填写错误均会有提示信息且要求返回重填。

只有用户填写的内容与数据库中内容进行比较无误后方可进入论坛主目录,主目录头会显示会员应有的权限,如:

浏览帖子、发表帖子、回复帖子、搜索帖子以及搜索帖子等。

如果单击登录的用户是游客,则剥夺其登录权限并给出提示。

代码如下:

<%

setrstemp=server.CreateObject("adodb.recordset")

dimstrname,strpassword,sql

strname=request.Form("name")

strpassword=request.Form("password")

sql="select*fromuserwhereusername='"&strname&"'"

rstemp.opensql,conn,1,3

ifstrname=""then

response.write"账号不能为空"

%>

history.back()">上一页

<%

response.end

endif

ifstrpassword=""then

response.write"密码不能为空"

%>

history.back()">上一页

<%

response.end

endif

ifrstemp.recordcount=1then

ifrstemp("userpassword")=strpasswordthen

session("name")=strname

response.redirect"user.htm"

else

%>

history.back()">密码错误请重新输入

<%

response.end

endif

else

%>

history.back()">账号错误请重新输入

<%

response.end

endif

rstemp.close

setrstemp=nothing

%>

浏览帖子

任何访问论坛的用户,均可以浏览帖子简要信息表,单击标题可以浏览帖子详细内容及所有回复内容。

相关代码及界面如下:

Strings_id="";声明变量用来接收从数据库中获得对应值:

Strings_hit="";

Strings_renum="";

Strings_subject="";

Strings_context="";

Strings_date1="";

Strings_reid="";

BBS论坛首页界面显示主帖子界面设计代码如下:

 

点击次数

回复次数

主题

内容

发言日期

判断数据库中的记录值是否为空,若不为空,将从数据库中获得的值赋给前面声明的变量,代码如下:

<%

rs=stmt.executeQuery("select*frombbs110wherereID=0orderbyiddesc");

if(!

rs.isLast()){

rs.next();

s_id=(rs.getString("id")!

=null?

rs.getString("id"):

"");

s_hit=(rs.getString("hit_amount")!

=null?

rs.getString("hit_amount"):

"");

s_renum=(rs.getString("reNum")!

=null?

rs.getString("reNum"):

"");s_subject=(rs.getString("subject")!

=null?

rs.getString("subject"):

"");s_context=(rs.getString("context")!

=null?

rs.getString("context"):

"");s_date1=(rs.getString("date1")!

=null?

rs.getString("date1"):

"");

s_reid=(rs.getString("reID")!

=null?

rs.getString("reID"):

"");

%>

通过JSP表达式显示,代码如下:

<%=s_hit%>

<%=s_renum%>

id=<%=s_id%>"><%=s_subject%>

<%=s_context%>

<%=s_date1%>

<%}%>

发表帖子

发表帖子模块的实现过程如下:

首先创建一个用来封装根贴信息的ActionForm,该ActionForm继承ValidatorForm类,并覆盖了Validate()方法,其关键代码如下:

publicclassBbsFormextendsValidatorForm{

privateStringbbsId;

privateStringbbsBoardID;

privateStringbbsTitle;

privateStringbbsCont

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

当前位置:首页 > 医药卫生 > 基础医学

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

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