论坛管理信息系统.docx
- 文档编号:23455609
- 上传时间:2023-05-17
- 格式:DOCX
- 页数:29
- 大小:661.09KB
论坛管理信息系统.docx
《论坛管理信息系统.docx》由会员分享,可在线阅读,更多相关《论坛管理信息系统.docx(29页珍藏版)》请在冰豆网上搜索。
论坛管理信息系统
数据库原理及应用课程设计
题目:
论坛管理信息系统
学院:
计算机学院
专业班级:
08信科
学号:
20083624025
学生姓名:
王力
指导教师:
宋一成
2011年5月
一、绪论-.3-
1.1开发背景-.3-
1.2系统目标-.3-
1.3定义-..3-
二、系统概述-.4
2.1系统流程-.4-
2.2版块、帖子、用户模块的主要实现思路及图例-4-
三、系统需求分析-.6
3.1系统基本功能需求-.6-
3.2系统数据库设计-.6-
3.3系统业务流程及描述.-.9-
四、系统功能分析-.12-
4.1功能界面框图-.12-
4.2功能描述-.13-
五、系统主要界面设计-.14
5.1显示帖子列表页面.-.14-
5.2发表帖子页面-.17
5.3管理员登录页面-.19-
5.4后台用户管理页面.-.21-
六、系统总结-.24-
6.1系统特点及不足-.24-
6.2系统以后的扩展与拓宽-24-
6.3自己的体会与感想.-.24-
致谢-.24-
参考文献-.25-
、绪论
1.1开发背景
BBS起源于20世纪80年代初。
最初,论坛只是用于发布公告信息,讨论问题的在线交流平台。
后来,随着网络的普及,论坛的功能越来越丰富,受到广大网民的欢迎。
因此,商业网站对论坛重视起来,纷纷在自己的网站上开辟论坛。
作为与网民交流的园地。
同时在线技术支持和在线服务也在论坛中开展起来。
当代的大学生几乎都会接触甚至经常登陆自己感兴趣的论坛,在上面可以分享,也可以交流意见,但是,能把他们集中起来的论坛并不是很多。
BBS论坛系统是为了方便大家的沟通和获取信息而开发的系统。
我们利用Asp.Net知识和SqlServer2005开发BBS论坛管理系统。
该系统以Internet为平台,前台可使任何人注册、登录、登录在论坛上进行发帖、回帖、浏览帖子等。
管理员也可以在后台对帖子、版块、用户等进行相关的管理。
一个小型BBS论坛系统的前台功能主要包括浏览搜索帖子、用户登陆注册、发表回复帖子、个人资料管理和帖子管理;后台功能主要包括用户管理、论坛版块管理和帖子管理等。
1.2系统目标
开发本系统意在吸纳大部分游离在众多论坛的大学生,达到校内网等论坛的目标.系统开发的总任务是实现文章的成功发表,留言的发布与回复。
从而达到用户之间信息交流的目的。
系统主要面向两类用户:
用户和系统管理员。
用户可以先注册,然后在网站里发表文章、留言等。
系统管理员可以对用户的信息进行增添和删除及修改,对版块进行增加、删除和修改操作;还可以对网站进行修改与维护。
1.3定义
论坛也称为BBS是bulletinBoardSystem的简称,意即电子公告板,是一种在Internet上常见的用于信息服务的Wet系统,它主要给浏览者提供相互沟通的平台,以此来吸引用户,服务用户。
、系统概述
2.1系统流程
图2-1系统整体流程图
2.2版块、帖子、用户模块的主要实现思路及图例
版块类有浏览列表和管理两个方法,管理方法可以分为创建、修改和删除3个
方法,如图2-2和图2-3。
图2-2管理员参数分类
帖子类有浏览、发帖、回帖、搜索和管理5个方法,浏览方法又可以分为列表
和查看2个子方法,管理方法又可以分为编辑、删除、置顶等子方法,如图2-
图2-4帖子类的方法和流程
用户类有注册、登录和管理3个方法,管理方法又分为添加、删除和设置权限3个子方法,如图2-5。
三、系统需求分析
3.1系统基本功能需求
BBS实现功能
此次课程设计的题目是小型BBS论坛设计主要是实现新用户注册、会员登录、会员发布帖子、会员回复帖子、留言、回复留言、修改用户密码、查询帖子信息、修改发布帖子、删除发布帖子、删除非法用户(管理员权限)等功能。
3.2系统数据库设计
经分析及需求得出BBS数据库包含六张表,具体内容如下:
(一)表tbClass存放论坛分类,主要字段就是分类编号ClassID和分类名称
ClassName详细信息如图3-1:
t
出
0
f
TffElJT
0
图3-1论坛分类表
(二)表tbBoard存放论坛分类中的版块,主要字段有板块编号BoardID、版块
名称BoardNam列版块类别编号BoardClassID,其中BoardClassID对应tbClass中的ClassID,详细信息如图3-2:
£1
]
BHTdQ
E何鈕ifik
IE
:
a恵
2
rrrdsr
D
3
mi驭訂扭hEitt"
L
图3-2版块表
(三)表TranTest是版主表,主要字段有版主编号ID和版主所管的版块名称
AccountName详细信息如图3-3:
騁
L
q
0
:
3
4
否
2
50
a
1
3
tifi■
i
G
图3-3版主表
(四)表tbTopic是用来存放论坛帖子,主要字段有帖子编号TopicID、帖子标
题TopicTitle、帖子内容TopicContent、帖子所属版块编号TopicBoardID、帖子发布者编号TopicUserID和帖子创建时间。
其中TopicBoardID对应表tbBoard中的BoardID,TopicUserID对应tbUser表中的
UserID,TopicParentID代表父帖TopicID。
如果该帖子是主题帖,则
TopicParentID为tbBoard中的BoardID,详细信息如图3-4:
1^!
吐二叩;[:
麗
Si3
L
'ipiSl
nmipezjeidtier
Lt
0
2
TBTTte
St
0
B
3
匈二mtEn*
tst
IE
(J
否
1
Fl离沁川诂
IE
d
B厢
5
f誉』4
fi严蚯MFler
[I
(J
$
MM「逋ID
mi輕;陆匕氏曰
It
Q
否
?
lojiLdCrebteTLiB
I
否
澈鹹01
图3-4主题表
(五)表tbUser存放论坛注册用户信息,主要字段有用户编号UserID、用户姓
名UserName用户密码UserPassword、电子邮件UserEmail、用户头像
UserFace、用户性别UserGender,类型为整型,0表示女性,1表示男性,用户婚否UserIsMarried和用户权限UserRight,其中有两种类型:
admin表示管理员、user表示普通用户,只有管理员可以进入后台进行对版块的增加、删除、修改,也可以对用户进行增加、删除、修改;已注册的普通的用户可以浏览帖子、发帖和针对主题进行恢复;没有注册的用户只能浏览帖子,如果要进行发表帖子就只有先登录和注册,不然不能进行回复和发表帖子,详细信息如图3-
5:
表舌:
贰亦
钙
1
血:
gjiidirif;也
三
晉
E
TivIiii
meter
刃
D
3
■wchr
P
1
*
嘶[kil
印
D
-1-
5
UiiiWr
郁
1
D
否
P
B
W
T
Vitrlsfariri
)it
L
P
S
B
l^Kiprt
ID
D
B
图3-5用户表
(六)表Tmp表示积分表,已注册的用户可以根据登录论坛的频繁程度进行积分的累积;假如用户发表的帖子点击率较高或回复人数很高,或者被用户置为精华帖等都可以增加积分,主要字段有编号ID和积分值Score;详细信息如图3-6:
F5
1
□
4
1
£
■1
S
rd
4
D
5_
图3-6积分表
3.3系统业务流程及描述
(一)会员注册流程
会员填写个人信息一>信息合法性检验一>会员信息持久化
用户注册后就可以进行发表帖子和回复帖子具体流程图3-7:
输入衾负信息
—会员信息持戈化
图3-7会员注册流程图
(二)会员登录流程
输入用户凭证一>基于角色授权具体流程图3-8:
|输入用尸烧证
基懿色
图3-8会员登录流程图
(三)会员管理流程持有管理员角色角色调整或分配为版主或删除用户具体流程图3-9:
濾芭调整、畠配肠主、删隴召戶
图3-9会员管理流程图
(四)论坛版块管理流程
持有管理员角色添加、删除、调整、置顶、隐藏版块
具体流程图3-10:
持世理禺甫哲
丫
「攝加s删除调葩置鬲隠讒极块
图3-10版块管理流程图
(五)帖子发表
注册用户选择版块发表主题主题持久化
具体流程图3-11:
注册用尸
Q发袁工题
图3-11帖子发表流程图
(六)帖子回复
用户针对主题发表回复回复持久化
具体流程图3-12:
、一艰表回复
—回豈持口化
图3-12帖子回复流程图
四、系统功能分析
4.1功能界面框图
论坛是网络常见的一个应用,用于网络用户的信息交流。
如:
知名的天涯在线论坛。
通过论坛系统,用户可以发表自己的言论(主题贴),其他的用户可以对主题贴进行评论(跟贴)或发表更多的言论(主题贴)。
£>■楚江
殆子肉丸
储子冋复
会员>£Iff
图4-1系统主要功能模块图
4.2功能描述
(一)会员注册
新会员注册,提供会员信息,检验会员信息的有效性,
(二)会员登陆
提供用户凭证,验证用户信息,基于角色授权。
(三)会员管理
管理员由系统初始化分配一个,管理员可以对会员信息户角色调整,版主调整,删除会员等。
(四)论坛版块管理
管理员可以添加、删除、调整、置顶、隐藏论坛版块
(五)帖子管理
管理员可以对所有帖子进行转移、置顶、删除等操作,也可以对本版块帖子进行置顶、删除等操作。
(六)帖子发表
注册用户可以在感兴趣的版块中发表新主题帖
(七)帖子回复
用户可以对自己感兴趣的主题发表回复
(八)帖子浏览
用户可以浏览所有可见帖子
(九)帖子检索
用户可以提供标题关键字检索所以可见主题帖,注册用的帖子
(十)意见建议
五、系统主要界面设计
5.1显示帖子列表页面
图5-1帖子列表显示页面
功能:
主要是显示帖子列表,方便未注册的用户浏览查看;如果浏览过程
中发现自己感兴趣的话题或帖子,可以回到登录页面进行注册,成功注册后可
以发表自己的话题及对感兴趣的帖子进行回复等操作;相关代码如下:
publicpartialclassDefauItl:
System.Web.Ul.Page
{
BLL.tbUseruserBLL=newBLL.tbUser();
BLL.tbTopictopicBLL=newBLL.tbTopic();
stringsqlCon=ConfigurationManager.ConnectionStrings["MyCon"].ToString();
//用于将数据库中的帖子绑定到DataList中让其显示在页面上
privatevoidSetBind()
{SqlConnectioncn=newSqlConnection(sqlCon);
stringsql="select*fromtbTopic,tbUserwhereTopicParentIDis
nullandtbTopic.TopicUserlD=tbUser.UserlDorderby
TopicCreateTimedesc";
SqlDataAdapterda=newSqlDataAdapter(sql,cn);
DataTabledt=newDataTable();
da.Fill(dt);
DataViewdv=newDataView(dt);
PagedDataSource)ds=newPagedDataSource();
pds.DataSource=dv;
pds.AllowPaging=true;
pds.PageSize=5;
ViewState["LastPagelndex"]=pds.PageCoun-1;
pds.CurrentPageIndex=int.Parse(ViewState["pagelndex"].ToString());
dlMessage.DataSource=pds;
dIMessage.DataBind();
}
//主要用于将页面数据分页显示,方便用户浏览页面
protectedvoidPageIndex(objectsender,EventArgse)
{
LinkButtonlb=((LinkButton)sender);
intpageindex=Int32.Parse(ViewState["pageIndex"].ToString());
if(lb.Text=="上一页")
{pageindex=pageindex-1;}
if(lb.Text=="下一页")
{pageindex=pageindex+1;}
if(lb.Text=="最后一页")
{pageindex=Int32.Parse(ViewState["LastPagelndex"].ToString());}
if(lb.Text=="第一页")
{pageindex=0;}
ViewState["pageIndex"]=pageindex;
SetBind();
}
//在页面底部显示该页从开始到结束的页码,用户可以随便浏览页面的任何一页privatevoidPageBuilder()
{intpageCount=Int32.Parse(ViewState["LastPagelndex"].ToString()+1;
HashtablehtPageIndex=newHashtable();
for(inti=pageCount-1;i>=0;i--)
{htPageIndex.Add(i,pageCount-i);}
DataList2.DataSource=htPageIndex;
DataList2.DataBind();
}
protectedvoidlkbPageIndex_Click(objectsender,EventArgse)
{
ViewState["pageIndex"]=int.Parse(((LinkButton)sender).Text)-1;
SetBind();
}
5.2发表帖子页面
一〜匚旧
疔f?
ii
Ins-
弹[吨勺严as〜心十岳询i卜”曽料尸話稱
ji
r£八QE
图5-2发表帖子页面
功能:
用户登录后进行选择感兴趣的主题进行发表帖子,先在标题栏输入你要发表的帖子相关代码如下:
publicpartialclassSendMessageSystem.Web.UIPage
{
BLL.tbUseruserBLL=newBLL.tbUser();
BLL.tbTopictopicBLL=newBLL.tbTopic();
DAL.tbBoardboardDAL=newDAL.tbBoard();
stringsqlCon
ConfigurationManagerConnectionStrings"MyCon"].ToString();
protectedvoidPage_Load()bjectsender,EventArgse)
{
if(!
lsPostBack)
{
SetBind();
}
}
//先判断用户是否登录,若登录了,在tb_topic表中取出所有已发表的主题列表,并绑定到repeat控件中privatevoidSetBind()
{DataTabledtTopic=newDataTable();
stringstrWhere="";
if(Session["UserlD"]!
=null)
{
strWhere="TopicUserID='"+Session["UserlD"].ToString()+"'";
}
dtTopic=topicBLL.GetListTable(strWhere);
rptMessage.DataSource=dtTopic;
rptMessage.DataBind();
}
〃点击发送按钮将用户发表的帖子提交到数据库表tbTopic中
protectedvoidbtnSendMessage_Click(objecfeender,EventArgse)
{stringTopicID=Guid.NewGuid().ToString();
stringTopicUserlD=Session["UserlD"].ToString();
stringTopicBoardID=boardDAL.GetBoardlD(ddlBoardName.Text.Trim());
using(SqlConnectioncn=newSqlConnection(sqlCon))
{cn.Open();
stringsqlCmd="insertintotbTopic
(TopiclD,TopicTitle,TopicContent,TopicBoardlD,TopicUserlD,TopicCreateTime)
Values(@TopiclD,@TopicTitle,@TopicContent,@TopicBoardlD,@TopicUserlD,@TopicCreateTime)";
using(SqlCommandcmd=newSqlCommand(sqlCmd,cn))
{cmd.Parameters.AddWithValue("@TopiclD",TopiclD);
cmd.Parameters.AddWithValue("@TopicTitle",txtTitle.Text.Trim());
cmd.Parameters.AddWithValue("@TopicContent",txtMessage.Text.Trim());
cmd.Parameters.AddWithValue("@TopicBoardID",TopicBoardID);
cmd.Parameters.AddWithValue("@TopicUserlD"TopicUserlD);
cmd.Parameters.AddWithValue("@TopicCreateTime"DateTime.Now);cmd.ExecuteNonQuery();
}
}
SetBind();
}
5.3管理员登录页面
图5-3管理员登录页面功能:
管理员登录后台进行管理,相关代码如下:
protectedvoidbtnLogin_Click(objectsender,EventArgse){
stringstrWhere="UserName='"+txtuserlD.Text.Trim()+"'andUserPassword='"+txtPassword.Text.Trim()+"”';
DataTabledtuser=userBLL.GetListTable(strWhere);
if(dtuser只ows.Count>0)
{
〃记录用户信息
Session"UserlD"]=dtuser.Rows[0]['UserlD"].ToString();
〃记录当前页
Session"CurrentPageUr门=HttpContext.Current.Request.Url.PathAndQuery;
〃跳转到首页
Response.RedirecfDefault1.aspx");
}else
{//用户密码或用户名错误,返回到错误页面
Response.Redirect(JserError.aspx');
}
}
protectedvoidimgLogin_Click(objectsender,lmageClickEventArgse)
"'and
{
stringstrWhere="UserName='"+txtuserlD.Text.Trim()+
UserPassword='"+txtPassword.Text.Trim()+;
DataTabledtuser=userBLL.GetListTable(strWhere);
if(dtuser只ows.Count>0)
{
Session"UserlD"]=dtuser.Rows[0]|"UserlD"].ToString();
Session"CurrentPageUrl"]
HttpContext.Current.Request.Url.PathAndQuery;
Response.RedirecfDefault1.aspx");
}
else
{
Response.Redirect(JserError.aspx');
}
}
protectedvoidimgZhuce_Click(objectsender,lmageClickEventArgse)
{//点击注册按钮,返回到注册页面
Response.Redirec"Register1.aspx');
}
5.4
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 论坛 管理信息系统