软件工程基于Web的BBS系统试验报告
软件工程实验报告
一、实验目的:
1. 从全局上把握项目开发的全过程
2.综合使用前面接触的各种软件
3. 能够独立自主地完成系统的开发计划、需求分析、概要设计、详细设计、测试等步骤
二、实验环境:
1.P C机一台
三、实验内容和要求:
1、在实习题目(见PPT文件)中任选一个或自拟题目,完成系统的分析、设计和实现
2、作业形式是上交开发计划、需求分析、概要设计、
详细设计(只针对概要设计中的一个具体模块给
出程序流程图、用户说明书即可)和测试等主要
文档。详细设计中涉及到的具体模块的源程序代
码(程序开发语言任选)。
四、实验步骤:
(对实验步骤的说明应该能够保证根据该说明即可重复完整的实验内容,得到正确结果。)
一
1、选题:开发一个基于Web的BBS系统,包含一般BBS 所具有的功能,如用户注册、用户信息管理、发贴功能、贴子管理、主题词查询、用户信息修改和查询等。并且确定系统立项背景。
(具体选作用户模块),详细内容见第三部分
2、可行性分析
可行性分析是在系统调查的基础上,针对新系统的开发是否具备必要性和可能性,对新系统的开发从技术、经济、社会的方面进行分析和研究,以避免投资失误,保证新系统的开发成功。可行性研究的目的就是用最小的代价在尽可能短的时间内确定问题是否能够解决。
1.技术可行性技术上的可行性分析主要分析技术条件能否顺利完成开发工作,硬、软件能否满足开发者的需要等。该BBS论坛管理系统采用了流行的JSP语言和当前新兴的Browser/Server(浏览器/服务器)模式进行开发。三层的B/S体系结构具有许多传统Client/Server(客户机/服务器)体系结构不具备的优点,而且又紧密的结合了Internet/Intranet(国际互联网/企业内部互联网)技术,是技术发展的大势所趋,它把应用系统带入了一个崭新的发展时代。数据库服务器选用SQL Server 2000数据库,它能够处理大量数据,同时保持数据的完整性并提供许多高级管理功能。它的灵活性、安全性和易用性为数据库编程提供了良好的条件。因此,系统的软件开发平台已成熟可行。硬件方面,科技飞速发展的今天,硬件更新
的速度越来越快,容量越来越大,可靠性越来越高,价格越来越低,其硬件平台能满足此系统的需要。
2.经济可行性主要是对项目的经济效益进行评估,本系统模拟的是提供一个供用户交流的平台,为广大用户提供交流经验、探讨问题的社区。但实际只是用于个人的毕业设计,只是模拟,也不存在资金的流动,故在经济上是可行的。 3.社会可行性随着Internet技术的快速发展,BBS论坛已成为人们彼此沟通、交流信息的主要方式。在论坛上,人们可以对某一领域提出自己遇到的问题,随后,论坛上的其他人会根据自己的学识、经验发表意见或提出问题的方法。BBS论坛接近了人们之间的距离,它早已成为人们网上生活的必备工具。所以说BBS论坛对当今社会是相当重要的
3、需求分析:
随着Internet技术的不断发展,以及用户群爆炸性地增长,网络不再仅仅是信息的被动获取来源,更成为人们探讨间题、交换观点的场所,其中,网上论坛扮演了极其重要的角色,随着时间的推移,论坛站点中积存了丰富的信息资源,不但有各类技术资料和新闻文档,还包含着用户的判断和评论,论坛站点己成为Web信息库的重要组成部分,自网上论坛诞生20多年以来,随着Web技术的发展,己经由原来简单的电子公告板系统发展为功能丰富的网上论坛和虚拟社区模式。各种论坛随着网络迅速发展,几乎充实着生活工作的每一个方面,无论是商界、政
界,还是娱乐界,都有各种论坛。互联网正在融入我们的生活,网络提供给我们的不只是一个获取信息的来源,而且还是一个可以相互交流的空间,网上论坛正是一种供人们进行交流的网络空间, 影响和改变着我们的生活。4、数据库设计
数据库设计是指对于一个给定的应用环境,构造最优的数据库模式,建立数据库及其应用系统,使之能够有效地存储数据,满足各种用户的应用需求(信息要求和处理要求).
数据库和设计概述
(1)数据库是信息系统的核心和基础,把信息系统中大量的数据按一定的模型组织起来,提供存储、维护、检索数据的功能,使信息系统可以方便、及时、准确地从数据库中获得所需的信息。
(2)数据库是信息系统的各个部分能否紧密地结合在一起以及如何结合的关键所在。
(3)数据库设计是信息系统开发和建设的重要组成部分。
5、开发环境
在开发此论坛的时候,需要具备下面的软件环境
服务器端:
●操作系统:Windows XP。
●Web服务器:Tomcat 6.0。
●Java开发包:JDK 1.6。
●数据库:SQL Server 2000。
●浏览器: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).论坛版区表和论坛文章表是一对多的关系,在一个论坛中可以含有多个文章和回复. 详细数据库结构设计
用M 发
N 帖
详细
1 1 N 管
管1
添1 修
论
(1).用户基本资料表:
用户基本资料表中存放的是用户登陆时所需要或者记录用户的基本信息,包含比如登陆名,密码,最后登陆时间等.用户基本信息表的建立主要是记录用户最常用的一些信息.
1 leafbbs_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).用户详细信息表:
用户详细信息表中存放的是用户的身高,体重,联系方式等详细资料,建立此表的目的是把一些用户不经常用到的详细信息,单独存放到一张表中,可以节约系统的资源.
2 leafbbs_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).论坛文章表:
论坛文章表存放的是用户所发表的文章信息,也包括回复信息.而在数据库的设计中主要问题是鉴别帖子信息和回复信息.
3 leafbbs_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).论坛版区表:
论坛版区表是存放的是论坛中版块信息.而论坛也划分为父论坛和子论坛,区分他们也靠表中的某个字段来实现的.具体实际的设计如下.
4 leafbbs_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.5 leafbbs_config 表
字段名
数据类
型
长
度
主
键
索
引
外
键
可
空
说明
ID varchar
50
Y N N
初始化
标题
ConfContext text N N N
初始化
信息
用户分三类:普通用户、管理员
帖子管理信息表:
部分用例图:
功能需求列表
编号功能名称功能描述输入内容输出内容1 用户注册对用户名
验证并注
册
用户信息注册结果
2 用户信息
管理管理用户
信息,保
证用户使
用安全
管理方面管理结果
3 发帖功能用户可以
自由发帖帖子内容帖子发布
情况
4 帖子管理管理员管
理帖子帖子管理
操作
管理结果
5 主题词查
询查询主题
词
主题词查询到的
信息
6 用户信息
修改和查
询用户修改
个人信息
用户信息更新后的
信息
BBS基于UML建模
用例模型(use cases view)(用例视图)的基本组成部件是用例(use case)、角色(actor)和系统(system)。用例用于描述系统的功能,也就是从外部用户的角度观察,系统应支持哪些功能,帮助分析人员理解系统的行为,它是对系统功能的宏观描述,一个完整的系统中通常包含若干个用例,每个用例具体说明应完成的功能,代表系统的所有基本功能(集)。角色是与系统进行交互的外部实体,它可以是系统用户,也可以是其它系统或硬件设备,总之,凡是需要与系统交互的任何东西都可以称作角色。系统的边界线以内的区域(即用例的活动区域)则抽象表示系统能够实现的所有基本功能。在一个基本功能(集)已经实现的系统中,系统运转的大致过程是:外部角色先初始化用例,然后用例执行其所代表的功能,执行完后用例便给角色返回一些值,这个值可以是角色需要的来自系统中的任何东西。UML:是一种标准的图形化建模语言,它是面向对象分析与设计的一种标准表示;它不是一种可视化的程序设计语言而是一种可视化的建模语言;不是工具或知识库的规格说明而是一种建模语言规格说明是一
种表示的标准;不是过程也不是方法但允许任何一种过程和方法使用它。
UML模型
4、系统目标
对于典型的数据库管理系统,尤其是对像论坛这样的数据流量特别大的网络管理系统,必须要满足使用方便、操作灵活等设计需求。本系统在设计时应满足以下几个目标:
1.采用人机对话的操作方式,界面设计美观友好,信息查看灵活、方便、快捷、准确,数据存储安全可靠。
2.全面展示系统内所有分类的帖子,并进行分页显示。
3.为用户提供一个方便、快捷的主题信息查看功能。
4.实现在线发表帖子。
5.提供登录模块,主要用开管理员登录系统和发表帖子时留下发表者的信息。
6.用户随时都可以查看自己发表的帖子。
7.对用户输入的数据,系统进行严格的数据检验,尽可能排除人为的错误。
8.系统最大限度地实现了易维护性和易操作性。
9.系统运行稳定安全可靠。
系统设计:总体结构图如下
BBS论
系统主要
用户注册用
户
信
息
发
帖
功
能
帖
子
管
理
主
题
词
查
用
户
信
息
用
户
信
息
系统行为图
(一)状态图:
1、前台业务状态图:
2、帖子管理状态图:
(二)活动图: