BBS项目报告.docx
《BBS项目报告.docx》由会员分享,可在线阅读,更多相关《BBS项目报告.docx(30页珍藏版)》请在冰豆网上搜索。
BBS项目报告
BBS论坛系统的设计与实现
学生:
指导教师:
2010年6月1日
摘要
进入二十一世纪,计算机技术迅速向着网络化、集成化方向发展。
传统的单机版应用软件正在逐渐退出舞台,取而代之的是支持网络、支持多种数据信息(多媒体)的新一代网络版应用软件,而目前网络版软件中似乎存在着两种不同的趋势,一种是称为客户端——服务器的C/S结构的应用系统,这类软件具有结构严谨,运行效率高,服务器端压力小,安全性好等优点,被广泛运用于局域网中。
而另一种,也是本毕业设计所采用的,是称之为浏览器——服务器的B/S结构应用系统。
它的特点是在客户端直接采用了功能强大的浏览器软件作为界面,其优点在于软件开发效率高,客户端不受操作平台的限制,同时也不受地域的限制,网络传输少,即使用于局域网,更适用于Internet,而且投资小、见效快,用户可以不必进行服务器方面的投资,而是去租用,甚至是免费使用服务器的资源,因而受到越来越多的中小型单位的青睐。
随着社会的发展,人们越来越习惯于通过Internet网络获取信息,通过Internet在网络上发表自己对社会对生活的理解和建议。
该设计实现一个基于Web的通用的BBS网站,具有BBS网站用该具有的相关功能。
该软件界面简单简洁美观,功能详细,易于操作。
采用VisualStudio2005开发平台,运用ASP.NET(C#)编程语言结合SQLServer2005数据库最终实现了BBS网站。
本网站可以满足用户的注册、登录,并发表自己的帖子,评论他人的帖子等功能;同时管理员还可以对用户的信息进行管理,对发布的信息管理,删除不良信息等功能。
对帖子进行管理,实现帖子的添加、删除、修改等功能。
关键词:
网络;BBS网站
第1章引言
1.1开发背景
进入二十一世纪,计算机技术迅速向着网络化、集成化方向发展。
传统的单机版应用软件正在逐渐退出舞台,取而代之的是支持网络、支持多种数据信息(多媒体)的新一代网络版应用软件,它的特点是在客户端直接采用了功能强大的浏览器软件作为界面,其优点在于软件开发效率高,客户端不受操作平台的限制,同时也不受地域的限制,网络传输少,即使用于局域网,更适用于Internet,而且投资小、见效快,用户可以不必进行服务器方面的投资,而是去租用,甚至是免费使用服务器的资源,因而受到越来越多的中小型单位的青睐。
随着社会的发展,人们越来越习惯于通过Internet网络获取信息,通过Internet在网络上发表自己对社会对生活的理解和建议。
该设计实现一个基于Web的通用的BBS网站,具有BBS网站用该具有的相关功能。
1.2主要技术及辅助工具
主要技术:
ASP.NET(C#)+SQLServer2005数据库
辅助工具:
Photoshop、Dreamweaver
1.3开发平台及运行环境
开发平台:
VisualStudio.NET2005+MicrosoftSQLServer2005
运行环境:
WindowsXP操作系统
支持版本:
IE5.0以上浏览器Office2000以上版本
第2章需求分析
本章节主要是针对BBS论坛系统进行需求分析,主要从功能需求、性能需求、安全性需求、界面需求等方面进行分析。
2.1功能需求
基于目前计算机在当今社会的普遍流行,计算机的应用已经深入到生活、生产、学习的各个方面,并给我们日常生活及其企业公司的生产管理带来极大的方便。
网路的风靡,使人们在获取信息的途径从口耳相接改为在显示器上的博览,得到信息的最大化的获取。
BBS论坛正是这样一个平台,使人们足不出户便可知晓五湖四海。
而且,在这样的平台也促进了人与人的不同见解、文化、思想的交流。
所以根据一系列的需要,我在自己的长期思考下开发了这样的一个方便大家的BBS论坛,一个星期的需求分析和设计,加上老师的指导,我感觉这个项目的可行性很高,根据详细设计,我由很大的信心能够把这个项目完成好。
2.1.1系统用户群分析
系统用户群分类分为如下三类
1.游客
喜欢上网获取信息资源,喜欢与人们进行信息交互的人,在没有注册成为本论坛的用户的情况下,只能对信息进行浏览的人群。
2.会员用户
在本论坛注册成功,成为本论坛的会员用户。
再享有浏览获取资源信息的同时,也能够发帖、评论回复别的帖子,完成与人的交互。
3.管理员
由于帖子繁多,可能会出现不良言论的帖子,所以设置了系统管理员这样一个权限,可以删除这样有不良言论的帖子。
同时,如果发现到长期恶意发表不良言论的用户,可以删除该用户。
发布公告是对系统维护、删除恶意言论、恶意用户进行公告,对本论坛的其他会员产生警示作用。
2.2基本功能分析
1.浏览首先是需要用户能够对不同的信息进行浏览,我们采取了对信息进行了分类,来满足不同用户对不同信息的专项需求。
同时我们也设置了一个精帖区来放置各个类型的热帖,这个热帖我们采取的是用被评论的次数来设定的。
当这个帖子被评论次数超过一个定义的数量,就会使它成为精贴,从而自动放到精贴区中。
帖子的排列也是方便大众浏览的关键,我们采取的是按照发布时间的顺序来排列的,把新发布的帖子放到上面。
2.注册为了使游客能够参与到信息的交互过程中,所以需要一个注册的功能,成为会员用户,享有发帖和评论的权限。
3.登录让用户登录,拥有发帖和评论以及管理自己帖子的权限。
4.发帖用户可以阐述自己的言论,把自己所掌握到的信息资源提供给网友,使网友能了解到你的观点、想法、信念、情感或是生活中的趣事。
5.评论您也许会看到这样一个帖子,会使您欲罢不能的想说两句,那好,这个功能我们要。
方便用户对帖子进行评论。
6.帖子帖子应该记录帖子的评论信息、访问的次数、被评论的次数。
同样也要让评论按时间的先后顺序进行排列。
控制帖子能否成为精贴。
考虑到信息的类别并借鉴了网上的BBS的分类,分了四类:
唠叨客、笑笑生、大杂烩、搜人肉。
唠叨客是发布自己内心的世界,笑笑生是发布有趣的人或事,大杂烩是发布社会百态,搜人肉是提供人肉搜索的平台。
7.帖子的评论要在评论的过程中提交用户得到的经验值。
8.进入后台提供一个平台,可以让管理员进入自己的页面。
9.用户管理由于帖子繁多,可能会出现不良言论的帖子,所以设置了系统管理员这样一个权限,可以删除这样有不良言论的帖子。
同时,如果发现到长期恶意发表不良言论的用户,可以删除该用户。
10.发布公告发布公告是对系统维护、删除恶意言论、恶意用户进行公告,对本论坛的其他会员产生警示作用。
2.4界面需求
毫无疑问,一个好的系统,在给用户提供完善的功能的同时,其界面的友好性也不容忽视,界面在简洁、大方的同时其各功能的使用应简单、快捷。
本系统的开发充分体现了这一点。
2.5技术需求
本系统采用B/S结构,基于Web的B/S(Browser/Server)方式其实是一种客户机/服务器模式,它的客户端是浏览器。
B/S结构中处于第一层的是客户端,处于第二层的是应用服务器,由一台或者多台服务器组成,该层具有良好的可扩充性,可以随着应用的需要增加服务器的数目。
处于第三层的是数据层,由数据库系统和遗留系统组成。
B/S的优势在于:
简化了客户端;简化了系统的开发和维护;用户操作变得更简单;适用于网上信息发布。
第3章系统概要设计
3.1系统基本框架设计
图3.1模块划分
BBS论坛,要能浏览、发帖、评论,这是最基本的功能。
并且根据不同角色的权限,功能也要有所区分,对于游客,只能浏览,用户还可发帖、评论,管理员可以发布公告,对信息管理。
注意对各个权限的设置。
然后是一些细节控制。
发帖时对用户经验的增加,评论时对用户经验的增加,用户等级的控制。
评论次数够的时候,将帖子加精的控制。
显示消息时,将新的消息放在上面,帖子、评论、公告都是如此,管理的时候也要这样,从而得到便利。
评论、发帖、发布公告,应该自动获取系统时间,方便用户操作。
基于上述系统的分析,我们的主要设计如下功能:
1.浏览首先是需要用户能够对不同的信息进行浏览,我们采取了对信息进行了分类,来满足不同用户对不同信息的专项需求。
同时我们也设置了一个精帖区来放置各个类型的热帖,这个热帖我们采取的是用被评论的次数来设定的。
当这个帖子被评论次数超过一个定义的数量,就会使它成为精贴,从而自动放到精贴区中。
帖子的排列也是方便大众浏览的关键,我们采取的是按照发布时间的顺序来排列的,把新发布的帖子放到上面。
2.注册为了使游客能够参与到信息的交互过程中,所以需要一个注册的功能,成为会员用户,享有发帖和评论的权限。
3.登录让用户登录,拥有发帖和评论以及管理自己帖子的权限。
用户先输入用户名和密码,进行查询看是否是合法用户。
否则禁止登录。
图3.2用户登录流程图
4.发帖用户可以阐述自己的言论,把自己所掌握到的信息资源提供给网友,使网友能了解到你的观点、想法、信念、情感或是生活中的趣事。
5.评论您也许会看到这样一个帖子,会使您欲罢不能的想说两句,那好,这个功能我们要。
方便用户对帖子进行评论。
6.帖子帖子应该记录帖子的评论信息、访问的次数、被评论的次数。
同样也要让评论按时间的先后顺序进行排列。
控制帖子能否成为精贴。
考虑到信息的类别并借鉴了网上的BBS的分类,分了四类:
唠叨客、笑笑生、大杂烩、搜人肉。
唠叨客是发布自己内心的世界,笑笑生是发布有趣的人或事,大杂烩是发布社会百态,搜人肉是提供人肉搜索的平台。
7.帖子的评论要在评论的过程中提交用户得到的经验值。
8.进入后台提供一个平台,可以让管理员进入自己的页面。
9.管理员管理由于帖子繁多,可能会出现不良言论的帖子,所以设置了系统管理员这样一个权限,可以删除这样有不良言论的帖子。
同时,如果发现到长期恶意发表不良言论的用户,可以删除该用户。
管理员对各类信息的管理如图3.3所示:
图3.3管理模块图
10.发布公告发布公告是对系统维护、删除恶意言论、恶意用户进行公告,对本论坛的其他会员产生警示作用。
3.3数据库设计
数据库分析是数据库管理信息系统开发周期中的一个重要阶段,是数据库应用程序开发的基础,数据库分析工作的好坏直接影响着数据库应用系统的质量。
3.3.1数据库环境说明
数据库DOWS平台SQLServer2005。
3.3.2数据库的命名规则
数据库名称及相关表命名,以功能名称为依据,采用英文名称。
命名统一且有意义。
3.3.3数据库表
本数据库的创建和维护,所使用的工具是SQLServer2005。
此软件能提供良好的系统安全性,支持多用户同时操作。
1.管理员信息表:
管理员信息表主要存储管理员的登录名,邮箱,密码等信息此表主要有adID,adName,adEmail,adSort,adPwd这五个字段。
表3.1管理员信息表
字段名
数据类型
约束条件
是否允许为空
说明
adID
int
主键
否
编号
adName
nvarchar
否
管理员名字
adEmail
nvarchar
否
邮箱
adSort
nvarchar
否
类型
adPwd
int
否
密码
2.回帖信息表:
主要存储用户回帖的时间并存储用户名,密码等,此表主要有disID,userID,posted,disTest,disTime这五个字段,其结构如表3.2所示:
表3.2回帖信息表
字段名
数据类型
约束条件
是否允许为空
说明
disID
int
主键
否
编号
UserID
Int
否
用户编号
Posted
Nvarchar
否
帖子
disText
nvarchar
否
内容
disTime
Datetime
否
时间
3.已发帖信息表:
主要存储也发帖子的用户的信息,包括用户名,用户密码
发帖时间,发帖内容等信息。
其结构如表3.3所示
表3.3已发帖信息表
字段名
数据类型
约束条件
是否允许为空
说明
PostID
int
主键
否
编号
userID
nvarchar
允许
用户编号
postName
nvarchar
否
帖子名字
postText
nvarchar
否
帖子内容
postSort
nvarchar
否
帖子类型
postTime
Datetime
否
发帖时间
postST
int
否
帖子个数
postDT
Int
否
时间
bool
Int
否
4.公告帖信息:
主要用于存储公告信息每个信息都包含一个id和公告的内容,以及发布的公告时间。
此表主要有talkID,adID,talkText,talkTime四个字段组成。
其结构如表3.4所示:
表3.4公告贴信息表
字段名
数据类型
约束条件
是否允许为空
说明
talkID
Int
外键
否
编号
adID
nvarchar
外键
否
编号
talkText
nvarchar
否
内容
talkTime
datetime
否
时间
5.用户信息表:
用户信息表主要存储用户的账号、真实姓名、密码、性别、密保问题、地址、邮编等信息。
此表主要有userID,username,userSex,userBirthday,UserPhone,userEmail,userPwd,userGrade,userEX这九个字段组成。
其结构如表3.5所示:
表3.5用户信息表
字段名
数据类型
约束条件
是否允许为空
说明
useID
int
主键
否
用户编号
username
nvarchar
否
用户名
userSex
Char
否
性别
userBirthday
Datetime
否
生日
userPhone
Nvarchar
否
电话
userEmail
nvarchar
否
邮箱
userSort
nvarchar
否
类型
userPwd
nvarchar
否
密码
userGrade
Int
否
用户级别
第4章系统功能的实现
4.1论坛首页
BBS论坛首页模块设计如图4.1所示。
图4.1论坛首页功能实现
BBS论坛的首页模块设计与功能:
这是游客身份登录的主页,可以对消息进行浏览。
消息是按时间的降序排列select*fromT_postorderbypostTimeDESC。
论坛的左边的导航是是用TreeView控件,编辑每个字段后利用超链接连到各个区域的界面中去。
头部的使用了HypeLink控件连接各个界面。
并且面向用户登录和游客的注册。
帖子的显示用DataList绑定数据库的T_post表中的postName(标题)、postTime(发帖时间)。
在绑定postName属性时用了LinkButton控件,点击标题会进入该帖子的界面。
4.2用户登录后的首页
用户登录后会拥有发帖的功能,所以发生了改变,如图4-2所示:
图4.2用户登录后的首页
用户登录后,在头部会绑定登录者的个人信息。
用户可以进入自己的主页对自己发过的帖子进行管理。
点击发帖的按钮时会进入发帖的界面。
4.3帖子类型
不同类型的帖子都有相应的界面,以精帖区的界面为例(唠叨客、大杂烩、笑笑生、搜人肉四个区域的界面都和此界面应用的技术、样式相同)
图4.3大杂烩帖子的界面
根据点击进入不同的界面,显示出不同类型帖子的信息。
帖子的信息采用DataList进行绑定字段,和首页一样,在标题处用了LinkButton的控件进入特定的帖子。
查找可以来查找帖子。
4.4帖子模块
当点击某个特定的帖子的时候,会进入一个这样的界面
图4.4进入帖子的界面
上面绑定的是发帖人的信息,和帖子的信息。
下面翻页的部分会绑定对该帖子的评论内容和评论者的内容。
帖子会记录该帖子的浏览次数和被评论的次数。
绑定是利用每个DataList上的LinkButton上传递的postID从而得到该帖子的信息,在此帖子中进行查询后绑定显示。
4.5评论帖子
对帖子评论的界面如下:
图4.5对帖子进行评论
当点击上述页面的回复时,会进入这个界面,自动绑定该帖子的名称和回帖人的信息。
当点击回复后,评论成功,自动切回这个帖子的界面,新的评论显示如下:
图4.6评论后的帖子显示
当评论后,评论次数、浏览次数、用户的经验值都有了相应的改变。
4.6发帖模块
对帖子发布,界面入下图4.7:
图4.7发帖的界面
同样会自动绑定发帖人的信息,发帖会增加发帖人10点经验值。
发帖后自动切到自己所发帖的界面,如图4.8如图所示:
图4.8自己帖子的管理
用户的经验值增加,新发布的帖子也会在上面显示,并且可以对该条记录进行删除。
删除是用GridView的添加项添加一个ButtonField,然后在RowsDeleting事件中添加的删除代码实现的。
4.7管理员模块
4.7.1登录模块
当管理员进入后台,会登录一个登录界面,如图4.9:
图4.9登录界面
4.7.2管理员导航
登录后进入管理员功能导航界面,如图4.10:
图4.10管理员登录导航界面
4.7.3帖子管理模块
根据选择不同的界面会进入不同的模块。
帖子管理模块,如图4.11所示
图4.11帖子信息管理
4.7.4用户管理模块
用户信息管理模块,如图4.12所示
图4.12用户信息管理界面
4.7.5发布公告模块
发布公告模块,管理员可以发布公告,如图4.13所示:
图4.13发布公告
4.7.6公告信息管理模块
当管理员发布完公告后,会自动进入到公告管理模块,当然也可以通过导航进入到这里,公告信息管理模块,如图4.14所示:
图4.14公告信息管理
刚才发布的新的公告会这里显示。
第5章系统调试
本论坛测试不同权限的各个功能是否能够正常运行,编写了下列各个调试步骤。
5.1系统的调试
本项目是BBS论坛,主要是测试论坛的各个功能能否正常运行。
本章的主要内容是对此论坛的运行进行测试,以验证系统是否实现设计要求的功能和性能指标。
5.2调试内容
为配合完成功能性测试,编写测试用例如下表所示,由于篇幅有限,下表中只列出主要的测试用例的标题和期望结果。
表5.1测试用例表
序号
测试用例标题
期望结果
1
用户登录
成功。
验证用户名和密码是否存在。
如果存在允许登录,否则进行提示。
2
注册
成功。
注册一个新的用户。
3
公告发布
成功。
管理员发布新的公告。
4
管理员管理
成功,管理员可以对用户、帖子、公告进行删除。
5
发帖
成功,用户可以发表帖子。
6
评论
成功,用户可以评论帖子。
7
浏览
成功,用户可以浏览任何贴子。
5.3测试结果
对照表5.1的测试内容,表5.2出其对应的测试结果。
由测试结果可以看出:
论坛的基本功能都能够实现。
表5.2测试用例表
序号
测试用例标题
测试结果
1
用户登录
成功。
验证用户名和密码是否存在。
如果存在允许登录,否则进行提示。
2
注册
成功。
注册一个新的用户。
3
公告发布
成功。
管理员发布新的公告。
4
管理员管理
成功,管理员可以对用户、帖子、公告进行删除。
5
发帖
成功,用户可以发表帖子。
6
评论
成功,用户可以评论帖子。
7
浏览
成功,用户可以浏览任何帖子。
第6章结束语
两个多月的毕业实训即将结束,回望这两个多月以来,自己真是受益匪浅。
首先,在实训项目正式开始前,老师给我们讲了三层架构建设和版本控制软件VSS的使用,三层架构我们没有使用过,只是以前课堂上听老师们说过,并从一些学习资料中了解过,但却没有真正的去使用过,版本控制软件是在软件工程课程中,了解了一些,之前没有见过更谈不上使用过,此外,老师们还给我们讲了软件编码规范和软件开发流程等方面的知识,我个人觉得这些知识的补充,对我的影响很大,通过在模拟项目中使用,使我很好的掌握了这些技术知识。
我相信这会让我在以后的职业生涯中获益良多。
其次,在实训项目开发过程中,无论是数据库表的设计还是系统中一些公共方法的编写,可以说都让我这只“井底之蛙”,大大的开了眼界,虽然我目前的状况可能还是一知半解,但我相信,由于了解了这些技术的应用,在以后的项目开发中,遇到的问题,我就能想到用什么方法,用什么技术去实现,我想这点才是最重要的。
再次,由于两个模拟项目设计和开发的参与,使得我的编码能力提高了不少,比如,在Label控件上显示时间时,系统默认的是把年月日时分秒都给显示出来,根据项目需要,我想让它只显示年月日,虽然能想到,却不知道怎么去实现,在请教了老师后,使我解决了这个问题,并把这个知识真正掌握了。
在整个实训过程中,最大的感触是不像以前上课时,有时候遇到问题,宁愿请教同学,也不敢问老师,生怕问题很简单给老师留下不好印象,而在实训过程中,遇到问题时,我却敢于向老师们请教,这可能得宜于实训老师们都比较年轻且都很友善,对他们的畏惧感不是太强烈的缘故;还有就是我认为我个人及其他同学的不足是小组成员之间交流不足,每个成员有时候“各行其是”,由于使用的是三层架构,这就使得实现同样功能的方法被写了多次,在以后的项目开发中,我会改掉这方面的不足,加强和小组成员间的交流。
在这次的毕业实训中,我觉得看到项目的各个功能最终得以实现的那种喜悦之情而带来的对这个行业的兴趣的增加,是我收获的最大财富。
最后,我要十分感谢我们的实训老师们,感谢他们这两个多月以来的辛勤教育,他们的和蔼可亲,他们的孜孜不倦,他们的耐心指导,让我难忘,是他们为我们插上了即将起飞的翅膀,使我们敢于去翱翔,在此,我要向他们衷心的说一声:
“您们辛苦了,谢谢你们!
”,我会珍藏这段美好的回忆,直到永远!
参考文献
[01]杨云.ASP.NET典型系统开发[M]:
北京.人民邮电出版社.2006.6
[02]千丽霞.ASP&ASP.NET150例[M]:
北京.清华大学出版社.2004.5
[03]刘勇.SQLServer2005基础教程[M]:
清华大学出版社.2005.2
[04]郭兴峰.ASP.NET动态网站开发基础教程[M]:
北京.清华大学出版社.2006.5
附录:
主要源程序
附录ABBS论坛源程序代码
数据连接类代码
publicclassDBLink
{
publicstaticstringConnectionString="server=zzti043\\SQLEXPRESS;uid=sa;pwd=123456;database=Mybbs";
publicstaticstringzh;
publicstaticstringadID;
publicstaticinti;
publicstaticstringpostid;
publicDBLink()
{
}
publicstaticDataSetDS(stringsql)
{
SqlDataA